/* Grit to Genius — shared static styles */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;500;600;700;800&family=Permanent+Marker&display=swap');

:root{
  --bg:#0A0A0A; --panel:#101010; --panel2:#0d0d0d; --border:#232323; --border2:#1d1d1d;
  --green:#A8FF00; --blue:#007BFF; --warn:#ffb84d; --urgent:#ff8a5c;
  --gray:#6B6B6B; --gray2:#9a9a9a; --text:#fff; --muted:#c9c9c9; --light:#F5F7F2;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Archivo',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--green);text-decoration:none}
a:hover{color:#fff}
img{max-width:100%;display:block}
::selection{background:var(--green);color:var(--bg)}
h1,h2,h3{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-weight:400;margin:0}
.anton{font-family:'Anton',sans-serif;text-transform:uppercase}
.marker{font-family:'Permanent Marker',cursive}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.section{padding:58px 0}
@keyframes g2gPulse{0%,100%{opacity:1}50%{opacity:.45}}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(10,10,10,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border2)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:baseline;gap:6px;font-family:'Anton';font-size:20px;letter-spacing:.04em}
.brand .g{color:var(--green)}.brand .t{color:#fff}.brand .g2{color:var(--blue)}
.brand small{font-family:'Archivo';font-size:10px;color:var(--gray);font-weight:600}
.nav-links{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.nav-links a{color:var(--muted);font:600 13px 'Archivo';letter-spacing:.05em;text-transform:uppercase;padding:10px 12px}
.nav-links a:hover,.nav-links a.active{color:var(--green)}
.nav-links a.btn-green,.nav-links a.btn-green:hover{color:var(--bg)}
.btn{display:inline-block;border:none;border-radius:8px;cursor:pointer;font:700 13px 'Archivo';letter-spacing:.06em;text-transform:uppercase;padding:12px 20px;text-align:center}
.btn-green{background:var(--green);color:var(--bg)}.btn-green:hover{background:#fff;color:var(--bg)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#fff;color:var(--bg)}
.btn-outline{background:none;color:#fff;border:1px solid #333}.btn-outline:hover{border-color:var(--green);color:var(--green)}
.btn-lg{font-size:15px;padding:16px 30px}
.nav-toggle{display:none;background:none;border:1px solid #333;border-radius:8px;color:#fff;font-size:20px;padding:6px 12px;cursor:pointer}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border2);background:
  radial-gradient(1100px 600px at 78% 30%,rgba(0,123,255,.20),transparent 62%),
  radial-gradient(760px 520px at 12% 96%,rgba(168,255,0,.12),transparent 60%),
  linear-gradient(120deg,#0A0A0A 55%,#0a1220 100%)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 75% 40%,#000,transparent 70%);mask-image:radial-gradient(circle at 75% 40%,#000,transparent 70%);pointer-events:none}
.hero-inner{position:relative;display:grid;grid-template-columns:52% 48%;gap:40px;align-items:center;min-height:min(78vh,720px);padding:56px 24px}
.hero-left{max-width:600px}
.hero-kicker{font:700 11px 'Archivo';letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid #253017;background:rgba(168,255,0,.05);border-radius:999px;padding:8px 16px;font:700 11px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#eaffcf;margin-bottom:22px}
.hero-badge-div{width:1px;height:12px;background:#3a4a24}
.hero-badge-seats{color:var(--green)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(168,255,0,.6);animation:g2gPulse 2s infinite}
.hero-title{font-family:'Anton';text-transform:uppercase;font-size:clamp(38px,5.2vw,72px);line-height:.9;letter-spacing:.005em;margin:0;display:flex;flex-direction:column;gap:.26em}
.hero-title .l1{color:#fff}
.hero-title .l2{color:var(--green)}
.hero-lead{font-size:17.5px;line-height:1.62;color:var(--muted);max-width:520px;margin:26px 0 0}
.hero-sig{color:var(--blue);font-size:20px;margin:16px 0 28px}
.hero-cta{display:flex;flex-direction:row;gap:14px;flex-wrap:nowrap;align-items:center}
.hero-cta-primary{padding:17px 34px;font-size:15px;box-shadow:0 8px 30px rgba(168,255,0,.16);transition:transform .16s,box-shadow .16s,background .16s}
.hero-cta-primary:hover{transform:translateY(-2px);background:#c2ff45;box-shadow:0 12px 38px rgba(168,255,0,.28)}
.hero-cta-secondary{background:rgba(0,123,255,.06);color:#fff;border:1px solid #26405e;transition:border-color .16s,box-shadow .16s,background .16s}
.hero-cta-secondary:hover{border-color:var(--blue);background:rgba(0,123,255,.12);box-shadow:0 0 22px rgba(0,123,255,.28)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid var(--border2)}
.hero-stats .stat{padding:20px 18px 4px;border-right:1px solid var(--border2)}
.hero-stats .stat:first-child{padding-left:0}
.hero-stats .stat:last-child{border-right:none}
.stat-n{font-family:'Anton';font-size:clamp(24px,2.4vw,32px);color:#fff;line-height:1}
.stat:nth-child(2) .stat-n{color:var(--green)}
.stat:nth-child(3) .stat-n{color:var(--blue)}
.stat-l{font:700 10px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-top:8px}
.hero-right{display:flex;justify-content:center;align-items:center}
.hero-visual{position:relative;width:100%;max-width:520px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.hv-glow{position:absolute;inset:8%;border-radius:28px;background:radial-gradient(circle at 50% 45%,rgba(0,123,255,.5),transparent 62%);filter:blur(38px)}
.hero-frame{position:relative;width:82%;height:82%;border-radius:24px;background:linear-gradient(150deg,#0b1424,#0a0f18);border:1px solid #1d2c40;box-shadow:0 0 0 1px rgba(0,123,255,.14),0 30px 70px rgba(0,0,0,.55),inset 0 0 60px rgba(0,123,255,.10);display:flex;align-items:center;justify-content:center;overflow:hidden;transform:rotate(-2deg)}
.hero-frame::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,123,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(0,123,255,.10) 1px,transparent 1px);background-size:30px 30px;opacity:.6}
.hero-frame::after{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(140deg,rgba(168,255,0,.7),transparent 35%,transparent 65%,rgba(0,123,255,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-frame img{position:relative;width:86%;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5))}
.hv-line{position:absolute;width:2px;background:linear-gradient(var(--blue),transparent);opacity:.5}
.hv-line1{height:120%;top:-10%;left:20%;transform:rotate(18deg);opacity:.28}
.hv-line2{display:none}
.hv-burst{position:absolute;top:8%;right:12%;color:var(--green);font-size:26px;text-shadow:0 0 16px rgba(168,255,0,.7);animation:g2gPulse 3s infinite}
@media(max-width:920px){
  .hero-inner{grid-template-columns:1fr;gap:36px;min-height:0;padding:44px 24px 52px}
  .hero-right{order:2}
  .hero-left{order:1;max-width:none}
  .hero-visual{max-width:420px;margin:0 auto}
}
@media(max-width:560px){
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%;text-align:center}
  .hero-stats{grid-template-columns:1fr 1fr}
  .hero-stats .stat{border-bottom:1px solid var(--border2);padding-left:0}
  .hero-stats .stat:nth-child(2){border-right:none}
}

/* headings/eyebrow */
.eyebrow{font:600 12px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.section h2{font-size:clamp(30px,4vw,46px)}
.section .sub{color:var(--gray2);max-width:680px;margin:8px 0 32px;line-height:1.6}

/* grid + cards */
.grid{display:grid;gap:14px}
.g2c{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:22px 20px}
.card h3{font-size:16px;letter-spacing:.05em;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}
.tag{font:700 10px 'Archivo';letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px;border:1px solid currentColor;display:inline-block}
.badge{font:700 11px 'Archivo';letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px}
.badge-green{background:rgba(168,255,0,.12);color:var(--green)}
.badge-warn{background:rgba(255,184,77,.14);color:var(--warn)}
.badge-blue{background:rgba(0,123,255,.15);color:#7fbaff}

/* light band */
.band{background:var(--light);color:var(--bg)}
.band h2,.band h3{color:var(--bg)}
.band .card{background:#fff;border-color:#e2e5dd}
.band .card p{color:#4a4a4a}

/* pillars */
.pillar .n{font:700 12px 'Archivo';color:var(--gray)}
.pillar .name{font-family:'Anton';font-size:16px;letter-spacing:.05em;text-transform:uppercase;margin:6px 0}
.pillar .subline{font:600 12px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--gray2);margin-bottom:6px}

/* journey */
.jnum{width:34px;height:34px;border-radius:50%;border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font:700 14px 'Archivo';color:var(--green);margin-bottom:12px}

/* module rows */
.mod{border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;display:grid;grid-template-columns:88px 1fr}
.mod .rail{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 0;gap:2px;border-right:1px solid #1c1c1c}
.mod .rail .wk{font:600 9px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--gray2)}
.mod .rail .num{font-family:'Anton';font-size:40px;line-height:1}
.mod .body{padding:22px 26px}
.mod .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 26px;margin-top:14px}
.lbl{font:700 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}

/* list check */
.checks{display:grid;gap:12px}
.checks .row{display:flex;gap:12px;align-items:flex-start}
.checks .ic{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 13px 'Archivo';margin-top:1px}
.ic-green{background:#132a13;color:var(--green)}
.ic-blue{background:var(--blue);color:#fff;border-radius:50%}

/* class card */
.classcard{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:26px;display:flex;flex-direction:column;gap:12px}
.bar{height:7px;border-radius:99px;background:#1c1c1c;overflow:hidden}
.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue))}

/* faq */
.acc{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden}
.acc + .acc{margin-top:10px}
.acc button{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:#fff;font:600 15px 'Archivo'}
.acc button:hover{color:var(--green)}
.acc .a{padding:0 20px;max-height:0;overflow:hidden;color:var(--gray2);font-size:14px;line-height:1.65;transition:max-height .25s ease,padding .25s ease}
.acc.open .a{padding:0 20px 18px;max-height:400px}
.acc .plus{color:var(--green);font:700 18px 'Archivo';display:inline-block;transition:transform .2s,color .2s}
.acc:hover{border-color:#2f3a1e}
.acc.open{border-color:var(--green)}
.acc.open button{color:var(--green)}
.acc.open .plus{transform:rotate(45deg);color:var(--blue)}

/* section head + homepage redesign */
.sec-head{margin-bottom:28px}
.sec-head h2{margin:0}
.sec-head .sub{margin:8px 0 0}
.portfolio-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.pcard{flex:0 1 372px;max-width:404px;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:24px 24px 26px;transition:border-color .2s,transform .2s,box-shadow .2s}
.pcard:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 18px 46px rgba(0,0,0,.5),0 0 26px rgba(168,255,0,.14)}
.pcard-top{display:flex;align-items:center;justify-content:space-between}
.pcard-n{font-family:'Anton';font-size:28px;color:#FFFFFF}
.pcard-dot{width:10px;height:10px;border-radius:50%}
.pcard-name{font-family:'Anton';text-transform:uppercase;font-size:18px;letter-spacing:.03em;margin:14px 0 4px}
.pcard-sub{font:600 11px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:10px}
.pcard-line{color:var(--muted);font-size:13.5px;line-height:1.6;margin:0}
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative;margin-top:14px}
.journey::before{content:"";position:absolute;top:19px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--green),var(--blue));opacity:.5}
.jstep{position:relative;text-align:center;padding:0 6px}
.jstep-node{width:40px;height:40px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-family:'Anton';font-size:17px;margin:0 auto 14px;background:var(--bg);position:relative;z-index:1}
.jstep-name{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.03em;margin-bottom:8px}
.jstep-line{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
@media(max-width:820px){.journey{grid-template-columns:1fr 1fr;gap:26px 20px}.journey::before{display:none}}
@media(max-width:480px){.journey{grid-template-columns:1fr}}
.outcomes{position:relative;padding:52px 0;background:var(--light);color:var(--bg)}
.outcomes-h{color:var(--bg)}
.outcomes::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),var(--blue))}
.outcomes-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.outcomes-h{font-size:clamp(24px,3vw,34px);margin:0}
.orows{display:grid;gap:0;margin-top:18px}
.orow{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(10,10,10,.1)}
.orow:last-child{border-bottom:none}
.orow span:last-child{color:#1a1a1a;font:500 15.5px 'Archivo';line-height:1.55}
.oic{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 13px 'Archivo';margin-top:1px}
.oic-green{background:#132a13;color:var(--green)}
.oic-blue{background:var(--blue);color:#fff}
@media(max-width:760px){.outcomes-grid{grid-template-columns:1fr;gap:32px}}
.faq-wide{max-width:1040px}
.class-summary{display:inline-block;border:1px solid var(--border2);border-radius:999px;background:#0d0d0d;padding:10px 20px;font:700 12px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0 0 22px}
.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ccard{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:24px;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.ccard:hover{border-color:var(--green);transform:translateY(-3px)}
.ccard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ccard-name{font:600 11px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}
.ccard-day{font-family:'Anton';font-size:30px;text-transform:uppercase;line-height:1}
.ccard-time{font:600 13px 'Archivo';color:var(--muted);margin-top:5px}
.ccard-meta{margin-top:16px}
.ccard-loc{font:700 12px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.ccard-fac{margin-top:16px;padding-top:14px;border-top:1px solid #1c1c1c}
.ccard-fac .lbl{display:block;margin-bottom:4px}
.ccard-fac .fname{font:700 14px 'Archivo';color:#fff}
.ccard-seats{margin-top:16px;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.ccard-seatline{font:700 13px 'Archivo';color:var(--green);margin-top:8px}
.ccard .btn{margin-top:16px;text-align:center}
.class-note{font:500 12.5px 'Archivo';color:var(--gray);margin:18px 0 0}
@media(max-width:960px){.class-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.class-grid{grid-template-columns:1fr}}
.final-cta{position:relative;overflow:hidden;border-top:1px solid var(--border2);background:radial-gradient(700px 400px at 50% 0%,rgba(0,123,255,.16),transparent 60%),radial-gradient(600px 400px at 82% 100%,rgba(168,255,0,.10),transparent 60%),#0A0A0A}
.final-cta-inner{max-width:760px;margin:0 auto;text-align:center;padding:60px 24px}
.final-cta-h{font-size:clamp(30px,4.4vw,52px);margin:6px 0 0}
.final-cta-p{color:var(--muted);font-size:16px;line-height:1.65;max-width:560px;margin:14px auto 20px}
.final-cta-price{font-family:'Anton';margin-bottom:14px}
.fcp-old{color:var(--gray);text-decoration:line-through;font-size:22px}
.fcp-new{color:var(--green);font-size:32px;margin:0 6px}
.fcp-note{font:600 13px 'Archivo';color:var(--gray2)}
.final-cta-seats{display:inline-flex;align-items:center;gap:8px;font:700 12px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:#eaffcf;border:1px solid #253017;border-radius:999px;padding:7px 16px;margin-bottom:24px}
.final-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:520px){.final-cta-btns{flex-direction:column}.final-cta-btns .btn{width:100%;text-align:center}}
/* sponsor band (home) */
.sponsor-band{border-top:1px solid var(--border2);background:linear-gradient(100deg,var(--green) 0 52%,var(--blue) 52% 100%);position:relative;overflow:hidden}
.sponsor-band::after{content:none}
.sponsor-band-inner{position:relative;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:48px 24px}
.sponsor-incl{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 40px;justify-content:start}
.sponsor-incl span{display:inline-flex;align-items:center;gap:9px;font:700 13.5px 'Archivo';color:#0A0A0A}
.sponsor-incl .ck{color:#0A0A0A;font-size:14px}
.sponsor-card{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:300px;background:#0A0A0A;border-radius:20px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.sponsor-card-lbl{font:700 11px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.sponsor-card-price{font-family:'Anton';font-size:52px;line-height:1;color:#fff}
.sponsor-card-price s{font-size:30px;color:#6a6a6a;font-family:'Anton'}
.sponsor-card-price b{color:var(--green);font-weight:400}
.sponsor-card-btn{text-align:center;padding:15px 0}
.sponsor-card-link{font:700 13px 'Archivo';color:#cfe8ff;text-align:center}
.sponsor-card-link:hover{color:#fff}
@media(max-width:760px){.sponsor-band-inner{grid-template-columns:1fr;gap:28px}.sponsor-card{width:100%}}
@media(max-width:480px){.sponsor-incl{grid-template-columns:1fr}}
/* about page */
.about-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border2);background:radial-gradient(900px 500px at 82% 25%,rgba(0,123,255,.16),transparent 62%),radial-gradient(600px 420px at 8% 100%,rgba(168,255,0,.09),transparent 60%),linear-gradient(120deg,#0A0A0A 58%,#0a1220 100%)}
.about-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:80px 24px}
.about-hero-grid::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(168,255,0,.35),rgba(0,123,255,.35),transparent)}
.about-hero-left{max-width:600px}
.about-quote{border-left:2px solid var(--green);padding:2px 0 2px 20px;margin:20px 0 16px;font-family:'Anton';text-transform:uppercase;font-size:clamp(17px,2vw,22px);line-height:1.3;color:#fff;letter-spacing:.01em}
.about-attr{font:600 12px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.about-visual{position:relative;aspect-ratio:1/1;max-width:400px;width:100%;margin:0 auto;border-radius:20px;overflow:hidden;border:1px solid #1d2c40;background:linear-gradient(150deg,#0b1424,#0a0f18);box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 0 60px rgba(0,123,255,.10);display:flex;align-items:center;justify-content:center}
.about-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,123,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(0,123,255,.10) 1px,transparent 1px);background-size:32px 32px;opacity:.55}
.about-visual::after{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(150deg,rgba(168,255,0,.6),transparent 40%,transparent 60%,rgba(0,123,255,.6));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.about-visual img{position:relative;width:80%;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5))}
.about-body{max-width:720px;margin:0 auto}
.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.story-left{position:sticky;top:90px}
.story-pull{font-family:'Anton';text-transform:uppercase;font-size:clamp(24px,2.8vw,34px);line-height:1.08;letter-spacing:.01em;color:#fff;margin:14px 0 0}
.story-pull .lime{color:var(--green)}
.story-sub{font:500 14px 'Archivo';color:var(--gray2);line-height:1.6;margin:16px 0 0;max-width:280px}
.story-body p{font-size:16.5px;line-height:1.75;color:#d0d0d0;margin:0 0 24px}
.story-body p:last-child{margin-bottom:0}
.story-body b{color:#fff;font-weight:700}
.story-body .lime{color:var(--green);font-weight:700}
@media(max-width:820px){.story-grid{grid-template-columns:1fr;gap:28px}.story-left{position:static}.story-sub{max-width:none}}
@media(max-width:820px){.about-hero-grid{grid-template-columns:1fr;gap:32px;padding-top:52px;padding-bottom:52px}.about-hero-left{max-width:none}.about-hero-right{order:2}.about-visual{max-width:320px}}
.about-body p{font-size:17px;line-height:1.8;color:#d0d0d0;margin:0 0 20px}
.about-body b{color:#fff;font-weight:700}
.about-body .lime{color:var(--green);font-weight:700}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.diff-card{position:relative;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:22px 24px;padding-left:26px;overflow:hidden;transition:border-color .18s,transform .18s}
.diff-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.diff-card:hover{border-color:#3a3a3a;transform:translateY(-2px)}
.diff-card h3{font:700 16px 'Archivo';margin:0 0 6px}
.diff-card p{font:500 14px 'Archivo';color:var(--muted);line-height:1.6;margin:0}
@media(max-width:640px){.diff-grid{grid-template-columns:1fr}}
.cap-intro-div{height:1px;max-width:700px;margin:20px 0 0;background:linear-gradient(90deg,var(--green),var(--blue),transparent)}
.cap-feat{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.cap-supp{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.capf{position:relative;border:1px solid var(--border);border-radius:20px;background:linear-gradient(150deg,#141414,#101010);padding:26px 28px;transition:border-color .18s,transform .18s,box-shadow .18s}
.capf:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(0,0,0,.45)}
.capf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.capf-num{font-family:'Anton';font-size:44px;line-height:.9}
.capf-flag{font:700 9.5px 'Archivo';letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:4px 10px}
.capf-name{font-family:'Anton';text-transform:uppercase;font-size:20px;letter-spacing:.02em;margin:0 0 5px}
.capf-def{font:600 14.5px 'Archivo';color:#fff;line-height:1.5;margin:0 0 16px}
.capf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #1e1e1e;padding-top:14px}
.capc{border:1px solid var(--border);border-radius:18px;background:#101010;padding:22px 22px 24px;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}
.capc:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.42)}
.capc-num{font-family:'Anton';font-size:30px;line-height:.9}
.capc-name{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.02em;margin:10px 0 5px}
.capc-def{font:600 13.5px 'Archivo';color:#fff;line-height:1.5;margin:0 0 14px}
.capc-block{border-top:1px solid #1c1c1c;padding-top:11px;margin-top:11px}
.cap-lbl2{font:700 9.5px 'Archivo';letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.cap-txt2{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.55;margin:0}
@media(max-width:820px){.cap-feat{grid-template-columns:1fr}.cap-supp{grid-template-columns:1fr}.capf-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.capf-row{grid-template-columns:1fr;gap:12px}.capf-num{font-size:38px}.capc-num{font-size:26px}}
.eqx{position:relative;overflow:hidden;background:linear-gradient(100deg,#0d0d0d,#07131f);border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d}
.eqx-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:56px 24px}
.eqx ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.eqx li{display:flex;gap:12px;align-items:flex-start;font:500 15px 'Archivo';color:#d0d0d0;line-height:1.55}
.eqx li span{flex:none;color:var(--green);margin-top:1px}
.eqx-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
@media(max-width:720px){.eqx-grid{grid-template-columns:1fr;gap:24px}}
.about-final{position:relative;overflow:hidden;border-top:1px solid var(--border2);background:radial-gradient(700px 400px at 50% 0%,rgba(0,123,255,.16),transparent 60%),radial-gradient(600px 400px at 82% 100%,rgba(168,255,0,.10),transparent 60%),#0A0A0A;text-align:center}
.about-final .inner{max-width:720px;margin:0 auto;padding:60px 24px}
.about-final h2{font-family:'Anton';text-transform:uppercase;font-size:clamp(28px,4.2vw,50px);line-height:1.02;margin:8px 0 0}
.about-final p{color:var(--muted);font-size:16px;line-height:1.65;max-width:560px;margin:16px auto 24px}
.about-final .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:520px){.about-final .btns{flex-direction:column}.about-final .btns .btn{width:100%;text-align:center}}
/* program page */
.pg-divider{height:1px;max-width:560px;margin:22px 0 0;background:linear-gradient(90deg,var(--blue),var(--green),transparent)}
.pstat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;margin-top:26px}
.pstat{padding:22px 22px;border-right:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c}
.pstat-lbl{font:700 10px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}
.pstat-v{font-family:'Anton';font-size:26px;line-height:1;color:#fff}
.pstat.tone-lime .pstat-v{color:var(--green)}
.pstat.tone-blue .pstat-v{color:#7fbaff}
.pstat.tone-white .pstat-v{color:#fff}
.pstat.tone-dim .pstat-v{color:var(--gray2);font-size:20px}
.pstat-sec{font:500 12px 'Archivo';color:var(--gray2);margin-top:6px}
@media(max-width:900px){.pstat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.pstat-grid{grid-template-columns:1fr}}
@media(max-width:420px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats .stat{border-right:none;padding-left:0}}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.pcol{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:26px 28px}
.pcol-head{display:flex;align-items:center;gap:12px}
.pcol-badge{flex:none;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:700 15px 'Archivo'}
.pcol h2{font-size:22px;margin:0}
.pcol-sub{font:500 13px 'Archivo';color:var(--gray2);margin:10px 0 0;line-height:1.5}
.pcol-list{display:grid;gap:18px;margin-top:18px}
.pcol-item{display:flex;gap:12px;align-items:flex-start;font:500 14px 'Archivo';line-height:1.55;color:#d0d0d0}
.pcol-item span{flex:none;margin-top:1px;font:700 14px 'Archivo'}
@media(max-width:700px){.pcols{grid-template-columns:1fr}}
.pickup{position:relative;background:#F5F7F2;color:#0A0A0A}
.pickup::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),var(--blue))}
.pickup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.pickup-card{background:#fff;border:1px solid #d7dbd0;border-radius:14px;padding:20px 22px}
.pickup-ic{width:38px;height:38px;border-radius:10px;background:#eef1ea;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#0A0A0A}
.pickup-ic svg{width:20px;height:20px}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media(max-width:700px){.pd-grid{grid-template-columns:1fr;gap:0}}
.pickup-card h3{font:700 15px 'Archivo';margin:0 0 6px}
.pickup-card p{font:500 13.5px 'Archivo';color:#4a4a4a;line-height:1.6;margin:0}
.pickup-note{font:600 13px 'Archivo';color:#2a2a2a;margin:18px 0 0;border-left:3px solid var(--blue);padding-left:14px}
@media(max-width:720px){.pickup-grid{grid-template-columns:1fr}}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;position:relative}
.steps-row::before{content:"";position:absolute;top:33px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--green),var(--blue));opacity:.4}
.step{position:relative;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:22px 22px;transition:border-color .18s,transform .18s}
.step:hover{border-color:#3a3a3a;transform:translateY(-3px)}
.step-n{font-family:'Anton';font-size:24px;color:var(--green);line-height:1}
.step:nth-child(even) .step-n{color:var(--blue)}
.step h3{font:700 14px 'Archivo';margin:12px 0 5px}
.step p{font:500 12.5px 'Archivo';color:var(--gray2);line-height:1.5;margin:0}
@media(max-width:820px){.steps-row{grid-template-columns:1fr 1fr}.steps-row::before{display:none}}
/* curriculum page */
.cur-summary{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:22px}
.cur-chip{border:1px solid var(--border);border-radius:999px;background:var(--panel);padding:9px 16px;font:700 11px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:#e5e5e5}
.cur-chip b{font-family:'Anton';font-weight:400;margin-right:6px}
.cur-nav{position:sticky;top:64px;z-index:40;background:rgba(10,10,10,.92);backdrop-filter:blur(8px);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);margin-top:26px}
.cur-nav-inner{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.cur-nav-inner::-webkit-scrollbar{display:none}
.cur-nav a{flex:none;border:1px solid var(--border);border-radius:999px;padding:7px 15px;font:700 12px 'Archivo';letter-spacing:.04em;color:var(--muted);white-space:nowrap;transition:border-color .15s,color .15s}
.cur-nav a:hover{color:#fff;border-color:#3a3a3a}
.cur-intro{font:500 15px 'Archivo';color:#d0d0d0;line-height:1.65;max-width:740px;margin:30px 0 0}
.timeline{position:relative;margin:0 auto;padding:8px 0 0}
.timeline::before{content:"";position:absolute;left:-45px;top:12px;bottom:110px;width:2px;background:linear-gradient(180deg,var(--green),var(--blue))}
.wk{position:relative;margin-bottom:32px;scroll-margin-top:130px}
.wk-rail{position:absolute;left:-72px;top:0;z-index:1}
.wk-node{width:56px;height:56px;border-radius:50%;border:2px solid;background:#0d0d0d;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Anton';line-height:1}
.wk-node .wl{font:700 8px 'Archivo';letter-spacing:.1em;color:var(--gray)}
.wk-node .wn{font-size:24px}
.wk-card{border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:28px 30px;width:100%;transition:border-color .18s,transform .18s,box-shadow .18s}
.wk-card:hover{transform:translateY(-2px)}
.wk.feat .wk-card{background:linear-gradient(150deg,#141414,#101010)}
.wk-status{font:700 9px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#9a9a9a;margin-bottom:8px}
.wk-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.wk-title{font-family:'Anton';text-transform:uppercase;font-size:23px;letter-spacing:.02em;margin:0}
.wk-badge{font:700 10px 'Archivo';letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:3px 10px}
.wk-purpose{font:600 15px 'Archivo';color:#fff;line-height:1.55;margin:0 0 20px}
.wk-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 30px}
.wk-lbl{display:flex;align-items:center;gap:7px;font:700 12px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.wk-lbl .sw{width:8px;height:8px;border-radius:2px;flex:none}
.wk-txt{font:500 14.5px 'Archivo';color:#dedede;line-height:1.7;margin:0}
.wk-home{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:18px 20px;border-radius:12px;background:#161616;border:1px solid #232323}
.wk-home svg{flex:none;width:19px;height:19px;color:var(--gray2);margin-top:2px}
.wk-home .hl{font:700 9px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:#6f6f6f;margin-bottom:4px}
.wk-home p{font:500 15px 'Archivo';color:#efefef;line-height:1.6;margin:0}
.wk.final .wk-card{border-color:#3a4d2a;box-shadow:0 0 0 1px rgba(168,255,0,.14),0 18px 44px rgba(0,0,0,.4)}
.wk.final .wk-node{width:56px;height:56px}
.wk-flag{font:700 8px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}
@media(max-width:1400px){.timeline::before{left:19px}.wk{padding-left:64px}.wk-rail{left:0}}
@media(max-width:760px){.timeline::before{left:15px}.wk{padding-left:52px}.wk-rail{left:0}.wk-node{width:40px;height:40px}.wk-node .wn{font-size:17px}.wk-cols{grid-template-columns:1fr;gap:16px}}
.week-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#0a1220,#0A0A0A 60%);padding:92px 0 40px}
.week-section::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--blue))}
.week-section::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 20% 0%,#000,transparent 60%);mask-image:radial-gradient(circle at 20% 0%,#000,transparent 60%);pointer-events:none}
.week-section .wrap{position:relative}
.week-head{margin-bottom:52px}
.week-head .eyebrow{margin-bottom:14px}
.week-head h2{margin:0 0 18px}
.week-head .sub{max-width:560px;margin:0}
@media(max-width:760px){.week-section{padding:56px 0 32px}.week-head{margin-bottom:36px}}
.cur-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.cur-oc{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:22px 24px;display:flex;gap:14px;align-items:flex-start}
.cur-oc .n{font-family:'Anton';font-size:22px;line-height:1;flex:none}
.cur-oc p{font:500 14.5px 'Archivo';color:#d0d0d0;line-height:1.55;margin:0}
@media(max-width:640px){.cur-outcomes{grid-template-columns:1fr}}
/* facilitators page */
.trust-row{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.trust-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--panel);padding:8px 13px;font:700 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:#e5e5e5}
.trust-chip .d{width:6px;height:6px;border-radius:50%}
.notice{display:flex;gap:11px;align-items:flex-start;border:1px solid #1d3350;background:rgba(0,123,255,.07);border-radius:12px;padding:12px 16px;margin-top:22px;max-width:760px}
.notice svg{flex:none;width:17px;height:17px;color:#7fbaff;margin-top:1px}
.notice p{font:500 13px 'Archivo';color:#cfe0f2;line-height:1.55;margin:0}
.notice .sub2{font:500 12px 'Archivo';color:#8ea8c4;margin-top:4px}
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:26px;align-items:stretch}
.fac-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:26px 26px;transition:border-color .18s,transform .18s,box-shadow .18s}
.fac-card:hover{border-color:#3a3a3a;transform:translateY(-4px);box-shadow:0 18px 46px rgba(0,0,0,.5)}
.fac-card.pending{border-style:dashed;border-color:#2f2f2f;background:#0c0c0c}
.fac-top{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.fac-av{flex:none;width:64px;height:64px;border-radius:50%;background:linear-gradient(150deg,#0b1424,#0a0f18);display:flex;align-items:center;justify-content:center;font-family:'Anton';font-size:22px;color:#fff;position:relative;overflow:hidden}
.fac-av::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:14px 14px}
.fac-av.ring-g{box-shadow:0 0 0 2px rgba(168,255,0,.5)}
.fac-av.ring-b{box-shadow:0 0 0 2px rgba(0,123,255,.5)}
.fac-av span{position:relative}
.fac-name{font-family:'Anton';font-size:22px;line-height:1}
.fac-role{font:700 10px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray2);margin-top:6px}
.fac-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.fac-bio{font:500 14.5px 'Archivo';color:#dedede;line-height:1.7;margin:0 0 20px}
.fac-assign{margin-top:auto;border-top:1px solid #1c1c1c;padding-top:16px}
.fac-assign .lbl{font:700 9.5px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;margin-bottom:8px}
.fac-assign .row{font:600 14px 'Archivo';color:#efefef;line-height:1.6}
.fac-link{display:inline-block;margin-top:12px;font:700 12.5px 'Archivo';color:var(--blue)}
.fac-card.pending .fac-name{font-size:18px}
.fac-pill{align-self:flex-start;font:700 10px 'Archivo';letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:6px 13px;background:rgba(0,123,255,.16);color:#9fc7ff;border:1px solid #1d3350;margin-bottom:14px}
.fac-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.frole{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:26px 26px}
.frole .n{font-family:'Anton';font-size:22px;color:var(--green);line-height:1}
.frole:nth-child(even) .n{color:#7fbaff}
.frole p{font:500 14px 'Archivo';color:#dedede;line-height:1.65;margin:14px 0 0}
.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;margin-top:20px}
.safety-grid .it{display:flex;gap:11px;align-items:flex-start;font:500 14px 'Archivo';color:#d0d0d0;line-height:1.55;padding:8px 0;border-bottom:1px solid #1a1a1a}
.safety-grid .it span{flex:none;color:var(--green);margin-top:1px}
@media(max-width:900px){.fac-grid{grid-template-columns:1fr 1fr}.fac-card.pending{grid-column:1 / -1}.fac-role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.fac-grid{grid-template-columns:1fr}.fac-card.pending{grid-column:auto}.fac-role-grid{grid-template-columns:1fr}.safety-grid{grid-template-columns:1fr;gap:0}}
/* locations page */
.loc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:16px;align-items:stretch}
.loc-card{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--border);border-radius:20px;background:var(--panel);padding:30px 30px;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}
.loc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc)}
.loc-card:hover{border-color:#3a3a3a;transform:translateY(-3px);box-shadow:0 18px 46px rgba(0,0,0,.5)}
.loc-card:hover::before{filter:brightness(1.25)}
.loc-toprow{display:flex;justify-content:space-between;align-items:center;gap:14px}
.loc-type{display:inline-flex;align-items:center;gap:7px;font:700 10px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.loc-type svg{width:15px;height:15px}
.loc-status{flex:none;font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:4px 10px;color:var(--acc);border:1px solid color-mix(in oklab,var(--acc) 55%,transparent)}
.loc-name{font-family:'Anton';text-transform:uppercase;font-size:clamp(20px,2.1vw,26px);letter-spacing:.01em;margin:12px 0 8px;line-height:1.08;white-space:nowrap}
.loc-name .nw{white-space:nowrap}
.loc-addr{font:500 13.5px 'Archivo';color:#cfcfcf;line-height:1.5}
.loc-groups{display:grid;gap:12px;margin-top:28px}
.grow{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:center;background:#141414;border:1px solid #1e1e1e;border-radius:12px;padding:11px 16px;transition:border-color .15s}
.grow:hover{border-color:#333}
.grow svg{width:16px;height:16px;color:var(--acc)}
.grow .d{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:#fff;line-height:1}
.grow .meta{font:600 12.5px 'Archivo';color:#c2c2c2;margin-top:4px}
.grow .meta b{color:#8a8a8a;font-weight:500}
.loc-venue{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;margin-bottom:28px;align-items:stretch}
.vcell{background:#121212;border:1px solid #1c1c1c;border-radius:10px;padding:14px 14px}
.vcell .vk{display:flex;align-items:center;gap:6px;font:700 9px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:#7a7a7a;margin-bottom:7px}
.vcell .vk svg{width:13px;height:13px}
.vcell .vv{font:500 13px 'Archivo';color:#eaeaea;line-height:1.45}
.loc-avail{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:28px;align-items:end;margin-top:auto;padding-top:22px;border-top:1px solid #1c1c1c}
.loc-avail .left .n{font-family:'Anton';font-size:30px;color:var(--acc);line-height:1}
.loc-avail .left .n span{font-size:11px;font-family:'Archivo';font-weight:700;letter-spacing:.1em;color:#fff;margin-left:8px}
.loc-avail .left .s{font:600 12.5px 'Archivo';color:#b8b8b8;margin-top:8px}
.loc-avail .bar{height:8px;border-radius:999px;background:#1a1a1a;overflow:hidden;margin-bottom:6px}
.loc-avail .bar span{display:block;height:100%;border-radius:999px;background:var(--acc);transition:width .5s ease,background-color .5s ease}
.loc-card .btn{margin-top:24px;text-align:center}
@media(max-width:760px){.loc-grid{grid-template-columns:1fr}}
@media(max-width:440px){.steps-row{grid-template-columns:1fr}.loc-avail{grid-template-columns:1fr;gap:14px}.loc-avail .bar{width:100%}}
/* classes page */
.cls-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px;align-items:stretch}
.cls-card{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:24px 22px;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}
.cls-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc)}
.cls-card:hover{border-color:#3a3a3a;transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.46)}
.cls-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.cls-group{font:600 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:#6f6f6f}
.cls-open{font:700 9px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in oklab,var(--acc) 55%,transparent);border-radius:999px;padding:3px 9px}
.cls-day{font-family:'Anton';text-transform:uppercase;font-size:30px;line-height:1}
.cls-time{font:600 13.5px 'Archivo';color:#dcdcdc;margin-top:5px}
.cls-loc{margin-top:18px}
.cls-loc .ln{font:700 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--acc)}
.cls-loc .lc{font:500 12.5px 'Archivo';color:#b0b0b0;margin-top:3px}
.cls-chip{display:inline-block;margin-top:10px;font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:#9a9a9a;border:1px solid #2a2a2a;border-radius:999px;padding:3px 9px}
.cls-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;border-top:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c;padding:12px 0}
.cls-meta .m{text-align:center}
.cls-meta .mv{font-family:'Anton';font-size:15px;color:#fff;line-height:1}
.cls-meta .ml{font:600 8px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:#8a8a8a;margin-top:5px}
.cls-meta .m+.m{border-left:1px solid #1a1a1a}
.cls-fac{margin-top:16px}
.cls-fac .fl{font:700 9px 'Archivo';letter-spacing:.11em;text-transform:uppercase;color:#6f6f6f;margin-bottom:6px}
.cls-fac .fn{font:700 15px 'Archivo';color:#fff}
.cls-fac .fn.tba{color:#c2c2c2}
.cls-fac .ft{font:500 12px 'Archivo';color:#8a8a8a;margin-top:2px}
.cls-bottom{margin-top:auto;padding-top:18px}
.cls-seats{display:flex;align-items:baseline;gap:8px}
.cls-seats .n{font-family:'Anton';font-size:26px;line-height:1}
.cls-seats .nl{font:700 9px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:#fff}
.cls-seats-sub{font:600 11.5px 'Archivo';color:#a8a8a8;margin-top:6px}
.cls-bar{height:6px;border-radius:999px;background:#1a1a1a;overflow:hidden;margin:12px 0 0}
.cls-bar span{display:block;height:100%;border-radius:999px;transition:width .5s ease,background-color .5s ease}
.cls-card .btn{margin-top:16px;text-align:center;width:100%}
.cls-summary{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.cls-foot{display:flex;align-items:center;justify-content:center;gap:9px;max-width:640px;margin:18px auto 0;padding:12px 18px;border:1px solid var(--border2);border-radius:12px;background:#0d0d0d}
.cls-foot svg{flex:none;width:16px;height:16px;color:#7fbaff}
.cls-foot span{font:500 12.5px 'Archivo';color:#a8a8a8;line-height:1.5;text-align:center}
@media(max-width:1000px){.cls-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cls-grid{grid-template-columns:1fr}}

/* enrollment flow */
.e2-sub{color:#c4c4c4;font:500 14px 'Archivo';line-height:1.6;margin:10px 0 0;max-width:460px}
.e2-progress{display:flex;align-items:center;gap:10px;margin:22px 0 16px}
.e2-pstep{display:flex;align-items:center;gap:8px;font:700 11px 'Archivo';letter-spacing:.04em;text-transform:uppercase;color:#6f6f6f}
.e2-pstep.on{color:#fff}
.e2-pn{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:'Anton';font-size:12px;background:#1e1e1e;color:#8a8a8a}
.e2-pstep.on .e2-pn{background:var(--green);color:#0a0a0a}
.e2-pstep.done .e2-pn{background:#2a3a12;color:var(--green)}
.e2-pline{flex:1;height:1px;background:#242424}
.e2-progress-multi{flex-wrap:wrap;gap:8px 14px}
.e2-progress-multi .e2-pstep{font-size:10.5px}
.e2-card{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:22px 22px}
.e2-sec{font-family:'Anton';text-transform:uppercase;font-size:14px;letter-spacing:.03em;color:#fff;margin:22px 0 4px}
.e2-sec:first-child{margin-top:0}
.e2-hint{font:500 12.5px 'Archivo';color:#8f8f8f;line-height:1.55;margin:0 0 12px}
.e2-hint a{color:var(--blue);font-weight:600}
.e2-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.e2-f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.e2-f span{font:600 10.5px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--gray2)}
.e2-f .req{color:var(--green);letter-spacing:0}
.e2-f input,.e2-f select,.e2-f textarea{width:100%;padding:12px 13px;background:#131313;border:1px solid #2a2a2a;border-radius:10px;color:#fff;font:16px 'Archivo';outline:none}
.e2-f input:focus,.e2-f select:focus,.e2-f textarea:focus{border-color:var(--green)}
.e2-f textarea{resize:vertical;line-height:1.5;font-size:15px}
.e2-dob{display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:8px}
.e2-dob select{width:100%;padding:12px 13px;background:#131313;border:1px solid #2a2a2a;border-radius:10px;color:#fff;font:16px 'Archivo';outline:none}
.e2-dob select:focus{border-color:var(--green)}
.e2-dob[aria-invalid="true"] select{border-color:#a33}
.e2-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.e2-modal-back{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.e2-modal-card{position:relative;width:min(680px,100%);max-height:86vh;display:flex;flex-direction:column;background:#111;border:1px solid #2a2a2a;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.e2-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid #232323}
.e2-modal-kicker{font:700 10.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--green);margin-bottom:5px}
.e2-modal-head h3{font:700 22px 'Anton';letter-spacing:.02em;color:#fff;line-height:1.1;text-transform:uppercase}
.e2-modal-x{flex:none;width:34px;height:34px;border-radius:9px;border:1px solid #2f2f2f;background:#191919;color:#ccc;font-size:22px;line-height:1;cursor:pointer}
.e2-modal-x:hover{background:#232323;color:#fff}
.e2-modal-body{padding:18px 22px 24px;overflow-y:auto}
.e2-modal-intro{font:500 14px 'Archivo';color:#c7c7c7;line-height:1.6;margin:0 0 18px}
.e2-mod-sec{margin-bottom:18px}
.e2-mod-sec h4{font:700 13px 'Archivo';letter-spacing:.02em;color:#fff;margin:0 0 6px}
.e2-mod-sec p{font:400 13.5px 'Archivo';color:#b0b0b0;line-height:1.65;margin:0 0 8px}
.e2-modal-full{font:500 13px 'Archivo';color:#8a8a8a;margin:6px 0 0;padding-top:14px;border-top:1px solid #232323}
.e2-modal-full a{color:var(--blue);font-weight:600}
.e2-classes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.e2-class{text-align:left;border:1px solid var(--border);border-radius:12px;background:#141414;padding:13px 15px;cursor:pointer;position:relative;transition:border-color .15s,transform .1s;--acc:var(--green)}
.e2-class::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc);border-radius:12px 12px 0 0;opacity:.5}
.e2-class.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.e2-class.sel::before{opacity:1}
.e2-class.full{opacity:.62}
.e2-class-day{font-family:'Anton';text-transform:uppercase;font-size:18px;color:#fff;line-height:1}
.e2-class-loc{font:500 12px 'Archivo';color:#b0b0b0;margin-top:3px}
.e2-seat{font:700 10.5px 'Archivo';letter-spacing:.03em;color:var(--acc);margin-top:9px}
.e2-seat.low{color:#ffb84d}
.e2-seat.z{color:#8a8a8a}
.e2-age{font:600 12.5px 'Archivo';margin:2px 0 12px;min-height:1px}
.e2-agebox{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 16px;margin:4px 0 6px;border:1px solid}
.e2-agebox.ok{background:rgba(168,255,0,.06);border-color:#2a3a12}
.e2-agebox.bad{background:rgba(255,90,77,.07);border-color:#4a2020}
.e2-agebox-n{font-family:'Anton';font-size:30px;line-height:1}
.e2-agebox.ok .e2-agebox-n{color:var(--green)}
.e2-agebox.bad .e2-agebox-n{color:#ff8a80}
.e2-agebox-t{font:600 12.5px 'Archivo';line-height:1.4}
.e2-agebox-ic{font-family:'Anton';font-size:26px;line-height:1;color:#ff8a80;width:30px;text-align:center;flex:none}
.e2-inelig{border:1px solid #4a2020;background:rgba(255,90,77,.05);border-radius:12px;padding:14px 16px;margin:0 0 14px}
.e2-inelig p{font:500 13px 'Archivo';color:#ffb3ad;line-height:1.5;margin:0 0 10px}
.e2-inelig-btns{display:flex;gap:10px;flex-wrap:wrap}
.e2-inelig-btns .btn{background:#1a1a1a;color:#e5e5e5;border:1px solid #2a2a2a;font-size:13px}
.e2-inelig[hidden]{display:none}
.e2-agebox.ok .e2-agebox-t{color:#cfe9a0}
.e2-agebox.bad .e2-agebox-t{color:#ffb3ad}
.e2-gfchecks{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:4px}
.e2-gfchk{display:flex;gap:9px;align-items:center;font:500 13px 'Archivo';color:#cfcfcf;cursor:pointer;padding:4px 0}
.e2-gfchk input{width:17px;height:17px;flex:none;accent-color:var(--green)}
.e2-gfchk input:disabled{opacity:.4}
.e2-gfchk input:disabled+span{color:#6a6a6a}
.e2-f[hidden]{display:none}
.e2-count{align-self:flex-end;font:600 11px 'Archivo';color:#7a7a7a;margin-top:4px}
@media(max-width:520px){.e2-gfchecks{grid-template-columns:1fr}}
.e2-check{display:flex;gap:11px;align-items:flex-start;margin-top:12px;font:500 13px 'Archivo';color:#cfcfcf;line-height:1.5;cursor:pointer}
.e2-check input{margin-top:2px;width:19px;height:19px;flex:none;accent-color:var(--green)}
.e2-check a{color:var(--blue);font-weight:600}
.e2-check .req{color:var(--green)}
.e2-check .e2-opt{font:700 9px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:#7a7a7a;border:1px solid #2a2a2a;border-radius:999px;padding:2px 7px;margin-left:4px}
.e2-mediaq{margin-top:14px;padding:14px;border:1px solid #232323;border-radius:12px;background:#0e0e0e}
.e2-mediaq-lead{display:flex;align-items:center;gap:8px;font:700 12px 'Archivo';letter-spacing:.02em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.e2-mediaq-lead .e2-opt{font:700 9px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:#7a7a7a;border:1px solid #2a2a2a;border-radius:999px;padding:2px 7px}
.e2-radio{display:flex;gap:11px;align-items:flex-start;margin-top:10px;font:500 13px 'Archivo';color:#cfcfcf;line-height:1.5;cursor:pointer}
.e2-radio input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--green)}
.e2-radio b{color:#fff;font-weight:700}
.e2-err{color:#ff9a9a;font:600 13px 'Archivo';margin:12px 0 0;min-height:1px}
.e2-next{width:100%;margin-top:20px}
.e2-price{border:1px solid #2a3a12;background:rgba(168,255,0,.05);border-radius:14px;padding:18px 20px;text-align:center}
.e2-price-top{display:flex;align-items:baseline;justify-content:center;gap:12px}
.e2-strike{font:600 20px 'Archivo';color:#7a7a7a;text-decoration:line-through}
.e2-now{font-family:'Anton';font-size:44px;color:var(--green);line-height:1}
.e2-price-tag{font:700 11px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-top:6px}
.e2-includes{font:500 13px 'Archivo';color:#cfcfcf;line-height:1.6;margin:12px 0 8px}
.e2-reason{font:500 12px 'Archivo';color:#9a9a9a;font-style:italic;margin:0}
.e2-summary{border:1px solid var(--border);border-radius:12px;background:#131313;padding:14px 16px;margin:16px 0}
.e2-srow{display:flex;justify-content:space-between;gap:14px;font:500 13.5px 'Archivo';color:#d0d0d0;padding:5px 0}
.e2-srow span:first-child{color:#8a8a8a}
.e2-srow.total{border-top:1px solid #2a2a2a;margin-top:6px;padding-top:11px;color:#fff;font-family:'Anton';font-size:18px}
.e2-fine{font:500 11.5px 'Archivo';color:#8a8a8a;line-height:1.6;margin:0}
.e2-fine b{color:#c2c2c2}
.e2-payrow{display:flex;gap:12px;margin-top:18px}
.e2-payrow .e2-back{background:#1a1a1a;color:#e5e5e5;border:1px solid #2a2a2a;flex:none}
.e2-payrow .e2-submit{flex:1}
.e2-scholar{font:500 12px 'Archivo';color:#8a8a8a;text-align:center;margin:14px 0 0}
.e2-scholar a{color:var(--blue);font-weight:600}
@media(max-width:520px){.e2-grid,.e2-classes{grid-template-columns:1fr}.e2-card{padding:18px 16px}.e2-now{font-size:38px}}

.enr-prog-top{display:flex;justify-content:space-between;align-items:baseline;font:700 12px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--gray2);margin-bottom:8px}
.enr-prog-name{color:#fff}
.enr-prog-track{height:6px;border-radius:999px;background:#1a1a1a;overflow:hidden}
.enr-prog-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--blue));transition:width .3s ease}
.enr-card{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:28px 28px}
.enr-h{font-family:'Anton';text-transform:uppercase;font-size:clamp(20px,2.4vw,26px);letter-spacing:.01em;margin:0 0 6px}
.enr-sh{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.02em;margin:22px 0 4px}
.enr-sub{color:#c9c9c9;font:500 14px 'Archivo';line-height:1.6;margin:0 0 18px;max-width:600px}
.enr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.enr-f{display:flex;flex-direction:column;gap:6px}
.enr-f.wide{grid-column:1 / -1}
.enr-f span{font:600 11px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--gray2)}
.enr-f .req{color:var(--green);letter-spacing:0}
.enr-f input,.enr-f select,.enr-f textarea{width:100%;padding:11px 13px;background:#121212;border:1px solid #2a2a2a;border-radius:9px;color:#fff;font:15px 'Archivo';outline:none}
.enr-f input:focus,.enr-f select:focus,.enr-f textarea:focus{border-color:var(--green)}
.enr-f textarea{resize:vertical;line-height:1.5}
.enr-err{color:#ff9a9a;font:600 13px 'Archivo';margin-top:14px;min-height:1px}
.enr-note-ok{border:1px solid #253017;background:rgba(168,255,0,.06);border-radius:12px;padding:14px 16px;font:500 14px 'Archivo';color:#eaffcf;line-height:1.6}
.enr-disclaimer{border-left:3px solid var(--blue);padding:4px 0 4px 14px;margin-top:16px;font:500 13px 'Archivo';color:#9fc7ff;line-height:1.6}
.enr-details{margin-top:16px;border-top:1px solid #1c1c1c;padding-top:12px}
.enr-details summary{cursor:pointer;font:700 12px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.enr-navbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}
.enr-back{background:#1a1a1a;color:#e5e5e5;border:1px solid #2a2a2a}
.enr-back:hover{border-color:#3a3a3a}
.enr-tabs{display:inline-flex;gap:6px;background:#121212;border:1px solid #222;border-radius:999px;padding:4px;margin-bottom:14px}
.enr-tab{border:none;background:none;color:var(--muted);font:700 12px 'Archivo';letter-spacing:.04em;padding:7px 16px;border-radius:999px;cursor:pointer}
.enr-tab.sel{background:var(--green);color:#0A0A0A}
.enr-class-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.enr-class{text-align:left;border:1px solid var(--border);border-radius:14px;background:#141414;padding:18px 18px;cursor:pointer;position:relative;transition:border-color .15s,transform .15s;--acc:var(--green)}
.enr-class::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc);border-radius:14px 14px 0 0}
.enr-class:hover{transform:translateY(-2px);border-color:#3a3a3a}
.enr-class.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.enr-class.full{opacity:.55;cursor:not-allowed}
.enr-class-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.enr-class-day{font-family:'Anton';text-transform:uppercase;font-size:22px;line-height:1}
.enr-class-status{font:700 9px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc);border-radius:999px;padding:3px 9px}
.enr-class-meta{font:500 12.5px 'Archivo';color:#c2c2c2;line-height:1.5}
.enr-class-fac{font:700 13px 'Archivo';color:#fff;margin-top:10px}
.enr-class-fac span{display:block;font:500 11px 'Archivo';color:#8a8a8a;margin-top:2px}
.enr-class-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #1e1e1e;font-family:'Anton';font-size:18px}
.enr-class-seats{font:700 12px 'Archivo';color:var(--acc)}
.enr-check{display:flex;gap:11px;align-items:flex-start;margin-top:12px;font:500 13.5px 'Archivo';color:#d0d0d0;line-height:1.5;cursor:pointer}
.enr-check input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--green)}
.enr-check .req{color:var(--green)}
.enr-policies{display:grid;gap:2px;margin-top:6px}
.enr-sigpad{border:1px solid #2a2a2a;border-radius:10px;background:#0d0d0d;overflow:hidden;margin-top:6px}
.enr-sigpad canvas{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair}
.enr-typed-preview{margin-top:10px;font-family:'Permanent Marker',cursive;font-size:30px;color:#fff;border-bottom:1px solid #2a2a2a;padding:6px 4px 12px}
.enr-rev{border:1px solid var(--border);border-radius:12px;background:#121212;padding:16px 18px;margin-bottom:12px}
.enr-rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.enr-rev-head h3{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.02em;margin:0}
.enr-edit{background:none;border:none;color:var(--blue);font:700 12px 'Archivo';cursor:pointer}
.enr-rev-row{display:flex;justify-content:space-between;gap:16px;font:500 13.5px 'Archivo';color:#d0d0d0;padding:5px 0;border-top:1px solid #1a1a1a}
.enr-rev-row span:first-child{color:#8a8a8a}
.enr-summary{border:1px solid var(--border);border-radius:12px;background:#0d0d0d;padding:16px 18px;margin:14px 0}
.enr-sum-row{display:flex;justify-content:space-between;font:600 14px 'Archivo';color:#d0d0d0;padding:5px 0}
.enr-sum-row.total{border-top:1px solid #2a2a2a;margin-top:6px;padding-top:12px;color:#fff;font-family:'Anton';font-size:20px}
.enr-final-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.enr-final-list li{position:relative;padding-left:24px;font:500 14px 'Archivo';color:#d0d0d0;line-height:1.5}
.enr-final-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
@media(max-width:640px){.enr-grid,.enr-class-grid{grid-template-columns:1fr}.enr-card{padding:22px 18px}}

/* contact & support page */
.cf-note{font:600 13px 'Archivo';color:var(--green);margin:10px 0 0}
.cf-hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.cf-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 8px}
.cf-topic{text-align:left;border:1px solid var(--border);border-top:3px solid var(--acc);border-radius:14px;background:var(--panel);padding:16px 16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .12s}
.cf-topic:hover{transform:translateY(-2px);border-color:#3a3a3a}
.cf-topic.sel{box-shadow:0 0 0 1px var(--acc)}
.cf-topic-ic{width:34px;height:34px;color:var(--acc)}
.cf-topic-ic svg{width:26px;height:26px}
.cf-topic-t{font-family:'Anton';text-transform:uppercase;font-size:14px;color:#fff;line-height:1.1}
.cf-topic-d{font:500 12px 'Archivo';color:#a8a8a8;line-height:1.5}
.cf-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;margin-top:30px;align-items:start}
.cf-formwrap{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:24px 24px}
.cf-formwrap .e2-grid{margin-bottom:0}
.cf-formwrap .cf-wide{grid-column:auto}
.cf-formwrap .cf-submit{width:100%;margin-top:18px}
.cf-cond{border:1px solid #222;border-radius:12px;background:#111;padding:14px 16px;margin:2px 0 6px}
.cf-cond-h{font:700 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.cf-cond-note{font:500 12px 'Archivo';color:#9a9a9a;margin:8px 0 0;line-height:1.5}
.cf-side{display:grid;gap:14px}
.cf-panel{border:1px solid var(--border);border-radius:16px;background:#0f0f0f;padding:20px 20px}
.cf-panel-h{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:#fff;margin-bottom:12px}
.cf-kv{padding:8px 0;border-top:1px solid #1a1a1a}
.cf-kv:first-of-type{border-top:none}
.cf-kv span{display:block;font:700 9.5px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:#7a7a7a;margin-bottom:4px}
.cf-kv b,.cf-kv a{font:600 13.5px 'Archivo';color:#eaeaea}
.cf-kv a{color:var(--blue)}
.cf-kv p{font:500 12.5px 'Archivo';color:#bdbdbd;line-height:1.5;margin:0}
.cf-side-note{font:500 11.5px 'Archivo';color:#8a8a8a;line-height:1.5;margin:12px 0 0}
.cf-signin p{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.55;margin:0 0 12px}
.cf-crisis{display:flex;gap:14px;align-items:flex-start;border:1px solid #4a2020;border-left:3px solid #ff8a5c;border-radius:12px;background:rgba(255,90,77,.05);padding:18px 20px;margin:30px 0 0}
.cf-crisis-ic{flex:none;width:30px;height:30px;color:#ff8a5c}
.cf-crisis-h{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:#ff9a8f;margin-bottom:6px}
.cf-crisis p{font:500 13px 'Archivo';color:#d5d5d5;line-height:1.6;margin:0}
.cf-crisis b{color:#fff;font-family:'Anton';font-size:16px;letter-spacing:.02em}
.cf-success{border:1px solid #2a3a12;background:rgba(168,255,0,.06);border-radius:14px;padding:20px 22px;margin:6px 0 14px}
.cf-success-h{font-family:'Anton';text-transform:uppercase;font-size:22px;color:var(--green);margin-bottom:8px}
.cf-success-p{font:500 14px 'Archivo';color:#d5d5d5;line-height:1.6;margin:0 0 14px}
.cf-success-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:900px){.cf-topics{grid-template-columns:1fr 1fr}.cf-cols{grid-template-columns:1fr}}
@media(max-width:560px){.cf-topics{grid-template-columns:1fr}}
/* sponsor page */
.sp-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.sp-tier{text-align:left;background:#0e0e0e;border:1px solid #232323;border-radius:14px;padding:18px 18px 16px;cursor:pointer;transition:border-color .15s,transform .15s;display:flex;flex-direction:column;gap:8px}
.sp-tier:hover{transform:translateY(-2px);border-color:#3a3a3a}
.sp-tier.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
.sp-tier-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sp-tier-name{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.02em;color:#fff}
.sp-tier-amt{font-family:'Anton';font-size:24px;color:var(--acc);line-height:1}
.sp-tier-desc{font:500 12.5px 'Archivo';color:#c2c2c2;line-height:1.5;margin:0}
.sp-tier-incl{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.sp-tier-incl li{font:600 11.5px 'Archivo';color:#9a9a9a;padding-left:16px;position:relative}
.sp-tier-incl li::before{content:"✓";position:absolute;left:0;color:var(--acc);font-weight:700}
.sp-amt-input{display:flex;align-items:center;gap:6px;border:1px solid #2a2a2a;border-radius:10px;background:#0e0e0e;padding:0 12px}
.sp-amt-input span{font-family:'Anton';font-size:20px;color:#8a8a8a}
.sp-amt-input input{border:none;background:transparent;font:700 18px 'Archivo';color:#fff;padding:12px 0;width:100%;outline:none}
.sp-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid #1e1e1e;font:600 13px 'Archivo';color:#c8c8c8}
.sp-sum b{color:#fff;font-family:'Archivo';font-weight:700}
.sp-sum-total{border-bottom:none;padding-top:12px;font-size:15px;color:#fff}
.sp-sum-total b{font-family:'Anton';font-size:22px;color:var(--green)}
@media(max-width:820px){.sp-tiers{grid-template-columns:1fr}}

/* forms */
.field{margin:14px 0 0}
.field label{display:block;font:600 12px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;background:#121212;border:1px solid #2a2a2a;border-radius:8px;color:#fff;font:15px 'Archivo';outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field .err{color:#ff9a9a;font:600 12px 'Archivo';margin-top:5px;display:none}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#7a2626}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}
.note{font:500 12.5px 'Archivo';color:var(--gray);line-height:1.6}
.sigpad{border:1px solid #2a2a2a;border-radius:8px;background:#0e0e0e;touch-action:none;width:100%;height:130px;display:block}
.demo-flag{font:700 10px 'Archivo';letter-spacing:.08em;color:#0A0A0A;background:var(--warn);border-radius:4px;padding:3px 8px;display:inline-block}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(120px);background:var(--green);color:#0A0A0A;font:700 14px 'Archivo';padding:14px 24px;border-radius:10px;transition:transform .3s ease;z-index:200}
.toast.show{transform:translateX(-50%) translateY(0)}

/* policy/faq page */
.policy-sec{margin-bottom:22px}
.policy-sec h3{font-size:clamp(18px,2.4vw,24px);margin-bottom:8px}
.policy-sec p{color:var(--gray2);font-size:14.5px;line-height:1.7;white-space:pre-line;margin:0}

/* refund policy page */
.rp-wrap{max-width:960px}
.rp-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.rp-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--panel);padding:8px 14px;font:600 12px 'Archivo';color:#d0d0d0}
.rp-pill b{color:#fff;font-weight:700}
.rp-utils{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.rp-util{display:inline-flex;align-items:center;gap:7px;border:1px solid #2a2a2a;background:#141414;border-radius:9px;padding:8px 13px;font:600 12px 'Archivo';color:#c9c9c9;cursor:pointer;transition:border-color .15s,color .15s}
.rp-util:hover{border-color:#3a3a3a;color:#fff}
.rp-util svg{width:15px;height:15px}
.rp-intro{border:1px solid var(--border);border-radius:14px;background:#131313;padding:22px 24px;margin-top:22px;color:#d5d5d5;font:500 15px 'Archivo';line-height:1.75}
.rp-glance{margin-top:34px}
.rp-glance h2,.rp-h2{font-family:'Anton';text-transform:uppercase;font-size:clamp(19px,2.4vw,24px);letter-spacing:.02em;margin:0 0 4px}
.rp-glance-note{font:500 13px 'Archivo';color:#8a8a8a;margin:0 0 16px}
.rp-glance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rp-gcard{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:16px 18px;border-left:3px solid var(--gc)}
.rp-gtag{display:inline-block;font:700 9px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--gc);border:1px solid var(--gc);border-radius:999px;padding:3px 9px;margin-bottom:8px}
.rp-gwin{font:700 13px 'Archivo';color:#fff;margin-bottom:5px}
.rp-gbody{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.55}
.rp-toc{margin-top:34px;border:1px solid var(--border);border-radius:14px;background:#0f0f0f;padding:18px 22px}
.rp-accbar{display:flex;gap:10px;margin:28px 0 12px}
.rp-sections{display:grid;gap:10px}
.rp-sections .rp-acc[open]{margin:12px 0}
.rp-acc{border:1px solid #1e1e1e;border-radius:14px;background:#0f0f0f;overflow:hidden;scroll-margin-top:90px;transition:border-color .15s,background .15s}
.rp-acc[open]{border-color:#3a3a3a;background:#141414;border-left:3px solid var(--green)}
.rp-acc summary{display:grid;grid-template-columns:38px 1fr 20px;gap:14px;align-items:center;padding:15px 20px;min-height:48px;cursor:pointer;list-style:none;outline:none}
.rp-acc summary::-webkit-details-marker{display:none}
.rp-acc summary:hover{background:#151515}
.rp-acc summary:focus-visible{box-shadow:inset 0 0 0 2px var(--blue)}
.rp-acc-num{font-family:'Anton';font-size:22px;color:#3a3a3a;line-height:1;transition:color .15s}
.rp-acc summary:hover .rp-acc-num{color:#6a6a6a}
.rp-acc[open] .rp-acc-num{color:var(--green)}
.rp-acc-title{font-family:'Anton';text-transform:uppercase;font-size:clamp(14px,1.8vw,17px);letter-spacing:.01em;color:#bcbcbc;font-weight:400;display:flex;align-items:center;gap:10px;flex-wrap:wrap;transition:color .15s}
.rp-acc summary:hover .rp-acc-title{color:#e2e2e2}
.rp-acc[open] .rp-acc-title{color:#fff}
.rp-acc-ico{position:relative;width:14px;height:14px;justify-self:end}
.rp-acc-ico::before,.rp-acc-ico::after{content:"";position:absolute;background:#5a5a5a;border-radius:2px;transition:background .15s}
.rp-acc summary:hover .rp-acc-ico::before,.rp-acc summary:hover .rp-acc-ico::after{background:#8a8a8a}
.rp-acc[open] .rp-acc-ico::before{background:var(--green)}
.rp-acc-ico::before{top:6px;left:0;width:14px;height:2px}
.rp-acc-ico::after{top:0;left:6px;width:2px;height:14px;transition:transform .2s}
.rp-acc[open] .rp-acc-ico::after{transform:scaleY(0)}
.rp-acc-body{padding:2px 20px 22px 20px}
.rp-acc-lead{color:#c2c2c2;font:500 15px 'Archivo';line-height:1.8;white-space:pre-line;margin:0}
.rp-sec-status{display:inline-block;font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:3px 9px}
.rp-timeline{display:grid;gap:12px;margin:14px 0 0}
.rp-trow{border:1px solid var(--border);border-radius:12px;background:#141414;padding:16px 18px;border-left:3px solid var(--tc)}
.rp-twin{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.rp-twin b{font-family:'Anton';text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:#fff}
.rp-ttag{font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--tc);border:1px solid var(--tc);border-radius:999px;padding:3px 9px}
.rp-tbody{font:500 13.5px 'Archivo';color:#c2c2c2;line-height:1.6}
.rp-box{margin:14px 0 12px;border-radius:12px;padding:16px 18px;border:1px solid var(--bx);background:var(--bxbg)}
.rp-box .bxt{font:700 9px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--bx);margin-bottom:7px}
.rp-box .bxm{font:700 15px 'Archivo';color:#fff;line-height:1.5}
.rp-request{margin-top:26px;border:1px solid var(--border);border-radius:14px;background:#0f0f0f;padding:24px 26px}
.rp-request ol{margin:14px 0 18px;padding-left:20px;color:#cfcfcf;font:500 14px 'Archivo';line-height:1.9}
.rp-footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #1c1c1c}
.rp-footer-actions .rp-util{text-decoration:none}
.rp-ack{font:500 12.5px 'Archivo';color:#8a8a8a;line-height:1.6;margin-top:20px;border-left:3px solid #2a2a2a;padding-left:14px}
.rp-draft{border:1px solid #4a3a12;background:rgba(255,184,77,.08);border-radius:12px;padding:14px 18px;margin-top:22px;font:600 13px 'Archivo';color:#ffce7a;line-height:1.6}
.rp-related{margin-top:26px;padding-top:22px;border-top:1px solid #1c1c1c}
.rp-rel-h{font:700 11px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:var(--gray2);margin-bottom:14px}
.rp-rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rp-rel{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:12px 15px;font:600 13px 'Archivo';color:#c9c9c9;transition:border-color .15s,color .15s}
.rp-rel:hover{border-color:#3a3a3a;color:#fff}
.rp-rel.current{border-color:var(--green);color:var(--green);background:rgba(168,255,0,.05);pointer-events:none}

/* policy page — shared hero + signature components */
.pf-hero{font-family:'Anton';text-transform:uppercase;font-size:clamp(30px,4.4vw,52px);line-height:1.02;letter-spacing:.005em;margin:6px 0 0;max-width:16ch;text-wrap:balance}
.pf-herosub{color:#c4c4c4;font:500 15px 'Archivo';line-height:1.7;max-width:620px;margin:14px 0 0}
.pf-lead{color:#9a9a9a;font:500 14px 'Archivo';line-height:1.6;max-width:640px;margin:6px 0 0}
.pf-panel{margin-top:30px;border:1px solid var(--border);border-radius:16px;background:#0f0f0f;padding:24px 26px}
.pf-note{font:600 12.5px 'Archivo';color:#ffce7a;margin:14px 0 0}
.pf-dot-adjust{}
.rp-acc-dot{width:9px;height:9px;border-radius:50%;background:#3a3a3a;justify-self:center;margin-top:2px;transition:background .15s}
.rp-acc[open] .rp-acc-dot{background:var(--green)}
.rp-acc summary:hover .rp-acc-dot{background:#6a6a6a}
.pf-proc{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.pf-proc li{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:center}
.pf-proc-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:'Anton';font-size:15px;color:#0a0a0a;background:var(--pc)}
.pf-proc-t{font:500 14.5px 'Archivo';color:#dedede}

/* refund timeline */
.pf-tl-head{margin-top:32px}
.pf-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;position:relative}
.pf-tl-item{position:relative;padding:26px 16px 4px;border-top:2px solid #222}
.pf-tl-item::after{content:"";position:absolute;top:-2px;left:0;width:100%;height:2px;background:var(--c)}
.pf-tl-dot{position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px #0a0a0a}
.pf-tl-win{font-family:'Anton';text-transform:uppercase;font-size:15px;color:#fff;line-height:1.1}
.pf-tl-tag{display:inline-block;margin:8px 0;font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--c);border:1px solid var(--c);border-radius:999px;padding:3px 9px}
.pf-tl-body{font:500 12.5px 'Archivo';color:#b6b6b6;line-height:1.55;margin:0}

/* privacy data map */
.pf-map-head{margin-top:32px}
.pf-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;margin-top:20px}
.pf-map-col{border:1px solid var(--border);border-top:3px solid var(--c);border-radius:12px;background:var(--panel);padding:16px 16px}
.pf-map-h{font-family:'Anton';text-transform:uppercase;font-size:13px;letter-spacing:.03em;color:#fff;margin-bottom:10px}
.pf-map-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pf-map-col li{font:500 12.5px 'Archivo';color:#bdbdbd;line-height:1.4;padding-left:12px;position:relative}
.pf-map-col li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--c)}
.pf-map-arrow{align-self:center;color:#3a3a3a;font-size:20px}

/* privacy access — role cards (no scroll, no table) */
.am-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.am-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:18px 20px;display:flex;flex-direction:column}
.am-card-h{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.01em;color:#fff;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid #222}
.am-card-rows{display:grid;gap:2px}
.am-card-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #171717}
.am-card-row:first-child{border-top:none}
.am-card-cat{font:600 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:#8f8f8f;min-width:0}
.am-pill{display:inline-flex;align-items:center;gap:6px;font:700 9.5px 'Archivo';letter-spacing:.04em;text-transform:uppercase;color:var(--ac);border:1px solid color-mix(in oklab,var(--ac) 45%,transparent);border-radius:999px;padding:5px 10px;line-height:1;white-space:nowrap;flex:none}
.am-pill svg{width:12px;height:12px;flex:none}
.am-card-note{margin-top:12px;padding-top:12px;border-top:1px solid #1c1c1c;font:500 12px 'Archivo';color:#9fc7ff;line-height:1.5}
.am-noteicon{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid #3a5470;color:#9fc7ff;font:700 10px 'Archivo';margin-right:7px;vertical-align:middle}
.am-legend{margin-top:16px;border:1px solid var(--border);border-radius:12px;background:#0f0f0f;padding:6px 16px 4px}
.am-legend summary{cursor:pointer;font:700 10.5px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--gray2);padding:10px 0}
.am-legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding:6px 0 14px}
.am-legend-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.am-legend-item p{font:500 12.5px 'Archivo';color:#b6b6b6;line-height:1.5;margin:0}
@media(max-width:720px){.am-cards{grid-template-columns:1fr}.am-legend-grid{grid-template-columns:1fr}}
@media(max-width:420px){.am-card-row{flex-direction:column;align-items:flex-start;gap:6px}}

/* terms chapters */
.pf-chapters{display:grid;grid-template-columns:220px 1fr;gap:32px;margin-top:28px;align-items:start}
.pf-chapnav{position:sticky;top:88px}
.pf-chapnav-h{font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--gray2);margin-bottom:12px}
.pf-chapnav nav{display:grid;gap:2px}
.pf-chapnav a{display:flex;gap:10px;align-items:baseline;color:#b7b7b7;font:600 13.5px 'Archivo';padding:8px 10px;border-radius:8px;cursor:pointer;border-left:2px solid transparent}
.pf-chapnav a:hover{color:#fff;background:#141414}
.pf-chapnav a b{color:#6a6a6a;font-family:'Anton';font-weight:400;min-width:22px}
.pf-chap{margin-bottom:34px;scroll-margin-top:88px}
.pf-chap-head{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #222}
.pf-chap-rn{font-family:'Anton';font-size:26px;color:var(--green)}
.pf-chap-t{font-family:'Anton';text-transform:uppercase;font-size:clamp(18px,2.4vw,24px);letter-spacing:.01em;margin:0}

/* behavior expect / not-allowed */
.pf-bcols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.pf-bcol{border:1px solid var(--border);border-radius:16px;padding:22px 22px}
.pf-bcol.yes{border-top:3px solid var(--green)}
.pf-bcol.no{border-top:3px solid #ff5a4d}
.pf-bcol-h{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.02em;margin-bottom:14px}
.pf-bcol.yes .pf-bcol-h{color:var(--green)}
.pf-bcol.no .pf-bcol-h{color:#ff8a80}
.pf-bcol ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.pf-bcol li{font:500 14px 'Archivo';color:#c8c8c8;line-height:1.5;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
.pf-bcol li b{color:#fff;font-weight:700}
.pf-blist{display:grid;gap:22px}
.pf-bitem{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:16px;align-items:start}
.pf-btext{min-width:0}
.pf-btext h3{font:700 18px 'Archivo';color:#fff;margin:0 0 6px}
.pf-btext p{font:500 15px 'Archivo';color:#bdbdbd;line-height:1.6;margin:0;max-width:none;white-space:normal;overflow-wrap:normal;word-break:normal}
.pf-bmark{font-size:18px;font-weight:700;line-height:1.4}
.pf-bcol.yes .pf-bmark{color:var(--green)}
.pf-bcol.no .pf-bmark{color:#ff5a4d}
.pf-ladder{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;counter-reset:l}
.pf-ladder li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;font:600 14px 'Archivo';color:#e2e2e2;background:#131313;border:1px solid #1c1c1c;border-radius:10px;padding:12px 14px}
.pf-ladder li:nth-child(odd) .pf-ladder-n{background:var(--green);color:#0a0a0a}
.pf-ladder li:nth-child(even) .pf-ladder-n{background:var(--blue);color:#fff}
.pf-ladder-n{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:'Anton';font-size:14px}
.pf-agree{margin-top:26px;border:1px dashed #3a3a3a;border-radius:16px;background:rgba(168,255,0,.04);padding:24px 26px}
.pf-agree-h{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.03em;color:var(--green);margin-bottom:10px}
.pf-agree p{font:500 14.5px 'Archivo';color:#d5d5d5;line-height:1.7;margin:0}

/* pickup flow + status */
.pf-flow-head{margin-top:32px}
.pf-flow{display:flex;align-items:stretch;gap:8px;margin-top:20px;flex-wrap:wrap}
.pf-flow-step{flex:1;min-width:130px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:18px 14px}
.pf-flow-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:'Anton';font-size:15px;color:#fff;background:var(--blue)}
.pf-flow-t{font:600 13px 'Archivo';color:#dedede;line-height:1.4}
.pf-flow-arrow{align-self:center;color:#3a3a3a;font-size:20px}
.pf-status{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.pf-status-c{border:1px solid var(--border);border-left:3px solid var(--c);border-radius:12px;background:var(--panel);padding:16px 18px}
.pf-status-tag{display:inline-block;font:700 10px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--c);border:1px solid var(--c);border-radius:999px;padding:4px 11px;margin-bottom:8px}
.pf-status-c p{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.5;margin:0}
.pf-esc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.pf-esc-step{font:600 12.5px 'Archivo';color:#dedede;background:#131313;border:1px solid #1c1c1c;border-radius:8px;padding:9px 13px}
.pf-esc-arrow{color:#3a3a3a}

/* photo media grid */
.pf-media-head{margin-top:32px}
.pf-mgroup{margin-top:22px}
.pf-mgroup-h{margin-bottom:14px}
.pf-mgroup-tag{display:inline-block;font:700 9.5px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--c);border:1px solid color-mix(in oklab,var(--c) 50%,transparent);border-radius:999px;padding:5px 12px;margin-bottom:8px}
.pf-mgroup-h p{font:500 13px 'Archivo';color:#9a9a9a;line-height:1.55;margin:0;max-width:660px}
.pf-media{display:grid;gap:14px;align-items:stretch}
.pf-media-2{grid-template-columns:1fr 1fr}
.pf-media-4{grid-template-columns:repeat(4,1fr)}
.pf-media-c{display:flex;flex-direction:column;border:1px solid var(--border);border-top:3px solid var(--c);border-radius:14px;background:var(--panel);padding:18px 18px}
.pf-media-ico{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;color:var(--c);background:color-mix(in oklab,var(--c) 12%,transparent);margin-bottom:14px}
.pf-media-ico svg{width:26px;height:26px}
.pf-media-t{font-family:'Anton';text-transform:uppercase;font-size:15px;color:#fff;line-height:1.1}
.pf-media-tag{display:inline-block;align-self:flex-start;margin:8px 0;font:700 8.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--c);border:1px solid color-mix(in oklab,var(--c) 45%,transparent);border-radius:999px;padding:3px 9px}
.pf-media-p{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.6;margin:0 0 12px}
.pf-media-det{margin-top:auto;border-top:1px solid #1c1c1c;padding-top:11px}
.pf-media-det span{display:block;font:700 8.5px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:#7a7a7a;margin-bottom:5px}
.pf-media-det{font:500 12px 'Archivo';color:#a8a8a8;line-height:1.5}
.pf-optout{margin-top:22px;border:1px solid #26364a;border-radius:16px;background:rgba(0,123,255,.05);padding:22px 24px}
.pf-optout-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.pf-optout-ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#9fc7ff;background:rgba(0,123,255,.12)}
.pf-optout-ico svg{width:24px;height:24px}
.pf-optout-h{font-family:'Anton';text-transform:uppercase;font-size:17px;letter-spacing:.02em;color:#fff}
.pf-optout-valid{display:inline-block;margin-top:5px;font:700 8.5px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);border-radius:999px;padding:3px 10px}
.pf-optout p{font:500 14px 'Archivo';color:#d5d5d5;line-height:1.65;margin:0 0 12px}
.pf-optout-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.pf-optout-list li{font:500 13px 'Archivo';color:#c2c2c2;line-height:1.5;padding-left:18px;position:relative}
.pf-optout-list li::before{content:"–";position:absolute;left:0;color:#7fbaff}
.pf-idrow{display:flex;flex-wrap:wrap;gap:8px}
.pf-idpill{font:600 12px 'Archivo';color:#dedede;background:#141414;border:1px solid #262626;border-radius:999px;padding:8px 14px}
@media(max-width:820px){.pf-media-4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pf-media-2,.pf-media-4{grid-template-columns:1fr}.pf-optout-list{grid-template-columns:1fr}}

/* accessibility support + categories */
.pf-support{margin-top:30px;border:1px solid #1d3350;border-radius:16px;background:rgba(0,123,255,.07);padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pf-support-h{font-family:'Anton';text-transform:uppercase;font-size:19px;letter-spacing:.02em;color:#fff;margin-bottom:8px}
.pf-support-l{flex:1;min-width:260px}
.pf-support-l p{font:500 14px 'Archivo';color:#cdd9e8;line-height:1.65;margin:0;max-width:520px}
.pf-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}
.pf-cat{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:18px 16px;transition:border-color .15s,transform .15s}
.pf-cat:hover{border-color:#3a3a3a;transform:translateY(-2px)}
.pf-cat-t{font-family:'Anton';text-transform:uppercase;font-size:15px;color:var(--blue);margin-bottom:8px}
.pf-cat p{font:500 12.5px 'Archivo';color:#b6b6b6;line-height:1.5;margin:0}

@media(max-width:820px){
  .pf-tl{grid-template-columns:1fr 1fr}
  .pf-map{grid-template-columns:1fr;gap:8px}
  .pf-map-arrow{transform:rotate(90deg);justify-self:center}
  .pf-chapters{grid-template-columns:1fr}
  .pf-chapnav{position:static}
  .pf-chapnav nav{grid-template-columns:1fr 1fr;display:grid}
  .pf-media,.pf-examples,.pf-cats{grid-template-columns:1fr 1fr}
  .pf-status{grid-template-columns:1fr}
}
@media(max-width:560px){
  .pf-tl{grid-template-columns:1fr}
  .pf-bcols{grid-template-columns:1fr}
  .pf-mcells{grid-template-columns:1fr 1fr}
  .pf-media,.pf-examples,.pf-cats{grid-template-columns:1fr}
  .pf-flow{flex-direction:column;gap:10px}
  .pf-flow-step{min-width:0;flex-direction:row;justify-content:flex-start;text-align:left;gap:14px}
  .pf-flow-arrow{display:none}
  .pf-support{flex-direction:column;align-items:flex-start}
}
@media print{.pf-chapnav,.pf-support .btn{display:none!important}.pf-chapters{grid-template-columns:1fr}}
@media(max-width:640px){.rp-rel-grid{grid-template-columns:1fr}}
@media(max-width:640px){.rp-glance-grid{grid-template-columns:1fr}.rp-acc summary{grid-template-columns:34px 1fr 20px;gap:10px;padding:16px}.rp-acc-num{font-size:22px}}
@media print{.nav,.footer,.rp-utils,.rp-accbar,.rp-footer-actions,.rp-acc-ico{display:none!important}.rp-acc,.rp-acc[open]{border-color:#ccc}.rp-acc-body{display:block!important}.rp-acc{break-inside:avoid}}

/* forms */
.field{margin:14px 0 0}
.footer{border-top:1px solid var(--border2);background:var(--panel2)}
.footer .wrap{max-width:1280px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px 40px;padding:48px 0 36px;align-items:start}
.footer-brand{max-width:300px}
.footer-brand .brand{font-family:'Anton';font-size:20px;letter-spacing:.04em;display:flex;gap:6px}
.footer-brand .brand .g{color:var(--green)}.footer-brand .brand .t{color:#fff}.footer-brand .brand .g2{color:var(--blue)}
.footer-desc{color:var(--gray2);font:500 13px 'Archivo';line-height:1.65;margin:14px 0 0;max-width:270px}
.footer-tag{color:var(--blue);font-size:15px;margin:14px 0 0}
.footer-col h4{font:700 11px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.footer-col a{display:block;color:var(--gray2);font:500 13px 'Archivo';line-height:1.5;margin-bottom:10px;transition:color .15s}
.footer-col a:hover{color:var(--green)}
.footer-col a[href^="mailto"]:hover{color:var(--blue)}
.footer-sub{font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin:16px 0 10px}
.footer-bottom{border-top:1px solid var(--border2);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 0 40px}
.footer-legal{margin:0;max-width:760px;font:500 12px 'Archivo';color:var(--gray);line-height:1.7}
.footer-legal b{color:#9a9a9a}
.footer-copy{margin:0;white-space:nowrap;font:600 12px 'Archivo';color:var(--gray2)}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1 / -1;max-width:none}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;gap:28px;padding:40px 0 28px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .footer-legal,.footer-copy{font-size:11.5px}
}

/* portal shell */
.portal{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side{background:var(--panel2);border-right:1px solid var(--border2);padding:20px 14px}
.side .brand{margin:6px 10px 20px}
.side a{display:block;color:var(--muted);font:600 13px 'Archivo';padding:11px 12px;border-radius:8px;margin-bottom:2px}
.side a:hover{background:#151515;color:#fff}
.side a.active{background:rgba(168,255,0,.1);color:var(--green)}
.pmain{padding:28px 32px}
.ptop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.kpi{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:20px}
.kpi .num{font-family:'Anton';font-size:34px;color:var(--green)}
.kpi .lbl2{font:600 11px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray2);margin-top:4px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--border2);padding-bottom:12px}
.tabs button{background:none;border:1px solid var(--border);color:var(--muted);border-radius:999px;font:600 12px 'Archivo';padding:8px 14px;cursor:pointer}
.tabs button.active{background:var(--green);color:#0A0A0A;border-color:var(--green)}
.tabpane{display:none}.tabpane.active{display:block}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border2)}
th{font:600 10px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:420px;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:30px}

@media(max-width:860px){
  .portal{grid-template-columns:1fr}
  .side{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:10px 12px;border-right:none;border-bottom:1px solid var(--border2);position:sticky;top:0;z-index:40;-webkit-overflow-scrolling:touch}
  .side .brand{display:none}
  .side a{white-space:nowrap;margin-bottom:0;flex:none;padding:9px 12px}
  .side .a-side-home,.side #logout{margin-top:0}
  .mod{grid-template-columns:64px 1fr}
  .pmain{padding:20px 16px}
}

/* admin command center */
.a-side-home{color:#8fbaff!important;margin-top:16px;font-size:12px}
.a-queue-head{margin-bottom:14px}
.a-queue{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px}
.a-qcard{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:20px;cursor:pointer;transition:border-color .16s,transform .16s,background .16s}
.a-qcard:hover{transform:translateY(-2px)}
.a-qcard.hot{border-color:#3a2a10;background:linear-gradient(180deg,#181206,#101010)}
.a-qcard.hot:hover{border-color:var(--green)}
.a-qcard.clear{opacity:.62}
.a-qnum{font-family:'Anton';font-size:40px;line-height:1;color:var(--green)}
.a-qcard.clear .a-qnum{color:var(--gray2)}
.a-qlbl{font:600 13px 'Archivo';color:#d0d0d0;line-height:1.4}
.a-seat-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.a-seatbars{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.a-seatrow-top{display:flex;justify-content:space-between;font:600 13px 'Archivo';color:#d0d0d0;margin-bottom:6px}
.a-bar{height:7px;border-radius:999px;background:#1c1c1c;overflow:hidden}
.a-bar span{display:block;height:100%;border-radius:999px;transition:width .5s ease,background-color .5s ease}
.a-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.a-sm{padding:9px 16px;font-size:12px}
.a-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px}
.a-table{width:100%;border-collapse:collapse;min-width:640px}
.a-table th{text-align:left;font:700 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray);padding:12px 14px;border-bottom:1px solid var(--border2);background:var(--panel2)}
.a-table td{padding:12px 14px;border-bottom:1px solid #161616;font:500 13.5px 'Archivo';color:#dedede;vertical-align:top}
.a-table tr:last-child td{border-bottom:none}
.a-sub{font:500 11.5px 'Archivo';color:var(--gray2);margin-top:3px}
.a-actions{display:flex;gap:6px;flex-wrap:wrap}
.a-mini-btn{background:#141414;border:1px solid var(--border);color:#dcdcdc;border-radius:7px;font:700 11px 'Archivo';padding:7px 10px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}
.a-mini-btn:hover{border-color:var(--green);color:var(--green)}
.a-mini{background:#0f0f0f;border:1px solid var(--border);color:#eee;border-radius:8px;font:600 12.5px 'Archivo';padding:8px 10px}
.a-chip{display:inline-block;font:700 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--border);color:#cfcfcf;background:#141414;white-space:nowrap}
.a-chip-confirmed,.a-chip-paid,.a-chip-approved,.a-chip-active{color:#0A0A0A;background:var(--green);border-color:var(--green)}
.a-chip-awaitingpayment,.a-chip-recommended,.a-chip-reserved{color:#0A0A0A;background:#ffb020;border-color:#ffb020}
.a-chip-waitlisted,.a-chip-declined,.a-chip-cancelled,.a-chip-notstarted{color:#ffb4b4;background:#2a1212;border-color:#4a1e1e}
.a-facassign{display:flex;gap:8px;margin-top:12px}
.a-tasklist{display:grid;gap:10px}
.a-task{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:16px 18px}
.a-annform{display:grid;gap:10px}
.a-input{width:100%;background:#0f0f0f;border:1px solid var(--border);color:#fff;border-radius:8px;font:500 14px 'Archivo';padding:11px 13px;box-sizing:border-box}
.a-input:focus{outline:none;border-color:var(--green)}
@media(max-width:760px){.a-queue{grid-template-columns:1fr 1fr}.a-seatbars{grid-template-columns:1fr}}
@media(max-width:460px){.a-queue{grid-template-columns:1fr}}
@media(max-width:720px){
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);flex-direction:column;border-bottom:1px solid var(--border2);padding:10px 20px}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 4px}
  .nav-toggle{display:inline-block}
}

/* ============ PARENT PORTAL ============ */
.pp{min-height:100vh;background:#0c0c0c;padding-bottom:0}
.pp-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 26px;background:var(--panel2);border-bottom:1px solid var(--border2);position:sticky;top:0;z-index:50;flex-wrap:wrap}
.pp-top-l{display:flex;align-items:center;gap:14px}
.pp-tag{font:700 11px 'Archivo';letter-spacing:.12em;text-transform:uppercase;color:var(--green);border:1px solid color-mix(in oklab,var(--green) 40%,transparent);border-radius:999px;padding:4px 10px}
.pp-top-r{display:flex;align-items:center;gap:10px}
.pp-switch{display:flex;align-items:center;gap:8px;background:#151515;border:1px solid var(--border);border-radius:10px;padding:6px 10px}
.pp-switch span{font:700 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pp-switch select{background:transparent;border:none;color:#fff;font:600 13px 'Archivo';outline:none;cursor:pointer;max-width:190px}
.pp-switch select option{color:#111}
.pp-icon-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);color:#cfcfcf;background:#151515}
.pp-icon-btn:hover{color:#fff;border-color:var(--green)}
.pp-icon-btn svg{width:18px;height:18px}
.pp-signout{background:transparent;border:1px solid var(--border);color:#ff9a9a;font:600 12px 'Archivo';border-radius:10px;padding:9px 14px;cursor:pointer}
.pp-signout:hover{border-color:#ff9a9a}
.pp-shell{display:grid;grid-template-columns:248px 1fr;align-items:start}
.pp-side{position:sticky;top:67px;align-self:start;padding:18px 14px;border-right:1px solid var(--border2);display:flex;flex-direction:column;gap:2px;min-height:calc(100vh - 67px)}
.pp-side a{display:flex;align-items:center;gap:11px;color:var(--muted);font:600 13.5px 'Archivo';padding:11px 13px;border-radius:10px}
.pp-side a:hover{background:#151515;color:#fff}
.pp-side a.active{background:rgba(168,255,0,.1);color:var(--green)}
.pp-ico{display:grid;place-items:center;width:19px;height:19px;flex:none}
.pp-ico svg{width:18px;height:18px}
.pp-main{padding:30px 34px 90px;max-width:1120px;outline:none}
.pp-h{margin-bottom:22px}
.pp-h h1{font-size:clamp(26px,3vw,34px);line-height:1.05}
.pp-sub{color:#b7b7b7;font:500 14.5px 'Archivo';margin-top:6px;max-width:640px;text-wrap:pretty}
.pp-block{margin-bottom:30px}
.pp-block-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.pp-block-h h2{font-family:'Anton';text-transform:uppercase;font-size:16px;letter-spacing:.02em}
.pp-count{background:#ffb020;color:#111;font:800 11px 'Archivo';border-radius:999px;padding:2px 9px}
.pp-2col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:6px}
.pp-link{background:none;border:none;color:var(--blue);font:600 12.5px 'Archivo';cursor:pointer;padding:0;margin-left:auto}
.pp-link:hover{text-decoration:underline}
.pp-link.pp-danger{color:#ff6b6b;margin-left:14px}
.pp-btn-sm{padding:9px 15px;font-size:12.5px}
.btn-outline{background:transparent;border:1px solid var(--border);color:#e6e6e6}
.btn-outline:hover{border-color:#fff}

/* status pill */
.pp-pill{display:inline-flex;align-items:center;gap:5px;font:700 11px 'Archivo';letter-spacing:.02em;border:1px solid;border-radius:999px;padding:3px 10px;white-space:nowrap}
.pp-pill span{font-size:10px}

/* action queue */
.pp-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.pp-action{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:18px 18px 16px;border-left:3px solid #8f8f8f}
.pp-action-required,.pp-action-payment{border-left-color:#ffb020}
.pp-action-needs{border-left-color:#ff6b6b}
.pp-action-information{border-left-color:var(--blue)}
.pp-action-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pp-due{font:700 11px 'Archivo';color:#ffb020}
.pp-action h3{font-size:16px;margin-bottom:3px;text-wrap:pretty}
.pp-action-who{font:700 11px 'Archivo';color:var(--blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.pp-action-body{color:#c3c3c3;font:500 13px 'Archivo';line-height:1.5;margin-bottom:14px;text-wrap:pretty}

/* enrollment + next cards */
.pp-enroll,.pp-next,.pp-snap,.pp-panel,.pp-recap,.pp-supcard,.pp-guard{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:20px}
.pp-enroll-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.pp-enroll-name{font-family:'Anton';font-size:20px}
.pp-enroll-cls{color:#b7b7b7;font:500 13px 'Archivo';margin-top:2px}
.pp-kv{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.pp-kv>div{display:flex;flex-direction:column;gap:3px}
.pp-kv dt{font:700 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pp-kv dd{font:600 14px 'Archivo';color:#f0f0f0}
.pp-enroll-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pp-next-date{font-family:'Anton';font-size:19px;color:var(--green);margin-bottom:12px}
.pp-next-list{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}
.pp-next-list li{display:flex;justify-content:space-between;gap:12px;font:500 13.5px 'Archivo';border-bottom:1px solid var(--border2);padding-bottom:9px}
.pp-next-list li span{color:var(--muted)}
.pp-next-list li b{color:#f0f0f0;text-align:right}

/* messages/snap */
.pp-msglist{display:flex;flex-direction:column;gap:8px}
.pp-msg{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:13px 15px;cursor:pointer}
.pp-msg:hover{border-color:var(--blue)}
.pp-msg b{font:700 13.5px 'Archivo'}
.pp-msg-prev{display:block;color:#a5a5a5;font:500 12px 'Archivo';margin-top:2px}
.pp-msg-date{color:var(--muted);font:500 11.5px 'Archivo';white-space:nowrap}
.pp-snap-row{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border2)}
.pp-snap-lbl{font:700 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pp-snap-row b{font:600 15px 'Archivo';color:var(--green)}
.pp-snap-note{padding-top:12px}
.pp-snap-note p{color:#d0d0d0;font:500 13.5px 'Archivo';line-height:1.55;margin-top:4px;text-wrap:pretty}

/* activity */
.pp-activity{border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden}
.pp-activity li{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border2);font:500 13.5px 'Archivo'}
.pp-activity li:last-child{border-bottom:none}
.pp-act-date{color:var(--muted);font-size:12px}
.pp-act-who{color:var(--blue);font:700 11px 'Archivo';text-transform:uppercase;letter-spacing:.03em}

/* tabs */
.pp-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border2);margin-bottom:20px}
.pp-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font:700 13px 'Archivo';padding:11px 14px;cursor:pointer;margin-bottom:-1px}
.pp-tabs button:hover{color:#fff}
.pp-tabs button.active{color:var(--green);border-bottom-color:var(--green)}
.pp-panel h3{font-family:'Anton';text-transform:uppercase;font-size:15px;margin-bottom:14px}
.pp-panel-flex{display:flex;flex-direction:column}
.pp-panel-foot{margin-top:auto;padding-top:16px}
.pp-idhead{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border2)}
.pp-avatar{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--green) 16%,#151515);border:1px solid color-mix(in oklab,var(--green) 35%,transparent);color:var(--green);font-family:'Anton';font-size:18px;letter-spacing:.02em}
.pp-idhead-name{font-family:'Anton';font-size:19px;line-height:1;color:#fff}
.pp-idhead-meta{color:var(--muted);font:500 12.5px 'Archivo';margin-top:5px}
.pp-focus-box{background:color-mix(in oklab,var(--green) 8%,#131313);border:1px solid color-mix(in oklab,var(--green) 26%,transparent);border-radius:12px;padding:12px 14px;margin-bottom:6px}
.pp-focus-label{display:block;font:700 10px 'Archivo';letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pp-secrow{display:flex;gap:12px;align-items:flex-start;background:#131313;border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-top:16px}
.pp-secrow-i{font-size:16px;line-height:1.3;flex:none}
.pp-secrow b{font:700 13px 'Archivo';color:#f0f0f0;display:block;margin-bottom:3px}
.pp-secrow p{color:var(--muted);font:500 12px 'Archivo';line-height:1.5;margin:0}
.pp-panel h4{font:700 11px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.pp-focus{font:600 16px 'Archivo';color:var(--green);margin-bottom:10px}
.pp-focus-box .pp-focus{margin-bottom:0}
.pp-goal{color:#d0d0d0;font:500 13.5px 'Archivo';line-height:1.5}
.pp-chiprow{display:flex;flex-wrap:wrap;gap:7px}
.pp-chip{font:600 11.5px 'Archivo';background:#151515;border:1px solid var(--border);border-radius:999px;padding:4px 11px;color:#d8d8d8}
.pp-chip-green{color:var(--green);border-color:color-mix(in oklab,var(--green) 35%,transparent)}
.pp-chip-blue{color:var(--blue);border-color:color-mix(in oklab,var(--blue) 40%,transparent)}
.pp-note{color:#a9a9a9;font:500 13px 'Archivo';margin-top:14px;line-height:1.5}
.pp-fineprint{color:#8a8a8a;font:500 12px 'Archivo';margin-top:16px;line-height:1.55;max-width:720px;text-wrap:pretty}

/* journey / timeline */
.pp-tl-h{font-family:'Anton';text-transform:uppercase;font-size:15px;margin:24px 0 14px}
.pp-journey{display:flex;flex-direction:column;gap:2px}
.pp-journey li{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);font:600 13.5px 'Archivo'}
.pp-journey-wk{color:var(--muted);font:700 11px 'Archivo';text-transform:uppercase;letter-spacing:.05em}
.pp-journey-date{color:var(--muted);font-size:12px}
.pp-journey-completed{border-left:3px solid var(--green)}
.pp-timeline{display:flex;flex-direction:column}
.pp-timeline li{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border2)}
.pp-tl-dot{width:14px;height:14px;border-radius:50%;border:2px solid #555;justify-self:center}
.pp-tl-complete .pp-tl-dot{background:var(--green);border-color:var(--green)}
.pp-tl-current .pp-tl-dot{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in oklab,var(--blue) 30%,transparent)}
.pp-tl-needs_correction .pp-tl-dot{background:#ff6b6b;border-color:#ff6b6b}
.pp-tl-label{font:600 14px 'Archivo'}
.pp-tl-state{font:600 11.5px 'Archivo';color:var(--muted);text-transform:capitalize}
.pp-tl-complete .pp-tl-state{color:var(--green)}
.pp-tl-current .pp-tl-state{color:var(--blue)}
.pp-tl-needs_correction .pp-tl-state{color:#ff6b6b}
.pp-status-strip{display:flex;flex-wrap:wrap;gap:26px;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px 20px;margin-bottom:8px}
.pp-status-strip>div{display:flex;flex-direction:column;gap:6px}
.pp-status-strip span{font:700 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* schedule */
.pp-sched{list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:none}
.pp-sched-item{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;border:1px solid var(--border);border-left:3px solid #555;border-radius:14px;background:var(--panel);padding:16px 20px}
.pp-sched-completed{border-left-color:var(--green);opacity:.72}
.pp-sched-scheduled{border-left-color:var(--blue)}
.pp-sched-upcoming{border-left-color:#555}
.pp-sched-date{display:flex;flex-direction:column;gap:3px;text-align:left}
.pp-sched-wk{font:700 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pp-sched-date b{font-family:'Anton';font-size:19px;line-height:1;color:#fff}
.pp-sched-topic{font:700 16px 'Archivo';color:#f2f2f2;margin-bottom:6px;text-wrap:pretty}
.pp-sched-meta{color:#a9a9a9;font:500 12.5px 'Archivo';line-height:1.5}
.pp-sched-foot{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.pp-sched-foot .pp-link{margin-left:0}
@media(max-width:640px){
  .pp-sched-item{grid-template-columns:1fr;gap:10px;padding:15px 16px}
  .pp-sched-date{flex-direction:row;align-items:baseline;gap:8px}
  .pp-sched-foot{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid var(--border2)}
}

/* generic card grid */
.pp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pp-scard{text-align:left;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:18px;cursor:pointer}
.pp-scard:hover{border-color:var(--green)}
.pp-scard-name{font-family:'Anton';font-size:19px}
.pp-scard-meta{color:#b0b0b0;font:500 13px 'Archivo';margin:5px 0 12px}
.pp-scard-pills{display:flex;flex-wrap:wrap;gap:7px}

/* safety */
.pp-safety-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.pp-safety-head h3{font-family:'Anton';text-transform:uppercase;font-size:16px}
.pp-safecard{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:14px 15px;display:flex;flex-direction:column;gap:5px}
.pp-safecard.flag{border-color:#ff6b6b;background:rgba(255,107,107,.06)}
.pp-safe-lbl{font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pp-safe-val{font:600 14px 'Archivo';color:#f0f0f0}
.pp-safe-flag{font:700 11px 'Archivo';color:#ff6b6b}

/* pickup */
.pp-pickcard{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:15px}
.pp-pick-name{font:700 15px 'Archivo'}
.pp-pick-rel{color:#b0b0b0;font:500 12.5px 'Archivo';margin:3px 0}
.pp-pick-phone{color:#e0e0e0;font:600 13px 'Archivo';margin-bottom:10px}
.pp-simplelist{display:flex;flex-direction:column;gap:8px}
.pp-simplelist li{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:11px 14px;font:500 13px 'Archivo'}
.pp-simplelist b{font-weight:700}
.pp-simplelist span{color:#a5a5a5}

/* attendance */
.pp-attcard{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:14px}
.pp-att-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pp-att-date{color:#b7b7b7;font:600 13px 'Archivo';margin:6px 0}
.pp-att-times{color:#cfcfcf;font:500 12px 'Archivo'}
.pp-att-note{color:#a5a5a5;font:500 12px 'Archivo';margin-top:6px;font-style:italic}

/* recap */
.pp-recap{margin-bottom:16px}
.pp-recap-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pp-recap-h h3{font-family:'Anton';text-transform:uppercase;font-size:16px}
.pp-recap-row{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid var(--border2)}
.pp-recap-row span{font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pp-recap-row b,.pp-recap-row p{font:500 14px 'Archivo';color:#e8e8e8;line-height:1.5}
.pp-recap-home{background:rgba(168,255,0,.07);border-radius:12px;padding:14px;margin-top:14px}
.pp-recap-home span{font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.pp-recap-home p{color:#e8e8e8;font:500 13.5px 'Archivo';margin-top:5px;line-height:1.5}

/* documents table */
.pp-doctable{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}
.pp-doct-h,.pp-doct-row{display:grid;grid-template-columns:2fr .8fr 1fr 1fr auto;gap:14px;align-items:center;padding:13px 18px}
.pp-doct-h{background:#151515;font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pp-doct-row{border-top:1px solid var(--border2);font:500 13px 'Archivo'}
.pp-doct-row b{font-weight:700;margin-right:8px}

/* forms */
.pp-filters,.pp-tabs.pp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.pp-filters button{background:#151515;border:1px solid var(--border);color:#c8c8c8;font:600 12.5px 'Archivo';border-radius:999px;padding:7px 14px;cursor:pointer}
.pp-filters button.active{background:var(--green);color:#0a0a0a;border-color:var(--green)}
.pp-formcard{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px}
/* embedded payment page */
.pp-paylayout{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}
.pp-paysummary{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:22px}
.pp-paysummary h3{font-family:'Anton';text-transform:uppercase;font-size:15px;letter-spacing:.03em;margin:0 0 14px}
.pp-paysummary dl{margin:0}
.pp-paysummary dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--border)}
.pp-paysummary dt{color:var(--gray2);font-size:12.5px}
.pp-paysummary dd{margin:0;color:#fff;font-weight:600;font-size:13px;text-align:right}
.pp-paytotal dt,.pp-paytotal dd{font-family:'Anton';font-size:18px;color:var(--green)!important}
.pp-paysummary .pp-link{display:inline-block;margin-top:12px;color:var(--blue);font:600 12.5px 'Archivo'}
.pp-paypanel{border:1px solid var(--border);border-radius:16px;background:#fff;padding:16px;min-height:360px}
.pp-embed{min-height:340px}
.pp-embed .pp-hint{color:#555;font:500 13.5px 'Archivo';text-align:center;padding:40px 0}
.pp-embed .pp-empty{background:#f7f7f7;color:#111}
.pp-embed .pp-empty b{color:#111}
@media(max-width:820px){.pp-paylayout{grid-template-columns:1fr}}
/* guided enrollment checklist (redesign) */
.pp-fh{margin-bottom:14px}
.pp-fh h1{font-size:28px;line-height:1.05}
.pp-progress{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px 18px;margin-bottom:18px}
.pp-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--muted);margin-bottom:10px}
.pp-progress-top b{color:#fff;font-size:16px}
.pp-progress-est{color:#a5a5a5;font-size:12.5px}
.pp-progress-bar{height:8px;border-radius:99px;background:#1c1c1c;overflow:hidden}
.pp-progress-bar span{display:block;height:100%;border-radius:99px;background:var(--green);transition:width .3s}
.pp-upnext{border:1px solid color-mix(in oklab,var(--green) 42%,transparent);border-radius:16px;background:linear-gradient(160deg,rgba(168,255,0,.08),var(--panel) 60%);padding:20px 22px;margin-bottom:24px}
.pp-upnext-tag{font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.pp-upnext h2{font-size:20px;margin:6px 0 6px;text-wrap:pretty}
.pp-upnext p{color:#b6b6b6;font-size:13.5px;line-height:1.5;margin:0 0 16px;max-width:60ch}
.pp-upnext-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pp-upnext-est{color:#9a9a9a;font-size:12.5px}
.pp-steps-h{font:800 12px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;margin:0 0 12px}
.pp-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.pp-step{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}
.pp-step.current{border-color:color-mix(in oklab,var(--green) 40%,transparent)}
.pp-step.done{background:#101210}
.pp-step-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:none;padding:15px 16px;cursor:pointer;color:#fff}
.pp-step-row:hover{background:rgba(255,255,255,.02)}
.pp-step-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);font:800 13px 'Archivo';color:#9a9a9a}
.pp-step-num.done{background:var(--green);color:#0a0a0a;border-color:var(--green)}
.pp-step.current .pp-step-num{border-color:var(--green);color:var(--green)}
.pp-step-main{flex:1;min-width:0}
.pp-step-main b{display:block;font:700 14.5px 'Archivo'}
.pp-step-desc{display:block;color:#9a9a9a;font-size:12px;margin-top:2px}
.pp-step-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pp-step-count{color:#9a9a9a;font:600 11.5px 'Archivo';white-space:nowrap}
.pp-step-chev{color:#7a7a7a;font-size:18px;transition:transform .2s;display:inline-block}
.pp-step-chev.open{transform:rotate(90deg)}
.pp-step-body{padding:2px 16px 16px 60px;display:flex;flex-direction:column;gap:2px}
.pp-step-note{color:#a5a5a5;font-size:13px;margin:6px 0 12px}
.pp-subrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border)}
.pp-subrow.done{opacity:.72}
.pp-sub-ic{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:1px solid var(--border);color:#8f8f8f}
.pp-sub-confirmed{background:var(--green);color:#0a0a0a;border-color:var(--green)}
.pp-sub-info{color:var(--blue);border-color:color-mix(in oklab,var(--blue) 45%,transparent)}
.pp-sub-needs_attention{color:#ff6b6b;border-color:color-mix(in oklab,#ff6b6b 45%,transparent)}
.pp-sub-main{flex:1;min-width:0}
.pp-sub-main b{display:block;font:600 13.5px 'Archivo';text-wrap:pretty}
.pp-sub-meta{display:block;color:#8f8f8f;font-size:11.5px;margin-top:1px}
.pp-btn-xs{font-size:11.5px;padding:7px 12px;flex-shrink:0}
.pp-btn-optional{color:#b6b6b6}
.btn-coral{background:#ff6b6b;color:#1a0a05;border:none}.btn-coral:hover{background:#ff8a8a}
.pp-complete-card{display:flex;gap:16px;align-items:flex-start;border:1px solid color-mix(in oklab,var(--green) 40%,transparent);border-radius:16px;background:linear-gradient(160deg,rgba(168,255,0,.08),var(--panel) 60%);padding:22px;margin-bottom:22px}
.pp-complete-ic{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--green);color:#0a0a0a;display:grid;place-items:center;font-size:20px;font-weight:800}
.pp-complete-card h2{font-size:18px;margin:0 0 4px;text-wrap:pretty}
.pp-manage{border:1px solid var(--border);border-radius:12px;background:var(--panel2,#141414);padding:4px 16px;margin-bottom:16px}
.pp-manage summary{cursor:pointer;font:600 13.5px 'Archivo';color:#c8c8c8;padding:12px 0;list-style:none}
.pp-manage summary::-webkit-details-marker{display:none}
.pp-manage summary::before{content:"⚙  ";opacity:.6}
.pp-manage[open] summary{color:#fff}
.pp-manage p{margin:0 0 12px}
.pp-reqlist{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.pp-reqrow{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:15px 16px;cursor:pointer;color:#fff}
.pp-reqrow:hover{border-color:#333}
.pp-reqrow b{display:block;font:600 14px 'Archivo'}
@media(max-width:640px){
  .pp-step-body{padding-left:16px}
  .pp-step-meta{flex-direction:column;align-items:flex-end;gap:5px}
  .pp-upnext-foot{flex-direction:column;align-items:stretch}
  .pp-upnext-foot .btn{width:100%}
  .pp-subrow{flex-wrap:wrap}
}
.pp-form-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.pp-req{font:700 10px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:#ffb020}
.pp-opt{font:700 10px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pp-formcard h3{font-size:15px;margin-bottom:4px;text-wrap:pretty}
.pp-form-meta{color:#a5a5a5;font:500 12px 'Archivo'}
.pp-form-btns{display:flex;align-items:center;gap:12px;margin-top:12px}
.pp-form-group{font:800 12px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;margin:22px 0 10px}

/* form runner */
.fr{max-width:760px}
.fr-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.fr-head h2{font-size:22px;line-height:1.05}
.fr-back{background:none;border:none;color:var(--blue);font:600 13px 'Archivo';cursor:pointer;padding:6px 0;flex:0 0 auto}
.fr-sub{display:block;color:#9a9a9a;font:500 12.5px 'Archivo';margin-top:3px}
.fr-badge{margin-left:auto;font:700 10px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:#ffb020;flex:0 0 auto}
.fr-intro{color:#c4c4c4;font:500 14px/1.6 'Archivo';margin-bottom:14px;text-wrap:pretty}
.fr-legal{background:rgba(255,176,32,.1);border:1px solid rgba(255,176,32,.35);color:#ffcf7a;font:600 12.5px 'Archivo';border-radius:10px;padding:10px 12px;margin-bottom:14px}
.fr-policybox{border:1px solid var(--border);background:#141414;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.fr-policybox b{font:700 13px 'Archivo';display:block;margin-bottom:6px}
.fr-policybox ul,.fr-policybox ol{margin:0 0 6px 18px;color:#cfcfcf;font:500 13px/1.6 'Archivo'}
.fr-poly{margin-bottom:8px}
.fr-sec{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}
.fr-sec:first-of-type{border-top:none;margin-top:0;padding-top:0}
.fr-sec h3{font:800 14px 'Archivo';letter-spacing:.02em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.fr-field{margin-bottom:14px}
.fr-field>label>span,.fr-addr>span,.fr-age>span{display:block;font:600 12.5px 'Archivo';color:#d4d4d4;margin-bottom:5px}
.fr-field input[type=text],.fr-field input[type=email],.fr-field input[type=tel],.fr-field input[type=date],.fr-field input[type=file],.fr-field textarea,.fr-field select,.fr-addr input{
  width:100%;background:#0f0f0f;border:1px solid var(--border);border-radius:9px;color:#fff;font:500 14px 'Archivo';padding:10px 12px}
.fr-field textarea{resize:vertical;min-height:70px}
.fr-field input:focus,.fr-field textarea:focus,.fr-field select:focus{outline:none;border-color:var(--blue)}
.fr-addr-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.fr-addr input{margin-top:8px}
.fr-age{background:#141414;border:1px solid var(--border);border-radius:9px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.fr-age b{color:var(--green);font:700 15px 'Archivo'}
.fr-radios{display:flex;flex-wrap:wrap;gap:8px}
.fr-radio{display:inline-flex;align-items:center;gap:7px;background:#0f0f0f;border:1px solid var(--border);border-radius:9px;padding:9px 13px;cursor:pointer;font:500 13.5px 'Archivo';min-height:42px}
.fr-radio input{accent-color:var(--blue);width:16px;height:16px}
.fr-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font:500 13.5px/1.5 'Archivo';color:#d8d8d8;padding:4px 0}
.fr-check input{accent-color:var(--green);width:17px;height:17px;margin-top:2px;flex:0 0 auto}
.fr-checkgroup{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.fr-prompt{background:#141414;border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:12px}
.fr-count{display:block;text-align:right;font:600 11px 'Archivo';color:#888;margin-top:3px}
.fr-note{color:#9a9a9a;font:500 12px/1.5 'Archivo';margin:4px 0 10px}
.fr-disclaimer{color:#9a9a9a;font:500 12px/1.5 'Archivo';border-left:2px solid var(--border);padding-left:10px;margin-top:10px}
.fr-policy a{color:var(--blue);font:600 13px 'Archivo'}
.fr-media-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
.fr-media-row span em{color:var(--blue);font-style:normal;font:700 10px 'Archivo';text-transform:uppercase;margin-left:6px}
.fr-missing{outline:2px solid #ff6b6b;outline-offset:4px;border-radius:8px}
.fr-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;border-top:1px solid var(--border);padding-top:16px}
.fr-review{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.fr-rev-row{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--border);font:500 13.5px 'Archivo'}
.fr-rev-row:last-child{border-bottom:none}
.fr-rev-row span{color:#9a9a9a}.fr-rev-row b{text-align:right;color:#fff}
.fr-review.is-masked .fr-sensitive b{filter:blur(5px)}
.fr-reveal{background:none;border:none;color:var(--blue);font:600 12px 'Archivo';cursor:pointer;text-decoration:underline}
.fr-sign{margin-top:20px}.fr-sign h3{font:800 14px 'Archivo';text-transform:uppercase;margin-bottom:10px}
.fr-done{text-align:center;max-width:560px;margin:0 auto;padding-top:20px}
.fr-done-badge{width:56px;height:56px;border-radius:50%;background:var(--green);color:#0a0a0a;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.fr-done .fr-foot{justify-content:center;border:none}

/* signature pad */
.sig-manifest{border:1px solid var(--border);background:#141414;border-radius:12px;padding:12px 15px;margin-bottom:14px}
.sig-manifest-h{font:700 12px 'Archivo';text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin-bottom:6px}
.sig-manifest ul{margin:0 0 0 18px;color:#cfcfcf;font:500 12.5px/1.6 'Archivo'}
.sig-tabs{display:flex;gap:6px;margin-bottom:12px}
.sig-tab{flex:1;background:#0f0f0f;border:1px solid var(--border);color:#c0c0c0;font:600 13px 'Archivo';border-radius:9px;padding:11px;cursor:pointer;min-height:44px}
.sig-tab.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.sig-canvas-wrap{position:relative;border:2px dashed var(--border);border-radius:12px;background:#fff;overflow:hidden}
.sig-canvas{display:block;width:100%;touch-action:none;cursor:crosshair}
.sig-canvas-hint{position:absolute;left:16px;bottom:12px;color:#bbb;font:500 13px 'Archivo';pointer-events:none}
.sig-canvas-wrap.has-ink .sig-canvas-hint{display:none}
.sig-row{display:flex;align-items:center;gap:12px;margin-top:8px}
.sig-mini{background:#151515;border:1px solid var(--border);color:#ddd;font:600 12px 'Archivo';border-radius:8px;padding:8px 14px;cursor:pointer}
.sig-note{color:#9a9a9a;font:500 12px 'Archivo'}
.sig-f span{display:block;font:600 12.5px 'Archivo';color:#d4d4d4;margin-bottom:5px}
.sig-typed{width:100%;background:#0f0f0f;border:1px solid var(--border);border-radius:9px;color:#fff;font:500 15px 'Archivo';padding:11px 13px}
.sig-preview{min-height:64px;display:flex;align-items:center;padding:6px 14px;margin:12px 0;background:#fff;color:#111;border-radius:10px}
.sig-check{display:flex;align-items:flex-start;gap:9px;font:500 13px/1.5 'Archivo';color:#d8d8d8;cursor:pointer}
.sig-check input{accent-color:var(--green);width:17px;height:17px;margin-top:2px}
.sig-err{color:#ff8080;font:600 12.5px 'Archivo';min-height:18px;margin:8px 0}
.sig-adopt{width:100%;margin-top:6px}
.sig-adopt:disabled{opacity:.45;cursor:not-allowed}
.sig.is-adopted .sig-tabs,.sig.is-adopted .sig-panel{opacity:.6;pointer-events:none}
@media(max-width:560px){.fr-checkgroup{grid-template-columns:1fr}.fr-addr-row{grid-template-columns:1fr}}

/* announcements */
.pp-ann{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:15px;margin-bottom:10px}
.pp-ann-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.pp-ann-h b{font:700 14px 'Archivo'}
.pp-ann p{color:#cfcfcf;font:500 13px 'Archivo';line-height:1.5}
.pp-ann-date{color:var(--muted);font:500 11.5px 'Archivo';display:block;margin-top:8px}

/* payments */
.pp-paygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.pp-paycard{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px}
.pp-paycard span{display:block;font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pp-paycard b{font-family:'Anton';font-size:26px}
.pp-scholar{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in oklab,var(--blue) 30%,transparent);background:rgba(0,123,255,.07);border-radius:12px;padding:13px 16px;font:500 13.5px 'Archivo';color:#dcdcdc;margin-bottom:8px}
.pp-payrow{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:15px 18px}
.pp-payrow-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.pp-payamt{font-family:'Anton';font-size:18px}

/* support */
.pp-crisis{border:1px solid color-mix(in oklab,#ff6b6b 40%,transparent);background:rgba(255,107,107,.08);border-radius:12px;padding:14px 16px;font:500 13px 'Archivo';color:#ffd6d6;line-height:1.5;margin-bottom:22px}
.pp-crisis b{color:#fff}
.pp-supform{display:flex;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:18px}
.pp-field{display:flex;flex-direction:column;gap:7px}
.pp-field span{font:700 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pp-field select,.pp-field textarea{background:#151515;border:1px solid var(--border);border-radius:10px;color:#fff;font:500 14px 'Archivo';padding:11px 13px;outline:none}
.pp-field select:focus,.pp-field textarea:focus{border-color:var(--green)}
.pp-live{font:600 12.5px 'Archivo';min-height:16px}
.pp-sup-last{color:#c3c3c3;font:500 13px 'Archivo';margin-top:8px;line-height:1.5}

/* account */
.pp-prefs{display:flex;flex-direction:column;gap:2px}
.pp-prefs li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border2);font:500 13.5px 'Archivo'}
.pp-lock{font:700 9.5px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:1px 5px;margin-left:6px}
.pp-toggle{width:40px;height:22px;border-radius:999px;background:#333;position:relative;cursor:pointer;flex:none;transition:background .16s}
.pp-toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .16s}
.pp-toggle.on{background:var(--green)}
.pp-toggle.on::after{transform:translateX(18px)}
.pp-toggle.locked{opacity:.55;cursor:not-allowed}
.pp-guard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.pp-guard .pp-chiprow{margin-top:10px}

/* empty state */
.pp-empty{border:1px dashed var(--border);border-radius:14px;background:rgba(255,255,255,.015);padding:26px 22px;text-align:center}
.pp-empty b{font-family:'Anton';text-transform:uppercase;font-size:15px;color:#e0e0e0}
.pp-empty p{color:#9a9a9a;font:500 13px 'Archivo';margin-top:6px}

/* mobile bottom nav + sheet */
.pp-bottom{display:none}
.pp-sheet{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:flex;align-items:flex-end}
.pp-sheet[hidden]{display:none}
.pp-sheet-panel{background:var(--panel2);border-top:1px solid var(--border2);border-radius:18px 18px 0 0;padding:14px;width:100%;display:flex;flex-direction:column;gap:2px}
.pp-sheet-panel a{display:flex;align-items:center;gap:12px;color:#d8d8d8;font:600 14px 'Archivo';padding:13px 14px;border-radius:10px}
.pp-sheet-panel a svg{width:19px;height:19px}
.pp-sheet-panel a:hover{background:#151515}
.pp-sheet-x{margin-top:6px;background:#151515;border:1px solid var(--border);color:#fff;font:700 13px 'Archivo';border-radius:10px;padding:13px;cursor:pointer}

@media(max-width:900px){
  .pp-2col{grid-template-columns:1fr}
  .pp-paygrid{grid-template-columns:1fr 1fr}
  .pp-shell{grid-template-columns:1fr}
  .pp-side{display:none}
  .pp-main{padding:22px 16px 96px}
  .pp-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;background:var(--panel2);border-top:1px solid var(--border2)}
  .pp-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font:700 10px 'Archivo';padding:9px 4px 8px}
  .pp-bottom a svg{width:21px;height:21px}
  .pp-bottom a.active{color:var(--green)}
  .pp-kv{grid-template-columns:1fr}
  .pp-activity li{grid-template-columns:1fr;gap:4px;align-items:flex-start}
  .pp-journey li{grid-template-columns:1fr;gap:4px}
  .pp-doct-h{display:none}
  .pp-doct-row{grid-template-columns:1fr;gap:6px;padding:15px 16px}
  .pp-doct-row span[data-l]::before{content:attr(data-l) " · ";color:var(--muted);font:700 10px 'Archivo';text-transform:uppercase;letter-spacing:.05em}
  .pp-switch select{max-width:130px}
  .pp-top{padding:12px 16px}
  .pp-payrow{flex-direction:column;align-items:flex-start}
  .pp-payrow-r{justify-content:flex-start}
}

/* ============================================================ ADMIN OPERATIONS PORTAL */
.ad{--ad-line:#1e1e1e;--ad-panel:#0f0f0f;--ad-panel2:#131313;min-height:100vh;background:#0a0a0a;font-family:'Archivo',sans-serif}
.ad *{box-sizing:border-box}
.ad code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--gray2);background:#161616;padding:1px 6px;border-radius:5px}
/* top bar */
.ad-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:0 18px;height:60px;background:rgba(10,10,10,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--ad-line)}
.ad-brand{font-size:18px}
.ad-tag{font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--green);padding:3px 8px;border-radius:5px}
.ad-burger{display:none;background:none;border:1px solid var(--border);border-radius:8px;color:#fff;padding:7px;cursor:pointer}
.ad-search{position:relative;flex:1;max-width:440px;margin:0 auto 0 8px}
.ad-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray)}
.ad-search input{width:100%;background:var(--ad-panel2);border:1px solid var(--ad-line);border-radius:9px;color:#fff;font:500 13px 'Archivo';padding:9px 12px 9px 36px}
.ad-search input:focus{outline:none;border-color:var(--blue)}
.ad-search-pop{position:absolute;top:46px;left:0;right:0;background:#121212;border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.6);overflow:hidden;z-index:60}
.ad-search-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--ad-line);padding:11px 14px;cursor:pointer;color:#fff}
.ad-search-item:hover{background:#181818}
.ad-search-item b{display:block;font:600 13.5px 'Archivo'}
.ad-search-type{font:700 9px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.ad-search-empty{padding:16px;color:var(--gray2);font-size:13px}
.ad-top-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.ad-iconbtn{position:relative;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center}
.ad-iconbtn:hover{color:#fff;background:#181818}
.ad-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--urgent);border:2px solid #0a0a0a}
.ad-who{display:flex;align-items:center;gap:9px}
.ad-avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(140deg,var(--blue),#0a3a66);color:#fff;display:grid;place-items:center;font:700 12px 'Archivo';flex-shrink:0}
.ad-who-t{display:flex;flex-direction:column;line-height:1.2}
.ad-who-t b{font:600 13px 'Archivo';color:#fff}
.ad-who-t span{font:600 10px 'Archivo';letter-spacing:.03em;text-transform:uppercase;color:var(--gray)}
.ad-signout{background:none;border:1px solid var(--border);color:var(--muted);font:600 12px 'Archivo';padding:7px 12px;border-radius:8px;cursor:pointer}
.ad-signout:hover{border-color:var(--urgent);color:var(--urgent)}
/* shell */
.ad-shell{display:grid;grid-template-columns:248px 1fr;min-height:calc(100vh - 60px)}
.ad-side{border-right:1px solid var(--ad-line);padding:16px 12px;background:#0c0c0c;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}
.ad-cyclechip{font:600 11px 'Archivo';letter-spacing:.04em;text-transform:uppercase;color:var(--gray);background:#141414;border:1px solid var(--ad-line);border-radius:8px;padding:8px 12px;margin-bottom:14px}
.ad-cyclechip b{color:var(--green)}
.ad-navgroup{margin-bottom:16px}
.ad-navgroup-h{display:block;font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#565656;padding:0 10px 6px}
.ad-side nav a{display:flex;align-items:center;gap:10px;color:var(--muted);font:600 13.5px 'Archivo';padding:9px 10px;border-radius:8px;margin-bottom:1px}
.ad-side nav a:hover{background:#161616;color:#fff}
.ad-side nav a.active{background:rgba(168,255,0,.10);color:var(--green)}
.ad-navico{display:grid;place-items:center;width:20px;color:currentColor;opacity:.85}
.ad-side-back{display:block;margin-top:10px;padding:9px 10px;font:600 12px 'Archivo';color:var(--gray)}
.ad-main{padding:26px 30px 80px;min-width:0;max-width:1240px}
.ad-scrim{display:none}
/* headings */
.ad-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.ad-h h1{font-size:30px;line-height:1}
.ad-sub{color:var(--gray2);font-size:13.5px;margin:6px 0 0;max-width:640px;line-height:1.5}
.ad-h-r{display:flex;gap:8px;flex-wrap:wrap}
.ad-sech{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 12px;flex-wrap:wrap}
.ad-sech h2{font-size:19px}
.ad-cardh{font-size:15px;letter-spacing:.03em;margin:0 0 12px;font-family:'Anton';text-transform:uppercase}
.ad-cardh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ad-cardh-row .ad-cardh{margin:0}
/* buttons */
.ad .btn{border-radius:8px}
.ad-sm{font-size:12px;padding:9px 14px}
.ad-xs{font-size:11px;padding:7px 11px;letter-spacing:.04em}
.ad-btn-danger{background:var(--urgent);color:#1a0a05}.ad-btn-danger:hover{background:#ffab85}
.ad-link{background:none;border:none;color:var(--blue);font:600 12px 'Archivo';cursor:pointer;padding:0}
.ad-link:hover{color:#fff}
.ad-linkdanger{background:none;border:none;color:var(--urgent);font:600 12px 'Archivo';cursor:pointer;padding:7px 11px}
.ad-linkdanger:hover{color:#ffab85}
/* cards */
.ad-card{border:1px solid var(--ad-line);border-radius:14px;background:var(--ad-panel);padding:20px;margin-bottom:16px}
.ad-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ad-fine{color:#6c6c6c;font-size:11.5px;line-height:1.5;margin:12px 0 0}
.ad-sub2{color:var(--gray);font-size:11.5px}
/* pills */
.ad-pill{display:inline-flex;align-items:center;gap:5px;font:600 11px 'Archivo';letter-spacing:.02em;border:1px solid;border-radius:999px;padding:3px 9px;white-space:nowrap}
.ad-pill span{font-size:10px}
.ad-prio{font:700 9.5px 'Archivo';letter-spacing:.1em;border:1px solid;border-radius:5px;padding:2px 7px}
.ad-flag{display:inline-block;font:700 9px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:rgba(255,184,77,.1);border-radius:4px;padding:1px 6px;margin-left:6px}
.ad-chip{font:600 11px 'Archivo';color:var(--muted);background:#161616;border:1px solid var(--ad-line);border-radius:999px;padding:3px 10px}
.ad-chiprow{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
/* stat grid */
.ad-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.ad-statgrid-sm{grid-template-columns:repeat(3,1fr);margin:0}
.ad-stat{border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-panel);padding:16px}
.ad-stat-n{display:block;font-family:'Anton';font-size:28px;line-height:1;color:#fff}
.ad-stat-l{display:block;font:600 10.5px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-top:7px}
/* class readiness cards */
.ad-classcards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}
.ad-classcard,.ad-classpanel{text-align:left;border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-panel);padding:15px;cursor:pointer;color:#fff;width:100%}
.ad-classcard:hover,.ad-classpanel:hover{border-color:#333}
.ad-classcard-h,.ad-classpanel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ad-classcard-h b{font-family:'Anton';font-size:17px}
.ad-cstate{font:700 8.5px 'Archivo';letter-spacing:.08em;border:1px solid;border-radius:5px;padding:2px 6px;white-space:nowrap}
.ad-seatbar{height:6px;border-radius:99px;background:#1c1c1c;overflow:hidden;margin-bottom:9px}
.ad-seatbar span{display:block;height:100%;border-radius:99px}
.ad-classcard-nums,.ad-classpanel-nums{display:flex;gap:12px;font-size:11.5px;color:var(--gray2);flex-wrap:wrap}
.ad-classcard-nums b{color:#fff;font-size:14px}
.ad-classcard-meta,.ad-classpanel-foot{font-size:11.5px;color:var(--gray);margin-top:8px}
.ad-classlist{display:flex;flex-direction:column;gap:12px}
.ad-classpanel-h b{font-family:'Anton';font-size:18px}
.ad-classpanel-nums b{color:#fff}
/* kv */
.ad-kvlist{list-style:none;margin:0;padding:0}
.ad-kvlist li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--ad-line);font-size:13px}
.ad-kvlist li:last-child{border-bottom:none}
.ad-kvlist li span{color:var(--gray2)}
.ad-kvlist li b{color:#fff;font-weight:600;text-align:right}
.ad-kvcard{border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-panel2);padding:16px;margin-bottom:12px}
.ad-kvcard h4{font:700 11px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin:0 0 8px}
.ad-kvcard-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ad-kvcard-h h4{margin:0}
.ad-kvcard-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
/* pipeline */
.ad-pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.ad-pipe-item{background:var(--ad-panel2);border:1px solid var(--ad-line);border-radius:10px;padding:12px 8px;cursor:pointer;color:#fff;text-align:center}
.ad-pipe-item:hover{border-color:var(--blue)}
.ad-pipe-item b{display:block;font-family:'Anton';font-size:22px}
.ad-pipe-item span{font-size:10.5px;color:var(--gray2)}
/* session */
.ad-card-session .ad-session{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.ad-session-date{font-family:'Anton';font-size:20px;color:var(--green)}
.ad-session-cls{font:700 14px 'Archivo';margin:2px 0 10px}
.ad-session-btns{display:flex;flex-direction:column;gap:8px;align-content:start}
/* queue */
.ad-qfilters,.ad-viewbar,.ad-subtabs,.ad-dtabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.ad-qfilters button,.ad-viewbar button,.ad-subtabs button{background:var(--ad-panel);border:1px solid var(--ad-line);color:var(--muted);font:600 12px 'Archivo';padding:7px 13px;border-radius:999px;cursor:pointer}
.ad-qfilters button:hover,.ad-viewbar button:hover,.ad-subtabs button:hover{color:#fff;border-color:#333}
.ad-qfilters button.active,.ad-viewbar button.active,.ad-subtabs button.active{background:#fff;color:#0a0a0a;border-color:#fff}
.ad-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ad-qcard{border:1px solid var(--ad-line);border-left:3px solid var(--gray);border-radius:12px;background:var(--ad-panel);padding:15px}
.ad-qcard-c{border-left-color:var(--urgent)}.ad-qcard-a{border-left-color:var(--warn)}.ad-qcard-b{border-left-color:var(--blue)}.ad-qcard-g{border-left-color:var(--green)}
.ad-qcard-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ad-qcat{font:600 10px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}
.ad-qcard h3{font-family:'Archivo';font-weight:700;font-size:14px;text-transform:none;letter-spacing:0;line-height:1.35;margin:0 0 5px}
.ad-qwho{color:var(--gray2);font-size:12px;margin:0 0 10px}
.ad-qmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:var(--gray);margin-bottom:12px}
.ad-qbtns{display:flex;flex-wrap:wrap;gap:7px}
/* tables */
.ad-tablewrap{border:1px solid var(--ad-line);border-radius:12px;overflow:auto;margin-bottom:16px;background:var(--ad-panel)}
.ad-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.ad-table thead th{position:sticky;top:0;background:#141414;text-align:left;font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--gray);padding:11px 14px;border-bottom:1px solid var(--ad-line);white-space:nowrap}
.ad-table td{padding:12px 14px;border-bottom:1px solid var(--ad-line);vertical-align:middle;color:var(--muted)}
.ad-table tbody tr:last-child td{border-bottom:none}
.ad-table tbody tr:hover{background:#141414}
.ad-table td b{color:#fff;font-weight:600}
.ad-rowlink{cursor:pointer}
.ad-rowchev{color:var(--gray);text-align:right;width:36px}
/* subtabs / detail tabs */
.ad-dtabs{border-bottom:1px solid var(--ad-line);gap:2px;margin-bottom:14px;overflow-x:auto}
.ad-dtabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--gray2);font:600 12.5px 'Archivo';padding:9px 12px;cursor:pointer;white-space:nowrap}
.ad-dtabs button:hover{color:#fff}
.ad-dtabs button.active{color:var(--green);border-bottom-color:var(--green)}
/* empty / restrict / alert */
.ad-empty{border:1px dashed var(--border);border-radius:12px;padding:34px 20px;text-align:center;background:var(--ad-panel)}
.ad-empty b{display:block;font:700 15px 'Archivo';color:#fff;margin-bottom:5px}
.ad-empty p{color:var(--gray2);font-size:13px;margin:0}
.ad-restrict{border:1px solid #5a4620;background:rgba(255,184,77,.08);color:var(--warn);border-radius:10px;padding:12px 14px;font:600 13px 'Archivo';margin-bottom:12px}
.ad-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ad-line);border-left:3px solid var(--gray);border-radius:10px;padding:11px 14px;margin-bottom:8px;background:var(--ad-panel2)}
.ad-alert-high{border-left-color:var(--urgent)}.ad-alert-medium{border-left-color:var(--warn)}
.ad-alert b{color:#fff;font:600 13px 'Archivo';display:block}
/* drawer */
.ad-drawer{position:fixed;inset:0;z-index:80}
.ad-drawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.ad-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(680px,94vw);background:#0d0d0d;border-left:1px solid var(--border);overflow-y:auto;padding:22px 24px 60px;animation:adSlide .22s ease}
@keyframes adSlide{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.ad-drawer-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.ad-drawer-h h2{font-size:25px;line-height:1}
.ad-drawer-num{font:700 11px 'Archivo';letter-spacing:.08em;color:var(--green);margin-bottom:3px}
.ad-drawer-status{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.ad-drawer-actions{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;border-top:1px solid var(--ad-line);border-bottom:1px solid var(--ad-line);margin-bottom:16px}
.ad-dtabbody{min-height:100px}
/* timeline / lists */
.ad-timeline{list-style:none;margin:0;padding:0}
.ad-timeline li{display:flex;gap:12px;padding-bottom:16px;position:relative}
.ad-timeline li:not(:last-child)::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--ad-line)}
.ad-tl-dot{width:11px;height:11px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:2px;z-index:1}
.ad-timeline b{display:block;font:600 13px 'Archivo';color:#fff}
.ad-simplelist{list-style:none;margin:0;padding:0}
.ad-simplelist li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--ad-line);font-size:13px}
.ad-simplelist li:last-child{border:none}
.ad-simplelist b{color:#fff}
.ad-simplelist span{color:var(--gray2)}
.ad-pickrow,.ad-threadrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--ad-line)}
.ad-pickrow:last-child,.ad-threadrow:last-child{border:none}
.ad-pickrow b,.ad-threadrow b{color:#fff;font:600 13.5px 'Archivo';display:block}
.ad-pickrow>div:last-child{display:flex;align-items:center;gap:8px}
.ad-events{list-style:none;margin:8px 0 0;padding:0}
.ad-events li{display:flex;gap:10px;font-size:12px;padding:4px 0;color:var(--gray2)}
.ad-eventh{font:700 10px 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin:14px 0 0}
.ad-checklist{list-style:none;margin:0;padding:0}
.ad-checklist li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--ad-line);color:var(--gray2);font-size:13.5px}
.ad-checklist li.ok{color:#fff}
.ad-check-mk{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ad-line);font-size:12px;color:var(--gray)}
.ad-checklist li.ok .ad-check-mk{background:var(--green);color:#0a0a0a;border-color:var(--green)}
/* dup / report grids */
.ad-dupgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ad-dupcard{border:1px solid var(--ad-line);border-radius:10px;padding:12px;background:var(--ad-panel2)}
.ad-dupcard b{color:#fff;display:block;font-size:13px}
.ad-reportgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.ad-reportlist{list-style:none;margin:0;padding:0}
.ad-reportlist li{padding:7px 0;border-bottom:1px solid var(--ad-line)}
.ad-reportlist li:last-child{border:none}
/* messages */
.ad-msglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ad-msgcard{text-align:left;border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-panel);padding:14px;cursor:pointer;color:#fff}
.ad-msgcard:hover{border-color:#333}
.ad-msgcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.ad-msgcard-top b{font:600 14px 'Archivo'}
.ad-msg-prev{color:var(--gray2);font-size:12.5px;margin:7px 0}
.ad-chat{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.ad-bubble{max-width:80%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.45}
.ad-bubble p{margin:0}
.ad-bubble-who{font:700 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin-bottom:4px}
.ad-bubble.parent{align-self:flex-start;background:#161616;border:1px solid var(--ad-line)}
.ad-bubble.staff{align-self:flex-end;background:rgba(0,123,255,.14);border:1px solid rgba(0,123,255,.3)}
.ad-bubble.internal{align-self:flex-end;background:rgba(255,184,77,.09);border:1px dashed rgba(255,184,77,.4);color:var(--warn)}
.ad-reply textarea,.ad-input,.ad-field textarea,.ad-field input,.ad-field select{width:100%;background:var(--ad-panel2);border:1px solid var(--ad-line);border-radius:9px;color:#fff;font:500 13px 'Archivo';padding:10px 12px}
.ad-reply textarea:focus,.ad-input:focus,.ad-field textarea:focus,.ad-field input:focus,.ad-field select:focus{outline:none;border-color:var(--blue)}
.ad-internal-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray2);margin:8px 0}
/* attendance picks */
.ad-attlist{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.ad-attrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ad-line);border-radius:10px;padding:11px 14px;background:var(--ad-panel2);flex-wrap:wrap}
.ad-attrow b{color:#fff;display:block}
.ad-attbtns{display:flex;gap:5px;flex-wrap:wrap}
.ad-attpick{background:#161616;border:1px solid var(--ad-line);color:var(--gray2);font:600 11px 'Archivo';padding:6px 10px;border-radius:7px;cursor:pointer}
.ad-attpick:hover{color:#fff}
.ad-attpick.on{color:#0a0a0a;font-weight:700}
.ad-attpick.on.tone-g{background:var(--green);border-color:var(--green)}
.ad-attpick.on.tone-c{background:var(--urgent);border-color:var(--urgent)}
.ad-attpick.on.tone-a{background:var(--warn);border-color:var(--warn)}
.ad-attpick.on.tone-b{background:var(--blue);border-color:var(--blue);color:#fff}
.ad-attpick.on.tone-gr{background:#444;border-color:#444;color:#fff}
/* forms */
.ad-field{display:block;margin-bottom:12px}
.ad-field span{display:block;font:600 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.ad-annform{display:flex;flex-direction:column;gap:10px}
.ad-annrow{display:flex;gap:10px}
.ad-int{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ad-line);border-radius:10px;padding:12px 14px;background:var(--ad-panel2);margin-bottom:8px}
.ad-intgrid{display:grid;gap:8px}
.ad-int b{color:#fff}
.ad-int>div:last-child{display:flex;align-items:center;gap:8px}
/* modal */
.ad-modal[hidden],.ad-drawer[hidden],.ad-notifpanel[hidden]{display:none!important}
.ad-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.ad-modal-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.ad-modal-card{position:relative;width:min(480px,96vw);background:#101010;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.ad-modal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ad-modal-h h3{font-size:19px}
.ad-modal-p{color:var(--gray2);font-size:13.5px;line-height:1.5;margin:0 0 12px}
.ad-modal-f{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
/* notifications */
.ad-notifpanel{position:fixed;top:60px;right:14px;width:min(340px,92vw);background:#111;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6);z-index:70;overflow:hidden;max-height:70vh;overflow-y:auto}
.ad-notif-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ad-line)}
.ad-notif-h b{font:700 14px 'Archivo'}
.ad-notif{display:flex;gap:10px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--ad-line);padding:12px 16px;cursor:pointer;color:#fff}
.ad-notif:hover{background:#181818}
.ad-notif.unread{background:rgba(0,123,255,.05)}
.ad-notif b{display:block;font:600 13px 'Archivo'}
.ad-notif-p{font-size:9px;margin-top:3px}
/* responsive */
@media(max-width:1080px){.ad-statgrid,.ad-classcards{grid-template-columns:repeat(2,1fr)}.ad-pipe{grid-template-columns:repeat(3,1fr)}.ad-2col{grid-template-columns:1fr}.ad-card-session .ad-session{grid-template-columns:1fr}}
@media(max-width:860px){
  .ad-burger{display:grid;place-items:center}
  .ad-shell{grid-template-columns:1fr}
  .ad-side{position:fixed;top:60px;left:0;z-index:50;width:264px;transform:translateX(-100%);transition:transform .2s;height:calc(100vh - 60px)}
  .ad-side.open{transform:none}
  .ad-scrim{display:block;position:fixed;inset:60px 0 0;background:rgba(0,0,0,.5);z-index:45}
  .ad-scrim[hidden]{display:none}
  .ad-search{max-width:none}
  .ad-who-t{display:none}
  .ad-main{padding:20px 16px 80px}
  .ad-statgrid-sm{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .ad-statgrid,.ad-classcards,.ad-pipe,.ad-dupgrid,.ad-annrow{grid-template-columns:1fr;display:grid}
  .ad-annrow{display:flex;flex-direction:column}
  .ad-search{display:none}
  /* tables → cards */
  .ad-tablewrap{border:none;background:none;overflow:visible}
  .ad-table,.ad-table tbody,.ad-table tr,.ad-table td{display:block;width:auto;min-width:0}
  .ad-table thead{display:none}
  .ad-table tr{border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-panel);margin-bottom:10px;padding:6px 4px}
  .ad-table td{border:none;padding:7px 14px;display:flex;justify-content:space-between;gap:14px;text-align:right}
  .ad-table td::before{content:attr(data-l);color:var(--gray);font:700 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;text-align:left;align-self:center}
  .ad-table td[data-l]:only-child{justify-content:flex-start}
  .ad-rowchev{display:none}
  .ad-queue,.ad-msglist{grid-template-columns:1fr}
  .ad-drawer-panel{width:100vw;padding:18px 16px 60px}
}

/* ============================================================ FACILITATOR PORTAL */
.fp{--fp-line:#20232b;--fp-panel:#0f1116;--fp-panel2:#141821;min-height:100vh;background:#0b0d11;font-family:'Archivo',sans-serif}
.fp *{box-sizing:border-box}
.fp code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--gray2);background:#161a22;padding:1px 6px;border-radius:5px}
.fp-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:0 18px;height:58px;background:rgba(11,13,17,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--fp-line)}
.fp-brand{font-size:18px}
.fp-tag{font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#08120a;background:var(--green);padding:3px 8px;border-radius:5px}
.fp-burger{display:none;background:none;border:1px solid var(--fp-line);border-radius:8px;color:#fff;padding:7px;cursor:pointer}
.fp-top-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.fp-iconbtn{position:relative;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center}
.fp-iconbtn:hover{color:#fff;background:#1a1f29}
.fp-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--warn);border:2px solid #0b0d11}
.fp-who{display:flex;align-items:center;gap:9px}
.fp-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(140deg,var(--green),#3a7a1a);color:#08120a;display:grid;place-items:center;font:800 14px 'Archivo';flex-shrink:0}
.fp-who-t{display:flex;flex-direction:column;line-height:1.2}
.fp-who-t b{font:600 13px 'Archivo';color:#fff}
.fp-who-t span{font:600 10px 'Archivo';letter-spacing:.03em;text-transform:uppercase;color:var(--gray)}
.fp-shell{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 58px)}
.fp-side{border-right:1px solid var(--fp-line);padding:16px 12px;background:#0d0f14;position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto}
.fp-cyclechip{font:700 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(168,255,0,.08);border:1px solid rgba(168,255,0,.2);border-radius:8px;padding:8px 12px;margin-bottom:14px;text-align:center}
.fp-navgroup{margin-bottom:14px}
.fp-navgroup-h{display:block;font:700 10px 'Archivo';letter-spacing:.14em;text-transform:uppercase;color:#5a6472;padding:0 10px 6px}
.fp-side nav a{display:flex;align-items:center;gap:10px;color:var(--muted);font:600 13.5px 'Archivo';padding:10px;border-radius:9px;margin-bottom:1px}
.fp-side nav a:hover{background:#171b24;color:#fff}
.fp-side nav a.active{background:rgba(168,255,0,.1);color:var(--green)}
.fp-navico{display:grid;place-items:center;width:20px;opacity:.9}
.fp-signout{color:#ff9a9a!important}
.fp-side-back{display:block;margin-top:6px;padding:9px 10px;font:600 12px 'Archivo';color:var(--gray)}
.fp-main{padding:26px 30px 90px;min-width:0;max-width:1160px}
.fp-scrim{display:none}
.fp-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.fp-h h1{font-size:29px;line-height:1}
.fp-sub{color:var(--gray2);font-size:13.5px;margin:6px 0 0;max-width:620px;line-height:1.5}
.fp-h-r{display:flex;gap:8px;flex-wrap:wrap}
.fp-sub2{color:var(--gray);font-size:11.5px;display:block}
.fp-sech{margin:24px 0 12px}
.fp-sech h2{font-size:18px}
.fp-cardh{font-size:14px;letter-spacing:.03em;margin:0 0 12px;font-family:'Anton';text-transform:uppercase}
.fp-fine{color:#6a7280;font-size:11.5px;line-height:1.5;margin:12px 0 0}
.fp .btn{border-radius:9px}
.fp-sm{font-size:12px;padding:9px 14px}
.fp-xs{font-size:11px;padding:8px 12px;letter-spacing:.03em}
.fp-btn-danger{background:var(--urgent);color:#1a0a05}.fp-btn-danger:hover{background:#ffab85}
.fp-cmd{width:100%;justify-content:center;gap:8px;font-size:13px}
.fp-card{border:1px solid var(--fp-line);border-radius:14px;background:var(--fp-panel);padding:20px;margin-bottom:16px}
.fp-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fp-pill{display:inline-flex;align-items:center;gap:5px;font:600 11px 'Archivo';border:1px solid;border-radius:999px;padding:3px 9px;white-space:nowrap}
.fp-pill span{font-size:10px}
.fp-prio{font:700 9.5px 'Archivo';letter-spacing:.1em;border:1px solid;border-radius:5px;padding:2px 7px}
.fp-chip{font:600 11px 'Archivo';color:var(--muted);background:#171b24;border:1px solid var(--fp-line);border-radius:999px;padding:4px 11px}
.fp-chip-dl{cursor:pointer}.fp-chip-dl:hover{color:#fff;border-color:var(--blue)}
.fp-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fp-kvlist{list-style:none;margin:0;padding:0}
.fp-kvlist li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--fp-line);font-size:13px}
.fp-kvlist li:last-child{border-bottom:none}
.fp-kvlist li span{color:var(--gray2)}
.fp-kvlist li b{color:#fff;font-weight:600;text-align:right}
.fp-kvcard{border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-panel2);padding:16px;margin-bottom:12px}
.fp-kvcard h4{font:700 11px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--gray);margin:0 0 8px}
.fp-kvcard-f{margin-top:10px}
.fp-card-next{border-color:rgba(168,255,0,.25);background:linear-gradient(160deg,rgba(168,255,0,.05),var(--fp-panel) 55%)}
.fp-next{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
.fp-next-day{font:700 11px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.fp-next-topic{font-family:'Anton';font-size:24px;margin:2px 0 12px}
.fp-next-r{display:flex;flex-direction:column;gap:8px;align-content:start}
.fp-otherclasses{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:8px}
.fp-miniclass{text-align:left;border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-panel);padding:13px;cursor:pointer;color:#fff}
.fp-miniclass:hover{border-color:#333}
.fp-miniclass b{display:block;font:600 14px 'Archivo'}
.fp-miniclass span{margin:3px 0 8px}
.fp-attention{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.fp-atcard{border:1px solid var(--fp-line);border-left:3px solid var(--gray);border-radius:12px;background:var(--fp-panel);padding:15px}
.fp-at-c{border-left-color:var(--urgent)}.fp-at-a{border-left-color:var(--warn)}.fp-at-b{border-left-color:var(--blue)}.fp-at-g{border-left-color:var(--green)}
.fp-atcard-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.fp-atcat{font:600 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--gray)}
.fp-atcard h3{font:700 14px 'Archivo';text-transform:none;letter-spacing:0;line-height:1.35;margin:0 0 5px}
.fp-atwho{color:var(--gray2);font-size:12px;margin:0 0 12px}
.fp-atbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fp-checklist{list-style:none;margin:0;padding:0}
.fp-checklist li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--fp-line);color:var(--gray2);font-size:13.5px}
.fp-checklist li:last-child{border:none}
.fp-ck-mk{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--fp-line);font-size:12px;flex-shrink:0}
.fp-ck-g{color:#fff}.fp-ck-g .fp-ck-mk{background:var(--green);color:#08120a;border-color:var(--green)}
.fp-ck-a .fp-ck-mk{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 50%,transparent)}
.fp-ck-b .fp-ck-mk{color:var(--blue)}.fp-ck-gr .fp-ck-mk{color:var(--gray)}
.fp-ck-tag{margin-left:auto;font:600 10px 'Archivo';letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}
.fp-suprow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--fp-line)}
.fp-suprow:last-child{border:none}
.fp-suprow b{color:#fff;font:600 13.5px 'Archivo';display:block}
.fp-suprow-r{display:flex;align-items:center;gap:8px}
.fp-msgmini{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--fp-line);padding:10px 0;cursor:pointer;color:#fff}
.fp-msgmini:hover{background:#141821}
.fp-msgmini b{font:600 13px 'Archivo'}
.fp-classgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.fp-classcard{border:1px solid var(--fp-line);border-radius:14px;background:var(--fp-panel);padding:18px}
.fp-classcard-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.fp-classcard-h b{font-family:'Anton';font-size:19px}
.fp-cstate{font:700 9px 'Archivo';letter-spacing:.06em;border:1px solid;border-radius:5px;padding:3px 7px;white-space:nowrap}
.fp-classcard-btns{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.fp-tablewrap{border:1px solid var(--fp-line);border-radius:12px;overflow:auto;margin-bottom:8px;background:var(--fp-panel)}
.fp-table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.fp-table thead th{position:sticky;top:0;background:#161a22;text-align:left;font:700 10.5px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--gray);padding:11px 14px;border-bottom:1px solid var(--fp-line);white-space:nowrap}
.fp-table td{padding:12px 14px;border-bottom:1px solid var(--fp-line);color:var(--muted);vertical-align:middle}
.fp-table tbody tr:last-child td{border-bottom:none}
.fp-table tbody tr:hover{background:#141821}
.fp-table td b{color:#fff;font-weight:600}
.fp-rowlink{cursor:pointer}
.fp-subtabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.fp-subtabs button{background:var(--fp-panel);border:1px solid var(--fp-line);color:var(--muted);font:600 12px 'Archivo';padding:7px 13px;border-radius:999px;cursor:pointer}
.fp-subtabs button.active{background:#fff;color:#0b0d11;border-color:#fff}
.fp-dtabs{display:flex;gap:2px;border-bottom:1px solid var(--fp-line);margin-bottom:14px;overflow-x:auto}
.fp-dtabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--gray2);font:600 12.5px 'Archivo';padding:9px 12px;cursor:pointer;white-space:nowrap}
.fp-dtabs button.active{color:var(--green);border-bottom-color:var(--green)}
.fp-empty{border:1px dashed var(--border);border-radius:12px;padding:32px 20px;text-align:center;background:var(--fp-panel)}
.fp-empty b{display:block;font:700 15px 'Archivo';color:#fff;margin-bottom:5px}
.fp-empty p{color:var(--gray2);font-size:13px;margin:0}
.fp-drawer{position:fixed;inset:0;z-index:80}
.fp-drawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.fp-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(720px,96vw);background:#0d0f14;border-left:1px solid var(--border);overflow-y:auto;padding:22px 24px 90px;animation:fpSlide .22s ease}
@keyframes fpSlide{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.fp-drawer-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.fp-drawer-h h2{font-size:24px;line-height:1}
.fp-drawer-status{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.fp-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--fp-line);margin-top:16px}
.fp-dtabbody{min-height:80px}
.fp-cc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.fp-cc-head h2{font-size:26px;line-height:1;margin:2px 0}
.fp-cc-quick{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--fp-panel2);border:1px solid var(--fp-line);border-radius:12px;margin-bottom:16px;position:sticky;top:0;z-index:2}
.fp-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fp-card-span{grid-column:1/-1}
.fp-ccroster{list-style:none;margin:0;padding:0}
.fp-ccroster li{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--fp-line);font-size:13.5px;color:#fff}
.fp-ccroster li:last-child{border:none}
.fp-ccdot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.fp-ccdot-g{background:var(--green)}.fp-ccdot-b{background:var(--blue)}.fp-ccdot-gr{background:#39404c}
.fp-ccroster .fp-sub2{margin-left:auto}
.fp-alertchip{color:var(--warn);font-size:13px}
.fp-plan{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fp-plan h4{font:700 10.5px 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--gray);margin:0 0 6px}
.fp-bullets{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.6}
.fp-plan-note{margin-top:14px;padding:12px 14px;background:var(--fp-panel2);border-radius:10px;font-size:13px;color:var(--gray2)}
.fp-plan-note b{color:#fff}
.fp-saferow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--fp-panel2);border:1px solid var(--fp-line);border-radius:10px;padding:12px 14px;cursor:pointer;color:#fff;margin-bottom:8px}
.fp-saferow:hover{border-color:var(--warn)}
.fp-saferow b{font:600 13.5px 'Archivo'}
.fp-saferow svg{margin-left:auto;color:var(--gray)}
.fp-safetybanner{border:1px solid #4a5220;background:rgba(255,184,77,.08);color:var(--warn);border-radius:10px;padding:11px 14px;font:600 12.5px 'Archivo';margin-bottom:12px}
.fp-pickrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--fp-line)}
.fp-pickrow:last-child{border:none}
.fp-pickrow b{color:#fff;font:600 13.5px 'Archivo';display:block}
.fp-attlist{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.fp-attrow{border:1px solid var(--fp-line);border-radius:12px;padding:12px 14px;background:var(--fp-panel2)}
.fp-attrow-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.fp-attrow-l b{color:#fff;font:600 14px 'Archivo'}
.fp-attpickup{margin-left:auto}
.fp-attbtns{display:flex;gap:6px;flex-wrap:wrap}
.fp-attpick{flex:1;min-width:64px;min-height:44px;background:#171b24;border:1px solid var(--fp-line);color:var(--gray2);font:600 12px 'Archivo';padding:8px;border-radius:9px;cursor:pointer}
.fp-attpick:hover{color:#fff}
.fp-attpick.on{color:#08120a;font-weight:700}
.fp-attpick.on.t-g{background:var(--green);border-color:var(--green)}
.fp-attpick.on.t-c{background:var(--urgent);border-color:var(--urgent);color:#1a0a05}
.fp-attpick.on.t-a{background:var(--warn);border-color:var(--warn)}
.fp-attpick.on.t-gr{background:#4a5260;border-color:#4a5260;color:#fff}
.fp-weeklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.fp-weekcard{text-align:left;border:1px solid var(--fp-line);border-radius:14px;background:var(--fp-panel);padding:18px;cursor:pointer;color:#fff}
.fp-weekcard:hover{border-color:var(--green)}
.fp-weekcard-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fp-weeknum{font:700 10px 'Archivo';letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.fp-weekcard b{display:block;font-size:19px;margin-bottom:4px}
.fp-reader h4{font:700 11px 'Archivo';letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:18px 0 7px}
.fp-reader h4:first-child{margin-top:0}
.fp-recaptemplate{background:var(--fp-panel2);border-left:2px solid var(--blue);border-radius:0 8px 8px 0;padding:12px 14px;font-size:13px;color:var(--gray2);line-height:1.55}
.fp-recapform,.fp-annform{display:flex;flex-direction:column;gap:12px}
.fp-field{display:block}
.fp-field span{display:block;font:600 11px 'Archivo';letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.fp-field textarea,.fp-field input,.fp-field select,.fp-reply textarea{width:100%;background:var(--fp-panel2);border:1px solid var(--fp-line);border-radius:9px;color:#fff;font:500 13px 'Archivo';padding:10px 12px}
.fp-field textarea:focus,.fp-field input:focus,.fp-field select:focus,.fp-reply textarea:focus{outline:none;border-color:var(--green)}
.fp-inline{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--gray2)}
.fp-msglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.fp-msgcard{text-align:left;border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-panel);padding:14px;cursor:pointer;color:#fff}
.fp-msgcard.unread{border-color:rgba(255,184,77,.35)}
.fp-msgcard:hover{border-color:#333}
.fp-msgcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.fp-msgcard-top b{font:600 14px 'Archivo'}
.fp-unreaddot{width:8px;height:8px;border-radius:50%;background:var(--warn)}
.fp-msg-prev{color:var(--gray2);font-size:12.5px;margin:7px 0}
.fp-chat{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.fp-bubble{max-width:82%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.45}
.fp-bubble p{margin:0}
.fp-bubble-who{font:700 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin-bottom:4px}
.fp-bubble.parent{align-self:flex-start;background:#171b24;border:1px solid var(--fp-line)}
.fp-bubble.me{align-self:flex-end;background:rgba(168,255,0,.12);border:1px solid rgba(168,255,0,.3)}
.fp-bubble.admin{align-self:flex-start;background:rgba(0,123,255,.12);border:1px solid rgba(0,123,255,.3)}
.fp-threadrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--fp-panel2);border:1px solid var(--fp-line);border-radius:10px;padding:12px 14px;cursor:pointer;color:#fff;margin-bottom:8px}
.fp-threadrow b{font:600 13.5px 'Archivo'}
.fp-tasklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.fp-taskcard{border:1px solid var(--fp-line);border-radius:14px;background:var(--fp-panel);padding:16px}
.fp-taskcard-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.fp-taskcard h3{font:700 14px 'Archivo';text-transform:none;letter-spacing:0;margin:0 0 5px}
.fp-modal-p{color:var(--gray2);font-size:13px;line-height:1.5;margin:0 0 8px}
.fp-modal[hidden],.fp-drawer[hidden],.fp-notifpanel[hidden],.fp-sheet[hidden]{display:none!important}
.fp-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.fp-modal-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.fp-modal-card{position:relative;width:min(480px,96vw);background:#12151b;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.6);max-height:90vh;overflow-y:auto}
.fp-modal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fp-modal-h h3{font-size:19px}
.fp-modal-f{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.fp-notifpanel{position:fixed;top:58px;right:14px;width:min(340px,92vw);background:#12151b;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6);z-index:70;overflow:hidden;max-height:70vh;overflow-y:auto}
.fp-notif-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--fp-line)}
.fp-notif{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--fp-line);padding:12px 16px;cursor:pointer;color:#fff}
.fp-notif:hover{background:#181c25}
.fp-notif.unread{background:rgba(255,184,77,.05)}
.fp-notif b{display:block;font:600 13px 'Archivo'}
.fp-search-empty{padding:16px;color:var(--gray2);font-size:13px}
.fp-bottomnav{display:none}
.fp-sheet{position:fixed;inset:0;z-index:90}
.fp-sheet-scrim{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.fp-sheet-card{position:absolute;left:0;right:0;bottom:0;background:#12151b;border-top:1px solid var(--border);border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
.fp-sheet-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fp-sheet-h b{font:700 15px 'Archivo'}
.fp-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fp-sheet-grid button{display:flex;flex-direction:column;align-items:center;gap:7px;background:var(--fp-panel2);border:1px solid var(--fp-line);border-radius:12px;padding:16px 8px;color:#fff;font:600 12px 'Archivo';cursor:pointer;min-height:76px;justify-content:center}
.fp-sheet-signout{grid-column:1/-1;color:#ff9a9a!important;flex-direction:row!important;min-height:auto!important;padding:12px!important}
@media(max-width:1000px){.fp-2col,.fp-next,.fp-plan,.fp-cc-grid{grid-template-columns:1fr}}
@media(max-width:820px){
  .fp-burger{display:grid;place-items:center}
  .fp-shell{grid-template-columns:1fr}
  .fp-side{position:fixed;top:58px;left:0;z-index:50;width:262px;transform:translateX(-100%);transition:transform .2s;height:calc(100vh - 58px)}
  .fp-side.open{transform:none}
  .fp-scrim{display:block;position:fixed;inset:58px 0 0;background:rgba(0,0,0,.5);z-index:45}
  .fp-scrim[hidden]{display:none}
  .fp-who-t{display:none}
  .fp-main{padding:20px 15px 96px}
  .fp-bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(15,17,22,.98);backdrop-filter:blur(10px);border-top:1px solid var(--fp-line);padding-bottom:env(safe-area-inset-bottom)}
  .fp-bottomnav button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--gray);font:600 10px 'Archivo';padding:9px 4px 8px;cursor:pointer;min-height:56px}
  .fp-bottomnav button.active{color:var(--green)}
  .fp-burger{display:none}
}
@media(max-width:640px){
  .fp-classgrid,.fp-attention,.fp-msglist,.fp-tasklist,.fp-weeklist,.fp-otherclasses{grid-template-columns:1fr}
  .fp-tablewrap{border:none;background:none;overflow:visible}
  .fp-table,.fp-table tbody,.fp-table tr,.fp-table td{display:block;width:auto;min-width:0}
  .fp-table thead{display:none}
  .fp-table tr{border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-panel);margin-bottom:10px;padding:6px 4px}
  .fp-table td{border:none;padding:7px 14px;display:flex;justify-content:space-between;gap:14px;text-align:right}
  .fp-table td::before{content:attr(data-l);color:var(--gray);font:700 10px 'Archivo';letter-spacing:.05em;text-transform:uppercase;text-align:left}
  .fp-drawer-panel{width:100vw;padding:18px 15px 90px}
  .fp-cc-quick{position:static}
}
@media(min-width:821px){.fp-bottomnav{display:none}}
