
:root{
  --navy:#062f68;
  --navy2:#0b477b;
  --green:#159447;
  --green2:#46af5e;
  --red:#d7192d;
  --ink:#18364a;
  --muted:#617481;
  --paper:#ffffff;
  --bg:#f4f7f8;
  --pale:#edf7f1;
  --bluepale:#eef5fb;
  --line:#d6e1e6;
  --amber:#a66512;
  --danger:#923d3d;
  --shadow:0 10px 28px rgba(7,47,104,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:100}
.shell{width:min(1060px,calc(100% - 32px));margin:auto}
.site-header{
  background:
    radial-gradient(circle at 85% 15%,rgba(52,181,88,.28),transparent 30%),
    linear-gradient(135deg,#062f68 0%,#0b477b 67%,#147b63 100%);
  color:#fff;padding:30px 0;
  border-bottom:5px solid var(--green);
}
.header-inner{display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:center}
.logo-panel{
  background:#fff;border-radius:18px;padding:12px;box-shadow:0 12px 28px rgba(0,0,0,.14)
}
.portal-logo{width:100%;display:block;border-radius:9px}
.header-copy .eyebrow{color:#b9f0c9}
.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:850}
.eyebrow.dark{color:var(--navy)}
h1,h2,h3{line-height:1.18}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,5vw,3.7rem);margin:0}
.subtitle{max-width:710px;margin:11px 0 0;font-size:1.12rem;color:rgba(255,255,255,.9)}
main{padding:30px 0 54px}
.notice,.card,.result-card,.result-hero,.portal-footer-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)
}
.intro-card{padding:25px 28px;margin-bottom:20px}
.intro-label{
  display:inline-block;background:var(--green);color:#fff;border-radius:999px;
  padding:5px 10px;font-weight:850;font-size:.72rem;letter-spacing:.09em
}
.intro-card h2{font-family:Georgia,serif;margin:12px 0 8px;font-size:1.8rem}
.privacy-note{display:flex;gap:11px;background:var(--pale);border-left:4px solid var(--green);border-radius:10px;padding:13px 14px;margin-top:15px}
.lock{color:var(--green);font-size:1.25rem}
.card{display:grid;grid-template-columns:54px 1fr;gap:10px;padding:24px 26px;margin:18px 0}
.section-number{
  width:39px;height:39px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--green));color:#fff;font-weight:850
}
.section-content h2{margin:2px 0 8px;font-family:Georgia,serif}
.optional{font-family:inherit;font-weight:400;font-size:.78rem;color:var(--muted)}
.section-help{margin-top:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:700;margin:12px 0}
input,select,textarea{
  display:block;width:100%;margin-top:7px;border:1px solid #b9cbd2;border-radius:10px;
  padding:12px 13px;font:inherit;color:var(--ink);background:#fff
}
input:focus,select:focus,textarea:focus,button:focus{
  outline:3px solid rgba(21,148,71,.20);outline-offset:2px;border-color:var(--green)
}
.question{padding:18px 0;border-top:1px solid var(--line)}
.question:first-child{border-top:0}
.question-title{font-weight:760;margin:0 0 10px}
.scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.scale label{
  margin:0;border:1px solid #c6d4da;border-radius:10px;padding:10px 8px;
  text-align:center;font-weight:650;font-size:.9rem;cursor:pointer;background:#fff
}
.scale input{width:auto;display:inline-block;margin:0 5px 0 0}
.scale label:has(input:checked){background:var(--pale);border-color:var(--green)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-item{
  display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px;
  border:1px solid #c6d4da;border-radius:10px;font-weight:650;background:#fff
}
.check-item input{width:auto;margin:4px 0 0;flex:0 0 auto}
.form-actions,.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
button{border:0;border-radius:11px;padding:12px 18px;font:inherit;font-weight:850;cursor:pointer}
.primary{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}
.primary:hover{filter:brightness(.94)}
.secondary{background:#e5eef2;color:var(--ink)}
.error{color:var(--danger);font-weight:750}
.results{margin-top:30px}
.result-hero{padding:26px;background:linear-gradient(135deg,#fff,var(--bluepale))}
.result-brand{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
.result-logo{width:108px;border-radius:6px}
.result-kicker{margin:0;color:var(--muted);font-weight:650}
.result-hero h2{font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.5rem);margin:4px 0 10px}
.result-badge{display:inline-block;margin-top:10px;padding:7px 11px;border-radius:999px;font-size:.84rem;font-weight:850}
.level-low{background:#e6f4ea;color:#276b37}
.level-mid{background:#fff2d8;color:#805109}
.level-high{background:#f7e4e3;color:#813b36}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.result-card{padding:22px 24px;margin-top:18px}
.result-card h3{font-family:Georgia,serif;margin:0 0 12px;color:var(--navy)}
.result-card li{margin:7px 0}
.next-steps{border-left:5px solid var(--green)}
.caution{border-left:5px solid var(--amber);background:#fffdf8}
.school-summary{background:#f7fafb;border:1px solid var(--line);border-radius:12px;padding:16px}
.school-summary p{margin:.45em 0}
.copy-status{min-height:1.4em;color:var(--green);font-weight:700}
.portal-footer-card{
  margin-top:24px;padding:18px 22px;display:flex;gap:18px;align-items:center;border-top:4px solid var(--green)
}
.footer-logo{width:115px;border-radius:7px}
.portal-footer-card p{margin:.25rem 0 0;color:var(--muted)}
.site-footer{background:#062f68;color:rgba(255,255,255,.86);padding:24px 0;border-top:4px solid var(--green)}
.site-footer p{margin:0}

@media (max-width:760px){
  .shell{width:min(100% - 20px,1060px)}
  .header-inner{grid-template-columns:1fr}
  .logo-panel{width:210px}
  .site-header{padding:24px 0}
  .card{grid-template-columns:1fr;padding:20px 18px}
  .section-number{margin-bottom:2px}
  .form-grid,.check-grid,.result-grid{grid-template-columns:1fr}
  .scale{grid-template-columns:1fr 1fr}
  .portal-footer-card{align-items:flex-start}
}
@media print{
  body{background:#fff;font-size:10.5pt}
  .site-header,form,.portal-footer-card,.site-footer,.result-actions,.caution{display:none!important}
  main{padding:0}
  .shell{width:100%}
  #results{display:block!important;margin:0}
  .result-hero,.result-card{box-shadow:none;border:1px solid #aaa;break-inside:avoid}
  .result-grid{grid-template-columns:1fr 1fr}
  .result-logo{width:80px}
}
