:root{--pine:#173c31;--pine2:#245b46;--moss:#6d8a57;--cream:#f8f2e5;--paper:#fffdf7;--gold:#d5a34b;--ink:#1e3029;--muted:#58675f;--line:#cdd8ce;--shadow:0 18px 48px rgba(23,60,49,.12);color-scheme:light;font-family:Inter,ui-rounded,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);line-height:1.65}img{display:block;max-width:100%}a{color:var(--pine2)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.75rem 1rem;border-radius:.5rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(248,242,229,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,60,49,.12)}.nav{max-width:1160px;margin:auto;min-height:74px;padding:.7rem 1.25rem;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;color:var(--pine);font-weight:850;font-size:1.25rem;text-decoration:none}.brand img{width:44px;height:44px;border-radius:12px}.nav-links{display:flex;align-items:center;gap:.3rem;margin-left:auto}.nav-links a{padding:.55rem .7rem;border-radius:.6rem;text-decoration:none;color:var(--ink);font-weight:650}.nav-links a:hover{background:#e7eadc}.lang{border:1px solid var(--pine2)!important}.menu{display:none;margin-left:auto}.container{width:min(1120px,calc(100% - 2rem));margin:auto}.hero{padding:4.5rem 0 3.5rem;background:radial-gradient(circle at 78% 20%,rgba(213,163,75,.24),transparent 30%),linear-gradient(145deg,#eef1df,var(--cream))}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:3rem}.eyebrow{font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--pine2);font-size:.82rem}.hero h1,.page-hero h1{font-family:Georgia,serif;color:var(--pine);font-size:clamp(2.7rem,7vw,5.4rem);line-height:.98;letter-spacing:-.035em;margin:.35rem 0 1.25rem}.hero p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:40rem}.hero-art{border-radius:2rem;box-shadow:var(--shadow);overflow:hidden;background:#c9c5b9}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.05rem;border-radius:.8rem;font-weight:800;text-decoration:none}.btn-primary{background:var(--pine2);color:white}.btn-secondary{border:1px solid var(--pine2);color:var(--pine2);background:rgba(255,255,255,.55)}section{padding:4rem 0}.section-title{font-family:Georgia,serif;color:var(--pine);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:0 0 1rem}.lead{font-size:1.15rem;max-width:52rem;color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.card{background:var(--paper);border:1px solid var(--line);border-radius:1.3rem;padding:1.5rem;box-shadow:0 8px 26px rgba(23,60,49,.07)}.card h2,.card h3{color:var(--pine);margin-top:0}.step{font-size:2rem;color:var(--gold);font-weight:900}.band{background:var(--pine);color:#fff}.band .section-title,.band h2,.band h3{color:#fff}.band .lead{color:#dce9df}.band .card{color:var(--ink)}.band .card h2,.band .card h3{color:var(--pine)}.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.shots img{border-radius:1rem;box-shadow:var(--shadow)}.page-hero{padding:3.5rem 0 2.5rem;background:linear-gradient(145deg,#e7ecdb,var(--cream))}.page-hero h1{font-size:clamp(2.5rem,6vw,4.4rem)}.prose{max-width:820px}.prose h2{font-family:Georgia,serif;color:var(--pine);margin-top:2.3rem}.prose h3{color:var(--pine)}.prose li{margin:.45rem 0}.price{font-size:2rem;font-weight:900;color:var(--pine)}.planned{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--moss)}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:1rem;margin:.8rem 0;padding:.2rem 1rem}.faq summary{cursor:pointer;font-weight:800;padding:1rem 0;color:var(--pine)}.notice{border-left:5px solid var(--gold);background:#fff8e7;padding:1rem 1.2rem;border-radius:.5rem}.site-footer{background:#102d25;color:#dce9df;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.footer-links{display:grid;gap:.45rem}.small{font-size:.9rem;color:var(--muted)}.site-footer .small{color:#b9cbc0}.contact{font-style:normal}.legal-date{font-weight:700;color:var(--muted)}
.pixel-frame{image-rendering:pixelated}.experience{background:#edf0df}.experience-grid{align-items:start}.experience-card{display:grid;gap:1rem;overflow:hidden}.experience-card img{width:100%;border-radius:.9rem;border:1px solid var(--line);box-shadow:0 8px 24px rgba(23,60,49,.1)}.hero-art{height:auto}.experience-shots{margin:2rem auto 0;max-width:800px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.experience-shots img,.experience-card img{height:auto}.experience-shots img{width:100%}.walkthrough-shots figure{margin:0;min-width:0}.walkthrough-shots figcaption{margin-top:1rem;color:var(--muted)}.experience-child-heading{margin-top:3.5rem}
@media(max-width:820px){.nav-links{display:none}.menu{display:block}.hero-grid,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}.hero{padding-top:3rem}.hero-art{order:-1}.shots{grid-template-columns:1fr 1fr}.menu[open] .nav-links{display:flex;position:absolute;left:0;right:0;top:73px;background:var(--cream);padding:1rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.menu summary{list-style:none;cursor:pointer;padding:.6rem;font-weight:800}.menu summary::-webkit-details-marker{display:none}}
@media(max-width:520px){.shots{grid-template-columns:1fr}.hero h1{font-size:3rem}section{padding:3rem 0}.card{padding:1.2rem}}
/* The hero shows the whole Village, not a cropped phone screenshot. */
.hero-art{width:100%;height:auto;object-fit:contain;justify-self:center}
.band .btn-secondary{background:var(--paper);color:var(--pine2)}.planned{color:var(--pine2)}
@media(max-width:820px){.hero-art{order:0}}
/* Text enlargement must not force grid columns or navigation off screen. */
body{overflow-wrap:anywhere}.nav,.nav-links{flex-wrap:wrap}
.hero-grid>*,.grid-2>*,.grid-3>*,.footer-grid>*{min-width:0}
.hero h1{font-size:clamp(2.7rem,6vw,4.4rem);text-wrap:balance}
@media(max-width:520px){.hero h1{font-size:clamp(2rem,12vw,3rem)}}
@media(max-width:820px){.menu[open] .nav-links{top:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Desktop keeps the full scene; the mobile square crop stays inside all five resident positions. */
.living-village-art{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:1.5rem;box-shadow:var(--shadow);background:#dce9df}
.village-showcase{background:#e6ebd9}
@media(max-width:520px){.hero-art,.living-village-art{aspect-ratio:1;object-fit:cover;object-position:center}.living-village-art{border-radius:1rem}.village-showcase .lead{font-size:1.05rem}}
