/* billofsalebystate.com — Cornelia Cove portfolio theme (same system as themes/apply.py: grain overlay, sticky blurred header,
   radial hero tint, 18px cards with tinted shadow, dark footer). Palette "deed blue" on cool slate. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/plex-sans-latin.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/plex-serif-600-latin.woff2) format('woff2')}
:root{--bg:#f3f5f6;--surface:#fff;--ink:#141c26;--muted:#4b5563;--line:#dbe1e6;--primary:#24527a;--primary-ink:#1b3f5e;--tint:36,82,122;--accent:#b4441c;
--head:'IBM Plex Serif',Georgia,serif;--body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--r:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body>*{position:relative;z-index:1}
a{color:var(--primary)} a:hover{color:var(--primary-ink)}
h1,h2,h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;line-height:1.15;text-wrap:balance;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.03em;line-height:1.05}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:0}
h3{font-size:1.15rem}
p{text-wrap:pretty;margin:0 0 1em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}
header.site{position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(var(--tint),.14)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:62px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:600;font-size:1.08rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo svg{flex:none}
nav.top{display:flex;gap:18px;font-size:.95rem}
nav.top a{color:var(--muted);text-decoration:none;position:relative}
nav.top a:hover{color:var(--ink)} nav.top a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--primary);border-radius:2px}
.logo,nav.top a{white-space:nowrap}
nav.top a.sm{display:none}
@media(max-width:640px){nav.top a.opt{display:none}nav.top{gap:12px;font-size:.9rem}}
@media(max-width:520px){nav.top a.lg{display:none}nav.top a.sm{display:inline}.logo{font-size:1rem}}
.hero{padding:40px 0 18px;background:radial-gradient(1200px 500px at 85% -10%,rgba(var(--tint),.13),transparent 60%),radial-gradient(800px 400px at -5% 10%,rgba(var(--tint),.06),transparent 60%)}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)} .crumbs span{margin:0 6px;opacity:.6}
.lede{font-size:1.12rem;color:var(--muted);max-width:66ch}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.badges li{font-size:.85rem;background:rgba(var(--tint),.08);color:var(--primary-ink);border-radius:999px;padding:4px 12px}
section.block{padding:28px 0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 12px 32px -18px rgba(var(--tint),.35);padding:22px}
@media(min-width:720px){.card{padding:28px}}
.grid{display:grid;gap:16px}
@media(min-width:720px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
a.tile{display:block;text-decoration:none;color:inherit;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
a.tile:hover{transform:translateY(-2px);box-shadow:0 18px 40px -20px rgba(var(--tint),.5)}
a.tile h3{margin-bottom:.3em;color:var(--primary-ink)} a.tile p{margin:0;color:var(--muted);font-size:.95rem}
/* form */
form fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
form legend{font-family:var(--head);font-weight:600;font-size:1.12rem;margin-bottom:10px;padding:0}
.fields{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.fields{grid-template-columns:repeat(6,1fr)}.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c1{grid-column:span 1}}
.field label{display:block;font-size:.86rem;font-weight:600;color:var(--muted);margin-bottom:4px}
.field .hint{font-size:.8rem;color:var(--muted);margin-top:3px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #c9d1d9;border-radius:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}
textarea{min-height:76px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--tint),.15)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.choices label{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--ink);font-size:.95rem}
.choices input,.check input{width:auto;accent-color:var(--primary)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
.btn{appearance:none;border:0;border-radius:12px;padding:13px 22px;font:600 1rem var(--body);cursor:pointer;background:var(--primary);color:#fff;box-shadow:0 10px 24px -12px rgba(var(--tint),.7);transition:transform .15s,background-color .2s}
.btn:hover{background:var(--primary-ink)} .btn:active{transform:translateY(1px) scale(.99)} .btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;color:var(--primary);box-shadow:none;border:1px solid rgba(var(--tint),.35)}
#bos-status{font-size:.95rem;color:var(--muted);min-height:1.4em;margin:12px 0 0}
.privacy-note{font-size:.88rem;color:var(--muted);margin:14px 0 0}
/* facts */
.verified{font-size:.92rem;color:var(--muted)}
dl.facts{margin:0;display:grid;gap:12px}
dl.facts>div{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:12px;padding:14px 16px}
dl.facts dt{font-weight:600;margin-bottom:2px}
dl.facts dd{margin:0}
.src{display:inline-block;font-size:.85rem;margin-top:4px}
table.glance{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
table.glance th,table.glance td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.96rem}
table.glance th{width:32%;font-weight:600;color:var(--muted)}
table.glance tr:last-child th,table.glance tr:last-child td{border-bottom:0}
@media(max-width:560px){table.glance th,table.glance td{display:block;width:auto}table.glance th{border-bottom:0;padding-bottom:0}}
details.faq{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
details.faq summary{cursor:pointer;font-weight:600}
details.faq p{margin:.6em 0 0}
ol.steps{padding-left:1.2em} ol.steps li{margin-bottom:.4em}
.disclaimer{border-left:3px solid var(--accent);padding:4px 0 4px 16px;color:var(--muted);font-size:.95rem;max-width:75ch}
.aff-slot:empty{display:none}
.prose{max-width:72ch}
footer.site{background:#1c2733;color:#c7d0da;margin-top:40px;padding:40px 0 28px;font-size:.93rem}
footer.site h2{color:#fff;font-size:1rem;font-family:var(--body);letter-spacing:0;margin-bottom:.6em}
footer.site ul{list-style:none;padding:0;margin:0} footer.site li{margin-bottom:6px}
footer.site a{color:#e6ebf0;opacity:.82;text-decoration:none} footer.site a:hover{opacity:1;text-decoration:underline}
footer.site .fine{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;color:#9fadbb}
::selection{background:rgba(var(--tint),.22)}
@media print{body::before,header.site,footer.site,form,.no-print{display:none!important}}
