/* Brand: VDCNJ guide. Primary #00A5DC #007DC5, Secondary #6DCFF6 #00ABBE.
   Contrast on white: #007DC5 4.43:1 (large/bold text only), #00A5DC 2.83, #00ABBE 2.77, #6DCFF6 1.76 (decorative only).
   Text/links/buttons use --blue-dk #005F96 (6.8:1), a darker shade of #007DC5. */
:root{--blue:#007DC5;--blue-dk:#005F96;--cyan:#00A5DC;--sky:#6DCFF6;--teal:#00ABBE;--ink:#1f2a37;--muted:#4b5563;--bg:#f4fafd;--tint:#e8f6fc}
*{box-sizing:border-box}
body{margin:0;font:400 17px/1.7 "Domine",Georgia,serif;color:var(--ink);background:var(--bg)}
h1,h2,h3,nav,.btn,button,input,label,.logo,.tag,.small,footer,.opts,table,.band,.q p{font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{font-weight:700;line-height:1.25;color:var(--blue-dk)}h1{font-size:2.1em;color:var(--blue)}h2{margin-top:1.6em;font-size:1.4em}
a{color:var(--blue-dk);text-underline-offset:2px}a:hover{color:var(--blue)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.wrap{max-width:860px;margin:0 auto;padding:0 18px}
header{background:#fff;border-bottom:4px solid;border-image:linear-gradient(90deg,var(--cyan) 0 25%,var(--blue) 25% 50%,var(--sky) 50% 75%,var(--teal) 75%) 1}
header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);text-decoration:none;font-size:1.1em}.logo b{color:var(--blue-dk);font-weight:700}
.mark{width:22px;height:28px;border-radius:3px;background:linear-gradient(180deg,var(--blue) 0 25%,var(--cyan) 25% 50%,var(--sky) 50% 75%,var(--teal) 75%)}
nav a{margin-left:16px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.92em}nav a:hover{color:var(--blue-dk);text-decoration:underline}
main{padding:28px 18px 44px}
.hero{text-align:center;padding:34px 0 24px}.lead{font-size:1.15em;color:var(--muted)}
.btn{display:inline-block;background:var(--blue-dk);color:#fff;padding:14px 26px;border-radius:10px;text-decoration:none;font-weight:700;border:0;font-size:1em;cursor:pointer}.btn:hover{background:#004a75;color:#fff}
.card{background:#fff;border:1px solid #d6ecf6;border-radius:14px;padding:18px 22px;margin:18px 0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.grid3 .card{margin:0;border-top:5px solid var(--cyan)}.grid3 .card:nth-child(2){border-top-color:var(--teal)}.grid3 .card:nth-child(3){border-top-color:var(--sky)}
.grid3 h3{margin-top:.2em;font-size:1.1em}
.small{font-size:.85em;color:var(--muted)}.links li{margin:8px 0}
.warn{background:#fff7ed;border-left:5px solid #c2410c;padding:12px 16px;border-radius:8px;margin:16px 0}
.signup{background:var(--tint);border-color:#bfe6f6}.signup form{display:flex;gap:8px;flex-wrap:wrap}.signup input{flex:1;min-width:200px;padding:12px;border:1px solid #8aa9bb;border-radius:8px;font-size:1em}.signup button{background:var(--blue-dk);color:#fff;border:0;border-radius:8px;padding:12px 20px;font-weight:700;font-size:1em;cursor:pointer}
footer{background:#fff;border-top:4px solid var(--sky);color:var(--ink);font-size:.88em;padding:24px 0}footer a{color:var(--blue-dk)}
.from{display:flex;align-items:center;gap:12px;margin:14px 0}.from span{color:var(--muted);font-weight:600}.from img{display:block;height:auto}
main .disc,.disc{color:var(--ink);background:var(--tint);border:1px solid #bfe6f6;padding:12px;border-radius:8px}
table{border-collapse:collapse;width:100%;background:#fff}td,th{border:1px solid #d6ecf6;padding:8px;text-align:left;vertical-align:top}th{background:var(--tint)}
.q{background:#fff;border:1px solid #d6ecf6;border-radius:12px;padding:14px 18px;margin:12px 0}.q p{margin:0 0 8px;font-weight:600}
.opts{display:flex;flex-wrap:wrap;gap:6px}.opts label{flex:1;min-width:88px;text-align:center;border:1px solid #8aa9bb;border-radius:8px;padding:8px 4px;cursor:pointer;font-size:.9em}.opts input{position:absolute;opacity:0}
.opts label:has(input:checked){background:var(--blue-dk);color:#fff;border-color:var(--blue-dk);font-weight:700}.opts label:has(input:focus-visible){outline:3px solid var(--cyan)}
.flag label{display:block;margin:6px 0;font-weight:400}
.band{font-size:1.4em;font-weight:800}.low{color:#047857}.mid{color:#92400e}.high{color:#b91c1c}
.bar{height:12px;background:#e2eef4;border-radius:6px;overflow:hidden}.bar div{height:100%;background:linear-gradient(90deg,var(--sky),var(--cyan),var(--blue))}
.tag{font-size:.75em;background:var(--tint);color:var(--blue-dk);border:1px solid #bfe6f6;padding:2px 8px;border-radius:6px;font-weight:700}
.sponsor{border-left:5px solid var(--blue)}.provlogo{display:block;max-width:200px;height:auto;margin:12px 0 4px}
@media(max-width:560px){h1{font-size:1.7em}nav a{margin:0 14px 0 0}body{font-size:16.5px}}
@media print{header,footer,.signup,#quiz,.noprint{display:none}}
/* ---- v2 additions ---- */
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:10}.skip:focus{left:8px}
header .wrap{display:grid;grid-template-columns:1fr auto;align-items:center}header nav{grid-column:1/-1}
nav a{margin:0 18px 0 0}nav a[aria-current]{color:var(--blue-dk);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:var(--cyan)}
.btn.hdr{padding:9px 16px;font-size:.9em;border-radius:8px}
.btn.alt{background:#fff;color:var(--blue-dk);border:2px solid var(--blue-dk)}.btn.alt:hover{background:var(--tint);color:var(--blue-dk)}
.btn.white{background:#fff;color:var(--blue-dk)}.btn.white:hover{background:var(--tint);color:var(--blue-dk)}
.btn.outline{background:transparent;color:#fff;border:2px solid #fff}.btn.outline:hover{background:#004a75;color:#fff}
.hero-btns,.ctas,.ec-btns,.bc-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ctas,.ec-btns{justify-content:flex-start;margin-top:12px}
.band-cta{background:var(--blue-dk);color:#fff;padding:26px 0}.band-cta .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.band-cta p{margin:.2em 0;font-family:"Open Sans",sans-serif;font-size:.92em}.band-cta .bc-h{font-weight:700;font-size:1.15em}.revlogo img{display:block;height:auto}
.endcard{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-left:5px solid var(--teal);margin-top:32px}.endcard p{margin:.2em 0}.ec-h{font-family:"Open Sans",sans-serif;font-weight:700;color:var(--blue-dk)}
.doc-teaser{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.doc-teaser h2{margin:0 0 .3em;font-size:1.15em}
fieldset.q{min-width:0}fieldset{border:1px solid #d6ecf6}legend{font-family:"Open Sans",sans-serif;font-weight:600;padding:0 4px;margin-bottom:6px}
fieldset.q legend{float:left;width:100%;padding:0;margin-bottom:8px}fieldset.q .opts{clear:both}
.flags{border-left:5px solid #c2410c}.flags label{display:block;margin:8px 0;font-family:"Domine",serif}.step{font-size:1.15em;margin:28px 0 6px}
.counts{display:flex;gap:14px;margin:8px 0}.counts div{background:var(--tint);border-radius:10px;padding:10px 18px;text-align:center;font-family:"Open Sans",sans-serif}.counts b{display:block;font-size:1.8em;color:var(--blue-dk)}.counts span{font-size:.85em}
.result .ctas .btn{text-align:center}
blockquote{background:#fff;border-left:5px solid var(--sky);margin:14px 0;padding:14px 18px;border-radius:0 12px 12px 0;font-style:italic}blockquote cite{display:block;margin-top:8px;font-style:normal;font-weight:700;font-family:"Open Sans",sans-serif;color:var(--blue-dk)}blockquote cite::before{content:"— "}
.bio h2{margin-top:0}
@media(max-width:560px){.btn.hdr{padding:7px 10px;font-size:.8em}.logo{font-size:1em}.hero-btns .btn,.ctas .btn,.ec-btns .btn,.bc-btns .btn{width:100%;text-align:center}}
.logo{white-space:nowrap}nav a{white-space:nowrap;display:inline-block}
@media(max-width:560px){.logo{font-size:.95em;gap:7px}.mark{width:16px;height:22px}nav a{margin:0 12px 4px 0;font-size:.88em}}
