/* Growhill Wealth v18 — optical typography, spacious navigation, bilingual switch */
:root{
  --v18-label:clamp(.68rem,.66rem + .08vw,.74rem);
  --v18-nav:clamp(.72rem,.70rem + .08vw,.78rem);
  --v18-small:clamp(.84rem,.82rem + .10vw,.92rem);
  --v18-body:clamp(.98rem,.94rem + .16vw,1.08rem);
  --v18-lead:clamp(1.08rem,1rem + .32vw,1.28rem);
  --v18-h3:clamp(1.32rem,1.18rem + .55vw,1.72rem);
  --v18-h2:clamp(2.05rem,1.66rem + 1.55vw,3.35rem);
  --v18-h1:clamp(2.75rem,2.05rem + 2.65vw,4.9rem);
}

/* Typography: optical roles instead of one size applied to every heading/link. */
body{font-size:var(--v18-body)!important;line-height:1.68}
main p,main li,address,figcaption,.hero-copy,.team-narrative p,.partner-audience p,.audience-copy p,
.next-client-stage>p,.workflow-problem{font-size:var(--v18-body)!important;line-height:1.7}
.lead,.article-deck,.why-lead,.trust-question{font-size:var(--v18-lead)!important;line-height:1.64}
.eyebrow,.page-kicker,.breadcrumb,.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,label,legend{
  font-size:var(--v18-label)!important;line-height:1.45
}
h1,.hero-content h1,.subhero h1,.article-header h1{font-size:var(--v18-h1)!important;line-height:1.02;letter-spacing:-.035em}
h2,.closing h2,.client-closing h2,.next-client-heading h2,.why-now-v3 h2{font-size:var(--v18-h2)!important;line-height:1.09;letter-spacing:-.025em}
h3,h4,.capability-item h3,.partner-step h3,.article-feature-copy h3,.discipline-word,
.capability-index-head strong,.award-copy h2{font-size:var(--v18-h3)!important;line-height:1.2;letter-spacing:-.012em}
.stat strong{font-size:clamp(2.8rem,2.1rem + 2.7vw,5.15rem)!important;line-height:1}
.button{font-size:var(--v18-small)!important;line-height:1.2}
.section-heading,.platform-copy,.subhero-copy{max-width:900px}
.section-heading>p:last-child,.platform-copy>p:last-child,.subhero .lead{max-width:760px}
p{max-width:78ch}

/* Header: guaranteed breathing space at both ends of the navigation. */
.site-header{
  grid-template-columns:172px minmax(0,1fr) auto!important;
  column-gap:clamp(30px,3vw,52px)!important;
  padding-inline:clamp(30px,3.2vw,58px)!important;
}
.brand{width:172px!important;min-width:0}
.site-nav{justify-content:center;gap:clamp(14px,1.16vw,22px)!important;min-width:0}
.site-nav a{
  font-size:var(--v18-nav)!important;
  font-family:Raleway,Arial,sans-serif;
  font-weight:560;
  line-height:1.2;
  letter-spacing:.012em;
  white-space:nowrap;
}
.header-actions{gap:16px!important;min-width:max-content}
.header-actions .button-small{min-height:38px;padding:8px 15px;font-size:var(--v18-nav)!important}

/* iPhone-style language switch using Growhill Night Brown + Quiet Gold. */
.language-switch{
  width:82px!important;height:34px!important;min-width:82px!important;min-height:34px!important;
  border:1px solid rgba(43,28,16,.32)!important;border-radius:999px!important;
  background:var(--night)!important;color:#fff!important;padding:0!important;margin:0!important;
  position:relative!important;display:inline-flex!important;align-items:center!important;
  justify-content:space-between!important;cursor:pointer;isolation:isolate;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 5px 14px rgba(43,28,16,.12);
}
.language-switch .switch-thumb{
  position:absolute;z-index:1;left:2px;top:2px;width:28px;height:28px;border-radius:50%;
  background:var(--quiet);box-shadow:0 2px 7px rgba(0,0,0,.28);
  transition:transform .34s cubic-bezier(.2,.8,.2,1);
}
.language-switch .switch-label{position:absolute;z-index:2;top:50%;transform:translateY(-50%);font:600 .61rem/1 Oxygen,sans-serif;letter-spacing:.02em;pointer-events:none}
.language-switch .switch-en{left:8px;color:var(--night)}
.language-switch .switch-zh{right:10px;color:rgba(255,255,255,.76)}
html[lang="zh-Hans"] .language-switch .switch-thumb{transform:translateX(48px)}
html[lang="zh-Hans"] .language-switch .switch-en{color:rgba(255,255,255,.76)}
html[lang="zh-Hans"] .language-switch .switch-zh{color:var(--night)}
.language-switch:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 7px 18px rgba(43,28,16,.18)}
.language-switch:focus-visible{outline:2px solid var(--quiet);outline-offset:4px}
.nav-language.language-switch{display:none!important}

/* Newsroom now shares the branded ascending Growhill hero environment. */
.newsroom-hero{min-height:620px}
.newsroom-hero .hero-field{opacity:.88}
.newsroom-hero .stock-line-lowered{transform:translateY(180px)}
.newsroom-hero .subhero-copy{max-width:820px}
.newsroom-hero h1{margin-bottom:24px}

/* Balanced reading rhythm across large content sections. */
.section-shell{padding-block:clamp(82px,8vw,120px)}
.capability-row,.benefit,.licence-row{align-items:center}
.article-body{font-size:var(--v18-body);line-height:1.78}
.footer-nav a,.footer-brand p{font-size:var(--v18-small)!important;line-height:1.55}

/* Switch to the mobile menu before the desktop navigation can become cramped. */
@media(max-width:1220px){
  .site-header{grid-template-columns:minmax(0,1fr) auto!important;padding-inline:clamp(22px,4vw,48px)!important}
  .menu-toggle{display:block!important;justify-self:end}
  .header-actions{display:none!important}
  .site-nav{
    position:fixed!important;inset:var(--header) 0 0!important;background:var(--night)!important;color:#fff!important;
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;
    justify-content:flex-start!important;padding:44px clamp(28px,7vw,78px)!important;gap:0!important;
    transform:translateX(100%);visibility:hidden;pointer-events:none;overflow-y:auto;
  }
  .site-nav.open{transform:none;visibility:visible;pointer-events:auto}
  .site-nav a{width:100%;padding:17px 0!important;border-bottom:1px solid rgba(255,255,255,.12);font-size:clamp(1.1rem,2.3vw,1.45rem)!important;font-family:Oxygen,sans-serif;font-weight:300}
  .nav-language.language-switch{display:inline-flex!important;margin-top:28px!important}
}

@media(max-width:700px){
  :root{
    --v18-body:.98rem;--v18-lead:1.06rem;--v18-h3:1.3rem;
    --v18-h2:clamp(1.9rem,7.7vw,2.6rem);--v18-h1:clamp(2.35rem,10.8vw,3.35rem)
  }
  .site-header{padding-inline:18px!important}
  .brand{width:154px!important}
  .section-shell{padding-block:76px}
  .subhero,.subhero-v04{min-height:610px}
  .subhero .lead,.subhero-v04 .lead{line-height:1.62}
  .newsroom-hero{min-height:610px}
}

@media(prefers-reduced-motion:reduce){.language-switch .switch-thumb{transition:none}}
