:root{--pine:#171b16;--pine-light:#22291e;--ivory:#f1ede3;--sand:#e7dfcf;--gold:#c8a873;--ink:#2a3025;--muted:#bdbbaa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pine);color:var(--ivory);font-family:'DM Sans',Arial,sans-serif}
button,a{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #f5ce82;outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:30;padding:.8rem;background:#fff;color:#111}
.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 5.8%;border-bottom:1px solid #f0eadc33}
.wordmark{display:inline-block;font-family:'Italiana',Georgia,serif;font-size:1.75rem;line-height:1;white-space:nowrap;letter-spacing:.015em}
.wordmark em{font-weight:400;color:var(--gold)}
.wordmark small{display:block;margin-top:.48rem;text-align:center;font-family:'DM Sans',sans-serif;font-style:normal;font-size:.48rem;letter-spacing:.37em;color:#e6d5b5}
.site-header nav{display:flex;gap:2.5rem;margin-left:auto}
.site-header nav a,.header-action{font-size:.72rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}
.site-header nav a{color:#e4e3db}
.site-header nav a:hover,.header-action:hover{color:var(--gold)}
.header-action{border:1px solid #c8a8739c;padding:.8rem 1rem;margin-left:1.2rem}
.header-action span{font-size:1rem;margin-left:1rem}
.hero{position:relative;min-height:720px;height:min(850px,100svh);display:block;overflow:hidden;background:#12140f}
.hero:before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#141811d9 0%,#1418118c 31%,#14181120 57%,transparent 78%);pointer-events:none}
.hero:after{content:'';position:absolute;z-index:2;inset:0;border:10px solid transparent;border-image:linear-gradient(180deg,transparent 88%,#151914 100%) 1;pointer-events:none}
.hero-copy{position:relative;z-index:3;align-self:center;max-width:730px;padding:8rem 0 5rem 12%}
.overline{margin:0;color:var(--gold);font-size:.68rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase}
.overline .line{display:inline-block;width:30px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
.hero h1,h2,h3{font-family:'Italiana',Georgia,serif;font-weight:400}
.hero h1{font-size:clamp(6rem,10vw,10.5rem);line-height:.83;letter-spacing:-.055em;margin:2.6rem 0 2.4rem}
.hero h1 em,h2 em{color:var(--gold);font-weight:400}
.hero-lead{font-family:'Italiana',Georgia,serif;font-size:clamp(1.7rem,2.2vw,2.3rem);margin:0 0 .9rem}
.hero-text{max-width:370px;color:#d8d8ce;font-size:.88rem;line-height:1.9;margin-bottom:2rem}
.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:3rem;min-width:210px;padding:.9rem 0;border-bottom:1px solid currentColor;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.text-link span{font-size:1.3rem;font-weight:400}
.text-link.light{color:var(--gold)}
.hero-image{position:absolute;inset:0;background-image:url('assets/foto-concept.png');background-position:center;background-size:cover}
.hero-bottom{position:absolute;z-index:3;bottom:1.5rem;left:5.8%;font-family:'Italiana',Georgia,serif;font-size:1.1rem;color:#d8c9a9}
.manifesto{position:relative;display:grid;grid-template-columns:8% 48% 44%;min-height:610px;background:var(--sand);color:var(--ink)}
.section-index{padding-top:6rem;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg);align-self:start;font-size:.62rem;letter-spacing:.2em;font-weight:600;color:#7e7968}
.manifesto-main{display:flex;flex-direction:column;justify-content:center;padding:5rem 7vw 5rem 2vw}
.overline.dark{color:#8c7248}
.manifesto h2,.experience h2,.product h2{font-size:clamp(4rem,6.5vw,7.2rem);line-height:.92;letter-spacing:-.045em;margin:1.7rem 0 2.5rem}
.manifesto h2 em{color:#7f754e}
.manifesto-bottom{max-width:560px;display:flex;align-items:flex-end;gap:2rem}
.manifesto-bottom p{flex:1;margin:0;color:#555b50;line-height:1.85;font-size:.86rem}
.dark-link{flex-shrink:0;color:#5e624a;min-width:155px;gap:.8rem}
.manifesto-image{position:relative;min-height:530px;overflow:hidden}
.manifesto-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(.97)}
.manifesto-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#15191477,transparent 30%)}
.manifesto-image span{position:absolute;z-index:1;left:2rem;bottom:1.8rem;font-size:.6rem;font-weight:600;letter-spacing:.2em;color:white}
.experience{padding:7rem 5.8% 5rem;background:#1d241b}
.experience-heading{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-bottom:3.3rem}
.experience h2{margin:1.3rem 0 0}
.experience-heading>p{max-width:345px;margin:0 0 .7rem;font-size:.86rem;line-height:1.9;color:#cccdbd}
.experience-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);border:1px solid #8e8768}
.map-shell{min-width:0;background:#141a14}
.map-topbar,.map-footer{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 1.2rem;font-size:.64rem;font-weight:600;letter-spacing:.18em;color:#e6dfca}
.map-topbar{border-bottom:1px solid #ffffff40}
.map-topbar i{font-style:normal;font-size:1rem;color:var(--gold);vertical-align:middle}
.map-footer{border-top:1px solid #ffffff40}
.map-footer span:first-child{letter-spacing:.09em}
.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d9ba77;box-shadow:0 0 0 4px #d9ba7744;margin-right:10px}
.grove-map{position:relative;width:100%;min-width:0;aspect-ratio:1.52;min-height:440px;isolation:isolate;overflow:hidden;background:#74613f}
.grove-map:after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#18221855,#18221811 40%,#18221838);pointer-events:none}
.grove-map>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.parcel{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid #f1d699cc;background:#e8c1710e;color:white;clip-path:polygon(7% 5%,87% 0%,100% 30%,94% 90%,52% 100%,0% 75%);transition:background .2s,filter .2s,transform .2s}
.parcel:before{content:'';position:absolute;inset:5px;border:1px dashed #f5e5b8b0;clip-path:inherit}
.parcel:hover,.parcel:focus-visible{background:#ead08438;filter:drop-shadow(0 0 12px #fff1b9);transform:scale(1.025)}
.parcel.is-active{background:#d7a75736;box-shadow:inset 0 0 35px #ffe8aa55}
.parcel span{position:relative;z-index:1;display:grid;place-items:center;min-width:92px;min-height:92px;border:1px solid #f6e8c5;border-radius:50%;background:#192218d9;font-family:'Italiana',Georgia,serif;font-size:2rem;box-shadow:0 5px 25px #0008;pointer-events:none}
.parcel small{display:block;margin-top:-22px;font-family:'DM Sans',sans-serif;font-size:.54rem;font-weight:600;letter-spacing:.08em}
.parcel-01{left:7%;top:9%;width:39%;height:49%;transform:rotate(-8deg)}
.parcel-01:hover,.parcel-01:focus-visible{transform:rotate(-8deg) scale(1.025)}
.parcel-02{left:38%;top:29%;width:35%;height:56%;transform:rotate(9deg)}
.parcel-02:hover,.parcel-02:focus-visible{transform:rotate(9deg) scale(1.025)}
.parcel-03{right:3%;top:5%;width:25%;height:43%;transform:rotate(-10deg)}
.parcel-03:hover,.parcel-03:focus-visible{transform:rotate(-10deg) scale(1.025)}
.tree-marker{position:absolute;z-index:4;width:20px;height:20px;border:1px solid #f5e9c0a8;border-radius:50%;background:#23331e77;box-shadow:0 0 0 3px #19261955;transform:translate(-50%,-50%) scale(.74);pointer-events:none;opacity:.74;transition:transform .25s,background .25s,box-shadow .25s,opacity .25s}
.tree-marker:after{content:'';position:absolute;inset:5px;border-radius:50%;background:#f5e9c0}
.grove-map:not([data-preview])[data-selected="01"] .tree-marker[data-lot="01"],.grove-map:not([data-preview])[data-selected="02"] .tree-marker[data-lot="02"],.grove-map:not([data-preview])[data-selected="03"] .tree-marker[data-lot="03"],.grove-map[data-preview="01"] .tree-marker[data-lot="01"],.grove-map[data-preview="02"] .tree-marker[data-lot="02"],.grove-map[data-preview="03"] .tree-marker[data-lot="03"]{opacity:1;transform:translate(-50%,-50%) scale(1);background:#8d6932bc;box-shadow:0 0 0 5px #f8de9b55,0 0 22px #f8de9bcc}
.map-compass{position:absolute;z-index:5;right:1.3rem;bottom:1rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-shadow:0 2px 5px #000}
.map-compass span{display:block;text-align:center;font-size:1.3rem}
.lot-card{min-width:0;display:flex;flex-direction:column;background:#e8e1d1;color:var(--ink)}
.lot-card-top{display:flex;justify-content:space-between;padding:1rem 1.7rem;border-bottom:1px solid #c8c1ad;color:#706d5f;font-size:.66rem;font-weight:600;letter-spacing:.17em}
.lot-card-content{padding:3rem 2.2rem 2rem;flex:1}
.lot-kicker{margin:0;font-size:.66rem;font-weight:600;letter-spacing:.22em;color:#8c7248}
.lot-card h3{font-size:clamp(3.7rem,5vw,5.7rem);line-height:.95;margin:1.4rem 0 1.8rem;letter-spacing:-.04em}
.lot-card-content>p:not(.lot-kicker){max-width:340px;font-size:.84rem;line-height:1.8;color:#55594e}
.lot-rule{height:1px;background:#b4ae99;margin:2rem 0 1.3rem}
.lot-card dl{margin:0}
.lot-card dl div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #c8c1ad}
.lot-card dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#77776d}
.lot-card dd{margin:0;font-family:'Italiana',Georgia,serif;font-size:1.12rem;text-align:right}
.lot-card-link{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.7rem;background:#384634;color:#fff;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.lot-card-link span{font-size:1.2rem;color:var(--gold)}
.lot-card.reveal .lot-card-content{animation:reveal .32s ease}
@keyframes reveal{from{opacity:.55;transform:translateY(6px)}
to{opacity:1;transform:translateY(0)}
}
.mobile-lots{display:none}
.concept-note{max-width:950px;margin:1.2rem auto 0;text-align:center;color:#c5cabe;font-size:.74rem;line-height:1.7}
.product{display:grid;grid-template-columns:50% 50%;min-height:650px;background:#171b16}
.product-stage{position:relative;overflow:hidden;display:grid;place-items:center;min-height:650px;background:#050505}
.product-photo{display:block;width:min(86%,570px);max-height:600px;object-fit:contain}
.stage-caption{position:absolute;left:2rem;bottom:1.5rem;font-size:.55rem;letter-spacing:.2em;color:#d8cfb8}
.product-copy{align-self:center;padding:5rem 13%}
.product h2{margin:1.5rem 0 2rem}
.product-copy>p:not(.overline){max-width:460px;line-height:1.9;font-size:.88rem;color:#c9ccbf}
.product-details{max-width:480px;margin:2.6rem 0 1rem;border-top:1px solid #656c58}
.product-details div{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid #656c58}
.product-details span{font-size:.57rem;letter-spacing:.15em;color:#aeb4a4}
.product-details strong{font-size:.79rem;font-weight:500;text-align:right}
footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:130px;padding:2rem 5.8%;border-top:1px solid #ffffff2a}
footer p,footer>a:last-child{font-size:.61rem;letter-spacing:.12em;color:#bfc6b8}
footer .wordmark{font-size:1.4rem}

@media(max-width:1100px){.site-header nav{gap:1.1rem}
.experience-layout{grid-template-columns:minmax(0,1fr)}
.grove-map{min-height:0}
.lot-card-content>p:not(.lot-kicker),.lot-card dl{max-width:650px}
.header-action{margin-left:0}
.hero-copy{padding-left:10%}
.manifesto-bottom{display:block}
.dark-link{margin-top:1rem}
.lot-card-content{padding:2rem 1.5rem}
.lot-card h3{font-size:4rem}
}

@media(max-width:760px){.site-header{min-height:75px;padding:1rem 5%}
.wordmark{font-size:1.4rem}
.site-header nav{display:none}
.header-action{font-size:.55rem;padding:.65rem}
.header-action span{margin-left:.3rem}
.hero{height:auto;min-height:790px;display:block}
.hero:before{background:linear-gradient(180deg,#141811cc 0%,#141811b3 42%,#14181160 76%,#141811bb 100%)}
.hero-image{background-position:64% center}
.hero-copy{padding:10rem 7% 8rem}
.hero h1{font-size:clamp(5.1rem,17vw,8rem);margin:2rem 0}
.hero-lead{max-width:330px}
.hero-text{max-width:330px}
.hero-bottom{left:7%}
.manifesto{grid-template-columns:1fr}
.section-index{display:none}
.manifesto-main{padding:5rem 7%}
.manifesto h2,.experience h2,.product h2{font-size:clamp(4.2rem,12vw,6.5rem)}
.manifesto-image{min-height:360px;height:50vw}
.experience{padding:5rem 5% 4rem}
.experience-heading{display:block}
.experience-heading>p{margin-top:1.5rem}
.grove-map{min-height:330px}
.lot-card-content{padding:2rem 7%}
.lot-card h3{font-size:4.5rem}
.mobile-lots{display:flex;gap:.5rem;overflow:auto;padding-top:1rem}
.mobile-lots button{flex-shrink:0;border:1px solid #8e8768;background:transparent;color:#f2ead5;padding:.8rem 1rem;font-size:.7rem}
.mobile-lots button.is-active{background:var(--gold);color:#1d241b}
.product{grid-template-columns:1fr}
.product-stage{min-height:530px}
.product-copy{padding:5rem 7%}
footer{flex-wrap:wrap;padding:2rem 7%}
footer p{order:3;width:100%}
}

@media(max-width:480px){.header-action{max-width:118px;line-height:1.35;text-align:center}
.hero{min-height:730px}
.hero-copy{padding-top:9rem}
.hero h1{font-size:5rem}
.grove-map{aspect-ratio:1.08;min-height:340px}
.grove-map>img{object-position:50%}
.parcel span{min-width:65px;min-height:65px;font-size:1.5rem}
.parcel small{font-size:.625rem;margin-top:-16px}
.parcel-01{left:2%;top:8%;width:45%;height:46%}
.parcel-02{left:33%;top:38%;width:40%;height:49%}
.parcel-03{right:1%;top:5%;width:30%;height:40%}
.map-topbar,.map-footer{font-size:.625rem;padding:0 .65rem}
.map-footer span:last-child{display:none}
.tree-marker{width:15px;height:15px}
.tree-marker:after{inset:4px}
.manifesto-image{height:350px}
.product-stage{min-height:500px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}

