@font-face{font-family:Barlow;src:url(barlow-condensed-bold.ttf) format('truetype');font-weight:700;font-display:swap}@font-face{font-family:DM;src:url(dm-sans-regular.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:DM;src:url(dm-sans-bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--ink:#1b211f;--deep:#121715;--paper:#f5f6f2;--white:#fff;--yellow:#f2d34f;--yellow-hover:#ffe57b;--muted:#5d655f;--line:#d7dbd4;--font:DM,Arial,sans-serif;--display:Barlow,'Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font:1rem/1.65 var(--font);color:var(--ink);background:var(--paper)}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,textarea,select{outline-offset:5px}:focus-visible{outline:3px solid #b18700}img{display:block;width:100%;height:auto}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02;text-transform:uppercase}h1{font-size:clamp(4rem,7.7vw,7.8rem);letter-spacing:-.015em}h2{font-size:clamp(2.6rem,4.7vw,4.8rem)}h3{font-size:2rem}p{max-width:65ch}p+p{margin-top:1.1rem}.wrap{width:min(1280px,88%);margin-inline:auto}.section{padding:100px 0}.eyebrow{font:700 .82rem/1.4 var(--font);text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow:before{content:'';height:3px;width:28px;background:var(--yellow);flex:none}.eyebrow.dark:before{background:var(--ink)}.text-muted{color:var(--muted)}.lead{font-size:1.14rem;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--yellow);border:1px solid var(--yellow);color:var(--ink);font-weight:700;padding:16px 25px;min-height:56px;line-height:1.4;text-align:center;transition:background .2s,transform .2s}.button:hover{background:var(--yellow-hover);border-color:var(--yellow-hover);transform:translateY(-2px)}.button.ghost{background:transparent;border-color:#78817a;color:var(--white)}.button.ghost:hover{background:#ffffff12}.button.outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button.outline:hover{background:#1b211f0b}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.dark:hover{background:#35433a}.button.small{padding:12px 19px;min-height:48px}.arrow{font-size:1.3rem;line-height:1}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}.text-link{font-weight:700;display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid;padding:5px 0;line-height:1.5}.text-link:hover{color:#8c6a00}.skip-link{position:fixed;top:-100px;left:20px;background:var(--yellow);padding:12px;z-index:100}.skip-link:focus{top:12px}.utility{background:var(--yellow);color:var(--ink);font-size:.8rem;line-height:1.4;padding:9px 0;font-weight:700}.utility .wrap{display:flex;justify-content:space-between;gap:20px}.utility span:last-child{font-weight:400}.site-header{background:var(--ink);color:white;position:sticky;top:0;z-index:40;border-bottom:1px solid #ffffff1c}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{background:var(--yellow);color:var(--ink);width:44px;height:44px;display:grid;place-items:center;font:700 1.9rem var(--display);border-radius:2px;letter-spacing:-3px;padding-right:3px}.brand-type{font:700 1.7rem/.93 var(--display);letter-spacing:.015em}.brand-type small{display:block;font:700 .66rem/1.1 var(--font);letter-spacing:.23em;margin-top:6px}.nav{display:flex;align-items:center;gap:28px;font-size:.92rem}.nav>a:not(.button){padding:12px 0;position:relative}.nav>a[aria-current=page]:after{content:'';position:absolute;bottom:2px;left:0;right:0;background:var(--yellow);height:2px}.nav>a:hover{color:var(--yellow)}.nav>.button:hover{color:var(--ink)}.menu-toggle{display:none;background:transparent;border:1px solid #ffffff50;padding:8px 13px;align-items:center;gap:10px;min-height:46px}.menu-toggle .bars{width:18px;height:12px;border-top:2px solid;border-bottom:2px solid}.hero{background:var(--ink);color:white;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;min-height:670px;padding:66px 0 70px}.hero h1 em{color:var(--yellow);font-style:normal}.hero .lead{color:#cbd1ca;max-width:480px;margin-top:28px}.hero-visual{position:relative;align-self:stretch;min-height:490px;margin-right:calc((100vw - min(1280px,88vw))/-2)}.hero-visual>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111a1580,transparent 65%);pointer-events:none}.photo-note{position:absolute;left:22px;bottom:17px;right:18px;z-index:2;font-size:.76rem;color:white;text-shadow:0 1px 5px black}.hero-label{position:absolute;left:-32px;bottom:64px;z-index:2;background:var(--yellow);color:var(--ink);padding:20px 25px;font:700 1.55rem/1.1 var(--display);text-transform:uppercase;box-shadow:8px 8px 0 #0002}.hero-label small{font:400 .78rem var(--font);display:block;margin-top:6px;text-transform:none}.hero-index{position:absolute;right:28px;top:24px;font:700 .78rem var(--font);z-index:2;background:var(--ink);padding:8px 12px;color:var(--yellow)}.hero-fallback{min-height:440px;background:repeating-linear-gradient(125deg,transparent 0,transparent 65px,#f2d34f08 65px,#f2d34f08 66px);display:flex;align-items:center;padding:50px}.hero-fallback strong{font:700 clamp(6rem,13vw,12rem)/.9 var(--display);color:var(--yellow)}.hero-foot{border-top:1px solid #ffffff20;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.hero-foot span{display:flex;align-items:center;gap:10px}.hero-foot b{color:var(--yellow);font-size:.82rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:44px}.section-head>p{max-width:420px;color:var(--muted)}.section-head .text-link{white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{padding:28px 25px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:var(--paper);transition:background .2s}.service-card:hover{background:white}.service-card .number{display:block;font:400 .8rem var(--font);margin-bottom:32px;color:var(--muted)}.service-card h3{font-size:2rem;min-height:2.1em;margin-bottom:20px}.service-card p{font-size:.96rem;color:var(--muted);margin-bottom:28px}.service-card .text-link{font-size:.86rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split-copy h2{margin-bottom:28px}.split-image{position:relative}.split-image img{aspect-ratio:5/4;object-fit:cover}.split-image figcaption{font-size:.76rem;margin-top:10px;color:var(--muted)}figure{margin:0}.dark-section{background:var(--ink);color:var(--white)}.dark-section p{color:#c7cec6}.statement{font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;text-transform:uppercase}.statement em{font-style:normal;color:var(--yellow)}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{position:relative;padding:15px 0 15px 30px;border-top:1px solid var(--line)}.check-list li:before{content:'✓';position:absolute;left:0;font-weight:700;color:#816100}.dark-section .check-list li{border-color:#ffffff26}.dark-section .check-list li:before{color:var(--yellow)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card{border:1px solid var(--line);background:white;display:flex;flex-direction:column}.project-card .project-image{height:260px;overflow:hidden;position:relative;background:#263b2e}.project-card .project-image img{height:100%;object-fit:cover;transition:transform .35s}.project-card:hover .project-image img{transform:scale(1.03)}.project-card .project-body{padding:27px;display:flex;flex:1;flex-direction:column}.project-card .tag{display:block;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px;color:var(--muted)}.project-card h3{margin-bottom:16px}.project-card p{color:var(--muted);font-size:.95rem;margin-bottom:25px}.project-card .text-link{font-size:.88rem;margin-top:auto;align-self:start}.project-marker{height:180px;background:var(--ink);color:var(--yellow);padding:30px;position:relative;display:flex;align-items:end;border-top:5px solid var(--yellow)}.project-marker strong{font:700 4.5rem/1 var(--display);opacity:.95}.project-marker small{position:absolute;right:25px;top:22px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.project-intro p{color:var(--muted)}.project-intro h2{margin-bottom:26px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;counter-reset:steps}.process-grid article{border-top:1px solid #ffffff35;padding-top:24px}.process-grid .step{font:700 2rem var(--display);color:var(--yellow);margin-bottom:25px;display:block}.process-grid h3{margin-bottom:17px}.process-grid p{font-size:1rem}.area-block{background:var(--yellow);padding:42px;position:relative}.area-block h3{font-size:3.2rem}.area-block p{margin-top:16px}.area-block .region{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.region span{padding:7px 12px;border:1px solid #1b211f40;font-size:.87rem}.area-block small{display:block;font-size:.84rem;margin-top:24px}.faq-list{border-top:1px solid var(--line);margin-top:30px}details{border-bottom:1px solid var(--line);padding:0}summary{cursor:pointer;font-weight:700;font-size:1.04rem;padding:22px 38px 22px 0;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:16px;font-size:1.65rem;font-weight:400}details[open] summary:after{content:'−'}details>p{color:var(--muted);padding-bottom:24px;padding-right:32px}.cta-band{background:var(--yellow);padding:64px 0}.cta-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.cta-band h2{font-size:clamp(3rem,5.2vw,5rem)}.cta-band p{margin-top:15px}.cta-band .actions{margin:0;flex-shrink:0}.site-footer{background:var(--deep);color:white;padding:65px 0 28px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px;padding-bottom:50px}.footer-grid p{color:#aeb9b0;margin-top:20px;max-width:320px}.footer-grid h3{font:700 .82rem var(--font);letter-spacing:.08em;margin-bottom:23px;color:#b5c0b7}.footer-links{display:grid;gap:12px;font-size:.93rem}.footer-links a:hover{color:var(--yellow)}.footer-phone{font:700 2.2rem var(--display);color:var(--yellow)}.footer-bottom{border-top:1px solid #ffffff22;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#aeb9b0}.footer-bottom a:hover{color:white}.mobile-contact{display:none}.page-hero{background:var(--ink);color:white;padding:68px 0 74px}.page-hero h1{font-size:clamp(3.7rem,6.8vw,6.8rem);max-width:1000px}.page-hero p{color:#c7cec6;margin-top:25px;max-width:670px}.breadcrumb{font-size:.82rem;color:#c7cec6;display:flex;gap:12px;margin-bottom:36px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.service-detail{display:grid;grid-template-columns:90px 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:46px 0}.service-detail .big-num{font:700 3rem var(--display);color:#818a80}.service-detail h2{font-size:2.7rem}.service-detail p{color:var(--muted);margin-top:18px}.service-detail ul{padding-left:20px;margin:0 0 22px}.service-detail li{padding:5px 0}.notice{padding:24px 28px;background:#e8ece5;border-left:4px solid var(--yellow);font-size:.95rem;color:#3e4b41}.about-quote{background:var(--yellow);padding:50px}.about-quote .statement{color:var(--ink)}.about-quote small{display:block;margin-top:32px;font-size:.87rem}.about-values{margin-top:40px;display:grid;gap:30px}.about-values h3{margin-bottom:10px}.contact-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px;align-items:start}.contact-aside h2{font-size:3rem;margin-bottom:23px}.contact-aside .lead{color:var(--muted)}.contact-method{display:block;padding:26px 0;border-bottom:1px solid var(--line)}.contact-method small{display:block;color:var(--muted);font-size:.83rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}.contact-method strong{font:700 2rem var(--display);overflow-wrap:anywhere}.contact-method:hover strong{color:#846200}.contact-tip{margin-top:32px;background:#e8ece5;padding:26px}.contact-tip h3{font-size:1.6rem;margin-bottom:12px}.contact-tip p{font-size:.93rem;color:var(--muted)}.quote-box{background:white;border:1px solid var(--line);padding:38px}.quote-box h2{font-size:2.7rem;margin-bottom:15px}.quote-box>p{color:var(--muted)}.form-progress{display:flex;gap:22px;font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:30px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px}.form-progress span.active{color:var(--ink)}.form-progress b{display:inline-grid;place-items:center;border:1px solid var(--line);width:26px;height:26px;margin-right:6px}.form-progress .active b{background:var(--yellow);border-color:var(--yellow)}form{margin-top:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:block;margin-bottom:22px}.field-grid .field{margin:0}.field label{display:block;font-weight:700;font-size:.91rem;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid #aeb8ac;background:#fbfcf9;color:var(--ink);border-radius:0;min-height:49px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#665000}.field .optional{font-weight:400;color:var(--muted)}.field-grid+ .field{margin-top:22px}.form-help{font-size:.82rem;color:var(--muted);margin:10px 0 24px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.form-actions .button{flex:1}.quote-review{border:1px solid var(--line);background:var(--paper);width:100%;height:240px;resize:vertical;padding:17px;color:var(--ink);line-height:1.65;margin:16px 0}.review-title{font-size:1.75rem;margin:24px 0 10px}.copy-status{font-size:.9rem;min-height:28px;margin-top:12px;color:#355134}.form-back{background:none;border:0;border-bottom:1px solid;padding:2px 0;font-weight:700;margin-bottom:20px}.prose{max-width:800px}.prose h2{font-size:2.15rem;margin:40px 0 18px}.prose p,.prose li{color:var(--muted)}[hidden]{display:none!important}.visible-when-no-js{padding:20px;background:var(--yellow)}.page-404{min-height:65vh;text-align:center;display:grid;place-items:center}.page-404 p{margin:22px auto}.page-404 .actions{justify-content:center}.image-band{height:430px;position:relative;overflow:hidden}.image-band img{height:100%;object-fit:cover}.image-band .photo-note{background:#1b211fbd;width:fit-content;padding:5px 10px}.reveal{opacity:1;transform:none}.js-animate .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.js-animate .reveal.in-view{opacity:1;transform:none}
@media(min-width:1500px){.hero-visual{margin-right:0}.hero-grid{gap:90px}.hero{padding-top:10px}}
@media(max-width:1100px){.wrap{width:90%}.nav{gap:18px}.nav .button{padding:12px 17px}.hero-grid{gap:35px;min-height:600px}.hero h1{font-size:8.1vw}.hero-visual{margin-right:-5vw}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card h3{min-height:auto}.split{gap:45px}.contact-layout{gap:40px}.quote-box{padding:28px}.cta-inner{align-items:start}.cta-band .actions{flex-direction:column;align-items:stretch}.project-card .project-body{padding:23px}.project-card h3{font-size:1.8rem}}
@media(max-width:860px){.menu-toggle{display:flex}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);border-top:1px solid #ffffff30;padding:25px 6vw 32px;flex-direction:column;align-items:stretch;gap:8px;max-height:calc(100dvh - 110px);overflow-y:auto}.nav.open{display:flex}.nav>a:not(.button){padding:12px}.nav>a[aria-current=page]:after{left:12px;right:auto;width:25px}.nav .button{margin-top:10px}.header-inner{min-height:78px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px;min-height:590px;padding:50px 0}.hero h1{font-size:8.1vw}.hero-visual{min-height:440px}.hero-label{left:-16px;padding:16px;font-size:1.4rem}.hero .lead{font-size:1rem}.hero .actions{align-items:stretch;flex-direction:column;max-width:290px}.hero-foot{font-size:.73rem;letter-spacing:0}.section{padding:75px 0}.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:1fr 1fr}.project-card .project-image{height:100%;min-height:250px}.project-marker{height:100%;min-height:250px}.section-head{gap:25px}.split{gap:35px}.process-grid{gap:26px}.contact-layout{grid-template-columns:1fr}.contact-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-aside .intro{grid-row:span 3}.contact-tip{grid-column:1/-1;margin-top:0}.contact-method{padding:0 0 20px}.footer-grid{gap:35px;grid-template-columns:1.2fr 1fr 1fr}.footer-phone{font-size:1.7rem}.service-detail{grid-template-columns:55px 1fr 1fr;gap:24px}}
@media(max-width:600px){.wrap{width:88%}.utility{font-size:.73rem}.utility span:last-child{display:none}.header-inner{min-height:76px}.brand-symbol{width:38px;height:38px;font-size:1.7rem}.brand-type{font-size:1.45rem}.brand-type small{font-size:.56rem}.menu-toggle{font-size:.82rem}.hero-grid{grid-template-columns:1fr;padding:46px 0 0;gap:36px}.hero h1{font-size:clamp(3rem,16.25vw,6.1rem)}.eyebrow{font-size:.75rem;margin-bottom:19px}.hero .lead{margin-top:24px;max-width:360px;font-size:1.02rem}.hero .actions{max-width:none;flex-direction:row;gap:10px}.hero .actions .button{padding:14px 18px;flex:1;font-size:.89rem}.hero-visual{min-height:340px;margin:0 -6.8vw}.hero-label{left:6vw;bottom:48px;padding:16px 23px}.hero-index{right:20px;top:18px}.hero-foot{display:grid;grid-template-columns:1fr;gap:12px;padding:23px 0}.hero-foot span{font-size:.82rem;letter-spacing:.04em}.hero-foot b{min-width:21px}.section{padding:64px 0}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:24px}.service-grid{grid-template-columns:1fr}.service-card{padding:23px 26px}.service-card .number{margin-bottom:18px}.service-card h3{font-size:2.15rem;margin-bottom:12px}.service-card p{margin-bottom:17px}.split{grid-template-columns:1fr;gap:38px}.split-copy h2{margin-bottom:24px}.split-image img{aspect-ratio:1.1}.project-card{display:flex}.project-card .project-image{height:250px;min-height:0}.project-card .project-body{padding:25px}.project-card h3{font-size:2.1rem}.project-marker{min-height:160px;height:160px}.project-grid{gap:22px}.project-intro{grid-template-columns:1fr;gap:24px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{padding-top:18px}.process-grid .step{margin-bottom:14px}.area-block{padding:32px 27px}.area-block h3{font-size:2.6rem}.cta-inner{display:block}.cta-band{padding:48px 0}.cta-band .actions{margin-top:28px;flex-direction:row}.cta-band .actions .button{flex:1;font-size:.9rem;padding:14px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.site-footer{padding-bottom:100px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ink);z-index:45;border-top:1px solid #ffffff30;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -5px 20px #0002}.mobile-contact a{flex:1;min-height:45px;font-size:.85rem;padding:11px}.page-hero{padding:36px 0 48px}.page-hero h1{font-size:clamp(3.5rem,13vw,5.2rem)}.page-hero p{font-size:1rem}.breadcrumb{margin-bottom:28px;font-size:.8rem}.service-detail{grid-template-columns:40px 1fr;gap:14px;padding:32px 0}.service-detail .service-list{grid-column:2}.service-detail h2{font-size:2.3rem}.service-detail .big-num{font-size:2rem}.service-detail p{margin-top:15px}.about-quote{padding:34px 28px}.contact-aside{display:block}.contact-aside .intro{margin-bottom:24px}.contact-method{padding:20px 0}.contact-tip{margin-top:28px}.contact-layout{gap:35px}.quote-box{padding:25px 20px;margin:0 -2vw}.quote-box h2{font-size:2.4rem}.field-grid{grid-template-columns:1fr;gap:20px}.form-progress{gap:14px;font-size:.72rem}.form-progress b{margin-right:4px}.form-actions{flex-direction:column}.image-band{height:300px}.notice{padding:22px}.photo-note{font-size:.72rem}.lead{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-animate .reveal{opacity:1;transform:none}}
@media print{.site-header,.utility,.site-footer,.mobile-contact,.button,.menu-toggle{display:none}body{background:white;color:black}.section{padding:25px 0}.reveal,.js-animate .reveal{opacity:1;transform:none}.hero,.page-hero,.dark-section{background:white;color:black}.hero h1 em{color:black}.hero .lead,.page-hero p,.dark-section p{color:#333}.hero-visual{display:none}.hero-grid{display:block;min-height:0}.wrap{width:100%}h1{font-size:48px}h2{font-size:34px}}
.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}

.hero-grid>div,.split>div,.section-head>div,.contact-layout>*{min-width:0}
