/* v3 — Editorial asymmetric | dials 8/5/4 */
:root{
  --font:"Segoe UI",system-ui,sans-serif;
  --display:"Segoe UI",system-ui,sans-serif;
  --radius:0;
  --max:1080px;
}
.site-header{border-bottom:1px solid var(--color-line);background:var(--color-bg);position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;min-height:60px}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:400;letter-spacing:0;font-size:1.15rem}
.brand img{width:28px;height:28px}
.brand b{font-weight:700;color:var(--color-ink)}
.nav-links{display:none;gap:1.1rem;font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.nav-links a.is-active{border-bottom:2px solid var(--color-primary)}
.nav-toggle{width:40px;height:40px;border:1px solid var(--color-line);display:grid;place-items:center;background:var(--color-surface)}
.nav-toggle span{display:block;width:14px;height:2px;background:var(--color-ink);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:14px;height:2px;background:var(--color-ink)}
.nav-toggle span::before{top:-5px}.nav-toggle span::after{top:5px}
.nav-drawer{display:none;padding:.25rem 0 1rem}
.nav-drawer.is-open{display:grid}
.nav-drawer a{padding:.75rem 0;border-bottom:1px solid var(--color-line);font-weight:700}
@media(min-width:860px){.nav-links{display:flex}.nav-toggle{display:none}.nav-drawer{display:none!important}}
.btn{border-radius:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;padding:.85rem 1.1rem}

.hero{padding:3.5rem 0 0;border-bottom:1px solid var(--color-line)}
.hero-grid{display:grid;gap:0}
@media(min-width:920px){.hero-grid{grid-template-columns:1.25fr .75fr}}
.hero-copy{padding:0 0 2.5rem}
@media(min-width:920px){.hero-copy{padding:1rem 2rem 3rem 0;border-right:1px solid var(--color-line)}}
.hero-kicker{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  border-left:3px solid var(--color-primary);padding-left:.65rem;margin-bottom:1.25rem;color:var(--color-muted);
}
.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.045em;font-weight:700;max-width:10ch;margin-bottom:1.25rem}
.hero .lead{font-size:1.05rem;color:var(--color-muted);max-width:32ch;margin-bottom:1.5rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.hero-visual{min-height:320px;background:var(--color-accent) center/cover no-repeat;position:relative}
.hero-visual::after{
  content:attr(data-caption);position:absolute;left:0;right:0;bottom:0;
  padding:.85rem 1rem;background:color-mix(in srgb,var(--color-ink) 78%,transparent);color:var(--color-bg);
  font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
}
@media(min-width:920px){.hero-visual{min-height:100%}}

.section{padding:3.75rem 0;border-bottom:1px solid var(--color-line)}
.section h2{font-size:clamp(1.8rem,3.5vw,2.6rem);letter-spacing:-.03em;font-weight:700;max-width:14ch;margin-bottom:1rem}
.section .sub{color:var(--color-muted);max-width:40ch;margin-bottom:1.75rem}
.ed-grid{display:grid;gap:0;border:1px solid var(--color-line)}
@media(min-width:800px){.ed-grid{grid-template-columns:repeat(3,1fr)}}
.ed-grid article{padding:1.35rem;border-bottom:1px solid var(--color-line);background:var(--color-surface)}
@media(min-width:800px){
  .ed-grid article{border-bottom:0;border-right:1px solid var(--color-line)}
  .ed-grid article:last-child{border-right:0}
}
.ed-grid .num{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--color-primary);margin-bottom:.75rem}
.ed-grid h3{font-size:1.15rem;margin-bottom:.4rem}
.ed-grid p{color:var(--color-muted)}

.pull{
  font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;letter-spacing:-.02em;font-weight:700;
  max-width:22ch;margin:0 auto;text-align:center;padding:1rem 0;
}
.pull cite{display:block;margin-top:1rem;font-style:normal;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}

.stack-list{display:grid;gap:0}
.stack-list li{list-style:none;display:grid;gap:.35rem;padding:1.15rem 0;border-bottom:1px solid var(--color-line)}
@media(min-width:700px){.stack-list li{grid-template-columns:180px 1fr;gap:1.5rem;align-items:baseline}}
.stack-list strong{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.stack-list span{color:var(--color-muted)}

.cta-band{display:grid;gap:1rem;padding:2rem;border:1px solid var(--color-line);background:var(--color-surface)}
@media(min-width:760px){.cta-band{grid-template-columns:1fr auto;align-items:center}}

.page-hero{padding:2.75rem 0 1.5rem;border-bottom:1px solid var(--color-line)}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.04em;max-width:14ch}
.crumbs{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1rem;display:flex;gap:.4rem}
.form{display:grid;gap:.9rem;max-width:540px;border:1px solid var(--color-line);padding:1.25rem;background:var(--color-surface)}
.form label{display:grid;gap:.3rem;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.form input,.form textarea,.form select{padding:.8rem .9rem;border:1px solid var(--color-line);border-radius:0;background:var(--color-bg)}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--color-primary)}
.form-note{color:var(--color-muted);font-size:.85rem}
.form--scope{max-width:none;width:100%}

.scope-page{padding:2.5rem 0 3.5rem;border-bottom:1px solid var(--color-line)}
.scope-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.scope-grid{grid-template-columns:1.05fr .95fr;gap:3rem}}
.scope-copy h1{
  font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.04em;max-width:12ch;
  margin:0 0 1rem;line-height:1.05;
}
.scope-lead{color:var(--color-muted);max-width:36ch;margin:0 0 1.75rem;font-size:1.05rem}
.scope-facts{
  display:grid;gap:0;margin-top:2rem;
  border:1px solid var(--color-line);
}
@media(min-width:520px){.scope-facts{grid-template-columns:repeat(3,1fr)}}
.scope-facts > div{
  padding:1rem 1.1rem;border-bottom:1px solid var(--color-line);
  background:var(--color-surface);
}
@media(min-width:520px){
  .scope-facts > div{border-bottom:0;border-right:1px solid var(--color-line)}
  .scope-facts > div:last-child{border-right:0}
}
.scope-facts b{display:block;font-size:1.15rem;margin-bottom:.25rem}
.scope-facts span{font-size:.78rem;color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase}

.team{display:grid;gap:0;border-top:1px solid var(--color-line)}
@media(min-width:700px){.team{grid-template-columns:repeat(3,1fr)}}
.person{padding:1.25rem;border-bottom:1px solid var(--color-line)}
@media(min-width:700px){.person{border-right:1px solid var(--color-line)}.person:last-child{border-right:0}}
.avatar{width:56px;height:56px;margin-bottom:.75rem;background:var(--color-primary)}
.ba-grid{display:grid;gap:0;border:1px solid var(--color-line)}
@media(min-width:700px){.ba-grid{grid-template-columns:1fr 1fr}}
.ba-card{border-bottom:1px solid var(--color-line);background:var(--color-surface)}
@media(min-width:700px){.ba-card{border-bottom:0;border-right:1px solid var(--color-line)}.ba-card:last-child{border-right:0}}
.ba-visual{display:grid;grid-template-columns:1fr 1fr;min-height:160px}
.ba-visual .before{background:var(--color-accent)}
.ba-visual .after{background:var(--color-primary)}
.ba-visual span{align-self:end;padding:.75rem;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ba-card .body{padding:1rem}
.ba-card p{color:var(--color-muted)}
.faq details{border-bottom:1px solid var(--color-line);padding:1rem 0}
.faq summary{font-weight:700;cursor:pointer;font-size:1.05rem}
.faq p{color:var(--color-muted);margin-top:.5rem;max-width:60ch}

.site-footer{padding:2.5rem 0 2rem;color:var(--color-muted);font-size:.9rem}
.footer-grid{display:grid;gap:1.5rem}
@media(min-width:700px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr}}
.footer-bottom{margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--color-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.credit a{color:var(--color-ink);font-weight:700;border-bottom:1px solid var(--color-primary)}
