/* ============================================================
   FULL PORT MARKETS — Design System
   A maritime trading identity: harbor ledgers, split-flap
   manifest boards, brass fittings, deep navy water.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,900&family=Inter:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  /* --- Color tokens --- */
  --navy-950:#070f18;
  --navy-900:#0b1c2c;
  --navy-850:#0f2436;
  --navy-800:#132c41;
  --navy-700:#1c3c56;
  --navy-600:#2a4f6c;
  --teal-600:#1f5c58;
  --brass-300:#ecd08c;
  --brass-500:#c99a3e;
  --brass-600:#a97e2c;
  --paper-050:#faf7ee;
  --paper-100:#f4eedb;
  --paper-200:#e9dfc0;
  --ink-900:#101e29;
  --ink-700:#2b3d4a;
  --fog-300:#c3d2da;
  --fog-400:#93a7b4;
  --fog-500:#6f8695;
  --signal-500:#c14a3a;
  --signal-600:#a53c2e;
  --good-500:#3f8a68;

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Inter', -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;

  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:14px;

  --shadow-soft: 0 20px 60px -20px rgba(5,14,23,0.55);
  --shadow-card: 0 12px 30px -14px rgba(5,14,23,0.5);

  --max-width:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--navy-950);
  color:var(--paper-100);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0;letter-spacing:-0.01em;}
p{margin:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}

:focus-visible{
  outline:2px solid var(--brass-300);
  outline-offset:3px;
}

[id]{scroll-margin-top:96px;}

.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 28px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ============================================================
   Eyebrow / labels
   ============================================================ */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-300);
}
.eyebrow::before{
  content:'';
  width:16px;
  height:1px;
  background:var(--brass-500);
}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 26px;
  border-radius:3px;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:0.01em;
  border:1px solid transparent;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn-brass{
  background:linear-gradient(180deg,var(--brass-300),var(--brass-500));
  color:var(--navy-950);
  box-shadow:0 8px 20px -8px rgba(201,154,62,0.55);
}
.btn-brass:hover{transform:translateY(-1px);box-shadow:0 12px 26px -8px rgba(201,154,62,0.7);}
.btn-outline{
  background:transparent;
  border-color:rgba(244,238,219,0.28);
  color:var(--paper-100);
}
.btn-outline:hover{border-color:var(--brass-300);color:var(--brass-300);}
.btn-ghost{
  background:transparent;
  color:var(--paper-100);
  padding:10px 6px;
  border:none;
}
.btn-ghost:hover{color:var(--brass-300);}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px;font-size:13.5px;}
.btn[disabled]{opacity:0.5;cursor:not-allowed;transform:none !important;}

/* ============================================================
   Top notice ticker
   ============================================================ */
.notice-ticker{
  background:var(--navy-950);
  border-bottom:1px solid rgba(244,238,219,0.08);
  overflow:hidden;
  padding:8px 0;
}
.notice-ticker__track{
  display:flex;
  gap:48px;
  white-space:nowrap;
  animation:ticker 26s linear infinite;
  width:max-content;
}
.notice-ticker__item{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--fog-300);
}
.notice-ticker__item b{color:var(--brass-300);}

.ticker-item{
  display:inline-flex;
  align-items:baseline;
  gap:9px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.03em;
  color:var(--fog-400);
}
.ticker-sym{color:var(--paper-100);font-weight:600;}
.ticker-px{color:var(--fog-300);}
.ticker-chg--up{color:var(--good-500);}
.ticker-chg--down{color:var(--signal-500);}

/* ============================================================
   Hero world map — subtle trade-route visualization
   ============================================================ */
.hero__worldmap{
  position:absolute;inset:0;
  opacity:0.7;
  -webkit-mask-image:radial-gradient(ellipse 760px 480px at 66% 42%, black, transparent 82%);
  mask-image:radial-gradient(ellipse 760px 480px at 66% 42%, black, transparent 82%);
  pointer-events:none;
}
.hero__worldmap svg{width:100%;height:100%;display:block;}
@keyframes ticker{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ============================================================
   Nav
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(11,28,44,0.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 28px 16px 14px;
  max-width:var(--max-width);
  margin:0 auto;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-size:19px;
  font-weight:700;
  color:var(--paper-050);
}
.brand__mark{
  width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid var(--brass-500);
  border-radius:3px;
  color:var(--brass-300);
}
.brand__word-full{letter-spacing:0.01em;}
.brand__word-port{color:var(--brass-300);}

.nav__links{
  display:flex;
  align-items:center;
  gap:30px;
}
.nav__links a{
  font-size:14px;
  font-weight:500;
  color:var(--fog-300);
  transition:color .15s ease;
}
.nav__links a:hover{color:var(--paper-050);}
.nav-cta-link{white-space:nowrap;}
@media (min-width:921px){
  .nav-register{margin-left:auto;}
}
/* .nav__links a wins on specificity over .btn — restore intended button styling */
.nav__links a.btn{font-size:14.5px;}
.nav__links a.btn-brass,.nav__links a.btn-brass:hover{color:var(--navy-950);}
.nav__links a.btn-outline{color:var(--paper-100);}
.nav__links a.btn-outline:hover{color:var(--brass-300);}
.nav__toggle{
  display:none;
  background:none;border:none;color:var(--paper-050);
  padding:6px;
}
.nav__toggle svg{width:24px;height:24px;}

/* ---- Dropdown nav items ---- */
.nav-item{position:relative;}
.nav-item > .nav-link{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:500;
  color:var(--fog-300);
  transition:color .15s ease;
}
.nav-item > .nav-link:hover{color:var(--paper-050);}
.nav-caret{
  display:inline-flex;
  width:13px;height:13px;
  flex:none;
  color:var(--fog-500);
  transition:transform .18s ease, color .15s ease;
}
.nav-caret svg{width:100%;height:100%;}
.nav-item:hover > .nav-link .nav-caret,
.nav-item.is-open > .nav-link .nav-caret{transform:rotate(180deg);color:var(--brass-300);}

.nav-dropdown{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:220px;
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:8px;
  padding:6px;
  box-shadow:0 12px 28px -12px rgba(5,14,23,0.6);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index:70;
}
.nav-dropdown__link{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border-radius:5px;
  transition:background .15s ease;
}
.nav-dropdown__link:hover{background:rgba(201,154,62,0.08);}
.nav-dropdown__idx{
  font-family:var(--font-mono);
  font-size:10.5px;
  color:var(--brass-300);
  flex:none;
  width:16px;
}
.nav-dropdown__title{
  font-size:13px;
  font-weight:500;
  color:var(--paper-100);
  flex:1;
  white-space:nowrap;
}
.nav-dropdown__price{
  font-family:var(--font-mono);
  font-size:10.5px;
  color:var(--fog-500);
  flex:none;
}
.nav-dropdown__divider{
  height:1px;
  background:rgba(244,238,219,0.08);
  margin:5px 4px;
}
.nav-dropdown__all{
  display:block;
  padding:8px 9px;
  border-radius:5px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.03em;
  color:var(--brass-300);
  transition:background .15s ease;
}
.nav-dropdown__all:hover{background:rgba(201,154,62,0.08);}

@media (min-width:921px){
  .nav-item:hover .nav-dropdown,
  .nav-item.is-open .nav-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
}

@media (max-width:920px){
  .nav-item{width:100%;}
  .nav-item > .nav-link{width:100%;justify-content:space-between;}
  .nav-dropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    background:rgba(244,238,219,0.03);
    margin-top:4px;
    padding:2px 0 2px 14px;
    display:none;
  }
  .nav-item.is-open .nav-dropdown{display:block;}
  .nav-dropdown__title{font-size:15px;}
}

/* ---- Language selector ---- */
.nav-lang{position:relative;}
.lang-toggle{
  display:flex;
  align-items:center;
  gap:6px;
  background:none;
  border:none;
  color:var(--fog-300);
  font:inherit;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  padding:0;
  transition:color .15s ease;
}
.lang-toggle:hover{color:var(--paper-050);}
.lang-code{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.04em;}
.nav-dropdown--lang{min-width:170px;left:auto;right:0;}
.lang-option{
  display:block;
  width:100%;
  text-align:left;
  background:none;
  border:none;
  font:inherit;
  font-size:13.5px;
  color:var(--paper-100);
  cursor:pointer;
  padding:10px 12px;
  border-radius:6px;
  transition:background .15s ease, color .15s ease;
}
.lang-option:hover{background:rgba(201,154,62,0.1);}
.lang-option.is-active{color:var(--brass-300);font-weight:600;}

@media (max-width:920px){
  .nav-lang{width:100%;}
  .nav-lang .nav-dropdown{display:none !important;}
}

@media (max-width:920px){
  .nav__links{
    position:fixed;inset:64px 0 0 0;
    background:var(--navy-900);
    flex-direction:column;
    align-items:flex-start;
    padding:28px;
    gap:20px;
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
    border-top:1px solid rgba(244,238,219,0.08);
  }
  .nav__links.is-open{opacity:1;transform:translateY(0);pointer-events:auto;z-index:65;}
  .nav__links a{font-size:17px;}
  .nav__links a.btn{font-size:14.5px;}
  .nav-cta-link{width:100%;}
  .nav__toggle{display:inline-flex;}
  /* Safari fix: backdrop-filter on .nav creates a containing block for
     position:fixed children, trapping the full-screen mobile menu inside
     the header's box. Disabling the blur while open avoids this. */
  .nav.nav--menu-open{backdrop-filter:none;background:var(--navy-900);}
}
@supports selector(:has(a)) {
  .nav:has(.nav__links.is-open){backdrop-filter:none;background:var(--navy-900);}
}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  padding:104px 0 88px;
  background:
    radial-gradient(ellipse 900px 480px at 82% -10%, rgba(201,154,62,0.16), transparent 60%),
    radial-gradient(ellipse 700px 500px at -10% 20%, rgba(201,154,62,0.08), transparent 55%),
    var(--navy-950);
  overflow:hidden;
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.hero__grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(244,238,219,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244,238,219,0.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 800px 500px at 50% 20%, black, transparent 75%);
  pointer-events:none;
}
.hero__orb{
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  pointer-events:none;
  opacity:0.35;
  animation:orb-float 9s ease-in-out infinite;
}
.hero__orb--brass{
  width:340px;height:340px;
  background:radial-gradient(circle, rgba(201,154,62,0.5), transparent 70%);
  top:-80px;right:6%;
}
.hero__orb--teal{
  width:300px;height:300px;
  background:radial-gradient(circle, rgba(31,92,88,0.55), transparent 70%);
  bottom:-60px;left:2%;
  animation-delay:-4.5s;
}
@keyframes orb-float{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-24px) scale(1.06);}
}
.hero__pulse{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--brass-300);
  box-shadow:0 0 0 0 rgba(236,208,140,0.6);
  animation:pulse-ring 2s ease-out infinite;
}
@keyframes pulse-ring{
  0%{box-shadow:0 0 0 0 rgba(236,208,140,0.55);}
  70%{box-shadow:0 0 0 8px rgba(236,208,140,0);}
  100%{box-shadow:0 0 0 0 rgba(236,208,140,0);}
}
.board--float{
  animation:board-float 6s ease-in-out infinite;
  transition:transform .35s ease, box-shadow .35s ease;
}
.board--float:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 26px 70px -18px rgba(201,154,62,0.35), var(--shadow-soft);
}
@keyframes board-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
.hero__inner{
  position:relative;
  max-width:640px;
}
@media (max-width:980px){
  .hero__inner{max-width:100%;}
}
.hero__eyebrow{margin-bottom:22px;}
.hero h1{
  font-size:clamp(38px,5.4vw,64px);
  color:var(--paper-050);
}
.hero h1 em{font-style:normal;color:var(--brass-300);}
.hero p.lede{
  margin-top:22px;
  font-size:17px;
  color:var(--fog-300);
  max-width:46ch;
}
.hero__actions{
  margin-top:34px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero__stats{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(4,auto);
  gap:34px;
}
@media (max-width:640px){
  .hero__stats{grid-template-columns:repeat(2,1fr);}
}
.hero__stat b{
  display:block;
  font-family:var(--font-display);
  font-size:26px;
  color:var(--paper-050);
}
.hero__stat span{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--fog-400);
}

/* ---- Split-flap manifest board (signature element) ---- */
.board{
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.12);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.board__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  background:var(--navy-900);
  border-bottom:1px solid rgba(244,238,219,0.1);
}
.board__title{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass-300);
}
.board__lamp{
  width:8px;height:8px;border-radius:50%;
  background:var(--good-500);
  box-shadow:0 0 8px var(--good-500);
  animation:blink 2.4s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.35;}}
.board__head,.board__row{
  display:grid;
  grid-template-columns:1.6fr 0.9fr 0.9fr 1fr;
  gap:10px;
  padding:13px 18px;
  align-items:center;
}
.board__head{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--fog-500);
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.board__row{
  border-bottom:1px solid rgba(244,238,219,0.06);
  font-size:13.5px;
}
.board__row:last-child{border-bottom:none;}
.board__cell-name{color:var(--paper-050);font-weight:600;}
.board__cell-mono{font-family:var(--font-mono);color:var(--fog-300);font-size:12.5px;}
.status-chip{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:4px 8px;
  border-radius:2px;
  display:inline-block;
  width:fit-content;
}
.status-chip--boarding{background:rgba(201,154,62,0.15);color:var(--brass-300);border:1px solid rgba(201,154,62,0.35);}
.status-chip--cleared{background:rgba(63,138,104,0.14);color:#8fbfa4;border:1px solid rgba(63,138,104,0.38);}
.status-chip--live{background:rgba(63,138,104,0.22);color:#a3d4b6;border:1px solid rgba(63,138,104,0.55);}

/* ============================================================
   Section shell
   ============================================================ */
.section{padding:96px 0;}
.section--tight{padding:70px 0;}
.section--paper{background:var(--paper-100);color:var(--ink-900);}
.section--navy-alt{background:var(--navy-900);}
.section__head{
  max-width:640px;
  margin-bottom:52px;
}
.section__head h2{
  margin-top:16px;
  font-size:clamp(28px,3.6vw,42px);
  color:var(--paper-050);
}
.section--paper .section__head h2{color:var(--ink-900);}
.section__head p{
  margin-top:16px;
  color:var(--fog-300);
  font-size:16px;
}
.section--paper .section__head p{color:var(--ink-700);}
.section__foot{margin-top:40px;}

/* ============================================================
   Feature grid
   ============================================================ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:920px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
}

.card{
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:26px;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,154,62,0.4);
  box-shadow:0 16px 34px -16px rgba(201,154,62,0.28);
}
.card__index{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--brass-300);
  letter-spacing:0.08em;
}
.card h3{
  margin-top:14px;
  font-size:19px;
  color:var(--paper-050);
}
.card p{
  margin-top:10px;
  font-size:14.5px;
  color:var(--fog-300);
}
.card .icon-wrap{
  width:42px;height:42px;
  border-radius:8px;
  display:grid;place-items:center;
  background:rgba(201,154,62,0.12);
  color:var(--brass-300);
  margin-bottom:6px;
}
.card .icon-wrap svg{width:22px;height:22px;}

/* ============================================================
   How it works — voyage steps
   ============================================================ */
.voyage{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}
@media (max-width:920px){.voyage{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.voyage{grid-template-columns:1fr;}}
.voyage__step{position:relative;padding-top:14px;}
.voyage__step::before{
  content:'';
  position:absolute;top:0;left:0;
  width:100%;height:2px;
  background:linear-gradient(90deg,var(--brass-500),transparent);
}
.voyage__tag{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--brass-300);
  letter-spacing:0.1em;
}
.voyage__step h3{margin-top:10px;font-size:18px;color:var(--paper-050);}
.voyage__step p{margin-top:8px;font-size:14px;color:var(--fog-300);}

/* ============================================================
   Program / pricing cards
   ============================================================ */
.program-tabs{
  display:flex;
  gap:8px;
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:999px;
  padding:6px;
  width:fit-content;
  margin:0 auto 46px;
}
.program-tabs button{
  border:none;background:transparent;
  color:var(--fog-300);
  padding:10px 22px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:600;
  transition:all .15s ease;
}
.program-tabs button.is-active{
  background:linear-gradient(180deg,var(--brass-300),var(--brass-500));
  color:var(--navy-950);
}

.program-card{
  position:relative;
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-lg);
  padding:30px;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.program-card:hover{
  transform:translateY(-6px);
  border-color:rgba(201,154,62,0.55);
  box-shadow:0 22px 48px -18px rgba(201,154,62,0.32);
}
.program-card--featured{
  border-color:var(--brass-500);
  box-shadow:0 0 0 1px rgba(201,154,62,0.3), var(--shadow-card);
}
.program-card--featured:hover{
  box-shadow:0 0 0 1px rgba(201,154,62,0.5), 0 24px 52px -18px rgba(201,154,62,0.4);
}
.program-card__badge{
  position:absolute;top:-13px;left:30px;
  background:var(--brass-500);
  color:var(--navy-950);
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:3px;
}
.program-card__label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--fog-400);
}
.program-card h3{margin-top:10px;font-size:22px;color:var(--paper-050);}
.program-card p.desc{margin-top:10px;color:var(--fog-300);font-size:14px;}
.program-card__price{
  margin-top:22px;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.program-card__price .from{font-family:var(--font-mono);font-size:12px;color:var(--fog-400);}
.program-card__price .amount{font-family:var(--font-display);font-size:34px;color:var(--brass-300);}
.program-card ul.feat{margin-top:22px;display:flex;flex-direction:column;gap:11px;}
.program-card ul.feat li{
  font-size:13.5px;color:var(--fog-300);
  display:flex;gap:9px;align-items:flex-start;
}
.program-card ul.feat li svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--good-500);}
.program-card__cta{margin-top:26px;}

/* size selector chips (programs page) */
.size-select{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.size-select button{
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.14);
  color:var(--fog-300);
  padding:7px 14px;
  border-radius:4px;
  font-family:var(--font-mono);
  font-size:12.5px;
}
.size-select button.is-active{
  border-color:var(--brass-500);
  color:var(--brass-300);
  background:rgba(201,154,62,0.08);
}

/* comparison table */
.table-wrap{overflow-x:auto;border:1px solid rgba(244,238,219,0.1);border-radius:var(--radius-md);}
table.spec{width:100%;border-collapse:collapse;min-width:640px;background:var(--navy-850);}
table.spec th,table.spec td{
  padding:14px 18px;
  text-align:left;
  border-bottom:1px solid rgba(244,238,219,0.08);
  font-size:13.5px;
}
table.spec thead th{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brass-300);
  background:var(--navy-900);
}
table.spec tbody tr:last-child td{border-bottom:none;}
table.spec tbody th{color:var(--fog-300);font-weight:500;}
table.spec td{color:var(--paper-100);font-family:var(--font-mono);font-size:13px;}

/* ============================================================
   Testimonials
   ============================================================ */
.quote-card{
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.quote-card p{font-size:14.5px;color:var(--paper-100);}
.quote-card__who{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;color:var(--fog-400);
}
.quote-card__who .dot{width:6px;height:6px;border-radius:50%;background:var(--brass-500);}

/* ============================================================
   FAQ accordion
   ============================================================ */
.accordion{border-top:1px solid rgba(244,238,219,0.12);}
.accordion-item{border-bottom:1px solid rgba(244,238,219,0.12);}
.accordion-item__q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:none;border:none;
  padding:22px 4px;
  text-align:left;
  color:var(--paper-050);
  font-size:16px;
  font-weight:600;
  font-family:var(--font-body);
}
.section--paper .accordion-item__q{color:var(--ink-900);}
.accordion-item__q .num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--brass-500);
  margin-right:10px;
}
.accordion-item__q svg{
  flex:none;width:18px;height:18px;color:var(--brass-500);
  transition:transform .2s ease;
}
.accordion-item.is-open .accordion-item__q svg{transform:rotate(45deg);}
.accordion-item__a{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
.accordion-item__a-inner{
  padding:0 4px 22px 26px;
  color:var(--fog-300);
  font-size:14.5px;
  max-width:70ch;
}
.section--paper .accordion-item__a-inner{color:var(--ink-700);}
.accordion-item__a-inner ul{margin-top:10px;padding-left:18px;list-style:disc;}
.accordion-item__a-inner li{margin-bottom:6px;}

/* category pills for FAQ/rules nav */
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
.pill{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.04em;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(16,30,41,0.16);
  color:var(--ink-700);
  background:var(--paper-050);
}
.pill.is-active{
  background:var(--ink-900);
  color:var(--paper-100);
  border-color:var(--ink-900);
}

/* rule ledger list (rules page) */
.rule-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid rgba(244,238,219,0.1);
}
.rule-row:first-child{border-top:1px solid rgba(244,238,219,0.1);}
.rule-row__tag{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--signal-500);
}
.rule-row h4{font-size:15.5px;color:var(--paper-050);margin-bottom:6px;}
.rule-row p{font-size:14px;color:var(--fog-300);}

/* Light "paper" sections need the dark-ink variant instead */
.section--paper .rule-row{border-bottom:1px solid rgba(16,30,41,0.12);}
.section--paper .rule-row:first-child{border-top:1px solid rgba(16,30,41,0.12);}
.section--paper .rule-row__tag{color:var(--signal-600);}
.section--paper .rule-row h4{color:var(--ink-900);}
.section--paper .rule-row p{color:var(--ink-700);}

/* topic browse cards */
.topic-card{
  display:block;
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:24px;
  transition:transform .2s ease, border-color .2s ease;
}
.topic-card:hover{transform:translateY(-4px);border-color:rgba(201,154,62,0.4);}
.topic-card .topic-card__num{font-family:var(--font-mono);font-size:11px;color:var(--brass-300);letter-spacing:0.1em;}
.topic-card h3{margin-top:12px;font-size:17px;color:var(--paper-050);}
.topic-card p{margin-top:8px;font-size:13.5px;color:var(--fog-300);}
.topic-card .topic-card__link{margin-top:14px;font-family:var(--font-mono);font-size:12px;color:var(--brass-300);}

/* "trade with freedom" cards */
.freedom-card{
  background:var(--navy-850);
  border:1px solid rgba(63,138,104,0.25);
  border-radius:var(--radius-md);
  padding:24px;
}
.freedom-card__head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.freedom-badge{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#7fd6ac;
  background:rgba(63,138,104,0.15);
  border:1px solid rgba(63,138,104,0.4);
  padding:3px 9px;
  border-radius:3px;
  flex:none;
}
.freedom-card h3{font-size:16.5px;color:var(--paper-050);}
.freedom-card p{margin-top:8px;font-size:13.5px;color:var(--fog-300);}
.freedom-card .why-box{
  margin-top:14px;
  padding:14px 16px;
  background:var(--navy-900);
  border-left:2px solid var(--brass-500);
  border-radius:0 6px 6px 0;
}
.freedom-card .why-box span{
  display:block;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brass-300);
  margin-bottom:6px;
}
.freedom-card .why-box p{margin-top:0;font-size:13px;color:var(--fog-300);}

/* drawdown type cards */
.dd-card{
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:24px;
}
.dd-card__type{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brass-300);
  background:rgba(201,154,62,0.1);
  border:1px solid rgba(201,154,62,0.3);
  padding:3px 9px;
  border-radius:3px;
  margin-bottom:12px;
}
.dd-card h3{font-size:16px;color:var(--paper-050);}
.dd-card p{margin-top:8px;font-size:13.5px;color:var(--fog-300);}
.dd-card .example{
  margin-top:14px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--fog-400);
  background:var(--navy-900);
  border-radius:6px;
  padding:12px 14px;
  line-height:1.7;
}
.dd-card .example b{color:var(--brass-300);}

/* worked example block inside accordion answers */
.worked-example{
  margin-top:14px;
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:8px;
  padding:16px 18px;
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--fog-300);
  line-height:1.8;
}
.worked-example b{color:var(--brass-300);}
.section--paper .worked-example{background:var(--paper-050);border-color:rgba(16,30,41,0.12);color:var(--ink-700);}
.section--paper .worked-example b{color:var(--signal-600);}

/* support cards */
.support-card{
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:22px;
  transition:transform .2s ease, border-color .2s ease;
}
.support-card:hover{transform:translateY(-4px);border-color:rgba(201,154,62,0.4);}
.support-card .icon-wrap{margin-bottom:0;flex:none;}
.support-card div h3{font-size:15.5px;color:var(--paper-050);}
.support-card div p{margin-top:4px;font-size:13px;color:var(--fog-300);}

/* ============================================================
   Calculators (Resources page)
   ============================================================ */
.calc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:860px){.calc-grid{grid-template-columns:1fr;}}
.calc-card h2{display:flex;align-items:center;gap:10px;}
.calc-card h2 .calc-num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--brass-300);
  border:1px solid rgba(201,154,62,0.35);
  border-radius:4px;
  padding:3px 8px;
}
.calc-card p.calc-desc{font-size:13.5px;color:var(--fog-300);margin:10px 0 22px;}
.calc-result{
  margin-top:20px;
  padding:18px 20px;
  border-radius:8px;
  background:var(--navy-900);
  border:1px solid rgba(201,154,62,0.3);
  display:flex;
  flex-wrap:wrap;
  gap:22px;
}
.calc-result .stat{flex:1;min-width:120px;}
.calc-result .stat span{
  display:block;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--fog-400);
  margin-bottom:6px;
}
.calc-result .stat b{
  font-family:var(--font-display);
  font-size:24px;
  color:var(--brass-300);
}
.calc-result .stat b.negative{color:#ff9d8a;}
.calc-result .stat b.positive{color:#7fd6ac;}
.calc-note{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--fog-500);
}

/* Instrument spec tabs + tables reuse .program-tabs / table.spec */
.instrument-tabs{flex-wrap:wrap;}

/* ============================================================
   Forms (login / signup / checkout)
   ============================================================ */
.auth-shell{
  min-height:calc(100vh - 140px);
  display:grid;
  grid-template-columns:1fr 1fr;
}
@media (max-width:920px){.auth-shell{grid-template-columns:1fr;}}
.auth-visual{
  position:relative;
  background:
    radial-gradient(ellipse 700px 500px at 30% 20%, rgba(201,154,62,0.16), transparent 60%),
    radial-gradient(ellipse 600px 400px at 80% 80%, rgba(31,92,88,0.3), transparent 55%),
    var(--navy-900);
  padding:56px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(244,238,219,0.08);
}
@media (max-width:920px){.auth-visual{display:none;}}
.auth-visual blockquote{
  font-family:var(--font-display);
  font-size:26px;
  color:var(--paper-050);
  max-width:36ch;
  line-height:1.3;
}
.auth-visual cite{
  display:block;margin-top:18px;
  font-family:var(--font-mono);
  font-style:normal;
  font-size:12.5px;
  color:var(--fog-400);
}
.auth-form-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:56px 28px;
}
.auth-form{width:100%;max-width:400px;}
.auth-form h1{font-size:28px;color:var(--paper-050);}
.auth-form p.sub{margin-top:10px;color:var(--fog-300);font-size:14.5px;}
.field{margin-top:20px;}
.field label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--paper-100);
  margin-bottom:7px;
}
.field input,.field select{
  width:100%;
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.16);
  border-radius:6px;
  padding:12px 14px;
  color:var(--paper-050);
  font-size:14.5px;
  transition:border-color .15s ease;
}
.field input:focus,.field select:focus{
  border-color:var(--brass-500);
  outline:none;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field-hint{margin-top:6px;font-size:12px;color:var(--fog-400);}
.field-check{
  display:flex;align-items:flex-start;gap:10px;margin-top:18px;
  font-size:13px;color:var(--fog-300);
}
.field-check input{margin-top:3px;}
.form-error{
  background:rgba(193,74,58,0.12);
  border:1px solid rgba(193,74,58,0.4);
  color:#ff9d8a;
  padding:12px 14px;
  border-radius:6px;
  font-size:13px;
  margin-top:18px;
  display:none;
}
.form-error.is-visible{display:block;}
.form-success{
  background:rgba(63,138,104,0.12);
  border:1px solid rgba(63,138,104,0.4);
  color:#8fe0bb;
  padding:12px 14px;
  border-radius:6px;
  font-size:13px;
  margin-top:18px;
  display:none;
}
.form-success.is-visible{display:block;}
.auth-form .btn{margin-top:26px;}
.auth-switch{margin-top:26px;text-align:center;font-size:13.5px;color:var(--fog-300);}
.auth-switch a{color:var(--brass-300);font-weight:600;}
.demo-note{
  margin-top:22px;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--fog-500);
  border-top:1px dashed rgba(244,238,219,0.16);
  padding-top:16px;
}

/* ============================================================
   Checkout
   ============================================================ */
.checkout-shell{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:40px;
  align-items:start;
}
@media (max-width:960px){.checkout-shell{grid-template-columns:1fr;}}
.checkout-panel{
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:30px;
}
.checkout-panel + .checkout-panel{margin-top:22px;}
.checkout-panel h2{font-size:18px;color:var(--paper-050);margin-bottom:20px;}
.pay-methods{display:flex;gap:10px;margin-bottom:20px;}
.pay-method{
  flex:1;
  border:1px solid rgba(244,238,219,0.16);
  border-radius:8px;
  padding:14px;
  text-align:center;
  font-size:13px;
  color:var(--fog-300);
  cursor:pointer;
}
.pay-method.is-active{border-color:var(--brass-500);color:var(--brass-300);background:rgba(201,154,62,0.07);}
.order-summary{
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.1);
  border-radius:var(--radius-md);
  padding:26px;
  position:sticky;
  top:96px;
}
.order-summary h2{font-size:16px;color:var(--paper-050);margin-bottom:18px;}
.order-line{
  display:flex;justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid rgba(244,238,219,0.08);
  font-size:13.5px;
  color:var(--fog-300);
}
.order-line.total{
  border-bottom:none;
  padding-top:16px;
  font-size:16px;
  color:var(--paper-050);
  font-weight:700;
}
.order-line.total b{font-family:var(--font-mono);color:var(--brass-300);}
.promo-row{display:flex;gap:8px;margin-top:18px;}
.promo-row input{flex:1;}
.checkout-badges{
  margin-top:20px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.checkout-badge{
  display:flex;align-items:center;gap:8px;
  font-family:var(--font-mono);
  font-size:11px;color:var(--fog-400);
}
.checkout-badge svg{width:15px;height:15px;color:var(--brass-500);}

/* ============================================================
   Dashboard (post-login)
   ============================================================ */
.dash-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 0px);}
@media (max-width:860px){.dash-shell{grid-template-columns:1fr;}}
.dash-side{
  background:var(--navy-900);
  border-right:1px solid rgba(244,238,219,0.08);
  padding:24px 18px;
  overflow-y:auto;
}
@media (max-width:860px){.dash-side{border-right:none;border-bottom:1px solid rgba(244,238,219,0.08);}}
.dash-group{margin-bottom:20px;}
.dash-group__label{
  display:block;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--fog-500);
  padding:0 12px;
  margin-bottom:8px;
}
.dash-side nav a{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;
  border-radius:6px;
  font-size:13.5px;
  color:var(--fog-300);
  margin-bottom:2px;
}
.dash-side nav a.is-active{background:rgba(201,154,62,0.1);color:var(--brass-300);}
.dash-side nav a svg{width:17px;height:17px;}
.dash-main{padding:36px;background:var(--navy-950);}
.dash-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:14px;}
.dash-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px;}
@media (max-width:920px){.dash-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dash-cards{grid-template-columns:1fr;}}
.dash-card{background:var(--navy-850);border:1px solid rgba(244,238,219,0.1);border-radius:10px;padding:20px;}
.dash-card span{font-family:var(--font-mono);font-size:11px;color:var(--fog-400);text-transform:uppercase;letter-spacing:0.06em;}
.dash-card b{display:block;margin-top:8px;font-family:var(--font-display);font-size:24px;color:var(--paper-050);}
.dash-card em{display:block;margin-top:6px;font-style:normal;font-size:12px;color:var(--good-500);}
.progress-bar{height:6px;border-radius:3px;background:var(--navy-900);overflow:hidden;margin-top:10px;}
.progress-bar > div{height:100%;background:linear-gradient(90deg,var(--brass-500),var(--brass-300));}
.progress-bar--wide{height:8px;margin-top:16px;}
.progress-bar > div.floating-loss-fill{background:linear-gradient(90deg,var(--good-500),#7fd6ac);}

.dash-side__cta{margin-top:18px;}
.dash-side__link{
  display:block;
  text-align:center;
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.04em;
  color:var(--fog-400);
  padding:6px;
}
.dash-side__link:hover{color:var(--brass-300);}
.dash-spark{width:100%;height:32px;margin-top:12px;display:block;}

.floating-loss-panel{
  background:var(--navy-850);
  border:1px solid rgba(63,138,104,0.3);
  border-radius:12px;
  padding:22px 24px;
  margin-bottom:30px;
}
.floating-loss-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.floating-loss-panel__head h3{margin-top:4px;font-size:16px;color:var(--paper-050);}
.floating-loss-panel__scale{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-top:10px;
  font-family:var(--font-mono);font-size:11.5px;color:var(--fog-400);
}
.floating-loss-panel__scale b{color:var(--paper-050);font-family:var(--font-body);}
.floating-loss-panel__note{margin-top:14px;font-size:12.5px;color:var(--fog-500);}
.floating-loss-panel__note a{color:var(--brass-300);}

.cert-row{
  display:flex;align-items:center;gap:14px;
  padding:16px 0;
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.cert-row:last-of-type{border-bottom:none;}
.cert-row__icon{
  width:38px;height:38px;flex:none;border-radius:8px;
  display:grid;place-items:center;
  background:rgba(201,154,62,0.1);color:var(--brass-300);
}
.cert-row__icon svg{width:19px;height:19px;}
.cert-row__body{flex:1;min-width:0;}
.cert-row__body h4{font-size:14px;color:var(--paper-050);}
.cert-row__body p{margin-top:3px;font-size:12.5px;color:var(--fog-400);}

/* ============================================================
   CTA banner + Newsletter
   ============================================================ */
.cta-banner{
  background:linear-gradient(120deg,var(--navy-900),var(--teal-600) 140%);
  border-radius:var(--radius-lg);
  padding:56px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
  border:1px solid rgba(244,238,219,0.1);
}
.cta-banner h2{font-size:clamp(24px,3vw,32px);color:var(--paper-050);max-width:26ch;}

.newsletter{
  display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;
}
.newsletter input{
  flex:1;min-width:220px;
  background:var(--navy-900);
  border:1px solid rgba(244,238,219,0.16);
  border-radius:6px;
  padding:12px 14px;
  color:var(--paper-050);
}

/* ============================================================
   Footer
   ============================================================ */
footer{
  background:var(--navy-950);
  border-top:1px solid rgba(244,238,219,0.08);
  padding:70px 0 30px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.4fr repeat(4,1fr);
  gap:30px;
  padding-bottom:50px;
  border-bottom:1px solid rgba(244,238,219,0.08);
}
@media (max-width:920px){.footer-top{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.footer-top{grid-template-columns:1fr;}}
.footer-top h5{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brass-300);
  margin-bottom:16px;
}
.footer-top ul li{margin-bottom:10px;}
.footer-top ul li a{font-size:13.5px;color:var(--fog-300);}
.footer-top ul li a:hover{color:var(--paper-050);}
.footer-brand p{margin-top:14px;color:var(--fog-400);font-size:13.5px;max-width:34ch;}
.footer-socials{display:flex;gap:12px;margin-top:18px;}
.footer-socials a{
  width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(244,238,219,0.16);
  display:grid;place-items:center;
  color:var(--fog-300);
}
.footer-socials a svg{width:15px;height:15px;}
.footer-legal{padding-top:34px;color:var(--fog-500);font-size:12px;line-height:1.7;}
.footer-legal p{margin-bottom:12px;}
.footer-legal strong{color:var(--fog-300);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:26px;margin-top:20px;
  border-top:1px solid rgba(244,238,219,0.08);
  font-size:12.5px;color:var(--fog-500);
  flex-wrap:wrap;gap:12px;
}
.footer-bottom .links{display:flex;gap:18px;}
.footer-jurisdictions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.footer-jurisdictions span{
  font-family:var(--font-mono);font-size:11px;color:var(--fog-500);
  border:1px solid rgba(244,238,219,0.12);padding:5px 10px;border-radius:3px;
}

/* Risk warning strip */
/* Email confirmation banner (shown after Supabase confirms signup) */
.confirm-banner{
  background:rgba(63,138,104,0.15);
  border-bottom:1px solid rgba(63,138,104,0.4);
}
.confirm-banner__inner{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 28px;
}
.confirm-banner__inner svg{
  width:18px;height:18px;flex:none;color:#7fd6ac;
}
.confirm-banner__inner span{
  flex:1;
  font-size:13.5px;
  color:#c9ecd9;
}
.confirm-banner__inner button{
  background:none;border:none;
  color:#7fd6ac;
  font-size:20px;line-height:1;
  cursor:pointer;
  padding:2px 6px;
}
.confirm-banner__inner button:hover{color:#fff;}

.risk-strip{
  background:var(--navy-900);
  border:1px solid rgba(193,74,58,0.35);
  border-radius:8px;
  padding:16px 18px;
  font-size:12.5px;
  color:var(--fog-300);
  display:flex;
  gap:12px;
  margin-top:30px;
}
.risk-strip svg{flex:none;width:18px;height:18px;color:var(--signal-500);margin-top:1px;}

/* Cookie bar */
.cookie-bar{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:80;
  background:var(--navy-850);
  border:1px solid rgba(244,238,219,0.14);
  border-radius:10px;
  padding:18px 22px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  box-shadow:var(--shadow-soft);
  max-width:640px;
  margin:0 auto;
  transform:translateY(140%);
  transition:transform .3s ease;
}
.cookie-bar.is-visible{transform:translateY(0);}
.cookie-bar p{font-size:13px;color:var(--fog-300);flex:1;min-width:200px;}
.cookie-bar__actions{display:flex;gap:10px;}

/* Utility */
.text-center{text-align:center;margin-left:auto;margin-right:auto;}
.mt-0{margin-top:0;}
.hide-mobile{display:block;}
@media (max-width:640px){.hide-mobile{display:none;}}
.badge-strip{
  display:flex;flex-wrap:wrap;gap:14px 34px;
  padding:26px 0;
  border-top:1px solid rgba(244,238,219,0.08);
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.badge-strip__item{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--fog-400);
  display:flex;
  gap:8px;
  align-items:baseline;
}
.badge-strip__item b{color:var(--brass-300);font-size:13px;}

.breadcrumb{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--fog-400);
  margin-bottom:18px;
}
.breadcrumb a{color:var(--fog-400);}
.breadcrumb a:hover{color:var(--brass-300);}

.page-hero{
  padding:60px 0 50px;
  background:
    radial-gradient(ellipse 700px 400px at 90% -20%, rgba(201,154,62,0.14), transparent 60%),
    var(--navy-950);
  border-bottom:1px solid rgba(244,238,219,0.08);
}
.page-hero h1{font-size:clamp(32px,4.4vw,48px);color:var(--paper-050);}
.page-hero p{margin-top:16px;color:var(--fog-300);max-width:56ch;font-size:16px;}
