/* Thomson Reserve — brand palette (Brand Guide 24 Jun) with WCAG-adjusted ink tones */
:root{
  --porcelain:#F4F4EA;      /* Porcelain Light */
  --stone:#DAD6B3;          /* Stone Garden (Classic Collection) */
  --mist:#98B5B1;           /* Morning Mist (Luxury Collection) */
  --canopy:#A8A67B;         /* Canopy Green — decorative */
  --lilies:#D8D2D5;         /* Water Lilies — decorative */
  --teal:#517777;           /* Teal Blue — large text / decor */
  --teal-ink:#466868;       /* darkened Teal for buttons/links (≥4.5:1 on porcelain) */
  --wine:#60363C;           /* Mulled Wine — headings */
  --cedar:#7E553A;          /* Cedar Wood — accents */
  --ink:#3E4A44;            /* body text */
  --dark:#2E4443;           /* dark bands */
  --wa:#0E7A40;             /* WhatsApp green, darkened for contrast */
  --serif:'Marcellus',Georgia,serif;
  --sans:'Jost','Century Gothic',Verdana,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--porcelain);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;color:var(--wine);line-height:1.2}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:.6rem}
h3{font-size:1.35rem;margin-bottom:.5rem}
p{margin-bottom:1rem}
a{color:var(--teal-ink)}
.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;color:var(--cedar);margin-bottom:.8rem;font-weight:500}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
section{padding:76px 0}
.center{text-align:center}
.note{font-size:.82rem;color:#6b6f66;margin-top:.6rem}

/* Nav */
header.nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(244,244,234,.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(96,54,60,.12)}
.nav-inner{max-width:1240px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-family:var(--serif);color:var(--wine);text-decoration:none;font-size:1.12rem;letter-spacing:.12em}
.brand small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;color:var(--cedar)}
nav.links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
nav.links a{text-decoration:none;color:var(--ink);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}
nav.links a:hover{color:var(--cedar)}
.btn{display:inline-block;padding:13px 26px;border-radius:2px;text-decoration:none;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;text-align:center}
.btn-primary{background:var(--teal-ink);color:#fff}
.btn-primary:hover{background:var(--wine)}
.btn-outline{border-color:var(--porcelain);color:var(--porcelain);background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.14)}
.btn-outline-dark{border-color:var(--teal-ink);color:var(--teal-ink);background:transparent}
.btn-outline-dark:hover{background:var(--teal-ink);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#0a6132}
.nav-cta{padding:10px 18px;font-size:.8rem}

/* Hero */
.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:linear-gradient(rgba(24,40,32,.45),rgba(24,40,32,.6)),url('hero-forest.jpg') center/cover no-repeat;padding:120px 22px 90px}
.hero .logo-lockup img{width:min(430px,72vw);margin:0 auto 18px}
.hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:.14em;text-transform:uppercase}
.hero .tagline{color:var(--porcelain);font-size:clamp(1rem,2.2vw,1.3rem);letter-spacing:.24em;text-transform:uppercase;margin:16px 0 8px}
.hero .sub{color:rgba(244,244,234,.92);letter-spacing:.06em;margin-bottom:34px}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Stats bar */
.stats{background:var(--dark);color:var(--porcelain);padding:34px 0}
.stats .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center}
.stats b{display:block;font-family:var(--serif);font-size:1.5rem;color:#fff;font-weight:400}
.stats span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}

/* Split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.split img{border-radius:3px;box-shadow:0 14px 40px rgba(46,68,67,.18)}
.band-stone{background:var(--stone)}
.band-lilies{background:var(--lilies)}
.band-dark{background:var(--dark);color:var(--porcelain)}
.band-dark h2,.band-dark h3{color:var(--porcelain)}
.band-dark p{color:rgba(244,244,234,.9)}

/* Cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px}
.card{background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 10px 34px rgba(46,68,67,.12)}
.card .tag{display:inline-block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;border-radius:2px;margin-bottom:12px}
.tag-classic{background:var(--stone);color:var(--wine)}
.tag-luxury{background:var(--mist);color:var(--wine)}
.card .pad{padding:26px 28px 30px}
.card img{height:250px;width:100%;object-fit:cover}
ul.ticks{list-style:none;margin:14px 0 4px}
ul.ticks li{padding-left:30px;position:relative;margin-bottom:9px}
ul.ticks li::before{content:"✓";position:absolute;left:0;color:var(--cedar);font-weight:600}
.band-dark ul.ticks li::before{color:var(--mist)}

/* Tables */
table{width:100%;border-collapse:collapse;background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 10px 34px rgba(46,68,67,.10);font-size:.95rem}
th{background:var(--dark);color:var(--porcelain);text-align:left;padding:13px 16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
td{padding:12px 16px;border-bottom:1px solid #ecebe0;vertical-align:top}
tr:last-child td{border-bottom:none}
td.k{width:34%;color:var(--wine);font-weight:500}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.gal img{height:230px;width:100%;object-fit:cover;border-radius:3px}

/* FAQ */
details{background:#fff;border-radius:3px;margin-bottom:12px;box-shadow:0 6px 22px rgba(46,68,67,.08)}
summary{cursor:pointer;padding:18px 22px;font-family:var(--serif);color:var(--wine);font-size:1.06rem;list-style:none;position:relative;padding-right:44px}
summary::after{content:"+";position:absolute;right:22px;top:14px;font-size:1.5rem;color:var(--cedar)}
details[open] summary::after{content:"–"}
details .a{padding:0 22px 20px;font-size:.95rem}

/* Form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.form-grid .full{grid-column:1/-1}
label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);margin-bottom:6px}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cfcdbb;border-radius:2px;background:#fff;font-family:var(--sans);font-size:.98rem;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal-ink)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem}
.consent input{width:auto;margin-top:4px}
.small-print{font-size:.78rem;color:#6b6f66;margin-top:10px}

/* Footer */
footer{background:var(--dark);color:rgba(244,244,234,.85);padding:56px 0 110px;font-size:.83rem}
footer .contact-line{font-size:1rem;color:#fff;margin-bottom:18px;letter-spacing:.04em}
footer p{margin-bottom:12px;line-height:1.6;color:rgba(244,244,234,.75)}
footer a{color:var(--mist)}

/* Mobile sticky bar */
.sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70}
.sticky-bar a{flex:1;padding:15px 6px;text-align:center;color:#fff;text-decoration:none;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase}
.sticky-bar .reg{background:var(--teal-ink)}
.sticky-bar .wa{background:var(--wa)}

/* Page hero (subpages) */
.page-hero{padding:150px 22px 70px;background:linear-gradient(rgba(46,68,67,.55),rgba(46,68,67,.6)),url('lake.jpg') center/cover;text-align:center}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:.1em}
.page-hero p{color:var(--porcelain);letter-spacing:.1em;text-transform:uppercase;font-size:.86rem;margin-top:10px}

/* CTA band */
.cta-band{background:var(--teal-ink);text-align:center;padding:64px 22px}
.cta-band h2{color:#fff}
.cta-band p{color:var(--porcelain)}
.cta-band .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}

@media(max-width:900px){
  nav.links a:not(.nav-cta){display:none}
  .split,.cards,.form-grid{grid-template-columns:1fr}
  .stats .grid{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:1fr 1fr}
  .sticky-bar{display:flex}
  section{padding:56px 0}
}
