/* Pond & Shore PA: "Shoreline" design system (redesign 2026-10-10, see DESIGN.md in the client folder).
   Zilla Slab headings + Asap text, pond-teal / spatterdock-yellow / warm-sand palette, illustrated cross-section.
   Light only. Every text pair on these tokens is WCAG AA or better (ratios in DESIGN.md). */
@font-face{font-family:"Asap";src:url(/assets/fonts/asap-400-700.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Zilla Slab";src:url(/assets/fonts/zilla-700-lat.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;
--paper:#FBF8F1;--sand:#F3ECDA;--sand-2:#E8DEC4;--white:#fff;--ink:#16211F;--muted:#535E5A;--line:#DCD3BD;
--deep:#0E3B3A;--deep-2:#14504D;--teal:#0B6157;--reed:#3F6B2A;--lily:#F2C230;--lily-2:#FFE592;--mud:#4A3826;
--amber-bg:#FFF3D6;--amber-ink:#6B4700;--stale-bg:#FBE3E1;--stale-ink:#7A1D16;--focus:#0B6157;
--sans:"Asap",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--slab:"Zilla Slab",Rockwell,"Roboto Slab",Georgia,serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--cond:var(--slab);
--gut:20px;--r:12px;--r-sm:8px;--shadow:0 1px 2px rgba(22,33,31,.06),0 8px 24px -12px rgba(22,33,31,.18)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--slab);font-weight:700;line-height:1.1;margin:1.4em 0 .5em;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:2.1rem;margin-top:.6em}h2{font-size:1.6rem}h3{font-size:1.25rem;font-weight:700}
p,ul,ol{margin:0 0 1em}ul,ol{padding-left:1.3em}li{margin:.25em 0}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
code,.mono{font-family:var(--mono);font-size:.9em}
mark{background:linear-gradient(transparent 58%,var(--lily) 58%,var(--lily) 92%,transparent 92%);color:inherit;padding:0 .05em}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gut)}.narrow{max-width:780px}
.muted{color:var(--muted)}.small{font-size:.9rem}.fine{font-size:.85rem;color:var(--muted)}
.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}
.skip{position:absolute;left:-999px;top:0;background:var(--lily);color:var(--ink);padding:12px 16px;z-index:9;font-weight:700}.skip:focus{left:8px;top:8px}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.eyebrow,.kicker{font:700 .78rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--reed);margin:0 0 .6em}
/* utility bar + masthead */
.utilbar{display:none;background:var(--deep);color:#D9ECE7;font-size:.82rem}
.utilbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.utilbar nav{display:flex;gap:22px}.utilbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:36px}.utilbar a:hover,.utilbar a[aria-current]{text-decoration:underline;color:#fff}
.mast{position:relative;background:var(--white);border-bottom:1px solid var(--line);z-index:6}
.mast-in{display:flex;align-items:center;gap:10px 18px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-height:48px;margin-right:auto}
.brand svg{width:42px;height:42px;flex:none}.brand .wm{display:block;font:700 1.35rem/1 var(--slab);letter-spacing:-.01em}.brand .dom{display:block;font:500 .78rem/1.4 var(--sans);color:var(--muted);letter-spacing:.02em}
.mast-cta{display:none}
.nav{position:static;order:3}.nav>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;min-width:48px;padding:0 16px;border-radius:999px;background:var(--deep);color:#fff;font-weight:700;cursor:pointer}
.nav>summary::-webkit-details-marker{display:none}
.burger,.burger::before,.burger::after{display:block;width:18px;height:2px;background:currentColor;position:relative;border-radius:2px}.burger::before,.burger::after{content:"";position:absolute;left:0}.burger::before{top:-6px}.burger::after{top:6px}
.nav[open]>summary .burger{background:transparent}.nav[open]>summary .burger::before{top:0;transform:rotate(45deg)}.nav[open]>summary .burger::after{top:0;transform:rotate(-45deg)}
.navs{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:4px solid var(--lily);box-shadow:0 18px 30px -18px rgba(0,0,0,.35);padding:8px var(--gut) 18px;z-index:5}
.navs nav{display:flex;flex-direction:column}.navs a{display:flex;align-items:center;min-height:52px;padding:0 4px;color:var(--ink);font:700 1.2rem/1.2 var(--slab);text-decoration:none;border-bottom:1px solid var(--line)}
.navs a[aria-current]{color:var(--teal);box-shadow:inset 4px 0 0 var(--lily);padding-left:14px}
.navs .util{margin-top:10px}.navs .util a{font:500 1rem/1.2 var(--sans);min-height:46px;border-bottom:0;color:var(--muted)}
/* strips and banners */
.strip{background:var(--sand);border-bottom:1px solid var(--line);font-size:.88rem;padding:9px 0}
.strip .ck{font-weight:700}
.banner{padding:12px var(--gut);font-size:.95rem;border-bottom:1px solid var(--line)}
.banner-over{background:var(--amber-bg);color:var(--amber-ink)}.banner-stale{background:var(--stale-bg);color:var(--stale-ink)}
.banner-paused{background:var(--lily);color:var(--ink);text-align:center;font-weight:700}
.notice{background:var(--sand);border-radius:var(--r-sm);border-left:5px solid var(--reed);padding:14px 16px;margin:0 0 1.2em}
.notice.warn{background:var(--amber-bg);border-color:var(--amber-ink);color:var(--amber-ink)}.notice.bad{background:var(--stale-bg);border-color:var(--stale-ink);color:var(--stale-ink)}
.exact{border:2px solid var(--deep);border-radius:var(--r-sm);padding:14px 16px;margin:1.2em 0;font-weight:700;background:var(--white)}
main{display:block;padding-bottom:56px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:.88rem;margin-top:8px;color:var(--muted)}.crumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--muted)}
.lead{font-size:1.15rem;color:#2C3835}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;border:2px solid var(--deep);border-radius:var(--r-sm);background:var(--deep);color:#fff;font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;text-align:center;transition:background .15s,transform .15s}
.btn:hover{background:var(--deep-2);border-color:var(--deep-2);color:#fff;transform:translateY(-1px)}
.btn-buy,.btn-lily{background:var(--lily);border-color:var(--lily);color:var(--ink)}.btn-buy:hover,.btn-lily:hover{background:var(--lily-2);border-color:var(--lily-2);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--deep)}.btn-ghost:hover{background:var(--sand);color:var(--ink)}
.btn-block{display:flex;width:100%}.btn .ico{width:20px;height:20px}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin:1em 0}
.go{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none}.go .ico{transition:transform .15s}.go:hover .ico{transform:translateX(3px)}
.offsale{display:inline-block;padding:12px 16px;border:2px dashed var(--muted);color:var(--muted);font-weight:700;border-radius:var(--r-sm)}
/* forms */
label{display:block;font-weight:700;margin:14px 0 6px}label[for]:not(.check){display:flex;align-items:flex-end;min-height:44px;margin:4px 0 4px;padding-bottom:4px}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=password],input[type=search],select,textarea{width:100%;min-height:50px;padding:10px 14px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--white);border:1.5px solid #8A928D;border-radius:var(--r-sm)}
textarea{min-height:120px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,97,87,.18)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;min-height:44px;margin:6px 0;padding:10px 0;cursor:pointer}
.check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--teal)}
fieldset{border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 16px 12px;margin:16px 0}legend{font-weight:700;padding:0 6px}
.help{font-size:.9rem;color:var(--muted);margin:4px 0 0}.err{color:var(--stale-ink);font-weight:700;font-size:.95rem;margin:6px 0 0}
.formbox{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:6px 20px 22px;margin:1.2em 0;box-shadow:var(--shadow)}
.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.inline-form>div{flex:1 1 220px}.inline-form label{margin-top:0}
/* home: hero + project picker */
.h-hero{background:linear-gradient(180deg,var(--white) 0,var(--paper) 100%);padding:28px 0 36px}
.h-hero-in{display:grid;gap:28px}
.h-copy h1{font-size:2.35rem;line-height:1.04;max-width:16ch;margin:.1em 0 .45em;letter-spacing:-.02em}
.h-lead{font-size:1.08rem;max-width:58ch}.h-lead .stamp{font-size:.8rem}
.h-promise{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:700;font-size:.95rem}
.h-promise li{display:flex;align-items:center;gap:6px;margin:0}.h-promise .ico{width:18px;height:18px;color:var(--reed)}
.h-pick{background:var(--deep);color:#fff;border-radius:18px;padding:22px 18px 18px;box-shadow:0 30px 50px -30px rgba(14,59,58,.7)}
.h-pick h2{color:#fff;margin:.1em 0 .7em;font-size:1.55rem}
.pick-step{margin:0;font:700 .75rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--lily)}
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:8px}.tiles li{margin:0}
.tiles a{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 16px;background:var(--white);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;line-height:1.3;text-decoration:none;box-shadow:var(--shadow);transition:background .15s,border-color .15s}
.tiles a:hover{border-color:var(--teal);background:#EEF6F3}
.tiles .ico{width:28px;height:28px;color:var(--teal);flex:none}
.h-pick .tiles a{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff;box-shadow:none}
.h-pick .tiles a:hover,.h-pick .tiles a:focus-visible{background:var(--lily);border-color:var(--lily);color:var(--ink)}
.h-pick .tiles a:focus-visible{outline-color:var(--lily)}
.h-pick .tiles .ico{color:var(--lily)}.h-pick .tiles a:hover .ico,.h-pick .tiles a:focus-visible .ico{color:var(--deep)}
/* home: illustrated shoreline with the two rules */
.h-shore{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.shore-art{background:var(--paper);line-height:0}.shore-art img{display:block;width:100%;height:auto;min-height:150px;object-fit:cover;object-position:30% 100%}
.h-shore .wrap{padding-top:8px;padding-bottom:40px}
.shore-notes{display:grid;gap:16px}
.note{background:var(--white);color:var(--ink);border-radius:var(--r);padding:20px 20px 8px;border-top:6px solid var(--lily)}
.note h3{margin:.1em 0 .45em;font-size:1.4rem;font-weight:700}
.note-tag{margin:0;font:700 .75rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--teal)}
/* home: tools */
.h-tools{display:grid;gap:18px;margin:44px 0 0}
.tool{position:relative;border-radius:var(--r);padding:24px 22px 12px;overflow:hidden}
.tool h2{margin:.2em 0 .5em;font-size:1.5rem}.tool-month h2{display:flex;align-items:center;gap:8px}
.tool-size{background:var(--sand);display:flex;flex-direction:column}
.tool-size>p:last-of-type{margin-bottom:22px}
.tool-size>.tool-ico{margin-top:auto}
.tool-size::after{content:"";margin:auto -22px -12px;height:58px;flex:none;border-top:2px solid var(--deep);background:repeating-linear-gradient(90deg,var(--deep) 0 2px,transparent 2px 64px) 0 0/100% 26px no-repeat,repeating-linear-gradient(90deg,var(--deep) 0 1px,transparent 1px 16px) 0 0/100% 12px no-repeat,var(--lily-2)}.tool-ico{width:52px;height:52px;border-radius:50%;background:var(--lily);display:flex;align-items:center;justify-content:center}.tool-ico .ico{width:28px;height:28px;color:var(--deep)}
.tool-month{background:var(--white);border:1px solid var(--line)}
.month-big{position:absolute;right:24px;top:-8px;margin:0;font:700 5.5rem/1 var(--slab);color:var(--sand);letter-spacing:-.04em;pointer-events:none;z-index:0}
.tool-month>*:not(.month-big){position:relative;z-index:1}
.month-list{padding-left:0;list-style:none;counter-reset:m}.month-list li{counter-increment:m;position:relative;padding-left:40px;margin:0 0 .8em}
.month-list li::before{content:counter(m);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--deep);color:#fff;font:700 .85rem/28px var(--sans);text-align:center}
/* home: owner's shelf */
.sec-head{margin:56px 0 18px}.sec-head h2{margin:0;font-size:1.9rem;max-width:22ch}
.shelf{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:14px}
.book{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm) var(--r) var(--r) var(--r-sm);padding:20px 20px 16px 34px;margin:0;box-shadow:var(--shadow)}
.book .spine{position:absolute;left:0;top:0;bottom:0;width:14px;border-radius:var(--r-sm) 0 0 var(--r-sm)}
.b1 .spine{background:var(--deep)}.b2 .spine{background:var(--reed)}.b3 .spine{background:var(--mud)}.b4 .spine{background:var(--lily)}
.book h3{margin:0 0 .4em;font-size:1.2rem}.book h3 a{color:var(--ink);text-decoration:none}.book h3 a:hover{color:var(--teal);text-decoration:underline}
.book h3 a::after{content:"";position:absolute;inset:0}.book:hover{border-color:var(--teal)}
.book p{margin:0 0 .6em;color:#3C4743}.book .bprice{margin:auto 0 0;font:700 1.6rem/1 var(--slab);color:var(--deep)}
/* home: pros band + letter band */
.h-pros{background:var(--sand);margin-top:56px;padding:36px 0}
.h-pros-in{display:grid;gap:12px;align-items:center}.h-pros h2{margin:0 0 .4em;font-size:1.9rem}
.h-pros .btn-ghost{border-color:var(--deep)}
.h-letter{background:var(--deep);color:#E4F1ED;padding:40px 0 44px;background-image:radial-gradient(circle at 92% 10%,rgba(242,194,48,.18) 0,transparent 32%)}
.h-letter-in{display:grid;gap:18px}.h-letter h2{color:#fff;margin:0 0 .4em;font-size:1.9rem}.h-letter .eyebrow{color:var(--lily)}
.h-letter label{color:#fff}.h-letter input,.h-letter select{border-color:transparent}.h-letter .small{color:#D2E5E0}
.h-letter input:focus,.h-letter select:focus{box-shadow:0 0 0 3px var(--lily)}
.h-letter :focus-visible{outline-color:var(--lily)}
.h-close{margin:28px 0 0;font-size:.95rem}
/* generic cards (inner pages) */
.hero{padding:28px 0 8px}.hero h1{font-size:2.2rem;max-width:20ch}
.duo{display:grid;gap:16px;margin:18px 0}.band{border-top:1px solid var(--line);margin-top:36px;padding-top:8px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:0 0 16px;box-shadow:var(--shadow)}
.card h3{margin-top:.2em}.card.alt{background:var(--sand);box-shadow:none;border-color:transparent}
.grid{display:grid;gap:16px}.grid-2,.grid-3{grid-template-columns:1fr}
/* permit cards */
.pcard{display:flex;background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin:0 0 16px;break-inside:avoid;overflow:hidden;box-shadow:var(--shadow)}
.pcard .tab{flex:none;width:36px;background:var(--deep);display:flex;align-items:center;justify-content:center}
.pcard .tab span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.pcard.k-federal .tab{background:var(--mud)}.pcard.k-local .tab{background:var(--reed)}.pcard.k-owner .tab{background:var(--lily)}.pcard.k-owner .tab span{color:var(--ink)}.pcard.k-info .tab{background:var(--sand-2)}.pcard.k-info .tab span{color:var(--ink)}
.pcard .pbody{padding:14px 18px;min-width:0;flex:1}.pcard h3{margin:0 0 4px;font-size:1.2rem}.pcard .issuer{color:var(--muted);margin:0 0 8px;font-size:.95rem}
.meta-line{font:600 .9rem/1.45 var(--sans);margin:2px 0;font-variant-numeric:tabular-nums}.prep{list-style:none;padding:0}.prep li{padding-left:30px;position:relative}
.prep li::before{content:"";position:absolute;left:2px;top:.3em;width:16px;height:16px;border:2px solid var(--teal);border-radius:4px}
.links{list-style:none;padding:0;margin:.4em 0}.links a{display:inline-flex;align-items:center;gap:6px;min-height:44px}
/* facts */
.fblock{margin:0 0 1.1em}.fblock>p{margin:0}
.stamp{font-size:.8rem;color:var(--muted);margin:6px 0 0;line-height:1.5}.ck{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.stamp .ck{display:inline-block;background:var(--sand);border-radius:4px;padding:0 6px}
.stamp .flag{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--muted)}
.fx{display:block;margin:4px 0;padding:6px 10px;border-radius:6px}.fx-over{background:var(--amber-bg);color:var(--amber-ink)}.fx-stale{background:var(--stale-bg);color:var(--stale-ink)}
.fx-flag{background:var(--sand);color:var(--ink)}.fx-moved{background:var(--sand);color:var(--ink)}
.short{font-size:1.1rem;background:var(--white);border:1px solid var(--line);border-left:6px solid var(--lily);border-radius:var(--r-sm);padding:14px 16px;margin:0 0 1em}
/* FAQ */
.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{min-height:52px;padding:14px 36px 14px 0;font-weight:700;cursor:pointer;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--sand);text-align:center;font:700 1.1rem/26px var(--sans);color:var(--deep)}.faq details[open] summary::after{content:"\2212";background:var(--lily)}
.faq .ans{padding:0 0 14px}
/* navigator */
.stakes{list-style:none;display:flex;gap:6px;padding:0;margin:16px 0 6px}
.stakes li{flex:1;max-width:40px;height:8px;margin:0;background:var(--sand-2);border-radius:999px}.stakes li.done{background:var(--teal)}.stakes li.now{background:var(--lily)}
.count{font:600 .85rem/1.3 var(--sans);color:var(--muted);margin:0}
.q{outline:none}.answers{list-style:none;padding:0;margin:14px 0}.answers li{margin:0 0 10px}
.ans{display:flex;align-items:center;min-height:56px;padding:12px 18px;background:var(--white);border:2px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-weight:700;text-decoration:none}
.ans:hover,.ans:focus{border-color:var(--deep);background:var(--deep);color:#fff}
.planbar{position:sticky;bottom:0;z-index:4;background:var(--deep);padding:10px var(--gut);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;box-shadow:0 -8px 20px -12px rgba(0,0,0,.4)}
.planbar a,.planbar button{min-height:44px;padding:8px 16px;border:2px solid rgba(255,255,255,.7);border-radius:var(--r-sm);background:transparent;color:#fff;font:700 .95rem/1.2 var(--sans);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.planbar .buy{background:var(--lily);border-color:var(--lily);color:var(--ink)}
.planbar :focus-visible{outline-color:var(--lily)}
.alsocheck{border-top:1px solid var(--line);margin-top:22px}
/* tables */
.tbl{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.95rem;background:var(--white);border-radius:var(--r-sm);overflow:hidden}.tbl caption{text-align:left;font-weight:700;padding:6px 0}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}.tbl th{background:var(--sand);font-weight:700}
.tscroll{overflow-x:auto}
/* directory */
.lcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:0 0 14px}.lcard.feat{border:2px solid var(--lily);box-shadow:var(--shadow)}
.lcard h3{margin:0 0 4px}.lcard h3 a{display:inline-flex;align-items:center;min-height:44px}.lcard .cats{font-size:.9rem;color:var(--muted);margin:0 0 6px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font:700 .76rem/1.4 var(--sans);color:var(--deep);background:#DDEDE8}
.badge.feat{background:var(--lily);color:var(--ink)}
.self{font-size:.92rem;background:var(--sand);padding:10px 14px;border-radius:var(--r-sm)}
/* products */
.price{font:700 1.9rem/1 var(--slab);color:var(--deep)}.toc{columns:1}.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:1em 0}
.samples figure{margin:0}.samples img{display:block;width:100%;border:1px solid var(--line);border-radius:6px;background:var(--white);box-shadow:var(--shadow)}.samples figcaption{font-size:.8rem;color:var(--muted);margin-top:4px}
/* plants and calendar */
.photo{margin:0 0 1em}.photo img{display:block;width:100%;border-radius:var(--r)}.photo figcaption{font-size:.82rem;color:var(--muted);margin-top:6px}
.statusbox{background:var(--sand);padding:12px 16px;border-radius:var(--r-sm);margin:0 0 1em}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font:700 .78rem/1.5 var(--sans);background:var(--white);border:1px solid var(--ink)}
.plist{list-style:none;padding:0;display:grid;gap:12px}.plist li{margin:0}.plist a{display:flex;gap:14px;align-items:center;min-height:72px;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.plist a:hover{border-color:var(--teal);box-shadow:var(--shadow)}
.plist img{width:84px;height:62px;object-fit:cover;border-radius:8px;flex:none}.plist b{display:block;font-family:var(--slab);font-size:1.1rem}.plist span{font-size:.85rem;color:var(--muted)}
.tasks{list-style:none;padding:0}.tasks li{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 10px}
.tasks .kind{font:700 .74rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--reed)}
.months{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.months li{margin:0}.months a{display:flex;align-items:center;min-height:52px;padding:8px 14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);font:700 1.05rem/1.2 var(--slab);text-decoration:none;color:var(--ink)}
.months a:hover{background:var(--lily);border-color:var(--lily)}
/* calculator */
.result{background:var(--white);border:2px solid var(--teal);border-radius:var(--r);padding:14px 18px;margin:1em 0}.result .big{font:700 1.5rem/1.3 var(--slab)}
/* tap targets (criterion 50) */
.card h2 a,.card h3 a,h2>a:only-child{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
:where(details:not(.nav))>summary{min-height:44px;padding-block:10px;cursor:pointer}
/* footer */
.foot{background:var(--sand);color:var(--ink);padding:44px 0 40px;font-size:.93rem;border-top:6px solid var(--deep)}
.foot-top{display:grid;gap:26px}
.foot .brand{color:var(--ink)}.foot .tag{margin:12px 0 4px;max-width:34ch}.foot .pw{font-weight:700;margin:0}
.fh{font:700 .76rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--reed);margin:0 0 4px}
.fcol{display:flex;flex-direction:column}.fcol a{display:inline-flex;align-items:center;min-height:40px;color:var(--ink);text-decoration:none}.fcol a:hover{color:var(--teal);text-decoration:underline}
.foot .legal{color:#3D4744;border-top:1px solid var(--sand-2);padding-top:16px;margin-top:28px;font-size:.84rem;max-width:110ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:600}
.chip:hover{border-color:var(--teal)}.chip[aria-current]{background:var(--deep);border-color:var(--deep);color:#fff}
.ico{width:22px;height:22px;vertical-align:middle}
@media (min-width:600px){
.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.tiles{grid-template-columns:1fr 1fr}.duo{grid-template-columns:1fr 1fr}
.toc{columns:2}.plist{grid-template-columns:1fr 1fr}.months{grid-template-columns:repeat(3,1fr)}h1{font-size:2.6rem}.hero h1{font-size:2.7rem}
.h-copy h1{font-size:3rem}.shore-notes{grid-template-columns:1fr 1fr}.h-tools{grid-template-columns:1fr 1fr}.shelf{grid-template-columns:1fr 1fr}
.foot-top{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
:root{--gut:32px}.grid-3{grid-template-columns:1fr 1fr 1fr}.tiles{grid-template-columns:1fr 1fr 1fr}.h-pick .tiles{grid-template-columns:1fr 1fr}.plist{grid-template-columns:1fr 1fr 1fr}.months{grid-template-columns:repeat(4,1fr)}
.utilbar{display:block}.mast-in{flex-wrap:nowrap;min-height:84px}
.mast-cta{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;background:var(--lily);color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap;order:4}
.mast-cta:hover{background:var(--lily-2);color:var(--ink)}
.nav{order:3}.navs{position:static;border:0;padding:0;background:none;box-shadow:none;display:flex}
@supports selector(::details-content){.nav>summary{display:none}.nav::details-content{display:contents;content-visibility:visible}}
.nav[open]>summary{display:none}
.navs nav{flex-direction:row;gap:0 4px}.navs a{border:0;min-height:46px;padding:0 12px;font:700 1.12rem/1 var(--slab);border-radius:999px}
.navs a:hover{background:var(--sand)}.navs a[aria-current]{box-shadow:none;padding-left:12px;background:#DDEDE8;color:var(--deep)}
.navs .util{display:none}
.main-2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px}.aside{position:sticky;top:16px;align-self:start}
.h-hero{padding:56px 0 64px}.h-hero-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.h-copy h1{font-size:4rem}.h-lead{font-size:1.15rem}
.h-pick{padding:30px 28px 26px}
.h-shore .wrap{margin-top:-120px;position:relative;padding-bottom:56px}.shore-art img{min-height:0}
.note{padding:26px 28px 12px}
.h-tools{grid-template-columns:1fr 1.3fr;gap:24px;margin-top:64px}.tool{padding:32px 32px 18px}.tool-size::after{margin:auto -32px -18px}
.sec-head{margin-top:80px}.sec-head h2{font-size:2.4rem}
.shelf{grid-template-columns:repeat(4,1fr);gap:18px}.book{min-height:280px;padding:26px 22px 20px 38px}
.h-pros{margin-top:72px;padding:52px 0}.h-pros-in{grid-template-columns:1.6fr 1fr;gap:40px}.h-pros .btnrow{justify-content:flex-end}
.h-pros h2,.h-letter h2{font-size:2.4rem}
.h-letter{padding:60px 0}.h-letter-in{grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.foot-top{grid-template-columns:1.6fr 1fr 1fr 1fr}}
@media (max-width:599px){.tbl-stack thead{display:none}.tbl-stack tr{display:block;border:1px solid var(--line);border-radius:var(--r-sm);margin:0 0 10px;background:var(--white)}
.tbl-stack td{display:block;border:0;padding:6px 12px}.tbl-stack td::before{content:attr(data-label);display:block;font:700 .74rem/1.3 var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.brand .dom{display:none}.nav .mlabel{display:none}.nav>summary{padding:0 14px}}
@media (max-width:599px){.month-big{display:none}}
@media (max-width:380px){.brand .wm{font-size:1.15rem}.brand svg{width:36px;height:36px}.h-copy h1{font-size:2.05rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{
body{background:#fff;font-size:11pt}.utilbar,.mast-cta,.nav,.planbar,.foot nav,.skip,.flag,.noprint,.inline-form,form,.btnrow,.shore-art{display:none!important}
.mast{border-bottom:1px solid #000}.wrap{max-width:none;padding:0}.main-2{display:block}.pcard,.card,.fblock{break-inside:avoid;box-shadow:none}
.h-pick,.h-shore,.h-letter{background:#fff;color:#000}
a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;word-break:break-all}a[href^="/"]::after{content:" (lakepennsylvania.us" attr(href) ")";font-size:.85em}
.brand::after,.nav a::after{content:none!important}.foot{background:#fff;color:#000;border:0}.foot a{color:#000}.printfoot{display:block!important}}
.printfoot{display:none;font-size:9pt;border-top:1px solid #000;margin-top:16px;padding-top:6px}
/* ---------- v1.2.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer, on public guide pages only (BaseController::AD_VIEWS). The
   label and the reserved height are on the <ins>, so when tag.js (or ae-size.js) hides a slot it cannot fill, the label and
   the space go with it. 110px = 16px label + 4px gap + 90px banner; 270px on phones (300x250). <main> already ends with 56px
   of padding and the footer has no top margin, so the slot keeps 48px below itself only. display stays in this file and is
   never !important: tag.js hides a slot with style.display='none'. */
.ae-slot{padding:0 var(--gut)}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto 48px;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:700 11px/16px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
