/* ===================================================================
   PCFH — Play College Field Hockey · shared stylesheet
   Direction: "Soft & Organic, elevated" — warm ivory, navy, amber.
   Signature: the shooting circle (the D / 16-yard arc).
   =================================================================== */

:root{
  --navy:#00305C; --navy-800:#00244A; --amber:#F7B512; --amber-600:#E0A30C;
  --amber-soft:#FCEBB8; --ink:#3D4D59; --neutral:#8E94A4; --line:#E7E3DA;
  --ivory:#FBF8F3; --parchment:#F4F1EA; --white:#FFFFFF;
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-pill:999px;
  --sh-sm:0 2px 8px rgba(0,48,92,.08);
  --sh-card:0 18px 50px -24px rgba(0,48,92,.30);
  --sh-lift:0 24px 60px -20px rgba(0,48,92,.35);
  --maxw:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  background:var(--ivory); color:var(--ink); margin:0;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ---- layout helpers ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.section{padding:88px 0;}
.section--tight{padding:60px 0;}
.parchment{background:var(--parchment);}
.navy-bg{background:var(--navy);color:#EAF1F8;}

/* ---- type ---- */
h1,h2,h3,h4{color:var(--navy);margin:0;font-weight:600;letter-spacing:-.01em;}
.display-xl{font-size:clamp(44px,6.4vw,68px);font-weight:700;letter-spacing:-.02em;line-height:1.04;}
.display{font-size:clamp(34px,4.6vw,50px);font-weight:700;letter-spacing:-.015em;line-height:1.08;}
.h1{font-size:clamp(30px,4vw,38px);font-weight:600;line-height:1.12;}
.h2{font-size:clamp(26px,3vw,30px);font-weight:600;line-height:1.2;}
.h3{font-size:20px;font-weight:600;line-height:1.3;}
.lead{font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--ink);}
.body{font-size:16px;line-height:1.6;color:var(--ink);}
.muted{color:var(--neutral);}
.navy-bg h1,.navy-bg h2,.navy-bg h3{color:#fff;}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--amber-soft);
  border-radius:var(--r-pill);padding:6px 14px;}
.eyebrow-plain{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-600);}
.quote-face{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;}

/* ---- buttons ---- */
.btn{font-family:inherit;font-weight:600;font-size:16px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;white-space:nowrap;}
.btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px;}
.btn-primary{background:var(--amber);color:var(--navy);border-radius:var(--r-pill);
  padding:14px 26px;box-shadow:0 10px 24px -10px rgba(247,181,18,.75);}
.btn-primary:hover{background:var(--amber-600);transform:translateY(-1px);}
.btn-secondary{background:transparent;color:var(--navy);border:1.5px solid var(--navy);
  border-radius:var(--r-pill);padding:12.5px 24px;}
.btn-secondary:hover{background:var(--navy);color:#fff;}
.btn-secondary.on-navy{color:#fff;border-color:rgba(255,255,255,.45);}
.btn-secondary.on-navy:hover{background:#fff;color:var(--navy);border-color:#fff;}
.btn-link{background:none;color:var(--navy);padding:6px 2px;border:none;border-bottom:2px solid var(--amber);
  border-radius:0;font-weight:600;cursor:pointer;}
.btn-link:hover{border-bottom-color:var(--navy);}
.btn-lg{font-size:18px;padding:16px 32px;}
.btn-block{width:100%;}

/* ---- public nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.82);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 28px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;}
.brand .mark{font-weight:700;font-size:23px;color:var(--navy);letter-spacing:-.02em;}
.brand .mark b{color:var(--amber);}
.brand .tag{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neutral);}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;padding:4px 0;border-bottom:2px solid transparent;}
.nav-links a:hover{color:var(--navy);border-bottom-color:var(--amber);}
.nav-cta{display:flex;align-items:center;gap:16px;}
.nav-cta .ghost{color:var(--navy);font-weight:600;font-size:14px;text-decoration:none;}
.nav-cta .ghost:hover{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:4px;}
.nav-toggle{display:none;background:none;border:1.5px solid var(--line);border-radius:var(--r-md);
  padding:8px 10px;cursor:pointer;color:var(--navy);}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding:74px 0 64px;}
.hero-copy .display-xl{margin:14px 0 0;}
.hero-brandline{font-size:14px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-600);margin:22px 0 0;}
.hero-copy .lead{margin:20px 0 0;max-width:30ch;}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px;}

/* shooting-circle visual — confident standalone graphic, no-photo state */
.circle-graphic{width:100%;}
.circle-graphic svg{display:block;width:100%;height:auto;overflow:visible;}
.circle-cap{text-align:center;margin:22px 0 0;font-size:13px;font-weight:600;letter-spacing:.32em;
  text-transform:uppercase;color:var(--amber-600);}

/* hero trust band */
.trustband{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--white);box-shadow:var(--sh-sm);overflow:hidden;margin-top:8px;}
.trustband .cell{padding:20px 26px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.trustband .cell + .cell{border-left:1px solid var(--line);}
.trustband .stat-num{font-size:34px;font-weight:700;color:var(--navy);line-height:1;letter-spacing:-.02em;}
.trustband .stat-lbl{font-size:13px;color:var(--neutral);}
.trustband .mini-quote{flex:1;}
.trustband .mini-quote .q{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--navy);font-size:16px;line-height:1.45;}
.trustband .mini-quote .a{font-size:12px;color:var(--neutral);margin-top:6px;}

/* ---- arc divider (whisper) ---- */
.arc-divider{display:block;width:100%;height:34px;color:var(--line);}
.arc-divider svg{display:block;width:100%;height:100%;overflow:visible;}

/* ---- section header ---- */
.shead{max-width:680px;}
.shead.center{margin:0 auto;text-align:center;}
.shead .eyebrow{margin-bottom:16px;}
.shead h2{margin-bottom:14px;}
.shead p{margin:0;font-size:18px;line-height:1.6;color:var(--ink);}

/* ---- value props ---- */
.valuegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;}
.valuecard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px;box-shadow:var(--sh-sm);}
.valuecard .vicon{width:46px;height:46px;border-radius:14px;background:var(--amber-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--navy);}
.valuecard h3{margin-bottom:10px;}
.valuecard p{margin:0;font-size:15px;color:var(--ink);line-height:1.55;}

/* ---- how it works — timeline on the arc ---- */
.timeline{position:relative;margin-top:54px;}
.timeline-track{position:absolute;left:0;right:0;top:30px;height:120px;color:var(--amber);pointer-events:none;}
.timeline-track svg{width:100%;height:100%;overflow:visible;}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 20px 22px;
  box-shadow:var(--sh-sm);position:relative;}
.step .num{width:46px;height:46px;border-radius:var(--r-pill);background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-bottom:16px;
  box-shadow:0 0 0 5px var(--ivory),0 0 0 6px var(--line);}
.step.is-goal .num{background:var(--amber);color:var(--navy);}
.step h3{font-size:17px;margin-bottom:8px;}
.step p{margin:0;font-size:14px;color:var(--ink);line-height:1.5;}
.step .when{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--amber-600);text-transform:uppercase;margin-bottom:4px;}

/* ---- two doors ---- */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px;}
.door{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;
  box-shadow:var(--sh-card);display:flex;flex-direction:column;}
.door.featured{border-color:var(--amber);box-shadow:var(--sh-lift);}
.door .dtag{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neutral);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.door h3{font-size:24px;margin-bottom:10px;}
.door .price{font-size:15px;color:var(--ink);margin-bottom:18px;}
.door .price b{color:var(--navy);font-size:17px;}
.door > p{font-size:15px;line-height:1.6;color:var(--ink);margin:0 0 20px;}
.door ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:11px;}
.door ul li{display:flex;gap:11px;font-size:14.5px;color:var(--ink);line-height:1.45;}
.door ul li svg{flex:0 0 auto;margin-top:3px;color:var(--amber-600);}
.door .door-foot{margin-top:auto;}
.door .reassure{font-size:12.5px;color:var(--neutral);margin-top:12px;text-align:center;}

/* ---- testimonials ---- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.tcard{border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-card);display:flex;flex-direction:column;}
.tcard.light{background:var(--white);border:1px solid var(--line);}
.tcard.dark{background:var(--navy);}
.tcard .tq{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:19px;line-height:1.5;color:var(--navy);margin:0 0 22px;flex:1;}
.tcard.dark .tq{color:#fff;}
.tcard .who{display:flex;align-items:center;gap:12px;}
.tcard .badge{width:42px;height:42px;border-radius:var(--r-pill);background:var(--amber);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:0 0 auto;}
.tcard .who .name{font-weight:600;color:var(--navy);font-size:14px;}
.tcard.dark .who .name{color:#fff;}
.tcard .who .school{font-size:13px;color:var(--neutral);display:flex;align-items:center;gap:7px;}
.tcard.dark .who .school{color:#9FB6CE;}
/* small arc-dot per committed school (whisper signature) */
.arcdot{width:14px;height:8px;flex:0 0 auto;}
.arcdot svg{display:block;width:100%;height:100%;color:var(--amber);}

/* ---- proof band ---- */
.proof{background:var(--amber);border-radius:var(--r-lg);padding:44px 48px;display:flex;align-items:center;gap:36px;
  box-shadow:var(--sh-card);flex-wrap:wrap;}
.proof .num{font-size:clamp(64px,9vw,92px);font-weight:700;letter-spacing:-.03em;color:var(--navy);line-height:.9;}
.proof .copy{font-size:clamp(18px,2.2vw,22px);font-weight:500;color:var(--navy);line-height:1.35;max-width:32ch;}
.proof .copy small{display:block;font-size:14px;font-weight:500;color:rgba(0,48,92,.7);margin-top:10px;line-height:1.5;}
.schoolrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;justify-content:center;}
.schoolchip{font-size:13px;font-weight:500;color:var(--navy);background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:8px 16px;display:flex;align-items:center;gap:8px;box-shadow:var(--sh-sm);}

/* ---- about / team ---- */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;}
.founder-photo{aspect-ratio:4/5;border-radius:var(--r-lg);background:var(--navy);overflow:hidden;
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  box-shadow:var(--sh-card);}
.founder-photo .fmono{width:108px;height:108px;border-radius:var(--r-pill);background:var(--amber);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:42px;letter-spacing:-.02em;}
.founder-photo .fname{color:#fff;font-weight:600;font-size:18px;}
.founder-photo .frole{color:#9FB6CE;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-top:-8px;}
.founder-photo .farc{position:absolute;left:0;right:0;bottom:-40px;height:140px;color:rgba(247,181,18,.14);}
.founder-photo .farc svg{width:100%;height:100%;}
.team-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px;}
.teammate{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm);}
.teammate .av{width:100%;aspect-ratio:1/1;border-radius:var(--r-md);background:var(--navy);
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:28px;
  letter-spacing:-.02em;margin-bottom:14px;}
.teammate:nth-child(2) .av{background:var(--amber);color:var(--navy);}
.teammate:nth-child(4) .av{background:var(--amber);color:var(--navy);}
.teammate h4{font-size:16px;margin-bottom:3px;}
.teammate .role{font-size:12.5px;color:var(--amber-600);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px;}
.teammate p{font-size:13px;color:var(--ink);line-height:1.5;margin:0;}

/* ---- final CTA ---- */
.finalcta{position:relative;overflow:hidden;background:var(--navy);border-radius:28px;padding:64px;text-align:center;}
.finalcta h2{color:#fff;font-size:clamp(30px,4vw,42px);margin-bottom:14px;}
.finalcta p{color:#C7D6E6;font-size:18px;max-width:46ch;margin:0 auto 30px;}
.finalcta .hero-actions{justify-content:center;}
.finalcta .arc-bg{position:absolute;right:-80px;bottom:-160px;width:420px;height:420px;color:rgba(247,181,18,.16);pointer-events:none;}
.finalcta .arc-bg svg{width:100%;height:100%;}

/* ---- footer ---- */
.ft{background:var(--navy);color:#C7D6E6;}
.ft-inner{max-width:var(--maxw);margin:0 auto;padding:56px 28px 30px;}
.ft-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:36px;}
.ft .mark{font-weight:700;font-size:24px;color:#fff;letter-spacing:-.02em;}
.ft .mark b{color:var(--amber);}
.ft .tagline{margin-top:12px;font-size:14px;color:#9FB6CE;max-width:280px;line-height:1.5;}
.ft .contact{margin-top:18px;font-size:13.5px;color:#9FB6CE;line-height:1.7;}
.ft .contact a{color:#C7D6E6;text-decoration:none;}
.ft .contact a:hover{color:#fff;}
.ft-cols{display:flex;gap:56px;flex-wrap:wrap;}
.ft-col h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 14px;}
.ft-col a{display:block;color:#C7D6E6;text-decoration:none;font-size:14px;margin-bottom:10px;}
.ft-col a:hover{color:#fff;}
.ft-bar{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;display:flex;
  justify-content:space-between;font-size:12.5px;color:#7E97B2;flex-wrap:wrap;gap:8px;}

/* ===================================================================
   Auth / flow pages
   =================================================================== */
.flow-wrap{min-height:100vh;display:flex;flex-direction:column;}
.flow-main{flex:1;display:grid;grid-template-columns:1.05fr .95fr;}
.flow-left{padding:56px 6vw;display:flex;flex-direction:column;}
.flow-right{position:relative;background:var(--parchment);border-left:1px solid var(--line);
  padding:56px 5vw;display:flex;flex-direction:column;justify-content:center;overflow:hidden;}
.flow-back{font-size:14px;color:var(--neutral);text-decoration:none;font-weight:500;display:inline-flex;gap:7px;align-items:center;}
.flow-back:hover{color:var(--navy);}

/* progress dots (arc-dot style) */
.progress{display:flex;align-items:center;gap:10px;margin:30px 0 12px;}
.progress .pstep{display:flex;align-items:center;gap:10px;}
.progress .pdot{width:30px;height:30px;border-radius:var(--r-pill);border:1.5px solid var(--line);
  background:var(--white);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--neutral);}
.progress .pstep.active .pdot{background:var(--amber);border-color:var(--amber);color:var(--navy);}
.progress .pstep.done .pdot{background:var(--navy);border-color:var(--navy);color:#fff;}
.progress .pline{width:34px;height:2px;background:var(--line);border-radius:2px;}
.progress .pstep.done + .pline{background:var(--navy);}

.flow-card{max-width:460px;width:100%;}
.flow-card .eyebrow{margin-bottom:14px;}
.flow-card h1{margin-bottom:10px;}
.flow-card .lead{margin:0 0 28px;}

.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:0 0 7px;}
.field input,.field select{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);
  border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px 14px;}
.field input:focus,.field select:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);}
.field .hint{font-size:12px;color:var(--neutral);margin-top:6px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* plan picker */
.planpick{display:flex;flex-direction:column;gap:14px;margin-bottom:26px;}
.plan{display:flex;gap:16px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r-lg);
  padding:20px;background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.plan:hover{border-color:var(--neutral);}
.plan.sel{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);}
.plan input{margin-top:4px;accent-color:var(--amber);width:18px;height:18px;}
.plan .pbody{flex:1;}
.plan .ptitle{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.plan .ptitle h3{font-size:17px;}
.plan .ptitle .pp{font-weight:700;color:var(--navy);font-size:16px;white-space:nowrap;}
.plan .ptitle .pp small{font-weight:500;color:var(--neutral);font-size:12px;}
.plan p{margin:6px 0 0;font-size:13.5px;color:var(--ink);line-height:1.5;}
.plan .tag-rec{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  background:var(--amber-soft);border-radius:var(--r-pill);padding:3px 10px;margin-left:8px;}

.flow-side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px;box-shadow:var(--sh-card);max-width:380px;position:relative;z-index:2;}
.flow-side-card .quote-face{font-size:20px;color:var(--navy);line-height:1.5;}
.flow-side-card .sig{margin-top:18px;font-size:13px;color:var(--neutral);}
.flow-side-arc{position:absolute;right:-120px;top:-90px;width:380px;height:380px;color:rgba(0,48,92,.06);pointer-events:none;}
.flow-side-arc svg{width:100%;height:100%;}

.flow-success{max-width:520px;text-align:left;}
.flow-success .check{width:64px;height:64px;border-radius:var(--r-pill);background:var(--amber-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--navy);}
.next-list{list-style:none;margin:24px 0 30px;padding:0;display:flex;flex-direction:column;gap:14px;}
.next-list li{display:flex;gap:14px;align-items:flex-start;}
.next-list .nnum{width:30px;height:30px;flex:0 0 auto;border-radius:var(--r-pill);background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.next-list .ntext{font-size:15px;color:var(--ink);line-height:1.5;}
.next-list .ntext b{color:var(--navy);}

/* ===================================================================
   /app shell
   =================================================================== */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--ivory);}
.app-side{background:var(--navy);color:#C7D6E6;padding:26px 20px;display:flex;flex-direction:column;}
.app-side .brand .mark{color:#fff;}
.app-side .brand{margin-bottom:34px;padding:0 8px;}
.app-nav{display:flex;flex-direction:column;gap:4px;}
.app-nav a{display:flex;align-items:center;gap:12px;color:#C7D6E6;text-decoration:none;font-size:14.5px;font-weight:500;
  padding:11px 14px;border-radius:var(--r-md);}
.app-nav a:hover{background:rgba(255,255,255,.07);color:#fff;}
.app-nav a.active{background:var(--amber);color:var(--navy);font-weight:600;}
.app-nav a svg{flex:0 0 auto;}
.app-side .side-foot{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);}
.app-user{display:flex;align-items:center;gap:11px;padding:8px;}
.app-user .uav{width:38px;height:38px;border-radius:var(--r-pill);background:var(--amber);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
.app-user .un{font-size:14px;font-weight:600;color:#fff;}
.app-user .ur{font-size:12px;color:#9FB6CE;}

.app-main{padding:32px 40px 60px;overflow:auto;}
.app-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap;}
.app-top h1{font-size:28px;}
.app-top p{margin:6px 0 0;color:var(--neutral);font-size:15px;}

.app-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;}
.metric{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm);}
.metric .ml{font-size:12.5px;color:var(--neutral);font-weight:500;letter-spacing:.02em;}
.metric .mv{font-size:32px;font-weight:700;color:var(--navy);line-height:1.1;margin-top:8px;letter-spacing:-.02em;}
.metric .md{font-size:12.5px;color:var(--amber-600);font-weight:600;margin-top:4px;}

.app-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm);}
.panel h3{font-size:17px;margin-bottom:4px;}
.panel .psub{font-size:13px;color:var(--neutral);margin:0 0 20px;}

/* dashboard recruiting progress (arc as the throughline, disciplined) */
.progress-arc{position:relative;margin:6px 0 8px;}
.progress-arc .ptrack{position:absolute;left:24px;right:24px;top:18px;height:2px;background:var(--line);}
.progress-arc .pfill{position:absolute;left:24px;top:18px;height:2px;background:var(--amber);}
.parc-steps{display:flex;justify-content:space-between;position:relative;}
.parc-step{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;text-align:center;}
.parc-step .pn{width:38px;height:38px;border-radius:var(--r-pill);background:var(--white);border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--neutral);z-index:1;}
.parc-step.done .pn{background:var(--navy);border-color:var(--navy);color:#fff;}
.parc-step.active .pn{background:var(--amber);border-color:var(--amber);color:var(--navy);}
.parc-step .pl{font-size:11.5px;color:var(--ink);line-height:1.3;max-width:90px;}
.parc-step.active .pl{color:var(--navy);font-weight:600;}

.tasklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.tasklist li{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);}
.tasklist li:last-child{border-bottom:none;}
.tasklist .tcheck{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line);flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;}
.tasklist li.done .tcheck{background:var(--navy);border-color:var(--navy);color:#fff;}
.tasklist li.done .ttext{color:var(--neutral);text-decoration:line-through;}
.tasklist .ttext{font-size:14.5px;color:var(--ink);flex:1;}
.tasklist .tdue{font-size:12px;color:var(--neutral);}
.tasklist .tdue.soon{color:var(--amber-600);font-weight:600;}

.schoollist{display:flex;flex-direction:column;gap:12px;}
.schoolitem{display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);}
.schoolitem .slogo{width:36px;height:36px;border-radius:var(--r-pill);background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:0 0 auto;}
.schoolitem .sn{font-size:14.5px;font-weight:600;color:var(--navy);}
.schoolitem .sd{font-size:12.5px;color:var(--neutral);}
.schoolitem .sstatus{margin-left:auto;font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--r-pill);}
.sstatus.talking{background:var(--amber-soft);color:var(--navy);}
.sstatus.target{background:var(--parchment);color:var(--ink);}
.sstatus.visit{background:#DDEBDD;color:#256B3A;}

.app-banner{background:var(--amber-soft);border:1px solid var(--amber);border-radius:var(--r-lg);padding:18px 24px;
  display:flex;align-items:center;gap:18px;margin-bottom:24px;flex-wrap:wrap;}
.app-banner .bt{flex:1;min-width:240px;}
.app-banner .bt strong{color:var(--navy);}
.app-banner .bt p{margin:3px 0 0;font-size:13.5px;color:var(--ink);}

/* ===================================================================
   responsive
   =================================================================== */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .circle-stage{max-width:440px;margin:0 auto;}
  .valuegrid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .timeline-track{display:none;}
  .step{display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:start;}
  .step .num{margin-bottom:0;grid-row:span 3;}
  .doors{grid-template-columns:1fr;}
  .tgrid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;gap:32px;}
  .team-row{grid-template-columns:1fr 1fr;}
  .flow-main{grid-template-columns:1fr;}
  .flow-right{display:none;}
  .app{grid-template-columns:1fr;}
  .app-side{flex-direction:row;align-items:center;padding:14px 18px;gap:18px;}
  .app-side .brand{margin-bottom:0;}
  .app-nav{flex-direction:row;overflow:auto;gap:2px;}
  .app-nav a span{display:none;}
  .app-side .side-foot{margin:0 0 0 auto;padding:0;border:none;}
  .app-cards{grid-template-columns:1fr 1fr;}
  .app-cols{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .nav-links,.nav-cta .ghost{display:none;}
  .nav-toggle{display:inline-flex;}
  .trustband{flex-direction:column;}
  .trustband .cell + .cell{border-left:none;border-top:1px solid var(--line);}
  .proof{padding:32px;gap:20px;}
  .finalcta{padding:44px 28px;}
  .team-row{grid-template-columns:1fr;}
  .parc-step .pl{display:none;}
  .field-row{grid-template-columns:1fr;}
}

/* mobile menu (checkbox-free, JS toggled) */
.mobile-menu{display:none;}
.mobile-menu.open{display:block;background:var(--white);border-bottom:1px solid var(--line);padding:14px 28px 22px;}
.mobile-menu a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}
