:root{--ink:#263942;--deep:#263d47;--deep2:#21353e;--muted:#63727a;--line:#dedfda;--cream:#f5f3ee;--sand:#ddc29b;--shadow:none}
html{scroll-padding-top:20px}
body{background:#f9f8f5;color:var(--ink);font-size:17px;line-height:1.72}
.container{width:min(1180px,calc(100% - 76px))}
.topline{display:none}
.site-header{position:absolute;top:0;left:0;width:100%;background:transparent;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.32);z-index:30}
.nav{height:100px;gap:25px}
.brand{color:#fff;gap:11px}
.brand-mark,.brand-mark img{width:52px;height:52px}
.brand-mark img{filter:none;opacity:1}
.brand-name{font-size:1.28rem;letter-spacing:-.055em;font-weight:850}
.brand-name small{color:rgba(255,255,255,.78);font-size:.67rem;margin-top:3px}
.nav-links{gap:29px}
.nav-links a{color:#fff;font-weight:650;font-size:.92rem;letter-spacing:-.025em}
.nav-links a:hover,.nav-links a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:7px}
.nav-cta{min-width:0;min-height:0;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.72);border-radius:2px;box-shadow:none;padding:11px 17px;line-height:1.25}
.nav-cta span{font-size:.68rem;font-weight:650;color:rgba(255,255,255,.78)}
.nav-cta strong{font-size:1.02rem;font-weight:850}
.nav-cta:hover,.nav-cta:focus-visible{background:#fff;color:var(--deep2);box-shadow:none;transform:none}
.nav-cta:hover span,.nav-cta:focus-visible span{color:var(--muted)}
.hero{min-height:clamp(680px,100svh,960px);background:#4b5d62;align-items:center}
.hero::before{background:linear-gradient(90deg,rgba(19,35,43,.77) 0%,rgba(24,41,50,.57) 36%,rgba(27,42,47,.07) 72%),linear-gradient(0deg,rgba(18,32,38,.26),transparent 45%)}
.hero-slide{object-position:center 46%;filter:saturate(.82) contrast(.96);transform:scale(1.025);transition:opacity 1.35s ease,transform 8s ease}
.hero-slide.is-active{transform:scale(1)}
.hero-inner{padding-top:148px;padding-bottom:135px}
.hero-copy{max-width:690px}
.hero .eyebrow{color:#eee4d3;font-size:.88rem;font-weight:650;letter-spacing:.13em}
.hero .eyebrow::before{width:25px;height:1px;background:#eee4d3}
.hero h1{font-size:clamp(3.35rem,5.5vw,5.7rem);line-height:1.16;letter-spacing:-.07em;font-weight:750;margin:20px 0 25px;text-shadow:none}
.hero h1 em{color:#fff;font-style:normal}
.hero-desc{max-width:540px;color:#f2f2ee;font-size:1.08rem;line-height:1.83;text-shadow:none;margin-bottom:33px}
.hero-actions{gap:10px;max-width:590px}
.hero .phone-btn{flex:0 1 255px;min-height:72px;border-radius:3px;padding:13px 18px;gap:10px;box-shadow:none}
.hero .phone-btn.landline{background:#ead7b4;color:#1d343f;box-shadow:none}
.hero .phone-btn.mobile{background:transparent;border:1px solid rgba(255,255,255,.85);backdrop-filter:none}
.hero .phone-btn svg{width:20px;height:20px}
.hero .phone-btn small{font-size:.71rem;letter-spacing:.04em;font-weight:650}
.hero .phone-btn strong{font-size:1.19rem;letter-spacing:-.035em}
.hero .phone-btn:hover{box-shadow:none;transform:translateY(-2px)}
.hero-more{font-size:.89rem;font-weight:650;margin-top:25px;text-decoration-thickness:1px;text-underline-offset:6px}
.hero-slider-nav{bottom:33px;gap:9px}
.hero-slider-nav button{border-color:rgba(255,255,255,.55);background:transparent;backdrop-filter:none}
.slide-arrow{width:38px;height:38px;font-weight:300}
.slide-dot{width:19px;height:5px;border:0!important;background:rgba(255,255,255,.5)!important}
.slide-dot[aria-current="true"]{width:34px;background:#fff!important}
.hero-photo-note{bottom:22px;right:38px;color:rgba(255,255,255,.8);font-size:.69rem}
.stats-wrap{margin-top:0;background:#f9f8f5}
.stats{border:0;border-radius:0;box-shadow:none;background:transparent;padding:42px 0 25px}
.stat,.stat:nth-child(2){background:transparent;padding:10px 32px;border-right:1px solid #d8d8d2}
.stat:first-child{padding-left:0}
.stat:last-child{border:0}
.stat strong{font-size:2.45rem;color:#324651;font-weight:750}
.stat span{font-size:.88rem;color:#5f7077;font-weight:650}
.section{padding:112px 0}
.section-kicker{font-size:.73rem;color:#8b7761;letter-spacing:.18em;font-weight:750;margin-bottom:17px}
.section h2{font-size:clamp(2.25rem,3.4vw,3.3rem);font-weight:760;line-height:1.25;letter-spacing:-.07em;margin-bottom:20px}
.section-intro{color:#66767d;font-size:1.04rem;line-height:1.85}
.section-heading{margin-bottom:45px}
#services{background:#f9f8f5}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3){background:transparent;border:0;border-top:0;box-shadow:none;border-radius:0;padding:0;overflow:visible;min-height:0}
.service-card:after{display:none}
.service-photo{margin:0 0 26px;order:-1}
.service-photo img,.service-card:nth-child(3) .service-photo img{width:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:0;filter:saturate(.76)}
.service-photo figcaption{font-size:.68rem;color:#8a9293;margin-top:7px}
.service-num,.service-card:nth-child(2) .service-num,.service-card:nth-child(3) .service-num{color:#a18162;font-size:.73rem;font-weight:750;letter-spacing:.11em}
.service-card h3{font-size:1.5rem;line-height:1.4;font-weight:780;letter-spacing:-.04em;margin:10px 0 10px}
.service-card p{font-size:.96rem;line-height:1.75;color:#64727a;margin:0 0 17px}
.service-card ul{list-style:none;padding:0;border-top:1px solid #dddcd7;margin:0;font-size:.84rem;font-weight:650;color:#5a6970;gap:7px;padding-top:14px}
.service-card li::before{content:'—';color:#ad9983;margin-right:8px}
.process-section{background:#edf0ee;color:var(--ink)}
.process-section .section-kicker{color:#8b7761}
.process-section .section-intro,.process-foot{color:#65747b}
.process{gap:0;margin-top:53px;border-top:1px solid #b8c4c3}
.step{min-height:0;background:transparent;border:0;border-right:1px solid #c3cecc;box-shadow:none;border-radius:0;padding:25px 24px 16px}
.step:first-child{padding-left:0}.step:last-child{border-right:0}
.step-count{color:#8d7864;font-size:.75rem;letter-spacing:.1em}
.step h3{font-size:1.21rem;font-weight:750;margin:26px 0 10px}
.step p{color:#68777e;font-size:.92rem}
.process-foot{font-size:.89rem;margin-top:42px}
.process-foot a{color:#314d55;font-weight:700}
#about{background:#f9f8f5}
.promise-layout{grid-template-columns:1fr 1fr;gap:9%}
.promise-copy{padding-top:0}
.promise-copy .section-intro{max-width:480px}
.rank-note{background:transparent;padding:0;border-radius:0;color:#8a7a69;font-weight:600;font-size:.76rem;line-height:1.6}
.promise-quote{border-left:2px solid #c5ad91;padding-left:20px;margin:26px 0;font-size:1.02rem;font-weight:750}
.about-photo{margin:27px 0 0}
.about-photo img{width:100%;aspect-ratio:1.55;object-fit:cover;filter:saturate(.78)}
.about-photo figcaption{font-size:.68rem;color:#8a9293;margin-top:8px}
.promise-list{gap:0;border-top:1px solid #d6d9d5;margin-top:47px}
.promise-item{border-bottom:1px solid #d6d9d5;padding:29px 0;grid-template-columns:46px 1fr;gap:15px}
.promise-item:first-child{padding-top:29px}
.promise-icon{background:transparent;border-radius:0;width:auto;height:auto;display:block;color:#a78e72;font-size:.82rem}
.promise-item h3{font-size:1.08rem;margin:0 0 8px}
.promise-item p{font-size:.94rem;color:#68777e}
.faq-section{background:#efede8}
.faq-layout{grid-template-columns:.82fr 1.18fr;gap:10%}
.faq-list{display:block;border-top:1px solid #c9ceca}
.faq-list details{background:transparent;border:0;border-bottom:1px solid #c9ceca;border-radius:0;padding:0}
.faq-list summary{padding:20px 36px 20px 0;font-size:1rem;font-weight:730}
.faq-list summary:after{top:15px;color:#6c7e7e}
.faq-list details p{color:#627178;line-height:1.8}
.faq-aside{background:transparent;border-top:1px solid #bcc7c5;border-radius:0;padding:17px 0;margin-top:40px;font-size:.94rem;font-weight:650}
.faq-aside a{color:#374e56}
.contact-section{background:#f9f8f5;padding:110px 0}
.contact-card{grid-template-columns:1.12fr .88fr;border:0;border-radius:0;background:#eeefeb}
.contact-info{padding:57px 64px}
.contact-info h2{font-size:clamp(2.15rem,3vw,3rem)}
.contact-line{border-color:#d4d9d5}
.contact-label{color:#68777a;font-weight:650}
.contact-value{font-weight:650}
.contact-value a[href^="tel"]{color:#263e49;font-size:1.22rem;font-weight:800}
.map-link{color:#4d656b;font-size:.85rem;font-weight:650}
.btn{border-radius:2px;font-weight:720;min-height:51px;padding:12px 19px}
.btn-primary{background:#324e57;color:#fff}.btn-primary:hover{background:#243f48}
.btn-outline{border:1px solid #a8b8b8;background:transparent;color:#314b54}
.contact-visual{background:#344e58;padding:58px;color:#fff}
.contact-visual:after{display:none}
.contact-visual .small{color:#d8c5ac;font-size:.74rem;letter-spacing:.17em}
.contact-visual strong{font-size:clamp(2.1rem,3.35vw,3.5rem);line-height:1.3;font-weight:740}
.contact-visual p{color:#dce3e1}
.contact-visual a{font-size:1.1rem;font-weight:700}
.footer{background:#243740;color:#bcc8c7;padding:41px 0 60px}
.mobile-call{display:none}
:focus-visible{outline:3px solid #e2bf86;outline-offset:3px}
@media(max-width:1100px){.nav-links{gap:17px}.nav-links a{font-size:.82rem}.nav-cta{padding:9px 11px}.nav-cta strong{font-size:.87rem}.brand-name{font-size:1.1rem}}
@media(max-width:900px){.container{width:min(100% - 46px,1180px)}.nav-links a:nth-child(3),.nav-links a:nth-child(4){display:none}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card:nth-child(3){grid-column:auto}.service-card h3{font-size:1.23rem}.service-photo img,.service-card:nth-child(3) .service-photo img{max-height:none}.promise-layout,.faq-layout{gap:6%}.contact-info,.contact-visual{padding:40px}}
@media(max-width:700px){body{font-size:16px}.container{width:min(100% - 36px,530px)}.site-header{border-color:rgba(255,255,255,.28)}.nav{height:74px}.brand-mark,.brand-mark img{width:42px;height:42px}.brand-name{font-size:1.05rem}.menu-toggle{display:block;color:#fff}.nav-links{top:74px;background:#2b414b;box-shadow:0 12px 25px rgba(0,0,0,.2)}.nav-links a,.nav-links a:nth-child(3),.nav-links a:nth-child(4){display:block;color:#fff;font-size:1rem}.nav-cta{display:none}.hero{min-height:clamp(730px,100svh,850px);align-items:flex-end}.hero::before{background:linear-gradient(180deg,rgba(20,36,42,.18) 0%,rgba(20,36,42,.12) 25%,rgba(20,36,42,.84) 56%,rgba(20,36,42,.96) 100%)}.hero-slide{object-position:65% center}.hero-inner{padding-top:250px;padding-bottom:103px}.hero h1{font-size:clamp(2.65rem,9.7vw,3.75rem);line-height:1.19;margin:16px 0 19px}.hero-desc{font-size:.96rem;line-height:1.7;margin-bottom:23px}.hero .eyebrow{font-size:.73rem}.hero-actions{gap:10px}.hero .phone-btn{flex:1 1 100%;min-height:60px;padding:9px 14px}.hero .phone-btn strong{font-size:1.14rem}.hero-more{margin-top:15px}.hero-slider-nav{bottom:21px}.hero-photo-note{right:15px;bottom:66px;font-size:.61rem}.stats{padding:29px 0;grid-template-columns:1fr 1fr}.stat,.stat:nth-child(2){padding:10px 13px;border-right:0}.stat:first-child{padding-left:0}.stat:last-child{grid-column:1/-1;border-top:1px solid #d8d8d2;margin-top:10px;padding:17px 0 0}.stat strong{font-size:1.85rem}.stat span{font-size:.73rem}.section{padding:80px 0}.section-heading{margin-bottom:31px}.section h2{font-size:2.35rem}.service-grid{grid-template-columns:1fr;gap:47px}.service-card:nth-child(3){grid-column:auto}.service-photo{margin-bottom:16px}.service-photo img,.service-card:nth-child(3) .service-photo img{aspect-ratio:1.55}.service-card h3{font-size:1.5rem}.process{grid-template-columns:1fr 1fr;margin-top:34px}.step{padding:19px 15px 22px;min-height:190px}.step:nth-child(odd){padding-left:0}.step:nth-child(even){border-right:0}.step:nth-child(n+3){border-top:1px solid #c3cecc}.step h3{margin-top:20px}.promise-layout,.faq-layout,.contact-card{grid-template-columns:1fr}.promise-list{margin-top:33px}.faq-layout{gap:30px}.faq-aside{margin-top:22px}.contact-section{padding:75px 0}.contact-info,.contact-visual{padding:32px}.footer{padding-bottom:120px}.footer .container{display:block}.footer-links{margin-top:18px}.mobile-call{display:flex;background:#f9f8f5}.mobile-call a{border-radius:2px}.mobile-call a:first-child{background:#e7d0a7;color:#263942}.mobile-call a:last-child{background:#344e58;color:#fff}}
@media(max-width:420px){.hero{min-height:790px}.hero-inner{padding-top:250px}.hero h1{font-size:2.55rem}.process{grid-template-columns:1fr}.step,.step:nth-child(odd),.step:nth-child(even){border-right:0;border-top:1px solid #c3cecc;padding:22px 0;min-height:0}.step:first-child{border-top:0}.step h3{margin-top:8px}.hero .phone-btn{min-height:59px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-slide.is-active{transform:none}.motion-ready .reveal{opacity:1;transform:none;filter:none;transition:none}}
.service-photo img,.service-card:nth-child(3) .service-photo img{height:285px;max-height:none}
.about-photo img{height:310px}
@media(max-width:900px){.service-photo img,.service-card:nth-child(3) .service-photo img{height:235px}}
@media(max-width:700px){.service-photo img,.service-card:nth-child(3) .service-photo img{height:260px}.about-photo img{height:250px}}
