@font-face{font-family:Inter;src:url("/assets/inter.ttf") format("truetype");font-display:swap}
@font-face{font-family:Cormorant;src:url("/assets/serif.ttf") format("truetype");font-display:swap}
:root{--ink:#17272b;--muted:#526165;--gold:#7d6030;--line:#e3ddd3;--paper:#fff;--soft:#f7f5f0;--serif:Cormorant,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.62 Inter,Arial,sans-serif}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:.98}
h1{font-size:clamp(66px,8vw,133px);letter-spacing:-.062em}
h2{font-size:clamp(43px,5.9vw,80px);letter-spacing:-.045em}
h3{font-size:32px;letter-spacing:-.02em}
p{max-width:68ch}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip{position:absolute;z-index:2;top:8px;left:8px;padding:8px;background:white;transform:translateY(-160%)}
.skip:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.masthead,.footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.masthead{min-height:83px}
.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;flex:none}
.brand img{width:126px}
.brand span{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);padding-left:13px;border-left:1px solid var(--line)}
nav{display:flex;align-items:center;gap:28px}
nav a,.footer a{font-size:12px;text-decoration:none}
nav a:hover,.footer a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.nav-work{padding:9px 13px;border:1px solid var(--line)}
.hero{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(28px,5.5vw,88px);align-items:center;padding-block:48px 64px}
.hero-copy{padding-block:24px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;margin-bottom:17px}
.eyebrow span{display:inline-block;width:22px;height:1px;background:var(--gold)}
.lead{color:var(--muted);font-size:clamp(16px,1.55vw,21px);max-width:36ch;margin-top:22px}
.hero-art img{width:100%;height:clamp(420px,46vw,675px);object-fit:cover;object-position:center 59%}
.hero-art figcaption{display:flex;justify-content:space-between;gap:12px;padding:9px 0;color:var(--muted);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.actions{display:flex;align-items:center;gap:16px 22px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:9px 16px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-decoration:none}
.primary{background:var(--ink);color:white}
.primary:hover{background:#2a454b}
.secondary{border-color:var(--line);background:#fff;color:var(--ink)}
.secondary:hover{border-color:var(--gold)}
.text-link{color:var(--gold);font-size:13px;font-weight:650;text-underline-offset:4px}
.band{background:var(--soft);border-block:1px solid var(--line)}
.editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,7vw,115px);padding-block:72px}
.principles{border-top:1px solid var(--line)}
.principles article{display:grid;grid-template-columns:30px 1fr;gap:16px;padding:16px 0 18px;border-bottom:1px solid var(--line)}
.principles article>span,.steps li>span{color:var(--gold);font-size:11px;font-variant-numeric:tabular-nums}
.principles h3,.steps h3{margin-bottom:5px}
.principles p,.steps p,.section-title p,.muted{color:var(--muted)}
.section{padding-block:66px}
.section-title{display:flex;justify-content:space-between;gap:15px 35px;align-items:end;margin-bottom:25px}
.section-title p{max-width:38ch}
.steps,.bench-grid,.check-grid{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.steps,.bench-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps li{border-top:1px solid var(--gold);padding-top:13px}
.steps h3{margin-top:12px}
.steps p{font-size:13px}
.plan{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:25px}
.plan summary{cursor:pointer;font-weight:650;font-size:14px}
.plan img{max-height:560px;object-fit:contain;margin:16px 0}
.plan p,.small{font-size:12px}
.briefing h2+.muted{margin-top:14px}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 15px}
form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650}
input:not([type=checkbox]),select,textarea{width:100%;font:inherit;font-size:14px;border:1px solid #b9b4ab;background:white;color:var(--ink);padding:9px;min-height:42px;border-radius:0}
textarea{resize:vertical}
:focus-visible{outline:2px solid #9a7436;outline-offset:3px}
.full{grid-column:1/-1}
form .actions{margin-top:0}
[role=status]:empty{display:none}
.footer{min-height:92px;padding-block:16px;color:var(--muted)}
.footer p{font-size:12px}
.work-hero{padding-block:60px}
.work-hero h1{font-size:clamp(51px,7vw,99px)}
.check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
fieldset,.bench,.identity-card,.schedule-item{border:1px solid var(--line);background:#fff;padding:16px;margin:0;min-width:0}
fieldset legend{padding:0 5px;font-size:14px;font-weight:650;color:var(--gold)}
.check{display:flex;align-items:start;gap:9px;margin:9px 0}
.check input{accent-color:var(--ink);margin-top:5px}
.check strong,.check small{display:block}
.check small{color:var(--muted);font-size:12px}
#storage-notice{margin-top:16px}
.bench{display:flex;flex-direction:column;align-items:start;gap:9px}
.bench .eyebrow{margin:0}
.bench p:not(.eyebrow){font-size:13px;color:var(--muted);flex:1}
.bench a,.check a,.directory a,.identity-card a,.schedule-item a{color:var(--gold);text-underline-offset:3px}
.directory{overflow-x:auto;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;text-align:left;background:#fff;font-size:13px}
th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
tr:last-child td{border:0}
th{font-size:11px;color:var(--muted)}
td button{display:block;margin-top:4px;background:#fff;border:1px solid var(--line);color:var(--gold);padding:4px 8px;cursor:pointer}
.plan form{margin-top:14px}
.plan+p{margin-top:12px}
.schedule,.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.schedule-item h3,.identity-card h3{margin:7px 0 9px}
.schedule-item p,.identity-card p{font-size:13px;color:var(--muted)}
.schedule-item strong{color:var(--ink)}
@media(max-width:1000px){.wrap{width:calc(100% - 62px)}.bench-grid,.schedule{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:17px}.hero{gap:26px}}
@media(max-width:690px){
  .wrap{width:calc(100% - 36px)}
  .masthead{gap:7px;flex-wrap:wrap;padding-block:13px 8px}
  .brand img{width:112px}
  nav{width:100%;gap:13px;overflow-x:auto}
  nav a{white-space:nowrap;min-height:35px;display:inline-flex;align-items:center}
  .nav-work{padding:0 7px}
  .hero,.editorial{grid-template-columns:1fr;gap:24px;padding-block:32px}
  .hero-copy{padding:0}
  h1{font-size:clamp(54px,13vw,86px)}
  .hero-art img{height:clamp(330px,106vw,520px)}
  .hero-art figcaption{font-size:9px}
  .section,.work-hero{padding-block:40px}
  .section-title{align-items:start;flex-direction:column}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .check-grid,.schedule,.identity-grid{grid-template-columns:1fr}
  .footer{align-items:start;flex-direction:column;gap:6px}
}
@media(max-width:430px){.bench-grid,form{grid-template-columns:1fr}.directory td,.directory th{padding:8px 6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
