/* Growhill Wealth v18 — four-size responsive type system and selected v15 restorations */
:root{
  --type-label:.75rem;
  --type-body:clamp(.95rem,.92rem + .14vw,1.05rem);
  --type-subhead:clamp(1.28rem,1.1rem + .72vw,1.7rem);
  --type-heading:clamp(2.35rem,1.95rem + 2vw,4.35rem);
}

/* Four semantic sizes across the site: label, body, subhead, heading. */
body,p,li,a,button,input,textarea,select,address,figcaption,
.lead,.hero-copy,.award-meta,.why-lead,.audience-note,.article-deck,
.next-client-stage>p,.team-narrative p,.partner-audience p,.audience-copy p,
.trust-question,.contact-detail a,.workflow-problem{
  font-size:var(--type-body)!important;
}
small,.eyebrow,.page-kicker,.breadcrumb,label,legend,.award-eyebrow,
.card-index,.card-kicker,.capability-number,.capability-role,.capability-count,
.pillar-number,.benefit-index,.partner-step-number,.credential-number,
.credential-meta,.stat-source,.footer-bottom,.footer-nav h3,.workflow-live{
  font-size:var(--type-label)!important;
}
h3,h4,.hero-brandline,.stat-unit,.capability-index-head strong,
.capability-item h3,.partner-step h3,.article-feature-copy h3,
.discipline-word,.article-quote,.award-copy h2{
  font-size:var(--type-subhead)!important;
}
h1,h2,.hero-content h1,.subhero h1,.article-header h1,
.closing h2,.client-closing h2,.next-client-heading h2,
.why-now-v3 h2,.stat strong{
  font-size:var(--type-heading)!important;
}
h1,h2,h3,h4{font-family:Oxygen,sans-serif;font-weight:300}
h1{font-weight:400}

/* Homepage — full-width continuous asset ribbon. */
.asset-ribbon{display:block!important;padding-inline:0!important;overflow:hidden}
.asset-marquee{width:100vw!important;max-width:none!important;margin-inline:calc(50% - 50vw)!important;overflow:hidden}
.asset-track{width:max-content;min-width:200vw;justify-content:space-around;animation-duration:32s!important}
.asset-track span{flex:0 0 auto}

/* Homepage — v15 platform architecture and metric treatment. */
.platform{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr)!important;gap:clamp(60px,8vw,130px)!important;align-items:start}
.platform-copy{max-width:680px}
.capability-index{width:100%;max-width:none}
.stat-source{opacity:.66}
.stat-source a{font-size:inherit!important}

/* About — keep the restored v15 story and systems balanced. */
.why-flow{align-items:stretch}
.why-flow-step{height:100%}
.ai-section{align-items:start}
.ai-system{min-height:520px}
.why-now-v3{align-items:start}
.convergence-system{align-self:stretch}

/* Shared subpage hero architecture. */
.subhero .hero-field{opacity:.9}
.subhero .subhero-inner{position:relative;z-index:2}
.subhero .stock-line-lowered{transform:translateY(180px)}
.subhero::before{pointer-events:none}

/* Advisor audience — exact v15 two-column narrative. */
.audience-section-v18{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr)!important;gap:clamp(56px,8vw,120px)!important;min-height:520px}
.audience-section-v18>div:first-child{padding-right:clamp(24px,4vw,70px);border-right:1px solid rgba(215,183,116,.35)}
.audience-section-v18 .eyebrow{margin-bottom:24px}
.audience-section-v18 h2{margin:0;max-width:560px}

/* Partners — compact 2 x 2 benefits and restored v15 audience composition. */
.partner-path{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;margin-top:40px!important;border-top:1px solid rgba(43,28,16,.18);border-left:1px solid rgba(43,28,16,.18)}
.partner-step{min-height:0!important;padding:32px!important;border-right:1px solid rgba(43,28,16,.18)!important;border-bottom:1px solid rgba(43,28,16,.18)!important}
.partner-step h3{margin-top:24px!important}
.partner-audience-v18{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr)!important;gap:clamp(56px,8vw,120px)!important;align-items:center!important}
.partner-audience-v18>div:first-child{padding-right:clamp(24px,4vw,70px);border-right:1px solid rgba(255,255,255,.22)}
.partner-audience-v18 h2{max-width:560px}

/* Team — remove the duplicate investor ledger while retaining the institutional story. */
.backing-section .backing-heading{max-width:900px}
.backing-section .backing-heading>p:last-child{max-width:820px}

/* Contact — two Hong Kong locations, one social channel. */
.contact-detail address{display:grid;gap:18px;font-style:normal;color:var(--muted)}
.contact-detail address span+span{padding-top:18px;border-top:1px solid rgba(43,28,16,.12)}
.social-links{max-width:420px}

@media(max-width:900px){
  .platform{grid-template-columns:1fr!important}
  .audience-section-v18,.partner-audience-v18{grid-template-columns:1fr!important;gap:44px!important}
  .audience-section-v18>div:first-child,.partner-audience-v18>div:first-child{padding-right:0;border-right:0}
}
@media(max-width:700px){
  :root{
    --type-label:.72rem;
    --type-body:.98rem;
    --type-subhead:1.3rem;
    --type-heading:clamp(2.2rem,10vw,3.2rem);
  }
  .asset-track{min-width:360vw;animation-duration:25s!important}
  .platform{gap:54px!important}
  .partner-path{grid-template-columns:1fr!important}
  .partner-step{padding:26px 22px!important}
  .subhero .stock-line-lowered{transform:translateY(235px)}
  .ai-system{min-height:470px}
}
/* Deep-linked QA and accessibility: anchored sections must never remain hidden before the observer runs. */
:target .reveal{opacity:1!important;transform:none!important}

@media(prefers-reduced-motion:reduce){
  .asset-track{animation:none!important;transform:none!important}
}
/* Responsive containment for inherited internal-page layouts. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.site-header{width:100%;max-width:100vw}
.subhero-v04 .subhero-inner,.subhero-v04 .subhero-copy,.subhero-v04 .lead,
.subhero .subhero-inner,.subhero .subhero-copy,.subhero .lead{min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
@media(max-width:1100px){
  .site-header{grid-template-columns:minmax(0,1fr) auto!important}
  .menu-toggle{display:block!important;justify-self:end}
}
@media(max-width:700px){
  .subhero-v04,.subhero{width:100%;max-width:100vw}
  .subhero-v04 .subhero-inner,.subhero-v04 .subhero-copy,.subhero-v04 .lead,
  .subhero .subhero-inner,.subhero .subhero-copy,.subhero .lead{width:100%!important;max-width:100%!important}
}
