:root{--content-line:#d9d9d3}
input,select,textarea{font:inherit;color:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.site-header nav a[aria-current="page"]{color:var(--orange)}
.about-more{display:inline-flex;align-items:center;gap:24px;margin-top:12px;padding:12px 0;border-bottom:1px solid var(--ink);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.about-more span{font-size:20px;color:var(--orange)}
.about-more:hover{color:var(--orange)}
.services .services-head{margin-bottom:25px}
.section-context{max-width:570px;margin:0 0 52px 25%;font-size:13px;color:#666661}
.service-row p{max-width:340px}
.service-row h3 a{display:inline-block}
.service-row h3 a:focus-visible,.service-arrow:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.project-image img{width:100%;height:100%}
.project-additions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:70px;margin-top:110px}
.project-additions .project-image{aspect-ratio:1.5}
.project-additions .project-image img{object-position:center 48%}
.project-additions figure:nth-child(even){padding-top:100px}
.project-additions .project-new-wide{grid-column:1/-1;padding-top:0}
.project-additions .project-new-wide .project-image{aspect-ratio:2.05}
.project-additions .project-new-wide .project-image img{object-position:center 55%}
.project-additions figcaption{justify-content:space-between}
.faq{background:#f4f4f0}
.faq-layout{display:grid;grid-template-columns:35% 1fr;gap:7%}
.faq-intro h2{font-size:clamp(42px,5vw,82px)}
.faq-intro p{max-width:280px;margin-top:24px;font-size:13px;color:#666661}
.faq-list{border-top:1px solid #c9c9c3}
.faq-list details{border-bottom:1px solid #c9c9c3}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 0;cursor:pointer;font-size:clamp(17px,1.8vw,24px);letter-spacing:-.04em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:28px;font-weight:300;color:var(--orange)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{max-width:660px;margin:-4px 0 28px;font-size:13px;color:#666661}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;margin:42px 0 52px}
.contact-intro p{max-width:470px;font-size:14px;color:#666661}
.contact-intro .contact-details{font-size:15px;align-items:flex-start}
.contact-details a{border-bottom:1px solid #aaa9a3;padding-bottom:4px}
.contact-details a:hover{color:var(--orange)}
.project-inquiry{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.43fr);gap:7%;border-top:1px solid var(--content-line);padding-top:32px}
.inquiry-form{min-width:0}
.inquiry-progress{display:flex;gap:9px;margin-bottom:50px}
.inquiry-progress span{height:3px;flex:1;background:#deded8;transition:background .2s}
.inquiry-progress span.is-current,.inquiry-progress span.is-done{background:var(--orange)}
.inquiry-step{border:0;margin:0;padding:0;min-width:0}
.inquiry-step[hidden]{display:none}
.inquiry-step legend{float:left;width:100%;font-size:clamp(29px,3.1vw,48px);letter-spacing:-.055em;line-height:1.08;margin-bottom:12px}
.inquiry-step legend+p{clear:both;font-size:13px;color:#666661;margin-bottom:32px}
.inquiry-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;clear:both}
.inquiry-option{display:block;cursor:pointer;position:relative}
.inquiry-option input{position:absolute;opacity:0;width:1px;height:1px}
.inquiry-option-body{display:flex;flex-direction:column;justify-content:space-between;min-height:165px;border:1px solid var(--content-line);padding:20px;background:#f7f7f5;transition:border .2s,background .2s,transform .2s}
.inquiry-option:hover .inquiry-option-body{transform:translateY(-2px);border-color:#aaa9a3}
.inquiry-option input:checked+.inquiry-option-body{border-color:var(--orange);background:#fff7f2}
.inquiry-option input:focus-visible+.inquiry-option-body{outline:2px solid var(--orange);outline-offset:3px}
.inquiry-option-body small{font-size:9px;letter-spacing:.12em;color:var(--orange)}
.inquiry-option-body strong{font-weight:500;font-size:21px;letter-spacing:-.04em}
.inquiry-option-body>span{font-size:11px;color:#666661}
.inquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;clear:both}
.inquiry-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.inquiry-field.full{grid-column:1/-1}
.inquiry-field label{font-size:11px;font-weight:600;letter-spacing:.02em}
.inquiry-field small{font-weight:400;color:#777}
.inquiry-field input,.inquiry-field select,.inquiry-field textarea{width:100%;border:1px solid #c8c8c1;background:#fff;padding:15px 16px;border-radius:0;font-size:14px;min-height:52px}
.inquiry-field textarea{min-height:155px;resize:vertical;line-height:1.5}
.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:#898983}
.inquiry-field [aria-invalid="true"]{border-color:#b83220}
.inquiry-consent{display:flex;align-items:flex-start;gap:13px;clear:both;font-size:11px;color:#575752;line-height:1.6;margin-top:26px;cursor:pointer}
.inquiry-consent input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--orange)}
.inquiry-consent a{text-decoration:underline;text-underline-offset:3px}
.inquiry-consent a:hover{color:var(--orange)}
.inquiry-error{color:#a42518;font-size:12px;margin-top:17px}
.inquiry-upload{clear:both;border:1px dashed #aaa9a3;background:#f7f7f5;padding:28px}
.inquiry-upload label{display:inline-flex;padding:14px 19px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.inquiry-upload label:hover{background:var(--orange)}
.inquiry-upload input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}
.inquiry-upload:focus-within label{outline:2px solid var(--orange);outline-offset:4px}
.inquiry-upload p,.inquiry-file-note{font-size:11px;color:#666661;margin:16px 0 0}
.inquiry-file-list{list-style:none;margin:16px 0 0;padding:0}
.inquiry-file-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--content-line);font-size:12px;overflow-wrap:anywhere}
.inquiry-file-list button{border:0;background:transparent;color:#a42518;text-decoration:underline;cursor:pointer;font:inherit}
.inquiry-file-list button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.inquiry-controls{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:35px}
.inquiry-controls button{border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:52px;padding:13px 22px;text-align:left;display:inline-flex;justify-content:space-between;gap:45px;align-items:center;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.inquiry-controls button:hover{background:var(--orange);border-color:var(--orange)}
.inquiry-controls .inquiry-back{background:transparent;color:var(--ink);border:0;padding-left:0;padding-right:0}
.inquiry-controls .inquiry-back:hover{color:var(--orange);background:transparent}
.inquiry-controls [hidden]{display:none}
.inquiry-controls button:disabled{opacity:.65;cursor:wait}
.inquiry-summary{background:#f4f4f0;padding:28px;height:max-content;position:sticky;top:20px}
.inquiry-summary .eyebrow{color:var(--orange)}
.inquiry-summary h3{font-size:25px;letter-spacing:-.05em;margin:20px 0 13px}
.inquiry-summary p,.inquiry-summary dd,.inquiry-summary dt{font-size:12px}
.inquiry-summary p{color:#666661}
.inquiry-summary dl{margin:22px 0 0}
.inquiry-summary dl>div{border-top:1px solid #d4d4cd;padding:13px 0}
.inquiry-summary dt{color:#777}
.inquiry-summary dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.inquiry-summary .summary-contact{margin-top:26px;border-top:1px solid #d4d4cd;padding-top:22px}
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.footer-links{display:flex;gap:22px}
.footer-links a:hover{color:var(--orange)}
/* About landing page */
.about-page .site-header{background:#f6f6f4}
.about-page-hero{position:relative;isolation:isolate;min-height:calc(92svh - 100px);display:flex;align-items:flex-end;background:#152124;color:#fff;overflow:hidden}
.about-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;z-index:-2}
.about-page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b171bd6 0%,#0b171b12 68%),linear-gradient(90deg,#0b171b60,transparent 70%);z-index:-1}
.about-page-hero .wrap{padding:80px 0 85px}
.about-page-hero .eyebrow{color:#d2d6d3;font-size:10px}
.about-page-hero h1{font-size:clamp(58px,9vw,156px);font-weight:600;max-width:1200px;margin:26px 0 34px}
.about-page-hero p:last-child{font-size:clamp(15px,1.6vw,22px);max-width:550px;line-height:1.45}
.about-story-grid{display:grid;grid-template-columns:25% 1fr;gap:0}
.about-story-grid h2{font-size:clamp(44px,5.6vw,93px)}
.about-story-copy{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:45px}
.about-story-copy p{font-size:15px;color:#62625d}
.about-values{background:#f4f4f0}
.about-values-head{display:grid;grid-template-columns:25% 1fr}
.about-values h2{max-width:900px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}
.values-grid article{border-top:1px solid #bfc0b9;padding-top:25px}
.values-grid span{font-size:10px;color:var(--orange)}
.values-grid h3{font-size:clamp(25px,2.9vw,43px);letter-spacing:-.05em;margin:55px 0 17px}
.values-grid p{font-size:13px;color:#666661;max-width:330px}
.about-photo{position:relative;min-height:70svh;background:#202020}
.about-photo img{width:100%;height:70svh;object-fit:cover;object-position:center 55%}
.about-photo figcaption{position:absolute;bottom:24px;left:var(--gutter);color:#fff;font-size:10px;letter-spacing:.1em;text-shadow:0 1px 9px #000}
.about-cta{background:var(--ink);color:#fff}
.about-cta h2{font-size:clamp(44px,6vw,100px);max-width:1150px}
.about-cta p{font-size:14px;margin:30px 0;color:#c5c5bd}
.about-cta .duv-button{width:max-content}
.utility-page{min-height:65svh;padding:90px 0 130px}
.utility-page h1{font-size:clamp(46px,6vw,90px);margin:25px 0}
.utility-page p{max-width:650px;margin-bottom:18px;font-size:14px}
.utility-page h2{font-size:27px;letter-spacing:-.04em;margin:32px 0 12px}
.utility-page a:not(.duv-button){text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.project-inquiry{grid-template-columns:minmax(0,1fr) 260px;gap:4%}.faq-layout{grid-template-columns:30% 1fr;gap:5%}.project-additions{column-gap:6%;margin-top:90px}.project-additions figure:nth-child(even){padding-top:65px}}
@media(max-width:680px){.section-context{margin:0 0 34px;font-size:12px}.faq-layout,.contact-intro,.project-inquiry,.about-story-grid,.about-story-copy,.about-values-head{display:block}.faq-intro p{margin:18px 0 30px}.faq-list summary{padding:20px 0}.faq-list details p{font-size:12px}.contact-heading h2{font-size:10vw}.contact-intro{margin:30px 0 38px}.contact-intro p{font-size:13px}.contact-intro .contact-details{margin:22px 0 0}.inquiry-progress{margin-bottom:32px}.inquiry-step legend{font-size:31px}.inquiry-options{grid-template-columns:1fr;gap:9px}.inquiry-option-body{min-height:108px;padding:14px}.inquiry-option-body strong{font-size:18px}.inquiry-option-body>span{font-size:10px}.inquiry-grid{grid-template-columns:1fr;gap:18px}.inquiry-field.full{grid-column:auto}.inquiry-summary{position:static;margin-top:38px;padding:22px}.inquiry-summary h3{font-size:23px}.inquiry-controls button{gap:18px;padding:13px 15px}.footer-links{width:100%;justify-content:space-between}.about-page-hero{min-height:75svh}.about-page-hero .wrap{padding:60px 0}.about-page-hero h1{font-size:14vw;line-height:.94}.about-page-hero p:last-child{font-size:15px}.about-story-copy p{font-size:13px;margin-top:18px}.values-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.values-grid h3{margin:25px 0 12px}.about-photo,.about-photo img{height:55svh;min-height:0}.about-cta .duv-button{width:100%}.utility-page{padding:70px 0 100px}}
@media(prefers-reduced-motion:reduce){.inquiry-option-body,.inquiry-progress span{transition:none}}
@media(max-width:680px){.project-additions{display:block;margin-top:72px}.project-additions figure+figure{margin-top:35px}.project-additions figure:nth-child(even){padding-top:0}.project-additions .project-image,.project-additions .project-new-wide .project-image{aspect-ratio:1.15}.project-additions .project-new-wide .project-image img{object-position:center}.project-additions figcaption h3{font-size:21px}}
