@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#faf8f4;--cream:#efe9df;--ink:#282b28;--bronze:#78583d;--line:#d4c9bb;--dark:#272c29;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}h1{font-size:clamp(3.6rem,7.7vw,8rem);letter-spacing:-.028em}h2{font-size:clamp(3.1rem,5.1vw,5.8rem);letter-spacing:-.026em}h3{font-size:2.5rem}p{color:#615f59}p+p{margin-top:1.35rem}.eyebrow{color:var(--bronze);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.4rem}.eyebrow.pale{color:#e7d1bb}.section{padding:clamp(5.5rem,10vw,10rem) clamp(1.5rem,6vw,7rem)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,10rem)}.lead{color:var(--ink);font:400 clamp(1.8rem,2.7vw,2.8rem)/1.23 var(--serif)}.text-link{display:inline-flex;gap:1.2rem;align-items:center;padding-bottom:.35rem;border-bottom:1px solid #a69a8b;font-size:.77rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.text-link span,.button span{font-size:1.1rem;font-weight:400;line-height:1}.button{display:inline-flex;gap:1.7rem;align-items:center;justify-content:space-between;min-height:56px;padding:.85rem 1.4rem;font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:var(--dark);color:#fff;border:0}.button-outline{border:1px solid #c7cbc7;color:#fff}.dark{background:var(--dark);color:#fff}.dark p{color:#c4c7c2}
.site-header{height:100px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.4rem,5vw,5rem);border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--paper)}.site-header.over-hero{position:absolute;inset:0 0 auto;background:linear-gradient(#161c19b3,transparent);border-color:#ffffff45;color:#fff}.brand{display:flex;align-items:center;gap:.75rem;width:max-content;font:500 1.3rem/.91 var(--serif);letter-spacing:.035em}.brand em{display:block;font-style:normal;font-size:1rem;letter-spacing:.24em}.brand-icon{font:400 2.4rem/1 var(--serif);transform:translateY(-.08em)}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.6vw,2.5rem)}.site-header nav a,.header-contact{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:.4em}.header-contact{justify-self:end;border-bottom:1px solid currentColor;padding-bottom:.45rem}.header-contact span{margin-left:.8rem}.menu-button,.mobile-contact{display:none}
.home-hero{height:min(920px,100svh);min-height:680px;position:relative;color:#fff;overflow:hidden}.hero-photo{height:100%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#101411ba 0%,#10141150 58%,#10141110),linear-gradient(0deg,#1014116b,transparent 35%)}.hero-inner{position:absolute;left:clamp(1.5rem,7vw,8rem);right:1.5rem;bottom:14%;max-width:900px}.hero-inner h1{margin-bottom:1.5rem}.hero-inner>p:not(.eyebrow){max-width:570px;color:#f1efe9;font-size:1.14rem;margin-bottom:2.1rem}.hero-bottom{position:absolute;left:clamp(1.5rem,7vw,8rem);right:clamp(1.5rem,7vw,8rem);bottom:1.7rem;display:flex;justify-content:space-between;color:#e9ebe8;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.intro{background:var(--cream)}.intro-copy{max-width:590px;padding-top:3rem}.intro-copy>p:not(.lead){margin-top:1.8rem}.intro-copy .text-link{margin-top:2.2rem}.feature{display:grid;grid-template-columns:1.35fr .75fr;gap:clamp(3rem,7vw,8rem);align-items:center}.feature-photo img{height:min(68vw,740px)}.feature-copy{max-width:470px}.feature-copy h2{margin-bottom:1.8rem}.feature-copy .button{margin-top:2.1rem}.section-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:4rem}.moment-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr;gap:1.2rem}.moment-grid figure{position:relative;overflow:hidden}.moment-grid .moment-large{grid-row:1/3}.moment-grid img{height:100%;min-height:300px;transition:transform .5s}.moment-grid figure:hover img{transform:scale(1.02)}figcaption{position:absolute;bottom:1rem;left:1rem;background:#faf8f4eb;padding:.4rem .8rem;font:1.3rem var(--serif)}.process-preview{background:#e5dbcd}.process-preview h2{margin-bottom:4rem}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-bottom:3.5rem}.step-grid article{border-top:1px solid #a99d8f;padding-top:1.2rem}.step-grid span,.values span,.phase-list span{color:var(--bronze);font-size:.75rem;letter-spacing:.12em}.step-grid h3{margin:2.8rem 0 .7rem}.callout{padding:clamp(7rem,12vw,12rem) 1.5rem;background:#74543c;text-align:center;color:#fff}.callout h2{margin-bottom:2.5rem}.callout .button{margin:auto}
.page-intro{background:var(--cream);padding:clamp(5rem,10vw,10rem) clamp(1.5rem,10vw,12rem)}.page-intro h1{margin-bottom:2rem}.page-intro>p:last-child{max-width:680px;font-size:1.12rem}.portfolio-layout{display:grid;grid-template-columns:1.25fr .8fr;gap:4rem}.project-card img{height:clamp(380px,50vw,730px)}.project-meta{padding-top:1.8rem}.project-meta h2{margin:.4rem 0}.project-meta .text-link{margin-top:1.5rem}.portfolio-aside{padding-top:9rem}.portfolio-aside img{height:clamp(290px,33vw,500px);margin-bottom:2.5rem}.portfolio-aside h3{margin-bottom:1rem}.project-hero{height:76svh;min-height:590px;position:relative;color:#fff}.project-hero-image{height:100%}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b1510aa,transparent 55%)}.project-hero-content{position:absolute;z-index:1;left:clamp(1.5rem,7vw,8rem);bottom:8%}.project-story .lead{margin-bottom:1.6rem}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding-top:0}.project-gallery .wide{grid-column:1/3}.project-gallery img{height:clamp(340px,44vw,670px)}.project-gallery .wide img{height:clamp(440px,55vw,840px)}
.split-intro{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.split-intro>div{align-self:center;padding:clamp(4rem,8vw,9rem) clamp(1.5rem,6vw,7rem)}.split-intro>div p:last-child{max-width:550px;margin-top:2rem}.split-intro img{height:100%;min-height:680px}.phase-list article{display:grid;grid-template-columns:80px .7fr 1fr;gap:3rem;border-top:1px solid var(--line);padding:3.2rem 0}.phase-list h2{font-size:clamp(2.5rem,3.5vw,4rem)}.phase-list p{max-width:600px}.promise{display:grid;grid-template-columns:.55fr 1fr;gap:4rem}.promise>p:last-child{grid-column:2;max-width:500px;margin-top:1.5rem}.about-photo{background:var(--cream);padding:0 clamp(1.5rem,5vw,5rem)}.about-photo img{height:min(65vw,850px)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.values article{border-top:1px solid #737972;padding-top:1.3rem}.values h3{margin:2.6rem 0 1rem}.availability{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,7vw,8rem);align-items:center}.availability img{height:min(68vw,750px)}.availability h2{margin-bottom:1.5rem}.availability .button{margin-top:2rem}.land-note{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.land-note>p{align-self:end;max-width:580px;font-size:1.12rem}
.contact-layout{background:var(--cream);display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(3rem,7vw,9rem);padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,10rem)}.contact-layout h1{font-size:clamp(3.6rem,5.7vw,6.5rem);margin-bottom:2rem}.contact-layout>div>p:not(.eyebrow){max-width:510px}.contact-location{margin-top:4rem;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze)}form{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;padding:clamp(1.5rem,4vw,4rem);background:var(--paper)}form label{display:flex;flex-direction:column;gap:.5rem;color:var(--bronze);font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}form .full{grid-column:1/3}input,select,textarea{width:100%;border:0;border-bottom:1px solid #ad9e8e;background:transparent;padding:.8rem 0;color:var(--ink);font-size:1rem;outline:0}textarea{border:1px solid #ad9e8e;padding:1rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--bronze)}form button{justify-self:start}.form-note{grid-column:1/3;font-size:.75rem}
.footer{background:#202621;color:#fff;padding:5rem clamp(1.5rem,6vw,7rem) 1.5rem}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:4rem;padding-bottom:5rem}.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-top img{width:190px;height:auto;margin:-1rem 0 1rem;background:var(--paper);padding:12px;filter:none}.footer-top h2{font:700 .74rem var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}.footer-top a,.footer-top p{color:#c9ccc8;font-size:.88rem}.footer-bottom{border-top:1px solid #58605a;padding-top:1.4rem;display:flex;justify-content:space-between;color:#9fa8a0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1000px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--ink);padding:2rem;box-shadow:0 16px 30px #10151024;flex-direction:column;align-items:stretch;gap:1.4rem}.site-header nav.open{display:flex}.site-header nav a{font-size:.9rem}.header-contact{display:none}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:44px;border:0;background:transparent;color:inherit}.menu-button span{display:block;width:26px;height:2px;background:currentColor}.mobile-contact{display:block!important;border-top:1px solid var(--line);padding-top:1.4rem}.two-column,.feature,.split-intro,.availability,.contact-layout,.land-note,.promise{grid-template-columns:1fr}.feature-photo img,.availability img{height:64vw}.split-intro>div{order:2}.split-intro img{height:64vw;min-height:0}.portfolio-layout{grid-template-columns:1fr}.portfolio-aside{padding-top:1rem}.phase-list article{grid-template-columns:60px 1fr}.phase-list p{grid-column:2}.promise>p:last-child{grid-column:1}.values,.step-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/3}}
@media(max-width:650px){h1{font-size:clamp(3.3rem,13vw,5rem)}h2{font-size:3.15rem}.section{padding:5rem 1.25rem}.site-header{height:78px;padding:0 1.25rem}.brand{font-size:1.04rem}.brand em{font-size:.82rem}.brand-icon{font-size:2rem}.home-hero{min-height:690px}.hero-inner{bottom:12%}.hero-inner>p:not(.eyebrow){font-size:1rem}.hero-bottom{display:none}.intro-copy{padding-top:0}.feature{padding:1.25rem 1.25rem 5rem}.feature-photo img{height:76vw}.section-title{display:block}.section-title .text-link{margin-top:1.6rem}.moment-grid{display:block}.moment-grid figure{margin-bottom:1rem}.moment-grid img{height:75vw;min-height:0}.portfolio-layout{gap:2.5rem}.project-card img,.portfolio-aside img{height:75vw}.project-gallery{grid-template-columns:1fr;gap:.8rem}.project-gallery .wide{grid-column:auto}.project-gallery img,.project-gallery .wide img{height:74vw}.project-story{gap:2rem}.page-intro{padding:5rem 1.25rem}.phase-list article{grid-template-columns:40px 1fr;gap:1rem}.values{gap:2.5rem}.about-photo{padding:0}.about-photo img{height:76vw}.availability img{height:70vw}.contact-layout{padding:5rem 1.25rem}.contact-location{margin-top:2.5rem}form{grid-template-columns:1fr}form .full,.form-note{grid-column:1}.footer-top{grid-template-columns:1fr;gap:3rem}.footer-top>div:first-child{grid-column:1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.site-header,.site-header.over-hero{position:relative;inset:auto;height:148px;background:var(--paper);border-color:var(--line);color:var(--ink)}
.brand{display:block;line-height:1}
.brand img{width:160px;height:138px;object-fit:contain;mix-blend-mode:multiply}
.home-hero{height:min(820px,calc(100svh - 148px));min-height:620px}
@media(max-width:650px){
  .site-header,.site-header.over-hero{height:116px}
  .brand img{width:125px;height:108px}
  .home-hero{height:calc(100svh - 116px);min-height:650px}
}
