:root{--ink:#191b1c;--muted:#62676b;--gold:#f7c947;--red:#ac2e27;--line:#e0e1de;--cream:#f4f3ee;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%;display:block}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h2{font-size:clamp(32px,3.5vw,49px);font-weight:700}h3{font-size:25px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;background:var(--gold);padding:10px;z-index:100}.skip:focus{top:10px}.topbar{background:var(--ink);color:#d9dcdd;font-size:12px;letter-spacing:.03em}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:39px}.topbar a{display:flex;align-items:center;gap:9px}.topbar b{color:#fff;margin-left:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ececec;transition:box-shadow .3s}header.scrolled{box-shadow:0 4px 24px #00000012}.nav-wrap{height:98px;display:flex;align-items:center;justify-content:space-between}.brand img{width:83px;height:84px;object-fit:contain}nav{display:flex;align-items:center;gap:33px}nav>a{font-size:14px;font-weight:600}nav>a:not(.button):hover{color:var(--red)}.button{background:var(--gold);color:var(--ink);border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 25px;font-size:15px;font-weight:700;line-height:1.4;transition:background .25s,transform .25s;min-height:53px}.button:hover{background:#ffd972;transform:translateY(-2px)}.nav-cta{padding:13px 20px;min-height:47px;font-size:13px}.menu-toggle{display:none}.hero{position:relative;background:var(--ink);min-height:640px;overflow:hidden;color:#fff;isolation:isolate}.hero-photo{position:absolute;inset:0 0 0 37%;background:url('assets/hero.jpg') center/cover;z-index:-2;animation:heroDrift 15s ease-out both}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#191b1c 0%,#191b1cf5 25%,#191b1cb8 48%,#191b1c26 100%)}.hero-content{padding-top:78px;padding-bottom:115px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--red);display:block;margin-bottom:23px}.eyebrow.light{color:var(--gold)}.eyebrow.light>span{display:inline-block;vertical-align:middle;width:22px;height:1px;background:var(--gold);margin-right:10px}h1{font-size:clamp(46px,5.4vw,77px);font-weight:700;max-width:750px;line-height:1.06}em{font-style:normal;color:var(--gold)}.hero p{color:#e4e4e2;max-width:490px;font-size:18px;margin-top:25px}.hero .hero-sub{font-size:15px;color:#bfc1c1;max-width:440px;margin-top:14px}.actions{display:flex;gap:30px;align-items:center;margin-top:32px}.text-link{font-size:14px;font-weight:700;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #b9b9b4;padding-bottom:5px;transition:color .2s}.text-link:hover{color:var(--red)}.light-link{color:#f5f5f2;border-color:#777}.hero-checks{display:flex;gap:28px;margin-top:28px;font-size:12px;color:#d0d0ce}.hero-checks span:first-letter{color:var(--gold)}.hero-tag{position:absolute;right:max(44px,calc((100% - 1200px)/2));bottom:85px;display:flex;align-items:center;gap:15px;padding:19px 24px;border:1px solid #ffffff60;background:#191b1c85;backdrop-filter:blur(12px);font-size:12px;line-height:1.7}.tag-icon{font-size:28px;color:var(--gold)}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.09em;display:flex;align-items:center;gap:15px;color:#cacaca}.scroll-hint span{font-size:20px;color:var(--gold)}.trust-strip{background:var(--cream)}.trust-strip .wrap{display:grid;grid-template-columns:1fr 1fr 1.2fr;padding-block:31px}.trust-strip .wrap>div{display:flex;align-items:center;gap:24px;padding-inline:36px;border-right:1px solid #d9d9d3}.trust-strip .wrap>div:first-child{padding-left:0}.trust-strip .wrap>div:last-child{border:0}.trust-strip strong{font-size:35px;letter-spacing:-.04em;font-weight:600;line-height:1.2}.trust-strip span{font-size:12px;color:#62635f;line-height:1.6}.section{padding-block:100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:45px}.section-heading>p{max-width:320px;font-size:15px;padding-bottom:5px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.service{border:1px solid var(--line);background:#fff;overflow:hidden}.service-image{height:240px;position:relative;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.service:hover .service-image img{transform:scale(1.06)}.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0008)}.service-image>span,.service-graphic>span{position:absolute;bottom:20px;left:26px;color:white;font-size:10px;font-weight:700;letter-spacing:.12em;z-index:1}.service-body{padding:29px 26px 24px}.service-body>p{font-size:15px;margin-block:18px 28px;min-height:75px}.service summary{font-size:13px;font-weight:700;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.service summary>span{font-size:21px;font-weight:400}.service-graphic{height:240px;position:relative;background:linear-gradient(135deg,#343738,#191b1c)}.service-graphic svg{display:block;margin:auto;width:160px;height:195px;padding-top:25px;stroke:var(--gold);fill:none;stroke-width:2}.service-dark{background:#202324;color:#fff;border-color:#202324}.service-dark p{color:#c5c8c8}.service-dark summary{border-color:#505354}.detail{padding-top:16px}.detail p{font-size:14px;margin-bottom:17px}.detail .text-link{font-size:12px}.care-section{background:var(--cream);padding-block:86px}.care-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.care-title p{font-size:16px;max-width:420px;margin:24px 0 28px}.care-items article{display:flex;gap:28px;padding-block:25px;border-bottom:1px solid #d7d7d0}.care-items article:first-child{padding-top:4px}.care-items article:last-child{border:0}.number{color:var(--red);font-size:12px;font-weight:700;padding-top:8px}.care-items h3{font-size:23px}.care-items p{font-size:15px;margin-top:13px}.renovation{position:relative;isolation:isolate;color:#fff;min-height:520px;overflow:hidden}.renovation>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}.renovation:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101314ed,#101314b8 48%,#10131440);z-index:-1}.renovation-content{max-width:580px;padding-block:83px}.renovation h2{font-size:clamp(38px,4vw,57px)}.renovation p{color:#dcdfdf;font-size:16px;margin-top:26px;max-width:490px}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-block:26px 33px}.chips span{padding:5px 12px;border:1px solid #ffffff60;font-size:11px}.about-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:92px;align-items:center}.about-visual{background:var(--cream);padding:43px;position:relative;border-top:4px solid var(--gold);min-height:470px}.about-mark{width:90px;margin-bottom:24px}.since{font-size:10px;letter-spacing:.17em;position:absolute;right:37px;top:56px}.since strong{font-size:45px;line-height:1.3;display:block;letter-spacing:-.04em;font-weight:500}.about-visual>p{color:var(--ink);font-size:clamp(26px,2.4vw,35px);font-weight:600;line-height:1.32;letter-spacing:-.025em;margin-top:32px}.about-location{display:block;color:#73736e;font-size:10px;letter-spacing:.11em;margin-top:42px}.about-copy>p{font-size:16px;margin-top:23px}.about-line{border-left:3px solid var(--gold);padding-left:22px;margin-block:30px}.about-line>span{font-size:10px;letter-spacing:.12em;color:var(--red);text-transform:uppercase}.about-line h3{font-size:21px;margin-top:11px}.faq-section{background:#f8f8f5}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-layout>div>p{margin-block:24px 20px;font-size:15px}.faq-list details{border-bottom:1px solid #d6d7d2}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;padding-block:23px;font-weight:600;font-size:16px;line-height:1.5}.faq-list details:first-child summary{padding-top:0}.faq-list summary>span{font-size:24px;font-weight:400;color:var(--red);line-height:1}.faq-list p{font-size:15px;padding:0 35px 23px 0}summary::-webkit-details-marker{display:none}details[open]>summary>span{transform:rotate(45deg)}.contact-section{background:var(--ink);color:white;padding-block:95px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.contact-copy h2{font-size:clamp(40px,4.4vw,62px)}.contact-copy>p{color:#bfc3c4;font-size:16px;max-width:390px;margin-top:27px}.contact-info{display:grid;gap:26px;margin-top:40px}.contact-info small{display:block;font-size:10px;letter-spacing:.12em;color:#959b9d;margin-bottom:9px}.contact-info strong{font-size:28px;letter-spacing:-.025em}.contact-info span{font-size:15px;color:#e4e6e6}.contact-info a:hover{color:var(--gold)}.contact-form{background:#fff;color:var(--ink);padding:35px}.contact-form>p:first-of-type{font-size:13px;margin-block:12px 25px}.contact-form label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,textarea,select{width:100%;border:1px solid #dedfdc;background:#f9f9f7;border-radius:0;min-height:44px;padding:11px 12px;display:block;margin-top:7px;font-size:13px;outline:none;color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:#ad8a27;box-shadow:0 0 0 2px #f7c94750}textarea{resize:vertical}.contact-form .form-note{font-size:11px;line-height:1.7;margin-block:8px 20px;color:#6b706f}.contact-form .button{width:100%;font-size:13px}.contact-form #form-status{font-size:13px;color:var(--ink);margin-top:18px}.copy-button{padding:9px 15px;margin-top:12px;background:white;border:1px solid #777;font-size:13px}footer{background:#111415;color:#ddd;padding-block:38px 23px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:34px}.footer-brand img{width:180px;height:auto}.footer-top p{font-size:12px;color:#9da2a3}.footer-top>div{display:flex;gap:24px;font-size:12px}.back-top{font-size:11px}.footer-bottom{border-top:1px solid #303334;padding-top:22px;display:flex;justify-content:space-between;color:#909798;font-size:10px}.floating-contact{position:fixed;bottom:25px;right:25px;z-index:15;background:var(--gold);color:var(--ink);display:flex;align-items:center;gap:11px;padding:14px 19px;box-shadow:0 6px 20px #0002;font-size:12px;font-weight:700;border-radius:3px}.floating-contact svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.floating-contact:hover{background:#ffda74}.reveal{transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(23px)}@keyframes heroDrift{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1450px){.hero{min-height:700px}.hero-content{padding-top:103px}.hero-photo{left:34%}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}nav{gap:22px}.hero-tag{right:28px;bottom:60px}.hero h1{font-size:65px}.hero-content{padding-top:65px}.hero p{max-width:430px}.hero .actions{gap:22px}.trust-strip .wrap>div{padding-inline:20px;gap:18px}.trust-strip strong{font-size:29px}.trust-strip span{font-size:11px}.care-layout,.about-layout,.faq-layout,.contact-layout{gap:45px}.service-body{padding:24px 21px}.service-image,.service-graphic{height:210px}.section-heading{gap:30px}.section-heading>p{max-width:260px}.service h3{font-size:23px}.service-body>p{min-height:98px}.contact-form{padding:25px}.footer-top{gap:20px}.footer-top>div{gap:15px}.footer-brand img{width:155px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.topbar .wrap{justify-content:center;min-height:33px}.topbar .wrap>span{display:none}.topbar a{font-size:10px}.topbar b{margin-left:3px}.nav-wrap{height:78px}.brand img{width:65px;height:67px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:1px solid #d7d7d2;background:white;padding:12px;width:45px;height:43px}.menu-toggle span{height:2px;width:19px;background:var(--ink)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-top:1px solid #eee;box-shadow:0 15px 20px #0002;padding:22px;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav>a{padding:13px 3px;font-size:16px}nav .button{margin-top:13px;padding:15px}.hero{min-height:660px}.hero-photo{inset:0;background-position:57% center}.hero:after{background:linear-gradient(90deg,#191b1cf0,#191b1cae),linear-gradient(0deg,#191b1c 0%,transparent 65%)}.hero-content{padding-top:58px;padding-bottom:105px}.hero h1{font-size:clamp(44px,9vw,64px)}.hero p{font-size:17px;max-width:440px}.hero .hero-sub{font-size:14px}.hero .actions{flex-wrap:wrap;gap:24px}.hero-checks{gap:17px;flex-wrap:wrap;font-size:11px}.hero-tag{display:none}.scroll-hint{bottom:20px;white-space:nowrap}.trust-strip .wrap{padding-block:24px;grid-template-columns:1fr 1fr;gap:20px}.trust-strip .wrap>div{padding:0;gap:14px}.trust-strip .wrap>div:nth-child(2){border:0}.trust-strip .wrap>div:last-child{grid-column:1/-1;border-top:1px solid #d7d7d2;padding-top:17px}.trust-strip strong{font-size:28px}.trust-strip span{font-size:11px}.trust-strip .wrap>div:last-child br{display:none}.section{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;max-width:430px;font-size:15px}.eyebrow{font-size:10px;margin-bottom:18px}.services{grid-template-columns:1fr;gap:22px}.service-image,.service-graphic{height:240px}.service-body{padding:27px}.service-body>p{min-height:0;margin-bottom:25px}.service h3{font-size:28px}.service-graphic svg{height:205px;width:170px}.care-section{padding-block:60px}.care-layout,.about-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.care-items article{padding-block:24px}.care-title p{font-size:15px}.renovation{min-height:520px}.renovation-content{padding-block:65px}.renovation:after{background:#101314be}.renovation h2{font-size:40px}.renovation p{font-size:15px}.renovation .button{font-size:13px;gap:15px}.about-visual{padding:30px;min-height:420px}.since{right:28px;top:39px}.about-visual>p{font-size:31px}.about-copy>p{font-size:15px}.faq-layout{gap:35px}.faq-list summary{font-size:15px;gap:20px}.contact-section{padding-block:65px}.contact-layout{gap:40px}.contact-copy h2{font-size:47px}.contact-copy>p{font-size:15px}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr;gap:0}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-top>div{flex-direction:column;gap:12px}.footer-bottom{gap:20px;align-items:start}.footer-bottom>span:first-child{max-width:220px}.floating-contact{right:16px;bottom:16px;padding:15px;border-radius:50%}.floating-contact span{display:none}.floating-contact svg{width:23px;height:23px}.footer-bottom{padding-right:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}
/* Refined motion, photography and consistent line icons */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);z-index:50;pointer-events:none}.hero-gallery{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#191b1c}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.4s ease;transform:scale(1.035)}.hero-slide.active{opacity:1;animation:photoDrift 8s ease-out both}.hero-slide:nth-child(2){object-position:75% 45%}.hero-slide:nth-child(3){object-position:80% 50%}.hero:after{background:linear-gradient(90deg,#151819f5 0%,#151819e0 24%,#151819a6 43%,#15181920 74%)}.hero-content{position:relative;z-index:1}.hero h1,.hero-content>p,.hero-content .eyebrow{transition:opacity .3s,transform .3s}.hero.switching h1,.hero.switching .hero-content>p{opacity:0;transform:translateY(8px)}.hero-controls{position:absolute;bottom:26px;left:max(44px,calc((100% - 1200px)/2));display:flex;align-items:center;gap:10px;z-index:3}.hero-controls button{color:#ffffffb8;background:transparent;border:0;border-bottom:2px solid #ffffff45;min-width:42px;height:37px;line-height:1;font-size:12px;padding:5px 8px;transition:border-color .3s,color .3s}.hero-controls button.selected{color:var(--gold);border-color:var(--gold)}.hero-controls button:hover{color:white;border-color:white}.hero-controls #hero-pause{border:1px solid #ffffff50;width:34px;min-width:34px;height:30px;margin-left:8px;font-size:14px}.hero-tag .icon{width:33px;height:33px;color:var(--gold)}.trust-strip .icon{color:var(--red);width:31px;height:31px}.trust-strip .wrap>div{gap:17px;padding-inline:25px}.trust-strip strong{font-size:31px}.trust-strip .wrap{grid-template-columns:1.03fr .93fr 1.23fr}.service{transition:transform .45s,box-shadow .45s}.service:hover{transform:translateY(-6px);box-shadow:0 20px 35px #191b1c12}.service-title{display:flex;gap:13px;align-items:center}.service-title>.icon{color:var(--red);width:28px;height:28px}.service-dark .service-title>.icon{color:var(--gold)}.service-title h3{font-size:23px}.services>.reveal:nth-child(2){transition-delay:.08s}.services>.reveal:nth-child(3){transition-delay:.16s}.care-layout{align-items:start}.care-title{padding-top:13px}.care-photo{position:relative;margin-bottom:30px;overflow:hidden;height:230px}.care-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 45%;transition:transform 1s}.care-photo:hover img{transform:scale(1.04)}.care-photo>span{position:absolute;bottom:0;left:0;right:0;background:#191b1ccc;color:#fff;display:flex;gap:12px;align-items:center;font-size:12px;padding:13px 20px}.care-photo>span .icon{width:21px;height:21px;color:var(--gold)}.care-icon{padding:12px;background:#fff;color:var(--red);display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border:1px solid #deded7;transition:background .3s,transform .3s}.care-items article{gap:20px}.care-items article:hover .care-icon{background:var(--gold);transform:rotate(-5deg)}.care-items article:first-of-type{padding-top:0}.chips span{display:inline-flex;gap:8px;align-items:center}.chips .icon{width:16px;height:16px;color:var(--gold)}.contact-info>a,.contact-info>div{position:relative;padding-left:43px}.contact-icon{position:absolute;left:0;top:4px;color:var(--gold);width:25px;height:25px}.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(90deg,transparent,#ffffff50,transparent);transform:skewX(-22deg);transition:left .6s;pointer-events:none}.button:hover:after{left:140%}nav>a.active-link:not(.button){color:var(--red)}.scroll-hint span{animation:scrollNudge 2.3s ease-in-out infinite}.about-mark img{transition:transform .5s}.about-visual:hover .about-mark img{transform:translateY(-4px)}
@keyframes photoDrift{from{transform:scale(1.065)}to{transform:scale(1)}}@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(max-width:1050px){.trust-strip .wrap>div{gap:12px;padding-inline:18px}.trust-strip .icon{width:25px;height:25px}.trust-strip strong{font-size:26px}.trust-strip span{font-size:10px}.hero-controls{left:28px}.service-title h3{font-size:21px}.service-title{gap:10px}.service-title .icon{width:23px;height:23px}.care-photo{height:210px}}
@media(max-width:760px){.hero{min-height:710px}.hero:after{background:linear-gradient(90deg,#151819ed,#151819b0),linear-gradient(0deg,#151819,transparent)}.hero-slide{object-position:64% center}.hero-content{padding-top:58px;padding-bottom:135px}.hero-controls{left:20px;bottom:33px}.scroll-hint{left:auto;right:20px;transform:none;font-size:9px;gap:8px}.trust-strip .wrap{grid-template-columns:1fr 1fr;gap:23px}.trust-strip .wrap>div{padding:0;gap:11px}.trust-strip .wrap>div:last-child{padding-top:17px;gap:17px}.trust-strip .wrap>div:last-child strong{font-size:25px}.trust-strip strong{font-size:26px}.trust-strip span{font-size:10px}.trust-strip .icon{width:24px;height:24px}.trust-strip .wrap>div:last-child span{font-size:11px}.service-title h3{font-size:27px}.service-title .icon{width:28px;height:28px}.care-photo{height:245px}.care-title{padding-top:0}.care-items article{gap:17px}.care-items h3{font-size:22px}.service:hover{transform:none}.contact-info strong{font-size:25px}}
@media(max-width:380px){.trust-strip .icon{width:20px;height:20px}.trust-strip strong{font-size:22px}.trust-strip .wrap>div{gap:8px}.hero h1{font-size:42px}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide.active{animation:none}.scroll-hint span{animation:none}.service,.button,.icon,.hero-slide{transition:none!important}}
@media(min-width:761px) and (max-width:1050px){.trust-strip .wrap>div{display:grid;grid-template-columns:25px 1fr;gap:6px 12px}.trust-strip span{grid-column:2;font-size:11px}}
