/* PA Lake Fishing Almanac (lakepa.net), "Ridge & Water" design system (DESIGN.md, 2026-10-10).
   An outfitter's field guide: spruce-green masthead and footer, white reading surfaces on a cool mist ground, an editorial
   serif (Newsreader, one self-hosted face) over the reader's own system grotesque (kept light: v1.1.1), pill controls, rounded cards, a ridge-and-valley
   illustration on the home page. Light theme only (read in bright sun). No inline styles anywhere (CSP).
   Fonts self-hosted under the SIL OFL (assets/fonts/OFL-*.txt). */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:600;font-display:optional;src:url(/assets/fonts/newsreader-600.woff2) format("woff2")}
:root{
  --spruce-900:#0E2C23;--spruce-800:#12372C;--spruce-700:#1B4D3E;--spruce-600:#24604D;--spruce-100:#DCEAE2;--spruce-50:#EEF4F0;
  --mist:#F3F5F2;--card:#FFFFFF;--ink:#17211C;--ink-2:#4A5650;--rule:#D5DDD7;--rule-2:#E7ECE8;
  --trout:#A3302A;--trout-d:#83231E;--gold:#E2B84B;--gold-ink:#7A5A0C;
  --amber-bg:#FFF3D4;--amber-ink:#664500;--sponsor-bg:#F6F1E4;
  --nw:#3F6170;--nc:#566A2C;--ne:#6A4E80;--sw:#7E4F33;--sc:#2F6B50;--se:#7A5E14;
  --display:"Newsreader","Iowan Old Style",Georgia,"Times New Roman",serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:14px;--r-sm:8px;--shadow:0 1px 2px rgba(14,44,35,.06),0 6px 20px rgba(14,44,35,.07);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--mist);color:var(--ink);font:400 17px/1.6 var(--body);overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
a{color:var(--spruce-700);text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(27,77,62,.45)}
a:hover{color:var(--trout);text-decoration-color:currentColor}
a:not(.inl){display:inline-flex;align-items:center;min-height:44px;min-width:44px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 5px var(--spruce-900)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;color:var(--spruce-800);margin:1.5em 0 .45em;letter-spacing:-.012em}
h1{font-size:2.15rem;margin-top:.7em}
h2{font-size:1.6rem}
h3{font-size:1.2rem;color:var(--ink)}
p,ul,ol,dl,table,blockquote{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin:.25em 0}
li::marker{color:var(--spruce-600)}
strong{font-weight:650}
small,.small{font-size:.87rem}
.muted{color:var(--ink-2)}
.num,table,dl,.ledger,.chip,time{font-variant-numeric:tabular-nums lining-nums}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.main{padding-bottom:3rem;min-height:50vh}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--spruce-900);padding:10px 14px;z-index:20;font-weight:700}
.skip:focus{left:8px;top:8px;color:var(--spruce-900)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* independence strip (utility bar) */
.strip{margin:0;background:var(--spruce-900);color:#D9E6DF;font-size:.78rem;line-height:1.45;padding:7px 20px;text-align:center;letter-spacing:.01em}

/* masthead */
.mast{background:var(--card);box-shadow:0 1px 0 var(--rule)}
.mast-in{display:flex;align-items:center;gap:8px 20px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--spruce-800);min-height:44px;margin-right:auto}
.brand img,.brand .mark{display:block;width:40px;height:40px;flex:0 0 auto}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--display);font-weight:600;font-size:1.22rem;color:var(--spruce-800);letter-spacing:-.01em}
.brand-url{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-top:4px}
.brand:hover .brand-name{color:var(--trout)}
.tagline{display:none;margin:0;font-family:var(--body);font-style:normal;font-weight:500;letter-spacing:.01em;color:var(--ink-2);font-size:.95rem}
.mast-cta{display:none!important}
.navbar{background:var(--card);border-top:1px solid var(--rule-2)}
.nav summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;margin:8px 0;border-radius:999px;background:var(--spruce-800);color:#fff;font-weight:650;font-size:.95rem;cursor:pointer;list-style:none}
.nav summary::before{content:"";width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
.nav[open] summary::before{content:"\00d7";width:auto;height:auto;background:none;box-shadow:none;font-size:1.5rem;line-height:1}
.nav summary::-webkit-details-marker{display:none}
.nav[open] .nav-open,.nav:not([open]) .nav-close{display:none}
.nav ul{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
.nav li{margin:0;border-bottom:1px solid var(--rule-2)}
.nav a{display:flex;width:100%;padding:0 4px;text-decoration:none;font-weight:650;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--spruce-800)}
.nav a:hover{color:var(--trout)}
.nav a[aria-current=page]{color:var(--trout);box-shadow:inset 0 -3px 0 var(--gold)}
@media (min-width:720px){.tagline{display:block}.mast-cta{display:inline-flex!important}}
@media (min-width:960px){
  .mast-in{padding-top:18px;padding-bottom:16px}
  .brand img,.brand .mark{width:48px;height:48px}
  .brand-name{font-size:1.5rem}
  .nav summary{display:none}
  .nav::details-content{content-visibility:visible;display:block}
  .nav ul{display:flex;flex-wrap:wrap;gap:0 4px;margin:0;justify-content:space-between}
  .nav li{border:0}
  .nav a{width:auto;padding:0 10px;min-height:52px}
}
.mast-cta{align-items:center;min-height:44px;padding:0 20px;border-radius:999px;border:2px solid var(--spruce-800);color:var(--spruce-800);font-weight:650;text-decoration:none;font-size:.95rem}
.mast-cta:hover{background:var(--spruce-800);color:#fff}
.banner-amber{margin:0;background:var(--amber-bg);color:var(--amber-ink);border-bottom:1px solid #EAD7A0;padding:9px 20px;text-align:center;font-size:.92rem}
.banner-amber a{color:var(--amber-ink);font-weight:650}
.crumbs ol{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:2px 0;font-size:.85rem;color:var(--ink-2)}
.crumbs li{margin:0;display:flex;align-items:center}
.crumbs li+li::before{content:"/";padding:0 .6em;color:#9AA79F}
.crumbs a{color:var(--ink-2)}

/* home: hero band with the ridge-and-valley illustration (full bleed, no horizontal overflow) */
html,body{overflow-x:clip}
.hero{position:relative;isolation:isolate;background:var(--spruce-800);color:#fff;
  box-shadow:0 0 0 100vmax var(--spruce-800);clip-path:inset(0 -100vmax);padding:36px 0 150px;margin-bottom:8px}
.hero::after{content:"";position:absolute;z-index:-1;left:50%;bottom:0;width:100vw;min-width:100%;height:220px;transform:translateX(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 260' preserveAspectRatio='xMidYMax slice' width='1440' height='260'%3E%3Cpath d='M0 120 C120 96 210 70 320 86 C430 102 500 60 610 64 C720 68 790 104 900 96 C1010 88 1090 52 1200 58 C1300 64 1380 92 1440 88 V260 H0 Z' fill='%231F4F40'/%3E%3Cpath d='M0 150 C140 130 230 112 360 122 C480 131 560 104 690 108 C820 112 900 140 1030 134 C1150 128 1250 104 1340 110 C1390 113 1420 120 1440 124 V260 H0 Z' fill='%23183F33'/%3E%3Cpath d='M0 176 C160 164 300 150 450 158 C600 166 700 150 860 152 C1020 154 1140 170 1290 166 C1370 164 1420 160 1440 160 V260 H0 Z' fill='%2312372C'/%3E%3Cpath d='M0 120 C120 96 210 70 320 86 C430 102 500 60 610 64 C720 68 790 104 900 96 C1010 88 1090 52 1200 58 C1300 64 1380 92 1440 88' fill='none' stroke='%23E2B84B' stroke-opacity='.55' stroke-width='1.5'/%3E%3Crect y='196' width='1440' height='64' fill='%230E2C23'/%3E%3Cg stroke='%239FC4B4' stroke-opacity='.35' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M120 212 H300 M520 210 H760 M980 214 H1180 M1290 210 H1380'/%3E%3Cpath d='M60 228 H180 M380 230 H520 M700 228 H900 M1100 232 H1260'/%3E%3Cpath d='M240 246 H330 M600 246 H680 M1000 248 H1080 M1340 246 H1410'/%3E%3C/g%3E%3C/svg%3E") center bottom/max(1440px,100%) 100% no-repeat}
.hero h1{color:#fff;font-size:2.4rem;margin:.15em 0 .35em;max-width:16ch;line-height:1.04}
.hero .lede{color:#E3EEE8;max-width:62ch;font-size:1.06rem}
.eyebrow{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hero .inline-form{background:var(--card);border-radius:999px;padding:6px;max-width:720px;gap:6px;flex-wrap:nowrap;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hero .inline-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hero .inline-form input[type=search]{border:0;border-radius:999px;padding-left:18px;min-height:48px;font-size:1.05rem}
.hero .inline-form button{min-height:48px;border-radius:999px;padding:0 26px;flex:0 0 auto}
.hero .help{color:#E3EEE8}.hero .help a{color:#fff}
.home .main>.hero:first-child{margin-top:0}
@media (min-width:960px){.hero{padding:64px 0 200px}.hero::after{height:250px}.hero h1{font-size:3.5rem}.hero .lede{font-size:1.18rem}}

/* running heads, chips, badges, region tabs */
.rh{font-size:.82rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:.2em 0 .6em}
.chip{display:inline-block;background:var(--spruce-50);color:var(--spruce-800);border:1px solid var(--spruce-100);font:650 .76rem/1.3 var(--body);letter-spacing:.04em;padding:4px 11px;border-radius:999px;vertical-align:middle;white-space:normal}
.chip-amber{background:var(--amber-bg);color:var(--amber-ink);border-color:#E6CB79}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:.2em 0 .9em}
.badge{display:inline-block;border:1px solid var(--rule);background:var(--card);color:var(--ink-2);font-size:.78rem;line-height:1.3;padding:3px 9px;margin:2px 4px 2px 0;border-radius:999px}
.badge-moss{border-color:var(--spruce-600);color:var(--spruce-700);font-weight:650;background:var(--spruce-50)}
.badge-flag{border-color:var(--trout);color:var(--trout)}
.tab{display:inline-block;color:#fff;font-size:.8rem;font-weight:650;padding:4px 12px;letter-spacing:.03em;border-radius:999px}
.tab-NW{background:var(--nw)}.tab-NC{background:var(--nc)}.tab-NE{background:var(--ne)}.tab-SW{background:var(--sw)}.tab-SC{background:var(--sc)}.tab-SE{background:var(--se)}
a.tab{color:#fff;text-decoration:none;padding:0 16px}
.lede{font-size:1.1rem;color:var(--ink);max-width:70ch}
.answer{font-family:var(--display);font-size:1.22rem;line-height:1.45;color:var(--spruce-900);background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);border-left:5px solid var(--gold);padding:18px 22px;margin:1.2em 0 1.6em}

/* cards, notices */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;margin:0 0 1.1em}
.card>:last-child{margin-bottom:0}
.notice{background:var(--amber-bg);color:var(--amber-ink);border-radius:var(--r-sm);padding:12px 16px;margin:0 0 1em}
.neutral{background:var(--spruce-50);border:1px solid var(--spruce-100);border-radius:var(--r-sm);padding:12px 16px;margin:0 0 1em}
.safety{border:2px solid var(--trout);border-radius:var(--r-sm);background:#FDF4F2;color:#5E1A16;padding:12px 16px;margin:0 0 1em;font-weight:650}
.ok{color:var(--spruce-600)}
.err{background:#FBEAE7;border:1px solid var(--trout);border-radius:var(--r-sm);color:#6F1E19;padding:12px 16px;margin:0 0 1em}
.src{font-size:.85rem;color:var(--ink-2);margin-top:-.4em}
.foot-note{font-size:.87rem;color:var(--ink-2);border-top:1px solid var(--rule);padding-top:.6em}
blockquote{margin:0 0 1em;padding:.6em 0 .6em 18px;border-left:3px solid var(--gold);font:italic 400 1.12rem/1.5 "Iowan Old Style",Georgia,"Times New Roman",serif;color:var(--spruce-900)}
.cite{font:400 .85rem/1.4 var(--body);color:var(--ink-2);display:block;font-style:normal;margin-top:.35em}

/* at-a-glance facts */
.glance{display:grid;grid-template-columns:1fr;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:6px 20px;margin:0 0 1.2em}
.glance>div{display:grid;grid-template-columns:1fr;gap:2px 20px;border-bottom:1px solid var(--rule-2);padding:12px 0}
.glance>div:last-child{border-bottom:0}
.glance dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--spruce-600);font-weight:700}
.glance dd{margin:0}
@media (min-width:600px){.glance>div{grid-template-columns:14em 1fr}.glance dt{padding-top:3px}}

/* data tables: become two-column lists below 768 px */
.ledger{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.ledger caption{text-align:left;font-size:.85rem;color:var(--ink-2);padding:8px 2px;caption-side:bottom}
.ledger th,.ledger td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--rule-2)}
.ledger th{font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;color:#E3EEE8;font-weight:700;background:var(--spruce-800)}
.ledger tbody tr:nth-child(even) td{background:#F8FAF8}
.ledger td.r,.ledger th.r{text-align:right}
@media (max-width:767.98px){
  .ledger thead{position:absolute;left:-9999px}
  .ledger,.ledger tbody,.ledger tr,.ledger td{display:block;width:100%}
  .ledger tr{border-bottom:1px solid var(--rule);padding:8px 0}
  .ledger tbody tr:nth-child(even) td{background:transparent}
  .ledger td{display:grid;grid-template-columns:40% minmax(0,1fr);gap:8px;border:0;padding:3px 14px;overflow-wrap:anywhere}
  .ledger td::before{content:attr(data-label);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--spruce-600);font-weight:700;padding-top:3px}
  .ledger td.r{text-align:left}
}

/* lists of lakes */
.az{list-style:none;padding:0;columns:1}
.az li{break-inside:avoid;border-bottom:1px solid var(--rule);padding:6px 0}
.az .meta{display:block;font-size:.85rem;color:var(--ink-2)}
@media (min-width:960px){.az.two{columns:2;column-gap:40px}}
.letter{font-family:var(--display);color:var(--spruce-800);font-size:1.6rem;margin:1.2em 0 .2em;padding-bottom:4px;border-bottom:2px solid var(--gold)}

/* report cards (What PFBC biologists found) */
.report{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 22px;margin:0 0 1.1em;border-top:4px solid var(--spruce-600)}
.report h3{margin:.2em 0 .45em}
.findings li{margin:.45em 0}
.pg{color:var(--ink-2);font-size:.85rem;white-space:nowrap}

/* stocking rows */
.sched{list-style:none;padding:0;margin:0 0 1em}
.sched li{border-bottom:1px solid var(--rule-2);padding:10px 0 10px 16px;position:relative}
.sched li::before{content:"";position:absolute;left:0;top:17px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.sched .when{font-weight:700;color:var(--spruce-800);display:block;font-size:.92rem}
.sched .was{color:var(--ink-2)}
details.past{margin:0 0 1em}
details.past>summary,details.more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650;color:var(--spruce-700)}

/* buttons and forms */
.btn,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:44px;padding:0 24px;border:0;border-radius:999px;background:var(--trout);color:#fff;font:650 1rem/1.2 var(--body);cursor:pointer;text-decoration:none;letter-spacing:.01em}
.btn:hover,button:hover{background:var(--trout-d);color:#fff}
.btn-2{background:transparent;color:var(--spruce-800);box-shadow:inset 0 0 0 2px var(--spruce-800)}
.btn-2:hover{background:var(--spruce-800);color:#fff}
.btn-block{width:100%}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 1em}
label{display:block;font-weight:650;margin:.9em 0 .3em}
label.check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400;margin:.2em 0}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],select,textarea{width:100%;min-height:46px;padding:9px 14px;border:1px solid #8E9A93;border-radius:var(--r-sm);background:#fff;color:var(--ink);font:1rem/1.3 var(--body)}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--spruce-700)}
textarea{min-height:110px}
input[type=checkbox],input[type=radio]{width:22px;height:22px;accent-color:var(--spruce-700);flex:0 0 auto;margin:0}
.help{font-size:.86rem;color:var(--ink-2);margin:.3em 0 0}
.form-row{margin-bottom:.7em}
.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.inline-form>div{flex:1 1 180px}
.inline-form label{margin-top:0}
fieldset{border:1px solid var(--rule);border-radius:var(--r-sm);padding:10px 16px;margin:0 0 1em;background:var(--card)}
legend{font-weight:650;padding:0 6px}
.pick{max-height:420px;overflow:auto;border:1px solid var(--rule);border-radius:var(--r-sm);background:#fff;padding:4px 12px}
.pick h3{font-size:1rem;margin:.6em 0 .2em}

/* typeahead */
.ta{position:relative}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:8;list-style:none;margin:0;padding:6px 0;background:#fff;border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(14,44,35,.22);max-height:320px;overflow:auto;color:var(--ink)}
.suggest li{margin:0}
.suggest a{display:flex;padding:0 16px;text-decoration:none;color:var(--ink)}
.suggest a:hover,.suggest a:focus,.suggest [aria-selected=true] a{background:var(--spruce-50)}
.suggest small{color:var(--ink-2);margin-left:.4em}

/* home modules: feature card + side cards */
.modules{display:grid;grid-template-columns:1fr;gap:18px;margin-top:28px}
.module{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;display:flex;flex-direction:column}
.module>:last-child{margin-bottom:0;margin-top:auto}
.module h2{margin:.1em 0 .45em;font-size:1.4rem}
.module-week{border-top:5px solid var(--spruce-600)}
.module-alm{background:var(--spruce-800);color:#E3EEE8}
.module-alm h2{color:#fff}
.module-alm .btn{background:var(--gold);color:var(--spruce-900)}
.module-alm .btn:hover{background:#F0CD70;color:var(--spruce-900)}
.module-key{background:var(--spruce-50);box-shadow:none;border:1px solid var(--spruce-100)}
.countdown{font-family:var(--display);font-size:1.6rem;line-height:1.2;color:var(--spruce-900)}
@media (min-width:760px){.modules{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){
  /* v1.1.1: a full-width feature card (button top right) over a row of equal side cards; the row shares its width
     however many side cards the season shows, so neither the feature nor a lone card is left with dead space */
  .modules{display:flex;flex-wrap:wrap}
  .module{flex:1 1 260px;min-width:0}
  .module-week,.module-alm{flex-basis:100%}
  .module-week{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;padding:24px 30px}
  .module-week>*{grid-column:1}
  .module-week>p:last-child{grid-column:2;grid-row:1;align-self:start;margin:0}
  .module-alm{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:center;padding:26px 32px}
  .module-alm>*{grid-column:1}
  .module-alm>:last-child{grid-column:2;grid-row:1 / span 4;margin:0}
  .module-alm h2{font-size:1.8rem}
}
.browse{margin-top:8px}
.regions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.regions a.tab{border-radius:var(--r-sm);min-height:64px;padding:0 16px;font-size:.95rem;justify-content:flex-start;box-shadow:var(--shadow)}
.regions a.tab:hover{filter:brightness(1.12)}
@media (min-width:760px){.regions{grid-template-columns:repeat(3,1fr)}}
.how{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:12px;margin:2em 0 1.4em;counter-reset:how}
.how li{counter-increment:how;background:var(--card);border-radius:var(--r);padding:16px 18px 16px 62px;position:relative;font-weight:600;color:var(--spruce-900);margin:0}
.how li::before{content:counter(how);position:absolute;left:18px;top:13px;width:30px;height:30px;border-radius:50%;background:var(--spruce-800);color:var(--gold);font:600 1rem/30px var(--display);text-align:center}
@media (min-width:760px){.how{grid-template-columns:repeat(3,1fr)}}

/* sponsored box */
.sponsor{background:var(--sponsor-bg);border-radius:var(--r);padding:14px 18px;margin:0 0 1.1em;border:1px solid #E7DEC8}
.sponsor-head{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin:0 0 .6em}
.listing{border-top:1px solid #E7DEC8;padding:10px 0}
.listing h3{margin:.1em 0}
.listing p{margin:.2em 0}

/* share */
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 1em}
.share button,.share a{font-size:.92rem}
.share a{padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--spruce-700);text-decoration:none}

/* FAQ */
.qa{border-bottom:1px solid var(--rule);padding:6px 0 8px}
.qa h3{font-size:1.12rem;margin:.6em 0 .25em;color:var(--spruce-800)}
.qa p{margin:.2em 0 .5em}

/* price / product */
.price{font-family:var(--display);font-size:2.6rem;line-height:1.1;color:var(--spruce-900);margin:.1em 0 .2em}
.pricebox{background:var(--card);border-radius:var(--r);box-shadow:0 2px 4px rgba(14,44,35,.06),0 16px 40px rgba(14,44,35,.12);border-top:6px solid var(--gold);padding:22px 24px;margin:0 0 1.4em;max-width:560px}

/* sticky CTA (almanac, advertise; phones) */
.sticky{position:fixed;left:0;right:0;bottom:0;background:var(--card);box-shadow:0 -6px 20px rgba(14,44,35,.15);padding:10px 16px;z-index:6}
.sticky .btn{width:100%}
.has-sticky .foot{padding-bottom:84px}
@media (min-width:960px){.sticky{display:none}.has-sticky .foot{padding-bottom:28px}}

/* AdEngine banner (v1.1.2): one slot between </main> (3rem bottom padding) and the footer (3rem top margin) on public data pages.
   The label (the site's running-head style) and the reserved height (16px label + 4px + 90, or 250 on phones) sit on the <ins>,
   so the banner moves nothing when it lands and a no-fill (tag.js sets display:none on the <ins>) takes the label, the space and
   the wrapper with it. Hidden in print. */
.ae-slot{max-width:1200px;margin:0 auto;padding:0 20px}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:650 11px/16px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.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 ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}

/* footer */
.foot{background:var(--spruce-900);color:#C9D9D0;margin-top:3rem;padding:36px 0 28px;font-size:.9rem}
.foot a{color:#fff;text-decoration-color:rgba(255,255,255,.35)}
.foot a:hover{color:var(--gold)}
.foot-grid{display:grid;grid-template-columns:1fr;gap:20px 48px}
@media (min-width:860px){.foot-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.foot-mark{display:flex;align-items:center;gap:12px;margin:0 0 .8em}
.foot-mark img,.foot-mark .mark{flex:0 0 auto;width:36px;height:36px}
.foot-mark .brand-name{color:#fff;font-size:1.25rem}
.foot-text{color:#C9D9D0;max-width:62ch}
.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:0;align-content:start}
.foot-links a{padding:0;font-size:.92rem}
@media (min-width:860px){.foot-links{grid-template-columns:repeat(3,1fr)}}
.fine{font-size:.8rem;color:#A9BFB3;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;margin:22px 0 0}

/* misc */
.cols{display:grid;grid-template-columns:1fr;gap:0 28px}
@media (min-width:600px){.cols{grid-template-columns:1fr 1fr}}
@media (min-width:960px){h1{font-size:2.8rem}h2{font-size:1.75rem}.cols.three{grid-template-columns:repeat(3,1fr)}}
.ico{width:28px;height:28px;color:var(--spruce-700);vertical-align:middle;margin-right:6px}
hr{border:0;border-top:1px solid var(--rule);margin:1.8em 0}
.right{text-align:right}
.mt0{margin-top:0}

/* printable lake card: one US Letter page */
.printcard .navbar,.printcard .mast-cta,.printcard .mast .tagline,.printcard .foot-links,.printcard .crumbs{display:none!important}
@page{size:letter;margin:.45in}
@media print{
  body{background:#fff;font-size:10.5pt;line-height:1.3}
  .mast,.navbar,.foot-links,.crumbs,.share,.btns,.noprint,.sticky,.banner-amber{display:none!important}
  .strip{background:#fff;color:#000;border-bottom:1px solid #000;font-size:7.5pt;padding:0 0 2pt;text-align:left}
  a{color:#000;text-decoration:none}
  a:not(.inl){min-height:0;min-width:0;display:inline}
  .wrap{max-width:none;padding:0}
  h1{font-size:20pt;margin:0 0 4pt;color:#000}
  h2{font-size:12.5pt;margin:8pt 0 3pt;color:#000}
  .card,.report,.glance,.answer{border:0;box-shadow:none;padding:0;margin:0 0 4pt;background:#fff}
  .answer{font-size:10.5pt}
  .foot{background:#fff;color:#000;border-top:1px solid #000;margin:6pt 0 0;padding:4pt 0 0;font-size:7.5pt}
  .foot-text,.fine{color:#000}
  .foot-mark{display:none}
  .chip{border:1px solid #000;color:#000;background:#fff}
  .pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14pt}
  .pc-grid h2{margin-top:6pt}
  .printcard p{margin:0 0 3pt}
  .printcard ul{margin:0 0 3pt;padding-left:11pt}
  .printcard .findings li{margin:1pt 0}
  .printcard .sched li{border:0;padding:1pt 0}
  .printcard .sched li::before{display:none}
  .printcard .small,.printcard .src{font-size:8.5pt}
  .pc-qr{display:flex;gap:16pt;margin:4pt 0}
  .pc-qr svg{width:.95in;height:.95in}
  .pc-qr figure{font-size:7.5pt}
}
.pc-qr{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0}
.pc-qr figure{margin:0;text-align:center;font-size:.8rem}
.pc-qr svg{width:120px;height:120px;background:#fff}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.module-week>p:last-child a{padding:0 20px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--spruce-700);text-decoration:none;font-weight:650;align-self:flex-start}
.module-week>p:last-child a:hover{background:var(--spruce-700);color:#fff}
