@font-face{font-family:Instrument;src:url('assets/InstrumentSans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f6f5f1;--ink:#282b27;--olive:#515a44;--ember:#b64e2c;--stone:#dce0d5;--line:#bfc4b8;--muted:#64695e;--space:clamp(24px,5vw,80px);--max:1600px;font-family:Instrument,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}button{color:inherit}img{max-width:100%;display:block}figure{margin:0}p{line-height:1.6;margin:0 0 22px}h1,h2,h3{font-weight:500;margin:0;line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(40px,4.5vw,72px)}h3{font-size:25px;letter-spacing:-.025em;line-height:1.16}ul{padding-left:20px;margin:18px 0;line-height:1.6}li+li{margin-top:10px}button{border-radius:0}input[type=checkbox],input[type=radio]{accent-color:var(--olive)}:focus-visible{outline:3px solid var(--ember);outline-offset:5px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px}[hidden]{display:none!important}section[id]{scroll-margin-top:95px}::selection{background:var(--stone);color:var(--ink)}
.skip-link{position:fixed;left:20px;top:16px;z-index:100;background:var(--paper);padding:15px;transform:translateY(-150%)}.skip-link:focus{transform:none}.header{height:104px;padding:18px var(--space);display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:25px;text-decoration:none;flex-shrink:0}.brand img{width:183px;height:41px}.brand>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:22px}.header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:14px;font-weight:500}.header nav>a:not(.button){text-decoration:none;white-space:nowrap;padding:8px 0}.header nav>a:not(.button):hover{box-shadow:0 1px 0 var(--ink)}.menu-toggle{display:none}.button{background:var(--ember);color:white;min-height:54px;padding:18px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;border:1px solid var(--ember);font-size:15px;font-weight:600;line-height:1.15;transition:background .2s,transform .2s}.button:hover{background:#964025;transform:translateY(-2px)}.button>span{font-size:22px;line-height:.7;font-weight:400}.button.compact{min-height:46px;font-size:13px;padding:15px 19px;gap:25px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:27px;line-height:1.5}.signal-dot{display:inline-block;width:6px;height:6px;margin:0 9px 2px 0;border-radius:100%;background:currentColor}.text-link{font-size:15px;display:inline-flex;align-items:center;gap:25px;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{font-size:22px}.text-link:hover{color:var(--ember)}.section{max-width:var(--max);margin:0 auto;padding:110px var(--space)}.lead{font-size:24px;line-height:1.43;letter-spacing:-.025em}.muted{color:var(--muted)}
.hero{display:grid;grid-template-columns:46% 54%;min-height:670px}.hero-copy{background:var(--olive);color:var(--paper);padding:54px clamp(30px,4.2vw,68px) 30px;display:flex;align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(59px,5.7vw,94px);line-height:.98;letter-spacing:-.055em;max-width:640px;margin-bottom:30px}.hero h1 span{color:#e0e4d7}.hero-intro{font-size:18px;line-height:1.55;max-width:380px;margin-bottom:28px}.hero-link{font-size:13px;text-decoration:none;display:flex;gap:30px;margin-top:23px;border-bottom:1px solid #b6bbaa;padding-bottom:5px}.hero-foot{width:100%;margin-top:auto;padding-top:45px;display:flex;justify-content:space-between;align-items:end;font-size:11px;line-height:1.5;color:#e0e4d7;letter-spacing:.03em}.index-mark{letter-spacing:.1em}.hero-image{position:relative;min-width:0;background:white;display:flex;align-items:center;overflow:hidden}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:43% center;min-height:670px}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 28px 24px;background:linear-gradient(transparent,rgba(20,25,20,.85));color:white;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:95px;font-size:11px;line-height:1.5;pointer-events:none}.image-label{font-size:13px;font-weight:500;max-width:130px}.image-expand{position:absolute;right:22px;top:23px;background:var(--paper);border:1px solid #bac1b5;padding:12px 15px;display:flex;align-items:center;gap:12px;font-size:12px}.image-expand:hover{background:var(--stone)}.image-expand span{font-size:20px}.credential-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px var(--space);border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.credential-strip span:before{content:'+';font-size:16px;color:var(--olive);margin-right:14px}
.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:64px 10%}.intro-copy{padding-top:42px;max-width:580px;font-size:17px}.intro-copy .text-link{margin-top:9px}.value-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:22px}.value-row article{padding:28px 35px 0 0}.value-row article+article{border-left:1px solid var(--line);padding-left:36px}.small-number{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--olive);display:block;margin-bottom:25px}.value-row h3{font-size:23px;margin-bottom:14px}.value-row p{font-size:16px;max-width:340px;margin:0;color:var(--muted)}
.team-section{display:grid;grid-template-columns:32% 68%;background:var(--stone)}.team-title{padding:68px 35px 55px var(--space);background:var(--olive);color:var(--paper);position:relative;display:flex;flex-direction:column;align-items:flex-start}.team-title h2{font-size:clamp(43px,4.4vw,68px);margin-bottom:28px}.team-title>p:not(.eyebrow){font-size:17px}.team-symbol{margin-top:auto;padding-top:55px}.team-symbol img{width:67px;height:82px;opacity:.85}.team-content{padding:46px var(--space) 58px 55px}.team-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #aab2a0}.team-tabs button{background:none;border:0;border-bottom:2px solid transparent;display:flex;gap:9px;align-items:center;font-size:13px;text-align:left;padding:18px 14px 18px 0;margin-right:15px;color:#5c6453}.team-tabs button>span:first-child{font-size:9px;letter-spacing:.03em;align-self:flex-start;padding-top:2px}.team-tabs .tab-arrow{display:none}.team-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.team-tabs button:hover{color:var(--ink)}.discipline-panel{padding-top:46px;max-width:600px;min-height:409px}.discipline-panel .eyebrow{margin-bottom:18px;color:var(--olive)}.discipline-panel h3{font-size:clamp(38px,3.6vw,56px);line-height:1.03;margin-bottom:25px}.discipline-panel>p:not(.eyebrow){font-size:17px;max-width:540px}.discipline-panel ul{font-size:15px;padding-left:18px}.discipline-panel .panel-note{font-size:12px!important;color:#525a49;margin-top:30px;margin-bottom:0;border-top:1px solid #aab2a0;padding-top:18px;line-height:1.5}
.partner-section{display:grid;grid-template-columns:1fr 1fr;gap:50px 10%}.partner-section h2{font-size:clamp(40px,4vw,64px)}.partner-copy{font-size:17px;padding-top:43px}.partner-points{padding-top:15px}.partner-points h3{font-size:20px;margin-bottom:10px}.partner-points p{font-size:15px}.full-scan-note{grid-column:1/-1;background:#e9ece3;display:flex;gap:34px;padding:36px 42px}.note-mark{font-size:42px;color:var(--olive);line-height:1}.full-scan-note>div{display:grid;grid-template-columns:1fr 1.5fr;column-gap:50px;row-gap:20px}.full-scan-note h3{max-width:280px;font-size:29px}.full-scan-note p{font-size:16px;margin:0;max-width:660px}.full-scan-note .text-link{grid-column:2;justify-self:start;font-size:13px}
.tools-section{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:48% 52%;padding:75px var(--space);gap:0;overflow:hidden}.tools-copy{padding-right:60px;max-width:650px}.tools-copy h2{font-size:clamp(40px,4vw,64px);margin-bottom:30px}.tools-copy>p:not(.eyebrow):not(.source-note){font-size:16px;max-width:440px;color:#dce0d5}.spec-grid{display:flex;gap:45px;margin:40px 0}.spec-grid>div{display:flex;flex-direction:column;gap:10px}.spec-grid strong{font-size:39px;font-weight:400;letter-spacing:-.05em}.spec-grid span{font-size:12px;color:var(--stone)}.tools-copy .text-link{font-size:13px;color:var(--paper)}.source-note{font-size:10px;line-height:1.5;color:#b6bdb0;max-width:430px;margin:20px 0 0}.tools-image{align-self:center;position:relative;margin-right:calc(-1*var(--space))}.tools-image img{width:100%;height:515px;object-fit:cover;object-position:37% center}.tools-image figcaption{font-size:10px;color:#c5cbbf;padding-top:12px;letter-spacing:.025em}
.delivery-section{display:grid;grid-template-columns:1fr 1.15fr;gap:60px 10%}.delivery-intro>p:last-child{max-width:350px;font-size:17px;margin-top:30px}.deliverable-list article{display:flex;gap:30px;border-top:1px solid var(--line);padding:25px 0}.deliverable-list article>span{font-size:11px;color:var(--olive);padding-top:7px}.deliverable-list h3{font-size:23px;margin-bottom:12px}.deliverable-list p{font-size:16px;max-width:480px;color:var(--muted);margin-bottom:0}.process-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:40px;border-top:1px solid var(--line)}.process-row .small-number{margin-bottom:17px}.process-row h3{font-size:25px;margin-bottom:15px}.process-row p{font-size:15px;color:var(--muted);max-width:330px;margin:0}.model-section{display:grid;grid-template-columns:58% 42%;background:#e9ece3}.model-section figure{padding:35px 0 20px 20px;display:flex;flex-direction:column;justify-content:center}.model-section figure img{width:100%;mix-blend-mode:multiply}.model-section figcaption{font-size:10px;color:var(--muted);padding:15px 20px 0}.model-section>.model-copy{padding:65px var(--space) 65px 50px}.model-section h2{font-size:clamp(38px,3.6vw,58px);margin-bottom:25px}.model-copy p:not(.eyebrow){font-size:16px;max-width:380px}.model-section .text-link{font-size:14px;margin-top:12px}
.estimate-section{padding-top:115px}.estimator-title{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;margin-bottom:55px}.estimator-title .eyebrow{grid-column:1/-1}.estimator-title h2{grid-row:2/4}.estimator-title>p:not(.eyebrow){max-width:440px;font-size:18px;margin-bottom:15px}.estimator-title .muted{font-size:13px!important}.calculator{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6%}.estimate-inputs{margin:0;min-width:0}.estimate-inputs fieldset{margin:0;padding:0;border:0}.estimate-inputs legend{font-weight:500;font-size:18px;margin-bottom:20px}.scope-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scope-choices label{position:relative;display:flex;cursor:pointer}.scope-choices input{position:absolute;top:20px;left:16px;width:15px;height:15px;margin:0;z-index:1}.scope-choices label>span{padding:18px 12px 17px 41px;border:1px solid #969f8d;width:100%;font-size:15px;font-weight:500;min-height:82px;transition:background .15s,border-color .15s}.scope-choices input:checked+span{background:var(--stone);border:1px solid var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}.scope-choices input:focus-visible+span{outline:3px solid var(--ember);outline-offset:3px}.scope-choices small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:7px}.building-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field label{font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:10px;line-height:1.4}.field label span{font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.field input,.field select,.field textarea{width:100%;border:1px solid #929b89;background:transparent;border-radius:0;min-height:49px;padding:12px 13px;font-size:15px;line-height:1.4;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--olive);background:#fff9}.field input[type=number]{font-variant-numeric:tabular-nums}.input-help{font-size:11px!important;color:var(--muted);line-height:1.6;margin:0}.lot-option{display:flex;gap:13px;margin-top:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}.lot-option input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0}.lot-option strong{font-size:14px;font-weight:500;display:flex;justify-content:space-between;gap:20px}.lot-option b{font-weight:500;white-space:nowrap}.lot-option small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}.lot-only-note{margin:25px 0;font-size:14px;padding:23px;background:var(--stone);line-height:1.6}.travel-field{margin-top:28px}.travel-field input{max-width:150px}.travel-field .input-help{max-width:450px}.pricing-rules{border-top:1px solid var(--line);margin-top:30px;font-size:12px}.pricing-rules summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:20px 0;font-size:13px;font-weight:500}.pricing-rules summary::-webkit-details-marker{display:none}.pricing-rules summary span{font-size:19px;line-height:1}.pricing-rules>div{padding:0 0 12px}.pricing-rules p{font-size:12px;margin-top:16px;margin-bottom:8px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}caption{text-align:left;font-weight:600;margin-bottom:12px}th,td{text-align:left;padding:9px 0;border-bottom:1px solid #d1d5ca}th:last-child,td:last-child{text-align:right}th{font-weight:500}.estimate-result{min-width:0;background:var(--olive);color:var(--paper);padding:40px clamp(25px,3.6vw,58px);align-self:start;position:sticky;top:130px}.estimate-result .eyebrow{margin-bottom:25px}.estimate-total{display:flex;align-items:baseline;gap:10px;min-width:0;font-variant-numeric:tabular-nums}.estimate-total>span:first-child{font-size:clamp(46px,5.2vw,85px);line-height:1;letter-spacing:-.05em;white-space:nowrap;overflow-wrap:normal;flex:0 0 auto}.estimate-currency{flex:0 0 auto;font-size:11px;letter-spacing:.08em}.result-scope{font-size:13px;color:#dce0d5;margin-top:16px}.estimate-breakdown{padding:25px 0 22px;border-top:1px solid #8e977f;border-bottom:1px solid #8e977f;font-size:13px}.estimate-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px}.estimate-breakdown>div:first-child{margin-top:0}.estimate-breakdown strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.estimate-breakdown>p{font-size:11px;color:#dce0d5;margin:7px 0 0}.included-list{list-style:none;margin:25px 0;padding:0;font-size:12px}.included-list li:before{content:'✓';padding-right:13px}.included-list li+li{margin-top:9px}.light-button{background:var(--paper);border-color:var(--paper);color:var(--ink);display:flex;gap:14px;width:100%;font-size:14px;min-height:56px}.light-button:hover{background:var(--stone);border-color:var(--stone)}.copy-estimate{background:none;border:0;border-bottom:1px solid #b6bbaa;padding:7px 0;font-size:12px;color:var(--paper);display:flex;align-items:center;gap:18px;margin:17px auto 0}.copy-status{font-size:11px;margin:12px 0 0;text-align:center}.copy-status:empty{display:none}.estimate-note{color:#dce0d5;font-size:11px;line-height:1.6;margin:25px 0 0}.estimate-result textarea{width:100%;font-size:12px;height:180px;margin-top:15px}.revisit-policy{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:23px;margin:42px 0 0;max-width:900px}.revisit-policy strong{color:var(--ink)}.form-error{font-size:13px;color:#982e18;background:#f3e3db;padding:14px 18px;margin:20px 0}.estimate-result.invalid .estimate-total{opacity:.65}.estimate-result.invalid .light-button{opacity:.6;pointer-events:none}.noscript-message{padding:25px;background:var(--stone);margin-top:20px}
.prep-section{background:var(--stone);padding:85px var(--space);display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.prep-heading>p:not(.eyebrow):not(.prep-progress){font-size:16px;max-width:365px}.prep-heading h2{font-size:clamp(42px,4.5vw,69px);margin-bottom:30px}.prep-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.outline-button{background:none;color:var(--ink);border-color:var(--olive);font-size:13px;min-height:48px;padding:15px 20px}.outline-button:hover{background:#c9cebf;color:var(--ink)}.text-button{background:none;border:0;border-bottom:1px solid currentColor;font-size:12px;padding:5px 0}.prep-progress{font-size:11px;margin:34px 0 10px}.progress-track{height:3px;background:#bbc3af;max-width:280px}.progress-track span{display:block;width:0;height:100%;background:var(--olive);transition:width .2s}.prep-item{display:flex;gap:20px;padding:21px 0;border-top:1px solid #b2bca6;cursor:pointer}.prep-item:first-child{padding-top:0;border-top:0}.prep-item input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;cursor:pointer}.prep-item>span{display:block}.prep-item strong{display:block;font-size:17px;font-weight:500;margin-bottom:9px;letter-spacing:-.015em;line-height:1.35}.prep-item span span{display:block;font-size:13px;line-height:1.65;color:#515a44;max-width:530px}.prep-item:has(input:checked) strong{text-decoration:line-through;text-decoration-thickness:1px;color:#515a44}.weather-note{display:flex;gap:18px;margin-top:18px;border:1px solid #a9b29e;padding:20px 24px}.weather-note>span{font-size:25px;color:var(--olive)}.weather-note p{font-size:12px;margin:0}.weather-note strong{font-weight:600}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;padding-top:80px;padding-bottom:90px}.faq-section h2{font-size:clamp(38px,3.4vw,52px)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:16px;font-weight:500;list-style:none;padding:22px 0;display:flex;justify-content:space-between;gap:20px;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:400;line-height:1}.faq-list details[open] summary span,.pricing-rules[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:var(--muted);padding:0 25px 5px 0;max-width:580px;line-height:1.65}
.contact-section{display:grid;grid-template-columns:1fr 1.2fr;padding:85px var(--space);background:#e9ece3;gap:10%}.contact-copy h2{font-size:clamp(48px,5.5vw,85px);line-height:.98;margin-bottom:30px}.contact-copy>p:not(.eyebrow){max-width:370px;font-size:17px}.contact-email{font-size:18px;text-decoration:none;border-bottom:1px solid var(--ink);display:inline-flex;gap:25px;padding-bottom:8px;margin:15px 0 30px}.contact-area{font-size:12px!important;line-height:1.75}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}.full-width{grid-column:1/-1}.inquiry-form textarea{resize:vertical;min-height:110px}.inquiry-form input:focus,.inquiry-form textarea:focus{background:#f6f5f1}.attach-estimate{display:flex;gap:12px;align-items:center;font-size:13px;cursor:pointer;margin:25px 0 12px}.attach-estimate input{margin:0;width:17px;height:17px;flex-shrink:0}.attach-estimate>span{display:flex;gap:18px;justify-content:space-between;width:100%;font-weight:400}.attach-estimate strong{font-weight:500}.inquiry-form #attachment-note:not(:empty){margin:0 0 18px}.inquiry-form .button{margin-top:12px;width:100%;max-width:280px}.form-help{font-size:11px;margin:18px 0 0;color:var(--muted);max-width:530px}.email-fallback{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.email-fallback>p{font-size:13px}.email-fallback>textarea{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:12px;padding:12px;line-height:1.6;min-height:150px}.email-fallback>button{margin-top:15px}.email-fallback>span{font-size:11px;margin-left:15px}.footer{background:var(--ink);color:var(--paper);padding:50px var(--space) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:40px}.footer-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.footer-brand img{width:210px;height:46px}.footer-brand span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.footer>p{font-size:17px;margin:0;justify-self:center}.footer>div:last-of-type{display:flex;flex-direction:column;gap:20px;font-size:12px;justify-self:end}.footer a{text-decoration:none}.footer small{grid-column:1/-1;padding-top:30px;border-top:1px solid #555d50;color:#b8c0b0;font-size:10px}
dialog{width:min(1100px,94vw);max-height:92vh;padding:22px;border:0;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#1b211bd9}.dialog-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;align-items:center}.dialog-toolbar .eyebrow{font-size:10px;margin:0 0 8px}.dialog-toolbar h2{font-size:22px;letter-spacing:-.02em}.dialog-close{border:1px solid var(--line);background:none;min-width:42px;min-height:42px;font-size:28px;font-weight:300}.detail-image{background:white;max-height:64vh;overflow:auto}.detail-image img{width:100%;height:auto}.dialog-caption{display:flex;gap:40px;justify-content:space-between;align-items:center;padding-top:20px}.dialog-caption p{font-size:12px;max-width:650px;margin:0}.dialog-caption a{font-size:11px;white-space:nowrap}
@media(min-width:1750px){.hero{min-height:780px}.hero-image>img{min-height:780px}.hero-copy{padding:70px 6vw 35px}.hero h1{font-size:106px}.team-content{padding-left:90px}.contact-section,.tools-section,.team-section,.prep-section,.model-section{padding-left:max(var(--space),calc((100vw - 1600px)/2 + 80px));padding-right:max(var(--space),calc((100vw - 1600px)/2 + 80px))}.team-section{padding-left:0;padding-right:0}.hero-intro{max-width:430px}}
@media(max-width:1200px){.brand{gap:16px}.brand img{width:155px}.brand>span{padding-left:14px;font-size:10px}.header nav{gap:20px;font-size:12px}.header nav .button{font-size:12px;padding:13px 16px;gap:15px}.hero{grid-template-columns:48% 52%}.hero-copy{padding:40px 35px 28px}.hero h1{font-size:clamp(56px,6.5vw,78px)}.hero-intro{font-size:17px}.hero-image>img{min-height:670px}.hero-image figcaption{display:block}.hero-image figcaption .image-label{display:block;margin-bottom:10px;max-width:none}.team-content{padding-left:35px}.team-tabs{display:grid;grid-template-columns:1fr 1fr}.team-tabs button{margin-right:15px}.team-section{grid-template-columns:35% 65%}.team-title h2{font-size:49px}.discipline-panel{min-height:420px}.tools-copy{padding-right:35px}.tools-image img{height:470px}.spec-grid{gap:30px}.spec-grid strong{font-size:34px}.model-section>.model-copy{padding:50px 35px}.calculator{gap:4%}.estimate-result{padding:34px 30px}.scope-choices label>span{font-size:14px}.field label{flex-wrap:wrap}.credential-strip{font-size:10px;gap:14px}.credential-strip span:before{margin-right:8px}.full-scan-note>div{column-gap:30px}}
@media(max-width:960px){:root{--space:32px;scroll-padding-top:85px}.header{height:85px;gap:20px}.brand img{width:155px}.brand>span{font-size:10px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:1px solid var(--line);padding:10px 13px;font-size:12px}.menu-toggle>span{font-size:17px}.header nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--paper);padding:25px 32px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:14px;font-size:16px}.header nav.is-open{display:flex}.header nav>.button{justify-content:space-between;font-size:15px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:61px}.hero-copy{padding:38px 29px 28px}.hero .eyebrow{font-size:10px}.hero-intro{font-size:16px}.hero .button{font-size:13px;padding:17px 18px;gap:15px}.hero-link{font-size:11px;gap:15px}.hero,.hero-image>img{min-height:625px}.hero-image>img{object-position:48% center}.hero-image figcaption{padding:80px 20px 24px}.hero-foot{font-size:10px}.credential-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 32px}.section{padding-top:80px;padding-bottom:80px}.intro-section{gap:45px 7%}.intro-copy{padding-top:40px;font-size:16px}.lead{font-size:21px}.value-row article{padding-right:25px}.value-row article+article{padding-left:25px}.value-row h3{font-size:21px}.value-row p{font-size:14px}.team-title{padding:50px 28px 40px 32px}.team-title h2{font-size:42px}.team-title>p:not(.eyebrow){font-size:15px}.team-content{padding:30px 32px 40px}.team-tabs button{font-size:12px;margin-right:8px;padding-right:4px;gap:7px}.discipline-panel h3{font-size:40px}.discipline-panel>p:not(.eyebrow){font-size:15px}.discipline-panel ul{font-size:13px}.partner-section{gap:40px 7%}.partner-copy{font-size:16px}.full-scan-note{padding:30px;gap:25px}.full-scan-note>div{grid-template-columns:1fr;gap:18px}.full-scan-note h3{max-width:none;font-size:27px}.full-scan-note .text-link{grid-column:1}.tools-section{padding:60px 32px;grid-template-columns:1fr 1fr}.tools-copy{padding-right:28px}.tools-copy h2{font-size:40px}.tools-copy>p:not(.eyebrow):not(.source-note){font-size:14px}.spec-grid{gap:27px}.spec-grid strong{font-size:29px}.spec-grid span{font-size:10px}.tools-image img{height:450px}.tools-image figcaption{font-size:9px;max-width:85%}.delivery-section{gap:40px 7%}.delivery-intro>p:last-child{font-size:16px}.deliverable-list p{font-size:14px}.deliverable-list h3{font-size:21px}.process-row{gap:25px}.process-row h3{font-size:22px}.process-row p{font-size:14px}.model-section{grid-template-columns:53% 47%}.model-section>.model-copy{padding:45px 30px}.model-section h2{font-size:38px}.model-copy p:not(.eyebrow){font-size:14px}.calculator{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px}.estimate-result{padding:30px 22px;top:110px}.scope-choices{gap:10px}.scope-choices label>span{font-size:12px;padding-left:34px;min-height:79px}.scope-choices input{left:12px;top:18px;width:13px;height:13px}.scope-choices small{font-size:10px}.building-fields{grid-template-columns:1fr;gap:20px}.field label{font-size:12px}.field input,.field select{font-size:14px}.estimate-total>span:first-child{font-size:54px}.estimate-breakdown{font-size:11px}.estimate-result .button{font-size:12px;padding:16px;gap:12px}.lot-option strong{font-size:12px;gap:10px}.lot-option small{font-size:11px}.estimator-title>p:not(.eyebrow){font-size:16px}.prep-section{gap:7%;padding:65px 32px}.prep-heading h2{font-size:45px}.prep-heading>p:not(.eyebrow):not(.prep-progress){font-size:14px}.prep-actions{gap:20px}.prep-item{gap:15px}.prep-item strong{font-size:16px}.prep-item span span{font-size:12px}.faq-section{grid-template-columns:.8fr 1.2fr;gap:7%}.faq-list summary{font-size:14px}.contact-section{padding:65px 32px;gap:7%}.contact-copy h2{font-size:56px}.contact-copy>p:not(.eyebrow){font-size:15px}.contact-email{font-size:16px;gap:16px}.form-grid{grid-template-columns:1fr;gap:20px}.inquiry-form .full-width{grid-column:auto}.footer{gap:30px;grid-template-columns:1fr 1fr}.footer>p{display:none}.footer>div:last-of-type{grid-column:2}}
@media(max-width:650px){:root{--space:22px;scroll-padding-top:76px}.header{height:76px;padding:14px 22px}.brand{gap:15px}.brand img{width:145px;height:32px}.brand>span{font-size:9px;padding-left:13px;letter-spacing:.08em}.header nav{top:76px;padding:22px}.menu-toggle{font-size:11px;padding:9px 10px;gap:10px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:37px 26px 24px}.hero .eyebrow{font-size:10px;margin-bottom:30px}.hero h1{font-size:clamp(57px,11.8vw,78px);max-width:540px;margin-bottom:25px;line-height:1}.hero-intro{font-size:16px;max-width:380px;margin-bottom:25px}.hero .button{font-size:14px;padding:18px 20px;min-width:230px}.hero-link{font-size:12px;margin-top:21px;gap:25px}.hero-foot{padding-top:32px;margin:0;font-size:10px}.hero-image{min-height:0}.hero-image>img{min-height:0;aspect-ratio:1.18;width:100%;height:auto;object-fit:cover;object-position:center}.hero-image figcaption{display:flex;align-items:flex-end;padding:65px 22px 22px;font-size:9px}.hero-image figcaption .image-label{font-size:11px;margin-bottom:0;max-width:120px}.image-expand{font-size:10px;padding:10px 12px;top:16px;right:16px;gap:9px}.image-expand span{font-size:17px}.credential-strip{padding:24px 22px;font-size:9px;line-height:1.5;gap:17px 15px}.credential-strip span:before{font-size:12px;margin-right:7px}.section{padding:65px 22px}.eyebrow{font-size:10px;margin-bottom:22px}h2{font-size:43px;letter-spacing:-.045em}.intro-section,.partner-section,.delivery-section,.faq-section{display:block}.intro-copy{padding:28px 0 0;font-size:15px}.lead{font-size:22px}.intro-copy>p{margin-bottom:20px}.text-link{font-size:14px}.value-row{display:block;margin-top:44px}.value-row article,.value-row article+article{border-left:0;padding:25px 0;display:grid;grid-template-columns:30px 1fr;column-gap:15px}.value-row article+article{border-top:1px solid var(--line)}.value-row h3{font-size:22px;margin-bottom:10px}.value-row .small-number{grid-row:1/3;padding-top:6px;margin:0}.value-row p{grid-column:2;font-size:14px;max-width:none}.value-row article:last-child{padding-bottom:0}.team-section{display:block}.team-title{padding:45px 22px 35px}.team-title h2{font-size:50px;margin-bottom:22px}.team-title>p:not(.eyebrow){font-size:15px;max-width:260px;margin:0}.team-symbol{position:absolute;right:28px;bottom:31px;padding:0}.team-symbol img{width:49px;height:62px}.team-content{padding:16px 22px 40px}.team-tabs button{font-size:12px;padding:17px 5px 17px 0;gap:7px;margin-right:10px}.discipline-panel{min-height:405px;padding-top:34px}.discipline-panel h3{font-size:42px;margin-bottom:23px}.discipline-panel>p:not(.eyebrow){font-size:15px}.discipline-panel .panel-note{font-size:11px!important;margin-top:25px;padding-top:15px}.discipline-panel ul{font-size:14px}.partner-section h2{font-size:43px}.partner-copy{padding-top:30px;font-size:15px}.partner-points{padding-top:5px}.partner-points h3{font-size:20px}.partner-points p{font-size:14px}.full-scan-note{margin-top:35px;padding:25px 22px;gap:15px;flex-direction:column}.note-mark{font-size:32px}.full-scan-note h3{font-size:27px;max-width:300px}.full-scan-note p{font-size:14px}.full-scan-note .text-link{font-size:12px}.tools-section{display:flex;flex-direction:column;padding:50px 22px}.tools-copy{padding:0;max-width:none}.tools-copy h2{font-size:43px;max-width:450px}.tools-copy>p:not(.eyebrow):not(.source-note){font-size:15px;max-width:none}.spec-grid{margin:30px 0;gap:48px}.spec-grid strong{font-size:40px}.spec-grid span{font-size:11px}.tools-copy .source-note{font-size:10px}.tools-image{margin:35px 0 0;align-self:stretch}.tools-image img{height:auto;aspect-ratio:1.45;object-position:center}.tools-image figcaption{font-size:9px;max-width:none}.delivery-intro>p:last-child{margin-top:24px;font-size:16px;max-width:none}.deliverable-list{margin-top:35px}.deliverable-list article{gap:22px;padding:22px 0}.deliverable-list h3{font-size:22px}.deliverable-list p{font-size:14px}.process-row{display:block;margin-top:15px;padding-top:33px}.process-row article{margin-bottom:30px}.process-row article:last-child{margin:0}.process-row .small-number{margin-bottom:13px}.process-row h3{margin-bottom:10px;font-size:24px}.process-row p{font-size:14px;max-width:none}.model-section{display:flex;flex-direction:column}.model-section figure{padding:18px 0 20px}.model-section figcaption{font-size:9px;padding:15px 22px 0}.model-section>.model-copy{padding:15px 22px 48px}.model-section h2{font-size:44px}.model-copy p:not(.eyebrow){font-size:15px;max-width:none}.model-section .text-link{font-size:13px}.estimator-title{display:block;margin-bottom:32px}.estimator-title h2{margin-bottom:25px;font-size:47px}.estimator-title>p:not(.eyebrow){font-size:16px;max-width:none}.estimator-title .muted{font-size:12px!important}.calculator{display:flex;flex-direction:column;gap:30px}.estimate-inputs legend{font-size:17px}.scope-choices label>span{font-size:14px;padding:18px 12px 17px 38px;min-height:83px}.scope-choices small{font-size:10px}.scope-choices input{width:14px;height:14px;top:20px;left:14px}.building-fields{grid-template-columns:1fr 1fr;gap:13px}.field label{font-size:12px}.field input,.field select{font-size:14px;min-height:49px}.field label span{font-size:10px}.lot-option strong{font-size:13px}.lot-option small{font-size:11px}.travel-field{margin-top:24px}.estimate-result{position:static;padding:32px 26px}.estimate-total>span:first-child{font-size:70px}.estimate-result .eyebrow{font-size:11px}.estimate-breakdown{font-size:13px}.estimate-result .light-button{font-size:14px;min-height:56px;padding:18px 20px}.included-list{font-size:12px}.estimate-note{font-size:11px}.revisit-policy{font-size:11px;margin-top:28px;line-height:1.7}.prep-section{display:block;padding:48px 22px}.prep-heading h2{font-size:47px}.prep-heading>p:not(.eyebrow):not(.prep-progress){font-size:15px;max-width:none}.prep-actions{margin-top:28px;gap:25px}.prep-progress{margin-top:24px}.progress-track{max-width:none}.prep-list{margin-top:36px}.prep-item{padding:22px 0;gap:17px}.prep-item strong{font-size:17px}.prep-item span span{font-size:13px}.weather-note{padding:20px;gap:16px}.weather-note p{font-size:12px}.faq-section{padding-top:55px;padding-bottom:55px}.faq-section h2{font-size:40px;margin-bottom:33px}.faq-list summary{font-size:15px;padding:21px 0}.faq-list details p{font-size:13px}.contact-section{display:block;padding:48px 22px}.contact-copy h2{font-size:60px}.contact-copy>p:not(.eyebrow){font-size:16px;max-width:none}.contact-email{font-size:17px;margin-top:8px}.contact-area{font-size:11px!important}.inquiry-form{margin-top:35px;border-top:1px solid var(--line);padding-top:32px}.form-grid{grid-template-columns:1fr 1fr;gap:22px 15px}.inquiry-form .full-width{grid-column:1/-1}.inquiry-form .field label{font-size:12px}.inquiry-form .button{max-width:none}.attach-estimate{font-size:12px}.attach-estimate>span{gap:10px}.form-help{font-size:11px}.footer{padding:35px 22px 24px;gap:25px;grid-template-columns:1fr 1fr}.footer-brand img{width:165px;height:37px}.footer-brand span{font-size:9px}.footer>div:last-of-type{font-size:10px;gap:22px;align-self:start;padding-top:7px}.footer small{font-size:9px;padding-top:25px}dialog{padding:17px;width:95vw}.dialog-toolbar h2{font-size:18px;line-height:1.2}.dialog-caption{display:block}.dialog-caption p{font-size:11px;margin-bottom:15px}.detail-image{overflow:auto}.detail-image img{min-width:600px;max-width:none;height:auto}.dialog-toolbar .eyebrow{font-size:9px}}
@media(max-width:380px){.brand>span{display:none}.hero h1{font-size:55px}.hero-copy{padding-left:22px;padding-right:22px}.building-fields,.form-grid{grid-template-columns:1fr}.form-grid .full-width{grid-column:auto}.team-tabs button{font-size:11px}.scope-choices label>span{font-size:12px}.estimate-total>span:first-child{font-size:62px}.footer{grid-template-columns:1fr}.footer>div:last-of-type{grid-column:1;justify-self:start;flex-direction:row;gap:30px}.hero-image figcaption>span:last-child{max-width:155px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{@page{size:letter;margin:15mm}body{background:white;font-size:10pt;color:#000}.header,.hero,.credential-strip,main>section:not(#prepare),.footer,dialog,.skip-link{display:none!important}main,#prepare{display:block!important}#prepare{padding:0!important;background:white!important}.prep-heading .eyebrow{font-size:9pt;margin-bottom:10pt}.prep-heading h2{font-size:30pt!important;margin-bottom:14pt}.prep-heading h2 br{display:none}.prep-heading>p:not(.eyebrow):not(.prep-progress){font-size:10pt!important;max-width:none;margin-bottom:10pt}.prep-actions,.prep-progress,.progress-track{display:none!important}.prep-list{margin-top:20pt}.prep-item{padding:11pt 0;break-inside:avoid;gap:12pt}.prep-item input{appearance:none;border:1pt solid #777;width:11pt;height:11pt;flex-basis:11pt;margin-top:2pt}.prep-item strong{font-size:11pt;margin-bottom:5pt;text-decoration:none!important;color:#000!important}.prep-item span span{font-size:9pt;color:#222;max-width:none;line-height:1.4}.weather-note{break-inside:avoid;padding:10pt;margin-top:12pt}.weather-note p{font-size:9pt}.weather-note:after{content:'Questions? ckruger@archileaf.com';display:block;font-size:9pt}a{color:#000}main>section{scroll-margin:0}}

/* Preserve source-image proportions at every viewport. */
.hero-image{display:flex;flex-direction:column;justify-content:center;background:#080a08}
.hero-image>img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}
.hero-image figcaption{position:static;width:100%;margin-top:auto;padding:22px 28px;background:var(--ink)}
.hero-image>img{margin-top:auto}
.tools-image img,.model-section figure img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
.tools-image{margin-right:0}
.detail-image img{display:block;width:100%;height:auto;min-width:0;max-width:100%}
.team-tabs{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.team-tabs button{margin-right:0;font-size:13px}
.landscape-coverage{font-size:13px;line-height:1.65;margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}
.landscape-coverage p{margin:0}.landscape-coverage strong{color:var(--ink);font-weight:500}
.landscape-coverage .input-help{margin-top:12px}.landscape-field{margin-top:24px}
#landscape-rate-detail{font-size:11px;color:#d1d6c9;margin:0 0 14px;line-height:1.5}
@media(max-width:650px){.hero-image figcaption{padding:18px 22px}.team-tabs{column-gap:12px}.team-tabs button{font-size:12px}.image-expand{top:12px;right:12px}}

/* Revit services: keep the evidence and the modeling approach together. */
.model-copy .model-scope-note{font-size:12px!important;color:var(--muted);line-height:1.65;margin:18px 0 0}
.model-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:0 var(--space) 65px}
.model-details article{border-top:1px solid var(--line);padding-top:24px}
.model-details .small-number{display:block;margin-bottom:16px;font-size:10px;line-height:1.5}
.model-details h3{font-size:22px;margin-bottom:14px}
.model-details p{font-size:14px;line-height:1.75;margin:0;max-width:420px}
.credential-strip>a{color:inherit;text-decoration:none}
.credential-strip>a:hover{text-decoration:underline;text-underline-offset:4px}
#accuracy-note{scroll-margin-top:125px}

/* A touch-scrollable gallery of original point-cloud views. */
body.gallery-open{overflow:hidden}
#image-dialog{overscroll-behavior:contain}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.gallery-controls>p{font-size:12px;line-height:1.5;margin:0;color:var(--muted);max-width:440px}
.gallery-navigation{display:flex;align-items:center;gap:15px;flex:none}
.gallery-navigation button{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:21px}
.gallery-navigation button:hover:not(:disabled){background:var(--stone)}
.gallery-navigation button:disabled{opacity:.3;cursor:default}
#gallery-status{font-size:12px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--olive) var(--stone)}
.gallery-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.gallery-slide>img{display:block;width:100%;height:auto;max-height:52vh;object-fit:contain;background:#000}
.gallery-slide figcaption{padding:13px 0;font-size:13px;display:flex;gap:16px;align-items:baseline}
.gallery-slide figcaption>span{font-size:10px;color:var(--muted);letter-spacing:.08em;flex:none}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}
.gallery-thumbnails button{min-width:0;border:1px solid transparent;background:transparent;padding:4px;color:var(--muted);text-align:left}
.gallery-thumbnails button[aria-current="true"]{border-color:var(--olive);background:var(--stone);color:var(--ink)}
.gallery-thumbnails button:hover{background:var(--stone)}
.gallery-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:#000}
.gallery-thumbnails span{display:block;padding:7px 2px 3px;font-size:11px;line-height:1.3}
@media(max-width:960px){.model-details{gap:24px}.model-details h3{font-size:20px}.model-details p{font-size:13px}}
@media(max-width:650px){
  .model-details{grid-template-columns:1fr;padding:0 22px 45px;gap:26px}
  .model-details article{padding-top:23px}.model-details p{max-width:none;font-size:14px}
  .gallery-controls{display:block;margin-bottom:12px}.gallery-controls>p{font-size:11px;max-width:none;margin-bottom:12px}
  .gallery-navigation{justify-content:space-between}.gallery-navigation button{width:46px;height:44px}
  .gallery-slide>img{max-height:45vh}.gallery-slide figcaption{font-size:12px;gap:12px}
  .gallery-thumbnails{gap:5px;margin-top:12px}.gallery-thumbnails button{padding:2px}
  .gallery-thumbnails span{font-size:9px;padding:6px 1px 3px;overflow-wrap:break-word}
}
