:root{--ink:#162321;--deep:#102522;--paper:#f4f1ea;--warm:#ded8cc;--accent:#c5623c;--mint:#dfe9e4;--line:rgba(22,35,33,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}a{color:inherit;text-decoration:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);position:absolute;width:100%;z-index:10;color:#fff}.brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;letter-spacing:.04em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid currentColor;font-size:12px;letter-spacing:-.05em}.main-nav{display:flex;align-items:center;gap:31px;font-size:14px;font-weight:600}.main-nav>a:not(.nav-cta){opacity:.85}.nav-cta{border:1px solid rgba(255,255,255,.6);padding:11px 16px}.nav-cta span,.button span{margin-left:9px;font-size:18px}.menu-toggle{display:none}.hero{min-height:760px;background:var(--deep);color:#fff;display:grid;grid-template-columns:1.07fr .93fr;padding:150px max(5vw,28px) 80px;position:relative;overflow:hidden}.hero-content{align-self:center;max-width:690px;z-index:2}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;margin-bottom:23px}.hero h1{font-size:clamp(48px,6vw,86px);font-weight:700;line-height:1.05}.hero h1 em,h2 em{font-weight:500;color:#e6ad91}.hero-intro{max-width:480px;margin-top:28px;font-size:18px;line-height:1.6;color:#d7dfdc}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border:0;font:700 14px "DM Sans";cursor:pointer}.button-primary{background:var(--accent);color:#fff}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}.text-link span{margin-left:7px}.hero-visual{position:relative;min-height:440px;align-self:center;margin-left:3vw}.sun{width:min(31vw,400px);height:min(31vw,400px);border-radius:50%;position:absolute;top:4%;left:12%;background:#d9e4d4}.house{position:absolute;width:72%;height:58%;bottom:8%;left:13%;background:#bb5b38;clip-path:polygon(0 31%,38% 0,100% 30%,100% 100%,0 100%)}.upper{position:absolute;background:#e6c1a7;width:22%;height:25%;left:12%;top:37%}.lower{position:absolute;background:#e9e5d5;width:33%;height:31%;right:12%;bottom:0}.window{position:absolute;background:var(--deep);border:6px solid #e5d3c4}.window-one{width:17%;height:23%;left:52%;top:42%}.window-two{width:15%;height:19%;left:12%;bottom:13%}.door{position:absolute;background:var(--deep);width:14%;height:37%;right:14%;bottom:0}.architectural-lines{position:absolute;border:1px solid rgba(255,255,255,.25)}.lines-one{height:103%;width:95%;left:0;top:-5%;transform:rotate(32deg)}.lines-two{height:78%;width:75%;right:-6%;bottom:-8%;transform:rotate(32deg)}.drawing-label{position:absolute;right:0;bottom:0;font:600 10px "DM Sans";letter-spacing:.18em}.scroll-prompt{position:absolute;bottom:30px;left:max(5vw,28px);display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.scroll-prompt span{display:block;width:33px;height:1px;background:#fff}.intro-section,.references-section,.about-section,.contact-section{padding:130px max(7vw,28px)}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:60px 10vw}.section-heading h2,.references-header h2,.about-section h2,.contact-heading h2{font-size:clamp(38px,4.4vw,64px);line-height:1.1}.section-lead{font-size:20px;line-height:1.65;max-width:540px;align-self:end}.services-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:260px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.service-number{font-size:12px;color:var(--accent);font-weight:700}.service-card h3{font-size:25px;line-height:1.18;margin:44px 0 11px}.service-card p{font-size:15px;line-height:1.6}.service-card.featured{background:var(--mint)}.call-card{justify-content:space-between}.call-card p{font:600 25px/1.22 Manrope;letter-spacing:-.04em}.call-card a{font-weight:700;border-bottom:1px solid var(--ink);width:max-content}.process-section{background:var(--deep);color:#fff;padding:130px max(7vw,28px);display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.process-section h2{font:600 clamp(36px,4vw,58px)/1.13 Manrope;letter-spacing:-.05em}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.3)}.process-list li{display:flex;gap:28px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.3)}.process-list li>span{color:#e6ad91;font:700 12px "DM Sans";padding-top:6px}.process-list h3{font-size:23px;margin-bottom:7px}.process-list p{color:#c5d0cc}.references-section{background:#e5e1d8}.references-header{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:60px}.references-header>p{max-width:350px;font-size:15px}.reference-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:36px}.reference-large{grid-row:span 2}.reference-art{height:300px;background:#92a7a2;position:relative;overflow:hidden}.reference-large .reference-art{height:636px}.reference-art:before,.reference-art:after{content:"";position:absolute}.art-one{background:linear-gradient(145deg,#b77b5c 0 35%,#d9c8b7 35% 67%,#68847d 67%)}.art-one:before{width:70%;height:60%;bottom:-5%;left:14%;background:#f0eadb;clip-path:polygon(0 39%,48% 0,100% 37%,100% 100%,0 100%)}.art-one:after{width:17%;height:27%;background:#284842;bottom:0;right:31%}.art-two{background:linear-gradient(125deg,#d1b495 0 36%,#8aa39b 36% 72%,#e5d7c0 72%)}.art-two:before{width:49%;height:63%;bottom:0;left:27%;background:#f3eedf;clip-path:polygon(0 28%,100% 0,100% 100%,0 100%)}.art-three{background:linear-gradient(180deg,#c26744 0 30%,#d8d3c4 30%)}.art-three:before{width:100%;height:35%;bottom:0;background:#6c8b82;clip-path:polygon(0 58%,17% 23%,36% 69%,55% 13%,75% 67%,100% 0,100%)}.reference-art span{position:absolute;z-index:2;left:20px;top:18px;font:700 12px "DM Sans";letter-spacing:.18em;color:#fff}.reference-meta{padding-top:15px}.reference-meta h3{font-size:20px;margin-bottom:2px}.reference-meta p{font-size:13px}.about-section{background:var(--paper)}.large-quote{font:600 clamp(32px,4.3vw,61px)/1.12 Manrope;letter-spacing:-.06em;max-width:950px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:110px}.about-grid>div:last-child{font-size:18px;line-height:1.65}.about-grid>div:last-child p+p{margin-top:22px}.contact-section{background:var(--mint)}.contact-heading{max-width:700px}.contact-heading>p:last-child{font-size:18px;margin-top:25px;max-width:520px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;margin-top:66px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{font-size:13px;font-weight:700}.contact-form label span{font-weight:400}.contact-form input,.contact-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid rgba(22,35,33,.5);padding:10px 0 8px;margin-top:2px;font:16px "DM Sans";outline:none;border-radius:0}.contact-form textarea{resize:vertical}.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4),.contact-form button,.form-note{grid-column:1/-1}.contact-form .button{justify-self:start;margin-top:7px}.form-note{font-size:12px;color:#52605c}.contact-details{border-left:1px solid rgba(22,35,33,.35);padding-left:35px}.contact-details>a{display:block;font:600 25px/1.35 Manrope;letter-spacing:-.04em;margin-bottom:6px}.contact-details address{font-style:normal;margin-top:40px;line-height:1.7}.availability{margin-top:20px;font-size:13px}footer{background:var(--deep);color:#fff;padding:35px max(7vw,28px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:#c9d2ce}footer .brand{color:#fff}footer p{margin:0}@media(max-width:800px){.site-header{height:72px;padding:0 22px}.menu-toggle{display:flex;width:38px;height:38px;border:0;background:transparent;color:#fff;flex-direction:column;gap:5px;align-items:center;justify-content:center}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor}.main-nav{display:none;position:absolute;top:72px;left:0;width:100%;background:var(--deep);padding:15px 22px 25px;flex-direction:column;align-items:flex-start;gap:20px}.main-nav.is-open{display:flex}.nav-cta{padding:0;border:0}.hero{min-height:800px;display:block;padding:120px 22px 60px}.hero h1{font-size:52px}.hero-intro{font-size:16px}.hero-visual{height:330px;min-height:0;margin:35px 0 0}.sun{width:265px;height:265px;left:10%}.house{height:66%;width:78%;left:7%}.scroll-prompt{display:none}.intro-section,.references-section,.about-section,.contact-section,.process-section{padding:80px 22px}.intro-section,.process-section{display:block}.section-lead{font-size:17px;margin-top:28px}.services-grid{grid-template-columns:1fr 1fr;margin-top:38px}.service-card{min-height:220px;padding:20px}.service-card h3{font-size:21px;margin-top:34px}.service-card p{font-size:14px}.process-copy{margin-bottom:45px}.references-header{display:block;margin-bottom:40px}.references-header>p{margin-top:20px}.reference-grid{grid-template-columns:1fr;gap:30px}.reference-large{grid-row:auto}.reference-large .reference-art,.reference-art{height:330px}.about-grid{display:block;margin-top:65px}.about-grid>div:last-child{font-size:17px;margin-top:30px}.contact-grid{display:block;margin-top:45px}.contact-form{display:block}.contact-form label{display:block;margin-bottom:20px}.contact-form .button{margin-top:4px}.contact-details{border-left:0;border-top:1px solid rgba(22,35,33,.35);padding:30px 0 0;margin-top:55px}.contact-details>a{font-size:23px}footer{padding:32px 22px;display:block}footer p{margin-top:18px}}@media(max-width:430px){.hero h1{font-size:43px}.hero-actions{display:block}.hero-actions .text-link{display:inline-block;margin-top:23px}.services-grid{grid-template-columns:1fr}.service-card{min-height:190px}.contact-heading h2{font-size:39px}}
