/* State buying guides (/<state>/guide/), on top of guides.css: the state guide nav, verdict tiles, tax receipt, medical card math,
   the hub's topic grid and checklist. Same tokens as the rest of the site. */
.gd-crumbs b{color:var(--cream);font-weight:500}

/* the state's guide nav, under the hero */
.sg-nav{position:sticky;top:68px;z-index:30;background:rgba(6,13,9,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sg-nav .wrap{display:flex;align-items:center;gap:18px}
.sg-nav-h{flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.sg-nav-run{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:10px 0;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.sg-nav-run::-webkit-scrollbar{display:none}
.sg-nav-run a{flex:none;font-size:14px;color:var(--muted);padding:7px 12px;border:1px solid transparent;border-radius:3px;transition:color .2s,border-color .2s,background .2s}
.sg-nav-run a:hover{color:var(--cream);border-color:var(--line)}
.sg-nav-run a[aria-current]{color:#0b140e;background:var(--gold);font-weight:600}

/* verdict tiles */
.sg-tiles{margin-top:22px}
.sg-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sg-tile{position:relative;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:14px 14px 16px;color:var(--cream);cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s;animation:gdIn .5s both;animation-delay:var(--d)}
.sg-tile:hover{transform:translateY(-3px);border-color:rgba(217,180,95,.5)}
.sg-tile b{display:block;font-family:var(--display);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.02;margin-top:10px}
.sg-tile small{display:block;margin-top:6px;font-size:13px;color:var(--dim);line-height:1.35}
.sg-v{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;border-radius:2px}
.v-yes .sg-v,.sg-dot.v-yes{background:rgba(85,163,112,.18);color:#7fd09b}
.v-no .sg-v,.sg-dot.v-no{background:rgba(214,96,80,.16);color:#f0907f}
.v-maybe .sg-v,.sg-dot.v-maybe{background:rgba(217,180,95,.16);color:var(--gold)}
.sg-tile[aria-pressed=true]{background:linear-gradient(160deg,rgba(19,42,30,.98),rgba(10,23,16,.98));border-color:var(--gold);box-shadow:0 18px 40px -26px #000}
.sg-tiles-out{margin-top:14px;min-height:118px;background:linear-gradient(160deg,rgba(19,42,30,.7),rgba(10,23,16,.7));border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:18px 22px}
.sg-tiles-empty b{display:block;font-family:var(--display);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:22px}
.sg-tiles-empty span{color:var(--dim);font-size:15px}
.sg-panel{animation:gdIn .35s both}
.sg-panel p{font-size:16.5px;line-height:1.62;color:#d9d7cc}
.sg-panel .sg-panel-v{display:flex;align-items:center;gap:10px;font-family:var(--display);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:24px;color:var(--cream);margin-bottom:6px}
.sg-panel-v span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;padding:4px 8px;border-radius:2px}
.sg-panel.v-yes .sg-panel-v span{background:rgba(85,163,112,.18);color:#7fd09b}
.sg-panel.v-no .sg-panel-v span{background:rgba(214,96,80,.16);color:#f0907f}
.sg-panel.v-maybe .sg-panel-v span{background:rgba(217,180,95,.16);color:var(--gold)}
.sg-panel a{color:var(--gold);border-bottom:1px solid rgba(217,180,95,.4)}
.sg-legend .sg-dot{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-1px}
.sg-legend .sg-dot.v-yes{background:#55a370}.sg-legend .sg-dot.v-maybe{background:var(--gold)}.sg-legend .sg-dot.v-no{background:#d66050}

/* tax receipt */
.sg-tax{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;margin-top:22px;align-items:start}
.sg-tax-in{display:grid;gap:14px}
.sg-tax-in label{display:grid;gap:6px}
.sg-tax-in label>span:first-child{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sg-tax-in select,.sg-money{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:4px;color:var(--cream);font-size:16px;padding:12px 12px}
.sg-money{display:flex;align-items:center;gap:6px;padding:4px 12px}
.sg-money i{font-style:normal;color:var(--gold);font-family:var(--display);font-weight:800;font-size:26px}
.sg-money input{width:100%;background:none;border:0;color:var(--cream);font-family:var(--display);font-stretch:72%;font-weight:800;font-size:34px;padding:4px 0;outline:none}
.sg-receipt{position:relative;background:#f3eee2;color:#1b1b17;border-radius:4px 4px 0 0;padding:22px 22px 26px;font-family:var(--mono);box-shadow:0 30px 60px -36px #000;-webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6px,#000 7px) 0 0/16px 100% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%}
.sg-receipt-h{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-bottom:12px;border-bottom:1px dashed rgba(0,0,0,.3)}
.sg-receipt-lines{padding:10px 0;border-bottom:1px dashed rgba(0,0,0,.3)}
.sg-receipt .l{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0}
.sg-receipt .l em{font-style:normal;color:#6b6b60}
.sg-receipt .l.base{font-weight:600}
.sg-receipt-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.sg-receipt-total b{font-family:var(--display);font-stretch:72%;font-weight:900;font-size:40px;letter-spacing:0}
.sg-receipt-note{margin-top:10px;font-size:13px;line-height:1.5;color:#3a3a33}

/* medical card math */
.sg-med{margin-top:22px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:22px}
.sg-med-in label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sg-med-in label b{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:28px;letter-spacing:0;text-transform:none;color:var(--cream)}
.sg-med-in input[type=range]{width:100%;margin:14px 0 18px;accent-color:var(--gold)}
.sg-seg{display:flex;flex-wrap:wrap;gap:8px}
.sg-seg button{flex:1 1 auto;background:none;border:1px solid var(--line);border-radius:3px;color:var(--muted);padding:9px 12px;font-family:var(--mono);font-size:13px;cursor:pointer}
.sg-seg button[aria-pressed=true]{background:var(--gold);color:#0b140e;border-color:var(--gold);font-weight:600}
.sg-med-out{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-top:1px solid var(--line)}
.sg-med-out div{padding:16px 14px 0 0}
.sg-med-out div+div{padding-left:14px;border-left:1px solid var(--line2)}
.sg-med-out small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sg-med-out b{display:block;font-family:var(--display);font-stretch:68%;font-weight:900;font-size:clamp(30px,3.4vw,44px);line-height:1;margin-top:8px;color:var(--cream)}
.sg-med-out .hl b{color:var(--gold)}
.sg-med.neg .sg-med-out .hl b{color:#f0907f}
.sg-med-note{margin-top:16px;font-size:16px;color:#d9d7cc}
.sg-med-note b{color:var(--gold)}
.sg-fine{margin-top:10px;font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--dim)}

/* hub: every question, as cards */
.sg-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.sg-topic{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .2s}
.sg-topic:hover{transform:translateY(-4px);border-color:rgba(217,180,95,.55)}
.sg-topic-img{display:block;aspect-ratio:16/8;overflow:hidden}
.sg-topic-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.sg-topic:hover img{transform:scale(1.05)}
.sg-topic-k{display:block;padding:14px 16px 0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.sg-topic h3{display:block;padding:6px 16px 0;font-family:var(--display);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:23px;line-height:1.02;color:var(--cream)}
.sg-topic-t{display:block;padding:8px 16px 18px;font-size:14.5px;line-height:1.45;color:var(--muted)}

/* hub: ready checklist */
.sg-ready{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:start;margin-top:22px}
.sg-ready-ring{position:sticky;top:140px;width:150px;height:150px}
.sg-ready-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sg-ready-ring circle{fill:none;stroke:var(--line);stroke-width:8}
.sg-ready-ring .fill{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}
.sg-ready-ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-stretch:70%;font-weight:900;font-size:38px}
.sg-ready.all .sg-ready-ring .fill{stroke:var(--leaf)}
.sg-ready-list{display:grid;gap:8px}
.sg-ready-i{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:border-color .2s}
.sg-ready-i:hover{border-color:rgba(217,180,95,.5)}
.sg-ready-i input{position:absolute;opacity:0;pointer-events:none}
.sg-ready-i .box{width:22px;height:22px;border:2px solid var(--line);border-radius:4px;margin-top:2px;transition:background .2s,border-color .2s}
.sg-ready-i input:checked+.box{background:var(--gold);border-color:var(--gold);box-shadow:inset 0 0 0 3px var(--bg2)}
.sg-ready-i input:focus-visible+.box{outline:2px solid var(--gold);outline-offset:2px}
.sg-ready-i b{display:block;font-size:16.5px;color:var(--cream)}
.sg-ready-i small{display:block;margin-top:3px;font-size:14.5px;line-height:1.5;color:var(--muted)}
.sg-ready-i small a{color:var(--gold);border-bottom:1px solid rgba(217,180,95,.4)}
.sg-ready-done{margin-top:6px;padding:16px 18px;border-left:3px solid var(--leaf);background:rgba(85,163,112,.08);font-size:16px;color:var(--cream);animation:gdIn .4s both}
.sg-ready-done a{color:var(--gold);border-bottom:1px solid rgba(217,180,95,.4)}

.sg-sources{margin-top:28px;line-height:1.7}
.sg-sources a{color:var(--muted)}
.sg-cities{margin-top:8px}

@media (max-width:900px){
  .sg-tax{grid-template-columns:1fr}
  .sg-topics{grid-template-columns:1fr}
}
@media (max-width:700px){
  .sg-nav{top:60px}
  .sg-nav-h{display:none}
  .sg-ready{grid-template-columns:1fr}
  .sg-ready-ring{position:relative;top:0;width:110px;height:110px}
  .sg-med-out{grid-template-columns:1fr}
  .sg-med-out div+div{padding-left:0;border-left:0;border-top:1px solid var(--line2);margin-top:14px}
  .sg-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.gd-sec ul+p,.gd-sec ol+p,.gd-sec .gd-table+p{margin-top:18px}
.sg-sources{font-size:12.5px}
