@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--bg:#f5f2ec;--paper:#fffcf7;--ink:#252d27;--muted:#66695e;--sage:#7f9077;--line:#d9dacf;--cream:#e7e3d8;--dark:#25352b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#cad8c4} .container{width:min(1200px,calc(100% - 64px));margin:auto}.nav{position:sticky;top:0;z-index:20;background:rgba(245,242,236,.93);backdrop-filter:blur(18px);border-bottom:1px solid #deded2}.nav-inner{min-height:84px;display:flex;align-items:center;gap:34px}.logo{font-family:Manrope,sans-serif;font-weight:700;font-size:26px;letter-spacing:-1.8px;white-space:nowrap}.logo i{font-style:normal;color:#819274}.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto}.nav-links a{font-size:13px;color:#474d44}.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:13px 22px;border:1px solid var(--dark);border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.015em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--dark);color:white}.btn-secondary{background:transparent;color:var(--dark)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px;border-radius:3px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:700;color:#68775f}.section{padding:105px 0}.hero{min-height:690px;padding:105px 0 90px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hero h1,.page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(51px,5.55vw,87px);line-height:1.1;letter-spacing:-.055em;font-weight:400;margin:22px 0 26px}.hero h1 em{font-style:italic;color:#788d74}.lead{font-size:17px;line-height:1.85;color:#676c63;max-width:510px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0}.micro{font-size:11px;color:#797e74;letter-spacing:.04em}.artboard{height:540px;position:relative;background:#dedfd2;overflow:hidden;border-radius:150px 150px 3px 3px}.artboard:before{content:'';position:absolute;width:430px;height:430px;background:#eff0e5;border-radius:50%;top:55px;left:50%;transform:translateX(-50%)}.artboard:after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;background:#b5c1a8;right:-30px;bottom:90px}.arch{position:absolute;left:10%;right:10%;top:75px;bottom:0;border:2px solid rgba(58,77,59,.15);border-bottom:0;border-radius:190px 190px 0 0}.paper-card{position:absolute;background:#fffdf8;box-shadow:0 28px 70px #354a3936;border:1px solid #e1e5db}.mock{left:15%;top:22%;width:73%;height:58%;transform:rotate(-5deg);overflow:hidden}.mock-top{height:23px;background:#efece3;border-bottom:1px solid #dddcd2;padding:9px 14px;display:flex;gap:4px}.dot{height:5px;width:5px;border-radius:50%;background:#b2baac}.mock-content{padding:32px;background:#f5f2ec;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mock h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(19px,2.5vw,32px);line-height:1.16;margin:22px 0}.mock p{font-size:8px;line-height:1.8;color:#777}.mock-button{display:inline-block;background:#39463a;color:white;font-size:8px;padding:10px 15px}.scene{background:#949e8b;border-radius:110px 110px 0 0;position:relative;overflow:hidden}.scene:before{content:'';position:absolute;width:90%;height:30%;background:#d7d6c4;bottom:0;left:5%;clip-path:polygon(0 100%,50% 0,100% 100%)}.scene:after{content:'';position:absolute;left:45%;top:11%;height:75%;width:2px;background:#e6e7d7;box-shadow:35px 0 #dfe4d7,-35px 0 #dfe4d7}.floating{position:absolute;right:4%;bottom:14%;padding:18px 23px;background:#fffdf8;transform:rotate(6deg);font-family:Georgia,serif;font-size:17px;box-shadow:0 15px 40px #0002}.floating small{display:block;font:10px 'DM Sans',sans-serif;color:#778174;margin-top:7px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0eee5;padding:24px 0}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.strip span{font-size:12px;color:#566054}.strip strong{font-family:Georgia,serif;font-size:17px;font-weight:400}.section-head{max-width:650px;margin-bottom:45px}.section h2,.page-hero h1{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.045em}.section h2{font-size:clamp(37px,4.7vw,63px);line-height:1.17;margin:15px 0}.section p{color:#6d7269;line-height:1.85}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{background:var(--paper);border:1px solid var(--line);padding:45px;min-height:365px;display:flex;flex-direction:column;align-items:flex-start}.service-card .number{font-size:11px;color:#8e9c89}.service-card h3{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:60px 0 8px}.service-card p{max-width:365px;font-size:14px}.arrow-link{margin-top:auto;border-bottom:1px solid #586756;padding-bottom:8px;font-weight:700;font-size:12px}.section-dark{background:var(--dark);color:#f5f2eb}.section-dark p{color:#c8d0c5}.section-dark .eyebrow{color:#bec9b6}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.quote-big{font:400 clamp(42px,5vw,67px)/1.2 Georgia,serif;letter-spacing:-.035em}.quote-big em{color:#a4b49d}.list-line{padding:20px 0;border-bottom:1px solid #617263;font-size:13px;display:flex;justify-content:space-between}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{background:#e1e4d8;border:1px solid #d4d8ce;min-height:330px;padding:20px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.project:nth-child(2){background:#e3d8cb}.project:nth-child(3){background:#d4ddda}.project .window{position:absolute;top:34px;left:28px;right:28px;height:178px;background:#faf8f2;box-shadow:0 17px 30px #0001;padding:13px;transform:rotate(-3deg)}.project:nth-child(2) .window{transform:rotate(3deg)}.window small{font:700 9px Georgia,serif}.window .window-hero{margin-top:15px;height:104px;display:flex;gap:12px}.window .bars{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px}.window .bars i{display:block;height:6px;background:#d2d9cf}.window .bars i:nth-child(1){width:75%;height:14px;background:#677665}.window .bars i:nth-child(3){width:54%}.window .tile{width:45%;background:linear-gradient(140deg,#7d8f7d,#b7c6ab);border-radius:60px 60px 0 0}.project h3{font:400 22px Georgia,serif;margin:0 0 5px}.project p{font-size:11px;margin:0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.step{border-top:1px solid #cfd2c7;padding-top:25px}.step span{font:italic 36px Georgia,serif;color:#8d9988}.step h3{font:400 27px Georgia,serif}.step p{font-size:13px}.cta{background:#e4e7da;padding:85px 0;text-align:center}.cta h2{font:400 clamp(40px,5vw,67px)/1.16 Georgia,serif;letter-spacing:-.045em;max-width:760px;margin:15px auto}.cta p{color:#687267}.footer{padding:55px 0 30px;background:#202c24;color:#eee}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .logo{font-size:30px}.footer p{font-size:12px;line-height:1.8;color:#b7c2b6}.footer a{display:block;font-size:12px;color:#d0d9cf;margin:12px 0}.footer-bottom{border-top:1px solid #455348;margin-top:50px;padding-top:20px;color:#9caa9b;font-size:11px;display:flex;justify-content:space-between;gap:15px}.page-hero{padding:105px 0 85px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:910px;font-size:clamp(50px,6.5vw,85px)}.page-hero p{max-width:690px}.editorial{max-width:790px;margin:0 auto}.editorial h2{font:400 39px Georgia,serif;letter-spacing:-.03em}.editorial p,.editorial li{line-height:1.9;color:#59645b}.editorial li{margin:8px 0}.contact-layout{display:grid;grid-template-columns: .8fr 1.2fr;gap:70px}.form{background:#fffcf7;border:1px solid var(--line);padding:37px;display:grid;gap:19px}.form label{font-weight:700;font-size:11px;display:block;margin-bottom:9px}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #cfd5cb;background:#fff;color:var(--ink);border-radius:2px;outline-offset:3px}.form textarea{min-height:125px;resize:vertical}.form .notice{font-size:11px;line-height:1.6;color:#72786e}.form-status{font-size:12px;color:#344c36;min-height:20px}.minor{font-size:12px;color:#7b8077}.faq details{padding:24px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600}.faq details p{font-size:14px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8b9f83;outline-offset:4px}@media(max-width:950px){.hero-grid{gap:34px}.hero h1{font-size:58px}.split{gap:38px}}@media(max-width:740px){.container{width:min(100% - 34px,1200px)}.nav-inner{min-height:69px}.logo{font-size:23px}.menu-toggle{display:block;margin-left:auto}.nav-links{position:absolute;top:69px;left:0;right:0;background:var(--bg);padding:18px 22px 26px;display:none;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.desktop-btn{display:none}.hero{padding:65px 0 60px;min-height:unset}.hero-grid,.split,.contact-layout{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(47px,12vw,74px)}.artboard{height:420px;max-width:510px;width:100%;margin:auto}.strip-inner{flex-wrap:wrap;justify-content:center;text-align:center}.strip strong{display:none}.section{padding:72px 0}.cards,.portfolio-grid,.process{grid-template-columns:1fr}.service-card{min-height:300px;padding:30px}.service-card h3{margin-top:35px}.portfolio-grid .project{min-height:305px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.page-hero{padding:64px 0}.page-hero h1{font-size:clamp(45px,11vw,65px)}.form{padding:23px}.footer-bottom{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media(min-width:741px){.nav-links .btn{display:none}}

/* V2 / contractor editorial photo language */
.contractor-hero{position:relative;background:#f4f0e7;padding-top:83px;padding-bottom:115px}.hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.09' filter='url(%23n)'/%3E%3C/svg%3E")}.contractor-hero .hero-grid{grid-template-columns:1.08fr .92fr;gap:68px}.contractor-hero h1{font-size:clamp(52px,5.9vw,94px);line-height:1.06;letter-spacing:-.059em}.contractor-hero .lead{max-width:510px}.contractor-hero .eyebrow{display:flex;align-items:center;gap:11px}.live-dot{display:inline-block;width:8px;height:8px;background:#879c7e;border-radius:100%;box-shadow:0 0 0 5px #879c7e20}.hero-proof{display:flex;align-items:center;gap:16px;margin-top:58px;font-size:10px;letter-spacing:.13em;color:#7c8277}.hero-proof-rule{display:block;width:31px;height:1px;background:#858b7f}.hero-visual{height:600px;position:relative;isolation:isolate}.hero-photo-wrap{position:absolute;inset:0 35px 32px 0;border-radius:230px 230px 3px 3px;overflow:hidden;background:linear-gradient(135deg,#8a9081,#c9c4b5)}.hero-photo{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(.96);transition:transform 1.4s cubic-bezier(.19,1,.22,1)}.hero-visual:hover .hero-photo{transform:scale(1.055)}.hero-photo-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,#0b190b66)}.photo-credit{position:absolute;bottom:20px;left:24px;color:white;z-index:1;font-size:9px;letter-spacing:.12em}.hero-label{position:absolute;right:0;bottom:0;width:265px;padding:24px 26px;background:#fffdf8;box-shadow:0 20px 55px #1a28152c;display:flex;flex-direction:column;gap:13px;animation:labelFloat 7s ease-in-out infinite}.label-kicker{font-size:9px;letter-spacing:.15em;color:#84917b}.hero-label strong{font:normal 27px/1.18 Georgia,serif;letter-spacing:-.03em}.label-arrow{align-self:flex-end;color:#71866e}.hero-number{position:absolute;top:42px;right:0;font:italic 42px Georgia,serif;color:#788b74}.hero-number span{font:12px 'DM Sans',sans-serif;color:#a1a99a}.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:25px;align-items:center;color:#7b8479;font-size:9px;letter-spacing:.15em}.scroll-cue span{font-size:20px;animation:cue 2s infinite}.photo-project{min-width:0}.photo-project-media{height:360px;position:relative;overflow:hidden;background:#d7d9ce}.photo-project-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78);transition:transform .85s cubic-bezier(.19,1,.22,1),filter .7s}.photo-project:hover img{transform:scale(1.075);filter:saturate(1)}.photo-project-media:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101c1380);pointer-events:none}.photo-project-tag{position:absolute;left:21px;bottom:21px;color:#fff;z-index:1;font-size:10px;letter-spacing:.12em}.photo-project-arrow{position:absolute;right:19px;top:17px;width:37px;height:37px;display:grid;place-items:center;background:#fffdf2;color:#273329;border-radius:100%;transition:transform .3s}.photo-project:hover .photo-project-arrow{transform:rotate(45deg)}.photo-project-copy h3{font:normal 24px Georgia,serif;margin:20px 0 4px}.photo-project-copy p{font-size:12px;margin:0}.trade-section{background:#e9e6dc}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.trade-visual{height:570px;position:relative;overflow:hidden;background:#b7bdb1}.trade-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1s}.trade-visual:hover img{transform:scale(1.05)}.trade-image-label{position:absolute;bottom:23px;left:22px;color:#fff;background:#23372bdc;padding:17px 22px;font-size:11px;line-height:1.6;letter-spacing:.12em}.trade-content h2{font:normal clamp(38px,4vw,60px)/1.15 Georgia,serif;letter-spacing:-.045em}.trade-content h2 em{color:#74886e}.trade-content p{max-width:490px}.trade-list{margin:35px 0}.trade-list>div{display:flex;gap:22px;padding:18px 0;border-bottom:1px solid #cbcfc4;align-items:start}.trade-list b{font-size:11px;color:#86977e}.trade-list span{font-size:13px;color:#535b53}.interior-photo-banner{height:310px;position:relative;overflow:hidden;background:#c7c8b7}.interior-photo-banner img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.7) brightness(.75)}.interior-photo-banner span{position:absolute;bottom:28px;left:max(34px,calc((100% - 1200px)/2));color:white;font-size:10px;letter-spacing:.18em}.btn-primary{position:relative;overflow:hidden}.btn-primary:before{content:'';position:absolute;inset:0;background:#4d6853;transform:translateX(-101%);transition:transform .45s cubic-bezier(.19,1,.22,1)}.btn-primary:hover:before{transform:translateX(0)}.btn-primary{isolation:isolate}.btn-primary:before{z-index:-1}.service-card{transition:transform .4s,box-shadow .4s,border-color .4s}.service-card:hover{transform:translateY(-7px);border-color:#aab5a3;box-shadow:0 18px 45px #24372613}.reveal{transform:translateY(35px);transition:transform 1s cubic-bezier(.19,1,.22,1),opacity .9s}.reveal.visible{transform:none}.step{transition:transform .3s}.step:hover{transform:translateY(-5px)}@keyframes labelFloat{50%{transform:translateY(-9px)}}@keyframes cue{50%{transform:translateY(6px)}}@media(max-width:900px){.contractor-hero .hero-grid,.trade-grid{gap:35px}.hero-visual{height:510px}.trade-visual{height:450px}.photo-project-media{height:270px}}@media(max-width:740px){.contractor-hero{padding-top:54px;padding-bottom:65px}.contractor-hero .hero-grid,.trade-grid{grid-template-columns:1fr}.contractor-hero h1{font-size:clamp(48px,11vw,72px)}.hero-visual{height:480px;max-width:550px;width:100%;margin:0 auto}.hero-photo-wrap{right:23px}.hero-label{width:225px;padding:20px}.hero-label strong{font-size:23px}.hero-proof{margin-top:30px}.scroll-cue{display:none}.trade-visual{height:380px}.interior-photo-banner{height:220px}}@media(prefers-reduced-motion:reduce){.hero-label,.scroll-cue span{animation:none}.hero-photo,.photo-project-media img,.trade-visual img,.service-card,.step{transition:none!important}}
