/* Home */
.hero{max-width:var(--max);margin:0 auto;min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;gap:24px;padding:38px var(--page-pad) 28px}
.hero-copy{grid-column:1/6;align-self:center}
.hero-copy h1{margin:0 0 24px;font:italic clamp(58px,6.2vw,96px)/.9 var(--serif);letter-spacing:-.05em}
.hero-deck{max-width:31ch;margin:0 0 24px;font:clamp(20px,1.8vw,29px)/1.35 var(--serif)}
.hero-intro{max-width:58ch;margin:0;font-size:16px;line-height:1.7}
.hero-preview{grid-column:7/11;align-self:center;aspect-ratio:16/10;position:relative;background:#000;border:1px solid var(--ink);overflow:hidden}
.preview-frame{position:absolute;inset:0;opacity:0;transition:opacity .18s linear}.preview-frame.is-active{opacity:1}
.preview-frame picture,.preview-frame img{width:100%;height:100%}.preview-frame img{object-fit:cover}
.preview-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:10px 12px;background:rgba(8,8,8,.82);color:var(--bone);font:9px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--rule-dark)}
.hero-index{grid-column:11/13;align-self:center;border-top:1px solid var(--ink)}
.hero-index>p{margin:0;padding:9px 0;border-bottom:1px solid var(--ink);font:9px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.hero-index a{display:grid;grid-template-columns:28px 1fr auto;gap:7px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule-soft)}
.hero-index a:hover,.hero-index a:focus-visible{padding-left:6px}
.hero-index span{font:9px/1 var(--mono)}.hero-index b{font:15px/1.1 var(--serif)}.hero-index small{font:8px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.hero-ledger{grid-column:1/13;display:flex;justify-content:space-between;gap:24px;padding-top:11px;border-top:1px solid var(--ink);font:9px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.section-lead{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 7fr 3fr;gap:24px;padding:88px var(--page-pad)}
.section-lead>div:nth-child(2){grid-column:3/10}.section-lead h2{margin:0 0 18px;font:clamp(36px,4.1vw,60px)/1 var(--serif);letter-spacing:-.035em}.section-lead p{max-width:46ch;margin:0;font:20px/1.55 var(--serif)}
.work-features{background:var(--dark);color:var(--bone)}
.work-feature{max-width:var(--max);margin:0 auto;min-height:70svh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:clamp(56px,7vw,104px) var(--page-pad);border-bottom:1px solid var(--rule-dark)}
.work-feature .work-no{grid-column:1;color:#b79c72;align-self:start}.work-media{grid-column:2/8;aspect-ratio:16/10}.work-copy{grid-column:9/13}.work-feature:nth-child(even) .work-copy{grid-column:2/6}.work-feature:nth-child(even) .work-media{grid-column:7/13}
.work-copy h2{margin:8px 0 16px;font:clamp(38px,4.5vw,66px)/.95 var(--serif);letter-spacing:-.04em}.work-copy p{max-width:39ch;font-size:16px;line-height:1.7}.work-copy .subtitle{font:italic 18px/1.35 var(--serif);color:#c4b9aa}
.practice-teaser{background:var(--ink);color:var(--bone);padding-bottom:84px}.practice-grid{max-width:var(--max);margin:0 auto 44px;display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--page-pad)}.practice-grid article{padding:24px 28px 34px;border-left:1px solid var(--rule-dark)}.practice-grid article:last-child{border-right:1px solid var(--rule-dark)}.practice-grid span{font:9px/1 var(--mono);color:#b79c72}.practice-grid h3{margin:28px 0 17px;font:28px/1.05 var(--serif)}.practice-grid p{margin:0;color:#d7cec2;font-size:15px;line-height:1.7}.practice-teaser>.action-group{max-width:var(--max);margin:0 auto;padding:0 var(--page-pad)}
.about-strip{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:4fr 7fr 1fr;gap:24px;padding:88px var(--page-pad)}.about-strip>div:first-child{grid-column:1/5}.about-strip>div:nth-child(2){grid-column:5/12}.about-strip h2{margin:22px 0;font:clamp(34px,3.7vw,56px)/1 var(--serif)}.about-strip p{max-width:56ch;font:18px/1.65 var(--serif)}
/* General page mast */
.page-mast{max-width:var(--max);margin:0 auto;min-height:27svh;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-content:end;padding:54px var(--page-pad) 48px;border-bottom:1px solid var(--rule)}
.page-mast h1{grid-column:1/6;margin:0;font:clamp(36px,4.2vw,56px)/1 var(--serif);letter-spacing:-.035em}.page-mast>p{grid-column:7/13;align-self:end;margin:0;max-width:44ch;font:clamp(16px,1.35vw,20px)/1.55 var(--serif)}
/* Works */
.works-list{max-width:var(--max);margin:0 auto;padding:20px var(--page-pad) 86px}.works-list article{display:grid;grid-template-columns:48px minmax(210px,3fr) minmax(260px,5fr) minmax(210px,3fr);gap:24px;align-items:center;padding:32px 0;border-bottom:1px solid var(--ink)}.works-list article:first-child{border-top:1px solid var(--ink)}.works-list .work-no{color:var(--signal)}.works-list h2{margin:0 0 8px;font:clamp(27px,3vw,43px)/1 var(--serif)}.works-list .form{font:10px/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.works-list p{margin:0;max-width:55ch}.works-list .thumb{aspect-ratio:16/10;border:1px solid var(--ink);overflow:hidden;background:#000}.works-list .thumb picture,.works-list .thumb img{width:100%;height:100%}.works-list .thumb img{object-fit:cover}
/* Project pages */
.project-hero{background:var(--dark);color:var(--bone);padding:42px var(--page-pad) 66px}.project-hero-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}.project-copy{grid-column:1/6}.project-copy h1{margin:20px 0 22px;font:clamp(42px,5.2vw,72px)/.94 var(--serif);letter-spacing:-.045em}.project-copy .project-form{font:10px/1.35 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#b9aa96}.project-copy .lead{max-width:42ch;margin:0;font:clamp(18px,1.7vw,24px)/1.55 var(--serif)}.project-hero-media{grid-column:7/13;aspect-ratio:16/10}.project-hero-media img{object-fit:cover}
.encounter{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:0;padding:74px var(--page-pad)}.encounter>span{padding-right:26px}.encounter article{padding:0 26px;border-left:1px solid var(--rule)}.encounter h2{margin:0 0 14px;font:22px/1.1 var(--serif)}.encounter p{margin:0;font-size:14px;line-height:1.62}.encounter .step{display:block;margin-bottom:24px;font:9px/1 var(--mono);color:var(--signal)}
.state-atlas{background:var(--paper);padding:80px var(--page-pad)}.atlas-inner{max-width:var(--max);margin:0 auto}.atlas-head{display:grid;grid-template-columns:2fr 7fr 3fr;gap:24px;margin-bottom:32px}.atlas-head h2{grid-column:3/9;margin:0;font:clamp(36px,4vw,56px)/1 var(--serif)}.atlas-head p{grid-column:9/13;margin:0;color:var(--muted)}
.atlas-desktop{display:grid;grid-template-columns:3fr 6fr 3fr;gap:24px;align-items:start}.state-list{display:grid;border-top:1px solid var(--ink)}.state-tab{display:grid;grid-template-columns:32px 1fr;gap:12px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:17px 0}.state-tab span{font:9px/1 var(--mono);color:var(--signal)}.state-tab strong{font:20px/1.1 var(--serif);font-weight:500}.state-tab small{grid-column:2;font:9px/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.state-tab[aria-selected="true"] strong{font-style:italic}.state-tab[aria-selected="true"]{padding-left:10px;border-left:3px solid var(--signal)}
.state-visual{aspect-ratio:16/10;border:1px solid var(--ink);background:#000;overflow:hidden}.state-visual img{width:100%;height:100%;object-fit:contain}.state-copy{border-top:1px solid var(--ink);padding-top:16px}.state-copy .state-number{font:9px/1 var(--mono);color:var(--signal)}.state-copy h3{margin:28px 0 16px;font:32px/1 var(--serif)}.state-copy p{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}
.atlas-mobile{display:none}.mobile-state{padding:22px 0 28px;border-top:1px solid var(--ink)}.mobile-state:last-child{border-bottom:1px solid var(--ink)}.mobile-state header{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:baseline;margin-bottom:16px}.mobile-state header span{font:9px/1 var(--mono);color:var(--signal)}.mobile-state h3{margin:0;font:26px/1 var(--serif)}.mobile-state .mobile-visual{background:#000;border:1px solid var(--ink);margin:0 0 16px;display:flex;justify-content:center;overflow:hidden}.mobile-state .mobile-visual img{width:100%;height:auto;max-height:none;object-fit:contain}.mobile-state p{margin:0;padding-left:48px;max-width:48ch;color:var(--muted);font-size:14px;line-height:1.7}
.project-context{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 6fr 4fr;gap:24px;padding:88px var(--page-pad)}.project-context .context-copy{grid-column:3/9}.project-context .context-copy h2{margin:0 0 24px;font:clamp(34px,3.6vw,52px)/1 var(--serif)}.project-context .context-copy p{font-size:17px;line-height:1.75}.project-context aside{grid-column:9/13}.project-source{background:var(--dark);color:var(--bone);padding:76px var(--page-pad)}.project-source-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:4fr 8fr;gap:48px}.project-source h2{margin:22px 0 0;font:40px/1 var(--serif)}
/* Practice */
.practice-intro{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:78px var(--page-pad)}.practice-intro .practice-index{grid-column:1/4;display:grid;border-top:1px solid var(--rule)}.practice-index span,.practice-index a{border-bottom:1px solid var(--rule);padding:13px 0}.practice-index span{grid-column:1;font:9px/1.3 var(--mono);color:var(--signal)}.practice-index a{grid-column:2;font:14px/1.35 var(--sans);text-decoration:none}.practice-index a:hover,.practice-index a:focus-visible{text-decoration:underline;text-underline-offset:4px}.practice-intro .reading{grid-column:5/11;font:20px/1.7 var(--serif)}.practice-modules{background:var(--paper)}.practice-module{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:72px var(--page-pad);border-bottom:1px solid var(--rule)}.practice-module header{grid-column:1/4}.practice-module header h2{margin:30px 0 0;font:clamp(32px,3.15vw,48px)/1.02 var(--serif);overflow-wrap:normal;word-break:normal;hyphens:none}.practice-module .reading{grid-column:4/7}.practice-module figure{grid-column:7/13;margin:0}.practice-module figure img{width:100%;max-height:520px;object-fit:contain;background:#000}.practice-module figcaption{margin-top:10px;font:9px/1.4 var(--mono);color:var(--muted)}
/* About */
.about-layout{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:72px var(--page-pad) 88px}.about-copy{grid-column:1/9}.about-copy p{font:17px/1.75 var(--serif)}.about-ledger{grid-column:9/13}.about-actions{grid-column:1/9;margin-top:18px}
/* Contact */
.compact-mast{min-height:30svh}.contact-layout{max-width:var(--max);margin:0 auto;padding:72px var(--page-pad) 110px}.contact-layout-simple{display:grid;grid-template-columns:3fr 7fr 2fr}.contact-layout-simple .contact-list{grid-column:4/11}.contact-list{border-top:1px solid var(--ink)}.contact-row{display:grid;grid-template-columns:112px 1fr auto;gap:20px;align-items:center;min-height:86px;border-bottom:1px solid var(--ink)}.contact-row .label{font:9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-row .value{font:clamp(20px,2vw,30px)/1.15 var(--serif);overflow-wrap:anywhere}.contact-row:not(.primary) .value{font-size:clamp(18px,1.5vw,23px)}.contact-row .arrow{font:23px/1 var(--serif)}.contact-row:hover .value,.contact-row:focus-visible .value{transform:translateX(4px)}.contact-row .value{transition:transform .16s var(--ease)}
/* Colophon */

