
:root{
  --blue:#2a73ff;
  --blue-bright:#3f8cff;
  --blue-dark:#123d8f;
  --blue-soft:#eaf2ff;
  --navy:#06162f;
  --navy-2:#0d2348;
  --ink:#142033;
  --muted:#7b8da8;
  --line:#d8e2f0;
  --panel:#ffffff;
  --bg:#f4f8fd;
  --critical:#d23838;
  --critical-bg:#fff1f1;
  --attention:#c17a0a;
  --attention-bg:#fff8ea;
  --manual:#6656c9;
  --manual-bg:#f3f0ff;
  --success:#178252;
  --success-bg:#eefbf4;
  --shadow:0 18px 48px rgba(6,22,47,.10);
  --shadow-soft:0 10px 30px rgba(15,40,87,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
}
.site-main{flex:1;display:flex;flex-direction:column}
a{color:var(--blue-dark)}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.shell{width:min(1160px,calc(100% - 36px));margin-inline:auto}
.skip-link{
  position:fixed;left:16px;top:-70px;z-index:9999;
  padding:12px 16px;background:#fff;color:#000;border:3px solid #ffbf47;border-radius:8px
}
.skip-link:focus{top:16px}
.site-header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(216,226,240,.95);
  backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:30
}
.header-inner{
  min-height:68px;
  display:flex;align-items:center;justify-content:space-between;gap:20px
}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}
.brand-logo{width:112px;height:auto;object-fit:contain;flex:none}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-name{font-weight:800;font-size:19px;line-height:1.1;color:#10244c}
.brand-sub{font-size:12px;color:var(--muted)}
.sbs-link{font-size:14px;font-weight:800;text-decoration:none;color:var(--blue)}
.sbs-link:hover{text-decoration:underline}
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 74% 22%, rgba(59,130,246,.28), transparent 0, transparent 28%, rgba(45,111,255,.12) 29%, transparent 42%),
    radial-gradient(circle at 86% 50%, rgba(56,124,255,.20), transparent 0, transparent 34%, rgba(56,124,255,.10) 35%, transparent 49%),
    linear-gradient(115deg,#04152f 0%, #08275f 46%, #0d47bf 100%);
  color:#fff;
  padding:34px 0 0;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.09) 0, rgba(255,255,255,0) 30%),
    radial-gradient(circle at 24% 10%, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 22%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;}
.hero-copy-wrap{max-width:800px;margin-inline:auto}
.eyebrow{
  margin:0 0 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9fc4ff;
}
.hero h1{
  margin:0;
  max-width:680px;
  font-size:clamp(34px,4.8vw,60px);
  line-height:.95;
  letter-spacing:-.04em;
}
.hero h1 span{color:var(--blue-bright)}
.hero-copy{
  max-width:700px;
  margin:12px auto 18px;
  color:#d9e6ff;
  font-size:16px;
}
.scan-form{
  max-width:760px;
  padding:15px 16px 12px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.09));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}
.field-label{display:block;margin:0 0 8px;font-size:13px;font-weight:800;color:#fff;text-align:left}
.scan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.scan-row input{
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  color:#152238;
  background:#fff;
  outline:none;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.05)
}
.scan-row input:focus{border-color:#8fc5ff;box-shadow:0 0 0 4px rgba(143,197,255,.18)}
.scan-row button{
  min-width:188px;
  min-height:54px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:0 22px;
  background:linear-gradient(180deg,#2c79ff,#1f63eb);
  color:#fff;
  font-weight:800;
  display:flex;align-items:center;justify-content:center;gap:11px;
  box-shadow:0 8px 24px rgba(25,84,196,.32)
}
.scan-row button:hover{filter:brightness(1.04)}
.scan-row button svg{width:22px;height:22px;flex:none}
.scan-row button:disabled{opacity:.75;cursor:wait}
.form-note{font-size:13px;color:#c7dafd;margin:11px 2px 0}
.legal-note{
  max-width:760px;
  margin-top:12px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(40,104,255,.22), rgba(30,74,167,.20));
  border:1px solid rgba(255,255,255,.16);
  color:#edf4ff;
  font-size:13px;
}
.legal-icon{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(58,133,255,.26);color:#dceaff;flex:none
}
.legal-icon svg{width:24px;height:24px}
.spinner{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,255,255,.28);border-top-color:#fff;
  display:none;animation:spin .75s linear infinite
}
.loading .spinner{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.benefits-strip{
  background:linear-gradient(180deg,#061731 0%, #041021 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-top:0
}
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0
}
.benefit-card{
  padding:16px 16px 14px;
  border-right:1px solid rgba(255,255,255,.08)
}
.benefit-card:last-child{border-right:0}
.benefit-icon{
  width:48px;height:48px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(31,99,235,.22);
  color:#7fb2ff;
  box-shadow:inset 0 0 0 1px rgba(148,186,255,.24);
  margin-bottom:14px
}
.benefit-icon svg{width:24px;height:24px}
.benefit-card h2{margin:0 0 5px;font-size:15px;line-height:1.2}
.benefit-card p{margin:0;color:#c9dbff;font-size:13px;line-height:1.4}
.status-region:empty{display:none}
.status-region:not(:empty){padding-top:22px}
.status-box{
  border-radius:16px;
  padding:15px 17px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 12px 30px rgba(29,53,87,.06)
}
.status-box.error{border-color:#efb6b6;background:#fff5f5;color:#8a1f1f}
.status-box.info{border-color:#b8d5ff;background:#f3f8ff;color:#214c80}
.results{padding:26px 0 70px}
.result-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  margin-bottom:18px
}
.result-head h2,.panel-heading h2{margin:0;font-size:28px;line-height:1.2;color:#10244c}
.result-meta{margin:7px 0 0;color:var(--muted);font-size:13px}
.secondary-button{
  border:1px solid #bfd3ee;
  border-radius:12px;
  background:#fff;
  color:#245c99;
  padding:11px 15px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(29,53,87,.05)
}
.secondary-button:hover{background:#f4f9ff}
.score-grid{
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:14px;
  margin-bottom:18px
}
.score-card{
  min-height:124px;
  padding:18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(216,226,240,.95);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;justify-content:center
}
.score-card>strong{font-size:36px;line-height:1;color:#10244c}
.score-card>span:last-child{margin-top:7px;color:var(--muted);font-size:12px}
.score-main{
  background:linear-gradient(135deg,#071a37 0%, #0b316c 48%, #215fdf 100%);
  color:#fff;border-color:transparent
}
.score-label{font-size:12px;color:#cfe4ff;font-weight:700}
.score-value-wrap{display:flex;align-items:baseline;gap:5px;margin-top:4px}
.score-value{font-size:60px;line-height:1}
.score-value-wrap span{font-size:16px;color:#cfe4ff}
.score-message{margin:6px 0 0;color:#dceaff;font-size:12px}
.summary-icon{width:11px;height:11px;border-radius:50%;margin-bottom:10px}
.critical-dot{background:var(--critical)}
.attention-dot{background:var(--attention)}
.manual-dot{background:var(--manual)}
.panel{
  background:#fff;
  border:1px solid rgba(216,226,240,.95);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:22px
}
.tested-panel{margin-bottom:18px}
.panel-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin-bottom:16px
}
.panel-heading.compact{margin-bottom:12px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter{
  border:1px solid #ced9e6;
  border-radius:999px;
  background:#fff;
  padding:8px 12px;
  font-size:11px;
  font-weight:800;
  color:#556477
}
.filter.active{background:#eaf4ff;color:#1555b6;border-color:#9fcaff}
.findings-list{display:grid;gap:12px}
.finding{
  border:1px solid var(--line);
  border-left-width:5px;
  border-radius:14px;
  overflow:hidden;
  background:#fff
}
.finding.critical{border-left-color:var(--critical)}
.finding.attention{border-left-color:var(--attention)}
.finding-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:14px 15px;
  background:#fbfcfe
}
.badge{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;padding:4px 8px;
  font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase
}
.badge.critical{background:var(--critical-bg);color:var(--critical)}
.badge.attention{background:var(--attention-bg);color:var(--attention)}
.finding-title{font-weight:800;font-size:14px;color:#10244c}
.finding-count{font-size:12px;color:var(--muted);font-weight:700}
.finding-body{padding:14px}
.finding-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px
}
.detail-label{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:900;
  color:#728196;
  letter-spacing:.08em;
  text-transform:uppercase
}
.finding-body p{margin:0;font-size:13px;color:#344256}
.criterion{
  display:inline-block;
  margin-top:7px;
  color:#1555b6;
  font-size:11px;
  font-weight:800
}
.examples{display:grid;gap:7px}
.example{
  border:1px solid #e0e6ed;
  border-radius:10px;
  background:#f8fafc;
  padding:9px 10px
}
.selector{
  display:block;
  font-family:Consolas,"Courier New",monospace;
  font-size:11px;
  font-weight:700;
  color:#253448
}
.snippet{
  display:block;
  margin-top:3px;
  font-family:Consolas,"Courier New",monospace;
  font-size:10px;
  color:#6a7687;
  white-space:pre-wrap
}
.more-examples{font-size:11px;color:var(--muted);margin-top:7px}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.check-list li{
  position:relative;
  padding:10px 12px 10px 34px;
  border-radius:11px;
  background:var(--success-bg);
  color:#245a43;
  font-size:12px
}
.check-list li::before{
  content:"✓";
  position:absolute;left:11px;top:9px;
  font-weight:900;color:var(--success)
}
.manual-list{display:grid;gap:10px}
.manual-item{
  border-radius:12px;
  border:1px solid #dfdcf9;
  background:var(--manual-bg);
  padding:12px 13px
}
.manual-item strong{display:block;font-size:12px;color:#474289;margin-bottom:4px}
.manual-item p{margin:0;font-size:11px;color:#5e5b78}
.manual-how{margin-top:5px!important;color:#36324f!important}
.empty-state{
  border:1px dashed #bdd5c8;
  background:#f3fbf6;
  color:#356348;
  border-radius:12px;
  padding:18px;
  text-align:center;
  font-size:13px
}
.result-disclaimer{
  margin-top:14px;
  border:1px solid #cdd9e7;
  border-radius:15px;
  padding:15px 16px;
  background:#edf4fb;
  color:#44556a;
  font-size:12px
}
.site-footer{
  margin-top:auto;
  background:linear-gradient(180deg,#071427 0%, #05101f 100%);
  color:#c0d0e5;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-inner{
  display:flex;align-items:center;justify-content:center;gap:18px;
  padding:22px 0;
}
.footer-logo{width:64px;height:auto;object-fit:contain;opacity:.98}
.footer-logo-white{filter:none}
.footer-copy{font-size:13px;text-align:center}
.site-footer a{color:#fff;font-weight:800;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
@media(max-width:1080px){
  .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .benefit-card:nth-child(2){border-right:0}
  .benefit-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:960px){
  .score-grid{grid-template-columns:1fr 1fr}
  .score-main{grid-column:1/-1}
  .two-column{grid-template-columns:1fr}
}
@media(max-width:760px){
  .hero-copy-wrap{max-width:100%}
  .shell{width:min(100% - 22px,1160px)}
  .site-header{position:static}
  .header-inner{min-height:64px}
  .brand-logo{width:92px}
  .sbs-link{display:none}
  .hero{padding:28px 0 0}
  .hero-copy{font-size:15px;max-width:100%}
  .scan-form{padding:14px}
  .scan-row{grid-template-columns:1fr}
  .scan-row button{width:100%}
  .legal-note{grid-template-columns:1fr;font-size:13px}
  .benefits-grid{grid-template-columns:1fr}
  .benefit-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);text-align:center}
  .benefit-icon{margin-inline:auto}
  .benefit-card:last-child{border-bottom:0}
  .result-head{align-items:flex-start;flex-direction:column}
  .panel{padding:16px}
  .panel-heading{align-items:flex-start;flex-direction:column}
  .finding-head{grid-template-columns:1fr auto}
  .finding-head .badge{grid-column:1/-1;justify-self:start}
  .finding-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;gap:10px}
}
@media(max-width:480px){
  .header-inner{gap:12px}
  .brand{gap:10px}
  .brand-logo{width:86px}
  .brand-name{font-size:17px}
  .hero h1{font-size:clamp(28px,8.8vw,40px);max-width:100%}
  .scan-row input{padding:0 14px}
  .scan-row button{min-width:100%}
  .score-grid{grid-template-columns:1fr}
  .score-main{grid-column:auto}
  .filters{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .filter:first-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .spinner{animation:none}
}

.compact-hero .scan-form,
.compact-hero .legal-note{
  margin-inline:auto;
}
.compact-hero .hero-copy{
  margin-left:auto;
  margin-right:auto;
}
.compact-hero .eyebrow{
  text-align:center;
}
@media (min-width: 1100px){
  .hero{min-height:550px}
}


/* V1.3 refinements */

.hero h1, .hero-copy, .legal-note, .scan-form{margin-left:auto;margin-right:auto}
.hero h1{text-align:center}
.footer-copy{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;align-items:center}
@media(max-width:760px){.footer-logo{width:56px}}


.pre-cta{
  background:linear-gradient(180deg,#f6f9ff 0%, #eef4ff 100%);
  border-top:1px solid #dbe7f5;
  border-bottom:1px solid #dbe7f5;
}
.pre-cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 0;
}
.pre-cta h2,.bottom-cta h2{margin:0 0 8px;color:#10244c;font-size:28px;line-height:1.1}
.pre-cta p:not(.eyebrow), .bottom-cta p:not(.eyebrow){margin:0;color:#4b5d74;font-size:15px;max-width:760px}
.pre-cta-button,.cta-button{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  min-height:50px;padding:0 18px;border-radius:14px;text-decoration:none;
  font-weight:800;border:1px solid rgba(42,115,255,.25);
  color:#fff;background:linear-gradient(180deg,#2c79ff,#1f63eb);
  box-shadow:0 10px 26px rgba(31,99,235,.25)
}
.pre-cta-button:hover,.cta-button:hover{filter:brightness(1.04);text-decoration:none}
.action-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px
}
.action-panel{padding:22px}
.plain-summary{margin:0 0 14px;color:#3d4c61;font-size:15px}
.priority-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.priority-list li{
  padding:12px 14px;border-radius:12px;background:#f5f8fd;border:1px solid #dce6f2;
  color:#28384f;font-size:13px;line-height:1.45
}
.cta-panel{
  background:linear-gradient(135deg,#0a1e42 0%, #11387b 55%, #1f63eb 100%);
  color:#fff;border-color:transparent
}
.cta-panel .eyebrow{color:#bcd6ff}
.cta-panel h2{color:#fff}
.cta-copy{margin:0 0 16px;color:#dceaff;font-size:14px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.examples-helper{margin:4px 0 8px!important;color:#6e7f94!important;font-size:12px!important}
.bottom-cta{
  margin-top:18px;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,#071a37 0%, #0d2d63 50%, #1f63eb 100%);
  color:#fff;box-shadow:var(--shadow)
}
.bottom-cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px
}
.bottom-cta .eyebrow{color:#c5dbff}
.bottom-cta h2{color:#fff}
.bottom-cta p:not(.eyebrow){color:#e4edff}

@media(max-width:960px){
  .action-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .pre-cta-inner,.bottom-cta-inner{flex-direction:column;align-items:flex-start}
  .pre-cta h2,.bottom-cta h2{font-size:24px}
  .pre-cta-button,.cta-button{width:100%}
}
@media(max-width:480px){
  .action-panel{padding:18px}
  .plain-summary{font-size:14px}
  .priority-list li{font-size:12px}
  .bottom-cta-inner,.pre-cta-inner{padding:18px 0}
}


/* V1.5 plain-language improvements */
.priority-list li strong{color:#10244c}
.priority-list .priority-intro{
  background:#eef5ff;
  border-color:#cfe0fb;
  color:#325075;
  font-size:13px;
}
