/* Independent FCMS component. All selectors belong to bath-. No external fonts. */
.bath-preview { margin: 0; }
.bath-layout { margin: 0; }
.bath-site { --bath-paper:#f7f5ef; --bath-ink:#173e3e; --bath-muted:#586762; --bath-line:#d4d8cf; --bath-accent:#a44d32; background:var(--bath-paper); color:var(--bath-ink); font:16px/1.65 Arial,Helvetica,sans-serif; -webkit-text-size-adjust:100%; }
.bath-site *, .bath-site *::before, .bath-site *::after { box-sizing:border-box; }
.bath-site [hidden] { display:none!important; }
.bath-site h1,.bath-site h2,.bath-site h3,.bath-site p,.bath-site figure { margin:0; }
.bath-site h1,.bath-site h2,.bath-site h3 { font-weight:400; }
.bath-site h1,.bath-site h2,.bath-display-small,.bath-footer-title { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.045em; }
.bath-site h1 { font-size:76px; line-height:1.04; }
.bath-site h2 { font-size:49px; line-height:1.13; }
.bath-site h3 { font-size:22px; line-height:1.3; }
.bath-site h1 em { color:var(--bath-accent); font-weight:400; }
.bath-site p { margin-top:20px; }
.bath-site a { color:inherit; text-decoration:none; text-underline-offset:5px; }
.bath-site a:hover { text-decoration:underline; }
.bath-site button,.bath-site input { font:inherit; }
.bath-site button { cursor:pointer; }
.bath-site img { display:block; max-width:100%; height:auto; }
.bath-site a:focus-visible,.bath-site button:focus-visible,.bath-site input:focus-visible,.bath-site summary:focus-visible { outline:3px solid var(--bath-accent); outline-offset:5px; }
.bath-site main:focus { outline:none; }
.bath-site main[id],.bath-site section[id] { scroll-margin-top:175px; }
.bath-wrap { width:calc(100% - 112px); max-width:1328px; margin:0 auto; }
.bath-section { padding-top:110px; padding-bottom:110px; }
.bath-site .bath-kicker { margin:0 0 25px; font:11px/1.5 Arial,Helvetica,sans-serif; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.bath-site .bath-lead { color:var(--bath-muted); font-size:19px; line-height:1.65; }
.bath-site .bath-caption,.bath-picture figcaption,.bath-comparison figcaption { color:var(--bath-muted); font-size:12px; line-height:1.6; }
.bath-skip { position:fixed; z-index:100; top:-100px; left:20px; padding:12px 20px; background:var(--bath-ink); color:white!important; }
.bath-skip:focus { top:10px; }
.bath-header { position:sticky; top:0; background:rgba(247,245,239,.98); z-index:20; border-bottom:1px solid var(--bath-line); transition:box-shadow .25s; }
.bath-header.bath-scrolled { box-shadow:0 6px 25px #173e3e0d; }
.bath-header-top { display:flex; align-items:center; justify-content:space-between; min-height:96px; gap:24px; }
.bath-brand { display:flex; align-items:center; gap:14px; font-size:14px; line-height:1.4; font-weight:700; max-width:360px; min-height:44px; }
.bath-brand-mark { font:60px/.8 Georgia,serif; color:var(--bath-accent); transform:rotate(-10deg); }
.bath-brand small { display:block; margin-top:7px; color:var(--bath-muted); font-size:10px; font-weight:400; letter-spacing:.11em; text-transform:uppercase; }
.bath-header-phone { text-align:right; }
.bath-header-phone>a { font-size:19px; letter-spacing:-.02em; }
.bath-header-phone>a,.bath-hero-phone,.bath-big-phone,.bath-footer-phone,.bath-contact-number,.bath-contact-small { display:inline-flex; align-items:center; min-height:44px; }
.bath-demo { display:block; font-size:10px; line-height:1.6; letter-spacing:.025em; opacity:.8; }
.bath-menu-toggle { display:none; color:var(--bath-ink); border:1px solid var(--bath-line); padding:8px 12px; background:transparent; min-height:44px; gap:16px; align-items:center; }
.bath-nav { max-width:1328px; width:calc(100% - 112px); margin:auto; display:flex; justify-content:space-between; gap:10px; padding:0 0 9px; }
.bath-nav>a { min-height:44px; min-width:44px; display:flex; align-items:center; font-size:12px; }
.bath-nav>a[aria-current=page] { color:var(--bath-accent); text-decoration:underline; }
.bath-crumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:11px; color:var(--bath-muted); padding-top:18px; padding-bottom:18px; }
.bath-crumb>a { min-height:44px; min-width:44px; display:flex; align-items:center; }
.bath-hero { display:grid; grid-template-columns: .94fr 1.3fr; min-height:610px; gap:32px; padding-top:14px; padding-bottom:64px; }
.bath-hero-copy { padding:37px 0 12px; position:relative; z-index:1; }
.bath-hero h1 { font-size:78px; }
.bath-hero .bath-lead { font-size:16px; line-height:1.75; margin-top:29px; }
.bath-hero-image { position:relative; min-width:0; }
.bath-hero-image>img { width:100%; height:100%; min-height:550px; object-fit:cover; object-position:65% center; }
.bath-hero-image figcaption { position:absolute; bottom:0; left:0; width:100%; display:flex; justify-content:space-between; gap:12px; padding:18px; color:#fff; background:rgba(23,62,62,.85); font-size:10px; }
.bath-hero-stamp { position:absolute; right:26px; top:28px; width:130px; height:130px; border-radius:50%; background:var(--bath-paper); color:var(--bath-ink); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font:16px/1.15 Georgia,serif; transform:rotate(8deg); }
.bath-hero-stamp i { color:var(--bath-accent); }
.bath-hero-actions { display:flex; gap:23px; flex-wrap:wrap; align-items:center; margin-top:30px; }
.bath-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; padding:16px 24px; min-height:54px; color:#fff!important; background:var(--bath-ink); font-size:13px; transition:background .2s,transform .2s; }
.bath-button:hover { background:#275654; text-decoration:none!important; transform:translateY(-2px); }
.bath-button span { font-size:21px; line-height:1; }
.bath-text-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:13px; border-bottom:1px solid currentColor; }
.bath-text-link span { font-size:18px; }
.bath-site .bath-text-link:hover { text-decoration:none; }
.bath-hero-phone { display:inline-block; margin-top:24px; font-size:17px; }
.bath-intro-line { border-top:1px solid var(--bath-line); border-bottom:1px solid var(--bath-line); padding-top:30px; padding-bottom:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.bath-intro-line>span:first-child { font-size:12px; color:var(--bath-muted); }
.bath-intro-line p { margin:0; font:24px/1.4 Georgia,serif; }
.bath-intro-line>span:last-child { font-size:50px; font-weight:400; color:var(--bath-accent); }
.bath-section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:0 40px; margin-bottom:48px; }
.bath-section-heading .bath-kicker { grid-column:1/-1; }
.bath-section-heading>p:last-child { justify-self:end; font-size:14px; color:var(--bath-muted); }
.bath-materials { display:grid; grid-template-columns:1.13fr 1fr; gap:65px; align-items:start; }
.bath-material:nth-child(2) { margin-top:85px; }
.bath-material-image { position:relative; }
.bath-material-image>img { width:100%; height:330px; object-fit:cover; }
.bath-material-image>span { position:absolute; left:20px; bottom:15px; color:var(--bath-ink); font:55px/1 Georgia,serif; }
.bath-material-text { display:grid; grid-template-columns:1fr auto; gap:12px 18px; margin-top:25px; }
.bath-material-text h3 { font:32px/1.2 Georgia,serif; }
.bath-material-text p { grid-column:1/-1; grid-row:2; font-size:14px; color:var(--bath-muted); margin:0; max-width:420px; }
.bath-material-text .bath-text-link { align-self:start; font-size:12px; min-height:44px; }
.bath-hotspots-section { background:#e9ede6; }
.bath-hotspots { display:grid; grid-template-columns:1.85fr 1fr; gap:50px; align-items:start; }
.bath-hotspot-image { position:relative; }
.bath-hotspot-image>img { width:100%; }
.bath-hotspot { display:none; position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); border-radius:50%; background:var(--bath-paper); border:1px solid #fff; color:var(--bath-ink); width:46px; height:46px; box-shadow:0 0 0 7px #ffffff40; font-size:13px!important; transition:background .2s,box-shadow .2s; }
.bath-hotspots-ready .bath-hotspot { display:block; }
.bath-hotspot[aria-expanded=true],.bath-hotspot:hover { color:#fff; background:var(--bath-accent); box-shadow:0 0 0 9px #ffffff70; }
.bath-image-note { position:absolute; bottom:12px; left:14px; background:var(--bath-paper); padding:3px 9px; font-size:10px; }
.bath-zone { border-top:1px solid #b9c5bb; padding:20px 0; transition:background .2s; }
.bath-zone h3 { font-size:17px; }
.bath-zone h3 span { font-size:11px; color:var(--bath-accent); margin-right:7px; }
.bath-zone p { font-size:13px; margin-top:12px; color:var(--bath-muted); }
.bath-zone.bath-zone-active { background:#f7f5ef; padding-left:14px; padding-right:14px; }
.bath-hotspots-ready .bath-zone p { display:none; }
.bath-hotspots-ready .bath-zone-active p { display:block; }
.bath-compare-stage { position:relative; }
.bath-compare-layer { position:relative; }
.bath-compare-layer img { width:100%; height:auto; }
.bath-image-label { position:absolute; top:20px; right:20px; background:var(--bath-paper); color:var(--bath-ink); padding:7px 18px; font-size:12px; }
.bath-after .bath-image-label { left:20px; right:auto; }
.bath-comparison { --bath-position:50%; position:relative; }
.bath-compare-ready .bath-compare-stage { overflow:hidden; touch-action:pan-y; cursor:ew-resize; user-select:none; }
.bath-compare-ready .bath-before { position:relative; }
.bath-compare-ready .bath-after { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--bath-position)) 0 0); }
.bath-compare-ready .bath-after img { width:100%; height:100%; object-fit:cover; }
.bath-divider { display:none; position:absolute; left:var(--bath-position); width:2px; top:0; bottom:0; background:#fff; transform:translateX(-50%); pointer-events:none; }
.bath-compare-ready .bath-divider { display:block; }
.bath-divider span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border-radius:50%; width:54px; height:54px; background:var(--bath-paper); display:grid; place-items:center; color:var(--bath-ink); font-size:23px; box-shadow:0 3px 18px #173e3e33; }
.bath-range-row { display:none; align-items:center; gap:24px; margin-top:12px; }
.bath-compare-ready .bath-range-row { display:flex; position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.bath-comparison:focus-within .bath-divider span { outline:3px solid var(--bath-accent); outline-offset:4px; }
.bath-range-row label { font-size:12px; white-space:nowrap; }
.bath-range-row input { accent-color:var(--bath-ink); width:100%; min-height:44px; cursor:ew-resize; }
.bath-comparison figcaption { padding-top:12px; }
.bath-section-end { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-top:28px; }
.bath-section-end p { margin:0; font-size:13px; color:var(--bath-muted); }
.bath-process { background:var(--bath-ink); color:var(--bath-paper); }
.bath-process-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.bath-process .bath-text-link { margin-top:32px; }
.bath-timeline { list-style:none; padding:0; margin:0; }
.bath-timeline li { display:grid; grid-template-columns:55px 1fr; gap:25px; position:relative; padding-bottom:42px; }
.bath-timeline li:not(:last-child)::before { content:''; position:absolute; left:22px; top:49px; bottom:4px; width:1px; background:currentColor; opacity:.25; }
.bath-step-number { width:45px; height:45px; border:1px solid #ffffff60; border-radius:50%; display:grid; place-items:center; font:16px Georgia,serif; }
.bath-timeline li:last-child { padding-bottom:0; }
.bath-timeline h3 { padding-top:6px; font-size:20px; }
.bath-timeline p { font-size:14px; opacity:.8; margin-top:10px; }
.bath-price-home { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; }
.bath-price-home .bath-text-link { margin-top:25px; }
.bath-price-home>div>p:not(.bath-kicker) { font-size:14px; color:var(--bath-muted); }
.bath-price-row { display:flex; justify-content:space-between; gap:35px; padding:30px 0; border-top:1px solid var(--bath-line); align-items:center; }
.bath-price-row:last-child { border-bottom:1px solid var(--bath-line); }
.bath-price-row h3 { font:24px/1.3 Georgia,serif; }
.bath-price-row p { margin:0; font-size:12px; color:var(--bath-muted); text-align:right; }
.bath-price-row small { display:block; font-size:11px; color:var(--bath-muted); max-width:200px; margin-top:10px; }
.bath-faq-home { display:grid; grid-template-columns:.8fr 1.3fr; gap:80px; border-top:1px solid var(--bath-line); }
.bath-faq-home .bath-text-link { margin-top:28px; }
.bath-faq details { border-bottom:1px solid var(--bath-line); }
.bath-faq details:first-child { border-top:1px solid var(--bath-line); }
.bath-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 0; cursor:pointer; font-size:16px; min-height:64px; }
.bath-faq summary::-webkit-details-marker { display:none; }
.bath-faq-plus { font-size:26px; font-weight:400; flex-shrink:0; }
.bath-faq details[open] .bath-faq-plus { transform:rotate(45deg); }
.bath-faq details>p { margin:0 0 26px; padding-right:35px; font-size:14px; color:var(--bath-muted); }
.bath-reviews-note { border-top:1px solid var(--bath-line); padding-top:50px; padding-bottom:65px; }
.bath-reviews-note h2 { font-size:35px; }
.bath-reviews-note>p:last-child { font-size:14px; color:var(--bath-muted); }
.bath-reviews article { border-bottom:1px solid var(--bath-line); padding:30px 0; }
.bath-reviews article p { white-space:normal; overflow-wrap:anywhere; }
.bath-reviews-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:start; }
.bath-review-list:only-child { grid-column:1/-1; }
.bath-reviews .bath-review { display:flex; gap:22px; padding:30px 0; }
.bath-reviews .bath-review:first-child { border-top:1px solid var(--bath-line); }
.bath-review-quote { flex:0 0 35px; color:var(--bath-accent); font:64px/1 Georgia,'Times New Roman',serif; }
.bath-review-body { min-width:0; }
.bath-reviews .bath-review-body p { margin:12px 0 20px; font-size:16px; line-height:1.8; }
.bath-reviews .bath-review-body h3 { font-size:14px; font-weight:700; }
.bath-review-body h3 span { color:var(--bath-muted); font-size:11px; font-weight:400; }
.bath-review-demo-label { display:inline-block; color:var(--bath-accent); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.bath-review-body time { display:block; margin-top:8px; color:var(--bath-muted); font-size:12px; }
.bath-review-compose { padding:32px; background:#e8ebe3; }
.bath-review-compose h3 { font:32px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.bath-review-form { margin-top:24px; }
.bath-review-form label { display:block; margin:18px 0 8px; font-size:12px; }
.bath-review-form input,.bath-review-form textarea { display:block; width:100%; min-width:0; min-height:52px; padding:13px 15px; border:1px solid #83948c; border-radius:0; background:var(--bath-paper); color:var(--bath-ink); font:16px/1.5 Arial,Helvetica,sans-serif; }
.bath-review-form textarea { resize:vertical; }
.bath-site .bath-review-form input:focus,.bath-site .bath-review-form textarea:focus { outline:none; border-color:var(--bath-ink); box-shadow:0 0 0 1px var(--bath-ink); }
.bath-review-form .bath-button { width:100%; border:0; border-radius:0; margin-top:20px; }
.bath-review-form .bath-button:disabled { opacity:.55; cursor:default; transform:none; }
.bath-site .bath-review-note { margin-top:14px; color:var(--bath-muted); font-size:11px; }
.bath-site .bath-review-status { margin-top:16px; font-size:15px; }
.bath-review-status:empty { display:none; }
.bath-reviews-empty { color:var(--bath-muted); }
@media (max-width:900px) { .bath-reviews-layout { gap:35px; grid-template-columns:1.1fr 1fr; } .bath-review-compose { padding:24px; } }
@media (max-width:650px) { .bath-reviews-layout { grid-template-columns:1fr; } .bath-reviews .bath-review { gap:12px; } .bath-review-quote { flex-basis:25px; font-size:50px; } .bath-review-compose { padding:24px 20px; } .bath-reviews .bath-review-body p { font-size:15px; } }
.bath-cta { background:#e8ebe3; padding:85px 0; margin-top:60px; }
.bath-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.bath-cta h2 { font-size:58px; }
.bath-cta p:not(.bath-kicker) { color:var(--bath-muted); font-size:14px; }
.bath-cta-action { text-align:left; }
.bath-big-phone { font:31px Georgia,serif; display:inline-block; }
.bath-cta-action .bath-button { display:flex; margin-top:26px; }
.bath-cta-action { min-width:0; }
.bath-callback-dialog { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(12,35,35,.65); overflow-y:auto; overscroll-behavior:contain; }
.bath-callback-panel { position:relative; width:100%; max-width:460px; max-height:calc(100% - 40px); overflow-y:auto; padding:56px 28px 30px; background:var(--bath-paper); color:var(--bath-ink); box-shadow:0 20px 70px #0003; }
.bath-callback-close { position:absolute; top:8px; right:8px; display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; color:var(--bath-ink); font-size:30px!important; line-height:1; }
.bath-callback { width:100%; }
.bath-site .bath-callback h2 { font:32px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.bath-callback-form { margin-top:20px; }
.bath-callback-form label { display:block; margin-bottom:8px; font-size:12px; }
.bath-callback-form input { display:block; width:100%; min-width:0; min-height:52px; padding:13px 15px; border:1px solid #83948c; border-radius:0; background:var(--bath-paper); color:var(--bath-ink); font-size:16px; }
.bath-callback-form input::placeholder { color:var(--bath-muted); opacity:1; }
.bath-site .bath-callback-form input:focus { outline:none; border-color:var(--bath-ink); box-shadow:0 0 0 1px var(--bath-ink); }
.bath-site .bath-callback-form .bath-button { display:flex; width:100%; margin-top:12px; border:0; border-radius:0; cursor:pointer; }
.bath-site .bath-callback-form .bath-button:disabled { opacity:.55; cursor:default; transform:none; }
.bath-site .bath-callback-form .bath-callback-note { margin-top:12px; font-size:11px; color:var(--bath-muted); }
.bath-site .bath-callback-form .bath-callback-status { margin-top:16px; font-size:20px; color:var(--bath-ink); }
.bath-callback-status:empty { display:none; }
.bath-footer { background:var(--bath-ink); color:var(--bath-paper); padding:75px 0 25px; }
.bath-footer-top { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; }
.bath-site .bath-footer-title { font-size:34px; line-height:1.15; margin-bottom:27px; }
.bath-footer-phone { font-size:21px; }
.bath-footer-top>div>p:last-child { font-size:12px; opacity:.75; }
.bath-footer-nav { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:7px 35px; }
.bath-footer-link { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
.bath-footer-link span { opacity:.5; }
.bath-footer-bottom { display:flex; gap:25px; justify-content:space-between; margin-top:60px; padding-top:22px; border-top:1px solid #ffffff30; font-size:10px; opacity:.7; }
.bath-mobile-call { display:none; }
.bath-page-head { padding-top:44px; padding-bottom:62px; }
.bath-page-head .bath-lead { max-width:620px; margin-top:32px; }
.bath-picture>img { width:100%; object-fit:cover; }
.bath-picture figcaption { padding-top:12px; }
.bath-material-hero { padding-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.bath-material-hero h1 { font-size:68px; }
.bath-material-hero .bath-display-small { font-size:30px; line-height:1.3; margin-top:30px; }
.bath-material-hero>div>p:not(.bath-kicker):not(.bath-display-small) { font-size:15px; color:var(--bath-muted); }
.bath-material-hero .bath-button { margin-top:30px; }
.bath-material-hero .bath-picture img { min-height:520px; }
.bath-material-hero-reverse>div { order:2; }
.bath-material-hero-reverse>.bath-picture { order:1; }
.bath-article-grid { display:grid; grid-template-columns:1fr 2.1fr; gap:70px; }
.bath-article-grid .bath-text-link { margin:25px 25px 0 0; }
.bath-editorial-columns { display:flex; gap:38px; margin-top:35px; }
.bath-editorial-columns>div { flex:1; min-width:0; }
.bath-editorial-columns h3 { font-size:19px; }
.bath-editorial-columns p { font-size:14px; color:var(--bath-muted); margin-top:14px; }
.bath-split-feature { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; padding-bottom:55px; }
.bath-split-feature>div>p { font-size:15px; color:var(--bath-muted); }
.bath-split-feature .bath-text-link { margin:28px 18px 0 0; }
.bath-related { border-top:1px solid var(--bath-line); margin-top:30px; }
.bath-price-page { display:grid; grid-template-columns:1.55fr 1fr; gap:75px; }
.bath-price-aside { background:#e8ebe3; padding:38px; }
.bath-price-aside h2 { font-size:35px; }
.bath-simple-list { padding:0 0 0 20px; font-size:14px; margin:28px 0; }
.bath-simple-list li { margin:15px 0; padding-left:8px; }
.bath-gallery-notice { display:flex; gap:50px; padding-top:28px; padding-bottom:30px; border-top:1px solid var(--bath-line); border-bottom:1px solid var(--bath-line); margin-bottom:60px; }
.bath-gallery-notice .bath-kicker { min-width:220px; margin-top:4px; }
.bath-gallery-notice>p:last-child { margin:0; max-width:650px; font-size:14px; color:var(--bath-muted); }
.bath-gallery { display:grid; grid-template-columns:1fr 1fr; gap:65px 40px; }
.bath-gallery>.bath-comparison:first-child { grid-column:1/-1; }
.bath-gallery>.bath-comparison:first-child .bath-compare-stage { max-height:760px; }
.bath-gallery>.bath-comparison:first-child .bath-compare-layer img { max-height:760px; object-fit:cover; }
.bath-types article { display:grid; grid-template-columns:.25fr 1fr 1.1fr; gap:40px; border-top:1px solid var(--bath-line); padding:50px 0; }
.bath-types article:last-child { border-bottom:1px solid var(--bath-line); }
.bath-type-number { font:24px Georgia,serif; color:var(--bath-accent); }
.bath-types h2 { font-size:42px; }
.bath-types article p:first-child { margin:0; font-size:15px; }
.bath-process-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:85px; align-items:center; }
.bath-process-intro .bath-step-number { border-color:var(--bath-line); }
.bath-finish-feature { padding-bottom:70px; }
.bath-care-head { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:65px; padding-top:40px; }
.bath-care-head .bath-picture { margin-top:70px; }
.bath-care-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; }
.bath-care-grid aside { align-self:start; padding:35px; background:#e8ebe3; }
.bath-care-grid aside h2 { font-size:36px; }
.bath-care-grid aside>p { font-size:14px; }
.bath-care-grid aside .bath-text-link { margin-top:25px; }
.bath-care-rules article { border-top:1px solid var(--bath-line); padding:28px 0 40px; }
.bath-care-rules article>span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--bath-accent); }
.bath-care-rules h2 { font-size:35px; margin-top:14px; }
.bath-care-rules p { font-size:15px; color:var(--bath-muted); }
.bath-faq-page { display:grid; grid-template-columns:.65fr 1.4fr; gap:100px; padding-bottom:50px; }
.bath-faq-page aside { padding-top:25px; }
.bath-faq-page aside>p { font-size:14px; color:var(--bath-muted); }
.bath-faq-page aside .bath-text-link { display:flex; margin-top:15px; }
.bath-contact-small { font-size:20px; display:inline-block; margin-top:24px; }
.bath-contact-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:90px; padding-top:30px; align-items:center; }
.bath-contact-hero .bath-picture>img { max-height:680px; }
.bath-contact-number { display:inline-block; font:36px Georgia,serif; margin-top:35px; }
.bath-contact-action { margin-top:24px; }
.bath-site .bath-notice { padding:20px 0 20px 20px; border-left:2px solid var(--bath-accent); font-size:13px; max-width:430px; color:var(--bath-muted); }
.bath-contact-checklist { max-width:1050px; }
.bath-contact-checklist .bath-text-link { margin-top:30px; }
.bath-contact-data,.bath-parameters { margin:25px 0; }
.bath-contact-data>div,.bath-parameters>div { padding:12px 0; border-bottom:1px solid var(--bath-line); }
.bath-contact-data dt,.bath-parameters dt { font-size:12px; color:var(--bath-muted); }
.bath-contact-data dd,.bath-parameters dd { margin:0; font-size:15px; }
.bath-parameters:empty { display:none; }
.bath-reveal { animation:bath-arrive .6s ease-out both; }
@keyframes bath-arrive { from { opacity:.7; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:1500px) { .bath-hero h1 { font-size:90px; } }
@media (max-width:1150px) {
 .bath-wrap,.bath-nav { width:calc(100% - 64px); }
 .bath-site h1 { font-size:64px; }.bath-site h2 { font-size:42px; }
 .bath-nav>a { font-size:11px; }.bath-hero h1 { font-size:66px; }
 .bath-hero { grid-template-columns:1fr 1.05fr; gap:26px; }.bath-hero-image>img { min-height:565px; }
 .bath-hero-actions { gap:18px; }.bath-hero-stamp { width:110px; height:110px; font-size:14px; right:18px; }
 .bath-section { padding:85px 0; }.bath-materials { gap:40px; }
 .bath-hotspots { gap:30px; }.bath-zone h3 { font-size:15px; }
 .bath-price-home,.bath-faq-home,.bath-material-hero,.bath-split-feature,.bath-process-intro,.bath-care-grid,.bath-faq-page,.bath-contact-hero { gap:45px; }
 .bath-material-hero h1 { font-size:57px; }.bath-material-hero .bath-picture img { min-height:460px; }
 .bath-price-page { gap:35px; }.bath-price-aside { padding:28px; }
 .bath-material-text { display:block; }.bath-material-text p { margin-top:14px; }.bath-material-text .bath-text-link { margin-top:15px; }
 .bath-care-grid aside { padding:25px; }.bath-contact-number { font-size:30px; }
 .bath-footer-top { gap:50px; }.bath-article-grid { gap:40px; }
}
@media (max-width:900px) {
 .bath-site main[id],.bath-site section[id] { scroll-margin-top:100px; }
 .bath-header-top { min-height:82px; }.bath-header-phone { margin-left:auto; }.bath-header-phone>a { font-size:16px; }
 .bath-site.bath-js .bath-menu-toggle { display:flex; }.bath-nav { flex-wrap:wrap; justify-content:flex-start; gap:2px 24px; }
 .bath-js .bath-nav { display:none; }.bath-js .bath-nav.bath-nav-open { display:grid; grid-template-columns:1fr 1fr; max-height:calc(100vh - 150px); overflow:auto; padding:18px 0; }
 .bath-nav>a { font-size:14px; }
 .bath-hero h1 { font-size:56px; }.bath-hero .bath-lead { font-size:14px; }.bath-hero-copy { padding-top:28px; }
 .bath-hero-image>img { min-height:535px; }.bath-hero-image figcaption { flex-direction:column; gap:0; }
 .bath-hero-stamp { top:20px; width:95px; height:95px; font-size:13px; }
 .bath-intro-line p { font-size:20px; }.bath-intro-line>span:first-child { max-width:160px; }
 .bath-hotspots { grid-template-columns:1fr; }.bath-zones { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
 .bath-hotspots-ready .bath-zone p { display:block; }.bath-zone.bath-zone-active { padding-left:12px; }
 .bath-price-home,.bath-faq-home { grid-template-columns:1fr; gap:40px; }
 .bath-price-row { gap:24px; }.bath-process-grid { gap:35px; }.bath-timeline li { gap:16px; }
 .bath-cta h2 { font-size:46px; }.bath-big-phone { font-size:26px; }.bath-cta-inner { gap:30px; }
 .bath-footer-nav { gap:0 24px; }.bath-footer-top { gap:35px; }
 .bath-material-hero h1 { font-size:49px; }.bath-material-hero .bath-display-small { font-size:26px; }
 .bath-material-hero .bath-picture img { min-height:500px; }.bath-article-grid { grid-template-columns:.6fr 1.5fr; gap:25px; }
 .bath-split-feature { gap:35px; }.bath-price-page { grid-template-columns:1.2fr 1fr; gap:25px; }.bath-price-aside h2 { font-size:29px; }
 .bath-gallery { gap:40px 25px; }.bath-gallery-notice { gap:25px; }.bath-gallery-notice .bath-kicker { min-width:180px; }
 .bath-types article { grid-template-columns:.15fr .85fr 1.1fr; gap:25px; }.bath-types h2 { font-size:34px; }
 .bath-process-intro { gap:35px; }.bath-care-head { gap:35px; }.bath-care-grid { grid-template-columns:.85fr 1fr; gap:35px; }
 .bath-faq-page { gap:40px; grid-template-columns:.7fr 1.3fr; }.bath-contact-hero { gap:30px; }.bath-contact-number { font-size:26px; }
}
@media (max-width:650px) {
 .bath-wrap,.bath-nav { width:calc(100% - 40px); }
 .bath-site { font-size:15px; }.bath-site h1 { font-size:53px; }.bath-site h2 { font-size:36px; }.bath-site .bath-lead { font-size:17px; }
 .bath-site .bath-kicker { font-size:10px; margin-bottom:20px; }
 .bath-section { padding-top:65px; padding-bottom:65px; }.bath-header-top { min-height:76px; gap:14px; }
 .bath-brand { font-size:11px; max-width:220px; gap:9px; }.bath-brand-mark { font-size:44px; }.bath-brand small { font-size:8px; margin-top:5px; }
 .bath-header-phone { display:none; }.bath-menu-toggle { font-size:12px!important; gap:10px; padding:8px 10px; }
 .bath-crumb { padding-top:8px; padding-bottom:8px; font-size:10px; }
 .bath-hero { display:flex; flex-direction:column; gap:30px; padding-top:0; padding-bottom:35px; }
 .bath-hero-copy { padding:14px 0 0; }.bath-hero h1 { font-size:60px; }
 .bath-hero .bath-lead { font-size:15px; margin-top:22px; }.bath-hero-actions { gap:18px; margin-top:23px; }
 .bath-button { padding:14px 19px; gap:24px; min-height:52px; }.bath-text-link { font-size:12px; gap:15px; }
 .bath-hero-phone { margin-top:22px; }.bath-hero-image>img { min-height:0; height:400px; object-position:66% center; }
 .bath-hero-image figcaption { flex-direction:row; font-size:9px; padding:14px; }.bath-hero-stamp { width:105px; height:105px; font-size:14px; }
 .bath-intro-line { padding:25px 0; flex-wrap:wrap; gap:16px; }.bath-intro-line>span:first-child { max-width:none; width:100%; font-size:11px; }.bath-intro-line p { font-size:21px; }.bath-intro-line>span:last-child { font-size:34px; }
 .bath-section-heading { display:block; margin-bottom:30px; }.bath-section-heading>p:last-child { font-size:13px; }
 .bath-materials { grid-template-columns:1fr; gap:45px; }.bath-material:nth-child(2) { margin-top:0; margin-left:30px; }.bath-material-image>img { height:260px; }
 .bath-material-text h3 { font-size:30px; }.bath-material-text p { font-size:14px; }
 .bath-hotspots { gap:22px; }.bath-zones { grid-template-columns:1fr; gap:0; }.bath-hotspot { width:44px; height:44px; font-size:11px!important; box-shadow:0 0 0 4px #ffffff50; }
 .bath-zone { padding:17px 0; }.bath-zone h3 { font-size:16px; }.bath-zone p { font-size:13px; }.bath-image-note { font-size:9px; bottom:8px; left:8px; }
 .bath-image-label { top:12px; right:12px; font-size:11px; padding:5px 13px; }.bath-after .bath-image-label { left:12px; }
 .bath-divider span { width:44px; height:44px; font-size:20px; }.bath-range-row { gap:12px; }.bath-range-row label { font-size:10px; }
 .bath-comparison figcaption { font-size:10px; }.bath-section-end { display:block; margin-top:25px; }.bath-section-end .bath-text-link { margin-top:14px; }
 .bath-process-grid { grid-template-columns:1fr; gap:45px; }.bath-process .bath-text-link { margin-top:20px; }.bath-timeline li { padding-bottom:32px; }
 .bath-timeline h3 { font-size:19px; }.bath-timeline p { font-size:14px; }
 .bath-price-row { gap:18px; padding:25px 0; }.bath-price-row h3 { font-size:23px; }.bath-price-row p { font-size:11px; max-width:130px; }.bath-price-row small { font-size:10px; }
 .bath-faq summary { font-size:15px; padding:21px 0; gap:16px; }.bath-faq details>p { font-size:14px; padding-right:0; }
 .bath-reviews-note { padding-top:40px; padding-bottom:40px; }.bath-reviews-note h2 { font-size:31px; }
 .bath-cta { padding:60px 0; margin-top:25px; }.bath-cta-inner { display:block; }.bath-cta h2 { font-size:43px; }.bath-cta p br { display:none; }.bath-cta-action { margin-top:35px; }.bath-big-phone { font-size:30px; }.bath-cta-action .bath-button { display:inline-flex; }
 .bath-footer { padding:55px 0 110px; }.bath-footer-top { grid-template-columns:1fr; gap:40px; }.bath-site .bath-footer-title { font-size:32px; }.bath-footer-nav { gap:0 25px; }.bath-footer-link { font-size:12px; }
 .bath-footer-bottom { display:block; margin-top:35px; font-size:10px; }.bath-footer-bottom>span { display:block; margin-top:10px; }
 .bath-mobile-call { position:fixed; z-index:30; left:0; bottom:0; width:100%; display:flex; align-items:center; justify-content:space-between; background:var(--bath-paper); border-top:1px solid var(--bath-line); padding:10px 20px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -4px 20px #173e3e0a; }
 .bath-mobile-call>span { font-size:12px; line-height:1.5; }.bath-mobile-call small { display:block; font-size:9px; color:var(--bath-muted); }.bath-mobile-call>a { min-height:44px; display:flex; flex-direction:column; justify-content:center; padding:5px 21px; background:var(--bath-ink); color:#fff; font-size:12px; line-height:1.4; }.bath-mobile-call>a span { font-size:10px; }
 .bath-page-head { padding-top:27px; padding-bottom:40px; }.bath-page-head .bath-lead { margin-top:25px; }
 .bath-material-hero { display:flex; flex-direction:column; gap:40px; padding-top:24px; }.bath-material-hero h1 { font-size:55px; }.bath-material-hero>div { order:0; }.bath-material-hero .bath-picture { order:1; width:100%; }.bath-material-hero .bath-picture img { min-height:0; height:360px; }.bath-material-hero .bath-display-small { font-size:28px; }
 .bath-article-grid { display:block; }.bath-article-grid .bath-lead { font-size:17px; }.bath-editorial-columns { display:block; margin-top:28px; }.bath-editorial-columns>div+div { margin-top:28px; }
 .bath-split-feature { display:flex; flex-direction:column; gap:35px; padding-bottom:35px; }.bath-split-feature>div { width:100%; }.bath-split-feature>.bath-picture { width:100%; }
 .bath-price-page { display:block; }.bath-price-aside { margin-top:35px; padding:30px; }.bath-price-aside h2 { font-size:35px; }
 .bath-gallery-notice { display:block; padding:24px 0; margin-bottom:35px; }.bath-gallery-notice>p:last-child { font-size:13px; }
 .bath-gallery { grid-template-columns:1fr; gap:40px; }.bath-gallery>.bath-comparison:first-child { grid-column:auto; }
 .bath-types article { grid-template-columns:35px 1fr; gap:16px; padding:32px 0; }.bath-types article>div { grid-column:2; }.bath-types h2 { font-size:34px; }.bath-types article p:first-child { font-size:14px; }
 .bath-process-intro { display:flex; flex-direction:column; gap:40px; }.bath-care-head { display:block; padding-top:25px; }.bath-care-head .bath-picture { margin-top:35px; }.bath-care-head .bath-picture img { height:250px; }.bath-care-grid { display:block; }.bath-care-rules { margin-top:40px; }.bath-care-rules h2 { font-size:32px; }
 .bath-faq-page { display:flex; flex-direction:column-reverse; gap:35px; }.bath-faq-page aside { padding:25px; background:#e8ebe3; }.bath-contact-hero { display:block; padding-top:25px; }.bath-contact-hero .bath-picture { margin-top:35px; }.bath-contact-hero .bath-picture>img { height:440px; object-position:center 60%; }.bath-contact-number { font-size:30px; }
}
@media (max-width:360px) {
 .bath-wrap,.bath-nav { width:calc(100% - 32px); }.bath-brand { max-width:190px; font-size:10px; }.bath-brand-mark { font-size:36px; }.bath-menu-toggle { padding:8px; gap:6px; }
 .bath-hero h1 { font-size:51px; }.bath-site h1 { font-size:48px; }.bath-site h2 { font-size:33px; }.bath-hero-image>img { height:340px; }
 .bath-hero-actions { gap:14px; }.bath-hero-actions .bath-text-link { font-size:11px; gap:8px; }.bath-hero-actions .bath-button { padding:14px 17px; gap:18px; }
 .bath-intro-line p { font-size:19px; }.bath-contact-number,.bath-big-phone { font-size:27px; }.bath-price-row h3 { font-size:21px; }.bath-footer-nav { gap:0 15px; }.bath-mobile-call { padding-left:16px; padding-right:16px; }
}
@media (prefers-reduced-motion:reduce) {
 .bath-site *, .bath-site *::before,.bath-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .bath-button:hover { transform:none; }
}
@media print {
 .bath-header,.bath-mobile-call,.bath-cta,.bath-menu-toggle,.bath-hotspot,.bath-range-row { display:none!important; }
 .bath-site { background:white; color:black; }.bath-wrap { width:100%; }.bath-section { padding:25px 0; }.bath-compare-ready .bath-after { position:relative; clip-path:none; }.bath-divider { display:none!important; }.bath-footer { background:white; color:black; }.bath-hotspots-ready .bath-zone p { display:block; }
}
