:root{--ink:#11130f;--ink2:#1a1d17;--paper:#f7f4ed;--paper2:#ece7dc;--cream:#f0eadf;--gold:#d0aa74;--gold2:#e4c18e;--muted:#6f7069;--line:#d8d1c5;--max:1280px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 18px 50px rgba(20,20,16,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 44px),var(--max));margin:auto}.site-header{position:absolute;z-index:50;top:0;left:0;right:0;color:#fff;background:linear-gradient(rgba(0,0,0,.56),transparent)}.nav-shell{height:100px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.custom-logo-link{display:flex;align-items:center}.custom-logo{width:190px;height:auto;max-height:78px;object-fit:contain}.brand-mark{font-size:28px;color:var(--gold2)}.brand-text{font-family:var(--serif);font-size:22px;letter-spacing:.08em;line-height:.9}.brand-text small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.32em;margin-top:8px}.primary-nav .menu{display:flex;list-style:none;gap:28px;margin:0;padding:0}.primary-nav a{font-size:14px;color:#fff;opacity:.92}.primary-nav a:hover{color:var(--gold2)}.nav-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--gold2);border:1px solid var(--gold2);color:#18150f;font-weight:800;border-radius:3px;transition:.2s;cursor:pointer}.button:hover{transform:translateY(-2px);background:#efcb98}.button-small{min-height:44px;padding:0 18px;font-size:14px}.hero{position:relative;min-height:780px;color:#fff;background:radial-gradient(circle at 75% 30%,#2d352a 0,#11140f 45%,#080a07 100%);background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,rgba(5,7,5,.62));pointer-events:none}.hero-inner{padding-top:120px;padding-bottom:120px;position:relative;z-index:2}.eyebrow{margin:0 0 15px;color:var(--gold2);font-size:12px;font-weight:900;letter-spacing:.29em}.eyebrow.dark{color:#80613c}.hero h1,.problem-band h2,.section h2,.site-footer h2,.estimate h2,.project-hero h1{font-family:var(--serif);font-weight:600;line-height:1.01}.hero h1{max-width:820px;font-size:clamp(58px,7.5vw,104px);margin:0 0 24px;letter-spacing:-.025em}.hero-copy{max-width:650px;font-size:19px;color:#f4f0e6}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.text-link{font-weight:800}.text-link span{margin-left:5px}.hero-badges{position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.hero-badges span{padding:24px 26px;border-right:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:800;letter-spacing:.04em}.hero-badges span:last-child{border-right:0}.section{padding:104px 0}.section-head{display:grid;grid-template-columns:1.15fr .65fr;gap:80px;align-items:end;margin-bottom:46px}.section-head h2,.center-head h2,.estimate h2{font-size:clamp(40px,5vw,66px);margin:0;letter-spacing:-.02em}.section-head>p,.center-head>p:not(.eyebrow){color:var(--muted);max-width:540px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.service-card{position:relative;background:#fff;border:1px solid #ded7cb;display:grid;grid-template-columns:1.1fr .9fr;min-height:250px;overflow:hidden;transition:.25s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-image,.placeholder-image{min-height:250px;background:#e8e2d8;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{display:grid;place-items:center;color:#8a847a;font-size:13px;border:1px dashed #c8c0b5}.service-copy{padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.card-index{font-size:11px;letter-spacing:.16em;color:#90734d;margin-bottom:auto}.service-card h3{font-family:var(--serif);font-size:28px;line-height:1.06;margin:18px 0 8px}.service-card p{font-size:14px;color:var(--muted);margin:0}.problem-band{min-height:520px;background:linear-gradient(90deg,#11140f,#32382d);background-size:cover;background-position:center;color:#fff;display:flex;align-items:center}.problem-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:100px;align-items:end}.problem-band h2{font-size:clamp(48px,6vw,76px);margin:0}.problem-band p:not(.eyebrow){font-size:18px;color:#efede7;margin:0 0 28px}.projects{background:#efeae0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{position:relative;min-height:430px;overflow:hidden;background:#111;color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.08)}.project-card>img,.project-card>.placeholder-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.82))}.project-card:hover>img{transform:scale(1.035)}.project-card-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px}.project-card-copy span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold2)}.project-card h3{font-family:var(--serif);font-size:32px;line-height:1.03;margin:6px 0 18px}.project-card strong{font-size:13px}.empty-state{grid-column:1/-1;padding:30px;border:1px dashed #b8b0a4;background:#fff;color:#736f67}.before-after-section{background:#fbfaf7}.center-head{text-align:center;margin-bottom:50px}.center-head>p:not(.eyebrow){margin:14px auto 0}.ba-grid{display:grid;gap:30px}.ba-card{background:#fff;border:1px solid var(--line);padding:20px}.ba-card h3{font-family:var(--serif);font-size:28px;margin:18px 0 2px}.ba-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ba-images figure{margin:0;position:relative;overflow:hidden;background:#ddd}.ba-images img{width:100%;aspect-ratio:1.5/1;object-fit:cover}.ba-images figcaption{position:absolute;left:12px;bottom:12px;background:rgba(10,10,8,.78);color:#fff;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ba-images.large img{aspect-ratio:1.4/1}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.process-grid>div{padding:24px 34px;border-right:1px solid var(--line)}.process-grid>div:last-child{border-right:0}.process-grid span{display:block;font-family:var(--serif);font-size:24px;color:#8b704c;margin-bottom:44px}.process-grid h3{font-size:17px;margin:0 0 8px}.process-grid p{font-size:14px;color:var(--muted);margin:0}.estimate{display:grid;grid-template-columns:.85fr 1.15fr;background:#ece6dc}.estimate-visual{min-height:820px;background:linear-gradient(#1b1f19,#10120f);background-size:cover;background-position:center;position:relative}.estimate-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.72))}.estimate-visual-copy{position:absolute;z-index:2;left:clamp(24px,5vw,78px);right:40px;bottom:60px;color:#fff}.estimate-visual-copy h2{font-size:clamp(46px,5vw,66px);margin:0 0 16px}.estimate-visual-copy p:not(.eyebrow){font-size:18px;max-width:450px}.estimate-panel{padding:72px clamp(28px,6vw,92px)}.estimate-panel>h2{margin:0 0 30px}.estimate-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.estimate-form label{font-size:13px;font-weight:800}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #c8c0b4;background:#fff;font:inherit;border-radius:2px}.estimate-form textarea{resize:vertical}.full{grid-column:1/-1}.project-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.project-pills label{cursor:pointer}.project-pills input{position:absolute;opacity:0;pointer-events:none}.project-pills span{display:block;padding:9px 12px;background:#f8f5ef;border:1px solid #d5cec1;border-radius:999px;font-size:12px;font-weight:800}.project-pills input:checked+span{background:#171a15;color:#fff;border-color:#171a15}.upload-box{padding:20px;border:1px dashed #b8aea0;background:#f8f5ef}.upload-box input{border:0;padding:0;background:transparent}.upload-box small{display:block;color:var(--muted);margin-top:7px}.hp{position:absolute;left:-9999px}.form-message{margin:0;padding:12px;background:#f0f5ed}.form-message.error{background:#f7e7e3}.site-footer{background:#0f110e;color:#fff;padding-top:64px}.footer-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-family:var(--serif);font-size:34px;letter-spacing:.08em}.footer-brand span{font-size:10px;letter-spacing:.35em}.site-footer p{color:#cfcfc8}.footer-cta{text-align:right}.footer-cta h2{font-size:48px;margin:0 0 22px}.footer-email{display:block;margin-top:16px;color:#ddd}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:26px 0;margin-top:54px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:#aaa}.project-hero{position:relative;min-height:620px;background:#111}.project-hero>img{width:100%;height:620px;object-fit:cover;opacity:.72}.project-hero-overlay{position:absolute;inset:0;display:flex;align-items:end;padding:90px 0;background:linear-gradient(transparent 30%,rgba(0,0,0,.78));color:#fff}.project-hero h1{font-size:clamp(50px,7vw,88px);margin:0}.project-detail-grid{display:grid;grid-template-columns:1.2fr .6fr;gap:90px}.prose{font-size:18px}.prose img{margin:28px 0}.project-summary{font-size:26px;font-family:var(--serif);line-height:1.25}.project-facts{background:#eee8de;padding:28px;align-self:start}.project-facts h3{font-family:var(--serif);font-size:28px;margin:0 0 20px}.project-facts p{padding:14px 0;border-top:1px solid #d3ccbf;margin:0}.project-facts span,.project-facts strong{display:block}.project-facts span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.project-facts strong{margin-top:4px}.project-facts .button{margin-top:22px;width:100%}.project-ba{background:#efeae0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
@media(max-width:1080px){.primary-nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:#111;padding:20px}.primary-nav.open{display:block}.primary-nav .menu{display:grid;gap:14px}.nav-toggle{display:block;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 12px}.header-cta{display:none}.service-card{grid-template-columns:1fr}.service-image{min-height:220px}.project-grid{grid-template-columns:repeat(2,1fr)}.problem-grid,.section-head{grid-template-columns:1fr;gap:24px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid>div:nth-child(2){border-right:0}.estimate{grid-template-columns:1fr}.estimate-visual{min-height:520px}.project-detail-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-cta{text-align:left}}
@media(max-width:720px){.shell{width:min(calc(100% - 28px),var(--max))}.nav-shell{height:76px}.custom-logo{width:145px;max-height:58px}.hero{min-height:720px}.hero-inner{padding-top:105px;padding-bottom:180px}.hero h1{font-size:52px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-badges{grid-template-columns:1fr 1fr}.hero-badges span{padding:15px 10px;font-size:11px}.section{padding:74px 0}.service-grid,.project-grid{grid-template-columns:1fr}.service-card{grid-template-columns:1fr 1fr;min-height:210px}.service-image,.placeholder-image{min-height:210px}.service-copy{padding:20px}.service-card h3{font-size:23px}.problem-band{min-height:500px}.project-card{min-height:390px}.ba-images{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-grid>div{border-right:0;border-bottom:1px solid var(--line)}.estimate-panel{padding:58px 22px}.estimate-form{grid-template-columns:1fr}.estimate-form .full{grid-column:1}.footer-cta h2{font-size:38px}.footer-bottom{flex-direction:column}.project-hero,.project-hero>img{height:460px;min-height:460px}.project-hero-overlay{padding:60px 0}.project-detail-grid{gap:40px}}
@media(max-width:520px){.service-card{grid-template-columns:1fr}.service-image,.placeholder-image{min-height:230px}.section-head h2,.center-head h2,.estimate h2{font-size:40px}.hero h1{font-size:46px}.problem-band h2{font-size:46px}.project-pills span{font-size:11px;padding:8px 10px}}
