@font-face{font-family:Barlow;src:url('/fonts/barlow-condensed-bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Source;src:url('/fonts/source-sans-3-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Source;src:url('/fonts/source-sans-3-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--brick:#8e3629;--cream:#f2ebdd;--slate:#202c30;--yellow:#f4c34e;--paper:#fffcf5;--line:#b3aa9a;--gutter:16px;--progress:0;color:var(--slate);background:var(--cream);font-family:Source,Arial,sans-serif;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{transition:background .18s,color .18s,transform .18s}button:active,a:active{transform:translateY(2px)}a:hover{color:var(--brick)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #156272;outline-offset:4px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Barlow,Impact,sans-serif;font-weight:700;line-height:.94}h2{font-size:clamp(52px,7vw,104px)}[hidden]{display:none!important}.global-controls{position:absolute;left:16px;right:16px;z-index:25;display:flex;justify-content:space-between;padding-top:12px;pointer-events:none}.global-controls>div,.global-controls>button{pointer-events:auto;background:var(--slate);color:var(--cream)}.languages{display:flex;align-items:center;padding:0 5px}.languages button{border:0;background:none;color:inherit;width:48px;height:48px;font-weight:600}.languages button[aria-pressed=true]{color:var(--yellow);text-decoration:underline;text-underline-offset:5px}.menu-open{border:0;display:flex;gap:30px;align-items:center;padding:0 17px;height:48px}.menu-open>span:last-child{font-size:27px;font-weight:400}.menu-open:hover,.languages button:hover{background:#38484c}.skip{position:absolute;top:-200px;left:16px;z-index:90;padding:14px;background:var(--yellow)}.skip:focus{top:140px}dialog{position:fixed;inset:0;margin:0 0 0 auto;width:min(600px,100%);height:100dvh;max-height:none;max-width:none;background:var(--brick);color:var(--cream);border:0;padding:28px 24px;z-index:100}dialog::backdrop{background:#202c30a6}.menu-close{float:right;min-height:48px;background:none;border:1px solid #e6bdb0;color:inherit;padding:0 16px}.menu-name{clear:both;padding-top:75px;font-size:20px}dialog nav{display:grid;margin:45px 0 80px}dialog nav a{font:700 clamp(36px,7vw,64px)/1.1 Barlow;padding:16px 0;border-bottom:1px solid #bd8275}dialog a:hover{color:var(--yellow)}body.menu-is-open{overflow:hidden}
.hero{position:relative;min-height:740px;height:calc(100svh - 100px);max-height:1100px;background:var(--slate);color:var(--paper);isolation:isolate;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%}.hero-media video{display:none}.hero-media.video-ready video{display:block}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(17,29,30,.55),rgba(17,29,30,.08) 38%,rgba(17,29,30,.2) 55%,rgba(17,29,30,.95) 78%)}.hero-type{position:absolute;left:16px;top:86px;right:16px}.hero h1{font-size:clamp(92px,24.4vw,160px);letter-spacing:-.025em;text-shadow:0 2px 24px #14202555}.hero h1>span{display:block}.hero h1 small{font:600 17px Source;letter-spacing:0;display:inline-block;margin-left:12px;vertical-align:middle}.hero-bottom{position:absolute;bottom:28px;left:16px;right:16px}.hero-bottom>p{font-size:23px;line-height:1.15;max-width:420px;margin-bottom:20px}.hero-contact{display:flex;align-items:stretch;gap:0}.primary{border:0;background:var(--yellow);color:var(--slate);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 18px;font-weight:600;font-size:17px}.primary:hover{background:#ffdc7f;color:var(--slate)}.primary span{font-size:24px}.hero-contact .primary{flex:1}.hero-call{min-height:56px;display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--slate);color:var(--cream);border:1px solid #8c9694;font-weight:600}.hero-call:hover{color:var(--yellow)}.explore{display:flex;align-items:center;justify-content:space-between;margin-top:20px;min-height:48px;border-top:1px solid #9ba19c;font-size:15px;max-width:420px}.explore:hover{color:var(--yellow)}.explore span{font-size:27px}.contact-float{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;box-shadow:0 4px 22px #101c2033;border:1px solid var(--slate);transition:opacity .25s,transform .25s}.contact-float a{min-height:54px;display:flex;gap:10px;align-items:center;padding:10px 14px;font-weight:600}.contact-float svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.float-wa{background:var(--yellow);color:var(--slate)}.float-wa b{font-weight:400;font-size:22px}.float-call{background:var(--slate);color:var(--cream)}.float-call:hover{color:var(--yellow)}.float-wa:hover{background:#ffdc7f;color:var(--slate)}.on-hero .contact-float{opacity:0;pointer-events:none;transform:translateY(12px)}
.services{background:var(--cream);position:relative}.house-stage{padding:55px 16px 60px;position:relative}.section-label{font-size:16px;display:block;margin-bottom:16px}.stage-heading h2{font-size:64px;letter-spacing:-.015em}.stage-heading p{font-size:14px;margin-top:18px}.drawing{position:relative}.house{display:block;width:100%;height:auto;overflow:visible;color:#7d7b6e}.house .draft{opacity:.6}.house-part{cursor:pointer}.house-part circle{fill:var(--slate);stroke:var(--cream);stroke-width:2;transition:fill .25s}.house-part text{fill:var(--cream);font:600 16px Source;text-anchor:middle;pointer-events:none}.house-part:hover circle{fill:var(--brick)}.whole-outline{opacity:0;transition:opacity .4s}.whole-link{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:16px;border-block:1px solid var(--line);min-height:48px;padding:5px 3px}.service-panels{margin-top:24px}.service-step{display:grid;grid-template-columns:110px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:25px 0;scroll-margin-top:20px}.service-photo{position:relative;aspect-ratio:3/4;overflow:hidden;align-self:start}.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.step-number{font-size:13px;font-weight:600;display:block;margin-bottom:8px;color:var(--brick)}.service-copy h3{font-size:36px;line-height:1}.service-copy>p{font-size:17px;line-height:1.25;margin-top:10px}.service-copy .price{font-size:13px;line-height:1.25;color:#525b59}.service-quote{display:flex;gap:8px;align-items:center;min-height:48px;font-weight:600;text-decoration:underline;text-underline-offset:4px;font-size:14px}.service-quote span{font-size:20px}.scroll-progress{display:none}.motion .services{height:440svh}.motion .house-stage{position:sticky;top:0;height:100svh;min-height:700px;display:grid;grid-template-rows:110px minmax(230px,1fr) 220px 3px;gap:12px;padding:32px 16px 90px}.motion .stage-heading{position:relative}.motion .stage-heading .section-label{margin-bottom:9px}.motion .stage-heading h2{font-size:42px;max-width:240px}.motion .stage-heading h2 br{display:none}.motion .stage-heading p{position:absolute;right:0;top:31px;max-width:100px;margin:0;font-size:13px}.motion .drawing{display:flex;flex-direction:column;justify-content:center;min-height:0}.motion .house{height:calc(100% - 48px);flex:1;min-height:0}.motion .whole-link{flex:none}.motion .service-panels{position:relative;margin:0}.motion .service-step{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s;transform:translateY(12px);border:0;padding:10px 0;grid-template-columns:110px 1fr;align-items:start}.motion .service-step.is-active{visibility:visible;opacity:1;transform:none}.motion .service-photo{aspect-ratio:3/4}.motion .service-copy h3{font-size:32px}.motion .service-copy>p{font-size:16px}.motion .service-copy .price{font-size:12px}.motion .scroll-progress{display:block;background:#c6bdad}.scroll-progress i{display:block;width:100%;height:3px;background:var(--brick);transform:scaleX(var(--progress));transform-origin:left}.services[data-active="0"] .part-roof>path:first-child{fill:var(--brick)}.services[data-active="0"] .part-roof circle,.services[data-active="1"] .part-walls circle,.services[data-active="2"] .part-floors circle{fill:var(--brick)}.services[data-active="1"] .part-walls>path,.services[data-active="2"] .part-floors>path{stroke:#b87227;stroke-width:13}.services[data-active="3"] .whole-outline{opacity:1}.services[data-active="3"] .whole-link{background:var(--slate);color:var(--yellow);padding-inline:10px}.services[data-active="3"] .house-part>circle{fill:var(--brick)}
@supports(animation-timeline:view()){.motion .services{view-timeline-name:--house;view-timeline-axis:block}.motion .scroll-progress i{animation:trace linear both;animation-timeline:--house;animation-range:contain 0% contain 100%}@keyframes trace{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
.work{background:var(--brick);color:var(--cream);padding:64px 16px 70px}.work h2{font-size:clamp(80px,12vw,180px);letter-spacing:-.02em}.work-heading>p{font-size:21px;margin:22px 0 34px}.comparison-labels{display:flex;justify-content:space-between;font-size:16px;margin-bottom:10px}.comparison{position:relative;aspect-ratio:1.08;overflow:hidden;background:var(--slate)}.comparison>img,.before-layer img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.before-layer{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);pointer-events:none}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:3}.comparison:focus-within{outline:3px solid var(--yellow);outline-offset:5px}.compare-line{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:var(--cream);pointer-events:none;transform:translateX(-1px);z-index:2}.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;display:grid;place-items:center;background:var(--cream);color:var(--slate);font-size:28px;border-radius:50%}.compare-help{font-size:15px;text-align:center;margin-top:16px}.contact{padding:65px 16px 70px}.contact-intro h2{font-size:58px;letter-spacing:-.015em}.contact-intro>p{font-size:18px;line-height:1.4;max-width:380px;margin-top:22px}.contact-intro .area{margin-top:36px;font-weight:600}.contact-intro>p:last-child{font-size:16px;margin-top:8px}.job-ticket{background:var(--paper);margin-top:36px;padding:24px 20px 28px;position:relative;border-top:7px solid var(--brick);box-shadow:5px 6px 0 #d5ccbc}.job-ticket:before,.job-ticket:after{content:'';position:absolute;top:42px;width:20px;height:20px;background:var(--cream);border-radius:100%}.job-ticket:before{left:-10px}.job-ticket:after{right:-10px}.ticket-heading{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;letter-spacing:.06em;padding-bottom:25px;border-bottom:1px dashed #a69d8b}.ticket-heading>span:last-child{font-size:22px}fieldset{border:0;margin:24px 0 20px;padding:0;min-width:0}legend{font-weight:600;margin-bottom:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips label{position:relative;cursor:pointer}.chips input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.chips span{display:flex;align-items:center;min-height:48px;padding:8px 11px;border:1px solid #867e71;font-size:15px;pointer-events:none}.chips input:checked+span{background:var(--slate);color:var(--cream);border-color:var(--slate)}.chips input:focus-visible+span{outline:3px solid #156272;outline-offset:3px}.chips label:hover span{border-color:var(--brick);box-shadow:inset 0 0 0 1px var(--brick)}.field{display:block;margin-top:22px;font-weight:600;font-size:15px}.field input,.field textarea{border:0;border-bottom:1px solid #8f8779;background:transparent;color:var(--slate);display:block;width:100%;min-height:48px;padding:12px 0;border-radius:0;resize:vertical;font-size:17px;font-weight:400}.field input::placeholder,.field textarea::placeholder{color:#686c65;opacity:1}.form-actions{display:grid;margin-top:28px;gap:10px}.form-actions .text-send{display:flex;align-items:center;justify-content:space-between;min-height:50px;background:transparent;border:1px solid #7f8076;font-weight:600;color:var(--slate);padding:12px 16px}.text-send:hover{background:var(--cream)}.form-actions>a{font-weight:600;min-height:48px;display:flex;align-items:center;font-size:16px;text-decoration:underline;text-underline-offset:3px}.form-note{font-size:13px;color:#565e59;line-height:1.3;margin-top:15px}footer{background:var(--slate);color:var(--cream);padding:48px 16px 115px;font-size:16px}footer .footer-name{font:700 42px Barlow;margin-bottom:16px}footer p{margin:10px 0}footer a{display:inline-flex;align-items:center;min-height:48px}footer a:hover{color:var(--yellow)}footer .cox{display:flex;justify-content:space-between;border-top:1px solid #63706e;margin-top:24px;padding-top:18px;font-size:14px}
@media(prefers-reduced-motion:no-preference){.hero-media img{animation:kenburns 8s ease-out both}.hero h1 span{animation:build-in .9s cubic-bezier(.2,.7,.2,1) both}.hero h1 span:nth-child(2){animation-delay:.15s}.hero-bottom{animation:build-in .8s .35s both}@keyframes kenburns{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes build-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:701px){:root{--gutter:48px}.global-controls{left:32px;right:32px;padding-top:24px}.hero{height:calc(100svh - 51px);min-height:760px}.hero-type{left:48px;top:100px}.hero h1{font-size:clamp(120px,12vw,210px);line-height:.84}.hero h1 small{font-size:24px}.hero-media img,.hero-media video{object-position:center 54%}.hero-shade{background:linear-gradient(90deg,rgba(17,29,30,.77),rgba(17,29,30,.1) 65%),linear-gradient(0deg,rgba(17,29,30,.7),transparent 45%)}.hero-bottom{left:48px;bottom:45px;max-width:460px}.hero-bottom>p{font-size:27px}.hero-contact .primary{font-size:18px}.hero-call{padding-inline:20px}.explore{max-width:none}.contact-float{right:28px;bottom:24px}.house-stage{padding:80px 48px}.stage-heading h2{font-size:100px}.drawing{max-width:760px;margin:auto}.service-step{grid-template-columns:260px 1fr;padding:30px 0;gap:32px}.service-photo{aspect-ratio:4/3}.service-copy h3{font-size:56px}.service-copy>p{font-size:22px}.service-copy .price{font-size:16px}.service-panels{max-width:900px;margin:40px auto}.motion .services{height:440svh}.motion .house-stage{padding:60px 48px 70px;grid-template-columns:36% 64%;grid-template-rows:40% 1fr 3px;gap:0;min-height:700px}.motion .stage-heading{grid-column:1;grid-row:1}.motion .stage-heading h2{font-size:clamp(58px,6vw,92px);max-width:450px}.motion .stage-heading h2 br{display:block}.motion .stage-heading p{position:static;max-width:none;font-size:16px;margin-top:20px}.motion .drawing{grid-column:2;grid-row:1/3;width:100%;height:100%;padding-left:30px;margin:0}.motion .house{max-height:650px}.motion .whole-link{margin:10px 50px 0;font-size:20px}.motion .service-panels{grid-column:1;grid-row:2;width:100%;max-width:500px;margin:24px 0 0;align-self:end;height:270px}.motion .service-step{grid-template-columns:110px 1fr;gap:20px}.motion .service-copy h3{font-size:36px}.motion .service-copy>p{font-size:18px}.motion .service-copy .price{font-size:14px}.motion .service-photo{aspect-ratio:3/4}.motion .scroll-progress{grid-column:1/3;grid-row:3;margin-top:35px}.work{display:grid;grid-template-columns:36% 64%;padding:100px 48px;align-items:center;gap:0}.work h2{font-size:clamp(82px,9vw,150px)}.work-heading>p{max-width:300px;font-size:24px}.comparison-wrap{padding-left:40px}.comparison{aspect-ratio:1.35}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:110px max(48px,6vw)}.contact-intro h2{font-size:clamp(64px,6.5vw,100px)}.job-ticket{margin:0;padding:30px 36px;max-width:600px}.contact-intro>p{font-size:22px}.contact-intro .area{margin-top:90px}footer{padding:55px 48px 90px;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}footer .footer-name{font-size:64px;grid-row:span 2}footer .cox{grid-column:1/3}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-media video{display:none!important}}
@media(max-height:740px) and (max-width:700px){.motion .house-stage{min-height:640px;padding-top:22px;grid-template-rows:90px minmax(180px,1fr) 210px 3px;padding-bottom:80px}.motion .stage-heading h2{font-size:36px}.motion .service-copy h3{font-size:28px}.motion .service-copy>p{font-size:14px}}

.house-part .hit-area{fill:transparent!important;stroke:none!important;pointer-events:all}.whole-outline{pointer-events:none}
.hero h1 small{background:var(--slate);padding:4px 6px;text-shadow:none}
@media(max-width:700px){.hero-shade{background:linear-gradient(180deg,rgba(17,29,30,.62),rgba(17,29,30,.62) 36%,rgba(17,29,30,.15) 48%,rgba(17,29,30,.2) 55%,rgba(17,29,30,.95) 78%)}}
@media(min-width:701px){.hero-type{width:510px;right:auto}.hero-shade{background:linear-gradient(90deg,rgba(17,29,30,.79),rgba(17,29,30,.62) 36%,rgba(17,29,30,.08) 65%),linear-gradient(0deg,rgba(17,29,30,.75),transparent 45%)}}
.whole-link{transition:transform .18s}
