:root{--bg:#0E1A0C;--deep:#152808;--moss:#2F5A24;--glow:#7BE05B;--mint:#CFE8C4;--warm:#F2C27A;--cream:#F5F3EA;--ink:#14210F;--mut:#5D6B57;--r:18px;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);line-height:1.12;margin:0 0 .5em;font-weight:800}
h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}.narrow{width:min(780px,100% - 32px)}
.center{text-align:center}.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--moss);font-weight:700;margin-bottom:.8rem}
.center + .cards,.center + .masonry,.center + .rates{margin-top:2.5rem}
.sec{padding:clamp(56px,9vw,110px) 0}.sec-dark{background:var(--bg);color:var(--cream)}.sec-dark .eyebrow,.sec-green .eyebrow{color:var(--glow)}
.sec-green{background:var(--deep);color:var(--cream)}.sec-soft{background:#ECE9DC}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--glow);color:#0B1A07;font-weight:700;padding:.95rem 1.6rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font:700 1rem var(--sans);transition:transform .2s,box-shadow .2s;box-shadow:0 8px 30px -10px rgba(123,224,91,.7)}
.btn:hover{transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--cream);border:1.5px solid rgba(207,232,196,.5);box-shadow:none}.btn-sm{padding:.6rem 1.1rem;font-size:.9rem}
/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.8rem clamp(16px,4vw,48px);background:linear-gradient(#0E1A0Cdd,#0E1A0C00);transition:background .3s}
.hd.solid{background:#0E1A0Cf2;backdrop-filter:blur(8px)}
.brand{text-decoration:none;color:var(--mint);display:flex;flex-direction:column;line-height:1;margin-right:auto}.brand-main{font:800 1.5rem var(--serif);letter-spacing:.06em}.brand-sub{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;margin-top:.15rem}
.nav{display:flex;gap:1.4rem;align-items:center}.nav a{color:var(--cream);text-decoration:none;font-size:.92rem;opacity:.9}.nav a:hover{color:var(--glow)}.nav .lang{border:1px solid rgba(207,232,196,.4);padding:.2rem .7rem;border-radius:999px;font-size:.8rem}
.burger{display:none;background:0;border:0;width:40px;height:40px;position:relative;cursor:pointer}.burger span{position:absolute;left:8px;right:8px;height:2px;background:var(--mint);transition:.25s}.burger span:first-child{top:15px}.burger span:last-child{top:23px}
/* hero */
.hero{position:relative;background:var(--bg);color:var(--cream);padding:120px 0 70px;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:saturate(1.1)}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 80% 40%,rgba(123,224,91,.18),transparent 70%),linear-gradient(90deg,#0E1A0C 0%,#0E1A0Ccc 45%,#0E1A0C55 100%)}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem);margin-bottom:.4em}h1 em{color:var(--glow);font-style:italic;font-weight:500;display:block}
.lead{font-size:1.12rem;max-width:36rem;color:#dfe9d8}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.chips li{border:1px solid rgba(207,232,196,.3);padding:.3rem .8rem;border-radius:999px;font-size:.82rem;color:var(--mint)}
.hero-pics{position:relative;height:min(620px,70vw)}
.hp{position:absolute;margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -20px #000}.hp img{width:100%;height:100%;object-fit:cover}
.hp1{width:62%;aspect-ratio:4/5;left:0;top:0}.hp2{width:50%;aspect-ratio:3/4;right:0;bottom:0;border:4px solid var(--bg)}
.marquee{background:var(--deep);color:var(--mint);overflow:hidden;white-space:nowrap;padding:.9rem 0;border-block:1px solid #ffffff14}
.mq-track{display:inline-block;animation:mq 38s linear infinite}.mq-track span{margin:0 1.6rem;font:italic 500 1.05rem var(--serif)}.mq-track span:after{content:"✦";margin-left:3.2rem;color:var(--glow);font-style:normal;font-size:.7rem}
@keyframes mq{to{transform:translateX(-50%)}}
/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.about-pics{position:relative;padding-bottom:12%}.about-pics img{border-radius:var(--r);width:78%;aspect-ratio:3/4;object-fit:cover}.about-pics .sm{position:absolute;right:0;bottom:0;width:48%;border:5px solid var(--cream);aspect-ratio:3/4}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.8rem 0 0;padding-top:1.4rem;border-top:1px solid #14210f22}.stats dt{font:800 2.2rem var(--serif);color:var(--moss)}.stats dd{margin:0;font-size:.82rem;color:var(--mut)}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{background:#16240f;border-radius:var(--r);overflow:hidden;border:1px solid #ffffff12}.card img{width:100%;aspect-ratio:4/4.2;object-fit:cover;transition:transform .6s}.card:hover img{transform:scale(1.04)}.card{overflow:hidden}.card-b{padding:1.2rem 1.3rem 1.5rem}.card p{color:#cfdcc8;margin:0;font-size:.95rem}
.night{position:relative;min-height:70vh;background-size:cover;background-position:center 35%;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 16px}
.night:before,.final:before{content:"";position:absolute;inset:0;background:linear-gradient(#0E1A0Cb0,#0E1A0C80)}.night-in,.final-in{position:relative;max-width:42rem}.night h2,.final h2{font-size:clamp(2rem,5vw,3.6rem)}
/* gallery */
.masonry{columns:4;column-gap:14px}.gi{display:block;margin-bottom:14px;border-radius:14px;overflow:hidden;break-inside:avoid;position:relative;cursor:zoom-in}.gi img{width:100%;transition:transform .5s,filter .3s}.gi:hover img{transform:scale(1.05);filter:brightness(1.08)}
/* romance */
.romance{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.rom-pics{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rom-pics img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover}.rom-pics img:last-child{margin-top:2rem}
/* rates */
.rates{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:760px;margin-inline:auto}
.rate{background:#fff;border-radius:var(--r);padding:2rem;text-align:center;border:1px solid #14210f14}.rate.hot{background:var(--deep);color:var(--cream)}.rate span{display:block;font-weight:700}.rate i{font-style:normal;opacity:.7;font-weight:400}.rate strong{display:block;font:800 clamp(2rem,4vw,2.8rem) var(--serif);margin:.4rem 0}.rate small{font:700 .9rem var(--sans);opacity:.7}.rate em{font-style:normal;font-size:.85rem;opacity:.7}
.notes{max-width:620px;margin:2rem auto 0;padding:0;list-style:none}.notes li{padding:.55rem 0 .55rem 1.6rem;position:relative;border-bottom:1px solid #14210f14}.notes li:before{content:"✦";position:absolute;left:0;color:var(--moss);font-size:.7rem;top:.9rem}
.fine{text-align:center;font-size:.82rem;color:var(--mut);margin-top:1.2rem}
/* book */
.book{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}.book p{color:#cfdcc8}
.bk{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#16240f;padding:1.6rem;border-radius:var(--r);border:1px solid #ffffff14}.bk label span{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin-bottom:.3rem}.bk input,.bk select{width:100%;padding:.8rem;border-radius:10px;border:1px solid #ffffff26;background:#0E1A0C;color:#fff;font:inherit;color-scheme:dark}.bk .btn{grid-column:1/-1}
/* know / faq */
.know{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 2rem}.know h3{font-size:1.1rem;color:var(--moss)}.know p{color:var(--mut);margin:0}
details{background:#fff;border-radius:14px;padding:1rem 1.3rem;margin-bottom:.7rem;border:1px solid #14210f12}summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--moss)}details[open] summary:after{content:"−"}details p{margin:.8rem 0 0;color:var(--mut)}
.final{position:relative;background-size:cover;background-position:center;min-height:62vh;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 16px}.final p{color:#e6efe0}
/* footer */
.ft{background:var(--bg);color:var(--mint);padding:60px 0 100px}.ft-in{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:2rem}.ft-brand img{border-radius:50%;margin-bottom:.8rem}.ft p{margin:.3rem 0}.ft a{text-decoration:none}.ft a:hover{color:var(--glow)}.soc{display:flex;flex-direction:column;gap:.4rem}.copy{text-align:center;font-size:.8rem;opacity:.6;margin-top:2.5rem}
.wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;z-index:60;box-shadow:0 10px 30px -8px #000a}
.sticky-bar{display:none}
/* lightbox */
.lb{position:fixed;inset:0;background:#050a04f2;z-index:100;display:grid;place-items:center;padding:20px}.lb[hidden]{display:none}.lb figure{margin:0;max-width:min(92vw,720px);text-align:center}.lb img{max-height:80vh;width:auto;margin:auto;border-radius:10px}.lb figcaption{color:#cfdcc8;margin-top:.8rem;font-size:.92rem}
.lb button{position:absolute;background:#ffffff14;color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:1.8rem;cursor:pointer}.lb-x{top:16px;right:16px}.lb-p{left:16px;top:50%}.lb-n{right:16px;top:50%}
/* reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}.js .rv{opacity:1;transform:none}html{scroll-behavior:auto}.night{background-attachment:scroll}}
/* responsive */
@media (max-width:980px){
 .hero-in,.about,.romance,.book{grid-template-columns:1fr}.hero{padding-top:100px}.hero-pics{height:auto;display:flex;gap:12px}.hp{position:static;flex:1}.hp1,.hp2{width:auto;border:0}
 .cards{grid-template-columns:1fr 1fr}.masonry{columns:3}.know{grid-template-columns:1fr 1fr}.ft-in{grid-template-columns:1fr}
 .burger{display:block}.hd-cta{display:none}.nav{position:fixed;inset:64px 0 auto 0;background:#0E1A0Cf8;flex-direction:column;padding:1.5rem;gap:1.1rem;transform:translateY(-130%);transition:transform .3s;align-items:flex-start}.nav.open{transform:none}.nav a{font-size:1.1rem}
 .night{background-attachment:scroll}
}
@media (max-width:620px){
 .cards,.know,.rates,.bk{grid-template-columns:1fr}.masonry{columns:2;column-gap:10px}.gi{margin-bottom:10px}.stats{grid-template-columns:repeat(2,1fr)}.rom-pics img:last-child{margin-top:1rem}
 .sticky-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#0E1A0Cf2}.sticky-bar .btn{width:100%}.wa-float{bottom:84px;right:14px;width:52px;height:52px}.ft{padding-bottom:130px}
}
.hero .eyebrow{color:var(--glow)}
.wrap>.eyebrow:has(+.center){text-align:center}

/* v1.0.2 spacing + layout audit */
.sec{padding:clamp(44px,6.5vw,80px) 0}
.center + .cards,.center + .masonry,.center + .rates{margin-top:2rem}
.masonry{columns:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gi{margin:0;aspect-ratio:4/5;break-inside:auto}.gi img{width:100%;height:100%;object-fit:cover}
.night{min-height:52vh;padding:64px 16px}.final{min-height:48vh;padding:64px 16px}
.hero{padding:112px 0 56px}
.ft{padding:48px 0 40px}.copy{margin-top:1.8rem}
.about-pics{padding-bottom:8%}
.rates{max-width:820px}
.notes{max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin-top:1.6rem}
.card{display:flex;flex-direction:column}.card-b{flex:1}
.bk{grid-template-columns:1fr 1fr;align-items:end}
.bk label:nth-of-type(3){grid-column:1}
.bk .btn{grid-column:2;width:100%;height:100%;min-height:50px}
.book{gap:2rem}
.know{gap:1.4rem 2rem}
@media (max-width:980px){.masonry{grid-template-columns:repeat(3,1fr)}.night{min-height:46vh}.ft{padding-bottom:40px}.hero{padding-top:96px}}
@media (max-width:620px){
 .masonry{grid-template-columns:repeat(2,1fr);gap:8px}.notes{grid-template-columns:1fr}
 .bk{grid-template-columns:1fr 1fr}.bk label:nth-of-type(3){grid-column:1/-1}.bk .btn{grid-column:1/-1}
 .night{min-height:38vh;padding:48px 16px}.final{min-height:40vh;padding:48px 16px}
 .sec{padding:40px 0}.ft{padding-bottom:110px}.hero{padding-bottom:40px}
}
.book>*,.bk>*,.hero-in>*,.about>*,.romance>*{min-width:0}
.bk input,.bk select{min-width:0;max-width:100%}
@media (max-width:980px){.book,.hero-in,.about,.romance{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.bk{grid-template-columns:minmax(0,1fr);padding:1.2rem}.bk label:nth-of-type(3),.bk .btn{grid-column:auto}}

/* v1.0.5 */
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:#0E1A0C;padding:10px 16px;border-radius:8px;z-index:200}
.skip-link:focus{left:8px}
.loc .lead{max-width:56ch;margin:0 auto 22px}
.loc-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.proof{display:inline-block;margin:0 0 18px;padding:8px 16px;border-radius:999px;background:rgba(0,0,0,.05);font-size:.95rem}
.proof span{color:#E0A81C}
.btn-ghost{background:transparent;border:1.5px solid currentColor}

.loc .btn-ghost{color:#0E1A0C;border-color:rgba(14,26,12,.4)}

/* v1.0.6 */
.sec .lead{color:#3e4a39}.sec-dark .lead,.hero .lead{color:#dfe9d8}
