@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--rose:#cc967e;--pale:#f5d5c6;--muted:#b8b0ad;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#030303;color:#fff;font:15px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--pale);outline-offset:5px}.preview{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:7px 5%;background:#151112;border-bottom:1px solid #cd967e22;color:#c7b6ae;font-size:9px;letter-spacing:1px}.preview button{border:0;color:#d8b5a4;background:none;font-size:10px}header{height:112px;padding:0 5%;display:flex;align-items:center;gap:24px;border-bottom:1px solid #c78a7133;background:linear-gradient(170deg,#181516 0%,#050505 60%);position:relative;z-index:5}.logo{display:block;position:relative;width:196px;height:105px;overflow:hidden;flex-shrink:0}.logo span{display:block;position:absolute;inset:0;background:url('/assets/approved-brand-reference.jpg') 0 0/405px auto no-repeat}.header-name{font:600 16px 'Barlow Condensed',Arial,sans-serif;letter-spacing:1.2px;color:var(--pale)}.header-name small{display:block;font:11px 'DM Sans',Arial,sans-serif;color:var(--muted);letter-spacing:.2px;margin-top:6px}.header-phone{margin-left:auto;font-size:14px;letter-spacing:.6px}.book{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:18px 24px;color:#1c0e0b;background:linear-gradient(112deg,#9c5842 0%,#d29980 24%,#f5d6c6 46%,#bc7b61 74%,#d99c82 100%);border:1px solid #efc9b7;box-shadow:inset 0 1px 0 #fff9,0 8px 34px #b46c4529;font-size:12px;font-weight:700;letter-spacing:1.2px;border-radius:3px;transition:box-shadow .25s,transform .25s}.book:hover{box-shadow:inset 0 1px 0 #fff9,0 8px 40px #ce8b6259;transform:translateY(-2px)}.book span{font-size:21px;font-weight:400;line-height:1}.book.small{font-size:10px;padding:13px 20px;gap:24px}.hero{min-height:620px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('/assets/web/hero-photoreal-v2-1b155f.webp') center right/cover no-repeat;z-index:-4;animation:camera 22s ease-in-out infinite alternate}.shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#030303 0%,#030303ef 25%,#0303038c 47%,transparent 70%),linear-gradient(0deg,#030303a8,transparent 25%)}.copy{padding:55px 5% 70px;position:relative;z-index:3;width:58%}.kicker{display:flex;align-items:center;gap:12px;color:#deb39c;font-size:9px;letter-spacing:2px;font-weight:500;margin:0 0 20px}.kicker>span{width:28px;height:1px;background:var(--rose)}h1{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(54px,6.4vw,96px);line-height:1.02;letter-spacing:.2px;font-weight:500;margin:0 0 24px}.metal{font-size:.77em;font-weight:600;letter-spacing:2px;background:linear-gradient(110deg,#a56249,#f4cfb8 30%,#c1856b 60%,#f7d9c9);background-clip:text;color:transparent;white-space:nowrap}.intro{color:#d3c9c4;font-size:15px;line-height:1.8;margin-bottom:29px}.actions{display:flex;align-items:center;gap:28px}.call{font-size:12px;border-bottom:1px solid #aa765e;padding:10px 0;color:#e8d3c8;white-space:nowrap}.call span{margin-left:12px}.booking-note{font-size:10px;color:#afa09a;margin-top:14px}.image-caption{position:absolute;bottom:27px;right:5%;text-align:right;font-size:8px;letter-spacing:1.7px;color:#ead7cd}.image-caption small{display:block;color:#b6aaa3;font-size:8px;letter-spacing:.3px;margin-top:5px}.service-bar{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;align-items:center;padding:22px 5%;background:linear-gradient(180deg,#181112,#080607);border-top:1px solid #bd8066aa;border-bottom:1px solid #bd806644;font:500 12px 'Barlow Condensed',Arial,sans-serif;letter-spacing:1.8px;color:#dcae96}.service-bar i{width:3px;height:3px;border-radius:50%;background:#e0ad90}.direction-note{padding:28px 5%;display:flex;gap:24px;align-items:baseline;color:#b2a49e;max-width:1150px;font-size:12px}.direction-note>span{font-size:9px;letter-spacing:1.6px;white-space:nowrap;color:#c98d70}.direction-note p{margin:0}.vapor{position:absolute;right:8%;bottom:15%;width:52%;height:28%;background:radial-gradient(ellipse at 50% 60%,#f5ece425,transparent 65%);filter:blur(22px);pointer-events:none;z-index:-1;opacity:0;animation:vapor 12s ease-in-out infinite}.v2{right:19%;width:35%;animation-delay:-6s}.brand-bubble{position:absolute;width:100px;height:100px;object-fit:contain;right:6%;top:15%;z-index:1;pointer-events:none;animation:float 13s ease-in-out infinite}.brand-bubble.b2{width:64px;height:64px;right:35%;top:8%;animation-delay:-6s;animation-duration:16s}.brand-bubble.b3{width:44px;height:44px;right:39%;top:57%;animation-delay:-3s;animation-duration:11s}.brand-bubble.b4{width:80px;height:80px;right:3%;top:53%;animation-delay:-9s;animation-duration:17s}.paused *{animation-play-state:paused!important}@keyframes camera{to{transform:scale(1.025)}}@keyframes vapor{0%{transform:translate(-5%,12%) scale(.8);opacity:0}35%{opacity:.65}75%{opacity:.3}100%{transform:translate(9%,-45%) scale(1.5);opacity:0}}@keyframes float{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(8px,-28px) rotate(3deg)}}@media(min-width:1500px){.hero{min-height:720px}.copy{padding-left:8%}header{padding:0 8%}}@media(max-width:950px){.header-name{display:none}.copy{width:70%}.actions{gap:19px}.book{padding:16px 18px;gap:19px}.hero{min-height:590px}.hero-image{background-position:65% center}.shade{background:linear-gradient(90deg,#030303f5,#030303c9 32%,#03030340 70%,#03030310)}.service-bar{gap:15px}}@media(max-width:600px){.preview{font-size:7px;gap:10px;padding:7px 5%}.preview>span:nth-child(2){display:none}header{height:94px;padding:0 5%;gap:12px}.logo{width:152px;height:86px}.logo span{background-size:326px auto}.header-phone{display:none}.book.small{margin-left:auto;font-size:9px;padding:12px;gap:9px}.hero{min-height:730px;align-items:flex-start}.hero-image{background-size:auto 520px;background-position:69% 100%;background-repeat:no-repeat}.shade{background:linear-gradient(180deg,#030303 0%,#030303 23%,#030303d9 41%,#03030308 75%,#03030377 100%)}.copy{width:100%;padding:37px 6% 0}h1{font-size:65px;margin-bottom:18px}.metal{font-size:.72em}.kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:15px}.intro{font-size:13px;margin-bottom:22px}.actions{gap:20px}.actions .book{font-size:10px;letter-spacing:.7px;padding:15px;gap:15px}.call{font-size:10px}.booking-note{font-size:9px;max-width:250px}.image-caption{bottom:16px;font-size:7px}.brand-bubble{top:65%;width:70px;height:70px}.brand-bubble.b2{top:49%;right:5%;width:50px;height:50px}.brand-bubble.b3{top:74%;right:74%}.brand-bubble.b4{display:none}.vapor{bottom:8%;width:80%;height:23%}.service-bar{font-size:10px;letter-spacing:1px;gap:10px 16px;justify-content:space-between}.service-bar i{display:none}.service-bar span{width:45%}.direction-note{display:block;padding:20px 6%;font-size:11px}.direction-note>span{display:block;margin-bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.vapor{opacity:.25}}
/* Full preview: approved gloss-black and rose-gold direction. */
html{scroll-padding-top:110px}header{position:sticky;top:0;z-index:20;height:104px;gap:18px;background:linear-gradient(160deg,#171314f8,#030303f8 65%);backdrop-filter:blur(18px)}.logo{width:90px;height:90px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 18px #c78a7115}.logo span{background-size:330px auto;background-position:-44px -3px;border-radius:50%}.header-name{font-size:14px;white-space:nowrap}.header-name small{font-size:10px}header nav{display:flex;gap:22px;margin-left:auto;font-size:11px;color:#deccc3}header nav a:hover{color:#f2bfa6}.header-phone{font-size:11px;margin-left:15px}.hero-image.machine-scene{width:100%;height:100%;background:none;display:block}.head-bubble{transform-box:view-box;animation:head-ascent 7s linear infinite;opacity:0;mix-blend-mode:screen}.internal-mist{animation:internal-steam 7s ease-in-out infinite;stroke-dasharray:200 600;stroke-dashoffset:800;opacity:.13}.vapor{height:40%;width:65%;bottom:6%;background:radial-gradient(ellipse at 55% 70%,#f8eee145,transparent 59%);filter:blur(22px);animation-duration:10s}.v2{width:43%;bottom:14%;right:12%;animation-duration:13s}.service-bar{position:relative}.content-section{padding:95px 6%;scroll-margin-top:15px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:36px}.section-title>p{max-width:355px;font-size:14px;line-height:1.85;color:#bdb1ab;margin:0}.section-title .kicker{margin-bottom:15px}h2{font:500 clamp(44px,4.8vw,70px)/1.05 'Barlow Condensed',Arial,sans-serif;letter-spacing:.1px;margin:0}.rose{background:linear-gradient(110deg,#a96650,#efd0bd 40%,#c4876b 80%);color:transparent;background-clip:text}h3{font:500 29px/1.2 'Barlow Condensed',Arial,sans-serif;margin:0 0 13px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-tile{border:1px solid #b77b603e;background:linear-gradient(140deg,#1c1517 0%,#090708 60%);border-radius:7px;overflow:hidden;transition:border-color .25s,transform .25s}.service-tile:hover{border-color:#dba589;transform:translateY(-4px)}.service-visual{height:190px;background-image:url('/assets/service-photographs.png');background-size:300% 200%;background-repeat:no-repeat;border-bottom:1px solid #bc806228}.visual-0{background-position:0 0}.visual-1{background-position:50% 0}.visual-2{background-position:100% 0}.visual-3{background-position:0 100%}.visual-4{background-position:50% 100%}.visual-5{background-position:100% 100%}.tile-copy{padding:25px}.tiny-label{font-size:8px;letter-spacing:1.4px;color:#b88670;display:block;margin-bottom:14px}.tile-copy p,.result-copy p{color:#c0b3ac;font-size:12px;line-height:1.85;margin:0}.tile-copy p{min-height:68px}.service-link{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#e8b79c;border-top:1px solid #bb7e6040;padding-top:16px;margin-top:25px}.service-link:hover{color:#fff1e9}.commercial{border:1px solid #b47b603b;border-left:3px solid #bf866b;padding:34px;display:flex;gap:40px;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#211519,#090708);margin-top:25px}.commercial .kicker{font-size:8px;margin-bottom:12px}.commercial p:not(.kicker){font-size:12px;color:#bfb0a8;max-width:580px;margin:0}.outline-button{display:flex;gap:20px;align-items:center;border:1px solid #bf866b88;border-radius:3px;padding:15px 20px;font-size:11px;color:#f0c4ad;flex-shrink:0}.results-section{background:linear-gradient(180deg,#110c0e,#040404);border-top:1px solid #b47e6030}.filter-bar{display:flex;gap:10px;flex-wrap:wrap}.filter-bar button{background:#0a0809;border:1px solid #b7826655;color:#cebab0;padding:11px 20px;border-radius:3px;font-size:11px}.filter-bar button.active{background:linear-gradient(110deg,#a56850,#eac3aa);color:#1d100b;border-color:#e0b399}.filter-status{font-size:10px;color:#ac9890;margin:14px 0 22px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.result-card{overflow:hidden;border-radius:6px;border:1px solid #b880603e;background:#0d0a0b}.result-card[hidden]{display:none}.pair{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#a27053}.pair figure{margin:0;position:relative;min-width:0;background:#080607}.pair img{display:block;width:100%;height:245px;object-fit:cover;transition:transform .5s}.pair a{display:block;overflow:hidden}.pair a:hover img{transform:scale(1.04)}.pair figcaption{position:absolute;left:12px;bottom:12px;font:500 11px 'Barlow Condensed',Arial,sans-serif;letter-spacing:2px;background:#090607d9;border:1px solid #ce987e88;padding:6px 11px;color:#f3d1bf;pointer-events:none}.result-copy{padding:25px}.result-copy h3{font-size:27px}.result-copy small{font-size:9px;color:#9d8e87;display:block;margin-top:13px}.results-end{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.results-end p{font-size:13px;color:#c4b4ab}.results-end .service-link{margin:0}.booking-panel{background:radial-gradient(ellipse at 85% 0%,#6b3d2f45,transparent 55%),linear-gradient(115deg,#21151a,#0b090a);border-top:1px solid #bd8766aa;border-bottom:1px solid #bd876666;position:relative;isolation:isolate;overflow:hidden}.booking-bubble{width:140px;position:absolute;right:3%;top:0;opacity:.2;z-index:-1;animation:float 13s ease-in-out infinite}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.steps>div{border-top:1px solid #b9866660;padding-top:22px}.steps>div>span{font:400 36px 'Barlow Condensed',Arial,sans-serif;color:#be896e;display:block;margin-bottom:14px}.steps h3{font-size:26px}.steps p{font-size:12px;line-height:1.8;color:#c2b1a8}.personal-help{font-size:12px;color:#baa79d;margin-top:35px}.personal-help a{color:#efc6ae;text-decoration:underline;text-underline-offset:4px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-photo{margin:0;position:relative;border:1px solid #a8786055;border-radius:5px;overflow:hidden}.about-photo img{width:100%;height:410px;object-fit:cover;display:block}.about-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 22px;background:linear-gradient(transparent,#050405e8);font-size:9px;letter-spacing:2px;color:#f4d6c3}.about-section>div>p:not(.kicker){font-size:13px;line-height:1.9;color:#c0b3ab;margin-top:24px}.about-section .service-link{display:inline-flex}.questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#0e0a0c;border-top:1px solid #bd87663a}.questions>div>p:not(.kicker){font-size:12px;color:#beaca2;margin-top:25px}.questions>div>p a{color:#efc6ae}.faq-list details{border-bottom:1px solid #be85664a;padding:20px 0}.faq-list summary{font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#dba587;font-size:20px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;line-height:1.9;color:#c1afa5;padding-right:25px}.closing{text-align:center;background:radial-gradient(ellipse at 50% 100%,#86422e33,transparent 70%)}.closing .kicker{justify-content:center}.closing h2{font-size:clamp(55px,6vw,87px);margin-bottom:35px}.closing-phone{display:block;font-size:15px;letter-spacing:1px;color:#eac1a9;margin-top:20px}footer{border-top:1px solid #c48a6a44;padding:42px 6%;display:flex;justify-content:space-between;gap:40px;background:#090708}footer strong{font-family:Georgia,serif;font-size:32px;font-weight:400;color:#d7a68c}footer strong span{font:11px 'Barlow Condensed',Arial,sans-serif;letter-spacing:2px;margin-left:15px}footer p{font-size:11px;color:#b8a297;line-height:1.8}footer>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:11px;color:#c7a28d}footer>div:last-child>span{font-size:9px;color:#998880}.mobile-dock{display:none}section[id]{scroll-margin-top:15px}@keyframes head-ascent{0%{transform:translate(var(--sx),var(--sy)) scale(1);opacity:0}12%{opacity:.65}80%{opacity:.5}100%{transform:translate(var(--ex),var(--ey)) scale(.35);opacity:0}}@keyframes internal-steam{0%{stroke-dashoffset:800;opacity:0}25%{opacity:.22}80%{opacity:.12}100%{stroke-dashoffset:0;opacity:0}}@media(max-width:1100px){header nav{gap:15px}.header-name{display:none}.header-phone{margin-left:auto}.content-section{padding:75px 5%}.tile-copy{padding:22px}.commercial{display:block}.commercial .outline-button{display:inline-flex;margin-top:24px}.pair img{height:215px}.about-section{gap:35px}}@media(max-width:720px){header{height:88px;gap:12px}.logo{width:74px;height:74px}.logo span{background-size:271px auto;background-position:-36px -3px}header nav{display:none}.header-phone{display:block;font-size:11px}.book.small{margin-left:0}.hero-image.machine-scene{top:auto;bottom:0;height:520px;object-fit:cover}.content-section{padding:60px 6%}.section-title{display:block;margin-bottom:28px}.section-title>p{margin-top:24px;max-width:none;font-size:13px}.section-title>.book{margin-top:26px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-visual{height:145px}.tile-copy{padding:18px 15px}.tile-copy h3{font-size:25px}.tile-copy p{font-size:11px;min-height:100px}.tiny-label{font-size:7px;letter-spacing:.8px}.service-link{font-size:10px;gap:10px;line-height:1.5}.commercial{padding:25px}.result-grid{grid-template-columns:1fr}.pair img{height:255px}.results-end{display:block}.results-end .service-link{display:inline-flex;margin-top:5px}.steps{grid-template-columns:1fr;gap:20px;margin-top:35px}.steps>div{display:grid;grid-template-columns:45px 1fr;gap:0 15px;padding-top:20px}.steps>div>span{grid-row:span 2;margin:0}.steps h3{margin-bottom:5px}.steps p{margin:0}.about-section,.questions{grid-template-columns:1fr;gap:32px}.about-photo img{height:320px}.faq-list details:first-child{padding-top:0}.closing h2{font-size:64px}footer{display:block;padding:35px 6% 110px}footer>div:last-child{align-items:flex-start;margin-top:25px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#090608f2;backdrop-filter:blur(15px);border-top:1px solid #bb826688;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:12px;align-items:center}.mobile-dock>a:first-child{flex:1;text-align:center;font-size:12px;color:#edc6b0}.mobile-dock .book{flex:1.5;font-size:10px;padding:14px 17px;gap:20px}}@media(max-width:390px){.header-phone{display:none}.book.small{margin-left:auto}.pair img{height:210px}.service-visual{height:130px}.tile-copy p{min-height:115px}.service-link{font-size:9px}}@media(prefers-reduced-motion:reduce){.head-bubble{animation:none!important;transform:translate(var(--sx),var(--sy));opacity:.35}.internal-mist{animation:none!important;opacity:.13}.pair img,.service-tile{transition:none}}
/* Revised service photography. The opening wand, bubbles, and steam are unchanged. */
.service-visual{height:215px;background-size:200% 200%;background-image:url('/assets/service-photos-natural-v4.png')}
.visual-0{background-image:url('/assets/jobs/20260908_104652.jpg');background-size:cover;background-position:center 65%}
.visual-1{background-image:url('/assets/jobs/20261019_110534.jpg');background-size:cover;background-position:center 48%}
.visual-2{background-position:0 0}.visual-3{background-position:100% 0}.visual-4{background-position:0 100%}.visual-5{background-position:100% 100%}
@media(max-width:720px){.service-visual{height:155px}}
@media(max-width:390px){.service-visual{height:140px}}

/* Standalone logo asset: no flyer background, masking, or circular crop. */
header .logo{display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:0;box-shadow:none;background:none}
header .logo-asset{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;max-width:100%;filter:drop-shadow(0 2px 6px #0006)}

/* Photo selection revised: blue room stays only in its comparison. */
.visual-0{background-image:url('/assets/jobs/20261019_130354.jpg');background-size:cover;background-position:center 70%}
.visual-1{background-image:url('/assets/jobs/20261019_110529.jpg');background-size:cover;background-position:center 55%}
.visual-5{background-image:url('/assets/existing-gallery/IMG_8945.jpeg');background-size:cover;background-position:center 63%}

.commercial-photo{flex:0 0 220px;margin:0}.commercial-photo img{display:block;width:100%;height:175px;object-fit:cover;border-radius:3px}.commercial-photo figcaption{font-size:7px;letter-spacing:1.1px;color:#b78c76;margin-top:8px}.commercial{gap:25px}.commercial .outline-button{flex-shrink:1;min-width:170px}@media(max-width:1100px){.commercial-photo{float:left;width:220px;margin:0 25px 18px 0}.commercial:after{content:"";display:table;clear:both}}@media(max-width:600px){.commercial-photo{float:none;width:100%;margin:0 0 24px}.commercial-photo img{height:220px}}

/* All six service photographs now show TK’s actual work. */
.service-visual.actual-job{display:block;width:100%;object-fit:cover;background:none!important}.actual-job.visual-0{object-position:center 70%}.actual-job.visual-1{object-position:center 55%}.actual-job.visual-2{object-position:65% 32%}.actual-job.visual-3{object-position:center 55%}.actual-job.visual-4{object-position:center 55%}.actual-job.visual-5{object-position:center 63%}

.repair-service-pair{height:215px;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#b880603e;border-bottom:1px solid #bc806228}.repair-service-pair>div{position:relative;overflow:hidden}.repair-service-pair img,.repair-service-pair svg{display:block;width:100%;height:100%;object-fit:cover}.repair-service-pair img{object-position:center 42%}.repair-service-pair span{position:absolute;bottom:9px;left:7px;right:7px;text-align:center;background:#100b0bdb;border:1px solid #c38d7055;padding:4px;font-size:7px;letter-spacing:1px;color:#edc4ac}.repair-result-image{display:block;background:#090708}.repair-result-image img{display:block;width:100%;height:390px;object-fit:contain}.actual-job.visual-4{object-position:46% 49%}@media(max-width:720px){.repair-service-pair{height:155px}.repair-service-pair span{font-size:6px;letter-spacing:.2px;left:3px;right:3px}.repair-result-image img{height:390px}}@media(max-width:390px){.repair-service-pair{height:140px}}

.actual-job.visual-0{object-position:center 60%}.booth-result{grid-column:1/-1}.booth-result .pair img{height:auto;aspect-ratio:4/3;object-fit:contain}.booth-result .pair{background:#b8806030;gap:5px}.booth-result .result-copy{padding:28px 30px}.booth-result h3{font-size:35px}.booth-contact{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 30px}.booth-contact p{font-size:12px;color:#c1afa5}.booth-contact .service-link{margin:0}.booth-result .pair figcaption{font-size:12px;padding:8px 14px}@media(max-width:600px){.booth-result .pair{grid-template-columns:1fr}.booth-result .pair img{aspect-ratio:4/3}.booth-result .result-copy{padding:24px}.booth-contact{display:block;padding:15px 24px 25px}.booth-contact .service-link{display:inline-flex;margin-top:8px}.booth-result h3{font-size:30px}}

.tile-copy{padding-top:18px}.filter-bar{margin-bottom:26px}

.room-result .pair svg{display:block;width:100%;height:245px}.spring-result .pair img,.frame-result .pair img{object-fit:contain;background:#080708}.repair-service-pair img{object-fit:cover;object-position:center 40%}@media(max-width:720px){.room-result .pair svg{height:255px}}@media(max-width:390px){.room-result .pair svg{height:210px}}
.repair-service-pair img{object-fit:contain;background:#080708}.repair-service-pair span{display:none}

.actual-job.visual-1{object-position:center 58%}

/* Owner-selected commercial property photograph. */
.commercial-photo{flex-basis:260px}.commercial-photo img{height:300px;object-position:center 54%}@media(max-width:1100px){.commercial-photo{width:260px}}@media(max-width:600px){.commercial-photo{width:100%}.commercial-photo img{height:auto;max-height:500px;object-fit:contain}}

/* Compact footer wordmark; keep the full business name balanced. */
footer strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font:600 18px/1.35 'Barlow Condensed',Arial,sans-serif;letter-spacing:1px}
footer strong span{font:inherit;letter-spacing:inherit;margin-left:0}

/* Branded bubbles rise from a soft steam bed at the foot of the page. */
footer{position:relative;isolation:isolate;min-height:245px;padding-top:52px;padding-bottom:70px;background:linear-gradient(180deg,#090708,#080707 65%,#17110f)}
footer>div:not(.footer-atmosphere){position:relative;z-index:2}
.footer-atmosphere{position:absolute;inset:-175px 0 0;overflow:hidden;pointer-events:none;z-index:0;contain:paint}
.footer-bubble{position:absolute;left:var(--x);bottom:-90px;width:var(--size);height:var(--size);object-fit:contain;opacity:0;animation:footer-bubble-rise var(--duration) linear var(--delay) infinite;will-change:transform,opacity}
.footer-steam{position:absolute;bottom:-75px;width:65%;height:235px;opacity:0;background:radial-gradient(ellipse at 25% 65%,#ece5df36,transparent 36%),radial-gradient(ellipse at 60% 70%,#e9e3df3b,transparent 43%),radial-gradient(ellipse at 48% 92%,#e0d5cb47,transparent 58%);filter:blur(18px);animation:footer-steam-drift 15s ease-out infinite;will-change:transform,opacity}
.steam-one{left:-10%;animation-delay:-5s}.steam-two{left:25%;animation-delay:-10s;animation-duration:19s}.steam-three{right:-15%;animation-delay:-15s;animation-duration:22s}
@keyframes footer-bubble-rise{0%{opacity:0;transform:translate3d(0,0,0) scale(.7)}12%{opacity:.72}48%{transform:translate3d(calc(var(--drift) * -.35),-195px,0) scale(.88);opacity:.7}80%{opacity:.6}100%{opacity:0;transform:translate3d(var(--drift),-460px,0) scale(1.08)}}
@keyframes footer-steam-drift{0%{opacity:0;transform:translate3d(0,35px,0) scale(.9)}25%{opacity:.65}65%{opacity:.45}100%{opacity:0;transform:translate3d(40px,-120px,0) scale(1.3)}}
@media(max-width:720px){footer{min-height:355px;padding-bottom:130px}.footer-atmosphere{inset:-135px 0 58px}.footer-bubble{width:calc(var(--size) * .78);height:calc(var(--size) * .78)}.footer-bubble:nth-of-type(2),.footer-bubble:nth-of-type(4){display:none}.footer-steam{width:95%}}
@media(prefers-reduced-motion:reduce){.footer-bubble{display:none}.footer-steam{opacity:.2;transform:none}}

/* Silent, optional bubble interaction. Controls remain above the decoration. */
.brand-bubble,.footer-bubble{pointer-events:auto;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-drag:none}
.bubble-popped{visibility:hidden!important;pointer-events:none!important}
.bubble-pop-effect{position:fixed;left:var(--pop-x);top:var(--pop-y);width:var(--pop-size);height:var(--pop-size);margin-left:calc(var(--pop-size) / -2);margin-top:calc(var(--pop-size) / -2);z-index:40;pointer-events:none;border:1px solid #f4d8c3aa;border-radius:50%;animation:bubble-pop-ring .38s ease-out forwards}
.bubble-pop-effect i{position:absolute;width:4px;height:4px;left:50%;top:50%;border-radius:50%;background:#f4e2d7;box-shadow:0 0 5px #d9a68d;animation:bubble-pop-drop .44s ease-out forwards}
@keyframes bubble-pop-ring{from{opacity:.85;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}
@keyframes bubble-pop-drop{from{opacity:.9;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}
@media(prefers-reduced-motion:reduce){.bubble-pop-effect{display:none}}

footer .bubble-invitation{font-size:10px;color:#bba397;letter-spacing:.15px;margin-top:24px;max-width:290px}

.booking-bubble{z-index:1;pointer-events:auto;cursor:pointer;touch-action:manipulation}.booking-panel>.section-title,.booking-panel>.steps,.booking-panel>.personal-help{position:relative;z-index:2;pointer-events:none}.booking-panel a{pointer-events:auto}

.brand-bubble.b5{left:50%;right:auto;top:66%;width:56px;height:56px;animation-delay:-4s;animation-duration:18s}@media(max-width:720px){.brand-bubble.b5{left:49%;top:79%;width:38px;height:38px}}

.footer-motion{position:absolute;right:6%;bottom:24px;background:none;border:0;color:#bba397;font-size:10px;padding:8px;z-index:3}footer .footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:11px;color:#c7a28d}footer .footer-links>span{font-size:9px;color:#998880}.page-content{min-height:60vh}.page-content h1{font-size:clamp(44px,6vw,76px)}.page-content p{max-width:720px}.page-content .book{margin:20px 15px 20px 0}@media(max-width:720px){footer .footer-links{align-items:flex-start;margin-top:25px}.footer-motion{bottom:83px}}

/* Keep the animated layer above passive copy, clear of real links. */
.footer-atmosphere{z-index:3;contain:none;overflow:clip}
footer .footer-links{pointer-events:none}footer .footer-links a{pointer-events:auto}
.copy{pointer-events:none}.copy a{pointer-events:auto}
footer .footer-links,.footer-motion{z-index:4}
.footer-bubble{left:calc(55% + var(--x) * .35);max-width:calc(100% - 20px);touch-action:pan-y pinch-zoom}
.brand-bubble,.booking-bubble,.commercial-bubble{touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:pointer;pointer-events:auto}
.brand-bubble:focus-visible,.footer-bubble:focus-visible,.booking-bubble:focus-visible,.commercial-bubble:focus-visible{outline:2px solid var(--pale);outline-offset:4px;border-radius:50%}
.commercial{position:relative;isolation:isolate;padding-top:100px;overflow:clip}
.commercial-bubble{position:absolute;right:3%;top:10px;width:100px;height:100px;object-fit:contain;opacity:.55;z-index:3;animation:float 13s ease-in-out infinite}
/* On wide footers the links occupy the right; float above the empty center. */
@media(min-width:721px){.footer-bubble{left:calc(35% + var(--x) * .25)}}
@media(max-width:720px){
 html{overflow-x:clip}
 header{position:relative;backdrop-filter:none}
 .mobile-dock{backdrop-filter:none;background:#090608}
 .mobile-dock>a:first-child{display:flex;align-items:center;justify-content:center;min-height:44px}
 footer{min-height:420px}
 .footer-motion{left:6%;right:auto}
 .footer-atmosphere{inset:-100px 0 78px;overflow:clip}
 .footer-bubble{animation-name:footer-bubble-mobile}
 .commercial{padding-top:100px}
 .commercial-bubble{width:80px;height:80px;top:8px}
}
@keyframes footer-bubble-mobile{0%{opacity:0;transform:translate3d(0,0,0) scale(.7)}12%{opacity:.72}80%{opacity:.65}100%{opacity:0;transform:translate3d(0,-360px,0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.commercial-bubble{animation:none}.bubble-popped{visibility:hidden!important}}

/* A clear home for returning customers, beside the booking information. */
.customer-portal-section{display:flex;align-items:center;justify-content:space-between;gap:48px;background:linear-gradient(120deg,#130d0e,#080607);border-bottom:1px solid #bd876644}
.customer-portal-section h2{font-size:clamp(42px,4.8vw,64px)}
.portal-intro{max-width:550px;color:#c0b3ab;font-size:14px;line-height:1.85;margin:22px 0 0}
.portal-access{flex-shrink:0;max-width:100%}.portal-access .book{max-width:100%;white-space:normal}
.portal-access p{font-size:11px;color:#b8a297;margin:18px 0 0}.portal-access p a{color:#efc6ae;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.customer-portal-section{display:block}.portal-access{margin-top:28px}header nav{gap:12px}}

.page-location{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:24px 6%;border-bottom:1px solid #bd876633;background:#0e0a0b;font-size:12px;color:#bca79d}
.page-location a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #bf866b88;border-radius:3px;color:#f0c4ad;background:#19100e}
.page-location a:hover{border-color:#efc6ae;background:#231713}.page-location span{font-size:11px;text-align:right}
.page-location+.page-content{padding-top:45px}
@media(max-width:720px){.page-location{padding:14px 6%;gap:12px}.page-location+.page-content{padding-top:36px}}

.booking-entry{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%;vertical-align:middle}
.returning-customer{font:400 10px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#b8a297;margin:12px 0 0}
.returning-customer a{color:#edc6b0;text-decoration:underline;text-underline-offset:3px}
header>.booking-entry{flex-shrink:0;max-width:185px;align-items:center}header .returning-customer{font-size:9px;text-align:center;line-height:1.4;margin:5px 0 0}header .returning-customer a{display:block}
.closing>.booking-entry{align-items:center}.portal-access>.booking-entry{align-items:flex-start}
@media(max-width:720px){
 header .booking-entry{margin-left:auto;max-width:160px}header .book.small{margin-left:0}
 .section-title>.booking-entry{margin-top:26px}
 .mobile-dock>.booking-entry{flex:1.5;min-width:0;align-items:stretch}
 .mobile-dock .booking-entry>.book{flex:none;width:100%}
 .mobile-dock .returning-customer{font-size:9px;line-height:1.5;text-align:center;margin:6px 0 0}
 .mobile-dock .returning-customer a{display:block}
 .mobile-dock>a:first-child{min-height:50px}
 .actions .booking-entry{min-width:0}.actions .booking-entry .book{max-width:100%}
}
@media(max-width:390px){header .booking-entry{margin-left:auto}}
