/* =====================================================================
   Mariposa Highlands · LOVABLE DESIGN SAMPLE layer.
   Loaded after site.css + core.css. Re-skins the existing markup with the
   design system of the Lovable project "Mariposa Pixel Estate":
   Newsreader (serif, weight 400) + Instrument Sans, ivory / charcoal / clay / sage,
   square corners, generous section rhythm, hairline borders, no shadows.
   ===================================================================== */
:root{
  --ivory:#f7f3eb; --charcoal:#24211e; --clay:#95694c; --sec:#ece5d9; --card:#fdfaf4;
  --ink:#24211e; --ink2:#5b544c; --mute:#5b544c; --paper:#f7f3eb; --line:#d8d0c3;
  --gold:#95694c; --ember:#95694c; --sage:#5e6f55; --night:#24211e; --dusk:#24211e;
  --ring:#95694c;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:0px;
  --wrap:82rem; --pad:clamp(1.25rem,4vw,3rem); --sy:clamp(4.5rem,10vw,9rem); --sy0:clamp(3rem,6vw,5.5rem);
  --overlay:linear-gradient(to top,rgba(21,17,13,.72),rgba(21,17,13,.08) 55%,rgba(21,17,13,.45));
  --appbar-h:8rem;
}
body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1.05;text-wrap:balance}
h3{line-height:1.15}
p a,li a,dd a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:4px;transition:text-decoration-color .2s}
p a:hover,li a:hover,dd a:hover{text-decoration-color:currentColor}
::selection{background:color-mix(in srgb,var(--clay) 25%,transparent)}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:0}
.skip{border-radius:0}
.eyebrow{font:500 .72rem/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin:0 0 1rem;gap:.5rem}
.eyebrow .i{display:none}
@keyframes lv-fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.c-hero-in,.c-pagehead,.profile-in>*:first-child{animation:lv-fade-up .9s cubic-bezier(.2,.7,.2,1) both}

/* ---------- buttons: square, quiet, tracked ---------- */
.btn{border-radius:0;min-height:44px;padding:0 1.5rem;font:500 .875rem/1 var(--sans);letter-spacing:.025em;border:1px solid transparent;gap:.5rem;transition:background-color .2s,color .2s,border-color .2s,opacity .2s}
.btn:active{transform:none}
.btn .i{display:none}
@media(min-width:768px){.btn{min-height:48px;padding:0 1.75rem}}
.btn-dark,.btn-book{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.btn-dark:hover,.btn-book:hover{background:color-mix(in srgb,var(--charcoal) 88%,transparent)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--ivory)}
.btn-light{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}
.btn-light:hover{background:color-mix(in srgb,var(--ivory) 90%,transparent)}
.btn.c-big{min-height:48px;padding:0 1.75rem;font-size:.875rem}

/* ---------- header ---------- */
.appbar{position:relative;top:auto;z-index:30;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line);color:var(--ink)}
.appbar-in{max-width:var(--wrap);height:8rem;padding:0 var(--pad);gap:1rem;justify-content:space-between}
@media(min-width:768px){.appbar-in{height:10rem}}
.brand{flex:none;line-height:0}
.brand-logo{height:7rem;width:auto;display:block}
@media(min-width:768px){.brand-logo{height:9rem}}
@media(max-width:430px){.brand-logo{height:6.25rem}}
.lv-logo-light{display:none}
.appnav{margin-left:auto;gap:2.25rem;align-items:center;font:400 .875rem/1 var(--sans);letter-spacing:.025em}
.appnav a{color:inherit;opacity:.9;text-decoration:none}
.appnav a:hover{opacity:1}
.appnav a[aria-current=page]{color:inherit;box-shadow:none;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.appnav .btn-book{opacity:1;margin-left:0}
.appbar-back{border-radius:0;width:44px;height:44px;margin-left:-10px}
/* home: header floats over the hero */
.home .appbar{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom:0;color:var(--ivory)}
.home .lv-logo-dark{display:none}.home .lv-logo-light{display:block}
.home .appnav .btn-book{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}
.home .appnav .btn-book:hover{background:color-mix(in srgb,var(--ivory) 90%,transparent)}
/* mobile menu: full-screen ivory overlay, big serif links */
.menu{margin-left:auto}
.menu summary{width:44px;height:44px;border-radius:0;gap:6px;position:relative;z-index:50}
.menu summary span{width:24px;height:1.5px;border-radius:0;background:currentColor;transition:transform .2s,opacity .2s}
.menu[open] summary{background:none;color:var(--ink)}
.menu[open] summary span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu[open] summary span:nth-child(2){opacity:0}
.menu[open] summary span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.menu-panel{position:fixed;inset:0;z-index:45;background:var(--paper);color:var(--ink);padding:9rem var(--pad) 2rem;display:flex;flex-direction:column;overflow-y:auto}
.menu nav{position:static;min-width:0;background:none;border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;gap:1.25rem}
.menu nav a{padding:0;border-radius:0;font:400 2.25rem/1.1 var(--serif);letter-spacing:-.015em;color:var(--ink)}
.menu nav a[aria-current=page]{background:none;color:var(--clay)}
.menu-panel .btn-book{width:100%;margin-top:2.25rem;background:var(--charcoal)!important;color:var(--ivory)!important}
.menu-small{margin-top:auto;padding-top:2rem;font-size:.8125rem;color:var(--mute)}
.menu-small a{color:inherit}
.appbar:has(.menu[open]) .brand{position:relative;z-index:50}
.appbar:has(.menu[open]) .lv-logo-light{display:none}
.appbar:has(.menu[open]) .lv-logo-dark{display:block}
body:has(.menu[open]){overflow:hidden}
@media(max-width:430px){.appbar-in{padding:0 var(--pad);gap:.5rem}}
@media(min-width:900px){.menu{display:none}}

/* ---------- layout rhythm ---------- */
.c-wrap{max-width:var(--wrap);padding:0 var(--pad) var(--sy0)}
.c-sec{max-width:var(--wrap);padding:var(--sy) var(--pad)}
.c-sec.c-narrow{max-width:calc(48rem + 2 * var(--pad))}
.c-narrow0{max-width:48rem}
.c-sec0{padding:var(--sy0) 0 0}
.c-sec h2,.c-sec0 h2{font-size:clamp(2.25rem,4.6vw,3.75rem);margin-bottom:1.5rem}
.c-sec0 h2{font-size:clamp(2rem,3.6vw,3rem)}
.c-row{align-items:flex-end;margin-bottom:3rem;gap:1.5rem}
.c-row a,.c-unit-go{color:var(--ink)!important;font:500 .875rem/1.2 var(--sans);letter-spacing:.01em;border-bottom:1px solid currentColor;padding-bottom:3px;text-decoration:none;width:fit-content}
.c-row a .i,.c-unit-go .i{display:none}
.c-lede{font-size:1.125rem;line-height:1.6;color:var(--ink2);max-width:36rem}
.c-big-p{font:400 1.125rem/1.7 var(--sans);color:var(--ink2)}
.c-sec.c-narrow>.c-big-p:first-of-type{font:400 clamp(1.5rem,2.4vw,1.875rem)/1.3 var(--serif);color:var(--ink);letter-spacing:-.01em}
.c-mute{color:var(--mute);font-size:.875rem}
.c-ctas{gap:.75rem;margin-top:2.25rem}
/* full-bleed alternate band (Lovable bg-secondary) */
.lv-alt,.home main>section:nth-of-type(3),.home main>section:nth-of-type(6),.home main>section:nth-of-type(10){background:var(--sec);box-shadow:0 0 0 100vmax var(--sec);clip-path:inset(0 -100vmax)}

/* ---------- page intro (inner pages) ---------- */
.crumbs ol{margin:0 0 1.5rem;font-size:.75rem;letter-spacing:.04em;color:var(--mute)}
.c-pagehead{padding:clamp(4rem,7vw,6rem) 0 3rem}
.c-pagehead h1,.c-legal h1,.c-404 h1{font-size:clamp(3rem,7vw,4.5rem);margin:1rem 0 1.5rem;max-width:56rem}
.c-pagehead p{font-size:1.125rem;color:var(--ink2);max-width:42rem}
.c-wrap>.crumbs:first-child,.c-legal>.crumbs:first-child{padding-top:clamp(2.5rem,5vw,4rem)}

/* ---------- hero ---------- */
.c-hero{min-height:max(560px,100svh);color:var(--ivory);background:var(--charcoal);align-items:flex-end}
.c-hero-short{min-height:max(460px,72svh)}
.c-hero::after{background:var(--overlay)}
.c-hero-img{object-position:50% 60%}
.c-hero-in{max-width:var(--wrap);padding:10rem var(--pad) clamp(4rem,8vw,6rem)}
.c-hero h1{font-size:clamp(3rem,7.2vw,5.75rem);line-height:1.02;max-width:52rem;margin:1rem 0 1.5rem;font-weight:400}
.c-hero-short h1{font-size:clamp(2.75rem,6vw,4.75rem)}
.c-hero .eyebrow{color:color-mix(in srgb,var(--ivory) 90%,transparent)}
.c-hero .c-lede{color:color-mix(in srgb,var(--ivory) 90%,transparent);max-width:34rem}
.c-proof{font-size:.8125rem;letter-spacing:.02em;color:color-mix(in srgb,var(--ivory) 80%,transparent);margin-top:1.75rem}
.c-proof a{color:inherit}
.c-hero .crumbs,.c-hero .crumbs a,.c-hero .crumbs li{color:color-mix(in srgb,var(--ivory) 80%,transparent)}
.c-hero .btn-book{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}
.c-hero .btn-light{background:transparent;color:var(--ivory);border-color:color-mix(in srgb,var(--ivory) 70%,transparent)}
.c-hero .btn-light:hover{background:var(--ivory);color:var(--charcoal)}

/* ---------- split (12-col) ---------- */
.c-split{max-width:var(--wrap);padding:var(--sy) var(--pad);gap:2.5rem}
.c-split-img img,.c-split-vid video{border-radius:0!important}
.c-split-img img{max-height:720px;aspect-ratio:4/3}
.c-split-txt{padding:0}
.c-split-txt h2{font-size:clamp(2.25rem,4.6vw,3.75rem);margin-bottom:1.5rem}
.c-split-txt p{font-size:1.125rem;line-height:1.7;color:var(--ink2);margin:0 0 2rem}
.c-split-txt .btn{margin:0 .5rem .5rem 0}
@media(min-width:900px){
  .c-split{grid-template-columns:7fr 5fr;padding:var(--sy) var(--pad);gap:clamp(3rem,6vw,6rem)}
  .c-split.c-split-rev{grid-template-columns:5fr 7fr}
  .c-split.c-split-v16{grid-template-columns:7fr 5fr;gap:clamp(3rem,6vw,6rem)}
}

/* ---------- pillars ---------- */
.c-pillars{margin-top:3.5rem;gap:2.5rem 2rem}
.c-pillars li{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1.5rem 0 0}
.c-pillars .i{display:none}
.c-pillars h3{font-size:1.625rem;margin-bottom:.75rem}
.c-pillars p{font-size:.9375rem;line-height:1.65;color:var(--ink2)}

/* ---------- stay cards ---------- */
.c-units{gap:3.5rem 2rem}
.c-unit a{background:none;border:0;border-radius:0;overflow:visible;transition:none}
.c-unit a:hover{transform:none;box-shadow:none}
.c-unit-img{aspect-ratio:4/3;background:var(--sec);transition:opacity .5s}
.c-unit a:hover .c-unit-img{opacity:.88}
.c-unit-txt{padding:1.5rem 0 0;gap:.5rem}
.c-unit-txt small{font:500 .7rem/1.4 var(--sans);letter-spacing:.2em;color:var(--clay)}
.c-unit-txt h3{font-size:clamp(1.625rem,2.4vw,2rem)}
.c-unit-txt>span{font-size:.9375rem;line-height:1.6;color:var(--ink2)}
.c-unit-go{margin-top:1rem!important;padding-top:0!important}
.c-unit-soon a{border:1px solid var(--line);padding:2rem;justify-content:flex-end;min-height:16rem}
.c-unit-soon .c-unit-txt{padding:0}
.c-units-sm .c-unit-txt h3{font-size:1.5rem}

/* ---------- night band (Lovable full-bleed image band) ---------- */
.c-night{min-height:70vh;margin:0;align-items:flex-end;background:var(--charcoal)}
.c-night-img{opacity:1}
.c-night::after{background:var(--overlay)}
.c-night-in{max-width:var(--wrap);padding:6rem var(--pad) clamp(3rem,6vw,5rem)}
.c-night-in h2{font-size:clamp(2.5rem,6vw,4.5rem);max-width:14ch;margin-bottom:1.25rem}
.c-night-in p{font-size:1.125rem;max-width:34rem;color:color-mix(in srgb,var(--ivory) 85%,transparent);margin:0 0 2rem}

/* ---------- lists, fit, included ---------- */
.c-fit{margin-top:3rem;gap:3rem}
.c-fit>div,.c-incl>div{background:none;border:0;border-radius:0;padding:0}
.c-fit h3,.c-incl h3{font-size:1.625rem;margin-bottom:1rem}
.checks{border-top:1px solid var(--line)}
.checks li{padding:.85rem 0 .85rem 2rem;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.55;color:var(--ink2)}
.checks li::before{top:1.2rem;left:4px;width:11px;height:6px;border-width:0 0 1.5px 1.5px;border-color:var(--sage)}
.c-incl{gap:3rem 2rem}
.c-links li{margin:.5rem 0}

/* ---------- figures / galleries on stay pages ---------- */
.c-figs{gap:1rem;margin-top:2rem}
.c-fig img,.h-img{border-radius:0}
.c-fig figcaption{font-size:.8125rem;color:var(--mute);padding-top:.6rem}
.c-gal-h{font-size:1.625rem;margin:3rem 0 0}
@media(min-width:760px){.c-g6,.c-g3,.c-g7{gap:1.25rem}}

/* ---------- unit page ---------- */
.c-unit-top{padding-top:1rem;gap:2.5rem}
.c-unit-top h1{font-size:clamp(2.75rem,5.5vw,4.5rem);margin:1rem 0 1.25rem}
@media(min-width:1000px){.c-unit-top{grid-template-columns:1.35fr 1fr;gap:clamp(3rem,5vw,5rem)}}

/* detail rows (Lovable stay page dl) */
.facts{display:block;border-top:1px solid var(--line);margin:2rem 0}
.fact{display:grid;grid-template-columns:8rem 1fr;gap:1rem;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:1rem 0;align-items:baseline}
.fact dt{font:500 .7rem/1.4 var(--sans);letter-spacing:.2em;color:var(--clay)}
.fact dd{margin:0;font-size:.9375rem;font-weight:400;color:var(--ink)}

/* ---------- booking widget (sample: hands off to the live site) ---------- */
.bk{background:var(--card);border:1px solid var(--line);border-radius:0;box-shadow:none;padding:clamp(1.5rem,3vw,2.5rem);margin:1.5rem 0 2rem;scroll-margin-top:1.5rem}
.bk-head h2{font-size:clamp(1.875rem,3.4vw,2.5rem);margin-bottom:1.5rem}
.bk label{font:500 .68rem/1.3 var(--sans);letter-spacing:.18em;color:var(--mute);gap:.5rem}
.bk input,.bk select,.bk textarea{border-radius:0;border:1px solid var(--line);background:var(--paper);min-height:48px;font:400 1rem var(--sans)}
.bk input:focus,.bk select:focus,.bk textarea:focus{border-color:var(--clay);box-shadow:none}
.bk-search{gap:1rem}
.bk-search .btn{min-height:48px}
.bk-body{margin-top:1.25rem}
.bk-msg{border-radius:0;background:var(--sec);color:var(--ink2);font-size:.875rem;line-height:1.55;padding:1rem 1.25rem;border-left:2px solid var(--clay)}
.bk-msg a{color:var(--ink)}
.bk-msg.err{background:#f3e2da;color:#6e2c17;border-left-color:#a2492a}

/* ---------- notes, steps, tips ---------- */
.note{border-radius:0;padding:1.75rem 2rem;margin-top:2rem}
.note h3{font-size:1.625rem;margin-bottom:.75rem}
.note-soon{background:var(--sec)}
.note-stub{background:none;border:1px solid var(--line)}
.note-legend{background:var(--charcoal);color:color-mix(in srgb,var(--ivory) 85%,transparent)}
.note-legend .eyebrow{color:color-mix(in srgb,var(--ivory) 60%,transparent)}
.note-legend h3{color:var(--ivory)}
.note-legend a{color:var(--ivory)}
.note-hist .h-fig figcaption,.note-hist .h-fig figcaption b{color:color-mix(in srgb,var(--ivory) 75%,transparent)}
.step{padding:0 0 2rem 2rem}
.step::before{width:9px;height:9px;left:6px;top:.55rem;border:1.5px solid var(--clay);background:var(--paper)}
.step::after{left:10px;top:1.6rem;width:1px}
.step-time{font:500 .7rem/1.4 var(--sans);letter-spacing:.2em;color:var(--clay)}
.step h3{font-size:1.625rem;margin:.35rem 0 .6rem}
.step p{line-height:1.7}
.tip{border-radius:0;background:none;border:0;border-top:1px solid var(--line);padding:1.25rem 0}
.tip-n{font:400 1.75rem var(--serif);color:var(--clay)}
.tip h3{font:500 1rem var(--sans)}
.prose p{line-height:1.75;font-size:1.0625rem}
.answer{background:none;border:0;border-left:2px solid var(--clay);border-radius:0;padding:.25rem 0 .25rem 1.5rem}
.answer p{font:400 clamp(1.25rem,2vw,1.5rem)/1.45 var(--serif);color:var(--ink)}
.h-talk-v{border-radius:0}
.h-talk figcaption{color:var(--mute)}

/* ---------- FAQ ---------- */
.hub-faq{max-width:calc(48rem + 2 * var(--pad));padding:var(--sy0) var(--pad) 0;margin:0 auto}
.hub-faq h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:1.5rem}
.faq-item{border-bottom:1px solid var(--line)}
details.faq-item:first-of-type{border-top:1px solid var(--line)}
.faq-item summary{font:400 1.25rem/1.35 var(--serif);padding:1.25rem 2.5rem 1.25rem 0;letter-spacing:-.005em}
.faq-item summary::after{font:300 1.5rem var(--sans);color:var(--clay);top:1.05rem}
.faq-item p{color:var(--ink2);line-height:1.7;margin:0 0 1.5rem}

/* ---------- experience tiles (home + related) ---------- */
.relgrid{gap:3rem 1.5rem;grid-template-columns:1fr 1fr}
.rel{aspect-ratio:auto;border-radius:0;overflow:visible;background:none;color:var(--ink)}
.rel::after{display:none}
.rel-img{aspect-ratio:4/5;height:auto;transition:opacity .5s;background:var(--sec)}
.rel:hover .rel-img{opacity:.88}
.rel-cap{position:static;margin-top:1.1rem;gap:.5rem}
.rel-cap small{font:500 .68rem/1.3 var(--sans);letter-spacing:.2em;color:var(--clay);opacity:1}
.rel-cap b{font:400 clamp(1.25rem,2vw,1.5rem)/1.15 var(--serif);letter-spacing:-.01em}
@media(min-width:760px){.relgrid{grid-template-columns:repeat(3,1fr);gap:3.5rem 2rem}}
@media(min-width:1000px){.c-feat{grid-template-columns:repeat(3,1fr)}}

/* ---------- closing section (replaces the photo stay band) ---------- */
.stayband.lv-closing{background:var(--paper);color:var(--ink);margin:0;border-top:1px solid var(--line)}
.stayband.lv-closing::before{display:none}
.lv-closing .stayband-in{max-width:42rem;padding:var(--sy) var(--pad)}
.lv-closing .eyebrow{color:var(--clay)}
.lv-closing h2{font-size:clamp(2.75rem,6vw,3.75rem);margin:0}
.lv-closing p{color:var(--ink2);margin:1.25rem 0 0;line-height:1.7}
.lv-closing-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.25rem}

/* ---------- footer (charcoal, three columns) ---------- */
.foot.lv-foot{background:var(--charcoal);color:var(--ivory);padding:0}
.lv-foot .foot-in{max-width:var(--wrap);margin:0 auto;padding:4rem var(--pad);display:grid;gap:3rem;justify-content:normal}
@media(min-width:768px){.lv-foot .foot-in{grid-template-columns:1.2fr 1fr 1fr}}
.lv-foot .foot-logo{margin:0}
.lv-foot .foot-logo img{height:9rem;width:auto;background:none;padding:0;border-radius:0}
@media(min-width:768px){.lv-foot .foot-logo img{height:11rem}}
.lv-foot .foot-tag{margin:1.5rem 0 0;max-width:20rem;font:400 .875rem/1.6 var(--sans);color:color-mix(in srgb,var(--ivory) 70%,transparent)}
.lv-foot .foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;font-size:.875rem}
.lv-foot .foot-col .eyebrow{color:color-mix(in srgb,var(--ivory) 60%,transparent);margin:0 0 .5rem}
.lv-foot .foot-col a{text-decoration:none;color:var(--ivory)}
.lv-foot .foot-col a:hover{text-decoration:underline;text-underline-offset:4px}
.lv-foot address{font-style:normal;font-size:.875rem;line-height:1.6;color:color-mix(in srgb,var(--ivory) 70%,transparent);margin-bottom:.25rem}
.lv-foot .foot-bottom{max-width:var(--wrap);margin:0 auto;padding:1.5rem var(--pad) calc(1.5rem + var(--safe-b));border-top:1px solid color-mix(in srgb,var(--ivory) 15%,transparent);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}
.lv-foot .foot-small{margin:0;font-size:.75rem;color:color-mix(in srgb,var(--ivory) 50%,transparent)}
.lv-foot .foot-small a{color:inherit}
@media(max-width:999px){.detail .lv-foot .foot-bottom{padding-bottom:calc(6rem + var(--safe-b))}}

/* ---------- experiences hub ---------- */
.profile{max-width:var(--wrap);padding:0 var(--pad)}
.cover{height:clamp(220px,32vw,420px);margin:0 calc(-1 * var(--pad));border-radius:0!important}
.cover::after{background:linear-gradient(180deg,rgba(21,17,13,0) 55%,var(--paper))}
.cover-sun{border-radius:0;background:rgba(21,17,13,.55);font-size:.75rem;letter-spacing:.04em}
.cover-sun .i{color:var(--ivory)}
.profile-in{padding:0 0 1rem}
.ring{padding:2px;background:var(--clay)}
.ring-in{border-width:3px}
.ring-stub{background:var(--line)}
.ring-soon{background:repeating-conic-gradient(var(--line) 0 8deg,transparent 8deg 14deg)}
.ring-all{background:var(--ink)}
.avatar-lg{box-shadow:none}
.profile h1{font-size:clamp(3rem,6vw,4.5rem);max-width:18ch;line-height:1.02}
.bio{font-size:1.0625rem;line-height:1.7;color:var(--ink2)}
.handle{font-weight:500;letter-spacing:.02em}
.stats b{font-weight:400;font-size:1.5rem}
.stories-wrap{max-width:var(--wrap);padding:1.25rem var(--pad) 0}
.story-label{font-size:.75rem;color:var(--ink2)}
.feed-wrap{max-width:var(--wrap);padding:0 var(--pad)}
.tabbar{position:sticky;top:0;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:2.5rem}
.tabs{gap:.5rem;padding:0}
.tab{border:1px solid var(--line);margin:0;padding:.6rem 1rem;font:500 .8125rem/1 var(--sans);letter-spacing:.02em;color:var(--ink);border-radius:0}
.tab .i{display:none}
.tab[aria-selected=true]{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.viewtoggle{border-left:0;gap:.25rem}
.vt{border-radius:0;border:1px solid transparent}
.vt[aria-pressed=true]{background:none;border-color:var(--ink)}
.feed-count{margin:0 0 1.5rem;font-size:.75rem;letter-spacing:.04em}
.grid{gap:3rem 1rem;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.tile{aspect-ratio:auto;overflow:visible;background:none;border-radius:0!important}
.tile a{height:auto;color:var(--ink);position:relative}
.tile a::after{display:none}
.tile-img,.tile .ph-img{aspect-ratio:4/5;height:auto;background:var(--sec);transition:opacity .5s}
.tile a:hover .tile-img{transform:none;opacity:.88}
.tile-feature{grid-column:1/-1;grid-row:auto!important;aspect-ratio:auto!important}
.tile-feature .tile-img{aspect-ratio:4/3}
.tile-cap{position:static;margin-top:1rem;gap:.4rem}
.tile-cat{display:block;font:500 .68rem/1.3 var(--sans);letter-spacing:.2em;color:var(--clay);opacity:1}
.tile-name{font:400 1.25rem/1.15 var(--serif);text-shadow:none;letter-spacing:-.01em}
.tile-feature .tile-name{font:400 clamp(1.875rem,3.4vw,2.75rem)/1.05 var(--serif)}
.tile-badge{border-radius:0;font:500 .62rem/1 var(--sans);letter-spacing:.16em;padding:.45rem .6rem;background:var(--ivory);color:var(--ink)}
.tile-badge.badge-soon{background:var(--charcoal);color:var(--ivory)}
.tile-badge.badge-inq{background:var(--clay);color:var(--ivory)}
.tile-guide,.more-badge,.gcount{border-radius:0}
.tile-noimg{background:none}
.tile-noimg a{display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/5;background:var(--sec);padding:1.25rem}
.tile-noimg .tile-name{font:400 1.375rem/1.15 var(--serif)}
.tile-feature.tile-noimg a{aspect-ratio:4/3}
@media(min-width:760px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem 1.5rem;padding:0}
  .tile-feature .tile-img{aspect-ratio:21/9}
  .tile-feature.tile-noimg a{aspect-ratio:21/9}
  .tile-name{font-size:1.5rem}
  .tile-badge{left:12px;top:12px}
}
@media(min-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem 2rem;padding:0}.tile-feature .tile-name{font-size:2.75rem}}
.feed{max-width:40rem}
.post{background:none;border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding-bottom:1rem}
.post-head{padding:.75rem 0}
.post-body{padding:1rem 0}
.post-tag{font:italic 400 1.375rem/1.3 var(--serif)}
.post-media .tile-badge{left:12px;top:12px}

/* ---------- experience detail ---------- */
.topstack{position:relative;top:auto;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line)}
.topstack .appbar{border-bottom:1px solid var(--line)}
.rail{max-width:var(--wrap);padding:.75rem var(--pad) .25rem}
.rail-arrow{letter-spacing:.14em;font-weight:500}
.rail .story.is-current .ring{background:var(--clay);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}
.rail .story.is-current .story-label{font-weight:500}
.segs{max-width:var(--wrap);padding:0 var(--pad) .75rem}
.segs a{font-weight:500;letter-spacing:.04em}
.segs a span{height:2px;border-radius:0;background:var(--line)}
.dgrid{max-width:var(--wrap)}
.block{padding-top:var(--sy0);scroll-margin-top:1.5rem}
.block>h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:1.5rem}
.dbody h1{font-size:clamp(2.75rem,5.5vw,4.5rem);line-height:1.02;margin:.75rem 0 1rem}
.dtag{font:italic 400 clamp(1.25rem,2vw,1.5rem)/1.4 var(--serif);color:var(--ink2)}
.sub{font-size:1.625rem;margin:2.5rem 0 1rem}
.castm{border-radius:0;background:none;border:0;border-top:1px solid var(--line);padding:1rem 0}
.castm b{font-weight:400;font-size:1.375rem}
.castm small{font-weight:500;letter-spacing:.18em;color:var(--clay)}
.cast-photo{border-radius:0}
.pn{border-radius:0;background:none;border:0;border-top:1px solid var(--line);padding:1.25rem 0}
.pn-txt b{font-weight:400;font-size:1.375rem}
.pn-txt small{font-weight:500;letter-spacing:.18em}
.bottombar{background:var(--charcoal);backdrop-filter:none}
.bottombar .btn{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}
.inline-cta{gap:.75rem;margin-top:2rem}
@media(min-width:1000px){
  .dgrid{gap:clamp(3rem,5vw,5rem);padding:var(--sy0) var(--pad) 0}
  .dmedia{top:2rem}
  .gallery{border-radius:0}
  .slides{max-height:calc(100vh - 4rem)}
}
@media(max-width:999px){.dbody{padding:0 var(--pad) 2.5rem}}

/* galleries + dialogs */
.gallery{background:var(--sec)}
.gnav{border-radius:0;background:var(--ivory);border:1px solid var(--line);box-shadow:none;width:44px;height:44px}
.gnav:hover{transform:translateY(-50%);background:var(--ivory);border-color:var(--ink)}
.gall-btn{border-radius:0;background:transparent}
.gall,dialog.vfull{border-radius:0;box-shadow:none}
.gall-head b{font:400 1.375rem var(--serif)}
.gall-x{border-radius:0;border-width:1px}
.ga-item{border-radius:0}
.vid-toggle,.vid-sound,.vfull-btn,.ga-play{border-radius:0!important}
.slide figcaption,.slide .ph-img+figcaption{font:italic 400 1rem/1.4 var(--serif);color:var(--ink2);padding:.75rem 0}
.dot{border-radius:0;width:14px;height:2px}.dot.on{transform:none}

/* history */
.hgal-sec{background:var(--charcoal);color:color-mix(in srgb,var(--ivory) 85%,transparent);margin:var(--sy0) 0;padding:var(--sy0) 0 3rem}
.hgal-head h2{color:var(--ivory)}
.hgal-head .c-mute{color:color-mix(in srgb,var(--ivory) 60%,transparent)}
.hgal .hs-media{border-radius:0}
.hgal .hs-date{font-weight:500;letter-spacing:.2em;color:color-mix(in srgb,var(--ivory) 60%,transparent)}
.hgal .hs-title{font:400 1.625rem/1.15 var(--serif);color:var(--ivory)}
.hgal .hs-story{color:color-mix(in srgb,var(--ivory) 78%,transparent)}
.c-hero-hist .hero-credit{color:color-mix(in srgb,var(--ivory) 70%,transparent)}

/* legal / 404 */
.c-legal h2{font-size:1.875rem;margin-top:2.5rem}
.c-legal p,.c-legal li{line-height:1.75;color:var(--ink2)}
.c-404{padding-top:clamp(4rem,8vw,7rem);padding-bottom:var(--sy)}

/* ---------- fixes after first visual pass ---------- */
.appnav .btn-book,.appnav .btn-book:hover{color:var(--ivory)}
.home .appnav .btn-book,.home .appnav .btn-book:hover{color:var(--charcoal)}
.c-split-txt p.eyebrow,.c-sec p.eyebrow,.stayband p.eyebrow{font:500 .72rem/1.3 var(--sans);letter-spacing:.22em;color:var(--clay);margin:0 0 1.25rem}
.c-hero p.eyebrow{color:color-mix(in srgb,var(--ivory) 90%,transparent)}
.lv-closing .eyebrow{margin-bottom:1.25rem}
.cover{margin:0 calc(-1 * var(--pad));height:clamp(240px,34vw,460px)}
.cover::after{display:none}
.profile-in{padding-top:1.5rem}
.tile-guide{border-radius:0;background:rgba(21,17,13,.55);backdrop-filter:none}
@media(max-width:640px){
  .c-hero h1{font-size:clamp(2.5rem,11vw,3rem)}
  .c-hero-short h1{font-size:clamp(2.25rem,10vw,2.75rem)}
  .c-hero .c-lede{font-size:1rem}
  .c-hero-in{padding-top:9rem}
  .c-sec h2,.c-split-txt h2{font-size:clamp(2rem,9vw,2.5rem)}
}
