/* InfoSecDeck — Main Stylesheet */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
:root{--bg:#0b1120;--sf:#121929;--sf2:#192338;--sf3:#1e2d47;--bd:rgba(255,255,255,0.07);--bd2:rgba(255,255,255,0.13);--tx:#dde6f0;--mt:#7a90a8;--dm:#3d5166;--gn:#10e87e;--lb:#0dd4c8;--bl:#4d9eff;--db:#82b8ff;--pu:#c084fc;--or:#ff8c42;--rd:#f05d78;--am:#f5c842;--tl:#0dd4c8;--em:#10e87e;--fd:'Bricolage Grotesque',sans-serif;--fm:'DM Mono',monospace;--nav:60px;--max:1300px;--glow-tl:rgba(13,212,200,.15);--glow-em:rgba(16,232,126,.12);--glow-bl:rgba(77,158,255,.12);}
body{background:var(--bg);color:var(--tx);font-family:var(--fd);line-height:1.6;min-height:100vh;overflow-x:hidden;}body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 90% 60% at 15% 0%,rgba(13,212,200,.06) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 85% 100%,rgba(77,158,255,.07) 0%,transparent 55%);pointer-events:none;z-index:0;}body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 60 0 L 0 0 0 60' fill='none' stroke='rgba(255,255,255,0.012)' stroke-width='0.5'/%3E%3C/svg%3E");pointer-events:none;z-index:0;}
nav{position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:9000;background:rgba(5,8,16,.95);backdrop-filter:blur(24px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 28px;}
.nlogo{display:flex;align-items:center;gap:9px;cursor:pointer;}
.ntxt{font-weight:900;font-size:1.25rem;letter-spacing:-.04em;background:linear-gradient(90deg,#fff 0%,var(--lb) 40%,var(--bl) 70%,var(--pu) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;}
/* ── TOP-LEVEL NAV ITEMS ── */
.nlinks{display:flex;align-items:center;gap:2px;}
.ncat{position:relative;}
.ncbtn{font-family:var(--fm);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;padding:7px 13px;border-radius:6px;cursor:pointer;color:var(--mt);transition:color .15s,background .15s;border:none;background:transparent;display:flex;align-items:center;gap:5px;white-space:nowrap;}
.ncbtn:hover,.ncat.open .ncbtn{color:var(--tx);background:rgba(255,255,255,.05);}
.ncbtn.active,.ncat.has-active .ncbtn{color:var(--lb);background:rgba(34,211,238,.07);}
.ncaret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;transition:transform .2s;margin-top:1px;}
.ncat.open .ncaret{transform:rotate(180deg);}
/* ── MEGA DROP-DOWN ── */
.ndrop{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#080c18;border:1px solid var(--bd2);border-radius:14px;padding:8px;min-width:220px;box-shadow:0 20px 60px rgba(0,0,0,.7);z-index:9100;max-height:80vh;overflow-y:auto;}
.ncat.open .ndrop{display:block;animation:fu .18s both;}
.ndi{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .15s;white-space:nowrap;}
.ndi:hover{background:rgba(255,255,255,.06);}
.ndi.active{background:rgba(34,211,238,.07);}
.ndi-icon{font-size:.95rem;width:20px;text-align:center;flex-shrink:0;}
.ndi-text{display:flex;flex-direction:column;gap:2px;}
.ndi-label{font-family:var(--fm);font-size:.63rem;letter-spacing:.07em;text-transform:uppercase;color:var(--mt);}
.ndi-desc{font-family:var(--fd);font-size:.66rem;color:var(--dm);line-height:1.3;}
.ndi:hover .ndi-label,.ndi.active .ndi-label{color:var(--tx);}
.ndi:hover .ndi-desc{color:var(--mt);}
.ndi.active .ndi-label{color:var(--lb);}
.ndrop-divider{height:1px;background:var(--bd);margin:4px 0;}
/* ── HAMBURGER ── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border-radius:8px;border:1px solid var(--bd);background:rgba(255,255,255,.03);transition:background .15s;flex-shrink:0;}
.hamburger:hover{background:rgba(255,255,255,.06);}
.hb-line{width:20px;height:2px;background:var(--tx);border-radius:2px;transition:transform .25s,opacity .25s;}
.hamburger.open .hb-line:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open .hb-line:nth-child(2){opacity:0;}
.hamburger.open .hb-line:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* ── MOBILE NAV ── */
@media(max-width:860px){
  .hamburger{display:flex;}
  .nlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#080c18;border-bottom:1px solid var(--bd);flex-direction:column;padding:8px 12px 16px;gap:0;z-index:9100;box-shadow:0 16px 40px rgba(0,0,0,.7);}
  .nlinks.open{display:flex;}
  nav{flex-wrap:nowrap;position:relative;}
  .ncat{width:100%;}
  .ncbtn{width:100%;justify-content:space-between;padding:11px 14px;border-radius:8px;font-size:.68rem;}
  .ndrop{position:static;transform:none;background:rgba(255,255,255,.03);border:none;border-radius:8px;padding:2px 0 4px 12px;box-shadow:none;margin-bottom:2px;display:none;min-width:unset;}
  .ncat.open .ndrop{display:block;animation:none;}
  .ndi{padding:9px 12px;border-radius:6px;}
  .ndi-label{font-size:.65rem;}
  .ndi-desc{display:none;}
  .ndrop{min-width:unset;}
}
/* ── nl kept for any remaining references ── */
.nl{display:none;}
.page{display:none;min-height:100vh;padding-top:var(--nav);}
.page.active{display:block;}
@keyframes fu{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.page.active .a1{animation:fu .4s both;overflow:visible;}.page.active .a2{animation:fu .4s .08s both;overflow:visible;}.page.active .a3{animation:fu .4s .16s both;overflow:visible;}.page.active .a4{animation:fu .4s .24s both;overflow:visible;}.page.active .a5{animation:fu .4s .32s both;overflow:visible;}
.ey{font-family:var(--fm);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bl);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;}
.ey::before,.ey::after{content:'';width:28px;height:1px;background:rgba(59,130,246,.3);}
.st{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;letter-spacing:-.03em;text-align:center;margin-bottom:8px;}
.ss{text-align:center;color:var(--mt);font-size:.88rem;max-width:580px;margin:0 auto 40px;line-height:1.7;}
/* HOME */
.hhero{position:relative;padding:80px 28px 60px;text-align:center;overflow:hidden;}
.hhero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(59,130,246,.14),transparent 70%),radial-gradient(ellipse 50% 40% at 10% 70%,rgba(0,224,122,.07),transparent 60%),radial-gradient(ellipse 50% 40% at 90% 70%,rgba(168,85,247,.08),transparent 60%);}
.hhero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;}
.hi{position:relative;z-index:1;}
.hbadge{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lb);padding:6px 14px;border-radius:20px;border:1px solid rgba(34,211,238,.2);background:rgba(34,211,238,.06);margin-bottom:28px;}
.hdot{width:6px;height:6px;border-radius:50%;background:var(--gn);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hh1{font-size:clamp(2.8rem,6vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin-bottom:22px;}
.hh1 .l1{display:block;color:#fff;}.hh1 .l2{display:block;background:linear-gradient(90deg,var(--gn),var(--lb),var(--bl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hlead{font-size:1.05rem;color:var(--mt);max-width:560px;margin:0 auto 36px;line-height:1.75;}
.crow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:52px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;border:none;transition:all .18s;text-decoration:none;font-family:var(--fd);}
.btnp{background:linear-gradient(135deg,var(--bl),var(--pu));color:#fff;box-shadow:0 0 24px rgba(59,130,246,.3);}
.btnp:hover{transform:translateY(-2px);box-shadow:0 4px 32px rgba(59,130,246,.4);}
.btno{background:transparent;color:var(--tx);border:1px solid var(--bd2);}
.btno:hover{background:rgba(255,255,255,.05);}
/* STATS */
.hstats{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;border:1px solid var(--bd);border-radius:16px;background:rgba(255,255,255,.018);max-width:860px;margin:0 auto 36px;overflow:hidden;}
.hs{text-align:center;padding:22px 28px;flex:1;min-width:140px;position:relative;}
.hs+.hs::before{content:'';position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--bd);}
.hsn{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;margin-bottom:3px;}
.hsl{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);line-height:1.4;}
/* QUIZ */
.quiz-wrap{max-width:780px;margin:0 auto;padding:0 28px 60px;}
.quiz-card{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:32px;overflow:hidden;}
.qprogbar{height:3px;background:var(--sf2);border-radius:2px;margin-bottom:28px;overflow:hidden;}
.qprogfill{height:100%;background:linear-gradient(90deg,var(--bl),var(--pu));border-radius:2px;transition:width .4s ease;}
.qnum{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;color:var(--mt);margin-bottom:10px;}
.qqtext{font-size:1.05rem;font-weight:700;letter-spacing:-.015em;margin-bottom:24px;line-height:1.5;}
.qopts{display:flex;flex-direction:column;gap:9px;}
.qopt{display:flex;align-items:flex-start;gap:13px;padding:13px 16px;border-radius:10px;border:1px solid var(--bd);background:rgba(255,255,255,.02);cursor:pointer;transition:all .15s;text-align:left;}
.qopt:hover{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05);}
.qopt.selected{border-color:var(--bl);background:rgba(59,130,246,.09);}
.qopt-letter{font-family:var(--fm);font-size:.6rem;width:22px;height:22px;border-radius:5px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--mt);flex-shrink:0;margin-top:1px;transition:all .15s;}
.qopt.selected .qopt-letter{background:var(--bl);color:#fff;}
.qopt-text{font-size:.85rem;line-height:1.55;color:#94a3b8;}
.qopt.selected .qopt-text{color:var(--tx);}
.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;}
.qbtn{font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:9px 18px;border-radius:8px;cursor:pointer;border:none;transition:all .15s;}
.qbtn-back{background:rgba(255,255,255,.04);color:var(--mt);}
.qbtn-back:hover{background:rgba(255,255,255,.08);color:var(--tx);}
.qbtn-next{background:linear-gradient(135deg,var(--bl),var(--pu));color:#fff;}
.qbtn-next:hover{transform:translateY(-1px);}
.qbtn-next:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.qcount{font-family:var(--fm);font-size:.6rem;color:var(--dm);}
/* QUIZ RESULTS */
.qresult{text-align:center;}
.qr-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.qr-sub{font-size:.85rem;color:var(--mt);margin-bottom:32px;line-height:1.6;}
.qr-cards{display:flex;flex-direction:column;gap:12px;text-align:left;}
.qr-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;border:1px solid var(--bd);background:rgba(255,255,255,.025);cursor:pointer;transition:all .18s;}
.qr-card:hover{transform:translateX(4px);border-color:rgba(255,255,255,.12);}
.qr-rank{font-family:var(--fm);font-size:.6rem;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.qr-icon{font-size:1.5rem;flex-shrink:0;}
.qr-info{flex:1;}
.qr-name{font-weight:700;font-size:.95rem;margin-bottom:3px;}
.qr-why{font-size:.75rem;color:var(--mt);line-height:1.5;}
.qr-match{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;}
.qr-arrow{color:var(--dm);transition:transform .15s;}
.qr-card:hover .qr-arrow{transform:translateX(4px);}
.qretry{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:9px 18px;border-radius:8px;cursor:pointer;border:1px solid var(--bd);background:rgba(255,255,255,.03);color:var(--mt);margin-top:20px;transition:all .15s;}
.qretry:hover{color:var(--tx);border-color:rgba(255,255,255,.12);}
/* JOB TITLE RESULT CARDS */
.qj-cards{display:flex;flex-direction:column;gap:14px;text-align:left;margin-top:4px;}
.qj-card{padding:20px 22px;border-radius:14px;border:1px solid var(--bd);background:rgba(255,255,255,.025);}
.qjc-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.qjc-rank{font-family:var(--fm);font-size:.65rem;font-weight:700;min-width:34px;height:26px;border-radius:7px;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 6px;}
.qjc-title{font-size:.95rem;font-weight:700;margin-bottom:5px;letter-spacing:-.01em;}
.qjc-meta{display:flex;align-items:center;flex-wrap:wrap;gap:2px;}
.qjc-domain-tag{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dm);background:rgba(255,255,255,.05);border-radius:4px;padding:2px 7px;}
.qjc-sep{color:var(--dm);font-size:.65rem;}
.qjc-level{font-family:var(--fm);font-size:.54rem;color:var(--mt);letter-spacing:.05em;}
.qjc-pct{font-family:var(--fm);font-size:1.5rem;font-weight:800;line-height:1.1;text-align:right;flex-shrink:0;}
.qjc-pct-lbl{font-size:.5rem;font-weight:400;color:var(--mt);display:block;text-align:right;text-transform:uppercase;letter-spacing:.08em;}
.qjc-bar-wrap{height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;margin-bottom:14px;}
.qjc-bar-fill{height:100%;border-radius:2px;}
.qjc-desc{font-size:.82rem;color:var(--tx);line-height:1.65;margin-bottom:10px;}
.qjc-daily{font-size:.77rem;color:var(--mt);line-height:1.6;padding:10px 13px;background:rgba(255,255,255,.03);border-radius:8px;margin-bottom:14px;}
.qjc-daily-lbl{font-weight:600;color:var(--dm);}
.qjc-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.qjc-salary{font-family:var(--fm);font-size:.66rem;color:var(--am);letter-spacing:.04em;font-weight:600;}
.qjc-actions{display:flex;gap:6px;flex-wrap:wrap;}
.qjc-btn-primary{padding:6px 12px;border-radius:7px;border:1px solid;background:rgba(255,255,255,.04);font-family:var(--fd);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;}
.qjc-btn-primary:hover{background:rgba(255,255,255,.1);}
.qjc-btn-ghost{padding:6px 12px;border-radius:7px;border:1px solid var(--bd2);background:transparent;color:var(--mt);font-family:var(--fd);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;}
.qjc-btn-ghost:hover{background:rgba(255,255,255,.05);color:var(--tx);}
/* SAVE RESULTS CTA */
.quiz-save-cta{margin-top:32px;padding:32px 28px;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(139,92,246,.08));border:1px solid rgba(59,130,246,.25);border-radius:16px;text-align:center;}
.qsc-icon{font-size:2rem;margin-bottom:10px;}
.qsc-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.qsc-sub{font-size:.82rem;color:var(--mt);line-height:1.65;max-width:440px;margin:0 auto 20px;}
.qsc-btn{display:inline-block;padding:13px 32px;background:linear-gradient(135deg,var(--bl),var(--pu));border:none;border-radius:10px;color:#fff;font-family:var(--fd);font-size:.88rem;font-weight:700;cursor:pointer;letter-spacing:-.01em;transition:transform .15s,box-shadow .15s;}
.qsc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(59,130,246,.4);}
.qsc-signin{font-size:.75rem;color:var(--dm);margin-top:12px;}
.qsc-signin span{color:var(--bl);cursor:pointer;}
.qsc-signin span:hover{text-decoration:underline;}
/* LADDER */
.lw{padding:52px 28px 100px;max-width:1000px;margin:0 auto;}
.pkey{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:40px;}
.pki{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mt);}
.pkd{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.vc{display:flex;flex-direction:column;align-items:center;height:44px;}
.vl{width:2px;flex:1;opacity:.35;}.va{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;opacity:.5;}
.tc{border-radius:16px;border:1px solid var(--bd);overflow:visible;background:var(--sf);transition:box-shadow .2s;}
.tc:hover{box-shadow:0 0 0 1px rgba(255,255,255,.09);}
.tbar{height:3px;}.thead{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:10px;}
.thl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tbadge{font-family:var(--fm);font-size:.54rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap;}
.tname{font-size:1rem;font-weight:800;letter-spacing:-.015em;}
.texp{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dm);padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);}
.tsal{font-family:var(--fm);font-size:.68rem;text-align:right;flex-shrink:0;}.tsall{font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dm);display:block;margin-bottom:1px;}
.tfocus{padding:10px 20px;font-size:.75rem;color:var(--mt);font-style:italic;border-bottom:1px solid rgba(255,255,255,.04);line-height:1.55;}
.tjobs{padding:14px 20px;display:flex;flex-wrap:wrap;gap:8px;}
.tcat{width:100%;font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dm);margin-top:6px;margin-bottom:2px;}.tcat:first-child{margin-top:0;}
.jc{position:relative;font-size:.68rem;font-family:var(--fm);padding:5px 10px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:#94a3b8;cursor:default;transition:background .15s,border-color .15s,color .15s;}
.jc:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:var(--tx);}
.jc .tip{position:fixed;width:260px;background:var(--sf2);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:12px 14px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:9500;box-shadow:0 8px 28px rgba(0,0,0,.8);}
.jc:hover .tip{opacity:1;pointer-events:none;}
.tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(255,255,255,.12);}
.tipt{font-weight:700;color:var(--tx);font-size:.72rem;margin-bottom:4px;font-family:var(--fd);}
.tipb{font-size:.68rem;color:#94a3b8;line-height:1.55;font-family:var(--fd);}
/* dcg now in rebuild section */
.dch{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:9px;border:1px solid var(--bd);background:rgba(255,255,255,.025);cursor:pointer;font-size:.72rem;font-weight:600;transition:all .17s;position:relative;}
.dch:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.14);transform:translateY(-2px);}
.dchs{font-family:var(--fm);font-size:.55rem;color:var(--mt);margin-top:1px;}
/* Domain hover popup */
.dch-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);width:240px;background:var(--sf2);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:12px 14px;opacity:0;pointer-events:none;transition:opacity .18s;z-index:300;box-shadow:0 10px 32px rgba(0,0,0,.7);}
.dch:hover .dch-tip{opacity:1;}
.dch-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(255,255,255,.14);}
.dch-tip-title{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);margin-bottom:8px;}
.dch-tip-job{font-size:.72rem;color:#94a3b8;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.dch-tip-job:last-child{border-bottom:none;}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
@media(max-width:640px){.sg{grid-template-columns:1fr;}}
.slr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px;}
@media(max-width:640px){.slr{grid-template-columns:1fr;}}
.sl{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;text-align:center;padding:5px 10px;border-radius:20px;}
.bg1{border-color:rgba(0,224,122,.18);background:linear-gradient(150deg,rgba(0,224,122,.05),var(--sf));}
.bg2{border-color:rgba(34,211,238,.15);background:linear-gradient(150deg,rgba(34,211,238,.05),var(--sf));}
.bg3{border-color:rgba(59,130,246,.16);background:linear-gradient(150deg,rgba(59,130,246,.05),var(--sf));}
.bg4i{border-color:rgba(107,159,255,.18);background:linear-gradient(150deg,rgba(107,159,255,.055),var(--sf));}
.bg4m{border-color:rgba(249,115,22,.15);background:linear-gradient(150deg,rgba(249,115,22,.05),var(--sf));}
.bg5i{border-color:rgba(168,85,247,.18);background:linear-gradient(150deg,rgba(168,85,247,.055),var(--sf));}
.bg5m{border-color:rgba(249,115,22,.15);background:linear-gradient(150deg,rgba(249,115,22,.05),var(--sf));}
.bg6{border-color:rgba(244,63,94,.2);background:linear-gradient(150deg,rgba(244,63,94,.06),var(--sf));}
.bd1{background:rgba(0,224,122,.12);color:var(--gn);}.bd2{background:rgba(34,211,238,.12);color:var(--lb);}.bd3{background:rgba(59,130,246,.12);color:#7cb3ff;}.bd4i{background:rgba(107,159,255,.12);color:var(--db);}.bd4m{background:rgba(249,115,22,.12);color:var(--or);}.bd5i{background:rgba(168,85,247,.12);color:#c084fc;}.bd5m{background:rgba(249,115,22,.12);color:var(--or);}.bd6{background:rgba(244,63,94,.12);color:#fb7185;}
/* DOMAINS */
.dw{padding:52px 28px 100px;max-width:var(--max);margin:0 auto;}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;}
.dcard{border-radius:14px;border:1px solid var(--bd);overflow:hidden;background:var(--sf);cursor:pointer;transition:transform .2s,box-shadow .2s;}
.dcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.45);}
.dcb{padding:22px;}.dci{font-size:1.9rem;margin-bottom:12px;}.dcn{font-size:1rem;font-weight:700;margin-bottom:5px;}.dct{font-size:.75rem;color:var(--mt);font-style:italic;margin-bottom:14px;}
.dcm{display:flex;justify-content:space-between;align-items:center;}.dcs{font-family:var(--fm);font-size:.62rem;color:var(--mt);}.dca{color:var(--dm);transition:color .15s,transform .15s;}
.dcard:hover .dca{color:var(--tx);transform:translateX(4px);}
/* DOMAIN DETAIL */
.ddw{max-width:var(--max);margin:0 auto;padding:48px 28px 100px;}
.bbtn{display:inline-flex;align-items:center;gap:7px;margin-bottom:36px;font-family:var(--fm);font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);cursor:pointer;padding:7px 13px;border-radius:7px;border:1px solid var(--bd);background:rgba(255,255,255,.02);transition:color .15s,border-color .15s;}
.bbtn:hover{color:var(--tx);border-color:rgba(255,255,255,.12);}
.ddh{display:flex;align-items:flex-start;gap:22px;padding:32px 34px;border-radius:16px;border:1px solid var(--bd);margin-bottom:48px;position:relative;overflow:hidden;flex-wrap:wrap;}
.ddhi{font-size:2.8rem;flex-shrink:0;}.ddht h1{font-size:clamp(1.5rem,3.5vw,2.3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:6px;}
.ddhtag{font-size:.88rem;color:var(--mt);font-style:italic;margin-bottom:14px;}
.ddpills{display:flex;flex-wrap:wrap;gap:8px;}
.pill{font-family:var(--fm);font-size:.6rem;padding:4px 11px;border-radius:20px;text-transform:uppercase;letter-spacing:.07em;}
.psal{background:rgba(255,255,255,.06);color:var(--tx);}.phot{background:rgba(249,115,22,.1);color:var(--or);border:1px solid rgba(249,115,22,.15);}.pfit{background:rgba(0,224,122,.09);color:var(--gn);border:1px solid rgba(0,224,122,.15);}.pno{background:rgba(244,63,94,.08);color:#fb7185;border:1px solid rgba(244,63,94,.12);font-style:italic;}
.dds{margin-bottom:36px;}.ddst{font-family:var(--fm);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mt);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--bd);}
.ddp{font-size:.9rem;color:#94a3b8;line-height:1.82;}
.dd2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}@media(max-width:680px){.dd2{grid-template-columns:1fr;}}
.ddlist{display:flex;flex-direction:column;gap:6px;}.ddli{font-size:.82rem;color:#94a3b8;padding-left:16px;position:relative;line-height:1.5;}.ddli::before{content:'▸';position:absolute;left:0;color:var(--dm);font-size:.6rem;top:4px;}
.ddtools{display:flex;flex-wrap:wrap;gap:6px;}.ddtool{font-family:var(--fm);font-size:.62rem;padding:4px 9px;border-radius:5px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:#64748b;}
.jgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
.jcard{border-radius:10px;border:1px solid var(--bd);padding:14px;background:rgba(255,255,255,.02);transition:border-color .15s;}
.jcard:hover{border-color:rgba(255,255,255,.1);}
.jct{font-weight:700;font-size:.85rem;margin-bottom:4px;}.jcl{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;}.jcd{font-size:.72rem;color:var(--mt);line-height:1.5;}
.daybox{background:var(--sf2);border:1px solid var(--bd);border-radius:12px;padding:22px;font-size:.85rem;color:#94a3b8;line-height:1.82;}
.steps{display:flex;flex-direction:column;gap:10px;}
.step{display:flex;gap:14px;align-items:flex-start;padding:13px 16px;border-radius:10px;background:rgba(255,255,255,.02);border:1px solid var(--bd);}
.stepn{font-family:var(--fm);font-size:.68rem;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--mt);flex-shrink:0;margin-top:1px;}
.stept{font-size:.82rem;color:#94a3b8;line-height:1.55;}
.clist{display:flex;flex-direction:column;gap:9px;}
.citem{padding:13px 16px;border-radius:9px;background:rgba(255,255,255,.02);border:1px solid var(--bd);}
.cin{font-family:var(--fm);font-size:.68rem;font-weight:500;color:var(--tx);}.cii{font-family:var(--fm);font-size:.56rem;color:var(--mt);margin-top:2px;margin-bottom:6px;}.cid{font-size:.78rem;color:#64748b;line-height:1.52;margin-bottom:8px;}
.cres{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.04);}
.cresl{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dm);margin-bottom:6px;}
.rlinks{display:flex;flex-wrap:wrap;gap:6px;}
.rl{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;padding:4px 10px;border-radius:20px;text-decoration:none;transition:all .15s;font-family:var(--fm);}
.rl:hover{transform:translateY(-1px);}
.rlc{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);color:#7cb3ff;}.rlc:hover{background:rgba(59,130,246,.17);}
.rlb{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.18);color:var(--am);}.rlb:hover{background:rgba(251,191,36,.14);}
.rlf{background:rgba(0,224,122,.08);border:1px solid rgba(0,224,122,.18);color:var(--gn);}.rlf:hover{background:rgba(0,224,122,.14);}
.affn{font-family:var(--fm);font-size:.55rem;color:var(--dm);margin-top:8px;}
/* CERT ROADMAP - Grid Layout */
/* ── CERT GRID - FROZEN PANE SCROLL ── */
.cw{width:100%;padding:32px 0 80px;box-sizing:border-box;}
.cw-scroll-outer{width:100%;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - var(--nav) - 110px);border:1px solid var(--bd);border-radius:12px;position:relative;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;box-sizing:border-box;}
.cw-inner{width:100%;min-width:760px;table-layout:fixed;}
.cert-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:16px;padding:0 28px;}
/* Tier rows */
.ctier-row{display:flex;align-items:stretch;border-bottom:1px solid var(--bd);width:100%;}
.ctier-row:last-child{border-bottom:none;}
.ctier-label{flex-shrink:0;width:72px;min-width:72px;display:flex;flex-direction:column;justify-content:center;padding:10px 8px;border-right:1px solid var(--bd);position:sticky;left:0;z-index:15;background:var(--bg);box-shadow:2px 0 8px rgba(5,8,16,.6);}
.ctier-name{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px;}
.ctier-exp{font-family:var(--fm);font-size:.46rem;color:var(--dm);}
.ctier-sal{font-family:var(--fm);font-size:.46rem;color:var(--mt);margin-top:1px;}
.cdomains{display:flex;flex:1;width:100%;}
.cdomain-col{flex:1;min-width:80px;border-right:1px solid rgba(255,255,255,.04);padding:8px 6px;display:flex;flex-direction:column;gap:5px;align-items:center;}
.cdomain-col:last-child{border-right:none;}
/* Cert badge */
.cb{display:inline-flex;align-items:center;justify-content:center;width:90%;max-width:130px;min-width:54px;height:26px;border-radius:4px;font-family:var(--fm);font-size:.5rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;letter-spacing:.02em;}
.cb:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:100;}
/* Vendor-neutral = circle dot indicator; vendor-specific = square */
.cb.vn::before{content:'';position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:var(--lb);opacity:.8;}
.cb.vs::before{content:'';position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:1px;background:var(--or);opacity:.8;}
/* Hover tooltip — appears after 2 seconds */
.cb::after{content:attr(data-full) ' — ' attr(data-desc);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#0d1117;border:1px solid var(--bd2);color:var(--tx);font-family:var(--fd);font-size:.68rem;font-weight:400;letter-spacing:0;padding:8px 12px;border-radius:8px;width:240px;white-space:normal;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .2s ease 2s;z-index:9999;text-align:left;box-shadow:0 8px 32px rgba(0,0,0,.6);}
.cb:hover::after{opacity:1;}
.tier-entry{background:rgba(0,224,122,.1);border-color:rgba(0,224,122,.25);color:#4ade80;}
.tier-entry:hover{background:rgba(0,224,122,.2);border-color:rgba(0,224,122,.5);}
.tier-mid{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.25);color:var(--lb);}
.tier-mid:hover{background:rgba(34,211,238,.18);border-color:rgba(34,211,238,.5);}
.tier-senior{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.25);color:#7cb3ff;}
.tier-senior:hover{background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.5);}
.tier-principal{background:rgba(107,159,255,.1);border-color:rgba(107,159,255,.25);color:var(--db);}
.tier-principal:hover{background:rgba(107,159,255,.18);border-color:rgba(107,159,255,.5);}
.tier-exec{background:rgba(168,85,247,.1);border-color:rgba(168,85,247,.25);color:#c084fc;}
.tier-exec:hover{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.5);}
.cert-legend{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;}
.cl-item{display:flex;align-items:center;gap:5px;font-family:var(--fm);font-size:.54rem;color:var(--mt);}
.cl-dot{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid transparent;flex-shrink:0;}
.cb.tier-entry{background:rgba(0,224,122,.1);border-color:rgba(0,224,122,.2);color:var(--gn);}
.cb.tier-mid{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.2);color:var(--lb);}
.cb.tier-senior{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2);color:#7cb3ff;}
.cb.tier-principal{background:rgba(107,159,255,.1);border-color:rgba(107,159,255,.2);color:var(--db);}
.cb.tier-exec{background:rgba(168,85,247,.1);border-color:rgba(168,85,247,.2);color:#c084fc;}
/* Domain column headers */
.cdom-header{display:flex;align-items:stretch;border-bottom:2px solid var(--bd2);position:sticky;top:0;z-index:20;background:var(--bg);box-shadow:0 2px 8px rgba(5,8,16,.8);width:100%;}
.cdom-header-spacer{flex-shrink:0;width:72px;min-width:72px;border-right:1px solid var(--bd);background:var(--bg);position:sticky;left:0;z-index:21;box-shadow:2px 2px 8px rgba(5,8,16,.8);}
.cdom-header-cols{display:flex;flex:1;width:100%;}
.cdom-hcell{flex:1;min-width:80px;padding:10px 6px;border-right:1px solid rgba(255,255,255,.04);text-align:center;}
.cdom-hcell:last-child{border-right:none;}
.cdom-hname{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mt);word-break:break-word;line-height:1.3;}
.cdom-hicon{font-size:1rem;margin-bottom:4px;}
/* Cert detail panel */
.cert-detail{margin:16px 28px;border-radius:12px;border:1px solid var(--bd2);background:var(--sf);padding:22px;display:none;position:relative;}
.cert-detail.open{display:block;animation:fu .25s both;}
.cd-close{position:absolute;top:14px;right:14px;font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);cursor:pointer;padding:4px 10px;border-radius:5px;border:1px solid var(--bd);transition:all .15s;}
.cd-close:hover{color:var(--tx);border-color:rgba(255,255,255,.12);}
.cd-top{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.cd-name{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:3px;}
.cd-issuer{font-family:var(--fm);font-size:.6rem;color:var(--mt);margin-bottom:8px;}
.cd-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
.cd-tag{font-family:var(--fm);font-size:.54rem;padding:2px 7px;border-radius:3px;background:rgba(255,255,255,.04);color:var(--mt);text-transform:uppercase;letter-spacing:.08em;}
.cd-desc{font-size:.82rem;color:#94a3b8;line-height:1.7;margin-bottom:14px;}
.cd-ladder-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--bd);color:var(--mt);background:rgba(255,255,255,.02);transition:all .15s;margin-bottom:14px;}
.cd-ladder-link:hover{color:var(--tx);border-color:rgba(255,255,255,.12);}
.cd-res-label{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dm);margin-bottom:7px;}
/* FOOTER */
.footer{border-top:1px solid var(--bd);padding:28px;text-align:center;font-family:var(--fm);font-size:.58rem;color:var(--dm);line-height:1.9;}
/* ── FEATURE CARDS GRID (home page) ── */
.fcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;max-width:var(--max);margin:0 auto 72px;padding:0 28px;}
.fc{border-radius:14px;border:1px solid var(--bd);padding:24px;background:var(--sf);cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
.fc:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.45);}
.fci{font-size:1.8rem;margin-bottom:10px;}.fct{font-weight:700;font-size:.95rem;margin-bottom:7px;}.fcd{font-size:.75rem;color:var(--mt);line-height:1.65;margin-bottom:14px;}.fcc{font-size:.75rem;font-weight:700;}

/* ── TRAINING PAGE ── */
.tw{padding:52px 28px 100px;max-width:var(--max);margin:0 auto;}
.highlight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:60px;}
.hl-card{border-radius:18px;border:1px solid var(--bd2);overflow:hidden;background:var(--sf);position:relative;}
.hl-ribbon{position:absolute;top:16px;right:-28px;background:linear-gradient(90deg,var(--or),var(--am));color:#000;font-family:var(--fm);font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:4px 40px;transform:rotate(45deg) translateX(8px);white-space:nowrap;}
.hl-top{padding:26px 24px 18px;}
.hl-cat{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px;}
.hl-name{font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:5px;line-height:1.35;}
.hl-inst{font-size:.75rem;color:var(--mt);margin-bottom:12px;}
.hl-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.hl-pill{font-family:var(--fm);font-size:.54rem;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.05);color:var(--mt);border:1px solid var(--bd);}
.hl-desc{font-size:.78rem;color:#94a3b8;line-height:1.7;margin-bottom:16px;}
.hl-footer{padding:14px 24px;border-top:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.hl-price{font-family:var(--fm);font-size:.7rem;color:var(--tx);}
.hl-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;font-weight:700;font-size:.78rem;cursor:pointer;border:none;text-decoration:none;transition:all .18s;font-family:var(--fd);}
.hl-cta-p{background:linear-gradient(135deg,var(--bl),var(--pu));color:#fff;}
.hl-cta-p:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(59,130,246,.35);}
.hl-cta-o{background:linear-gradient(135deg,var(--or),var(--am));color:#000;}
.hl-cta-o:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(249,115,22,.35);}
.hl-cta-r{background:linear-gradient(135deg,var(--rd),var(--pu));color:#fff;}
.hl-cta-r:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(240,93,120,.35);}
.prog-section{margin-bottom:48px;}
.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.prog-card{border-radius:12px;border:1px solid var(--bd);padding:18px 20px;background:rgba(255,255,255,.015);transition:border-color .2s,transform .2s;}
.prog-card:hover{border-color:rgba(255,255,255,.1);transform:translateY(-2px);}
.pc-cat{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px;}
.pc-name{font-size:.9rem;font-weight:700;margin-bottom:3px;line-height:1.4;}
.pc-inst{font-size:.72rem;color:var(--mt);margin-bottom:10px;}
.pc-pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
.pc-pill{font-family:var(--fm);font-size:.52rem;padding:2px 7px;border-radius:3px;background:rgba(255,255,255,.04);color:var(--dm);}
.pc-cta{display:inline-flex;align-items:center;gap:5px;font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bl);text-decoration:none;padding:5px 10px;border-radius:6px;border:1px solid rgba(59,130,246,.2);background:rgba(59,130,246,.06);transition:all .15s;}
.pc-cta:hover{background:rgba(59,130,246,.12);}
.aff-disclaimer{font-family:var(--fm);font-size:.56rem;color:var(--dm);text-align:center;margin-top:40px;padding:14px 20px;border-radius:8px;border:1px solid var(--bd);background:rgba(255,255,255,.015);}

/* ── GAMES PAGE ── */
.gw{padding:52px 28px 100px;max-width:960px;margin:0 auto;}
.game-tabs{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap;}
.gtab{font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:9px 18px;border-radius:8px;cursor:pointer;border:1px solid var(--bd);background:rgba(255,255,255,.02);color:var(--mt);transition:all .15s;}
.gtab:hover{color:var(--tx);border-color:rgba(255,255,255,.12);}
.gtab.active{border-color:var(--lb);color:var(--lb);background:rgba(34,211,238,.07);}
.game-panel{display:none;}.game-panel.active{display:block;animation:fu .3s both;}

/* CTF */
.ctf-terminal{background:#020408;border:1px solid rgba(0,224,122,.2);border-radius:14px;padding:24px;font-family:var(--fm);font-size:.72rem;line-height:1.9;margin-bottom:20px;position:relative;overflow:hidden;}
.ctf-terminal::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(0,224,122,.04),transparent);}
.term-line{color:#4ade80;}.term-cmd{color:var(--gn);font-weight:500;}.term-out{color:#64748b;}.term-hint{color:#22d3ee;cursor:pointer;border-bottom:1px dashed rgba(34,211,238,.3);transition:color .15s;}.term-hint:hover{color:#fff;}
.ctf-input-row{display:flex;gap:10px;margin-top:16px;}
.ctf-input{flex:1;background:rgba(0,0,0,.5);border:1px solid rgba(0,224,122,.2);border-radius:8px;padding:10px 14px;color:var(--gn);font-family:var(--fm);font-size:.72rem;outline:none;transition:border-color .15s;}
.ctf-input:focus{border-color:var(--gn);}
.ctf-submit{font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:10px 20px;border-radius:8px;cursor:pointer;border:1px solid rgba(0,224,122,.3);background:rgba(0,224,122,.08);color:var(--gn);transition:all .15s;}
.ctf-submit:hover{background:rgba(0,224,122,.15);}
.ctf-result{padding:14px 18px;border-radius:10px;margin-top:14px;display:none;font-size:.82rem;line-height:1.6;}
.ctf-result.show{display:block;}
.ctf-result.win{background:rgba(0,224,122,.08);border:1px solid rgba(0,224,122,.2);color:var(--gn);}
.ctf-result.fail{background:rgba(244,63,94,.07);border:1px solid rgba(244,63,94,.18);color:#fb7185;}
.ctf-levels{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.ctf-level{padding:14px 18px;border-radius:10px;border:1px solid var(--bd);background:rgba(255,255,255,.02);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:12px;}
.ctf-level:hover{border-color:rgba(255,255,255,.1);}
.ctf-level.active{border-color:rgba(0,224,122,.3);background:rgba(0,224,122,.05);}
.ctf-level.solved{border-color:rgba(0,224,122,.2);background:rgba(0,224,122,.03);}
.cl-num{font-family:var(--fm);font-size:.6rem;width:28px;height:28px;border-radius:50%;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cl-info{flex:1;}.cl-name{font-weight:700;font-size:.85rem;margin-bottom:2px;}.cl-diff{font-family:var(--fm);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;}
.cl-status{font-family:var(--fm);font-size:.62rem;flex-shrink:0;}

/* PACKET DETECTIVE */
.pd-case{background:var(--sf2);border:1px solid var(--bd);border-radius:14px;padding:24px;margin-bottom:20px;}
.pd-case-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.pd-case-badge{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.14em;padding:3px 9px;border-radius:4px;background:rgba(244,63,94,.1);color:var(--rd);border:1px solid rgba(244,63,94,.2);}
.pd-case-title{font-size:.95rem;font-weight:700;}
.pd-clues{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.pd-clue{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:8px;background:rgba(251,191,36,.05);border:1px solid rgba(251,191,36,.12);font-size:.8rem;color:#94a3b8;line-height:1.55;}
.pd-clue-icon{flex-shrink:0;font-size:.9rem;}
.pd-network{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:20px;padding:24px;background:rgba(0,0,0,.2);border-radius:12px;border:1px solid var(--bd);position:relative;}
.pd-device{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:14px 18px;border-radius:12px;border:2px solid transparent;transition:all .2s;min-width:90px;}
.pd-device:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);transform:translateY(-3px);}
.pd-device.selected{border-color:var(--lb)!important;background:rgba(34,211,238,.07);}
.pd-device.correct{border-color:var(--gn)!important;background:rgba(0,224,122,.08);animation:pulse2 .6s ease;}
.pd-device.wrong{border-color:var(--rd)!important;background:rgba(244,63,94,.08);}
@keyframes pulse2{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.pd-device-icon{font-size:2.4rem;}
.pd-device-label{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);}
.pd-device-ip{font-family:var(--fm);font-size:.52rem;color:var(--dm);}
.pd-submit{font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:10px 22px;border-radius:8px;cursor:pointer;border:1px solid rgba(34,211,238,.2);background:rgba(34,211,238,.07);color:var(--lb);transition:all .15s;margin-right:10px;}
.pd-submit:hover{background:rgba(34,211,238,.13);}
.pd-result{padding:18px 20px;border-radius:12px;margin-top:16px;display:none;line-height:1.7;font-size:.82rem;}
.pd-result.show{display:block;animation:fu .3s both;}
.pd-result.win{background:rgba(0,224,122,.07);border:1px solid rgba(0,224,122,.2);}
.pd-result.fail{background:rgba(244,63,94,.06);border:1px solid rgba(244,63,94,.18);}
.pd-cases-nav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.pd-case-btn{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;padding:7px 14px;border-radius:6px;cursor:pointer;border:1px solid var(--bd);background:rgba(255,255,255,.02);color:var(--mt);transition:all .15s;}
.pd-case-btn:hover{color:var(--tx);}
.pd-case-btn.active{border-color:rgba(244,63,94,.3);color:var(--rd);background:rgba(244,63,94,.06);}
.pd-case-btn.solved{border-color:rgba(0,224,122,.2);color:var(--gn);background:rgba(0,224,122,.04);}

/* PHISHING GAME */
.ph-inbox{background:#0a0c12;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;margin-bottom:20px;}
.ph-inbox-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;}
.ph-inbox-title{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);}
.ph-score-display{font-family:var(--fm);font-size:.6rem;color:var(--mt);}
.ph-email-list{display:flex;flex-direction:column;}
.ph-email{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:background .15s;display:flex;align-items:flex-start;gap:12px;}
.ph-email:hover{background:rgba(255,255,255,.025);}
.ph-email.active{background:rgba(59,130,246,.06);border-left:2px solid var(--bl);}
.ph-email.reviewed{opacity:.5;}
.ph-email-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;margin-top:2px;}
.ph-email-meta{flex:1;min-width:0;}
.ph-email-from{font-size:.78rem;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-email-subject{font-size:.75rem;color:#94a3b8;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-email-preview{font-size:.68rem;color:var(--mt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-email-time{font-family:var(--fm);font-size:.55rem;color:var(--dm);flex-shrink:0;}
.ph-viewer{background:#080b14;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;margin-bottom:16px;min-height:280px;}
.ph-viewer-header{padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.04);}
.ph-viewer-placeholder{display:flex;align-items:center;justify-content:center;height:200px;color:var(--dm);font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;}
.ph-field{display:flex;gap:10px;margin-bottom:6px;font-size:.78rem;}
.ph-field-label{color:var(--dm);font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;width:60px;flex-shrink:0;margin-top:1px;}
.ph-field-val{color:#94a3b8;word-break:break-all;}
.ph-field-val .suspicious{color:var(--rd);font-weight:700;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:rgba(244,63,94,.5);}
.ph-body{padding:18px 20px;font-size:.8rem;color:#94a3b8;line-height:1.8;border-top:1px solid rgba(255,255,255,.04);}
.ph-body .link{color:var(--bl);text-decoration:underline;}
.ph-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.ph-action{display:flex;align-items:center;gap:7px;padding:11px 20px;border-radius:9px;cursor:pointer;font-weight:700;font-size:.82rem;transition:all .18s;border:none;font-family:var(--fd);}
.ph-action-reply{background:rgba(0,224,122,.1);color:var(--gn);border:1px solid rgba(0,224,122,.2);}
.ph-action-reply:hover{background:rgba(0,224,122,.18);}
.ph-action-phish{background:rgba(249,115,22,.1);color:var(--or);border:1px solid rgba(249,115,22,.2);}
.ph-action-phish:hover{background:rgba(249,115,22,.18);}
.ph-action-delete{background:rgba(244,63,94,.08);color:#fb7185;border:1px solid rgba(244,63,94,.18);}
.ph-action-delete:hover{background:rgba(244,63,94,.15);}
.ph-feedback{padding:18px 20px;border-radius:12px;display:none;margin-bottom:16px;font-size:.82rem;line-height:1.7;}
.ph-feedback.show{display:block;animation:fu .3s both;}
.ph-feedback.correct{background:rgba(0,224,122,.07);border:1px solid rgba(0,224,122,.2);}
.ph-feedback.wrong{background:rgba(244,63,94,.06);border:1px solid rgba(244,63,94,.18);}
.ph-feedback.partial{background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.18);}
.ph-progress{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.ph-prog-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.08);transition:background .3s;}
.ph-prog-dot.correct{background:var(--gn);}
.ph-prog-dot.wrong{background:var(--rd);}
.ph-prog-dot.current{background:var(--lb);animation:pulse 1s infinite;}
.ph-final{padding:28px;text-align:center;background:rgba(255,255,255,.015);border-radius:14px;border:1px solid var(--bd);}
.ph-final-score{font-size:2.5rem;font-weight:800;margin-bottom:6px;}
.ph-final-grade{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);margin-bottom:16px;}
.ph-final-msg{font-size:.85rem;color:#94a3b8;line-height:1.7;max-width:480px;margin:0 auto 20px;}
.game-learn-links{padding:20px;background:rgba(255,255,255,.015);border-radius:12px;border:1px solid var(--bd);margin-top:20px;}
.gll-title{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);margin-bottom:12px;}
.gll-links{display:flex;flex-wrap:wrap;gap:8px;}
.gll-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid var(--bd);background:rgba(255,255,255,.025);color:var(--tx);transition:all .15s;text-decoration:none;}
.gll-link:hover{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);}

/* ── REVIEWS PAGE ── */
.rvw{padding:52px 28px 100px;max-width:860px;margin:0 auto;}
.rvw-compose{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:28px;margin-bottom:32px;}
.rvw-stars{display:flex;gap:6px;margin-bottom:16px;}
.rvw-star{font-size:1.5rem;cursor:pointer;opacity:.3;transition:opacity .15s,transform .15s;}
.rvw-star:hover,.rvw-star.active{opacity:1;transform:scale(1.15);}
.rvw-textarea{width:100%;background:var(--sf2);border:1px solid var(--bd);border-radius:10px;padding:12px 14px;color:var(--tx);font-family:var(--fd);font-size:.85rem;outline:none;resize:vertical;min-height:90px;transition:border-color .15s;line-height:1.6;}
.rvw-textarea:focus{border-color:rgba(255,255,255,.14);}
.rvw-name-row{display:flex;gap:12px;margin-bottom:16px;margin-top:12px;}
.rvw-input{flex:1;background:var(--sf2);border:1px solid var(--bd);border-radius:9px;padding:10px 13px;color:var(--tx);font-family:var(--fd);font-size:.82rem;outline:none;transition:border-color .15s;}
.rvw-input:focus{border-color:rgba(255,255,255,.14);}
.rvw-input::placeholder{color:var(--dm);}
.rvw-cat-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.rvw-cat{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:20px;border:1px solid var(--bd);color:var(--mt);cursor:pointer;transition:all .15s;}
.rvw-cat:hover{border-color:rgba(255,255,255,.12);color:var(--tx);}
.rvw-cat.active{border-color:rgba(59,130,246,.3);color:var(--bl);background:rgba(59,130,246,.07);}
.rvw-submit{padding:11px 24px;border-radius:9px;font-family:var(--fd);font-weight:700;font-size:.82rem;cursor:pointer;border:none;background:linear-gradient(135deg,var(--bl),var(--pu));color:#fff;transition:all .18s;}
.rvw-submit:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(59,130,246,.3);}
.rvw-list{display:flex;flex-direction:column;gap:14px;}
.rvw-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:20px 22px;transition:border-color .15s;}
.rvw-card:hover{border-color:rgba(255,255,255,.09);}
.rvw-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.rvw-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rvw-card-name{font-weight:700;font-size:.88rem;}
.rvw-card-stars{font-size:.8rem;letter-spacing:1px;}
.rvw-card-cat{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;border-radius:3px;background:rgba(59,130,246,.08);color:var(--bl);}
.rvw-card-time{font-family:var(--fm);font-size:.55rem;color:var(--dm);}
.rvw-card-body{font-size:.82rem;color:#94a3b8;line-height:1.7;margin-bottom:12px;}
.rvw-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.rvw-vote{display:flex;align-items:center;gap:6px;font-family:var(--fm);font-size:.6rem;cursor:pointer;padding:5px 10px;border-radius:6px;border:1px solid var(--bd);color:var(--mt);background:rgba(255,255,255,.02);transition:all .15s;}
.rvw-vote:hover{color:var(--tx);border-color:rgba(255,255,255,.1);}
.rvw-vote.voted-up{color:var(--gn);border-color:rgba(0,224,122,.2);background:rgba(0,224,122,.05);}
.rvw-vote.voted-down{color:var(--rd);border-color:rgba(244,63,94,.2);background:rgba(244,63,94,.05);}
.rvw-admin-note{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--or);padding:3px 8px;border-radius:4px;background:rgba(249,115,22,.07);border:1px solid rgba(249,115,22,.15);}
.rvw-summary{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:24px;margin-bottom:28px;}
@media(max-width:500px){.rvw-summary{grid-template-columns:1fr;}}
.rvw-big-score{font-size:3.5rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--am);}
.rvw-big-stars{font-size:1.1rem;margin-bottom:4px;}
.rvw-big-count{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);}
.rvw-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.rvw-bar-label{font-family:var(--fm);font-size:.56rem;width:16px;text-align:right;color:var(--mt);}
.rvw-bar-bg{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden;}
.rvw-bar-fill{height:100%;border-radius:3px;background:var(--am);transition:width .8s ease;}
.rvw-bar-count{font-family:var(--fm);font-size:.54rem;color:var(--dm);width:20px;}

/* ── ROASTER PAGE (embedded) ── */
.roaster-wrap{padding:52px 28px 100px;max-width:860px;margin:0 auto;}
.roaster-hero{text-align:center;margin-bottom:48px;}
.roaster-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or);padding:5px 14px;border-radius:20px;border:1px solid rgba(249,115,22,.22);background:rgba(249,115,22,.07);margin-bottom:20px;}
.rh1{font-size:clamp(2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-bottom:16px;}
.rh1 span{background:linear-gradient(90deg,var(--or),var(--am),var(--rd));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.roaster-sub{font-size:.88rem;color:var(--mt);max-width:500px;margin:0 auto;line-height:1.7;}
.upload-card{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:32px;margin-bottom:20px;position:relative;overflow:hidden;}
.upload-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--or),var(--am),var(--rd));}
.sec-label{font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mt);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.sec-label::after{content:'';flex:1;height:1px;background:var(--bd);}
.dropzone{border:2px dashed rgba(249,115,22,.2);border-radius:12px;padding:36px 20px;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:rgba(249,115,22,.02);}
.dropzone:hover,.dropzone.drag-over{border-color:rgba(249,115,22,.45);background:rgba(249,115,22,.05);}
.dropzone.has-file{border-color:rgba(0,224,122,.3);background:rgba(0,224,122,.03);}
.dz-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}
.dz-icon{font-size:2rem;margin-bottom:10px;display:block;}
.dz-title{font-size:.9rem;font-weight:700;margin-bottom:5px;}
.dz-sub{font-size:.72rem;color:var(--mt);margin-bottom:12px;}
.dz-types{display:flex;align-items:center;justify-content:center;gap:6px;}
.dz-type{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;border-radius:4px;border:1px solid var(--bd);color:var(--dm);}
.file-preview{display:none;align-items:center;gap:12px;padding:12px 16px;border-radius:9px;background:rgba(0,224,122,.05);border:1px solid rgba(0,224,122,.14);}
.file-preview.show{display:flex;}
.fp-remove{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rd);cursor:pointer;padding:4px 9px;border-radius:5px;border:1px solid rgba(244,63,94,.18);background:rgba(244,63,94,.04);transition:all .15s;flex-shrink:0;}
.fp-remove:hover{background:rgba(244,63,94,.1);}
.cfg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
@media(max-width:560px){.cfg-row{grid-template-columns:1fr;}}
.cfg-grp{display:flex;flex-direction:column;gap:7px;}
.cfg-label{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mt);}
.cfg-select,.cfg-input{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:10px 12px;color:var(--tx);font-family:var(--fd);font-size:.82rem;outline:none;transition:border-color .15s;width:100%;appearance:none;-webkit-appearance:none;}
.cfg-select:focus,.cfg-input:focus{border-color:rgba(249,115,22,.35);}
.cfg-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px;}
.cfg-select option{background:#0a0f1e;}
.cfg-input::placeholder{color:var(--dm);}
.intensity-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.int-opt{display:flex;align-items:center;gap:7px;cursor:pointer;padding:9px 14px;border-radius:8px;border:1px solid var(--bd);background:rgba(255,255,255,.02);transition:all .15s;font-size:.78rem;}
.int-opt:hover{border-color:rgba(255,255,255,.1);}
.roast-btn{width:100%;padding:14px;border-radius:11px;font-family:var(--fd);font-weight:800;font-size:.95rem;cursor:pointer;border:none;background:linear-gradient(135deg,var(--or),var(--rd));color:#fff;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:9px;}
.roast-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px rgba(249,115,22,.35);}
.roast-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.r-loading{display:none;padding:52px 20px;text-align:center;}
.r-loading.show{display:block;}
.r-ring{width:52px;height:52px;border-radius:50%;border:3px solid rgba(249,115,22,.15);border-top-color:var(--or);animation:spin 1s linear infinite;margin:0 auto 18px;}
@keyframes spin{to{transform:rotate(360deg);}}
.r-step-list{display:flex;flex-direction:column;gap:5px;max-width:280px;margin:16px auto 0;}
.r-step{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dm);padding:5px 11px;border-radius:6px;border:1px solid transparent;transition:all .4s;}
.r-step.active{color:var(--or);border-color:rgba(249,115,22,.18);background:rgba(249,115,22,.05);}
.r-step.done{color:var(--gn);border-color:rgba(0,224,122,.13);background:rgba(0,224,122,.03);}
.r-step-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;}
.r-results{display:none;}.r-results.show{display:block;animation:fu .4s both;}
.r-score-card{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:32px;margin-bottom:18px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;}
@media(max-width:540px){.r-score-card{grid-template-columns:1fr;text-align:center;}}
.r-ring-wrap{position:relative;flex-shrink:0;}
.r-ring-svg{width:130px;height:130px;}
.r-ring-bg{fill:none;stroke:rgba(255,255,255,.06);stroke-width:10;}
.r-ring-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.25,.46,.45,.94);}
.r-ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.r-ring-pct{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1;}
.r-ring-lbl{font-family:var(--fm);font-size:.48rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);margin-top:2px;}
.r-grade-big{font-size:3rem;font-weight:800;line-height:1;margin-bottom:4px;}
.r-verdict{font-size:.95rem;font-weight:700;margin-bottom:6px;}
.r-summary{font-size:.78rem;color:#94a3b8;line-height:1.7;}
.r-meta-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.r-meta-pill{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:20px;border:1px solid var(--bd);color:var(--mt);}
.r-dims{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:24px;margin-bottom:18px;}
.r-dims-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:540px){.r-dims-grid{grid-template-columns:1fr;}}
.r-dim{background:var(--sf2);border-radius:10px;padding:14px;}
.r-dim-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.r-dim-name{font-size:.78rem;font-weight:700;}
.r-dim-score{font-family:var(--fm);font-size:.68rem;font-weight:500;}
.r-dim-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.05);overflow:hidden;margin-bottom:7px;}
.r-dim-fill{height:100%;border-radius:3px;transition:width 1.2s ease;}
.r-dim-note{font-size:.68rem;color:var(--mt);line-height:1.5;}
.r-fb-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:24px;margin-bottom:18px;}
.r-fb-list{display:flex;flex-direction:column;gap:12px;}
.r-fb-item{border-radius:10px;padding:14px 16px;border-left:3px solid transparent;}
.r-fb-item.critical{background:rgba(244,63,94,.05);border-left-color:var(--rd);}
.r-fb-item.warning{background:rgba(249,115,22,.05);border-left-color:var(--or);}
.r-fb-item.tip{background:rgba(34,211,238,.04);border-left-color:var(--lb);}
.r-fb-item.strength{background:rgba(0,224,122,.04);border-left-color:var(--gn);}
.r-fb-hdr{display:flex;align-items:flex-start;gap:9px;margin-bottom:5px;}
.r-fb-badge{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;padding:2px 6px;border-radius:3px;flex-shrink:0;margin-top:1px;}
.critical .r-fb-badge{background:rgba(244,63,94,.1);color:#fb7185;}
.warning .r-fb-badge{background:rgba(249,115,22,.1);color:var(--or);}
.tip .r-fb-badge{background:rgba(34,211,238,.08);color:var(--lb);}
.strength .r-fb-badge{background:rgba(0,224,122,.08);color:var(--gn);}
.r-fb-title{font-size:.82rem;font-weight:700;}
.r-fb-body{font-size:.76rem;color:#94a3b8;line-height:1.65;}
.r-fb-quote{font-family:var(--fm);font-size:.68rem;color:var(--dm);margin-top:7px;padding:6px 11px;border-radius:6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);font-style:italic;}
.r-actions-card{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:24px;margin-bottom:18px;}
.r-action-list{display:flex;flex-direction:column;gap:9px;}
.r-action{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:9px;background:rgba(255,255,255,.018);border:1px solid var(--bd);}
.r-action-n{font-family:var(--fm);font-size:.58rem;width:22px;height:22px;border-radius:50%;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;color:var(--mt);flex-shrink:0;margin-top:1px;}
.r-action-txt{font-size:.78rem;color:#94a3b8;line-height:1.55;flex:1;}
.r-action-pri{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;margin-top:2px;}
.r-action-pri.high{color:var(--rd);}
.r-action-pri.med{color:var(--or);}
.r-action-pri.low{color:var(--lb);}
.r-err{background:rgba(244,63,94,.07);border:1px solid rgba(244,63,94,.18);border-radius:10px;padding:14px 18px;margin-bottom:16px;display:none;}
.r-err.show{display:block;}
.r-err-title{font-weight:700;color:#fb7185;margin-bottom:3px;font-size:.82rem;}
.r-err-msg{font-size:.75rem;color:var(--mt);}
.r-retry-row{display:flex;gap:10px;flex-wrap:wrap;}
.r-retry-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;font-family:var(--fd);font-size:.78rem;font-weight:700;cursor:pointer;border:1px solid var(--bd);background:rgba(255,255,255,.025);color:var(--mt);transition:all .15s;}
.r-retry-btn:hover{color:var(--tx);border-color:rgba(255,255,255,.1);}
.r-retry-btn.primary{background:linear-gradient(135deg,var(--or),var(--rd));color:#fff;border:none;}
.r-retry-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(249,115,22,.3);}
/* ── MOBILE NAV ── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border-radius:8px;border:1px solid var(--bd);background:rgba(255,255,255,.03);transition:background .15s;flex-shrink:0;}
.hamburger:hover{background:rgba(255,255,255,.06);}
.hb-line{width:20px;height:2px;background:var(--tx);border-radius:2px;transition:transform .25s,opacity .25s;}
.hamburger.open .hb-line:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open .hb-line:nth-child(2){opacity:0;}
.hamburger.open .hb-line:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:768px){
  .hamburger{display:flex;}
  .nlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#080c18;border-bottom:1px solid var(--bd);flex-direction:column;padding:8px 16px 16px;gap:4px;z-index:999;box-shadow:0 16px 40px rgba(0,0,0,.6);}
  .nlinks.open{display:flex;}
  .nl{text-align:left;padding:10px 14px;border-radius:8px;width:100%;justify-content:flex-start;}
  nav{flex-wrap:nowrap;position:relative;}
}
/* ── BLOG PAGE ── */
.blog-card{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:18px 20px;cursor:pointer;transition:transform .2s,border-color .2s;}
.blog-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.1);}
.bc-tag{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;}
.bc-title{font-size:.9rem;font-weight:700;line-height:1.4;margin-bottom:8px;letter-spacing:-.01em;}
.bc-preview{font-size:.74rem;color:#94a3b8;line-height:1.65;margin-bottom:12px;}
.bc-meta{display:flex;justify-content:space-between;font-family:var(--fm);font-size:.54rem;color:var(--dm);}
/* ── NEW PAGES ── */
.fcat-label{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.18em;color:var(--mt);margin:28px 0 10px;padding-left:2px;}
.jb-link{display:inline-flex;align-items:center;padding:6px 14px;border-radius:7px;background:rgba(255,255,255,.04);border:1px solid var(--bd);color:var(--tx);text-decoration:none;font-family:var(--fm);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;transition:all .15s;}
.jb-link:hover{background:rgba(255,255,255,.08);border-color:var(--bd2);}
.iprep-tab{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;padding:7px 16px;border-radius:7px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .15s;}
.iprep-tab:hover{color:var(--tx);border-color:var(--bd2);}
.iprep-tab.active{color:var(--lb);background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.3);}
.iprep-q{background:var(--sf);border:1px solid var(--bd);border-radius:10px;overflow:hidden;}
.iprep-q summary{padding:14px 18px;cursor:pointer;font-weight:600;font-size:.86rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.iprep-q summary::after{content:'＋';font-family:var(--fm);font-size:.8rem;color:var(--lb);flex-shrink:0;margin-left:12px;}
.iprep-q[open] summary::after{content:'－';}
.iprep-q summary::-webkit-details-marker{display:none;}
.iprep-q:hover{border-color:var(--bd2);}
.iprep-a{padding:0 18px 16px;font-size:.82rem;color:#94a3b8;line-height:1.8;border-top:1px solid var(--bd);}
.iprep-a p{margin-top:12px;}

/* ── PIVOT PAGE ── */
.pivot-field{margin-bottom:28px;}
.pivot-label{display:block;font-weight:700;font-size:.84rem;margin-bottom:10px;letter-spacing:-.01em;}
.pivot-combo-wrap{position:relative;}
.pivot-input{width:100%;padding:11px 16px;background:var(--sf2);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--fd);font-size:.86rem;outline:none;transition:border-color .15s;}
.pivot-input:focus{border-color:var(--lb);}
.pivot-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#080c18;border:1px solid var(--bd2);border-radius:10px;z-index:500;max-height:200px;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.6);}
.pivot-dropdown.open{display:block;}
.pivot-drop-item{padding:10px 14px;font-size:.82rem;cursor:pointer;transition:background .12s;}
.pivot-drop-item:hover{background:rgba(255,255,255,.06);}
.pivot-exp-btn{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:8px 18px;border-radius:8px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .15s;}
.pivot-exp-btn.active{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.3);color:var(--lb);}
.pivot-upload-zone{border:2px dashed var(--bd2);border-radius:12px;padding:28px;text-align:center;cursor:pointer;transition:all .15s;margin-top:4px;}
.pivot-upload-zone:hover,.pivot-upload-zone.has-file{border-color:rgba(34,211,238,.4);background:rgba(34,211,238,.04);}
.pivot-submit-btn{width:100%;padding:14px;border-radius:12px;background:linear-gradient(135deg,var(--bl),var(--pu));color:#fff;font-family:var(--fd);font-size:.9rem;font-weight:700;border:none;cursor:pointer;transition:all .2s;margin-top:8px;}
.pivot-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(59,130,246,.35);}
.pivot-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ── JOB BOARD ── */
.jb-choice-btn{font-family:var(--fd);font-size:.8rem;padding:8px 14px;border-radius:8px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .15s;}
.jb-choice-btn:hover{color:var(--tx);border-color:var(--bd2);}
.jb-choice-btn.active{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.3);color:var(--lb);}

/* ── COMPACT FEATURE GRID ── */
.fcgrid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:32px;}
.fcc2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--mt);transition:all .18s;text-align:center;}
.fcc2:hover{background:var(--sf2);border-color:var(--bd2);color:var(--tx);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.3);}
.fcc2i{font-size:1.4rem;}

.sal-desc{display:none;font-size:.74rem;color:#94a3b8;line-height:1.6;margin-top:6px;font-weight:400;max-width:420px;}
.sal-row.expanded .sal-desc{display:block;}
.sal-row.expanded td:first-child > span{transform:rotate(90deg);display:inline-block;}

.dch-btns{display:flex;gap:6px;margin-top:10px;}
.dch-btn-info,.dch-btn-jobs{font-family:var(--fm);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:6px;border:1px solid;cursor:pointer;transition:all .15s;flex:1;}
.dch-btn-info{background:transparent;border-color:rgba(255,255,255,.15);color:var(--mt);}
.dch-btn-info:hover{background:rgba(255,255,255,.08);color:var(--tx);}
.dch-btn-jobs{background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.25);color:var(--lb);}
.dch-btn-jobs:hover{background:rgba(34,211,238,.2);}

.more-jobs-btn{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;padding:7px 16px;border-radius:8px;border:1px solid rgba(34,211,238,.3);background:rgba(34,211,238,.06);color:var(--lb);cursor:pointer;margin-top:8px;transition:all .15s;width:100%;}
.more-jobs-btn:hover{background:rgba(34,211,238,.14);border-color:rgba(34,211,238,.5);}

/* ── CONDENSED HOME PAGE ── */
.hstats-row{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:16px 0 0;padding:14px 20px;background:rgba(255,255,255,.018);border:1px solid var(--bd);border-radius:12px;max-width:700px;margin-left:auto;margin-right:auto;}
.hsr{display:flex;align-items:center;gap:8px;}
.hsr-n{font-family:var(--fm);font-size:1.1rem;font-weight:800;}
.hsr-l{font-size:.72rem;color:var(--mt);}
.home-nav-section{max-width:980px;margin:0 auto;padding:0 28px 80px;}
.home-nav-label{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.18em;color:var(--mt);margin-bottom:20px;}
.home-nav-group{margin-bottom:24px;}
.home-nav-grp-title{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dm);margin-bottom:10px;}
.home-nav-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;}
.hnc{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:3px;}
.hnc:hover{background:var(--sf2);border-color:rgba(255,255,255,.15);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.35);}
.hnc-accent{border-color:rgba(34,211,238,.25);background:rgba(34,211,238,.04);}
.hnc-accent:hover{border-color:rgba(34,211,238,.4);}
.hnc-icon{font-size:1.2rem;margin-bottom:4px;}
.hnc-name{font-weight:700;font-size:.84rem;letter-spacing:-.01em;}
.hnc-desc{font-size:.7rem;color:var(--mt);line-height:1.4;}

/* ════════════════════════════════════════════
   HOME PAGE — COMPLETE REDESIGN
   ════════════════════════════════════════════ */

/* HERO */
.hp-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:80px 28px 60px;}

/* Floating orbs */
.hp-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:orbFloat 8s ease-in-out infinite;}
.hp-orb1{width:420px;height:420px;background:radial-gradient(circle,rgba(13,212,200,.18),transparent 70%);top:-10%;left:-8%;animation-delay:0s;}
.hp-orb2{width:360px;height:360px;background:radial-gradient(circle,rgba(77,158,255,.15),transparent 70%);bottom:-5%;right:-5%;animation-delay:-3s;}
.hp-orb3{width:280px;height:280px;background:radial-gradient(circle,rgba(192,132,252,.12),transparent 70%);top:40%;right:10%;animation-delay:-6s;}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-28px) scale(1.04);}}

/* Scan line */
.hp-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(13,212,200,.3),transparent);animation:scanMove 6s linear infinite;pointer-events:none;top:0;}
@keyframes scanMove{0%{top:0;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{top:100%;opacity:0;}}

.hp-hero-inner{position:relative;z-index:2;text-align:center;max-width:780px;}
.hp-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--fm);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lb);margin-bottom:28px;}
.hp-dot{width:5px;height:5px;border-radius:50%;background:var(--lb);animation:blink 2s ease-in-out infinite;}
.hp-dot:last-child{animation-delay:.5s;}
@keyframes blink{0%,100%{opacity:.3;}50%{opacity:1;}}

.hp-h1{font-size:clamp(2.8rem,7vw,5.2rem);font-weight:900;letter-spacing:-.03em;line-height:1.06;margin-bottom:22px;}
.hp-h1-line1{display:block;color:var(--tx);}
.hp-h1-line2{display:block;color:var(--tx);}
.hp-h1-accent{background:linear-gradient(135deg,var(--lb),var(--em));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;}
.hp-h1-accent::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--lb),var(--em));border-radius:2px;opacity:.6;}

.hp-lead{font-size:clamp(.95rem,2vw,1.15rem);color:var(--mt);line-height:1.75;margin-bottom:36px;}

.hp-stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;}
.hp-stat{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--sf2);border:1px solid var(--bd2);border-radius:12px;min-width:100px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.hp-stat::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--c-r,13),var(--c-g,212),var(--c-b,200),.06),transparent);pointer-events:none;}
.hp-stat:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.hp-stat-n{font-family:var(--fm);font-size:1.2rem;font-weight:800;color:var(--c,var(--lb));line-height:1;}
.hp-stat-l{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);margin-top:4px;}

.hp-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hp-cta-primary{font-family:var(--fd);font-size:.88rem;font-weight:700;padding:13px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--lb),var(--bl));color:#fff;cursor:pointer;transition:all .2s;letter-spacing:-.01em;}
.hp-cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(13,212,200,.35);}
.hp-cta-secondary{font-family:var(--fd);font-size:.88rem;font-weight:600;padding:12px 26px;border-radius:10px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer;transition:all .2s;}
.hp-cta-secondary:hover{background:var(--sf2);border-color:var(--lb);color:var(--lb);}

/* Floating bubble badges */
.hp-bubble{position:absolute;right:6%;top:22%;width:120px;height:120px;cursor:pointer;z-index:3;animation:bubbleFloat 5s ease-in-out infinite;}
.hp-bubble2{right:auto;left:3%;top:55%;animation-duration:6.5s;animation-delay:-2s;}
.hp-bubble-ring{position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(13,212,200,.25);animation:ringPulse 2.5s ease-in-out infinite;}
.hp-bubble2 .hp-bubble-ring{border-color:rgba(255,140,66,.25);}
.hp-bubble-inner{width:100%;height:100%;border-radius:50%;background:var(--sf2);border:1px solid var(--bd2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .2s;box-shadow:0 8px 32px rgba(0,0,0,.4);}
.hp-bubble:hover .hp-bubble-inner{transform:scale(1.08);box-shadow:0 12px 40px rgba(13,212,200,.25);}
.hp-bubble2:hover .hp-bubble-inner{box-shadow:0 12px 40px rgba(255,140,66,.25);}
.hp-bubble-icon{font-size:1.4rem;line-height:1;}
.hp-bubble-text{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tx);text-align:center;line-height:1.3;}
.hp-bubble-sub{font-family:var(--fm);font-size:.46rem;color:var(--lb);letter-spacing:.08em;}
.hp-bubble2 .hp-bubble-sub{color:var(--or);}
@keyframes bubbleFloat{0%,100%{transform:translateY(0) rotate(0deg);}33%{transform:translateY(-12px) rotate(2deg);}66%{transform:translateY(-6px) rotate(-1deg);}}
@keyframes ringPulse{0%,100%{opacity:.25;transform:scale(1);}50%{opacity:.7;transform:scale(1.08);}}

/* Quiz section */
.hp-quiz-wrap{max-width:700px;margin:0 auto;padding:0 28px 80px;position:relative;z-index:1;}
.hp-quiz-label{display:flex;align-items:center;gap:10px;font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.2em;color:var(--em);margin-bottom:16px;justify-content:center;}
.hp-quiz-pulse{width:8px;height:8px;border-radius:50%;background:var(--em);animation:pulseDot 1.8s ease-in-out infinite;display:inline-block;}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(16,232,126,.5);}60%{box-shadow:0 0 0 8px rgba(16,232,126,0);}}
.hp-quiz-title{font-size:clamp(1.4rem,3.5vw,2rem);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:10px;}
.hp-quiz-sub{font-size:.85rem;color:var(--mt);text-align:center;margin-bottom:28px;}

/* BENTO GRID */
.hp-bento-wrap{max-width:1100px;margin:0 auto;padding:0 28px 80px;position:relative;z-index:1;}
.hp-bento-header{text-align:center;margin-bottom:40px;}
.hp-bento-eyebrow{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mt);margin-bottom:10px;}
.hp-bento-title{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;letter-spacing:-.025em;}

.hp-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:12px;}
@media(max-width:900px){.hp-bento{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.hp-bento{grid-template-columns:1fr;}}

/* Bento cells */
.hpb{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:22px 22px 18px;cursor:pointer;transition:all .22s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;}
.hpb::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 60%);pointer-events:none;}
.hpb-glow{position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(60px);top:-40px;right:-40px;opacity:0;transition:opacity .3s;pointer-events:none;}
.hpb:hover .hpb-glow{opacity:1;}
.hpb:hover{transform:translateY(-4px);border-color:var(--bd2);box-shadow:0 16px 48px rgba(0,0,0,.5);}

.hpb-tall{grid-row:span 2;}
.hpb-wide{grid-column:span 2;}

.hpb-icon{font-size:1.8rem;margin-bottom:4px;}
.hpb-name{font-weight:800;font-size:.95rem;letter-spacing:-.01em;line-height:1.2;}
.hpb-desc{font-size:.74rem;color:var(--mt);line-height:1.55;flex:1;}
.hpb-arrow{font-size:.8rem;color:var(--bd2);margin-top:auto;transition:color .2s,transform .2s;}
.hpb:hover .hpb-arrow{color:var(--lb);transform:translateX(4px);}
.hpb-tag{position:absolute;top:14px;right:14px;font-family:var(--fm);font-size:.46rem;text-transform:uppercase;letter-spacing:.14em;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.04);color:var(--dm);}

/* Per-card accent colors */
.hpb-ladder .hpb-glow{background:var(--em);}
.hpb-ladder:hover{border-color:rgba(16,232,126,.3);}
.hpb-salary .hpb-glow{background:var(--am);}
.hpb-salary:hover{border-color:rgba(245,200,66,.3);}
.hpb-domains .hpb-glow{background:var(--pu);}
.hpb-domains:hover{border-color:rgba(192,132,252,.3);}
.hpb-interview .hpb-glow{background:var(--bl);}
.hpb-interview:hover{border-color:rgba(77,158,255,.3);}
.hpb-certs .hpb-glow{background:var(--or);}
.hpb-certs:hover{border-color:rgba(255,140,66,.3);}
.hpb-training .hpb-glow{background:var(--lb);}
.hpb-training:hover{border-color:rgba(13,212,200,.3);}
.hpb-homelab .hpb-glow{background:var(--bl);}
.hpb-homelab:hover{border-color:rgba(77,158,255,.3);}
.hpb-glossary .hpb-glow{background:var(--mt);}
.hpb-jobs .hpb-glow{background:var(--bl);}
.hpb-jobs:hover{border-color:rgba(77,158,255,.3);}
.hpb-threats .hpb-glow{background:var(--rd);}
.hpb-threats:hover{border-color:rgba(240,93,120,.3);}
.hpb-games .hpb-glow{background:var(--em);}
.hpb-games:hover{border-color:rgba(16,232,126,.3);}
.hpb-blog .hpb-glow{background:var(--am);}
.hpb-reviews .hpb-glow{background:var(--pu);}

/* ── UPDATED NAV STYLES ── */
nav{background:rgba(11,17,32,.92);backdrop-filter:blur(28px);border-bottom:1px solid var(--bd);}

/* ── UPDATED CARD & PANEL STYLES ── */
.sf-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;}
.dch{background:var(--sf2);border:1px solid var(--bd);border-radius:14px;padding:16px;cursor:pointer;transition:all .2s;position:relative;overflow:visible;display:flex;flex-direction:column;gap:8px;}

/* ════════════════════════════════
   T3 DOMAIN CARD LAYOUT FIX
   ════════════════════════════════ */
.dch{display:flex;flex-direction:column;gap:6px;padding:14px 16px;}
.dch > span{font-size:1.6rem;line-height:1;align-self:flex-start;}
.dch-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;}
.dch-title{font-size:.88rem;font-weight:700;}
.dchs{font-family:var(--fm);font-size:.56rem;color:var(--mt);white-space:nowrap;}
.dch-btns{display:flex;gap:6px;margin-top:4px;}
.dch-btn-info{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;padding:5px 10px;border-radius:6px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer;transition:all .15s;}
.dch-btn-info:hover{background:var(--sf2);border-color:var(--lb);color:var(--lb);}
.dch-btn-jobs{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;padding:5px 10px;border-radius:6px;border:1px solid rgba(16,232,126,.3);background:rgba(16,232,126,.05);color:var(--em);cursor:pointer;transition:all .15s;}
.dch-btn-jobs:hover{background:rgba(16,232,126,.15);}

/* ════════════════════════════════
   INTERVIEW PREP — TILE MENU
   ════════════════════════════════ */
.iprep-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:32px;}
.iprep-tier-label{grid-column:1/-1;font-family:var(--fm);font-size:.55rem;text-transform:uppercase;letter-spacing:.16em;color:var(--mt);padding:6px 0 2px;border-bottom:1px solid var(--bd);margin-bottom:2px;}
.iprep-tile{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .18s;position:relative;}
.iprep-tile:hover{background:var(--sf2);border-color:var(--bd2);transform:translateY(-2px);}
.iprep-tile.active{background:rgba(13,212,200,.07);border-color:rgba(13,212,200,.35);box-shadow:0 0 16px rgba(13,212,200,.1);}
.iprep-tile-name{font-weight:700;font-size:.82rem;margin-bottom:3px;letter-spacing:-.01em;}
.iprep-tile-tier{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mt);}
.iprep-tile-dot{position:absolute;top:12px;right:12px;width:6px;height:6px;border-radius:50%;background:var(--bd2);}
.iprep-tile.active .iprep-tile-dot{background:var(--lb);box-shadow:0 0 6px var(--lb);}

@media(max-width:600px){
  .hp-bubble,.hp-bubble2{display:none;}
  .hp-bento{grid-template-columns:1fr 1fr;}
  .hpb-tall,.hpb-wide{grid-column:span 1;grid-row:span 1;}
  .iprep-menu{grid-template-columns:1fr 1fr;}
}

/* ════════════════════════════════
   T3 DOMAIN CARDS — CLEAN REBUILD
   ════════════════════════════════ */
.dcg{padding:16px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:800px){.dcg{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.dcg{grid-template-columns:1fr 1fr;}}

.dch3,.dch3 *{box-sizing:border-box;}
.tc .dcg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;}
.dch3{background:var(--sf2);border:1px solid var(--accent,var(--bd));border-radius:12px;padding:14px;cursor:default;transition:all .2s;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;}
.dch3::before{content:'';position:absolute;inset:0;background:var(--glow,transparent);pointer-events:none;opacity:0;transition:opacity .25s;}
.dch3:hover::before{opacity:1;}
.dch3:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.5);}

.dch3-top{display:flex;align-items:center;gap:10px;}
.dch3-icon{font-size:1.3rem;flex-shrink:0;}
.dch3-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dch3-name{font-weight:800;font-size:.82rem;letter-spacing:-.01em;white-space:nowrap;}
.dch3-sal{font-family:var(--fm);font-size:.5rem;color:var(--mt);white-space:nowrap;}

.dch3-roles{font-size:.62rem;color:var(--mt);line-height:1.5;border-top:1px solid var(--bd);padding-top:7px;}

.dch3-btns{display:flex;gap:6px;margin-top:auto;}
.dch3-btn-info{flex:1;font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 0;border-radius:6px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer;transition:all .15s;text-align:center;}
.dch3-btn-info:hover{background:var(--sf);border-color:var(--lb);color:var(--lb);}
.dch3-btn-jobs{flex:1;font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 0;border-radius:6px;border:1px solid rgba(16,232,126,.35);background:rgba(16,232,126,.06);color:var(--em);cursor:pointer;transition:all .15s;text-align:center;}
.dch3-btn-jobs:hover{background:rgba(16,232,126,.18);}

/* ════════════════════════════════
   CAREER QUIZ PAGE
   ════════════════════════════════ */
.quiz-page-card{background:var(--sf);border:1px solid var(--bd2);border-radius:16px;padding:36px;margin-top:8px;}

/* ════════════════════════════════
   HOME — PLATFORM SECTION
   ════════════════════════════════ */
.hp-platform{position:relative;overflow:hidden;padding:80px 0 100px;}
.hp-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.6;}
.hp-platform-inner{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:0 28px;}
.hp-platform-header{text-align:center;margin-bottom:36px;}
.hp-platform-eyebrow{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.22em;color:var(--mt);margin-bottom:10px;}
.hp-platform-title{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:900;letter-spacing:-.03em;margin-bottom:10px;}
.hp-platform-sub{font-size:.82rem;color:var(--mt);}

/* Tab filters */
.hp-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:28px;}
.hp-tab{font-family:var(--fm);font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;padding:7px 14px;border-radius:20px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .18s;}
.hp-tab:hover{border-color:var(--bd2);color:var(--tx);}
.hp-tab.active{background:var(--sf2);border-color:var(--lb);color:var(--lb);}

/* Item rows */
.hp-items{display:flex;flex-direction:column;gap:6px;}
.hpi{display:flex;align-items:center;gap:14px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .18s;position:relative;overflow:hidden;}
.hpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--bd2);transition:background .2s;}
.hpi:hover{background:var(--sf2);border-color:var(--bd2);transform:translateX(4px);}
.hpi:hover::before{background:var(--lb);}
.hpi-featured::before{background:linear-gradient(180deg,var(--lb),var(--em));}
.hpi-featured{border-color:rgba(13,212,200,.2);}
.hpi-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.hpi-left{flex-shrink:0;}
.hpi-body{flex:1;min-width:0;}
.hpi-name{font-weight:700;font-size:.88rem;letter-spacing:-.01em;margin-bottom:2px;display:flex;align-items:center;gap:7px;}
.hpi-desc{font-size:.72rem;color:var(--mt);line-height:1.4;}
.hpi-badge{font-family:var(--fm);font-size:.42rem;text-transform:uppercase;letter-spacing:.12em;padding:2px 6px;border-radius:4px;background:rgba(13,212,200,.12);color:var(--lb);border:1px solid rgba(13,212,200,.25);vertical-align:middle;}
.hpi-arrow{font-size:.85rem;color:var(--dm);transition:color .18s,transform .18s;flex-shrink:0;}
.hpi:hover .hpi-arrow{color:var(--lb);transform:translateX(4px);}
.hpi.hidden{display:none;}
@media(max-width:480px){.hp-tabs{gap:4px;}.hp-tab{font-size:.5rem;padding:6px 10px;}}

/* ════════════════════════════════
   INTERVIEW PREP MODAL
   ════════════════════════════════ */
.iprep-modal{position:fixed;inset:0;z-index:10500;background:rgba(5,8,18,.8);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.iprep-modal.open{opacity:1;pointer-events:auto;}
.iprep-modal-panel{background:var(--sf);border:1px solid var(--bd2);border-radius:22px;width:100%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(28px) scale(.97);transition:transform .35s cubic-bezier(.34,1.2,.64,1);}
.iprep-modal.open .iprep-modal-panel{transform:translateY(0) scale(1);}
.iprep-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 26px 18px;border-bottom:1px solid var(--bd);flex-shrink:0;}
.iprep-modal-role{font-weight:800;font-size:1.05rem;letter-spacing:-.015em;margin-bottom:4px;}
.iprep-modal-tier{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);}
.iprep-modal-close{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;color:var(--mt);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;transition:all .15s;margin-top:2px;}
.iprep-modal-close:hover{background:var(--sf3,var(--sf2));color:var(--tx);}
.iprep-modal-body{overflow-y:auto;padding:20px 26px 28px;display:flex;flex-direction:column;gap:14px;}

/* Individual Q&A card */
.iprep-qa{background:var(--sf2);border:1px solid var(--bd);border-radius:12px;padding:16px 18px;}
.iprep-q-num{font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.16em;color:var(--lb);margin-bottom:6px;}
.iprep-q-text{font-weight:700;font-size:.88rem;line-height:1.45;margin-bottom:10px;color:var(--tx);}
.iprep-a-text{font-size:.8rem;color:#94a3b8;line-height:1.7;border-top:1px solid var(--bd);padding-top:10px;}

/* ══════════════════════════════════════════
   LANDING PAGE — WORLD CLASS REDESIGN
   ══════════════════════════════════════════ */

/* HERO */
.lp-hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 380px;align-items:center;gap:40px;padding:calc(var(--nav) + 60px) 6% 80px;overflow:hidden;}
@media(max-width:900px){.lp-hero{grid-template-columns:1fr;padding:calc(var(--nav)+40px) 5% 60px;}}

/* Animated grid */
.lp-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(13,212,200,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,212,200,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.lp-grid::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 60% 50%,transparent 40%,var(--bg) 80%);pointer-events:none;}

/* Orbs */
.lp-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;animation:lpOrb 10s ease-in-out infinite;}
.lp-orb-a{width:500px;height:500px;background:radial-gradient(circle,rgba(13,212,200,.13),transparent 70%);top:-15%;left:-5%;animation-delay:0s;}
.lp-orb-b{width:420px;height:420px;background:radial-gradient(circle,rgba(77,158,255,.11),transparent 70%);bottom:-10%;right:20%;animation-delay:-4s;}
.lp-orb-c{width:320px;height:320px;background:radial-gradient(circle,rgba(192,132,252,.09),transparent 70%);top:30%;right:5%;animation-delay:-7s;}
@keyframes lpOrb{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(20px,-30px) scale(1.05);}66%{transform:translate(-15px,15px) scale(.97);}}

/* Hero content */
.lp-hero-content{position:relative;z-index:2;}
.lp-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.2em;color:var(--lb);background:rgba(13,212,200,.06);border:1px solid rgba(13,212,200,.2);border-radius:50px;padding:7px 14px;margin-bottom:28px;}
.lp-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--lb);animation:lpBlink 2s ease-in-out infinite;flex-shrink:0;}
@keyframes lpBlink{0%,100%{opacity:.3;}50%{opacity:1;box-shadow:0 0 6px var(--lb);}}

.lp-h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.05;letter-spacing:-.04em;margin-bottom:20px;color:var(--tx);}
.lp-h1-gradient{background:linear-gradient(135deg,var(--lb) 0%,var(--bl) 50%,var(--em) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.lp-sub{font-size:clamp(.9rem,1.5vw,1.05rem);color:var(--mt);line-height:1.75;margin-bottom:36px;}
.lp-br{display:none;}
@media(min-width:700px){.lp-br{display:inline;}}

.lp-stats{display:flex;align-items:center;gap:0;margin-bottom:36px;background:var(--sf);border:1px solid var(--bd);border-radius:14px;overflow:hidden;width:fit-content;}
.lp-stat-item{display:flex;flex-direction:column;align-items:center;padding:14px 22px;gap:3px;}
.lp-stat-val{font-family:var(--fm);font-size:1.1rem;font-weight:800;line-height:1;}
.lp-stat-key{font-family:var(--fm);font-size:.48rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mt);}
.lp-stat-sep{width:1px;height:36px;background:var(--bd);}
@media(max-width:600px){.lp-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;}.lp-stat-sep{display:none;}}

.lp-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.lp-cta-main{font-family:var(--fd);font-weight:800;font-size:.9rem;padding:14px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--lb),var(--bl));color:#fff;cursor:pointer;transition:all .2s;letter-spacing:-.01em;box-shadow:0 4px 20px rgba(13,212,200,.3);}
.lp-cta-main:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(13,212,200,.45);}
.lp-cta-ghost{font-family:var(--fd);font-weight:600;font-size:.88rem;padding:13px 24px;border-radius:10px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer;transition:all .2s;}
.lp-cta-ghost:hover{background:var(--sf2);border-color:var(--lb);color:var(--lb);}

/* Floating cards (right side) */
.lp-float-cards{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;}
@media(max-width:900px){.lp-float-cards{flex-direction:row;flex-wrap:wrap;}}
.lp-fc{display:flex;align-items:center;gap:14px;background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:16px 20px;cursor:pointer;transition:all .22s;position:relative;overflow:hidden;}
.lp-fc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.02),transparent);pointer-events:none;}
.lp-fc:hover{transform:translateX(-4px);border-color:var(--bd2);box-shadow:0 8px 32px rgba(0,0,0,.5);}
.lp-fc1:hover{border-color:rgba(13,212,200,.35);box-shadow:0 8px 32px rgba(13,212,200,.15);}
.lp-fc2:hover{border-color:rgba(255,140,66,.35);box-shadow:0 8px 32px rgba(255,140,66,.15);}
.lp-fc3:hover{border-color:rgba(245,200,66,.35);box-shadow:0 8px 32px rgba(245,200,66,.15);}
.lp-fc-icon{font-size:1.6rem;flex-shrink:0;}
.lp-fc-title{font-weight:700;font-size:.88rem;margin-bottom:2px;}
.lp-fc-sub{font-family:var(--fm);font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);}

/* STRIP */
.lp-strip{background:var(--sf);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);overflow:hidden;}
.lp-strip-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;padding:14px 28px;}
.lp-strip-item{display:flex;align-items:center;gap:7px;font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mt);padding:6px 16px;white-space:nowrap;}
.lp-strip-div{width:1px;height:16px;background:var(--bd);}

/* PLATFORM SECTION */
.lp-platform{position:relative;overflow:hidden;padding:80px 0 100px;}
.lp-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.lp-platform-inner{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:0 32px;}
.lp-section-eyebrow{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.22em;color:var(--mt);text-align:center;margin-bottom:10px;}
.lp-section-title{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:900;letter-spacing:-.03em;text-align:center;margin-bottom:8px;}

/* Tabs */
.lp-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:28px 0 24px;}
.lp-tab{font-family:var(--fm);font-size:.54rem;text-transform:uppercase;letter-spacing:.12em;padding:7px 15px;border-radius:20px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .18s;}
.lp-tab:hover{border-color:var(--bd2);color:var(--tx);}
.lp-tab.active{background:var(--sf2);border-color:var(--lb);color:var(--lb);}

/* Items grid — 2 columns */
.lp-items{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(max-width:640px){.lp-items{grid-template-columns:1fr;}}

.lpi{display:flex;align-items:center;gap:14px;background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .18s;position:relative;}
.lpi::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--bd2);border-radius:2px 0 0 2px;transition:background .18s;}
.lpi:hover{background:var(--sf2);border-color:var(--bd2);transform:translateX(3px);}
.lpi:hover::after{background:var(--lb);}
.lpi-ai{border-color:rgba(13,212,200,.15);}
.lpi-ai::after{background:rgba(13,212,200,.3);}
.lpi-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;}
.lpi-body{flex:1;min-width:0;}
.lpi-name{font-weight:700;font-size:.86rem;margin-bottom:3px;display:flex;align-items:center;gap:6px;letter-spacing:-.01em;}
.lpi-desc{font-size:.7rem;color:var(--mt);line-height:1.45;}
.lpi-badge{font-family:var(--fm);font-size:.42rem;text-transform:uppercase;letter-spacing:.12em;padding:2px 6px;border-radius:4px;background:rgba(13,212,200,.1);color:var(--lb);border:1px solid rgba(13,212,200,.2);}
.lpi-arr{font-size:.8rem;color:var(--dm);transition:color .18s,transform .18s;flex-shrink:0;}
.lpi:hover .lpi-arr{color:var(--lb);transform:translateX(3px);}
.lpi.lp-hidden{display:none;}

/* ══════════════════════════════════════
   HOME PAGE v3 — HERO + SCROLL REVEAL
   ══════════════════════════════════════ */

/* ── HERO ── */
.hp2-hero{position:relative;padding:calc(var(--nav)+60px) 6% 80px;overflow:hidden;}

/* Grid bg */
.hp2-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(13,212,200,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(13,212,200,.035) 1px,transparent 1px);background-size:52px 52px;pointer-events:none;}
.hp2-grid::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 50%,transparent 35%,var(--bg) 72%);pointer-events:none;}

/* Orbs */
.hp2-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;}
.hp2-orb1{width:560px;height:560px;background:radial-gradient(circle,rgba(13,212,200,.14),transparent 68%);top:-18%;left:-12%;animation:hp2OrbA 12s ease-in-out infinite;}
.hp2-orb2{width:480px;height:480px;background:radial-gradient(circle,rgba(77,158,255,.11),transparent 68%);bottom:-12%;right:-6%;animation:hp2OrbB 15s ease-in-out infinite;}
.hp2-orb3{width:340px;height:340px;background:radial-gradient(circle,rgba(192,132,252,.09),transparent 68%);top:35%;right:8%;animation:hp2OrbA 9s ease-in-out infinite reverse;}
@keyframes hp2OrbA{0%,100%{transform:translate(0,0);}40%{transform:translate(24px,-32px);}70%{transform:translate(-18px,18px);}}
@keyframes hp2OrbB{0%,100%{transform:translate(0,0);}35%{transform:translate(-28px,20px);}65%{transform:translate(16px,-24px);}}

/* Scan line */
.hp2-scan{position:absolute;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(13,212,200,.5) 40%,rgba(77,158,255,.4) 60%,transparent 100%);animation:hp2Scan 7s linear infinite;pointer-events:none;top:0;opacity:0;}
@keyframes hp2Scan{0%{top:-2px;opacity:0;}5%{opacity:1;}90%{opacity:.6;}100%{top:100%;opacity:0;}}

/* Hero body */
.hp2-hero-body{position:relative;z-index:2;text-align:center;max-width:1060px;width:100%;}
.hp2-kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--fm);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lb);background:rgba(13,212,200,.06);border:1px solid rgba(13,212,200,.18);border-radius:50px;padding:7px 16px;margin-bottom:30px;}
.hp2-kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--lb);flex-shrink:0;animation:hp2Blink 2.2s ease-in-out infinite;}
@keyframes hp2Blink{0%,100%{opacity:.25;}50%{opacity:1;box-shadow:0 0 8px var(--lb);}}

.hp2-h1{font-size:clamp(3rem,7vw,5.4rem);font-weight:900;line-height:1.06;letter-spacing:-.04em;margin-bottom:22px;color:var(--tx);}
.hp2-h1-hl{background:linear-gradient(130deg,var(--lb) 0%,var(--bl) 45%,var(--em) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hp2-lead{font-size:clamp(.95rem,1.8vw,1.1rem);color:var(--mt);line-height:1.8;margin-bottom:38px;}

/* Stats bar */
.hp2-stats{display:inline-flex;align-items:center;background:var(--sf);border:1px solid var(--bd);border-radius:14px;overflow:hidden;margin-bottom:38px;}
.hp2-stat{display:flex;flex-direction:column;align-items:center;padding:13px 24px;gap:4px;}
.hp2-sv{font-family:var(--fm);font-size:1.05rem;font-weight:800;line-height:1;}
.hp2-sk{font-family:var(--fm);font-size:.46rem;text-transform:uppercase;letter-spacing:.15em;color:var(--mt);}
.hp2-sdiv{width:1px;height:34px;background:var(--bd);flex-shrink:0;}
@media(max-width:580px){.hp2-stats{display:grid;grid-template-columns:1fr 1fr;width:90%;max-width:340px;}.hp2-sdiv{display:none;}}

/* CTAs */
.hp2-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.hp2-btn-primary{font-family:var(--fd);font-weight:800;font-size:.9rem;letter-spacing:-.01em;padding:14px 30px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--lb),var(--bl));color:#fff;cursor:pointer;box-shadow:0 4px 24px rgba(13,212,200,.3);transition:transform .2s,box-shadow .2s;}
.hp2-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(13,212,200,.45);}
.hp2-btn-ghost{font-family:var(--fd);font-weight:600;font-size:.88rem;padding:13px 26px;border-radius:10px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer;transition:all .2s;}
.hp2-btn-ghost:hover{border-color:var(--lb);color:var(--lb);background:rgba(13,212,200,.04);}

/* Scroll cue */
.hp2-scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--fm);font-size:.5rem;text-transform:uppercase;letter-spacing:.18em;color:var(--dm);z-index:2;}
.hp2-scroll-arrow{width:18px;height:18px;border-right:1.5px solid var(--dm);border-bottom:1.5px solid var(--dm);transform:rotate(45deg);animation:hp2BobArrow 1.6s ease-in-out infinite;}
@keyframes hp2BobArrow{0%,100%{transform:rotate(45deg) translateY(0);}50%{transform:rotate(45deg) translateY(5px);}}

/* ── TOOLKIT SECTION ── */
.hp2-toolkit{position:relative;overflow:hidden;padding:90px 0 110px;}
.hp2-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.7;}
.hp2-toolkit-inner{position:relative;z-index:1;max-width:1060px;margin:0 auto;padding:0 32px;}
.hp2-tk-header{text-align:center;margin-bottom:32px;}
.hp2-tk-eye{font-family:var(--fm);font-size:.55rem;text-transform:uppercase;letter-spacing:.22em;color:var(--mt);margin-bottom:10px;}
.hp2-tk-title{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:900;letter-spacing:-.03em;}

/* Tabs */
.hp2-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.hp2-tab{font-family:var(--fm);font-size:.53rem;text-transform:uppercase;letter-spacing:.13em;padding:7px 16px;border-radius:20px;border:1px solid var(--bd);background:transparent;color:var(--mt);cursor:pointer;transition:all .18s;}
.hp2-tab:hover{border-color:var(--bd2);color:var(--tx);}
.hp2-tab.active{background:var(--sf2);border-color:var(--lb);color:var(--lb);}

/* 3-column item grid */
.hp2-grid-items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(max-width:800px){.hp2-grid-items{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.hp2-grid-items{grid-template-columns:1fr;}}

/* Item card */
.hp2-item{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:18px 18px 16px;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;}
.hp2-item::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 55%);pointer-events:none;}
.hp2-item:hover{transform:translateY(-4px);border-color:var(--bd2);box-shadow:0 12px 36px rgba(0,0,0,.5);}
.hp2-item-ai{border-color:rgba(13,212,200,.18);}
.hp2-item-icon{width:40px;height:40px;border-radius:10px;background:var(--ic,rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:2px;flex-shrink:0;}
.hp2-item-name{font-weight:700;font-size:.85rem;letter-spacing:-.01em;display:flex;align-items:center;gap:7px;color:var(--tx);}
.hp2-item-desc{font-size:.7rem;color:var(--mt);line-height:1.5;flex:1;}
.hp2-item-tag{font-family:var(--fm);font-size:.46rem;text-transform:uppercase;letter-spacing:.13em;margin-top:4px;}
.hp2-ai-chip{font-family:var(--fm);font-size:.42rem;text-transform:uppercase;letter-spacing:.12em;padding:2px 6px;border-radius:4px;background:rgba(13,212,200,.1);color:var(--lb);border:1px solid rgba(13,212,200,.2);}
.hp2-item.hp2-tk-hidden{display:none;}

/* ── SCROLL REVEAL ── */
.hp2-reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease;}
.hp2-reveal.hp2-visible{opacity:1;transform:translateY(0);}
/* Stagger delay for grid items */
.hp2-grid-items .hp2-item:nth-child(1){transition-delay:.05s;}
.hp2-grid-items .hp2-item:nth-child(2){transition-delay:.1s;}
.hp2-grid-items .hp2-item:nth-child(3){transition-delay:.15s;}
.hp2-grid-items .hp2-item:nth-child(4){transition-delay:.2s;}
.hp2-grid-items .hp2-item:nth-child(5){transition-delay:.25s;}
.hp2-grid-items .hp2-item:nth-child(6){transition-delay:.3s;}
.hp2-grid-items .hp2-item:nth-child(7){transition-delay:.05s;}
.hp2-grid-items .hp2-item:nth-child(8){transition-delay:.1s;}
.hp2-grid-items .hp2-item:nth-child(9){transition-delay:.15s;}
.hp2-grid-items .hp2-item:nth-child(10){transition-delay:.2s;}
.hp2-grid-items .hp2-item:nth-child(11){transition-delay:.25s;}
.hp2-grid-items .hp2-item:nth-child(12){transition-delay:.3s;}
.hp2-grid-items .hp2-item:nth-child(13){transition-delay:.05s;}
.hp2-grid-items .hp2-item:nth-child(14){transition-delay:.1s;}
.hp2-grid-items .hp2-item:nth-child(15){transition-delay:.15s;}
.hp2-grid-items .hp2-item:nth-child(16){transition-delay:.2s;}

/* ══════════════════════════════════════
   HOME v4 — INLINE HERO + TOOLKIT
   ══════════════════════════════════════ */

/* Override hp2-hero min-height so there's no giant gap */
.hp2-hero{min-height:unset !important;padding-bottom:80px !important;}

/* Scroll cue: hide since toolkit is visible without scrolling */
.hp2-scroll-cue{display:none;}

/* Toolkit divider label */
.hp2-inline-toolkit{width:100%;max-width:980px;margin:0 auto;padding-top:36px;}
.hp2-tk-label{display:flex;align-items:center;gap:14px;font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mt);margin-bottom:24px;padding:0 2px;}
.hp2-tk-label-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bd),transparent);}

/* Override tabs to be left-aligned inside hero body */
.hp2-inline-toolkit .hp2-tabs{justify-content:flex-start;margin-bottom:18px;}

/* Override grid items spacing */
.hp2-inline-toolkit .hp2-grid-items{gap:10px;}

/* Item card — slightly more compact since descriptions are richer */
.hp2-item{padding:16px 16px 14px;gap:5px;}
.hp2-item-icon{width:36px;height:36px;font-size:1rem;margin-bottom:1px;}
.hp2-item-name{font-size:.84rem;}
.hp2-item-desc{font-size:.72rem;line-height:1.55;}
.hp2-item-tag{font-size:.46rem;margin-top:3px;}

/* Remove the separate hp2-toolkit section (now inline) */
.hp2-toolkit{display:none;}

/* Toolkit label + tabs inline with hero */
.hp2-tk-label{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mt);margin:28px 0 16px;text-align:center;}
/* Tighter stats margin when toolkit follows */
.hp2-stats{margin-bottom:0;}

/* Remove old toolkit section styles that were standalone */
.hp2-toolkit{padding:0;}
.hp2-circuit{display:none;}
.hp2-toolkit-inner{padding:0;}
.hp2-tk-header{display:none;}

/* Tabs right after label */
.hp2-tabs{margin-bottom:20px;}

/* Grid items — no scroll reveal needed, they're in the hero now */
.hp2-grid-items{margin-top:0;}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE REDESIGN v5 — Fonts · Nav · Hero · Platform
   ══════════════════════════════════════════════════════════ */

/* Override font families site-wide */
:root {
  --fd: 'Space Grotesk', sans-serif;
  --fm: 'JetBrains Mono', monospace;
}

/* ── NAV LOGO ── */
.nlogo-icon { color: #00d4c8; flex-shrink: 0; }
.ntxt {
  display: flex; align-items: center; gap: 0;
  font-weight: 800; font-size: 1.18rem; letter-spacing: -.035em;
  background: none; -webkit-text-fill-color: initial;
}
.ntxt-main { color: #fff; }
.ntxt-accent { color: #00d4c8; }

/* ── HERO SECTION ── */
.hero-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: var(--nav) 6% 52px;
  overflow: hidden;
}
.hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 56px;
  align-items: center;
}
@media(max-width:960px) {
  .hero-inner { grid-template-columns: 1fr; gap: 48px; }
}

/* Left column */
.hero-left { display: flex; flex-direction: column; }

.hero-h1 {
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.06;
  margin-bottom: 22px;
  color: #fff;
}
.hero-typed-line { display: block; }
#hero-typed { color: #00d4c8; }
.hero-cursor {
  display: inline-block;
  width: 3px;
  height: .82em;
  background: #00d4c8;
  border-radius: 2px;
  margin-left: 3px;
  vertical-align: middle;
  animation: heroCursorBlink 1s step-end infinite;
}
@keyframes heroCursorBlink { 0%,100%{opacity:1;} 50%{opacity:0;} }

.hero-lead {
  font-size: 1.05rem;
  color: var(--mt);
  line-height: 1.78;
  margin-bottom: 32px;
  max-width: 500px;
}

.hero-stats {
  display: flex;
  align-items: center;
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: 14px;
  overflow: hidden;
  width: fit-content;
  margin-bottom: 32px;
}
.hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 22px;
  gap: 4px;
}
.hero-stat-n {
  font-family: var(--fm);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}
.hero-stat-l {
  font-family: var(--fm);
  font-size: .45rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--mt);
  white-space: nowrap;
}
.hero-stat-sep {
  width: 1px;
  height: 36px;
  background: var(--bd);
  flex-shrink: 0;
}
@media(max-width:640px) {
  .hero-stats { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .hero-stat-sep { display: none; }
}

.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.hero-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fd);
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: -.01em;
  padding: 13px 24px;
  border-radius: 10px;
  border: none;
  background: #00d4c8;
  color: #050810;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 4px 20px rgba(0,212,200,.35);
}
.hero-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,212,200,.5);
}
.hero-btn-ghost {
  font-family: var(--fd);
  font-weight: 600;
  font-size: .88rem;
  padding: 12px 22px;
  border-radius: 10px;
  border: 1px solid var(--bd2);
  background: transparent;
  color: var(--tx);
  cursor: pointer;
  transition: all .2s;
}
.hero-btn-ghost:hover {
  border-color: rgba(0,212,200,.4);
  color: #00d4c8;
  background: rgba(0,212,200,.04);
}

/* Right column — floating cards */
.hero-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media(max-width:960px) { .hero-right { display: none; } }

.hero-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: 14px;
  padding: 16px 18px;
  cursor: pointer;
  transition: transform .2s, border-color .2s, box-shadow .2s;
  opacity: 0;
  animation: heroCardIn .5s forwards;
}
.hero-card:nth-child(1) { animation-delay: .15s; }
.hero-card:nth-child(2) { animation-delay: .28s; }
.hero-card:nth-child(3) { animation-delay: .41s; }
.hero-card:nth-child(4) { animation-delay: .54s; }
@keyframes heroCardIn {
  from { opacity:0; transform:translateX(28px); }
  to   { opacity:1; transform:translateX(0); }
}
.hero-card:hover {
  transform: translateX(-4px);
  border-color: var(--bd2);
  box-shadow: 0 8px 28px rgba(0,0,0,.5);
}
.hc-ladder:hover  { border-color: rgba(16,232,126,.3);  box-shadow: 0 8px 28px rgba(16,232,126,.08); }
.hc-certs:hover   { border-color: rgba(255,140,66,.3);  box-shadow: 0 8px 28px rgba(255,140,66,.08); }
.hc-roaster:hover { border-color: rgba(240,93,120,.3);  box-shadow: 0 8px 28px rgba(240,93,120,.08); }
.hc-salary:hover  { border-color: rgba(245,200,66,.3);  box-shadow: 0 8px 28px rgba(245,200,66,.08); }

.hc-icon  { font-size: 1.5rem; flex-shrink: 0; }
.hc-body  { flex: 1; }
.hc-name  { font-weight: 700; font-size: .88rem; margin-bottom: 3px; display: flex; align-items: center; gap: 7px; }
.hc-sub   { font-family: var(--fm); font-size: .5rem; text-transform: uppercase; letter-spacing: .1em; color: var(--mt); }
.hc-arrow { font-size: .9rem; color: var(--dm); transition: color .2s, transform .2s; }
.hero-card:hover .hc-arrow { color: #00d4c8; transform: translateX(4px); }
.hc-ai-badge {
  font-family: var(--fm);
  font-size: .42rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0,212,200,.1);
  color: #00d4c8;
  border: 1px solid rgba(0,212,200,.2);
  vertical-align: middle;
}

/* ── PLATFORM TOOLKIT SECTION ── */
.platform-section {
  padding: 40px 6% 80px;
  position: relative;
  z-index: 1;
}
.platform-inner { max-width: 1060px; margin: 0 auto; }
.platform-header { text-align: center; margin-bottom: 24px; }
.platform-eyebrow {
  font-family: var(--fm);
  font-size: .55rem;
  text-transform: uppercase;
  letter-spacing: .22em;
  color: var(--mt);
  margin-bottom: 10px;
}
.platform-title {
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: #fff;
}

/* ══════════════════════════════════════════════════════════
   TOOLKIT GRID — Large scroll-reveal 3×3 cards
   ══════════════════════════════════════════════════════════ */

.platform-sub {
  font-size: .88rem;
  color: var(--mt);
  margin-top: 8px;
  text-align: center;
}

/* Grid */
.tk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media(max-width:860px) { .tk-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:520px) { .tk-grid { grid-template-columns: 1fr; } }

/* Card base */
.tk-card {
  background: var(--sf);
  border: 1px solid var(--bd);
  border-radius: 20px;
  padding: 30px 26px 24px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 250px;

  /* Scroll-reveal initial state */
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity .6s ease,
    transform .6s ease,
    border-color .22s,
    box-shadow .25s;
}

/* Subtle glass sheen */
.tk-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.028), transparent 55%);
  pointer-events: none;
  border-radius: inherit;
}

/* Per-card glow blob top-right */
.tk-card::after {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: var(--glow, transparent);
  filter: blur(56px);
  opacity: 0;
  transition: opacity .35s;
  pointer-events: none;
}
.tk-card.tk-visible:hover::after { opacity: .55; }

/* Scroll-reveal visible state */
.tk-card.tk-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hover (only after visible to avoid fighting the reveal animation) */
.tk-card.tk-visible:hover {
  transform: translateY(-7px);
  border-color: var(--hover-bd, var(--bd2));
  box-shadow: 0 22px 60px rgba(0,0,0,.55);
}

/* AI card subtle teal border */
.tk-card-ai {
  border-color: rgba(0,212,200,.14);
}

/* Background art — large SVG illustration, top-right, fades bottom-left */
.tkc-bg-art {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 145px;
  height: 145px;
  pointer-events: none;
  z-index: 0;
}
.tkc-bg-art svg {
  width: 100%;
  height: 100%;
  opacity: 0.22;
  -webkit-mask-image: radial-gradient(ellipse 88% 88% at 100% 0%, black 8%, rgba(0,0,0,.5) 38%, transparent 72%);
  mask-image: radial-gradient(ellipse 88% 88% at 100% 0%, black 8%, rgba(0,0,0,.5) 38%, transparent 72%);
  transition: opacity .25s;
}
.tk-card.tk-visible:hover .tkc-bg-art svg { opacity: 0.36; }

/* Category label */
.tkc-label {
  font-family: var(--fm);
  font-size: .46rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  margin-bottom: 7px;
  position: relative;
  z-index: 1;
}

/* Title */
.tkc-title {
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: -.018em;
  line-height: 1.25;
  color: #fff;
  margin-bottom: 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 1;
}

/* Description */
.tkc-desc {
  font-size: .77rem;
  color: #94a3b8;
  line-height: 1.72;
  flex: 1;
  position: relative;
  z-index: 1;
}

/* Footer CTA row */
.tkc-footer {
  margin-top: 20px;
  position: relative;
  z-index: 1;
}
.tkc-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--fm);
  font-size: .54rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--mt);
  transition: color .18s;
}
.tk-card.tk-visible:hover .tkc-cta { color: var(--cta-c, #00d4c8); }
.tkc-arr { transition: transform .2s; }
.tk-card.tk-visible:hover .tkc-arr { transform: translateX(5px); }

/* AI badge inside title */
.tkc-ai-badge {
  font-family: var(--fm);
  font-size: .42rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(0,212,200,.1);
  color: #00d4c8;
  border: 1px solid rgba(0,212,200,.2);
  font-weight: 500;
}

/* ══════════════════════════════════════════════════════════
   HERO PLATFORM GRAPHIC CARD
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   HERO SIGNUP / MARKETING CARD (right column)
   ══════════════════════════════════════════════════════════ */

.hero-signup-card {
  background: var(--sf);
  border: 1px solid var(--bd2);
  border-radius: 22px;
  padding: 28px 26px 22px;
  box-shadow: 0 24px 64px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.035) inset;
  opacity: 0;
  animation: heroCardIn .55s .2s forwards;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
/* Cyan glow top-right */
.hero-signup-card::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,212,200,.12) 0%, transparent 70%);
  pointer-events: none;
}
@media(max-width:960px) {
  .hero-signup-card { width:100%; max-width:480px; margin:0 auto; }
}

.hsc-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
}
.hsc-lock { flex-shrink: 0; }
.hsc-brand-name {
  font-family: var(--fd);
  font-weight: 800;
  font-size: .9rem;
  color: #fff;
  letter-spacing: -.02em;
}
.hsc-brand-accent { color: #00d4c8; }
.hsc-brand-tag {
  margin-left: auto;
  font-family: var(--fm);
  font-size: .44rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  padding: 3px 9px;
  border-radius: 20px;
  background: rgba(0,212,200,.1);
  color: #00d4c8;
  border: 1px solid rgba(0,212,200,.22);
}

.hsc-headline {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 1.45rem;
  letter-spacing: -.03em;
  line-height: 1.18;
  color: #fff;
  margin-bottom: 10px;
}

.hsc-sub {
  font-size: .78rem;
  color: var(--mt);
  line-height: 1.65;
  margin-bottom: 22px;
}

.hsc-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.hsc-input {
  background: var(--sf2);
  border: 1px solid var(--bd2);
  border-radius: 10px;
  padding: 11px 14px;
  font-family: var(--fd);
  font-size: .82rem;
  color: var(--tx);
  outline: none;
  transition: border-color .2s;
}
.hsc-input:focus { border-color: rgba(0,212,200,.5); }
.hsc-input::placeholder { color: var(--dm); }
.hsc-submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #00d4c8;
  color: #050810;
  border: none;
  border-radius: 10px;
  padding: 11px 20px;
  font-family: var(--fd);
  font-weight: 700;
  font-size: .84rem;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s;
  box-shadow: 0 4px 18px rgba(0,212,200,.3);
}
.hsc-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,212,200,.45); }

.hsc-google-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  background: #fff;
  color: #1f1f1f;
  border: 1.5px solid #dadce0;
  border-radius: 10px;
  padding: 11px 16px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  transition: box-shadow .18s, background .18s;
  margin-bottom: 12px;
}
.hsc-google-btn:hover { background: #f5f5f5; box-shadow: 0 3px 12px rgba(0,0,0,.15); }
.hsc-google-btn:disabled { opacity: .6; cursor: not-allowed; }

.hsc-error-msg {
  font-size: .78rem;
  margin-bottom: 6px;
  color: #f05d78;
  min-height: 16px;
}

.hsc-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--dm);
  font-size: .72rem;
}
.hsc-divider::before, .hsc-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--bd);
}

.hsc-account-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: transparent;
  border: 1px solid var(--bd2);
  border-radius: 10px;
  padding: 10px 18px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: .82rem;
  color: var(--tx);
  cursor: pointer;
  transition: border-color .18s, background .18s;
  margin-bottom: 12px;
}
.hsc-account-btn:hover { border-color: rgba(0,212,200,.3); background: rgba(0,212,200,.04); color: #00d4c8; }

.hsc-signin-row {
  text-align: center;
  font-size: .72rem;
  color: var(--dm);
  margin-bottom: 16px;
}
.hsc-signin-link {
  color: #00d4c8;
  cursor: pointer;
  font-weight: 600;
}
.hsc-signin-link:hover { text-decoration: underline; }

.hsc-proof {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--bd);
}
.hsc-avatars { display: flex; }
.hsc-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid var(--bg);
  margin-left: -7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .55rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.hsc-avatars .hsc-av:first-child { margin-left: 0; }
.hsc-proof-txt {
  font-family: var(--fm);
  font-size: .58rem;
  color: var(--mt);
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ══════════════════════════════════════════════════════════
   HERO QUIZ CALLOUT — inline animated bubble on "What's my Cyber Career?" button
   ══════════════════════════════════════════════════════════ */

/* Quiz button + callout — side-by-side row layout */
.hero-quiz-wrap {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  position: relative;
}
/* Animated connector line: draws downward from button to quiz panel border */
.hero-quiz-wrap.quiz-open::after {
  content: '';
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 0;
  background: linear-gradient(to bottom, rgba(0,212,200,.75), rgba(255,255,255,.13));
  border-radius: 2px;
  animation: connectorDraw .7s cubic-bezier(.4,0,.2,1) forwards;
  pointer-events: none;
}
@keyframes connectorDraw {
  from { height: 0; opacity: 0; }
  to   { height: var(--connector-h, 200px); opacity: 1; }
}
.hero-quiz-callout {
  background: linear-gradient(135deg, rgba(0,212,200,.14), rgba(0,180,170,.08));
  border: 1px solid rgba(0,212,200,.38);
  border-radius: 10px;
  padding: 7px 13px;
  font-family: var(--fd);
  font-size: .72rem;
  font-weight: 600;
  color: #00d4c8;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 7px;
  animation: calloutBounce 3s ease-in-out infinite;
  box-shadow: 0 4px 18px rgba(0,212,200,.18);
  pointer-events: none;
  position: relative;
}
/* Arrow pointing LEFT — toward the button on the left */
.hero-quiz-callout::before {
  content: '';
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 7px solid rgba(0,212,200,.38);
}
@keyframes calloutBounce {
  0%, 100% { transform: translateX(0); opacity: 1; }
  50% { transform: translateX(4px); opacity: .92; }
}
.hqc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #00d4c8;
  animation: calloutPulse 1.4s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes calloutPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(1.3); }
}
.hqc-arrow { display: none; }

.hero-btn-quiz {
  border-color: rgba(0,212,200,.3);
  color: #00d4c8;
  transition: background .2s, border-color .2s, border-radius .2s, box-shadow .2s;
}
.hero-btn-quiz:hover {
  background: rgba(0,212,200,.08);
  border-color: rgba(0,212,200,.6);
}
.hero-btn-quiz.quiz-open {
  background: rgba(0,212,200,.14);
  border-color: rgba(0,212,200,.7);
  box-shadow: 0 0 20px rgba(0,212,200,.22);
}
.quiz-card-header {
  text-align: center;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--bd);
}
.quiz-card-header-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--tx);
  margin-bottom: 5px;
}
.quiz-card-header-sub {
  font-size: .76rem;
  color: var(--mt);
  line-height: 1.5;
}
.quiz-arrow {
  margin-left: 7px;
  font-size: .7rem;
  display: inline-block;
  transition: transform .2s;
  vertical-align: middle;
}
/* Quiz open: connected border + subtle pulsing glow */
/* Quiz fade transition — display toggled via JS, opacity via CSS */
#home-quiz { transition: opacity .32s ease; }
#home-quiz.quiz-visible { padding-top: 8px; }

/* ══════════════════════════════════════════════════════════
   HOME LAB GUIDE — Interactive cards + step-by-step guides
   ══════════════════════════════════════════════════════════ */
.lab-card {
  background: var(--sf);
  border: 1px solid var(--lab-border, rgba(255,255,255,.12));
  border-radius: 14px;
  padding: 20px;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s, border-color .18s, background .18s;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden;
}
.lab-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--lab-color, rgba(255,255,255,.04));
  opacity: 0;
  transition: opacity .2s;
  border-radius: inherit;
}
.lab-card:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,0,0,.4); }
.lab-card:hover::before { opacity: 1; }
.lab-card-icon { font-size: 1.8rem; line-height: 1; }
.lab-card-body { flex: 1; }
.lab-card-title { font-weight: 800; font-size: .95rem; color: var(--tx); margin-bottom: 4px; }
.lab-card-sub { font-size: .74rem; color: var(--mt); margin-bottom: 8px; }
.lab-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lab-tag { font-family: var(--fm); font-size: .5rem; text-transform: uppercase; letter-spacing: .08em; padding: 3px 7px; border-radius: 4px; background: rgba(255,255,255,.06); color: var(--mt); border: 1px solid rgba(255,255,255,.08); }
.lab-card-open { font-family: var(--fm); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; color: var(--lb); display: flex; align-items: center; gap: 5px; margin-top: 4px; }
.lab-card.open .lab-card-open { color: var(--rd); }

/* Guide panel */
.lab-guide {
  margin-bottom: 28px;
  background: var(--sf);
  border: 1px solid var(--bd2);
  border-radius: 16px;
  overflow: hidden;
  animation: fu .25s ease;
}
.lg-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 2px solid;
  border-color: rgba(255,255,255,.08);
}
.lg-icon { font-size: 1.8rem; flex-shrink: 0; }
.lg-title { font-weight: 800; font-size: 1.05rem; color: var(--tx); margin-bottom: 3px; }
.lg-sub { font-size: .74rem; color: var(--mt); }
.lg-diagram {
  padding: 20px 24px 8px;
  border-bottom: 1px solid rgba(255,255,255,.05);
  background: rgba(0,0,0,.2);
  overflow: auto;
}
.lg-steps {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.lg-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.lg-step-n {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bl), var(--pu));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fm);
  font-size: .65rem;
  font-weight: 700;
  color: #fff;
  margin-top: 2px;
}
.lg-step-body { flex: 1; }
.lg-step-title { font-weight: 700; font-size: .9rem; color: var(--tx); margin-bottom: 5px; }
.lg-step-desc { font-size: .81rem; color: #94a3b8; line-height: 1.65; }
.lg-cmd {
  margin-top: 8px;
  background: rgba(0,0,0,.4);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--fm);
  font-size: .68rem;
  color: var(--gn);
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-x: auto;
}
.lg-tools {
  padding: 14px 24px;
  border-top: 1px solid rgba(255,255,255,.05);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  background: rgba(0,0,0,.15);
}
.lg-tools-lbl { font-family: var(--fm); font-size: .5rem; text-transform: uppercase; letter-spacing: .1em; color: var(--mt); margin-right: 4px; }
.lg-tool-tag { font-family: var(--fm); font-size: .54rem; padding: 3px 9px; border-radius: 5px; background: rgba(77,158,255,.1); border: 1px solid rgba(77,158,255,.2); color: var(--bl); }

/* ══════════════════════════════════════════════════════════════
   FEATURES v10
   ══════════════════════════════════════════════════════════════ */

/* ─── SEARCH HINT BTN in NAV ─────────────────────────── */
.search-hint-btn{background:rgba(255,255,255,.06);border:1px solid var(--bd2);border-radius:8px;color:var(--mt);font-family:var(--fm);font-size:.65rem;padding:4px 10px;cursor:pointer;transition:all .2s;letter-spacing:.03em;white-space:nowrap;}
.search-hint-btn:hover{background:rgba(77,158,255,.1);border-color:rgba(77,158,255,.3);color:var(--bl);}

/* ─── WHAT'S NEW STRIP ───────────────────────────────── */
.whats-new-strip{max-width:820px;margin:0 auto 0;padding:16px 28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.wn-label{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--bl);background:rgba(77,158,255,.12);border:1px solid rgba(77,158,255,.2);border-radius:6px;padding:3px 10px;white-space:nowrap;flex-shrink:0;}
.wn-items{display:flex;gap:8px;flex-wrap:wrap;flex:1;}
.wn-item{display:flex;align-items:center;gap:8px;background:var(--sf);border:1px solid var(--bd2);border-radius:10px;padding:7px 12px;cursor:pointer;transition:all .2s;font-size:.76rem;}
.wn-item:hover{border-color:rgba(77,158,255,.4);background:rgba(77,158,255,.06);}
.wn-icon{font-size:1rem;line-height:1;}
.wn-text{color:var(--tx);font-weight:500;}
.wn-date{font-family:var(--fm);font-size:.6rem;color:var(--mt);margin-left:auto;white-space:nowrap;}

/* ─── DAILY CHALLENGE ────────────────────────────────── */
.daily-challenge{max-width:820px;margin:20px auto 8px;padding:0 28px;}
.dc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap;}
.dc-header-left{display:flex;flex-direction:column;gap:2px;}
.dc-eyebrow{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gn);background:rgba(16,232,126,.1);border:1px solid rgba(16,232,126,.2);border-radius:6px;padding:3px 10px;width:fit-content;}
.dc-sub{font-size:.74rem;color:var(--mt);margin-top:4px;}
.dc-streak{font-family:var(--fm);font-size:.75rem;color:var(--or);background:rgba(255,140,66,.1);border:1px solid rgba(255,140,66,.2);border-radius:8px;padding:6px 14px;white-space:nowrap;}
.dc-q-wrap{background:var(--sf);border:1px solid var(--bd2);border-radius:14px;padding:24px;}
.dc-category{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.dc-cat-tag{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bl);background:rgba(77,158,255,.1);border:1px solid rgba(77,158,255,.2);border-radius:5px;padding:3px 9px;}
.dc-diff{font-family:var(--fm);font-size:.6rem;border-radius:5px;padding:3px 9px;}
.diff-easy{background:rgba(16,232,126,.1);border:1px solid rgba(16,232,126,.2);color:var(--gn);}
.diff-medium{background:rgba(245,200,66,.1);border:1px solid rgba(245,200,66,.2);color:var(--am);}
.diff-hard{background:rgba(240,93,120,.1);border:1px solid rgba(240,93,120,.2);color:var(--rd);}
.dc-question{font-size:.94rem;font-weight:700;color:var(--tx);line-height:1.5;margin-bottom:18px;}
.dc-opts{display:flex;flex-direction:column;gap:8px;}
.dc-opt{display:flex;align-items:flex-start;gap:12px;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:10px;padding:12px 16px;cursor:pointer;transition:all .18s;}
.dc-opt:hover{border-color:rgba(77,158,255,.4);background:rgba(77,158,255,.06);}
.dc-opt-letter{font-family:var(--fm);font-size:.7rem;font-weight:700;color:var(--bl);background:rgba(77,158,255,.12);border-radius:5px;padding:2px 8px;flex-shrink:0;margin-top:1px;}
.dc-opt-text{font-size:.83rem;color:var(--tx);line-height:1.45;}
.dc-opt-correct{border-color:rgba(16,232,126,.6)!important;background:rgba(16,232,126,.08)!important;}
.dc-opt-correct .dc-opt-letter{background:rgba(16,232,126,.2);color:var(--gn);}
.dc-opt-wrong{border-color:rgba(240,93,120,.6)!important;background:rgba(240,93,120,.08)!important;}
.dc-opt-wrong .dc-opt-letter{background:rgba(240,93,120,.2);color:var(--rd);}
.dc-opt-neutral{opacity:.5;}
.dc-result{background:var(--sf);border:1px solid var(--bd2);border-radius:14px;padding:24px;text-align:center;}
.dc-result-win{border-color:rgba(16,232,126,.3);background:rgba(16,232,126,.04);}
.dc-result-loss{border-color:rgba(240,93,120,.3);background:rgba(240,93,120,.04);}
.dc-result-icon{font-size:2rem;margin-bottom:8px;}
.dc-result-hd{font-weight:800;font-size:1.1rem;color:var(--tx);margin-bottom:6px;}
.dc-result-ans{font-size:.82rem;color:var(--mt);margin-bottom:12px;}
.dc-result-ans strong{color:var(--gn);}
.dc-explanation{font-size:.82rem;color:var(--tx);line-height:1.6;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:8px;padding:14px;text-align:left;margin-bottom:14px;}
.dc-next-label{font-family:var(--fm);font-size:.68rem;color:var(--mt);}

/* ─── GLOBAL SEARCH ──────────────────────────────────── */
.search-overlay{display:none;position:fixed;inset:0;background:rgba(10,14,22,.8);backdrop-filter:blur(8px);z-index:9999;align-items:flex-start;justify-content:center;padding-top:80px;}
.search-overlay.search-open{display:flex;}
.search-box{width:100%;max-width:640px;background:var(--sf);border:1px solid var(--bd2);border-radius:16px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.6);}
.search-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--bd2);}
.search-icon{font-size:1.1rem;flex-shrink:0;opacity:.6;}
.search-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--ff);font-size:.95rem;color:var(--tx);padding:0;}
.search-input::placeholder{color:var(--dm);}
.search-close-btn{font-family:var(--fm);font-size:.6rem;color:var(--mt);background:rgba(255,255,255,.06);border:1px solid var(--bd2);border-radius:5px;padding:3px 8px;cursor:pointer;}
.search-results{max-height:400px;overflow-y:auto;padding:8px 0;}
.sr-hint,.sr-no-results{padding:20px 20px;font-size:.82rem;color:var(--mt);text-align:center;}
.sr-group{padding:8px 0;}
.sr-group-label{font-family:var(--fm);font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;color:var(--dm);padding:4px 20px 6px;}
.sr-item{display:flex;align-items:center;gap:12px;padding:8px 20px;cursor:pointer;transition:background .12s;}
.sr-item:hover{background:rgba(255,255,255,.04);}
.sr-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.sr-dot-page{background:var(--gn);}
.sr-dot-role{background:var(--bl);}
.sr-dot-domain{background:var(--pu);}
.sr-dot-cert{background:var(--or);}
.sr-dot-salary{background:var(--am);}
.sr-dot-tool{background:var(--rd);}
.sr-item-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.sr-label{font-size:.84rem;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sr-sub{font-size:.72rem;color:var(--mt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ─── CERT PROGRESS TRACKER ─────────────────────────── */
.cpt-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:10px;padding:10px 16px;margin-top:14px;font-family:var(--fm);font-size:.72rem;color:var(--tx);}
.cpt-summary span{display:flex;align-items:center;gap:5px;}
.cpt-reset-btn,.cpt-compare-btn{margin-left:auto;background:rgba(255,255,255,.06);border:1px solid var(--bd2);border-radius:7px;color:var(--mt);font-family:var(--fm);font-size:.65rem;padding:4px 11px;cursor:pointer;transition:all .18s;}
.cpt-compare-btn{margin-left:0;color:var(--bl);border-color:rgba(77,158,255,.3);background:rgba(77,158,255,.08);}
.cpt-reset-btn:hover{border-color:rgba(240,93,120,.4);color:var(--rd);}
.cpt-compare-btn:hover{background:rgba(77,158,255,.15);}
/* Badge status overlays */
.cb.cb-planned{box-shadow:0 0 0 2px var(--am),0 0 8px rgba(245,200,66,.3)!important;}
.cb.cb-inprog{box-shadow:0 0 0 2px var(--bl),0 0 8px rgba(77,158,255,.3)!important;}
.cb.cb-done{box-shadow:0 0 0 2px var(--gn),0 0 8px rgba(16,232,126,.3)!important;opacity:.7;}
.cb.cb-done::after{opacity:1!important;}

/* ─── CERT COMPARISON MODAL ─────────────────────────── */
.cert-compare-modal{display:none;position:fixed;inset:0;background:rgba(10,14,22,.8);backdrop-filter:blur(8px);z-index:9998;align-items:center;justify-content:center;padding:24px;}
.cert-compare-modal.ccm-open{display:flex;}
.ccm-inner{background:var(--bg);border:1px solid var(--bd2);border-radius:20px;width:100%;max-width:720px;max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.6);}
.ccm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--bd2);}
.ccm-title{font-size:1rem;font-weight:800;color:var(--tx);margin:0;}
.ccm-close{background:rgba(255,255,255,.06);border:1px solid var(--bd2);border-radius:8px;color:var(--mt);font-size:.9rem;width:32px;height:32px;cursor:pointer;transition:all .18s;}
.ccm-close:hover{color:var(--tx);border-color:var(--mt);}
.ccm-selectors{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--bd2);flex-wrap:wrap;}
.ccm-sel-row{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;}
.ccm-sel-label{font-family:var(--fm);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);white-space:nowrap;}
.ccm-select{flex:1;background:var(--sf);border:1px solid var(--bd2);border-radius:8px;color:var(--tx);font-family:var(--ff);font-size:.8rem;padding:7px 10px;outline:none;}
.ccm-vs{font-family:var(--fm);font-size:.75rem;font-weight:700;color:var(--mt);flex-shrink:0;}
.ccm-table{padding:8px 24px 24px;}
.ccm-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.ccm-row-hd .ccm-col-hd{font-weight:800;color:var(--tx);font-size:.82rem;}
.ccm-row-label{font-family:var(--fm);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mt);display:flex;align-items:center;}
.ccm-col{font-size:.81rem;color:var(--tx);display:flex;align-items:center;}
.ccm-diff .ccm-col{color:var(--bl);font-weight:600;}
.ccm-msg{padding:20px;text-align:center;color:var(--mt);font-size:.82rem;}

/* ─── SALARY CALCULATOR ──────────────────────────────── */
.sal-calc{background:var(--sf);border:1px solid var(--bd2);border-radius:16px;padding:28px;margin-bottom:32px;}
.sc-title{font-size:1rem;font-weight:800;color:var(--tx);margin-bottom:4px;}
.sc-subtitle{font-size:.78rem;color:var(--mt);margin-bottom:20px;}
.sc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.sc-form-row{display:flex;flex-direction:column;gap:6px;}
.sc-label{font-family:var(--fm);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);}
.sc-select{background:var(--bg);border:1px solid var(--bd2);border-radius:8px;color:var(--tx);font-family:var(--ff);font-size:.8rem;padding:8px 12px;outline:none;cursor:pointer;}
.sc-select:focus{border-color:rgba(77,158,255,.4);}
.sc-cert-bonuses{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0;}
.sc-cert-cb{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--mt);cursor:pointer;padding:4px 8px;border:1px solid var(--bd2);border-radius:7px;transition:all .15s;}
.sc-cert-cb:hover,.sc-cert-cb:has(input:checked){border-color:rgba(77,158,255,.4);color:var(--bl);background:rgba(77,158,255,.06);}
.sc-cert-cb input{cursor:pointer;}
.sc-result{margin-top:20px;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:12px;padding:20px;}
.sc-placeholder{font-size:.82rem;color:var(--dm);text-align:center;padding:8px 0;}
.sc-result-role{font-size:.9rem;font-weight:700;color:var(--tx);margin-bottom:14px;}
.sc-range-wrap{margin-bottom:12px;}
.sc-range-labels{display:flex;justify-content:space-between;font-family:var(--fm);font-size:.72rem;color:var(--mt);margin-bottom:6px;}
.sc-mid-label{color:var(--gn);font-weight:600;}
.sc-range-bar{height:8px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden;}
.sc-range-fill{height:100%;background:linear-gradient(90deg,var(--bl),var(--gn));border-radius:4px;width:60%;}
.sc-tip{font-size:.74rem;color:var(--mt);line-height:1.5;}

/* ─── CAREER ROADMAP ─────────────────────────────────── */
.rm-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.rm-filter-chip{background:rgba(255,255,255,.04);border:1px solid var(--bd2);border-radius:8px;color:var(--mt);font-family:var(--fm);font-size:.65rem;padding:5px 13px;cursor:pointer;transition:all .18s;}
.rm-filter-chip:hover{border-color:rgba(77,158,255,.3);color:var(--bl);}
.rm-filter-chip.rm-chip-active{background:rgba(77,158,255,.1);border-color:rgba(77,158,255,.4);color:var(--bl);}
.rm-node{position:absolute;transform:translate(-50%,-50%);background:var(--sf);border:1.5px solid;border-radius:10px;padding:7px 12px;cursor:pointer;transition:all .2s;max-width:140px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 2px 12px rgba(0,0,0,.3);}
.rm-node:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 4px 20px rgba(0,0,0,.4);}
.rm-node.rm-node-active{box-shadow:0 0 0 2px currentColor,0 4px 20px rgba(0,0,0,.4);}
.rm-node-icon{font-size:1.2rem;line-height:1;}
.rm-node-title{font-size:.62rem;font-weight:600;line-height:1.3;}
.rm-info-panel{background:var(--sf);border:1.5px solid var(--bd2);border-radius:14px;padding:20px;margin-top:20px;}
.rm-info-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.rm-info-icon{font-size:1.5rem;}
.rm-info-title{font-size:.95rem;font-weight:800;}
.rm-info-close{margin-left:auto;background:rgba(255,255,255,.06);border:1px solid var(--bd2);border-radius:7px;color:var(--mt);width:28px;height:28px;cursor:pointer;font-size:.8rem;}
.rm-info-meta{font-size:.74rem;color:var(--mt);margin-bottom:8px;}
.rm-info-salary{font-size:.82rem;color:var(--am);margin-bottom:10px;font-weight:600;}
.rm-info-desc{font-size:.82rem;color:var(--tx);line-height:1.6;margin:0 0 10px;}
.rm-info-daily{font-size:.78rem;color:var(--mt);line-height:1.5;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:8px;padding:10px 14px;margin-bottom:12px;}
.rm-info-actions{display:flex;gap:8px;flex-wrap:wrap;}
.rm-info-btn{background:rgba(77,158,255,.1);border:1px solid rgba(77,158,255,.3);border-radius:8px;color:var(--bl);font-family:var(--ff);font-size:.74rem;padding:6px 14px;cursor:pointer;transition:all .18s;}
.rm-info-btn:hover{background:rgba(77,158,255,.2);}

/* ─── TOOL ENCYCLOPEDIA ──────────────────────────────── */
.tools-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px;}
.tf-search{flex:1;min-width:220px;background:var(--sf);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--ff);font-size:.83rem;padding:9px 14px;outline:none;}
.tf-search:focus{border-color:rgba(77,158,255,.4);}
.tf-search::placeholder{color:var(--dm);}
.tf-cat-select{background:var(--sf);border:1px solid var(--bd2);border-radius:10px;color:var(--tx);font-family:var(--ff);font-size:.83rem;padding:9px 14px;outline:none;cursor:pointer;}
.tools-count{font-family:var(--fm);font-size:.68rem;color:var(--mt);}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.tool-card{background:var(--sf);border:1px solid var(--bd2);border-radius:12px;padding:16px;transition:border-color .18s;}
.tool-card:hover{border-color:rgba(77,158,255,.3);}
.tc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px;}
.tc-name{font-size:.86rem;font-weight:700;color:var(--tx);}
.tc-tier-badge{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:5px;white-space:nowrap;flex-shrink:0;}
.tc-vendor{font-size:.72rem;color:var(--mt);margin-bottom:8px;}
.tc-cat-tag{color:var(--bl);}
.tc-desc{font-size:.78rem;color:var(--tx);line-height:1.5;margin-bottom:10px;}
.tc-tags{display:flex;flex-wrap:wrap;gap:5px;}
.tc-tag{font-family:var(--fm);font-size:.55rem;color:var(--dm);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:2px 7px;}
.tools-no-results{grid-column:1/-1;text-align:center;color:var(--mt);font-size:.85rem;padding:40px;}

/* ─── CTF & CONFERENCE CALENDAR ──────────────────────── */
.cal-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.cal-filter-chip{background:rgba(255,255,255,.04);border:1px solid var(--bd2);border-radius:8px;color:var(--mt);font-family:var(--fm);font-size:.65rem;padding:5px 13px;cursor:pointer;transition:all .18s;}
.cal-filter-chip:hover{border-color:rgba(77,158,255,.3);color:var(--bl);}
.cal-filter-chip.cal-chip-active{background:rgba(77,158,255,.1);border-color:rgba(77,158,255,.4);color:var(--bl);}
.cal-month-group{margin-bottom:28px;}
.cal-month-label{font-family:var(--fm);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mt);padding-bottom:10px;border-bottom:1px solid var(--bd2);margin-bottom:12px;}
.cal-event{display:flex;align-items:flex-start;gap:14px;background:var(--sf);border:1px solid var(--bd2);border-radius:12px;padding:14px 16px;margin-bottom:8px;transition:border-color .18s;}
.cal-event:hover{border-color:rgba(77,158,255,.3);}
.ce-date{font-family:var(--fm);font-size:.68rem;color:var(--mt);white-space:nowrap;min-width:52px;padding-top:2px;}
.ce-body{flex:1;min-width:0;}
.ce-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.ce-title{font-size:.86rem;font-weight:700;color:var(--tx);}
.ce-type-badge{font-family:var(--fm);font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:5px;white-space:nowrap;}
.ce-free-tag{font-family:var(--fm);font-size:.56rem;background:rgba(16,232,126,.1);border:1px solid rgba(16,232,126,.25);color:var(--gn);padding:2px 8px;border-radius:5px;}
.ce-virtual-tag{font-family:var(--fm);font-size:.56rem;background:rgba(77,158,255,.1);border:1px solid rgba(77,158,255,.2);color:var(--bl);padding:2px 8px;border-radius:5px;}
.ce-desc{font-size:.77rem;color:var(--mt);line-height:1.5;}
.ce-diff{font-size:.72rem;color:var(--mt);margin-top:5px;}
.ce-link{font-family:var(--fm);font-size:.65rem;color:var(--bl);text-decoration:none;white-space:nowrap;padding:5px 10px;border:1px solid rgba(77,158,255,.25);border-radius:7px;transition:all .18s;flex-shrink:0;margin-top:2px;}
.ce-link:hover{background:rgba(77,158,255,.1);}
.cal-empty,.cal-list{color:var(--mt);}
.cal-empty{text-align:center;padding:40px;font-size:.85rem;}

/* ─── RESUME TEMPLATES ───────────────────────────────── */
.resume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:0;}
.rt-card{background:var(--sf);border:1.5px solid var(--bd2);border-radius:14px;padding:20px;cursor:pointer;transition:all .2s;text-align:center;}
.rt-card:hover{border-color:var(--rt-color,var(--bl));box-shadow:0 0 20px color-mix(in srgb,var(--rt-color,var(--bl)) 20%,transparent);}
.rt-icon{font-size:2rem;margin-bottom:10px;line-height:1;}
.rt-role{font-size:.88rem;font-weight:800;color:var(--tx);margin-bottom:4px;}
.rt-level{font-size:.72rem;color:var(--mt);margin-bottom:14px;}
.rt-footer{border-top:1px solid var(--bd2);padding-top:10px;margin-top:4px;}
.rt-btn{font-size:.74rem;color:var(--rt-color,var(--bl));font-weight:600;}
/* Detail panel */
#resume-detail{background:var(--sf);border:1px solid var(--bd2);border-radius:16px;padding:28px;}
.rd-close{background:transparent;border:none;color:var(--bl);font-size:.8rem;cursor:pointer;padding:0 0 14px;display:block;}
.rd-header{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1.5px solid var(--bd2);margin-bottom:18px;}
.rd-icon{font-size:2rem;}
.rd-role{font-size:1rem;font-weight:800;margin-bottom:3px;}
.rd-level{font-size:.74rem;color:var(--mt);}
.rd-tips-hd{font-size:.88rem;font-weight:700;color:var(--tx);margin:0 0 12px;}
.rd-tips-list{color:var(--tx);font-size:.82rem;line-height:1.8;margin:0 0 20px;padding-left:18px;}
.rd-tips-list li{margin-bottom:4px;}
.rd-cta{background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:10px;padding:16px;}
.rd-template-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(77,158,255,.1);border:1px solid rgba(77,158,255,.3);border-radius:9px;color:var(--bl);font-family:var(--ff);font-size:.8rem;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .18s;}
.rd-template-btn:hover{background:rgba(77,158,255,.2);}
.rd-note{font-size:.72rem;color:var(--mt);margin-top:10px;margin-bottom:0;}

/* ─── WALL OF WINS ───────────────────────────────────── */
.stories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:40px;}
.story-card{background:var(--sf);border:1px solid var(--bd2);border-radius:14px;padding:20px;display:flex;gap:14px;transition:border-color .18s;}
.story-card:hover{border-color:rgba(77,158,255,.3);}
.sc-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.88rem;flex-shrink:0;border:1.5px solid currentColor;}
.sc-body{flex:1;min-width:0;}
.sc-name{font-size:.82rem;font-weight:700;color:var(--tx);margin-bottom:2px;}
.sc-role{font-size:.78rem;color:var(--gn);margin-bottom:2px;display:flex;align-items:center;gap:5px;}
.sc-role-icon{font-size:.9rem;}
.sc-prev{font-size:.72rem;color:var(--mt);margin-bottom:8px;}
.sc-quote{font-size:.8rem;color:var(--tx);line-height:1.55;font-style:italic;border-left:3px solid rgba(77,158,255,.3);padding-left:10px;margin-bottom:8px;}
.sc-tip{font-size:.76rem;color:var(--mt);line-height:1.5;background:rgba(255,255,255,.03);border:1px solid var(--bd2);border-radius:7px;padding:8px 12px;margin-bottom:8px;}
.sc-meta{font-family:var(--fm);font-size:.63rem;color:var(--dm);}
/* Submit form */
.story-submit-section{background:var(--sf);border:1px solid var(--bd2);border-radius:16px;padding:28px;}
.ssf-header{font-size:.95rem;font-weight:800;color:var(--tx);margin-bottom:6px;}
.ssf-sub{font-size:.8rem;color:var(--mt);margin-bottom:20px;}
.ssf-form{display:flex;flex-direction:column;gap:14px;}
.ssf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.ssf-row{grid-template-columns:1fr;}}
.ssf-field{display:flex;flex-direction:column;gap:6px;}
.ssf-label{font-family:var(--fm);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mt);}
.ssf-optional{text-transform:none;letter-spacing:0;color:var(--dm);}
.ssf-input,.ssf-textarea{background:var(--bg);border:1px solid var(--bd2);border-radius:8px;color:var(--tx);font-family:var(--ff);font-size:.82rem;padding:9px 12px;outline:none;transition:border-color .18s;}
.ssf-input:focus,.ssf-textarea:focus{border-color:rgba(77,158,255,.4);}
.ssf-textarea{resize:vertical;}
.ssf-submit{background:linear-gradient(135deg,var(--bl),var(--pu));border:none;border-radius:10px;color:#fff;font-family:var(--ff);font-size:.85rem;font-weight:700;padding:12px 24px;cursor:pointer;transition:opacity .18s;width:fit-content;}
.ssf-submit:hover{opacity:.85;}

/* ─── TOAST ──────────────────────────────────────────── */
.isd-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--sf);border:1px solid var(--bd2);border-radius:12px;padding:12px 24px;font-size:.82rem;color:var(--tx);box-shadow:0 8px 32px rgba(0,0,0,.4);z-index:99999;opacity:0;transition:all .3s;white-space:nowrap;pointer-events:none;}
.isd-toast.toast-show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ─── MOBILE CERT VIEW ───────────────────────────────── */
.cert-mobile-hint{display:none;font-size:.72rem;color:var(--mt);text-align:center;margin-top:8px;font-style:italic;}
@media(max-width:768px){
  .cert-mobile-hint{display:block;}
  .cert-table,.cw>.cert-table{overflow-x:auto;display:block;-webkit-overflow-scrolling:touch;}
  .cb{min-height:40px;min-width:40px;}
  .cpt-summary{font-size:.65rem;gap:8px;}
  .cpt-compare-btn{display:none;}
  .rm-node-title{font-size:.55rem;}
  .tools-grid{grid-template-columns:1fr;}
  .stories-grid{grid-template-columns:1fr;}
  .resume-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
  .sc-form{grid-template-columns:1fr;}
  .sal-calc{padding:18px;}
  .ccm-row{grid-template-columns:90px 1fr 1fr;gap:8px;}
  .search-box{margin:0 12px;}
  .whats-new-strip{padding:12px 16px;}
  .daily-challenge{padding:0 16px;}
}

/* ══════════════════════ v11 STYLES ══════════════════════ */

/* ─── NAV: Search button + Profile icon ─────────────────── */
.search-hint-btn{
  display:flex;align-items:center;gap:6px;
  padding:6px 13px;border-radius:20px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  color:var(--mt);font-size:.75rem;cursor:pointer;transition:all .2s;
  white-space:nowrap;font-family:inherit;
}
.search-hint-btn:hover{background:rgba(255,255,255,.1);color:var(--tx);border-color:rgba(255,255,255,.22);}
.nav-profile-btn{
  width:34px;height:34px;border-radius:50%;
  background:rgba(77,158,255,.12);border:1px solid rgba(77,158,255,.3);
  color:#4d9eff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.nav-profile-btn:hover{background:rgba(77,158,255,.22);border-color:rgba(77,158,255,.6);transform:scale(1.08);}
.ncat-account{position:relative;}
.ncat-account .account-drop{right:0;left:auto;min-width:240px;}
.account-drop-header{display:flex;align-items:center;gap:12px;padding:14px 14px 10px;}
.adh-initial{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--lb),var(--bl));color:#000;font-weight:800;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.adh-info{display:flex;flex-direction:column;gap:2px;overflow:hidden;}
.adh-name{font-size:.85rem;font-weight:700;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adh-plan{font-family:var(--fm);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mt);}
.adh-plan-pro{color:var(--lb);}
.ndrop-divider{height:1px;background:var(--bd);margin:4px 8px;}
.ndi-signout .ndi-label{color:var(--mt);}
.ndi-signout:hover .ndi-label{color:#ff6b6b;}
/* Manage subscription section */
.manage-sub-section{background:var(--sf);border:1px solid var(--bd2);border-radius:16px;padding:28px 32px;margin-bottom:36px;}
.manage-sub-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.manage-sub-label{font-family:var(--fm);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lb);margin-bottom:8px;}
.manage-sub-status{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--tx);margin-bottom:8px;}
.manage-sub-dot{width:8px;height:8px;border-radius:50%;background:var(--gn);box-shadow:0 0 6px var(--gn);flex-shrink:0;}
.manage-sub-note{font-size:.78rem;color:var(--mt);line-height:1.6;max-width:420px;}
.manage-sub-btn{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:11px 22px;border-radius:9px;background:transparent;border:1px solid var(--bd2);color:var(--tx);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0;}
.manage-sub-btn:hover{border-color:var(--lb);color:var(--lb);}
.manage-sub-btn:disabled{opacity:.6;cursor:default;}

/* ─── EDITORIAL ARTICLE SECTION ─────────────────────────── */
.editorial-section{
  padding:80px 0 100px;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(13,18,30,.97) 100%);
  position:relative;overflow:hidden;
}
.editorial-section::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:900px;height:1px;background:linear-gradient(90deg,transparent,rgba(77,158,255,.25),transparent);
}
.editorial-inner{
  max-width:900px;margin:0 auto;padding:0 32px;
}
.ed-article-header{text-align:center;margin-bottom:56px;}
.ed-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4d9eff;margin-bottom:16px;}
.ed-headline{
  font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:800;line-height:1.22;
  color:var(--tx);margin:0 auto 28px;max-width:760px;
}
.ed-rule{width:60px;height:3px;background:linear-gradient(90deg,#4d9eff,#10e87e);margin:0 auto;border-radius:2px;}

.ed-drop-cap{
  font-size:1.05rem;line-height:1.85;color:#cbd5e1;margin-bottom:56px;
  border-left:3px solid rgba(77,158,255,.4);padding-left:24px;
}
.ed-drop-cap strong{color:var(--tx);}
.ed-link{color:#4d9eff;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;}
.ed-link:hover{color:#10e87e;}

/* Feature rows */
.ed-feature-row{
  display:grid;grid-template-columns:1fr auto;gap:40px;
  margin-bottom:64px;align-items:start;
}
.ed-row-flip{grid-template-columns:auto 1fr;}
.ed-feature-text{min-width:0;}
.ed-section-h{
  font-size:1.2rem;font-weight:700;color:var(--tx);
  margin:0 0 16px;line-height:1.35;
}
.ed-feature-text p{font-size:.94rem;line-height:1.85;color:#94a3b8;margin-bottom:14px;}
.ed-feature-text p strong{color:#e2e8f0;cursor:pointer;}
.ed-feature-text p strong:hover{color:#4d9eff;}

/* Inline cards */
.ed-inline-card{
  width:200px;flex-shrink:0;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;
  padding:20px 18px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;
}
.ed-inline-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(77,158,255,.06),transparent 70%);
  opacity:0;transition:opacity .25s;
}
.ed-inline-card:hover{transform:translateY(-4px);border-color:rgba(77,158,255,.3);box-shadow:0 12px 40px rgba(0,0,0,.35);}
.ed-inline-card:hover::before{opacity:1;}
.ed-card-sm{width:180px;padding:16px 15px;}
.ed-card-ai{border-color:rgba(0,212,200,.2);}
.ed-card-ai:hover{border-color:rgba(0,212,200,.5);}

.eic-icon{width:44px;height:44px;margin-bottom:12px;opacity:.85;}
.eic-icon svg{width:100%;height:100%;}
.eic-sm{width:34px;height:34px;margin-bottom:10px;}
.eic-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mt);margin-bottom:4px;}
.eic-title{font-size:.9rem;font-weight:700;color:var(--tx);margin-bottom:6px;line-height:1.25;}
.eic-stat{font-size:.72rem;color:var(--mt);margin-bottom:12px;line-height:1.4;}
.eic-cta{font-size:.75rem;font-weight:600;color:#4d9eff;letter-spacing:.02em;}
.ed-inline-card:hover .eic-cta{color:#10e87e;}
.eic-badge-ai{
  position:absolute;top:10px;right:10px;
  font-size:.6rem;font-weight:800;letter-spacing:.08em;
  padding:2px 7px;border-radius:6px;
  background:rgba(0,212,200,.15);color:#00d4c8;border:1px solid rgba(0,212,200,.3);
}

/* Cards stack */
.ed-cards-stack{display:flex;flex-direction:column;gap:12px;}

/* Pull quote */
.ed-pullquote{
  display:flex;gap:20px;align-items:flex-start;
  margin:0 0 56px;padding:24px;
  background:rgba(77,158,255,.04);border-radius:12px;
  border:1px solid rgba(77,158,255,.12);
}
.ed-pq-bar{width:3px;flex-shrink:0;background:linear-gradient(180deg,#4d9eff,#10e87e);border-radius:2px;min-height:50px;}
.ed-pq-text{font-size:1.05rem;font-style:italic;color:#cbd5e1;line-height:1.65;font-weight:500;}

/* Full-width cert break */
.ed-full-break{
  margin-bottom:64px;padding:32px;
  background:rgba(255,140,66,.04);border:1px solid rgba(255,140,66,.15);border-radius:20px;
}
.ed-break-content{display:grid;grid-template-columns:1fr 180px;gap:40px;align-items:center;}
.ed-break-text p{font-size:.94rem;line-height:1.85;color:#94a3b8;margin-bottom:14px;}
.ed-break-text p strong{color:#e2e8f0;}
.ed-break-card{width:180px;flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,140,66,.25);border-radius:16px;padding:20px 16px;cursor:pointer;transition:all .25s;text-align:center;}
.ed-break-card:hover{transform:translateY(-4px);border-color:rgba(255,140,66,.5);box-shadow:0 12px 36px rgba(255,140,66,.12);}

/* Three cards row */
.ed-three-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-bottom:64px;
}
.ed-three-cards .ed-inline-card{width:auto;min-width:0;}

/* Closing section */
.ed-closing{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;margin-bottom:24px;}
.ed-closing-text p{font-size:.94rem;line-height:1.85;color:#94a3b8;}
.ed-closing-text strong{color:#e2e8f0;cursor:pointer;}
.ed-closing-text strong:hover{color:#4d9eff;}
.ed-closing-cards{display:flex;flex-direction:column;gap:12px;}
.ed-closing-cards .ed-inline-card{width:180px;}

/* Mobile */
@media(max-width:768px){
  .ed-feature-row,.ed-row-flip{grid-template-columns:1fr;}
  .ed-row-flip .ed-cards-stack{order:-1;}
  .ed-cards-stack{flex-direction:row;}
  .ed-card-sm,.ed-inline-card{width:auto;flex:1;min-width:130px;}
  .ed-break-content{grid-template-columns:1fr;}
  .ed-break-card{width:100%;text-align:left;}
  .ed-three-cards{grid-template-columns:1fr 1fr;gap:12px;}
  .ed-closing{grid-template-columns:1fr;}
  .ed-closing-cards{flex-direction:row;flex-wrap:wrap;}
  .ed-closing-cards .ed-inline-card{width:auto;flex:1;min-width:140px;}
  .editorial-inner{padding:0 16px;}
  .ed-headline{font-size:1.6rem;}
}
@media(max-width:520px){
  .ed-three-cards{grid-template-columns:1fr;}
  .ed-cards-stack{flex-direction:column;}
  .ed-card-sm{width:100%;}
}

/* ─── DAILY CHALLENGE FLOATING BUTTON ────────────────────── */
.dc-float-btn{
  position:fixed;bottom:32px;right:32px;z-index:9500;
  display:none;align-items:center;gap:8px;
  padding:12px 18px;border-radius:50px;
  background:linear-gradient(135deg,#1a2744 0%,#0f1d36 100%);
  border:1px solid rgba(77,158,255,.35);
  color:var(--tx);cursor:pointer;font-family:inherit;
  box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 0 1px rgba(77,158,255,.1),inset 0 1px 0 rgba(255,255,255,.06);
  transition:all .25s;overflow:hidden;
}
.dc-float-btn::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(16,232,126,.1),transparent 60%);
  opacity:0;transition:opacity .25s;
}
.dc-float-btn:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 0 1px rgba(77,158,255,.3),inset 0 1px 0 rgba(255,255,255,.1);border-color:rgba(77,158,255,.55);}
.dc-float-btn:hover::before{opacity:1;}
.dc-float-icon{
  font-size:1.1rem;
  animation:dc-pulse 2.5s ease-in-out infinite;
}
@keyframes dc-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
.dc-float-label{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:#e2e8f0;}
.dc-float-streak{
  font-size:.72rem;font-weight:700;color:#f5c842;
  background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.25);
  padding:2px 7px;border-radius:10px;
}

/* Daily Challenge Modal */
.dc-modal{
  display:none;position:fixed;inset:0;z-index:10200;
  background:rgba(5,10,20,.75);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:20px;
}
.dc-modal.dc-modal-open{display:flex;}
.dc-modal-inner{
  background:var(--sf);border:1px solid rgba(77,158,255,.2);border-radius:24px;
  width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
}
.dc-modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 24px 20px;border-bottom:1px solid var(--bd2);
}
.dc-modal-title-wrap{display:flex;align-items:center;gap:14px;}
.dc-modal-icon{font-size:1.6rem;animation:dc-pulse 2.5s ease-in-out infinite;}
.dc-modal-title{font-size:1rem;font-weight:700;color:var(--tx);}
.dc-modal-streak-display{font-size:.78rem;color:#f5c842;margin-top:3px;}
.dc-modal-close{background:none;border:none;color:var(--mt);cursor:pointer;font-size:1.2rem;padding:4px 8px;border-radius:6px;}
.dc-modal-close:hover{background:rgba(255,255,255,.06);color:var(--tx);}

#dc-modal-body{padding:20px 24px 8px;}
.dcm-q{font-size:1rem;font-weight:600;color:var(--tx);line-height:1.5;margin-bottom:18px;}
.dcm-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.dcm-opt{
  padding:12px 16px;border-radius:10px;cursor:pointer;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  font-size:.88rem;color:#cbd5e1;transition:all .18s;
}
.dcm-opt:hover{background:rgba(77,158,255,.08);border-color:rgba(77,158,255,.35);color:var(--tx);}
.dcm-opt-correct{background:rgba(16,232,126,.1)!important;border-color:#10e87e!important;color:#10e87e!important;cursor:default;}
.dcm-opt-wrong{background:rgba(240,93,120,.08)!important;border-color:#f05d78!important;color:#f05d78!important;cursor:default;}
.dcm-opt-neutral{cursor:default;opacity:.6;}
.dcm-result{font-size:.95rem;font-weight:700;margin-bottom:12px;}
.dcm-result-win{color:#10e87e;}
.dcm-result-lose{color:#f05d78;}
.dcm-explain{font-size:.83rem;color:#94a3b8;line-height:1.7;margin-bottom:14px;padding:12px;background:rgba(255,255,255,.025);border-radius:8px;}
.dcm-meta{display:flex;gap:10px;margin-bottom:16px;}
.dcm-cat{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:6px;background:rgba(255,255,255,.06);color:var(--mt);}
.dcm-diff{font-size:.7rem;font-weight:700;}
.dcm-done-msg{font-size:.8rem;color:var(--mt);text-align:center;padding:12px;border-top:1px solid var(--bd2);margin-top:8px;}

/* DC Sign-up prompt */
.dc-signup-prompt{
  display:flex;gap:16px;align-items:flex-start;
  margin:0 24px 24px;padding:18px;
  background:rgba(77,158,255,.06);border:1px solid rgba(77,158,255,.2);border-radius:14px;
}
.dc-signup-icon{font-size:1.8rem;flex-shrink:0;line-height:1;}
.dc-signup-text strong{font-size:.88rem;color:var(--tx);display:block;margin-bottom:4px;}
.dc-signup-text p{font-size:.78rem;color:var(--mt);line-height:1.55;margin:0;}
.dc-signup-btn{
  margin-top:10px;padding:8px 14px;border-radius:8px;
  background:linear-gradient(135deg,#4d9eff,#10e87e);border:none;
  color:#000;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit;
}
.dc-signup-btn:hover{opacity:.88;}

/* ─── PROFILE PAGE ─────────────────────────────────────── */
.profile-header-card{
  display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);
  border-radius:20px;padding:28px;margin-bottom:24px;
}
.ph-avatar{
  width:72px;height:72px;border-radius:50%;flex-shrink:0;
  background:rgba(77,158,255,.12);border:2px solid rgba(77,158,255,.3);
  display:flex;align-items:center;justify-content:center;color:#4d9eff;
}
.ph-info{flex:1;min-width:160px;}
.ph-name{font-size:1.2rem;font-weight:700;color:var(--tx);}
.ph-role{font-size:.82rem;color:var(--mt);margin-top:4px;}
.ph-auth-area{flex:1;min-width:200px;}
.ph-supabase-note{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px;background:rgba(62,207,142,.05);border:1px solid rgba(62,207,142,.2);border-radius:12px;
}
.ph-note-icon{font-size:1.2rem;flex-shrink:0;}
.ph-supabase-note strong{font-size:.83rem;color:#3ECF8E;display:block;margin-bottom:4px;}
.ph-supabase-note p{font-size:.75rem;color:var(--mt);line-height:1.5;margin:0;}

.profile-stats-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;
}
.ps-stat{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;
  padding:18px;text-align:center;
}
.ps-stat-n{font-size:2rem;font-weight:800;color:var(--tx);line-height:1;}
.ps-stat-l{font-size:.72rem;color:var(--mt);margin-top:6px;text-transform:uppercase;letter-spacing:.08em;}

.profile-section{
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:24px;margin-bottom:20px;
}
.profile-section-hd{
  font-size:.92rem;font-weight:700;color:var(--tx);margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;
}
.psh-link{font-size:.76rem;font-weight:600;color:#4d9eff;cursor:pointer;text-decoration:none;}
.psh-link:hover{color:#10e87e;}

.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pf-field{display:flex;flex-direction:column;gap:6px;}
.pf-label{font-size:.74rem;font-weight:600;color:var(--mt);text-transform:uppercase;letter-spacing:.06em;}
.pf-input{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:10px 12px;color:var(--tx);font-size:.88rem;font-family:inherit;
  transition:border-color .2s;outline:none;
}
.pf-input:focus{border-color:rgba(77,158,255,.5);}
.pf-save-btn{
  margin-top:18px;padding:10px 24px;border-radius:10px;
  background:linear-gradient(135deg,#4d9eff,#10e87e);border:none;
  color:#000;font-size:.88rem;font-weight:700;cursor:pointer;font-family:inherit;
}
.pf-save-btn:hover{opacity:.88;transform:translateY(-1px);}

.pcs-row{display:flex;gap:12px;flex-wrap:wrap;}
.pcs-item{
  font-size:.8rem;font-weight:600;padding:5px 12px;border-radius:20px;
}
.pcs-done{background:rgba(16,232,126,.12);color:#10e87e;border:1px solid rgba(16,232,126,.2);}
.pcs-prog{background:rgba(245,200,66,.1);color:#f5c842;border:1px solid rgba(245,200,66,.2);}

/* Supabase section */
.profile-supabase-section{border-color:rgba(62,207,142,.2);}
.pss-inner{padding:4px 0;}
.pss-logo{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:#3ECF8E;margin-bottom:12px;}
.pss-desc{font-size:.85rem;color:#94a3b8;line-height:1.65;margin-bottom:16px;}
.pss-buttons{display:flex;flex-direction:column;gap:10px;max-width:320px;}
.pss-btn{
  padding:11px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);color:var(--mt);font-size:.85rem;
  font-family:inherit;cursor:not-allowed;display:flex;align-items:center;justify-content:space-between;
  opacity:.7;
}
.pss-primary{border-color:rgba(62,207,142,.3);color:#3ECF8E;background:rgba(62,207,142,.06);}
.pss-soon{font-size:.65rem;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.08);color:var(--mt);}

@media(max-width:768px){
  .profile-header-card{flex-direction:column;}
  .profile-form-grid{grid-template-columns:1fr;}
  .profile-stats-row{grid-template-columns:repeat(2,1fr);}
}

/* ─── RESUME TEMPLATES: Template box ─────────────────────── */
.rd-template-box{
  position:relative;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;overflow:hidden;
}
.rd-copy-btn{
  position:absolute;top:12px;right:12px;
  padding:6px 12px;border-radius:8px;
  background:rgba(77,158,255,.15);border:1px solid rgba(77,158,255,.35);
  color:#4d9eff;font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit;z-index:1;
}
.rd-copy-btn:hover{background:rgba(77,158,255,.25);}
.rd-template-text{
  margin:0;padding:48px 20px 20px;
  font-family:'JetBrains Mono',monospace;font-size:.75rem;
  color:#94a3b8;line-height:1.75;white-space:pre-wrap;word-break:break-word;
}

/* ─── TOOL CARDS: Link indicator ─────────────────────────── */
.tc-ext-link{font-size:.75rem;color:#4d9eff;margin-left:5px;opacity:.7;}
.tool-card-link:hover .tc-ext-link{opacity:1;}

/* ─── CERT COMPARISON: Link styles ──────────────────────── */
.ccm-link{
  display:inline-block;color:#4d9eff;font-size:.75rem;
  text-decoration:none;margin-right:8px;margin-top:4px;
}
.ccm-link:hover{color:#10e87e;text-decoration:underline;}

/* ─── FRONTEND DESIGN: Page animations ──────────────────── */
@keyframes ed-fade-up{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}
.ed-article-header{animation:ed-fade-up .7s ease both;}
.ed-drop-cap{animation:ed-fade-up .8s .1s ease both;}
.ed-feature-row{animation:ed-fade-up .7s .15s ease both;}

/* Tool encyclopedia: hover glow */
.tool-card{
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.tool-card:hover{
  border-color:rgba(77,158,255,.3);
  box-shadow:0 8px 32px rgba(77,158,255,.08);
  transform:translateY(-2px);
}

/* Calendar: hover row */
.cal-event{transition:background .18s;}
.cal-event:hover{background:rgba(255,255,255,.03);}

/* Stories: subtle hover */
.story-card{transition:transform .2s,box-shadow .2s;}
.story-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.3);}

/* DC float button pulsing ring */
.dc-float-btn::after{
  content:'';position:absolute;inset:-3px;border-radius:54px;
  border:2px solid rgba(16,232,126,.25);
  animation:dc-ring 3s ease-in-out infinite;pointer-events:none;
}
@keyframes dc-ring{
  0%,100%{opacity:.6;transform:scale(1);}
  50%{opacity:0;transform:scale(1.1);}
}

/* Profile page tab active indicator */
#nav-profile-btn.profile-active{
  background:rgba(77,158,255,.2);border-color:rgba(77,158,255,.5);
}

/* ─── AUTH MODAL (Phase 2) ─────────────────────────────────── */
.auth-modal{
  position:fixed;inset:0;z-index:11000;
  background:rgba(0,0,0,.72);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.auth-modal.open{opacity:1;pointer-events:all;}
.auth-modal-inner{
  background:#0d1526;border:1px solid rgba(0,212,200,.25);
  border-radius:18px;padding:36px 32px 32px;
  width:100%;max-width:400px;position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.85),0 0 0 1px rgba(0,212,200,.08),inset 0 1px 0 rgba(255,255,255,.06);
}
.auth-modal-close{
  position:absolute;top:14px;right:14px;
  background:none;border:1px solid var(--br);border-radius:8px;
  color:var(--mt);cursor:pointer;font-size:.9rem;
  width:28px;height:28px;line-height:1;
}
.auth-modal-close:hover{color:var(--tx);background:var(--bg);}
.auth-modal-brand{
  display:flex;align-items:center;gap:8px;
  font-size:.85rem;font-weight:700;color:var(--ac);
  letter-spacing:.04em;margin-bottom:20px;
}
.auth-tabs{
  display:flex;gap:4px;background:var(--bg);
  border-radius:10px;padding:4px;margin-bottom:24px;
}
.auth-tab{
  flex:1;padding:8px 12px;background:none;border:none;
  color:var(--mt);cursor:pointer;border-radius:7px;
  font-size:.88rem;font-weight:500;transition:all .15s;
}
.auth-tab.active{background:var(--ac);color:#fff;font-weight:600;}
.auth-tab:not(.active):hover{color:var(--tx);}
.auth-error{
  color:#ff5555;font-size:.82rem;
  margin-bottom:12px;min-height:18px;
}
.auth-field{margin-bottom:14px;}
.auth-label{
  display:block;font-size:.78rem;font-weight:600;
  color:var(--mt);margin-bottom:5px;letter-spacing:.02em;text-transform:uppercase;
}
.auth-input{
  width:100%;background:var(--bg);border:1px solid var(--br);
  border-radius:9px;padding:11px 14px;color:var(--tx);
  font-size:.92rem;box-sizing:border-box;transition:border-color .15s;
}
.auth-input:focus{outline:none;border-color:var(--ac);}
.auth-submit-btn{
  width:100%;background:var(--ac);color:#fff;border:none;
  border-radius:9px;padding:12px;font-size:.95rem;
  font-weight:700;cursor:pointer;margin-top:6px;
  letter-spacing:.02em;transition:opacity .15s;
}
.auth-submit-btn:hover{opacity:.88;}
.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.auth-switch{
  text-align:center;color:var(--mt);
  font-size:.83rem;margin-top:14px;
}
.auth-switch a{color:var(--ac);cursor:pointer;text-decoration:underline;}
.auth-switch a:hover{opacity:.8;}

/* ── Quiz Modal ── */
.quiz-modal{
  position:fixed;inset:0;z-index:10500;
  background:rgba(5,8,16,.88);backdrop-filter:blur(8px);
  display:flex;align-items:flex-start;justify-content:center;
  overflow-y:auto;padding:24px 16px 48px;box-sizing:border-box;
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.quiz-modal.open{opacity:1;pointer-events:auto;}
.quiz-modal-panel{position:relative;width:100%;max-width:820px;margin:auto;}
.quiz-modal-close{
  position:absolute;top:-14px;right:0;z-index:2;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  border-radius:50%;width:36px;height:36px;color:#fff;font-size:1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.quiz-modal-close:hover{background:rgba(255,255,255,.18);}
.qr-save-msg{
  text-align:center;margin-top:20px;font-size:.85rem;color:var(--mt);
  padding:14px 18px;background:rgba(0,212,200,.06);
  border:1px solid rgba(0,212,200,.18);border-radius:10px;line-height:1.6;
}
.qr-profile-link{color:var(--ac);cursor:pointer;text-decoration:underline;}
.pqs-results{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.pqs-result-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;}
.pqs-medal{font-size:1.05rem;min-width:26px;text-align:center;}
.pqs-title{flex:1;font-size:.88rem;color:var(--tx);font-weight:600;}
.pqs-pct{font-size:.8rem;font-weight:700;white-space:nowrap;}

/* ── New User Onboarding Modal ── */
.new-user-modal{
  position:fixed;inset:0;z-index:10700;
  background:rgba(5,8,16,.88);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .28s;
}
.new-user-modal.open{opacity:1;pointer-events:auto;}
.num-inner{
  background:#0d1526;border:1px solid rgba(0,212,200,.28);
  border-radius:20px;padding:40px 36px 32px;
  width:100%;max-width:440px;
  box-shadow:0 40px 100px rgba(0,0,0,.9),0 0 0 1px rgba(0,212,200,.08);
  text-align:center;
  animation:numSlide .3s ease;
}
@keyframes numSlide{from{transform:translateY(16px);opacity:0;}to{transform:none;opacity:1;}}
.num-icon{font-size:2.2rem;margin-bottom:12px;}
.num-title{
  font-family:var(--fd);font-size:1.4rem;font-weight:800;
  color:#fff;letter-spacing:-.03em;margin-bottom:8px;
}
.num-sub{font-size:.82rem;color:var(--mt);line-height:1.6;margin-bottom:24px;}
.num-field{text-align:left;margin-bottom:14px;}
.num-label{display:block;font-size:.75rem;font-weight:600;color:var(--mt);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;}
.num-opt{font-weight:400;color:rgba(255,255,255,.28);text-transform:none;letter-spacing:0;}
.num-input{
  width:100%;box-sizing:border-box;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:9px;padding:11px 14px;font-family:var(--fd);
  font-size:.88rem;color:#fff;outline:none;transition:border-color .2s;
}
.num-input:focus{border-color:rgba(0,212,200,.5);}
.num-input::placeholder{color:rgba(255,255,255,.25);}
.num-submit{
  width:100%;background:var(--ac);color:#050810;border:none;
  border-radius:10px;padding:13px;font-family:var(--fd);
  font-size:.95rem;font-weight:800;cursor:pointer;margin-top:8px;
  letter-spacing:.01em;transition:opacity .15s,transform .15s;
}
.num-submit:hover{opacity:.88;transform:translateY(-1px);}
.num-skip{
  background:none;border:none;color:rgba(255,255,255,.3);
  font-size:.78rem;cursor:pointer;margin-top:12px;
  text-decoration:underline;display:block;width:100%;
  transition:color .15s;
}
.num-skip:hover{color:rgba(255,255,255,.6);}

/* ── v16: Google OAuth + Magic Link ── */
.auth-google-btn{
  width:100%;display:flex;align-items:center;justify-content:center;
  gap:10px;background:#fff;color:#1f1f1f;border:1.5px solid #dadce0;
  border-radius:9px;padding:12px;font-size:.95rem;font-weight:600;
  cursor:pointer;transition:box-shadow .15s,background .15s;
  margin-bottom:4px;
}
.auth-google-btn:hover{background:#f8f8f8;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.auth-google-btn:disabled{opacity:.6;cursor:not-allowed;}
.auth-divider{
  display:flex;align-items:center;gap:10px;
  margin:18px 0 16px;color:rgba(255,255,255,.3);font-size:.78rem;
}
.auth-divider::before,.auth-divider::after{
  content:'';flex:1;height:1px;background:rgba(255,255,255,.1);
}
.auth-hint{
  text-align:center;color:rgba(255,255,255,.35);
  font-size:.78rem;margin-top:8px;line-height:1.5;
}
.auth-advanced{margin-top:22px;}
.auth-advanced > summary{
  color:rgba(255,255,255,.4);font-size:.82rem;cursor:pointer;
  text-align:center;list-style:none;user-select:none;
  transition:color .15s;
}
.auth-advanced > summary::-webkit-details-marker{display:none;}
.auth-advanced > summary::before{content:'+ ';}
.auth-advanced[open] > summary::before{content:'− ';}
.auth-advanced > summary:hover{color:rgba(255,255,255,.7);}
.auth-adv-body{margin-top:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;}

/* Nav profile initial badge */
.nav-profile-initial{
  width:28px;height:28px;border-radius:50%;
  background:var(--ac);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:800;letter-spacing:.01em;
}

/* Profile header signed-in state */
.ph-signed-in{
  display:flex;align-items:center;gap:10px;
  background:rgba(62,207,142,.1);border:1px solid rgba(62,207,142,.25);
  border-radius:10px;padding:12px 16px;
}
.ph-si-dot{
  width:8px;height:8px;border-radius:50%;
  background:#3ecf8e;flex-shrink:0;
}
.ph-si-text{font-size:.85rem;color:var(--mt);}
.ph-si-text strong{color:var(--tx);}

/* Profile header auth buttons */
.ph-auth-btns{display:flex;gap:8px;margin-top:10px;}

/* Account section signed-in info */
.pss-logged-in{font-size:.85rem;color:var(--mt);margin:12px 0 0;}
.pss-logged-in strong{color:var(--tx);}
.pss-signout-btn{border-color:rgba(255,85,85,.4)!important;color:#ff8080!important;}
.pss-signout-btn:hover{background:rgba(255,85,85,.08)!important;}

/* Static email display on profile form */
.pf-email-static{
  padding:10px 14px;background:var(--bg);border:1px solid var(--br);
  border-radius:9px;color:var(--mt);font-size:.9rem;
}
.pf-field-full{margin-bottom:16px;}
.pf-req{color:var(--ac);font-size:.72rem;font-weight:600;margin-left:4px;text-transform:uppercase;}

/* Salary save button */
.sc-save-btn{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:12px;padding:9px 18px;
  background:none;border:1px solid var(--ac);border-radius:8px;
  color:var(--ac);font-size:.85rem;font-weight:600;cursor:pointer;
  transition:all .15s;
}
.sc-save-btn:hover{background:var(--ac);color:#fff;}

/* Saved salary display on profile */
.pss-saved-sal{
  background:var(--bg);border:1px solid var(--br);border-radius:10px;
  padding:14px 16px;font-size:.85rem;color:var(--tx);
  white-space:pre-line;line-height:1.6;
}

/* ─── v13: NAV LOGO DC BADGE ────────────────────────────── */
.nlogo-shield-wrap{
  position:relative;display:inline-flex;align-items:center;
  cursor:pointer;padding:4px;margin:-4px;border-radius:8px;
  transition:background .15s;
}
.nlogo-shield-wrap:hover{background:rgba(77,158,255,.12);}
.nlogo-dc-badge{
  position:absolute;top:-5px;right:-5px;
  width:15px;height:15px;border-radius:50%;
  background:#f05d78;border:2px solid var(--bg);
  color:#fff;font-size:.52rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:10;
  animation:dc-badge-pulse 1.8s ease-in-out infinite;
}
@keyframes dc-badge-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(240,93,120,.7);}
  50%{box-shadow:0 0 0 5px rgba(240,93,120,0);}
}

/* ─── v13: QUIZ FLOAT BUTTON ────────────────────────────── */
.quiz-float-btn{
  position:fixed;bottom:32px;right:32px;z-index:9500;
  display:none;align-items:center;gap:10px;
  padding:13px 22px;border-radius:50px;
  background:linear-gradient(135deg,rgba(10,15,28,.97),rgba(18,26,48,.97));
  border:1px solid rgba(0,212,200,.3);
  color:#e2e8f0;font-family:var(--fm);cursor:pointer;
  box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 16px rgba(0,212,200,.1);
  transition:all .25s;overflow:hidden;
}
.quiz-float-btn::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(0,212,200,.1),transparent 65%);
  opacity:0;transition:opacity .25s;
}
.quiz-float-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 28px rgba(0,212,200,.2);
  border-color:rgba(0,212,200,.55);
}
.quiz-float-btn:hover::before{opacity:1;}
.quiz-float-btn.qfb-glow{
  border-color:rgba(0,212,200,.55);
  animation:qfb-glow-pulse 2.2s ease-in-out infinite;
}
.quiz-float-btn.qfb-glow:hover{animation:none;}
@keyframes qfb-glow-pulse{
  0%,100%{box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 12px rgba(0,212,200,.18);}
  50%{box-shadow:0 8px 32px rgba(0,0,0,.55),0 0 32px rgba(0,212,200,.38),0 0 0 6px rgba(0,212,200,.07);}
}
.qfb-icon{font-size:1rem;}
.qfb-label{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:#e2e8f0;}

/* ─── v13: HERO MEMBER WELCOME BANNER ──────────────────── */
#hsc-member{flex-direction:column;gap:0;height:100%;}
.hmv-greeting{
  font-size:.65rem;font-weight:700;color:#00d4c8;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;
}
.hmv-name{
  font-family:var(--fd);font-size:1.5rem;font-weight:800;
  color:#fff;line-height:1.15;margin-bottom:16px;
}
.hmv-role-row{
  display:flex;align-items:center;gap:9px;
  padding:9px 13px;margin-bottom:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-radius:11px;
}
.hmv-role-icon{font-size:.95rem;flex-shrink:0;}
.hmv-role-text{font-size:.75rem;color:var(--mt);line-height:1.45;}
.hmv-role-text strong{color:var(--tx);font-weight:600;}
.hmv-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px;}
.hmv-ql{
  display:flex;align-items:center;gap:6px;
  padding:8px 11px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);border-radius:9px;
  cursor:pointer;transition:all .18s;
  font-size:.7rem;color:var(--tx);font-weight:500;
}
.hmv-ql:hover{background:rgba(77,158,255,.1);border-color:rgba(77,158,255,.3);color:#4d9eff;}
.hmv-ql-icon{font-size:.8rem;}
.hmv-cert-bar{margin-bottom:14px;}
.hmv-cert-summary{display:flex;flex-wrap:wrap;gap:6px;}
.hmv-cs-item{font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:20px;}
.hmv-cs-done{background:rgba(16,232,126,.12);color:#10e87e;border:1px solid rgba(16,232,126,.2);}
.hmv-cs-prog{background:rgba(77,158,255,.12);color:#4d9eff;border:1px solid rgba(77,158,255,.2);}
.hmv-cs-plan{background:rgba(245,200,66,.1);color:#f5c842;border:1px solid rgba(245,200,66,.2);}
.hmv-cert-hint{font-size:.72rem;color:#4d9eff;cursor:pointer;}
.hmv-cert-hint:hover{text-decoration:underline;}
.hmv-footer{
  margin-top:auto;padding-top:12px;
  border-top:1px solid var(--bd);
  display:flex;align-items:center;
}
.hmv-status-dot{
  width:6px;height:6px;border-radius:50%;
  background:#10e87e;box-shadow:0 0 5px rgba(16,232,126,.5);flex-shrink:0;
}
.hmv-status-txt{
  font-size:.64rem;color:var(--mt);flex:1;margin-left:7px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.hmv-profile-btn{
  font-size:.68rem;font-weight:600;color:#00d4c8;
  cursor:pointer;padding:4px 9px;flex-shrink:0;
  border:1px solid rgba(0,212,200,.22);border-radius:7px;
  transition:all .15s;
}
.hmv-profile-btn:hover{background:rgba(0,212,200,.08);}

/* ─── v13: SALARY VISUALIZATION ────────────────────────── */
.sal-viz-card{
  background:var(--sf);border:1px solid var(--bd2);
  border-radius:14px;padding:20px 22px;
}
.sal-viz-role{font-size:.9rem;font-weight:700;color:var(--tx);margin-bottom:3px;line-height:1.3;}
.sal-viz-meta{font-size:.72rem;color:var(--mt);margin-bottom:18px;}
.sal-viz-range{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px;}
.sal-viz-min,.sal-viz-max{font-size:.75rem;color:var(--mt);text-align:center;}
.sal-viz-min small,.sal-viz-max small{display:block;font-size:.6rem;margin-top:2px;}
.sal-viz-mid{font-size:1.45rem;font-weight:800;color:#f5c842;text-align:center;line-height:1;}
.sal-viz-mid small{display:block;font-size:.58rem;font-weight:500;color:var(--mt);margin-top:3px;}
.sal-viz-bar{
  height:10px;background:rgba(255,255,255,.06);
  border-radius:5px;overflow:visible;position:relative;margin-bottom:18px;
}
.sal-viz-fill{
  position:absolute;left:0;top:0;bottom:0;
  background:linear-gradient(90deg,#10e87e 0%,#f5c842 50%,#f05d78 100%);
  border-radius:5px;
}
.sal-viz-marker{
  position:absolute;top:50%;transform:translate(-50%,-50%);
  width:16px;height:16px;
  background:var(--bg);border:2.5px solid #f5c842;border-radius:50%;
  box-shadow:0 0 10px rgba(245,200,66,.5);
}
.sal-viz-cta{font-size:.72rem;color:#4d9eff;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.sal-viz-cta:hover{text-decoration:underline;}

/* ─── v13: SCROLL REVEAL ────────────────────────────────── */
.sr-hidden{
  opacity:0;transform:translateY(24px);
  transition:opacity .65s ease,transform .65s ease;
}
.sr-visible{opacity:1;transform:translateY(0);}
.sr-hidden.sr-delay-1{transition-delay:.12s;}
.sr-hidden.sr-delay-2{transition-delay:.24s;}

/* ─── v14: BANNER 4-CARD GRID ───────────────────────────── */
.hmv-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;
  margin-bottom:14px;
}
.hmv-card{
  display:flex;flex-direction:column;align-items:center;
  padding:10px 8px 9px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);border-radius:12px;
  cursor:pointer;transition:all .2s;text-align:center;
  position:relative;overflow:hidden;
}
.hmv-card::before{
  content:'';position:absolute;inset:0;
  opacity:0;transition:opacity .2s;border-radius:12px;
}
.hmv-card:hover{transform:translateY(-2px);}
.hmv-card-salary:hover{border-color:rgba(245,200,66,.4);}
.hmv-card-salary::before{background:radial-gradient(circle at 50% 0%,rgba(245,200,66,.1),transparent 70%);}
.hmv-card-jobs:hover{border-color:rgba(16,232,126,.4);}
.hmv-card-jobs::before{background:radial-gradient(circle at 50% 0%,rgba(16,232,126,.1),transparent 70%);}
.hmv-card-ladder:hover{border-color:rgba(77,158,255,.4);}
.hmv-card-ladder::before{background:radial-gradient(circle at 50% 0%,rgba(77,158,255,.1),transparent 70%);}
.hmv-card-profile:hover{border-color:rgba(192,132,252,.4);}
.hmv-card-profile::before{background:radial-gradient(circle at 50% 0%,rgba(192,132,252,.1),transparent 70%);}
.hmv-card:hover::before{opacity:1;}
.hmv-card-icon{font-size:1.2rem;margin-bottom:4px;line-height:1;}
.hmv-card-title{font-size:.72rem;font-weight:700;color:var(--tx);margin-bottom:2px;}
.hmv-card-sub{
  font-size:.6rem;color:var(--mt);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:90px;
}
.hmv-avatar-initial{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#c084fc,#4d9eff);
  color:#fff;font-weight:800;font-size:.85rem;
}

/* ─── v14: RADAR VISUAL ─────────────────────────────────── */
.hmv-visual{
  display:flex;flex-direction:column;align-items:center;
  margin-bottom:12px;gap:4px;
}
.hmv-radar{width:100%;max-width:200px;height:auto;overflow:visible;}
.hmv-radar-sweep{
  transform-origin:60px 40px;
  animation:radar-spin 4s linear infinite;
}
@keyframes radar-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.hmv-blip{animation:blip-pulse 2s ease-in-out infinite;}
@keyframes blip-pulse{0%,100%{opacity:.4;r:1.5;}50%{opacity:1;r:2.5;}}
.hmv-visual-label{
  font-family:var(--fm);font-size:.58rem;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--mt);
}

/* ─── v14: MY CERTIFICATIONS TAG INPUT ─────────────────── */
.mc-input-wrap{position:relative;margin-bottom:10px;}
.mc-input{
  width:100%;background:var(--sf2);border:1px solid var(--bd2);
  border-radius:10px;padding:9px 14px;
  font-size:.82rem;color:var(--tx);outline:none;
  font-family:var(--fm);transition:border-color .2s;
  box-sizing:border-box;
}
.mc-input:focus{border-color:rgba(0,212,200,.5);}
.mc-input::placeholder{color:var(--dm);}
.mc-dropdown{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;
  background:var(--sf);border:1px solid var(--bd2);border-radius:10px;
  overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.mc-dd-item{
  padding:9px 14px;font-size:.82rem;color:var(--tx);
  cursor:pointer;transition:background .12s;
}
.mc-dd-item:hover{background:rgba(77,158,255,.1);color:#4d9eff;}
.mc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:28px;}
.mc-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px 4px 12px;
  background:rgba(0,212,200,.1);border:1px solid rgba(0,212,200,.25);
  border-radius:20px;font-size:.72rem;font-weight:500;color:#00d4c8;
}
.mc-tag-rm{
  background:none;border:none;color:rgba(0,212,200,.6);
  cursor:pointer;padding:0;font-size:.85rem;line-height:1;
  transition:color .15s;
}
.mc-tag-rm:hover{color:#f05d78;}
.mc-empty{font-size:.78rem;color:var(--dm);font-style:italic;}
.mc-hint{font-size:.68rem;color:var(--mt);margin-top:2px;}

/* ─── v14: JOB BOARD SAVE BUTTON ────────────────────────── */
.jb-save-btn{
  font-family:var(--fm);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.1em;padding:10px 20px;border-radius:8px;
  border:1px solid rgba(0,212,200,.3);
  background:rgba(0,212,200,.06);color:#00d4c8;cursor:pointer;
  transition:all .18s;display:inline-flex;align-items:center;gap:6px;
}
.jb-save-btn:hover{background:rgba(0,212,200,.14);border-color:rgba(0,212,200,.55);}

/* ─── v14: CAREER LADDER PAGE ───────────────────────────── */
.clp-wrap{
  padding:52px 28px 100px;max-width:760px;margin:0 auto;
}
.clp-header{margin-bottom:40px;}
.clp-intro{font-size:.85rem;color:var(--mt);line-height:1.7;margin-bottom:24px;max-width:600px;}
.clp-header-actions{display:flex;flex-wrap:wrap;gap:10px;}
.clp-btn-primary{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 20px;border-radius:10px;
  background:linear-gradient(135deg,#00d4c8,#4d9eff);
  border:none;color:#fff;font-family:var(--fm);font-size:.72rem;
  font-weight:700;letter-spacing:.04em;cursor:pointer;
  transition:opacity .18s,transform .18s;
}
.clp-btn-primary:hover{opacity:.88;transform:translateY(-1px);}
.clp-btn-ghost{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 20px;border-radius:10px;
  background:transparent;border:1px solid var(--bd2);
  color:var(--mt);font-family:var(--fm);font-size:.72rem;cursor:pointer;
  transition:all .18s;
}
.clp-btn-ghost:hover{border-color:rgba(77,158,255,.4);color:#4d9eff;}
.clp-reset{color:var(--dm);}
.clp-reset:hover{border-color:rgba(240,93,120,.4);color:#f05d78;}

/* Auth gate */
.clp-auth-gate{display:flex;justify-content:center;padding:60px 0;}
.clp-gate-card{
  background:var(--sf);border:1px solid var(--bd2);border-radius:20px;
  padding:48px 40px;text-align:center;max-width:420px;
}
.clp-gate-icon{font-size:2.5rem;margin-bottom:16px;}
.clp-gate-title{font-size:1.1rem;font-weight:800;color:var(--tx);margin-bottom:8px;}
.clp-gate-sub{font-size:.82rem;color:var(--mt);line-height:1.65;margin-bottom:24px;}
.clp-gate-btns{display:flex;gap:10px;justify-content:center;}

/* Canvas */
.clp-canvas{display:flex;flex-direction:column;align-items:center;gap:0;padding:20px 0;}
.cl-node{
  width:100%;max-width:580px;
  background:var(--sf);border:1px solid var(--bd2);border-radius:16px;
  padding:20px 22px;position:relative;
  transition:border-color .2s,box-shadow .2s;
}
.cl-node:hover{border-color:rgba(77,158,255,.3);box-shadow:0 4px 20px rgba(0,0,0,.25);}
.cl-node-start{border-color:rgba(16,232,126,.3);background:rgba(16,232,126,.04);}
.cl-node-start:hover{border-color:rgba(16,232,126,.55);}
.cl-node-end{border-color:rgba(245,200,66,.3);background:rgba(245,200,66,.04);}
.cl-node-end:hover{border-color:rgba(245,200,66,.55);}
.cl-node-header{display:flex;align-items:flex-start;gap:14px;}
.cl-node-icon{font-size:1.4rem;flex-shrink:0;padding-top:2px;}
.cl-node-fields{flex:1;display:flex;flex-direction:column;gap:7px;}
.cl-node-title-input{
  background:transparent;border:none;border-bottom:1px solid var(--bd);
  color:var(--tx);font-family:var(--fd);font-size:1rem;font-weight:700;
  padding:2px 0;outline:none;width:100%;letter-spacing:-.02em;
  transition:border-color .15s;
}
.cl-node-title-input:focus{border-color:rgba(0,212,200,.5);}
.cl-node-row{display:flex;gap:10px;}
.cl-node-sub-input,.cl-node-time-input{
  background:transparent;border:none;border-bottom:1px solid var(--bd);
  color:var(--mt);font-family:var(--fm);font-size:.72rem;
  padding:2px 0;outline:none;transition:border-color .15s;
}
.cl-node-sub-input{flex:1;}
.cl-node-time-input{width:130px;flex-shrink:0;}
.cl-node-sub-input:focus,.cl-node-time-input:focus{border-color:rgba(0,212,200,.4);color:var(--tx);}
.cl-node-sub-input::placeholder,.cl-node-time-input::placeholder{color:var(--dm);}
.cl-remove-btn{
  background:none;border:none;color:var(--dm);cursor:pointer;
  font-size:1rem;padding:2px 6px;border-radius:6px;
  transition:all .15s;flex-shrink:0;
}
.cl-remove-btn:hover{background:rgba(240,93,120,.12);color:#f05d78;}
.cl-advice{margin-top:14px;padding-top:12px;border-top:1px solid var(--bd);}
.cl-advice-list{
  margin:0;padding-left:18px;
  font-size:.76rem;color:var(--mt);line-height:1.75;
}
.cl-advice-list li::marker{color:#00d4c8;}

/* Connector */
.cl-connector{display:flex;flex-direction:column;align-items:center;padding:6px 0;}
.cl-connector-line{
  width:2px;height:32px;
  background:linear-gradient(180deg,rgba(77,158,255,.2),rgba(77,158,255,.5));
  position:relative;
}
.cl-connector-line::after{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,rgba(77,158,255,.5),transparent);
  animation:cl-flow 1.8s linear infinite;
}
@keyframes cl-flow{from{transform:translateY(-100%);}to{transform:translateY(100%);}}
.cl-connector-arrow{font-size:.65rem;color:rgba(77,158,255,.6);margin-top:-2px;}

/* Add button */
.clp-add-row{display:flex;justify-content:center;padding:16px 0 8px;}
.clp-add-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 20px;border-radius:10px;
  border:1px dashed rgba(77,158,255,.35);
  background:rgba(77,158,255,.05);
  color:#4d9eff;font-family:var(--fm);font-size:.72rem;
  cursor:pointer;transition:all .18s;
}
.clp-add-btn:hover{background:rgba(77,158,255,.12);border-color:rgba(77,158,255,.6);}

/* Recommendations panel */
.clp-rec-panel{
  margin-top:32px;background:var(--sf);
  border:1px solid rgba(0,212,200,.2);border-radius:16px;padding:24px 26px;
}
.clp-rec-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.clp-rec-icon{font-size:1.2rem;}
.clp-rec-title{font-size:.95rem;font-weight:800;color:var(--tx);}
.clp-rec-body{display:flex;flex-direction:column;gap:20px;}
.clr-item{border-bottom:1px solid var(--bd);padding-bottom:16px;}
.clr-item:last-child{border-bottom:none;padding-bottom:0;}
.clr-transition{font-size:.78rem;font-weight:700;color:#00d4c8;margin-bottom:8px;}
.clr-list{margin:0;padding-left:18px;font-size:.8rem;color:var(--mt);line-height:1.8;}
.clr-list li::marker{color:#4d9eff;}

/* Mobile */
@media(max-width:640px){
  .clp-wrap{padding:36px 16px 80px;}
  .hmv-cards{grid-template-columns:1fr 1fr;}
  .cl-node-row{flex-direction:column;}
  .cl-node-time-input{width:100%;}
}

/* ══════════════════════ v15 STYLES ══════════════════════ */

/* ─── NORDVPN AFFILIATE BANNER ────────────────────────────── */
.nordvpn-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:linear-gradient(135deg,rgba(61,14,107,.35),rgba(5,8,16,.8));
  border:1px solid rgba(99,70,255,.3);border-radius:16px;
  padding:20px 24px;margin:32px 0 16px;
}
.nvpn-left{display:flex;align-items:center;gap:16px;}
.nvpn-icon{font-size:1.8rem;flex-shrink:0;}
.nvpn-title{font-size:.92rem;font-weight:700;color:var(--tx);margin-bottom:4px;}
.nvpn-sub{font-size:.76rem;color:var(--mt);line-height:1.55;max-width:500px;}
.nvpn-cta{
  flex-shrink:0;display:inline-flex;align-items:center;gap:6px;
  padding:9px 20px;border-radius:10px;
  background:linear-gradient(135deg,#5b3cf5,#8b5cf6);
  color:#fff;font-family:var(--fm);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;font-weight:700;transition:opacity .15s;white-space:nowrap;
}
.nvpn-cta:hover{opacity:.85;}
@media(max-width:640px){
  .nordvpn-banner{flex-direction:column;align-items:flex-start;}
  .nvpn-cta{width:100%;justify-content:center;}
}

/* ─── CAREER LADDER v15 ──────────────────────────────────── */
/* Final role row */
.clp-final-row{
  background:linear-gradient(135deg,rgba(245,200,66,.06),rgba(77,158,255,.04));
  border:1px solid rgba(245,200,66,.2);border-radius:14px;
  padding:18px 22px;margin-bottom:28px;
}
.clp-final-label{
  font-size:.82rem;font-weight:700;color:#f5c842;
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
  flex-wrap:wrap;
}
.clp-final-hint{font-size:.72rem;color:var(--mt);font-weight:400;}
.clp-final-inputs{display:flex;gap:10px;flex-wrap:wrap;}
.clp-final-input{
  flex:1;min-width:200px;
  background:rgba(255,255,255,.04);border:1px solid rgba(245,200,66,.2);
  border-radius:8px;padding:8px 12px;color:var(--tx);
  font-family:var(--fd);font-size:.84rem;
}
.clp-final-input:focus{outline:none;border-color:rgba(245,200,66,.45);background:rgba(245,200,66,.04);}
.clp-final-save-btn{padding:8px 18px;font-size:.7rem;}

/* Add milestone buttons */
.clp-add-label{
  font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dm);text-align:center;margin-bottom:10px;
}
.clp-add-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.clp-add-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:8px;
  font-family:var(--fm);font-size:.68rem;letter-spacing:.05em;
  cursor:pointer;transition:all .18s;font-weight:600;
}
.clp-add-role{border:1px solid rgba(77,158,255,.3);background:rgba(77,158,255,.06);color:#4d9eff;}
.clp-add-cert{border:1px solid rgba(16,232,126,.3);background:rgba(16,232,126,.06);color:#10e87e;}
.clp-add-train{border:1px solid rgba(245,200,66,.3);background:rgba(245,200,66,.06);color:#f5c842;}
.clp-add-proj{border:1px solid rgba(192,132,252,.3);background:rgba(192,132,252,.06);color:#c084fc;}
.clp-add-role:hover{background:rgba(77,158,255,.14);}
.clp-add-cert:hover{background:rgba(16,232,126,.14);}
.clp-add-train:hover{background:rgba(245,200,66,.14);}
.clp-add-proj:hover{background:rgba(192,132,252,.14);}

/* Node v15 styles */
.cl-node-v15{
  background:rgba(255,255,255,.02);
  border:1px solid var(--node-color,rgba(77,158,255,.25));
  border-radius:14px;padding:16px 18px;
  box-shadow:0 0 20px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.02);
  transition:box-shadow .2s;
}
.cl-node-v15:hover{box-shadow:0 0 30px rgba(0,0,0,.3),0 0 0 1px var(--node-color,rgba(77,158,255,.2));}
.cl-node-final{
  background:linear-gradient(135deg,rgba(245,200,66,.06),rgba(77,158,255,.04)) !important;
  border-color:rgba(245,200,66,.35) !important;
  box-shadow:0 0 20px rgba(245,200,66,.06) !important;
}
.cl-type-badge{
  display:inline-block;padding:2px 8px;border-radius:4px;
  font-family:var(--fm);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;
  margin-bottom:6px;
}
.cl-node-icon-v15{font-size:1.2rem;flex-shrink:0;margin-right:4px;}
.cl-advice-v15{
  margin-top:12px;padding:12px 14px;
  background:rgba(0,212,200,.04);border:1px solid rgba(0,212,200,.12);
  border-radius:8px;
}
.cl-advice-hdr{font-size:.72rem;font-weight:700;color:#00d4c8;margin-bottom:6px;}

/* Rec panel sub header */
.clp-rec-sub{font-size:.74rem;color:var(--mt);margin-left:8px;}

/* ─── WELCOME CARD: ANIMATED ILLUSTRATION ────────────────── */
.hmv-role-anim{
  display:none;text-align:center;margin:10px 0 6px;
  min-height:72px;
}
.hmv-anim-svg{
  width:120px;height:72px;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.4));
}

/* ─── WELCOME CARD: CERTS ROW ───────────────────────────── */
.hmv-certs-row{
  margin:8px 0 6px;
}
.hmv-certs-label{
  font-family:var(--fm);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dm);margin-bottom:5px;
}
.hmv-certs-list{display:flex;flex-wrap:wrap;gap:4px;}
.hmv-cert-badge{
  display:inline-block;padding:2px 7px;border-radius:5px;
  background:rgba(16,232,126,.1);border:1px solid rgba(16,232,126,.22);
  color:#10e87e;font-family:var(--fm);font-size:.58rem;letter-spacing:.04em;
}
.hmv-cert-more{
  display:inline-block;padding:2px 7px;border-radius:5px;
  background:rgba(255,255,255,.05);border:1px solid var(--bd);
  color:var(--mt);font-family:var(--fm);font-size:.58rem;
}

/* ─── AI SECURITY DOMAIN CARD ────────────────────────────── */
.dcard-new{position:relative;overflow:visible;}
.dcard-new::after{
  content:'NEW';position:absolute;top:-8px;right:10px;
  background:linear-gradient(90deg,#38bdf8,#818cf8);
  color:#fff;font-family:var(--fm);font-size:.5rem;letter-spacing:.1em;
  padding:2px 7px;border-radius:4px;font-weight:700;
}

/* ─── CYBER-THEMED PAGE BACKGROUNDS ─────────────────────── */
/* Each page gets a unique subtle background texture / gradient */

/* Certifications page */
#page-certs{background-image:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(77,158,255,.05) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 0% 100%,rgba(16,232,126,.04) 0%,transparent 50%);}

/* Domains page */
#page-domains{background-image:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(192,132,252,.07) 0%,transparent 60%);}

/* Career Ladder page */
#page-ladder{background-image:radial-gradient(ellipse 70% 50% at 0% 50%,rgba(13,212,200,.05) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(77,158,255,.05) 0%,transparent 50%);}

/* Salary page */
#page-salary{background-image:radial-gradient(ellipse 80% 50% at 80% 0%,rgba(245,200,66,.05) 0%,transparent 55%);}

/* Certs page */
#page-certs::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='38' fill='none' stroke='rgba(77,158,255,0.025)' stroke-width='1'/%3E%3Ccircle cx='40' cy='40' r='28' fill='none' stroke='rgba(77,158,255,0.018)' stroke-width='1'/%3E%3C/svg%3E");
  background-size:80px 80px;
  z-index:-1;
}

/* Interview page */
#page-interview{background-image:radial-gradient(ellipse 70% 40% at 30% 20%,rgba(240,93,120,.04) 0%,transparent 55%);}

/* Homelab page */
#page-homelab{background-image:radial-gradient(ellipse 80% 50% at 10% 30%,rgba(16,232,126,.04) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 90% 70%,rgba(13,212,200,.04) 0%,transparent 50%);}

/* Glossary page */
#page-glossary{background-image:radial-gradient(ellipse 90% 60% at 50% 10%,rgba(13,212,200,.04) 0%,transparent 55%);}

/* Threats page */
#page-threats{background-image:radial-gradient(ellipse 70% 50% at 100% 30%,rgba(240,93,120,.05) 0%,transparent 50%);}

/* Jobs page */
#page-jobs{background-image:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(77,158,255,.05) 0%,transparent 55%);}

/* Calendar page */
#page-calendar{background-image:radial-gradient(ellipse 70% 40% at 80% 10%,rgba(245,200,66,.04) 0%,transparent 50%);}

/* Career Ladder (My Roadmap) page */
#page-career-ladder{background-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(77,158,255,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(13,212,200,.04) 0%,transparent 50%);}

/* Stories / Wall of Wins page */
#page-stories{background-image:radial-gradient(ellipse 70% 50% at 20% 20%,rgba(245,200,66,.05) 0%,transparent 50%);}

/* About page */
#page-about{background-image:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(77,158,255,.05) 0%,transparent 55%);}

/* Profile page */
#page-profile{background-image:radial-gradient(ellipse 60% 40% at 0% 50%,rgba(13,212,200,.05) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 100% 0%,rgba(77,158,255,.04) 0%,transparent 50%);}

/* Tools page */
#page-tools{background-image:radial-gradient(ellipse 90% 50% at 50% -5%,rgba(192,132,252,.05) 0%,transparent 55%);}

/* Resume page */
#page-resume{background-image:radial-gradient(ellipse 70% 40% at 70% 10%,rgba(16,232,126,.04) 0%,transparent 50%);}

/* Blog page */
#page-blog{background-image:radial-gradient(ellipse 80% 50% at 30% 20%,rgba(13,212,200,.04) 0%,transparent 55%);}

/* Games page */
#page-games{background-image:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(240,93,120,.05) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 100% 80%,rgba(245,200,66,.04) 0%,transparent 50%);}

/* Domain detail page */
#page-domain{background-image:radial-gradient(ellipse 80% 50% at 0% 30%,rgba(192,132,252,.05) 0%,transparent 55%);}

/* Roaster page */
#page-roaster{background-image:radial-gradient(ellipse 80% 50% at 80% 10%,rgba(255,140,66,.06) 0%,transparent 55%);}

/* Training page */
#page-training{background-image:radial-gradient(ellipse 70% 40% at 30% 0%,rgba(16,232,126,.05) 0%,transparent 50%);}

/* Pivot page */
#page-pivot{background-image:radial-gradient(ellipse 70% 50% at 70% 0%,rgba(77,158,255,.05) 0%,transparent 55%);}

/* Reviews page */
#page-reviews{background-image:radial-gradient(ellipse 80% 50% at 20% 10%,rgba(245,200,66,.04) 0%,transparent 50%);}

/* ─── ADMIN ONLY ELEMENTS ──────────────────────────────── */
.admin-only{display:none;}

/* ─── CERT DETAIL SCROLL ANCHOR ──────────────────────────── */
#cert-detail-panel{scroll-margin-top:80px;}

@media(max-width:640px){
  .clp-final-inputs{flex-direction:column;}
  .clp-add-btns{gap:6px;}
  .nvpn-left{flex-direction:column;align-items:flex-start;}
}

/* ══════════════════════ PRICING PAGE ══════════════════════ */
.nav-upgrade-btn{font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:6px;cursor:pointer;border:1px solid var(--lb);background:rgba(13,212,200,.1);color:var(--lb);transition:all .2s;white-space:nowrap;margin-left:6px;}
.nav-upgrade-btn:hover{background:rgba(13,212,200,.2);box-shadow:0 0 14px rgba(13,212,200,.2);}
.pricing-wrap{max-width:1060px;margin:0 auto;padding:60px 28px 100px;text-align:center;}
.pricing-sub{color:var(--mt);font-size:.95rem;margin-bottom:40px;max-width:500px;margin-left:auto;margin-right:auto;}
/* ── Pricing Grid (2-column card layout) ── */
.pricing-grid{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:auto 1fr;gap:0;border-radius:18px;overflow:hidden;border:1px solid var(--bd2);box-shadow:0 0 60px rgba(13,212,200,.05);margin-bottom:36px;text-align:left;}
/* Free column */
.pg-free-col{background:var(--sf);border-right:1px solid var(--bd2);grid-row:1 / 3;display:grid;grid-template-rows:subgrid;overflow:hidden;}
.pg-free-header{padding:32px 28px 24px;border-bottom:1px solid var(--bd);}
.pg-plan-eyebrow{font-family:var(--fm);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mt);margin-bottom:12px;}
.pg-free-price{font-size:2.8rem;font-weight:900;letter-spacing:-.05em;color:var(--tx);line-height:1;}
.pg-free-period{font-size:.75rem;color:var(--mt);margin-top:4px;margin-bottom:16px;}
.pg-free-desc{font-size:.78rem;color:var(--mt);line-height:1.5;margin-bottom:18px;}
.pg-btn-free{width:100%;padding:11px;border-radius:9px;background:var(--sf2);border:1px solid var(--bd2);color:var(--tx);font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;font-weight:500;}
.pg-btn-free:hover{background:var(--sf3);}
.pg-free-features{padding:20px 28px 32px;flex:1;}
.pg-features-label{font-family:var(--fm);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm);margin-bottom:14px;}
.pg-feature-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.pg-feature-list li{font-size:.8rem;display:flex;align-items:flex-start;gap:9px;line-height:1.35;}
.pg-chk{color:var(--gn);font-size:.75rem;margin-top:1px;flex-shrink:0;font-weight:700;}
/* Pro column */
.pg-pro-col{background:linear-gradient(160deg,rgba(13,212,200,.04) 0%,rgba(77,158,255,.02) 100%);position:relative;grid-row:1 / 3;display:grid;grid-template-rows:subgrid;overflow:hidden;}
.pg-pro-col::before{content:'';position:absolute;inset:0;border-left:1px solid rgba(13,212,200,.25);pointer-events:none;border-radius:0 17px 17px 0;}
.pg-pro-header-top{padding:24px 28px 0;border-bottom:1px solid rgba(13,212,200,.12);}
.pg-pro-eyebrow{font-family:var(--fm);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg,var(--lb),var(--bl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;}
.pg-billing-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px;}
.pg-billing-opt{background:rgba(255,255,255,.03);border:1px solid var(--bd);border-radius:12px;padding:16px 14px;text-align:center;transition:border-color .2s,background .2s;}
.pg-billing-opt:hover{border-color:rgba(13,212,200,.3);background:rgba(13,212,200,.04);}
.pg-billing-featured{border-color:rgba(13,212,200,.35);background:rgba(13,212,200,.06);}
.pg-billing-period{font-family:var(--fm);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mt);margin-bottom:8px;}
.pg-billing-price{font-size:1.65rem;font-weight:900;letter-spacing:-.04em;color:var(--tx);line-height:1;}
.pg-billing-per{font-size:.68rem;color:var(--mt);margin-bottom:6px;}
.pg-billing-tag{display:inline-block;font-family:var(--fm);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:20px;margin-bottom:12px;}
.pg-tag-early{background:linear-gradient(90deg,var(--am),var(--or));color:#000;font-weight:700;}
.pg-tag-save{background:rgba(16,232,126,.12);color:var(--gn);}
.pg-tag-forever{background:rgba(77,158,255,.12);color:var(--bl);}
.pg-btn-pro{width:100%;padding:9px 8px;border-radius:8px;background:linear-gradient(90deg,var(--lb),var(--bl));border:none;color:#000;font-family:var(--fm);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all .2s;box-shadow:0 3px 12px rgba(13,212,200,.2);}
.pg-btn-pro:hover{box-shadow:0 5px 22px rgba(13,212,200,.4);transform:translateY(-1px);}
/* Pro features */
.pg-pro-features{padding:24px 28px 32px;flex:1;}
.pg-everything-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.pg-everything-label::before{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(13,212,200,.25));}
.pg-everything-label span{font-family:var(--fm);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lb);white-space:nowrap;}
.pg-everything-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(13,212,200,.25),transparent);}
.pg-pro-feature-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;}
.pg-pro-feature-list li{font-size:.8rem;display:flex;align-items:flex-start;gap:8px;line-height:1.35;}
.pg-diamond{color:var(--lb);font-size:.65rem;margin-top:2px;flex-shrink:0;}
.pg-pro-sub{display:block;font-size:.68rem;color:var(--mt);margin-top:1px;}
.pg-more-coming{margin-top:18px;font-family:var(--fm);font-size:.58rem;letter-spacing:.08em;color:var(--lb);opacity:.75;text-align:center;}
.pricing-guarantee{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.81rem;color:var(--mt);background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:14px 20px;margin-bottom:36px;}
.pg-icon{font-size:1rem;}
.pricing-cadence{text-align:left;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:28px 32px;margin-bottom:48px;}
.pricing-cadence-hd{font-family:var(--fm);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lb);margin-bottom:20px;}
.pricing-cadence-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.pcr-item{background:var(--sf2);border-radius:9px;padding:12px 16px;display:flex;flex-direction:column;gap:3px;flex:1;min-width:110px;border:1px solid var(--bd);}
.pcr-current{border-color:var(--lb);background:rgba(13,212,200,.06);}
.pcr-label{font-size:.68rem;color:var(--mt);}
.pcr-val{font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--tx);}
.pcr-current .pcr-val{color:var(--lb);}
.pcr-arrow{color:var(--dm);font-size:.9rem;}
.pcr-note{font-size:.75rem;color:var(--mt);line-height:1.5;}
.pricing-otp{margin-bottom:60px;text-align:left;}
.pricing-otp-hd{font-size:1.2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:8px;}
.pricing-otp-sub{font-size:.82rem;color:var(--mt);margin-bottom:20px;}
.otp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.otp-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;}
.otp-icon{font-size:1.6rem;}
.otp-name{font-weight:800;font-size:.95rem;letter-spacing:-.02em;}
.otp-desc{font-size:.78rem;color:var(--mt);line-height:1.5;flex:1;}
.otp-price{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;color:var(--tx);}
.otp-btn{padding:10px;border-radius:8px;border:1px solid var(--bd2);background:var(--sf2);color:var(--tx);font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.otp-btn:hover{background:var(--sf3);border-color:var(--lb);color:var(--lb);}
@media(max-width:760px){
  .pricing-grid{grid-template-columns:1fr;}
  .pg-pro-feature-list{grid-template-columns:1fr;}
  .pg-billing-options{grid-template-columns:1fr;}
  .otp-grid{grid-template-columns:1fr;}
  .pricing-cadence-row{gap:6px;}
  .pcr-arrow{display:none;}
}
/* ── Pro Badge (profile) ── */
.pro-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;background:linear-gradient(90deg,rgba(13,212,200,.15),rgba(77,158,255,.12));border:1px solid rgba(13,212,200,.3);color:var(--lb);font-family:var(--fm);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
/* ── Paywall upgrade toast ── */
.pro-gate-toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);background:#0d1626;border:1px solid rgba(13,212,200,.35);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;z-index:99000;box-shadow:0 8px 32px rgba(0,0,0,.6);max-width:420px;width:calc(100% - 40px);animation:fu .25s both;}
.pgt-lock{font-size:1.1rem;flex-shrink:0;}
.pgt-msg{font-size:.82rem;color:var(--tx);flex:1;line-height:1.4;}
.pgt-btn{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:7px;border:none;background:linear-gradient(90deg,var(--lb),var(--bl));color:#000;cursor:pointer;white-space:nowrap;font-weight:700;}
.pgt-close{background:none;border:none;color:var(--mt);cursor:pointer;font-size:.9rem;padding:2px 4px;flex-shrink:0;}
/* ── Pro lock overlay for gated features ── */
.pro-lock-wrap{position:relative;}
.pro-lock-overlay{position:absolute;inset:0;background:rgba(11,17,32,.85);backdrop-filter:blur(4px);border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:10;cursor:pointer;}
.plo-icon{font-size:1.8rem;}
.plo-label{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lb);}
.plo-btn{padding:9px 20px;border-radius:8px;border:1px solid var(--lb);background:rgba(13,212,200,.1);color:var(--lb);font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.plo-btn:hover{background:rgba(13,212,200,.2);}

/* ── Legal Pages ── */
.legal-wrap{max-width:760px;margin:0 auto;padding:60px 28px 100px;}
.legal-meta{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;color:var(--mt);margin-bottom:40px;}
.legal-body{display:flex;flex-direction:column;gap:0;}
.legal-section{padding:28px 0;border-bottom:1px solid var(--bd);}
.legal-section:last-child{border-bottom:none;}
.legal-section h2{font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--tx);margin-bottom:12px;}
.legal-section h3{font-size:.82rem;font-weight:700;color:var(--lb);margin:16px 0 8px;}
.legal-section p{font-size:.85rem;color:var(--mt);line-height:1.8;margin-bottom:10px;}
.legal-section p:last-child{margin-bottom:0;}
.legal-section ul{font-size:.85rem;color:var(--mt);line-height:1.8;padding-left:20px;display:flex;flex-direction:column;gap:4px;}
.legal-section a{color:var(--lb);text-decoration:underline;text-underline-offset:3px;}
.legal-section a:hover{color:var(--tx);}
.legal-processor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;}
.legal-processor{background:var(--sf2);border:1px solid var(--bd);border-radius:10px;padding:14px 16px;}
.lp-name{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lb);margin-bottom:4px;}
.lp-role{font-size:.78rem;color:var(--mt);line-height:1.5;}
.legal-nav-links{display:flex;gap:20px;margin-top:40px;flex-wrap:wrap;}
.legal-nav-link{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lb);cursor:pointer;transition:color .15s;}
.legal-nav-link:hover{color:var(--tx);}
/* ── Footer links ── */
.footer-link{color:var(--mt);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .15s;}
.footer-link:hover{color:var(--lb);}
.pricing-legal-links{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.75rem;color:var(--dm);margin-top:-20px;margin-bottom:60px;}
.footer-link-sep{color:var(--dm);}
/* ── Cookie Consent Banner ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:99900;background:#0d1626;border-top:1px solid rgba(13,212,200,.2);padding:14px 24px;display:flex;align-items:center;justify-content:center;box-shadow:0 -4px 24px rgba(0,0,0,.5);transition:opacity .3s,transform .3s;}
.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:860px;width:100%;}
.cookie-banner-text{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--mt);flex:1;line-height:1.5;}
.cookie-banner-icon{font-size:1rem;flex-shrink:0;}
.cookie-link{color:var(--lb);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0;}
.cookie-btn{font-family:var(--fm);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:7px;cursor:pointer;transition:all .2s;font-weight:600;}
.cookie-btn-decline{background:transparent;border:1px solid var(--bd2);color:var(--mt);}
.cookie-btn-decline:hover{border-color:var(--mt);color:var(--tx);}
.cookie-btn-accept{background:linear-gradient(90deg,var(--lb),var(--bl));border:none;color:#000;}
.cookie-btn-accept:hover{box-shadow:0 3px 12px rgba(13,212,200,.35);}
@media(max-width:600px){.cookie-banner-inner{flex-direction:column;align-items:flex-start;gap:12px;}.legal-processor-grid{grid-template-columns:1fr;}}

/* ── Pro Welcome Page ── */
.pw-wrap{max-width:900px;margin:0 auto;padding:60px 28px 100px;}
.pw-hero{text-align:center;margin-bottom:36px;}
.pw-check{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--lb),var(--bl));color:#000;font-size:1.8rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 0 32px rgba(13,212,200,.3);}
.pw-headline{font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.05em;margin-bottom:12px;}
.pw-sub{color:var(--mt);font-size:.95rem;max-width:440px;margin:0 auto;line-height:1.7;}
.pw-plan-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;background:rgba(13,212,200,.1);border:1px solid rgba(13,212,200,.3);color:var(--lb);border-radius:20px;padding:5px 14px;margin:0 auto 44px;display:table;}
.pw-section-label{font-family:var(--fm);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mt);margin-bottom:16px;}
.pw-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:44px;}
.pw-card{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:22px 20px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;display:flex;flex-direction:column;gap:8px;}
.pw-card:hover{border-color:rgba(13,212,200,.3);background:rgba(13,212,200,.03);transform:translateY(-2px);}
.pw-card-icon{font-size:1.5rem;}
.pw-card-name{font-size:.9rem;font-weight:800;letter-spacing:-.02em;color:var(--tx);}
.pw-card-desc{font-size:.76rem;color:var(--mt);line-height:1.6;flex:1;}
.pw-card-cta{font-family:var(--fm);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lb);}
.pw-footer-note{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:32px;border-top:1px solid var(--bd);font-size:.8rem;color:var(--mt);flex-wrap:wrap;}
.pw-footer-note a{color:var(--lb);}
.pw-home-btn{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:10px 22px;border-radius:9px;background:linear-gradient(90deg,var(--lb),var(--bl));border:none;color:#000;cursor:pointer;font-weight:700;transition:all .2s;}
.pw-home-btn:hover{box-shadow:0 4px 16px rgba(13,212,200,.35);transform:translateY(-1px);}
/* ── Pricing page plan state ── */
.pg-btn-state{background:var(--sf2) !important;border:1px solid var(--bd2) !important;color:var(--mt) !important;cursor:default !important;box-shadow:none !important;transform:none !important;-webkit-text-fill-color:unset !important;}
.pg-btn-subscribed{background:rgba(16,232,126,.1) !important;border:1px solid rgba(16,232,126,.25) !important;color:var(--gn) !important;cursor:default !important;box-shadow:none !important;transform:none !important;}
@media(max-width:680px){.pw-cards{grid-template-columns:1fr 1fr;}.pw-footer-note{flex-direction:column;align-items:flex-start;}}
