:root{--ink:#13251c;--forest:#173c2c;--forest-deep:#0c281c;--cream:#f4f0e6;--paper:#fbfaf6;--line:#13251c2e;--accent:#e4ff52;--muted:#68766e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:18px}.preview-badge{z-index:900;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071b12e0;border:1px solid #ffffff40;padding:9px 12px;font-size:8px;font-weight:600;position:fixed;bottom:18px;right:18px}.topbar{background:var(--accent);min-height:32px;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;gap:16px;padding:7px 4vw;font-size:10px;font-weight:600;display:flex}.site-header{background:var(--cream);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:112px;padding:12px 4vw;display:grid}.brand{width:max-content}.mark{width:220px;height:92px;display:inline-block;position:relative;overflow:visible}.mark img{object-fit:contain}.site-header nav{letter-spacing:.08em;text-transform:uppercase;gap:32px;font-size:12px;font-weight:600;display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:var(--ink);transform-origin:100%;height:1px;transition:transform .3s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-call{text-align:right;justify-self:end;font-size:15px;font-weight:600}.header-call span{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:3px;font-size:9px;display:block}.hero{color:#fff;align-items:flex-end;min-height:calc(100vh - 120px);display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;transition:transform 10s}.hero:hover>img{transform:scale(1.025)}.hero-shade{background:linear-gradient(90deg,#071b12e6 0%,#071b126b 52%,#071b1214 100%),linear-gradient(#0000 45%,#05140d85);position:absolute;inset:0}.hero-copy{z-index:1;width:min(850px,92vw);padding:12vh 8vw 13vh;position:relative}.eyebrow{color:var(--forest);letter-spacing:.26em;text-transform:uppercase;margin:0 0 22px;font-size:10px;font-weight:600}.eyebrow.light{color:var(--accent)}h1,h2{letter-spacing:-.045em;margin:0;font-family:Playfair Display,serif;font-weight:700;line-height:.94}h1{max-width:800px;font-size:clamp(64px,9vw,138px)}h1 em{color:var(--accent);font-weight:700}.hero-intro{color:#ffffffc7;max-width:540px;margin:28px 0 34px;font-size:clamp(16px,1.4vw,20px);line-height:1.6}.hero-actions{align-items:center;gap:30px;display:flex}.button{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;border:0;justify-content:center;align-items:center;gap:32px;min-height:54px;padding:0 22px;font-size:11px;font-weight:600;transition:transform .25s,background .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-accent{background:var(--accent);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.text-link{letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px;font-size:11px;font-weight:600}.light{color:#fff}.hero-proof{z-index:1;border-top:1px solid #ffffff73;gap:22px;width:210px;padding:22px 0 0;display:flex;position:absolute;bottom:8vh;right:4vw}.hero-proof strong{font-family:Playfair Display,serif;font-size:18px;line-height:1.15}.hero-proof span{color:#ffffffa6;text-transform:uppercase;font-size:10px;line-height:1.6}.scroll-cue{z-index:1;color:#ffffffad;letter-spacing:.2em;text-transform:uppercase;transform-origin:100%;align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;top:50%;right:2vw;transform:rotate(90deg)translate(50%)}.scroll-cue span{background:var(--accent);width:48px;height:1px}.section{padding:120px 7vw}.intro{background:var(--cream);grid-template-columns:1.1fr .9fr;gap:10vw;display:grid}.intro h2,.section-heading h2,.process h2,.reviews h2,.contact h2{font-size:clamp(48px,6.3vw,96px)}.intro-copy{align-self:end}.intro-copy>p{max-width:580px;color:var(--muted);font-size:18px;line-height:1.75}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:52px;display:grid}.stats div{border-right:1px solid var(--line);padding:24px 12px 0 0}.stats div:last-child{border-right:0;padding-left:20px}.stats strong{font-family:Playfair Display,serif;font-size:30px;display:block}.stats span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.services{background:var(--paper)}.section-heading{grid-template-columns:1fr .45fr;align-items:end;gap:8vw;margin-bottom:74px;display:grid}.section-heading>p{max-width:440px;color:var(--muted);margin:0 0 5px;line-height:1.75}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr 1.25fr 1fr 50px;align-items:center;gap:34px;min-height:205px;transition:background .3s,padding .3s;display:grid}.service-row:hover{background:var(--cream);padding:0 18px}.service-number{color:var(--muted);align-self:start;margin-top:36px;font-size:10px}.service-row h3{font-family:Playfair Display,serif;font-size:clamp(28px,3vw,42px);line-height:1}.service-row p{color:var(--muted);font-size:13px;line-height:1.7}.service-row ul{color:var(--muted);margin:0;padding:0;font-size:11px;line-height:2;list-style:none}.service-row li:before{content:"+ ";color:var(--forest)}.service-row>a{border:1px solid var(--line);border-radius:50%;place-items:center;width:46px;height:46px;transition:background .25s,color .25s;display:grid}.service-row:hover>a{background:var(--ink);color:#fff}.work{background:var(--forest-deep);color:#fff}.work-heading>p{color:#ffffff8c}.project-carousel{position:relative}.carousel-stage{background:#061b11;border:1px solid #ffffff24;grid-template-columns:1fr 280px;min-height:680px;display:grid}.stage-image{background:var(--forest);cursor:zoom-in;border:0;min-height:680px;padding:0;position:relative;overflow:hidden}.stage-image:after{content:"";background:linear-gradient(#0000,#04140c85);position:absolute;inset:55% 0 0}.stage-image img{object-fit:cover;transition:transform .8s}.stage-image:hover img{transform:scale(1.025)}.expand-hint{z-index:1;color:#fff;letter-spacing:.16em;text-transform:uppercase;background:#071b12d1;padding:9px 12px;font-size:8px;font-weight:600;position:absolute;bottom:20px;right:24px}.carousel-caption{border-left:1px solid #ffffff24;flex-direction:column;padding:32px 28px;display:flex}.carousel-caption>span{color:var(--accent);letter-spacing:.18em;font-size:9px;font-weight:600}.carousel-caption h3{margin:auto 0 28px;font-family:Playfair Display,serif;font-size:38px;line-height:1.05}.carousel-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.carousel-controls button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff47;min-height:54px;font-size:18px;transition:background .25s,color .25s}.carousel-controls button:hover{background:var(--accent);color:var(--ink)}.carousel-thumbnails{grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px;display:grid}.carousel-thumbnails button{background:var(--forest);cursor:pointer;opacity:.48;border:1px solid #0000;min-height:100px;padding:0;transition:opacity .25s,border-color .25s,transform .25s;position:relative;overflow:hidden}.carousel-thumbnails button:hover,.carousel-thumbnails button.active{border-color:var(--accent);opacity:1;transform:translateY(-3px)}.carousel-thumbnails img{object-fit:cover}.carousel-thumbnails span{z-index:1;color:#fff;font-size:8px;font-weight:600;position:absolute;bottom:6px;right:7px}.gallery-note{color:#ffffff6b;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;margin-top:28px;font-size:10px;display:flex}.gallery-note span{color:var(--accent)}.gallery-note p{margin:0}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:zoom-out;background:#03100af2;place-items:center;padding:4vw;display:grid;position:fixed;inset:0}.lightbox figure{cursor:default;width:min(1200px,86vw);height:min(78vh,850px);margin:0;position:relative}.lightbox figure img{object-fit:contain}.lightbox figcaption{color:#fff;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;font-size:9px;font-weight:600;display:flex;position:absolute;bottom:-34px;left:0;right:0}.lightbox figcaption span{color:var(--accent)}.lightbox-close,.lightbox-arrow{z-index:2;color:#fff;cursor:pointer;background:#03100a80;border:1px solid #ffffff47;place-items:center;transition:background .25s,color .25s;display:grid;position:fixed}.lightbox-close:hover,.lightbox-arrow:hover{background:var(--accent);color:var(--ink)}.lightbox-close{width:48px;height:48px;font-size:25px;top:22px;right:22px}.lightbox-arrow{width:52px;height:72px;font-size:20px;top:50%;transform:translateY(-50%)}.lightbox-arrow.previous{left:22px}.lightbox-arrow.next{right:22px}.process{background:var(--accent);grid-template-columns:.8fr 1.2fr;gap:10vw;display:grid}.process-copy>p:not(.eyebrow){max-width:450px;margin:28px 0;line-height:1.7}.process-steps{border-top:1px solid #13251c4d}.process-steps>div{border-bottom:1px solid #13251c4d;grid-template-columns:48px 1fr 1.1fr;gap:24px;padding:28px 0;display:grid}.process-steps span{font-size:10px}.process-steps h3{margin:0;font-family:Playfair Display,serif;font-size:24px}.process-steps p{color:#13251ca8;margin:0;font-size:12px;line-height:1.6}.reviews{background:var(--cream)}.review-title{max-width:850px;margin-bottom:70px}.review-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.review-grid blockquote{background:var(--paper);border-top:3px solid var(--forest);flex-direction:column;min-height:360px;margin:0;padding:38px;display:flex}.stars{color:#a2ba14;letter-spacing:.2em;margin-bottom:32px;font-size:12px}.review-grid blockquote>p{margin:0;font-family:Playfair Display,serif;font-size:22px;line-height:1.5}.review-grid footer{flex-direction:column;gap:4px;margin-top:auto;display:flex}.review-grid footer strong{letter-spacing:.1em;text-transform:uppercase;font-size:11px}.review-grid footer span{color:var(--muted);font-size:10px}.contact{background:var(--forest);color:#fff;grid-template-columns:.9fr 1.1fr;gap:9vw;display:grid}.contact-copy>p:not(.eyebrow){color:#ffffffa6;max-width:520px;margin:30px 0 48px;line-height:1.7}.contact-direct{flex-direction:column;gap:20px;display:flex}.contact-direct a{font-family:Playfair Display,serif;font-size:24px}.contact-direct span{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px;font-family:DM Sans,sans-serif;font-size:8px;display:block}.estimate-form{background:var(--paper);color:var(--ink);align-self:start;padding:44px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.estimate-form label{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;flex-direction:column;gap:9px;margin-bottom:22px;font-size:9px;font-weight:600;display:flex}.estimate-form input,.estimate-form select,.estimate-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;background:0 0;border-radius:0;outline:0;padding:12px 0;font-size:13px}.estimate-form textarea{resize:vertical}.form-honey{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important}.estimate-form .button{width:100%;margin-top:10px}.estimate-form .button:disabled{cursor:wait;opacity:.68;transform:none}.estimate-form small{color:var(--muted);text-align:center;margin-top:14px;font-size:9px;display:block}.form-error{color:#76241e;background:#f7e7e4;border-left:3px solid #b9362d;margin:4px 0 14px;padding:12px 14px;font-size:11px;line-height:1.55}.form-error a{font-weight:600;text-decoration:underline}.form-success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:430px;display:flex}.form-success span{color:var(--forest);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:600}.form-success h3{max-width:460px;margin:18px 0 30px;font-family:Playfair Display,serif;font-size:42px;line-height:1.1}.form-success button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:0 0 5px;font-size:10px;font-weight:600}.footer{color:#fff;background:#071b12;grid-template-columns:2fr 1fr 1fr;gap:7vw;padding:72px 7vw 28px;display:grid}.footer-brand .mark{background:0 0;width:176px;height:110px}.footer-brand .mark img{filter:none}.footer-brand p{color:#ffffff73;max-width:300px;font-size:12px;line-height:1.7}.footer>div:not(.footer-brand):not(.footer-bottom){color:#ffffff8c;flex-direction:column;align-items:flex-start;gap:10px;font-size:11px;display:flex}.footer strong{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:9px}.footer-bottom{color:#ffffff59;letter-spacing:.15em;text-transform:uppercase;border-top:1px solid #ffffff1f;grid-column:1/-1;justify-content:space-between;margin-top:50px;padding-top:20px;font-size:8px;display:flex}@media (max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero-copy{padding:14vh 6vw 18vh}.hero-proof,.scroll-cue{display:none}.section{padding:84px 5vw}.intro,.section-heading,.process,.contact{grid-template-columns:1fr}.intro{gap:50px}.section-heading{gap:30px}.service-row{grid-template-columns:36px 1fr 44px;gap:18px;padding:26px 0}.service-row h3{grid-column:2}.service-row p,.service-row ul{grid-column:2/-1}.service-row>a{grid-area:1/3/3}.service-number{grid-row:1/3;margin-top:8px}.carousel-stage{grid-template-columns:1fr;min-height:620px}.stage-image{min-height:520px}.carousel-caption{border-top:1px solid #ffffff24;border-left:0;min-height:180px}.carousel-caption h3{margin:28px 0}.carousel-thumbnails{grid-template-columns:repeat(3,1fr)}.review-grid{grid-template-columns:1fr}.review-grid blockquote{min-height:300px}}@media (max-width:600px){.topbar span:last-child,.header-call span{display:none}.topbar{justify-content:center}.site-header{min-height:92px}.header-call{font-size:12px}.mark{width:168px;height:74px}.hero{min-height:78vh}.hero-copy{padding-bottom:11vh}h1{font-size:clamp(52px,17vw,74px)}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.stats{grid-template-columns:1fr}.stats div,.stats div:last-child{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.service-row{grid-template-columns:28px 1fr}.service-row>a{display:none}.service-row p,.service-row ul{grid-column:2}.carousel-stage{min-height:520px}.stage-image{min-height:360px}.carousel-caption{min-height:160px;padding:24px 20px}.carousel-caption h3{margin:22px 0;font-size:30px}.carousel-thumbnails button{min-height:74px}.gallery-note{flex-direction:column;align-items:flex-start;gap:8px}.lightbox{padding:54px 12px 70px}.lightbox figure{width:100%;height:72vh}.lightbox-arrow{width:48px;height:48px;top:auto;bottom:12px;transform:none}.lightbox-arrow.previous{left:calc(50% - 56px)}.lightbox-arrow.next{right:calc(50% - 56px)}.process-steps>div{grid-template-columns:35px 1fr}.process-steps p{grid-column:2}.form-row{grid-template-columns:1fr;gap:0}.estimate-form{padding:28px 22px}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}}
