/* ═══════════════════════════════════════════════════════════════════════
   RM GROWTH PARTNERS — Components (loaded after app.css)
   Section-level styles for every page module.
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════ HERO ═══════════════════════ */
.hero{ padding-top:clamp(7rem,12vh,9rem); padding-bottom:clamp(3rem,5vw,4.5rem); overflow:hidden }
.hero__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,4vw,4rem); align-items:center }
/* grid tracks default to min-width:auto, which lets a child's max-width
   (e.g. the 46ch sub-paragraph) push the track wider than the viewport and
   clip under overflow:hidden. Zero it so children wrap to the track. */
.hero__inner > *{ min-width:0 }
.hero__badge{
  display:inline-flex; align-items:center; gap:.55rem; margin-bottom:1.4rem;
  padding:.4rem .85rem; border-radius:100px; border:1px solid var(--line-2);
  background:var(--glass); font-size:.78rem; font-weight:500; color:var(--ink-2);
}
.hero__badge i{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px var(--gold-glow); animation:pulse 2.4s var(--ease) infinite }
@keyframes pulse{ 50%{ box-shadow:0 0 0 8px transparent } }
.hero h1{ font-size:clamp(2.5rem,1.6rem + 4vw,4.6rem); margin-bottom:1.4rem }
.hero__sub{ font-size:clamp(1.05rem,1rem + .4vw,1.25rem); color:var(--ink-2); max-width:46ch; margin-bottom:1rem }
.hero__punch{ font-size:1.05rem; color:var(--ink); margin-bottom:2rem }
.hero__punch em{ font-style:normal; color:var(--gold) }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2rem }
.hero__proof{ display:flex; gap:2rem; flex-wrap:wrap }
.hero__proof div{ display:flex; flex-direction:column }
.hero__proof b{ font-family:var(--f-display); font-size:1.5rem; font-weight:600; color:var(--ink); letter-spacing:-.02em }
.hero__proof span{ font-size:.78rem; color:var(--ink-3) }

/* live dashboard visual */
.hero__aside{ position:relative }
.dash{ position:relative; padding:1.25rem; z-index:2 }
.dash__top{ display:flex; align-items:center; gap:.7rem; margin-bottom:1.1rem }
.dash__dots{ display:flex; gap:5px }
.dash__dots i{ width:9px; height:9px; border-radius:50%; background:var(--line-2) }
.dash__label{ font-size:.78rem; color:var(--ink-3); font-family:var(--f-display) }
.dash__pulse{ margin-left:auto; width:8px; height:8px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 4px rgb(74 222 128/.18); animation:pulse 2s infinite }
.dash__kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1.1rem }
.kpi{ padding:.85rem; border-radius:12px; background:rgb(var(--on-rgb)/.03); border:1px solid var(--line) }
.kpi__k{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-4); margin-bottom:.35rem }
.kpi__v{ display:block; font-family:var(--f-display); font-size:1.25rem; font-weight:700; color:var(--ink); letter-spacing:-.02em }
.kpi__d{ font-size:.72rem; font-weight:600; color:#4ADE80 }
.dash__chart{ position:relative; height:150px; margin-bottom:1rem; border-radius:12px; overflow:hidden; background:rgb(var(--on-rgb)/.02); border:1px solid var(--line) }
.dash__chart svg{ width:100%; height:100% }
.dash__gridlines line{ stroke:rgb(var(--on-rgb)/.06); stroke-width:1 }
.dash__line{ stroke-dasharray:1400; stroke-dashoffset:1400; animation:draw 2.4s var(--ease-out) forwards }
@keyframes draw{ to{ stroke-dashoffset:0 } }
.dash__head{ fill:var(--gold-lt); filter:drop-shadow(0 0 6px var(--gold-glow)) }
.dash__feed{ display:flex; flex-direction:column; gap:.5rem }
.dash__feed span{ display:flex; align-items:center; gap:.55rem; font-size:.78rem; color:var(--ink-3) }
.dot{ width:7px; height:7px; border-radius:50%; flex:none }
.dot--gold{ background:var(--gold) } .dot--green{ background:#4ADE80 }
.dash__float{ position:absolute; z-index:3; padding:.85rem 1rem; border-radius:14px }
.dash__float b{ display:block; font-family:var(--f-display); font-size:1.3rem; font-weight:700; color:var(--ink) }
.dash__float span{ font-size:.68rem; color:var(--ink-3); text-transform:uppercase; letter-spacing:.06em }
.dash__float--a{ top:-22px; right:-14px; animation:float 6s ease-in-out infinite }
.dash__float--b{ bottom:-20px; left:-18px; animation:float 6s ease-in-out infinite .8s }
@keyframes float{ 50%{ transform:translateY(-10px) } }
@media (prefers-reduced-motion:reduce){ .dash__float,.dash__pulse,.hero__badge i{ animation:none } .dash__line{ animation:none; stroke-dashoffset:0 } }

/* ---------- Trust marquee ---------- */
.trust{ padding-block:clamp(2rem,3vw,2.75rem); border-block:1px solid var(--line) }
.trust__label{ text-align:center; font-size:.74rem; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-4); margin-bottom:1.4rem }
.trust__row{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem 2.4rem }
.trust__item{ font-family:var(--f-display); font-weight:600; font-size:1rem; color:var(--ink-3); letter-spacing:-.01em; transition:color .3s var(--ease) }
.trust__item:hover{ color:var(--ink) }

/* ═══════════════════════ PROBLEM ═══════════════════════ */
.leak__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; margin-bottom:2.5rem }
.leak__card{ padding:1.4rem; border-radius:14px; background:var(--glass); border:1px solid var(--line); transition:border-color .4s var(--ease), transform .4s var(--ease) }
.leak__card:hover{ border-color:rgb(201 162 77/.4); transform:translateY(-3px) }
.leak__card b{ display:block; font-family:var(--f-display); font-size:1rem; color:var(--ink); margin-bottom:.35rem }
.leak__card p{ font-size:.88rem; color:var(--ink-3); line-height:1.5 }
/* budget ledger */
.ledger{ padding:clamp(1.5rem,3vw,2.25rem) }
.ledger__head{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap }
.ledger__head h3{ font-size:1.15rem }
.ledger__head span{ font-size:.8rem; color:var(--ink-4) }
.lrow{ display:grid; grid-template-columns:1fr 1.4fr auto; gap:1rem; align-items:center; padding:.6rem 0; border-top:1px solid var(--line) }
.lrow__k{ font-size:.9rem; color:var(--ink-2) }
.lrow__track{ height:8px; border-radius:6px; background:rgb(var(--on-rgb)/.05); overflow:hidden }
.lrow__bar{ display:block; height:100%; width:0; border-radius:6px; background:linear-gradient(90deg,var(--gold-dk),var(--gold-lt)); transition:width 1.2s var(--ease-out) }
.lrow.is-in .lrow__bar{ width:var(--w) }
.lrow--rev .lrow__bar{ background:linear-gradient(90deg,#4ADE80,#86efac) }
.lrow__v{ font-family:var(--f-display); font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums }
.ledger__foot{ margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--line); font-size:.9rem; color:var(--ink-3) }

/* ═══════════════════════ OPPORTUNITY / VERSUS ═══════════════════════ */
.vs{ display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(1.25rem,3vw,2.5rem); align-items:stretch }
.vs__col{ padding:clamp(1.5rem,3vw,2.25rem); border-radius:var(--radius) }
.vs__col--them{ background:var(--glass); border:1px solid var(--line) }
.vs__col--us{ background:linear-gradient(160deg, rgb(201 162 77/.1), rgb(201 162 77/.02)); border:1px solid rgb(201 162 77/.28) }
.vs__tag{ font-family:var(--f-display); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4) }
.vs__col--us .vs__tag{ color:var(--gold) }
.vs__col h3{ font-size:1.35rem; margin:.5rem 0 1.25rem }
.vs__list li{ display:flex; gap:.75rem; align-items:flex-start; padding:.55rem 0; font-size:.92rem; color:var(--ink-2); border-top:1px solid var(--line) }
.vs__list li::before{ content:""; flex:none; width:18px; height:18px; margin-top:2px; border-radius:50%; background-repeat:no-repeat; background-position:center; background-size:12px }
.vs__col--them .vs__list li::before{ background-color:rgb(255 255 255/.05); background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round'><path d='M18 6 6 18M6 6l12 12'/></svg>") }
.vs__col--us .vs__list li::before{ background-color:rgb(201 162 77/.16); background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A24D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") }
.vs__mid{ display:grid; place-items:center; width:56px }
.vs__mid span{ font-family:var(--f-display); font-weight:700; font-size:.9rem; color:var(--ink-4); writing-mode:vertical-rl; letter-spacing:.2em; text-transform:uppercase }
.vs__kicker{ margin-top:clamp(2rem,4vw,3rem); text-align:center; font-family:var(--f-display); font-size:clamp(1.4rem,1.1rem + 1.6vw,2.1rem); font-weight:600; color:var(--ink); letter-spacing:-.02em }

/* ═══════════════════════ FRAMEWORK (steps) ═══════════════════════ */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; counter-reset:step }
.step{ position:relative; padding:1.5rem 1.35rem; border-radius:14px; background:var(--glass); border:1px solid var(--line); transition:border-color .4s var(--ease), transform .4s var(--ease) }
.step:hover{ border-color:rgb(201 162 77/.4); transform:translateY(-4px) }
.step__n{ counter-increment:step; font-family:var(--f-display); font-size:.8rem; font-weight:700; color:var(--gold); letter-spacing:.05em }
.step__n::before{ content:"0" counter(step) }
.step h3{ font-size:1.1rem; margin:.65rem 0 .5rem }
.step p{ font-size:.88rem; color:var(--ink-3); line-height:1.55 }

/* ═══════════════════════ SERVICES ═══════════════════════ */
.svc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem }
.svc{ position:relative; padding:1.6rem; border-radius:16px; background:var(--glass); border:1px solid var(--line); overflow:hidden; transition:border-color .4s var(--ease), transform .4s var(--ease) }
.svc::after{ content:""; position:absolute; inset:0; background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%), rgb(201 162 77/.09), transparent 60%); opacity:0; transition:opacity .4s var(--ease); pointer-events:none }
.svc:hover{ transform:translateY(-4px); border-color:rgb(201 162 77/.4) }
.svc:hover::after{ opacity:1 }
.svc__ic{ display:grid; place-items:center; width:46px; height:46px; border-radius:12px; margin-bottom:1rem; color:var(--gold); background:rgb(201 162 77/.1); border:1px solid rgb(201 162 77/.22) }
.svc__ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.svc h3{ font-size:1.15rem; margin-bottom:.5rem; position:relative; z-index:1 }
.svc p{ font-size:.9rem; color:var(--ink-3); line-height:1.55; margin-bottom:1rem; position:relative; z-index:1 }
.svc__tags{ display:flex; flex-wrap:wrap; gap:.4rem; position:relative; z-index:1 }
.svc__tags span{ font-size:.72rem; padding:.28rem .6rem; border-radius:100px; background:rgb(var(--on-rgb)/.05); color:var(--ink-3); border:1px solid var(--line) }

/* ═══════════════════════ TECH STACK ═══════════════════════ */
.stack{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.75rem }
.stack__item{ display:flex; align-items:center; gap:.7rem; padding:.9rem 1rem; border-radius:12px; background:var(--glass); border:1px solid var(--line); transition:border-color .35s var(--ease), background .35s var(--ease) }
.stack__item:hover{ border-color:rgb(201 162 77/.4); background:var(--glass-2) }
.stack__dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); flex:none; box-shadow:0 0 0 3px var(--gold-glow) }
.stack__item b{ font-family:var(--f-display); font-weight:600; font-size:.9rem; color:var(--ink) }

/* ═══════════════════════ INDUSTRIES ═══════════════════════ */
.ind-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem }
.ind{ position:relative; padding:1.5rem; border-radius:16px; background:var(--glass); border:1px solid var(--line); min-height:150px; display:flex; flex-direction:column; justify-content:space-between; transition:border-color .4s var(--ease), transform .4s var(--ease) }
.ind:hover{ transform:translateY(-4px); border-color:rgb(201 162 77/.4) }
.ind__ic{ color:var(--gold) } .ind__ic svg{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }
.ind b{ display:block; font-family:var(--f-display); font-size:1.05rem; color:var(--ink); margin-top:1rem }
.ind span{ font-size:.82rem; color:var(--ink-3) }

/* ═══════════════════════ CASE STUDIES ═══════════════════════ */
.cases{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem }
.case{ padding:1.6rem; border-radius:16px; background:var(--glass); border:1px solid var(--line); display:flex; flex-direction:column }
.case__badge{ align-self:flex-start; font-size:.72rem; padding:.28rem .65rem; border-radius:100px; background:rgb(201 162 77/.12); color:var(--gold); border:1px solid rgb(201 162 77/.25); margin-bottom:1rem }
.case__ph{ font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); margin-bottom:.75rem }
.case h3{ font-size:1.2rem; margin-bottom:1rem }
.case__metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:auto; padding-top:1.25rem; border-top:1px solid var(--line) }
.case__metrics div b{ display:block; font-family:var(--f-display); font-size:1.35rem; font-weight:700; color:var(--gold) }
.case__metrics div span{ font-size:.7rem; color:var(--ink-3) }

/* ═══════════════════════ METRICS / STATS ═══════════════════════ */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden }
.stat{ padding:clamp(1.5rem,3vw,2.25rem) 1.5rem; background:var(--bg); text-align:center }
.stat__v{ display:block; font-family:var(--f-display); font-size:clamp(2rem,1.5rem + 1.6vw,2.8rem); font-weight:500; letter-spacing:-.03em; background:linear-gradient(140deg,var(--ink),var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent }
.stat__k{ display:block; font-size:.82rem; color:var(--ink-3); margin-top:.4rem }

/* ═══════════════════════ WHY US ═══════════════════════ */
.why-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem }
.why{ padding:1.5rem; border-radius:14px; background:var(--glass); border:1px solid var(--line) }
.why__ic{ color:var(--gold); margin-bottom:.9rem } .why__ic svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.why h3{ font-size:1.08rem; margin-bottom:.5rem }
.why p{ font-size:.9rem; color:var(--ink-3); line-height:1.55 }

/* ═══════════════════════ FOUNDERS ═══════════════════════ */
.founders{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem }
.founder{ padding:1.5rem; border-radius:16px; background:var(--glass); border:1px solid var(--line); text-align:center }
.founder__av{ width:96px; height:96px; margin:0 auto 1rem; border-radius:50%; overflow:hidden; border:1px solid var(--line-2) }
.founder h3{ font-size:1.15rem }
.founder__role{ font-size:.82rem; color:var(--gold); margin-bottom:.75rem }
.founder p{ font-size:.88rem; color:var(--ink-3); line-height:1.55 }

/* ═══════════════════════ FAQ ═══════════════════════ */
.faq{ max-width:820px; margin-inline:auto }
.faq__item{ border-bottom:1px solid var(--line) }
.faq__q{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; text-align:left; padding:1.25rem 0; font-family:var(--f-display); font-size:1.05rem; font-weight:600; color:var(--ink) }
.faq__q i{ position:relative; flex:none; width:20px; height:20px }
.faq__q i::before,.faq__q i::after{ content:""; position:absolute; inset:0; margin:auto; background:var(--gold); transition:transform .35s var(--ease) }
.faq__q i::before{ width:14px; height:2px } .faq__q i::after{ width:2px; height:14px }
.faq__item.is-open .faq__q i::after{ transform:scaleY(0) }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease) }
.faq__a p{ padding:0 0 1.25rem; color:var(--ink-3); font-size:.95rem; line-height:1.65; max-width:70ch }

/* ═══════════════════════ TESTIMONIALS ═══════════════════════ */
.tst__rail{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent) }
.tst__track{ display:flex; gap:1rem; width:max-content; animation:marquee 60s linear infinite }
.tst__rail:hover .tst__track{ animation-play-state:paused }
@keyframes marquee{ to{ transform:translateX(-50%) } }
@media (prefers-reduced-motion:reduce){ .tst__track{ animation:none; flex-wrap:wrap; width:auto } }
.tcard{ width:min(380px,80vw); flex:none; padding:1.5rem; border-radius:16px }
.tcard__quote{ font-size:.95rem; color:var(--ink-2); line-height:1.6; margin-bottom:1.25rem }
.tcard__who{ display:flex; align-items:center; gap:.75rem }
.tcard__av{ width:44px; height:44px; border-radius:50%; flex:none }
.tcard__n{ display:block; font-family:var(--f-display); font-weight:600; font-size:.9rem; color:var(--ink) }
.tcard__r{ display:block; font-size:.78rem; color:var(--ink-4) }
.tcard__m{ margin-left:auto; text-align:right; font-family:var(--f-display); font-weight:700; color:var(--gold) }
.tcard__m small{ display:block; font-weight:500; font-size:.62rem; color:var(--ink-4); letter-spacing:.06em; text-transform:uppercase }
.ph-note{ display:block; margin-top:1.25rem; font-size:.78rem; color:var(--ink-4); text-align:center }

/* ═══════════════════════ AUDIT / FORM ═══════════════════════ */
.audit__wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start }
.audit__list{ margin-top:1.5rem }
.audit__list li{ display:flex; gap:.85rem; align-items:flex-start; padding:.7rem 0; font-size:.95rem; color:var(--ink-2) }
.audit__list li::before{ content:""; flex:none; width:22px; height:22px; margin-top:1px; border-radius:50%; background:rgb(201 162 77/.14) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A24D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") no-repeat center/13px }
.audit__meta{ display:flex; gap:1.5rem; margin-top:1.75rem; flex-wrap:wrap }
.audit__meta div b{ display:block; font-family:var(--f-display); font-size:1.3rem; color:var(--gold) }
.audit__meta div span{ font-size:.78rem; color:var(--ink-3) }
.form{ padding:clamp(1.5rem,3vw,2.25rem) }
.field{ margin-bottom:1rem }
.field label{ display:block; font-size:.8rem; font-weight:500; color:var(--ink-2); margin-bottom:.4rem }
.field label .req{ color:var(--gold) }
.input{ width:100%; height:50px; padding:0 1rem; border-radius:12px; background:rgb(var(--on-rgb)/.03); border:1px solid var(--line-2); color:var(--ink); font-size:.95rem; transition:border-color .3s var(--ease), background .3s var(--ease) }
textarea.input{ height:auto; min-height:110px; padding:.8rem 1rem; resize:vertical }
.input::placeholder{ color:var(--ink-4) }
.input:focus{ outline:none; border-color:var(--gold); background:rgb(201 162 77/.05) }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.form__fine{ font-size:.78rem; color:var(--ink-4); margin-top:1rem; text-align:center }
.form__ok{ display:none; text-align:center; padding:2rem 1rem }
.form__ok.is-on{ display:block }
.form__ok svg{ width:52px; height:52px; margin:0 auto 1rem; stroke:var(--gold); fill:none; stroke-width:1.5 }

/* ═══════════════════════ FINAL CTA ═══════════════════════ */
.final{ text-align:center; overflow:hidden }
.final h2{ font-size:clamp(2rem,1.4rem + 2.8vw,3.6rem); margin:1rem 0 2rem }
.final__l1{ font-size:1.05rem; color:var(--ink-3) }
.final__actions{ display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap }
.final__sla{ margin-top:1.25rem; font-size:.85rem; color:var(--ink-4) }

/* ═══════════════════════ FOOTER ═══════════════════════ */
.foot{ border-top:1px solid var(--line); background:var(--bg-2); padding-block:clamp(3rem,5vw,4rem) 2rem }
.foot__inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2rem }
.foot__brand p{ font-size:.9rem; color:var(--ink-3); margin:1rem 0 1.25rem; max-width:32ch }
.foot__col h4{ font-family:var(--f-display); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-4); margin-bottom:1rem }
.foot__col a{ display:block; padding:.3rem 0; font-size:.9rem; color:var(--ink-3); transition:color .25s var(--ease) }
.foot__col a:hover{ color:var(--gold) }
.foot__cta .btn{ margin-bottom:.75rem }
.foot__fine{ font-size:.78rem; color:var(--ink-4) }
.social{ display:flex; gap:.6rem; margin-top:1rem }
.social a{ display:grid; place-items:center; width:38px; height:38px; border-radius:10px; border:1px solid var(--line-2); color:var(--ink-3); transition:color .3s var(--ease), border-color .3s var(--ease) }
.social a:hover{ color:var(--gold); border-color:rgb(201 162 77/.4) }
.social svg{ width:16px; height:16px; fill:currentColor }
.foot__bar{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); font-size:.82rem; color:var(--ink-4) }
.foot__legal a{ margin-left:1.25rem; color:var(--ink-4) }
.foot__legal a:hover{ color:var(--ink-2) }

/* ═══════════════════════ PAGE HERO (sub-pages) ═══════════════════════ */
.phero{ padding-top:clamp(8rem,14vh,10rem); padding-bottom:clamp(2.5rem,4vw,3.5rem); text-align:center; overflow:hidden }
.phero h1{ font-size:clamp(2.2rem,1.6rem + 3vw,3.8rem); margin-bottom:1.25rem }
.phero p{ max-width:60ch; margin-inline:auto }
.crumbs{ display:flex; gap:.5rem; justify-content:center; margin-bottom:1.5rem; font-size:.82rem; color:var(--ink-4) }
.crumbs a:hover{ color:var(--gold) } .crumbs span{ color:var(--gold) }

/* generic prose for resource/legal pages */
.prose{ max-width:72ch; margin-inline:auto }
.prose h2{ font-size:1.5rem; margin:2rem 0 .75rem }
.prose h3{ font-size:1.15rem; margin:1.5rem 0 .5rem }
.prose p{ margin-bottom:1rem; color:var(--ink-2) }
.prose ul{ margin:0 0 1rem 1.1rem; list-style:disc } .prose li{ margin-bottom:.4rem; color:var(--ink-2) }

/* ═══════════════════════ RESPONSIVE ═══════════════════════ */
@media (max-width:960px){
  .hero__inner{ grid-template-columns:1fr; gap:3rem }
  .hero__aside{ max-width:480px; margin-inline:auto; width:100% }
  .audit__wrap{ grid-template-columns:1fr }
  .foot__inner{ grid-template-columns:1fr 1fr }
  .nav__links,.nav__cta{ display:none }
  .nav__burger{ display:flex }
}
@media (max-width:680px){
  .vs{ grid-template-columns:1fr } .vs__mid{ width:auto; height:40px } .vs__mid span{ writing-mode:horizontal-tb }
  .form__row{ grid-template-columns:1fr }
  .foot__inner{ grid-template-columns:1fr } .foot__bar{ flex-direction:column }
  .hero__proof{ gap:1.25rem }
  .dash__kpis{ grid-template-columns:1fr }
}
