:root{--ink:#1c242a;--muted:#5b6268;--paper:#f8f9fa;--accent:#0063a3;--brand-gradient:linear-gradient(90deg,#01c0f2 0%,#0097d6 20%,#0070b6 50%,#0063a3 80%,#005d99 100%);--line:#dde0e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #0070b6;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}p{font-size:1.0625rem;line-height:1.65;color:var(--muted)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:550}h2{font-size:clamp(2.35rem,4.25vw,4.2rem);line-height:1.06;letter-spacing:-.045em}h2 span{color:#72787e}h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.03em}.header{height:94px;max-width:1440px;margin:auto;padding:0 5.6%;display:flex;align-items:center;justify-content:space-between;background:rgba(248,249,250,.92);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:750;letter-spacing:.08em}.brand small{display:block;font-size:.625rem;letter-spacing:.21em;line-height:1.8}.mark{font-size:2.5rem;font-weight:800;letter-spacing:-.16em;margin-right:6px;color:#0070b6}.header nav{display:flex;gap:30px;align-items:center;font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:var(--ink);color:white;border-radius:100px;padding:18px 25px;font-size:.95rem;font-weight:500;transition:transform .2s,background .2s}.button:hover{background:#37444d;transform:translateY(-2px)}.button.small{padding:13px 19px;gap:20px;font-size:.875rem}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:.95rem;font-weight:550;padding:12px 0}.text-link:hover{color:var(--accent)}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;isolation:isolate}.hero-inner{max-width:1280px;margin:auto;padding:68px 0 0}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.15em;color:var(--ink);margin-bottom:27px}.hero h1{font-size:clamp(4rem,7.9vw,8rem);letter-spacing:-.065em;line-height:1.015;position:relative}.hero h1 span{color:var(--accent)}.hero-copy{margin-top:30px;font-size:1.16rem;line-height:1.6}.actions{display:flex;align-items:center;gap:30px;margin-top:32px}.warmth{z-index:-1;position:absolute;width:75vw;height:900px;right:-32vw;top:-110px;background:radial-gradient(ellipse,rgba(1,192,242,.38) 0%,rgba(0,112,182,.23) 24%,rgba(0,151,214,.12) 42%,transparent 65%);filter:blur(24px);animation:breathe 12s ease-in-out infinite alternate;transform-origin:center}.hero-bottom{border-top:1px solid rgba(0,99,163,.15);display:flex;justify-content:space-between;margin-top:76px;padding:24px 0;font-size:.75rem;letter-spacing:.08em;color:#606870}.section{max-width:1280px;margin:auto;padding:112px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:44px}.section-head>p{max-width:380px}.heat-photo{height:550px;border-radius:22px;overflow:hidden;position:relative;background:#253136}.heat-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 35%,rgba(10,19,26,.57))}.heat-photo img{object-position:center}.heat-photo figcaption{position:absolute;z-index:1;right:55px;top:45px;bottom:40px;color:white;width:320px}.heat-photo figcaption>span{font-size:.75rem;letter-spacing:.14em}.heat-photo strong{font-size:2.8rem;line-height:1.06;letter-spacing:-.04em;display:block;margin-top:20px;font-weight:500}.round-link{display:grid;place-items:center;position:absolute;bottom:0;right:0;width:54px;height:54px;border:1px solid #ffffff88;border-radius:50%;font-size:1.5rem}.round-link:hover{background:#ffffff25}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:44px}.number{display:block;font-size:.75rem;color:var(--accent);margin-bottom:22px}.pillars p{margin-top:14px;font-size:1rem}.planning{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;padding-top:70px;padding-bottom:100px}.planning>div p{max-width:590px;margin:27px 0 15px}.planning h2{font-size:clamp(2.2rem,3.7vw,3.7rem)}.bath{max-width:none;background:#eef0f2;padding-left:max(calc((100vw - 1280px)/2),5.6%);padding-right:max(calc((100vw - 1280px)/2),5.6%)}.bath .section-head>div{flex:1}.bath h2{font-size:clamp(2.35rem,3.9vw,3.8rem)}.bath-photo{height:460px;border-radius:20px;overflow:hidden;position:relative}.bath-photo figcaption{position:absolute;bottom:18px;left:23px;background:rgba(255,255,255,.88);border-radius:30px;padding:8px 13px;font-size:.75rem;color:#454d55}.bath-footer{display:grid;grid-template-columns:1fr 1.15fr auto;gap:50px;align-items:center;margin-top:35px}.bath-footer p{font-size:1rem;max-width:380px}.outline{background:transparent;color:var(--ink);border:1px solid #a9afb5}.outline:hover{background:#fff}.about{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center;padding-top:132px;padding-bottom:132px}.about-photo{height:580px;overflow:hidden;border-radius:20px}.about-photo img{object-position:47% center}.about-copy p:not(.eyebrow){margin-top:25px;max-width:440px}.about-copy .text-link{margin-top:23px}.contact{position:relative;max-width:none;padding-left:max(calc((100vw - 1280px)/2),5.6%);padding-right:max(calc((100vw - 1280px)/2),5.6%);background:#1c252c;color:white;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact .eyebrow{color:#60d4f5}.contact h2{font-size:clamp(3rem,5.3vw,5.2rem)}.contact h2 span{color:#60d4f5}.contact-title>p:last-child{color:#b8c1c7;max-width:370px;margin-top:25px}.contact-details{align-self:center}.contact-phone{display:block;font-size:clamp(1.7rem,2.9vw,2.8rem);letter-spacing:-.025em;padding:0 0 30px;border-bottom:1px solid #ffffff30}.contact-phone small{display:block;font-size:.75rem;letter-spacing:.15em;color:#b8c1c7;margin-bottom:16px}.contact-phone span,.email span{float:right}.email{font-size:1.2rem;display:block;padding:25px 0 32px;border-bottom:1px solid #ffffff30}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.details-grid h3{font-size:.9rem;margin-bottom:14px;letter-spacing:0}.details-grid p,address{font-size:.9rem;line-height:1.7;color:#b8c1c7;font-style:normal}.details-grid p span{margin-left:10px}.contact-note{font-size:.85rem;color:#b8c1c7;margin-top:36px}footer{max-width:1280px;margin:auto;padding:44px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer a:not(.brand){font-size:.8rem}footer>div{display:flex;gap:24px}.draft-note{text-align:center;font-size:.75rem;padding:14px 20px;background:#eef0f2;color:#68717a}.draft-note a{text-decoration:underline}.skip{position:absolute;left:20px;top:-100px;z-index:30;background:white;padding:15px}.skip:focus{top:10px}.reveal{transition:opacity .7s ease,transform .7s ease}.js-motion .reveal.pending{opacity:0;transform:translateY(24px)}@keyframes breathe{to{transform:translate(-8%,8%) scale(1.12)}}@media(min-width:1500px){.hero-inner,.section,footer{max-width:1280px}}@media(max-width:1440px){.hero-inner,.section:not(.bath):not(.contact),footer{margin-left:5.6%;margin-right:5.6%}.hero-inner{padding-top:62px}.section{padding-top:90px;padding-bottom:90px}.heat-photo{height:500px}.about{gap:65px}.hero h1{font-size:7.8vw}}@media(max-width:1000px){.header nav{gap:18px}.section-head{gap:35px}.section-head>p{max-width:320px}.heat-photo figcaption{right:30px;width:270px}.heat-photo strong{font-size:2.5rem}.pillars{gap:25px}.bath-footer{grid-template-columns:1fr 1fr}.bath-footer .button{justify-self:start}.about{gap:35px}.about-photo{height:480px}.contact{gap:40px}.details-grid{grid-template-columns:1fr}.contact-phone{font-size:1.9rem}footer{flex-wrap:wrap}.hero h1{font-size:8.8vw}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{height:82px;padding:0 6%}.brand{font-size:.9rem}.brand small{font-size:.56rem}.mark{font-size:2.2rem}.menu-toggle{display:flex;background:transparent;border:1px solid #cdd1d5;padding:10px 15px;border-radius:30px;align-items:center;gap:12px;font-size:.875rem}.header nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);padding:22px 6% 30px;box-shadow:0 20px 30px #00000012;align-items:stretch}.header nav.open{display:flex;flex-direction:column}.header nav>a{padding:12px}.hero-inner{margin:0 6%;padding-top:48px}.eyebrow{font-size:.68rem;letter-spacing:.12em;margin-bottom:24px}.hero h1{font-size:clamp(3.5rem,12vw,5.6rem);letter-spacing:-.06em}.hero-copy{font-size:1rem;margin-top:27px;max-width:350px}.desktop{display:none}.actions{flex-direction:column;align-items:flex-start;gap:9px;margin-top:26px}.button{padding:17px 22px;gap:22px}.hero-bottom{margin-top:50px;padding:20px 0;flex-direction:column;gap:9px;font-size:.65rem}.warmth{width:120vw;right:-72vw;top:-100px;height:700px}.section{padding-top:65px!important;padding-bottom:65px!important}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:none;margin-top:24px}h2{font-size:2.4rem}.heat-photo{height:480px;border-radius:15px}.heat-photo img{object-position:35% center}.heat-photo:after{background:linear-gradient(0deg,rgba(10,19,26,.85),transparent 75%)}.heat-photo figcaption{inset:auto 24px 26px;width:auto}.heat-photo strong{font-size:2.25rem;margin-top:12px}.pillars{grid-template-columns:1fr;gap:28px;margin-top:32px}.pillars article{border-bottom:1px solid var(--line);padding-bottom:25px}.number{margin-bottom:12px}.pillars p{max-width:480px}.planning{grid-template-columns:1fr}.planning h2{font-size:2.35rem}.planning .eyebrow{margin-bottom:22px}.bath-photo{height:340px;border-radius:15px}.bath-photo img{object-position:48% center}.bath h2{font-size:2.3rem}.bath-footer{grid-template-columns:1fr;gap:20px}.bath-footer p{max-width:none}.about{grid-template-columns:1fr;gap:35px}.about-photo{height:400px;order:2}.about-copy{order:1}.about-copy h2{font-size:2.75rem}.contact{grid-template-columns:1fr;gap:50px}.contact h2{font-size:3.3rem}.contact-phone{font-size:2rem}.email{font-size:1.08rem}.details-grid{grid-template-columns:1fr 1fr;gap:15px}.details-grid p span{margin-left:0;display:inline-block}.details-grid h3{font-size:.85rem}footer{padding:35px 0;display:block}footer>p{margin:25px 0 18px}footer>div{gap:25px}.draft-note{line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal.pending{opacity:1;transform:none}}

/* Original logo: display its artwork bounds without changing the source file. */
.brand{flex-shrink:0}.logo-window{display:block;position:relative;overflow:hidden;width:240px;aspect-ratio:3328/829}.logo-window img{position:absolute;width:120.1923077%;height:auto;max-width:none;left:-10.0961538%;top:-125.2110977%;object-fit:contain}@media(max-width:700px){.logo-window{width:190px}}@media(max-width:360px){.logo-window{width:170px}}

/* Headline gradient sampled from the original MAHTEC logo. */
.hero h1 span{color:#0063a3;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media(forced-colors:active){.hero h1 span{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

/* Brand color throughout the experience. */
.number{width:max-content;font-weight:650;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.contact{background:radial-gradient(ellipse at 0% 100%,#07364b 0%,#14242f 48%,#18232c 100%)}
.contact h2 span,.contact .eyebrow{background:linear-gradient(90deg,#01c0f2,#66c5f0);background-clip:text;-webkit-background-clip:text;color:transparent}
.button:not(.outline){background:linear-gradient(110deg,#0074ab,#005d99);box-shadow:0 5px 20px #0070b615}
.button:not(.outline):hover{background:linear-gradient(110deg,#0085bc,#0068aa)}
.outline{border-color:#0070b666;color:#0063a3}.outline:hover{background:#e8f6fc}
.bath{background:linear-gradient(125deg,#edf6fa,#f1f4f6)}
.logo-assembly{margin-bottom:34px}.logo-assembly .logo-window{width:min(100%,420px)}
.js-motion .logo-assembly .logo-window{clip-path:inset(0 calc((1 - var(--logo-progress,0)) * 100%) 0 0);opacity:calc(.35 + var(--logo-progress,0) * .65);transform:translateY(calc((1 - var(--logo-progress,0)) * 14px));will-change:clip-path,transform}
.js-motion .header .logo-window{animation:logo-arrive 1.8s cubic-bezier(.2,.7,.2,1) both}
@keyframes logo-arrive{from{clip-path:inset(0 100% 0 0);opacity:.2;transform:translateY(5px)}to{clip-path:inset(0);opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js-motion .logo-assembly .logo-window{clip-path:none;opacity:1;transform:none;will-change:auto}}
@media(forced-colors:active){.number,.contact h2 span,.contact .eyebrow{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

.sanitary-detail{margin-top:65px;padding-top:45px;border-top:1px solid #0070b622;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.sanitary-copy h3{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.045em}.sanitary-copy>p:last-child{max-width:440px;margin-top:24px}.sanitary-figure{max-width:420px;width:100%;justify-self:center;text-align:center}#sanitary-animation{width:100%;aspect-ratio:1;overflow:hidden}#sanitary-animation svg{display:block}.sanitary-figure figcaption{font-size:.75rem;line-height:1.65;color:#596772;margin-top:12px}.sanitary-figure figcaption a{text-decoration:underline;text-underline-offset:3px}.animation-toggle{border:1px solid #0070b64d;border-radius:30px;padding:9px 16px;color:#005d99;background:transparent;cursor:pointer;font-size:.875rem}.animation-toggle:hover{background:#e0f2fa}@media(max-width:700px){.sanitary-detail{grid-template-columns:1fr;gap:12px;margin-top:40px;padding-top:35px}.sanitary-figure{max-width:340px}}
