@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--olive:#778228;--lavender:#DBC3E8;--paper:#FAFAF7;--ink:#151515;--rule:#57593e;--gutter:clamp(24px,5vw,80px);--step:clamp(24px,9vw,144px);--display:Display,Georgia,serif;--text:Text,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-bottom:100px;scrollbar-color:var(--olive) var(--lavender)}body{margin:0;padding-bottom:90px;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6}::selection{background:var(--ink);color:var(--lavender)}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,a,summary{-webkit-tap-highlight-color:#dbc3e8}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.03;text-wrap:balance}h1{font-size:clamp(3.2rem,6.1vw,6rem);letter-spacing:-.025em}h2{font-size:clamp(2.2rem,3.6vw,3.7rem);letter-spacing:-.02em}h3{font-size:1.6rem}p{max-width:68ch}p+p{margin-top:20px}img{display:block;max-width:100%;height:auto}figcaption{font-size:.85rem;margin-top:14px}ul,ol{margin:0;padding-left:24px}li+li{margin-top:14px}address{font-style:normal}strong,b{font-weight:650}button{font:inherit;color:inherit;border:1px solid var(--ink);background:transparent;min-height:44px;padding:8px 14px;cursor:pointer}button:hover{background:var(--paper)}button[aria-pressed=true]{background:var(--ink);color:var(--lavender)}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-90px;background:var(--paper);padding:12px 20px;z-index:20}.skip:focus{top:14px}header{padding:28px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--olive);min-height:180px}header p{font-size:.78rem;line-height:1.5;text-align:right}.brand{font-family:var(--display);font-size:2rem;line-height:1.1;text-decoration:none;display:inline-block}.brand span{font-family:var(--text);display:block;font-size:.75rem;line-height:1.8;letter-spacing:.025em;margin-top:7px}.intro{background:var(--lavender);padding:64px var(--gutter) 70px}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;min-height:500px;padding-top:40px;padding-bottom:40px}.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;max-width:47ch;margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;margin-top:22px}.dimension-sheet{width:100%;max-width:600px;justify-self:end}.dimension-sheet svg{width:100%;height:auto;max-height:320px;display:block;font-family:var(--text);font-size:17px}.dimension-sheet figcaption{border-top:1px solid var(--ink);padding-top:16px;margin-top:0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.dimension-sheet strong{font-size:.95rem}.unit-controls{display:flex;gap:5px;margin-left:auto}.unit-controls button{font-size:.78rem;padding:8px 10px}.unit-status{width:100%;font-variant-numeric:tabular-nums;font-size:.9rem}.dimension-sheet small{font-size:.75rem;line-height:1.5;max-width:65ch}.offerings{padding:70px var(--step) 80px;background:var(--paper)}.service-index{margin-top:36px}.service-index a{display:grid;grid-template-columns:1fr 1fr 30px;align-items:center;gap:30px;padding:25px 0;border-top:1px solid var(--ink);text-decoration:none;min-height:92px}.service-index a:last-child{border-bottom:1px solid var(--ink)}.service-index a:hover{background:var(--lavender)}.service-index span:first-child{font-family:var(--display);font-size:2rem}.service-index span:nth-child(2){font-size:.92rem}.service-index b{font-weight:400;font-size:1.5rem}.work-band{background:var(--olive);padding:72px var(--gutter);display:grid;grid-template-columns:.7fr 1.3fr;gap:7%;align-items:center}.work-caption p{margin-top:24px}.fine{font-size:.8rem;line-height:1.6}.work-band img{width:100%}.process{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;padding:90px var(--step);background:var(--lavender)}.process ol{padding-left:24px}.process li{padding-left:12px}.process li+li{margin-top:32px}.process p{margin-top:12px}.resource-band{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:76px var(--gutter)}.contact-band{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:var(--olive);padding:70px var(--step)}.button{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;padding:12px 20px;background:var(--ink);color:var(--paper);text-decoration:none;min-height:48px;margin-top:28px}.button:hover{background:var(--paper);color:var(--ink)}footer{padding:58px var(--gutter) 44px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:30px}.footer-top div{display:flex;flex-wrap:wrap;gap:28px}.footer-top div a{display:inline-block;min-height:44px;padding-top:10px}footer address{font-size:.87rem}footer address a{display:inline-block;min-height:44px;padding-top:10px}footer .fine{margin-top:16px}.dock{position:fixed;z-index:10;bottom:16px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;padding:7px;box-shadow:0 8px 25px #15151526}.dock a{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;padding:8px 12px;font-size:.9rem}.dock a:hover,.dock a[aria-current=page]{background:var(--lavender);color:var(--ink)}.dock a:focus-visible{outline-color:var(--paper);outline-offset:-3px}.compact{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:end;padding-top:64px;padding-bottom:70px}.compact .lead{margin:0}.service-detail{padding:76px var(--step);display:grid;grid-template-columns:1fr 1fr;gap:12%}.service-detail p{margin-top:24px}dl{font-size:.96rem}dt{font-weight:650;margin-top:22px}dt:first-child{margin-top:0}dd{margin:5px 0 0}.olive{background:var(--olive)}.drawing-band{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:65px var(--gutter);background:var(--paper);align-items:center}.drawing-band p{margin-top:24px}.drawing-band .dimension-sheet{background:var(--lavender);padding:24px}.scope-band{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;padding:80px var(--step);background:var(--lavender)}.scope-band h3:not(:first-child){margin-top:32px}.scope-band p{margin-top:15px}.project-sheet{padding:70px var(--gutter);display:grid;grid-template-columns:1.4fr .7fr;gap:7%;align-items:center}.project-sheet p{margin-top:24px}.project-sheet dl{margin-top:26px}.work-record{background:var(--olive);padding:72px var(--step);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.work-record p,.work-record dl{margin-top:24px}.owner-band{padding:72px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.owner-band .lead{margin-top:14px}.owner-band p{margin-top:20px}.team-band{background:var(--olive);padding:72px var(--step);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.team-band p{margin-top:22px}.reviews-band{padding:76px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--lavender)}.review-instruction{border-top:1px solid var(--ink);padding-top:26px}.review-instruction p{margin-top:24px}.review-instruction dl{margin-top:24px}.faq-band{padding:76px var(--step);display:grid;grid-template-columns:.7fr 1.3fr;gap:8%}details{border-top:1px solid var(--ink)}details:last-child{border-bottom:1px solid var(--ink)}summary{padding:23px 6px;min-height:60px;cursor:pointer;font-size:1.1rem;font-weight:600}details p{padding:0 6px 28px}details[open]{background:var(--lavender)}.contact-details{padding:76px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-details address{margin:26px 0}.contact-link{display:block;min-height:44px;width:fit-content;font-size:clamp(1.1rem,2vw,1.5rem)}.contact-details ul{margin:28px 0}.credentials-band{padding:70px var(--step);background:var(--olive);display:grid;grid-template-columns:1fr 1fr;gap:10%}.profiles-band{padding:70px var(--gutter);background:var(--lavender)}.profiles-band p{margin-top:24px}.profiles-band ul{margin-top:24px}.start{padding:48px;max-width:900px;margin:auto}.start h1{font-size:3.5rem}.start p{margin-top:24px}.start li{margin-top:12px}
@media(max-width:900px){.home-intro{gap:24px;min-height:0}.home-intro h1{font-size:clamp(3rem,7vw,5rem)}.unit-controls{margin-left:0}.compact{gap:6%}.work-band{grid-template-columns:.85fr 1.15fr;gap:5%}.process,.scope-band{gap:7%}.project-sheet{grid-template-columns:1fr;gap:36px}.project-sheet>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-sheet>div>h2{grid-row:span 2}.project-sheet p,.project-sheet dl{margin-top:0}.footer-top{align-items:start}}
@media(max-width:650px){body{padding-bottom:84px}header{padding:23px 24px;min-height:102px;gap:18px}.brand{font-size:1.6rem}.brand span{font-size:.75rem}header p{font-size:.75rem}.intro,.compact{padding:44px 24px 50px}.home-intro,.compact{grid-template-columns:1fr;gap:36px}.home-intro h1{font-size:3.7rem}.lead{font-size:1.05rem;margin-top:24px}.dimension-sheet{max-width:none}.dimension-sheet svg{max-height:330px}.dimension-sheet figcaption{gap:12px}.unit-controls{margin-left:auto}.unit-controls button{font-size:.75rem}.offerings,.process,.resource-band,.contact-band,.service-detail,.drawing-band,.scope-band,.project-sheet,.work-record,.owner-band,.team-band,.reviews-band,.faq-band,.contact-details,.credentials-band,.profiles-band{padding:50px 24px;grid-template-columns:1fr;gap:30px}.service-index{margin-top:28px}.service-index a{grid-template-columns:1fr 25px;gap:6px;padding:20px 0}.service-index span:first-child{font-size:1.8rem}.service-index span:nth-child(2){grid-row:2;font-size:.82rem}.service-index b{grid-column:2;grid-row:1 / span 2}.work-band{padding:50px 24px;grid-template-columns:1fr;gap:30px}.work-caption p{margin-top:20px}.process ol{padding-left:20px}.process li{padding-left:8px}.project-sheet>div{display:block}.project-sheet p,.project-sheet dl{margin-top:24px}.project-sheet>div>h2{grid-row:auto}.drawing-band .dimension-sheet{padding:16px}.drawing-band .unit-controls{margin-left:0}.owner-band figure{order:2}.team-band figure{order:2}.footer-top{display:block}.footer-top div{gap:12px 24px;margin-top:20px}.footer-top div a{font-size:.86rem}footer{padding:45px 24px 35px}.dock{bottom:10px;width:calc(100% - 20px);padding:5px}.dock a{padding:8px 5px;font-size:.8rem;min-height:46px}.contact-link{font-size:1.2rem}.start{padding:32px 24px}.start h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.start h2{margin-top:56px;margin-bottom:24px}.start ol{padding-left:24px}.start ol a{display:inline-block;padding:8px 0;min-height:44px}

header,.olive,.work-band,.contact-band,.work-record,.team-band,.credentials-band{--ink:#000;color:#000}.text-link svg,.button svg,.service-index svg{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.brand span{font-size:.75rem}@media(max-width:650px){header{align-items:flex-start;min-height:112px}.home-intro{padding-top:44px;padding-bottom:50px}header p{max-width:110px}.brand{font-size:1.5rem}.brand span{max-width:160px}}
