@font-face{font-family:"FrauncesV";src:url(/fraunces-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
/* The Soak Atlas: calm, natural. Warm stone, steam, forest and mineral tones */
:root{--display:"FrauncesV",Georgia,serif;--bg:#f6f2ec;--card:#fdfbf8;--line:#e4ddd2;--soft:#eee8de;--ink:#23271f;--mut:#5f645a;--teal:#2f6b66;--shadow:0 1px 2px rgba(40,50,40,.05),0 8px 24px -12px rgba(40,60,45,.18)}
@media(prefers-color-scheme:dark){:root{--bg:#141714;--card:#1b201c;--line:#2c342e;--soft:#212822;--ink:#ece9e2;--mut:#aeb3a8;--teal:#7fc4c0;--shadow:none}}
body.soak{background:radial-gradient(1200px 500px at 85% -120px,color-mix(in srgb,var(--sun) 22%,transparent),transparent 70%),var(--bg)}
.soak h1,.soak h2,.soak .brand,.soak .card strong,.soak .f b,.soak .stat b{font-family:var(--display);font-optical-sizing:auto}
.soak h1{font-weight:470;font-size:clamp(2.4rem,6.4vw,4.6rem);letter-spacing:-.03em;line-height:1}.soak h1 em{font-style:italic;font-weight:480;color:var(--aink)}
.soak h2{font-weight:560;font-size:1.55rem;letter-spacing:-.015em}.soak .brand{font-weight:650;font-size:1.25rem;letter-spacing:-.01em}
.soak .mark{background:var(--a);color:#fff;border-radius:12px}
.soak .kicker{display:inline-flex;gap:6px;align-items:center;background:var(--a2);color:var(--aink);border-radius:999px;padding:4px 11px;font-weight:600;font-size:12.5px}
.soak .kicker .ic{width:15px;height:15px}
.soak .card{border-radius:16px;box-shadow:var(--shadow);border-color:var(--line);background:var(--card)}.soak .card:hover{border-color:var(--a);transform:translateY(-2px)}
.soak .tile{border-radius:12px;background:linear-gradient(160deg,var(--a2),color-mix(in srgb,var(--teal) 25%,var(--a2)));color:var(--aink)}
.soak .cimg{width:96px;height:96px;object-fit:cover;border-radius:12px;flex:none;background:var(--soft)}
.soak .card strong{font-weight:600;font-size:1.08rem}
.soak .cards.feat{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.soak .cards.feat .card.ph{flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.soak .cards.feat .card.ph .cimg{width:100%;height:170px;border-radius:0}.soak .cards.feat .card.ph .cb{padding:12px 14px 14px}
.soak .chip{border-radius:999px}.soak .btn,.soak button{border-radius:999px}.soak .search input{border-radius:999px}
.soak .pill{border-radius:999px}.soak .pill.ver{background:transparent;color:var(--teal);opacity:.8}
.soak .f,.soak .stat{border-radius:16px;background:var(--card)}
.soak .hero .art{border-radius:22px;box-shadow:0 30px 60px -30px rgba(30,50,35,.35)}
.steam ellipse{animation:rise 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.steam .s2{animation-delay:-2.3s}.steam .s3{animation-delay:-4.6s}
@keyframes rise{0%{transform:translateY(20px) scale(.7);opacity:0}30%{opacity:.9}100%{transform:translateY(-120px) scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.steam ellipse{animation:none}}
.lphoto{margin:14px 0 6px}.lphoto img{width:100%;height:auto;max-height:480px;object-fit:cover;display:block;border-radius:18px}.lphoto figcaption{font-size:12px;color:var(--mut);margin-top:6px}
.local{margin:-6px 0 6px;color:var(--mut);font-size:1.05rem}
.status{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--teal) 10%,var(--card));border:1px solid color-mix(in srgb,var(--teal) 35%,var(--line));border-radius:14px;padding:12px 14px;margin:16px 0}
.status.closed{background:color-mix(in srgb,#c2410c 12%,var(--card));border-color:#c2410c}.status .ic{flex:none;margin-top:2px;color:var(--teal)}
.offi{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:6px 16px 12px;margin:10px 0}.offi .ohd{display:flex;gap:6px;align-items:center;font-weight:600}.offi .ohd .ic{color:var(--teal)}
.offi dl{margin:0}.offi dl div{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:7px 0;border-top:1px dashed var(--line)}.offi dt{font-weight:600;color:var(--mut);font-size:14px}.offi dd{margin:0;font-style:italic}
.offi details{margin-top:8px;font-size:14px;color:var(--mut)}
@media(max-width:620px){.offi dl div{grid-template-columns:1fr;gap:2px}}
.quotes{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.quotes blockquote{margin:0;border-left:4px solid var(--a);background:var(--card);border-radius:0 14px 14px 0;padding:10px 14px;font-size:15px}.quotes cite{font-size:12.5px;color:var(--mut);font-style:normal}
.tips{padding-left:1.1em}.tips li{margin:.35em 0}
.shimg{max-width:420px}.shimg img{width:100%;height:auto;border-radius:18px;display:block}.shimg small{font-size:11.5px;color:var(--mut)}
.safety{margin:40px auto 0;max-width:1180px;padding:18px 20px;border-radius:18px;background:color-mix(in srgb,var(--sun) 12%,var(--card));border:1px solid color-mix(in srgb,var(--sun) 40%,var(--line))}
.safety h2{display:flex;gap:8px;align-items:center;font-size:1.15rem;margin:0 0 6px}.safety h2 .ic{color:var(--aink)}.safety .disc{font-weight:500;margin:.3em 0 .6em}.safety ul{margin:0;padding-left:1.1em;font-size:14px}.safety li{margin:.35em 0}.hsrc{color:var(--mut);font-size:12.5px}
@media(max-width:700px){.safety{margin:28px 12px 0}}
:root{--yes:#1f6b5c;--yesbg:#dcf0ea;--no:#8a4b2a;--nobg:#f3e6dc}@media(prefers-color-scheme:dark){:root{--yes:#8fd8c4;--yesbg:#16302b;--no:#e0b08f;--nobg:#33261d}}
.offi dl{display:block}.offi dl div{grid-template-columns:140px minmax(0,1fr)}.offi dd{min-width:0;overflow-wrap:anywhere}
.mosaic{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:400px}.mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:var(--soft)}.mosaic .m0{grid-row:1/3}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.mosaic figure:hover img{transform:scale(1.03)}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 9px;background:linear-gradient(transparent,rgba(18,26,20,.75));color:#fff;font-size:13px;display:flex;flex-direction:column}
.mosaic figcaption a{font-family:var(--display);font-size:1.05rem;color:#fff;text-decoration:none}.mosaic small{font-size:10.5px;opacity:.85}
@media(max-width:980px){.mosaic{height:230px}.mosaic .m2{display:none}.mosaic{grid-template-rows:1fr}.mosaic .m0{grid-row:auto}}
.home #results{min-height:1100px}
