@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Outfit:wght@300;400;500;600&display=swap');

:root{
  --bg:#faf5ec;
  --bg2:#f1e7d6;
  --ink:#1e1518;
  --muted:#6b5c5f;
  --wine:#7d1631;
  --wine-dark:#520e20;
  --brass:#c08a2c;
  --teal:#14554f;
  --card:#ffffff;
  --line:#e2d4bd;
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:16px}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;line-height:1.15;color:var(--ink)}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{width:min(1180px,92%);margin:0 auto}

/* top strip */
.strip{background:var(--wine-dark);color:#ecd9b6;font-size:13px;letter-spacing:.04em}
.strip .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0;flex-wrap:wrap}

/* header: centred logo, nav bar below */
.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.brand-row{text-align:center;padding:18px 0 6px}
.brand{font-family:'Fraunces',serif;font-size:30px;font-weight:700;color:var(--wine);letter-spacing:.02em}
.brand small{display:block;font-family:'Outfit';font-size:11px;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:var(--brass);margin-top:2px}
.nav{display:flex;justify-content:center;align-items:center;gap:6px 26px;flex-wrap:wrap;padding:10px 0 16px}
.nav a{font-size:14px;font-weight:500;color:var(--ink);padding:6px 2px;border-bottom:2px solid transparent;transition:.2s}
.nav a:hover,.nav a.active{color:var(--wine);border-color:var(--brass)}
.nav a.cta{background:var(--wine);color:#fff;padding:9px 22px;border-radius:40px;border:0}
.nav a.cta:hover{background:var(--wine-dark)}

/* buttons */
.btn{display:inline-block;padding:13px 30px;border-radius:40px;font-weight:500;font-size:15px;transition:.2s;border:1.5px solid var(--wine)}
.btn-fill{background:var(--wine);color:#fff}
.btn-fill:hover{background:var(--wine-dark)}
.btn-line{color:var(--wine)}
.btn-line:hover{background:var(--wine);color:#fff}
.btn-brass{background:var(--brass);border-color:var(--brass);color:#fff}

/* hero: split layout with arched panel */
.hero{padding:70px 0 90px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--brass)}
.hero h1{font-size:clamp(40px,5.4vw,70px);margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--wine)}
.hero p.lead{font-size:18px;color:var(--muted);max-width:540px;margin-bottom:32px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.arch{height:520px;border-radius:260px 260px 24px 24px;background:
  radial-gradient(circle at 50% 28%,#f3c969 0 60px,transparent 62px),
  linear-gradient(180deg,#7d1631 0%,#52215a 55%,#14554f 100%);
  position:relative;box-shadow:0 30px 60px -25px rgba(82,14,32,.55);overflow:hidden}
.arch::before{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
  background:
  linear-gradient(#0f2f2c,#0f2f2c) 8% 100%/14% 70% no-repeat,
  linear-gradient(#123f3a,#123f3a) 24% 100%/12% 92% no-repeat,
  linear-gradient(#0c2623,#0c2623) 40% 100%/16% 58% no-repeat,
  linear-gradient(#154943,#154943) 58% 100%/13% 80% no-repeat,
  linear-gradient(#0f2f2c,#0f2f2c) 74% 100%/15% 64% no-repeat,
  linear-gradient(#123f3a,#123f3a) 92% 100%/12% 86% no-repeat}
.arch .tag{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);background:rgba(250,245,236,.95);padding:10px 22px;border-radius:30px;font-size:13px;font-weight:600;color:var(--wine);white-space:nowrap}

/* stats ribbon */
.ribbon{background:var(--wine);color:#fff}
.ribbon .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.ribbon div.s{padding:34px 10px;border-right:1px solid rgba(255,255,255,.18)}
.ribbon div.s:last-child{border:0}
.ribbon b{display:block;font-family:'Fraunces';font-size:40px;color:#f3d28a}
.ribbon span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;opacity:.85}

/* sections */
section{padding:90px 0}
.alt{background:var(--bg2)}
.sec-head{max-width:680px;margin-bottom:46px}
.sec-head.center{margin:0 auto 46px;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-head h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:14px}
.sec-head p{color:var(--muted)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(82,14,32,.45)}
.card .pic{height:170px}
.p1{background:linear-gradient(135deg,#7d1631,#b4475f)}
.p2{background:linear-gradient(135deg,#14554f,#3c8f84)}
.p3{background:linear-gradient(135deg,#c08a2c,#e8c46f)}
.p4{background:linear-gradient(135deg,#52215a,#8a4d94)}
.card .body{padding:26px}
.card .kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);font-weight:600}
.card h3{font-size:22px;margin:8px 0 10px}
.card p{color:var(--muted);font-size:15px}
.card .meta{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:13px;font-weight:500;color:var(--teal)}

.center-btn{text-align:center;margin-top:44px}

/* feature split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .visual{height:420px;border-radius:var(--radius);background:linear-gradient(150deg,#14554f,#0c2623);position:relative;overflow:hidden}
.split .visual::after{content:"";position:absolute;inset:26px;border:1.5px solid rgba(243,210,138,.5);border-radius:12px}
.split .visual.rev{background:linear-gradient(150deg,#7d1631,#52215a)}
.split h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:16px}
.split p{color:var(--muted);margin-bottom:22px}
.checks li{padding-left:30px;position:relative;margin-bottom:10px;font-weight:500}
.checks li::before{content:"♦";position:absolute;left:0;color:var(--brass)}

/* amenities mini */
.mini{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brass);border-radius:12px;padding:22px}
.mini h4{font-size:18px;margin-bottom:6px;color:var(--wine)}
.mini p{font-size:14px;color:var(--muted)}

/* faq */
details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:14px}
summary{cursor:pointer;font-weight:600;font-family:'Fraunces';font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::after{content:"+";color:var(--brass);font-size:24px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:var(--muted)}

/* cta band */
.cta-band{background:linear-gradient(120deg,var(--wine-dark),var(--wine) 55%,#52215a);color:#fff;text-align:center;padding:90px 0}
.cta-band h2{color:#fff;font-size:clamp(30px,4vw,50px);margin-bottom:14px}
.cta-band p{max-width:620px;margin:0 auto 28px;color:#f1dfc0}
.cta-band .eyebrow{justify-content:center;color:#f3d28a}

/* page hero (inner) */
.page-hero{background:linear-gradient(120deg,var(--wine-dark),var(--wine));color:#fff;padding:80px 0;text-align:center}
.page-hero h1{color:#fff;font-size:clamp(34px,5vw,58px);margin-bottom:12px}
.page-hero p{max-width:640px;margin:0 auto;color:#f1dfc0}
.page-hero .eyebrow{justify-content:center;color:#f3d28a}

/* legal */
.legal{max-width:820px;margin:0 auto}
.legal h2{font-size:26px;margin:34px 0 10px;color:var(--wine)}
.legal p,.legal li{color:var(--muted);margin-bottom:10px}
.legal ul{list-style:disc;padding-left:22px}

/* forms */
form.contact{display:grid;gap:16px;max-width:640px;margin:0 auto}
form.contact input,form.contact textarea,form.contact select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}
form.contact textarea{min-height:140px}

/* footer */
footer{background:#1a0f12;color:#cdbfae;padding:70px 0 26px}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
footer h5{font-family:'Outfit';font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#f3d28a;margin-bottom:16px}
footer li{margin-bottom:9px;font-size:14px}
footer a:hover{color:#f3d28a}
footer .fb{font-family:'Fraunces';font-size:26px;color:#fff;margin-bottom:12px}
footer p{font-size:14px}
.copy{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}
.notice{font-size:12px;opacity:.75;margin-top:10px}

@media(max-width:900px){
  .hero .wrap,.split{grid-template-columns:1fr}
  .arch{height:380px}
  .grid3,.grid2{grid-template-columns:1fr}
  .ribbon .wrap{grid-template-columns:repeat(2,1fr)}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){footer .cols{grid-template-columns:1fr}.strip .wrap{justify-content:center;text-align:center}}
