/* v04 — complete English internal-page system */
.site-nav{gap:clamp(9px,1.05vw,18px)}
.subhero-v04{min-height:640px;background:var(--night);padding-top:82px;padding-bottom:100px;position:relative;overflow:hidden;display:flex;align-items:flex-start}
.subhero-v04::after{content:"";position:absolute;left:max(24px,calc((100vw - var(--max))/2));right:max(24px,calc((100vw - var(--max))/2));bottom:56px;height:1px;background:rgba(215,183,116,.28)}
.subhero-v04 .subhero-copy{max-width:1020px}
.subhero-v04 .lead{max-width:770px}
.subhero-v04 h1{max-width:1000px}
.page-kicker{display:flex;align-items:center;gap:15px;color:var(--quiet);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:22px}
.page-kicker::before{content:"";width:34px;height:1px;background:var(--quiet)}

.capability-section,.partner-system-section{background:var(--porcelain)}
.capability-heading,.partner-system-heading{display:grid;grid-template-columns:.54fr 1fr;gap:8vw;align-items:end;padding-bottom:55px;border-bottom:1px solid rgba(43,28,16,.17)}
.capability-heading h2,.partner-system-heading h2{margin:0;max-width:800px}
.capability-ledger,.partner-path{display:grid;grid-template-columns:1fr 1fr;margin-top:0}
.capability-item,.partner-step{padding:46px 40px 50px 0;border-bottom:1px solid rgba(43,28,16,.15);position:relative;transition:padding-left .42s var(--ease),background-color .42s var(--ease)}
.capability-item:nth-child(odd),.partner-step:nth-child(odd){border-right:1px solid rgba(43,28,16,.15)}
.capability-item:nth-child(even),.partner-step:nth-child(even){padding-left:40px}
.capability-item:hover,.partner-step:hover{padding-left:16px;background:rgba(255,255,255,.34)}
.capability-item:nth-child(even):hover,.partner-step:nth-child(even):hover{padding-left:56px}
.capability-head,.partner-step-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px}
.capability-icon,.partner-step-icon{width:52px;height:52px;border:1px solid rgba(195,163,104,.52);border-radius:50%;display:grid;place-items:center;color:#80673f}
.capability-icon svg,.partner-step-icon svg{width:24px;height:24px;stroke-width:1.4}
.capability-number,.partner-step-number{font-family:Oxygen,sans-serif;font-weight:300;font-size:1.25rem;color:rgba(43,28,16,.34)}
.capability-item h3,.partner-step h3{font-size:clamp(1.55rem,2.1vw,2.2rem);margin:0 0 16px}
.capability-item p,.partner-step p{max-width:510px;color:var(--muted);margin:0}

.audience-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center;min-height:600px}
.audience-section h2{margin:0;max-width:620px}
.audience-copy{border-left:1px solid rgba(215,183,116,.35);padding-left:50px}
.audience-copy p{color:rgba(255,255,255,.72);font-size:1.04rem;max-width:650px}
.audience-note{margin-top:36px;padding-top:30px;border-top:1px solid rgba(255,255,255,.14);font-family:Oxygen,sans-serif;font-weight:300;font-size:1.35rem;color:var(--quiet)}
.audience-copy .button{margin-top:22px}

.partner-path{grid-template-columns:1fr}
.partner-step{display:grid;grid-template-columns:100px .6fr 1fr;gap:38px;align-items:start;padding:42px 0;border-right:0!important}
.partner-step:hover{padding-left:18px}
.partner-step-head{margin:0;display:block}
.partner-step-icon{margin-bottom:16px}
.partner-step h3{margin:5px 0 0}
.partner-step p{padding-top:8px}
.partner-audience{background:var(--teal);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}
.partner-audience h2{margin:0}
.partner-audience p{color:rgba(255,255,255,.72);font-size:1.06rem}

.team-story{background:var(--porcelain)}
.team-statement{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(56px,7vw,110px);align-items:start}
.team-statement h2{margin:0;position:sticky;top:120px}
.team-narrative{max-width:800px}
.team-narrative p{font-size:1.08rem;color:#54463c;margin:0 0 30px}
.discipline-words{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid rgba(43,28,16,.17);border-bottom:1px solid rgba(43,28,16,.17)}
.discipline-word{padding:32px 0;font-family:Oxygen,sans-serif;font-weight:300;font-size:clamp(1.45rem,2.4vw,2.5rem);color:var(--night)}
.discipline-word+.discipline-word{border-left:1px solid rgba(43,28,16,.17);padding-left:30px}
.backing-section{background:var(--night);color:#fff}
.backing-heading{max-width:820px}
.backing-heading h2{margin-bottom:28px}
.backing-heading>p:last-child{color:rgba(255,255,255,.68)}
.backer-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;border-top:1px solid rgba(215,183,116,.35);border-bottom:1px solid rgba(215,183,116,.35)}
.backer{padding:42px 0}
.backer+.backer{border-left:1px solid rgba(215,183,116,.28);padding-left:48px}
.backer h3{margin:0 0 12px;color:var(--quiet)}
.backer p{margin:0;color:rgba(255,255,255,.6)}

.newsroom-body{background:var(--porcelain)}
.press-row{display:grid;grid-template-columns:1.04fr .96fr;align-items:end;padding-bottom:42px;border-bottom:1px solid rgba(43,28,16,.18)}
.press-row h2{margin:0}
.press-row p{margin:0;text-align:left;color:var(--muted);padding-left:58px}
.news-editorial{margin-top:110px}
.news-editorial-head{display:grid;grid-template-columns:1.04fr .96fr;align-items:end;margin-bottom:38px}
.news-editorial-head h2{margin:0}
.news-editorial-head p{margin:0;color:var(--muted);padding-left:58px}
.article-feature{display:grid;grid-template-columns:1.04fr .96fr;background:var(--night);color:#fff;overflow:hidden;box-shadow:0 30px 70px rgba(43,28,16,.18)}
.article-feature-image{min-height:500px;overflow:hidden}
.article-feature-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.article-feature-copy{padding:58px 58px 52px;display:flex;flex-direction:column;justify-content:space-between}
.article-feature-copy h3{font-size:clamp(2rem,3vw,3.4rem);margin:0 0 20px}
.article-feature-copy>p{color:rgba(255,255,255,.68)}
.article-meta{display:flex;justify-content:space-between;align-items:center;padding-top:34px;border-top:1px solid rgba(255,255,255,.16);font-size:.72rem;color:var(--quiet)}
.article-meta a{font-weight:700;transition:transform .3s var(--ease)}
.article-meta a:hover{transform:translateX(5px)}
.media-contact{margin-top:80px;display:flex;justify-content:space-between;align-items:center;padding-top:35px;border-top:1px solid rgba(43,28,16,.18)}

.contact-layout{background:var(--porcelain);display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:start}
.contact-form{background:#fff;padding:50px;box-shadow:0 24px 60px rgba(43,28,16,.1)}
.form-field{margin-bottom:26px}
.form-field label,.contact-form legend{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:9px;color:var(--night)}
.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid rgba(43,28,16,.26);background:transparent;padding:14px 0;font:inherit;color:var(--night);outline:0;transition:border-color .3s}
.form-field input:focus,.form-field textarea:focus{border-color:var(--heritage)}
.form-field textarea{min-height:130px;resize:vertical}
.contact-form fieldset{border:0;padding:0;margin:0 0 28px}
.role-options{display:flex;gap:8px;flex-wrap:wrap}
.role-option input{position:absolute;opacity:0}
.role-option span{display:block;padding:10px 17px;border:1px solid rgba(43,28,16,.2);border-radius:999px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.role-option input:checked+span{background:var(--night);color:#fff;border-color:var(--night)}
.contact-form .button{border:0;cursor:pointer}
.form-status{display:none;margin:24px 0 0;padding-top:20px;border-top:1px solid rgba(43,28,16,.15);color:#315f4e}
.form-status.visible{display:block}
.contact-details{padding-top:0}
.contact-detail{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid rgba(43,28,16,.15)}
.contact-detail h3{font-family:Raleway,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#80673f;margin-bottom:18px}
.contact-detail p{color:var(--muted)}
.contact-detail a{font-family:Oxygen,sans-serif;font-size:1.35rem;font-weight:300}

.article-page{background:var(--porcelain);padding-top:90px}
.article-wrap{max-width:900px;margin:0 auto}
.article-back{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;margin-bottom:60px;color:#80673f}
.article-back::before{content:"←"}
.article-header .eyebrow{margin-bottom:18px}
.article-header h1{font-size:clamp(3rem,5.2vw,5.7rem);color:var(--night);margin-bottom:36px}
.article-deck{font-family:Oxygen,sans-serif;font-weight:300;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.45;color:#55463a}
.article-figure{margin:55px 0 24px}
.article-figure img{width:100%;height:auto}
.article-byline{font-size:.72rem;color:#806f62;padding-bottom:26px;border-bottom:1px solid rgba(43,28,16,.18)}
.article-body{max-width:760px;margin:58px auto 0}
.article-body p{margin-bottom:29px;color:#4e4137}
.article-body strong{color:var(--night)}
.article-quote{font-family:Oxygen,sans-serif;font-weight:300;font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:1.42;color:var(--night);padding:38px 0;border-top:1px solid rgba(195,163,104,.62);border-bottom:1px solid rgba(195,163,104,.62)}
.article-about{margin-top:55px;padding:38px;background:var(--night);color:#fff}
.article-about p{color:rgba(255,255,255,.72);margin:0}

@media(max-width:1100px){
  .site-header{isolation:isolate}
  .site-nav{position:absolute;inset:auto;top:100%;left:0;width:100vw;height:calc(100dvh - var(--header));overflow-y:auto;overscroll-behavior:contain;background:var(--night)}
  .capability-heading,.partner-system-heading,.team-statement,.audience-section,.partner-audience,.contact-layout{grid-template-columns:1fr;gap:50px}
  .team-statement h2{position:static}
  .article-feature{grid-template-columns:1fr}
  .article-feature-image{min-height:440px}
}
@media(max-width:700px){
  .subhero-v04{min-height:650px;padding:75px 22px 90px}
  .subhero-v04::after{left:22px;right:22px;bottom:42px}
  .capability-ledger{grid-template-columns:1fr}
  .capability-item,.capability-item:nth-child(even){padding:34px 0;border-right:0}
  .capability-item:hover,.capability-item:nth-child(even):hover{padding-left:12px}
  .capability-head{margin-bottom:32px}
  .audience-copy{padding-left:0;border-left:0;border-top:1px solid rgba(215,183,116,.35);padding-top:34px}
  .partner-step{grid-template-columns:62px 1fr;gap:18px}
  .partner-step p{grid-column:2}
  .partner-step:hover{padding-left:8px}
  .discipline-words{grid-template-columns:1fr}
  .discipline-word+.discipline-word{border-left:0;border-top:1px solid rgba(43,28,16,.17);padding-left:0}
  .backer-grid{grid-template-columns:1fr}
  .backer+.backer{border-left:0;border-top:1px solid rgba(215,183,116,.28);padding-left:0}
  .press-row,.news-editorial-head{display:block}
  .press-row p,.news-editorial-head p{text-align:left;margin-top:16px;padding-left:0}
  .news-editorial{margin-top:75px}
  .article-feature-image{min-height:300px}
  .article-feature-copy{padding:34px 26px}
  .article-meta{align-items:flex-start;gap:20px}
  .media-contact{align-items:flex-start;flex-direction:column;gap:24px}
  .contact-form{padding:34px 24px}
  .role-options{gap:6px}
  .role-option span{padding:9px 13px}
  .article-page{padding-top:65px}
  .article-back{margin-bottom:45px}
  .article-header h1{font-size:clamp(2.7rem,13vw,4rem)}
  .article-figure{margin-top:38px}
  .article-about{padding:28px 24px}
}

/* v06 — responsive, golden-ratio-informed typography
   The 1.272 interval is the square root of the golden ratio: every two steps
   form a 1.618 relationship without creating oversized digital headings. */
:root{
  --font-display:clamp(2.618rem,2.3rem + 1.58vw,3.33rem);
  --font-h2:clamp(2.058rem,1.86rem + 1vw,2.618rem);
  --font-h3:clamp(1.618rem,1.45rem + .9vw,2.058rem);
  --font-h4:clamp(1.272rem,1.14rem + .7vw,1.618rem);
  --font-body-lg:clamp(1.025rem,.97rem + .28vw,1.125rem);
  --font-body:1rem;
  --font-small:.875rem;
  --font-label:.6875rem;
}

body{font-size:var(--font-body)}
h1,.subhero h1,.article-header h1{
  font-size:var(--font-display);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
h2{
  font-size:var(--font-h2);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.025em;
}
h3{
  font-size:var(--font-h3);
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.015em;
}
h4{font-size:var(--font-h4);line-height:1.22}

.subhero .lead,.story-beat>p,.story-beat>div:last-child>p:last-child,
.team-narrative p,.partner-audience p,.audience-copy p{
  font-size:var(--font-body-lg);
}

.story-turn p strong,.why-now-v2 h2,.next-client-heading h2,
.why-now-v3 h2,.client-closing h2,.closing h2{
  font-size:var(--font-h2);
  line-height:1.1;
}

.capability-item h3,.partner-step h3,.article-feature-copy h3{
  font-size:var(--font-h3);
}

.discipline-word,.article-quote{
  font-size:var(--font-h3);
}

.article-deck,.next-client-stage>p,.audience-note,.contact-detail a,
.trust-question{
  font-size:var(--font-h4);
}

.pillar-number,.benefit-index,.hero-index{
  font-size:var(--font-h3);
}

.eyebrow,.page-kicker,.breadcrumb,.contact-detail h3,
.form-field label,.contact-form legend{
  font-size:var(--font-label);
}

@media(max-width:1100px){
  .site-nav{font-size:var(--font-h4)}
}

@media(max-width:700px){
  .subhero h1,.article-header h1{font-size:var(--font-display)}
  .article-header h1{margin-bottom:28px}
  .subhero .lead{line-height:1.72}
  .team-narrative p{font-size:var(--font-body)}
}
