:root{
  --bg:#f6f0e7; --paper:#fffaf2; --ink:#1f211d; --muted:#68645d; --line:#ded4c4;
  --olive:#6f785e; --sand:#c8ad88; --charcoal:#141414; --white:#fff;
  --radius:24px; --shadow:0 24px 70px rgba(22,18,12,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:inherit}img{max-width:100%;display:block}.hero{height:100svh;min-height:720px;position:relative;display:grid;place-items:center;overflow:hidden;background:#111}.hero-bg{position:absolute;inset:0;background:url('assets/photos/hero.webp') center/cover no-repeat;transform:scale(1.03)}.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.56),rgba(5,5,5,.25) 45%,rgba(5,5,5,.6))}.topnav{position:absolute;z-index:3;top:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:8px;background:rgba(255,255,255,.16);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.22);border-radius:999px}.topnav a{font-size:13px;color:#fff;text-decoration:none;padding:8px 13px;border-radius:999px}.topnav a:hover{background:rgba(255,255,255,.18)}.hero-content{position:relative;z-index:2;text-align:center;color:white;width:min(780px,90vw);padding:28px}.hero-logo{width:170px;margin:0 auto 28px;filter:invert(1);opacity:.95}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:12px;color:var(--olive);margin:0 0 12px}.hero .eyebrow{color:#eadbc8}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(46px,8vw,90px);line-height:.95;margin:0 0 20px;letter-spacing:-.04em}.hero-copy{font-size:clamp(18px,2.2vw,24px);margin:0 auto 34px;color:#f8f1e7}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:700}.primary{background:#fff;color:#151515}.section{padding:96px 0}.container{width:min(1180px,88vw);margin:0 auto}.narrow{width:min(820px,88vw);text-align:center}.intro h2,.section h2{font-family:'Playfair Display',serif;font-size:clamp(34px,4.8vw,64px);line-height:1.05;letter-spacing:-.03em;margin:0 0 20px}.intro p:not(.eyebrow),.section-head p{font-size:19px;color:var(--muted)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.reverse .image-card{order:-1}.copy h2{margin-bottom:28px}.info-list{display:grid;gap:18px}.info-list article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.info-list span{font-weight:800;color:var(--sand)}.info-list h3,.card h3,.contact-card h3{margin:0 0 7px}.info-list p,.card p{margin:0;color:var(--muted)}.mini-buttons{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.mini-buttons a,.rec-grid a{display:inline-block;text-decoration:none;background:var(--charcoal);color:white;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700}.image-card{margin:0;background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.image-card img{width:100%;height:620px;object-fit:cover}.image-card figcaption{padding:14px 18px;color:var(--muted);font-size:13px}.alt{background:#fffaf2}.section-head{text-align:center;margin-bottom:38px}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.gallery-item{border:0;padding:0;background:transparent;border-radius:22px;overflow:hidden;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.08)}.gallery-item img{width:100%;height:300px;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item.large{grid-row:span 2}.gallery-item.large img{height:614px}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border:1px solid rgba(60,50,38,.09);border-radius:var(--radius);padding:28px;box-shadow:0 10px 35px rgba(20,18,15,.06)}.icon{font-size:28px;margin-bottom:14px}.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.note-grid div{background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:18px;padding:18px}.note-grid strong{display:block;margin-bottom:4px}.note-grid span{color:var(--muted);font-size:14px}.small-note{color:var(--muted);margin-top:24px}.local{background:linear-gradient(180deg,var(--bg),#eee4d6)}.recommendation-block{margin-top:34px}.recommendation-block h3{font-family:'Playfair Display',serif;font-size:34px;margin:0 0 18px}.rec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rec-grid article{background:rgba(255,250,242,.84);border:1px solid rgba(77,66,51,.12);border-radius:22px;padding:22px}.rec-grid h4{font-size:17px;margin:0 0 8px}.rec-grid p{color:var(--muted);font-size:14px;min-height:66px}.contact{background:#171713;color:white}.contact .eyebrow{color:#cdb895}.contact p{color:#ddd}.contact-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:34px}.contact-card a{display:block;color:#fff;font-size:22px;margin:12px 0;text-decoration:none}.checkout{background:var(--paper)}.checklist{display:grid;gap:10px;text-align:left;width:min(520px,100%);margin:28px auto;padding:0;list-style:none}.checklist li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.checklist li:before{content:'✓';font-weight:800;color:var(--olive);margin-right:10px}.footer{padding:70px 20px;text-align:center;background:#111;color:#fff}.footer img{width:130px;margin:0 auto 18px;filter:invert(1);opacity:.74}.footer a{color:#d8c5a6}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;z-index:20;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox img{max-height:86vh;max-width:92vw;border-radius:16px}.close{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;border:0;background:white;font-size:30px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.hero{min-height:660px}.topnav{width:calc(100% - 28px);overflow:auto;justify-content:flex-start}.hero-logo{width:130px}.section{padding:68px 0}.grid-two,.cards.three,.rec-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-item.large{grid-column:span 2}.image-card img{height:430px}.note-grid{grid-template-columns:1fr}.rec-grid p{min-height:auto}}@media(max-width:560px){.container{width:min(92vw,1180px)}.hero h1{font-size:46px}.hero-copy{font-size:17px}.gallery{grid-template-columns:1fr}.gallery-item.large{grid-column:auto}.gallery-item.large img,.gallery-item img{height:290px}.image-card img{height:330px}.contact-card a{font-size:18px}.card{padding:22px}.rec-grid article{padding:20px}.section-head{text-align:left}.narrow{text-align:left}.hero-content{text-align:center}.topnav a{font-size:12px;padding:7px 10px}}
.arrival-card .arrival-photos{display:grid;grid-template-columns:1fr 1fr;gap:0}
.arrival-card .arrival-photos img{height:620px;width:100%;object-fit:cover}
.house-info .note-grid{margin-top:30px}
.house-info .small-note{width:min(820px,88vw);margin:28px auto 0;text-align:center}
@media(max-width:900px){.arrival-card .arrival-photos img{height:430px}}
@media(max-width:560px){.arrival-card .arrival-photos{grid-template-columns:1fr}.arrival-card .arrival-photos img{height:300px}.house-info .small-note{text-align:left}}
