/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5 */
/* Hallmark · component: school-personalizer · macrostructure: schoolhouse-confirm-and-ledger · genre: editorial · tone: soft/trustworthy · anchor: red pen · nav: preserved · footer: preserved · contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive/mobile: pass (34,49–57) · icons: pass (30) */
html,body{overflow-x:clip}
.school-profile-bar{border-bottom:1px solid var(--rule);background:var(--paper-2)}
.school-profile-inner{min-height:46px;max-width:1280px;margin:0 auto;padding:7px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.school-profile-copy{margin:0;color:var(--ink-soft)}
.school-profile-copy b{color:var(--ink)}
.school-profile-label{color:var(--red);text-transform:uppercase;letter-spacing:.15em}
.school-profile-meta{margin-left:10px;color:var(--ink-faint)}
.school-profile-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.school-profile-actions button{padding:6px 10px;border:1px solid var(--ink);border-radius:2px;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:650;letter-spacing:.05em;white-space:nowrap}
.school-profile-actions button:hover{background:var(--ink);color:var(--paper)}
.school-profile-actions button:active{transform:translateY(1px)}
.school-profile-actions button:focus-visible,.school-finder button:focus-visible,.school-finder input:focus-visible,.school-finder select:focus-visible,.private-site a:focus-visible,.private-site input:focus-visible,.private-site select:focus-visible,.private-site summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.school-profile-actions button:disabled,.school-finder button:disabled,.school-finder input:disabled,.school-finder select:disabled{cursor:not-allowed;opacity:.55;background:var(--paper-2)}
html[data-school-type] .mast-inner>.btn{white-space:nowrap}

.school-finder{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:2px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:10px 10px 0 rgba(30,26,20,.22);overflow:auto}
.school-finder::backdrop{background:rgba(30,26,20,.55);backdrop-filter:blur(3px)}
.school-finder-panel{position:relative;padding:40px}
.school-finder-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;background:var(--paper-2);color:var(--ink);font-size:20px;line-height:1}
.school-finder-close:hover{border-color:var(--ink)}
.school-finder-close:active,.school-finder-primary:active,.school-finder-secondary:active{transform:translateY(1px)}
.school-finder-step{margin-bottom:12px;color:var(--red);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.school-finder h2{max-width:13ch;min-width:0;margin:0;font-size:clamp(30px,6vw,42px);line-height:1.02;letter-spacing:-.025em;overflow-wrap:anywhere}
.school-finder-lede{max-width:62ch;margin:16px 0 24px;color:var(--ink-soft);font-size:16px;line-height:1.55}
.school-finder label{display:grid;gap:7px;color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em}
.school-finder input,.school-finder select{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--rule);outline:2px solid transparent;outline-offset:1px;border-radius:2px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px}
.school-finder input:hover,.school-finder select:hover{border-color:var(--ink-faint)}
.school-finder input:active,.school-finder select:active{border-color:var(--red)}
.school-finder-fields{display:grid;gap:16px}
.school-finder-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.school-finder-primary,.school-finder-secondary{min-height:46px;margin-top:16px;padding:11px 18px;border:2px solid var(--ink);border-radius:2px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.school-finder-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--ink);color:var(--paper)}
.school-finder-primary:hover{background:var(--red);border-color:var(--red)}
.school-finder-secondary{background:var(--paper);color:var(--ink)}
.school-finder-secondary:hover{background:var(--paper-2)}
.school-finder-text{display:block;margin:12px auto 0;padding:7px;border:0;background:transparent;color:var(--red);font-family:var(--mono);font-size:11px;text-decoration:underline;text-underline-offset:2px}
.school-finder-text:hover{color:var(--ink)}
.school-finder-buttons{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.school-finder-buttons .school-finder-primary{width:auto}
.school-finder-privacy{min-height:1lh;margin:16px 0 0;color:var(--ink-faint);font-family:var(--mono);font-size:10px;line-height:1.45}
.school-finder-error{min-height:1lh;margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--red);background:var(--paper-2);color:var(--red);font-size:14px;line-height:1.45}
.school-finder-spinner{width:14px;height:14px;border:2px solid var(--paper);border-right-color:transparent;border-radius:50%;animation:school-profile-spin .7s linear infinite}
.school-finder-success-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border:1px solid var(--ok);border-radius:50%;color:var(--ok);font-family:var(--mono);font-size:9px;font-weight:800;text-transform:uppercase}
@keyframes school-profile-spin{to{transform:rotate(360deg)}}

.private-site{display:none;background:var(--paper);color:var(--ink)}
html[data-school-type="private"] #top,html[data-school-type="district"] #top,html[data-school-type="unknown"] #top{display:none}
html[data-school-type="private"] .private-site{display:block}
.private-hero{max-width:1180px;margin:0 auto;padding:56px 28px 76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:64px;align-items:center}
.private-kicker{margin:0 0 14px;color:var(--red);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.private-hero h1,.private-principle h2,.private-workflows h2,.private-readiness h2,.private-value h2,.private-integration h2,.private-faq h2,.private-closing h2,.school-unknown h1{min-width:0;margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.02;overflow-wrap:anywhere}
.private-hero h1{font-size:clamp(44px,6.4vw,80px)}
.private-hero h1 span{color:var(--red)}
.private-hero-lede{max-width:62ch;margin:22px 0 0;color:var(--ink-soft);font-size:18px;line-height:1.6}
.private-hero-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}
.private-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border:2px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 rgba(30,26,20,.22);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;transition:transform .12s,box-shadow .12s}
.private-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(30,26,20,.25)}
.private-primary:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(30,26,20,.25)}
.private-text-link{border-bottom:1px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.private-note{max-width:62ch;margin:14px 0 0;color:var(--ink-faint);font-family:var(--mono);font-size:10px;line-height:1.5}
.private-preview{overflow:hidden;border:2px solid var(--ink);border-radius:3px;background:var(--paper);box-shadow:8px 8px 0 rgba(30,26,20,.14)}
.private-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:2px solid var(--ink);background:var(--paper-2);font-family:var(--mono);font-size:9px;letter-spacing:.05em}
.private-preview-body{padding:20px}
.private-preview-label{margin:0 0 10px;color:var(--red);font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.private-preview article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px dashed var(--rule)}
.private-preview article>span{color:var(--ink-faint);font-family:var(--mono);font-size:10px}
.private-preview article b{font-size:15px}
.private-preview article p{margin:4px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.45}
.private-preview-foot{margin:0;padding:12px 20px;border-top:1px solid var(--rule);color:var(--ink-faint);font-family:var(--mono);font-size:9px;line-height:1.5}
.private-principle{padding:72px max(28px,calc((100vw - 1180px)/2));background:var(--board);color:var(--chalk)}
.private-principle p{margin:0 0 12px;color:var(--hl);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.private-principle h2{max-width:20ch;color:var(--chalk);font-size:clamp(34px,5vw,58px)}
.private-workflows,.private-value,.private-integration,.private-faq{max-width:1180px;margin:0 auto;padding:96px 28px}
.private-workflows header,.private-faq header{display:block;max-width:720px}
.private-workflows h2,.private-readiness h2,.private-value h2,.private-integration h2,.private-faq h2{font-size:clamp(34px,5vw,58px)}
.private-workflows header>p:last-child,.private-value>div>p:last-child,.private-integration>div>p:last-child{max-width:65ch;margin-top:16px;color:var(--ink-soft)}
.private-workflows ol{margin:50px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.private-workflows li{display:grid;grid-template-columns:48px minmax(210px,.7fr) minmax(0,1fr);gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.private-workflows li>span{color:var(--red);font-family:var(--mono);font-size:10px}
.private-workflows h3{margin:0;font-size:20px;line-height:1.2}
.private-workflows li p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.55}
.private-readiness{padding:88px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;background:var(--paper-2)}
.private-readiness dl{margin:0;border-top:2px solid var(--ink)}
.private-readiness dl>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--rule)}
.private-readiness dt{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}
.private-readiness dd{margin:0}
.private-readiness dd b,.private-readiness dd span{display:block}
.private-readiness dd span{margin-top:5px;color:var(--ink-soft);font-size:14px;line-height:1.5}
.private-value,.private-integration{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);gap:64px;align-items:center}
.private-value-calc{padding:24px;border:2px solid var(--ink);background:var(--paper-2);box-shadow:7px 7px 0 rgba(30,26,20,.13)}
.private-value-calc label,.private-integration label{display:grid;gap:7px;margin-bottom:16px;color:var(--ink-soft);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em}
.private-value-calc input,.private-integration select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule);outline:2px solid transparent;outline-offset:1px;border-radius:2px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px}
.private-value-calc input:hover,.private-integration select:hover{border-color:var(--ink-faint)}
.private-value-calc input:active,.private-integration select:active{border-color:var(--red)}
.private-value-calc input:disabled,.private-integration select:disabled{cursor:not-allowed;opacity:.55;background:var(--paper-2)}
.private-value-result{padding-top:18px;border-top:1px solid var(--rule)}
.private-value-result span,.private-value-result b{display:block}
.private-value-result span{color:var(--ink-faint);font-family:var(--mono);font-size:10px}
.private-value-result b{margin-top:5px;color:var(--red);font-size:clamp(34px,5vw,52px);letter-spacing:-.03em}
.private-integration{border-block:1px solid var(--rule)}
.private-integration label{margin:0}
.private-faq>div{margin-top:40px;border-top:2px solid var(--ink)}
.private-faq details{padding:18px 0;border-bottom:1px solid var(--rule)}
.private-faq summary{cursor:pointer;font-size:18px;font-weight:650}
.private-faq details p{max-width:65ch;margin:12px 0 0;color:var(--ink-soft)}
.private-closing{padding:86px 28px;background:var(--board);color:var(--chalk);text-align:center}
.private-closing .private-kicker{color:var(--hl)}
.private-closing h2{max-width:17ch;margin:0 auto;color:var(--chalk);font-size:clamp(36px,5.5vw,64px)}
.private-closing>p:not(.private-kicker){max-width:62ch;margin:18px auto 0;color:var(--chalk-dim)}
.private-closing .private-primary{margin-top:26px;background:var(--chalk);border-color:var(--chalk);color:var(--board)}
.school-unknown{display:none;min-height:60vh;max-width:1180px;margin:0 auto;padding:72px 28px 90px;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:60px;align-items:center}
html[data-school-type="district"] .school-unknown,html[data-school-type="unknown"] .school-unknown{display:grid}
.school-unknown h1{font-size:clamp(42px,6vw,72px)}
.school-unknown h1 span{color:var(--red)}
.school-unknown-note{padding:24px;border:2px solid var(--ink);background:var(--paper-2);box-shadow:7px 7px 0 rgba(30,26,20,.13)}
.school-unknown-note p{color:var(--ink-soft)}

@media(max-width:760px){
  html[data-school-type] .mast-inner>.btn{padding:8px;font-size:9px;letter-spacing:.06em}
  .school-profile-inner{align-items:flex-start;padding-inline:16px}
  .school-profile-meta{display:block;margin:3px 0 0}
  .school-profile-actions{flex-direction:column;align-items:stretch}
  .school-finder-panel{padding:32px 20px}
  .school-finder-location{grid-template-columns:minmax(0,1fr)}
  .school-finder-buttons{flex-direction:column-reverse;align-items:stretch}
  .school-finder-buttons button{width:100%;margin-top:8px}
  .private-hero,.private-readiness,.private-value,.private-integration,.school-unknown{grid-template-columns:minmax(0,1fr);gap:40px}
  .private-hero{padding:40px 20px 56px}
  .private-workflows,.private-value,.private-integration,.private-faq{padding:72px 20px}
  .private-readiness{padding:72px 20px}
  .private-workflows li{grid-template-columns:34px minmax(0,1fr);gap:12px}
  .private-workflows li p{grid-column:2}
  .private-primary{padding-inline:10px;font-size:9px}
}
@media(max-width:380px){.private-preview-top{align-items:flex-start;flex-direction:column}.private-readiness dl>div{grid-template-columns:minmax(0,1fr);gap:6px}}
@media(prefers-reduced-motion:reduce){.school-finder-spinner{animation-duration:1.4s}.private-primary{transition:none}}

/* Packages — the tier story (roadmap step 9), static-variant twin of
   .private-packages in app/private-school-landing.css. Keep the two in step. */
.private-packages { padding: clamp(4rem, 8vw, 7rem) max(2rem, calc((100vw - 80rem) / 2)); }
.private-packages header { max-width: 46rem; margin-bottom: 2.5rem; }
.private-packages-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem; }
.private-packages-grid article { border: 1px solid #d8cdb8; border-radius: 1rem; padding: 1.5rem; background: #fff; display: flex; flex-direction: column; }
.private-packages-grid h3 { margin: 0.35rem 0 0.15rem; font-size: 1.25rem; }
.private-pkg-tagline { margin: 0 0 0.9rem; font-size: 0.85rem; color: #6f6555; }
.private-packages-grid ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.55rem; font-size: 0.92rem; line-height: 1.55; }
.private-pkg-addon { border-style: dashed; background: #faf6ec; }
