@import url('https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@500;600;700&family=Public+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#EEF1F5; --paper:#F7F8FB; --navy:#142033; --navy-2:#2A3A55;
  --stamp:#A43B2E; --gold:#B98F3E; --grid:#C6CCD6; --muted:#5A6478;
  --t-found:#2A3A55; --t-eng:#B98F3E; --t-inv:#A43B2E; --t-gov:#4E7A6B;
}
*{box-sizing:border-box;}
fieldset{border:none;margin:0;padding:0;min-width:0;}
legend{padding:0;width:100%;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--navy);font-family:'Public Sans',sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:1100px;margin:0 auto;padding:0 32px;}
.wrap-narrow{max-width:760px;margin:0 auto;padding:48px 32px 80px;}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2.5px solid var(--stamp);outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}

/* ---------- HEADER ---------- */
header{padding:22px 0;border-bottom:2px solid var(--navy);position:sticky;top:0;background:var(--bg);z-index:10;}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{font-family:'Zilla Slab',serif;font-weight:700;font-size:21px;}
.logo span{color:var(--stamp);}
nav{display:none;}
nav.open{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:2px solid var(--navy);padding:8px 20px 16px;}
nav.open a{padding:10px 0;border-bottom:1px solid var(--grid);}
.navtoggle{display:block;font-family:'JetBrains Mono',monospace;font-size:12px;border:1.5px solid var(--navy);padding:7px 12px;background:none;color:var(--navy);}
@media (min-width:761px){
  nav{display:flex;gap:26px;font-family:'JetBrains Mono',monospace;font-size:12.5px;text-transform:uppercase;letter-spacing:0.05em;position:static;background:none;border:none;padding:0;flex-direction:row;}
  nav a{padding:0;border-bottom:none;}
  .navtoggle{display:none;}
}
nav a:hover, nav a.active{color:var(--stamp);}
.navcta{background:var(--navy);color:var(--paper);padding:9px 16px;font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;flex-shrink:0;}
.navcta:hover{background:var(--navy-2);}

/* ---------- HERO / FORM SHEET ---------- */
.formsheet{margin-top:32px;border:2px solid var(--navy);background:var(--paper);position:relative;}
.formsheet::before{content:"";position:absolute;top:9px;left:9px;right:-9px;bottom:-9px;border:2px solid var(--grid);z-index:-1;}
.fs-top{display:flex;justify-content:space-between;padding:14px 32px;border-bottom:1px solid var(--grid);font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
.fs-body{padding:40px 40px 36px;display:flex;justify-content:space-between;gap:36px;align-items:center;}
h1{font-family:'Zilla Slab',serif;font-weight:700;font-size:42px;line-height:1.1;margin:0 0 14px;max-width:560px;}
.sub{font-size:15px;color:var(--muted);max-width:440px;line-height:1.6;margin-bottom:22px;}
.herobtns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{background:var(--navy);color:var(--paper);padding:12px 20px;font-weight:600;font-size:14px;border:1.5px solid var(--navy);display:inline-block;cursor:pointer;}
.btn-primary:hover{background:var(--navy-2);border-color:var(--navy-2);}
.btn-secondary{border:1.5px solid var(--navy);padding:10.5px 20px;font-weight:600;font-size:14px;display:inline-block;cursor:pointer;background:none;}
.btn-secondary:hover{background:var(--navy);color:var(--paper);}
.btn-delete{border:1.5px solid var(--stamp);color:var(--stamp);background:none;padding:10px 18px;font-weight:600;font-size:13px;cursor:pointer;}
.btn-delete:hover{background:var(--stamp);color:var(--paper);}

.stamp-badge{width:128px;height:128px;border:4px solid var(--stamp);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-10deg);flex-shrink:0;color:var(--stamp);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;line-height:1.6;}

section{padding:44px 0;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px;gap:12px;}
h2{font-family:'Zilla Slab',serif;font-size:22px;font-weight:700;margin:0;}
.viewall{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--navy-2);text-transform:uppercase;white-space:nowrap;}
.viewall:hover{color:var(--stamp);}

/* ---------- FOLDER / TABS ---------- */
.tabs{display:flex;gap:6px;flex-wrap:wrap;}
.tab{padding:10px 18px 12px;font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.05em;border:1px solid var(--grid);border-bottom:none;background:var(--paper);color:var(--muted);border-radius:6px 6px 0 0;cursor:pointer;}
.tab.active{color:var(--navy);font-weight:600;border-top:3px solid var(--t-found);}

.folder{border:1px solid var(--grid);background:var(--paper);}
.folder-inner{padding:8px 28px;}
.fileslot{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--grid);}
.fileslot:last-child{border-bottom:none;}
.fileslot:hover h3{color:var(--stamp);}
.filetab{width:6px;border-radius:2px;flex-shrink:0;}
.filetab.found{background:var(--t-found);}
.filetab.eng{background:var(--t-eng);}
.filetab.inv{background:var(--t-inv);}
.filetab.gov{background:var(--t-gov);}
.fileslot h3{font-size:17px;margin:0 0 6px;font-weight:600;}
.fileslot p{font-size:13px;color:var(--muted);margin:0 0 8px;max-width:600px;line-height:1.55;}
.filemeta{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;}
.filemeta.found{color:var(--t-found);}
.filemeta.eng{color:var(--t-eng);}
.filemeta.inv{color:var(--t-inv);}
.filemeta.gov{color:var(--t-gov);}

/* ---------- ASSESSMENT ---------- */
.assess{border:2px solid var(--navy);background:var(--paper);padding:30px 34px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.assess h2{margin:0 0 6px;}
.assess p{color:var(--muted);font-size:14px;max-width:400px;line-height:1.6;margin:0 0 16px;}

/* ---------- TASK STRIP ---------- */
.taskstrip{border:1px dashed var(--navy-2);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--paper);flex-wrap:wrap;}
.taskstrip .tlabel{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--stamp);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;}
.taskstrip h3{margin:0 0 4px;font-size:17px;font-family:'Zilla Slab',serif;}
.taskstrip p{margin:0;font-size:12.5px;color:var(--muted);max-width:440px;}

/* ---------- PAID (existing) ---------- */
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.paidcard{border:1px solid var(--grid);background:var(--paper);padding:22px;}
.paidcard .ptag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--gold);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:9px;}
.paidcard h3{font-size:16.5px;margin:0 0 9px;font-family:'Zilla Slab',serif;}
.paidcard p{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0 0 13px;}
.price{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;}

/* ---------- GUIDE / REPORT ARTICLE ---------- */
.formhead{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;}
.guide-title{font-size:34px;}
.prose{font-size:15.5px;line-height:1.75;color:var(--navy);}
.prose h2{font-family:'Zilla Slab',serif;font-size:22px;margin:32px 0 12px;}
.prose h3{font-family:'Zilla Slab',serif;font-size:18px;margin:26px 0 10px;}
.prose p{margin:0 0 16px;}
.prose ul, .prose ol{margin:0 0 16px;padding-left:22px;}
.prose li{margin-bottom:6px;}
.prose code{font-family:'JetBrains Mono',monospace;background:var(--paper);border:1px solid var(--grid);padding:2px 5px;font-size:0.9em;}
.prose pre{background:var(--navy);color:var(--paper);padding:16px;overflow-x:auto;border-radius:4px;}
.prose pre code{background:none;border:none;color:inherit;padding:0;}
.prose blockquote{border-left:3px solid var(--gold);padding-left:16px;color:var(--muted);margin:0 0 16px;}
.guide-back{margin-top:40px;}

.prose table{
  width:100%;
  border-collapse:collapse;
  margin:4px 0 24px;
  border:2px solid var(--navy);
  font-size:14px;
}
.prose th{
  background:var(--navy);
  color:var(--paper);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.06em;
  text-align:left;
  padding:12px 16px;
  border-right:1px solid rgba(255,255,255,0.15);
}
.prose th:last-child{
  border-right:none;
}
.prose td{
  padding:14px 16px;
  border-bottom:1px solid var(--grid);
  border-right:1px solid var(--grid);
  background:var(--paper);
  vertical-align:top;
  line-height:1.5;
}
.prose tr:last-child td{
  border-bottom:none;
}
.prose td:last-child{
  border-right:none;
}

@media (max-width:600px){
  .prose table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}

/* ---------- SURFACE CHECKLIST ---------- */
.surface-checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;max-width:760px;margin-bottom:32px;}
.surface-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--navy);border:1px solid var(--grid);background:var(--paper);padding:12px 14px;cursor:pointer;}
.surface-item input{margin-top:2px;accent-color:var(--stamp);}
.surface-results{display:flex;flex-direction:column;gap:10px;max-width:760px;}
.surface-result{border:1px solid var(--grid);background:var(--paper);padding:14px 18px;}
.surface-result.covered{opacity:0.7;}
.surface-result-top{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.surface-result-label{font-size:14px;font-weight:600;flex:1;}
.surface-result-mark{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;white-space:nowrap;}
.surface-result.covered .surface-result-mark{color:var(--t-gov);}
.surface-result.missing .surface-result-mark{color:var(--stamp);}
.surface-result.missing{border-left:3px solid var(--stamp);}
.surface-result .qreview-practice{margin-top:10px;}
.surface-result .nist-ref{margin-top:8px;}

/* ---------- ASSESSMENT FORM ---------- */
.assessment-form{max-width:760px;}
.qsection{margin-bottom:32px;}
.qsection-head{font-family:'Zilla Slab',serif;font-size:19px;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--navy);}
.qgroup{border:1px solid var(--grid);background:var(--paper);padding:18px 20px;margin-bottom:12px;}
.qprompt{font-size:14px;font-weight:600;padding:0 4px;margin-bottom:2px;}
.qoptions{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:10px;}
.qoption{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;}
.qoption input{accent-color:var(--stamp);}
.qoption:has(input:checked){color:var(--navy);font-weight:600;}
.form-actions{display:flex;gap:12px;}

/* ---------- RESULTS ---------- */
.cattag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--stamp);letter-spacing:0.08em;margin-bottom:6px;}
.scorecard{border:1px solid var(--grid);background:var(--paper);max-width:420px;}
.score-row{display:flex;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--grid);font-size:14px;}
.score-row:last-child{border-bottom:none;}

.qreview{border:1px solid var(--grid);background:var(--paper);padding:18px 20px;margin-bottom:12px;}
.qreview-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;}
.qreview-prompt{font-size:14px;font-weight:600;margin:0;flex:1;}
.qreview-answer{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--stamp);white-space:nowrap;}
.qreview-practice{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 10px;}
.nist-ref{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--navy-2);border-top:1px dashed var(--grid);padding-top:8px;}
.nist-ref a{color:var(--stamp);}

/* ---------- ADMIN-adjacent shared bits used on public pages ---------- */
.form-error{background:#FBEAE7;border:1.5px solid var(--stamp);color:var(--stamp);padding:12px 16px;font-size:13.5px;margin-bottom:16px;max-width:720px;}
.mono{font-family:'JetBrains Mono',monospace;}

/* ---------- NEWSLETTER ---------- */
.newsletter{border-top:1px solid var(--grid);padding:40px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;max-width:1100px;margin:0 auto;}
.newsletter h3{font-family:'Zilla Slab',serif;font-size:18px;margin:0 0 4px;}
.newsletter p{font-size:12.5px;color:var(--muted);margin:0;}
.nl-form{display:flex;gap:8px;}
.nl-form input{border:1.5px solid var(--navy);padding:10px 12px;font-family:'Public Sans',sans-serif;font-size:13px;background:var(--paper);color:var(--navy);width:220px;}
.nl-form button{background:var(--navy);color:var(--paper);border:1.5px solid var(--navy);padding:10px 16px;font-weight:600;font-size:13px;cursor:pointer;}
.nl-form button:hover{background:var(--navy-2);}

footer{border-top:2px solid var(--navy);padding:26px 32px;font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:0.04em;flex-wrap:wrap;gap:10px;max-width:1100px;margin:0 auto;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:760px){
  .wrap, .newsletter, footer{padding-left:20px;padding-right:20px;}
  .fs-body{flex-direction:column;align-items:flex-start;padding:30px 24px 28px;}
  .fs-top{padding:12px 24px;flex-direction:column;gap:4px;}
  h1{font-size:30px;}
  .stamp-badge{width:96px;height:96px;font-size:9.5px;align-self:center;}
  .folder-inner{padding:6px 18px;}
  .assess{padding:26px;flex-direction:column;align-items:flex-start;}
  .twocol{grid-template-columns:1fr;}
  .taskstrip{flex-direction:column;align-items:flex-start;}
  .nl-form{width:100%;}
  .nl-form input{flex:1;width:auto;}
  footer{flex-direction:column;text-align:left;}
  .qreview-top{flex-direction:column;gap:4px;}
  .qreview-answer{white-space:normal;}
  .surface-checklist{grid-template-columns:1fr;}
  .surface-result-top{flex-direction:column;align-items:flex-start;gap:4px;}
}
