:root{--ink:#272926;--paper:#f7f5ef;--orange:#c75b31;--muted:#73746c;--line:#dddcd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{transition:background .2s,color .2s,transform .2s}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}h1,h2{letter-spacing:-2.5px;font-weight:750}h1{font-size:clamp(52px,5.5vw,83px)}h2{font-size:clamp(33px,3.6vw,52px)}h3{letter-spacing:-.6px;font-size:20px;font-weight:650}em{color:var(--orange);font-family:Georgia,serif;font-weight:400}img{object-fit:cover;width:100%;height:100%;display:block}.topbar{background:var(--ink);color:#deded2;letter-spacing:.5px;justify-content:space-between;padding:9px 6%;font-size:10px;display:flex}.topbar span:last-child{letter-spacing:1.5px;font-size:8px}header{background:var(--paper);z-index:20;border-bottom:1px solid #27292610;justify-content:space-between;align-items:center;height:94px;padding:0 6%;display:flex;position:sticky;top:0}.logo{align-items:center;gap:12px;display:flex}.logo-mark{background:var(--orange);width:44px;height:47px;color:var(--paper);place-items:center;display:grid}.logo-mark svg{width:34px}.logo>span:last-child{letter-spacing:1px;font-size:23px;font-weight:800;line-height:1.1}.logo small{letter-spacing:3.1px;margin-top:6px;font-size:8px;font-weight:500;display:block}nav{align-items:center;gap:30px;font-size:11px;display:flex}nav>a:not(.button):hover{color:var(--orange)}.button{background:var(--orange);color:#fffaf0;border:1px solid var(--orange);justify-content:space-between;align-items:center;gap:30px;padding:15px 22px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.button:hover{background:#a84925;border-color:#a84925}.button>span,.text-link>span{font-size:22px;line-height:1}.button.small{padding:13px 17px;font-size:11px}.menu-toggle{display:none}.hero{grid-template-columns:1.02fr 1fr;min-height:640px;display:grid}.hero-copy{padding:67px 9% 45px 12%}.eyebrow{letter-spacing:1.8px;color:var(--orange);margin-bottom:24px;font-size:9px;font-weight:700}.hero .eyebrow{align-items:center;gap:10px;display:flex}.eyebrow>span{background:var(--orange);width:6px;height:6px;display:block}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:385px;margin-top:26px;font-size:13px;line-height:1.85}.hero-actions{align-items:center;gap:22px;margin-top:30px;display:flex}.secondary{border-bottom:1px solid #aaa;padding:5px 0;font-size:11px}.secondary span{margin-left:10px}.hero-promises{color:var(--muted);gap:16px;margin-top:35px;font-size:9px;display:flex}.hero-photo{background:#a99a81;position:relative;overflow:hidden}.hero-photo>img{filter:brightness(.9);object-position:50% 50%;position:absolute;inset:0}.photo-caption{background:var(--paper);align-items:center;gap:18px;padding:22px;font-size:13px;line-height:1.5;display:flex;position:absolute;bottom:59px;left:35px;right:35px}.caption-icon{width:36px;color:var(--orange)}.caption-icon svg{width:100%}.caption-star{color:var(--orange);margin-left:auto;font-size:40px}.image-label{color:#fff;letter-spacing:1.8px;font-size:8px;position:absolute;bottom:23px;left:35px}.trust-strip{border-bottom:1px solid var(--line);background:#eeece3;justify-content:space-between;align-items:center;gap:18px;padding:23px 6%;font-size:10px;display:flex}.trust-strip>span:first-child{letter-spacing:1px;color:var(--orange);font-size:8px;font-weight:700}.trust-strip i{color:var(--orange);font-size:20px;font-style:normal}.section{padding:85px 6%}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px;display:flex}.section-heading>p{max-width:300px;color:var(--muted);font-size:12px;line-height:1.9}.service-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:285px;padding:29px;display:flex}.service-card:hover{background:#eeece3}.service-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.service-top svg{width:31px;height:31px;color:var(--orange)}.service-top>span{color:#98998d;font-size:9px}.service-card h3{margin-bottom:13px;font-size:21px}.service-card>p{color:var(--muted);font-size:12px}.service-card small{color:var(--muted);margin-top:12px;font-size:10px;line-height:1.8;display:block}.service-link{color:var(--orange);justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;font-size:10px;font-weight:600;display:flex}.service-link span{font-size:20px}.service-bottom{color:var(--muted);justify-content:space-between;align-items:center;padding-top:25px;font-size:11px;display:flex}.text-link{color:var(--ink);border-bottom:1px solid #b7b4a9;align-items:center;gap:24px;padding-bottom:6px;font-size:11px;font-weight:600;display:inline-flex}.about{background:#eeece3;grid-template-columns:1fr 1fr;align-items:center;gap:9%;display:grid}.about-image{height:515px;position:relative}.about-badge{background:var(--orange);color:#fff;padding:24px 35px;font-size:22px;line-height:1.4;position:absolute;bottom:25px;left:-15px}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-top:23px;font-size:12px;line-height:1.9}.principles{margin:25px 0 28px;display:grid}.principles>div{border-bottom:1px solid #d8d6cb;gap:20px;padding:17px 0;display:flex}.principles>div>span{color:var(--orange);padding-top:3px;font-size:10px}.principles h3{margin-bottom:7px;font-size:15px}.principles p{color:var(--muted);font-size:11px}.filters{gap:8px;margin-bottom:28px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);background:0 0;padding:8px 18px;font-size:10px}.filters button.active,.filters button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.project-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.project-image{height:300px;position:relative;overflow:hidden}.project-image img{transition:transform .4s}.project:hover img{transform:scale(1.04)}.project-image>span{background:var(--paper);padding:5px 12px;font-size:9px;position:absolute;bottom:15px;left:15px}.project h3{justify-content:space-between;align-items:center;margin:20px 0 9px;display:flex}.project h3 span{color:var(--orange)}.project>p{color:var(--muted);font-size:11px}.gallery-note{color:var(--muted);margin-top:26px;font-size:9px}.punch-banner{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;gap:10%;padding:65px 6%;display:grid;position:relative;overflow:hidden}.punch-banner>div{z-index:1;position:relative}.punch-banner .eyebrow{color:#e3a481}.punch-banner em{color:#e5a681}.punch-banner>div:last-of-type{align-self:center;max-width:340px}.punch-banner p:not(.eyebrow){color:#c8c8bc;margin-bottom:25px;font-size:12px;line-height:1.9}.banner-decoration{color:#ffffff06;font-size:270px;line-height:1;position:absolute;bottom:-70px;right:-40px}.process-grid{grid-template-columns:repeat(3,1fr);gap:45px;display:grid}.process-grid article{border-top:1px solid var(--line);padding-top:25px}.process-grid article>span{color:var(--orange);margin-bottom:20px;font-family:Georgia,serif;font-size:37px;font-style:italic;display:block}.process-grid h3{max-width:250px;margin-bottom:14px;font-size:21px}.process-grid p{color:var(--muted);max-width:300px;font-size:12px}.faq{border-top:1px solid var(--line);grid-template-columns:1fr 1.3fr;gap:9%;padding-top:65px;display:grid}.faq h2{font-size:40px}.questions details{border-bottom:1px solid var(--line)}.questions summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:12px;font-weight:600;list-style:none;display:flex}.questions summary::-webkit-details-marker{display:none}.questions summary span{color:var(--orange);font-size:21px;font-weight:400}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{color:var(--muted);padding-bottom:21px;font-size:11px;line-height:1.9}.contact{background:#eeece3;grid-template-columns:1fr 1.1fr;align-items:center;gap:10%;display:grid}.contact-copy h2{font-size:clamp(42px,4.5vw,66px)}.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:360px;margin-top:23px;font-size:12px;line-height:1.9}.contact-phone{align-items:center;gap:15px;width:fit-content;margin-top:30px;display:flex}.contact-phone svg{width:27px;color:var(--orange)}.contact-phone>span{color:var(--muted);font-size:10px}.contact-phone strong{color:var(--ink);font-size:21px;font-weight:650;line-height:1.4;display:block}.contact-phone>span:last-child{color:var(--orange);margin-left:20px;font-size:25px}.contact-copy>small{color:var(--muted);font-size:9px}.contact-detail{align-items:center;gap:18px;margin-top:30px;display:flex}.contact-detail>span{color:var(--orange);font-size:44px}.contact-detail p{font-size:12px;font-weight:600;line-height:1.7}.contact-copy .demo-note{border-top:1px solid #d5d4c9;padding-top:20px;font-size:10px}.booking-panel{background:var(--paper);min-width:0;padding:35px}form>p{color:var(--muted);margin:10px 0 23px;font-size:11px}.form-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-heading h3{font-size:23px}.form-heading>span{color:var(--orange);font-size:10px}.step-indicators{border-bottom:1px solid var(--line);color:#96988e;gap:20px;margin-bottom:25px;font-size:10px;display:flex}.step-indicators span{padding-bottom:10px}.step-indicators .active{color:var(--orange);border-bottom:2px solid var(--orange)}.step-indicators .done{color:var(--ink)}fieldset{border:0;margin:0;padding:0}fieldset[hidden]{display:none}label{margin-bottom:17px;font-size:10px;font-weight:600;display:block}label>span{color:var(--muted);font-weight:400}input,select,textarea{width:100%;color:var(--ink);background:0 0;border:1px solid #d9d8ce;border-radius:0;margin-top:7px;padding:12px;font-size:11px;display:block}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#96978e}input:focus,textarea:focus,select:focus{outline:2px solid var(--orange);outline-offset:1px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}fieldset>.button{width:100%}.consent{color:var(--muted);align-items:start;gap:10px;font-size:10px;font-weight:400;display:flex}.consent input{flex-shrink:0;width:14px;height:14px;margin-top:3px}.booking-actions{gap:15px;display:flex}.booking-actions .button{flex:1}.back-button{color:var(--ink);background:0 0;border:0;font-size:11px}.form-footnote{text-align:center;margin-bottom:0!important;font-size:9px!important}.booking-success{padding:20px 0}.success-mark{color:var(--orange);background:#ece9df;border-radius:50%;place-items:center;width:65px;height:65px;margin-bottom:25px;font-size:30px;display:grid}.booking-success h3{margin-bottom:20px;font-size:32px}.booking-success>p:not(.eyebrow){color:var(--muted);margin:15px 0;font-size:12px}.booking-success code{background:#eeece3;margin:20px 0;padding:13px;font-size:11px;display:block}.booking-success .button{width:100%;margin-top:20px}footer{background:var(--ink);color:var(--paper);padding:50px 6% 23px}.footer-main{grid-template-columns:1.3fr 1fr .8fr 1fr;gap:30px;padding-bottom:40px;display:grid}.footer-main>p{font-size:24px;font-weight:700;line-height:1.25}.footer-main em{color:#e5a681}.footer-main>div{color:#cbcbbf;align-content:start;gap:7px;font-size:10px;display:grid}.footer-main>div>span{color:#8f9186;letter-spacing:1.5px;margin-bottom:7px;font-size:8px}.footer-main small{color:#9c9e90;font-size:8px}.footer-bottom{color:#a8aa9e;border-top:1px solid #ffffff20;justify-content:space-between;gap:20px;padding-top:22px;font-size:9px;display:flex}.mobile-bar{display:none}.skip-link{z-index:100;background:var(--paper);padding:10px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:10px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.privacy{max-width:850px;min-height:80vh;margin:auto}.privacy h1{margin:30px 0;font-size:50px}.privacy h2{letter-spacing:-.5px;margin-top:30px;font-size:24px}.privacy p{color:var(--muted);margin:15px 0}.privacy a{text-decoration:underline}@media (min-width:1600px){.section{padding-left:max(6%,50vw - 700px);padding-right:max(6%,50vw - 700px)}.hero-copy{padding-left:max(12%,50vw - 700px)}}@media (max-width:1100px){nav{gap:20px}.hero-copy{padding-left:10%;padding-right:7%}.hero h1{font-size:65px}.hero-actions{flex-wrap:wrap;gap:15px}.hero-promises{flex-wrap:wrap;gap:10px}.service-card{padding:24px}.about{gap:6%}.about-image{height:480px}.contact{gap:6%}.booking-panel{padding:28px}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-main>p{display:none}}@media (max-width:760px){html{scroll-padding-top:78px}.topbar{justify-content:center;font-size:9px}.topbar>span:last-child{display:none}header{height:78px;padding:0 6%}.logo-mark{width:36px;height:39px}.logo-mark svg{width:28px}.logo>span:last-child{font-size:20px}.logo small{letter-spacing:2.6px;font-size:7px}.menu-toggle{background:0 0;border:0;font-size:11px;display:block}nav{background:var(--paper);border-bottom:1px solid var(--line);padding:25px 6%;display:none;position:absolute;top:78px;left:0;right:0}nav.open{flex-direction:column;align-items:stretch;gap:20px;display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 38px}.hero h1{letter-spacing:-2px;font-size:clamp(48px,11vw,70px)}.hero .eyebrow{font-size:8px}.hero-copy>p:not(.eyebrow){max-width:420px;font-size:12px}.hero-actions{gap:22px}.hero-promises{margin-top:25px;font-size:9px}.hero-photo{height:380px}.photo-caption{padding:18px;bottom:50px;left:20px;right:20px}.image-label{font-size:7px;bottom:20px;left:20px}.trust-strip{flex-wrap:wrap;justify-content:center;gap:10px 20px;padding:20px 6%;font-size:9px}.trust-strip>span:first-child{text-align:center;width:100%}.trust-strip i{display:none}.section{padding:55px 6%}.section-heading{flex-direction:column;align-items:start;gap:20px;margin-bottom:30px}.section-heading>p{max-width:100%}h2{letter-spacing:-1.6px;font-size:36px}.eyebrow{margin-bottom:20px;font-size:8px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:270px;padding:21px}.service-card h3{font-size:18px}.service-card>p{font-size:11px}.service-card small{font-size:9px}.service-top{margin-bottom:20px}.service-bottom{flex-direction:column;align-items:start;gap:12px}.about{grid-template-columns:1fr;gap:40px}.about-image{height:370px}.about-badge{padding:20px 27px;font-size:20px;left:12px}.about-copy>p:not(.eyebrow){max-width:100%}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{height:330px}.filters{flex-wrap:wrap;gap:6px}.filters button{padding:8px 12px;font-size:9px}.project h3{font-size:22px}.punch-banner{grid-template-columns:1fr;gap:25px;padding:50px 6%}.punch-banner>div:last-of-type{max-width:100%}.process-grid{grid-template-columns:1fr;gap:27px}.process-grid h3,.process-grid p{max-width:100%}.process-grid article>span{margin-bottom:15px}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:35px}.contact{grid-template-columns:1fr;gap:35px}.contact-copy h2{font-size:49px}.contact-copy>p:not(.eyebrow){max-width:100%}.booking-panel{padding:25px}.form-heading h3{font-size:22px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-main>a{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;font-size:8px}footer{padding-bottom:100px}.mobile-bar{z-index:30;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 15px #00000010}.mobile-bar a{justify-content:center;align-items:center;gap:10px;padding:15px;font-size:11px;font-weight:600;display:flex}.mobile-bar a:first-child{background:var(--paper)}.mobile-bar a:last-child{background:var(--orange);color:#fff}.mobile-bar svg{width:19px;height:19px}.mobile-bar span{font-size:20px}}@media (max-width:380px){.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.form-grid{grid-template-columns:1fr}.hero-actions{gap:16px}.booking-panel{padding:20px}.button{gap:20px;padding:14px 17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
