:root{--ink:#1b111b;--plum:#2a172a;--pink:#f35caa;--pink-light:#ffb1d9;--cream:#f8f3ef;--muted:#b9aab7;--line:rgba(255,255,255,.15);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#160d17;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:var(--serif);font-size:29px;font-weight:800;letter-spacing:-3px;color:var(--pink);border:1px solid rgba(243,92,170,.55);border-radius:50%;width:49px;height:49px;display:grid;place-items:center}.brand-mark span{font-size:18px}.brand-copy{display:flex;flex-direction:column;line-height:1.3;letter-spacing:1.5px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:8px;letter-spacing:2px;color:#cbbcc8;margin-top:4px}.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.nav-links>a:not(.nav-cta){color:#e1d5df}.nav-links>a:hover,.text-link:hover{color:var(--pink)}.nav-cta{padding:12px 17px;border:1px solid rgba(243,92,170,.7);border-radius:2px;color:#fff}.nav-cta span{color:var(--pink);margin-left:10px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}.hero{min-height:680px;background:radial-gradient(ellipse at 78% 47%,#512044 0%,#2a172a 33%,#160d17 72%);color:#fff;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:65px 8vw 90px;overflow:hidden}.hero-glow{position:absolute;width:480px;height:480px;right:10%;top:15%;border-radius:50%;background:#e83e9a;opacity:.08;filter:blur(70px)}.hero-content{z-index:2;max-width:560px;padding-bottom:35px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.5px;font-weight:700}.eyebrow{color:var(--pink-light);display:flex;align-items:center;gap:12px}.eyebrow-line{width:32px;height:1px;background:var(--pink)}h1,h2,.statement p{font-family:var(--serif);font-weight:700;letter-spacing:-2px}h1{font-size:clamp(55px,7vw,91px);line-height:1.03;margin:26px 0}h1 em,h2 em,.statement em{font-weight:600;color:var(--pink);font-style:italic}.hero-intro{color:#d2c2d0;max-width:420px;font-size:15px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px;flex-wrap:wrap}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:16px 21px;font:700 12px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--pink);color:#210e1c}.button-primary:hover{background:#ff8fc7}.button span{font-size:19px}.text-link{font-size:11px;color:#e7dbe5}.text-link span{margin-left:8px;color:var(--pink)}.hero-note{font-size:9px;letter-spacing:1.5px;color:#c4b0c0;margin-top:48px}.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pink);margin-right:8px;box-shadow:0 0 12px var(--pink)}.hero-art{height:430px;position:relative;display:flex;align-items:center;justify-content:center;z-index:1}.moon{position:absolute;right:18%;top:4%;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#ffd7e9,#f26cae);opacity:.9;box-shadow:0 0 65px #f35caa55}.stars{position:absolute;top:12%;left:17%;font-size:18px;letter-spacing:12px;color:#f5a9d0}.sauna-scene{position:relative;width:390px;height:245px;margin-top:70px}.sauna-body{position:absolute;left:26px;top:27px;width:320px;height:145px;border-radius:90px 90px 20px 20px;background:linear-gradient(110deg,#6e3a46,#c17b79 35%,#663341 70%,#301a29);border:5px solid #b77a81;box-shadow:0 0 25px #f35caa44,inset 0 -14px 20px #1a0c17;overflow:hidden}.sauna-roof{position:absolute;top:15px;left:35px;width:300px;height:45px;border-radius:50%;border-top:8px solid #d39b9c;z-index:2}.sauna-rib{position:absolute;top:-4px;bottom:0;width:5px;border-radius:50%;border-left:2px solid #e2a3a0;opacity:.65}.rib1{left:48px}.rib2{left:96px}.rib3{left:145px}.rib4{left:194px}.rib5{left:244px}.sauna-door{position:absolute;left:105px;top:10px;width:105px;height:135px;border-radius:55px 55px 8px 8px;background:#251421;border:5px solid #d7a2a0;box-shadow:0 0 22px #ff61b1aa;overflow:hidden}.door-glow{position:absolute;inset:12px 12px 0;background:linear-gradient(180deg,#f4a9b9,#a83d70 75%,#371b30);opacity:.85;border-radius:50px 50px 0 0}.door-handle{position:absolute;right:12px;top:70px;width:4px;height:18px;background:#f5d4d7;border-radius:3px}.sauna-logo{position:absolute;right:22px;top:55px;font:700 23px var(--serif);color:#ffd4eb;text-shadow:0 0 12px #ff4ab1}.sauna-logo span{font-size:14px}.trailer-frame{position:absolute;left:48px;top:173px;width:300px;height:24px;border-bottom:7px solid #aaa5b0;border-right:20px solid #aaa5b0;transform:skewX(-10deg)}.trailer-wheel{position:absolute;top:183px;width:42px;height:42px;border-radius:50%;background:#18151c;border:5px solid #77717c;box-shadow:inset 0 0 0 4px #2b2630}.wheel-one{left:82px}.wheel-two{right:48px}.ground-light{position:absolute;left:20px;right:10px;bottom:0;height:18px;background:#f35caa;filter:blur(28px);opacity:.7}.steam{position:absolute;border-left:2px solid #f5d2e8;border-radius:50%;width:28px;height:70px;top:-48px;opacity:.55;transform:rotate(15deg)}.steam-one{left:130px}.steam-two{left:175px;top:-62px}.steam-three{left:215px;top:-44px}.art-caption{position:absolute;bottom:5px;left:5%;right:0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#d5b9ce}.hero-bottom{position:absolute;bottom:0;left:8vw;right:8vw;border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#c2b0c0}.section-pad{padding:105px 10vw}.intro{background:var(--cream)}.section-kicker{color:#a64b7d}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start;margin:25px 0 75px}h2{font-size:clamp(42px,5vw,65px);line-height:1.1;margin:0}h2 em{color:#c13c83}.intro-copy{max-width:490px;font-size:14px}.intro-copy p:first-child{margin-top:5px;font-weight:600;font-size:16px}.muted{color:#7e717b}.underlined-link{display:inline-block;margin-top:12px;padding-bottom:7px;border-bottom:1px solid #c13c83;font-size:11px;font-weight:700}.underlined-link span{margin-left:16px;color:#c13c83}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfd3da}.feature-card{padding:28px 25px 8px 0;position:relative}.feature-card+.feature-card{padding-left:28px;border-left:1px solid #dfd3da}.feature-number{font-size:10px;letter-spacing:2px;color:#b78ca5}.feature-icon{font-size:28px;color:#c13c83;margin-top:22px}.feature-card h3,.steps h3{font:700 19px var(--serif);margin:10px 0}.feature-card p,.steps p{font-size:12px;color:#796b76;max-width:280px}.statement{background:#251525;color:#fff;text-align:center;padding:90px 20px 85px;position:relative;overflow:hidden}.statement:before,.statement:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid #f35caa2b;top:10%;left:-100px}.statement:after{left:auto;right:-100px;top:30%}.statement-symbol{color:var(--pink);font-size:24px}.statement p{font-size:clamp(43px,6vw,75px);line-height:1.08;margin:22px 0;letter-spacing:-1px}.statement p em{color:var(--pink)}.statement>span{font-size:9px;letter-spacing:2.5px;color:#cbb7c9}.how{background:#f1e8ed}.how-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:25px 0 55px}.how-heading p{max-width:260px;font-size:13px;color:#766976}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:1px solid #cdbbc8;padding-top:18px}.steps article>span{font-size:11px;color:#c13c83;letter-spacing:2px}.steps h3{font-size:22px}.steps p{line-height:1.8}.note{font-size:10px;color:#786c76;margin-top:40px}.request-section{background:#1a101b;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.request-copy h2{margin:25px 0}.request-copy>p{font-size:13px;color:#c6b7c5;max-width:330px}.contact-card{display:flex;gap:14px;align-items:center;margin-top:30px}.contact-icon{width:40px;height:40px;border:1px solid #72425f;color:var(--pink);display:grid;place-items:center;font-size:20px}.contact-card div{display:flex;flex-direction:column}.contact-card small{font-size:8px;letter-spacing:1.7px;color:#ad9bac}.contact-card a{font-size:12px;margin-top:3px;color:#f7d7e9}.request-form{background:#281a29;border:1px solid #4b3349;padding:30px}.form-top{display:flex;justify-content:space-between;color:#dba1c5;font-size:9px;letter-spacing:1.5px;margin-bottom:25px}.form-top span+span{color:#ad9bac;font-size:8px}.request-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:600;color:#e6dbe5;margin-bottom:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{width:100%;background:#1b111c;border:1px solid #594456;border-radius:0;padding:13px 12px;color:#fff;font:12px var(--sans);outline:none}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--pink)}.request-form input::placeholder,.request-form textarea::placeholder{color:#8e7d8e}.request-form select{color:#c9b9c8}.request-form input[type=date]{color-scheme:dark}.consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:400!important;line-height:1.6}.consent input{margin-top:3px;accent-color:var(--pink)}.submit-button{width:100%;margin-top:5px}.form-disclaimer{font-size:9px;color:#a895a7;line-height:1.6}.form-message{font-size:12px;line-height:1.6;margin-top:12px}.form-message.error{color:#ffb5b5}.form-message.success{color:#a5f0c4}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq h2{font-size:48px;margin-top:25px}.faq-list details{border-bottom:1px solid #d9cbd5;padding:20px 0}.faq-list details:first-child{border-top:1px solid #d9cbd5}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-size:13px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#c13c83;font-size:20px;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:#756975;max-width:550px}.footer{background:#120b13;color:white;padding:40px 8vw 22px}.footer-brand .brand-mark{width:42px;height:42px;font-size:24px}.footer>p{font:italic 18px var(--serif);color:#d99abb;margin:25px 0}.footer-bottom{border-top:1px solid #382638;padding-top:18px;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;font-size:9px;color:#b5a5b4}.footer-bottom a{color:#e7c5db}@media(max-width:850px){.site-header{padding:0 5vw}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:83px;left:0;right:0;background:#160d17;padding:22px 5vw 28px;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding:65px 7vw 90px}.hero-content{padding-bottom:0}.hero-art{height:360px;margin-top:20px}.hero-note{margin-top:30px}.hero-bottom{left:7vw;right:7vw}.section-pad{padding:75px 7vw}.intro-grid,.request-section,.faq{grid-template-columns:1fr;gap:35px}.intro-grid{margin-bottom:50px}.feature-row{grid-template-columns:1fr}.feature-card,.feature-card+.feature-card{padding:22px 0;border-left:0;border-bottom:1px solid #dfd3da}.feature-icon{margin-top:10px}.how-heading{align-items:start;flex-direction:column;gap:10px}.steps{grid-template-columns:1fr;gap:20px}.steps article{padding-bottom:10px}.request-section{gap:40px}.faq h2{font-size:43px}.request-form{padding:22px}}@media(max-width:480px){.brand-copy strong{font-size:10px}.brand-copy small{font-size:7px}.brand-mark{width:42px;height:42px;font-size:24px}.hero{padding-top:52px}.hero-art{transform:scale(.84);transform-origin:center top;margin-bottom:-40px;margin-left:-15px;margin-right:-15px}.hero-bottom{font-size:7px;letter-spacing:1px}.hero-bottom span:last-child{display:none}.hero-actions{gap:17px}.button{padding:15px 16px}.field-row{grid-template-columns:1fr;gap:0}.request-form{padding:18px}.footer-bottom{gap:12px;flex-direction:column}}

/* Gallery — added 2026-10-21 (Hot & Steamy photos) */
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.gallery-grid figure,.gallery-card{margin:0}
.gallery-grid img,.gallery-card img{width:100%;height:auto;display:block;border:1px solid #d9cbd5}
.gallery-grid figcaption,.gallery-card figcaption{font-size:10px;letter-spacing:1.7px;color:#786c76;margin-top:12px;font-weight:600}
.gallery-card{max-width:680px;margin:25px auto 0}
@media(max-width:800px){.gallery-grid{grid-template-columns:1fr}}

/* Hero photo + single gallery image — added 2026-10-21 (revision) */
.hero-photo{width:100%;height:auto;display:block;border:1px solid var(--line)}
.gallery-single{max-width:520px;margin:0 auto}
.gallery-single img{width:100%;height:auto;display:block;border:1px solid #d9cbd5}
.gallery-single figcaption{font-size:10px;letter-spacing:1.7px;color:#786c76;margin-top:12px;font-weight:600}

/* Instagram QR card in request section — added 2026-10-21 */
.request-qr{display:block;margin-top:30px;max-width:340px}
.request-qr img{width:100%;height:auto;display:block;border:1px solid #4b3349}

/* Real-photo gallery spacing — added 2026-10-21 */
.gallery-single{margin:25px auto 0}

/* Footer logo overlap fix — added 2026-10-22: keep H&S on one line inside the circle */
.brand-mark{white-space:nowrap;flex:none;line-height:1}
.footer-brand .brand-mark{font-size:19px;letter-spacing:-2px}
.footer-brand .brand-mark span{font-size:12px}

/* Logo fix v2 — added 2026-10-22: the mark used grid layout, so H, & and S each became their own row. Switch the mark to a centered single row and size it to fit the circle. */
.brand-mark{display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:none;line-height:1;font-size:23px;letter-spacing:-2px}
.brand-mark span{font-size:14px}
.footer-brand .brand-mark{font-size:19px;letter-spacing:-2px}
.footer-brand .brand-mark span{font-size:12px}
