:root{
  --navy-900:#08122a;
  --navy-800:#0c1a38;
  --navy-700:#11264c;
  --navy-600:#1b3566;
  --ink:#151f33;
  --slate:#5a6680;
  --slate-light:#7f8aa3;
  --paper:#ffffff;
  --mist:#f4f6fb;
  --mist-2:#eef1f8;
  --line:#e4e8f1;
  --line-dark:rgba(255,255,255,.12);
  --gold:#c8a24c;
  --gold-deep:#b18a35;
  --gold-soft:#f3ead4;
  --accent-glow:rgba(200,162,76,.16);
  --accent-glow-strong:rgba(200,162,76,.28);
  --font-head:"Newsreader",Georgia,serif;
  --font-body:"Plus Jakarta Sans",system-ui,sans-serif;
  --shadow-sm:0 1px 2px rgba(13,26,56,.05), 0 4px 14px rgba(13,26,56,.05);
  --shadow-md:0 6px 20px rgba(13,26,56,.07), 0 18px 44px rgba(13,26,56,.10);
  --shadow-lg:0 12px 30px rgba(8,18,42,.12), 0 36px 80px rgba(8,18,42,.20);
  --r-sm:8px;--r:14px;--r-lg:22px;
  --wrap:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1;
  overflow-x:clip;
}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.08;letter-spacing:-.015em;color:var(--navy-900);text-wrap:balance}
p{text-wrap:pretty}
.lead,.sec-head p,.pbanner p{text-wrap:pretty}
::selection{background:var(--gold-soft);color:var(--navy-900)}

/* skip link (a11y) */
.skip-link{position:absolute;left:14px;top:-60px;z-index:300;background:var(--navy-900);color:#fff;padding:11px 20px;border-radius:10px;font-weight:600;font-size:.9rem;transition:top .25s var(--ease)}
.skip-link:focus{top:14px;outline:2.5px solid var(--gold);outline-offset:2px}

/* back-to-top */
.to-top{position:fixed;right:24px;bottom:24px;z-index:80;width:50px;height:50px;border-radius:50%;background:var(--navy-900);color:var(--gold);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:all .35s var(--ease)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--gold);color:var(--navy-900);transform:translateY(-3px)}
.to-top svg{width:20px;height:20px}
@media(max-width:760px){.to-top{right:16px;bottom:16px;width:46px;height:46px}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{
  font-family:"Plus Jakarta Sans";font-weight:600;font-size:12.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);
  display:inline-flex;align-items:center;gap:11px;
}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--gold);display:inline-block}
.eyebrow.center::after{content:"";width:26px;height:1.5px;background:var(--gold);display:inline-block}
.eyebrow.light{color:var(--gold)}
.section{padding:110px 0}
.lead{font-size:1.18rem;color:var(--slate);max-width:62ch}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  font-family:"Plus Jakarta Sans";font-weight:600;font-size:.95rem;letter-spacing:.005em;
  padding:15px 28px;border-radius:50px;cursor:pointer;border:1.5px solid transparent;
  transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), color .3s var(--ease);
  white-space:nowrap;
}
.btn:active{transform:translateY(0) scale(.98)}
.btn svg{width:17px;height:17px;transition:transform .3s var(--ease)}
.btn-gold{background:var(--gold);color:var(--navy-900);box-shadow:0 10px 26px rgba(200,162,76,.35)}
.btn-gold:hover{background:var(--gold-deep);transform:translateY(-2px);box-shadow:0 16px 34px rgba(200,162,76,.42)}
.btn-gold:hover svg{transform:translateX(3px)}
.btn-navy{background:var(--navy-800);color:#fff}
.btn-navy:hover{background:var(--navy-700);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--navy-900);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--navy-800);background:var(--navy-900);color:#fff}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.btn-ghost-light:hover{background:#fff;color:var(--navy-900);border-color:#fff}

/* ===== TOP BAR ===== */
.topbar{background:var(--navy-900);color:#cdd6e8;font-size:13px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:42px}
.topbar a{color:#cdd6e8;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar-left{display:flex;align-items:center;gap:26px}
.topbar-left span{display:inline-flex;align-items:center;gap:8px}
.topbar-left svg{width:14px;height:14px;color:var(--gold)}
.topbar-right{display:flex;align-items:center;gap:20px}
.topbar .badge{display:inline-flex;align-items:center;gap:7px;color:var(--gold)}
.topbar .socials{display:flex;gap:14px}
.topbar .socials a svg{width:14px;height:14px}

/* ===== HEADER ===== */
.header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s,background .3s}
.header.scrolled{box-shadow:0 8px 30px rgba(13,26,56,.08)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{width:44px;height:44px;border-radius:11px;background:linear-gradient(150deg,var(--navy-700),var(--navy-900));display:grid;place-items:center;flex-shrink:0;box-shadow:var(--shadow-sm)}
.brand-mark svg{width:24px;height:24px;color:var(--gold)}
.brand-text{line-height:1.12}
.brand-text b{font-family:"Newsreader",serif;font-weight:600;font-size:1.16rem;color:var(--navy-900);letter-spacing:-.01em;display:block;white-space:nowrap}
.brand-text small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-light);font-weight:600}
.nav{display:flex;align-items:center;gap:2px}
.nav > a,.has-drop > a{white-space:nowrap}
.nav > a{position:relative;padding:10px 13px;font-weight:500;font-size:.92rem;color:var(--ink);border-radius:8px;transition:color .2s}
.nav > a::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav > a:hover{color:var(--navy-900)}
.nav > a:hover::after{transform:scaleX(1)}
.has-drop{position:relative}
.has-drop > a{padding-right:24px}
.has-drop > a::before{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-65%) rotate(45deg);opacity:.5}
.drop{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;min-width:250px;opacity:0;visibility:hidden;transition:all .26s var(--ease)}
.has-drop:hover .drop,.has-drop.open .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;font-size:.9rem;font-weight:500;color:var(--ink);transition:background .2s}
.drop a:hover{background:var(--mist)}
.drop a svg{width:16px;height:16px;color:var(--gold-deep);flex-shrink:0}
.header-cta{display:flex;align-items:center;gap:12px}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span{width:20px;height:2px;background:var(--navy-900);transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile menu */
.mmenu{position:fixed;inset:0 0 0 auto;width:min(380px,86vw);background:#fff;z-index:120;transform:translateX(100%);transition:transform .4s var(--ease);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:26px}
.mmenu.open{transform:translateX(0)}
.mmenu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.mmenu-close{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:22px;color:var(--slate)}
.mmenu nav{display:flex;flex-direction:column;overflow-y:auto}
.mmenu nav a{padding:14px 6px;border-bottom:1px solid var(--line);font-weight:500;font-size:1.05rem;color:var(--ink)}
.mmenu .btn{margin-top:22px}
.overlay{position:fixed;inset:0;background:rgba(8,18,42,.5);z-index:110;opacity:0;visibility:hidden;transition:.3s}
.overlay.open{opacity:1;visibility:visible}

/* ===== HERO ===== */
.hero{position:relative;background:var(--navy-900);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 85% -10%,var(--accent-glow),transparent 60%),
  radial-gradient(700px 500px at 0% 100%,rgba(27,53,102,.6),transparent 60%)}
.hero-map{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-map .route{stroke-dashoffset:1200;animation:routeDraw 3.2s var(--ease) .4s forwards}
@keyframes routeDraw{to{stroke-dashoffset:0}}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:96px 0 100px}
.hero-pill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:50px;padding:8px 16px;font-size:13px;color:#dbe3f2;margin-bottom:26px}
.hero-pill b{color:var(--gold);font-weight:600}
.hero h1{color:#fff;font-size:clamp(2.6rem,5vw,4.1rem);font-weight:500}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p.sub{color:#c2cce0;font-size:1.2rem;margin:24px 0 34px;max-width:54ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:36px;margin-top:48px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12)}
.hero-stats .num{font-family:"Newsreader",serif;font-size:2.3rem;color:#fff;line-height:1}
.hero-stats .num b{color:var(--gold);font-weight:500}
.hero-stats .lbl{font-size:13px;color:#9fabc6;margin-top:7px;letter-spacing:.02em}
/* hero visual */
.hero-visual{position:relative}
.hero-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/4.4;border:1px solid rgba(255,255,255,.08)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-card{position:absolute;background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:16px 18px}
.hero-card.approve{left:-26px;top:42px;display:flex;align-items:center;gap:13px}
.hero-card.approve .ico{width:42px;height:42px;border-radius:11px;background:#e9f6ee;color:#1f9d55;display:grid;place-items:center}
.hero-card.approve .ico svg{width:22px;height:22px}
.hero-card.approve b{display:block;font-size:.95rem;color:var(--navy-900)}
.hero-card.approve span{font-size:12.5px;color:var(--slate)}
.hero-card.rating{right:-22px;bottom:38px;text-align:left}
.hero-card.rating .stars{color:var(--gold);font-size:15px;letter-spacing:2px}
.hero-card.rating b{font-size:1.5rem;font-family:"Newsreader",serif;color:var(--navy-900)}
.hero-card.rating span{font-size:12px;color:var(--slate);display:block}

/* ===== TRUST STRIP ===== */
.trust{background:var(--mist);border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 28px;flex-wrap:wrap}
.trust-label{font-size:13px;color:var(--slate);font-weight:600;letter-spacing:.04em}
.trust-items{display:flex;gap:38px;flex-wrap:wrap;align-items:center}
.trust-items .ti{display:flex;align-items:center;gap:10px;color:var(--navy-800);font-weight:600;font-size:.92rem}
.trust-items .ti svg{width:20px;height:20px;color:var(--gold-deep)}

/* ===== SECTION HEADER ===== */
.sec-head{max-width:720px}
.sec-head.center{margin:0 auto;text-align:center}
.sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:18px 0 0}
.sec-head p{margin-top:16px}
.sec-head.center .lead{margin-left:auto;margin-right:auto}

/* ===== SERVICES ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;position:relative;overflow:hidden}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--gold);transition:width .4s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.card:hover::after{width:100%}
.card .ico{width:56px;height:56px;border-radius:14px;background:var(--navy-900);display:grid;place-items:center;margin-bottom:22px;transition:background .35s}
.card .ico svg{width:27px;height:27px;color:var(--gold)}
.card:hover .ico{background:var(--gold)}
.card:hover .ico svg{color:var(--navy-900)}
.card h3{font-size:1.4rem;margin-bottom:10px}
.card p{color:var(--slate);font-size:.96rem;margin-bottom:18px}
.card .more{font-weight:600;font-size:.9rem;color:var(--navy-800);display:inline-flex;align-items:center;gap:8px}
.card .more svg{width:15px;height:15px;color:var(--gold-deep);transition:transform .3s}
.card:hover .more svg{transform:translateX(4px)}

/* ===== PATHWAY ===== */
.pathway{background:var(--mist);position:relative}
.path-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center}
.path-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:1/1.02}
.path-visual img{width:100%;height:100%;object-fit:cover}
.path-visual .tag{position:absolute;left:22px;bottom:22px;right:22px;background:rgba(8,18,42,.78);backdrop-filter:blur(8px);color:#fff;border-radius:14px;padding:18px 20px}
.path-visual .tag b{font-family:"Newsreader",serif;font-size:1.25rem;display:block}
.path-visual .tag span{color:#b9c3da;font-size:.86rem}
.visa-list{margin-top:30px;display:flex;flex-direction:column;gap:2px}
.visa-row{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid var(--line)}
.visa-row .code{font-family:"Newsreader",serif;font-size:1.7rem;color:var(--gold-deep);min-width:78px;font-weight:600}
.visa-row .info b{display:block;color:var(--navy-900);font-size:1.05rem;font-weight:600}
.visa-row .info span{color:var(--slate);font-size:.9rem}
.visa-row .arrow{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy-800);transition:.3s}
.visa-row:hover .arrow{background:var(--navy-900);color:var(--gold);border-color:var(--navy-900)}
.visa-row .arrow svg{width:15px;height:15px}

/* ===== WHY US ===== */
.why{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 460px at 90% 0,var(--accent-glow),transparent 55%)}
.why .wrap{position:relative}
.why .eyebrow{color:var(--gold)}
.why h2{color:#fff}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.why-feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:38px}
.feat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--r);padding:24px 22px;transition:.3s}
.feat:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.feat .ico{width:46px;height:46px;border-radius:12px;background:rgba(200,162,76,.14);display:grid;place-items:center;margin-bottom:16px}
.feat .ico svg{width:23px;height:23px;color:var(--gold)}
.feat h4{color:#fff;font-size:1.18rem;margin-bottom:7px}
.feat p{color:#aab6cf;font-size:.9rem}
.why-side{position:sticky;top:110px}
.why-side .lead{color:#bcc6dd}
.why-side .btn{margin-top:28px}
.checklist{margin-top:30px;display:flex;flex-direction:column;gap:14px}
.checklist li{list-style:none;display:flex;gap:13px;align-items:flex-start;color:#d3dbeb;font-size:.97rem}
.checklist li svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px}

/* ===== PROCESS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;position:relative}
.step{position:relative;padding-top:8px}
.step .n{font-family:"Newsreader",serif;font-size:2.6rem;color:var(--gold);line-height:1;font-weight:500}
.step .dot{display:flex;align-items:center;gap:12px;margin:18px 0 16px}
.step .dot .c{width:13px;height:13px;border-radius:50%;background:var(--navy-900);border:3px solid var(--gold-soft);flex-shrink:0}
.step .dot .ln{flex:1;height:1.5px;background:var(--line)}
.step:last-child .dot .ln{display:none}
.step h4{font-size:1.22rem;margin-bottom:9px}
.step p{color:var(--slate);font-size:.93rem}

/* ===== AUDIENCE (employer/candidate) ===== */
.aud{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:54px}
.aud-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:430px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-md)}
.aud-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .7s var(--ease)}
.aud-card:hover img{transform:scale(1.05)}
.aud-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,42,.92) 8%,rgba(8,18,42,.45) 50%,rgba(8,18,42,.15));z-index:1}
.aud-body{position:relative;z-index:2;padding:38px 36px}
.aud-body .tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.aud-body h3{color:#fff;font-size:1.85rem;margin:12px 0 12px}
.aud-body p{color:#d2dae9;font-size:.98rem;margin-bottom:20px;max-width:42ch}
.aud-body ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.aud-body ul li{font-size:.82rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:6px 13px;border-radius:50px}

/* ===== TESTIMONIALS ===== */
.testi{background:var(--mist)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;display:flex;flex-direction:column}
.quote .stars{color:var(--gold);letter-spacing:2px;margin-bottom:16px}
.quote p{color:var(--ink);font-size:1.02rem;line-height:1.7;flex:1}
.quote .who{display:flex;align-items:center;gap:13px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.quote .av{width:48px;height:48px;border-radius:50%;object-fit:cover}
.quote .who b{display:block;color:var(--navy-900);font-size:.96rem}
.quote .who span{font-size:.84rem;color:var(--slate)}
.quote .mark{font-family:"Newsreader",serif;font-size:3.4rem;line-height:.4;color:var(--gold-soft);margin-bottom:6px}

/* ===== ELIGIBILITY CTA BAND ===== */
.elig{background:linear-gradient(120deg,var(--navy-800),var(--navy-900));color:#fff;border-radius:26px;padding:60px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.elig::before{content:"";position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,76,.25),transparent 65%)}
.elig .eyebrow{color:var(--gold)}
.elig h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);margin:16px 0}
.elig p{color:#c2cce0;font-size:1.08rem}
.elig-form{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:28px}
.elig-form label{display:block;font-size:13px;color:#aeb9d2;margin-bottom:7px;font-weight:500}
.elig-form select,.elig-form input{width:100%;padding:13px 15px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(8,18,42,.5);color:#fff;font-family:inherit;font-size:.95rem;margin-bottom:16px;outline:none;transition:border .2s}
.elig-form select:focus,.elig-form input:focus{border-color:var(--gold)}
.elig-form option{color:#111}
.elig-form .btn{width:100%}

/* ===== ARTICLES ===== */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.post{border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.post .ph{aspect-ratio:16/10;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post:hover .ph img{transform:scale(1.06)}
.post .body{padding:24px 24px 28px}
.post .meta{display:flex;gap:12px;font-size:12px;color:var(--slate);margin-bottom:12px;align-items:center}
.post .meta .cat{color:var(--gold-deep);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.post h3{font-size:1.3rem;line-height:1.22;margin-bottom:10px}
.post p{color:var(--slate);font-size:.92rem}

/* ===== FAQ ===== */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;cursor:pointer;font-weight:600;font-size:1.1rem;color:var(--navy-900);font-family:"Newsreader",serif}
.faq-q .pm{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;position:relative;transition:.3s}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--navy-900);top:50%;left:50%;transform:translate(-50%,-50%);transition:.3s}
.faq-q .pm::before{width:12px;height:2px}
.faq-q .pm::after{width:2px;height:12px}
.faq-item.open .faq-q .pm{background:var(--gold);border-color:var(--gold)}
.faq-item.open .faq-q .pm::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{padding:0 4px 24px;color:var(--slate);max-width:60ch}

/* ===== FINAL CTA ===== */
.final{background:var(--navy-900);color:#fff;text-align:center;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 50% 0,rgba(200,162,76,.16),transparent 60%)}
.final .wrap{position:relative}
.final h2{color:#fff;font-size:clamp(2.1rem,4vw,3.2rem);max-width:18ch;margin:18px auto 18px}
.final p{color:#bcc6dd;font-size:1.15rem;max-width:54ch;margin:0 auto 34px}
.final .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== FOOTER ===== */
.footer{background:var(--navy-900);color:#9aa6c0;padding:72px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:46px;padding-bottom:54px}
.foot-brand .brand-text b{color:#fff}
.foot-brand p{margin:20px 0;font-size:.92rem;color:#9aa6c0;max-width:34ch}
.foot-contact{display:flex;flex-direction:column;gap:12px;font-size:.92rem}
.foot-contact a{display:flex;gap:11px;align-items:flex-start}
.foot-contact svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;margin-top:3px}
.foot-col h5{color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.04em;margin-bottom:20px;font-family:"Plus Jakarta Sans"}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.foot-col ul a{font-size:.92rem;transition:color .2s,padding .2s}
.foot-col ul a:hover{color:var(--gold);padding-left:4px}
.foot-news input{width:100%;padding:13px 15px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font-family:inherit;margin-bottom:12px;outline:none}
.foot-news input:focus{border-color:var(--gold)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.85rem}
.foot-bottom .socials{display:flex;gap:12px}
.foot-bottom .socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;transition:.3s}
.foot-bottom .socials a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-900)}
.foot-bottom .socials svg{width:16px;height:16px}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* anchor offset for sticky header */
section[id],div[id]{scroll-margin-top:96px}

/* hero entrance — transform only, so visibility NEVER depends on animation playback */
@keyframes heroIn{from{transform:translateY(26px)}to{transform:none}}
.hero-copy,.hero-visual{opacity:1}
.hero-copy{animation:heroIn .85s var(--ease) both}
.hero-visual{animation:heroIn .95s .12s var(--ease) both}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* accessibility focus */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2.5px solid var(--gold);outline-offset:3px;border-radius:4px}

/* ===== RESPONSIVE ===== */
@media(max-width:1300px){
  .header-cta .btn-ghost{display:none}
  .nav > a{padding:10px 11px;font-size:.9rem}
}
@media(max-width:1080px){
  .nav{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-visual{max-width:440px}
  .why-grid,.path-grid{grid-template-columns:1fr;gap:46px}
  .why-side{position:static}
  .steps{grid-template-columns:1fr 1fr;gap:36px 24px}
  .step:nth-child(2) .dot .ln{display:none}
  .cards,.testi-grid,.posts{grid-template-columns:1fr 1fr}
  .elig{grid-template-columns:1fr;gap:34px;padding:44px}
  .faq-grid{grid-template-columns:1fr;gap:34px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:760px){
  .nav,.header-cta .btn,.topbar-left span:nth-child(3),.topbar .socials{display:none}
  .burger{display:flex}
  .section{padding:72px 0}
  .wrap{padding:0 20px}
  .hero-grid{padding:60px 0 70px}
  .hero-stats{gap:24px;flex-wrap:wrap}
  .hero-card.approve{left:-6px}
  .hero-card.rating{right:-6px}
  .cards,.testi-grid,.posts,.aud,.why-feats,.foot-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step .dot .ln{display:none}
  .trust .wrap{justify-content:flex-start}
  .topbar-left{gap:16px}
  .foot-bottom{flex-direction:column;text-align:center}
}
@media(max-width:420px){
  .hero h1{font-size:2.2rem}
  .elig,.quote,.card{padding:26px 22px}
}

/* tweaks panel host */
#tweaks-root{position:fixed;z-index:200}

/* ============================================================
   INNER PAGES & SHARED CHROME
   ============================================================ */
#site-header{min-height:122px}
@media(max-width:760px){#site-header{min-height:80px}}

/* page banner */
.pbanner{position:relative;background:var(--navy-900);color:#fff;overflow:hidden;padding:74px 0 78px}
.pbanner::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 420px at 82% -25%,rgba(200,162,76,.17),transparent 60%),radial-gradient(600px 400px at 0% 120%,rgba(27,53,102,.55),transparent 60%)}
.pbanner .pb-map{position:absolute;inset:0;width:100%;height:100%;opacity:.6;pointer-events:none}
.pbanner .wrap{position:relative}
.crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:#9fabc6;margin-bottom:20px;flex-wrap:wrap}
.crumb a{color:#c2cce0;transition:color .2s}
.crumb a:hover{color:var(--gold)}
.crumb .sep{opacity:.45}
.crumb .cur{color:var(--gold)}
.pbanner .eyebrow{color:var(--gold);margin-bottom:16px}
.pbanner h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.5rem);max-width:20ch}
.pbanner p{color:#c2cce0;font-size:1.16rem;margin-top:18px;max-width:62ch}

/* generic split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/3.1;position:relative}
.split-media img{width:100%;height:100%;object-fit:cover}
.split.rev .split-media{order:-1}
.split-copy h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.split-copy > p{margin-top:18px;color:var(--slate);font-size:1.06rem}
.split-copy .checklist{margin-top:24px}
.split-copy .checklist li{color:var(--ink)}
.split-copy .checklist li svg{color:var(--gold-deep)}
.split-copy .btn{margin-top:28px}

/* prose (legal / article body) */
.prose{max-width:768px;margin:0 auto}
.prose h2{font-size:1.6rem;margin:40px 0 14px}
.prose h3{font-size:1.25rem;margin:28px 0 10px}
.prose p{color:var(--slate);margin-bottom:16px;font-size:1.04rem}
.prose ul{margin:0 0 20px 22px;color:var(--slate)}
.prose ul li{margin-bottom:9px}
.prose strong{color:var(--navy-900)}
.prose a{color:var(--gold-deep);text-decoration:underline}
.prose .updated{display:inline-block;color:var(--slate-light);font-size:.86rem;margin-bottom:30px;padding:7px 15px;background:var(--mist);border-radius:50px}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.statband .s b{font-family:"Newsreader",serif;font-size:clamp(2.4rem,4vw,3rem);color:var(--navy-900);display:block;line-height:1}
.statband .s b em{color:var(--gold-deep);font-style:normal}
.statband .s span{color:var(--slate);font-size:.95rem;margin-top:10px;display:block}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:54px}
.member .ph{aspect-ratio:1/1.14;border-radius:var(--r-lg);overflow:hidden;margin-bottom:18px}
.member .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.member:hover .ph img{transform:scale(1.05)}
.member h4{font-size:1.22rem}
.member .role{color:var(--gold-deep);font-size:.86rem;font-weight:600;margin-top:5px;letter-spacing:.03em}
.member p{color:var(--slate);font-size:.9rem;margin-top:10px}

/* value cards */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.vcard{padding:32px 30px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:transform .35s var(--ease),box-shadow .35s}
.vcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.vcard .ico{width:54px;height:54px;border-radius:13px;background:var(--gold-soft);display:grid;place-items:center;margin-bottom:20px}
.vcard .ico svg{width:26px;height:26px;color:var(--gold-deep)}
.vcard h4{font-size:1.26rem;margin-bottom:9px}
.vcard p{color:var(--slate);font-size:.96rem}

/* definition / quick facts list */
.deflist{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:14px}
.deflist .d{background:#fff;padding:26px 28px}
.deflist .d dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:8px}
.deflist .d dd{color:var(--navy-900);font-size:1.06rem;font-weight:500}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.cform{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:38px;box-shadow:var(--shadow-sm)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform label{display:block;font-size:13px;color:var(--slate);font-weight:600;margin-bottom:7px;margin-top:16px}
.cform input,.cform select,.cform textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;background:var(--mist);color:var(--ink);outline:none;transition:border .2s}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--gold);background:#fff}
.cform textarea{min-height:130px;resize:vertical}
.cform .btn{margin-top:24px;width:100%}
.info-card{display:flex;gap:16px;padding:22px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;background:#fff;transition:.3s}
.info-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.info-card .ico{width:48px;height:48px;border-radius:12px;background:var(--navy-900);display:grid;place-items:center;flex-shrink:0}
.info-card .ico svg{width:23px;height:23px;color:var(--gold)}
.info-card h4{font-size:1.08rem;margin-bottom:4px}
.info-card p{color:var(--slate);font-size:.92rem;line-height:1.55}
.map-embed{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);height:280px;background:var(--mist)}
.map-embed iframe{width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.05)}

/* cta band */
.ctaband{background:linear-gradient(120deg,var(--navy-800),var(--navy-900));border-radius:26px;padding:58px;text-align:center;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.ctaband::before{content:"";position:absolute;inset:0;background:radial-gradient(640px 320px at 50% -10%,rgba(200,162,76,.2),transparent 60%)}
.ctaband > *{position:relative}
.ctaband .eyebrow{color:var(--gold);justify-content:center}
.ctaband h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);margin:14px 0}
.ctaband p{color:#c2cce0;max-width:52ch;margin:0 auto 28px;font-size:1.08rem}
.ctaband .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* case study cards (rich) */
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.cs{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:transform .35s var(--ease),box-shadow .35s;display:flex;flex-direction:column}
.cs:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.cs .ph{aspect-ratio:16/10;overflow:hidden;position:relative}
.cs .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.cs:hover .ph img{transform:scale(1.06)}
.cs .ph .vt{position:absolute;left:16px;top:16px;background:rgba(8,18,42,.82);color:var(--gold);font-size:12px;font-weight:600;padding:6px 13px;border-radius:50px;backdrop-filter:blur(6px)}
.cs .body{padding:26px;display:flex;flex-direction:column;flex:1}
.cs h3{font-size:1.3rem;margin-bottom:10px;line-height:1.22}
.cs p{color:var(--slate);font-size:.94rem;flex:1}
.cs .res{display:flex;gap:20px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.cs .res b{font-family:"Newsreader",serif;color:var(--gold-deep);font-size:1.5rem;display:block;line-height:1}
.cs .res span{font-size:.78rem;color:var(--slate)}

/* tag chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips span{font-size:.85rem;background:var(--mist);border:1px solid var(--line);color:var(--navy-800);padding:8px 16px;border-radius:50px;font-weight:500}

/* article single */
.article{max-width:760px;margin:0 auto}
.article .a-hero{aspect-ratio:16/8;border-radius:var(--r-lg);overflow:hidden;margin-bottom:36px;box-shadow:var(--shadow-md)}
.article .a-hero img{width:100%;height:100%;object-fit:cover}

/* center utility */
.center-head{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}

/* responsive inner */
@media(max-width:1080px){
  .split{grid-template-columns:1fr;gap:40px}
  .split.rev .split-media{order:0}
  .statband{grid-template-columns:1fr 1fr;gap:36px}
  .team{grid-template-columns:1fr 1fr}
  .vgrid,.cs-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .deflist{grid-template-columns:1fr}
}
@media(max-width:760px){
  .team,.vgrid,.cs-grid,.statband,.cform .row{grid-template-columns:1fr}
  .ctaband,.cform{padding:32px 24px}
  .pbanner{padding:52px 0 56px}
}


/* ============================================================
   PREMIUM UPGRADE LAYER  — agency-grade visual elevation
   ============================================================ */
:root{
  --gold-grad:linear-gradient(135deg,#e8cb82 0%,#c8a24c 52%,#a87f30 100%);
  --gold-soft-2:#f7efda;
}

/* ---- richer rhythm & type ---- */
.section{padding:clamp(74px,8.5vw,128px) 0}
.sec-head h2{font-size:clamp(2.1rem,4vw,3.2rem)}
.sec-head .lead{font-size:1.2rem;line-height:1.7}
.eyebrow{font-size:13px;letter-spacing:.24em}

/* ---- premium gold button with light sheen ---- */
.btn{padding:16px 30px}
.btn-gold{background:var(--gold-grad);position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(200,162,76,.34),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-gold::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .75s var(--ease);pointer-events:none}
.btn-gold:hover::after{left:150%}

/* ---- glassmorphism utility ---- */
.glass{background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.7)}

/* ---- premium card hover glow ---- */
.card{padding:36px 32px}
.card:hover,.vcard:hover,.cs:hover,.post:hover{box-shadow:0 22px 54px rgba(8,18,42,.15),0 0 0 1px rgba(200,162,76,.28)}
.card .ico{box-shadow:0 8px 20px rgba(8,18,42,.18)}

/* ================= HERO V2 ================= */
.hero-v2{padding-bottom:0}
.hero-v2 .hero-grid{padding:clamp(72px,8vw,116px) 0 clamp(82px,9vw,128px);align-items:center}
.hero-v2 h1{font-size:clamp(2.7rem,5.3vw,4.5rem);line-height:1.03;letter-spacing:-.022em}
.hero-v2 .hero-pill{background:rgba(255,255,255,.06);border-color:rgba(200,162,76,.3)}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.hero-badges span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:#d2dbec;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:9px 15px;border-radius:50px;transition:.3s}
.hero-badges span:hover{border-color:rgba(200,162,76,.4);background:rgba(255,255,255,.09)}
.hero-badges svg{width:15px;height:15px;color:var(--gold)}
.hero-v2 .hero-img{aspect-ratio:4/4.5;position:relative}
.hero-v2 .hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(185deg,transparent 50%,rgba(8,18,42,.45));pointer-events:none}
.hero-v2 .hero-card{transition:transform .5s var(--ease),box-shadow .5s var(--ease);will-change:transform}
.hero-card.glass{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 18px 44px rgba(8,18,42,.28)}
.hero-card.metric{left:-30px;bottom:90px;top:auto;right:auto;display:flex;align-items:center;gap:13px;padding:15px 19px}
.hero-card.metric .ring{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--gold) 0 92%,#e7ebf3 92% 100%)}
.hero-card.metric .ring i{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-family:Newsreader,serif;font-weight:600;color:var(--navy-900);font-size:.9rem}
.hero-card.metric b{font-family:Newsreader,serif;font-size:1.05rem;color:var(--navy-900);display:block;line-height:1.1}
.hero-card.metric span{font-size:11.5px;color:var(--slate)}

/* ================= CREDENTIAL MARQUEE ================= */
.marquee{background:var(--navy-800);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--navy-800),transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,var(--navy-800),transparent)}
.marquee .track{display:flex;gap:56px;align-items:center;white-space:nowrap;width:max-content;padding:22px 28px;animation:scrollx 34s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee .item{display:inline-flex;align-items:center;gap:11px;color:#a7b4d0;font-weight:600;font-size:.96rem;letter-spacing:.01em}
.marquee .item svg{width:20px;height:20px;color:var(--gold)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ================= SUCCESS METRICS BAND ================= */
.metrics{background:linear-gradient(160deg,#0c1a38,#08122a);color:#fff;position:relative;overflow:hidden}
.metrics::before{content:"";position:absolute;inset:0;background:radial-gradient(720px 420px at 12% 130%,rgba(200,162,76,.16),transparent 60%),radial-gradient(620px 360px at 95% -20%,rgba(27,53,102,.6),transparent 60%)}
.metrics .wrap{position:relative}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:50px}
.metric-grid .m{border-left:1px solid rgba(255,255,255,.13);padding-left:26px}
.metric-grid .m b{font-family:Newsreader,serif;font-size:clamp(2.6rem,4.2vw,3.7rem);color:#fff;line-height:1;display:block}
.metric-grid .m b em{color:var(--gold);font-style:normal}
.metric-grid .m span{color:#9fb0cf;margin-top:10px;display:block;font-size:.96rem}
.metrics .eyebrow{color:var(--gold)}
.metrics h2{color:#fff}

/* ---- elevated page banner ---- */
.pbanner{padding:clamp(70px,8vw,104px) 0 clamp(74px,8vw,108px)}
.pbanner h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.02em}
.pbanner::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,76,.16),transparent 65%);pointer-events:none}

/* ---- section divider accent ---- */
.section.muted-bg{position:relative}

/* ================= 404 ================= */
.e404{min-height:66vh;display:grid;place-items:center;text-align:center;background:linear-gradient(160deg,#0c1a38,#08122a);color:#fff;position:relative;overflow:hidden;padding:80px 0}
.e404::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 50% 0,rgba(200,162,76,.16),transparent 60%)}
.e404 .wrap{position:relative}
.e404 .big{font-family:Newsreader,serif;font-size:clamp(6rem,18vw,13rem);line-height:.9;color:#fff;letter-spacing:-.03em}
.e404 .big em{color:var(--gold);font-style:normal}
.e404 h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin:10px 0 14px}
.e404 p{color:#bcc6dd;max-width:50ch;margin:0 auto 30px;font-size:1.08rem}
.e404 .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ================= PREMIUM RESPONSIVE ================= */
@media(max-width:1080px){
  .metric-grid{grid-template-columns:1fr 1fr;gap:34px 30px}
  .hero-card.metric{left:0;bottom:70px}
}
@media(max-width:760px){
  .metric-grid{grid-template-columns:1fr 1fr;gap:28px 22px}
  .metric-grid .m{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
  .hero-badges{gap:8px}
  .marquee .track{gap:40px;animation-duration:24s}
}


/* ============================================================
   SUPER-RESPONSIVE POLISH  — large desktop → small mobile
   ============================================================ */
@media(min-width:1600px){ :root{ --wrap:1340px; } }

@media(max-width:600px){
  .hero-v2 h1{font-size:clamp(2rem,8.4vw,2.7rem)}
  .hero-v2 .hero-card.rating,.hero-v2 .hero-card.metric{display:none}
  .hero-card.approve{left:50%;right:auto;top:auto;bottom:14px;transform:translateX(-50%)}
  .hero-badges span{font-size:11.5px;padding:8px 12px}
  .btn{padding:14px 22px;font-size:.9rem}
  .marquee .track{gap:30px;animation-duration:18s}
  .marquee::before,.marquee::after{width:60px}
  .visa-row{gap:12px}
  .visa-row .code{font-size:1.4rem;min-width:54px}
  .visa-row .arrow{display:none}
  .crumb{font-size:12px}
  .pbanner p,.hero .sub{font-size:1.04rem}
  .elig,.cform,.ctaband{padding:26px 18px}
  .quote,.card,.vcard{padding:24px 20px}
  .deflist .d{padding:20px}
}
@media(max-width:400px){
  .wrap{padding:0 16px}
  .hero-v2 h1{font-size:1.9rem}
  .sec-head h2,.pbanner h1{font-size:1.62rem}
  .e404 .big{font-size:clamp(4.5rem,26vw,6rem)}
  .hero-stats{gap:16px}
  .hero-stats .num{font-size:1.7rem}
  .metric-grid .m b{font-size:2.2rem}
  .foot-bottom{font-size:.8rem}
  .topbar{font-size:12px}
}


/* ============================================================
   STYLE TEMPLATE SYSTEM + MEGA MENU + SWITCHER  (v3)
   ============================================================ */

/* --- map all hardcoded display fonts onto the template var --- */
.brand-text b,.hero-stats .num,.hero-card.rating b,.path-visual .tag b,
.visa-row .code,.step .n,.quote .mark,.faq-q,.statband .s b,.cs .res b,
.hero-card.metric .ring i,.hero-card.metric b,.metric-grid .m b,.e404 .big{font-family:var(--font-head)}
.eyebrow,.btn,.foot-col h5,.search-form input,.search-form button{font-family:var(--font-body)}

/* --- recolour dark-section glows from the accent token --- */
.elig::before{background:radial-gradient(circle,var(--accent-glow-strong),transparent 65%)}
.final::before{background:radial-gradient(700px 400px at 50% 0,var(--accent-glow),transparent 60%)}
.ctaband::before{background:radial-gradient(640px 320px at 50% -10%,var(--accent-glow-strong),transparent 60%)}
.metrics::before{background:radial-gradient(720px 420px at 12% 130%,var(--accent-glow),transparent 60%),radial-gradient(620px 360px at 95% -20%,rgba(27,53,102,.6),transparent 55%)}
.e404::before{background:radial-gradient(700px 420px at 50% 0,var(--accent-glow),transparent 60%)}
.pbanner::before{background:radial-gradient(820px 420px at 82% -25%,var(--accent-glow),transparent 60%),radial-gradient(600px 400px at 0% 120%,rgba(27,53,102,.55),transparent 60%)}
.pbanner::after{background:radial-gradient(circle,var(--accent-glow),transparent 65%)}
.feat .ico{background:var(--accent-glow-strong)}

/* --- smooth, classy template cross-fade --- */
html.tpl-switching body,html.tpl-switching .header,html.tpl-switching .topbar,
html.tpl-switching .footer,html.tpl-switching .card,html.tpl-switching .vcard,
html.tpl-switching .btn,html.tpl-switching .mega,html.tpl-switching .hero,
html.tpl-switching .pbanner,html.tpl-switching section,html.tpl-switching .quote,
html.tpl-switching .cs,html.tpl-switching .post,html.tpl-switching h1,
html.tpl-switching h2,html.tpl-switching h3,html.tpl-switching .brand-text b{
  transition:background-color .55s var(--ease),color .55s var(--ease),border-color .55s var(--ease),box-shadow .55s var(--ease)!important;
}

/* ============================================================
   TEMPLATE PALETTES — swap the whole identity via [data-tpl]
   ============================================================ */
html[data-tpl="sterling"]{
  --navy-900:#08122a;--navy-800:#0c1a38;--navy-700:#11264c;--navy-600:#1b3566;
  --ink:#151f33;--slate:#5a6680;--slate-light:#7f8aa3;
  --paper:#fff;--mist:#f4f6fb;--mist-2:#eef1f8;--line:#e4e8f1;
  --gold:#c8a24c;--gold-deep:#b18a35;--gold-soft:#f3ead4;
  --gold-grad:linear-gradient(135deg,#e0be6a,#b6892f);
  --accent-glow:rgba(200,162,76,.16);--accent-glow-strong:rgba(200,162,76,.28);
  --font-head:"Newsreader",Georgia,serif;--font-body:"Plus Jakarta Sans",system-ui,sans-serif;
}
html[data-tpl="azure"]{
  --navy-900:#0a1f44;--navy-800:#0d2a5e;--navy-700:#14397e;--navy-600:#1f55b0;
  --ink:#14233f;--slate:#586a86;--slate-light:#8593ad;
  --paper:#fff;--mist:#f0f5fd;--mist-2:#e6eefb;--line:#dce6f5;
  --gold:#3b78ff;--gold-deep:#1f52d6;--gold-soft:#dbe7ff;
  --gold-grad:linear-gradient(135deg,#4f86ff,#1f52d6);
  --accent-glow:rgba(59,120,255,.20);--accent-glow-strong:rgba(59,120,255,.34);
  --font-head:"Sora",system-ui,sans-serif;--font-body:"Manrope",system-ui,sans-serif;
}
html[data-tpl="onyx"]{
  --navy-900:#14161c;--navy-800:#1b1e26;--navy-700:#262a35;--navy-600:#3a3f4d;
  --ink:#1b1d23;--slate:#6a6c75;--slate-light:#9a9ca5;
  --paper:#fff;--mist:#f6f5f2;--mist-2:#efede7;--line:#e7e4dc;
  --gold:#c9a96a;--gold-deep:#ab8a4c;--gold-soft:#efe5d2;
  --gold-grad:linear-gradient(135deg,#dcc187,#b2904f);
  --accent-glow:rgba(201,169,106,.20);--accent-glow-strong:rgba(201,169,106,.32);
  --font-head:"Cormorant Garamond",Georgia,serif;--font-body:"Jost",system-ui,sans-serif;
}
html[data-tpl="onyx"] h1,html[data-tpl="onyx"] h2,html[data-tpl="onyx"] h3{font-weight:600;letter-spacing:-.01em}
html[data-tpl="emerald"]{
  --navy-900:#0c2b22;--navy-800:#0f3329;--navy-700:#154736;--navy-600:#1f6b50;
  --ink:#15241d;--slate:#51685c;--slate-light:#84988c;
  --paper:#fff;--mist:#f0f6f2;--mist-2:#e6f0ea;--line:#dde9e1;
  --gold:#1f9d6b;--gold-deep:#17855a;--gold-soft:#d7f0e4;
  --gold-grad:linear-gradient(135deg,#2bbd86,#138a5b);
  --accent-glow:rgba(31,157,107,.20);--accent-glow-strong:rgba(31,157,107,.32);
  --font-head:"Marcellus",Georgia,serif;--font-body:"Mulish",system-ui,sans-serif;
}
html[data-tpl="platinum"]{
  --navy-900:#1b2030;--navy-800:#232838;--navy-700:#2e3447;--navy-600:#444b61;
  --ink:#1b2030;--slate:#646b7c;--slate-light:#949aa8;
  --paper:#fff;--mist:#f7f8fb;--mist-2:#eef0f5;--line:#e9ebf1;
  --gold:#5468ff;--gold-deep:#3a4ae0;--gold-soft:#e6e9ff;
  --gold-grad:linear-gradient(135deg,#6f7dff,#3a4ae0);
  --accent-glow:rgba(84,104,255,.18);--accent-glow-strong:rgba(84,104,255,.30);
  --font-head:"Syne",system-ui,sans-serif;--font-body:"Manrope",system-ui,sans-serif;
}
html[data-tpl="platinum"] h1,html[data-tpl="platinum"] h2,html[data-tpl="platinum"] h3{font-weight:700;letter-spacing:-.02em}

/* ============================================================
   MEGA MENU (desktop)
   ============================================================ */
.has-mega{position:static}
.has-mega > a{padding-right:24px;position:relative}
.has-mega > a::before{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-65%) rotate(45deg);opacity:.5;transition:transform .3s var(--ease)}
.has-mega:hover > a::before,.has-mega.open > a::before{transform:translateY(-35%) rotate(225deg)}
.has-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;display:none}
.has-mega:hover::after,.has-mega.open::after{display:block}
.mega{position:absolute;left:50%;top:calc(100% - 2px);transform:translateX(-50%) translateY(14px);width:min(940px,calc(100vw - 36px));background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),transform .34s var(--ease),visibility .3s;z-index:95;display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:10px;margin-top:10px}
.mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-mega:hover .mega,.has-mega.open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-col,.mega-feature{opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.has-mega:hover .mega-col,.has-mega.open .mega-col,.has-mega:hover .mega-feature,.has-mega.open .mega-feature{opacity:1;transform:none}
.has-mega.open .mega-col:nth-child(2),.has-mega:hover .mega-col:nth-child(2){transition-delay:.07s}
.has-mega.open .mega-col:nth-child(3),.has-mega:hover .mega-col:nth-child(3){transition-delay:.12s}
.has-mega.open .mega-feature,.has-mega:hover .mega-feature{transition-delay:.16s}
.mega-col{padding:8px}
.mega-col h6{font-family:var(--font-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-light);font-weight:700;margin-bottom:6px;padding:0 12px}
.mega-link{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;transition:background .2s var(--ease),transform .2s var(--ease)}
.mega-link:hover{background:var(--mist)}
.mega-link .mi{width:38px;height:38px;border-radius:10px;background:var(--mist-2);display:grid;place-items:center;flex-shrink:0;transition:.25s}
.mega-link .mi svg{width:19px;height:19px;color:var(--gold-deep)}
.mega-link:hover .mi{background:var(--gold);}
.mega-link:hover .mi svg{color:var(--paper)}
.mega-link b{display:block;font-family:var(--font-body);font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.2}
.mega-link span{font-size:.78rem;color:var(--slate);line-height:1.35;display:block;margin-top:2px}
.mega-feature{border-radius:16px;padding:24px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,var(--navy-700),var(--navy-900))}
.mega-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(320px 200px at 80% 0,var(--accent-glow-strong),transparent 65%)}
.mega-feature .mf-in{position:relative}
.mega-feature .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.mega-feature h5{font-family:var(--font-head);font-size:1.3rem;color:#fff;margin:8px 0 6px;line-height:1.15}
.mega-feature p{font-size:.84rem;color:#c4cee0;margin-bottom:16px}
.mega-feature .mf-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--gold);color:var(--navy-900);font-weight:600;font-size:.84rem;padding:10px 18px;border-radius:50px;transition:.25s}
.mega-feature .mf-btn svg{width:15px;height:15px;transition:transform .25s}
.mega-feature .mf-btn:hover{background:#fff}
.mega-feature .mf-btn:hover svg{transform:translateX(3px)}

/* ============================================================
   TEMPLATE SWITCHER
   ============================================================ */
.tpl-fab{position:fixed;left:24px;bottom:24px;z-index:130;display:inline-flex;align-items:center;gap:9px;padding:13px 18px 13px 15px;border-radius:50px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-md);cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:.88rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.tpl-fab:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.tpl-fab svg{width:19px;height:19px;color:var(--gold-deep)}
.tpl-fab .dot3{display:inline-flex;gap:3px}
.tpl-fab .dot3 i{width:9px;height:9px;border-radius:50%}
.tpl-panel{position:fixed;left:24px;bottom:84px;z-index:131;width:min(340px,calc(100vw - 36px));background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:20px;opacity:0;visibility:hidden;transform:translateY(14px) scale(.98);transform-origin:bottom left;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.tpl-panel.open{opacity:1;visibility:visible;transform:none}
.tpl-panel .tp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.tpl-panel h4{font-family:var(--font-head);font-size:1.18rem;color:var(--ink)}
.tpl-panel .tp-close{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:transparent;cursor:pointer;color:var(--slate);font-size:18px;line-height:1}
.tpl-panel .tp-sub{font-size:.82rem;color:var(--slate);margin-bottom:16px}
.tpl-list{display:flex;flex-direction:column;gap:9px}
.tpl-opt{display:flex;align-items:center;gap:13px;padding:11px 12px;border:1.5px solid var(--line);border-radius:13px;cursor:pointer;background:var(--paper);transition:border-color .25s var(--ease),background .25s var(--ease),transform .2s var(--ease);text-align:left;width:100%;font-family:var(--font-body)}
.tpl-opt:hover{transform:translateX(2px);background:var(--mist)}
.tpl-opt.active{border-color:var(--gold);background:var(--mist)}
.tpl-sw{display:inline-flex;flex-shrink:0;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.tpl-sw i{width:14px;height:34px;display:block}
.tpl-opt .tp-name{font-weight:600;font-size:.92rem;color:var(--ink);display:block;line-height:1.2}
.tpl-opt .tp-tag{font-size:.76rem;color:var(--slate);display:block;margin-top:1px}
.tpl-opt .tp-check{margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:.25s}
.tpl-opt .tp-check svg{width:12px;height:12px;color:#fff;opacity:0;transition:.2s}
.tpl-opt.active .tp-check{background:var(--gold);border-color:var(--gold)}
.tpl-opt.active .tp-check svg{opacity:1}

/* ============================================================
   RESPONSIVE — mega + nav breakpoints + mobile accordion
   ============================================================ */
@media(max-width:1080px){
  .mega{grid-template-columns:1fr 1fr;width:min(620px,calc(100vw - 36px))}
  .mega-feature{grid-column:1 / -1}
}
@media(max-width:1024px){
  .nav{display:none}
  .header-cta .btn{display:none}
  .burger{display:flex}
}

/* mobile menu — accordion groups */
.mmenu .m-group{border-bottom:1px solid var(--line)}
.mmenu .m-acc{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 6px;background:none;border:0;font-family:var(--font-body);font-weight:600;font-size:1.05rem;color:var(--ink);cursor:pointer}
.mmenu .m-acc .chev{width:20px;height:20px;color:var(--slate);transition:transform .3s var(--ease)}
.mmenu .m-group.open .m-acc .chev{transform:rotate(180deg)}
.mmenu .m-sub{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.mmenu .m-sub a{display:block;padding:11px 6px 11px 18px;font-size:.95rem;color:var(--slate);border-bottom:0;font-weight:500}
.mmenu .m-sub a:last-child{padding-bottom:16px}
.mmenu nav > a.ml{padding:15px 6px}
.tpl-mini{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.tpl-mini .lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-light);font-weight:700;margin-bottom:11px;display:block}
.tpl-mini .row{display:flex;gap:9px;flex-wrap:wrap}
.tpl-mini button{width:40px;height:40px;border-radius:11px;border:2px solid var(--line);cursor:pointer;padding:0;overflow:hidden;display:inline-flex}
.tpl-mini button.active{border-color:var(--gold)}
.tpl-mini button i{flex:1;height:100%}

@media(max-width:520px){
  .tpl-fab span.lbl{display:none}
  .tpl-fab{padding:13px;left:16px;bottom:16px}
  .tpl-panel{left:16px;bottom:74px}
}

/* refined focus ring picks up accent */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2.5px solid var(--gold);outline-offset:3px;border-radius:4px}

/* nicer custom scrollbar */
html{scrollbar-color:var(--gold-deep) var(--mist)}


/* ---- template-specific hero rhythm fixes ---- */
html[data-tpl="onyx"] .hero-v2 h1,html[data-tpl="emerald"] .hero-v2 h1{line-height:1.1}
html[data-tpl="onyx"] .hero-v2 h1{font-size:clamp(2.7rem,5vw,4.3rem)}
html[data-tpl="onyx"] .hero p.sub,html[data-tpl="onyx"] .hero-v2 .sub{margin-top:30px}
html[data-tpl="onyx"] .pbanner h1{line-height:1.12}
.hero-pill{white-space:normal}

/* ---- extra smoothness ---- */
.nav .navlink{transition:color .25s var(--ease)}
.card,.vcard,.cs,.post,.quote{will-change:transform}
.mega-link b,.mega-link span{transition:color .2s var(--ease)}
.brand-mark{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.04)}
.header{transition:box-shadow .35s var(--ease),background .35s var(--ease),height .35s var(--ease)}
img{transition:none}

/* ---- super-responsive: tablet & phone refinements ---- */
@media(max-width:1024px){
  .tpl-fab{bottom:84px}
}
@media(max-width:760px){
  .topbar .wrap{height:auto;padding:8px 20px;gap:6px;flex-wrap:wrap;justify-content:center}
  .topbar-left{gap:14px;justify-content:center;flex-wrap:wrap}
  .topbar-right{display:none}
  .header .wrap{height:68px}
  .brand-mark{width:40px;height:40px}
  .brand-text b{font-size:1.04rem}
  .brand-text small{font-size:9.5px;letter-spacing:.13em}
  .mmenu{width:min(360px,90vw);padding:22px}
}
@media(max-width:400px){
  .brand-text small{display:none}
  .header .wrap{height:62px}
  .tpl-fab{bottom:78px}
}

/* ---- keep back-to-top + template fab from colliding on mobile ---- */
@media(max-width:520px){
  .to-top{bottom:74px}
}

/* ============================================================
   WORDPRESS INTEGRATION  — wp_nav_menu, widgets, comments,
   pagination, alignment, Elementor full-width reset
   ============================================================ */

/* Primary nav rendered by wp_nav_menu (nav.nav > ul.nav-menu > li > a) */
.nav .nav-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav .nav-menu li{position:relative}
.nav .nav-menu > li > a{display:block;position:relative;padding:10px 13px;font-weight:500;font-size:.92rem;color:var(--ink);border-radius:8px;transition:color .2s;white-space:nowrap}
.nav .nav-menu > li > a:hover{color:var(--navy-900)}
.nav .nav-menu > li.menu-item-has-children > a{padding-right:24px}
.nav .nav-menu > li.menu-item-has-children > a::before{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-65%) rotate(45deg);opacity:.5}
.nav .nav-menu .current-menu-item > a,.nav .nav-menu .current-menu-ancestor > a{color:var(--navy-900)}
.nav .nav-menu .current-menu-item > a::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--gold)}
/* dropdowns */
.nav .sub-menu{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;min-width:240px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .26s var(--ease);z-index:60}
.nav .nav-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu li a{display:block;padding:11px 13px;border-radius:9px;font-size:.9rem;font-weight:500;color:var(--ink);transition:background .2s;white-space:nowrap}
.nav .sub-menu li a:hover{background:var(--mist)}

/* mobile drawer menu (wp_nav_menu ul.mmenu-list) */
.mmenu .mmenu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;overflow-y:auto}
.mmenu .mmenu-list a{display:block;padding:14px 6px;border-bottom:1px solid var(--line);font-weight:500;font-size:1.05rem;color:var(--ink)}
.mmenu .mmenu-list .sub-menu{list-style:none;margin:0;padding:0 0 0 14px}
.mmenu .mmenu-list .sub-menu a{font-size:.96rem;color:var(--slate)}

/* footer menus + widgets */
.foot-col ul,.foot-col .menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot-col ul a{font-size:.92rem;transition:color .2s,padding .2s}
.foot-col ul a:hover{color:var(--gold);padding-left:4px}
.foot-col.widget select{width:100%;padding:10px;border-radius:8px}

/* pagination */
.esv-pagination .nav-links{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.esv-pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font-weight:600;color:var(--navy-900);transition:.25s}
.esv-pagination .page-numbers:hover,.esv-pagination .page-numbers.current{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}

/* comments */
.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.comment-body{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;margin-top:6px}
.comment-form .submit,.entry-content .wp-block-button__link{display:inline-flex;align-items:center;gap:10px;font-weight:600;padding:14px 26px;border-radius:50px;background:var(--gold);color:var(--navy-900);border:0;cursor:pointer}

/* search form */
.search-form{display:flex;gap:10px}
.search-form .search-field{flex:1;padding:13px 16px;border:1px solid var(--line);border-radius:50px;background:#fff;font-family:inherit}
.search-form .search-submit{padding:13px 24px;border-radius:50px;border:0;background:var(--navy-900);color:#fff;font-weight:600;cursor:pointer}

/* WP core alignment + media */
.entry-content img{height:auto;border-radius:12px}
.alignleft{float:left;margin:6px 28px 18px 0}
.alignright{float:right;margin:6px 0 18px 28px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.wp-caption-text,.wp-element-caption{font-size:.85rem;color:var(--slate);text-align:center;margin-top:8px}
.entry-content blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 22px;margin:24px 0;font-family:Newsreader,serif;font-size:1.3rem;color:var(--navy-900);font-style:italic}

/* Elementor / full-width content reset */
.esv-fullwidth-content{width:100%}
.esv-elementor-active .entry-content{max-width:none}
body.esv-canvas{overflow-x:hidden}

/* admin bar offset for sticky header */
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}


/* ============================================================
   MOBILE MENU ACCORDION (WordPress nested wp_nav_menu)
   ============================================================ */
.mmenu .mmenu-list,.mmenu .mmenu-list ul{list-style:none;margin:0;padding:0}
.mmenu .mmenu-list > li{border-bottom:1px solid var(--line)}
.mmenu .mmenu-list a{display:block;padding:15px 6px;font-weight:500;font-size:1.05rem;color:var(--ink)}
.mmenu .menu-item-has-children{position:relative}
.mmenu .menu-item-has-children > a{width:calc(100% - 50px)}
.mmenu .m-toggle{position:absolute;right:0;top:8px;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--paper);cursor:pointer;color:var(--slate);display:grid;place-items:center;padding:0}
.mmenu .m-toggle svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.mmenu .menu-item-has-children.open > .m-toggle svg{transform:rotate(180deg)}
.mmenu .mmenu-list .sub-menu{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);padding-left:16px}
.mmenu .mmenu-list .sub-menu a{font-size:.95rem;color:var(--slate);padding:11px 6px;border-bottom:0}
.mmenu .mmenu-list .sub-menu .sub-menu{padding-left:14px}


/* mega panel must anchor to the header, not the narrow <li> */
.nav .nav-menu li.has-mega{position:static}
.nav .nav-menu li.has-mega > .mega{margin-top:0}


/* ====================================================================
   v5.2 — PREMIUM homepage polish (service cards, steps, testimonials,
   posts). theme.css overrides — applies site-wide consistently.
   ==================================================================== */
.cards{gap:26px}
.card{border-radius:22px;border-color:#e7ebf4;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 42px -32px rgba(13,26,56,.24)}
.card::after{height:3px;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.card .ico{background:linear-gradient(140deg,var(--navy-700,#11264c),var(--navy-900,#08122a));border-radius:15px}
.card:hover .ico{background:linear-gradient(140deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.card:hover{transform:translateY(-7px)}

/* process steps — numbered chips with gradient */
.step .n{background:linear-gradient(120deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.step .dot .c{box-shadow:0 0 0 6px rgba(200,162,76,.12)}

/* testimonials — lift + gold corner */
.quote{border-radius:22px;border-color:#e7ebf4;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -34px rgba(13,26,56,.22);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.quote:hover{transform:translateY(-5px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 28px 58px -34px rgba(13,26,56,.34)}
.quote .mark{color:var(--gold,#c8a24c);opacity:.16;font-size:3rem;line-height:1}

/* insight/blog post cards */
.post{border-radius:20px;border-color:#e7ebf4;overflow:hidden;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 42px -34px rgba(13,26,56,.22);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.post:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 30px 60px -34px rgba(13,26,56,.36)}
.post .ph img{transition:transform .6s var(--ease)}
.post:hover .ph img{transform:scale(1.05)}

/* section eyebrow — refined gold */
.eyebrow{letter-spacing:.14em}


/* v5.19: custom header logo image */
.header .brand-logo{display:inline-flex;align-items:center}
.header .brand-logo .site-logo-img{max-height:48px;width:auto;height:auto;display:block}
@media(max-width:600px){.header .brand-logo .site-logo-img{max-height:40px}}


/* v5.21: testimonial avatar lightbox */
.quote .av-zoom{padding:0;border:0;background:none;cursor:zoom-in;border-radius:50%;line-height:0;transition:transform .25s var(--ease,cubic-bezier(.22,.61,.36,1))}
.quote .av-zoom:hover{transform:scale(1.06)}
.quote .av-zoom .av{display:block}
.testi-lightbox{position:fixed;inset:0;z-index:10010;background:rgba(6,12,28,.92);display:flex;align-items:center;justify-content:center;padding:40px}
.rm-who .av{cursor:zoom-in}
.testi-lightbox[hidden]{display:none}
.testi-lightbox img{max-width:92vw;max-height:86vh;border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.testi-lightbox .tl-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s}
.testi-lightbox .tl-close:hover{background:rgba(255,255,255,.24)}


/* v5.23: footer logo */
.footer .foot-logo .foot-logo-img{max-height:54px;width:auto;height:auto;display:block;margin-bottom:16px}


/* ====================================================================
   v5.26 — GLOBAL POLISH + RESPONSIVE HARDENING (CSS only, site-wide)
   ==================================================================== */
:root{ --ease:cubic-bezier(.22,.61,.36,1); }
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; }
img,svg,video{ max-width:100%; }
body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:clip; }
::selection{ background:rgba(200,162,76,.28); }

/* consistent, premium focus ring for keyboard users (a11y) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
	outline:2px solid var(--gold,#c8a24c);outline-offset:2px;border-radius:6px;
}

/* smoother global transitions on interactive elements */
a,.btn,button,.card,.job-card,.cand-card,.price-card,.quote,.post{ transition-timing-function:var(--ease); }

/* refined buttons */
.btn{ letter-spacing:.01em; will-change:transform; }
.btn:active{ transform:translateY(1px) scale(.995); }

/* fluid type so headings scale gracefully on every screen */
h1{ overflow-wrap:break-word; }
.wrap{ width:100%; box-sizing:border-box; }

/* ---- responsive hardening: never allow horizontal overflow ---- */
.jobs-grid,.cards,.cand-gallery,.testi-grid,.posts,.pricing-grid,.emp-grid,.stat-cards,.metric-grid{ min-width:0; }
.job-card,.card,.cand-card,.price-card,.quote,.post,.dash-panel,.auth-card{ min-width:0; }
.cr-facts{ min-width:0; }
table.dash-table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
pre,code{ white-space:pre-wrap; word-break:break-word; }

@media(max-width:1100px){
	.wrap{ padding-left:22px;padding-right:22px; }
}
@media(max-width:900px){
	.section{ padding-top:54px;padding-bottom:54px; }
}
@media(max-width:680px){
	.section{ padding-top:42px;padding-bottom:42px; }
	.btn{ padding:12px 18px;font-size:.93rem; }
	h1{ font-size:clamp(1.8rem,7vw,2.4rem); }
	.wrap{ padding-left:18px;padding-right:18px; }
}
@media(max-width:420px){
	.btn{ width:100%;justify-content:center; }
	.hero-actions .btn,.actions .btn{ width:100%; }
}

/* reduced motion: respect user preference */
@media(prefers-reduced-motion:reduce){
	*,*::before,*::after{ animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important; }
}


/* ---------- v5.50: testimonials slider + read-full modal ---------- */
.testi-slider{position:relative;margin-top:10px}
.testi-viewport{overflow:hidden}
.testi-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform}
.testi-track .quote{flex:0 0 calc((100% - 48px)/3);box-sizing:border-box;margin:0;display:flex;flex-direction:column}
.testi-track .q-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.q-more{align-self:flex-start;background:none;border:0;padding:0;margin:0 0 8px;color:var(--gold-deep,#b18a35);font-family:inherit;font-weight:700;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.q-more:hover{color:var(--navy-900,#08122a)}
.testi-track .who{margin-top:auto}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px}
.testi-arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line,#e4e8f1);background:#fff;color:var(--navy-900,#08122a);cursor:pointer;display:grid;place-items:center;transition:.22s;box-shadow:0 6px 18px -10px rgba(13,26,56,.3)}
.testi-arrow svg{width:20px;height:20px}
.testi-arrow:hover:not(:disabled){background:var(--navy-900,#08122a);color:#fff;border-color:var(--navy-900,#08122a)}
.testi-arrow:disabled{opacity:.35;cursor:default}
.testi-dots{display:flex;gap:8px}
.testi-dot{width:9px;height:9px;border-radius:50%;border:0;background:#cfd6e6;cursor:pointer;padding:0;transition:.22s}
.testi-dot.active{background:var(--gold,#c8a24c);width:26px;border-radius:50px}
/* full-review modal */
.review-modal{position:fixed;inset:0;z-index:9999;background:rgba(6,12,28,.9);display:flex;align-items:center;justify-content:center;padding:24px}
.review-modal[hidden]{display:none}
.rm-card{position:relative;background:#fff;border-radius:20px;max-width:640px;width:100%;max-height:88vh;display:flex;flex-direction:column;padding:40px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:rmIn .35s cubic-bezier(.22,.61,.36,1) both}
@keyframes rmIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.rm-close{position:absolute;top:14px;right:16px;width:42px;height:42px;border:0;background:var(--mist,#f4f6fb);border-radius:50%;font-size:24px;line-height:1;cursor:pointer;color:var(--slate,#5a6680);z-index:2}
.rm-close:hover{background:#e6eaf3}
.rm-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:0 40px 16px 0;margin-bottom:16px;border-bottom:1px solid var(--line,#e4e8f1)}
.rm-who{display:flex;align-items:center;gap:14px}
.rm-who .av{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none}
.rm-who b{display:block;color:var(--navy-900,#08122a);font-size:1rem}
.rm-who span{color:var(--slate,#5a6680);font-size:.9rem}
.rm-stars{color:var(--gold,#c8a24c);letter-spacing:3px;font-size:1.05rem;flex:none}
.rm-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch}
.rm-scroll::-webkit-scrollbar{width:8px}
.rm-scroll::-webkit-scrollbar-thumb{background:#d4dbea;border-radius:8px}
.rm-scroll::-webkit-scrollbar-thumb:hover{background:#b9c2d6}
.rm-text{font-size:1.12rem;line-height:1.75;color:var(--ink,#151f33);margin:0}
.rm-text .rm-p{display:block}
.rm-text .rm-p + .rm-p{margin-top:1.05em}
@media(max-width:1080px){.testi-track .quote{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:760px){.testi-track .quote{flex-basis:100%}.rm-card{padding:30px 22px}}


/* ---------- v5.50.2: testimonials visibility guarantee ---------- */
/* Force the slider and its cards to stay visible regardless of any reveal/
   animation state — they must never be hidden by opacity/transform fallbacks. */
.testi-slider,.testi-slider .testi-viewport,.testi-slider .testi-track,.testi-slider .quote{opacity:1!important;visibility:visible!important}
.testi-slider .quote{animation:none!important}
.testi-viewport{overflow:hidden}
.testi-track{transform:none}


/* ---------- v5.52: testimonials side arrows ---------- */
.testi-slider{position:relative}
.testi-side{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;border-radius:50%;border:1px solid var(--line,#e4e8f1);background:#fff;color:var(--navy-900,#08122a);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 30px -10px rgba(13,26,56,.45);transition:.22s}
.testi-side svg{width:22px;height:22px}
.testi-side.prev{left:-22px}
.testi-side.next{right:-22px}
.testi-side:hover:not(:disabled){background:var(--navy-900,#08122a);color:#fff;border-color:var(--navy-900,#08122a)}
.testi-side:disabled{opacity:.32;cursor:default;box-shadow:none}
.testi-controls{display:flex;justify-content:center;margin-top:28px}
@media(max-width:1240px){.testi-side.prev{left:6px}.testi-side.next{right:6px}}
@media(max-width:760px){.testi-side{width:44px;height:44px}.testi-side.prev{left:0}.testi-side.next{right:0}}


/* ---------- v5.54: premium testimonial card (header on top) ---------- */
.testi-track .quote{position:relative;background:#fff;border:1px solid #ececf3;border-radius:22px;padding:30px 28px;box-shadow:0 2px 4px rgba(13,26,56,.04),0 24px 50px -34px rgba(13,26,56,.4);overflow:hidden}
.testi-track .quote::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold,#c8a24c),#e7d29a)}
.q-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.q-head .av,.q-head .av-zoom{width:60px;height:60px;border-radius:50%;flex:0 0 60px;padding:0;border:0;background:none;cursor:pointer;overflow:hidden}
.q-head .av img,.q-head .av{width:60px;height:60px;border-radius:50%;object-fit:cover;display:block}
.q-head .av-fallback{display:grid;place-items:center;background:linear-gradient(140deg,var(--navy-700,#11264c),var(--navy-900,#08122a));color:var(--gold,#c8a24c);font-family:"Newsreader",serif;font-size:1.5rem;font-weight:600;cursor:default}
.q-head .av img{box-shadow:0 0 0 3px rgba(200,162,76,.25)}
.q-id{flex:1;min-width:0}
.q-id b{display:block;font-family:"Newsreader",serif;font-size:1.12rem;color:var(--navy-900,#08122a);line-height:1.2}
.q-id span{display:block;font-size:.82rem;color:var(--slate,#5a6680);margin-top:2px}
.q-id .stars{color:var(--gold,#c8a24c);letter-spacing:2px;font-size:.85rem;margin-top:6px}
.q-mark{font-family:"Newsreader",serif;font-size:3.4rem;line-height:.6;color:rgba(200,162,76,.28);align-self:flex-start;margin-left:auto}
.testi-track .q-text{color:var(--ink,#1e2538);font-size:1rem;line-height:1.72;margin:0 0 16px}
.q-more{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;margin-top:auto;color:var(--gold-deep,#b18a35);font-family:inherit;font-weight:700;font-size:.86rem;cursor:pointer}
.q-more svg{width:15px;height:15px;transition:transform .25s}
.q-more:hover{color:var(--navy-900,#08122a)}
.q-more:hover svg{transform:translateX(4px)}
.testi-track .quote:hover{border-color:#e2d5ab;box-shadow:0 2px 4px rgba(13,26,56,.05),0 30px 60px -32px rgba(13,26,56,.5)}


/* v5.63: reorderable homepage sections (SMG → Homepage Sections → Position) */
.esv-home{display:flex;flex-direction:column}
.esv-home > section,.esv-home > .esv-ord{width:100%}


/* v5.64: SMG option — hide an element on mobile */
@media(max-width:680px){.esv-hide-mobile{display:none !important;}}


/* v5.66: booking/payment embed (Calendly) under How It Works sections */
.esv-embed-wrap{margin-top:46px;max-width:1080px;margin-left:auto;margin-right:auto}
.esv-embed-h{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:clamp(1.4rem,2.4vw,1.9rem);text-align:center;color:var(--navy-900,#08122a);margin:0 0 22px}
.esv-embed{border:1px solid var(--line,#e4e8f1);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -32px rgba(13,26,56,.22)}
.esv-embed iframe,.esv-embed .calendly-inline-widget{display:block;width:100%;border:0}
/* Calendly inline widget: neutralise its inline 2200px height + min-width. A
   small listener (theme.js) sets the exact content height Calendly reports, so
   there is no empty padding and no internal scrollbar. The values below are
   just the initial height before that message arrives. */
.esv-embed{overflow:visible}
.esv-embed .calendly-inline-widget{min-width:0!important;max-width:100%!important;height:1000px;border-radius:18px;overflow:hidden}
.esv-embed iframe{max-width:100%!important}
@media(max-width:680px){.esv-embed-wrap{margin-top:30px}}


/* v6.03: testimonial line breaks render on the card (data already keeps newlines) */
.testi .q-text{white-space:pre-line}


/* ====================================================================
   v6.10 — SINGLE PAGE WIDTH GUARD (case study + candidate story).
   Guarantees a full, professional page width on every device, even if a
   cached asset is stale. Lives in the CORE stylesheet so it always loads.
   ==================================================================== */
.cs-single,.st-single{width:100%;max-width:100%;display:block;float:none}
.cs-single > .section,.st-single > .section{width:100%;max-width:100%}
.cs-single .wrap,.st-single .wrap{width:100%;max-width:var(--wrap,1240px);margin-left:auto;margin-right:auto;box-sizing:border-box}
.cs-single .cs-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;width:100%;align-items:start}
.cs-single .cs-main{max-width:780px;width:100%}
.st-single .st-body{width:100%;max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:980px){
	.cs-single .cs-body{grid-template-columns:1fr;gap:38px}
	.cs-single .cs-main{max-width:none}
	.cs-single .cs-side{position:static}
}


/* ====================================================================
   v6.14 — case study / story single: clean WIDE centered layout.
   No negative-margin full-bleed (that shifted the hero off-screen).
   ==================================================================== */
.cs-single,.st-single{width:100%;max-width:100%;overflow-x:clip}
.cs-single .wrap,.st-single .wrap{width:100%;max-width:1340px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.cs-single .cs-body{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:60px;width:100%;align-items:start}
.cs-single .cs-main{max-width:none;width:100%}
.cs-single .cs-val,.cs-single .cs-summary .cs-val{max-width:74ch}
.st-single .st-body{max-width:920px;margin-left:auto;margin-right:auto;width:100%}
@media(max-width:980px){
	.cs-single .cs-body{grid-template-columns:1fr;gap:38px}
	.cs-single .cs-side{position:static}
}


/* ====================================================================
   v6.17 — Candidate Stories & Case Studies ARCHIVE cards: show the
   FULL featured image (no crop), tasteful letterbox fill + framing.
   Scoped to those CPT archives so the blog grid is unaffected.
   ==================================================================== */
.post-type-archive-esv_story .posts,
.post-type-archive-esv_case .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-type-archive-esv_story .post,
.post-type-archive-esv_case .post{border-radius:20px;overflow:hidden;border:1px solid #e7ebf4;background:#fff;box-shadow:0 1px 2px rgba(13,26,56,.05),0 20px 46px -34px rgba(13,26,56,.28)}
.post-type-archive-esv_story .post .ph,
.post-type-archive-esv_case .post .ph{aspect-ratio:16/10;overflow:hidden;position:relative;background:linear-gradient(150deg,#11264c,#08122a)}
/* blurred fill behind + full contained image on top → nothing cropped */
.post-type-archive-esv_story .post .ph img,
.post-type-archive-esv_case .post .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;padding:10px;box-sizing:border-box}
.post-type-archive-esv_story .post .ph::before,
.post-type-archive-esv_case .post .ph::before{content:"";position:absolute;inset:-10%;background-size:cover;background-position:center;filter:blur(22px) saturate(1.15);opacity:.5;z-index:0}
.post-type-archive-esv_story .post .body,
.post-type-archive-esv_case .post .body{padding:24px 24px 26px}
@media(max-width:1080px){.post-type-archive-esv_story .posts,.post-type-archive-esv_case .posts{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.post-type-archive-esv_story .posts,.post-type-archive-esv_case .posts{grid-template-columns:1fr}}


/* ====================================================================
   v6.18 — DEFINITIVE no-crop card images for Candidate Stories &
   Case Studies. Fixed professional 3:2 frame, full image contained,
   soft fill + padding. !important so the base cover rule can't win.
   ==================================================================== */
.post-type-archive-esv_story .post .ph,
.post-type-archive-esv_case .post .ph,
.tax-esv_story .post .ph,
.esv-uncrop .post .ph,
.esv-uncrop .ph{
	aspect-ratio:3/2 !important;
	overflow:hidden !important;
	position:relative !important;
	background:linear-gradient(150deg,#11264c,#08122a) !important;
	border-radius:16px !important;
}
.post-type-archive-esv_story .post .ph img,
.post-type-archive-esv_case .post .ph img,
.tax-esv_story .post .ph img,
.esv-uncrop .post .ph img,
.esv-uncrop .ph img{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	object-fit:contain !important;
	object-position:center !important;
	padding:12px !important;
	box-sizing:border-box !important;
	transform:none !important;
}

/* v6.80 hide breadcrumbs */
.pbanner .crumb,.crumb{display:none !important}


/* ============================================================
   v7.60 — Flat, professional hero/banner: solid colour only.
   Removes the dotted-route SVG grid and all gradient glows.
   ============================================================ */
.hero::before,.hero::after,
.pbanner::before,.pbanner::after,
.hero-map,.pbanner .pb-map,
.cs-hero-overlay,.st-hero-bg,.cs-hero-bg{
	display:none !important;background:none !important;
}
.hero,.pbanner{
	background:var(--navy-900) !important;
}


/* ============================================================
   v7.61 — Homepage hero: premium, editorial, "million-dollar".
   Pure solid colour (no gradient), refined type + justified copy.
   Scoped to .hero-v2 so inner banners stay flat.
   ============================================================ */
.hero-v2{background:var(--navy-900) !important;padding:clamp(56px,7vw,104px) 0 clamp(60px,7vw,108px);position:relative;isolation:isolate}
/* fine gold hairline top + bottom for a crafted, luxury frame */
.hero-v2::after{content:"" !important;display:block !important;position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold,#c8a24c),transparent);opacity:.5;pointer-events:none;z-index:2}
.hero-v2 .hero-grid{gap:clamp(40px,5vw,84px);align-items:center}

/* eyebrow pill — refined */
.hero-v2 .hero-pill{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#c8a24c);background:rgba(200,162,76,.08);border:1px solid rgba(200,162,76,.28);padding:9px 16px;border-radius:50px;margin-bottom:26px}

/* headline — larger, tighter, with a gold accent rule */
.hero-v2 .hero-copy h1{font-size:clamp(2.5rem,4.6vw,4.15rem);line-height:1.04;letter-spacing:-.025em;margin:0;font-weight:600;text-wrap:balance}
.hero-v2 .hero-copy h1 em{font-style:italic;color:var(--gold,#c8a24c)}
.hero-v2 .hero-copy h1::after{content:"";display:block;width:74px;height:3px;border-radius:3px;background:var(--gold,#c8a24c);margin:26px 0 0}

/* subtitle — JUSTIFIED both edges, refined measure + rhythm */
.hero-v2 .hero-copy .sub{text-align:justify;text-justify:inter-word;-webkit-hyphens:none;hyphens:none;max-width:56ch;margin:26px 0 0;font-size:clamp(1.02rem,1.15vw,1.18rem);line-height:1.85;color:rgba(226,232,244,.9)}
.hero-v2 .hero-copy .sub + .sub{margin-top:16px}

/* actions — premium spacing */
.hero-v2 .hero-actions{margin-top:36px;gap:14px}
.hero-v2 .hero-actions .btn{padding:16px 30px;font-size:.98rem;border-radius:50px}

/* trust badges — elegant divider row */
.hero-v2 .hero-badges{margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);gap:24px 30px}
.hero-v2 .hero-badges span{font-size:.86rem;letter-spacing:.01em;color:rgba(226,232,244,.82)}
.hero-v2 .hero-badges svg{color:var(--gold,#c8a24c)}

/* visual side — richer framing + depth on the portrait & floating cards */
.hero-v2 .hero-img{border-radius:22px;box-shadow:0 40px 90px -40px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.hero-v2 .hero-card.glass{box-shadow:0 24px 60px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08)}

@media(max-width:900px){
	.hero-v2 .hero-copy .sub{text-align:left;hyphens:none}
	.hero-v2 .hero-copy h1::after{margin-top:20px}
}


/* ============================================================
   v7.62 — Homepage hero: professional (shorter) height + polish.
   ============================================================ */
.hero-v2{padding:clamp(44px,4.6vw,72px) 0 clamp(48px,4.8vw,76px) !important}
.hero-v2 .hero-grid{align-items:center;gap:clamp(36px,4.4vw,72px)}
.hero-v2 .hero-pill{margin-bottom:20px}
.hero-v2 .hero-copy h1{font-size:clamp(2.35rem,4vw,3.6rem)}
.hero-v2 .hero-copy h1::after{margin-top:20px;height:3px;width:66px}
.hero-v2 .hero-copy .sub{margin-top:20px;font-size:clamp(1rem,1.05vw,1.12rem);line-height:1.75;max-width:54ch}
.hero-v2 .hero-actions{margin-top:30px}
.hero-v2 .hero-actions .btn{padding:14px 28px}
.hero-v2 .hero-badges{margin-top:30px;padding-top:22px;gap:18px 26px}
/* tighten the portrait so the section is balanced, not tall */
.hero-v2 .hero-visual{max-width:520px;margin-left:auto}
.hero-v2 .hero-img{aspect-ratio:4/3.4;border-radius:20px}
.hero-v2 .hero-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
	.hero-v2{padding:40px 0 46px !important}
	.hero-v2 .hero-visual{max-width:440px;margin:0 auto}
}


/* ============================================================
   v7.87 — Floating "pill" header + full-bleed hero (all pages)
   ============================================================ */
:root{
	--esv-pill-h:76px;              /* header height 72–80px */
	--esv-pill-top:22px;            /* top margin 20–24px */
	--esv-pill-max:1180px;          /* container max-width 1120–1200px */
	--esv-pill-px:32px;             /* horizontal padding 28–36px */
	--esv-headroom:calc(var(--esv-pill-h) + var(--esv-pill-top) + 16px);
}

/* Header becomes a transparent shell; the .wrap is the white floating pill. */
.header{position:sticky;top:var(--esv-pill-top);z-index:200;background:transparent !important;border-bottom:0 !important;backdrop-filter:none !important;padding:0}
.header > .wrap{
	max-width:var(--esv-pill-max);
	margin:0 auto;
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
	border:1px solid rgba(255,255,255,.85);
	border-radius:9999px;              /* true pill */
	min-height:var(--esv-pill-h);
	padding:18px var(--esv-pill-px);   /* vertical 18–20px · horizontal 28–36px */
	box-shadow:0 22px 50px -24px rgba(8,18,42,.36),0 2px 6px rgba(8,18,42,.05);
	transition:box-shadow .4s var(--ease),transform .4s var(--ease),background .3s,border-color .3s;
}
.header.scrolled > .wrap{
	background:rgba(255,255,255,.98);
	border-color:rgba(228,232,241,.9);
	box-shadow:0 26px 58px -22px rgba(8,18,42,.46),0 4px 12px rgba(8,18,42,.08);
	transform:translateY(-1px);
}
/* nav centered within the pill; brand left, CTA right */
.header > .wrap > .nav{margin:0 auto}
.header .nav .nav-menu > li > a{color:var(--ink)}
.header .brand-mark{transition:transform .35s var(--ease)}
.header .brand:hover .brand-mark{transform:rotate(-6deg) scale(1.05)}
/* refine the header CTA inside the pill */
.header .header-cta .btn-gold{box-shadow:0 8px 20px -8px rgba(200,162,76,.6)}

/* Pull the first hero/banner up UNDER the pill so it floats over the hero. */
.hero,.pbanner{margin-top:calc(-1 * var(--esv-headroom));padding-top:calc(var(--esv-headroom) + 34px)!important;position:relative}
.admin-bar .header{top:calc(var(--esv-pill-top) + 32px)}
@media(max-width:782px){ .admin-bar .header{top:calc(var(--esv-pill-top) + 46px)} }

/* Full-bleed hero polish: richer overlay + bottom-left heading emphasis */
.pbanner{background:linear-gradient(160deg,#0b1a3a 0%,#08122a 60%)!important}
.pbanner::before{opacity:.9}
.pbanner .wrap{position:relative;z-index:2}
.pbanner h1{text-shadow:0 2px 30px rgba(0,0,0,.25)}

/* When a hero has a background image set (e.g. candidate page / featured heroes) */
.esv-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.esv-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,28,.86) 0%,rgba(6,12,28,.6) 45%,rgba(6,12,28,.35) 100%)}

/* Homepage hero: let the pill float over it too */
.hero{padding-top:calc(var(--esv-headroom) + 44px)!important}

/* ---- Responsive: pill hugs the edges, scales down cleanly ---- */
@media(max-width:1024px){
	:root{ --esv-pill-h:70px; --esv-pill-px:24px; }
	.header > .wrap{margin:0 20px;width:auto}
}
@media(max-width:768px){
	:root{ --esv-pill-h:62px; --esv-pill-top:14px; --esv-pill-px:18px; }
	.header > .wrap{margin:0 14px;padding:12px 18px;border-radius:9999px}
	.header .header-cta .btn:not(.burger){display:none} /* keep only burger on phones */
	.header .header-cta.is-member .btn{display:inline-flex} /* logged-in members keep Dashboard + Log out */
	.header .header-cta.is-member .btn{padding:9px 14px;font-size:.82rem}
	.header .burger{margin-left:auto}
}
@media(max-width:420px){
	:root{ --esv-pill-px:15px; }
	.header .brand-text small{display:none}
	.header .brand-text b{font-size:1.02rem}
}


/* ============================================================
   v7.88 — HERO proportions pass (spec-matched, authoritative).
   Layout & spacing only. Branding / colours / content untouched.
   ============================================================ */
.hero-v2 .wrap{max-width:1180px}
.hero-v2{padding:140px 0 120px !important;position:relative}
.hero-v2 .hero-grid{
	display:grid !important;
	grid-template-columns:55fr 45fr !important;
	gap:80px !important;
	align-items:center !important;
	padding:0 !important;
	min-height:560px;
}
/* left column rhythm (badge → h1 → divider → sub → actions → trust) */
.hero-v2 .hero-pill{margin:0 0 24px !important}
.hero-v2 .hero-copy h1{margin:0 !important}
.hero-v2 .hero-copy h1::after{margin:28px 0 0 !important}
.hero-v2 .hero-copy .sub{margin:32px 0 0 !important}
.hero-v2 .hero-copy .sub + .sub{margin-top:24px !important}
.hero-v2 .hero-actions{margin-top:36px !important}
.hero-v2 .hero-badges{margin-top:40px !important}
/* right column: balanced image, not oversized; rating card overlaps */
.hero-v2 .hero-visual{max-width:520px !important;margin-left:auto !important;width:100%}
.hero-v2 .hero-img{aspect-ratio:4/4.1 !important;border-radius:24px !important}
.hero-v2 .hero-card.rating{z-index:5}

/* Tablet: two columns, reduced gap + padding */
@media(max-width:1024px){
	.hero-v2{padding:100px 0 90px !important}
	.hero-v2 .hero-grid{gap:48px !important;min-height:0}
	.hero-v2 .hero-visual{max-width:460px !important}
}
/* Mobile: single column, text first, image second, centered */
@media(max-width:820px){
	.hero-v2{padding:80px 0 70px !important}
	.hero-v2 .hero-grid{grid-template-columns:1fr !important;gap:44px !important;text-align:center}
	.hero-v2 .hero-copy h1::after{margin-left:auto;margin-right:auto}
	.hero-v2 .hero-copy .sub{margin-left:auto;margin-right:auto;text-align:center !important}
	.hero-v2 .hero-actions,.hero-v2 .hero-badges{justify-content:center}
	.hero-v2 .hero-visual{max-width:420px !important;margin:0 auto !important;order:2}
	.hero-v2 .hero-copy{order:1}
}


/* ============================================================
   v7.89 — HERO enterprise redesign (AUTHORITATIVE, layout only).
   Overrides all earlier hero blocks. Brand colours/content intact.
   ============================================================ */
.hero-v2 .wrap{max-width:1360px !important}
.hero-v2{padding:150px 0 120px !important}
.hero-v2 .hero-grid{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;   /* true 50/50 */
	gap:72px !important;
	align-items:center !important;
	padding:0 !important;
	min-height:640px;
}
/* LEFT — hierarchy & rhythm */
.hero-v2 .hero-copy{max-width:600px}
.hero-v2 .hero-pill{margin:0 0 32px !important}
.hero-v2 .hero-copy h1{
	margin:0 !important;
	font-size:clamp(2.8rem,5.2vw,4.9rem) !important;  /* up to ~78px */
	font-weight:700 !important;
	line-height:1.02 !important;
	letter-spacing:-.03em !important;
}
.hero-v2 .hero-copy h1::after{margin:32px 0 0 !important;width:80px !important;height:3px !important}
.hero-v2 .hero-copy .sub{
	margin:36px 0 0 !important;
	max-width:560px !important;
	font-size:18px !important;
	line-height:1.8 !important;
	text-align:left !important;
	hyphens:none !important;
}
.hero-v2 .hero-copy .sub + .sub{margin-top:22px !important}
.hero-v2 .hero-actions{margin-top:36px !important;gap:14px}
.hero-v2 .hero-badges{margin-top:40px !important;padding-top:28px !important;gap:14px !important;border-top:1px solid rgba(255,255,255,.1)}
.hero-v2 .hero-badges span{padding:11px 18px !important;border-radius:9999px !important;font-size:.9rem !important;min-height:44px;display:inline-flex;align-items:center}
/* RIGHT — larger balanced image, soft shadow, sits slightly lower */
.hero-v2 .hero-visual{max-width:600px !important;width:100%;margin-left:auto !important;transform:translateY(18px)}
.hero-v2 .hero-img{aspect-ratio:4/4.35 !important;border-radius:28px !important;box-shadow:0 50px 90px -40px rgba(6,12,28,.7),0 12px 30px -18px rgba(6,12,28,.4) !important}
.hero-v2 .hero-img img{transition:transform 1.1s var(--ease)}
.hero-v2 .hero-visual:hover .hero-img img{transform:scale(1.04)}
/* rating / floating cards — glass + soft shadow */
.hero-v2 .hero-card{background:rgba(255,255,255,.14) !important;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.28) !important;border-radius:18px !important;box-shadow:0 24px 50px -26px rgba(6,12,28,.6) !important;z-index:5}

/* Tablet */
@media(max-width:1200px){
	.hero-v2{padding:110px 0 96px !important}
	.hero-v2 .hero-grid{gap:52px !important;min-height:0}
	.hero-v2 .hero-visual{max-width:520px !important}
}
/* Mobile — stack, text first, image below, centered */
@media(max-width:860px){
	.hero-v2{padding:84px 0 72px !important}
	.hero-v2 .hero-grid{grid-template-columns:1fr !important;gap:48px !important;text-align:center}
	.hero-v2 .hero-copy{max-width:none}
	.hero-v2 .hero-copy h1::after,.hero-v2 .hero-copy .sub{margin-left:auto !important;margin-right:auto !important}
	.hero-v2 .hero-copy .sub{text-align:center !important}
	.hero-v2 .hero-actions,.hero-v2 .hero-badges{justify-content:center}
	.hero-v2 .hero-visual{order:2;max-width:440px !important;margin:0 auto !important;transform:none}
	.hero-v2 .hero-copy{order:1}
}


/* ============================================================
   v7.90 — Ultra-wide header + hero (1440px) + typography polish.
   AUTHORITATIVE, layout only. Brand colours/content intact.
   ============================================================ */
:root{ --esv-pill-max:1440px; }
.header > .wrap{max-width:1440px !important;padding:18px 44px !important}
.hero-v2 .wrap{max-width:1440px !important;padding-left:44px !important;padding-right:44px !important}
.hero-v2{padding:158px 0 128px !important}
.hero-v2 .hero-grid{grid-template-columns:1.02fr .98fr !important;gap:88px !important;min-height:660px}

/* left: refined type rhythm & measure */
.hero-v2 .hero-copy{max-width:620px}
.hero-v2 .hero-copy h1{
	font-size:clamp(3rem,5.6vw,5.15rem) !important;   /* ~82px desktop */
	font-weight:700 !important;line-height:1.0 !important;letter-spacing:-.032em !important;
}
.hero-v2 .hero-copy h1::after{margin:34px 0 0 !important;width:88px !important}
.hero-v2 .hero-copy .sub{
	margin:36px 0 0 !important;max-width:548px !important;
	font-size:18px !important;line-height:1.85 !important;letter-spacing:.002em !important;
	color:rgba(226,232,244,.9) !important;text-align:left !important;
}
.hero-v2 .hero-copy .sub + .sub{margin-top:22px !important}
.hero-v2 .hero-pill{margin:0 0 30px !important;letter-spacing:.02em}
.hero-v2 .hero-actions{margin-top:38px !important}
.hero-v2 .hero-badges{margin-top:44px !important;padding-top:30px !important;gap:14px 16px !important}

/* right: larger, lower, richer framing */
.hero-v2 .hero-visual{max-width:640px !important;transform:translateY(22px)}
.hero-v2 .hero-img{aspect-ratio:4/4.5 !important;border-radius:30px !important;box-shadow:0 60px 110px -46px rgba(6,12,28,.72),0 16px 36px -20px rgba(6,12,28,.45) !important}

@media(max-width:1200px){
	.header > .wrap{padding:16px 26px !important}
	.hero-v2 .wrap{padding-left:26px !important;padding-right:26px !important}
	.hero-v2{padding:112px 0 96px !important}
	.hero-v2 .hero-grid{gap:54px !important;min-height:0}
	.hero-v2 .hero-visual{max-width:540px !important}
}
@media(max-width:860px){
	.hero-v2 .wrap{padding-left:20px !important;padding-right:20px !important}
	.hero-v2{padding:84px 0 72px !important}
	.hero-v2 .hero-grid{grid-template-columns:1fr !important;gap:48px !important}
	.hero-v2 .hero-copy{max-width:none}
	.hero-v2 .hero-copy .sub{max-width:none !important}
	.hero-v2 .hero-visual{max-width:440px !important;transform:none}
}


/* ============================================================
   v7.91 — remove full-width header layer on scroll + hero type polish
   ============================================================ */
/* Header shell must be fully transparent (no bar/shadow behind the pill). */
.header,.header.scrolled{background:transparent !important;box-shadow:none !important;border:0 !important;border-bottom:0 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.header::before,.header::after{display:none !important;content:none !important}

/* Hero body: justified both edges, professional word/line spacing, tighter. */
.hero-v2 .hero-copy .sub{
	text-align:justify !important;text-justify:inter-word !important;
	-webkit-hyphens:none !important;hyphens:none !important;word-spacing:.01em !important;
	max-width:560px !important;line-height:1.78 !important;
}
/* Tighten the overall vertical rhythm so there is no unnecessary emptiness. */
.hero-v2{padding:120px 0 104px !important}
.hero-v2 .hero-grid{gap:70px !important;min-height:0 !important;align-items:center !important}
.hero-v2 .hero-copy h1::after{margin-top:28px !important}
.hero-v2 .hero-copy .sub{margin-top:30px !important}
.hero-v2 .hero-copy .sub + .sub{margin-top:18px !important}
.hero-v2 .hero-actions{margin-top:34px !important}
.hero-v2 .hero-badges{margin-top:38px !important;padding-top:26px !important}
.hero-v2 .hero-visual{transform:translateY(10px)}
@media(max-width:860px){
	.hero-v2 .hero-copy .sub{text-align:center !important}
}


/* ============================================================
   v7.92 — hero header-gap, heading size, no underline, image size
   ============================================================ */
/* 25px clearance between the floating header pill and the heading. */
.hero-v2{padding-top:calc(var(--esv-headroom) + 25px) !important;padding-bottom:96px !important}
.hero-v2 .hero-grid{align-items:start !important}
.hero-v2 .hero-visual{align-self:center !important}
/* Refined, professional heading size + remove the gold underline. */
.hero-v2 .hero-copy h1{
	font-size:clamp(2.5rem,4.3vw,3.95rem) !important;
	font-weight:700 !important;line-height:1.06 !important;letter-spacing:-.028em !important;
}
.hero-v2 .hero-copy h1::after{display:none !important;content:none !important}
/* First element (badge) — tighten so heading gap reads as ~25px from pill. */
.hero-v2 .hero-pill{margin:0 0 22px !important}
.hero-v2 .hero-copy .sub{margin-top:26px !important}
/* Hero image ~ professional landscape 3:2 (≈540×360), balanced with text. */
.hero-v2 .hero-visual{max-width:540px !important;transform:none !important}
.hero-v2 .hero-img{aspect-ratio:3/2 !important;border-radius:24px !important}
@media(max-width:860px){
	.hero-v2{padding-top:calc(var(--esv-headroom) + 18px) !important}
	.hero-v2 .hero-grid{align-items:center !important}
	.hero-v2 .hero-visual{max-width:460px !important}
}


/* ============================================================
   v7.93 — hero portrait image (cover) + real header/text gap
   ============================================================ */
/* Clear, visible breathing space under the floating header. */
.hero-v2{padding-top:calc(var(--esv-headroom) + 60px) !important;padding-bottom:100px !important}
.hero-v2 .hero-grid{align-items:center !important}
/* Portrait image that ALWAYS fully covers its frame. */
.hero-v2 .hero-visual{max-width:500px !important;transform:none !important}
.hero-v2 .hero-img{aspect-ratio:3/4 !important;border-radius:26px !important;overflow:hidden !important}
.hero-v2 .hero-img img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center top !important;display:block !important}
@media(max-width:860px){
	.hero-v2{padding-top:calc(var(--esv-headroom) + 34px) !important}
	.hero-v2 .hero-visual{max-width:420px !important}
}


/* ============================================================
   v7.94 — hero body text: drop justify (kills big word-gaps),
   clean left measure with professional rhythm.
   ============================================================ */
.hero-v2 .hero-copy .sub{
	text-align:left !important;text-justify:auto !important;
	word-spacing:normal !important;letter-spacing:0 !important;
	-webkit-hyphens:none !important;hyphens:none !important;
	max-width:52ch !important;line-height:1.7 !important;
	font-size:17.5px !important;text-wrap:pretty;
}
.hero-v2 .hero-copy .sub + .sub{margin-top:16px !important}
@media(max-width:860px){ .hero-v2 .hero-copy .sub{text-align:center !important;max-width:60ch !important} }


/* ============================================================
   v7.95 — tighten hero copy gaps, hero→footer 60px, shorter image
   ============================================================ */
.hero-v2{padding-bottom:60px !important}
.hero-v2 .hero-pill{margin:0 0 18px !important}
.hero-v2 .hero-copy .sub{margin-top:22px !important}
.hero-v2 .hero-copy .sub + .sub{margin-top:12px !important}
.hero-v2 .hero-actions{margin-top:26px !important}
.hero-v2 .hero-badges{margin-top:28px !important;padding-top:22px !important}
/* shorter, professional portrait */
.hero-v2 .hero-visual{max-width:440px !important}
.hero-v2 .hero-img{aspect-ratio:4/4.2 !important}
@media(max-width:860px){ .hero-v2{padding-bottom:56px !important} .hero-v2 .hero-visual{max-width:380px !important} }


/* ============================================================
   v7.96 — credential marquee redesign (branded gradient + icon chips)
   ============================================================ */
.marquee-v2{background:linear-gradient(90deg,#0a1631 0%,#0c1c3e 50%,#0a1631 100%) !important;border-top:1px solid rgba(200,162,76,.18) !important;border-bottom:1px solid rgba(200,162,76,.18) !important}
.marquee-v2::before{background:linear-gradient(90deg,#0a1631,transparent) !important}
.marquee-v2::after{background:linear-gradient(270deg,#0a1631,transparent) !important}
.marquee-v2 .track{gap:0 !important;padding:16px 24px !important}
.marquee-v2 .item{gap:12px !important;color:#eef2fb !important;font-weight:600 !important;font-size:.95rem !important;letter-spacing:.005em !important;padding:0 34px !important;position:relative}
/* elegant gold dot separator between items */
.marquee-v2 .item::after{content:"" !important;position:absolute;right:-4px;top:50%;width:5px;height:5px;border-radius:50%;background:rgba(200,162,76,.55);transform:translateY(-50%)}
.marquee-v2 .mq-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(150deg,rgba(200,162,76,.22),rgba(200,162,76,.08));border:1px solid rgba(200,162,76,.28);flex:none}
.marquee-v2 .mq-ico svg{width:19px;height:19px;color:var(--gold,#c8a24c)}
.marquee-v2 .mq-txt{white-space:nowrap}
@media(max-width:600px){ .marquee-v2 .item{padding:0 22px !important;font-size:.88rem !important} .marquee-v2 .mq-ico{width:30px;height:30px} }


/* ============================================================
   v7.97 — tighten hero column gap (text ↔ image) + balance
   ============================================================ */
.hero-v2 .hero-grid{grid-template-columns:1.08fr .92fr !important;gap:48px !important}
.hero-v2 .hero-copy{max-width:600px}
.hero-v2 .hero-visual{margin-left:auto !important}
@media(max-width:1200px){ .hero-v2 .hero-grid{gap:40px !important} }
@media(max-width:860px){ .hero-v2 .hero-grid{gap:44px !important} }


/* ============================================================
   v7.98 — reduce section top/bottom padding site-wide (tighter,
   professional rhythm matching the compact hero).
   ============================================================ */
.section{padding:64px 0 !important}
@media(max-width:900px){ .section{padding:52px 0 !important} }
@media(max-width:600px){ .section{padding:44px 0 !important} }


/* ============================================================
   v7.99 — hero mobile: force single column (text, then image)
   ============================================================ */
@media(max-width:860px){
	.hero-v2 .hero-grid{display:block !important}
	.hero-v2 .hero-copy{max-width:none !important;margin:0 0 34px !important;text-align:center}
	.hero-v2 .hero-copy .sub{margin-left:auto !important;margin-right:auto !important}
	.hero-v2 .hero-actions,.hero-v2 .hero-badges{justify-content:center !important}
	.hero-v2 .hero-visual{max-width:400px !important;margin:0 auto !important;float:none !important}
}


/* ============================================================
   v8.46 — hero image: show the FULL image (no crop), keep layout.
   Overrides all earlier object-fit:cover / fixed aspect-ratio rules.
   ============================================================ */
.hero-v2 .hero-visual{align-self:center !important}
/* Frame adapts to the image instead of forcing a crop ratio. */
.hero-v2 .hero-img{aspect-ratio:auto !important;height:auto !important;overflow:visible !important;background:transparent !important}
.hero-v2 .hero-img img{
	width:100% !important;
	height:auto !important;
	max-height:none !important;
	object-fit:contain !important;
	object-position:center !important;
	display:block !important;
	border-radius:inherit;
}
/* the subtle bottom gradient overlay assumes a cropped photo — drop it so
   it never sits over empty space on a contained image */
.hero-v2 .hero-img::after{display:none !important}


/* v8.47 — hero image slider (only when 2+ images added in SMG) */
.hero-v2 .hero-slider{position:relative}
.hero-v2 .hero-slider .hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s var(--ease);pointer-events:none}
.hero-v2 .hero-slider .hero-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.hero-v2 .hero-slider .hero-slide img{width:100% !important;height:auto !important;object-fit:contain !important;display:block;border-radius:inherit}
.hero-v2 .hero-slide-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--navy-900);box-shadow:0 6px 18px rgba(8,18,42,.28);transition:background .2s,transform .2s}
.hero-v2 .hero-slide-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.hero-v2 .hero-slide-nav svg{width:20px;height:20px}
.hero-v2 .hero-slide-nav.prev{left:12px}
.hero-v2 .hero-slide-nav.next{right:12px}
.hero-v2 .hero-slide-dots{position:absolute;left:0;right:0;bottom:14px;z-index:6;display:flex;justify-content:center;gap:8px}
.hero-v2 .hero-slide-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.55);transition:background .2s,transform .2s}
.hero-v2 .hero-slide-dots button.is-active{background:#fff;transform:scale(1.3)}
@media(max-width:600px){.hero-v2 .hero-slide-nav{width:34px;height:34px}}


/* v8.49 — hero image premium framing (rounded corners + soft border on every slide) */
.hero-v2 .hero-img,.hero-v2 .hero-slider{border-radius:24px !important;overflow:hidden !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 40px 90px -42px rgba(6,12,28,.72),0 12px 30px -18px rgba(6,12,28,.42) !important;background:rgba(255,255,255,.04)}
.hero-v2 .hero-img img,.hero-v2 .hero-slide img{border-radius:22px !important}
.hero-v2 .hero-slider .hero-slide{border-radius:22px;overflow:hidden}


/* v8.50 — hero floating cards: stronger contrast over slider images */
.hero-v2 .hero-slider ~ .hero-card,.hero-v2 .hero-card.glass{
	background:rgba(255,255,255,.96) !important;
	backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);
	border:1px solid rgba(255,255,255,.9) !important;
	box-shadow:0 24px 60px -22px rgba(6,12,28,.6),0 6px 18px -8px rgba(6,12,28,.4) !important;
	color:var(--navy-900) !important;z-index:7 !important;
}
.hero-v2 .hero-card.glass b,.hero-v2 .hero-card.glass span,.hero-v2 .hero-card.glass i{color:var(--navy-900) !important}
.hero-v2 .hero-card .stars,.hero-v2 .hero-card .ring i{color:var(--gold-deep) !important}


/* v8.51 — hero image: clearly visible premium border on all sides (override) */
.hero-v2 .hero-img,.hero-v2 .hero-slider{
	border:3px solid rgba(255,255,255,.55) !important;
	border-radius:24px !important;
	overflow:hidden !important;
	box-shadow:0 0 0 1px rgba(200,162,76,.35),0 40px 90px -42px rgba(6,12,28,.72),0 12px 30px -18px rgba(6,12,28,.42) !important;
	background:rgba(255,255,255,.06) !important;
	padding:6px !important;
}
.hero-v2 .hero-img img,.hero-v2 .hero-slide img{border-radius:18px !important}


/* v8.52 — hero image box: premium depth, full image always (no crop) */
.hero-v2 .hero-img,.hero-v2 .hero-slider{
	border:1px solid rgba(255,255,255,.6) !important;
	border-radius:26px !important;
	overflow:hidden !important;
	background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05)) !important;
	padding:8px !important;
	box-shadow:
		0 0 0 1px rgba(200,162,76,.30),
		0 2px 6px rgba(6,12,28,.30),
		0 26px 50px -24px rgba(6,12,28,.62),
		0 60px 120px -50px rgba(6,12,28,.78) !important;
	transition:transform .5s var(--ease),box-shadow .5s var(--ease) !important;
}
.hero-v2 .hero-visual:hover .hero-img,.hero-v2 .hero-visual:hover .hero-slider{
	transform:translateY(-4px);
	box-shadow:
		0 0 0 1px rgba(200,162,76,.45),
		0 4px 10px rgba(6,12,28,.34),
		0 34px 62px -24px rgba(6,12,28,.66),
		0 72px 140px -50px rgba(6,12,28,.82) !important;
}
/* full image, never cropped, any size */
.hero-v2 .hero-img img,.hero-v2 .hero-slide img{
	width:100% !important;height:auto !important;max-height:none !important;
	object-fit:contain !important;display:block !important;border-radius:19px !important;
}


/* ============================================================
   v8.53 — hero layout perfection (final, overrides earlier rules)
   Balanced 45/55 two-column, centered container, full uncropped image.
   ============================================================ */
.hero-v2 .wrap{max-width:1440px !important;margin-inline:auto}
.hero-v2 .hero-grid{
	grid-template-columns:minmax(0,45fr) minmax(0,55fr) !important;
	gap:clamp(40px,5vw,72px) !important;
	align-items:center !important;
}
.hero-v2 .hero-copy{max-width:620px}
.hero-v2 .hero-copy h1{ text-wrap:balance; }
/* image column: large, dominant, fully visible */
.hero-v2 .hero-visual{max-width:none !important;width:100% !important;margin:0 !important;transform:none !important;align-self:center !important}
.hero-v2 .hero-img,.hero-v2 .hero-slider{aspect-ratio:auto !important;height:auto !important}
.hero-v2 .hero-img img,.hero-v2 .hero-slide img{
	width:100% !important;height:auto !important;max-height:none !important;
	object-fit:contain !important;display:block !important;
}
/* Laptop / tablet: tighten gap + padding */
@media(max-width:1100px){
	.hero-v2 .hero-grid{gap:clamp(32px,4vw,48px) !important}
	.hero-v2 .hero-copy{max-width:none}
}
/* Mobile: stack, text first, image second, no overflow */
@media(max-width:860px){
	.hero-v2 .hero-grid{grid-template-columns:1fr !important;gap:34px !important;align-items:start !important}
	.hero-v2 .hero-copy{order:1;text-align:center}
	.hero-v2 .hero-visual{order:2;max-width:520px !important;margin:0 auto !important}
	.hero-v2 .hero-copy .sub,.hero-v2 .hero-copy .sub2{margin-inline:auto !important}
	.hero-v2 .hero-actions,.hero-v2 .hero-badges{justify-content:center !important}
}


/* ============================================================
   v8.54 — header full-width bar on ALL devices (keep pill style).
   The floating pill stays visually identical (glass, radius, shadow,
   layout) but now spans the full viewport width with edge gutters,
   instead of being capped at 1440px.
   ============================================================ */
:root{ --esv-pill-gap:24px; }
.header > .wrap{
	max-width:none !important;
	margin:0 var(--esv-pill-gap) !important;
	width:auto !important;
}
@media(max-width:1024px){ :root{ --esv-pill-gap:20px; } }
@media(max-width:768px){ :root{ --esv-pill-gap:14px; } .header > .wrap{margin:0 14px !important} }
@media(max-width:420px){ :root{ --esv-pill-gap:10px; } .header > .wrap{margin:0 10px !important} }


/* ============================================================
   v8.55 — desktop toggle icon + off-canvas panel (keeps primary nav)
   ============================================================ */
/* toggle icon: transparent, no border/fill; only shows on desktop */
.esv-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--navy-900);cursor:pointer;position:relative}
.esv-toggle svg{width:26px;height:26px;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.esv-toggle .ico-close{position:absolute;inset:0;margin:auto;opacity:0;transform:rotate(-90deg) scale(.7)}
.esv-toggle:hover svg{transform:scale(1.08)}
.esv-toggle[aria-expanded="true"] .ico-open{opacity:0;transform:rotate(90deg) scale(.7)}
.esv-toggle[aria-expanded="true"] .ico-close{opacity:1;transform:none}
.esv-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}
@media(min-width:1081px){ .esv-toggle{display:inline-flex} }

/* off-canvas panel */
.esv-oc-overlay{position:fixed;inset:0;z-index:300;background:rgba(6,12,28,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.esv-oc-overlay.open{opacity:1;visibility:visible}
.esv-oc{position:fixed;top:0;right:0;z-index:301;width:min(420px,90vw);height:100%;background:#fff;box-shadow:-30px 0 80px -30px rgba(6,12,28,.5);transform:translateX(100%);transition:transform .46s cubic-bezier(.5,.15,.15,1);display:flex;flex-direction:column;padding:30px 30px 40px;overflow-y:auto;overscroll-behavior:contain}
.esv-oc.open{transform:none}
.esv-oc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.esv-oc-head .brand-text b{font-family:"Newsreader",serif;font-size:1.15rem;color:var(--navy-900)}
.esv-oc-close{width:42px;height:42px;border:0;background:var(--mist);border-radius:50%;color:var(--navy-900);cursor:pointer;display:grid;place-items:center;transition:background .2s}
.esv-oc-close:hover{background:#e6eaf3}
.esv-oc-close svg{width:20px;height:20px}
.esv-oc-list{list-style:none;margin:0;padding:6px 0;display:flex;flex-direction:column}
.esv-oc-list li{position:relative}
.esv-oc-list a{display:block;padding:15px 4px;font-size:1.12rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s,padding .2s}
.esv-oc-list a:hover{color:var(--gold-deep);padding-left:8px}
.esv-oc-list .sub-menu{list-style:none;margin:0;padding:0;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.esv-oc-list .sub-menu a{font-size:1rem;color:var(--slate);padding-left:18px}
.esv-oc-list .menu-item-has-children > .esv-oc-exp{position:absolute;top:8px;right:0;width:38px;height:38px;border:0;background:none;color:var(--slate);cursor:pointer;display:grid;place-items:center}
.esv-oc-list .menu-item-has-children > .esv-oc-exp svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.esv-oc-list .menu-item-has-children.open > .esv-oc-exp svg{transform:rotate(180deg)}
.esv-oc-cta{margin-top:24px;text-align:center;justify-content:center}
@media(prefers-reduced-motion:reduce){.esv-oc,.esv-oc-overlay,.esv-toggle svg{transition:none}}


/* ============================================================
   v8.56 — bigger desktop toggle + upgraded off-canvas panel
   ============================================================ */
/* larger, more tappable toggle icon */
.esv-toggle{width:56px;height:56px;color:var(--navy-900)}
.esv-toggle svg{width:34px !important;height:34px !important;stroke-width:2.1}
.esv-toggle:hover svg{transform:scale(1.1)}

/* premium off-canvas panel */
.esv-oc{width:min(460px,92vw);padding:34px 38px 44px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.esv-oc-head{padding-bottom:24px;margin-bottom:18px}
.esv-oc-head .brand-text b{font-size:1.4rem;letter-spacing:-.01em}
.esv-oc-close{width:46px;height:46px}
.esv-oc-close svg{width:22px;height:22px}
/* menu items: larger, refined, with a gold hover rail + fade-in stagger */
.esv-oc-list a{padding:17px 6px;font-size:1.24rem;font-weight:600;letter-spacing:-.01em;color:var(--navy-900);position:relative}
.esv-oc-list > li > a::before{content:"";position:absolute;left:-38px;top:0;bottom:0;width:4px;background:var(--gold);border-radius:0 4px 4px 0;transform:scaleY(0);transform-origin:center;transition:transform .3s var(--ease)}
.esv-oc-list > li > a:hover::before{transform:scaleY(1)}
.esv-oc-list a:hover{color:var(--gold-deep);padding-left:12px}
.esv-oc-list .sub-menu a{font-size:1.04rem;font-weight:500;color:var(--slate);padding-left:22px}
.esv-oc.open .esv-oc-list > li{opacity:0;transform:translateX(18px);animation:esvOcIn .5s var(--ease) forwards}
.esv-oc.open .esv-oc-list > li:nth-child(1){animation-delay:.08s}
.esv-oc.open .esv-oc-list > li:nth-child(2){animation-delay:.13s}
.esv-oc.open .esv-oc-list > li:nth-child(3){animation-delay:.18s}
.esv-oc.open .esv-oc-list > li:nth-child(4){animation-delay:.23s}
.esv-oc.open .esv-oc-list > li:nth-child(5){animation-delay:.28s}
.esv-oc.open .esv-oc-list > li:nth-child(6){animation-delay:.33s}
.esv-oc.open .esv-oc-list > li:nth-child(n+7){animation-delay:.38s}
@keyframes esvOcIn{to{opacity:1;transform:none}}
.esv-oc-cta{margin-top:30px;padding:16px 24px;font-size:1.02rem;border-radius:14px;box-shadow:0 14px 30px -12px rgba(200,162,76,.55)}
.esv-oc-exp{top:11px !important;width:42px !important;height:42px !important}
.esv-oc-exp svg{width:20px !important;height:20px !important}
@media(prefers-reduced-motion:reduce){.esv-oc.open .esv-oc-list > li{opacity:1;transform:none;animation:none}}


/* ============================================================
   v8.57 — hero image FIXED professional size (no ratio jitter).
   Frame keeps a constant aspect ratio; image fills it via cover.
   Overrides the earlier contain/auto-height rules.
   ============================================================ */
.hero-v2 .hero-img,.hero-v2 .hero-slider{
	aspect-ratio:4/3 !important;
	height:auto !important;
	width:100% !important;
	overflow:hidden !important;
}
.hero-v2 .hero-img img,.hero-v2 .hero-slide img{
	width:100% !important;
	height:100% !important;
	max-height:none !important;
	object-fit:cover !important;
	object-position:center !important;
	display:block !important;
	border-radius:19px !important;
}
.hero-v2 .hero-slider .hero-slide{height:100%}


/* ====================================================================
   v10.6.0 — Mobile viewport stability. Pinch-zooming can no longer cause
   sideways drift or a broken layout: the page never grows wider than the
   screen, mobile browsers stop auto-inflating text after zoom, and
   oversized media is capped at its container. overflow-x:clip (not
   hidden) so position:sticky elements keep working.
   ==================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip}
img,video,iframe,embed{max-width:100%}


/* ====================================================================
   v10.8.1 — compact "My Dashboard" header button for logged-in members
   on phones: smaller, pill-shaped, never wraps or crowds the logo.
   ==================================================================== */
@media(max-width:760px){
	.header .header-cta.is-member .btn{padding:7px 12px;font-size:.78rem;line-height:1.2;border-radius:50px;white-space:nowrap}
}
@media(max-width:400px){
	.header .header-cta.is-member .btn{padding:6px 10px;font-size:.74rem}
}
