:root { --ink:#18211d; --forest:#16251e; --paper:#f4f0e7; --paper-deep:#e9e2d5; --sand:#d1b180; --line:rgba(24,33,29,.18); --display:"Prata",Georgia,serif; --body:"Manrope",Arial,sans-serif; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55} body.menu-open{overflow:hidden} img{display:block;width:100%} a{color:inherit;text-decoration:none} button{color:inherit;font:inherit}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:10px 14px}.skip-link:focus{top:16px}
.site-header{position:absolute;z-index:20;inset:0 0 auto;height:88px;padding:0 4.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.24)}.brand{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;width:max-content}.brand-mark{width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:400 1rem var(--display);letter-spacing:0}.desktop-nav{display:flex;gap:32px;font-size:.78rem}.desktop-nav a{opacity:.78;transition:opacity .2s}.desktop-nav a:hover,.desktop-nav a:focus-visible{opacity:1}.header-action{justify-self:end;padding-bottom:5px;border-bottom:1px solid;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.menu-button,.mobile-menu{display:none}
.hero{position:relative;min-height:760px;height:min(960px,100svh);overflow:hidden;color:#fff;background:var(--forest)}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:hero-in 1.4s cubic-bezier(.2,.7,.2,1) both}@keyframes hero-in{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,13,.76),rgba(8,18,13,.24) 60%,rgba(8,18,13,.06)),linear-gradient(0deg,rgba(8,18,13,.66),transparent 46%)}.hero-content{position:absolute;z-index:2;left:7vw;top:50%;width:min(900px,82vw);transform:translateY(-48%)}.eyebrow,.section-number{margin:0;color:#94734e;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:600}.hero .eyebrow{color:rgba(255,255,255,.74)}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em}.hero h1{margin:26px 0 24px;font-size:clamp(4.4rem,8.7vw,8.8rem);line-height:.92}.hero h1 em,.intro h2 em,.contact h2 em{color:#e1c79f;font-weight:400}.hero-copy{max-width:620px;margin:0 0 34px;color:rgba(255,255,255,.82);font-size:1.03rem}.hero-actions{display:flex;align-items:center;gap:26px}.button{min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:600;transition:background .2s,color .2s}.button-light:hover,.button-light:focus-visible{background:#fff;color:var(--forest)}.text-action{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.65);font-size:.75rem}.hero-facts{position:absolute;z-index:2;left:7vw;right:7vw;bottom:28px;display:flex;gap:58px}.hero-facts span{display:grid;gap:2px}.hero-facts b{font:400 1.3rem var(--display)}.hero-facts small{color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.12em;font-size:.58rem}.media-label{position:absolute;z-index:3;right:18px;bottom:16px;margin:0;padding:7px 9px;background:rgba(18,34,27,.84);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.56rem}.hero>.media-label{right:4.5vw;bottom:29px;background:rgba(18,34,27,.62)}
.section{padding:112px 7vw}.intro-grid{margin-top:40px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:11vw;align-items:end}.section h2,.reality h2,.contact h2{margin:0;font-size:clamp(3rem,5.7vw,6.3rem);line-height:1.02}.intro-copy{max-width:520px;color:#606a64}.intro-copy>p:first-child{margin:0;font-size:1.02rem}.accent-quote{margin:32px 0 0;padding:24px 0 0 28px;border-top:1px solid var(--line);border-left:2px solid var(--sand);color:var(--ink);font-family:var(--display);font-size:1.35rem}
.section-dark{background:var(--forest);color:#fff}.section-heading{margin-bottom:58px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:10vw;align-items:end}.section-heading h2{margin-top:28px}.section-heading>p{margin:0 0 8px;color:#6c756f}.section-dark .section-heading>p{color:rgba(255,255,255,.6)}.house-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:38px}.house-card{overflow:hidden;background:#f2eee5;color:var(--ink)}.house-card-large{grid-row:span 2}.house-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#c8cec9}.house-card-large .house-image{aspect-ratio:4/5}.house-image img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.house-card:hover .house-image img{transform:scale(1.025)}.house-card-copy{padding:22px 24px 24px}.house-card-copy>p{margin:0 0 8px;color:#8a6745;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem}.house-card-copy h3{margin:0;font-size:1.55rem}.house-card-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;padding-top:18px;border-top:1px solid var(--line)}.house-card-copy dl div{display:grid;gap:4px}.house-card-copy dt{color:#7d857f;text-transform:uppercase;letter-spacing:.11em;font-size:.57rem}.house-card-copy dd{margin:0;font-size:.78rem}.house-card-copy a{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}
.finish-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.finish-card{min-height:360px;padding:28px 34px 30px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.finish-card+.finish-card{padding-left:34px}.finish-card:last-child{border-right:0}.finish-card>span{color:#9a744e;font-size:.68rem}.finish-card h3{margin:72px 0 18px;font-size:2.3rem}.finish-card p{max-width:360px;margin:0;color:#657069}.finish-card small{margin-top:auto;padding-top:28px;color:#8a8e8b;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}
.reality{min-height:780px;display:grid;grid-template-columns:1fr 1fr;background:var(--paper-deep)}.reality-photo{position:relative;min-height:700px;overflow:hidden}.reality-photo img{height:100%;object-fit:cover;object-position:center 32%}.reality-copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.reality-copy h2{margin:30px 0 34px}.reality-copy>p:not(.section-number){max-width:560px;color:#616a65}.reality-key{display:grid;gap:12px;margin-top:42px;padding-top:24px;border-top:1px solid var(--line);font-size:.76rem}.reality-key span{display:flex;align-items:center;gap:10px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-live{background:#59725f}.dot-concept{background:var(--sand)}
.gallery{overflow:hidden;background:#d9d0c1}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.gallery-heading h2{margin-top:28px}.gallery-controls{display:flex;gap:14px;align-items:center}.gallery-controls button{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer}.gallery-controls button:hover,.gallery-controls button:focus-visible{background:var(--ink);color:#fff}.gallery-controls span{min-width:66px;text-align:center;letter-spacing:.1em;font-size:.68rem}.gallery-stage{margin-top:52px}.gallery-stage figure{margin:0}.gallery-stage figure[hidden]{display:none}.gallery-stage img{width:100%;height:min(68vw,680px);object-fit:cover}.gallery-stage figure:first-child img{object-position:center 62%}.gallery-stage figcaption{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid rgba(24,33,29,.3);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.gallery-stage figcaption span{color:#866342}.visual-note{margin:18px 0 0;color:#707772;font-size:.68rem}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.place-card{margin:0;background:#fff;padding:18px}.place-card img{aspect-ratio:16/10;object-fit:cover}.place-map img{object-fit:contain}.place-card figcaption{padding:18px 4px 3px;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.place-card figcaption span{color:#7b837e;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.place-card figcaption b{font:400 1.12rem var(--display)}
.contact{min-height:820px;display:grid;grid-template-columns:1.05fr .95fr}.contact-image{position:relative;min-height:620px;overflow:hidden}.contact-image img{height:100%;object-fit:cover}.contact-copy{background:var(--sand);padding:8vw 7vw}.contact-copy h2{margin:28px 0 30px}.contact-copy>p:not(.section-number){max-width:500px;color:#5f5a52}.contact-options{margin:38px 0;padding:20px 0;display:grid;gap:12px;border-top:1px solid rgba(24,33,29,.2);border-bottom:1px solid rgba(24,33,29,.2);font-size:.72rem}.contact-options span::before{content:"↘";display:inline-block;margin-right:12px}.button-dark{width:min(100%,430px);background:var(--forest);color:#fff;border-color:var(--forest)}.contact-link[aria-disabled="true"]{cursor:default;opacity:.74}.contact-note{display:block;margin-top:12px;color:#675f54;font-size:.62rem}
.site-footer{padding:54px 7vw 34px;display:grid;grid-template-columns:1fr 1fr .65fr;gap:30px;background:#101a16;color:#fff}.site-footer p,.site-footer a,.site-footer small{color:rgba(255,255,255,.64);font-size:.72rem}.site-footer .brand{color:#fff}.site-footer nav{display:grid;gap:8px}.site-footer small{grid-column:1/-1;margin-top:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}}
@media(max-width:980px){.site-header{height:72px;padding:0 24px;grid-template-columns:1fr auto}.desktop-nav,.header-action{display:none}.menu-button{display:inline-flex;align-items:center;gap:12px;border:0;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem}.menu-button i{width:22px;height:1px;display:block;background:currentColor;box-shadow:0 6px 0 currentColor}.site-header.is-open{position:fixed;min-height:100svh;height:auto;background:var(--forest);align-content:start;padding-top:18px}.site-header.is-open .menu-button i{transform:rotate(45deg);box-shadow:none}.site-header.is-open .menu-button i::after{content:"";width:22px;height:1px;display:block;background:currentColor;transform:rotate(90deg)}.mobile-menu{grid-column:1/-1;margin-top:70px;display:grid;gap:18px}.mobile-menu a{font:400 clamp(2.5rem,9vw,5rem) var(--display)}.hero-content{left:24px;width:calc(100% - 48px);top:45%}.hero h1{font-size:clamp(4rem,17vw,7rem)}.hero-facts{left:24px;right:24px;gap:22px}.hero>.media-label{display:none}.section{padding:84px 24px}.intro-grid,.section-heading{grid-template-columns:1fr;gap:32px}.house-grid{grid-template-columns:1fr}.house-card-large{grid-row:auto}.house-card-large .house-image,.house-image{aspect-ratio:4/3}.finish-grid{grid-template-columns:1fr}.finish-card,.finish-card+.finish-card{min-height:0;padding:26px 0 30px;border-right:0;border-bottom:1px solid var(--line)}.finish-card h3{margin:34px 0 12px}.finish-card small{margin-top:32px}.reality{grid-template-columns:1fr}.reality-photo{min-height:580px}.reality-copy{padding:84px 24px}.gallery-heading{align-items:start;flex-direction:column}.gallery-stage img{height:62vw;min-height:380px}.place-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.contact-image{min-height:520px}.contact-copy{padding:84px 24px}}
@media(max-width:620px){.brand-mark{width:32px;height:32px}.hero{min-height:740px}.hero-media{object-position:58% center}.hero-content{top:43%}.hero h1{font-size:clamp(3.5rem,17vw,5.2rem)}.hero-copy{font-size:.9rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-facts{flex-wrap:wrap;gap:14px 28px}.hero-facts span:last-child{display:none}.section h2,.reality h2,.contact h2{font-size:clamp(2.7rem,13vw,4rem)}.house-card-copy{padding:20px}.gallery-stage img{height:440px}.gallery-stage figure:first-child img{object-position:center 65%}.place-card{padding:10px}.place-card figcaption{align-items:flex-start;flex-direction:column;gap:5px}.contact-image{min-height:420px}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:1}}
