/* Still Water. Primary: Radial (ripple opening, light statements, warm ink, cream shells on pastel).
   Body type from Baba (Atkinson Hyperlegible Next). Drafting marks inside diagrams from Legend. Flat. */
@font-face{font-family:"Public Sans";font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/public-sans-300.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/public-sans-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-next-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-next-700.woff2) format("woff2")}
:root{--cream:#fefbed;--wash:#f6f3e5;--sun:#f9e2bd;--sun-band:#f2cf9f;--pool:#d6ebe8;--pool-band:#b9dcd8;--pool-ink:#2c6e69;--ink:#5a4d3c;--ink-strong:#3f3528;--muted:#6e6253;--rule:rgba(90,77,60,.18);--rule-strong:rgba(90,77,60,.45);
--head:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
--gut:12px;--shell:32px;--pad:clamp(20px,5vw,64px)}
@media(min-width:600px){:root{--gut:clamp(12px,3vw,40px)}}
@media(min-width:960px){:root{--shell:56px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pool);color:var(--ink);font:400 1.0625rem/1.6 var(--body);padding-bottom:84px;-webkit-font-smoothing:antialiased}
@media(min-width:960px){body{padding-bottom:0}}
svg{max-width:100%}
h1,h2,h3,p,ul,ol,figure{margin-top:0}
h1,h2,h3{font-family:var(--head);color:var(--ink-strong);text-wrap:balance;letter-spacing:0}
h1{font-weight:300;font-size:clamp(2.25rem,1.55rem + 3vw,3.25rem);line-height:1.1;margin-bottom:16px;max-width:18ch}
h2{font-weight:300;font-size:clamp(1.875rem,1.45rem + 1.9vw,2.75rem);line-height:1.12;margin-bottom:16px;max-width:22ch}
h3{font-weight:400;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.25;margin-bottom:8px}
p{margin-bottom:16px}
p,li{text-wrap:pretty}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
strong,b{font-weight:700;color:var(--ink-strong)}
:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px}
.skip{position:absolute;left:16px;top:-80px;z-index:50;background:var(--cream);color:var(--ink-strong);padding:12px 20px;border-radius:999px}
.skip:focus{top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.print-only{display:none}
.eyebrow{font:400 .9375rem/1.3 var(--head);color:var(--ink);margin-bottom:16px}
.lead{font-size:1.1875rem;line-height:1.55;max-width:34rem}
.caption,.meta,.updated,figcaption{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.more{display:inline-block;padding-block:12px;line-height:1.5;font-weight:700;color:var(--ink-strong)}
.more::after{content:"\2192";margin-left:.4em;transition:transform .2s ease}
.more:hover::after{transform:translateX(3px)}

/* header capsule */
.site-header{position:sticky;top:12px;z-index:30;height:64px;margin:calc(var(--gut) + 12px) calc(var(--gut) + 12px) calc(-64px - var(--gut) - 12px)}
.capsule{height:64px;max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:0 7px 0 16px;background:rgb(254 251 237/.9);border:1px solid var(--rule);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.capsule{background:var(--cream)}}
.brand{display:flex;align-items:center;gap:8px;min-width:0;margin:0 auto 0 0;color:var(--ink-strong);text-decoration:none;font:400 .9375rem/1.2 var(--head);white-space:nowrap}
.mark{flex:none;color:var(--ink-strong)}
.nav{display:none}
.capsule .cta-sm{display:none}
.menu{position:relative}
.menu summary{list-style:none;display:flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--ink);border-radius:999px;font-weight:700;font-size:.9375rem;color:var(--ink-strong);cursor:pointer;white-space:nowrap}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";width:7px;height:7px;margin-left:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.menu[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.menu-panel{position:absolute;right:-8px;top:60px;width:min(340px,calc(100vw - 48px));background:var(--cream);border:1px solid var(--rule);border-radius:24px;padding:8px 20px}
.menu-panel ul{list-style:none;margin:0;padding:0}
.menu-panel li+li{border-top:1px solid var(--rule)}
.menu-panel{max-height:calc(100vh - 120px);overflow-y:auto;padding:12px 20px 8px}
.menu-group+.menu-group{margin-top:8px}
.menu-h{margin:8px 0 0;font:700 .75rem/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.menu-panel .menu-group a{min-height:44px}
@media(min-width:960px){.menu-panel{width:520px;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:4px;padding:16px 24px 12px}.menu-group+.menu-group{margin-top:0}}
.menu-panel a{display:flex;align-items:center;min-height:48px;text-decoration:none;color:var(--ink-strong)}
.menu-panel a[aria-current]{text-decoration:underline}
@media(min-width:960px){
 .nav{display:flex;gap:28px;margin-right:12px}
 .nav a{text-decoration:none;color:var(--ink);font-size:1rem;transition:opacity .2s}
 .nav a:hover{opacity:.75}
 .nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;color:var(--ink-strong)}
 .capsule .cta-sm{display:inline-flex}
 .cta-sm .cta-verb{display:none}
 .menu summary{min-height:44px}
 .brand{font-size:1.0625rem}
}

/* the one action */
.cta{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:10px;min-height:52px;padding:14px 26px;background:var(--ink-strong);color:var(--cream);border-radius:999px;font:700 1rem/1.25 var(--body);text-decoration:none;transition:background .2s ease}
.cta .num{white-space:nowrap;font-variant-numeric:tabular-nums}
.cta .ico{flex:none;margin-right:-2px}
.cta:hover{background:#2e2619;color:var(--cream)}
.cta:active{transform:translateY(1px)}
.cta:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px;box-shadow:0 0 0 6px var(--sun)}
.cta-lg{min-height:56px;font-size:1.0625rem;padding:16px 30px}
.cta-sm{min-height:48px;padding:10px 20px;font-size:.9375rem}
.phone-slot{margin:24px 0 0}
.disclose{font-size:.9375rem;line-height:1.5;color:var(--muted);max-width:30rem;margin:14px 0 0;text-wrap:balance}
.pill{display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border:1px solid var(--ink);border-radius:999px;font-weight:700;font-size:.9375rem;color:var(--ink-strong);text-decoration:none;transition:background .2s}
.pill:hover{background:rgb(90 77 60/.1)}

/* ripple fields (CSP-safe: colours by class) */
.ripples{position:absolute;left:50%;top:50%;width:1040px;height:1040px;transform:translate(-50%,-50%);pointer-events:none}
@media(min-width:960px){.ripples{width:1320px;height:1320px}}
.r{stroke:rgb(254 251 237/.75);stroke-width:1.5}
.sun .r0{fill:#f2cf9f}.sun .r1{fill:#f4d6ab}.sun .r2{fill:#f6dcb6}.sun .r3{fill:#f8e2c1}.sun .r4{fill:#fae8cd}.sun .r5{fill:#fceed9}.sun .r6{fill:#fdf4e4}
.pool .r0{fill:#b9dcd8}.pool .r1{fill:#c5e2de}.pool .r2{fill:#d0e7e4}.pool .r3{fill:#dbede9}.pool .r4{fill:#e5f2ef}.pool .r5{fill:#eff7f4}
.corner.sun .r0{fill:#fae6c6}.corner.sun .r1{fill:#fbebd2}.corner.sun .r2{fill:#fcf1de}.corner.sun .r3{fill:#fdf6ea}
.corner.pool .r0{fill:#dfefec}.corner.pool .r1{fill:#e6f3f0}.corner.pool .r2{fill:#edf6f4}.corner.pool .r3{fill:#f4faf8}

/* home opening */
.opening{position:relative;overflow:hidden;margin:var(--gut) var(--gut) 0;border-radius:var(--shell);background:#efc994;isolation:isolate}
.opening-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:min(88svh,820px);max-width:44rem;margin:0 auto;padding:128px 20px 0}
.opening h1{margin-inline:auto}
.opening .lead{margin-inline:auto;color:var(--ink)}
.opening .phone-slot{display:flex;flex-direction:column;align-items:center}
.opening .disclose{color:var(--ink);margin-inline:auto}
.drop{display:block;margin:40px auto 0;overflow:visible}
.drop line{stroke:var(--ink-strong);stroke-width:1;stroke-dasharray:96}
.opening-404 .opening-inner{padding-bottom:64px}
.recovery{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.opening-404{background:#b0d6d1}

/* shells */
.shell{position:relative;width:min(1280px,100% - 2*var(--gut));margin:var(--gut) auto 0;background:var(--cream);border-radius:var(--shell);padding:clamp(8px,2vw,24px) var(--pad) clamp(40px,5vw,72px)}
.chapter{max-width:1120px;margin:0 auto;padding-block:clamp(56px,8vw,104px)}
.chapter+.chapter{border-top:1px solid var(--rule)}
.chapter-head{max-width:40rem;margin-bottom:40px}

/* destination tiles */
.tiles{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:16px}
@media(min-width:760px){.tiles{grid-template-columns:repeat(3,1fr);gap:20px}}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:236px;padding:28px;border-radius:28px;overflow:hidden;isolation:isolate;text-decoration:none;color:var(--ink-strong)}
@media(min-width:760px){.tile{aspect-ratio:1/1;min-height:0}}
.tile.sun{background:var(--sun)}
.tile.pool{background:var(--pool)}
.corner{position:absolute;top:0;right:0;width:78%;height:auto;aspect-ratio:1/1;z-index:-1;transition:transform .4s ease-out}
.tile:hover .corner,.tile:focus-visible .corner{transform:translate(6px,-6px) scale(1.04)}
.tile-ico{position:absolute;top:26px;left:26px;fill:none;stroke:var(--ink-strong);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tile-ico .faint{opacity:.45}.tile-ico .dash,.dash{stroke-dasharray:3 3}
.tile h3{font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);line-height:1.2;margin:0 0 6px;max-width:12ch}
.tile .more{padding-block:2px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}
.tile:hover .more{text-decoration-thickness:2px}

/* cage anatomy */
.diagram{position:relative;margin:0;padding:clamp(16px,3vw,32px);border-radius:28px;background:radial-gradient(rgba(90,77,60,.11) 1px,transparent 1.3px) 0 0/16px 16px,var(--wash)}
.diagram svg{display:block;width:100%;height:auto}
.diagram figcaption{margin-top:8px}
.bracket{position:absolute;width:12px;height:12px;border:0 solid var(--rule-strong)}
.bracket.tl{top:12px;left:12px;border-top-width:1px;border-left-width:1px}.bracket.tr{top:12px;right:12px;border-top-width:1px;border-right-width:1px}
.bracket.bl{bottom:12px;left:12px;border-bottom-width:1px;border-left-width:1px}.bracket.br{bottom:12px;right:12px;border-bottom-width:1px;border-right-width:1px}
.frame{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.meshfill{fill:url(#mesh)}
.mesh-line{fill:none;stroke:var(--pool-ink);stroke-width:.8;opacity:.5}
.water{fill:var(--pool-band)}
.ripple{fill:none;stroke:var(--pool-ink);stroke-width:1;opacity:.5}
.dashed{fill:none;stroke:var(--ink-strong);stroke-width:1;stroke-dasharray:4 4}
.spokes path{fill:none;stroke:var(--ink);stroke-width:1}
.spokes .dash{stroke-dasharray:4 3}
.dots circle{fill:var(--ink-strong)}
.dlabel{font:400 13px var(--mono);letter-spacing:.06em;fill:var(--ink-strong)}
.parts{list-style:none;counter-reset:p;padding:0;margin:24px 0 8px;display:grid;gap:0 32px}
@media(min-width:600px){.parts{grid-template-columns:1fr 1fr}}
.parts li{counter-increment:p;display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--rule)}
.parts li::before{content:counter(p,decimal-leading-zero);font:400 .75rem var(--mono);letter-spacing:.06em;color:var(--pool-ink)}
@media(max-width:859px){.spokes,.dots,.dlabel{display:none}.diagram{overflow:hidden}.diagram svg{width:168%;max-width:none;margin:-4% 0 -2% -35%}}
@media(max-width:420px){.cta .ico{display:none}.cta,.cta-lg{padding-inline:22px;font-size:1rem}}
@media(min-width:860px){.parts{display:none}}

/* process */
.steps{list-style:none;padding:0;margin:40px 0 0}
.steps li{position:relative;padding:0 0 32px 56px}
.steps li:not(:last-child)::before{content:"";position:absolute;left:15.5px;top:40px;bottom:6px;width:1px;background:var(--rule-strong)}
.badge{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;font:400 .8125rem/1 var(--head);font-variant-numeric:tabular-nums;color:var(--ink-strong)}
.steps h3{margin:3px 0 6px}
.steps p{margin:0;max-width:34ch}
@media(min-width:960px){
 .process{display:grid;grid-template-columns:1fr 3fr;align-items:start}
 .process-intro{padding-right:40px}
 .steps{display:grid;grid-template-columns:repeat(3,1fr);margin:0}
 .steps li{padding:0 28px 0;border-left:1px solid var(--rule)}
 .steps li:not(:last-child)::before{display:none}
 .badge{position:static;margin-bottom:28px}
}

/* cost */
.cost-chapter{display:grid;gap:40px}
@media(min-width:960px){.cost-chapter{grid-template-columns:5fr 7fr;gap:72px}}
.factors{list-style:none;padding:0;margin:24px 0 0}
.factors li{padding:12px 0;border-top:1px solid var(--rule)}
.factors li:last-child{border-bottom:1px solid var(--rule)}
.big,.prose .price{font:300 clamp(2.125rem,1.5rem + 2.6vw,3.5rem)/1 var(--head);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-strong);margin:0 0 12px}
.range{margin:28px 0 12px}
.range-row{margin-bottom:20px}
.range-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:.9375rem;margin:0 0 8px}
.track{position:relative;height:14px;border-radius:999px;background:rgb(90 77 60/.07)}
.bar{position:absolute;top:0;bottom:0;left:12.5%;border-radius:999px;transform-origin:left center}
.bar-a{width:62.5%;background:var(--pool-band);border:1px solid var(--pool-ink)}
.bar-b{width:75%;border:1px dashed var(--pool-ink)}
.axis{display:flex;justify-content:space-between;padding-top:8px;border-top:1px solid var(--rule-strong);font:400 .75rem var(--mono);letter-spacing:.06em;color:var(--muted)}
.range figcaption{margin-top:10px}

/* storm panel */
.chapter.storm{border:0;background:var(--pool);border-radius:28px;padding:clamp(28px,5vw,56px);margin-block:clamp(24px,4vw,48px)}
.checks{list-style:none;padding:0;margin:24px 0;display:grid;gap:4px 40px}
@media(min-width:760px){.checks{grid-template-columns:1fr 1fr}}
.checks li{position:relative;display:flex;align-items:center;min-height:48px;padding:8px 0 8px 40px}
.checks li::before{content:"";position:absolute;left:0;top:13px;width:22px;height:22px;border:1.5px solid var(--ink);border-radius:50%}
.checks li::after{content:"";position:absolute;left:8px;top:18px;width:5px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.links{display:flex;flex-wrap:wrap;gap:0 28px;margin:0}

/* questions */
.faq{max-width:1120px;margin:0 auto;padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--rule)}
@media(min-width:960px){.faq{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}}
.faq-list details{border-top:1px dashed var(--rule-strong)}
.faq-list details:last-child{border-bottom:1px dashed var(--rule-strong)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:14px 0;font:400 1.1875rem/1.35 var(--head);color:var(--ink-strong);cursor:pointer;transition:padding .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;background:linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat;transition:transform .2s}
.faq details[open]{background:var(--wash);border-radius:16px;border-top-color:transparent}
.faq details[open]+details{border-top-color:transparent}
.faq details[open] summary{padding-inline:20px}
.faq details[open] summary::after{transform:rotate(90deg);background-size:12px 1.5px,0 0}
.faq details p{margin:0;padding:0 20px 20px;max-width:60ch}
.sources{max-width:1120px;margin:0 auto;border-top:1px solid var(--rule);font-size:.9375rem;color:var(--muted);overflow-wrap:anywhere}
.sources summary{display:flex;align-items:center;min-height:56px;cursor:pointer;color:var(--ink)}
.sources ul{padding-left:20px;margin:0 0 8px}
.sources a{display:inline-flex;align-items:center;min-height:40px}

/* articles */
.article-shell{overflow:clip;padding-top:112px}
.article-head{position:relative;max-width:1120px;margin:0 auto;padding-bottom:40px;border-bottom:1px solid var(--rule)}
.article-head{z-index:1}
.article-shell>.corner{position:absolute;top:0;right:0;width:min(52vw,420px);z-index:0}
.breadcrumb{font-size:.9375rem;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.article-head h1{max-width:20ch}
.updated{margin:16px 0 0}
.toc-m{margin-top:20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.toc-m summary{display:flex;align-items:center;min-height:52px;cursor:pointer;font-weight:700;color:var(--ink-strong)}
.toc-m ul,.toc ul{list-style:none;padding:0;margin:0 0 12px}
.toc-m a,.toc a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;font-size:.9375rem;line-height:1.4}
.toc-m a:hover,.toc a:hover{text-decoration:underline}
.toc{display:none}
.article-layout{max-width:1120px;margin:0 auto}
@media(min-width:1040px){
 .article-layout{display:grid;grid-template-columns:minmax(0,40rem) 15rem;justify-content:space-between;gap:64px;align-items:start}
 .toc{display:block;position:sticky;top:104px;margin-top:48px;padding-left:20px;border-left:1px solid var(--rule)}
 .toc-h{font:400 .9375rem var(--head);color:var(--ink-strong);margin-bottom:8px}
 .toc a:target,.toc a:focus{color:var(--ink-strong)}
 .toc-m{display:none}
}
.prose{max-width:40rem}
.prose section{padding-block:40px;border-top:1px solid var(--rule)}
.prose section:first-child,.prose .print-only+section{border-top:0}
.prose h2{font-size:clamp(1.75rem,1.4rem + 1.4vw,2.375rem);scroll-margin-top:100px}
.prose h3{margin-top:32px}
.prose p,.prose li{max-width:64ch}
.prose ul{list-style:none;padding:0;margin:0 0 20px}
.prose ul>li{position:relative;padding-left:24px;margin-bottom:10px}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.prose ol{list-style:none;counter-reset:n;padding:0;margin:0 0 20px}
.prose ol>li{counter-increment:n;position:relative;min-height:32px;padding:4px 0 12px 48px}
.prose ol>li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;font:400 .8125rem/1 var(--head);color:var(--ink-strong)}
.prose .tick>li{padding:12px 0 12px 38px;margin:0;border-bottom:1px solid var(--rule);min-height:48px}
.prose .tick>li:first-child{border-top:1px solid var(--rule)}
.prose .tick>li::before{left:0;top:14px;width:20px;height:20px;border:1.5px solid var(--ink);border-radius:4px;background:none}
.note{position:relative;background:var(--wash);border-radius:16px;padding:20px 22px 20px 58px;margin:24px 0}
.note::before{content:"i";position:absolute;left:20px;top:21px;display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--ink);border-radius:50%;font:700 .8125rem/1 var(--body);color:var(--ink)}
.note p{margin:0}
.prose .safety{margin-top:24px;padding:28px 24px;border:1px solid var(--ink);border-radius:16px}
.official{font-size:.9375rem;color:var(--muted)}
.table-wrap{overflow-x:auto;margin:8px 0 20px}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--rule)}
th{font:400 1rem var(--head);color:var(--ink-strong);border-bottom-color:var(--rule-strong)}
.swatches{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;margin:24px 0 8px!important}
@media(min-width:760px){.swatches{grid-template-columns:repeat(4,1fr)}}
.prose .swatches>li{padding:0;margin:0}
.prose .swatches>li::before{display:none}
.swatches svg{display:block;width:100%;height:auto}
.sw-bg{fill:var(--wash)}
.sw-line{fill:none;stroke:var(--pool-ink)}
.sw-name{font:400 1.125rem/1.3 var(--head);color:var(--ink-strong);margin:12px 0 4px}
.swatches p:not(.sw-name){font-size:.9375rem;line-height:1.5;margin:0}

/* closing + footer */
.closing{position:relative;overflow:hidden;isolation:isolate;width:min(1280px,100% - 2*var(--gut));margin:var(--gut) auto 0;border-radius:var(--shell);background:#b0d6d1;text-align:center}
.closing-inner{position:relative;display:flex;flex-direction:column;align-items:center;padding:88px 20px 136px}
@media(min-width:960px){.closing-inner{padding:120px 20px 170px}}
.closing h2{margin-inline:auto;margin-bottom:8px}
.closing .phone-slot{display:flex;flex-direction:column;align-items:center}
.closing .disclose{color:var(--ink);margin-inline:auto}
.footer{position:relative;width:min(1280px,100% - 2*var(--gut));margin:calc(-1*var(--shell)) auto 0;padding:clamp(40px,5vw,64px) var(--pad) 24px;background:var(--cream);border-radius:var(--shell) var(--shell) 0 0}
.footer-grid{display:grid;gap:40px;max-width:1120px;margin:0 auto}
@media(min-width:960px){.footer-grid{grid-template-columns:5fr 7fr;gap:64px}}
.footer .brand{margin-bottom:16px}
.footer-about p:not(.brand){max-width:34rem}
.footer .meta{margin:16px 0 0}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.foot-h{font:400 1rem var(--head);color:var(--ink-strong);margin-bottom:8px}
.footer-nav ul{list-style:none;padding:0;margin:0}
.footer-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink)}
.footer-nav a:hover{text-decoration:underline}
.copy{max-width:1120px;margin:40px auto 0;padding-top:16px;border-top:1px solid var(--rule);font-size:.875rem;color:var(--muted)}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgb(254 251 237/.95);box-shadow:0 -1px 0 var(--rule)}
.dock .cta{width:100%}
@media(min-width:960px){.dock{display:none}}

/* motion: transform / stroke only, never text from transparent */
@media(prefers-reduced-motion:no-preference){
 .drop line{animation:draw 1.2s ease-out .4s both}
 .bar{animation:grow .9s ease-out .2s both}
 @media(min-width:600px){
  .ripples .r{transform-box:fill-box;transform-origin:center;animation:breathe 9s ease-in-out infinite alternate}
  .ripples .r1{animation-delay:-.6s}.ripples .r2{animation-delay:-1.2s}.ripples .r3{animation-delay:-1.8s}.ripples .r4{animation-delay:-2.4s}.ripples .r5{animation-delay:-3s}.ripples .r6{animation-delay:-3.6s}
 }
}
@keyframes breathe{to{transform:scale(1.015)}}
@keyframes draw{from{stroke-dashoffset:96}}
@keyframes grow{from{transform:scaleX(.02)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media print{.site-header,.dock,.phone-slot,.footer,.aside,.toc,.toc-m,.closing,.ripples,.corner,.sources{display:none}body{background:#fff;color:#000;padding:0;font-size:11pt}.shell{width:auto;margin:0;padding:0;border-radius:0;background:#fff}h1,h2,h3,strong,b,p,li,a{color:#000}.print-only{display:block;margin-bottom:1rem;font-size:.9rem}.tick li{break-inside:avoid}.prose .tick>li::before{border:1pt solid #000}.official a::after{content:" (" attr(href) ")";font-weight:400;word-break:break-all}a{color:inherit}}
/* related guides */
.related{max-width:1120px;margin:0 auto;padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--rule)}
.related h2{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);margin-bottom:20px}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media(min-width:760px){.related ul{grid-template-columns:repeat(3,1fr);gap:16px}}
.related a{display:flex;flex-direction:column;gap:4px;min-height:96px;padding:20px 22px;border-radius:20px;background:var(--wash);text-decoration:none;color:var(--ink);transition:background .2s}
.related a:hover{background:var(--sun)}
.rel-t{font:400 1.1875rem/1.3 var(--head);color:var(--ink-strong)}
.rel-d{font-size:.9375rem;color:var(--muted)}
.breadcrumb{display:block;margin-bottom:16px}

@media(max-width:639px){table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}table.stack tr{padding:14px 0;border-bottom:1px solid var(--rule)}table.stack tr:first-child{border-top:1px solid var(--rule)}table.stack td{padding:3px 0;border:0}table.stack td::before{content:attr(data-label);display:block;font:700 .75rem/1.5 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}table.stack td:first-child{font-weight:700;color:var(--ink-strong)}table.stack td:first-child::before{display:none}}
