@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400;1,6..72,500&display=swap');
:root{--ink:#24171a;--deep:#190e11;--wine:#4b2028;--rose:#b55f61;--blush:#ed9d8d;--cream:#f4efe7;--paper:#e9e0d7;--sage:#8fc6c0;--gold:#e4bd69;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--serif:'Newsreader',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:#fff;font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip{position:fixed;z-index:100;left:12px;top:-80px;padding:12px 18px;background:#fff;color:#000}.skip:focus{top:12px}.header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(29,15,18,.62);backdrop-filter:blur(22px);transition:.3s}.header.scrolled{height:66px;background:rgba(29,15,18,.92)}.brand{display:flex;align-items:center;gap:12px;font:500 .56rem/1.35 var(--mono);letter-spacing:.12em}.brand b{color:var(--blush)}.brand-mark{width:42px;height:42px;border:1px solid rgba(237,157,141,.62);position:relative}.brand-mark i{position:absolute;background:var(--blush)}.brand-mark i:first-child{left:9px;right:9px;top:14px;height:1px}.brand-mark i:last-child{top:9px;bottom:9px;left:20px;width:1px}.header nav{display:flex;gap:1.9vw;font:500 .53rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.header nav a{color:#ded0ce}.header nav a:hover{color:var(--blush)}.header-actions{display:flex;align-items:center;gap:22px}.header-phone small,.header-phone b{display:block}.header-phone small{font:500 .46rem var(--mono);color:var(--blush)}.header-phone b{font-size:.77rem}.header-cta{padding:14px 18px;background:var(--blush);color:var(--ink);font:600 .54rem var(--mono);text-transform:uppercase}.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--deep)}.hero-image{position:absolute;z-index:-3;inset:0;background-image:linear-gradient(90deg,rgba(27,13,16,.97) 0%,rgba(27,13,16,.78) 38%,rgba(27,13,16,.08) 69%),linear-gradient(0deg,rgba(27,13,16,.66),transparent 45%),url('./hero-2880.webp');background-size:cover;background-position:center;transform:scale(1.02)}.plan-lines{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(237,157,141,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(237,157,141,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.25) 70%,transparent)}.hero-copy{position:absolute;left:7vw;top:49%;width:min(800px,56vw);transform:translateY(-43%)}.eyebrow,.label{font:500 .52rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--blush)}.hero h1{font:500 clamp(4.8rem,7.8vw,9rem)/.82 var(--serif);letter-spacing:-.065em;margin:.25em 0 .22em}.hero h1 em{font-weight:400;color:var(--blush)}.hero-lede{max-width:630px;color:#dbcfd0;line-height:1.7;font-size:clamp(.9rem,1.05vw,1.06rem)}.hero-actions{display:flex;gap:10px;margin-top:28px}.button{min-height:55px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;font:600 .55rem var(--mono);text-transform:uppercase;transition:.25s}.button:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(0,0,0,.2)}.button.blush{background:var(--blush);color:var(--ink)}.button.glass{border-color:rgba(255,255,255,.34);background:rgba(38,20,24,.4);backdrop-filter:blur(12px)}.button small{font:500 .48rem var(--mono);color:var(--blush)}.dossier-card{position:absolute;right:4vw;top:21%;width:320px;background:rgba(31,15,19,.7);border:1px solid rgba(237,157,141,.35);backdrop-filter:blur(18px)}.dossier-card header,.dossier-card footer{display:flex;justify-content:space-between;padding:15px 17px;font:500 .46rem var(--mono);letter-spacing:.08em}.dossier-card header{border-bottom:1px solid rgba(255,255,255,.12)}.dossier-card header b{color:var(--blush)}.dossier-card ol{padding:0;margin:0;list-style:none}.dossier-card li{display:grid;grid-template-columns:32px 75px 1fr;padding:14px 17px;border-bottom:1px solid rgba(255,255,255,.08);align-items:center;font:500 .5rem var(--mono)}.dossier-card li b{color:var(--blush)}.dossier-card li i{font-style:normal;color:#a48b90}.dossier-card footer{color:#8e7379}.hero-caption{position:absolute;left:7vw;right:4vw;bottom:30px;display:flex;justify-content:space-between;font:500 .45rem var(--mono);letter-spacing:.1em}.hero-caption b{color:var(--blush)}.manifesto{min-height:82px;padding:0 7vw;display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--blush);color:var(--ink);font:600 .52rem var(--mono);letter-spacing:.1em}.manifesto i{font-style:normal;color:#8a4d48}.opening{padding:140px 7vw;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:1.2fr .65fr;gap:9vw}.label{display:block;color:#994c50;margin-bottom:20px}.label.light{color:#e7a69d}.opening h2,.room-plan h2,.needs h2,.assembly h2,.air-route h2,.permits h2,.scope-paths h2,.quote h2,.faq h2,.contact h2{font:500 clamp(3.6rem,6.2vw,7rem)/.88 var(--serif);letter-spacing:-.06em;margin:.16em 0}.opening h2 em,.needs h2 em,.scope-paths h2 em,.faq h2 em,.contact h2 em{font-weight:400;color:var(--rose)}.opening>div:last-child{align-self:end}.opening p,.needs-head>p{color:#65565a;line-height:1.8}.opening a{display:flex;justify-content:space-between;padding:18px 0;margin-top:24px;border-top:1px solid #bba9a7;font:600 .53rem var(--mono);text-transform:uppercase}.room-plan{min-height:950px;display:grid;grid-template-columns:.72fr 1.28fr;background:#32171d}.plan-copy{padding:110px 5vw 80px 7vw}.plan-copy>p{color:#c0aaad;line-height:1.7}.plan-note{margin-top:45px;padding:24px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035)}.plan-note small{font:500 .46rem var(--mono);color:var(--accent)}.plan-note b{display:block;margin:12px 0;font:500 2.2rem/1 var(--serif)}.plan-note p{color:#c7b6b9;font-size:.75rem;line-height:1.65}.plan-stage{position:relative;overflow:hidden;background:#e9e0d7;color:var(--ink)}.plan-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(75,32,40,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(75,32,40,.08) 1px,transparent 1px);background-size:35px 35px}.plan-stage svg{position:absolute;left:7%;top:8%;width:86%;height:70%;fill:none;stroke:#6b5457;stroke-width:2}.fixture,.added,.wet-zone,.trade-route{transition:.5s}.fixture{fill:rgba(255,255,255,.25);stroke:#6b5457}.door{stroke-dasharray:7 5}.added{opacity:.12;stroke:var(--accent);stroke-width:4}.wet-zone{opacity:.08;fill:var(--accent);stroke:var(--accent);stroke-width:3;stroke-dasharray:12 8}.trade-route{opacity:.08;stroke:var(--accent);stroke-width:4;stroke-dasharray:10 9}.room-plan[data-mode="keep"] .fixture{stroke:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.room-plan[data-mode="move"] .tub{transform:translate(-180px,195px)}.room-plan[data-mode="move"] .shower{transform:translate(200px,-170px)}.room-plan[data-mode="move"] .trade-route{opacity:1;filter:drop-shadow(0 0 5px var(--accent))}.room-plan[data-mode="add"] .added,.room-plan[data-mode="add"] .wet-zone{opacity:1;filter:drop-shadow(0 0 5px var(--accent))}.measure{position:absolute;font:500 .42rem var(--mono);color:#7a6568;letter-spacing:.08em}.measure.top{left:15%;right:15%;top:4%;text-align:center;border-top:1px solid #8b7778;padding-top:8px}.measure.side{right:3%;top:20%;writing-mode:vertical-rl;border-right:1px solid #8b7778;padding-right:8px}.plan-key{position:absolute;left:7%;right:7%;bottom:20%;display:flex;justify-content:space-between;font:500 .42rem var(--mono);color:#705d60}.plan-key span{display:flex;gap:7px;align-items:center}.plan-key i{width:24px;height:2px;background:#6b5457}.plan-key i.moving{background:var(--sage)}.plan-key i.route{background:var(--gold)}.plan-controls{position:absolute;left:7%;right:7%;bottom:5%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan-controls button{padding:17px;border:1px solid #a99597;background:rgba(255,255,255,.42);color:var(--ink);text-align:left;cursor:pointer}.plan-controls button.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.plan-controls span{display:block;font:500 .43rem var(--mono);color:#975054}.plan-controls b{font:600 .62rem var(--mono)}.needs{padding:140px 7vw;background:var(--cream);color:var(--ink)}.needs-head{max-width:970px}.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid #bcaeac}.needs-grid article{position:relative;min-height:430px;padding:28px 24px;border-right:1px solid #bcaeac;display:flex;flex-direction:column;overflow:hidden}.needs-grid article:last-child{border-right:0}.needs-grid span{font:500 .48rem var(--mono);color:#994c50}.needs-grid h3{margin:auto 0 15px;font:500 2.2rem/1 var(--serif)}.needs-grid p{color:#706064;font-size:.72rem;line-height:1.6}.needs-grid i{position:absolute;right:-50px;top:30px;width:180px;height:180px;border:1px solid rgba(181,95,97,.28);border-radius:50%}.needs-grid i:after{content:'';position:absolute;inset:35px;border:1px solid rgba(181,95,97,.28);border-radius:50%}.assembly{min-height:900px;display:grid;grid-template-columns:.8fr 1.2fr;background:#271418}.assembly-copy{padding:110px 5vw 80px 7vw}.assembly-copy>p{color:#c4b1b4;line-height:1.75}.layer-copy{margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}.layer-copy small{font:500 .48rem var(--mono);color:var(--blush)}.layer-copy h3{font:500 2.4rem/1 var(--serif)}.layer-copy p{color:#b9a4a8;font-size:.75rem;line-height:1.65}.layer-stack{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:80px 7vw;background:#e5d9ce;perspective:1100px}.layer{position:relative;height:115px;border:1px solid rgba(75,32,40,.25);background:#f1ece6;color:var(--ink);cursor:pointer;transform:rotateX(55deg) rotateZ(-4deg);transform-origin:center;box-shadow:0 25px 45px rgba(36,23,26,.11);transition:.35s;text-align:left;padding:20px 28px}.layer:hover,.layer.active{transform:rotateX(48deg) rotateZ(-4deg) translateY(-12px);border-color:var(--rose);box-shadow:0 35px 60px rgba(75,32,40,.18)}.layer span{font:600 .53rem var(--mono)}.layer i{position:absolute;right:22px;top:19px;width:18px;height:18px;border:1px solid var(--rose);border-radius:50%}.layer.substrate{background:#d2c0af}.layer.membrane{background:#9b4850;color:#fff}.layer.finish{background:repeating-linear-gradient(90deg,#e8ded3 0 57px,#cbb9ae 58px 59px)}.drain-node{position:absolute;right:10%;bottom:12%;width:90px;height:90px;display:grid;place-items:center;border:1px solid #7e6668;border-radius:50%;background:#f1ece6;color:#665154;text-align:center;font:500 .43rem var(--mono)}.air-route{min-height:760px;display:grid;grid-template-columns:1fr 1fr;background:#d9c8bd;color:var(--ink)}.air-visual{position:relative;overflow:hidden;background:linear-gradient(140deg,#4b2028,#6c363d)}.air-visual i{position:absolute;left:12%;height:2px;background:var(--blush);transform-origin:left}.air-visual i:nth-child(1){top:30%;width:62%;transform:rotate(12deg)}.air-visual i:nth-child(2){top:49%;width:73%;transform:rotate(-7deg)}.air-visual i:nth-child(3){top:66%;width:58%;transform:rotate(17deg)}.air-visual i:after{content:'';position:absolute;right:-9px;top:-8px;width:16px;height:16px;border:1px solid var(--blush);border-radius:50%}.air-visual b{position:absolute;font:500 .47rem var(--mono);color:#e7b5ad}.air-visual b:nth-of-type(1){left:10%;top:22%}.air-visual b:nth-of-type(2){left:45%;top:44%}.air-visual b:nth-of-type(3){right:10%;top:66%}.air-copy{padding:100px 7vw}.air-copy p{color:#67575a;line-height:1.75}.air-copy a{display:flex;justify-content:space-between;padding:19px 0;margin-top:35px;border-top:1px solid #9b7774;border-bottom:1px solid #9b7774;font:600 .52rem var(--mono);text-transform:uppercase}.permits{padding:130px 7vw;background:#3e1b22;display:grid;grid-template-columns:.85fr 1fr;gap:9vw}.permit-title>p{color:#c2aaad;line-height:1.75}.permit-steps>div{display:grid;grid-template-columns:45px 1fr 150px;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:center}.permit-steps span{font:500 .48rem var(--mono);color:var(--blush)}.permit-steps b{font-size:.78rem}.permit-steps small{color:#a98e92;font-size:.6rem}.permit-steps>a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--blush);font:600 .52rem var(--mono);text-transform:uppercase}.permit-steps>small{display:block;margin-top:13px;color:#987d81;font-size:.6rem}.scope-paths{padding:140px 7vw;background:var(--cream);color:var(--ink)}.paths-head{max-width:920px}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:55px}.path-grid a{min-height:390px;padding:26px;display:flex;flex-direction:column;border:1px solid #bbaaab;background:#fbf8f3;transition:.3s}.path-grid a:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(56,29,34,.13)}.path-grid span,.path-grid b{font:600 .48rem var(--mono);color:#994c50}.path-grid h3{margin:auto 0 15px;font:500 2rem/1 var(--serif)}.path-grid p{color:#705f62;font-size:.71rem;line-height:1.6}.quote{padding:130px 7vw;background:var(--rose)}.quote-title{max-width:900px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px;border-top:1px solid rgba(255,255,255,.4)}.quote-grid>div{display:grid;grid-template-columns:130px 1fr 30px;gap:20px;padding:23px 18px;border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);align-items:center}.quote-grid span,.quote-grid i{font:500 .48rem var(--mono)}.quote-grid b{font-size:.73rem}.quote-grid i{font-style:normal;color:#56292d}.faq{padding:140px 7vw;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:.85fr 1fr;gap:9vw}.faq h2{font-size:clamp(3.4rem,5.5vw,6.2rem)}.faq-list details{border-top:1px solid #b2a3a3}.faq-list details:last-child{border-bottom:1px solid #b2a3a3}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rose)}.faq-list p{margin:0 0 24px;color:#66575a;font-size:.8rem;line-height:1.7}.contact{min-height:850px;display:grid;grid-template-columns:1fr 1fr;background:#281319}.contact-copy{padding:110px 7vw;background:linear-gradient(90deg,rgba(36,18,23,.96),rgba(36,18,23,.58)),url('./hero-2880.webp') center/cover}.contact-copy>p{max-width:600px;color:#c6b3b7;line-height:1.75}.contact-copy>a{display:flex;flex-direction:column;margin-top:55px}.contact-copy>a small{font:500 .5rem var(--mono);color:var(--blush);text-transform:uppercase}.contact-copy>a b{font:500 clamp(2.2rem,3.5vw,4rem)/1 var(--serif);letter-spacing:-.04em}.contact-copy>a span{font:500 .52rem var(--mono);color:#aa9297}.lead-form{align-self:center;margin:60px 7vw;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--cream);color:var(--ink);box-shadow:0 35px 100px rgba(0,0,0,.24)}.field{display:flex;flex-direction:column;gap:8px}.field.full,.consent,.lead-form button,.form-status{grid-column:1/-1}.field label{font:600 .5rem var(--mono);text-transform:uppercase}.field label small{font-weight:400;color:#76666a}.field input,.field textarea{width:100%;padding:14px;border:1px solid #b6a7a7;background:#fff;border-radius:0}.field input:focus,.field textarea:focus{outline:2px solid var(--rose);outline-offset:2px}.honeypot{position:absolute;left:-9999px}.consent{display:grid;grid-template-columns:18px 1fr;gap:10px;color:#67585b;font-size:.64rem;line-height:1.55}.consent input{width:18px;height:18px}.lead-form button{min-height:58px;border:0;background:var(--blush);color:var(--ink);font:700 .56rem var(--mono);text-transform:uppercase;cursor:pointer}.lead-form button:hover{background:#f3b3a7}.form-status{min-height:18px;margin:0;font-size:.7rem}.form-status.error{color:#a1242d}footer{min-height:170px;padding:40px 5vw 95px;display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:40px;background:#11090b;color:#987f84;border-top:1px solid rgba(255,255,255,.09)}footer p{margin:0;font-size:.72rem;line-height:1.6}footer>div{display:flex;flex-direction:column;gap:8px;font-size:.7rem}footer>small{grid-column:1/-1;font:400 .44rem var(--mono);color:#5f484d}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(35px)}
@media(max-width:1100px){.header nav{display:none}.hero-copy{width:64vw}.dossier-card{width:280px}.room-plan{grid-template-columns:1fr}.plan-copy{min-height:600px}.plan-stage{min-height:760px}.needs-grid{grid-template-columns:1fr 1fr}.needs-grid article:nth-child(2){border-right:0}.assembly{grid-template-columns:1fr}.assembly-copy{min-height:650px}.layer-stack{min-height:700px}.path-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.contact-copy{min-height:700px}.lead-form{margin:70px auto;width:min(760px,86vw)}}
@media(max-width:700px){.header{height:64px;padding:0 16px}.brand-mark{width:36px;height:36px}.header-actions .header-phone{display:none}.header-cta{padding:12px;font-size:.45rem}.hero{min-height:940px}.hero-image{background-image:linear-gradient(0deg,rgba(27,13,16,.98) 0%,rgba(27,13,16,.73) 62%,rgba(27,13,16,.12)),url('./hero-mobile-1200.webp');background-position:center top}.hero-copy{left:20px;right:20px;top:420px;width:auto;transform:none}.hero h1{font-size:3.2rem;line-height:.84}.hero-lede{font-size:.79rem}.hero-actions{flex-direction:column}.button{width:100%}.dossier-card,.hero-caption{display:none}.manifesto{max-width:100vw;overflow:auto;justify-content:flex-start;padding:0 20px;white-space:nowrap}.opening,.permits,.faq{grid-template-columns:1fr;padding:80px 20px;gap:35px}.opening h2,.room-plan h2,.needs h2,.assembly h2,.air-route h2,.permits h2,.scope-paths h2,.quote h2,.faq h2,.contact h2{font-size:3.15rem}.plan-copy{padding:80px 20px;min-height:auto}.plan-stage{min-height:690px}.plan-stage svg{left:-8%;width:116%;top:11%}.measure.side{display:none}.plan-key{flex-direction:column;gap:8px;bottom:22%}.plan-controls{left:12px;right:12px;bottom:3%}.plan-controls button{padding:13px 10px}.needs{padding:85px 20px}.needs-grid{grid-template-columns:1fr}.needs-grid article{min-height:350px;border-right:0;border-bottom:1px solid #bcaeac}.assembly-copy{padding:80px 20px;min-height:auto}.layer-stack{min-height:660px;padding:60px 20px}.layer{height:105px}.air-route{grid-template-columns:1fr}.air-visual{min-height:520px}.air-copy{padding:80px 20px}.permit-steps>div{grid-template-columns:35px 1fr}.permit-steps>div small{grid-column:2}.scope-paths{padding:85px 20px}.path-grid{grid-template-columns:1fr}.path-grid a{min-height:320px}.quote{padding:85px 20px}.quote-grid{grid-template-columns:1fr}.quote-grid>div{grid-template-columns:105px 1fr 25px;border-right:0}.contact-copy{min-height:650px;padding:85px 20px}.contact-copy>a b{font-size:2.4rem}.lead-form{width:auto;margin:0;padding:25px 20px;grid-template-columns:1fr}.field,.field.full,.consent,.lead-form button,.form-status{grid-column:1}footer{grid-template-columns:1fr;padding:40px 20px 110px}.mobile-bar{position:fixed;z-index:60;left:0;right:0;bottom:0;height:70px;display:grid;grid-template-columns:40% 60%;background:#190e11;border-top:1px solid rgba(255,255,255,.16)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;font:600 .52rem var(--mono);text-transform:uppercase}.mobile-bar a:first-child{flex-direction:column;gap:0;border-right:1px solid rgba(255,255,255,.16)}.mobile-bar a:first-child b{color:var(--blush)}.mobile-bar a:last-child{background:var(--blush);color:var(--ink)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*{transition:none!important}}
