:root{
  /* Blues taken from Helium 10's brand palette (Midnight / Azure Radiance / Havelock Blue) */
  --navy:#001F3F;
  --navy-2:#0A3660;
  --navy-3:#0081FF;
  --periwinkle:#6788DC;
  --ink:#101418;
  --paper:#FFFFFF;
  --tint:#F1F4F8;
  --tint-2:#E8EDF3;
  --line:#DBE1E9;
  --gold:#B9812E;
  --gold-soft:#F3E6CE;
  --green:#2F6F5E;
  --green-soft:#E1EEE9;
  --rust:#B4472F;
  --muted:#57626D;
  --radius:14px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces',serif;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
section{position:relative;}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;background:var(--gold);
}

/* ---------- Nav ---------- */
header{
  position:sticky;top:0;z-index:200;
  background:rgba(0,31,63,0.68);
  backdrop-filter:blur(4px);
  transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
}
header.solid{
  background:rgba(0,31,63,0.97);
  backdrop-filter:blur(6px);
  box-shadow:0 1px 0 rgba(255,255,255,0.06);
}
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;max-width:var(--maxw);margin:0 auto;
  position:relative;
}
.logo{
  display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;
}
.logo .mark{flex:0 0 auto;display:block;transition:transform .25s ease;}
.logo:hover .mark{transform:translateY(-1px);}
.logo .mark-orbit{
  stroke-dasharray:1 5.5;
  animation:orbit-dash 14s linear infinite;
}
@keyframes orbit-dash{to{stroke-dashoffset:-130;}}
.logo .wordwrap{display:flex;flex-direction:column;line-height:1;gap:6px;}
.logo .word{font-family:'Fraunces',serif;font-weight:600;font-size:29px;letter-spacing:.005em;}
.logo .route{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--gold);letter-spacing:.16em;}
@media (prefers-reduced-motion: reduce){
  .logo .mark-orbit{animation:none;}
}

/* primary nav + dropdowns */
nav.links{display:flex;gap:6px;align-items:center;}
.nav-item{position:relative;}
.nav-item > a, .nav-item > button.nav-top{
  display:flex;align-items:center;gap:6px;
  color:#DCE4EC;text-decoration:none;font-size:14.5px;font-weight:500;
  opacity:.9;transition:opacity .15s;
  background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;
  padding:10px 14px;border-radius:8px;
}
.nav-item > a:hover, .nav-item > button.nav-top:hover, .nav-item.open > button.nav-top{opacity:1;background:rgba(255,255,255,0.06);}
.nav-item .caret{width:9px;height:9px;transition:transform .2s ease;}
.nav-item.open .caret{transform:rotate(180deg);}
.dropdown{
  position:absolute;top:calc(100% + 8px);left:0;min-width:240px;
  background:#fff;border-radius:12px;box-shadow:0 24px 50px -18px rgba(0,10,25,0.35);
  padding:10px;display:none;border:1px solid var(--line);
}
.nav-item.open .dropdown{display:block;}
.dropdown a{
  display:block;padding:11px 14px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;
}
.dropdown a:hover{background:var(--tint);}
.dropdown a .sub{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px;}
.nav-cta{display:flex;gap:10px;align-items:center;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:9px;font-weight:600;font-size:14.5px;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
  font-family:'Inter',sans-serif;
}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--gold);color:#211202;}
.btn-gold:hover{background:#c68f38;}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.35);}
.btn-ghost:hover{border-color:#fff;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-3);}
.btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:#fff;}
.navbar .btn-ghost{padding:9px 16px;font-size:13.5px;}
.burger{display:none;background:none;border:0;cursor:pointer;padding:6px;}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;}

/* ---------- Page header (non-home pages) ---------- */
.pagehead{
  background:radial-gradient(ellipse at 15% -20%, var(--periwinkle) 0%, var(--navy) 55%), var(--navy);
  color:#fff;padding:64px 0 54px;
}
.pagehead .eyebrow{color:#E8C787;}
.pagehead h1{font-size:38px;font-weight:600;margin:0 0 14px;line-height:1.15;}
.pagehead p{color:#C9D4DE;font-size:16.5px;line-height:1.6;max-width:640px;margin:0;}
.crumb{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#9FB0BF;letter-spacing:.08em;margin-bottom:16px;}
.crumb a{color:#C9D4DE;text-decoration:none;}
.crumb a:hover{color:#fff;}

/* ---------- Hero (home) ---------- */
.hero{
  background:radial-gradient(ellipse at 20% -10%, var(--periwinkle) 0%, var(--navy) 55%), var(--navy);
  color:#fff;
  padding:66px 0 90px;
  overflow:hidden;
  position:relative;
}
.hero-mark-bg{
  position:absolute; right:-60px; top:-40px; opacity:.10; pointer-events:none;
  transform:rotate(4deg);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300" viewBox="0 0 600 300"><path d="M20,220 C150,60 350,260 580,40" fill="none" stroke="%23B9812E" stroke-width="1.4" stroke-dasharray="2 8" opacity="0.35"/></svg>');
  background-repeat:no-repeat;background-position:right 0 top 40px;background-size:520px 260px;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;
  position:relative;z-index:1;
}
.hero h1{
  font-size:47px;line-height:1.08;font-weight:600;margin:0 0 20px;letter-spacing:-.01em;
}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero p.lead{
  font-size:17.5px;line-height:1.6;color:#C9D4DE;max-width:520px;margin:0 0 32px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px;}
.hero-stats-block{border-top:1px solid rgba(255,255,255,0.14);padding-top:18px;}
.hero-stats-label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:#9FB0BF;margin-bottom:14px;display:block;
}
.hero-stats-label b{color:#E8C787;font-weight:600;}
.hero-stats{display:flex;gap:34px;flex-wrap:wrap;}
.hero-stats .stat b{
  font-family:'IBM Plex Mono',monospace;font-size:22px;display:block;color:#fff;font-weight:600;
}
.hero-stats .stat span{font-size:12.5px;color:#9FB0BF;}

/* manifest ticket card */
.ticket{
  background:#fff;color:var(--ink);border-radius:16px;
  padding:26px 26px 22px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.45);
  position:relative;
}
.ticket-notch{
  position:absolute;width:26px;height:26px;background:var(--navy);border-radius:50%;
  top:50%;transform:translateY(-50%);
}
.ticket-notch.left{left:-13px;}
.ticket-notch.right{right:-13px;}
.ticket .perf{
  border-top:1.5px dashed #C9D0D6;margin:16px 0;
}
.ticket-head{display:flex;justify-content:space-between;align-items:flex-start;}
.ticket-head .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;}
.ticket-head .day{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--green);font-weight:600;}
.ticket h4{margin:6px 0 2px;font-size:17px;}
.ticket .sampletag{
  font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;color:#fff;background:var(--periwinkle);
  padding:3px 7px;border-radius:5px;text-transform:uppercase;
}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.kpi{background:var(--tint);border-radius:10px;padding:12px 14px;}
.kpi .l{font-size:11px;color:var(--muted);font-family:'IBM Plex Mono',monospace;letter-spacing:.05em;}
.kpi .v{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:600;margin-top:2px;}
.kpi .v.green{color:var(--green);}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px;}
.ticket-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;}
.ticket-foot .status{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--green);font-weight:600;}

/* ---------- Section shells ---------- */
.section{padding:88px 0;}
.section.tight{padding:56px 0;}
.section.tint{background:var(--tint);}
.section-head{max-width:680px;margin-bottom:48px;}
.section-head h2{font-size:33px;font-weight:600;margin:0 0 14px;line-height:1.18;}
.section-head p{color:var(--muted);font-size:16px;line-height:1.6;margin:0;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---------- Path cards ---------- */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.path-card{
  border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:#fff;
  display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease;
}
.path-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(16,20,24,0.25);}
.path-card .stamp{
  width:fit-content;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;padding:5px 10px;border-radius:999px;margin-bottom:18px;font-weight:600;
}
.path-card.a .stamp{background:var(--gold-soft);color:#8a5f1e;}
.path-card.b .stamp{background:var(--green-soft);color:var(--green);}
.path-card.featured{border:1.5px solid var(--navy-3);box-shadow:0 22px 44px -26px rgba(0,129,255,0.28);}
.path-card.featured .stamp{background:var(--navy-3);color:#fff;}
.path-card h3{font-size:23px;margin:0 0 12px;}
.path-card ul{margin:0 0 24px;padding:0;list-style:none;}
.path-card ul li{
  font-size:14.5px;color:var(--muted);padding:9px 0 9px 22px;position:relative;border-top:1px solid var(--tint-2);line-height:1.5;
}
.path-card ul li:first-child{border-top:none;}
.path-card ul li::before{content:"→";position:absolute;left:0;color:var(--gold);font-weight:700;}
.path-card .go{margin-top:auto;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:6px;color:var(--navy);text-decoration:none;}
.path-card .go svg{transition:transform .15s;}
.path-card .go:hover svg{transform:translateX(3px);}

/* ---------- Tabs ---------- */
.tabbar{display:flex;gap:8px;margin-bottom:38px;border-bottom:1px solid var(--line);}
.tabbtn{
  background:none;border:none;padding:12px 4px;margin-right:28px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:var(--muted);
  border-bottom:2px solid transparent;position:relative;top:1px;
}
.tabbtn.active{color:var(--navy);border-bottom-color:var(--gold);}
.tabpanel{display:none;}
.tabpanel.active{display:block;animation:fade .35s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* ---------- Problem cards ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pcard{
  border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;
}
.pcard .icon{font-size:22px;margin-bottom:14px;display:block;}
.pcard h4{font-size:16.5px;margin:0 0 10px;}
.pcard .problem{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 14px;}
.pcard .fix{
  font-size:13px;color:var(--navy);line-height:1.5;padding-top:12px;border-top:1px dashed var(--line);
  font-weight:500;
}
.pcard .fix b{color:var(--green);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;display:block;margin-bottom:5px;}

/* ---------- Journey / methodology ---------- */
.journey{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.jstep{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px;min-height:150px;
  display:flex;flex-direction:column;
}
.jstep .num{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-weight:600;font-size:13px;margin-bottom:10px;}
.jstep h5{font-size:14.5px;margin:0 0 8px;line-height:1.3;}
.jstep p{font-size:12px;color:var(--muted);line-height:1.5;margin:0;}
.journey-note{margin-top:22px;font-size:13.5px;color:var(--muted);}
.journey-note b{color:var(--ink);}

.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:44px;}
.flowcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative;}
.flowcard .when{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--gold);font-weight:600;letter-spacing:.06em;margin-bottom:8px;}
.flowcard h5{font-size:16px;margin:0 0 8px;}
.flowcard p{font-size:13px;color:var(--muted);line-height:1.55;margin:0;}
.flowcard:not(:last-child)::after{
  content:"→";position:absolute;right:-22px;top:50%;transform:translateY(-50%);color:var(--line);font-size:18px;
}

.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.pillar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px;}
.pillar h6{font-size:13.5px;margin:0 0 10px;color:var(--navy);}
.pillar ul{margin:0;padding:0;list-style:none;}
.pillar li{font-size:11.8px;color:var(--muted);padding:5px 0;border-top:1px solid var(--tint-2);line-height:1.4;}
.pillar li:first-child{border-top:none;}

/* ---------- Comparison table ---------- */
.comp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
table.comp{width:100%;border-collapse:collapse;min-width:760px;}
table.comp th, table.comp td{padding:16px 18px;text-align:left;font-size:14px;vertical-align:top;}
table.comp thead th{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid var(--line);font-weight:600;
}
table.comp thead th.us{color:var(--navy);}
table.comp tbody tr:not(:last-child) td{border-bottom:1px solid var(--tint-2);}
table.comp td.row-label{font-weight:600;color:var(--ink);width:22%;}
table.comp td.row-label span{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px;}
table.comp td.desc{color:var(--muted);font-size:13.3px;line-height:1.5;}
table.comp td.desc.us{color:var(--ink);font-weight:500;}
table.comp col.us-col{background:var(--tint);}

/* ---------- Pricing ---------- */
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.pricing.single{grid-template-columns:1fr;max-width:480px;}
.price-ticket{
  background:#fff;border-radius:16px;border:1px solid var(--line);position:relative;
  box-shadow:0 20px 50px -30px rgba(16,20,24,0.35);
}
.price-top{padding:30px 30px 22px;}
.price-top .plan-tag{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:10px;}
.price-top h3{font-size:24px;margin:0 0 6px;}
.price-top .who{font-size:13.5px;color:var(--muted);margin-bottom:20px;}
.price-top .amount{font-family:'IBM Plex Mono',monospace;font-size:38px;font-weight:600;color:var(--navy);}
.price-top .amount span{font-size:14px;font-weight:500;color:var(--muted);font-family:'Inter',sans-serif;}
.price-top .sub-amount{font-size:13px;color:var(--muted);margin-top:6px;}
.price-perf{border-top:1.5px dashed var(--line);position:relative;margin:0 0;}
.price-perf .n{position:absolute;width:22px;height:22px;background:var(--paper);border-radius:50%;top:-11px;}
.price-perf .n.l{left:-1px;}
.price-perf .n.r{right:-1px;}
.price-bottom{padding:22px 30px 30px;}
.price-bottom ul{margin:0 0 24px;padding:0;list-style:none;}
.price-bottom li{font-size:13.8px;color:var(--muted);padding:8px 0 8px 22px;position:relative;line-height:1.4;}
.price-bottom li::before{content:"✓";color:var(--green);position:absolute;left:0;font-weight:700;}

/* ---------- Brands ---------- */
.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.brand{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;}
.brand .route{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold);font-weight:600;margin-bottom:10px;}
.brand h4{font-size:19px;margin:0 0 4px;}
.brand .cat{font-size:13px;color:var(--muted);margin-bottom:16px;}
.brand ul{margin:0;padding:0;list-style:none;}
.brand li{font-size:13px;color:var(--muted);padding:6px 0;border-top:1px solid var(--tint-2);}
.brand li:first-child{border-top:none;}

/* ---------- Founders ---------- */
.founders{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fcard{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px;}
.favatar{
  width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:#fff;margin-bottom:18px;
}
.fcard h4{font-size:19px;margin:0 0 3px;}
.fcard .role{font-size:13px;color:var(--gold);font-weight:600;margin-bottom:6px;}
.fcard .role-note{font-size:12px;color:var(--muted);margin-bottom:14px;}
.fcard ul{margin:0 0 16px;padding:0;list-style:none;}
.fcard li{font-size:13.3px;color:var(--muted);padding:7px 0;border-top:1px solid var(--tint-2);line-height:1.5;}
.fcard li:first-child{border-top:none;}
.fquote{font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;color:var(--navy);border-top:1px solid var(--tint-2);padding-top:14px;}

/* ---------- Mistakes strip ---------- */
.mistakes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.mistake{background:#fff;padding:22px 20px;}
.mistake .n{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-weight:600;font-size:12px;margin-bottom:8px;}
.mistake h6{font-size:14.5px;margin:0 0 6px;}
.mistake p{font-size:12.8px;color:var(--muted);margin:0;line-height:1.5;}

/* ---------- CTA ---------- */
.cta-band{
  background:linear-gradient(120deg, var(--navy) 0%, var(--navy-3) 130%);color:#fff;border-radius:20px;
  padding:56px 50px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;
}
.cta-band h3{font-size:28px;margin:0 0 10px;max-width:480px;}
.cta-band p{color:#CFE0F5;margin:0;max-width:420px;font-size:15px;line-height:1.55;}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- Footnote ---------- */
.footnote{font-size:12.3px;color:#8A97A2;margin-top:10px;line-height:1.55;}
.footnote.dark{color:#9FB0BF;}

/* ---------- Contact / form ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff;}
.contact-card .field{margin-bottom:16px;}
.contact-card label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;}
.contact-card input, .contact-card textarea, .contact-card select{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14.5px;
  font-family:'Inter',sans-serif;outline:none;transition:border-color .15s;
}
.contact-card input:focus, .contact-card textarea:focus{border-color:var(--navy);}
.form-status{
  display:none;font-size:13px;padding:10px 12px;border-radius:8px;margin:-4px 0 16px;line-height:1.4;
}
.form-status.success{background:var(--green-soft);border:1px solid #BFDDD2;color:var(--green);}
.form-status.error{background:#FBEAE6;border:1px solid #F0C9C0;color:var(--rust);}
.contact-info-item{display:flex;gap:14px;margin-bottom:22px;}
.contact-info-item .ico{
  width:40px;height:40px;border-radius:10px;background:var(--tint);display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;font-size:17px;
}
.contact-info-item h5{margin:0 0 3px;font-size:14.5px;}
.contact-info-item p{margin:0;font-size:13.5px;color:var(--muted);}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#B9C6D2;padding:56px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px;}
.foot-grid h5{color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-family:'IBM Plex Mono',monospace;margin:0 0 16px;}
.foot-grid a{display:block;color:#B9C6D2;text-decoration:none;font-size:14px;margin-bottom:10px;opacity:.9;}
.foot-grid a:hover{opacity:1;color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;}
.foot-bottom span{color:#8A9AA8;}

/* ---------- Modal (login) ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,10,22,0.6);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal{
  background:#fff;border-radius:18px;max-width:420px;width:100%;padding:36px 34px 30px;position:relative;
  box-shadow:0 40px 80px -30px rgba(0,0,0,0.5);
}
.modal-close{
  position:absolute;top:18px;right:18px;background:none;border:none;cursor:pointer;
  font-size:20px;color:var(--muted);line-height:1;
}
.modal .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:10px;}
.modal h3{font-size:22px;margin:0 0 8px;}
.modal p.sub{font-size:13.8px;color:var(--muted);margin:0 0 24px;line-height:1.5;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.field input{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14.5px;
  font-family:'Inter',sans-serif;outline:none;transition:border-color .15s;
}
.field input:focus{border-color:var(--navy);}
.login-error{
  display:none;background:#FBEAE6;border:1px solid #F0C9C0;color:var(--rust);
  font-size:13px;padding:10px 12px;border-radius:8px;margin:-4px 0 16px;line-height:1.4;
}
.remember-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:-4px 0 16px;}
.remember-row input{width:auto;margin:0;}
.modal .btn{width:100%;justify-content:center;margin-top:6px;}
.modal-foot{margin-top:18px;text-align:center;font-size:12.8px;color:var(--muted);}
.modal-foot a{color:var(--navy);font-weight:600;text-decoration:none;}

/* ---------- Full-page client portal ---------- */
.portal-tools{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.tool-card{
  display:block;text-decoration:none;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);padding:32px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.tool-card:hover{transform:translateY(-3px);box-shadow:0 24px 46px -26px rgba(0,31,63,0.3);border-color:var(--navy-3);}
.tool-card .tool-icon{
  width:52px;height:52px;border-radius:12px;background:var(--tint);display:flex;align-items:center;justify-content:center;
  font-size:24px;margin-bottom:20px;
}
.tool-card h3{font-size:20px;margin:0 0 8px;}
.tool-card p{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 22px;}
.tool-card .open-tool{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--navy-3);
}
.tool-card .open-tool svg{transition:transform .15s;}
.tool-card:hover .open-tool svg{transform:translateX(3px);}
.portal-logout{
  background:none;border:1px solid rgba(255,255,255,0.35);color:#fff;font-size:13.5px;font-weight:600;
  padding:9px 16px;border-radius:9px;cursor:pointer;font-family:'Inter',sans-serif;
}
.portal-logout:hover{border-color:#fff;}
.portal-note{font-size:13px;color:var(--muted);margin-top:26px;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero .ticket{max-width:420px;}
  .paths{grid-template-columns:1fr;}
  .cards3{grid-template-columns:1fr 1fr;}
  .journey{grid-template-columns:repeat(3,1fr);}
  .flow{grid-template-columns:1fr 1fr;}
  .flowcard::after{display:none;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .brands{grid-template-columns:1fr;}
  .founders{grid-template-columns:1fr;}
  .mistakes{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .pricing{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .portal-tools{grid-template-columns:1fr;}
}
@media (max-width:860px){
  nav.links{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;
    padding:14px 20px 20px;gap:2px;border-top:1px solid rgba(255,255,255,0.1);max-height:80vh;overflow-y:auto;
  }
  nav.links.open{display:flex;}
  .nav-item{width:100%;}
  .nav-item > a, .nav-item > button.nav-top{width:100%;justify-content:space-between;padding:14px 6px;}
  .dropdown{
    position:static;box-shadow:none;border:none;background:rgba(255,255,255,0.04);display:none;margin-bottom:4px;
  }
  .nav-item.open .dropdown{display:block;}
  .dropdown a{color:#DCE4EC;}
  .dropdown a:hover{background:rgba(255,255,255,0.08);}
  .burger{display:block;}
  .navbar .btn-ghost{display:none;}
}
@media (max-width:640px){
  .navbar .btn-gold{display:none;}
  .hero h1{font-size:34px;}
  .pagehead h1{font-size:28px;}
  .hero-stats{gap:22px;}
  .cards3{grid-template-columns:1fr;}
  .journey{grid-template-columns:1fr 1fr;}
  .pillars{grid-template-columns:1fr 1fr;}
  .mistakes{grid-template-columns:1fr;}
  .cta-band{padding:36px 26px;}
  .section{padding:60px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .logo .word{font-size:24px;}
  .logo .mark{width:38px;height:38px;}
}
