/* ==========================================================================
   RG Wealth Creation — brand stylesheet
   Palette derived from the logo: navy, gold, growth-green, royal blue
   ========================================================================== */

:root{
  --navy-900:#04122e;
  --navy-800:#071e45;
  --navy:#0a2a5e;
  --navy-600:#12417f;
  --blue:#1663d8;
  --blue-100:#e8f0ff;
  --gold:#e9a81c;
  --gold-l:#f7c842;
  --gold-d:#b0760c;
  --green:#1c9448;
  --green-l:#56c87c;
  --ivory:#f6f3eb;
  --cream:#fdfbf7;
  --ink:#0e1726;
  --muted:#5a6579;
  --line:rgba(10,42,94,.12);
  --line-soft:rgba(10,42,94,.07);
  --white:#fff;

  --ff-display:"Bricolage Grotesque","Manrope",system-ui,sans-serif;
  --ff-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ff-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;

  --shadow-s:0 2px 10px rgba(4,18,46,.06);
  --shadow-m:0 14px 40px rgba(4,18,46,.10);
  --shadow-l:0 26px 70px rgba(4,18,46,.18);
  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:34px;
  --topbar-h:40px;
  --header-h:78px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;width:100%}
body{
  margin:0;font-family:var(--ff-body);color:var(--ink);background:var(--white);
  font-size:16.5px;line-height:1.7;font-weight:450;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-family:var(--ff-display);font-weight:700;line-height:1.12;margin:0 0 .5em;letter-spacing:-.02em;color:var(--navy-900)}
h1{font-size:clamp(1.9rem,4.4vw,3.5rem)}
h2{font-size:clamp(1.55rem,3vw,2.5rem)}
h3{font-size:clamp(1.15rem,1.6vw,1.45rem)}
h4{font-size:1.05rem}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1rem,1.25vw,1.14rem);color:var(--muted)}

/* ---------- layout helpers ---------- */
.wrap{width:min(1240px,92%);margin-inline:auto}
.wrap-90{width:90%;max-width:1560px;margin-inline:auto}
.sec{padding:clamp(56px,7vw,104px) 0}
.sec--sm{padding:clamp(44px,5vw,72px) 0}
.sec--cream{background:var(--cream)}
.sec--ivory{background:var(--ivory)}
.sec--navy{background:var(--navy-900);color:#dbe4f5}
.sec--navy h2,.sec--navy h3,.sec--navy h4{color:#fff}
.sec--navy .lead{color:#a9bcdd}
.center{text-align:center}
.center .sec-head{margin-inline:auto}

/* stepped eyebrow — three ascending gold bars, echoing the logo chart */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-mono);
  font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);
  font-weight:700;margin-bottom:.9rem}
.sec--navy .eyebrow{color:var(--gold-l)}
.eyebrow .steps{display:inline-flex;align-items:flex-end;gap:3px;height:14px}
.eyebrow .steps i{display:block;width:4px;background:var(--gold);border-radius:1px}
.eyebrow .steps i:nth-child(1){height:5px;opacity:.55}
.eyebrow .steps i:nth-child(2){height:9px;opacity:.78}
.eyebrow .steps i:nth-child(3){height:14px}
.sec-head{max-width:760px;margin-bottom:clamp(28px,3.5vw,46px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-head p{margin-bottom:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.5rem;border-radius:999px;font-weight:700;font-size:.94rem;
  border:1.5px solid transparent;transition:.25s ease;white-space:nowrap;letter-spacing:.01em}
.btn svg{width:17px;height:17px;flex:none}
.btn--gold{background:linear-gradient(135deg,var(--gold-l),var(--gold));color:var(--navy-900);
  box-shadow:0 8px 22px rgba(233,168,28,.34)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(233,168,28,.42)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-800);transform:translateY(-2px)}
.btn--ghost{border-color:rgba(255,255,255,.45);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--navy-900);border-color:#fff}
.btn--outline{border-color:var(--navy);color:var(--navy)}
.btn--outline:hover{background:var(--navy);color:#fff}
.btn--green{background:linear-gradient(135deg,var(--green-l),var(--green));color:#fff;box-shadow:0 8px 22px rgba(28,148,72,.32)}
.btn--green:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(28,148,72,.4)}
.btn--sm{padding:.6rem 1.1rem;font-size:.86rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

.txt-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--blue);
  font-size:.92rem;border-bottom:2px solid transparent;transition:.2s;white-space:nowrap}
.txt-link svg{width:16px;height:16px;flex:none}
.txt-link:hover{border-color:var(--gold);gap:.7rem}

/* ---------- market ticker strip ---------- */
.ticker{background:linear-gradient(90deg,#020b18,#04122e 45%,#020b18);
  border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;position:relative;z-index:65}
.ticker__in{display:flex;align-items:stretch;height:38px}

.tick__badge{display:flex;align-items:center;gap:.5rem;flex:none;padding:0 1rem;
  background:rgba(28,148,72,.13);border-right:1px solid rgba(255,255,255,.10);
  font-family:var(--ff-mono);font-size:.7rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:#7fe0a3;white-space:nowrap}
.tick__dot{width:8px;height:8px;border-radius:50%;background:#2fd97a;flex:none;position:relative}
.tick__dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#2fd97a;
  animation:tickpulse 1.9s ease-out infinite}
@keyframes tickpulse{0%{transform:scale(1);opacity:.85}70%{transform:scale(3);opacity:0}100%{opacity:0}}

.tick__view{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tick__track{display:flex;width:max-content;animation:tickscroll 70s linear infinite;will-change:transform}
.ticker:hover .tick__track,.tick__track:focus-within{animation-play-state:paused}
@keyframes tickscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* TradingView ticker-tape widget: let it fill the middle flex space at our bar height */
.tick__tv{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;height:38px}
.tick__tv .tradingview-widget-container{width:100%}
.tick__tv iframe{display:block}

.tick__item{display:inline-flex;align-items:center;gap:.5rem;padding:0 1.15rem;white-space:nowrap;
  font-size:.755rem;line-height:38px;border-right:1px solid rgba(255,255,255,.07)}
.tick__item b{color:#e9effb;font-weight:700;letter-spacing:.04em;font-size:.735rem}
.tick__val{font-family:var(--ff-mono);color:#fff;font-size:.755rem;letter-spacing:.01em}
.tick__chg{font-family:var(--ff-mono);font-size:.705rem;letter-spacing:.01em}
.tick__chg.up{color:#3ddc84}
.tick__chg.down{color:#ff7070}

.tick__right{display:flex;align-items:center;gap:.65rem;flex:none;padding:0 1.05rem;
  border-left:1px solid rgba(255,255,255,.10);font-family:var(--ff-mono);font-size:.685rem;
  color:#93a8cd;white-space:nowrap}
.tick__country{color:var(--gold-l);font-weight:600;letter-spacing:.16em}
.tick__right b{color:#dfe8f8;font-weight:600}
.tick__sep{width:1px;height:14px;background:rgba(255,255,255,.16)}
.tick__note{opacity:.72;font-style:italic}

@media (max-width:860px){
  .tick__right{display:none}
  .tick__badge{padding:0 .75rem;font-size:.64rem;letter-spacing:.1em}
  .tick__item{padding:0 .85rem;font-size:.72rem}
}
@media (prefers-reduced-motion:reduce){
  .tick__track{animation:none}
  .tick__dot::after{animation:none}
}

/* ---------- top bar ---------- */
.topbar{background:var(--navy-900);color:#c9d6ee;font-size:.8rem;position:relative;z-index:60}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:var(--topbar-h);font-family:var(--ff-mono);letter-spacing:.03em}
.topbar__left{display:flex;align-items:center;gap:.55rem;white-space:nowrap;overflow:hidden}
.topbar__left b{color:var(--gold-l);font-weight:600}
.topbar__right{display:flex;align-items:center;gap:1.3rem;white-space:nowrap}
.topbar a{display:inline-flex;align-items:center;gap:.4rem;color:#dce6f8;transition:.2s}
.topbar a:hover{color:var(--gold-l)}
.topbar svg{width:14px;height:14px;flex:none;color:var(--gold)}
.topbar__sep{width:1px;height:15px;background:rgba(255,255,255,.22)}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);transition:box-shadow .3s}
.header.is-stuck{box-shadow:0 10px 30px rgba(4,18,46,.10)}
.header__in{display:flex;align-items:center;gap:1.2rem;min-height:var(--header-h)}
.brand{display:flex;align-items:center;flex:none;padding:8px 0}
.brand img{height:54px;width:auto;object-fit:contain}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-family:var(--ff-display);font-weight:800;font-size:1.12rem;color:var(--navy-900);letter-spacing:-.02em;white-space:nowrap}
.brand__tag{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);white-space:nowrap}

.nav{margin-left:auto;display:flex;align-items:center;gap:.15rem}
.nav__link{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .72rem;font-size:.92rem;
  font-weight:600;color:var(--navy-800);border-radius:8px;position:relative;transition:.2s;white-space:nowrap}
.nav__link:hover{color:var(--blue)}
.nav__link.is-active{color:var(--blue)}
.nav__link.is-active::after{content:"";position:absolute;left:.72rem;right:.72rem;bottom:.34rem;height:2px;background:var(--gold);border-radius:2px}
.nav__link svg{width:11px;height:11px;opacity:.7}
.has-drop{position:relative}
.drop{position:absolute;top:calc(100% + 10px);left:0;min-width:290px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-m);padding:.5rem;
  opacity:0;visibility:hidden;transform:translateY(9px);transition:.22s ease}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:9px;
  font-size:.88rem;font-weight:600;color:var(--navy-800);transition:.18s}
.drop a:hover{background:var(--blue-100);color:var(--blue);transform:translateX(3px)}
.drop a span{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none}

.head-cta{display:flex;align-items:center;gap:.55rem;flex:none;margin-left:.5rem}
.burger{display:none;width:46px;height:44px;border:1px solid var(--line);background:#fff;border-radius:11px;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:none;margin-left:auto}
.burger i{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
.burger.is-open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open i:nth-child(2){opacity:0}
.burger.is-open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
.mnav{position:fixed;inset:0 0 0 auto;width:min(340px,86%);background:#fff;z-index:95;
  transform:translateX(105%);transition:transform .35s cubic-bezier(.5,.1,.2,1);
  display:flex;flex-direction:column;overflow-y:auto;box-shadow:-20px 0 60px rgba(4,18,46,.22)}
.mnav.is-open{transform:none}
.mnav__head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:1px solid var(--line-soft)}
.mnav__head img{height:44px;width:auto}
.mnav__close{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;line-height:1;font-size:1.2rem;color:var(--navy)}
.mnav__list{padding:.5rem .8rem}
.mnav__list a{display:block;padding:.62rem .55rem;font-size:.88rem;font-weight:600;color:var(--navy-800);border-bottom:1px solid var(--line-soft)}
.mnav__list a:last-child{border-bottom:0}
.mnav__sub{padding-left:.9rem}
.mnav__sub a{font-size:.8rem;font-weight:500;color:var(--muted);padding:.42rem .55rem}
.mnav__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;
  padding:.62rem .55rem;font-size:.88rem;font-weight:600;color:var(--navy-800);border-bottom:1px solid var(--line-soft);text-align:left}
.mnav__toggle span{font-size:1rem;color:var(--gold-d);transition:.2s}
.mnav__toggle.is-open span{transform:rotate(45deg)}
.mnav__cta{padding:1rem .95rem 1.4rem;display:grid;gap:.6rem;margin-top:auto}
.mnav__cta .btn{width:100%}
.mnav__meta{padding:0 1.1rem 1.5rem;font-family:var(--ff-mono);font-size:.7rem;color:var(--muted);line-height:1.8}
.scrim{position:fixed;inset:0;background:rgba(4,18,46,.5);opacity:0;visibility:hidden;transition:.3s;z-index:90}
.scrim.is-open{opacity:1;visibility:visible}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy-900);color:#dfe7f6;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.9}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(4,18,46,.95) 12%,rgba(4,18,46,.72) 52%,rgba(4,18,46,.35) 100%)}
.hero__in{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(28px,4vw,64px);align-items:center;
  padding:clamp(48px,6vw,88px) 0 clamp(56px,6vw,92px)}
.hero h1{color:#fff;margin-bottom:.35em}
.hero h1 em{font-style:normal;color:var(--gold-l);position:relative;white-space:nowrap}
.hero p{color:#b8c8e6;max-width:56ch}
.hero__sub{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.02rem,1.7vw,1.35rem);color:#e4ecfb;letter-spacing:-.01em;margin-bottom:.9em;max-width:34ch}
.hero__stamp{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem 1rem .45rem .7rem;border-radius:999px;
  border:1px solid rgba(247,200,66,.42);background:rgba(233,168,28,.10);color:var(--gold-l);
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:1.3rem;white-space:nowrap;line-height:1;max-width:100%}
.hero__stamp svg{width:16px;height:16px;flex:none;color:var(--gold-l)}
.hero__stamp b{color:#fff;font-weight:600;letter-spacing:.08em}
.hero__stamp i{width:1px;height:13px;background:rgba(247,200,66,.45);flex:none;display:block}
.hero__pts{display:flex;flex-wrap:wrap;gap:.55rem 1.6rem;margin:1.6rem 0 0;font-size:.9rem;color:#cfdcf4}
.hero__pts li{display:flex;align-items:center;gap:.5rem}
.hero__pts svg{width:16px;height:16px;color:var(--green-l);flex:none}

.hero__media{position:relative}
.hero__frame{position:relative;border-radius:190px 190px 26px 26px;overflow:hidden;
  border:2px solid rgba(247,200,66,.45);box-shadow:var(--shadow-l);aspect-ratio:1/0.94}
.hero__frame img{width:100%;height:100%;object-fit:cover;object-position:46% 30%}
.hero__plate{position:absolute;left:50%;transform:translateX(-50%);bottom:-24px;background:#fff;
  border-radius:14px;padding:.7rem 1.1rem;box-shadow:var(--shadow-m);text-align:center;min-width:76%}
.hero__plate strong{display:block;font-family:var(--ff-display);color:var(--navy-900);font-size:1rem;letter-spacing:-.01em}
.hero__plate span{font-family:var(--ff-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}

/* facts strip under hero */
.facts{background:var(--navy-800);border-top:1px solid rgba(255,255,255,.09)}
.facts__in{display:grid;grid-template-columns:repeat(4,1fr)}
.facts__item{padding:1.5rem 1.4rem;border-right:1px solid rgba(255,255,255,.09)}
.facts__item:last-child{border-right:0}
.facts__item strong{display:block;font-family:var(--ff-display);color:#fff;font-size:1.12rem;letter-spacing:-.01em}
.facts__item span{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}

/* ---------- page banner ---------- */
.pbanner{position:relative;background:var(--navy-900);color:#fff;overflow:hidden}
.pbanner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.pbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(4,18,46,.95),rgba(4,18,46,.62))}
.pbanner__in{position:relative;z-index:2;padding:clamp(42px,5vw,74px) 0;display:grid;
  grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,58px);align-items:center}
.pbanner__txt{max-width:640px}
.pbanner__media{position:relative}
.pbanner__media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:200px 24px 200px 24px;
  border:2px solid rgba(247,200,66,.4);box-shadow:var(--shadow-l)}
.pbanner h1{color:#fff;margin-bottom:.3em;font-size:clamp(1.65rem,3.1vw,2.6rem)}
.pbanner p{color:#b8c8e6;margin:0;max-width:60ch}
.crumb{display:flex;flex-wrap:wrap;gap:.45rem;font-family:var(--ff-mono);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;color:#93a8cd;margin-top:1.1rem}
.crumb a:hover{color:var(--gold-l)}
.crumb span{color:var(--gold-l)}

/* ---------- split (image + content) ---------- */
.split{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(28px,4vw,62px);align-items:stretch}
.split--rev .split__media{order:2}
.split__media{position:relative;min-height:100%}
.split__media img{width:100%;height:100%;min-height:430px;object-fit:cover;border-radius:var(--r-l);box-shadow:var(--shadow-m)}
.split__media .badge{position:absolute;left:22px;bottom:22px;background:#fff;border-radius:14px;
  padding:.75rem 1.05rem;box-shadow:var(--shadow-m);display:flex;align-items:center;gap:.7rem;max-width:78%}
.split__media .badge b{font-family:var(--ff-display);font-size:.95rem;color:var(--navy-900);display:block;line-height:1.25}
.split__media .badge small{font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.split__media .badge .ic{width:38px;height:38px;border-radius:10px;background:var(--navy);display:grid;place-items:center;flex:none}
.split__media .badge .ic svg{width:19px;height:19px;color:var(--gold-l)}
.split__body{display:flex;flex-direction:column;justify-content:center;padding:.4rem 0}

/* tick list */
.ticks{display:grid;gap:.75rem;margin:1.3rem 0 0}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem}
.ticks svg{width:20px;height:20px;color:var(--green);flex:none;margin-top:2px}
.sec--navy .ticks li{color:#c6d4ec}
.sec--navy .ticks svg{color:var(--green-l)}

/* ---------- cards / grids ---------- */
.grid{display:grid;gap:clamp(18px,2vw,26px)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

.card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-l);overflow:hidden;
  display:flex;flex-direction:column;transition:.3s ease;position:relative}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(233,168,28,.4)}
.card__img{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--navy-800)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.card:hover .card__img img{transform:scale(1.06)}
.card__num{position:absolute;top:12px;left:12px;background:rgba(4,18,46,.78);color:var(--gold-l);
  font-family:var(--ff-mono);font-size:.66rem;letter-spacing:.12em;padding:.28rem .6rem;border-radius:6px}
.card__body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card__body h3{margin-bottom:.45rem;font-size:1.12rem}
.card__body p{font-size:.92rem;color:var(--muted);margin-bottom:1rem}
.card__body .txt-link{margin-top:auto;align-self:flex-start}
.card--flat{padding:1.6rem;border-radius:var(--r-m)}
.card--flat .ic{width:46px;height:46px;border-radius:12px;background:var(--blue-100);display:grid;place-items:center;margin-bottom:.9rem}
.card--flat .ic svg{width:22px;height:22px;color:var(--blue)}
.sec--navy .card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}
.sec--navy .card__body p{color:#a9bcdd}
.sec--navy .card--flat .ic{background:rgba(233,168,28,.16)}
.sec--navy .card--flat .ic svg{color:var(--gold-l)}

/* product tiles */
.ptile{position:relative;border-radius:var(--r-m);overflow:hidden;min-height:230px;display:flex;
  align-items:flex-end;color:#fff;transition:.3s;border:1px solid var(--line-soft)}
.ptile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ptile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,46,.05) 25%,rgba(4,18,46,.88))}
.ptile:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.ptile:hover img{transform:scale(1.07)}
.ptile__body{position:relative;z-index:2;padding:1.25rem}
.ptile__body h3{color:#fff;font-size:1.05rem;margin-bottom:.25rem}
.ptile__body p{font-size:.84rem;color:#c3d2ec;margin:0}
.ptile__tag{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--ff-mono);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy-900);background:var(--gold-l);
  padding:.26rem .58rem;border-radius:5px;font-weight:600}

/* steps / process */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-m);padding:1.5rem 1.4rem;position:relative}
.step__n{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.16em;color:var(--gold-d);display:block;margin-bottom:.6rem}
.step h3{font-size:1.05rem;margin-bottom:.4rem}
.step p{font-size:.9rem;color:var(--muted);margin:0}
.sec--navy .step{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.sec--navy .step p{color:#a9bcdd}
.sec--navy .step__n{color:var(--gold-l)}

/* marquee — AMC partners */
.marquee{overflow:hidden;position:relative;padding:.4rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:14px;width:max-content;animation:slide 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.amc{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:.85rem 1.25rem;white-space:nowrap;box-shadow:var(--shadow-s)}
.amc b{font-family:var(--ff-display);font-size:.95rem;color:var(--navy-900);font-weight:700}
.amc i{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-style:normal;
  font-family:var(--ff-mono);font-size:.7rem;font-weight:700;color:#fff;background:var(--navy);flex:none}
@keyframes slide{to{transform:translateX(-50%)}}

/* gallery */
.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.gallery figure{margin:0;position:relative;border-radius:var(--r-m);overflow:hidden;background:var(--navy-800)}
.gallery img{width:100%;height:100%;min-height:250px;object-fit:cover;transition:transform .6s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.1rem .95rem;color:#fff;
  font-size:.84rem;font-weight:600;background:linear-gradient(180deg,transparent,rgba(4,18,46,.9))}

/* testimonials */
.tcar{position:relative;max-width:1000px;margin-inline:auto}
.tcar__view{overflow:hidden;border-radius:var(--r-l)}
.tcar__track{display:flex;transition:transform .55s cubic-bezier(.4,.05,.2,1)}
.tslide{flex:0 0 100%;padding:.4rem}
.tcard{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-l);padding:clamp(1.5rem,3vw,2.4rem);
  box-shadow:var(--shadow-s);display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,2.5vw,2rem);align-items:start}
.tcard__pic{width:104px;height:104px;border-radius:22px;overflow:hidden;flex:none;border:2px solid rgba(233,168,28,.45)}
.tcard__pic img{width:100%;height:100%;object-fit:cover}
.tcard__q{font-family:var(--ff-display);font-size:clamp(1.02rem,1.6vw,1.24rem);line-height:1.55;
  color:var(--navy-900);font-weight:500;letter-spacing:-.01em;margin:0 0 1rem}
.tcard__who{display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline}
.tcard__who b{font-size:.98rem;color:var(--navy-900);font-family:var(--ff-body)}
.tcard__who span{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.tstars{display:flex;gap:3px;margin-bottom:.7rem}
.tstars svg{width:16px;height:16px;color:var(--gold)}
.tcar__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.6rem}
.tcar__btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;
  display:grid;place-items:center;color:var(--navy);transition:.22s;flex:none}
.tcar__btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.tcar__btn svg{width:19px;height:19px}
.tcar__dots{display:flex;gap:8px}
.tcar__dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);padding:0;transition:.25s}
.tcar__dots button.is-on{background:var(--gold);width:26px;border-radius:5px}

/* accordion */
.acc{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:#fff}
.acc+.acc{margin-top:.7rem}
.acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.05rem 1.3rem;background:none;border:0;text-align:left;font-weight:700;color:var(--navy-900);font-size:.98rem}
.acc__q span{width:24px;height:24px;border-radius:50%;background:var(--blue-100);color:var(--blue);
  display:grid;place-items:center;flex:none;font-size:1.05rem;line-height:1;transition:.25s}
.acc.is-open .acc__q span{transform:rotate(45deg);background:var(--gold);color:#fff}
.acc__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc__a p{padding:0 1.3rem 1.2rem;margin:0;font-size:.93rem;color:var(--muted)}

/* calculators */
.calc-tabbar{display:flex;align-items:center;gap:.6rem;margin-bottom:1.6rem}
.calc-tabbar__arrow{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);
  background:#fff;display:grid;place-items:center;color:var(--navy);transition:.2s}
.calc-tabbar__arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.calc-tabbar__arrow[disabled]{opacity:.3;pointer-events:none}
.calc-tabbar__arrow svg{width:16px;height:16px}
.calc-tabbar__arrow[data-tab-prev] svg{transform:scaleX(-1)}
.calc-tabs{display:flex;gap:.55rem;overflow-x:auto;scroll-behavior:smooth;flex:1;padding:4px 2px 12px;
  scrollbar-width:none;-ms-overflow-style:none}
.calc-tabs::-webkit-scrollbar{display:none}
.calc-tab{flex:none;padding:.6rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;
  font-size:.86rem;font-weight:700;color:var(--navy-800);transition:.22s;white-space:nowrap}
.calc-tab b{font-family:var(--ff-mono);font-weight:700;margin-right:.25rem;opacity:.7}
.calc-tab.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.calc-tab.is-on b{opacity:.85}
.calc-tabbar__track{height:3px;background:var(--line);border-radius:3px;margin:-8px 0 1.6rem;overflow:hidden}
.calc-tabbar__fill{height:100%;background:var(--gold);border-radius:3px;transition:width .2s,transform .2s}

.calc-panel{display:none}
.calc-panel.is-on{display:block}
.calc{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;
  background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-s)}
.calc__form{padding:clamp(1.5rem,3vw,2.2rem);display:grid;gap:1.5rem;align-content:start}
.calc__form h3{margin-bottom:.15rem}
.calc__form>p{color:var(--muted);font-size:.9rem;margin:0}

.crange__head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.6rem;flex-wrap:wrap}
.crange__head label{font-size:.86rem;font-weight:700;color:var(--navy-800)}
.crange__val{display:flex;align-items:center;gap:.32rem;background:#f2f8f4;border:1.5px solid rgba(28,148,72,.3);
  border-radius:9px;padding:.42rem .65rem;font-family:var(--ff-mono);font-weight:700;color:var(--navy-900);font-size:.92rem;flex:none}
.crange__val span{color:var(--green);opacity:.8;flex:none}
.crange__val input{width:7.4ch;min-width:0;border:0;background:none;font:inherit;font-family:var(--ff-mono);font-weight:700;
  color:var(--navy-900);text-align:right;padding:0;-moz-appearance:textfield}
.crange__val input:focus{outline:0}
.crange__val input::-webkit-outer-spin-button,.crange__val input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.crange__val em{font-style:normal;color:var(--green);opacity:.8;font-size:.82em}
.crange input[type=range]{width:100%;accent-color:var(--gold);height:6px;display:block}
.crange__minmax{display:flex;justify-content:space-between;font-family:var(--ff-mono);font-size:.72rem;
  color:var(--muted);margin-top:.35rem}

.illus{background:var(--navy-900);padding:clamp(1.5rem,3vw,2.2rem);color:#cfdcf4;display:flex;flex-direction:column}
.illus__eyebrow{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green-l);font-weight:700;margin-bottom:1.2rem;display:block}
.donut-row{display:flex;align-items:center;gap:1.3rem;margin-bottom:1.4rem}
.donut{--pct:64;width:120px;height:120px;border-radius:50%;flex:none;position:relative;
  background:conic-gradient(var(--green-l) calc(var(--pct)*1%), var(--gold) 0)}
.donut__hole{position:absolute;inset:19px;border-radius:50%;background:var(--navy-900)}
.donut__legend{display:grid;gap:.6rem;font-size:.86rem}
.legend__row{display:flex;align-items:center;gap:.55rem}
.legend__row .dot{width:10px;height:10px;border-radius:3px;flex:none}
.dot--gold{background:var(--gold)}
.dot--green{background:var(--green-l)}
.legend__row b{margin-left:auto;font-family:var(--ff-mono);color:#fff;font-weight:700}
.illus__rows{display:grid}
.irow{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;
  border-bottom:1px dashed rgba(255,255,255,.14);font-size:.88rem}
.irow b{font-family:var(--ff-mono);color:#fff;font-weight:700}
.illus__big{margin-top:.7rem;padding-top:1.1rem;border-top:1px solid rgba(247,200,66,.35)}
.illus__big span{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.illus__big strong{display:block;font-family:var(--ff-display);font-size:clamp(1.5rem,3vw,2.15rem);
  color:var(--green-l);letter-spacing:-.02em;margin-top:.15rem}
.illus__note{margin:1.3rem 0 0;font-size:.76rem;line-height:1.6;font-style:italic;color:#8fa4c9}

/* callout / notes */
.note{border-left:4px solid var(--gold);background:var(--ivory);padding:1.1rem 1.3rem;border-radius:0 var(--r-s) var(--r-s) 0;font-size:.92rem}
.note strong{color:var(--navy-900)}

/* CTA band */
.cta{position:relative;overflow:hidden;background:var(--navy-900);color:#fff;text-align:center}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,46,.9),rgba(4,18,46,.62))}
.cta__in{position:relative;z-index:2;padding:clamp(50px,6vw,88px) 0;max-width:760px;margin-inline:auto}
.cta h2{color:#fff}
.cta p{color:#bacaea}
.cta .btn-row{justify-content:center}

/* ---------- portal cards (login page) ---------- */
.portals{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,24px);align-items:stretch}
.portal{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-l);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow-s);transition:.3s}
.portal:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.portal__bar{height:6px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.portal--gold .portal__bar{background:linear-gradient(90deg,var(--gold),var(--gold-l))}
.portal--green .portal__bar{background:linear-gradient(90deg,var(--green),var(--green-l))}
.portal__in{padding:clamp(1.4rem,2.4vw,1.9rem);display:flex;flex-direction:column;flex:1}
.portal__ic{width:52px;height:52px;border-radius:14px;background:var(--navy);display:grid;place-items:center;margin-bottom:1.1rem}
.portal__ic svg{width:24px;height:24px;color:var(--gold-l)}
.portal--gold .portal__ic{background:linear-gradient(140deg,var(--gold),var(--gold-d))}
.portal--gold .portal__ic svg{color:#fff}
.portal--green .portal__ic{background:linear-gradient(140deg,var(--green),#137a3a)}
.portal--green .portal__ic svg{color:#fff}
.portal h3{margin-bottom:.45rem;font-size:1.2rem}
.portal p{font-size:.92rem;color:var(--muted)}
.portal .ticks{margin:.4rem 0 1.2rem}
.portal .ticks li{font-size:.88rem}
.portal .ticks svg{width:17px;height:17px}
.portal .btn{margin-top:auto;width:100%}
.portal__note{border-left:3px solid var(--green);background:#f2f8f4;border-radius:0 10px 10px 0;
  padding:.85rem 1rem;font-size:.85rem;color:#3c4a5f;margin-bottom:1.2rem}
.qlinks{display:grid;gap:.5rem;margin-top:.3rem}
.qlinks a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:.72rem .95rem;border:1px solid var(--line);border-radius:11px;font-size:.89rem;
  font-weight:600;color:var(--navy-800);transition:.2s;background:#fff}
.qlinks a:hover{border-color:var(--gold);background:#fffaf0;color:var(--navy-900);transform:translateX(3px)}
.qlinks a.is-key{border-color:rgba(233,168,28,.55);background:#fffaf0;color:var(--gold-d)}
.qlinks svg{width:15px;height:15px;flex:none;opacity:.6}
.secnote{border-left:4px solid var(--gold);background:var(--ivory);border-radius:0 var(--r-m) var(--r-m) 0;
  padding:1.2rem 1.5rem;font-size:.9rem;line-height:1.75;color:#3a475f}
.secnote strong{color:var(--navy-900)}
.helpcard{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-m);padding:1.5rem}
.helpcard .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:.9rem;
  background:linear-gradient(140deg,var(--gold-l),var(--gold))}
.helpcard .ic svg{width:21px;height:21px;color:var(--navy-900)}
.helpcard h3{font-size:1.05rem;margin-bottom:.4rem}
.helpcard p{font-size:.9rem;color:var(--muted);margin:0}

/* ---------- forms ---------- */
.form{display:grid;gap:1rem}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy-800);margin-bottom:.35rem;letter-spacing:.01em}
.field input,.field select,.field textarea{width:100%;padding:.8rem .95rem;border:1.5px solid var(--line);
  border-radius:11px;font:inherit;font-size:.94rem;background:#fff;color:var(--ink);transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,99,216,.12)}
.field textarea{min-height:130px;resize:vertical}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--muted)}
.consent input{margin-top:.25rem;width:16px;height:16px;flex:none;accent-color:var(--blue)}
.form-note{font-size:.78rem;color:var(--muted);font-family:var(--ff-mono);line-height:1.7}

/* contact tiles */
.ctile{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line-soft);
  border-radius:var(--r-m);padding:1.3rem}
.ctile .ic{width:46px;height:46px;border-radius:12px;background:var(--navy);display:grid;place-items:center;flex:none}
.ctile .ic svg{width:21px;height:21px;color:var(--gold-l)}
.ctile h4{margin:0 0 .25rem;font-size:1rem}
.ctile p,.ctile a{margin:0;font-size:.92rem;color:var(--muted);word-break:break-word}
.ctile a:hover{color:var(--blue)}

.map-full{width:100%;height:clamp(320px,45vw,480px);border:0;display:block;filter:saturate(.95)}

/* ---------- legal / article pages ---------- */
.legal{padding:clamp(46px,6vw,84px) 0}
.legal__in{width:min(1400px,94%);margin-inline:auto}
.legal h2{font-size:clamp(1.3rem,2.2vw,1.75rem);margin-top:2.2rem}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:1.1rem;margin-top:1.6rem}
.legal p,.legal li{font-size:.97rem;color:#33405a}
.legal ul{list-style:none;display:grid;gap:.6rem;margin:0 0 1.2rem}
.legal ul li{padding-left:1.6rem;position:relative}
.legal ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--gold)}
.legal ol{padding-left:1.2rem;display:grid;gap:.6rem;margin:0 0 1.2rem}
.legal .updated{font-family:var(--ff-mono);font-size:.78rem;color:var(--muted);letter-spacing:.06em;
  border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.8rem}
.table-wrap{overflow-x:auto;margin:1.2rem 0 1.6rem;border:1px solid var(--line);border-radius:var(--r-m)}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px;background:#fff}
th,td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{background:var(--navy-900);color:#fff;font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--cream)}

/* article */
.article{padding:clamp(40px,5vw,72px) 0}
.article__in{width:min(1180px,94%);margin-inline:auto}
.article__meta{display:flex;flex-wrap:wrap;gap:1rem;font-family:var(--ff-mono);font-size:.74rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.article__meta span{display:inline-flex;align-items:center;gap:.4rem}
.article__hero{border-radius:var(--r-l);overflow:hidden;margin-bottom:2rem;box-shadow:var(--shadow-m)}
.article__hero img{width:100%;height:clamp(260px,38vw,460px);object-fit:cover}
.article p,.article li{font-size:1rem;color:#33405a}
.article h2{margin-top:2rem}
.article ul{list-style:none;display:grid;gap:.6rem;margin:0 0 1.3rem}
.article ul li{padding-left:1.6rem;position:relative}
.article ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--gold)}

/* blog card meta */
.bmeta{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-bottom:.5rem;display:block}

/* ---------- footer ---------- */
.footer{background:var(--navy-900);color:#a9bcdd;padding-top:clamp(50px,6vw,78px);font-size:.92rem}
.footer h4{color:#fff;font-size:.95rem;font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:1.1rem;font-weight:600}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:clamp(24px,3vw,46px);padding-bottom:2.4rem}
.footer__brand{display:inline-flex;align-items:center;margin-bottom:1.1rem;background:#fff;border-radius:16px;padding:.7rem 1.1rem;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.footer__brand img{height:58px;width:auto;display:block}
.footer__brand b{font-family:var(--ff-display);font-size:1.15rem;color:#fff;display:block;letter-spacing:-.02em}
.footer__brand span{font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-l)}
.footer a{transition:.2s}
.footer a:hover{color:var(--gold-l)}
.flist{display:grid;gap:.55rem}
.flist a{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}
.flist a::before{content:"";width:5px;height:5px;border-radius:1px;background:var(--gold);opacity:.75;flex:none}
.fcontact{display:grid;gap:.85rem}
.fcontact div{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;line-height:1.6}
.fcontact svg{width:17px;height:17px;color:var(--gold-l);flex:none;margin-top:3px}
.grievance-strip{border:1px solid rgba(247,200,66,.3);background:rgba(233,168,28,.08);border-radius:var(--r-m);
  padding:1.1rem 1.3rem;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;align-items:center;justify-content:space-between;margin-bottom:2rem}
.grievance-strip p{margin:0;font-size:.9rem;color:#d7e2f5}
.grievance-strip b{color:var(--gold-l)}
.grievance-strip a{color:#fff;font-weight:700;border-bottom:1px dashed var(--gold-l)}
.footer__legal{border-top:1px solid rgba(255,255,255,.1);padding:1.6rem 0;font-size:.78rem;line-height:1.85;color:#8fa4c9}
.footer__legal p{margin:0 0 .7rem}
.footer__legal p:last-child{margin:0}
.footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;display:flex;flex-wrap:wrap;
  gap:.6rem 1.4rem;align-items:center;justify-content:space-between;font-size:.8rem;color:#8fa4c9}
.footer__bar a{font-family:var(--ff-mono);font-size:.75rem;letter-spacing:.05em}

/* ---------- floating actions ---------- */
.floats{position:fixed;left:16px;bottom:18px;z-index:200;display:grid;gap:11px}
.fab{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;
  box-shadow:0 10px 26px rgba(4,18,46,.3);transition:.25s;position:relative}
.fab svg{width:25px;height:25px}
.fab--wa{background:#25d366}
.fab--call{background:var(--navy)}
.fab:hover{transform:scale(1.09) translateY(-2px)}
.fab::after{content:attr(data-label);position:absolute;left:62px;top:50%;transform:translateY(-50%) scale(.85);
  background:var(--navy-900);color:#fff;font-size:.74rem;font-family:var(--ff-mono);letter-spacing:.06em;
  padding:.35rem .65rem;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:.22s}
.fab:hover::after{opacity:1;transform:translateY(-50%) scale(1)}
.fab--wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;
  animation:pulse 2.4s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}

.totop{position:fixed;right:16px;bottom:18px;z-index:200;width:48px;height:48px;border-radius:14px;
  background:var(--navy);color:#fff;display:grid;place-items:center;border:0;opacity:0;visibility:hidden;
  transform:translateY(12px);transition:.3s;box-shadow:0 10px 26px rgba(4,18,46,.3)}
.totop.is-on{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--gold);color:var(--navy-900)}
.totop svg{width:22px;height:22px}

/* ---------- disclaimer modal ---------- */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem;
  background:rgba(4,18,46,.72);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:.3s}
.modal.is-open{opacity:1;visibility:visible}
.modal__box{background:#fff;border-radius:var(--r-l);max-width:640px;width:100%;overflow:hidden;
  box-shadow:var(--shadow-l);transform:translateY(18px) scale(.98);transition:.35s cubic-bezier(.3,1.2,.5,1);
  max-height:88vh;display:flex;flex-direction:column}
.modal.is-open .modal__box{transform:none}
.modal__head{background:var(--navy-900);color:#fff;padding:1.2rem 1.6rem;display:flex;align-items:center;gap:.9rem;flex:0 0 auto}
.modal__head img{height:44px;width:auto}
.modal__head b{font-family:var(--ff-display);font-size:1.05rem;display:block;letter-spacing:-.01em}
.modal__head span{font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.modal__body{padding:1.5rem 1.6rem;overflow-y:auto;flex:1 1 auto;min-height:0}
.modal__body p{font-size:.9rem;color:#3a475f}
.modal__body p:last-child{margin-bottom:0}
.modal__foot{padding:1.1rem 1.6rem 1.5rem;display:flex;flex-wrap:wrap;gap:.7rem;border-top:1px solid var(--line-soft);flex:0 0 auto}
.modal__foot .btn{flex:1;min-width:180px}

/* promo / SIP modal */
.modal__box--promo{max-width:600px;padding:0}
.modal__promoimg{position:relative;aspect-ratio:16/10;overflow:hidden}
.modal__promoimg img{width:100%;height:100%;object-fit:cover}
.modal__xclose{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:50%;
  border:0;background:rgba(4,18,46,.55);color:#fff;font-size:1rem;line-height:1;display:grid;place-items:center;
  backdrop-filter:blur(3px);transition:.2s}
.modal__xclose:hover{background:rgba(4,18,46,.85)}
.modal__promobody{padding:1.6rem 1.7rem 1.9rem;text-align:center}
.modal__promobody h3{font-size:1.35rem;margin-bottom:.6rem}
.modal__promobody p{font-size:.94rem;color:var(--muted);margin:0}
.modal__promobody .btn-row{justify-content:center;flex-wrap:wrap}
.modal__promobody .btn{flex:1;min-width:210px;padding:.92rem 1.6rem}
@media (max-width:520px){.modal__promobody .btn{min-width:100%}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1320px){
  .nav__link{padding:.5rem .42rem;font-size:.84rem}
  .brand img{height:48px}
  .head-cta .btn{padding:.6rem 1rem;font-size:.84rem}
}
@media (max-width:1150px){
  .nav,.head-cta{display:none}
  .burger{display:flex}
  .header__in{min-height:70px}
  .hero__in{grid-template-columns:1fr;padding-top:34px}
  .hero__media{order:-1;max-width:430px;margin-inline:auto;width:100%}
  .hero__frame{aspect-ratio:1/.86;border-radius:100px 100px 22px 22px}
  .facts__in{grid-template-columns:repeat(2,1fr)}
  .facts__item:nth-child(2){border-right:0}
  .facts__item:nth-child(1),.facts__item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.09)}
  .split{grid-template-columns:1fr}
  .split--rev .split__media{order:0}
  .pbanner__in{grid-template-columns:1fr;gap:26px}
  .pbanner__media img{aspect-ratio:16/9;border-radius:120px 20px 120px 20px}
  .calc{grid-template-columns:1fr}
  .illus{border-radius:0 0 var(--r-l) var(--r-l)}
  .split__media img{min-height:300px}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .portals{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure:first-child{grid-column:1/-1}
}
@media (max-width:860px){
  .topbar__left{display:none}
  .topbar__in{justify-content:center;min-height:36px}
  .topbar__right{gap:.9rem;font-size:.76rem}
  .topbar__mail-only{display:none}
  .grid--3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body{font-size:15.6px}
  .wrap{width:calc(100% - 56px)}
  .wrap-90{width:94%}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .tcard{grid-template-columns:1fr;text-align:left}
  .tcard__pic{width:78px;height:78px;border-radius:18px}
  .steps-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:2rem}
  .gallery{grid-template-columns:1fr}
  .form .row2{grid-template-columns:1fr}
  .brand img{height:42px}
  .hero__pts{gap:.5rem 1rem;font-size:.85rem}
  .hero__frame{border-radius:46px 46px 14px 14px}
  .fab{width:42px;height:42px}
  .fab svg{width:20px;height:20px}
  .totop{width:40px;height:40px}
  .floats{left:8px;bottom:12px;gap:9px}
  .totop{right:8px;bottom:12px}
  .modal{padding:.65rem}
  .modal__box{max-height:90vh;border-radius:16px}
  .modal__head{padding:.85rem 1.1rem;gap:.65rem}
  .modal__head img{height:34px}
  .modal__head b{font-size:.92rem}
  .modal__head span{font-size:.58rem;letter-spacing:.1em}
  .modal__body{padding:1.1rem 1.1rem .3rem}
  .modal__body p{font-size:.83rem;line-height:1.55;margin-bottom:.85em}
  .modal__foot{padding:.9rem 1.1rem 1.1rem;gap:.5rem}
  .modal__foot .btn{min-width:100%;padding:.72rem 1.1rem;font-size:.87rem}
  .modal__promobody{padding:1.2rem 1.3rem 1.4rem}
  .modal__promobody h3{font-size:1.12rem}
  .modal__promobody p{font-size:.86rem}
  .split__media .badge{display:none}
  .article__meta{gap:.6rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
