:root{--ink:#111311;--paper:#f3f0e9;--warm:#d7cbbd;--line:#d8d4ca;--muted:#6f726b;--charcoal:#171a17;--soft:#e7e2d8;--accent:#9b795b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{position:fixed;inset:0 0 auto;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;z-index:50;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.35s ease}.site-header.scrolled{background:rgba(243,240,233,.94);backdrop-filter:blur(16px);color:var(--ink);border-bottom-color:rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:12px;font:600 14px Manrope,sans-serif;letter-spacing:-.01em}.brand-mark{width:38px;height:38px;border:1px solid currentColor;display:grid;place-items:center;font-size:11px;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav a:not(.nav-cta){opacity:.86}.nav a:hover{opacity:1}.nav-cta{padding:11px 16px;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;color:inherit}.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/homepage-hero-sanjuans-v22.png') center 48%/cover no-repeat;transform:scale(1.025)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,7,.78) 0%,rgba(7,9,7,.42) 38%,rgba(7,9,7,.08) 72%),linear-gradient(0deg,rgba(8,10,8,.64) 0%,transparent 48%)}.hero-content{position:relative;z-index:2;width:min(1080px,88vw);padding:110px 0 0 7vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:10px;color:#686b64}.eyebrow.light{color:rgba(255,255,255,.72)}.hero h1{font:600 clamp(58px,7.1vw,110px)/.96 Manrope,sans-serif;letter-spacing:-.052em;margin:20px 0 24px;max-width:1000px}.hero h1 span{font-weight:500;color:rgba(255,255,255,.9)}.hero-copy{font-size:19px;line-height:1.62;max-width:690px;color:rgba(255,255,255,.82);margin:0}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid transparent;font-size:13px;transition:.25s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:#111;border-color:#fff}.button-line{color:#fff;border-color:rgba(255,255,255,.65);background:transparent}.hero-cred{position:absolute;z-index:2;bottom:34px;right:4vw;display:flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.72)}.hero-cred i{width:18px;height:1px;background:rgba(255,255,255,.45)}.section{padding:125px 7vw}.statement{display:grid;grid-template-columns:.7fr 1.7fr;gap:7vw;align-items:start}.statement-copy h2,.capabilities-head h2,.about-copy h2,.section-intro h2,.process-copy h2,.contact h2{font:600 clamp(43px,5.3vw,78px)/1.02 Manrope,sans-serif;letter-spacing:-.05em;margin:14px 0 28px}.statement-copy p,.about-copy p,.process-copy>p:last-child,.contact-copy>p{font-size:18px;line-height:1.76;color:#555951;max-width:760px}.section-dark{background:var(--charcoal);color:#f6f3ed}.section-shell{padding:125px 7vw}.section-intro{max-width:940px;margin-bottom:70px}.section-intro h2{max-width:820px}.section-intro>p:last-child{max-width:660px;font-size:17px;line-height:1.7;color:#adb0aa}.project-feature,.project-tile,.project-wide{position:relative;cursor:pointer}.project-image{overflow:hidden;background-color:#2b2d29;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-feature .project-image{aspect-ratio:16/8.4}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:70px 0}.project-tile .project-image{aspect-ratio:4/3}.project-wide{width:72%;margin-left:auto}.project-wide .project-image{aspect-ratio:16/10}.project-pine{background-image:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.25)),url('assets/788a-pine/01.webp')}.project-ross{background-image:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.24)),url('assets/ross-rd/01.webp')}.project-galena{background-image:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.22)),url('assets/casa-galena/01.webp')}.project-bath{background-image:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.18)),url('assets/bathrooms/02.webp')}.project-feature:hover .project-image,.project-tile:hover .project-image,.project-wide:hover .project-image{transform:scale(1.012)}.project-hit{position:absolute;inset:0;z-index:4;background:transparent;border:0;cursor:pointer}.project-caption{display:flex;justify-content:space-between;align-items:flex-end;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);margin-top:15px}.project-caption span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#9ea19b}.project-caption h3{font:600 clamp(28px,3vw,46px)/1 Manrope;margin:9px 0 7px;letter-spacing:-.04em}.project-caption p{margin:0;color:#9ea19b}.project-arrow{padding-bottom:7px;transition:.25s}.project-feature:hover .project-arrow,.project-tile:hover .project-arrow,.project-wide:hover .project-arrow{transform:translateX(4px)}.capabilities{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw}.capabilities-head{position:sticky;top:125px;align-self:start}.capability-list{border-top:1px solid var(--line)}.capability{display:grid;grid-template-columns:54px 1fr;gap:10px 22px;padding:32px 0;border-bottom:1px solid var(--line)}.capability>span{font-size:10px;letter-spacing:.12em;color:#8b8d86}.capability h3{font:600 28px Manrope;margin:0;letter-spacing:-.025em}.capability p{grid-column:2;font-size:16px;line-height:1.65;color:#656860;margin:2px 0 0;max-width:620px}.process-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw}.process-copy{position:relative;top:auto;align-self:start}.process-copy>p:last-child{color:#aeb1aa}.process-steps{border-top:1px solid #3b403b}.process-step{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:31px 0;border-bottom:1px solid #3b403b}.process-step>span{font-size:10px;letter-spacing:.14em;color:#888d86}.process-step h3{font:600 26px Manrope;margin:0 0 7px}.process-step p{margin:0;color:#aeb1aa;line-height:1.65}.cost-command{grid-column:1/-1;margin-top:92px;padding:34px 0;border-top:1px solid #3b403b;border-bottom:1px solid #3b403b;display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;align-items:start}.cost-command strong{display:block;font:500 20px/1.35 Manrope;margin-top:10px}.mini-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#7f847d}.cost-command p{margin:0;color:#aeb1aa;line-height:1.65;max-width:650px}.testimonial{text-align:center;max-width:1220px;margin:auto}.testimonial blockquote{font:500 clamp(40px,5.3vw,76px)/1.11 Manrope;margin:24px auto 0;letter-spacing:-.045em}.quote-by{color:#7a7d76;margin-top:28px}.about{display:grid;grid-template-columns:.7fr 1.5fr;gap:8vw;border-top:1px solid var(--line)}.about-stat span{display:block;font:600 clamp(72px,9vw,140px)/.9 Manrope;letter-spacing:-.07em}.about-stat p{font-size:13px;color:#767970;max-width:240px;line-height:1.55;margin-top:20px}.about-copy p{max-width:700px}.closing-cta{height:76vh;min-height:620px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.closing-image{position:absolute;inset:0;background:url('assets/788a-pine/03.webp') center/cover no-repeat;transform:scale(1.02)}.closing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,8,.7),rgba(8,10,8,.12)),linear-gradient(0deg,rgba(8,10,8,.5),transparent 60%)}.closing-content{position:relative;z-index:2;padding:0 7vw 11vh}.closing-content h2{font:600 clamp(52px,7vw,105px)/.96 Manrope;letter-spacing:-.055em;margin:16px 0 30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#d7cfc2}.contact-copy>p{max-width:600px}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:34px;font-size:15px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start}label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#62665f}input,textarea{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #88847d;padding:12px 0;font-size:16px;outline:0}input:focus,textarea:focus{border-bottom-color:#111}.full{grid-column:1/-1}.form-button{background:var(--ink);color:#fff;border-color:var(--ink);width:max-content}footer{padding:34px 4vw;display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:center;font-size:11px;color:#555951}.modal{position:fixed;inset:0;background:rgba(5,6,5,.84);z-index:100;display:none;padding:18px}.modal.open{display:block}.project-panel{background:var(--paper);width:min(1380px,100%);height:calc(100vh - 36px);margin:auto;overflow:auto;position:relative;padding:0 0 70px}.modal-close{position:sticky;float:right;right:20px;top:18px;z-index:4;width:44px;height:44px;border:1px solid rgba(0,0,0,.14);background:rgba(243,240,233,.92);backdrop-filter:blur(10px);font-size:27px;cursor:pointer}.modal-head{padding:70px 7vw 45px;max-width:1050px}.modal-head h2{font:600 clamp(48px,6vw,88px)/.96 Manrope;letter-spacing:-.055em;margin:14px 0 28px}.project-facts{display:flex;gap:25px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#72756f}.modal-description{font-size:18px;line-height:1.7;max-width:760px;margin:28px 0 0;color:#555951}.modal-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:0 3vw}.gallery-slot{margin:0;grid-column:span 6;aspect-ratio:4/3;position:relative;overflow:hidden;background:#ddd8ce}.gallery-slot:nth-child(3n){grid-column:span 7}.gallery-slot:nth-child(3n+1){grid-column:span 5}.gallery-slot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.gallery-slot:hover img{transform:scale(1.015)}.gallery-slot span,.gallery-slot small{display:none}.modal-quote{margin:55px 7vw 0;padding-top:35px;border-top:1px solid var(--line);max-width:950px}.modal-quote blockquote{font:500 clamp(30px,3.5vw,48px)/1.25 Manrope;margin:0;letter-spacing:-.03em}.modal-quote p{color:#74776f}body.modal-open{overflow:hidden}.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.project-image,.gallery-slot img{transition:none}}@media(max-width:900px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);color:var(--ink);padding:24px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero-content{padding:104px 0 0 6vw;width:92vw}.hero-cred{left:6vw;right:auto;bottom:24px}.hero-cred span:last-child,.hero-cred i:last-of-type{display:none}.statement,.capabilities,.process-layout,.about,.contact{grid-template-columns:1fr}.statement,.section,.section-shell{padding:90px 6vw}.capabilities-head,.process-copy{position:static}.project-pair{grid-template-columns:1fr}.project-wide{width:100%}.cost-command{grid-template-columns:1fr;gap:20px}.contact form{grid-template-columns:1fr}.full{grid-column:auto}.gallery-slot,.gallery-slot:nth-child(3n),.gallery-slot:nth-child(3n+1){grid-column:span 6}footer{grid-template-columns:1fr}.brand-name{font-size:13px}}@media(max-width:580px){.hero{min-height:690px}.hero h1{font-size:clamp(48px,14vw,70px);line-height:.98}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;width:max-content}.hero-cred{gap:8px}.hero-cred i{width:10px}.project-feature .project-image,.project-tile .project-image,.project-wide .project-image{aspect-ratio:4/3}.project-caption{align-items:flex-start}.project-arrow{display:none}.gallery-slot,.gallery-slot:nth-child(3n),.gallery-slot:nth-child(3n+1){grid-column:span 12}.modal-head{padding:65px 6vw 32px}.modal-gallery{padding:0 12px}.closing-cta{min-height:540px}.closing-content{padding-left:6vw;padding-right:6vw}.site-header{padding:0 5vw}}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* v23 crawlable project and local-service pages */
.subpage-header{background:rgba(17,19,17,.96);color:#fff}.subpage-main{padding-top:82px}.page-hero{padding:95px 7vw 70px;background:var(--charcoal);color:#f6f3ed}.page-hero .eyebrow{color:#aeb1aa}.page-hero h1{font:600 clamp(48px,7vw,96px)/.96 Manrope,sans-serif;letter-spacing:-.055em;margin:14px 0 24px;max-width:1050px}.page-hero p{max-width:760px;font-size:18px;line-height:1.7;color:#b8bbb4}.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#a6aaa3;margin-bottom:28px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.project-story{display:grid;grid-template-columns:.75fr 1.35fr;gap:8vw}.project-facts-static{border-top:1px solid var(--line)}.project-facts-static div{padding:18px 0;border-bottom:1px solid var(--line)}.project-facts-static span{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#888b84;margin-bottom:6px}.project-facts-static strong{font:500 18px Manrope}.project-story-copy h2,.service-content h2{font:600 clamp(36px,4.5vw,62px)/1.02 Manrope;letter-spacing:-.045em;margin:0 0 24px}.project-story-copy p,.service-content p{font-size:17px;line-height:1.75;color:#5b5f57}.crawl-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:0 3vw 120px}.crawl-gallery figure{margin:0;grid-column:span 6;overflow:hidden;background:#ddd8ce}.crawl-gallery figure:nth-child(3n){grid-column:span 7}.crawl-gallery figure:nth-child(3n+1){grid-column:span 5}.crawl-gallery img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.project-quote-static{margin:0 7vw 105px;border-top:1px solid var(--line);padding-top:34px;max-width:1000px}.project-quote-static blockquote{font:500 clamp(30px,3.7vw,50px)/1.22 Manrope;margin:0;letter-spacing:-.035em}.project-quote-static p{color:#74776f}.service-intro{display:grid;grid-template-columns:.7fr 1.4fr;gap:8vw}.service-content ul{padding-left:20px;color:#5b5f57;line-height:1.8}.local-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.local-link{border:1px solid var(--line);padding:22px}.local-link small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#888b84;margin-bottom:8px}.local-link strong{font:600 20px Manrope}.seo-cta{background:var(--charcoal);color:#fff;padding:80px 7vw;display:flex;justify-content:space-between;gap:40px;align-items:end}.seo-cta h2{font:600 clamp(36px,5vw,70px)/1 Manrope;letter-spacing:-.05em;margin:0;max-width:800px}.seo-cta p{max-width:600px;color:#b5b8b2;line-height:1.65}.seo-cta .button{border-color:#fff;color:#111;background:#fff}.photo-credit{font-size:10px;color:#858981;margin-top:10px}@media(max-width:900px){.project-story,.service-intro{grid-template-columns:1fr}.crawl-gallery figure,.crawl-gallery figure:nth-child(3n),.crawl-gallery figure:nth-child(3n+1){grid-column:span 6}.local-links{grid-template-columns:1fr}.seo-cta{align-items:start;flex-direction:column}}@media(max-width:580px){.page-hero{padding:70px 6vw 55px}.crawl-gallery{padding:0 12px 80px}.crawl-gallery figure,.crawl-gallery figure:nth-child(3n),.crawl-gallery figure:nth-child(3n+1){grid-column:span 12}.project-quote-static{margin:0 6vw 80px}}
