
/* ═══════════════════════════════════════════════════
   MATCHMAKERS DESIGN SYSTEM — Enterprise v4
   MatchMakers LLC · matchmakersusa.com
   ═══════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
::selection{background:rgba(201,168,76,.25);color:#fff}
::-moz-selection{background:rgba(201,168,76,.25);color:#fff}

/* ── COLOR TOKENS ── */
:root{
  --dk:    #05090F;
  --navy:  #0B1727;
  --mid:   #101D2F;
  --steel: #162236;
  --rim:   rgba(65,91,124,.22);
  --gold:  #C9A84C;
  --gb:    rgba(201,168,76,.55);
  --gd:    rgba(201,168,76,.12);
  --gl:    rgba(201,168,76,.06);
  --green: #2DB87A;
  --white: #F8FAFC;
  --sl:    #7A95AF;
  --tx:    #C2D1E0;
  --gold-hover: #D4B65E;
  --gold-muted: rgba(201,168,76,.5);
  --cg: 'Cormorant Garamond',Georgia,serif;
  --pd: 'Outfit',system-ui,sans-serif;
  --sr: 'DM Sans',system-ui,sans-serif;
  --ob: var(--pd);
}

/* ── BASE ── */
body{background:var(--dk);color:var(--tx);font-family:var(--sr);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:visited{color:inherit}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--gb);outline-offset:3px;border-radius:4px}

/* ── BUTTON SYSTEM ── */
.btn-gold{background:transparent;border:1.5px solid var(--gold-muted);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-family:var(--pd);font-weight:700;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;padding:12px 22px;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap;text-decoration:none;gap:7px;}
.btn-gold:hover{background:rgba(201,168,76,.08);border-color:var(--gold);}
.btn-gold-sm{font-size:.72rem;padding:7px 14px;}
.btn-gold-xs{font-size:.7rem;padding:4px 10px;}
.btn-gold-fill{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.btn-gold-fill:hover{background:var(--gold-hover);}
.btn-gold-subtle{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);color:rgba(201,168,76,.7);font-weight:600;}
.btn-gold-subtle:hover{background:rgba(201,168,76,.14);}

/* ── LAYOUT ── */
.w{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.g2.stretch{align-items:stretch}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

/* ── TYPOGRAPHY SCALE ── */
.h1{font-family:var(--cg);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;color:var(--white);line-height:1.08;letter-spacing:-.02em}
.h2{font-family:var(--pd);font-size:clamp(2rem,3.8vw,3rem);font-weight:800;color:var(--white);line-height:1.12;letter-spacing:-.03em}
.h3{font-family:var(--pd);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;color:var(--white);line-height:1.15;letter-spacing:-.02em}
.sub{font-family:var(--sr);font-size:clamp(.9rem,1.5vw,1.08rem);color:var(--sl);line-height:1.82;margin-bottom:1.5rem}
.bp{font-family:var(--sr);font-size:clamp(.88rem,1.3vw,1rem);color:var(--tx);line-height:1.88;margin-bottom:1.1rem}
.ey{display:block;font-family:var(--pd);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.ey.c{text-align:center}
.gr{width:28px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:1px;margin-bottom:1.5rem}
.gr.c{margin-left:auto;margin-right:auto}

/* ── NAVIGATION ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(5,9,15,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(65,91,124,.18);transition:background .3s;padding-top:env(safe-area-inset-top,0)}
nav.scrolled{background:rgba(5,9,15,.96)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem);height:56px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nl{display:inline-flex;align-items:center;font-family:var(--pd);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(200,214,229,.6);padding:4px 0;transition:color .18s}
.nl:hover{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.ni{width:36px;height:36px;border-radius:8px;object-fit:cover;display:block}
.nb{display:inline-flex;align-items:center;font-family:var(--pd);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:7px 14px;border-radius:7px;background:transparent;border:1.5px solid rgba(201,168,76,.5);color:var(--gold);transition:background .2s,border-color .2s;cursor:pointer;white-space:nowrap}
.nb:hover{background:rgba(201,168,76,.08);border-color:var(--gold)}

/* ── HAMBURGER MENU ── */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:6px;background:none;border:none;cursor:pointer;z-index:110}
.hamburger span{display:block;width:100%;height:1.5px;background:rgba(200,214,229,.65);border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger:hover span{background:var(--gold)}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ── HERO ── */
.hero{min-height:100svh;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7rem clamp(1.25rem,4vw,3.5rem) 4rem;position:relative;overflow:hidden;background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(20,35,60,.9) 0%,var(--dk) 70%)}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 30%,rgba(201,168,76,.04) 0%,transparent 70%);pointer-events:none}
.hero-eyebrow{font-family:var(--pd);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,168,76,.85);margin-bottom:1.75rem;display:block}
.hero-title{font-family:var(--cg);font-size:clamp(2.2rem,9vw,7rem);font-weight:300;color:#fff;line-height:1.04;letter-spacing:-.02em;margin-bottom:.5rem;text-shadow:0 0 80px rgba(201,168,76,.15)}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{font-family:var(--sr);font-size:clamp(1rem,1.8vw,1.25rem);color:rgba(200,214,229,.7);line-height:1.7;max-width:560px;margin:0 auto 1.25rem}
.hero-proof{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}
.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.hero-stat-num{font-family:var(--pd);font-size:1.1rem;font-weight:800;color:var(--white);letter-spacing:-.02em}
.hero-stat-lbl{font-family:var(--pd);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(200,214,229,.45)}
.hero-dot{width:3px;height:3px;border-radius:50%;background:rgba(65,91,124,.6)}
.hero-ctas{display:flex;flex-direction:column;align-items:center;gap:0}

/* ── TRUST BAR ── */
.trust{background:rgba(11,23,39,.6);border-top:1px solid rgba(65,91,124,.18);border-bottom:1px solid rgba(65,91,124,.18);padding:.85rem 0;overflow:hidden}
.trust-inner{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem);display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.trust-item{font-family:var(--pd);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(200,214,229,.45);white-space:nowrap}
.trust-sep{font-size:.5rem;color:rgba(65,91,124,.5)}

/* ── ABOUT — 4 PILLARS ── */
.pillar{background:var(--mid);border:1px solid var(--rim);border-radius:14px;padding:1.75rem 1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.pillar:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(201,168,76,.12);border-color:rgba(201,168,76,.2)}
.pillar-num{font-family:var(--cg);font-size:2.8rem;font-weight:300;color:rgba(201,168,76,.2);line-height:1;margin-bottom:.75rem}
.pillar-title{font-family:var(--pd);font-size:1rem;font-weight:800;color:var(--white);margin-bottom:.6rem;letter-spacing:-.01em}
.pillar-body{font-family:var(--sr);font-size:.85rem;color:var(--sl);line-height:1.65}

/* ── APP SECTION ── */
.sc-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}
.sc{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--steel);border:1px solid var(--rim);border-radius:10px;transition:border-color .2s,background .2s}
.sc:hover{background:rgba(65,91,124,.25);border-color:rgba(65,91,124,.4)}
.sc.feat{border-color:rgba(201,168,76,.2);background:rgba(201,168,76,.04)}
.sc-n{font-family:var(--pd);font-size:.85rem;font-weight:700;color:var(--white)}
.sc-tp{font-size:.72rem;color:var(--sl);margin-top:.15rem}
.sc-pr{font-family:var(--cg);font-size:1.3rem;font-weight:700;color:var(--gold);white-space:nowrap}
.sc-pr sub{font-size:.65rem;font-weight:400;font-family:var(--pd)}
.sc-baj{display:inline-flex;font-family:var(--pd);font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:var(--dk);padding:2px 6px;border-radius:3px;margin-left:6px;vertical-align:middle}
.spot{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border:1px dashed rgba(65,91,124,.3);border-radius:10px;margin-bottom:1.25rem}
.prog-bar{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--rim)}
.prog-label{font-family:var(--pd);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(200,214,229,.35);margin-bottom:.65rem}
.prog-steps{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.prog-step{font-family:var(--pd);font-size:.65rem;font-weight:700;color:rgba(200,214,229,.45);white-space:nowrap}
.prog-step.active{color:var(--gold)}
.prog-arrow{color:rgba(65,91,124,.5);font-size:.7rem}
.prog-desc{font-size:.68rem;color:rgba(200,214,229,.35);margin-top:.4rem;line-height:1.5}

/* ── BUY-BOX ── */
.buy-box{background:linear-gradient(135deg,var(--navy) 0%,rgba(11,23,39,.98) 100%);border-top:1px solid rgba(65,91,124,.2);border-bottom:1px solid rgba(65,91,124,.1);position:relative;overflow:hidden}
.buy-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(201,168,76,.04) 0%,transparent 60%);pointer-events:none}
.buy-box-inner{max-width:1280px;margin:0 auto;padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,4vw,3.5rem);display:flex;justify-content:center;align-items:center;position:relative;z-index:1}
.bb-left{max-width:640px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.bb-left .bb-feats{align-items:flex-start}
.bb-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem;min-width:280px}
.bb-badge{display:inline-flex;font-family:var(--pd);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:4px;margin-bottom:.75rem}
.bb-name{font-family:var(--pd);font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:.15rem;letter-spacing:-.02em}
.bb-price{font-family:var(--cg);font-size:3rem;font-weight:300;line-height:1;margin-bottom:.25rem}
.bb-psub{font-size:.78rem;color:var(--sl);display:block;margin-bottom:1rem}
.bb-desc{font-size:.88rem;color:var(--tx);line-height:1.7;margin-bottom:1rem}
.bb-feats{display:flex;flex-direction:column;gap:.4rem}
.bb-feat{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--tx)}
.bb-feat::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;opacity:.7}

/* ── PRODUCT ACTION BOXES ── */
.action-box{background:var(--mid);border:1px solid var(--rim);border-radius:18px;padding:2.25rem;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;box-sizing:border-box;transition:box-shadow .3s ease,transform .3s ease}
.action-box:hover{box-shadow:0 0 0 1px rgba(201,168,76,.25),0 20px 60px rgba(0,0,0,.45),0 0 40px rgba(201,168,76,.07);transform:translateY(-4px)}
.action-box .top-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gb) 30%,rgba(201,168,76,.85) 50%,var(--gb) 70%,transparent)}
.action-badge{display:inline-block;font-family:var(--pd);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:4px;margin-bottom:.85rem;align-self:center}
.action-name{font-family:var(--pd);font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:.2rem;letter-spacing:-.01em}
.action-price{font-family:var(--cg);font-size:2.5rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:.3rem}
.action-psub{font-size:.72rem;color:var(--sl);margin-bottom:1.25rem;display:block}
.action-footer{margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(65,91,124,.2)}

/* ── DC CHAT DEMO ── */
.chat-demo{background:var(--steel);border:1px solid var(--rim);border-radius:14px;padding:1.25rem;flex:1}
.chat-header{font-family:var(--pd);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(200,214,229,.4);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--rim)}
.msg{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.75rem}
.msg.you{flex-direction:row}
.msg.coach{flex-direction:row-reverse}
.msg-av{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--pd);font-size:.65rem;font-weight:700}
.msg-av.you-av{background:rgba(65,91,124,.3);color:var(--sl)}
.msg-av.coach-av{background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);color:var(--gold)}
.msg-bubble{font-size:.8rem;line-height:1.55;padding:.7rem .95rem;border-radius:12px;max-width:82%}
.msg.you .msg-bubble{background:rgba(65,91,124,.2);border-radius:12px 12px 12px 3px;color:rgba(200,214,229,.85)}
.msg.coach .msg-bubble{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.15);border-radius:12px 12px 3px 12px;color:rgba(200,214,229,.92)}

/* ── FIVE-PHASE ── */
.phase-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;position:relative}
.phase-connector{position:absolute;top:2.6rem;left:calc(10% + 2rem);right:calc(10% + 2rem);height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.25) 20%,rgba(201,168,76,.4) 50%,rgba(201,168,76,.25) 80%,transparent);z-index:0;pointer-events:none}
.phase-card{text-align:center;position:relative;z-index:1}
.phase-num{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-family:var(--pd);font-size:.68rem;font-weight:800;letter-spacing:.1em;transition:all .25s}
.phase-num:hover{transform:scale(1.08)}
.phase-title{font-family:var(--cg);font-size:1.05rem;font-weight:700;margin-bottom:.4rem}
.phase-desc{font-size:.72rem;color:var(--sl);line-height:1.6}

/* ── FIVE-CARD ECOSYSTEM ── */
.five-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}
.four-card{background:var(--mid);border:1px solid var(--rim);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s}
.four-card:hover{transform:translateY(-5px);box-shadow:0 20px 56px rgba(0,0,0,.45),0 0 0 1px rgba(201,168,76,.15);border-color:rgba(201,168,76,.18)}
.fc-head{padding:1.4rem 1.25rem 1rem;border-bottom:1px solid var(--rim)}
.fc-badge{display:inline-flex;font-family:var(--pd);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:var(--dk);padding:3px 8px;border-radius:3px;margin-bottom:.65rem}
.fc-name{font-family:var(--pd);font-size:.88rem;font-weight:700;color:var(--white);margin-bottom:.2rem;letter-spacing:-.01em}
.fc-price{font-family:var(--cg);font-size:1.6rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:.2rem}
.fc-psub{font-size:.68rem;color:var(--sl)}
.fc-inc{display:block;font-size:.65rem;color:rgba(201,168,76,.65);margin-top:.35rem;font-style:italic}
.fc-list{padding:1rem 1.25rem;flex:1}
.fc-list li{list-style:none;font-size:.78rem;color:var(--sl);line-height:1.5;padding:.25rem 0;border-bottom:1px solid rgba(65,91,124,.1);display:flex;align-items:flex-start;gap:.5rem}
.fc-list li::before{content:'›';color:var(--gold);opacity:.6;flex-shrink:0;margin-top:.05rem}
.fc-foot{padding:1rem 1.25rem 1.4rem;margin-top:auto}

/* ── TESTIMONIAL ── */
.testi{background:linear-gradient(135deg,var(--navy) 0%,var(--dk) 100%);padding:5.5rem 0;border-top:1px solid var(--rim);border-bottom:1px solid var(--rim);position:relative;overflow:hidden}
.testi::before{content:'❝';position:absolute;top:1.5rem;left:50%;transform:translateX(-50%);font-size:6rem;color:rgba(201,168,76,.07);font-family:Georgia,serif;line-height:1;pointer-events:none;z-index:0}
.testi blockquote{font-family:var(--cg);font-size:clamp(1.4rem,2.8vw,2rem);font-weight:400;font-style:italic;color:var(--white);line-height:1.5;text-align:center;border:none;padding:0;margin:0 0 1.75rem;position:relative;z-index:1}
.testi-attr{display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--pd);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(200,214,229,.4)}
.testi-div{width:28px;height:1px;background:rgba(201,168,76,.3)}

/* ── CTA SECTION ── */
.cta-sec{background:var(--dk);padding:7rem 0;text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.04) 0%,transparent 65%);pointer-events:none}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.25,.46,.45,.94),transform .65s cubic-bezier(.25,.46,.45,.94)}
.reveal.in{opacity:1;transform:none}
.r1{transition-delay:.08s}.r2{transition-delay:.16s}.r3{transition-delay:.24s}
.r4{transition-delay:.32s}.r5{transition-delay:.40s}

/* ── SECTION CHROME ── */
section{position:relative}
.sec-eye{display:block;font-family:var(--pd);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.sec-rule{width:28px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:1px;margin-bottom:1.5rem}
.feat-pill{display:inline-flex;align-items:center;font-family:var(--pd);font-size:.72rem;font-weight:600;color:rgba(200,214,229,.7);background:rgba(65,91,124,.18);border:1px solid rgba(65,91,124,.3);padding:4px 10px;border-radius:20px;margin:3px 4px 3px 0;transition:background .18s,border-color .18s}
.feat-pill:hover{background:rgba(65,91,124,.3);border-color:rgba(65,91,124,.5)}
.gold-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3) 30%,rgba(201,168,76,.4) 50%,rgba(201,168,76,.3) 70%,transparent);margin:2rem 0}

/* ── NAV SCROLL STATE ── */
#app,#strategy,#assistant,#vip{scroll-margin-top:56px}
@media(max-width:760px){#app,#strategy,#assistant,#vip{scroll-margin-top:44px}}

/* ── RESPONSIVE ── */
@media(max-width:1060px){
  .five-grid{grid-template-columns:repeat(3,1fr)}
  .phase-grid{grid-template-columns:repeat(3,1fr)}
  .phase-connector{display:none}
  .buy-box-inner{grid-template-columns:1fr;gap:2.5rem}
  .bb-right{align-items:flex-start}
}
@media(max-width:760px){
  .g2{grid-template-columns:1fr;gap:2.5rem}
  .five-grid{grid-template-columns:repeat(2,1fr)}
  .phase-grid{grid-template-columns:repeat(2,1fr)}
  .nav-inner{height:44px}
  .nav-links{display:none;flex-direction:column;position:absolute;top:44px;left:0;right:0;background:rgba(5,9,15,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(65,91,124,.12);padding:6px 20px 10px;gap:0}
  nav.menu-open .nav-links{display:flex}
  nav.menu-open .nav-links .nl{display:block;width:100%;padding:10px 0;font-size:.72rem;text-align:left;border-bottom:1px solid rgba(65,91,124,.06);color:rgba(200,214,229,.55)}
  nav.menu-open .nav-links .nl:last-of-type{border-bottom:none}
  nav.menu-open .nav-links .nb{display:block;width:100%;padding:9px 0;font-size:.72rem;text-align:center;border:1px solid rgba(201,168,76,.3);border-radius:6px;margin-top:6px;background:rgba(201,168,76,.04)}
  .hamburger{display:flex}
  .hero-proof{gap:1rem}
  .trust-inner{gap:1.25rem}
  /* All fixed progress bars: align to 44px mobile nav */
  .cc-progress,.pbo-progress,.dc-ov-progress,.vip-progress,.ia-progress-bar{top:44px}
}
@media(max-width:480px){
  .five-grid{grid-template-columns:1fr}
  .phase-grid{grid-template-columns:1fr}
  .hero-ctas .cta-pair{flex-direction:column;align-items:stretch}
}
  

/* ── PROBLEM SECTION ── */
.problem-stat { display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;position:relative; }
.problem-stat-num { font-family:var(--cg);font-size:clamp(3rem,6vw,4.5rem);font-weight:700;line-height:1;margin-bottom:.35rem; }
.problem-stat-lbl { font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-align:center;max-width:140px;line-height:1.4; }
.problem-divider { width:1px;background:rgba(65,91,124,.3);align-self:stretch;margin:1.5rem 0; }

/* ── STATS STRIP ── */
.stat-card { text-align:center;padding:2.5rem 1.5rem; }
.stat-num { font-family:var(--cg);font-size:clamp(3.5rem,7vw,5rem);font-weight:700;color:var(--gold);line-height:1;margin-bottom:.4rem; }
.stat-label { font-family:'Outfit',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(200,214,229,.45); }
.stat-sub { font-family:'DM Sans',system-ui,sans-serif;font-size:.82rem;color:rgba(120,149,175,.7);margin-top:.35rem;line-height:1.45; }

/* ── TESTIMONIAL CARDS ── */
.testi-card { background:rgba(16,29,47,.6);border:1px solid rgba(65,91,124,.22);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;transition:border-color .25s,transform .25s; }
.testi-card:hover { border-color:rgba(201,168,76,.2);transform:translateY(-3px); }
.testi-stars { color:rgba(201,168,76,.7);font-size:.85rem;letter-spacing:.1em; }
.testi-quote { font-family:var(--cg);font-size:1.05rem;font-style:italic;color:var(--white);line-height:1.6;flex:1; }
.testi-meta { display:flex;flex-direction:column;gap:.15rem; }
.testi-name { font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:700;color:rgba(200,214,229,.7);letter-spacing:.06em;text-transform:uppercase; }
.testi-detail { font-family:'DM Sans',system-ui,sans-serif;font-size:.72rem;color:rgba(120,149,175,.6); }

/* ── COUNTER ANIMATION ── */
.count-up { display:inline-block; }

/* ── ECOSYSTEM LADDER (legacy) ── */
.ladder { display:flex;flex-direction:column;gap:0; }
.ladder-item { display:flex;align-items:stretch;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid rgba(65,91,124,.12); }
.ladder-item:last-child { border-bottom:none; }
.ladder-step { display:flex;flex-direction:column;align-items:center;width:32px;flex-shrink:0;padding-top:.2rem; }
.ladder-num { width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--pd);font-size:.62rem;font-weight:800;flex-shrink:0; }
.ladder-line { width:1px;flex:1;margin:4px 0;background:rgba(65,91,124,.2); }
.ladder-content { flex:1; }
.ladder-title { font-family:var(--pd);font-size:.95rem;font-weight:800;color:var(--white);margin-bottom:.2rem;letter-spacing:-.01em; }
.ladder-desc { font-size:.82rem;color:#7A95AF;line-height:1.6; }
.ladder-price { font-family:var(--cg);font-size:1.4rem;font-weight:700;color:var(--gold);flex-shrink:0;align-self:flex-start;padding-top:.15rem; }

/* ── ENGAGE GRID — 5-card overview strip ── */
.engage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.engage-card{background:var(--mid);border:1px solid var(--rim);border-radius:12px;padding:1.25rem 1.1rem;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}
.engage-card:hover{transform:translateY(-3px);border-color:rgba(201,168,76,.18);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.engage-card--active{border-color:rgba(45,184,122,.3)}
.engage-card--gold{border-color:rgba(201,168,76,.15)}
.engage-card--vip{border-color:rgba(201,168,76,.22);background:linear-gradient(165deg,var(--mid) 60%,rgba(201,168,76,.04))}
.engage-card--hero{border-color:rgba(201,168,76,.12);background:radial-gradient(ellipse 80% 70% at 50% 30%,rgba(20,35,60,.95),var(--mid))}
.engage-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--pd);font-size:.6rem;font-weight:800;margin-bottom:.75rem;flex-shrink:0}
.engage-name{font-family:var(--pd);font-size:.82rem;font-weight:700;color:var(--white);margin-bottom:.3rem;letter-spacing:-.01em;line-height:1.25}
.engage-desc{font-size:.72rem;color:var(--sl);line-height:1.55;flex:1;margin-bottom:.75rem}
.engage-price{font-family:var(--cg);font-size:1.2rem;font-weight:700;color:var(--gold);margin-bottom:.6rem}
.engage-cta{font-family:var(--pd);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(201,168,76,.6);text-decoration:none;transition:color .2s}
.engage-cta:hover{color:var(--gold)}

/* ── MOBILE RESPONSIVE ADDITIONS ── */
@media(max-width:760px) {
  .problem-divider { display:none; }
  .stat-card { padding:1.75rem 1rem; }
  .testi-grid-3 { grid-template-columns:1fr !important; }
  .testi-card { min-width:0; word-break:break-word; }
  .pillar-grid { grid-template-columns:1fr !important; }
}

  
/* ── MOBILE OPTIMIZATIONS ── */
@media(max-width:760px){

  /* Fix 2: Reduce section padding — 7rem → 4rem on mobile */
  section[style*="padding:7rem 0"],
  section[style*="padding:6.5rem 0"],
  section[style*="padding:6rem 0"],
  section[style*="padding:7rem"],
  section[style*="padding:8rem"] {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  /* Fix 3: Stats strip — 4-col → 2×2 on mobile */
  .stat-card {
    border-right: none !important;
    border-bottom: 1px solid rgba(65,91,124,.15);
  }
}

@media(max-width:760px){
  /* Stats strip grid */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
  }
}

@media(max-width:600px){
  /* Fix 4: Problem stats stack vertically on small phones */
  div[style*="display:flex;align-items:stretch;justify-content:center"][style*="background:var(--mid)"] {
    flex-direction: column !important;
  }
  .problem-stat {
    padding: 1.5rem 1.25rem;
    border-bottom: 1px solid rgba(65,91,124,.2);
  }
  .problem-stat:last-child { border-bottom: none; }
  .problem-stat-num { font-size: clamp(2rem,8vw,3rem); }

  /* Hero proof stats tighter on very small screens */
  .hero-dot { display: none; }
  .hero-proof {
    display: grid !important;
    grid-template-columns: repeat(2,1fr);
    gap: .75rem 1.5rem;
    text-align: center;
  }

  /* Reduce hero padding on small phones */
  .hero { padding-top: 5rem !important; }
}


/* ── HERO WORDMARK ── */
.hero-wordmark {
  font-family: var(--cg);
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 400;
  font-style: italic;
  color: var(--white);
  letter-spacing: .02em;
  line-height: 1;
  margin-bottom: .6rem;
  opacity: .95;
}
.hero-wordmark sup {
  font-size: .45em;
  font-style: normal;
  vertical-align: super;
  opacity: .7;
  letter-spacing: 0;
}
.hero-wordmark-rule {
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.6), transparent);
  margin: .75rem auto 1.25rem;
}
@media(max-width:480px){
  .hero-wordmark { font-size: clamp(2rem, 8vw, 2.8rem); }
}


/* ── NAV WORDMARK TEXT ── */
.nm {
  font-family: var(--pd);
  font-size: .95rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -.01em;
  margin-left: .45rem;
  line-height: 1;
  white-space: nowrap;
}
.nm sup {
  font-size: .55em;
  vertical-align: super;
  font-weight: 400;
  opacity: .65;
  letter-spacing: 0;
}
@media(max-width:760px){
  .nm { font-size: .82rem; margin-left:.35rem; }
  .ni { width:32px; height:32px; }
}
@media(max-width:480px){
  .nm { font-size: .7rem; }
}


/* ══════════════════════════════════════════════════════
   FIVE-CARD: COMPLETE CTA ALIGNMENT SYSTEM
   Fixes: button width, overflow, vertical anchor,
   store badge stacking, consistent min-height
   ══════════════════════════════════════════════════════ */

/* 1. Card structure — flex column ensures bottom anchor */
.four-card {
  display: flex !important;
  flex-direction: column !important;
}

/* 2. Feature list grows to fill available space */
.fc-list {
  flex: 1 !important;
}

/* 3. CTA zone — always anchors to bottom, consistent padding */
.fc-foot {
  margin-top: auto !important;
  padding: 1rem 1.25rem 1.4rem !important;
  display: block !important;
}

/* 4. All CTA buttons and links — full width, single line,
      consistent height, no overflow */
.fc-foot > a,
.fc-foot > button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding: 11px 18px !important;
  font-size: .76rem !important;
  min-height: 42px !important;
  border-radius: 8px !important;
  text-align: center !important;
}

/* 5. Store badge container (Card 1) — stack vertically */
.fc-foot-badges {
  display: flex !important;
  flex-direction: column !important;
  gap: .4rem !important;
  width: 100% !important;
}
.fc-foot-badges a {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}
.fc-foot-badges svg {
  width: 100% !important;
  height: auto !important;
  max-height: 34px;
  display: block;
}

/* 6. Mobile — ensure no overflow on narrow screens */
@media(max-width:760px){
  .fc-foot > a,
  .fc-foot > button {
    font-size: .72rem !important;
    padding: 10px 14px !important;
  }
}


/* ── MOBILE QA FIXES ── */

/* Nav: optimize for small phones — 44px standard set at 760px, fine-tune here */
@media(max-width:480px){
  .nav-inner { padding:0 clamp(1.25rem,4vw,3.5rem); }
  .nav-links { padding:4px clamp(1.25rem,4vw,3.5rem) 8px; }
  .ni { width:28px; height:28px; border-radius:6px; }
  .nm { font-size:.7rem; }
  .hamburger { width:28px; height:28px; gap:3.5px; padding:5px; }
  .hamburger span { height:1.5px; }
}
@media(max-width:380px){
  .nav-inner { padding:0 clamp(1.25rem,4vw,3.5rem); }
  .nm { font-size:.65rem; }
}

/* Hero proof: clean 2×2 grid — hide dots since they break layout */
@media(max-width:600px){
  .hero-dot { display:none; }
  .hero-proof { 
    display:grid !important;
    grid-template-columns:repeat(2,1fr);
    gap:.6rem 1rem;
    text-align:center;
    justify-items:center;
  }
}

/* Ladder: price can overflow on narrow screens */
@media(max-width:480px){
  .ladder-item { flex-wrap:wrap; gap:.5rem; }
  .ladder-price { width:100%; text-align:right; font-size:1.2rem; }
  .ladder-content { flex:1; min-width:0; }
}

/* Engage grid responsive */
@media(max-width:600px){.engage-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
@media(max-width:400px){.engage-grid{grid-template-columns:1fr}}

/* Phase cards: ensure text doesn't overflow card boundaries */
.phase-card { overflow:hidden; word-break:break-word; }
.phase-title { word-break:normal; hyphens:auto; }

/* Problem section stats: ensure legibility on small screens */
@media(max-width:480px){
  .problem-stat-num { font-size:clamp(2rem,7vw,3rem) !important; }
  .problem-stat-lbl { font-size:.65rem; }
}

/* Buy-box inner on mobile: proper padding */
@media(max-width:760px){
  .buy-box-inner { padding:2rem clamp(1.25rem,4vw,3.5rem); }
  .bb-left, .bb-right { max-width:100%; }
}

/* Five-card: ensure cards don't overflow on tablet */
@media(max-width:900px) and (min-width:761px){
  .five-grid { grid-template-columns:repeat(3,1fr); }
}

/* CTA section: button pair stacks cleanly on mobile */
@media(max-width:520px){
  .cta-sec div[style*="display:flex"][style*="gap:1rem"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cta-sec div[style*="display:flex"][style*="gap:1rem"] > a,
  .cta-sec div[style*="display:flex"][style*="gap:1rem"] > button {
    width: 100% !important;
    justify-content: center !important;
    display: flex !important;
  }
}

/* Testimonial cards: consistent min-height on mobile */
@media(max-width:760px){
  .testi-card { min-height:0; }
}

/* Action boxes: prevent content overflow */
.action-box { word-break:break-word; }

/* Chat demo: scrollable on mobile if content overflows */
.chat-demo { overflow-y:auto; }

/* Phase connector: only show if phases are inline */
@media(max-width:1060px){
  .phase-connector { display:none; }
}

/* Touch targets: ensure minimum 44px touch area on all interactive elements */
@media(max-width:760px){
  .dc-qa-btn { min-height:44px; padding:.65rem .85rem; }
  .four-card .fc-foot a,
  .four-card .fc-foot button { min-height:44px; }
}

/* Prevent horizontal scroll from any overflowing elements */
body { max-width:100vw; }
.hero { max-width:100vw; overflow:hidden; }



/* ═══════════════════════════════════════════════════
   PAGE-SPECIFIC STYLES
   ═══════════════════════════════════════════════════ */

/* ── CONNECTION CODE GUIDE PAGE ── */
.cc-progress { position:fixed; top:56px; left:0; right:0; height:1px; background:rgba(65,91,124,.12); z-index:200; }
.cc-progress-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); width:0%; transition:width .1s; }

/* ── CC PAGE LAYOUT ── */
.cc-w { max-width:860px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3.5rem); }
.cc-section { padding:5.5rem 0; border-bottom:1px solid rgba(65,91,124,.1); }
.cc-section:last-of-type { border-bottom:none; }
.cc-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.45); display:block; margin-bottom:.6rem; }
.cc-rule { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:1.75rem; }
.cc-h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.15; margin-bottom:1rem; }
.cc-p { font-family:'DM Sans',system-ui,sans-serif; font-size:.95rem; color:var(--tx); line-height:1.85; margin-bottom:1.1rem; }
.cc-p strong { color:var(--white); }

/* ── HERO ── */
.cc-hero { min-height:88vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem clamp(1.5rem,5vw,5rem) 5rem; background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(15,28,50,.95) 0%,var(--dk) 70%); position:relative; overflow:hidden; }
.cc-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 35% at 50% 30%,rgba(201,168,76,.04) 0%,transparent 65%); pointer-events:none; }
.cc-hero-ey { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,168,76,.85); margin-bottom:1.5rem; display:block; }
.cc-hero-wm { font-family:var(--cg); font-size:clamp(3rem,8vw,5.5rem); font-weight:300; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:.5rem; text-shadow:0 0 80px rgba(201,168,76,.15); }
.cc-hero-wm em { font-style:italic; color:var(--gold); }
.cc-hero-rule { width:36px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent); margin:1.25rem auto 1.5rem; }
.cc-hero-sub { font-family:'DM Sans',system-ui,sans-serif; font-size:clamp(.92rem,1.6vw,1.12rem); color:rgba(200,214,229,.65); line-height:1.75; max-width:540px; margin:0 auto 2.5rem; }
.cc-free-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(45,184,122,.1); border:1px solid rgba(45,184,122,.25); border-radius:24px; padding:.4rem 1.1rem; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(45,184,122,.75); margin-bottom:2rem; }

/* ── SIGNAL CARDS ── */
.signal-sequence { display:flex; flex-direction:column; gap:1px; margin:2rem 0; background:rgba(65,91,124,.12); border-radius:16px; overflow:hidden; }
.signal-card { background:var(--dk); padding:2rem 2.25rem; border-left:3px solid transparent; transition:border-color .25s, background .25s; cursor:default; }
.signal-card:hover { background:rgba(11,23,39,.6); }
.signal-card.s1:hover { border-left-color:rgba(201,168,76,.6); }
.signal-card.s2:hover { border-left-color:rgba(201,168,76,.5); }
.signal-card.s3:hover { border-left-color:rgba(201,168,76,.5); }
.signal-card.s4:hover { border-left-color:rgba(201,168,76,.45); }
.signal-card.s5:hover { border-left-color:rgba(201,168,76,.65); }
.sc-top { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:.85rem; }
.sc-sig-num { font-family:var(--cg); font-size:2.4rem; font-weight:700; color:rgba(201,168,76,.18); line-height:1; min-width:42px; }
.sc-sig-meta { flex:1; }
.sc-sig-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:.3rem; }
.sc-sig-name { font-family:'Outfit',sans-serif; font-size:1.05rem; font-weight:800; color:var(--white); letter-spacing:-.02em; margin-bottom:.35rem; }
.sc-sig-hl { font-family:var(--cg); font-size:1rem; font-style:italic; color:rgba(201,168,76,.7); }
.sc-sig-body { font-size:.85rem; color:var(--sl); line-height:1.75; font-family:'DM Sans',system-ui,sans-serif; max-width:700px; }
.sc-sig-phase { display:inline-flex; font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(65,91,124,.18); border:1px solid rgba(65,91,124,.28); color:rgba(120,149,175,.6); padding:3px 9px; border-radius:4px; margin-top:.85rem; }

/* ── RULE BOX ── */
.cc-rule-box { background:rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.2); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:1.25rem 1.5rem; margin:1.75rem 0; }
.cc-rb-ey { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.6); margin-bottom:.6rem; }
.cc-rb-body { font-size:.88rem; color:var(--tx); line-height:1.75; font-family:'DM Sans',system-ui,sans-serif; }
.cc-rb-body b { color:var(--white); }

/* ── ECOSYSTEM MAP ── */
.eco-map { display:flex; flex-direction:column; gap:1rem; margin:2rem 0; }
.eco-row { display:flex; align-items:stretch; gap:1.25rem; background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:14px; padding:1.25rem 1.5rem; transition:border-color .22s; }
.eco-row:hover { border-color:rgba(65,91,124,.38); }
.eco-product { min-width:140px; }
.eco-product-name { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700; color:var(--white); margin-bottom:.1rem; }
.eco-product-price { font-family:var(--cg); font-size:1.1rem; font-weight:700; color:var(--gold); }
.eco-divider { width:1px; background:rgba(65,91,124,.2); flex-shrink:0; }
.eco-cc-role { flex:1; }
.eco-cc-label { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(201,168,76,.4); margin-bottom:.35rem; }
.eco-cc-desc { font-size:.82rem; color:var(--sl); line-height:1.65; font-family:'DM Sans',system-ui,sans-serif; }

/* ── PHASE MAPPING TABLE ── */
.phase-map { width:100%; border-collapse:collapse; margin:1.75rem 0; }
.phase-map th { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(200,214,229,.35); padding:.65rem 1rem; text-align:left; border-bottom:1px solid rgba(65,91,124,.2); }
.phase-map td { padding:.7rem 1rem; font-size:.82rem; border-bottom:1px solid rgba(65,91,124,.07); vertical-align:top; font-family:'DM Sans',system-ui,sans-serif; }
.phase-map td:first-child { color:rgba(200,214,229,.4); white-space:nowrap; }
.phase-map td:nth-child(2) { color:var(--white); font-family:'Outfit',sans-serif; font-weight:700; font-size:.8rem; }
.phase-map td:last-child { color:var(--sl); }
.phase-map tr:hover td { background:rgba(65,91,124,.04); }

/* ── SIGNAL PILLS ── */
.signal-pill-row { display:flex; gap:.5rem; flex-wrap:wrap; margin:1.5rem 0; }
.signal-pill { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1rem; border-radius:24px; font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700; background:rgba(65,91,124,.15); border:1px solid rgba(65,91,124,.25); color:rgba(200,214,229,.6); transition:all .18s; cursor:default; }
.signal-pill .sp-num { font-family:var(--cg); font-size:1rem; font-weight:700; color:rgba(201,168,76,.4); line-height:1; }

/* ── MOBILE ── */
@media(max-width:760px){
  .eco-row { flex-direction:column; }
  .eco-divider { width:100%; height:1px; }
  .eco-product { min-width:0; }
  .cc-hero { min-height:80vh; }
  .cc-section { padding:4rem 0; }
}

  
/* ── PLAYBOOK OVERVIEW PAGE ── */
.pbo-progress { position:fixed; top:56px; left:0; right:0; height:1px; background:rgba(65,91,124,.12); z-index:200; }
.pbo-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); width:0%; }
.pbo-w { max-width:900px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3.5rem); }
.pbo-sec { padding:5.5rem 0; border-bottom:1px solid rgba(65,91,124,.1); }
.pbo-sec:last-of-type { border-bottom:none; }
.pbo-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.45); display:block; margin-bottom:.6rem; }
.pbo-rule { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:1.75rem; }
.pbo-h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.15; margin-bottom:1rem; }
.pbo-p { font-family:'DM Sans',system-ui,sans-serif; font-size:.95rem; color:var(--tx); line-height:1.85; margin-bottom:1.1rem; }
.pbo-p strong { color:var(--white); }

/* Hero */
.pbo-hero { min-height:92vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:7rem clamp(1.5rem,5vw,5rem) 5.5rem; background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(15,28,50,.95) 0%,var(--dk) 70%); position:relative; overflow:hidden; }
.pbo-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 35% at 50% 30%,rgba(201,168,76,.06) 0%,transparent 65%); pointer-events:none; }
.pbo-hero::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 40% at 50% 65%,rgba(201,168,76,.03) 0%,transparent 70%); pointer-events:none; }
.pbo-hero-ey { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,168,76,.85); margin-bottom:1.5rem; display:block; }
.pbo-hero-wm { font-family:var(--cg); font-size:clamp(3.2rem,9vw,6rem); font-weight:300; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:.5rem; text-shadow:0 0 80px rgba(201,168,76,.15); }
.pbo-hero-wm em { font-style:italic; color:var(--gold); }
.pbo-hero-hr { width:36px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent); margin:1.25rem auto 1.5rem; }
.pbo-hero-sub { font-family:'DM Sans',system-ui,sans-serif; font-size:clamp(.92rem,1.6vw,1.12rem); color:rgba(200,214,229,.65); line-height:1.75; max-width:540px; margin:0 auto 2.5rem; }
.pbo-price-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2); border-radius:24px; padding:.4rem 1.1rem; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(201,168,76,.7); margin-bottom:2rem; }
.pbo-proof-row { display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; margin:2.5rem auto 0; padding:1.5rem 2rem; border-top:1px solid rgba(201,168,76,.12); border-bottom:1px solid rgba(201,168,76,.08); background:rgba(201,168,76,.02); border-radius:12px; max-width:600px; }
.pbo-stat { text-align:center; }
.pbo-stat-n { font-family:var(--cg); font-size:2rem; font-weight:700; color:var(--gold); line-height:1; }
.pbo-stat-l { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(120,149,175,.5); margin-top:.2rem; }
.pbo-stat-div { width:1px; height:28px; background:rgba(65,91,124,.3); }

/* What's inside */
.pbo-chapters { display:flex; flex-direction:column; gap:.6rem; margin:2rem 0; }
.pbo-ch { display:flex; align-items:flex-start; gap:1rem; padding:1rem 1.25rem; background:var(--mid); border:1px solid rgba(65,91,124,.18); border-radius:10px; transition:border-color .2s; }
.pbo-ch:hover { border-color:rgba(65,91,124,.35); }
.pbo-ch-num { font-family:var(--cg); font-size:1.6rem; font-weight:700; color:rgba(201,168,76,.2); line-height:1; min-width:32px; }
.pbo-ch-title { font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:700; color:var(--white); margin-bottom:.2rem; letter-spacing:-.01em; }
.pbo-ch-desc { font-size:.76rem; color:var(--sl); line-height:1.6; font-family:'DM Sans',system-ui,sans-serif; }

/* Stats grid */
.pbo-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:2rem 0; }
.pbo-stat-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:12px; padding:1.25rem; text-align:center; }
.pbo-stat-card-n { font-family:var(--cg); font-size:2.2rem; font-weight:700; color:var(--gold); line-height:1; }
.pbo-stat-card-l { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(120,149,175,.5); margin-top:.3rem; }

/* Ecosystem ladder */
.pbo-ladder { display:flex; flex-direction:column; gap:.5rem; margin:2rem 0; }
.pbo-rung { display:flex; align-items:center; gap:1.25rem; padding:.85rem 1.25rem; border-radius:10px; transition:background .2s; }
.pbo-rung:hover { background:rgba(65,91,124,.08); }
.pbo-rung-price { font-family:var(--cg); font-size:1.2rem; font-weight:700; min-width:72px; text-align:right; }
.pbo-rung-line { width:1px; height:28px; background:rgba(65,91,124,.25); flex-shrink:0; }
.pbo-rung-name { font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:700; color:var(--white); margin-bottom:.15rem; }
.pbo-rung-desc { font-size:.72rem; color:var(--sl); font-family:'DM Sans',system-ui,sans-serif; }
.pbo-rung.active { background:rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.15); }
.pbo-rung.active .pbo-rung-price { color:var(--gold); }

/* Who it's for */
.pbo-for-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.75rem 0; }
.pbo-for-card { background:var(--mid); border:1px solid rgba(65,91,124,.18); border-radius:12px; padding:1.25rem; }
.pbo-for-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.65rem; }
.pbo-for-label.yes { color:rgba(45,184,122,.5); }
.pbo-for-label.no  { color:rgba(120,149,175,.3); }
.pbo-for-item { display:flex; align-items:flex-start; gap:.55rem; font-size:.8rem; color:var(--sl); line-height:1.55; margin-bottom:.45rem; font-family:'DM Sans',system-ui,sans-serif; }
.pbo-for-item::before { content:''; width:5px; height:5px; border-radius:50%; flex-shrink:0; margin-top:.42rem; }
.pbo-for-card.yes .pbo-for-item::before { background:rgba(45,184,122,.45); }
.pbo-for-card.no  .pbo-for-item::before { background:rgba(65,91,124,.3); }

/* Pricing card */
.pbo-price-card { background:var(--mid); border:1px solid rgba(201,168,76,.15); border-radius:18px; padding:2.5rem; position:relative; overflow:hidden; margin:2rem 0; }
.pbo-price-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.4) 30%,rgba(201,168,76,.65) 50%,rgba(201,168,76,.4) 70%,transparent); }
.pbo-price-main { font-family:var(--cg); font-size:3.5rem; font-weight:300; color:var(--white); line-height:1; margin-bottom:.3rem; }
.pbo-price-sub { font-size:.82rem; color:var(--sl); margin-bottom:1.5rem; font-family:'DM Sans',system-ui,sans-serif; line-height:1.65; }
.pbo-includes-list { display:grid; grid-template-columns:1fr 1fr; gap:.4rem .75rem; margin:1.25rem 0 1.75rem; }
.pbo-inc-item { display:flex; align-items:flex-start; gap:.5rem; font-size:.78rem; color:rgba(200,214,229,.7); font-family:'DM Sans',system-ui,sans-serif; }
.pbo-inc-item::before { content:'✓'; color:var(--gold); font-size:.72rem; flex-shrink:0; font-family:'Outfit',sans-serif; font-weight:800; margin-top:.05rem; }
.pbo-upgrade-note { font-size:.78rem; color:rgba(120,149,175,.4); font-family:'DM Sans',system-ui,sans-serif; line-height:1.65; margin-top:1rem; }
.pbo-upgrade-note a { color:rgba(201,168,76,.4); text-decoration:none; }

@media(max-width:760px){
  .pbo-stats-grid { grid-template-columns:repeat(2,1fr); }
  .pbo-for-grid { grid-template-columns:1fr; }
  .pbo-includes-list { grid-template-columns:1fr; }
  .pbo-hero { min-height:80vh; }
  .pbo-sec { padding:4rem 0; }
}

  
/* ── DATING COACH PAGE ── */
.dc-ov-progress { position:fixed; top:56px; left:0; right:0; height:1px; background:rgba(65,91,124,.12); z-index:200; }
.dc-ov-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); width:0%; }

.dc-ov-w { max-width:880px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3.5rem); }
.dc-ov-sec { padding:5.5rem 0; border-bottom:1px solid rgba(65,91,124,.1); }
.dc-ov-sec:last-of-type { border-bottom:none; }
.dc-ov-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.45); display:block; margin-bottom:.6rem; }
.dc-ov-rule { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:1.75rem; }
.dc-ov-h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.15; margin-bottom:1rem; }
.dc-ov-p { font-family:'DM Sans',system-ui,sans-serif; font-size:.95rem; color:var(--tx); line-height:1.85; margin-bottom:1.1rem; }
.dc-ov-p strong { color:var(--white); }

/* Hero */
.dc-ov-hero { min-height:88vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem clamp(1.5rem,5vw,5rem) 5rem; background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(15,28,50,.95) 0%,var(--dk) 70%); position:relative; overflow:hidden; }
.dc-ov-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 35% at 50% 30%,rgba(201,168,76,.04) 0%,transparent 65%); pointer-events:none; }
.dc-ov-ey { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,168,76,.85); margin-bottom:1.5rem; display:block; }
.dc-ov-wm { font-family:var(--cg); font-size:clamp(3rem,8vw,5.5rem); font-weight:300; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:.5rem; text-shadow:0 0 80px rgba(201,168,76,.15); }
.dc-ov-wm em { font-style:italic; color:var(--gold); }
.dc-ov-hr { width:36px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent); margin:1.25rem auto 1.5rem; }
.dc-ov-sub { font-family:'DM Sans',system-ui,sans-serif; font-size:clamp(.92rem,1.6vw,1.12rem); color:rgba(200,214,229,.65); line-height:1.75; max-width:540px; margin:0 auto 2.5rem; }
.dc-upgrade-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2); border-radius:24px; padding:.4rem 1.1rem; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(201,168,76,.7); margin-bottom:2rem; }

/* Chat preview */
.dc-preview-shell { background:var(--mid); border:1px solid rgba(65,91,124,.22); border-radius:18px; overflow:hidden; max-width:680px; margin:2rem auto 0; }
.dc-preview-header { padding:.85rem 1.25rem; border-bottom:1px solid rgba(65,91,124,.15); display:flex; align-items:center; justify-content:space-between; background:rgba(11,23,39,.5); }
.dc-preview-coach { display:flex; align-items:center; gap:.65rem; }
.dc-preview-av { width:30px; height:30px; border-radius:50%; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:800; color:var(--gold); }
.dc-preview-name { font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:700; color:var(--white); }
.dc-preview-status { font-size:.67rem; color:rgba(45,184,122,.65); display:flex; align-items:center; gap:.3rem; }
.dc-preview-status::before { content:''; width:5px; height:5px; border-radius:50%; background:rgba(45,184,122,.65); flex-shrink:0; }
.dc-preview-msgs { padding:1.25rem; display:flex; flex-direction:column; gap:.85rem; }
.dc-prev-msg { display:flex; gap:.55rem; max-width:88%; }
.dc-prev-msg.coach { align-self:flex-start; }
.dc-prev-msg.user { align-self:flex-end; flex-direction:row-reverse; }
.dc-prev-av { width:26px; height:26px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:.58rem; font-weight:800; font-family:'Outfit',sans-serif; margin-top:.1rem; }
.dc-prev-msg.coach .dc-prev-av { background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); color:var(--gold); }
.dc-prev-msg.user .dc-prev-av { background:rgba(65,91,124,.25); color:var(--sl); }
.dc-prev-bubble { padding:.65rem .9rem; border-radius:12px; font-size:.8rem; line-height:1.6; font-family:'DM Sans',system-ui,sans-serif; }
.dc-prev-msg.coach .dc-prev-bubble { background:rgba(16,29,47,.8); border:1px solid rgba(65,91,124,.2); border-radius:3px 12px 12px 12px; color:var(--tx); }
.dc-prev-msg.user .dc-prev-bubble { background:rgba(65,91,124,.18); border:1px solid rgba(65,91,124,.28); border-radius:12px 3px 12px 12px; color:rgba(200,214,229,.85); }
.dc-preview-input { padding:.75rem 1rem; border-top:1px solid rgba(65,91,124,.12); background:rgba(5,9,15,.4); display:flex; align-items:center; gap:.5rem; }
.dc-preview-input-field { flex:1; background:rgba(65,91,124,.1); border:1px solid rgba(65,91,124,.2); border-radius:8px; padding:.5rem .85rem; font-size:.78rem; color:rgba(120,149,175,.4); font-family:'DM Sans',system-ui,sans-serif; }
.dc-preview-send { width:30px; height:30px; border-radius:7px; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.18); display:flex; align-items:center; justify-content:center; color:rgba(201,168,76,.5); font-size:.7rem; }

/* How it works */
.how-steps { display:flex; flex-direction:column; gap:.75rem; margin:2rem 0; }
.how-step { display:flex; gap:1rem; align-items:flex-start; padding:1.1rem 1.25rem; background:var(--mid); border:1px solid rgba(65,91,124,.18); border-radius:12px; transition:border-color .22s; }
.how-step:hover { border-color:rgba(65,91,124,.35); }
.how-step-num { width:26px; height:26px; border-radius:50%; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.22); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; color:var(--gold); flex-shrink:0; margin-top:.1rem; }
.how-step-title { font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:700; color:var(--white); margin-bottom:.2rem; }
.how-step-desc { font-size:.8rem; color:var(--sl); line-height:1.6; font-family:'DM Sans',system-ui,sans-serif; }

/* Quick actions preview */
.qa-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin:1.5rem 0; }
.qa-item { background:rgba(65,91,124,.1); border:1px solid rgba(65,91,124,.18); border-radius:8px; padding:.7rem .9rem; font-size:.78rem; color:rgba(200,214,229,.6); font-family:'DM Sans',system-ui,sans-serif; }

/* What's included */
.dc-includes { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.75rem 0; }
.dc-inc-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:12px; padding:1.25rem; }
.dc-inc-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(201,168,76,.4); margin-bottom:.4rem; }
.dc-inc-title { font-family:'Outfit',sans-serif; font-size:.88rem; font-weight:700; color:var(--white); margin-bottom:.3rem; }
.dc-inc-body { font-size:.8rem; color:var(--sl); line-height:1.65; font-family:'DM Sans',system-ui,sans-serif; }

/* Pricing card */
.dc-price-card { background:var(--mid); border:1px solid rgba(201,168,76,.15); border-radius:18px; padding:2.5rem; text-align:center; margin:2rem 0; position:relative; overflow:hidden; }
.dc-price-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.4) 30%,rgba(201,168,76,.65) 50%,rgba(201,168,76,.4) 70%,transparent); }
.dc-price-badge { display:inline-flex; font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); color:var(--gold); padding:4px 12px; border-radius:4px; margin-bottom:1rem; }
.dc-price-main { font-family:var(--cg); font-size:3rem; font-weight:300; color:var(--white); line-height:1; margin-bottom:.3rem; }
.dc-price-sub { font-size:.82rem; color:var(--sl); margin-bottom:1.5rem; font-family:'DM Sans',system-ui,sans-serif; line-height:1.65; }
.dc-price-requires { font-size:.78rem; color:rgba(120,149,175,.4); margin-top:1rem; font-family:'DM Sans',system-ui,sans-serif; }
.dc-price-requires a { color:rgba(201,168,76,.4); text-decoration:none; }

@media(max-width:760px){
  .dc-includes, .qa-grid { grid-template-columns:1fr; }
  .dc-ov-hero { min-height:80vh; }
  .dc-ov-sec { padding:4rem 0; }
  #pricing > div > div[style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr !important; }
  .pbo-for-grid { grid-template-columns:1fr; }
  .pbo-ladder .pbo-rung { flex-wrap:wrap; gap:.75rem; }
  .pbo-rung-price { min-width:auto !important; text-align:left !important; }
}

  
/* DC includes heading — single line on desktop, normal on mobile */
@media(max-width:600px){
  h2[style*="white-space:nowrap"] { white-space:normal !important; }
}

/* ── VIP MATCHMAKING PAGE ── */
.vip-progress { position:fixed; top:56px; left:0; right:0; height:1px; background:rgba(65,91,124,.12); z-index:200; }
.vip-progress-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); width:0%; transition:width .1s; }

/* ── HERO ── */
.vip-hero { min-height:88vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem clamp(1.5rem,5vw,5rem) 5rem; background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(15,28,50,.95) 0%,var(--dk) 70%); position:relative; overflow:hidden; }
.vip-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 35% at 50% 30%,rgba(201,168,76,.04) 0%,transparent 65%); pointer-events:none; }
.vip-hero-ey { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,168,76,.85); margin-bottom:1.5rem; display:block; }
.vip-hero-wm { font-family:var(--cg); font-size:clamp(3rem,8vw,6rem); font-weight:300; color:#fff; line-height:1.05; letter-spacing:-.02em; margin-bottom:1.25rem; text-shadow:0 0 80px rgba(201,168,76,.15); }
.vip-hero-wm em { font-style:italic; color:var(--gold); }
.vip-hero-rule { width:36px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent); margin:1.25rem auto 1.5rem; }
.vip-hero-sub { font-family:'DM Sans',system-ui,sans-serif; font-size:clamp(.95rem,1.6vw,1.15rem); color:rgba(200,214,229,.65); line-height:1.75; max-width:540px; margin:0 auto 2.5rem; }
.vip-invite-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2); border-radius:24px; padding:.5rem 1.25rem; font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(201,168,76,.7); margin-bottom:2rem; }

/* ── PAGE LAYOUT ── */
.vip-w { max-width:900px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3.5rem); }
.vip-section { padding:5.5rem 0; border-bottom:1px solid rgba(65,91,124,.1); }
.vip-section:last-of-type { border-bottom:none; }
.vip-section-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:.6rem; display:block; }
.vip-section-rule { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:1.75rem; }
.vip-h2 { font-family:'Outfit',sans-serif; font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; color:#fff; line-height:1.15; letter-spacing:-.03em; margin-bottom:1rem; }
.vip-p { font-family:'DM Sans',system-ui,sans-serif; font-size:.95rem; color:var(--tx); line-height:1.85; margin-bottom:1.1rem; }
.vip-p strong { color:var(--white); }

/* ── FOR WHOM ── */
.for-whom-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:2rem 0; }
.for-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:14px; padding:1.5rem; }
.for-card-label { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.75rem; }
.for-card-label.for { color:rgba(45,184,122,.6); }
.for-card-label.not { color:rgba(200,214,229,.3); }
.for-item { display:flex; align-items:flex-start; gap:.6rem; font-size:.83rem; color:var(--sl); line-height:1.55; margin-bottom:.5rem; font-family:'DM Sans',system-ui,sans-serif; }
.for-item::before { content:''; width:5px; height:5px; border-radius:50%; flex-shrink:0; margin-top:.42rem; }
.for-card.for .for-item::before { background:rgba(45,184,122,.5); }
.for-card.not .for-item::before { background:rgba(65,91,124,.4); }

/* ── DIFFERENCE COMPARISON ── */
.diff-table { width:100%; border-collapse:collapse; margin:1.75rem 0; }
.diff-table th { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:.75rem 1rem; text-align:left; border-bottom:1px solid rgba(65,91,124,.25); }
.diff-table th:first-child { color:rgba(120,149,175,.4); }
.diff-table th:last-child { color:rgba(201,168,76,.65); }
.diff-table td { padding:.7rem 1rem; font-size:.82rem; border-bottom:1px solid rgba(65,91,124,.08); vertical-align:top; line-height:1.55; font-family:'DM Sans',system-ui,sans-serif; }
.diff-table td:first-child { color:rgba(120,149,175,.5); }
.diff-table td:last-child { color:var(--tx); }
.diff-table tr:hover td { background:rgba(65,91,124,.04); }

/* ── PROCESS STEPS ── */
.process-steps { display:flex; flex-direction:column; gap:0; margin:2rem 0; position:relative; }
.process-steps::before { content:''; position:absolute; left:17px; top:40px; bottom:40px; width:1px; background:linear-gradient(to bottom,rgba(201,168,76,.2),rgba(65,91,124,.15),rgba(201,168,76,.2)); }
.process-step { display:flex; gap:1.25rem; padding:1.25rem 0; position:relative; z-index:1; }
.ps-num { width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(65,91,124,.3); background:var(--dk); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:800; color:rgba(201,168,76,.6); flex-shrink:0; margin-top:.1rem; transition:all .25s; }
.process-step:hover .ps-num { border-color:rgba(201,168,76,.4); color:var(--gold); background:rgba(201,168,76,.05); }
.ps-content { flex:1; }
.ps-label { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.4); margin-bottom:.25rem; }
.ps-title { font-family:'Outfit',sans-serif; font-size:.95rem; font-weight:700; color:var(--white); margin-bottom:.4rem; letter-spacing:-.01em; }
.ps-body { font-size:.83rem; color:var(--sl); line-height:1.7; font-family:'DM Sans',system-ui,sans-serif; }

/* ── INCLUDES ── */
.includes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:1.75rem 0; }
.inc-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:14px; padding:1.5rem; transition:border-color .22s; }
.inc-card:hover { border-color:rgba(65,91,124,.35); }
.inc-card.highlight { border-color:rgba(201,168,76,.18); background:rgba(201,168,76,.04); }
.inc-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:.4rem; }
.inc-title { font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:700; color:var(--white); margin-bottom:.3rem; letter-spacing:-.01em; }
.inc-body { font-size:.8rem; color:var(--sl); line-height:1.65; font-family:'DM Sans',system-ui,sans-serif; }
.inc-value { font-family:var(--cg); font-size:1.1rem; font-weight:700; color:rgba(201,168,76,.5); margin-top:.5rem; }

/* ── DISCRETION ── */
.discretion-block { background:linear-gradient(135deg,var(--navy),rgba(11,23,39,.98)); border:1px solid rgba(65,91,124,.2); border-radius:16px; padding:2.25rem 2.5rem; margin:1.75rem 0; position:relative; overflow:hidden; }
.discretion-block::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.25) 40%,rgba(201,168,76,.35) 50%,rgba(201,168,76,.25) 60%,transparent); }

/* ── INVESTMENT ── */
.inv-card { background:var(--mid); border:1px solid rgba(201,168,76,.15); border-radius:18px; padding:2.5rem; text-align:center; margin:1.75rem 0; position:relative; overflow:hidden; }
.inv-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.4) 30%,rgba(201,168,76,.65) 50%,rgba(201,168,76,.4) 70%,transparent); }
.inv-badge { display:inline-flex; font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; background:rgba(201,168,76,.12); border:1px solid rgba(201,168,76,.2); color:var(--gold); padding:4px 12px; border-radius:4px; margin-bottom:1rem; }
.inv-price { font-family:var(--cg); font-size:2.8rem; font-weight:300; color:var(--white); line-height:1; margin-bottom:.4rem; }
.inv-price-sub { font-size:.8rem; color:var(--sl); margin-bottom:1.5rem; font-family:'DM Sans',system-ui,sans-serif; line-height:1.6; }
.inv-compare { font-size:.8rem; color:rgba(120,149,175,.45); font-family:'DM Sans',system-ui,sans-serif; line-height:1.65; max-width:480px; margin:1.25rem auto 0; }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid rgba(65,91,124,.1); padding:1.25rem 0; }
.faq-item:first-child { border-top:1px solid rgba(65,91,124,.1); }
.faq-q { font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:700; color:var(--white); cursor:pointer; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; letter-spacing:-.01em; padding:.15rem 0; }
.faq-q::after { content:'+'; font-size:1.2rem; font-weight:300; color:rgba(201,168,76,.4); flex-shrink:0; transition:transform .2s; line-height:1; }
.faq-item.open .faq-q::after { transform:rotate(45deg); }
.faq-a { font-size:.85rem; color:var(--sl); line-height:1.8; font-family:'DM Sans',system-ui,sans-serif; max-height:0; overflow:hidden; transition:max-height .35s ease, padding .2s; }
.faq-item.open .faq-a { max-height:400px; padding:.75rem 0 .25rem; }

/* ── APPLICATION FORM ── */
.app-form { background:var(--mid); border:1px solid rgba(65,91,124,.22); border-radius:18px; padding:2.5rem; }
.app-form-label { font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(200,214,229,.4); display:block; margin-bottom:.4rem; }
.app-form-input, .app-form-select, .app-form-textarea { width:100%; background:rgba(65,91,124,.1); border:1px solid rgba(65,91,124,.25); border-radius:8px; padding:.75rem 1rem; font-family:'DM Sans',system-ui,sans-serif; font-size:.88rem; color:var(--white); outline:none; transition:border-color .2s; box-sizing:border-box; margin-bottom:1.25rem; }
.app-form-input::placeholder, .app-form-textarea::placeholder { color:rgba(120,149,175,.35); }
.app-form-input:focus, .app-form-select:focus, .app-form-textarea:focus { border-color:rgba(65,91,124,.5); }
.app-form-select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(120,149,175,.4)' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; cursor:pointer; }
.app-form-select option { background:var(--navy); color:var(--white); }
.app-form-textarea { resize:vertical; min-height:100px; }
.app-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 1.25rem; }
.app-form-note { font-size:.72rem; color:rgba(120,149,175,.4); font-family:'DM Sans',system-ui,sans-serif; line-height:1.6; margin-top:.75rem; text-align:center; }
.app-success { display:none; text-align:center; padding:2rem; }
.app-success-icon { font-size:2.5rem; margin-bottom:1rem; }
.app-success-title { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:.5rem; }
.app-success-body { font-size:.85rem; color:var(--sl); line-height:1.7; font-family:'DM Sans',system-ui,sans-serif; }

/* ── NOT READY REDIRECT ── */
.redirect-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:2rem; }
.redirect-card { background:var(--mid); border:1px solid rgba(65,91,124,.18); border-radius:14px; padding:1.5rem; }
.redirect-badge { display:inline-flex; font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; background:var(--gold); color:var(--dk); padding:3px 8px; border-radius:3px; margin-bottom:.75rem; }
.redirect-name { font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:700; color:var(--white); margin-bottom:.2rem; }
.redirect-price { font-family:var(--cg); font-size:1.5rem; font-weight:700; color:var(--gold); margin-bottom:.4rem; }
.redirect-desc { font-size:.78rem; color:var(--sl); line-height:1.6; margin-bottom:1rem; font-family:'DM Sans',system-ui,sans-serif; }

/* ── MOBILE ── */
@media(max-width:760px){
  .for-whom-grid, .includes-grid, .redirect-grid { grid-template-columns:1fr; }
  .app-form-grid { grid-template-columns:1fr; }
  .vip-hero { min-height:80vh; }
  .vip-section { padding:4rem 0; }
}

  
/* ── INTENT ASSESSMENT PAGE ── */
.ia-progress-bar { position:fixed; top:56px; left:0; right:0; height:1px; background:rgba(65,91,124,.12); z-index:200; }
.ia-progress-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); width:0%; transition:width .4s ease; }

.ia-wrap { max-width:720px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3.5rem); }

/* Landing screen */
.ia-land { min-height:88vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem clamp(1.25rem,4vw,3.5rem) 4rem; background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(15,28,50,.95),var(--dk)); }
.ia-land-ey { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:rgba(201,168,76,.85); display:block; margin-bottom:1.25rem; }
.ia-land-wm { font-family:var(--cg); font-size:clamp(2.8rem,7vw,4.8rem); font-weight:300; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:.5rem; text-shadow:0 0 80px rgba(201,168,76,.15); }
.ia-land-wm em { font-style:italic; color:var(--gold); }
.ia-land-rule { width:32px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent); margin:1.2rem auto 1.4rem; }
.ia-land-sub { font-family:'DM Sans',system-ui,sans-serif; font-size:clamp(.9rem,1.6vw,1.05rem); color:rgba(200,214,229,.6); line-height:1.75; max-width:500px; margin:0 auto 2.5rem; }
.ia-meta-row { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; margin-top:1.5rem; }
.ia-meta-pill { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(120,149,175,.4); background:rgba(65,91,124,.1); border:1px solid rgba(65,91,124,.2); padding:4px 12px; border-radius:20px; }

/* Question screen */
.ia-q-screen { display:none; flex-direction:column; min-height:100vh; padding:6rem 0 4rem; }
.ia-q-screen.active { display:flex; }
.ia-q-header { margin-bottom:2rem; }
.ia-q-step { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(201,168,76,.45); display:block; margin-bottom:.5rem; }
.ia-q-cat { display:inline-flex; font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:4px; padding:3px 8px; margin-bottom:1rem; }
.ia-q-cat.intent   { background:rgba(201,168,76,.1); color:rgba(201,168,76,.6); border:1px solid rgba(201,168,76,.2); }
.ia-q-cat.readiness{ background:rgba(45,184,122,.08); color:rgba(45,184,122,.55); border:1px solid rgba(45,184,122,.2); }
.ia-q-cat.signal   { background:rgba(65,91,124,.18); color:rgba(120,149,175,.6); border:1px solid rgba(65,91,124,.3); }
.ia-q-text { font-family:var(--cg); font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:400; color:var(--white); line-height:1.2; margin-bottom:.35rem; }
.ia-q-why { font-family:'DM Sans',system-ui,sans-serif; font-size:.78rem; color:rgba(120,149,175,.45); font-style:italic; margin-bottom:2rem; }

/* Options */
.ia-options { display:flex; flex-direction:column; gap:.55rem; }
.ia-opt { display:flex; align-items:flex-start; gap:.9rem; padding:1rem 1.1rem; background:var(--mid); border:1.5px solid rgba(65,91,124,.22); border-radius:12px; cursor:pointer; transition:all .18s; position:relative; overflow:hidden; }
.ia-opt:hover { border-color:rgba(65,91,124,.5); background:rgba(16,29,47,.9); }
.ia-opt.selected { border-color:var(--gold); background:rgba(201,168,76,.07); }
.ia-opt-letter { width:24px; height:24px; border-radius:6px; background:rgba(65,91,124,.2); border:1px solid rgba(65,91,124,.35); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:800; color:rgba(120,149,175,.5); flex-shrink:0; margin-top:.1rem; transition:all .18s; }
.ia-opt.selected .ia-opt-letter { background:rgba(201,168,76,.15); border-color:var(--gold); color:var(--gold); }
.ia-opt-text { font-family:'DM Sans',system-ui,sans-serif; font-size:.9rem; color:rgba(200,214,229,.8); line-height:1.55; flex:1; }
.ia-opt.selected .ia-opt-text { color:var(--white); }

/* Navigation */
.ia-nav { display:flex; align-items:center; justify-content:space-between; margin-top:2rem; gap:1rem; }
.ia-back { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(120,149,175,.4); background:none; border:none; cursor:pointer; padding:0; }
.ia-back:hover { color:rgba(120,149,175,.7); }
.ia-continue { flex:1; max-width:240px; }

/* Loading */
.ia-loading { display:none; min-height:100vh; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:4rem clamp(1.25rem,4vw,3.5rem); }
.ia-loading.active { display:flex; }
.ia-load-dots { display:flex; gap:.5rem; margin-bottom:2rem; }
.ia-load-dot { width:8px; height:8px; border-radius:50%; background:rgba(201,168,76,.3); animation:iaDot 1.2s infinite; }
.ia-load-dot:nth-child(2){ animation-delay:.2s; }
.ia-load-dot:nth-child(3){ animation-delay:.4s; }
@keyframes iaDot { 0%,100%{opacity:.3;transform:scale(1)} 50%{opacity:1;transform:scale(1.25)} }
.ia-load-label { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(120,149,175,.4); }

/* Results */
.ia-result { display:none; padding:5rem 0 4rem; }
.ia-result.active { display:block; }
.ia-result-badge { display:inline-flex; align-items:center; gap:.5rem; border-radius:6px; padding:4px 12px; font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1rem; }
.ia-result-intent { font-family:var(--cg); font-size:clamp(2.2rem,5vw,3.4rem); font-weight:400; color:var(--white); line-height:1.08; margin-bottom:.4rem; }
.ia-result-intent em { font-style:italic; color:var(--gold); }
.ia-result-headline { font-family:'Outfit',sans-serif; font-size:clamp(1rem,2vw,1.25rem); font-weight:700; color:var(--white); margin-bottom:1rem; letter-spacing:-.01em; }
.ia-result-rule { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin:1.25rem 0 1.5rem; }
.ia-result-desc { font-family:'DM Sans',system-ui,sans-serif; font-size:.95rem; color:var(--tx); line-height:1.85; margin-bottom:2rem; }

/* Clarity meter */
.ia-clarity-block { background:var(--mid); border:1px solid rgba(65,91,124,.22); border-radius:16px; padding:1.5rem; margin-bottom:1.5rem; }
.ia-clarity-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(120,149,175,.4); margin-bottom:.6rem; }
.ia-clarity-level { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:800; color:var(--white); margin-bottom:.4rem; letter-spacing:-.02em; }
.ia-clarity-bar-wrap { height:5px; background:rgba(65,91,124,.18); border-radius:3px; margin-bottom:.85rem; overflow:hidden; }
.ia-clarity-bar-fill { height:100%; border-radius:3px; background:linear-gradient(90deg,rgba(201,168,76,.6),var(--gold)); width:0%; transition:width 1s ease .3s; }
.ia-clarity-desc { font-family:'DM Sans',system-ui,sans-serif; font-size:.85rem; color:var(--sl); line-height:1.7; }

/* Strengths / gaps */
.ia-sg-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:1.5rem; }
.ia-sg-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:12px; padding:1.1rem 1.25rem; }
.ia-sg-label { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.4rem; }
.ia-sg-label.s { color:rgba(45,184,122,.5); }
.ia-sg-label.g { color:rgba(120,149,175,.35); }
.ia-sg-text { font-size:.82rem; color:var(--sl); line-height:1.6; font-family:'DM Sans',system-ui,sans-serif; }

/* Signal callout */
.ia-signal-callout { background:rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.18); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:1.1rem 1.4rem; margin-bottom:1.75rem; }
.ia-signal-callout .ey { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.55); margin-bottom:.45rem; }
.ia-signal-callout p { font-size:.88rem; color:var(--tx); line-height:1.7; margin:0; font-family:'DM Sans',system-ui,sans-serif; }

/* CTA block */
.ia-cta-block { background:var(--navy); border:1px solid rgba(65,91,124,.22); border-radius:18px; padding:2rem; text-align:center; margin-top:2rem; }
.ia-cta-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:.75rem; }
.ia-cta-main { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:800; color:var(--white); margin-bottom:.35rem; letter-spacing:-.01em; }
.ia-cta-note { font-size:.78rem; color:rgba(120,149,175,.4); font-family:'DM Sans',system-ui,sans-serif; margin-bottom:1.4rem; line-height:1.6; }
.ia-retake { font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(120,149,175,.35); background:none; border:none; cursor:pointer; margin-top:.85rem; display:block; width:100%; }
.ia-retake:hover { color:rgba(120,149,175,.6); }

@keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.ia-q-screen.active { animation:fadeUp .25s ease; }
.ia-result.active { animation:fadeUp .3s ease; }

@media(max-width:640px){
  .ia-sg-grid { grid-template-columns:1fr; }
  .ia-land-wm { font-size:2.6rem; }
  .ia-q-text { font-size:1.5rem; }
}


/* ── PLAYBOOK CONTENT PAGE ── */
.pb-wrap { display:grid; grid-template-columns:260px 1fr; min-height:100vh; padding-top:56px; }

/* ── SIDEBAR NAV ── */
.pb-nav { position:sticky; top:56px; height:calc(100vh - 56px); overflow-y:auto; background:var(--navy); border-right:1px solid rgba(65,91,124,.2); padding:1.75rem 0; display:flex; flex-direction:column; }
.pb-nav-logo { padding:0 1.5rem 1.5rem; border-bottom:1px solid rgba(65,91,124,.15); margin-bottom:1.25rem; }
.pb-nav-logo .pb-title { font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.65); margin-bottom:.2rem; }
.pb-nav-logo .pb-sub { font-size:.7rem; color:rgba(120,149,175,.5); font-family:'DM Sans',sans-serif; }
.pb-nav-section { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(65,91,124,.6); padding:.5rem 1.5rem .3rem; margin-top:.5rem; }
.pb-nav a { display:flex; align-items:center; gap:.6rem; padding:.55rem 1.5rem; font-family:'Outfit',sans-serif; font-size:.75rem; font-weight:500; color:rgba(200,214,229,.5); text-decoration:none; border-left:2px solid transparent; transition:all .18s; line-height:1.3; }
.pb-nav a:hover { color:var(--white); background:rgba(65,91,124,.1); }
.pb-nav a.active { color:var(--gold); border-left-color:var(--gold); background:rgba(201,168,76,.06); font-weight:700; }
.pb-nav a .nav-phase { font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.5; margin-left:auto; white-space:nowrap; }
.pb-nav a.active .nav-phase { opacity:.8; }
.pb-nav-cta { margin-top:auto; padding:1.25rem 1.5rem; border-top:1px solid rgba(65,91,124,.15); }
.pb-progress-bar { position:fixed; top:56px; left:0; right:0; height:2px; background:rgba(65,91,124,.15); z-index:200; }
.pb-progress-fill { height:100%; background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.4)); width:0%; transition:width .1s; }

/* ── MAIN CONTENT ── */
.pb-main { background:var(--dk); min-height:100vh; }
.pb-chapter { max-width:820px; margin:0 auto; padding:4rem clamp(1.25rem,4vw,3.5rem) 5rem; }
.pb-chapter:first-child { padding-top:3.5rem; }

/* ── GATE ── */
.pb-gate { position:fixed; inset:0; z-index:300; background:var(--dk); display:flex; align-items:center; justify-content:center; padding:2rem; }
.pb-gate-inner { max-width:520px; width:100%; text-align:center; }
.pb-gate-wordmark { font-family:var(--cg); font-size:clamp(2rem,5vw,3rem); font-weight:400; font-style:italic; color:var(--white); margin-bottom:.5rem; }
.pb-gate-wordmark sup { font-size:.45em; font-style:normal; opacity:.6; }
.pb-gate-rule { width:40px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.6),transparent); margin:.85rem auto 1.25rem; }
.pb-gate-label { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.55); margin-bottom:1.75rem; }
.pb-gate-card { background:var(--mid); border:1px solid rgba(65,91,124,.25); border-radius:18px; padding:2.25rem; text-align:left; margin-bottom:1.5rem; }
.pb-gate-card h3 { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:800; color:var(--white); margin-bottom:.5rem; letter-spacing:-.02em; }
.pb-gate-card p { font-size:.85rem; color:var(--sl); line-height:1.7; margin-bottom:1.25rem; }
.pb-gate-includes { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1.5rem; }
.pb-gate-feat { display:flex; align-items:center; gap:.5rem; font-size:.78rem; color:var(--tx); }
.pb-gate-feat::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); opacity:.6; flex-shrink:0; }
.pb-gate-input { width:100%; background:rgba(65,91,124,.12); border:1px solid rgba(65,91,124,.3); border-radius:8px; padding:.75rem 1rem; font-family:'Outfit',sans-serif; font-size:.85rem; color:var(--white); outline:none; transition:border-color .2s; box-sizing:border-box; letter-spacing:.12em; text-transform:uppercase; text-align:center; margin-bottom:.75rem; }
.pb-gate-input::placeholder { color:rgba(120,149,175,.4); text-transform:none; letter-spacing:0; }
.pb-gate-input:focus { border-color:rgba(201,168,76,.4); }
.pb-gate-error { font-size:.75rem; color:#e57373; text-align:center; margin:.35rem 0; min-height:1rem; }
.pb-gate-note { font-size:.72rem; color:rgba(120,149,175,.4); text-align:center; margin-top:.85rem; font-family:'DM Sans',sans-serif; }

/* ── CHAPTER HEADER ── */
.chapter-head { margin-bottom:2.5rem; }
.ch-meta { display:flex; align-items:center; gap:.75rem; margin-bottom:.75rem; }
.ch-number { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(201,168,76,.5); }
.ch-phase-tag { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); color:var(--gold); padding:2px 8px; border-radius:4px; }
.ch-title { font-family:'Outfit',sans-serif; font-size:clamp(1.4rem,2.5vw,2rem); font-weight:800; color:var(--white); line-height:1.15; letter-spacing:-.03em; margin-bottom:.75rem; }
.ch-sub { font-family:var(--cg); font-size:1.1rem; font-style:italic; color:rgba(200,214,229,.6); line-height:1.6; }
.ch-rule { width:100%; height:1px; background:linear-gradient(90deg,rgba(201,168,76,.35),transparent); margin:2rem 0; }
.bp { font-family:'DM Sans',system-ui,sans-serif; font-size:.93rem; color:var(--tx); line-height:1.85; margin-bottom:1.1rem; }

/* ── PHASE MARKER ── */
.phase-marker { display:flex; align-items:center; gap:1rem; background:rgba(11,23,39,.6); border:1px solid rgba(65,91,124,.2); border-radius:12px; padding:1rem 1.25rem; margin:2.5rem 0 2rem; }
.pm-num { width:36px; height:36px; border-radius:50%; border:2px solid rgba(65,91,124,.4); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.7rem; font-weight:800; color:var(--gold); flex-shrink:0; }
.pm-title { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700; color:var(--white); letter-spacing:-.01em; }
.pm-sub { font-size:.72rem; color:var(--sl); margin-top:.15rem; }

/* ── RULE BOX ── */
.rule-box { background:rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.2); border-left:3px solid var(--gold); border-radius:0 10px 10px 0; padding:1.25rem 1.5rem; margin:1.75rem 0; }
.rb-ey { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.6); margin-bottom:.6rem; }
.rb-body { font-size:.88rem; color:var(--tx); line-height:1.75; }
.rb-body b { color:var(--white); }

/* ── SUBHEADING ── */
.subh { font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(65,91,124,.7); margin:2.5rem 0 1.25rem; padding-bottom:.6rem; border-bottom:1px solid rgba(65,91,124,.15); }

/* ── SCRIPT CARDS ── */
.script-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:14px; padding:1.5rem; margin-bottom:1.25rem; transition:border-color .22s, box-shadow .22s; }
.script-card:hover { border-color:rgba(65,91,124,.4); box-shadow:0 8px 32px rgba(0,0,0,.25); }
.sc-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.sc-title { font-family:'Outfit',sans-serif; font-size:.95rem; font-weight:700; color:var(--white); letter-spacing:-.01em; }
.sc-badges { display:flex; gap:.35rem; flex-wrap:wrap; flex-shrink:0; }
.sc-badge { display:inline-flex; align-items:center; font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.sc-badge.hp { background:rgba(201,168,76,.12); color:var(--gold); border:1px solid rgba(201,168,76,.25); }
.sc-badge.cp { background:var(--gold); color:var(--dk); }
.sc-badge.phase { background:rgba(65,91,124,.2); color:var(--sl); border:1px solid rgba(65,91,124,.25); }
.sc-meta { font-family:'DM Sans',system-ui,sans-serif; font-size:.73rem; color:rgba(120,149,175,.55); margin-bottom:.85rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.sc-meta span { color:var(--sl); text-transform:none; letter-spacing:0; font-weight:400; }
.sc-body { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.sc-quote { font-family:var(--cg); font-size:1rem; font-style:italic; color:var(--white); line-height:1.65; flex:1; }
.copy-btn { flex-shrink:0; background:rgba(65,91,124,.15); border:1px solid rgba(65,91,124,.3); color:rgba(200,214,229,.45); font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:700; letter-spacing:.1em; padding:5px 10px; border-radius:6px; cursor:pointer; transition:all .18s; white-space:nowrap; align-self:flex-start; margin-top:.2rem; }
.copy-btn:hover { background:rgba(65,91,124,.3); color:var(--white); }
.copy-btn.copied { color:var(--gold); border-color:rgba(201,168,76,.3); }
.sc-why { display:flex; gap:.5rem; align-items:flex-start; padding-top:.85rem; border-top:1px solid rgba(65,91,124,.12); }
.sc-why-label { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(201,168,76,.5); flex-shrink:0; margin-top:.1rem; }
.sc-why-text { font-size:.8rem; color:var(--sl); line-height:1.65; }

/* ── CTA BRIDGE ── */
.cta-bridge { background:linear-gradient(135deg,var(--navy),rgba(11,23,39,.98)); border:1px solid rgba(65,91,124,.2); border-radius:16px; padding:2rem 2.25rem; margin:3rem 0; position:relative; overflow:hidden; }
.cta-bridge::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.4) 30%,rgba(201,168,76,.6) 50%,rgba(201,168,76,.4) 70%,transparent); }
.cta-bridge-ey { font-family:'Outfit',sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(201,168,76,.55); display:block; margin-bottom:.6rem; }
.cta-bridge-title { font-family:'Outfit',sans-serif; font-size:1.1rem; font-weight:800; color:var(--white); letter-spacing:-.02em; margin-bottom:.6rem; }
.cta-bridge-body { font-size:.85rem; color:var(--sl); line-height:1.75; margin-bottom:1.25rem; }
.cta-bridge-sub { font-size:.72rem; color:rgba(120,149,175,.45); margin-top:.5rem; font-family:'DM Sans',sans-serif; }

/* ── INTENT GRID ── */
.intent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.5rem 0 2rem; }
.intent-card { background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:12px; padding:1.1rem; transition:border-color .2s; }
.intent-card:hover { border-color:rgba(65,91,124,.4); }
.intent-num { font-family:var(--cg); font-size:1.6rem; font-weight:700; color:rgba(201,168,76,.25); line-height:1; margin-bottom:.35rem; }
.intent-name { font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:700; color:var(--white); margin-bottom:.3rem; }
.intent-desc { font-size:.73rem; color:var(--sl); line-height:1.55; }

/* ── LEVEL GRID ── */
.level-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; margin:1.5rem 0 2rem; }
.level-card { text-align:center; background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:10px; padding:1rem .75rem; }
.level-num { font-family:var(--cg); font-size:2rem; font-weight:700; color:var(--gold); line-height:1; margin-bottom:.3rem; }
.level-label { font-size:.65rem; font-family:'Outfit',sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sl); }

/* ── PROFILE PILLAR ── */
.profile-pillar { display:flex; gap:1rem; align-items:flex-start; padding:1.1rem 0; border-bottom:1px solid rgba(65,91,124,.1); }
.profile-pillar:last-child { border-bottom:none; }
.pp-num { font-family:var(--cg); font-size:1.4rem; font-weight:700; color:rgba(201,168,76,.3); line-height:1; min-width:28px; }
.pp-content .pp-title { font-family:'Outfit',sans-serif; font-size:.88rem; font-weight:700; color:var(--white); margin-bottom:.25rem; }
.pp-content .pp-body { font-size:.8rem; color:var(--sl); line-height:1.65; }

/* ── JOURNEY OVERVIEW ── */
.journey-strip { display:flex; align-items:center; gap:0; background:var(--mid); border:1px solid rgba(65,91,124,.2); border-radius:12px; overflow:hidden; margin:2rem 0; }
.journey-step { flex:1; text-align:center; padding:.85rem .5rem; border-right:1px solid rgba(65,91,124,.15); }
.journey-step:last-child { border-right:none; }
.journey-step.active { background:rgba(201,168,76,.07); }
.js-num { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(201,168,76,.5); margin-bottom:.2rem; }
.js-name { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700; color:var(--white); }

/* ── QUICK REFERENCE TABLE ── */
.qr-table { width:100%; border-collapse:collapse; margin:1.5rem 0; }
.qr-table th { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(200,214,229,.4); padding:.6rem 1rem; text-align:left; border-bottom:1px solid rgba(65,91,124,.2); }
.qr-table td { padding:.6rem 1rem; font-size:.8rem; color:var(--sl); border-bottom:1px solid rgba(65,91,124,.08); vertical-align:top; }
.qr-table tr:hover td { background:rgba(65,91,124,.06); }
.qr-title { font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:700; color:var(--white); }
.qr-badge { display:inline-flex; font-size:.55rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:2px 6px; border-radius:3px; }

/* ── MOBILE ── */
@media(max-width:900px){
  .pb-wrap { grid-template-columns:1fr; padding-top:44px; }
  .pb-nav { display:none; }
  .pb-progress-bar { top:44px; }
  .pb-chapter { padding:2.5rem clamp(1.25rem,4vw,3.5rem) 3.5rem; }
  /* Playbook content page nav: hide links, keep logo + CTA */
  nav .nav-links[style] .nl { display:none; }
  nav .btn-gold-sm { font-size:.65rem; padding:5px 10px; }
  .intent-grid { grid-template-columns:repeat(2,1fr); }
  .level-grid { grid-template-columns:repeat(3,1fr); }
  .journey-strip { flex-wrap:wrap; }
  .journey-step { min-width:33%; }
}
@media(max-width:480px){
  .intent-grid { grid-template-columns:1fr; }
  .level-grid { grid-template-columns:repeat(2,1fr); }
  .sc-header { flex-direction:column; }
  .sc-body { flex-direction:column; }
}

  
/* ── LOCKED DATING COACH PANEL ── */
.dc-locked-panel {
  background: linear-gradient(135deg, var(--navy), rgba(11,23,39,.98));
  border: 1px solid rgba(65,91,124,.25);
  border-radius: 18px;
  padding: 0;
  margin: 3rem 0;
  overflow: hidden;
  position: relative;
}
.dc-locked-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.35) 30%, rgba(201,168,76,.5) 50%, rgba(201,168,76,.35) 70%, transparent);
}
.dc-locked-header {
  padding: 1.5rem 2rem 1.25rem;
  border-bottom: 1px solid rgba(65,91,124,.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.dc-locked-identity {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.dc-locked-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: .7rem;
  font-weight: 800;
  color: var(--gold);
}
.dc-locked-name {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: .1rem;
}
.dc-locked-status {
  font-size: .68rem;
  color: rgba(120,149,175,.45);
  font-family: 'DM Sans', system-ui, sans-serif;
  display: flex;
  align-items: center;
  gap: .35rem;
}
.dc-locked-badge {
  display: inline-flex;
  font-family: 'Outfit', sans-serif;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(65,91,124,.2);
  border: 1px solid rgba(65,91,124,.35);
  color: rgba(120,149,175,.5);
  padding: 3px 10px;
  border-radius: 4px;
}
.dc-locked-preview {
  padding: 1.25rem 2rem;
  position: relative;
}
.dc-locked-msgs {
  filter: blur(3px);
  opacity: .4;
  pointer-events: none;
  user-select: none;
  margin-bottom: 1rem;
}
.dc-preview-msg {
  display: flex;
  gap: .6rem;
  margin-bottom: .75rem;
  max-width: 85%;
}
.dc-preview-msg.coach { align-self: flex-start; }
.dc-preview-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .6rem;
  font-weight: 800;
  font-family: 'Outfit', sans-serif;
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.2);
  color: var(--gold);
}
.dc-preview-bubble {
  background: rgba(16,29,47,.8);
  border: 1px solid rgba(65,91,124,.2);
  border-radius: 4px 12px 12px 12px;
  padding: .65rem .9rem;
  font-size: .82rem;
  color: rgba(200,214,229,.9);
  line-height: 1.6;
  font-family: 'DM Sans', system-ui, sans-serif;
}
.dc-lock-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(5,9,15,.6);
  backdrop-filter: blur(2px);
  padding: 1.5rem;
  text-align: center;
}
.dc-lock-icon {
  font-size: 1.5rem;
  margin-bottom: .75rem;
  opacity: .5;
}
.dc-lock-title {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: .4rem;
}
.dc-lock-body {
  font-size: .75rem;
  color: var(--sl);
  line-height: 1.65;
  margin-bottom: 1rem;
  max-width: 340px;
}
.dc-locked-cta {
  padding: 1.25rem 2rem 1.5rem;
  border-top: 1px solid rgba(65,91,124,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.dc-locked-cta-text {
  flex: 1;
}
.dc-locked-cta-ey {
  font-family: 'Outfit', sans-serif;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(201,168,76,.5);
  margin-bottom: .2rem;
}
.dc-locked-cta-main {
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: var(--white);
}
.dc-locked-cta-sub {
  font-size: .72rem;
  color: var(--sl);
  margin-top: .1rem;
  font-family: 'DM Sans', system-ui, sans-serif;
}

/* ── EMBEDDED DATING COACH ── */
.pb-dc-panel { background:var(--dk); border-top:1px solid rgba(65,91,124,.15); padding:0; max-width:820px; margin:0 auto; }
.pb-dc-gate { padding:2.5rem clamp(1.25rem,4vw,3.5rem); text-align:center; border-bottom:1px solid rgba(65,91,124,.12); }
.pb-dc-gate-wm { font-family:var(--cg); font-size:1.6rem; font-weight:400; font-style:italic; color:var(--white); margin-bottom:.3rem; }
.pb-dc-gate-wm sup { font-size:.4em; font-style:normal; opacity:.6; }
.pb-dc-gate-rule { width:28px; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent); margin:.6rem auto .9rem; }
.pb-dc-gate-label { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:1.1rem; }
.pb-dc-gate-p { font-size:.82rem; color:var(--sl); line-height:1.7; margin-bottom:1.25rem; max-width:440px; margin-left:auto; margin-right:auto; font-family:'DM Sans',system-ui,sans-serif; }
.pb-dc-input { width:100%; max-width:360px; background:rgba(65,91,124,.1); border:1px solid rgba(65,91,124,.25); border-radius:8px; padding:.65rem 1rem; font-family:'Outfit',sans-serif; font-size:.82rem; color:var(--white); outline:none; letter-spacing:.1em; text-transform:uppercase; text-align:center; box-sizing:border-box; transition:border-color .2s; }
.pb-dc-input::placeholder { color:rgba(120,149,175,.35); text-transform:none; letter-spacing:0; }
.pb-dc-input:focus { border-color:rgba(201,168,76,.35); }
.pb-dc-err { font-size:.7rem; color:#ef9a9a; margin:.3rem 0; min-height:.85rem; font-family:'DM Sans',system-ui,sans-serif; }

/* Onboarding embedded */
.pb-dc-onboard { padding:2rem clamp(1.25rem,4vw,3.5rem); display:none; }
.pb-dc-onboard.show { display:block; animation:fadeUp .3s ease; }
.pb-ob-progress { display:flex; gap:.4rem; margin-bottom:1.5rem; }
.pb-ob-pip { height:2px; flex:1; border-radius:1px; background:rgba(65,91,124,.2); transition:background .3s; }
.pb-ob-pip.done { background:var(--gold); }
.pb-ob-pip.active { background:rgba(201,168,76,.45); }
.pb-ob-step { display:none; }
.pb-ob-step.active { display:block; animation:fadeUp .25s ease; }
.pb-ob-label { font-family:'Outfit',sans-serif; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(201,168,76,.45); margin-bottom:.4rem; }
.pb-ob-title { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:800; color:var(--white); margin-bottom:.3rem; letter-spacing:-.02em; }
.pb-ob-sub { font-size:.8rem; color:var(--sl); line-height:1.6; margin-bottom:1.1rem; font-family:'DM Sans',system-ui,sans-serif; }
.pb-intent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-bottom:1.1rem; }
.pb-intent-opt { background:rgba(65,91,124,.1); border:1.5px solid rgba(65,91,124,.18); border-radius:8px; padding:.65rem .6rem; cursor:pointer; text-align:center; transition:all .18s; }
.pb-intent-opt:hover { border-color:rgba(65,91,124,.4); }
.pb-intent-opt.sel { border-color:var(--gold); background:rgba(201,168,76,.06); }
.pb-intent-opt .io-name { font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:700; color:var(--white); }
.pb-phase-opts { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; }
.pb-phase-opt { display:flex; align-items:center; gap:.75rem; background:rgba(65,91,124,.1); border:1.5px solid rgba(65,91,124,.18); border-radius:8px; padding:.65rem .85rem; cursor:pointer; transition:all .18s; }
.pb-phase-opt:hover { border-color:rgba(65,91,124,.35); }
.pb-phase-opt.sel { border-color:var(--gold); background:rgba(201,168,76,.05); }
.pb-phase-opt .po-num { font-family:var(--cg); font-size:1.2rem; font-weight:700; color:rgba(201,168,76,.25); min-width:22px; }
.pb-phase-opt .po-title { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700; color:var(--white); }
.pb-focus-opts { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; }
.pb-focus-opt { display:flex; align-items:flex-start; gap:.75rem; background:rgba(65,91,124,.1); border:1.5px solid rgba(65,91,124,.18); border-radius:8px; padding:.75rem .85rem; cursor:pointer; transition:all .18s; }
.pb-focus-opt:hover { border-color:rgba(65,91,124,.35); }
.pb-focus-opt.sel { border-color:var(--gold); background:rgba(201,168,76,.05); }
.pb-focus-opt .fo-icon { font-size:1rem; flex-shrink:0; margin-top:.05rem; }
.pb-focus-opt .fo-title { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700; color:var(--white); margin-bottom:.1rem; }
.pb-focus-opt .fo-desc { font-size:.7rem; color:var(--sl); line-height:1.45; }

/* Chat embedded */
.pb-dc-chat { display:none; flex-direction:column; height:480px; }
.pb-dc-chat.show { display:flex; }
.pb-dc-chat-header { padding:.75rem 1.25rem; border-bottom:1px solid rgba(65,91,124,.12); display:flex; align-items:center; justify-content:space-between; background:rgba(11,23,39,.4); flex-shrink:0; }
.pb-dc-chat-id { display:flex; align-items:center; gap:.6rem; }
.pb-dc-av { width:28px; height:28px; border-radius:50%; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:800; color:var(--gold); }
.pb-dc-name { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:700; color:var(--white); }
.pb-dc-ready { font-size:.65rem; color:rgba(45,184,122,.65); display:flex; align-items:center; gap:.3rem; }
.pb-dc-ready::before { content:''; width:5px; height:5px; border-radius:50%; background:rgba(45,184,122,.65); flex-shrink:0; }
.pb-dc-new { font-family:'Outfit',sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(120,149,175,.35); cursor:pointer; padding:3px 8px; border:1px solid rgba(65,91,124,.18); border-radius:5px; background:none; transition:all .18s; }
.pb-dc-new:hover { color:var(--white); border-color:rgba(65,91,124,.35); }
.pb-dc-messages { flex:1; overflow-y:auto; padding:1rem 1.25rem 1.25rem; display:flex; flex-direction:column; gap:.75rem; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; min-height:0; scroll-padding-bottom:16px; }
.pb-dc-messages::-webkit-scrollbar { width:3px; }
.pb-dc-messages::-webkit-scrollbar-thumb { background:rgba(65,91,124,.25); border-radius:2px; }
.pb-msg { display:flex; gap:.5rem; max-width:85%; animation:msgIn .2s ease; }
.pb-msg.coach { align-self:flex-start; }
.pb-msg.user { align-self:flex-end; flex-direction:row-reverse; }
.pb-msg-av { width:24px; height:24px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-size:.55rem; font-weight:800; margin-top:.1rem; }
.pb-msg.coach .pb-msg-av { background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); color:var(--gold); }
.pb-msg.user .pb-msg-av { background:rgba(65,91,124,.2); color:var(--sl); }
.pb-msg-bubble { padding:.6rem .85rem; border-radius:11px; font-size:.8rem; line-height:1.6; font-family:'DM Sans',system-ui,sans-serif; }
.pb-msg.coach .pb-msg-bubble { background:rgba(16,29,47,.8); border:1px solid rgba(65,91,124,.18); border-radius:3px 11px 11px 11px; color:var(--tx); }
.pb-msg.user .pb-msg-bubble { background:rgba(65,91,124,.18); border:1px solid rgba(65,91,124,.25); border-radius:11px 3px 11px 11px; color:rgba(200,214,229,.85); }
.pb-typing { display:flex; gap:.3rem; align-items:center; padding:.55rem .75rem; background:rgba(16,29,47,.8); border:1px solid rgba(65,91,124,.15); border-radius:3px 11px 11px 11px; width:fit-content; }
.pb-typing span { width:5px; height:5px; border-radius:50%; background:rgba(120,149,175,.4); animation:dot .9s infinite; }
.pb-typing span:nth-child(2) { animation-delay:.15s; }
.pb-typing span:nth-child(3) { animation-delay:.3s; }
.pb-dc-input-row { padding:.6rem 1rem; border-top:1px solid rgba(65,91,124,.1); display:flex; gap:.4rem; align-items:flex-end; flex-shrink:0; }
.pb-dc-msg-input { flex:1; background:rgba(65,91,124,.08); border:1px solid rgba(65,91,124,.18); border-radius:8px; padding:.5rem .75rem; font-family:'DM Sans',system-ui,sans-serif; font-size:.82rem; color:var(--white); outline:none; resize:none; max-height:90px; line-height:1.5; transition:border-color .2s; }
.pb-dc-msg-input:focus { border-color:rgba(65,91,124,.38); }
.pb-dc-msg-input::placeholder { color:rgba(120,149,175,.3); }
.pb-dc-send { background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.18); border-radius:7px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; color:rgba(201,168,76,.65); font-size:.75rem; transition:all .18s; }
.pb-dc-send:hover:not(:disabled) { background:rgba(201,168,76,.2); border-color:rgba(201,168,76,.35); }
.pb-dc-send:disabled { opacity:.3; cursor:not-allowed; }
.pb-dc-days { font-size:.62rem; color:rgba(120,149,175,.3); text-align:center; padding:.4rem; font-family:'DM Sans',system-ui,sans-serif; flex-shrink:0; }

@media(max-width:480px){
  .pb-intent-grid { grid-template-columns:repeat(2,1fr); }
  .pb-dc-chat { height:420px; }
}

/* ── Coach Orb & Panel ─────────────────────────────── */
/* ── Coach Orb — Premium Pill Design ──────────── */
.coach-orb{
  position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:9999;
  display:flex;align-items:center;gap:0;
  height:56px;border-radius:28px;
  background:linear-gradient(135deg,rgba(10,18,32,.97),rgba(16,28,50,.95));
  border:1px solid rgba(201,168,76,.2);
  box-shadow:
    0 4px 24px rgba(0,0,0,.45),
    0 0 0 1px rgba(201,168,76,.06),
    0 0 20px rgba(201,168,76,.08);
  cursor:pointer;
  transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease,background .3s ease;
  animation:coachGlow 4s ease-in-out infinite;
  -webkit-tap-highlight-color:transparent;
  padding:0 18px 0 0;
  text-decoration:none;
  overflow:hidden;
}
/* Gold M circle — left side of pill */
.coach-orb .co-m-circle{
  width:56px;height:56px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 40% 38%,#F0D878 0%,#D4B65E 25%,#C9A84C 50%,#A8893D 80%,#8B6F2A 100%);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.coach-orb .co-m-circle .co-label{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:1.5rem;
  color:var(--navy);line-height:1;user-select:none;pointer-events:none;
  text-shadow:0 0 8px rgba(201,168,76,.2);
  position:relative;z-index:1;
}
/* Shimmer on M circle */
.coach-orb .co-m-circle::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 50%,transparent 100%);
  opacity:.6;pointer-events:none;
}
/* Text label */
.coach-orb .co-text{
  font-family:'Outfit',sans-serif;font-weight:600;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(201,168,76,.75);
  white-space:nowrap;user-select:none;pointer-events:none;
  padding-left:12px;
  transition:opacity .3s ease,color .3s ease;
}
/* Subtle outer halo */
.coach-orb::before{
  content:'';position:absolute;inset:-3px;border-radius:30px;
  border:1px solid rgba(201,168,76,.08);
  animation:coachRing 4s ease-in-out infinite;
  pointer-events:none;
}
/* Hover */
.coach-orb:hover{
  transform:translateY(-50%) scale(1.04);
  box-shadow:
    0 6px 32px rgba(0,0,0,.5),
    0 0 0 1px rgba(201,168,76,.12),
    0 0 28px rgba(201,168,76,.18),
    0 0 56px rgba(201,168,76,.08);
}
.coach-orb:hover .co-text{color:rgba(201,168,76,.95);}

/* Locked state — muted */
.coach-orb.locked{
  background:linear-gradient(135deg,rgba(10,18,32,.85),rgba(16,28,50,.8));
  border-color:rgba(201,168,76,.08);
  box-shadow:0 4px 16px rgba(0,0,0,.3);
  animation:none;
}
.coach-orb.locked .co-m-circle{
  background:radial-gradient(circle at 40% 38%,rgba(201,168,76,.2),rgba(201,168,76,.12) 60%,rgba(201,168,76,.06));
}
.coach-orb.locked .co-m-circle .co-label{color:rgba(201,168,76,.4);text-shadow:none;}
.coach-orb.locked .co-m-circle::after{opacity:.1;}
.coach-orb.locked .co-text{color:rgba(201,168,76,.3);}
.coach-orb.locked::before{border-color:rgba(201,168,76,.04);animation:none;}

/* Open state — collapse to close button */
.coach-orb.open{
  padding:0;width:56px;height:56px;border-radius:50%;
  animation:none;overflow:hidden;
}
.coach-orb.open .co-text{display:none;}
.coach-orb.open .co-m-circle .co-label{display:none;}
.coach-orb.open .co-m-circle::after{
  content:'✕';background:none;
  font-family:'Outfit',sans-serif;font-weight:600;font-size:1.2rem;
  color:var(--navy);opacity:1;
  display:flex;align-items:center;justify-content:center;
  position:absolute;inset:0;border-radius:50%;z-index:3;
}
.coach-orb.open::before{animation:none;border-color:rgba(201,168,76,.15);border-radius:50%;}

/* ── Orb Animations ──────────────────────────── */
@keyframes coachGlow{
  0%,100%{
    box-shadow:0 4px 24px rgba(0,0,0,.45),0 0 0 1px rgba(201,168,76,.06),0 0 20px rgba(201,168,76,.08);
  }
  50%{
    box-shadow:0 4px 24px rgba(0,0,0,.45),0 0 0 1px rgba(201,168,76,.1),0 0 28px rgba(201,168,76,.15),0 0 48px rgba(201,168,76,.06);
  }
}
@keyframes coachRing{
  0%,100%{opacity:.5;transform:scale(1);}
  50%{opacity:1;transform:scale(1.02);}
}
@keyframes coachAttention{
  0%,100%{box-shadow:0 4px 24px rgba(0,0,0,.45),0 0 0 1px rgba(201,168,76,.06),0 0 20px rgba(201,168,76,.08);}
  50%{box-shadow:0 6px 32px rgba(0,0,0,.5),0 0 0 2px rgba(201,168,76,.12),0 0 36px rgba(201,168,76,.25),0 0 64px rgba(201,168,76,.1);}
}

/* Tooltip */
.coach-tooltip{
  position:fixed;left:20px;top:calc(50% + 40px);z-index:9999;
  background:var(--navy);border:1px solid rgba(201,168,76,.25);
  border-radius:12px;padding:12px 18px;max-width:240px;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
  font-family:'DM Sans',sans-serif;font-size:.8rem;color:var(--tx,#C2D1E0);
  opacity:0;transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
}
.coach-tooltip.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.coach-tooltip .ct-title{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.08em;
  color:rgba(201,168,76,.65);margin-bottom:4px;
}

/* Locked popover */
.coach-locked-pop{
  position:fixed;left:20px;top:calc(50% + 40px);z-index:9950;
  background:var(--navy);border:1px solid rgba(65,91,124,.22);
  border-radius:14px;padding:20px 22px;width:300px;
  box-shadow:0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(201,168,76,.08);
  display:none;
}
.coach-locked-pop.show{display:block;animation:fadeUp .25s ease;}
.coach-locked-pop .clp-title{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;
  color:var(--white,#EDF2F7);margin-bottom:6px;
}
.coach-locked-pop .clp-desc{
  font-family:'DM Sans',sans-serif;font-size:.78rem;
  color:var(--sl,#7A95AF);line-height:1.5;margin-bottom:14px;
}
.coach-locked-pop .clp-btn{
  display:block;width:100%;padding:10px;border:none;border-radius:8px;
  background:var(--gold);color:var(--navy);font-family:'Outfit',sans-serif;
  font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:background .2s;text-align:center;margin-bottom:8px;
}
.coach-locked-pop .clp-btn:hover{background:var(--gold-hover);}
.coach-locked-pop .clp-code-link{
  display:block;text-align:center;font-family:'DM Sans',sans-serif;
  font-size:.72rem;color:rgba(201,168,76,.5);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;
}
.coach-locked-pop .clp-code-area{
  display:none;margin-top:10px;
}
.coach-locked-pop .clp-code-area.show{display:flex;gap:8px;}
.coach-locked-pop .clp-code-input{
  flex:1;padding:8px 10px;border-radius:6px;border:1px solid rgba(65,91,124,.3);
  background:rgba(5,9,15,.6);color:var(--white,#EDF2F7);
  font-family:'DM Sans',sans-serif;font-size:.78rem;
}
.coach-locked-pop .clp-code-input:focus{outline:none;border-color:rgba(201,168,76,.4);}
.coach-locked-pop .clp-code-submit{
  padding:8px 14px;border:none;border-radius:6px;background:rgba(201,168,76,.15);
  color:var(--gold);font-family:'Outfit',sans-serif;font-weight:700;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
}
.coach-locked-pop .clp-code-msg{
  font-family:'DM Sans',sans-serif;font-size:.72rem;margin-top:6px;display:none;
}

/* ── Coach Panel ──────────────────────────────────── */
/* Coach backdrop — blocks page interaction + captures stray scroll/touch */
.coach-backdrop{
  position:fixed;inset:0;z-index:9998;
  background:rgba(5,9,15,.35);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
  -webkit-tap-highlight-color:transparent;
}
.coach-backdrop.open{opacity:1;pointer-events:auto;}

.coach-panel{
  position:fixed;left:20px;top:50%;transform:translateY(-50%) translateX(-110%);z-index:10000;
  width:400px;max-width:calc(100vw - 48px);
  height:60vh;min-height:360px;max-height:calc(100vh - 140px);
  background:var(--navy);border:1px solid rgba(65,91,124,.22);
  border-radius:18px;display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(201,168,76,.06);
  transition:transform .3s cubic-bezier(.25,.46,.45,.94);
  overflow:hidden;
  /* Scroll containment — prevent scroll chaining to page */
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.coach-panel.open{transform:translateY(-50%) translateX(0);}

/* Panel header */
.cp-header{
  display:flex;align-items:center;gap:10px;
  padding:16px 18px;border-bottom:1px solid rgba(65,91,124,.15);
  flex-shrink:0;
}
.cp-av{
  width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,var(--gold-hover),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.75rem;color:var(--navy);
  flex-shrink:0;
}
.cp-info{flex:1;min-width:0;}
.cp-name{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.78rem;
  color:var(--white,#EDF2F7);
}
.cp-status{
  font-family:'DM Sans',sans-serif;font-size:.65rem;
  color:var(--sl,#7A95AF);margin-top:1px;
}
.cp-days{
  font-family:'Outfit',sans-serif;font-weight:600;font-size:.6rem;
  color:rgba(201,168,76,.5);letter-spacing:.04em;
}
.cp-close{
  width:28px;height:28px;border-radius:50%;border:none;
  background:rgba(65,91,124,.12);color:var(--sl,#7A95AF);
  font-size:.85rem;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:background .2s;flex-shrink:0;
}
.cp-close:hover{background:rgba(65,91,124,.22);}
.cp-new{
  padding:4px 10px;border-radius:5px;border:1px solid rgba(65,91,124,.18);
  background:transparent;color:var(--sl,#7A95AF);
  font-family:'Outfit',sans-serif;font-size:.55rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:border-color .2s,color .2s;flex-shrink:0;
}
.cp-new:hover{border-color:rgba(201,168,76,.3);color:rgba(201,168,76,.6);}

/* Panel messages */
.cp-messages{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 14px 20px;
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;scrollbar-color:rgba(65,91,124,.2) transparent;
  /* Critical: contain scroll within this element */
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  /* Prevent messages area from collapsing */
  min-height:0;
  /* Ensure scroll target accounts for bottom spacing */
  scroll-padding-bottom:20px;
}
.cp-messages::-webkit-scrollbar{width:4px;}
.cp-messages::-webkit-scrollbar-thumb{background:rgba(65,91,124,.25);border-radius:2px;}

.cp-msg{display:flex;gap:8px;animation:fadeUp .2s ease;}
.cp-msg.coach .cp-msg-av{
  width:24px;height:24px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 35% 35%,var(--gold-hover),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.5rem;color:var(--navy);
}
.cp-msg.user{flex-direction:row-reverse;}
.cp-msg.user .cp-msg-av{display:none;}
.cp-msg-bubble{
  max-width:85%;padding:10px 14px;border-radius:14px;
  font-family:'DM Sans',sans-serif;font-size:.82rem;line-height:1.55;
  color:var(--tx,#C2D1E0);
}
.cp-msg.coach .cp-msg-bubble{background:rgba(65,91,124,.1);border-bottom-left-radius:4px;}
.cp-msg.user .cp-msg-bubble{background:rgba(201,168,76,.1);border-bottom-right-radius:4px;color:var(--white,#EDF2F7);}

/* Typing indicator */
.cp-typing{display:flex;gap:4px;padding:10px 14px;}
.cp-typing span{
  width:6px;height:6px;border-radius:50%;background:rgba(201,168,76,.35);
  animation:dot .9s infinite;
}
.cp-typing span:nth-child(2){animation-delay:.15s;}
.cp-typing span:nth-child(3){animation-delay:.3s;}

/* Panel input */
.cp-input-area{
  padding:12px 14px;border-top:1px solid rgba(65,91,124,.15);
  display:flex;gap:8px;align-items:flex-end;flex-shrink:0;
}
.cp-input{
  flex:1;resize:none;border:1px solid rgba(65,91,124,.22);
  border-radius:12px;padding:10px 14px;
  background:rgba(5,9,15,.5);color:var(--white,#EDF2F7);
  font-family:'DM Sans',sans-serif;font-size:.82rem;line-height:1.4;
  max-height:100px;overflow-y:auto;
}
.cp-input:focus{outline:none;border-color:rgba(201,168,76,.35);}
.cp-input::placeholder{color:rgba(122,149,175,.5);}
.cp-send{
  width:36px;height:36px;border-radius:50%;border:none;
  background:var(--gold);color:var(--navy);font-size:.9rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s;flex-shrink:0;
}
.cp-send:hover{background:var(--gold-hover);}
.cp-send:disabled{background:rgba(201,168,76,.2);cursor:default;}

/* Panel onboarding — single card */
.cp-onboard{
  flex:1;padding:24px 20px;overflow-y:auto;display:none;
  align-items:center;justify-content:center;
}
.cp-onboard .cp-ob-card{
  max-width:340px;margin:0 auto;
}
.cp-onboard .cp-ob-q{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.95rem;
  color:var(--white,#EDF2F7);margin-bottom:16px;text-align:center;
}
.cp-onboard .cp-ob-opts{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;justify-content:center;
}
.cp-onboard .cp-ob-opt{
  padding:9px 18px;border:1px solid rgba(65,91,124,.22);
  border-radius:20px;background:transparent;text-align:center;
  font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--tx,#C2D1E0);
  cursor:pointer;transition:border-color .2s,background .2s;
  min-height:44px;display:inline-flex;align-items:center;
}
.cp-onboard .cp-ob-opt:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.04);}
.cp-onboard .cp-ob-opt.sel{border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.08);color:var(--white,#EDF2F7);}
.cp-onboard .co-intent-notsure{
  width:100%;justify-content:center;border-style:dashed;
  color:var(--sl,#7A95AF);font-size:.74rem;
}
.cp-onboard .cp-ob-or{
  text-align:center;font-family:'DM Sans',sans-serif;font-size:.7rem;
  color:var(--sl,#7A95AF);margin:10px 0;text-transform:lowercase;
}
.cp-onboard .cp-ob-freetext{
  width:100%;resize:none;border:1px solid rgba(65,91,124,.22);
  border-radius:12px;padding:10px 14px;
  background:rgba(5,9,15,.5);color:var(--white,#EDF2F7);
  font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.4;
  margin-bottom:14px;box-sizing:border-box;
}
.cp-onboard .cp-ob-freetext:focus{outline:none;border-color:rgba(201,168,76,.35);}
.cp-onboard .cp-ob-freetext::placeholder{color:rgba(122,149,175,.5);}
.cp-onboard .cp-ob-begin{
  display:block;width:100%;padding:12px 20px;border:none;border-radius:10px;
  background:var(--gold);color:var(--navy);
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:background .2s;min-height:44px;
}
.cp-onboard .cp-ob-begin:hover{background:var(--gold-hover);}
.cp-onboard .cp-ob-begin:disabled{background:rgba(201,168,76,.2);cursor:default;}

/* Settings panel */
.cp-settings{
  flex:1;display:flex;flex-direction:column;overflow-y:auto;
}
.cp-settings-header{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;border-bottom:1px solid rgba(65,91,124,.15);
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.8rem;
  color:var(--white,#EDF2F7);flex-shrink:0;
}
.cp-settings-back{
  background:none;border:none;color:var(--sl,#7A95AF);
  font-size:1rem;cursor:pointer;padding:4px 8px;
  font-family:'DM Sans',sans-serif;min-height:44px;
  display:flex;align-items:center;
}
.cp-settings-back:hover{color:var(--white,#EDF2F7);}
.cp-settings-body{
  padding:20px 18px;display:flex;flex-direction:column;gap:22px;
}
.cp-settings-section{}
.cp-settings-label{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.06em;
  color:rgba(201,168,76,.5);margin-bottom:10px;
}
.cp-settings-intents{
  display:flex;flex-wrap:wrap;gap:8px;
}
.cp-settings-opt{
  padding:8px 16px;border:1px solid rgba(65,91,124,.22);
  border-radius:20px;background:transparent;
  font-family:'DM Sans',sans-serif;font-size:.75rem;color:var(--tx,#C2D1E0);
  cursor:pointer;transition:border-color .2s,background .2s;
  min-height:44px;display:inline-flex;align-items:center;
}
.cp-settings-opt:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.04);}
.cp-settings-opt.sel{border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.08);color:var(--white,#EDF2F7);}
.cp-settings-value{
  font-family:'DM Sans',sans-serif;font-size:.82rem;
  color:var(--tx,#C2D1E0);
}
.cp-settings-clear{
  background:none;border:none;padding:0;
  font-family:'DM Sans',sans-serif;font-size:.78rem;
  color:rgba(229,115,115,.7);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;
  min-height:44px;display:inline-flex;align-items:center;
}
.cp-settings-clear:hover{color:rgba(229,115,115,1);}

/* Gear button in header */
.cp-gear{
  width:28px;height:28px;border-radius:50%;border:none;
  background:rgba(65,91,124,.12);color:var(--sl,#7A95AF);
  font-size:.9rem;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:background .2s;flex-shrink:0;
  min-height:44px;min-width:44px;
}
.cp-gear:hover{background:rgba(65,91,124,.22);color:rgba(201,168,76,.6);}

/* Toast notification */
.cp-toast{
  position:absolute;bottom:80px;left:50%;transform:translateX(-50%) translateY(10px);
  background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);
  color:var(--gold);padding:8px 18px;border-radius:8px;
  font-family:'DM Sans',sans-serif;font-size:.75rem;
  opacity:0;transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;z-index:10;white-space:nowrap;
}
.cp-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Suggested prompts */
.cp-suggestions{
  display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;
}
.cp-suggest-btn{
  padding:7px 14px;border-radius:20px;border:1px solid rgba(201,168,76,.2);
  background:rgba(201,168,76,.05);color:rgba(201,168,76,.7);
  font-family:'DM Sans',sans-serif;font-size:.72rem;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s;
  white-space:nowrap;
}
.cp-suggest-btn:hover{
  background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.35);
  color:var(--gold);
}

/* Orb thinking state — breathing pulse with intensified glow */
.coach-orb.thinking{
  animation:coachThinking 1.4s ease-in-out infinite;
}
.coach-orb.thinking::before{
  animation:coachThinkingRing 1.4s ease-in-out infinite;
}
@keyframes coachThinking{
  0%,100%{
    transform:translateY(-50%) scale(1);
    box-shadow:0 4px 24px rgba(0,0,0,.45),0 0 0 1px rgba(201,168,76,.06),0 0 20px rgba(201,168,76,.08);
  }
  50%{
    transform:translateY(-50%) scale(.96);
    box-shadow:0 2px 14px rgba(0,0,0,.4),0 0 0 1px rgba(201,168,76,.04),0 0 14px rgba(201,168,76,.06);
  }
}
@keyframes coachThinkingRing{
  0%,100%{opacity:.5;transform:scale(1);}
  50%{opacity:.2;transform:scale(.97);}
}

/* ── Mobile ≤760px ──────────────────────────────── */
@media(max-width:760px){
  .coach-orb{
    left:12px;top:auto;bottom:20px;
    transform:none;height:48px;border-radius:24px;padding:0 12px 0 0;
  }
  .coach-orb .co-m-circle{width:48px;height:48px;}
  .coach-orb .co-text{font-size:.6rem;letter-spacing:.08em;padding-left:10px;}
  .coach-orb:hover{transform:scale(1.04);}
  .coach-orb::before{border-radius:26px;}
  .coach-orb.open{width:48px;height:48px;border-radius:50%;padding:0;}
  .coach-orb.open::before{border-radius:50%;}
  .coach-tooltip{left:12px;top:auto;bottom:76px;max-width:200px;}
  .coach-locked-pop{left:12px;top:auto;bottom:76px;width:calc(100vw - 24px);max-width:320px;}
  .coach-panel{
    top:auto;left:0;right:0;bottom:0;
    width:100%;max-width:100%;
    transform:translateY(110%);
    /* 85% viewport — leaves visible page context at top */
    height:85dvh;min-height:320px;max-height:85dvh;
    border-radius:18px 18px 0 0;
  }
  .coach-panel.open{transform:translateY(0);}
  .cp-messages{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .cp-input{font-size:16px;}
  .cp-input-area{
    /* flex-shrink:0 already set on desktop — no sticky needed, flex handles it */
    background:var(--navy);z-index:2;
    /* Safe area for iPhone home indicator */
    padding-bottom:max(12px, env(safe-area-inset-bottom));
  }
  .cp-ob-freetext{font-size:16px;}
  .cp-suggest-btn{min-height:44px;display:inline-flex;align-items:center;}
  .cp-close,.cp-new,.cp-gear{min-height:44px;min-width:44px;}

}

/* Body scroll lock — cross-platform including iOS Safari */
body.coach-open{
  overflow:hidden !important;
  /* touch-action prevents iOS Safari rubber-band scroll-through */
  touch-action:none;
  /* Avoid position:fixed — it causes layout jumps and resets scroll on iOS */
  height:100%;
  /* JS sets --scroll-y to preserve scroll position on lock/unlock */
}

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
footer{background:var(--dk);border-top:1px solid rgba(201,168,76,.12);padding:4rem 0 2rem;margin-top:4rem;}
.fg{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);}
.fn{display:flex;align-items:center;gap:.6rem;}
.fn .nm{font-family:var(--pd);font-size:1.05rem;font-weight:700;color:var(--white);letter-spacing:-.01em;}
.fc{display:flex;flex-direction:column;gap:.5rem;}
.fc h4{font-family:var(--pd);font-size:.72rem;font-weight:700;color:rgba(200,214,229,.5);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;}
.fc a{font-size:.82rem;color:var(--sl);transition:color .2s;}
.fc a:hover{color:var(--gold);}
.fbot{max-width:1280px;margin:2.5rem auto 0;padding:1.5rem clamp(1.25rem,4vw,3.5rem) 0;border-top:1px solid var(--rim);display:flex;justify-content:space-between;align-items:center;}
.fc-copy{font-size:.72rem;color:rgba(120,149,175,.45);}

@media(max-width:760px){
  .fg{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
  .fbot{flex-direction:column;gap:.5rem;text-align:center;}
}
@media(max-width:480px){
  .fg{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════
   MOBILE FIXES — QA Audit P0/P1
   ═══════════════════════════════════════════════════ */

/* Prevent horizontal overflow at the html level */
html{overflow-x:hidden;}

/* Pre-checkout modal — body scroll lock */
body.checkout-open{
  overflow:hidden !important;
}

/* Pre-checkout modal — mobile sizing */
@media(max-width:480px){
  #preCheckoutModal > div{padding:20px 16px !important;}
}

/* iOS Safari: prevent zoom on email input (must be 16px+) */
#pcm-email{font-size:16px;}

/* Assessment: dvh fallback for question screens */
.ia-q-screen,.ia-loading{min-height:100svh;min-height:100vh;}

/* Touch targets: nav links */
@media(max-width:760px){
  .nl{padding:.85rem 0;min-height:44px;}
}

/* Onboarding safe-area padding */
@media(max-width:760px){
  .cp-onboard{padding-bottom:max(24px, env(safe-area-inset-bottom));}
}

/* Small text readability floor — mobile */
@media(max-width:760px){
  .hero-stat-lbl,.trust-item,.prog-step,.prog-label,.prog-desc{font-size:.75rem;}
  .phase-desc{font-size:.82rem;}
}

/* Raise contrast on low-opacity decorative labels */
.hero-stat-lbl{color:rgba(200,214,229,.55);}
.trust-item{color:rgba(120,149,175,.55);}
.prog-label{color:rgba(120,149,175,.55);}
