/* ==========================================================================
   Meridian Heights Management — Advanced Enhancement Layer
   File: assets/css/site-advanced.css
   Load AFTER site-polished.css. Pure additive polish — no base overrides
   that would break existing structure or JS behavior.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Extended tokens
   -------------------------------------------------------------------------- */
:root{
  --gold-grad: linear-gradient(135deg,#e7cd92 0%,#d8b876 35%,#c69d4b 70%,#af8033 100%);
  --gold-sheen: linear-gradient(115deg,transparent 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.55) 55%,transparent 100%);
  --glass-border: 1px solid rgba(255,255,255,.55);
  --ring-focus: 0 0 0 3px rgba(198,157,75,.45);
  --ease-lux: cubic-bezier(.22,1,.36,1);
  /* Aliases mapping to base design tokens (site-polished.css) */
  --fd: var(--font-display);
  --fb: var(--font-body);
  --fm: var(--font-mono);
  --soft: var(--soft-shadow);
  --hard: var(--hard-shadow);
}

/* Smoother font rendering + optical sizing for Fraunces */
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
h1,h2{ font-optical-sizing:auto; }

/* Consistent, elegant focus ring across interactive elements */
a:focus-visible,.btn:focus-visible,.pf-filter:focus-visible,
.nav__link:focus-visible,.nav__toggle:focus-visible,
.footer__news input:focus-visible{ outline:none; box-shadow:var(--ring-focus); border-radius:999px; }

/* --------------------------------------------------------------------------
   1. Header — refined scrolled state (JS adds .is-scrolled; safe if absent)
   -------------------------------------------------------------------------- */
.site-header{ transition:background .3s var(--ease-lux),box-shadow .3s var(--ease-lux),backdrop-filter .3s; }
.site-header.is-scrolled{
  background:rgba(255,250,242,.92);
  box-shadow:0 10px 40px rgba(8,21,33,.12);
}
.site-header.is-scrolled .nav{ min-height:74px; transition:min-height .3s var(--ease-lux); }
.nav__brand img{ transition:max-height .3s var(--ease-lux); }
.site-header.is-scrolled .nav__brand img{ max-height:64px; }

/* Nav links: animated gold underline dot instead of only pill fill */
.nav__link{ position:relative; }
.nav__link::after{
  content:""; position:absolute; left:50%; bottom:.32rem; width:0; height:2px;
  border-radius:999px; background:var(--gold-grad); transform:translateX(-50%);
  transition:width .3s var(--ease-lux); opacity:0;
}
.nav__link:not(.is-active):hover{ background:transparent; color:var(--navy-950); box-shadow:none; }
.nav__link:not(.is-active):hover::after{ width:60%; opacity:1; }

/* --------------------------------------------------------------------------
   2. Buttons — sheen sweep + crisper depth
   -------------------------------------------------------------------------- */
.btn{ position:relative; overflow:hidden; transition:transform .25s var(--ease-lux),box-shadow .25s var(--ease-lux),background .25s,color .25s,border-color .25s; }
.btn--primary{ background:var(--gold-grad); background-size:140% 140%; }
.btn--primary::before{
  content:""; position:absolute; inset:0; background:var(--gold-sheen);
  transform:translateX(-120%); transition:transform .7s var(--ease-lux); pointer-events:none;
}
.btn--primary:hover::before{ transform:translateX(120%); }
.btn:hover{ transform:translateY(-3px); }
.btn:active{ transform:translateY(-1px); }

/* --------------------------------------------------------------------------
   3. Hero — layered depth, gradient headline accent, floating orbits
   -------------------------------------------------------------------------- */
.hero{ isolation:isolate; }

/* Soft aurora glow behind copy */
.hero__copy::before{
  content:""; position:absolute; z-index:-1; left:-8%; top:-12%;
  width:22rem; height:22rem; border-radius:50%;
  background:radial-gradient(circle,rgba(216,184,118,.28),transparent 65%);
  filter:blur(8px); animation:heroGlow 9s var(--ease-lux) infinite alternate;
}
@keyframes heroGlow{ from{transform:translate(0,0) scale(1);opacity:.8} to{transform:translate(2rem,1rem) scale(1.12);opacity:1} }

/* Gilded italic in headline gets a subtle gradient */
h1 em{
  background:linear-gradient(120deg,var(--gold-500),var(--gold-300) 55%,var(--gold-500));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* Staggered entrance for hero copy pieces */
.hero__eyebrow,.hero h1,.hero__sub,.hero__cta,.hero__meta{ animation:heroRise .9s var(--ease-lux) both; }
.hero h1{ animation-delay:.08s; }
.hero__sub{ animation-delay:.16s; }
.hero__cta{ animation-delay:.24s; }
.hero__meta{ animation-delay:.32s; }
@keyframes heroRise{ from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* Hero media: gentle parallax float + slow zoom */
.hero__media{ transition:transform .6s var(--ease-lux); }
.hero__media img{ animation:slowZoom 14s ease-in-out infinite alternate; }
@keyframes slowZoom{ from{transform:scale(1.03)} to{transform:scale(1.11)} }
.hero__media-tag{ transition:transform .4s var(--ease-lux),box-shadow .4s; }
.hero__media:hover .hero__media-tag{ transform:translateY(-4px); box-shadow:0 26px 55px rgba(0,0,0,.28); }

/* Ring decoration slow spin */
.hero::after{ animation:spin 60s linear infinite; }
@keyframes spin{ to{transform:rotate(360deg)} }

/* Hero meta figures animate up as mono */
.hero__meta div{ transition:background .3s; }
.hero__meta div:hover{ background:#fff; }

/* --------------------------------------------------------------------------
   4. KPI cards — count-in shimmer + gold rim glow
   -------------------------------------------------------------------------- */
.kpi{ transition:transform .3s var(--ease-lux),box-shadow .3s; }
.kpi:hover{ transform:translateY(-4px); box-shadow:0 30px 75px rgba(8,21,33,.28); }
.kpi::before{
  content:""; position:absolute; inset:0; border-radius:24px; padding:1px;
  background:linear-gradient(135deg,rgba(216,184,118,.65),transparent 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:.8; pointer-events:none;
}

/* --------------------------------------------------------------------------
   5. Section headings — decorative gold hairline flourish
   -------------------------------------------------------------------------- */
.section-head .overline{ position:relative; }
.section-head h2{ position:relative; display:inline-block; }
.section-head h2::after{
  content:""; display:block; width:64px; height:3px; margin:1rem auto 0;
  border-radius:999px; background:var(--gold-grad);
}

/* --------------------------------------------------------------------------
   6. Service cards — icon lift, corner accent, hover gradient wash
   -------------------------------------------------------------------------- */
.svc{ transition:transform .35s var(--ease-lux),box-shadow .35s,border-color .35s; }
.svc::after{
  content:""; position:absolute; left:0; top:0; height:3px; width:0;
  background:var(--gold-grad); transition:width .4s var(--ease-lux);
}
.svc:hover::after{ width:100%; }
.svc:hover{ border-color:rgba(216,184,118,.5); }
.svc__icon{ transition:transform .35s var(--ease-lux),background .35s,color .35s; }
.svc:hover .svc__icon{ transform:translateY(-3px) rotate(-4deg); background:var(--gold-grad); color:var(--navy-950); }

/* --------------------------------------------------------------------------
   7. Why-choose (navy) — glass tiles glow on hover
   -------------------------------------------------------------------------- */
.why__item{ transition:transform .3s var(--ease-lux),border-color .3s,background .3s,box-shadow .3s; }
.why__item:hover{
  transform:translateY(-4px); background:rgba(255,255,255,.11);
  border-color:rgba(216,184,118,.5); box-shadow:0 20px 50px rgba(0,0,0,.35);
}

/* --------------------------------------------------------------------------
   8. Portfolio — smoother filter transition, feature ribbon, image gradient
   -------------------------------------------------------------------------- */
.pf{ transition:opacity .4s var(--ease-lux),transform .4s var(--ease-lux),box-shadow .4s; }
.pf__media::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,transparent 55%,rgba(8,21,33,.45));
  opacity:0; transition:opacity .35s; pointer-events:none;
}
.pf:hover .pf__media::after{ opacity:1; }
.pf:hover .pf__media img{ transform:scale(1.08); }
.pf--feature{ position:relative; }
.pf--feature::before{
  content:"Signature"; position:absolute; z-index:3; right:1rem; top:1rem;
  font-family:var(--font-mono); font-size:.66rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--navy-950); background:var(--gold-grad);
  padding:.4rem .7rem; border-radius:999px; box-shadow:0 8px 22px rgba(175,128,51,.35);
}
.pf-filter{ transition:transform .2s var(--ease-lux),background .2s,color .2s,border-color .2s,box-shadow .2s; }
.pf-filter:hover{ transform:translateY(-2px); }

/* --------------------------------------------------------------------------
   9. Case studies — result block sheen, tag pulse
   -------------------------------------------------------------------------- */
.case{ transition:transform .3s var(--ease-lux),box-shadow .3s; }
.case:hover{ transform:translateY(-4px); box-shadow:var(--hard-shadow); }
.case__result{ position:relative; overflow:hidden; }
.case__result::before{
  content:""; position:absolute; inset:0; background:var(--gold-sheen);
  transform:translateX(-130%); transition:transform 1s var(--ease-lux);
}
.case:hover .case__result::before{ transform:translateX(130%); }

/* --------------------------------------------------------------------------
   10. Team — gilded photo ring on hover, role divider
   -------------------------------------------------------------------------- */
.member__photo{ position:relative; transition:transform .35s var(--ease-lux),box-shadow .35s; }
.member__photo::after{
  content:""; position:absolute; inset:-6px; border-radius:999px;
  background:conic-gradient(from 210deg,var(--gold-300),var(--gold-500),var(--gold-300));
  opacity:0; transition:opacity .35s; z-index:-1;
}
.member:hover .member__photo{ transform:scale(1.04); }
.member:hover .member__photo::after{ opacity:1; }
.member__role{ display:inline-block; }
.member__role::after{ content:""; display:block; width:28px; height:2px; margin:.4rem auto 0; background:var(--gold-grad); border-radius:999px; }

/* --------------------------------------------------------------------------
   11. Reviews — star shimmer + score emphasis
   -------------------------------------------------------------------------- */
.review{ transition:transform .3s var(--ease-lux),box-shadow .3s; }
.review:hover{ transform:translateY(-4px); box-shadow:var(--hard-shadow); }
.review__score{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.review .stars{ -webkit-text-fill-color:initial; }

/* --------------------------------------------------------------------------
   12. CTA banner — animated conic aura
   -------------------------------------------------------------------------- */
.cta-banner::after{
  content:""; position:absolute; inset:-40%; z-index:0;
  background:conic-gradient(from 0deg,transparent,rgba(216,184,118,.12),transparent 40%);
  animation:spin 22s linear infinite; pointer-events:none;
}
.cta-banner__inner{ position:relative; z-index:2; }

/* --------------------------------------------------------------------------
   13. Footer — link arrows, newsletter focus glow
   -------------------------------------------------------------------------- */
.footer__links a{ display:inline-flex; align-items:center; gap:.35rem; }
.footer__links a::before{
  content:"→"; opacity:0; transform:translateX(-6px);
  transition:opacity .25s var(--ease-lux),transform .25s var(--ease-lux); color:var(--gold-300);
}
.footer__links a:hover::before{ opacity:1; transform:translateX(0); }
.footer__links a:hover{ padding-left:0; }
.footer__news:focus-within{ border-color:rgba(216,184,118,.6); box-shadow:0 0 0 3px rgba(198,157,75,.25); }

/* --------------------------------------------------------------------------
   14. Reveal — richer easing + subtle scale (uses existing .reveal / .is-visible)
   -------------------------------------------------------------------------- */
.reveal{ transition:opacity .8s var(--ease-lux),transform .8s var(--ease-lux); transform:translateY(28px) scale(.985); }
.reveal.is-visible{ transform:translateY(0) scale(1); }

/* Stagger children that share a grid when revealed together */
.svc-grid .svc.reveal:nth-child(2){ transition-delay:.08s; }
.svc-grid .svc.reveal:nth-child(3){ transition-delay:.16s; }
.why .why__item.reveal:nth-child(2){ transition-delay:.06s; }
.why .why__item.reveal:nth-child(3){ transition-delay:.12s; }
.why .why__item.reveal:nth-child(4){ transition-delay:.18s; }

/* --------------------------------------------------------------------------
   15. Scroll progress bar (JS injects #scrollProgress; degrades gracefully)
   -------------------------------------------------------------------------- */
#scrollProgress{
  position:fixed; left:0; top:0; height:3px; width:0; z-index:200;
  background:var(--gold-grad); box-shadow:0 0 12px rgba(216,184,118,.6);
  transition:width .1s linear;
}

/* Back-to-top button (JS injects #toTop) */
#toTop{
  position:fixed; right:1.25rem; bottom:5.5rem; z-index:95;
  width:48px; height:48px; display:grid; place-items:center;
  border-radius:50%; background:var(--navy-950); color:var(--gold-300);
  box-shadow:var(--soft-shadow); border:1px solid rgba(216,184,118,.35);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .3s var(--ease-lux),transform .3s var(--ease-lux),background .3s;
  cursor:pointer;
}
#toTop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
#toTop:hover{ background:var(--gold-grad); color:var(--navy-950); }
#toTop svg{ width:20px; height:20px; }
@media (min-width:821px){ #toTop{ bottom:1.5rem; } }

/* --------------------------------------------------------------------------
   16. Respect reduced motion — disable all added motion
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .hero__copy::before,.hero__media img,.hero::after,.cta-banner::after,
  .hero__eyebrow,.hero h1,.hero__sub,.hero__cta,.hero__meta{ animation:none!important; }
  .reveal{ transform:none!important; }
  .btn--primary::before,.case__result::before{ display:none; }
}

/* ==========================================================================
   17. WHAT DEFINES US — dark culture journey + values grid
   ========================================================================== */
.defines-section{
  position:relative; overflow:hidden; padding:clamp(4.5rem,7vw,7rem) 0;
  background:radial-gradient(circle at 82% 8%,rgba(216,184,118,.16),transparent 34rem),
             linear-gradient(160deg,var(--navy-950),var(--navy-850) 60%,var(--navy-900));
}
.defines-section::before{
  content:""; position:absolute; inset:0; opacity:.05; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:46px 46px; -webkit-mask-image:radial-gradient(circle at 50% 40%,black,transparent 70%);
  mask-image:radial-gradient(circle at 50% 40%,black,transparent 70%);
}
.defines-head{max-width:640px;margin:0 auto 3.4rem;text-align:center;position:relative;z-index:2}
.defines-overline{font-family:var(--fm,"JetBrains Mono",monospace);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-300);display:inline-block;margin-bottom:1rem}
.defines-head h2{font-family:var(--fd,"Fraunces",serif);font-weight:400;font-size:clamp(2.4rem,4.5vw,3.6rem);letter-spacing:-.03em;line-height:1.04;color:#fff}
.defines-head h2 em{font-style:italic;color:var(--gold-300);font-weight:300}
.defines-head p{color:#aeb9c6;margin-top:1.1rem;font-size:1.05rem;line-height:1.6}

.defines-columns{display:grid;grid-template-columns:1fr 1px 1fr;gap:3rem;position:relative;z-index:2;align-items:start}
.defines-spine{background:linear-gradient(180deg,transparent,rgba(216,184,118,.4),transparent)}
.defines-col__kick{font-family:var(--fm,"JetBrains Mono",monospace);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);margin-bottom:.4rem;display:block}
.defines-col__title{font-family:var(--fd,"Fraunces",serif);font-weight:500;font-size:1.5rem;color:#fff;margin-bottom:1.8rem}

/* Culture journey */
.journey{position:relative;padding-left:2.4rem}
.journey::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--gold-300),rgba(216,184,118,.15))}
.journey__row{position:relative;padding:0 0 1.5rem}
.journey__row:last-child{padding-bottom:0}
.journey__row::before{content:"";position:absolute;left:-2.4rem;top:3px;width:24px;height:24px;border-radius:50%;background:var(--navy-950);border:2px solid var(--gold-400)}
.journey__row::after{content:"";position:absolute;left:calc(-2.4rem + 8px);top:11px;width:8px;height:8px;border-radius:50%;background:var(--gold-grad)}
.journey__row h4{font-family:var(--fd,"Fraunces",serif);font-weight:600;font-size:1.15rem;color:#fff;margin-bottom:.15rem}
.journey__row p{color:#9aa7b5;font-size:.9rem}

/* Values grid */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.vtile{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.15rem 1.2rem;transition:.3s var(--ease-lux)}
.vtile:hover{border-color:rgba(216,184,118,.5);transform:translateY(-3px);background:linear-gradient(160deg,rgba(216,184,118,.12),rgba(255,255,255,.03))}
.vtile__n{font-family:var(--fm,"JetBrains Mono",monospace);font-size:.7rem;font-weight:800;color:var(--gold-300);letter-spacing:.08em}
.vtile h4{font-family:var(--fd,"Fraunces",serif);font-weight:600;font-size:1.12rem;color:#fff;margin:.3rem 0}
.vtile p{color:#9aa7b5;font-size:.82rem;line-height:1.4}

.defines-motto{text-align:center;margin-top:3.4rem;position:relative;z-index:2;font-family:var(--fd,"Fraunces",serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;font-weight:300}
.defines-motto b{color:var(--gold-300);font-weight:600;font-style:normal;margin:0 .5rem}

@media (max-width:860px){
  .defines-columns{grid-template-columns:1fr;gap:2.4rem}
  .defines-spine{display:none}
}
@media (max-width:520px){ .vgrid{grid-template-columns:1fr} }

/* ==========================================================================
   18. TEAM — editorial hierarchy (founders / partners / bench)
   ========================================================================== */
.team-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-bottom:3.2rem}
.team-head .lead{max-width:440px;margin-top:1rem}
.team-head h2{font-family:var(--fd,"Fraunces",serif);font-weight:450;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1.05}
.team-head h2 em{font-style:italic;color:var(--gold-500);font-weight:300}
.team-stat{text-align:right;border-right:2px solid var(--gold-400);padding-right:1.2rem}
.team-stat b{font-family:var(--fm,"JetBrains Mono",monospace);font-size:2.6rem;font-weight:800;color:var(--navy-950);display:block;line-height:1}
.team-stat span{font-size:.82rem;color:var(--muted,#667384);text-transform:uppercase;letter-spacing:.08em}

.team-tier{display:flex;align-items:center;gap:1rem;margin:0 0 1.6rem}
.team-tier__label{font-family:var(--fm,"JetBrains Mono",monospace);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-800)}
.team-tier__line{flex:1;height:1px;background:linear-gradient(90deg,rgba(198,157,75,.5),transparent)}

.founders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3.2rem}
.founder-card{background:#fff;border:1px solid rgba(12,29,45,.08);border-radius:20px;padding:2.2rem 1.8rem;text-align:center;box-shadow:var(--soft-shadow);position:relative;overflow:hidden;transition:.35s var(--ease-lux)}
.founder-card::before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--gold-grad);transition:height .35s var(--ease-lux)}
.founder-card:hover{transform:translateY(-6px);box-shadow:var(--hard-shadow)}
.founder-card:hover::before{height:4px}
.founder-card__photo{width:148px;height:148px;margin:0 auto 1.3rem}
.founder-card__photo img{width:100%;height:100%;border-radius:50%;display:block}
.founder-card__name{font-family:var(--fd,"Fraunces",serif);font-weight:600;font-size:1.32rem;color:var(--navy-950)}
.founder-card__role{color:var(--gold-500);font-weight:700;font-size:.8rem;letter-spacing:.04em;margin-top:.35rem;text-transform:uppercase}
.founder-card__bio{font-size:.9rem;line-height:1.6;margin-top:1rem;color:#5c6a79}

.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem;margin-bottom:3.2rem}
.partner-card{flex:0 1 auto;width:calc((100% - 3.9rem)/4);min-width:180px;background:#fff;border:1px solid rgba(12,29,45,.08);border-radius:18px;padding:1.6rem 1.2rem;text-align:center;box-shadow:var(--soft-shadow);transition:.35s var(--ease-lux)}
.partner-card:hover{transform:translateY(-5px);box-shadow:var(--hard-shadow)}
.partner-card__photo{width:98px;height:98px;margin:0 auto 1rem}
.partner-card__photo img{width:100%;height:100%;border-radius:50%;display:block}
.partner-card__name{font-family:var(--fd,"Fraunces",serif);font-weight:600;font-size:1.05rem;color:var(--navy-950)}
.partner-card__role{color:var(--gold-500);font-weight:700;font-size:.72rem;letter-spacing:.03em;margin-top:.25rem;text-transform:uppercase}

.bench{background:radial-gradient(circle at 85% 20%,rgba(216,184,118,.14),transparent 26rem),linear-gradient(135deg,var(--navy-950),var(--navy-850));border-radius:24px;padding:2.2rem 2rem;box-shadow:var(--hard-shadow);border:1px solid rgba(216,184,118,.22)}
.bench__lead{font-family:var(--fm,"JetBrains Mono",monospace);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-300);text-align:center;margin-bottom:1.6rem}
.bench__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bench__item{display:flex;align-items:center;gap:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1rem 1.2rem;transition:.3s var(--ease-lux)}
.bench__item:hover{border-color:rgba(216,184,118,.5);background:rgba(216,184,118,.08)}
.bench__item img{width:60px;height:60px;border-radius:50%;flex:0 0 60px}
.bench__item strong{display:block;font-family:var(--fd,"Fraunces",serif);font-weight:600;color:#fff;font-size:1.05rem}
.bench__item span{font-size:.82rem;color:#9aa7b5}

@media (max-width:900px){
  .team-head{grid-template-columns:1fr;gap:1.2rem}
  .team-stat{text-align:left;border-right:0;border-left:2px solid var(--gold-400);padding-left:1.2rem;padding-right:0}
  .founders-grid{grid-template-columns:1fr}
  .partner-card{width:calc((100% - 1.3rem)/2)}
  .bench__list{grid-template-columns:1fr}
}
@media (max-width:520px){ .partner-card{width:100%} }

/* ==========================================================================
   19. INNER PAGE HERO BANNER
   ========================================================================== */
.page-hero{
  position:relative; overflow:hidden;
  padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(2.5rem,5vw,4rem);
  background:radial-gradient(circle at 80% -10%,rgba(216,184,118,.18),transparent 32rem),
             linear-gradient(160deg,var(--navy-950),var(--navy-850) 70%);
  color:#fff;
  margin-top:-1px;
}
.page-hero::before{
  content:""; position:absolute; inset:0; opacity:.06; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:44px 44px; -webkit-mask-image:radial-gradient(circle at 30% 20%,black,transparent 72%);
  mask-image:radial-gradient(circle at 30% 20%,black,transparent 72%);
}
.page-hero__kicker{
  position:relative; z-index:2; font-family:var(--fm); font-size:.72rem; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold-300); display:inline-block; margin-bottom:1rem;
}
.page-hero__title{
  position:relative; z-index:2; font-family:var(--fd); font-weight:400;
  font-size:clamp(2.4rem,5.5vw,4.2rem); line-height:1.03; letter-spacing:-.03em; color:#fff; max-width:16ch;
}
.page-hero__title em{font-style:italic;color:var(--gold-300);font-weight:300}
.page-hero__sub{
  position:relative; z-index:2; color:#aeb9c6; font-size:clamp(1rem,1.4vw,1.2rem);
  line-height:1.65; max-width:60ch; margin-top:1.3rem;
}
/* Soften the first section after a page-hero (it's already dark) */
.page-hero + .section{padding-top:clamp(3.5rem,6vw,5.5rem)}

/* ==========================================================================
   20. NAV POLISH — keep labels on one line, tighten spacing for 7 items
   ========================================================================== */
.nav__link{white-space:nowrap}
@media (min-width:1101px){
  .nav__menu{gap:.15rem;padding:.3rem}
  .nav__link{padding:.7rem .85rem;font-size:.9rem}
}
/* Below 1200px, drop nav actions ghost button earlier so menu never crowds logo */
@media (max-width:1200px) and (min-width:1101px){
  .nav__actions .btn--ghost{padding:.7rem 1rem;font-size:.86rem}
}
