:root{--ink:#141414;--navy:#101f33;--line:#d5d5d3;--gutter:clamp(22px,4vw,68px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fdfdfc;color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #627d9b;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px var(--gutter) 16px;min-height:90px}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:clamp(39px,4.5vw,72px);letter-spacing:-.085em;margin-left:-.055em}.brand span{font-size:9px;font-weight:700;letter-spacing:.11em;margin-top:5px}nav{display:flex;gap:clamp(14px,3vw,48px);font-size:14px}nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;gap:14px;background:var(--navy);color:white;font-size:13px;font-weight:700;padding:13px 17px}.button:hover{background:#253a53}.hero{position:relative;display:flex;align-items:end;min-height:clamp(490px,52vw,760px);isolation:isolate;background:#222;color:white}.hero img,.hero::after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::after{content:"";z-index:-1;background:linear-gradient(90deg,#000c,transparent 85%),linear-gradient(0deg,#0007,transparent 55%)}.intro{padding:54px var(--gutter) 64px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.17em;margin:0 0 16px}h1,h2,h3,p{margin-top:0}h1,h2{line-height:.98;letter-spacing:-.065em}h1{font-size:clamp(66px,9vw,150px);margin-bottom:20px}.intro>p:last-child{max-width:420px;font-size:clamp(16px,1.6vw,22px);margin-bottom:0}.hero small{position:absolute;bottom:12px;right:var(--gutter);font-size:10px}.wrap{padding:clamp(48px,7vw,105px) var(--gutter)}h2{font-size:clamp(43px,6vw,91px);margin-bottom:30px}.sectionhead{max-width:900px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.services article{border-top:1px solid var(--line);padding-top:19px}.services h3{font-size:25px;letter-spacing:-.04em;margin-bottom:8px}.services p,.contact p{max-width:38ch}.settings{background:#eee}.gallery{display:grid;grid-template-columns:repeat(10,1fr);gap:22px}.gallery figure{grid-column:span 5;margin:0}.gallery figure:first-child{grid-column:span 6}.gallery figure:nth-child(2){grid-column:span 4}.gallery img{width:100%;aspect-ratio:1.7;object-fit:cover;display:block}.gallery .feature img{aspect-ratio:auto;height:clamp(220px,30vw,450px)}figcaption{padding:10px 0;border-bottom:1px solid #bbb;font-size:12px}figcaption strong{font-size:15px;margin-left:10px}.note{font-size:12px;margin:17px 0 0;color:#444}.approach{background:#191919;color:white;display:grid;grid-template-columns:1fr 1fr}.approach img{width:100%;height:100%;object-fit:cover}.approach div{padding:clamp(35px,6vw,95px) var(--gutter)}.approach h2{font-size:clamp(42px,5vw,75px)}.approach div>p:not(.eyebrow){color:#ddd}.contact{background:#e9e9e7}.contact .button{margin-top:10px}footer{padding:30px var(--gutter);display:flex;align-items:center;gap:24px;font-size:12px}footer strong{font-size:28px;letter-spacing:-.07em}@media(max-width:690px){header{flex-wrap:wrap;gap:14px}nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:10px}.hero img{object-position:56% center}.intro{padding-bottom:47px}.services,.gallery,.approach{display:grid;grid-template-columns:1fr}.gallery figure,.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:auto}.approach img{height:250px}footer{align-items:start;gap:12px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.intro>p:last-child{text-transform:uppercase;letter-spacing:.055em;font-size:clamp(14px,1.35vw,19px)}
.brand{align-items:center;text-align:center}.brand strong{margin-left:0;padding-right:.085em}.button{text-transform:uppercase;letter-spacing:.065em;text-align:center;justify-content:center}.estimating{border-top:1px solid var(--line)}.estimate-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}.estimate-grid figure{margin:0}.estimate-grid img{width:100%;height:auto;display:block}.estimate-lead{font-size:22px;font-weight:bold;letter-spacing:-.025em}.estimate-grid dl{margin:0 0 24px}.estimate-grid dt{font-weight:bold;border-top:1px solid var(--line);padding-top:12px}.estimate-grid dd{margin:4px 0 14px;color:#404040}@media(max-width:760px){.estimate-grid{grid-template-columns:1fr}header nav{flex-wrap:wrap}}
.brand{flex-direction:row;gap:clamp(10px,1vw,17px);text-align:left;flex-shrink:0}.brand strong{padding:0;font-size:clamp(35px,4vw,60px)}.brand span{border-left:1px solid var(--line);max-width:112px;padding-left:clamp(10px,1vw,17px);margin:0;line-height:1.42}.systems,.builder{background:#f3f3f1}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px)}.system-grid article{border-top:1px solid #a6a6a4;padding-top:20px}.system-grid h3{font-size:clamp(24px,3vw,42px);line-height:1.05;letter-spacing:-.045em}.system-grid article>p:not(.eyebrow){max-width:52ch}.systems{border-top:1px solid var(--line)}.builder{border-bottom:1px solid var(--line)}@media(max-width:920px){header{flex-wrap:wrap;gap:14px}header nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:10px;flex-wrap:wrap}}@media(max-width:690px){.system-grid{grid-template-columns:1fr}}
header{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px}
header nav{justify-content:flex-end;gap:clamp(12px,2vw,28px)}
header .brand{justify-self:start;gap:clamp(16px,2vw,30px)}
header .brand span{padding-left:clamp(16px,2vw,30px);max-width:145px}
@media(max-width:920px){header{grid-template-columns:1fr}header nav{grid-row:2;justify-content:flex-start}}
header .brand strong{font-size:clamp(36px,4vw,54px)}
header .brand span{max-width:none;white-space:nowrap;font-size:clamp(20px,2.65vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.15}
@media(max-width:420px){header .brand{gap:12px}header .brand strong{font-size:34px}header .brand span{padding-left:12px;font-size:clamp(16px,4.7vw,19px)}}

@media(max-width:420px){header .brand span{font-size:clamp(13px,4.25vw,18px)}}
.standards{background:#4d4f52;color:#fff;padding:23px var(--gutter) 24px;border-block:1px solid #111}.standards>.eyebrow{text-align:center;margin-bottom:17px}.standards ul{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0}.standards li{display:grid;justify-items:center;text-align:center;align-content:start;gap:3px}.standards svg{width:28px;height:28px;color:#fff;margin-bottom:4px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.standards strong{font-size:11px;letter-spacing:.065em}.standards li span{font-size:11px;color:#ededed}@media(max-width:700px){.standards ul{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:19px}}

#inquiry-form{max-width:720px;display:grid;gap:20px;margin-top:32px}#inquiry-form label{display:grid;gap:8px}#inquiry-form input:not([type=checkbox]),#inquiry-form textarea{box-sizing:border-box;width:100%;padding:14px;border:1px solid #aaa;background:transparent;color:inherit;font:inherit}#inquiry-form .consent{display:flex;align-items:flex-start;font-size:14px}#inquiry-form button{cursor:pointer;font:inherit}#inquiry-form button:disabled{opacity:.6;cursor:wait}

/* Project inquiry card */
.contact{background:#eef1f3}.contact>p:not(.eyebrow){max-width:64ch;color:#526071}
#inquiry-form{max-width:900px;grid-template-columns:1fr 1fr;gap:24px;padding:clamp(24px,4vw,48px);background:#fff;border:1px solid #dce2e7;border-radius:16px;box-shadow:0 16px 48px #101f330a}
.form-heading{grid-column:1/-1;border-bottom:1px solid #e5e9ed;padding-bottom:24px;margin-bottom:4px}.form-heading .eyebrow{color:#617084;font-size:10px}.form-heading h3{font-size:32px;letter-spacing:-.04em;margin:10px 0}.form-heading p{color:#647080;margin:0;font-size:15px}
#inquiry-form label{font-size:13px;font-weight:600;color:#23344b;gap:10px}#inquiry-form label:has(textarea),#inquiry-form .consent,#form-status,#inquiry-form button{grid-column:1/-1}
#inquiry-form input:not([type=checkbox]),#inquiry-form textarea{border:1px solid #d9e0e6;border-radius:8px;background:#f8fafb;padding:15px 16px;font-size:15px;font-weight:400;transition:border-color .2s,box-shadow .2s}#inquiry-form input::placeholder,#inquiry-form textarea::placeholder{color:#8a95a2}#inquiry-form textarea{resize:vertical;min-height:140px}#inquiry-form input:focus,#inquiry-form textarea:focus{outline:none;border-color:#617d98;box-shadow:0 0 0 3px #617d981c;background:white}#inquiry-form .consent{font-weight:400;line-height:1.6;color:#617084;gap:10px}#inquiry-form input[type=checkbox]{accent-color:#101f33;width:17px;height:17px;flex-shrink:0}#inquiry-form button{border:0;border-radius:8px;padding:18px 24px;font-size:13px;letter-spacing:.07em}#form-status{margin:0;font-size:14px;color:#455b72}#form-status:empty{display:none}
@media(max-width:600px){#inquiry-form{grid-template-columns:1fr;gap:20px}.form-heading h3{font-size:27px}}
