/* The Gail — level-up 11/4 (Lantern House Digital).
   Loaded after each page's own <style>, so it only re-skins. Gloock + Inter Tight,
   sea-grass green-teal on warm ivory, deep sea-night bands. No markup logic lives here. */
:root{
  --lu-ivory:#F5F0E6; --lu-paper:#FBF8F2; --lu-sand:#EBE3D3;
  --lu-ink:#1A2523; --lu-muted:#4B5955;
  --lu-accent:#2B6658; --lu-accent-2:#1F4F44;
  --lu-hair:#B49D6C;
  --lu-night:#0F1E1C; --lu-night-2:#152A27;
  --lu-on-night:#ECE6D9; --lu-on-night-soft:#C3CEC8; --lu-glass:#A3CFC2; --lu-gold:#E3CB98;
  --lu-serif:'Gloock',Georgia,'Times New Roman',serif;
  --lu-sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* the site's own tokens, remapped */
  --blue:#3E7F70; --blue-deep:var(--lu-accent); --ink:var(--lu-ink); --ink-soft:var(--lu-muted);
  --coral:var(--lu-accent); --sea:var(--lu-hair); --sand:var(--lu-ivory); --sand-2:var(--lu-sand);
  --white:var(--lu-paper); --line:rgba(26,37,35,.14); --shadow:none; --max:1180px;
}
html{scroll-padding-top:78px}
body{font-family:var(--lu-sans);font-weight:400;color:var(--lu-ink);background:var(--lu-paper);line-height:1.7;font-variant-numeric:lining-nums}
h1,h2,h3,h4{font-family:var(--lu-serif);font-weight:400;letter-spacing:-.005em;font-variant-numeric:lining-nums}
h2{line-height:1.08}
a{color:var(--lu-accent)}
.eyebrow,.label{font-family:var(--lu-sans);font-size:.72rem;letter-spacing:.24em;font-weight:600;text-transform:uppercase;color:var(--lu-accent)}

/* buttons: squared, caps, tracked */
.btn,.copy,.big-call,button.btn{border-radius:0!important;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;font-family:var(--lu-sans)}
.btn{background:var(--lu-accent);padding:16px 30px}
.btn:hover{background:var(--lu-accent-2)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.75)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.pill,.tag,.cal-nav button,input,select,textarea,form,.cart-add,.cart-rate,.cart-warn,.warn,.card,.wifi div,.photo,.photo-row img,.room,.rev,.gtk div,.proximity img,.winter-band,.cal-panel,.cal-d,#lb img{border-radius:0!important}
.pill{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600;padding:9px 14px}
.tag{letter-spacing:.12em}

/* ---------- logo lockup (text brand) ---------- */
.brand.lu-lockup{display:inline-flex;flex-direction:column;align-items:stretch;text-decoration:none;color:var(--lu-ink);line-height:1;font-family:var(--lu-sans);font-weight:400;letter-spacing:0}
.lu-lockup .lu-name{font-family:var(--lu-serif);font-size:1.34rem;letter-spacing:.22em;text-transform:uppercase;color:inherit;padding-left:.11em;white-space:nowrap}
.lu-lockup .lu-rule{display:block;height:1px;background:var(--lu-hair);margin:7px 0 6px}
.lu-lockup .lu-sub{font-family:var(--lu-sans);font-size:.55rem;letter-spacing:.5em;text-transform:uppercase;color:var(--lu-accent);font-weight:600;text-align:center;padding-left:.5em;white-space:nowrap}
p.brand{font-family:var(--lu-serif)!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.2em}

/* ---------- nav ---------- */
nav{background:rgba(251,248,242,.96);border-bottom:1px solid var(--line)}
.nav-in{max-width:1240px;padding:14px 24px}
.nav-links{gap:30px}
.nav-links a{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--lu-muted)}
.nav-links a:hover{color:var(--lu-accent)}
.nav-cta{border-radius:0!important;padding:12px 20px!important;background:var(--lu-accent)!important;color:#fff!important;letter-spacing:.18em!important;font-weight:600!important}
.nav-cta:hover{background:var(--lu-accent-2)!important}
.lu-home nav{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .35s ease,border-color .35s ease}
.lu-home nav.is-solid{background:rgba(251,248,242,.97);border-bottom-color:var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lu-home nav:not(.is-solid) .lu-lockup{color:#fff}
.lu-home nav:not(.is-solid) .lu-sub{color:#D4E8E1}
.lu-home nav:not(.is-solid) .lu-rule{background:rgba(255,255,255,.6)}
.lu-home nav:not(.is-solid) .nav-links a:not(.nav-cta){color:rgba(255,255,255,.92)}
.lu-home nav:not(.is-solid) .nav-links a:not(.nav-cta):hover{color:#fff}

/* ---------- hero: one photo, the name, one line ---------- */
.lu-home .hero{min-height:100vh;min-height:100svh;background:var(--lu-night)}
.lu-home .hero img.bg{object-position:center 52%}
.lu-home .hero::after{background:linear-gradient(180deg,rgba(9,18,17,.58) 0%,rgba(9,18,17,.10) 24%,rgba(9,18,17,.05) 48%,rgba(9,18,17,.66) 100%)}
.lu-home .hero-in{max-width:1240px;padding:0 24px clamp(64px,11vh,120px)}
.lu-home .hero h1{font-size:clamp(3.4rem,10vw,7rem);font-weight:400;letter-spacing:.01em;line-height:.98;margin-bottom:.22em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.lu-home .hero .sub{font-size:clamp(1.02rem,1.8vw,1.22rem);font-weight:300;max-width:44ch;margin:0;letter-spacing:.01em;text-shadow:0 1px 14px rgba(0,0,0,.45)}
@media(max-width:760px){
  .lu-home .hero img.bg{object-position:47% 50%}
  .lu-home .hero::after{background:linear-gradient(180deg,rgba(9,18,17,.6) 0%,rgba(9,18,17,.12) 26%,rgba(9,18,17,.18) 52%,rgba(9,18,17,.8) 100%)}
}

/* ---------- stats band ---------- */
.lu-stats{background:var(--lu-night);color:var(--lu-on-night)}
.lu-stats-in{max-width:1240px;margin:0 auto;padding:38px 24px;display:grid;grid-template-columns:repeat(6,1fr)}
.lu-stats-in>div{text-align:center;padding:4px 10px;border-left:1px solid rgba(180,157,108,.5)}
.lu-stats-in>div:first-child{border-left:0}
.lu-stats b{display:block;font-family:var(--lu-serif);font-weight:400;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.02;color:var(--lu-on-night);font-variant-numeric:lining-nums}
.lu-stats small{display:block;margin-top:10px;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lu-on-night-soft);font-weight:500}
@media(max-width:860px){
  .lu-stats-in{grid-template-columns:repeat(3,1fr);row-gap:26px;padding:30px 16px}
  .lu-stats-in>div:nth-child(3n+1){border-left:0}
}
/* trust strip: hairline row */
.trust{background:var(--lu-ivory);border-bottom:1px solid var(--line)}
.trust-in{max-width:1240px;padding:30px 24px;gap:0;grid-template-columns:repeat(4,1fr)}
.trust-in>div{padding:4px 14px;border-left:1px solid var(--line)}
.trust-in>div:first-child{border-left:0}
.trust b{font-family:var(--lu-serif);font-weight:400;color:var(--lu-accent);font-size:1.45rem}
.trust small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lu-muted)}
@media(max-width:760px){.trust-in{grid-template-columns:1fr 1fr;row-gap:20px}.trust-in>div:nth-child(odd){border-left:0}}

/* ---------- sections, headings ---------- */
section{padding:clamp(76px,9vw,132px) 0}
.wrap{max-width:1180px;padding:0 24px}
h2{font-size:clamp(2.05rem,4.4vw,3.2rem);margin-bottom:.5em}
h2::after{content:"";display:block;width:56px;height:1px;background:var(--lu-hair);margin-top:.55em}
.lede{font-size:1.14rem;color:var(--lu-muted)}
.alt{background:var(--lu-ivory)}

/* ---------- full-bleed split panels ---------- */
.lu-split{padding:0}
.lu-split:not(.alt):not(.dogs){background:var(--lu-paper)}
.lu-split>.two{max-width:none;margin:0;padding:0;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.lu-split>.two>div{padding:clamp(64px,8vw,124px) clamp(28px,6vw,104px);align-self:center;max-width:720px}
.lu-split>.two>img{width:100%;height:100%;min-height:clamp(440px,66vh,780px);max-height:none;border-radius:0;box-shadow:none!important;object-fit:cover}
.lu-split.cart>.two>img{align-self:start;position:sticky;top:0;height:100vh;min-height:0}
.lu-split>.wrap{padding-bottom:clamp(64px,8vw,112px)}
.lu-split .pill-row .pill{background:transparent!important}
@media(max-width:860px){
  .lu-split>.two{grid-template-columns:1fr}
  .lu-split>.two>img{order:-1;min-height:0;height:auto;aspect-ratio:4/3;position:static!important}
  .lu-split.cart>.two>img{height:auto}
  .lu-split>.two>div{padding:48px 22px 56px}
}
/* the dogs band: deep sea-night */
.dogs{background:var(--lu-night)!important;color:var(--lu-on-night)}
.dogs h2{color:var(--lu-on-night)}
.dogs .lede{color:var(--lu-on-night-soft)}
.dogs p{color:var(--lu-on-night-soft)!important}
.dogs .eyebrow{color:var(--lu-glass)!important}
.dogs .pill{border-color:rgba(180,157,108,.55);color:var(--lu-on-night)}

/* rooms: open, squared, no card chrome */
.rooms{grid-template-columns:repeat(4,1fr);gap:40px 26px;margin-top:46px}
.room{background:transparent;border:0;box-shadow:none;overflow:visible}
.room img{height:auto;aspect-ratio:4/3;object-fit:cover}
.room .body{padding:16px 0 0}
.room h3{font-size:1.3rem;margin-bottom:.35em}
.room p{font-size:.94rem;line-height:1.6}
@media(max-width:1100px){.rooms{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rooms{grid-template-columns:1fr}}

/* golf cart */
.cart-rate{background:var(--lu-paper);box-shadow:none}
.cart-rate b{font-family:var(--lu-serif);font-weight:400;color:var(--lu-accent)}
.cart-warn{background:#F2EADC;border-color:rgba(26,37,35,.14);border-left:3px solid var(--lu-hair)}
.cart .pill{background:transparent;border-color:var(--line)}

/* gallery: uniform, thin gaps, first twelve then all */
#gallery .wrap{max-width:1240px}
.grid{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:42px}
.grid button{border-radius:0}
.grid img{height:auto;aspect-ratio:4/3}
.grid:not(.is-all) button:nth-child(n+13){display:none}
.lu-more{display:flex;justify-content:center;margin-top:34px}
.lu-more button{background:transparent;color:var(--lu-ink);border:1px solid var(--lu-ink);padding:15px 28px;font:600 .74rem var(--lu-sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:0}
.lu-more button:hover{background:var(--lu-ink);color:var(--lu-paper)}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}}

/* amenities: en-dash lists */
.amen h3{font-family:var(--lu-sans);font-size:.7rem;letter-spacing:.22em;color:var(--lu-accent);border-bottom:1px solid var(--lu-hair)}
.amen li{padding-left:18px}
.amen li::before{content:"\2013";background:none;width:auto;height:auto;border-radius:0;top:4px;color:var(--lu-hair)}

/* reviews: a dark band, editorial quotes */
#reviews.lu-night{background:var(--lu-night-2);color:var(--lu-on-night)}
#reviews.lu-night h2{color:var(--lu-on-night)}
#reviews.lu-night .eyebrow{color:var(--lu-glass)}
#reviews.lu-night .lede{color:var(--lu-on-night-soft)}
#reviews .revs{gap:44px 40px;margin-top:48px}
#reviews .rev{background:transparent;border:0;border-top:1px solid rgba(180,157,108,.5);box-shadow:none;padding:26px 0 0}
#reviews .rev p{font-family:var(--lu-sans);font-weight:300;font-size:1.08rem;line-height:1.65;color:var(--lu-on-night)}
#reviews .rev .who{color:var(--lu-glass);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
#reviews .rev .when{color:var(--lu-on-night-soft)}
#reviews .stars{color:var(--lu-gold);font-size:.9rem;letter-spacing:4px}

/* host */
.gtk{gap:30px 36px}
.gtk div{background:transparent;border:0;border-top:1px solid var(--lu-hair);padding:18px 0 0}
.gtk h3{font-family:var(--lu-sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lu-accent)}

/* around */
.around-col h3{font-size:1.32rem;border-bottom:1px solid var(--lu-hair)}
.near .tag{background:transparent;border-color:rgba(43,102,88,.45);color:var(--lu-accent)}
.around-foot{border-top-color:var(--lu-hair)}

/* booking */
.book{background:var(--lu-ivory)}
.winter-band{background:var(--lu-night-2);box-shadow:none;padding:34px 34px}
.winter-band .eyebrow{color:var(--lu-glass)}
.winter-band h3{font-size:1.8rem}
.winter-band p{color:var(--lu-on-night-soft)}
.winter-band .winter-rate{color:var(--lu-on-night)}
.winter-band .winter-rate strong{color:var(--lu-gold);font-weight:500}
.winter-band .btn{background:var(--lu-accent)}
.cal-panel{background:var(--lu-paper);box-shadow:none;border:1px solid var(--line)}
.cal-panel h3{font-size:1.6rem}
.cal-m h4{font-family:var(--lu-sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lu-ink);font-weight:600}
.cal-d.sel{background:var(--lu-accent)}
.cal-d.inrange{background:rgba(43,102,88,.14)}
.cal-d.beyond:hover{background:rgba(43,102,88,.12)}
.cal-verdict.open{color:var(--lu-accent)}
.cal-verdict.booked{color:#8A3B22}
.cal-rows li.tot{color:var(--lu-ink)}
form{background:var(--lu-paper);box-shadow:none}
form[name="inquiry"] label,label.fld{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
a.btn{background:var(--lu-accent)}
a.btn:hover{background:var(--lu-accent-2)}
input:focus,select:focus,textarea:focus{outline-color:var(--lu-accent)}
.book .two img{border-radius:0!important;box-shadow:none!important}

/* footer */
footer{background:var(--lu-night)}
footer h4{font-family:var(--lu-serif);font-weight:400;letter-spacing:.06em}
.colophon{border-top-color:rgba(180,157,108,.3)}

/* subpages (guide, pay, agreement, waiver, thanks) */
header h1{font-weight:400}
.card{box-shadow:none}
.big-call.coral{background:var(--lu-accent)}
ul.dots li::before{content:"\2013";background:none;width:auto;height:auto;border-radius:0;top:4px;color:var(--lu-hair)}
nav a{border-radius:0}
