/* Campground SEO: "Lakeshore". Loads after site.css and overrides it. Direction: clients/campgroundseo/redesign/direction.md.
   Two families, self-hosted: Kanit 600/700 for display, Barlow 400/700 for body and UI, no JavaScript, no gradients, no beige.
   Contrast (WCAG 2.x, computed): white on navy #123456 12.72; white on cobalt #0A5BC4 6.35; navy on amber #FFB81C 7.34;
   amber on navy 7.34; amber on cobalt 3.75 (focus ring on the header and CTA band only); ink #0E1B2A on white 17.37;
   ink on pale #E4EFFA 14.91; navy on pale 10.92; mute #3D5064 on pale 7.13, on white 8.30; cobalt on pale 5.45, on white 6.35.
   Focus ring: navy 3px on light surfaces, amber 3px on navy/cobalt surfaces (amber on white would be 1.7, so it is not used there). */

@font-face{font-family:"Barlow";src:url("/fonts/barlow-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("/fonts/barlow-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Kanit";src:url("/fonts/kanit-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Kanit";src:url("/fonts/kanit-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
/* metric-matched fallbacks (Arial Bold scaled to Kanit's advance widths and vertical metrics) so the swap does not move layout */
@font-face{font-family:"Kanit Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold");font-weight:600;size-adjust:98.7%;ascent-override:111.4%;descent-override:40%;line-gap-override:0%}
@font-face{font-family:"Kanit Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold");font-weight:700;size-adjust:100.3%;ascent-override:109.7%;descent-override:39.4%;line-gap-override:0%}

:root[data-design="lakeshore"][data-vertical="lakeshore"]{
  --navy:#123456; --cobalt:#0A5BC4; --amber:#FFB81C; --pale:#E4EFFA; --ink:#0E1B2A; --mute:#3D5064;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:72px;
  --gutter:clamp(16px,4vw,48px); --container:1280px; --edge:var(--gutter);
  --f:"Barlow",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --t-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --fd:"Kanit","Kanit Fallback",Arial,system-ui,sans-serif;
  --t-h1:clamp(1.875rem,1.3rem + 2.3vw,3.125rem);
  --t-h2:clamp(1.625rem,1.2rem + 1.6vw,2.5rem);
  --t-small:.9375rem;
  /* remap the shared tokens so every site.css component picks the new system up, dark mode included */
  --paper:#fff; --paper-raised:#fff; --ink-muted:#3D5064; --line:#B7CCE2; --accent:#0A5BC4; --accent-deep:#0A5BC4;
  --link:#0A5BC4; --link-strong:#123456; --gold-hairline:#FFB81C; --dg-on-accent:#fff;
  --font-body:var(--f); --font-display:var(--fd); --max-width:38rem;
  -webkit-text-size-adjust:100%; color-scheme:light;
}
[data-design] *,[data-design] *::before,[data-design] *::after{box-sizing:border-box}
[data-design] body{margin:0;background:#fff;background-image:none;color:var(--ink);font:400 var(--t-body)/1.55 var(--f)}
[data-design] :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:2px}
[data-design] :where(.site-header,.hero-tab,.cta-band,.site-footer,.own-band,.side-form,.price-callout .tier-label) :where(a,button,input):focus-visible{outline-color:var(--amber)}
[data-design] img{max-width:100%}
[data-design] a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
[data-design] a:hover{color:var(--navy);text-decoration-thickness:2px}
[data-design] .skip-link{position:absolute;inset-inline-start:var(--s4);top:-5rem;z-index:100;background:var(--navy);color:#fff;padding:var(--s3) var(--s4);min-block-size:44px;display:inline-flex;align-items:center;text-decoration:none;font-weight:700}
[data-design] .skip-link:focus{top:var(--s3);outline-color:var(--amber)}

/* photo-card: overflow:hidden would clip the outside ring, so card links ring inside the card */
[data-design] .photo-card :where(a):focus-visible{outline-offset:-3px}
[data-design] .photo-card h2 a:focus-visible{outline-color:var(--navy)}

/* ---------- header: cobalt bar, plain links that wrap to two tidy rows on a phone ---------- */
[data-design] header.site-header{position:static;background:var(--cobalt);color:#fff;padding:0;border:0}
[data-design] header.site-header .wrap{max-width:var(--container);margin-inline:auto;padding:var(--s1) var(--gutter) var(--s1);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s5)}
[data-design] header.site-header a.brand{display:inline-flex;align-items:center;min-block-size:44px;color:#fff;font:700 1.25rem/1 var(--fd);letter-spacing:0;text-decoration:none;white-space:nowrap}
[data-design] .mast-mail{display:none;align-items:center;min-block-size:44px;padding:0 var(--s4);border:2px solid #fff;border-radius:999px;color:#fff;font-weight:700;font-size:var(--t-small);text-decoration:none;white-space:nowrap}
[data-design] .mast-mail:hover{background:#fff;color:var(--cobalt)}
[data-design] nav.site-nav{display:flex;flex-wrap:wrap;gap:0 var(--s4);inline-size:100%;background:none;border:0;padding:0}
[data-design] nav.site-nav a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;justify-content:center;color:#fff;font-family:var(--fd);font-weight:600;font-size:.8125rem;text-decoration:none;padding:0;white-space:nowrap}
[data-design] nav.site-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
[data-design] nav.site-nav a[aria-current="page"]{color:#fff;font-weight:600;border:0;padding:0;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px;text-underline-offset:6px}
@media (min-width:34rem){[data-design] .mast-mail{display:inline-flex}}
@media (min-width:40rem){[data-design] nav.site-nav a{font-size:.875rem}[data-design] nav.site-nav{gap:0 var(--s5)}}
@media (min-width:76rem){
  [data-design] header.site-header .wrap{flex-wrap:nowrap;justify-content:flex-start;padding-block:var(--s3)}
  [data-design] nav.site-nav{inline-size:auto;flex-wrap:nowrap;gap:0 var(--s5);margin-inline-start:auto}
  [data-design] header.site-header a.brand{margin-inline-end:var(--s5)}
}

/* ---------- main frame: prose stays on a readable measure, left aligned; full-bleed sections break out ---------- */
[data-design] main{container-type:inline-size;max-width:none;margin:0;padding:0;--edge:max(var(--gutter),calc((100cqw - var(--container))/2 + var(--gutter)))}
[data-design] main>*{margin-inline:var(--edge) var(--gutter);max-inline-size:38rem}
[data-design] main>:where(.hero,.ledger,.parks,.cta-band){margin-inline:0;max-inline-size:none}
[data-design] main>.with-aside{margin-inline:var(--edge);max-inline-size:none;margin-block-start:var(--s7)}
[data-design] main>:where(.table-wrap,.diagram,.photo-compare,.area-cards,.tiers,.faq){max-inline-size:52rem}
[data-design] main>.hero+*{margin-block-start:var(--s7)}
[data-design] main>.hero+.with-aside{margin-block-start:var(--s7)}
[data-design] main p{margin-block:0 var(--s4)}
[data-design] main :where(strong,b){font-weight:700}
[data-design] h1,[data-design] h2,[data-design] h3{font-family:var(--fd);font-weight:700;letter-spacing:0}
[data-design] h3{font-weight:600}
[data-design] h2{font-size:var(--t-h2);line-height:1.15;color:var(--navy);margin-block:var(--s8) var(--s3);padding:0;border:0;max-inline-size:22ch;text-wrap:balance}
[data-design] main>h2:first-of-type{margin-block-start:0}
[data-design] h3{font-size:1.25rem;line-height:1.25;color:var(--navy);margin-block:var(--s6) var(--s2)}
[data-design] main ul,[data-design] main ol{padding-inline-start:1.25rem;margin-block:0 var(--s4)}
[data-design] main li{margin-bottom:var(--s2)}
[data-design] main>.hero+.dek{margin-block-start:var(--s7)}

/* ---------- interior pages: article column left, sticky aside right (>= 56rem); below that the aside stacks after the article ---------- */
[data-design] .with-aside{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s7);align-items:start}
[data-design] .article{min-inline-size:0}
[data-design] .article>*{margin-inline:0;max-inline-size:38rem}
[data-design] .article>:first-child{margin-block-start:0}
[data-design] .article>:where(.table-wrap,.diagram,.photo-compare,.area-cards,.tiers,.faq){max-inline-size:100%}
[data-design] .article .area-cards{grid-template-columns:minmax(0,1fr)}
[data-design] .side{display:grid;gap:var(--s5);min-inline-size:0}
[data-design] .side-form{background:var(--navy);color:#fff;border-radius:12px;padding:var(--s5)}
[data-design] .side-form h2{color:#fff;font:700 1.375rem/1.2 var(--fd);margin:0 0 var(--s4);max-inline-size:none;text-wrap:balance}
[data-design] .side-form .lead-form{margin:0}
[data-design] .side-form .lead-form input{border-color:#fff}
[data-design] .side-ledger{list-style:none;margin:0;padding:0;border-block-start:2px solid var(--navy)}
[data-design] .side-ledger li{margin:0;border-block-end:2px solid var(--line)}
[data-design] .side-ledger a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);min-block-size:56px;padding:var(--s3) var(--s1);color:var(--navy);text-decoration:none;font:600 1rem/1.2 var(--fd);letter-spacing:.04em;text-transform:uppercase}
[data-design] .side-ledger a:hover{background:var(--pale)}
[data-design] .side-ledger .side-price{font:700 1.75rem/1.1 var(--fd);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
@media (min-width:56rem){
  [data-design] .with-aside{grid-template-columns:minmax(0,40rem) minmax(16rem,24rem);justify-content:space-between;column-gap:var(--s6)}
  [data-design] .side{position:sticky;top:var(--s5)}
}

/* ---------- hero ---------- */
[data-design] .hero{display:flex;flex-direction:column;background:var(--navy);color:#fff;margin:0;padding:0;border:0}
[data-design] .hero-photo{position:relative;overflow:hidden;block-size:40svh;min-block-size:250px;background:var(--navy)}
[data-design] .hero-photo picture{position:absolute;inset:0;display:block}
[data-design] .hero-photo img{display:block;inline-size:100%;block-size:100%;object-fit:cover;object-position:55% 82%}
[data-design] .hero-tab{display:flex;flex-direction:column;padding:var(--s3) var(--gutter) var(--s6);color:#fff;background:var(--navy)}
[data-design] .hero h1{color:#fff;font-size:var(--t-h1);line-height:1.12;margin:0 0 var(--s2);text-wrap:balance;order:1}
[data-design] .hero h1 .price{color:var(--amber);white-space:nowrap}
[data-design] .hero .dek{font:400 1.0625rem/1.5 var(--f);color:#fff;margin:0 0 var(--s4);max-inline-size:44ch;order:3}
[data-design] .hero .kicker{font:600 .875rem/1.3 var(--fd);letter-spacing:.06em;text-transform:uppercase;font-variant:normal;color:var(--amber);margin:0 0 var(--s2);order:4}
[data-design] .hero .kicker::before{content:none}
[data-design] .lead-form{order:2;display:grid;gap:var(--s2) var(--s3);margin:var(--s2) 0 var(--s4)}
[data-design] .lead-form label{display:block;font-weight:700;font-size:var(--t-small);margin-bottom:var(--s1)}
[data-design] .lead-form input{display:block;inline-size:100%;min-block-size:44px;font:inherit;padding:var(--s1) var(--s4);border:2px solid #fff;border-radius:6px;background:#fff;color:var(--ink)}
[data-design] .lead-form button{min-block-size:56px;font:700 1rem/1.2 var(--f);background:var(--amber);color:var(--navy);border:0;border-radius:6px;padding:var(--s3) var(--s4);cursor:pointer;text-align:start}
[data-design] .lead-form button:hover{background:#ffc94d}
[data-design] .lead-form .micro{margin:0;font-size:var(--t-small);color:#fff;max-inline-size:46ch}
[data-design] .lead-form .micro a{color:#fff;font-weight:700}
[data-design] .lead-form .micro a:hover{color:var(--amber)}
@media (max-width:55.99rem){
  [data-design] .is-home .hero-photo{block-size:30svh;min-block-size:150px}
  [data-design] .is-home .hero-tab{padding-block:var(--s2) var(--s4)}
  [data-design] .is-home h1{font-size:clamp(1.5rem,1.2rem + 1.6vw,1.875rem);margin-bottom:var(--s1)}
  [data-design] .is-home .dek{font-size:1rem;line-height:1.4;margin-bottom:var(--s2)}
  [data-design] .is-home .lead-form{margin-block:var(--s1) var(--s3)}
  [data-design] .is-home .lead-form button{min-block-size:52px}
}
/* interior pages: navy title band */
[data-design] .hero:not(.is-home) .hero-tab{padding-block:var(--s6) var(--s7);padding-inline:var(--edge) var(--gutter)}
[data-design] .hero:not(.is-home) h1{max-inline-size:24ch}
[data-design] .hero:not(.is-home) .dek{font-size:clamp(1.125rem,1.05rem + .3vw,1.3125rem);max-inline-size:46ch;margin:0}
[data-design] .has-photo .hero-photo{block-size:32svh;min-block-size:200px}
@media (min-width:56rem){
  [data-design] .hero:not(.is-home):not(.has-photo) .hero-tab{padding-block:var(--s5) var(--s5)}
  [data-design] .hero:not(.is-home):not(.has-photo) h1{max-inline-size:36ch;margin-bottom:var(--s3)}
  [data-design] .hero:not(.is-home):not(.has-photo) .dek{max-inline-size:64ch}
  [data-design] .has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%)}
  [data-design] .has-photo .hero-photo{order:2;block-size:auto;min-block-size:340px}
  [data-design] .has-photo .hero-tab{order:1;justify-content:center}
  [data-design] .is-home{display:grid;min-block-size:clamp(640px,calc(100dvh - 76px),880px)}
  [data-design] .is-home>*{grid-area:1/1}
  [data-design] .is-home .hero-photo{block-size:auto;min-block-size:0}
  [data-design] .is-home .hero-photo picture{inset:auto;inset-inline-start:0;bottom:0;inline-size:125%;block-size:125%}
  [data-design] .is-home .hero-photo img{object-position:left bottom}
  [data-design] .is-home .hero-tab{align-self:end;justify-self:start;margin-inline-start:var(--edge);inline-size:min(40rem,54%);padding:var(--s6);border-radius:24px 24px 0 0;position:relative}
  [data-design] .is-home .kicker{order:0}
  [data-design] .is-home .dek{order:2}
  [data-design] .is-home .lead-form{order:3;grid-template-columns:repeat(2,minmax(0,1fr));margin-block-end:0}
  [data-design] .lead-form :where(button,.micro){grid-column:1/-1}
}

/* ---------- three sizes: pale section, photo-topped cards, navy strips ---------- */
[data-design] .ledger,[data-design] .parks{background:var(--pale);padding:var(--s7) var(--edge) var(--s8);margin-block:var(--s8) 0}
[data-design] .parks{margin-block-start:0;padding-block:var(--s6) var(--s8)}
[data-design] .ledger>*{max-inline-size:38rem}
[data-design] .ledger>h2{margin-block-start:0}
[data-design] .ledger>:where(.tiers,.own-band){max-inline-size:none}
[data-design] .tiers{display:grid;gap:var(--s5);margin-block:var(--s6);align-items:start}
[data-design] .price-callout{display:flex;flex-direction:column;background:#fff;border:0;border-radius:12px;overflow:hidden;padding:0;margin:0;box-shadow:none}
[data-design] .price-callout picture{display:block}
[data-design] .price-callout img{display:block;inline-size:100%;block-size:auto;aspect-ratio:4/3;object-fit:cover}
[data-design] .price-callout .tier-label{order:0;margin:0;background:var(--navy);color:#fff;font:600 .875rem/1.2 var(--fd);letter-spacing:.06em;text-transform:uppercase;font-variant:normal;padding:var(--s2) var(--s4)}
[data-design] .price-callout .tier-price{margin:0;padding:var(--s4) var(--s4) 0;background:none;color:var(--navy);font:700 2.25rem/1.15 var(--fd);letter-spacing:0;font-variant-numeric:tabular-nums}
[data-design] .price-callout.tier-better .tier-price{display:block;background:none;color:var(--navy);padding:var(--s4) var(--s4) 0;border-radius:0}
[data-design] .price-callout ul{list-style:none;margin:0;padding:var(--s3) var(--s4) var(--s5)}
[data-design] .price-callout li{position:relative;padding-inline-start:1.5rem;margin-bottom:var(--s2);font-size:1.0625rem}
[data-design] .price-callout li::before{content:"\2713";position:absolute;inset-inline-start:0;color:var(--cobalt);font-weight:700}
[data-design] .price-callout--compact{margin:0}
@container (min-width:64rem){
  [data-design] .tiers{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-design] .tiers>.price-callout:nth-child(2){margin-top:var(--s7)}
  [data-design] .tiers>.price-callout:nth-child(3){margin-top:var(--s5)}
}
[data-design] .own-band{background:var(--navy);border:0;border-radius:12px;color:#fff;padding:var(--s6);margin:var(--s6) 0 0}
[data-design] .own-band p{margin:0 0 var(--s3);max-inline-size:60ch}
[data-design] .own-band a,[data-design] .own-band a:hover{color:#fff}
[data-design] .own-band .own-mark{display:block;margin-bottom:var(--s3)}
[data-design] .ledger>p a{color:var(--cobalt)}

/* park-type cards */
[data-design] .card-grid{display:grid;gap:var(--s5);margin:0;max-inline-size:var(--container)}
[data-design] .photo-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;margin:0}
[data-design] .photo-card-media{position:relative;display:block;border-radius:0;line-height:1.2;text-decoration:none}
[data-design] .photo-card-media picture{display:block}
[data-design] .photo-card-media img{display:block;inline-size:100%;block-size:auto;aspect-ratio:4/3;object-fit:cover}
[data-design] .photo-card-badge{position:static;display:block;border-radius:0;background:var(--navy);color:#fff;font:600 .875rem/1.2 var(--fd);letter-spacing:.06em;text-transform:uppercase;padding:var(--s2) var(--s4)}
[data-design] .photo-card h2{font:600 1.375rem/1.2 var(--fd);color:var(--navy);margin:var(--s4) var(--s4) var(--s2);max-inline-size:none;text-wrap:balance}
[data-design] .photo-card h2 a{color:var(--navy);text-decoration:none}
[data-design] .photo-card h2 a:hover{text-decoration:underline}
[data-design] .photo-card p{margin:0;padding:0 var(--s4) var(--s5);color:var(--ink);font-size:1.0625rem}
@container (min-width:48rem){
  [data-design] .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* guides hub: text cards with a navy title strip */
[data-design] .area-cards{display:grid;gap:var(--s4);margin-block:var(--s6)}
[data-design] .area-card{background:#fff;border:2px solid var(--line);border-radius:12px;overflow:hidden;padding:0;margin:0}
[data-design] .area-card h2{background:var(--navy);margin:0;max-inline-size:none;padding:var(--s3) var(--s4);font:600 1.125rem/1.3 var(--fd);color:#fff;text-wrap:balance}
[data-design] .area-card h2 a{color:#fff;text-decoration:none;display:block}
[data-design] .area-card h2 a:hover{text-decoration:underline}
[data-design] .area-card h2 a:focus-visible{outline-color:var(--amber)}
[data-design] .area-card p{margin:0;padding:var(--s4);color:var(--ink)}
@container (min-width:52rem){[data-design] .area-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- content components (guides, business pages, about, legal) ---------- */
[data-design] .faq{margin-block:0 var(--s4)}
[data-design] .faq dt{font:600 1.125rem/1.3 var(--fd);color:var(--navy);margin:var(--s5) 0 var(--s1);padding-top:var(--s4);border-top:2px solid var(--line)}
[data-design] .faq dt:first-child{border-top:0;padding-top:0;margin-top:0}
[data-design] .faq dd{margin:0}
[data-design] .table-wrap{overflow-x:auto;margin-block:var(--s5);border:2px solid var(--line);border-radius:8px;background:#fff}
[data-design] .table-wrap table{inline-size:100%;border-collapse:collapse;font-size:var(--t-small);min-inline-size:32rem}
[data-design] .table-wrap th,[data-design] .table-wrap td{padding:var(--s3) var(--s4);text-align:start;vertical-align:top;border-bottom:1px solid var(--line)}
[data-design] .table-wrap thead th{background:var(--navy);color:#fff;font:700 var(--t-small)/1.3 var(--f);letter-spacing:.04em;text-transform:none;border-bottom:0}
[data-design] .table-wrap tbody tr:nth-child(even){background:var(--pale)}
[data-design] .table-wrap tbody th{font-weight:700;color:var(--navy)}
[data-design] .pullquote{margin:var(--s7) 0;padding:var(--s5) 0;border-block-start:6px solid var(--amber);border-block-end:2px solid var(--line)}
[data-design] .pullquote p{font:700 clamp(1.5rem,1.2rem + 1.2vw,2rem)/1.2 var(--f);color:var(--navy);margin:0;text-indent:0}
[data-design] .note{background:var(--pale);border:0;border-inline-start:6px solid var(--cobalt);border-radius:0 8px 8px 0;padding:var(--s4) var(--s5);margin-block:var(--s5);color:var(--ink)}
[data-design] .action-cta,[data-design] .guide-cta-inline{background:var(--pale);border:0;border-inline-start:6px solid var(--amber);border-radius:0 8px 8px 0;padding:var(--s4) var(--s5);margin-block:var(--s5);color:var(--navy);font-weight:700;font-size:1.0625rem}
[data-design] .action-cta a,[data-design] .guide-cta-inline a{color:var(--cobalt)}
[data-design] .guide-canada-note{font-size:var(--t-small);color:var(--mute)}
[data-design] main ul.checklist{list-style:none;padding-inline-start:0}
[data-design] main ul.checklist li{position:relative;padding-inline-start:2.25rem;margin-bottom:var(--s3)}
[data-design] main ul.checklist li::before{content:"";position:absolute;inset-inline-start:0;top:.2em;inline-size:1.25rem;block-size:1.25rem;border:3px solid var(--cobalt);border-radius:4px;background:#fff}
[data-design] figure.diagram{margin-block:var(--s6);padding:var(--s4);border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--navy)}
[data-design] figure.diagram figcaption{font-size:var(--t-small);color:var(--mute);margin-top:var(--s3)}
[data-design] .illustration-tag{font-variant:normal;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700;border:2px solid var(--cobalt);border-radius:4px;color:var(--cobalt);padding:0 var(--s2)}
[data-design] .photo-compare{display:grid;gap:var(--s4);margin-block:var(--s5)}
[data-design] .photo-compare img{border:0;border-radius:8px;display:block;inline-size:100%;block-size:auto;aspect-ratio:1/1;object-fit:cover}
[data-design] .photo-compare figcaption{font-size:var(--t-small);color:var(--mute);margin-top:var(--s2)}
[data-design] .photo-compare-tag{border-radius:4px;font-variant:normal;text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:.75rem;padding:2px var(--s2)}
[data-design] .photo-compare-tag--bad{background:var(--line);color:var(--ink)}
[data-design] .photo-compare-tag--good{background:var(--cobalt);color:#fff}
[data-design] .about-figure{float:inline-end;inline-size:176px;margin:0 0 var(--s4) var(--s5)}
[data-design] .about-photo{border:0;border-radius:12px;inline-size:176px;block-size:176px;object-fit:cover;display:block}
[data-design] .about-figure figcaption{font-variant:normal;letter-spacing:0;font-size:var(--t-small);color:var(--mute);text-align:start;margin-top:var(--s2)}
[data-design] .about-thesis{font:700 clamp(1.5rem,1.2rem + 1.2vw,2rem)/1.2 var(--f);font-style:normal;color:var(--navy);border-inline-start:6px solid var(--amber);padding-inline-start:var(--s4);margin-block:var(--s6)}
[data-design] .about-map img{border:2px solid var(--line);border-radius:12px}
[data-design] .about-map figcaption{font-style:normal;text-align:start;color:var(--mute)}
[data-design] .legal-updated{font-style:normal;color:var(--mute);font-size:var(--t-small)}
[data-design] .nl-form{border-top:0;padding-top:0;max-inline-size:32rem}
[data-design] .nl-field input[type="email"]{border:2px solid var(--navy);border-radius:6px;background:#fff;color:var(--ink);min-block-size:48px}
[data-design] .nl-form .nl-button{background:var(--navy);border-color:var(--navy);border-radius:6px;min-block-size:48px}
[data-design] .nl-form .nl-button:hover{filter:none;background:var(--cobalt);border-color:var(--cobalt)}
@media (max-width:37.5rem){[data-design] .about-figure{float:none;margin:0 0 var(--s4)}}
@media (min-width:40rem){[data-design] .photo-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- call-to-action band and footer ---------- */
[data-design] .parks+.cta-band{margin-block-start:0}
[data-design] .cta-band{background:var(--cobalt);color:#fff;border:0;margin:var(--s8) 0 0;padding:var(--s7) 0}
[data-design] .cta-band-inner{max-inline-size:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
[data-design] .cta-band .cta-lead{font:700 clamp(1.5rem,1.1rem + 1.6vw,2.25rem)/1.2 var(--fd);color:#fff;margin:0 0 var(--s5);max-inline-size:24ch}
[data-design] .cta-buttons{display:flex;flex-wrap:wrap;gap:var(--s3)}
[data-design] .cta-btn{display:inline-flex;align-items:center;min-block-size:52px;padding:var(--s3) var(--s5);border-radius:6px;font:700 1.0625rem/1.2 var(--f);text-decoration:none}
[data-design] .cta-btn-primary{background:var(--amber);color:var(--navy);box-shadow:none}
[data-design] .cta-btn-primary:hover,[data-design] .cta-btn-primary:focus{background:#ffc94d;color:var(--navy);box-shadow:none}
[data-design] .cta-btn-secondary{background:transparent;color:#fff;border:2px solid #fff;padding:calc(var(--s3) - 2px) calc(var(--s5) - 2px)}
[data-design] .cta-btn-secondary:hover,[data-design] .cta-btn-secondary:focus{background:#fff;color:var(--cobalt)}
[data-design] .cta-band .cta-note{color:#fff;font-size:var(--t-small);margin:var(--s4) 0 0}
[data-design] footer.site-footer{background:var(--navy);color:#fff;border:0;padding:var(--s7) 0}
[data-design] footer.site-footer .wrap{max-inline-size:var(--container);margin-inline:auto;padding:0 var(--gutter);font:400 var(--t-small)/1.6 var(--f);color:#fff}
[data-design] footer.site-footer p{margin:0 0 var(--s3)}
[data-design] footer.site-footer a{color:#fff;display:inline-block;padding-block:var(--s2)}
[data-design] footer.site-footer a:hover{color:var(--amber)}

@media (prefers-reduced-motion:no-preference){
  [data-design] :where(button,.cta-btn,.mast-mail){transition:background-color 120ms ease-out,color 120ms ease-out}
}
@media (forced-colors:active){
  [data-design] .price-callout li::before,[data-design] main ul.checklist li::before{border-color:CanvasText}
  [data-design] .lead-form button,[data-design] .cta-btn{border:2px solid ButtonText}
}
