:root{--paper:#f6f4ee;--ink:#243832;--muted:#626b63;--line:#d6d9ce;--accent:#e0e7ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(55px,5.7vw,88px)}h2{font-size:clamp(40px,4.3vw,64px)}em{font-weight:400}h3{font-size:20px;line-height:1.3}a{text-underline-offset:5px}button,input,textarea{font:inherit}.wrap{width:min(1260px,calc(100% - 96px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:bold;margin-bottom:30px}.light{color:#dfe5d3}.header{height:100px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:10px;letter-spacing:.15em;font-weight:bold}.brand small{display:block;font-weight:400;letter-spacing:.08em;margin-top:4px}.brand-mark{font:italic 44px Georgia;letter-spacing:-12px;width:49px;height:56px;border:1px solid #7f8d79;border-radius:50%;padding-left:6px}.brand-mark span{position:relative;top:9px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.header-phone{text-align:right;text-decoration:none;white-space:nowrap;font-size:16px}.header-phone span{display:block;font-size:10px;color:var(--muted);letter-spacing:.06em}.hero{position:relative;isolation:isolate;min-height:760px;color:white;display:flex;align-items:center;background:#554d40}.hero-image{position:absolute;inset:0;height:100%;z-index:-2;object-position:center}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,30,23,.83),rgba(17,30,23,.38) 48%,rgba(17,30,23,.06))}.hero-content{padding-block:75px 120px}.hero h1 em{color:#e1e6d4}.hero-text{max-width:440px;margin:26px 0 32px;color:#f1f0e9;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:white;padding:18px 25px;text-decoration:none;border:1px solid var(--ink);font-size:13px;cursor:pointer;transition:background .2s}.button:hover{background:#395246}.hero .button{background:var(--accent);color:var(--ink);border-color:var(--accent)}.hero .button:hover{background:white}.button span{font-size:20px;line-height:1}.hero-link{display:inline-block;margin-left:25px;font-size:12px}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:20px;font-size:10px;letter-spacing:.08em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.lead{font-size:23px;line-height:1.5;margin-bottom:24px}.intro-copy>p:not(.lead){color:var(--muted)}.notes{margin-top:35px}.notes div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding-block:17px;border-top:1px solid var(--line);font-size:13px}.notes span{color:var(--muted)}.gallery{background:#eaece3}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:50px}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery-grid .wide{grid-column:1/-1}.gallery-grid img{aspect-ratio:1.5}.gallery-grid .wide img{aspect-ratio:2.25}.gallery-grid figcaption{display:flex;flex-direction:column;margin-top:18px;gap:5px}.gallery-grid figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.gallery-grid figcaption b{font:25px Georgia;font-weight:400}.image-note{font-size:11px;color:var(--muted);margin-top:30px}.dark{background:var(--ink);color:var(--paper)}.acoustic{display:grid;grid-template-columns:1fr 1fr;gap:100px}.acoustic>div+div{padding-top:30px}.acoustic p:not(.lead):not(.eyebrow){color:#cbd2c7}.text-link{display:inline-block;margin-top:26px;font-size:13px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps li{border-top:1px solid #a2af9d;padding-top:20px}.steps li>span{font:italic 34px Georgia;color:#839077;display:block;margin-bottom:35px}.steps p{font-size:14px;color:var(--muted);margin-top:18px}.quote-section{background:#e8e5da}.quote-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:120px}.quote-grid h2+p{margin-top:30px;max-width:440px;color:var(--muted)}.estimate{padding:35px;border:1px solid #aab19d;align-self:center}.estimate ul{padding-left:18px;color:var(--muted);font-size:14px;margin:20px 0 28px}.estimate li{margin-top:10px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 35px 23px 0;position:relative;font-size:16px}summary:after{content:'+';position:absolute;right:4px}details[open]>summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding-bottom:24px}summary::-webkit-details-marker{display:none}.contact-section{background:#243832;color:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.contact-grid h2+p{margin-top:30px;color:#cbd2c7;font-size:14px}.contact-phone{display:block;font-size:29px;text-decoration:none;margin-top:35px}.contact-email{display:block;font-size:16px;margin-top:8px}.contact-grid address{font-style:normal;font-size:14px;margin-top:30px}form{background:var(--paper);color:var(--ink);padding:42px;align-self:start;scroll-margin-top:30px}form h3{font:33px Georgia}form>p{font-size:13px;color:var(--muted);margin-top:12px}form label:not(.consent){display:block;font-size:12px;margin-top:23px}form label span{color:var(--muted)}input:not([type=checkbox]),textarea{display:block;width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #adb6a6;color:var(--ink);border-radius:0;font-size:14px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #72816d;outline-offset:3px}.consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.5;margin:24px 0}.consent input{margin:3px 0;flex-shrink:0}.consent a{color:var(--ink)}form .button{width:100%}button:disabled{opacity:.65;cursor:wait}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status:empty{display:none}#form-status{font-size:13px;margin-top:18px}footer{padding-block:35px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;font-size:11px;color:var(--muted)}footer b{font-size:16px;color:var(--ink)}footer p{margin-top:9px}footer>span{text-align:right}footer details{border:0}footer summary{padding:0 20px 10px 0;font-size:11px}footer details p{font-size:11px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a3ad86;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;z-index:20;padding:12px}.skip:focus{top:0}@media(min-width:1700px){.hero{min-height:860px}}@media(max-width:1100px){.header{padding-inline:25px;gap:20px}.header nav{gap:18px}.brand{font-size:8px}.wrap{width:calc(100% - 64px)}.intro,.acoustic,.faq,.contact-grid,.quote-grid{gap:55px}.steps{gap:20px}.hero{min-height:700px}.hero-content{padding-block:65px 120px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{height:auto;min-height:88px;padding:18px 22px;flex-wrap:wrap;gap:14px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:12px;gap:8px}.brand-mark{display:none}.header-phone{font-size:14px}.brand{max-width:155px;font-size:8px}.header-phone span{font-size:9px}.wrap{width:calc(100% - 44px)}.section{padding-block:68px}.hero{min-height:710px}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,#14251dcc,#14251d65)}.hero-content{padding-block:65px 130px}.hero h1{font-size:57px}.hero-text{max-width:340px;font-size:15px}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero-link{display:block;margin:22px 0 0}.hero-bottom{font-size:9px;gap:20px;align-items:start}.hero-bottom span{max-width:145px}.intro,.acoustic,.faq,.contact-grid,.quote-grid{grid-template-columns:1fr;gap:35px}.lead{font-size:21px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.gallery-grid{grid-template-columns:1fr;gap:35px}.gallery-grid .wide{grid-column:auto}.gallery-grid .wide img,.gallery-grid img{aspect-ratio:1.3}.steps{grid-template-columns:1fr 1fr;gap:35px 22px}.steps li>span{margin-bottom:20px}.steps h3{font-size:18px}.steps p{font-size:13px}.acoustic>div+div{padding:0}.estimate{padding:25px}.contact-phone{font-size:27px}form{padding:28px 24px}footer{grid-template-columns:1fr;gap:24px}footer>span{text-align:left}h2{font-size:43px}.eyebrow{font-size:9px;margin-bottom:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.header-phones{text-align:right;flex-shrink:0}.header-phones .header-phone{display:block;line-height:1.6}.header-phones>span{display:block;font-size:10px;color:var(--muted);letter-spacing:.06em}.contact-phone+.contact-phone{margin-top:5px}@media(max-width:760px){.header-phones>span{font-size:9px}}

.brand-logo{width:49px;height:54px;object-fit:contain}.brand{flex-shrink:0}.header .brand{min-width:49px}@media(max-width:760px){.brand-logo{width:42px;height:47px}}

/* Larger symbol and responsive layout: 320px phones through wide desktops. */
.header{height:128px}
.brand-logo{width:96px;height:106px}
.header .brand{min-width:96px}
.intro>div,.acoustic>div,.quote-grid>div,.contact-grid>div,.faq>div,.steps li{min-width:0}
.contact-email{overflow-wrap:anywhere}
@media(max-width:960px){
 .header{height:auto;min-height:128px;flex-wrap:wrap;padding:15px 32px;gap:12px 24px}
 .header nav{order:3;width:100%;justify-content:center;gap:35px;padding-top:8px;border-top:1px solid var(--line)}
 .header nav a{min-height:44px;display:inline-flex;align-items:center}
 .header-phones{margin-left:auto}
 .contact-grid,.quote-grid{grid-template-columns:1fr;gap:38px}
 .contact-grid form{width:100%;max-width:620px}
}
@media(max-width:760px){
 .header{padding:14px 22px;min-height:0;gap:10px 16px}
 .header .brand{min-width:72px;max-width:none}
 .brand-logo{width:72px;height:80px}
 .header nav{gap:0;justify-content:space-between;padding-top:6px}
 .header nav a{padding:0 5px;min-height:44px;font-size:12px}
 .header-phone{font-size:15px}
 .header-phones .header-phone{line-height:1.4;min-height:38px;display:flex;align-items:center;justify-content:flex-end}
 .header-phones>span{display:none}
 .hero{min-height:650px}
 .hero h1{font-size:clamp(40px,8.2vw,57px)}
 .hero-content{padding-top:48px;padding-bottom:125px}
 .hero-text{max-width:420px}
 .button{min-height:54px}
 .hero-link,.text-link{min-height:44px;align-content:center}
 .hero-link{margin-top:12px}
 input:not([type=checkbox]),textarea{font-size:16px;min-height:48px}
 .consent{font-size:12px}
 .consent input{width:20px;height:20px}
 summary{min-height:56px}
 .contact-phone{min-height:44px;display:flex;align-items:center;font-size:clamp(23px,5.7vw,29px)}
 .contact-grid h2+p{font-size:15px}
}
@media(max-width:480px){
 .steps{grid-template-columns:1fr;gap:28px}
 .steps li>span{margin-bottom:12px}
 .section{padding-block:56px}
 .eyebrow{letter-spacing:.12em}
 .hero .button{width:100%;max-width:340px}
 h2{font-size:clamp(35px,9vw,43px)}
 .hero-bottom{gap:15px;font-size:9px}
 .hero-bottom span{max-width:48%}
 .gallery-grid figcaption b{font-size:23px}
 form{padding:26px 20px}
 form h3{font-size:29px}
 .notes div{grid-template-columns:75px 1fr;gap:12px}
 footer{gap:20px}
}
