/* Stormbook: "storm-radar field manual" (deep storm teal + radar lime; v1.0.2 palette, distinct from cuyahogacare.com navy/amber). Anybody (display) + Petrona (text), self-hosted, OFL. */
@font-face{font-family:"Anybody";src:url(/assets/fonts/anybody-800-normal.woff2) format("woff2");font-weight:800;font-stretch:75%;font-display:swap}
@font-face{font-family:"Petrona";src:url(/assets/fonts/petrona-400-normal.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Petrona";src:url(/assets/fonts/petrona-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--night:#0c2427;--night2:#12333a;--line:#2a5056;--amber:#c6e84a;--amber-d:#4a6400;--paper:#f7f3ea;--card:#fffdf7;--ink:#1a1712;--mute:#5d564a;--rule:#ddd3c0;--red:#b3261e;--green:#2f6b3a;
--disp:"Anybody","Arial Narrow",sans-serif;--text:"Petrona",Georgia,serif;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--text)}
img,svg{max-width:100%;display:block}
a{color:var(--night);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--amber-d)}
:focus-visible{outline:3px solid var(--amber-d);box-shadow:0 0 0 8px var(--amber);outline-offset:2px}
h1,h2,h3{font-family:var(--disp);font-weight:800;font-stretch:75%;line-height:1.02;letter-spacing:.005em;margin:0 0 .4em;text-transform:uppercase}
h1{font-size:clamp(2.5rem,6vw,4.6rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
small{font-size:.85em}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--night);padding:.6rem 1rem;z-index:10;font-family:var(--ui)}
.skip:focus{left:.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:640px}
.eyebrow,.kicker{font:700 .78rem/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--amber-d);margin:0 0 .9rem}
.kicker{color:var(--amber)}
.lede{font-size:1.2rem;max-width:40em}
.fine{font-size:.9rem;color:var(--mute)}
.tnum{font-variant-numeric:tabular-nums}
.pre{white-space:pre-line}

/* masthead */
.mast{background:var(--night);color:var(--paper);border-bottom:1px solid var(--line)}
.mast-in{max-width:1180px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--paper);text-decoration:none}
.brand-mark{width:34px;height:34px}
.brand-word{font:800 1.7rem/1 var(--disp);font-stretch:75%;text-transform:uppercase;letter-spacing:.03em}
.nav{display:flex;align-items:center;gap:.25rem 1.3rem;flex-wrap:wrap;font:600 .95rem/1 var(--ui)}
.nav a{color:#d9d3c4;text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:#fff;border-color:var(--amber)}
.nav .nav-book{background:var(--amber);color:var(--night);padding:.6rem .95rem;border-radius:999px;border:0}
.nav .nav-book:hover,.nav .nav-book[aria-current]{background:#d8f272;color:var(--night)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.25rem;border-radius:999px;border:2px solid transparent;font:700 1rem/1 var(--ui);text-decoration:none;cursor:pointer}
.btn-amber{background:var(--amber);color:var(--night)}
.btn-amber:hover{background:#d8f272;color:var(--night)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-ink{background:var(--night);color:var(--paper)}
.btn-ink:hover{background:var(--night2);color:#fff}
.btn-small{min-height:40px;padding:.5rem 1rem;font-size:.9rem;background:var(--card);border-color:var(--rule);color:var(--ink)}
.btn-danger{background:var(--red);color:#fff}
form.inline{display:inline}
.link-arrow{font:700 1rem var(--ui);color:inherit}
.link-arrow::after{content:" \2192"}

/* hero */
.hero{background:var(--night);color:var(--paper);overflow:hidden}
.hero-in{max-width:1180px;margin:0 auto;padding:4.5rem 1.5rem 5rem;display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}
.hero h1{color:#fff}
.hero .lede{color:#d9d3c4}
.hero-act{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.1rem}
.hero .btn-ghost{color:var(--paper)}
.hero-price{font:500 .95rem var(--ui);color:#b8b0a0}
.hero-price strong{color:var(--amber)}
.hero-art{position:relative}
.street{border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.45);width:100%;height:auto}
.page-card{position:absolute;right:-1rem;bottom:-2.5rem;width:min(300px,70%);background:var(--card);color:var(--ink);border-radius:10px;padding:1rem 1.1rem .7rem;box-shadow:0 20px 40px rgba(0,0,0,.35);border-left:8px solid var(--amber);transform:rotate(2deg)}
.pc-tab{font:800 .95rem var(--disp);font-stretch:75%;text-transform:uppercase;margin:0 0 .5rem;color:var(--amber-d)}
.page-card dl{margin:0;font-size:.88rem}
.page-card dt{font:700 .68rem var(--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.page-card dd{margin:0 0 .45rem}
.pc-foot{font:600 .7rem var(--ui);color:var(--mute);text-align:right;margin:0}

/* sections */
section{scroll-margin-top:1rem}
.toc,.math,.local,.price-band{padding:5rem 0}
.sec-head{max-width:760px;margin-bottom:2.5rem}
.chapters{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.chapters li{display:grid;grid-template-columns:5rem 15rem 1fr;gap:1.5rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid var(--rule)}
.ch-n{font:800 2.6rem/1 var(--disp);font-stretch:75%;color:var(--amber-d);font-variant-numeric:tabular-nums}
.ch-t{font:800 1.45rem/1.1 var(--disp);font-stretch:75%;text-transform:uppercase}
.ch-d{color:var(--mute)}
.toc-out{margin-top:1.6rem;font-style:italic}
.math{background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.math-in{display:grid;grid-template-columns:1fr 1.25fr;gap:3rem;align-items:start}
.figures{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin:0}
.figures>div{background:var(--paper);padding:1.3rem 1.4rem}
.figures dt{font:700 .75rem var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.figures dd{margin:.2rem 0 .3rem;font:800 3rem/1 var(--disp);font-stretch:75%;font-variant-numeric:tabular-nums}
.figures dd small{font:600 .95rem var(--ui);text-transform:none;color:var(--mute)}
.figures p{margin:0;font-size:.9rem;color:var(--mute)}
.figures.small{grid-template-columns:repeat(3,1fr)}
.figures.small dd{font-size:2.3rem}
.outage{background:var(--night);color:var(--paper);padding:5rem 0}
.outage h2{color:#fff}
.outage-in{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center}
.outage-copy p{color:#d9d3c4}
.outage .btn-ink{background:var(--paper);color:var(--night)}
.hazard{border:6px solid transparent;border-image:repeating-linear-gradient(45deg,var(--amber) 0 12px,#111 12px 24px) 6;background:#f6f9e4;color:var(--ink);padding:1.2rem 1.3rem;margin:1.2rem 0}
.hazard-h{font:800 1.3rem var(--disp);font-stretch:75%;text-transform:uppercase;margin:0 0 .4rem}
.hazard .src{font-size:.8rem;color:var(--mute);margin:0}
.callrows{list-style:none;margin:0 0 1.5rem;padding:0;border-top:2px solid var(--ink)}
.callrows li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px dotted var(--mute);align-items:baseline}
.cr-num{font:800 1.8rem var(--disp);font-stretch:75%;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-band{background:var(--card);border-top:1px solid var(--rule)}

/* ticket price box */
.ticket{display:grid;grid-template-columns:1fr 1.3fr;background:var(--card);border:2px solid var(--ink);border-radius:14px;overflow:hidden;margin:0 0 2rem}
.ticket-col{padding:1.6rem 1.8rem}
.ticket-plus{background:var(--night);color:var(--paper);border-left:2px dashed var(--amber)}
.ticket-k{font:700 .78rem var(--ui);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .4rem;color:var(--amber-d)}
.ticket-plus .ticket-k{color:var(--amber)}
.ticket-v{font:800 3.4rem/1 var(--disp);font-stretch:75%;margin:0 0 .6rem}
.ticket-v span{font:600 1rem var(--ui)}
.ticket-s{margin:0;font-size:.97rem}
.ticket-plus .ticket-s{color:#d9d3c4}
.ticket-note{grid-column:1/-1;margin:0;padding:1rem 1.8rem;background:#eef6cf;border-top:2px solid var(--ink);font-size:.95rem}

/* inner pages */
.phead{padding:3.5rem 0 2.2rem;border-bottom:2px solid var(--ink);margin-bottom:2.5rem;background:linear-gradient(var(--card),var(--paper))}
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:2.5rem;align-items:start;padding-bottom:4rem}
.panel{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:1.5rem;box-shadow:0 1px 0 var(--rule)}
.panel.quiet{background:transparent}
label{display:block;font:700 .9rem var(--ui);margin:.9rem 0 .35rem}
input,textarea,select{width:100%;font:400 1rem var(--ui);padding:.7rem .8rem;min-height:46px;border:1.5px solid #8f8676;border-radius:8px;background:#fff;color:var(--ink)}
input::placeholder,textarea::placeholder{color:#8a8172}
input:focus,textarea:focus{border-color:var(--night)}
.calc .btn,.panel .btn{margin-top:1.2rem}
.seg{border:0;padding:0;margin:0 0 .5rem;display:flex;gap:.6rem;flex-wrap:wrap}
.seg legend{font:700 .9rem var(--ui);margin-bottom:.4rem}
.seg label{margin:0;flex:1;min-width:9rem}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;border:1.5px solid #8f8676;border-radius:10px;padding:.7rem .9rem;font-weight:400;cursor:pointer;background:#fff}
.seg strong{display:block;font:800 1.15rem var(--disp);font-stretch:75%;text-transform:uppercase}
.seg input:checked+span{border-color:var(--night);background:var(--night);color:var(--paper)}
.seg input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.check{display:flex;gap:.5rem;align-items:center;font-weight:600}
.check input{width:22px;height:22px;min-height:0}
.result-h{font:800 1.6rem var(--disp);font-stretch:75%;text-transform:uppercase;margin:0 0 1rem}
.kit-table,.compare{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.97rem}
.kit-table caption,.compare caption{text-align:left;font:800 1.3rem var(--disp);font-stretch:75%;text-transform:uppercase;padding-bottom:.5rem}
.kit-table th,.kit-table td,.compare th,.compare td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--rule);vertical-align:top}
.kit-table thead th,.compare thead th{font:700 .75rem var(--ui);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.compare td{font-family:var(--ui);font-weight:600}
.upsell{background:#eef6cf;border-left:4px solid var(--amber);padding:.8rem 1rem}
.note{background:var(--card);border-left:4px solid var(--night);padding:.8rem 1rem;border-radius:0 8px 8px 0}
.note.bad{border-color:var(--red);background:#fdecea}
.note.good{border-color:var(--green);background:#eaf4ec}
.presets-h{font:700 .85rem var(--ui);margin:0 0 .4rem}
.presets{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem;font-size:.85rem}
.presets span{color:var(--mute);font-family:var(--ui);white-space:nowrap}
.devrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 3.2rem;gap:.5rem;margin-bottom:.5rem;align-items:center}
.motorbox{display:flex;justify-content:center;align-items:center;min-height:44px}.motorbox input{width:1.25rem;height:1.25rem;margin:0}
.devhead{font:700 .75rem var(--ui);text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.callsheet{list-style:none;padding:0;margin:0 0 2.5rem;border-top:2px solid var(--ink)}
.callsheet li{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--rule)}
.cs-what{font:800 1.3rem/1.15 var(--disp);font-stretch:75%;text-transform:uppercase;margin:0 0 .3rem}
.cs-src{margin:0;font-size:.9rem;color:var(--mute)}
.cs-num{font:800 2.2rem/1 var(--disp);font-stretch:75%;white-space:nowrap;margin:0;font-variant-numeric:tabular-nums}
.cs-911 .cs-num{color:var(--red)}
.alerts{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:1.6rem;margin-bottom:2rem}
.prose{max-width:760px;padding-bottom:4rem}
.prose li{margin-bottom:.6rem}
.faq{max-width:760px;padding:1rem 0 4rem}
.faq h3{margin-top:1.4rem;text-transform:none;font-stretch:75%}

/* the book */
.bhead{background:var(--night);color:var(--paper);padding:2.6rem 0 2.2rem}
.bhead h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem)}
.bhead-in{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;flex-wrap:wrap}
.bmeta{color:#b8b0a0;font:500 .9rem var(--ui);margin:0}
.bactions{display:flex;gap:.7rem;flex-wrap:wrap}
.bhead .btn-ghost{color:var(--paper)}
.bbody{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2.5rem;padding-top:2.5rem;padding-bottom:4rem}
.tabs{position:sticky;top:1rem;align-self:start}
.tabs ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--ink)}
.tabs a{display:flex;gap:.7rem;align-items:baseline;padding:.55rem .8rem;text-decoration:none;color:var(--ink);font:600 .95rem var(--ui);border-left:6px solid transparent;margin-left:-4px}
.tabs a:hover{border-left-color:var(--amber);background:var(--card)}
.tabs span{font:800 1.05rem var(--disp);font-stretch:75%;color:var(--amber-d);font-variant-numeric:tabular-nums}
.keybox{background:#eef6cf;border:2px solid var(--ink);border-radius:12px;padding:1.2rem 1.3rem;margin-bottom:2rem}
.keybox-h{font:800 1.3rem var(--disp);font-stretch:75%;text-transform:uppercase;margin:0 0 .4rem}
.linkrow{display:flex;gap:.5rem}
.linkrow input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}
.rename{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1.5rem}
.rename label{width:100%;margin:0}
.rename input{flex:1;min-width:12rem}
.pg{background:var(--card);border:1px solid var(--rule);border-radius:4px 14px 14px 4px;border-left:10px solid var(--night);padding:1.6rem 1.8rem;margin-bottom:1.6rem}
.pg>header{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--rule);margin-bottom:1rem;padding-bottom:.6rem}
.pg>header h2{margin:0;flex:1;font-size:1.9rem}
.pg-n{font:800 2.2rem/1 var(--disp);font-stretch:75%;color:var(--amber-d)}
.pg-lim{margin:0;font:600 .85rem var(--ui);color:var(--mute)}
.pg-note,.pg-sum{font-size:.95rem;color:var(--mute)}
.pg-sum strong{color:var(--ink);font-family:var(--ui)}
.pg .btn{margin-top:.9rem}
.grid2,.grid3,.grid4{display:grid;gap:.5rem;margin-bottom:.5rem}
.grid2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.grid3{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,2fr)}
.grid4{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 3.5rem;align-items:center}
.ghead{font:700 .75rem var(--ui);text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-bottom:.2rem}
.rows{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:.5rem 1.2rem;margin:0}
.rows dt{font-weight:700}
.rows dd{margin:0}
.empty{color:var(--mute);font-style:italic}
.ticks{list-style:none;margin:1rem 0 0;padding:0;columns:2;column-gap:2rem}
.ticks li{break-inside:avoid;margin-bottom:.5rem}
.ticks label{display:flex;gap:.6rem;font:400 .97rem var(--text);margin:0}
.ticks input{width:22px;height:22px;min-height:0;flex:none;margin-top:.15rem;accent-color:var(--night)}
.ticks small{display:block;color:var(--mute);font-family:var(--ui)}
.extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.extra{border:1px solid var(--rule);border-radius:10px;padding:1rem;background:var(--paper)}
.extra h3{font-size:1.15rem}
.extra p{font-size:.93rem}
.tag{font:700 .7rem var(--ui);background:var(--amber);color:var(--night);padding:.15rem .45rem;border-radius:99px;vertical-align:middle;text-transform:uppercase}
.endrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.danger-link{color:var(--red);font:600 .95rem var(--ui)}

/* print sheet + cards */
.sheet{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem}
.sheet-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.sheet-h{border-bottom:4px solid var(--ink);margin-bottom:1rem}
.sheet-k{font:700 .75rem var(--ui);letter-spacing:.14em;text-transform:uppercase;margin:0}
.sheet-h h1{font-size:2.6rem;margin:.2rem 0}
.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}
.sheet-grid h2{font-size:1.25rem;border-bottom:1px solid var(--ink);padding-bottom:.2rem;margin-top:.8rem}
.sheet-grid dl{display:grid;grid-template-columns:auto 1fr;gap:.15rem .8rem;margin:0;font-size:.92rem}
.sheet-grid dt{font-weight:700}
.sheet-grid dd{margin:0}
.sheet-rule{border:2px solid var(--ink);padding:.4rem .6rem;font-weight:700;font-size:.9rem}
.sheet-f{font-size:.8rem;color:var(--mute);margin-top:1.5rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.8in,1fr));gap:.3in}
.wcard{display:grid;grid-template-columns:1fr 1fr;width:6.8in;max-width:100%;border:1px dashed #777}
.wside{height:2.1in;padding:.15in;font-size:9pt;line-height:1.3;overflow:hidden;border-right:1px dashed #bbb}
.wside p{margin:0 0 .05in}
.wk{font:700 7pt var(--ui);text-transform:uppercase;letter-spacing:.1em;color:var(--amber-d)}
.wname{font:800 16pt var(--disp);font-stretch:75%;text-transform:uppercase}
.wl{font:700 7pt var(--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}

/* footer */
.foot{background:var(--night);color:#cfc8b8;margin-top:0}
.foot-in{max-width:1180px;margin:0 auto;padding:3.5rem 1.5rem 2rem;display:grid;grid-template-columns:1.4fr 1fr;gap:3rem}
.foot a{color:#fff}
.foot-word{font:800 2rem var(--disp);font-stretch:75%;text-transform:uppercase;color:#fff;margin:0 0 .4rem}
.foot-ind{border-left:3px solid var(--amber);padding-left:.8rem;font-size:.95rem}
.foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:.4rem}
.foot-cols a{text-decoration:none;font:500 .95rem var(--ui);display:inline-block;padding:.3rem 0}
.foot-cols a:hover{color:var(--amber)}
.foot-base{max-width:1180px;margin:0 auto;padding:1.2rem 1.5rem 2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:500 .88rem var(--ui)}
.foot-base p{margin:0}

/* phones */
@media (max-width:900px){
  .hero-in,.math-in,.outage-in,.two,.foot-in{grid-template-columns:1fr}
  .hero-in{padding:3rem 1.25rem 4.5rem;gap:2.5rem}
  .page-card{right:.5rem;bottom:-2rem}
  .bbody{grid-template-columns:minmax(0,1fr);gap:1rem}
  .tabs{min-width:0;max-width:100%}
  .linkrow{flex-wrap:wrap}
  .tabs{position:static}
  .tabs ol{display:flex;gap:.4rem;overflow-x:auto;border:0;padding-bottom:.4rem}
  .tabs a{white-space:nowrap;border:1px solid var(--rule);border-radius:99px;margin:0;background:var(--card);padding:.5rem .8rem}
  .extras{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 1.1rem}
  .page-card{position:relative;right:auto;bottom:auto;width:auto;margin:-2.5rem .8rem 0;transform:rotate(1deg)}
  .hero-in{padding-bottom:3rem}
  .mast-in{padding:.7rem 1.1rem}
  .nav{gap:.1rem 1rem;font-size:.9rem}
  .chapters li{grid-template-columns:3.2rem 1fr;gap:.2rem 1rem}
  .ch-d{grid-column:2}
  .figures,.figures.small{grid-template-columns:1fr 1fr}
  .figures dd{font-size:2.3rem}
  .ticket{grid-template-columns:1fr}
  .ticket-plus{border-left:0;border-top:2px dashed var(--amber)}
  .callrows li,.callsheet li{flex-direction:column;align-items:flex-start;gap:.3rem}
  .grid2,.grid3{grid-template-columns:1fr}
  .grid2 input:nth-of-type(2n),.grid3 input:last-of-type{margin-bottom:.8rem}
  .grid4{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 2.4rem}
  .ghead{display:none}
  .rows{grid-template-columns:1fr}
  .rows dd{margin-bottom:.5rem}
  .ticks{columns:1}
  .pg{padding:1.2rem 1rem;border-left-width:6px}
  .sheet-grid{grid-template-columns:1fr}
  .devrow{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 2.8rem}
  .presets{grid-template-columns:1fr}
  .compare{font-size:.88rem}
  .wcard{grid-template-columns:1fr;width:3.4in}
  .wside{border-right:0;border-bottom:1px dashed #bbb}
}
@media print{
  .mast,.foot,.noprint,.skip{display:none!important}
  body{background:#fff;font-size:10.5pt}
  .sheet{padding:0;max-width:none}
  .sheet-grid{grid-template-columns:1fr 1fr}
  .wcard{break-inside:avoid}
  a{color:inherit;text-decoration:none}
}

/* v1.1.0 AdEngine banner (partials/adengine_slot.php, public pages only, never a book). The reserved height sits on the <ins>
   (label 16 + 4 + 90 = 110px; 270px on phones), so the banner moves nothing when it lands. All spacing is margin on the <ins>,
   so a slot tag.js cannot fill (it hides the <ins>) closes up with its label and its space; :has() drops the empty landmark. */
.ae-slot{margin:0;padding:0 1.5rem}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:48px auto 56px;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:700 11px/16px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
.ae-slot:has(> ins.adengine[style*="none"]){display:none}
@media (max-width:767px){.ae-slot{padding:0 1.1rem}.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
