
:root{--ink:#0b1210;--ink2:#121c19;--em:#0e5a45;--em2:#1f8a68;--em3:#d7efe5;--ch:#e9d8a6;--ch2:#c9b273;--bone:#f3f1ea;--ruby:#b3203a;--text:#24302c;--muted:#66736d;--white:#fff;--r:6px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text);background:var(--bone);line-height:1.7;font-size:16px}
h1,h2,h3,h4{font-family:'Bodoni Moda',Georgia,serif;color:var(--ink);line-height:1.12;font-weight:600}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin:0 auto}
.kicker{display:inline-block;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ruby);font-weight:700;margin-bottom:1rem;border-bottom:2px solid currentColor;padding-bottom:.3rem}
.on-dark .kicker,.dark .kicker{color:var(--ch)}
h1{font-size:clamp(2.8rem,6.4vw,5.4rem)}
h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:1rem}
h3{font-size:1.45rem}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.btn{display:inline-block;padding:.9rem 1.7rem;border-radius:var(--r);font-weight:700;font-size:.88rem;letter-spacing:.04em;border:2px solid transparent;cursor:pointer;transition:.25s;font-family:inherit}
.btn-ch{background:var(--ch);color:var(--ink)}.btn-ch:hover{background:var(--white)}
.btn-em{background:var(--em);color:var(--white)}.btn-em:hover{background:var(--em2)}
.btn-ghost{border-color:var(--ch);color:var(--ch)}.btn-ghost:hover{background:var(--ch);color:var(--ink)}
.btn-ink{border-color:var(--ink);color:var(--ink)}.btn-ink:hover{background:var(--ink);color:var(--bone)}
section{padding:6rem 0}
.dark{background:var(--ink);color:#b9c9c2}.dark h2,.dark h3{color:var(--bone)}
.green{background:var(--em);color:#d3ebe1}.green h2,.green h3{color:var(--white)}.green .kicker{color:var(--ch)}
.pale{background:var(--em3)}
.center{text-align:center}.center .lead{margin:0 auto}

/* header - dark bar, logo left, nav center, button right */
header.site{background:var(--ink);position:sticky;top:0;z-index:60;border-bottom:1px solid rgba(233,216,166,.25)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0}
.logo{display:flex;align-items:center;gap:.7rem}
.logo .mk{width:38px;height:38px;border-radius:50%;border:2px solid var(--ch);display:grid;place-items:center;color:var(--ch);font-family:'Bodoni Moda',serif;font-weight:700}
.logo b{font-family:'Bodoni Moda',serif;color:var(--bone);font-size:1.25rem;display:block;line-height:1.1}
.logo small{display:block;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ch)}
nav.main{display:flex;gap:1.6rem;font-size:.86rem;color:#c9d6d0}
nav.main a:hover,nav.main a.on{color:var(--ch)}
.burger{display:none;background:none;border:1px solid var(--ch);color:var(--ch);font-size:1.3rem;padding:.2rem .6rem;border-radius:var(--r);cursor:pointer}
.mobile{display:none;background:var(--ink2)}

/* hero - full width, centered, huge type with stat rail */
.hero{background:linear-gradient(180deg,rgba(11,18,16,.55),var(--ink)),radial-gradient(circle at 20% 10%,#1f8a68 0,transparent 40%),radial-gradient(circle at 90% 60%,#b3203a 0,transparent 35%),var(--ink);color:#c5d4ce;padding:7rem 0 0;text-align:center}
.hero h1{color:var(--bone);max-width:16ch;margin:0 auto}
.hero h1 i{color:var(--ch);font-weight:500}
.hero p{max-width:58ch;margin:1.6rem auto 2.2rem}
.hero .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.rail{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid rgba(233,216,166,.3)}
.rail div{padding:1.6rem 1rem;border-right:1px solid rgba(233,216,166,.2)}
.rail div:last-child{border:0}
.rail b{font-family:'Bodoni Moda',serif;font-size:2.4rem;color:var(--ch);display:block;line-height:1}
.rail span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}

.phead{background:var(--ink);color:#b9c9c2;padding:5rem 0 4.2rem;border-bottom:4px solid var(--ruby)}
.phead h1{color:var(--bone);font-size:clamp(2.4rem,5vw,4rem)}
.phead .kicker{color:var(--ch)}
.phead p{max-width:58ch;margin-top:1rem}

/* intro two-col with quote block */
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}
.quote{background:var(--em);color:var(--bone);padding:3rem;border-radius:var(--r);font-family:'Bodoni Moda',serif;font-size:1.7rem;line-height:1.3;position:relative}
.quote::before{content:"“";position:absolute;top:-.1rem;left:1.2rem;font-size:6rem;color:var(--ch);line-height:1}
.quote span{display:block;margin-top:1.4rem;font-family:'DM Sans';font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ch)}

/* rooms zig-zag */
.zig{display:grid;gap:3.5rem;margin-top:3rem}
.zrow{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.zrow:nth-child(even) .zimg{order:2}
.zimg{aspect-ratio:4/3;border-radius:var(--r);position:relative;overflow:hidden}
.zimg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 50%)}
.g1{background:linear-gradient(135deg,#0e5a45,#0b1210)}.g2{background:linear-gradient(135deg,#e9d8a6,#b3203a)}.g3{background:linear-gradient(135deg,#b3203a,#2a0a12)}
.zrow small{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ruby);font-weight:700}
.zrow h3{font-size:2rem;margin:.4rem 0 .8rem}
.specs{display:flex;gap:1.4rem;margin-top:1.1rem;font-size:.84rem;font-weight:700;color:var(--em)}
.specs span{border:1px solid var(--em);padding:.25rem .8rem;border-radius:999px}

/* feature green band */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.checks{list-style:none;display:grid;gap:.85rem}
.checks li{padding:.9rem 1.2rem;background:rgba(255,255,255,.08);border-left:3px solid var(--ch);border-radius:var(--r)}

/* dining tiles */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.6rem}
.tile{background:var(--ink2);border:1px solid rgba(233,216,166,.2);border-radius:var(--r);padding:2rem;position:relative;overflow:hidden}
.tile .n{position:absolute;right:1.2rem;top:.2rem;font-family:'Bodoni Moda',serif;font-size:5rem;color:rgba(233,216,166,.1)}
.tile small{color:var(--ch);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}
.tile h3{margin:.4rem 0 .6rem}
.tile .t{margin-top:1rem;font-size:.82rem;color:var(--ch);font-weight:700}

/* events ledger */
.ledger{margin-top:2.4rem;border-top:2px solid var(--ink)}
.lrow{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.6rem 0;border-bottom:1px solid rgba(11,18,16,.18);align-items:center}
.lrow small{color:var(--ruby);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:700}
.lrow p{color:var(--muted);font-size:.94rem}
.when{font-family:'Bodoni Moda',serif;font-size:1.5rem;color:var(--em);text-align:right;white-space:nowrap}

/* amenities strip */
.strip4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.6rem;border:1px solid rgba(11,18,16,.2);background:var(--white)}
.am{padding:2rem 1.5rem;border-right:1px solid rgba(11,18,16,.12);border-bottom:1px solid rgba(11,18,16,.12)}
.am i{font-style:normal;font-size:1.6rem;display:block;margin-bottom:.6rem}
.am h3{font-size:1.15rem;margin-bottom:.3rem}
.am p{font-size:.88rem;color:var(--muted)}

/* spa banner */
.banner{border-radius:var(--r);padding:4.5rem 3rem;background:linear-gradient(110deg,rgba(11,18,16,.9),rgba(14,90,69,.85)),radial-gradient(circle at 80% 50%,#e9d8a6,#0e5a45);color:#d3ebe1;text-align:center}
.banner h2{color:var(--bone);max-width:20ch;margin:0 auto 1rem}
.banner p{max-width:56ch;margin:0 auto 1.6rem}

/* faq two column */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.4rem;text-align:left}
details{background:var(--white);border:1px solid rgba(11,18,16,.15);border-radius:var(--r);padding:1.2rem 1.4rem}
summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--ruby);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:.7rem;color:var(--muted);font-size:.93rem}

.cta{background:var(--ruby);color:#fbe3e8;text-align:center;padding:5.5rem 0}
.cta h2{color:var(--white)}.cta .kicker{color:var(--ch)}
.cta .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}

.cgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem}
form{display:grid;gap:1rem;background:var(--white);padding:2.2rem;border-radius:var(--r);border-top:4px solid var(--em)}
label{font-size:.8rem;font-weight:700;color:var(--ink);display:grid;gap:.35rem}
input,select,textarea{font:inherit;padding:.75rem .9rem;border:1.5px solid #cdd6d1;border-radius:var(--r);background:var(--bone)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--em2);border-color:transparent}
.info p{margin-bottom:1rem}
.prose{max-width:780px}.prose h2{font-size:1.6rem;margin-top:2rem}.prose p{color:var(--muted);margin-bottom:.8rem}

/* footer centered */
footer.site{background:var(--ink);color:#9fb3aa;padding:4.5rem 0 1.8rem;text-align:center}
footer .big{font-family:'Bodoni Moda',serif;font-size:clamp(2rem,5vw,3.4rem);color:var(--ch)}
footer .tag{max-width:50ch;margin:.8rem auto 2rem}
footer .links{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;justify-content:center;font-size:.9rem;margin-bottom:1.6rem}
footer a:hover{color:var(--ch)}
footer .contact{font-size:.88rem;color:var(--bone)}
footer .fb{border-top:1px solid rgba(233,216,166,.2);margin-top:2.4rem;padding-top:1.3rem;font-size:.78rem;display:grid;gap:.4rem}

@media(max-width:960px){
nav.main,.hd>.btn{display:none}.burger{display:block}
.mobile.open{display:grid;padding:.6rem 4%}.mobile a{color:var(--bone);padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.intro,.zrow,.split,.cgrid,.tiles,.faq{grid-template-columns:1fr}
.zrow:nth-child(even) .zimg{order:0}
.rail{grid-template-columns:1fr 1fr}.rail div{border-bottom:1px solid rgba(233,216,166,.2)}
.strip4{grid-template-columns:1fr 1fr}
.lrow{grid-template-columns:1fr}.when{text-align:left}
section{padding:4.2rem 0}
}
