/* ============================================================
   TPGIG.ai — LIGHT THEME SITE SYSTEM
   Signature White dominant · navy for text & contrast blocks ·
   orange as scalpel accent (one per view)
   ============================================================ */
:root{
  --bg:#f7f7f7;            /* Signature White — dominant field */
  --band:#eaeaea;          /* Light Grey — alternate bands */
  --panel:#ffffff;         /* cards */
  --ink:#192033;           /* Signature Blue as text */
  --muted:#525a6b;         /* secondary text (navy-derived) */
  --grey:#aaadb2;          /* Dark Grey — captions, hairlines */
  --orange:#ff4026;
  --navy:#192033;          /* contrast blocks */
  --navy-2:#1e2740;
  --line:#dfe1e5;

  --font-head:'Work Sans',Arial,Helvetica,sans-serif;
  --font-body:'Sora',Arial,Helvetica,sans-serif;

  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --ease-inout:cubic-bezier(0.65,0,0.35,1);
  --dur-fast:.25s; --dur-med:.6s; --dur-slow:.9s;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-body);font-weight:300;line-height:1.7;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
::selection{background:var(--orange);color:#f7f7f7}
h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.12;letter-spacing:-.01em;text-align:left;color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 6vw}
section{position:relative;padding:110px 0}
.band{background:var(--band)}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-head);font-weight:600;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--orange)}
.accent{color:var(--orange)}
.lead{color:var(--muted);max-width:60ch}

/* ---------- scroll progress ---------- */
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--orange);z-index:1001;transition:width .1s linear}

/* ---------- nav ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 6vw;display:flex;align-items:center;justify-content:space-between;
  background:rgba(247,247,247,.75);
  transition:background var(--dur-fast) ease,padding var(--dur-fast) ease,box-shadow var(--dur-fast) ease;
}
nav.scrolled{
  background:rgba(247,247,247,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:12px 6vw;border-bottom:1px solid var(--line);
}
.logo img{height:136px;display:block;transition:height var(--dur-fast) ease}
nav.scrolled .logo img{height:88px}
@media(max-width:860px){.logo img{height:88px}nav.scrolled .logo img{height:64px}}
.nav-links{display:flex;gap:32px;align-items:center;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.88rem;font-weight:400;position:relative;transition:color var(--dur-fast) ease}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.nav-links a:not(.btn):hover{color:var(--ink)}
.nav-links a:not(.btn):hover::after{transform:scaleX(1)}
.nav-links a.active{color:var(--ink);font-weight:600}
.nav-links a.active::after{transform:scaleX(1)}

/* ---------- mobile menu toggle ---------- */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;flex-direction:column;gap:5px;z-index:1002}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:1px;transition:transform .25s var(--ease-out),opacity .2s ease}
nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.menu-open .nav-toggle span:nth-child(2){opacity:0}
nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-head);font-weight:600;font-size:.95rem;
  padding:16px 32px;border-radius:4px;text-decoration:none;cursor:pointer;border:none;
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease;
  will-change:transform;
}
.btn-primary{background:var(--orange);color:#f7f7f7}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(255,64,38,.3)}
.btn-primary:active{transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,64,38,.26)}
.btn-primary .arrow{transition:transform var(--dur-fast) var(--ease-out)}
.btn-primary:hover .arrow{transform:translateX(5px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:15px 31px}
.btn-ghost:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(25,32,51,.15)}
.btn-sm{padding:11px 22px;font-size:.85rem}
.link-quiet{color:var(--muted);text-decoration:none;font-size:.9rem;border-bottom:1px solid var(--line);padding-bottom:3px;transition:color var(--dur-fast),border-color var(--dur-fast)}
.link-quiet:hover{color:var(--ink);border-color:var(--orange)}

/* ---------- reveal system ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
.reveal[data-delay="4"]{transition-delay:.4s}
.reveal[data-delay="5"]{transition-delay:.5s}
.mask-line{display:block;overflow:hidden}
.mask-line>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease-out)}
.in .mask-line>span{transform:none}
.in .mask-line:nth-child(2)>span{transition-delay:.12s}
.in .mask-line:nth-child(3)>span{transition-delay:.24s}

/* ---------- hero (home) ---------- */
#hero{min-height:92vh;display:flex;align-items:center;padding:230px 0 100px;
  background:
    radial-gradient(1000px 560px at 80% 8%,rgba(255,64,38,.06),transparent 60%),
    var(--bg);
}
#hero .grid-lines{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:radial-gradient(800px 500px at 30% 40%,#000 0%,transparent 75%);
  -webkit-mask-image:radial-gradient(800px 500px at 30% 40%,#000 0%,transparent 75%);
}
#hero h1{font-size:clamp(2.3rem,5vw,4.1rem);max-width:19ch;margin:28px 0 26px}

/* ---------- animated TPGIG.ai wordmark (home hero) ---------- */
.wordmark{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(3.2rem,9vw,6.5rem);line-height:1;letter-spacing:-.01em;
  display:flex;margin:30px 0 6px;
}
.wm-letter{
  display:inline-block;opacity:0;transform:translateY(.65em);
  animation:wmUp .7s var(--ease-out) forwards;color:var(--ink);
}
.wm-letter.wm-o{color:var(--orange)}
.wm-letter.wm-g{color:var(--grey);font-weight:500}
.wm-letter:nth-child(1){animation-delay:.15s}
.wm-letter:nth-child(2){animation-delay:.23s}
.wm-letter:nth-child(3){animation-delay:.31s}
.wm-letter:nth-child(4){animation-delay:.39s}
.wm-letter:nth-child(5){animation-delay:.47s}
.wm-letter:nth-child(6){animation-delay:.55s}
.wm-letter:nth-child(7){animation-delay:.63s}
.wm-letter:nth-child(8){animation-delay:.71s}
@keyframes wmUp{to{opacity:1;transform:none}}
.wm-rule{
  height:3px;width:0;background:var(--orange);margin:18px 0 34px;
  animation:wmRule .8s var(--ease-out) .95s forwards;
}
@keyframes wmRule{to{width:120px}}
#hero .htitle{font-size:clamp(1.9rem,4.2vw,3.2rem);max-width:20ch;margin:0 0 24px}
@media(prefers-reduced-motion:reduce){
  .wm-letter{opacity:1!important;transform:none!important}
  .wm-rule{width:120px!important}
}
#hero .sub{max-width:62ch;font-size:1.05rem;color:var(--muted);margin-bottom:44px}
#hero .sub p+p{margin-top:16px}
#hero .sub b{color:var(--ink);font-weight:500}
#hero .cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.trust-bar{margin-top:64px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:44px;flex-wrap:wrap}
.trust-bar span{font-family:var(--font-head);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.trust-bar span b{color:var(--ink);font-weight:700}

/* ---------- page hero (interior pages) ---------- */
.page-hero{padding:240px 0 70px}
.page-hero h1{font-size:clamp(2rem,4vw,3.1rem);max-width:22ch;margin:26px 0 18px}
.page-hero .lead{font-size:1.06rem}

/* ---------- generic cards ---------- */
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:6px;
  transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) ease,box-shadow var(--dur-fast) var(--ease-out);
}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(25,32,51,.12)}

/* ---------- stats (pain) ---------- */
h2.sec{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:26ch;margin:26px 0 56px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:20px}
.stat-card{padding:36px 30px}
.stat-card:hover{border-color:rgba(255,64,38,.5)}
.stat-num{font-family:var(--font-head);font-weight:800;font-size:2.9rem;line-height:1;color:var(--ink);margin-bottom:14px}
.stat-card p{color:var(--muted);font-size:.92rem}
.stat-src{margin-top:18px;font-size:.72rem;color:var(--grey);letter-spacing:.02em}
.stat-src a{color:var(--grey);text-decoration:underline;text-underline-offset:2px}
.stat-src a:hover{color:var(--muted)}
.transition-line{margin-top:56px;font-size:1.15rem;color:var(--ink);max-width:60ch;border-left:3px solid var(--orange);padding-left:24px}
.transition-line b{font-weight:600}

/* ---------- about / model ---------- */
.about-lead{max-width:66ch;color:var(--muted);font-size:1.08rem;margin-bottom:44px}
.about-lead b{color:var(--ink);font-weight:500}
.promise{
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--orange);
  border-radius:6px;padding:38px 40px;margin-bottom:64px;max-width:760px;
}
.promise h3{font-size:1.7rem;margin-bottom:12px}
.promise p{color:var(--muted);font-size:.98rem;max-width:58ch}
.promise p b{color:var(--ink);font-weight:500}
/* who is this for (navy bars panel) */
.whofor{background:var(--navy);border-radius:6px;padding:52px 46px;margin-bottom:34px}
.whofor .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.whofor h3{color:#f7f7f7;font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:28px}
.who-bar{
  background:rgba(247,247,247,.1);border:1px solid rgba(247,247,247,.14);border-left:4px solid var(--orange);
  border-radius:4px;color:#e8eaee;font-size:.96rem;padding:17px 24px;margin-bottom:12px;
  transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
.who-bar:hover{background:rgba(247,247,247,.17);transform:translateX(8px)}
.who-close{color:var(--orange);font-style:italic;margin-top:24px;font-size:.95rem}
@media(max-width:640px){.whofor{padding:38px 26px}}

.team-label{font-family:var(--font-head);font-weight:700;font-size:1.2rem;margin-bottom:24px}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.founder{padding:40px 36px}
.founder h3{font-size:1.15rem;margin-bottom:4px}
.founder .role{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-family:var(--font-head);font-weight:600;margin-bottom:18px}
.founder p{color:var(--muted);font-size:.93rem}
.founder .headshot{
  width:100%;max-width:340px;aspect-ratio:1/1;object-fit:cover;object-position:top;
  border-radius:6px;display:block;margin-bottom:22px;
}

/* ---------- home podcast strip ---------- */
.pod-strip{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.pod-strip .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.pod-strip h3{font-size:1.5rem;margin-bottom:10px}
.pod-strip p{color:var(--muted);font-size:.95rem;max-width:52ch;margin-bottom:18px}
@media(max-width:820px){.pod-strip{grid-template-columns:1fr;gap:30px}}

/* ---------- CTA band (per-page closer) ---------- */
.cta-band{background:var(--navy);color:#f7f7f7;padding:100px 0}
.cta-band h2{color:#f7f7f7;font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:24ch;margin:0 0 20px}
.cta-band p{color:var(--grey);max-width:54ch;margin-bottom:38px}
.cta-band .reassure{margin-top:20px;font-size:.85rem;margin-bottom:0}

/* ---------- audience ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.aud-card{padding:38px 32px}
.aud-card .kicker{font-family:var(--font-head);font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}
.aud-card h3{font-size:1.1rem;margin-bottom:12px}
.aud-card p{color:var(--muted);font-size:.92rem}

/* ---------- lifecycle flow (navy tiles on light) ---------- */
.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin:56px 0 0}
.stage{
  position:relative;color:#f7f7f7;border-radius:8px;padding:30px 22px 24px;overflow:hidden;
  background:
    linear-gradient(var(--orange),var(--orange)) top left / 42px 3px no-repeat,
    linear-gradient(160deg,#212a42 0%,#141a2b 70%);
  background-color:var(--navy);
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-size .45s var(--ease-out);
}
.stage:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(25,32,51,.3);background-size:100% 3px,auto}
.stage::before{
  content:attr(data-n);position:absolute;right:10px;top:-8px;pointer-events:none;
  font-family:var(--font-head);font-weight:800;font-size:4.4rem;line-height:1;
  color:rgba(247,247,247,.055);
}
.stage:not(:last-child)::after{
  content:"→";position:absolute;right:-21px;top:34px;z-index:2;
  width:22px;height:22px;border-radius:50%;
  background:var(--bg);border:1px solid var(--orange);
  color:var(--orange);font-family:var(--font-head);font-weight:700;font-size:.78rem;
  display:flex;align-items:center;justify-content:center;
}
.stage .step{
  display:inline-flex;align-items:center;
  background:rgba(255,64,38,.14);border:1px solid rgba(255,64,38,.45);border-radius:999px;
  padding:4px 13px;margin-bottom:14px;
  font-family:var(--font-head);font-weight:800;font-size:.68rem;letter-spacing:.18em;color:var(--orange);
}
.stage h3{font-size:.95rem;line-height:1.3;margin-bottom:14px;color:#f7f7f7}
.stage ul{list-style:none}
.stage li{color:var(--grey);font-size:.76rem;line-height:1.5;padding:5px 0 5px 14px;position:relative;border-top:1px solid rgba(170,173,178,.2)}
.stage li::before{content:"·";position:absolute;left:2px;color:var(--orange);font-weight:700}
@media(max-width:980px){
  .lifecycle{grid-template-columns:1fr;gap:30px}
  .stage:not(:last-child)::after{content:"↓";right:auto;left:26px;top:auto;bottom:-26px}
}

/* we start where you are (outcome cards) */
.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.start-card{border-left:4px solid var(--orange);padding:34px 32px}
.start-card h3{font-size:1.15rem;margin-bottom:10px}
.start-card p{color:var(--muted);font-size:.93rem}
@media(max-width:760px){.start-grid{grid-template-columns:1fr}}
.roi-note{
  margin-top:64px;background:var(--navy);color:#f7f7f7;border-radius:6px;padding:44px 40px;
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
}
.roi-note .big{font-family:var(--font-head);font-weight:800;font-size:3.2rem;line-height:1}
.roi-note .big em{font-style:normal;color:var(--orange)}
.roi-note .big .fte{display:block;margin-top:8px;font-size:.9rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.roi-note p{color:var(--grey);font-size:.95rem;max-width:52ch}
.roi-note p b{color:#f7f7f7;font-weight:500}
.roi-note small{display:block;margin-top:10px;color:#7c818c;font-size:.78rem}

/* ---------- proof ---------- */
.cred-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:28px}
.cred{padding:34px 30px}
.cred .num{font-family:var(--font-head);font-weight:800;font-size:2.5rem;line-height:1;margin-bottom:10px;color:var(--ink)}
.cred p{color:var(--muted);font-size:.88rem}

/* ---------- quiz ---------- */
.quiz{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:44px 40px;max-width:760px}
.quiz-progress{display:flex;align-items:center;gap:18px;margin-bottom:30px}
.quiz-progress span{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.qbar{flex:1;height:2px;background:var(--line)}
.qbar i{display:block;height:100%;width:0;background:var(--orange);transition:width .4s var(--ease-out)}
#qbody{transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}
#qbody.fading{opacity:0;transform:translateY(12px)}
.qq{font-family:var(--font-head);font-weight:700;font-size:1.25rem;line-height:1.3;margin-bottom:24px}
.qopt{
  display:block;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);
  border-radius:4px;color:var(--muted);font-family:var(--font-body);font-weight:300;font-size:.95rem;
  padding:16px 20px;margin-bottom:10px;cursor:pointer;
  transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out);
}
.qopt:hover{border-color:var(--orange);color:var(--ink);transform:translateX(6px)}
.qopt.picked{border-color:var(--orange);color:var(--ink)}
.qresult .score{font-family:var(--font-head);font-weight:800;font-size:3.6rem;line-height:1;color:var(--orange)}
.qresult .of{color:var(--muted);font-size:1rem}
.qresult h3{font-size:1.35rem;margin:18px 0 12px}
.qresult p{color:var(--muted);font-size:.95rem;max-width:56ch;margin-bottom:28px}
.qresult .again{margin-left:20px}

/* ---------- tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;align-items:stretch}
.tier{padding:42px 36px;display:flex;flex-direction:column}
.tier:hover{transform:translateY(-6px)}
.tier.featured{border-color:rgba(255,64,38,.6);position:relative}
.tier.featured::before{
  content:"MOST TEAMS START HERE";position:absolute;top:-11px;left:32px;
  background:var(--orange);color:#f7f7f7;font-family:var(--font-head);font-weight:700;
  font-size:.62rem;letter-spacing:.14em;padding:4px 10px;border-radius:3px;
}
.tier h3{font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.tier .price{font-family:var(--font-head);font-weight:800;font-size:2.2rem;margin:14px 0 4px;color:var(--ink)}
.tier .per{color:var(--muted);font-size:.82rem;margin-bottom:26px}
.tier ul{list-style:none;margin-bottom:34px;flex:1}
.tier li{color:var(--muted);font-size:.9rem;padding:9px 0 9px 26px;position:relative;border-top:1px solid var(--line)}
.tier li::before{content:"→";position:absolute;left:0;color:var(--orange);font-size:.85rem}
.tier .btn{justify-content:center}

/* ---------- resources ---------- */
.pod-feature{
  display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:var(--panel);border:1px solid rgba(255,64,38,.5);border-radius:6px;
  padding:44px 40px;margin-bottom:22px;
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.pod-feature:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(25,32,51,.12)}
.pod-mark{
  width:88px;height:88px;border-radius:6px;background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:1.4rem;color:var(--orange);
}
.pod-feature .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.pod-feature h3{font-size:1.35rem;margin-bottom:8px}
.pod-feature p{color:var(--muted);font-size:.93rem;max-width:56ch}
.pod-listen{display:flex;flex-direction:column;gap:12px}
.pod-listen .btn{text-align:center}
.pod-embed{margin:0 0 56px}
.pod-embed iframe{width:100%;border:0;border-radius:8px}
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.res-card{padding:34px 30px;display:flex;flex-direction:column}
.res-card .kicker{font-family:var(--font-head);font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.res-card h3{font-size:1.05rem;margin-bottom:10px}
.res-card p{color:var(--muted);font-size:.9rem;flex:1;margin-bottom:22px}
.res-card .link-quiet{align-self:flex-start}
.res-card .meta{color:var(--grey);font-size:.76rem;margin-bottom:8px}
/* full-width marketplace band */
.marketplace-band{
  display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:var(--navy);border:1px solid var(--navy);border-radius:6px;
  padding:44px 40px;margin-top:22px;
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.marketplace-band:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(25,32,51,.22)}
.mp-mark{
  width:88px;height:88px;border-radius:6px;background:rgba(247,247,247,.08);
  border:1px solid rgba(170,173,178,.25);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:1.15rem;color:var(--orange);
}
.marketplace-band .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.marketplace-band h3{font-size:1.35rem;margin-bottom:8px;color:#f7f7f7}
.marketplace-band .meta{color:#7c818c;font-size:.76rem;margin-bottom:10px}
.marketplace-band p{color:var(--grey);font-size:.93rem;max-width:66ch}
.marketplace-band .btn-ghost{color:#f7f7f7;border-color:rgba(170,173,178,.4)}
.marketplace-band .btn-ghost:hover{border-color:#f7f7f7}
@media(max-width:820px){.marketplace-band{grid-template-columns:1fr;gap:22px}}
@media(max-width:820px){.pod-feature{grid-template-columns:1fr;gap:22px}}

/* ---------- roundtable ---------- */
.rt-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;align-items:stretch}
.event-card{padding:42px 36px;display:flex;flex-direction:column;align-items:flex-start}
.event-card p{color:var(--muted);font-size:.92rem;flex:1;margin:0 0 28px}
.event-card .btn{justify-content:center}
.event-card.featured-event{border-color:rgba(255,64,38,.6)}
.event-status{
  font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:20px;
}
.status-next{background:var(--orange);color:#f7f7f7}
.status-soon{background:transparent;color:var(--muted);border:1px solid var(--line)}
.event-city{font-family:var(--font-head);font-weight:800;font-size:2rem;line-height:1.1;color:var(--ink)}
.event-date{font-family:var(--font-head);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 0 20px}
.rt-citycall{
  margin-top:22px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--orange);
  border-radius:6px;padding:38px 40px;
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.rt-citycall .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.rt-citycall h3{font-size:1.35rem;margin-bottom:10px}
.rt-citycall p{color:var(--muted);font-size:.93rem;max-width:60ch}
@media(max-width:820px){.rt-citycall{grid-template-columns:1fr;gap:24px;padding:34px 26px}}
.rt-past{
  margin-top:44px;background:var(--navy);border-radius:6px;padding:44px 40px;
}
.rt-past .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.rt-past h3{color:#f7f7f7;font-size:1.35rem;margin-bottom:12px}
.rt-past p{color:var(--grey);font-size:.95rem;max-width:70ch}

/* roundtable form */
.rt-form{padding:44px 40px;max-width:760px}
.rt-form:hover{transform:none;box-shadow:none}
.rt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
.rt-field{display:flex;flex-direction:column}
.rt-field-full{grid-column:1 / -1}
.rt-field label{
  font-family:var(--font-head);font-weight:600;font-size:.78rem;letter-spacing:.06em;
  color:var(--ink);margin-bottom:8px;
}
.rt-field .optional{color:var(--grey);font-weight:400;text-transform:none;letter-spacing:0}
.rt-field input,.rt-field select,.rt-field textarea{
  background:var(--bg);border:1px solid var(--line);border-radius:4px;
  font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--ink);
  padding:14px 16px;transition:border-color var(--dur-fast) ease;
}
.rt-field input::placeholder,.rt-field textarea::placeholder{color:var(--grey)}
.rt-field input:focus,.rt-field select:focus,.rt-field textarea:focus{outline:none;border-color:var(--orange)}
.rt-field textarea{resize:vertical}
.hp-field{position:absolute;left:-9999px;top:-9999px}
.rt-success{padding:44px 40px;max-width:760px;border-left:3px solid var(--orange)}
.rt-success h3{font-size:1.35rem;margin-bottom:10px}
.rt-success p{color:var(--muted);font-size:.95rem;max-width:56ch}
@media(max-width:640px){.rt-form-grid{grid-template-columns:1fr}.rt-form,.rt-past{padding:34px 26px}}

/* home roundtable banner */
.rt-banner{
  background:var(--navy);border-radius:6px;padding:44px 40px;
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.rt-banner:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(25,32,51,.22)}
.rt-banner .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.rt-banner h3{color:#f7f7f7;font-size:1.5rem;margin-bottom:10px}
.rt-banner p{color:var(--grey);font-size:.95rem;max-width:56ch}
@media(max-width:820px){.rt-banner{grid-template-columns:1fr;gap:24px}}

/* engage roundtable cross-link */
.rt-crosslink{
  margin-top:56px;background:var(--navy);border-radius:6px;padding:44px 40px;
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.rt-crosslink .kicker{font-family:var(--font-head);font-weight:600;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.rt-crosslink h3{color:#f7f7f7;font-size:1.35rem;margin-bottom:10px}
.rt-crosslink p{color:var(--grey);font-size:.93rem;max-width:56ch}
.rt-crosslink .btn-ghost{color:#f7f7f7;border-color:rgba(170,173,178,.4)}
.rt-crosslink .btn-ghost:hover{border-color:#f7f7f7}
@media(max-width:820px){.rt-crosslink{grid-template-columns:1fr;gap:24px}}

/* ---------- footer ---------- */
footer{background:var(--navy);padding:52px 0;margin-top:0}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
footer p{color:var(--grey);font-size:.82rem}
footer .tagline{font-family:var(--font-head);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#f7f7f7}
footer a{color:var(--grey);text-decoration:none;border-bottom:1px solid rgba(170,173,178,.3)}
footer a:hover{color:#f7f7f7;border-color:var(--orange)}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .nav-toggle{display:flex}
  .logo{position:relative;z-index:1002}
  .nav-links{
    position:fixed;top:0;left:0;right:0;z-index:1001;
    flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(247,247,247,.98);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    padding:120px 8vw 34px;border-bottom:1px solid var(--line);
    box-shadow:0 20px 44px rgba(25,32,51,.12);
    transform:translateY(-105%);transition:transform .3s var(--ease-out);
  }
  nav.menu-open .nav-links{transform:translateY(0)}
  .nav-links li{width:100%}
  .nav-links a:not(.btn){display:block;padding:14px 0;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .nav-links a:not(.btn)::after{display:none}
  .nav-links li:last-child{margin-top:22px}
  .founders{grid-template-columns:1fr}
  .roi-note{grid-template-columns:1fr;gap:20px}
  section{padding:80px 0}
  .page-hero{padding:180px 0 50px}
  #hero{padding-top:180px}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.mask-line>span{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}
