.cap-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:clamp(30px,4.5vw,76px);margin-bottom:42px}
.cap-heading h2{font-size:clamp(30px,3.4vw,54px);line-height:1.3;margin-top:18px}.cap-heading>p{font-size:14px;line-height:1.9;color:var(--muted);padding-bottom:4px}
.cap-studio{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(30px,4.5vw,76px);align-items:start}
.cap-visual{min-width:0;position:static;scroll-margin-top:16px}.cap-scenes{border-top:1px solid var(--ink)}.cap-scene+.cap-scene{margin-top:24px}
[data-cap-ready] .cap-scene{margin-top:0}.cap-scene-label{display:flex;justify-content:space-between;gap:15px;font:10px var(--mono);letter-spacing:.04em;padding:15px 0;color:var(--muted)}.cap-scene-label>span:last-child{font-family:var(--sans);letter-spacing:0}
.cap-project-image{aspect-ratio:16/9;overflow:hidden;background:var(--soft)}.cap-project-image img{width:100%;height:100%;object-fit:cover;filter:none}
.cap-scene-caption{font-size:12px;display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.cap-scene-caption>span{color:var(--muted);font-size:10px}
.cap-visual-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;padding-top:12px;color:var(--accent);min-height:56px}.cap-visual-footer>div{display:flex;gap:14px;align-items:center}.cap-visual-footer button{border:0;background:none;color:var(--muted);padding:10px 0 10px 10px;min-height:44px;font-size:11px}.cap-visual-footer button:hover{color:var(--accent)}
.cap-ability{border-top:1px solid var(--line);position:relative;padding-bottom:19px}.cap-ability+.cap-ability{padding-top:0}.cap-ability.is-active{border-color:var(--accent)}
.cap-select{display:grid;grid-template-columns:1fr auto;width:100%;position:relative;border:0;background:none;text-align:left;padding:14px 0 10px;color:var(--ink)}.cap-select>span{grid-column:1/-1;font:10px var(--mono);letter-spacing:.05em;color:var(--muted);margin-bottom:10px}.cap-select>strong{font-size:clamp(21px,2vw,31px);font-weight:500;line-height:1.3;letter-spacing:-.055em}.cap-select>i{font-size:18px;font-style:normal;transition:transform .2s}
.cap-select:hover>i{transform:translate(2px,-2px)}.cap-ability.is-active .cap-select,.cap-ability.is-active .cap-select>span{color:var(--accent)}
.cap-ability>p{font-size:13px;color:var(--muted);line-height:1.85;margin:0;max-width:490px}.cap-ability>p.cap-outputs{font-size:10px;margin-top:9px;color:var(--ink);line-height:1.7}.cap-evidence{display:inline-flex;gap:27px;align-items:center;font-size:11px;margin-top:11px;padding:6px 0;color:var(--muted);border-bottom:1px solid var(--line)}.cap-evidence:hover{color:var(--accent);border-color:var(--accent)}
.cap-principle{display:grid;grid-template-columns:1fr auto;gap:10px 35px;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:23px 0 27px;margin-top:26px}.cap-small-label{font:10px var(--mono);letter-spacing:.065em}.cap-principle>.cap-small-label{grid-column:1/-1;color:var(--muted)}.cap-principle>p{font-size:clamp(18px,1.9vw,27px);letter-spacing:-.04em;line-height:1.5}.cap-principle>span:last-child{font-size:12px;color:var(--accent)}
.cap-direction{padding-top:52px}.cap-direction-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.cap-direction h3{font-size:clamp(24px,2.3vw,34px);line-height:1.4;margin-top:12px}.cap-direction-heading>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:550px}
.cap-route{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;margin:32px 0 0;gap:22px}.cap-route li{position:relative;border-top:1px solid var(--line);padding:14px 0}.cap-route li:not(:last-child):after{content:'→';position:absolute;right:-16px;top:43px;color:var(--muted);font:14px var(--mono)}.cap-route li>span{font:10px var(--mono);color:var(--accent)}.cap-route strong{display:block;font-size:15px;font-weight:500;margin:7px 0}.cap-route small{display:block;font-size:10px;color:var(--muted);line-height:1.7}.cap-route li:last-child{border-color:var(--accent)}
.cap-direction-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:18px}.cap-direction-foot p{font-size:11px;color:var(--muted)}.cap-direction-foot a{font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 0}.cap-direction-foot a span{margin-left:25px}.cap-direction-foot a:hover{color:var(--accent);border-color:var(--accent)}
@media(min-width:1500px){.cap-ability{padding-bottom:27px}.cap-select{padding-top:19px}.cap-ability>p{font-size:15px}.cap-ability>p.cap-outputs,.cap-evidence{font-size:12px}.cap-heading>p{font-size:16px}}
@media(max-width:1000px){.cap-studio{gap:28px}.cap-heading>p{font-size:12px}.cap-desktop-break{display:none}.cap-visual{top:90px}.cap-route{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 26px}.cap-route li:nth-child(3):after{display:none}.cap-principle{grid-template-columns:1fr}.cap-direction-heading>p{max-width:45%}}
@media(max-width:760px){.cap-heading{display:block;margin-bottom:27px}.cap-heading h2{font-size:clamp(28px,6.7vw,42px)}.cap-heading>p{margin-top:20px;font-size:13px}.cap-studio{grid-template-columns:minmax(0,1fr);gap:25px}.cap-visual{position:static}.cap-scene-label{font-size:8px;padding:12px 0}.cap-scene-label>span:last-child{font-size:9px}.cap-scene-caption{font-size:11px;gap:7px;flex-wrap:wrap}.cap-scene-caption>span{font-size:9px}.cap-visual-footer{font-size:10px}.cap-ability{padding-bottom:22px}.cap-select{padding-top:18px}.cap-select>strong{font-size:24px}.cap-ability>p{font-size:13px}.cap-evidence{min-height:40px}.cap-principle{margin-top:10px;padding-block:22px}.cap-principle>p{font-size:19px}.cap-principle>span:last-child{font-size:11px}.cap-direction{padding-top:34px}.cap-direction-heading{display:block}.cap-direction-heading>p{max-width:none;margin-top:17px;font-size:12px}.cap-route{gap:10px 18px;margin-top:22px}.cap-route strong{font-size:13px}.cap-route small{font-size:9px}.cap-route li:not(:last-child):after{right:-14px}.cap-direction-foot{align-items:start;flex-direction:column;gap:10px}.cap-direction-foot p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cap-scene *{animation:none!important}}

/* Genuine practice material, with its input, observed change and design judgment. */
.cap-recording{aspect-ratio:16/9;background:var(--soft);overflow:hidden}
.cap-recording video{width:100%;height:100%;object-fit:contain}
.cap-reading{padding:22px 0 18px}.cap-reading .cap-case-question{font-size:clamp(18px,1.75vw,28px);line-height:1.45;letter-spacing:-.045em;color:var(--ink)}
.cap-reading>p+p{font-size:13px;line-height:1.85;margin-top:10px;color:var(--muted)}
.cap-case-sequence{display:flex;align-items:center;justify-content:space-between;gap:9px;border-block:1px solid var(--line);padding:14px 0;font-size:12px;color:var(--accent)}
.cap-case-sequence i{font-style:normal;color:var(--muted)}
.cap-scene-caption{font-size:10px;line-height:1.8;align-items:start}.cap-scene-caption a{white-space:nowrap;color:var(--ink);min-height:32px}.cap-scene-caption a:hover{color:var(--accent)}
.cap-visual-footer{align-items:start}.cap-visual-footer>span{padding-top:10px}.cap-visual-footer button{white-space:nowrap}
@media(max-width:760px){.cap-reading{padding:18px 0 15px}.cap-reading .cap-case-question{font-size:19px}.cap-reading>p+p{font-size:12px}.cap-reading br{display:none}.cap-case-sequence{font-size:10px;gap:5px;padding-block:12px}.cap-scene-caption{font-size:9px}.cap-scene-label{font-size:9px}.cap-scene-label>span:last-child{max-width:52%;text-align:right}}

/* One full-width lead recording; all three capabilities stay below it. */
.cap-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media(max-width:760px){.cap-abilities{grid-template-columns:minmax(0,1fr);gap:0}}
