/* Hive Fuel — gold & black honey palette. Mobile-first, no external fonts. */
:root{
  --black:#121110; --ink:#1d1b18; --gold:#f5b700; --honey:#e89f00; --amber:#7a4f00;
  --cream:#fff8e7; --comb:#fdefc4; --line:#e6d6a8; --muted:#5b5446; --white:#fff;
  --radius:12px; --max:68rem;
  font-size:100%;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto}
a{color:var(--amber);text-underline-offset:.15em}
a:hover{color:var(--black)}
:focus-visible{outline:3px solid var(--honey);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--black);padding:.5rem 1rem;z-index:10;font-weight:700}
.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}

/* Header */
.site-header{background:var(--black);color:var(--cream);border-bottom:4px solid var(--gold)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-top:.75rem;padding-bottom:.75rem}
.wordmark{font-weight:900;letter-spacing:.18em;font-size:1.35rem;text-decoration:none;color:var(--cream);white-space:nowrap}
.wordmark .hive{color:var(--gold)}
.wordmark .slash{color:var(--honey);margin:0 .2em;font-weight:400}
.wordmark:hover{color:var(--white)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .9rem}
.nav a{color:var(--cream);text-decoration:none;font-size:.95rem;padding:.25rem 0;display:inline-block}
.nav a:hover,.nav a[aria-current="page"]{color:var(--gold);text-decoration:underline}

/* Disclosure strip (every page) */
.disclosure-strip{background:var(--comb);border-bottom:1px solid var(--line);font-size:.875rem}
.disclosure-strip p{margin:0;padding:.5rem 0}

main{padding:1.5rem 0 3rem}
h1,h2,h3{line-height:1.2;color:var(--black)}
h1{font-size:clamp(1.75rem,5vw,2.6rem);margin:.25rem 0 .75rem}
h2{font-size:clamp(1.3rem,3.5vw,1.7rem);margin-top:2.25rem}
.lede{font-size:1.15rem;max-width:42rem}
.muted{color:var(--muted)}
.small{font-size:.875rem}

/* Hero */
.hero{background:var(--black);color:var(--cream);border-radius:var(--radius);padding:1.5rem 1.25rem;margin-bottom:1.5rem;
  background-image:radial-gradient(circle at 90% 10%,rgba(245,183,0,.25),transparent 45%)}
.hero h1{color:var(--white)}
.hero h1 em{color:var(--gold);font-style:normal}
.hero .lede{color:var(--cream)}
.btn{display:inline-block;background:var(--gold);color:var(--black);font-weight:700;text-decoration:none;border:2px solid var(--gold);
  padding:.65rem 1.1rem;border-radius:999px;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--honey);border-color:var(--honey);color:var(--black)}
.btn.ghost{background:transparent;color:var(--gold)}
.btn[disabled]{opacity:.6;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}

/* Cards */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.1rem 1.25rem;margin:1rem 0}
.card.dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.card.dark h2,.card.dark h3{color:var(--gold);margin-top:0}
.grid{display:grid;gap:1rem}
@media(min-width:48rem){.grid.two{grid-template-columns:1fr 1fr}}

/* Tables: scroll on small screens */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.95rem}
caption{text-align:left;padding:.75rem .9rem;font-size:.875rem;color:var(--muted);caption-side:bottom}
th,td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
thead th{background:var(--black);color:var(--gold);font-weight:700;white-space:nowrap}
tbody th{font-weight:700}
tbody tr:nth-child(even){background:#fffcf3}
.num{white-space:nowrap;font-variant-numeric:tabular-nums}
.tag{display:inline-block;font-size:.75rem;font-weight:700;background:var(--comb);color:var(--amber);border:1px solid var(--line);border-radius:999px;padding:.05rem .5rem;white-space:nowrap}

/* Product sections */
.product{border-left:6px solid var(--gold)}
.product h3{margin-top:0}
.product dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;margin:.5rem 0 1rem}
.product dt{font-weight:700}
.product dd{margin:0}
.check-price{font-size:.875rem;color:var(--muted);margin-top:.5rem}

/* Forms */
form .field{margin:.75rem 0}
label{font-weight:600;display:block;margin-bottom:.25rem}
input[type=email],input[type=text]{width:100%;max-width:26rem;padding:.65rem .75rem;border:2px solid var(--line);border-radius:8px;font-size:1rem;background:var(--white);color:var(--ink)}
.card.dark input[type=email]{border-color:var(--honey)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.check input{margin-top:.35rem;width:1.1rem;height:1.1rem;flex:none;accent-color:var(--gold)}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;margin:.75rem 0}
legend{font-weight:700;padding:0 .3rem}
.radio{display:flex;gap:.5rem;align-items:center;font-weight:400;margin:.35rem 0}
.radio input{accent-color:var(--gold);width:1.1rem;height:1.1rem}
.form-note{font-size:.85rem;opacity:.9}
.todo{background:#fff1b8;color:#4a3200;border:1px dashed var(--honey);border-radius:6px;padding:.05rem .4rem;font-size:.85em;font-weight:700}
.status{min-height:1.5em;font-weight:700;color:var(--gold)}
.card:not(.dark) .status{color:var(--amber)}

/* Footer */
.site-footer{background:var(--black);color:var(--cream);padding:1.5rem 0;font-size:.9rem;border-top:4px solid var(--gold)}
.site-footer a{color:var(--gold)}
.site-footer ul{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.site-footer p{margin:.4rem 0}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header nav,.newsletter,.poll{display:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* hide internal TODO notes on the live site */
.todo{display:none !important}

.site-footer .fine-print{font-size:.7rem;opacity:.75;margin-top:.75rem}
