:root{--plum:#5a263c;--rose:#ede5e9;--paper:#f7f3f0;--ink:#282326;--muted:#6b5d64;--line:#d5c7cf;--white:#fff;--gutter:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;padding-right:var(--gutter);background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(36px,3.7vw,52px);font-weight:650;margin-bottom:18px}h2{font-size:clamp(29px,3vw,43px);font-weight:600;margin-bottom:24px}h3{font-size:23px;font-weight:600;margin-bottom:14px}p{margin-bottom:20px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b26086;outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.wrap{max-width:1200px;margin:auto;padding:0 30px}.skip-link{position:absolute;left:20px;top:-80px;background:white;z-index:100;padding:12px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.header-inner{min-height:72px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}.brand img{width:34px;height:34px}.brand strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-1.3px;line-height:1.05}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;margin-top:5px}.main-nav{display:flex;gap:24px;align-items:center}.main-nav a{font-size:13px;font-weight:600;text-decoration:none}.main-nav a[aria-current=page]{color:var(--plum);text-decoration:underline}.header-phone{font-size:13px;font-weight:700;white-space:nowrap}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:10px}.no-js .menu-toggle{display:none}.mobile-call{display:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--plum);margin-bottom:14px}.lead{font-size:18px;line-height:1.6}.service-line{font-size:13px;color:var(--muted);line-height:1.5}.hero-intro{margin:30px 0 24px;display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:end}.hero-intro h1{margin-bottom:12px}.hero-intro p:last-child{margin-bottom:0}.hero-intro .lead{font-size:15px;max-width:370px}.hero-home{display:grid;grid-template-columns:1.55fr 1fr;gap:26px;align-items:stretch;margin-bottom:76px}.hero-media{position:relative;overflow:hidden;border-radius:0 60px 0 0;background:var(--rose)}.hero-media img{height:100%;min-height:430px;object-fit:cover;object-position:48% 48%}.hero-media figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px 22px;background:rgba(64,24,41,.9);color:white;font-size:13px}.call-link,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:11px 19px;border:1px solid var(--plum);color:var(--plum);border-radius:28px;text-decoration:none;font-size:14px;font-weight:700}.call-link:hover,.button:hover{background:var(--rose)}.button.solid{background:var(--plum);color:white}.estimate-panel{background:var(--rose);border:1px solid var(--line);padding:22px 24px;scroll-margin-top:94px}.estimate-panel h2{font-size:28px;margin:0 0 8px}.estimate-panel .intro{font-size:13px;line-height:1.4;margin:0 0 17px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:11px;min-width:0}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:5px}.field input,.field textarea{display:block;background:var(--white);color:var(--ink);border:1px solid #b6a5af;border-radius:0;width:100%;padding:9px 10px;min-height:39px;font-size:14px;line-height:1.4}.field textarea{height:57px;resize:vertical}.submit-button{display:block;width:100%;background:var(--plum);color:white;border:1px solid var(--plum);min-height:46px;font-weight:600;font-size:13px;letter-spacing:.1px;border-radius:25px}.form-note{font-size:10px;line-height:1.5;margin:11px 0 0;color:var(--muted)}.form-status{font-size:13px;line-height:1.4;margin:10px 0 0}.form-status:empty{display:none}.form-success{display:none;padding:25px 0}.error-message{color:#9c1c37!important;font-size:12px!important;animation:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.breadcrumbs{font-size:12px;color:var(--muted);margin:24px 0 35px}.breadcrumbs a{margin-right:9px}.section{padding:68px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:38px}.section-head p{max-width:480px}.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}.split figure img{max-height:550px;object-fit:cover}.split figure{overflow:hidden}.story .split{grid-template-columns:.95fr 1.05fr}.story figure{border-radius:0 0 70px 0}.story .pull-line{font:italic 25px/1.4 Georgia,serif;color:var(--plum)}figcaption{font-size:12px;color:var(--muted);padding:13px 0}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:.72fr 1fr;gap:50px;padding:32px 0;border-bottom:1px solid var(--line)}.service-row h3{font-size:27px}.service-row p:last-child{margin-bottom:0}.service-copy p{max-width:660px}.inline-links{display:flex;flex-wrap:wrap;gap:10px 22px}.inline-links a{font-size:14px;color:var(--plum)}.callout{background:var(--plum);color:white;padding:38px 44px;margin:30px 0;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;border-radius:0 45px 0 0}.callout h2{margin:0;color:white}.callout .call-link{color:white;border-color:#d8bccb}.callout a:hover{background:#713950}.callout p{margin-bottom:16px}.faq{max-width:900px;margin-left:auto}.faq h3{font-size:23px}.faq article,.faq details{border-top:1px solid var(--line);padding:26px 0}.faq summary{cursor:pointer;font-size:21px;line-height:1.25;font-weight:600;margin-bottom:18px}.services-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;margin-bottom:55px}.services-hero figure img{height:410px;object-fit:cover}.services-hero figure{border-radius:45px 0 0 0;overflow:hidden}.choices-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:65px;align-items:center;padding:14px 0 52px}.choices-hero figure img{height:280px;object-fit:cover}.choices-hero h1{font-size:clamp(42px,5vw,70px)}.choice-columns{display:grid;grid-template-columns:1fr 1fr;gap:52px}.choice-columns>div{border-top:2px solid var(--plum);padding-top:25px}.before-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;margin-bottom:45px}.before-hero figure img{height:370px;object-fit:cover}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:65px;align-items:start}.contact-copy figure img{height:260px;object-fit:cover;margin-bottom:23px}.contact-copy .call-link{margin:0 12px 18px 0}.contact-copy .email-link{overflow-wrap:anywhere}.legal{max-width:790px;padding:15px 0 70px}.legal h1{margin-bottom:25px}.legal h2{font-size:25px;margin-top:36px}.site-footer{background:#e9dce3;border-top:1px solid var(--line);padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.footer-brand{font:34px/1.1 Georgia,serif;margin-bottom:22px;color:var(--plum)}.footer-grid p{font-size:13px;max-width:420px}.footer-contact{font-size:20px;font-weight:600;line-height:1.5}.footer-contact a{display:block;overflow-wrap:anywhere}.footer-nav{display:flex;flex-wrap:wrap;gap:12px 22px;margin:26px 0;font-size:13px}.map-frame{background:var(--rose);overflow:hidden;border:1px solid #c5b6bd}.map-frame iframe{width:100%;height:310px;border:0;display:block}.footer-bottom{border-top:1px solid #c5b6bd;margin-top:35px;padding-top:20px;display:flex;gap:25px;justify-content:space-between;font-size:11px;color:#65525c}.floating-cta{position:fixed;z-index:40;right:10px;bottom:max(14px,env(safe-area-inset-bottom));width:52px;min-height:82px;border-radius:27px;background:var(--plum);color:white;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:600;line-height:1.2;box-shadow:0 4px 14px #5a263c33}.floating-cta span:last-child{font-size:23px}.floating-cta:hover{background:#713950}[hidden]{display:none!important}
@media(min-width:1400px){.hero-intro{margin-top:35px}.hero-media img{min-height:445px}}
@media(max-width:1050px){.header-inner{gap:18px}.main-nav{gap:16px}.main-nav a{font-size:12px}.header-phone{font-size:12px}.hero-intro{gap:30px}.hero-home{grid-template-columns:1.2fr 1fr;gap:20px}.estimate-panel{padding:20px}.split,.contact-layout,.footer-grid{gap:40px}}
@media(max-width:960px){.header-inner{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;min-height:68px}.menu-toggle{display:block}.header-phone{display:none}.mobile-call{display:block}.main-nav{width:100%;flex-wrap:wrap;gap:15px 24px;padding:12px 0}.main-nav a{font-size:14px}.no-js .main-nav{display:flex}.hero-intro{grid-template-columns:1fr;gap:16px}.hero-intro .lead{max-width:620px}.hero-intro h1{max-width:720px}.hero-home{margin-bottom:45px}.hero-media img{min-height:500px}.section{padding:50px 0}.section-head{gap:40px}.services-hero{gap:30px}.choices-hero,.before-hero{gap:35px}.footer-grid{grid-template-columns:1fr 1.1fr;gap:35px}}
@media(max-width:640px){:root{--gutter:66px}.wrap{padding:0 18px}.brand img{width:25px;height:25px}.brand strong{font-size:23px}.brand small{font-size:8px;letter-spacing:1.5px}.brand{gap:8px}.header-inner{gap:8px}.menu-toggle{font-size:12px;padding:9px;min-height:40px}.hero-intro{margin:25px 0 22px}.hero-intro h1{font-size:36px;line-height:1.08}.hero-intro .lead{font-size:15px}.hero-home{display:flex;flex-direction:column;gap:20px}.hero-media{border-radius:0 40px 0 0}.hero-media img{min-height:0;height:250px;object-position:43% 50%}.hero-media figcaption{font-size:11px;padding:11px 15px}.estimate-panel{padding:20px 18px}.estimate-panel h2{font-size:27px}.field-grid{grid-template-columns:1fr;gap:0}.field input{min-height:43px}.form-note{font-size:11px}.section{padding:42px 0}.section-head,.split,.story .split,.service-row,.choice-columns,.services-hero,.choices-hero,.before-hero,.contact-layout,.footer-grid{grid-template-columns:1fr;gap:25px}.section-head{margin-bottom:28px}.section-head h2{margin-bottom:0}.service-row{padding:27px 0;gap:4px}.service-row h3{font-size:25px}.callout{display:block;padding:28px 22px;border-radius:0 28px 0 0}.callout h2{margin-bottom:23px}.callout p{font-size:14px}.choices-hero h1{font-size:42px}.choices-hero figure img{height:245px}.services-hero figure img{height:250px}.before-hero figure img{height:250px}.contact-layout{gap:25px;margin-bottom:40px}.contact-copy figure img{height:225px}.footer-grid{gap:28px}.footer-brand{font-size:32px}.footer-contact{font-size:17px}.footer-nav{gap:10px 19px}.map-frame iframe{height:300px}.footer-bottom{display:block}.footer-bottom p{margin-bottom:12px}.floating-cta{right:8px;width:50px;min-height:76px;font-size:10px}.breadcrumbs{margin:23px 0 28px}.legal{padding-top:0}.legal h1{font-size:37px}.email-link{overflow-wrap:anywhere}}
@media(max-width:360px){.brand strong{font-size:20px}.brand small{font-size:7px}.hero-intro h1{font-size:32px}.estimate-panel{padding:18px 14px}.wrap{padding:0 17px}.hero-media img{height:225px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Compact first-screen hierarchy: one headline group, one call-first group. */
.hero-intro{margin:24px 0 20px}.hero-intro h1{font-size:clamp(36px,3.4vw,46px)}.hero-intro .service-line{margin-bottom:0}.hero-intro .lead{margin-bottom:15px}.hero-intro .eyebrow{margin-bottom:10px}
@media(max-width:640px){.hero-intro h1{font-size:36px}.hero-intro .call-link{font-size:12px;gap:8px;padding:10px 13px;flex-wrap:wrap}.hero-intro .lead{font-size:15px}}
@media(max-width:360px){.hero-intro h1{font-size:32px}.call-link{font-size:12px;gap:8px;padding:10px 13px;flex-wrap:wrap}}

/* Home-specific compact card keeps the full submit action visible at1366x768. */
@media(min-width:961px){.page-home .hero-intro h1{font-size:42px;margin-bottom:8px}.page-home .hero-intro{margin:22px 0 18px}.page-home .estimate-panel{padding:18px 24px}.page-home .estimate-panel .eyebrow{margin-bottom:6px}.page-home .estimate-panel h2{font-size:26px;margin-bottom:6px}.page-home .estimate-panel .intro{font-size:12px;line-height:1.4;margin-bottom:12px}.page-home .field{margin-bottom:7px}.page-home .field input{min-height:37px;padding:8px 10px}.page-home .field textarea{height:48px}.page-home .form-note{margin-top:8px}.page-home .hero-media img{min-height:420px}}
@media(max-width:640px){.page-home .hero-intro .lead{display:none}.page-home .hero-intro h1{font-size:32px}.page-home .hero-intro{gap:12px}.page-home .hero-media img{height:220px}.call-link span{white-space:nowrap}.call-link{flex-wrap:wrap;gap:5px 10px}.hero-media figcaption{font-size:11px}}
@media(max-width:360px){.page-home .hero-intro h1{font-size:30px}.page-home .hero-media img{height:200px}}

.callout .eyebrow{color:#fff;grid-column:1/-1;margin-bottom:0}.footer-grid .footer-brand{font-size:34px;line-height:1.1}
