/* Five moments: architecture, authority, practice, selected work, conversation.
   Isolated to the homepage; existing portfolio and project geometry is retained. */
.opening{padding-top:96px;min-height:650px;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) min(68vw,calc(100svh - 96px));background:var(--deep);color:var(--paper)}
.opening-statement{padding:55px 3.6vw 45px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.opening h1{font-size:clamp(38px,4.8vw,82px);line-height:1.08;letter-spacing:-.055em;font-weight:400;margin-block:0 36px}
.opening h1 span{display:block}
.opening-cue{display:flex;align-items:center;justify-content:space-between;gap:65px;min-height:44px;font-size:12px}
.opening-cue span{font-size:23px;transition:transform .3s}
.opening-cue:hover span{transform:translateY(4px)}
.opening-visual{height:100%;min-height:0;overflow:hidden;align-self:end}
.opening-visual img{width:100%;height:100%;object-fit:contain;object-position:right bottom;animation:opening-enter .8s ease-out both}
@keyframes opening-enter{from{opacity:.65}to{opacity:1}}
.authority{padding-block:80px 48px;scroll-margin-top:96px}
.authority-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:0}
.authority-numbers>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:flex-start}
.authority-numbers dd{margin:0;line-height:1;letter-spacing:-.065em;white-space:nowrap}
.authority-numbers strong{font-size:clamp(90px,11.3vw,172px);font-weight:400}
.stat-qualifier{font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:14px}
.authority-numbers>div:last-child dd{padding-top:26px}
.stat-unit{font-size:clamp(26px,3.3vw,50px);letter-spacing:-.05em}
.authority-numbers dt{font-size:12px;line-height:1.6;margin-top:19px;color:var(--muted)}
.authority-reach{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:6vw;margin-top:64px}
.authority-reach h2{font-size:clamp(30px,3.5vw,53px);line-height:1.15;letter-spacing:-.045em}
.authority-reach p{font-size:13px;line-height:1.7;color:var(--muted);justify-self:end;margin:0}
.authority-principles{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:27px 0 0;margin:48px 0 0;gap:20px;border-top:1px solid var(--line)}
.authority-principles li{font-size:clamp(21px,2.2vw,34px);line-height:1.2;letter-spacing:-.04em}
.practice-focus{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:9vw;padding-block:85px 100px}
.practice-visual{overflow:hidden;aspect-ratio:1}
.practice-visual img{width:100%;height:100%;object-fit:contain;object-position:center}
.practice-focus-copy>.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:27px}
.practice-focus-copy h2{font-size:clamp(40px,4.6vw,70px);line-height:1.08;letter-spacing:-.055em}
.practice-role{font-size:12px;margin-top:17px}
.practice-note{font-size:18px;line-height:1.6;margin-top:30px;color:var(--muted)}
.practice-focus-copy>.underlined{font-size:12px;margin-top:24px;min-height:44px}
.work-invitation{padding-block:20px 90px}
.work-invitation-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.work-invitation h2{font-size:clamp(45px,6vw,90px);letter-spacing:-.055em;line-height:1.05}
.work-invitation-heading p{font-size:13px;color:var(--muted);margin-top:15px}
.work-invitation-heading>.underlined{font-size:12px;min-height:44px}
.work-invitation-image{position:relative;display:block;overflow:hidden;width:min(76vw,960px);margin-left:auto}
.work-invitation-image>img{width:100%;height:auto;display:block;transition:transform 1s var(--ease)}
.work-invitation-image:hover>img{transform:scale(1.012)}
.work-image-action{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:34px;font-size:12px;background:var(--paper);padding:16px 20px;transition:background .2s}
.work-image-action svg{width:19px;height:19px}
.focused-home .studio-contact{padding-block:65px 50px}
@media(min-width:901px) and (max-height:700px){.opening{min-height:620px;grid-template-columns:minmax(0,1fr) 524px}.opening h1{font-size:clamp(34px,4.3vw,64px)}}
@media(max-width:1100px) and (min-width:901px){.opening h1{font-size:4.3vw}.opening-statement{padding-left:var(--gutter);padding-right:20px}.practice-focus{gap:6vw}}
@media(max-width:900px){
 .opening{height:auto;min-height:0;display:flex;flex-direction:column;padding-top:96px}
 .opening-visual{order:-1;width:100%;height:auto;aspect-ratio:1}
 .opening-visual img{object-fit:contain;width:100%;height:100%;animation:none}
 .opening-statement{display:flex;gap:24px;padding:32px var(--gutter) 30px}
 .opening-statement>.eyebrow{grid-column:1/-1;margin:0;font-size:10px}
 .opening h1{margin:0;font-size:clamp(32px,5.6vw,50px);line-height:1.12}
 .opening h1 span:not(:first-child){display:inline}
 .opening-cue{align-self:end;font-size:0;gap:0;min-width:44px;justify-content:flex-end}
 .authority{padding-block:58px 35px}.authority-numbers{gap:30px}.authority-numbers strong{font-size:12vw}
 .authority-reach{gap:25px;margin-top:44px}.authority-reach h2{font-size:3.8vw}.authority-reach p{font-size:11px}
 .authority-principles{margin-top:35px;gap:20px}.authority-principles li{font-size:21px}
 .practice-focus{gap:6vw;padding-block:55px 70px}.practice-focus-copy h2{font-size:35px}.practice-note{font-size:15px}
}
@media(max-width:700px){
 .opening{padding-top:88px}.opening-statement{padding:24px var(--gutter) 25px;display:block;position:relative}
 .opening-statement>.eyebrow{display:none}.opening h1{font-size:8.4vw;max-width:340px;padding-right:25px}
 .opening-cue{position:absolute;right:var(--gutter);bottom:25px}.opening-cue span{font-size:22px}
 .authority{padding-block:43px 30px;scroll-margin-top:88px}.authority-numbers{gap:20px}.authority-numbers strong{font-size:16vw;letter-spacing:-.07em}.stat-unit{font-size:22px}
 .stat-qualifier{font-size:10px;margin-bottom:12px}.authority-numbers>div:last-child dd{padding-top:22px}.authority-numbers dt{font-size:10px;margin-top:14px}
 .authority-reach{display:block;margin-top:35px}.authority-reach h2{font-size:7.6vw;line-height:1.15}.authority-reach p{font-size:11px;margin-top:20px}
 .authority-principles{grid-template-columns:1fr 1fr;padding-top:24px;margin-top:28px;gap:19px 20px}.authority-principles li{font-size:22px}
 .practice-focus{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-block:42px 55px}.practice-visual{aspect-ratio:1;width:100%;margin-left:auto}
 .practice-focus-copy>.eyebrow{margin-bottom:22px}.practice-focus-copy h2{font-size:42px}.practice-role{font-size:12px;margin-top:14px}.practice-note{font-size:16px;margin-top:22px}.practice-focus-copy>.underlined{margin-top:20px}
 .work-invitation{padding-block:15px 45px}.work-invitation-heading{display:block;margin-bottom:25px}.work-invitation h2{font-size:43px}.work-invitation-heading p{font-size:12px;margin-top:12px}.work-invitation-heading>.underlined{margin-top:15px}
 .work-invitation-image{width:auto;margin-inline:calc(-1 * var(--gutter))}.work-image-action{display:none}
 .focused-home .studio-contact{padding-block:42px 30px}
}
@media(prefers-reduced-motion:reduce){.opening-visual img{animation:none}.opening-cue span,.work-invitation-image>img{transition:none}.work-invitation-image:hover>img{transform:none}}

.opening-actions{display:flex;flex-wrap:wrap;gap:12px;width:100%}
.opening-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:13px 18px;background:var(--paper);color:var(--deep);border:1px solid var(--paper);font-size:12px;line-height:1.4;transition:background .2s,color .2s}
.opening-button svg{width:18px;height:18px;flex:none}
.opening-button-secondary{background:transparent;color:var(--paper);border-color:#f7f7f366}
.opening-button:hover{background:#e5e8dd;color:var(--deep)}
.opening-button:focus-visible{outline:2px solid var(--paper);outline-offset:5px}
#practice{scroll-margin-top:96px}
@media(max-width:700px){.opening-actions{margin-top:24px;gap:10px}.opening-button{padding:12px 14px;gap:16px;min-height:46px}.opening h1{padding-right:0}#practice{scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){.opening-button{transition:none}}
