:root{--ivory:#f6f1e9;--sand:#ece4d6;--ink:#25211c;--mute:#4d463d;--bronze:#8a6d3b;--deep:#2b2620}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:300 17px/1.7 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo,.price{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.01em}
a{color:inherit}
.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:linear-gradient(rgba(20,16,12,.55),transparent);color:#fff}
.logo{text-decoration:none;font-size:26px;letter-spacing:.32em}.logo span{display:block;font:300 10px Inter;letter-spacing:.3em;opacity:.8;margin-top:-4px}
.nav nav{display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase}.nav nav a{text-decoration:none}
.hero{position:relative;min-height:min(92vh,760px);display:flex;align-items:flex-end;color:#fff}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(20,16,12,.7))}
.hero-copy{position:relative;z-index:1;padding:0 5vw 9vh;max-width:760px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);margin:0 0 14px}.hero .eyebrow{color:#e6d6b6}
h1{font-size:clamp(42px,7vw,84px);line-height:1;margin:0 0 18px;font-weight:400}
h2{font-size:clamp(32px,4.6vw,52px);line-height:1.1;margin:0 0 22px;font-weight:400}
.lede{font-size:20px;max-width:520px;margin:0 0 30px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--bronze);color:#fff;border:1px solid var(--bronze);padding:15px 30px;font:400 13px Inter;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;border-color:#fff}.btn.small{padding:9px 18px;font-size:11px}
section{padding:110px 0}.wrap{max-width:1120px;margin:0 auto;padding:0 5vw}.narrow{max-width:760px}
.intro{text-align:center}.stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;margin:50px 0 0}
.stats b{display:block;font:500 34px "Cormorant Garamond",serif;color:var(--bronze)}.stats span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gallery{padding:0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;height:360px}.gallery img,.duo img{width:100%;height:100%;object-fit:cover}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}
.card{background:var(--sand);padding:34px 30px}.card.wide{grid-column:1/-1}
.card h3{margin:0;font-size:26px}.price{margin:6px 0 0;font-size:44px;color:var(--deep)}.price small{font:300 12px Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-right:6px}
.note{font-size:13px;color:var(--mute);margin-top:18px}
.dark{background:var(--deep);color:#efe8db}.dark h2{color:#fff}
.amen{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;margin:26px 0 40px}.amen ul{list-style:none;margin:0;padding:0}.amen li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;height:300px}
table{width:100%;border-collapse:collapse;margin-top:24px}td{padding:18px 0;border-bottom:1px solid #d8cdb9}td:last-child{text-align:right;font:500 26px "Cormorant Garamond",serif;color:var(--bronze)}
.narrowp{max-width:640px}figure{margin:34px 0 0}figure img{width:100%;display:block}figcaption{font-size:13px;opacity:.7;margin-top:8px}
form{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
input,select{font:300 17px Inter;padding:14px 12px;border:1px solid #cfc3ad;background:#fff;color:var(--ink);border-radius:0}
.chk{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px}.chk input{margin-top:5px}
.status{min-height:24px;font-size:14px}.or{margin-top:24px}.or a{color:var(--bronze)}
footer{background:#1c1814;color:#a89f90;padding:44px 5vw;font-size:12px;line-height:1.7}footer p{max-width:900px;margin:0 0 8px}
.float{position:fixed;right:18px;bottom:18px;z-index:20;background:var(--deep);color:#fff;padding:13px 22px;text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--bronze)}
@media(max-width:720px){.nav nav a:not(.btn){display:none}section{padding:72px 0}.stats{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;height:auto}.gallery img{height:200px}.cards,.amen,.duo{grid-template-columns:1fr}.duo{height:auto}.duo img{height:200px}.card.wide{grid-column:auto}.hero{min-height:min(88vh,700px)}.lede{font-size:18px}}
.duo.r{margin-top:30px}
.hero-img{background-position:center 60%}
.hero::after{background:linear-gradient(rgba(20,16,12,.25),rgba(20,16,12,.3) 30%,rgba(20,16,12,.82))}
.hero-copy{text-shadow:0 1px 18px rgba(0,0,0,.45)}.hero .eyebrow{color:#f0e2c4}
.hero-img{background-position:center 40%}
/* contrast pass */
.nav{background:linear-gradient(rgba(20,16,12,.85),rgba(20,16,12,.55));text-shadow:0 1px 8px rgba(0,0,0,.6)}
.logo span{opacity:1;font-weight:400}
.hero::after{background:linear-gradient(rgba(20,16,12,.45),rgba(20,16,12,.45) 35%,rgba(20,16,12,.88))}
.hero-copy{text-shadow:0 2px 20px rgba(0,0,0,.7)}.hero .eyebrow{color:#fff}.lede{font-weight:400}
.btn{background:#8a6d3b;border-color:#8a6d3b;font-weight:500}.btn.ghost{background:rgba(20,16,12,.35);color:#fff}
.nav .btn{background:#8a6d3b}
body{font-weight:400}
.dark,.dark p,.dark li{color:#f6f1e9}
.stats span,.note,label{color:#3f392f}
td:last-child,.stats b{color:#7a5f30}
figcaption{opacity:1;color:#3f392f}.dark figcaption{color:#f6f1e9}
.card{background:#e8dfce}
footer{color:#d8d0c2}
.or a{color:#7a5f30;font-weight:500}
.status{font-size:15px;color:#25211c;padding:10px 14px;border-left:3px solid #8a6d3b;background:#ece4d6;display:none}
.status.show{display:block}
.eyebrow{color:#6b522a;font-weight:500}.hero .eyebrow{color:#fff}.dark .eyebrow{color:#e6d2a6}
