/* Piedra Pines Lodge · style.css
   Architecture: Synergy Digital Lab. Load order: style.css → a11y.css (async)
   Sections: tokens/base · logo · topbar · nav · mobile bar · hero · theme · sections · site layer · footer · reviews badge */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --sand:#faf0e4;--sand-d:#f0e2cc;--adobe:#d4622a;--adobe-d:#b84e1e;--turq:#3d7a6e;--turq-d:#2c5c52;
  --ochre:#e09030;--ochre-l:#f5b85a;--clay:#7a3018;--pine:#0f2416;--cream:#fefaf4;--ink:#281808;
  --mid:#5a3a24;--border:#e4ccaa;--body:#33170a;
  --f-serif:'Cormorant Garamond',Georgia,serif;--f-sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--f-script:'Dancing Script','Brush Script MT',cursive;
  --tri:linear-gradient(90deg,var(--adobe) 0 34%,var(--ochre) 34% 67%,var(--turq) 67% 100%);
  --wrap:1240px;--gut:clamp(18px,5vw,48px);--sec:clamp(72px,9vw,120px);--ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{font-family:var(--f-sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:3px solid var(--adobe);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--ink);color:#fff;padding:12px 18px;font-weight:600;text-decoration:none;border-radius:4px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.ic{width:22px;height:22px;flex:none}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--adobe-d)}
.kicker::before{content:"";width:28px;height:2px;background:var(--tri)}
.h2{font-family:var(--f-serif);font-weight:500;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.005em;margin-top:12px}
.lede{font-size:1.14rem;line-height:1.7;color:var(--body);max-width:56ch;margin-top:16px}
.tri-rule{height:6px;background:var(--tri)}
/* 21st.dev ports */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:4px;border:1.5px solid var(--adobe);background:var(--adobe);color:#fff;font-weight:600;font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--adobe-d);border-color:var(--adobe-d)}
.btn .ic{width:18px;height:18px}
.btn.ghost{background:transparent;color:var(--adobe-d)}
.btn.ghost:hover{background:var(--adobe);color:#fff}
.btn.glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
.btn.glass:hover{background:#fff;color:var(--ink)}
.fx-shimmer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shimmer 4s var(--ease) infinite 1.4s}
@keyframes shimmer{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@property --beam{syntax:'<angle>';initial-value:0deg;inherits:false}
.fx-beam{position:relative}
.fx-beam::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--beam),transparent 0 70%,var(--adobe) 82%,var(--ochre-l) 86%,var(--adobe) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:beam 6s linear infinite}
@keyframes beam{to{--beam:360deg}}
.fx-spot{--mx:50%;--my:50%;position:relative}
.fx-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx) var(--my),rgba(212,98,42,.14),transparent 45%);opacity:0;transition:opacity .3s}
.fx-spot:hover::after{opacity:1}
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 60s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}

.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;line-height:1}
.lg-mark{flex:none}
.lg1 .lg-mark{width:46px;height:46px}
.lg-word{display:flex;flex-direction:column}
.lg1 .lg-name{white-space:nowrap;font-family:var(--f-serif);font-weight:600;font-size:1.45rem;letter-spacing:.16em;text-transform:uppercase}
.lg1 .lg-sub{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;opacity:.9}
.lg1 .lg-sub i{width:14px;height:1.5px;background:var(--lg-accent,currentColor)}
.lg2 .lg-mark{width:36px;height:45px}
.lg2 .lg-name{white-space:nowrap;font-family:var(--f-serif);font-weight:600;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase}
.lg2 .lg-script{font-family:var(--f-script);font-weight:700;font-size:1.55rem;color:var(--lg-accent,currentColor);margin:-6px 0 0 auto;padding-right:2px;line-height:1}
@media(max-width:560px){.lg1 .lg-mark{width:38px;height:38px}.lg1 .lg-name{font-size:1.12rem}.lg1 .lg-sub{font-size:.58rem;letter-spacing:.18em}.lg2 .lg-name{font-size:1.15rem}.lg2 .lg-script{font-size:1.25rem}.lg2 .lg-mark{width:30px;height:38px}}

.topbar{position:absolute;top:0;left:0;right:0;z-index:50;color:#fff;font-family:var(--f-sans);font-size:.84rem;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--ochre-l) 45%,var(--adobe) 55%,transparent) no-repeat;background-size:30% 100%;animation:tbRun 6s linear infinite}
@keyframes tbRun{from{background-position:-40% 0}to{background-position:140% 0}}
.tb-inner{padding:0 clamp(16px,4vw,40px);min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.18)}
.tb-msg{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;font-weight:500}
.tb-msg strong{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.tb-msg .ic{width:15px;height:15px;color:var(--ochre-l);flex:none}
.tb-extra{opacity:.9}
.tb-short{display:none}
.tb-links{display:flex;align-items:center;gap:2px;flex:none}
.tb-links a{display:inline-flex;align-items:center;gap:6px;min-height:32px;min-width:32px;justify-content:center;padding:0 9px;border-radius:4px;color:#fff;text-decoration:none;font-weight:600;transition:background .2s}
.tb-links a:hover{background:rgba(255,255,255,.12)}
.tb-links .ic{width:15px;height:15px}
.tb-links .g{width:15px;height:15px}
.tb-sep{width:1px;height:16px;background:rgba(255,255,255,.3);margin:0 4px}
.tb-links .tb-book{background:var(--adobe);padding:0 14px;text-transform:uppercase;letter-spacing:.12em;text-shadow:none}
.tb-links .tb-book:hover{background:var(--adobe-d)}
@media(max-width:1100px){.tb-extra{display:none}}
@media(max-width:768px){.tb-msg strong,.tb-msg .ic,.tb-extra{display:none}.tb-short{display:block;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}.tb-links .tb-mail,.tb-sep{display:none}.tb-links .tb-label{display:none}.tb-links a{padding:0 7px}}

.nav{position:fixed;top:0;left:0;right:0;z-index:800;background:rgba(254,250,244,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transform:translateY(-110%);transition:transform .4s var(--ease);--lg-accent:var(--adobe)}
.nav::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--tri)}
.nav.show,.nav:focus-within{transform:none}
.nav-in{padding:12px clamp(16px,4vw,40px) 10px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.nav-links{list-style:none;display:flex;gap:26px}
.nav-links a{text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--adobe);transition:right .25s var(--ease)}
.nav-links a:hover::after{right:0}
.nav-r{display:flex;align-items:center;gap:14px}
.nav-phone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600}
.nav-phone .ic{width:17px;height:17px;color:var(--adobe-d)}
.nav-book{min-height:44px;padding:0 18px}
.burger{display:none;width:46px;height:46px;border:1.5px solid var(--adobe);border-radius:4px;background:transparent;cursor:pointer;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;padding:0 11px}
.burger i{display:block;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.burger i:nth-child(1){width:22px}.burger i:nth-child(2){width:16px}.burger i:nth-child(3){width:10px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){width:22px;transform:translateY(-7px) rotate(-45deg)}
.mnav{border-top:1px solid var(--border);padding:12px clamp(16px,4vw,40px) 22px;display:grid;gap:10px;background:var(--cream)}
.mnav[hidden]{display:none}
.mnav ul{list-style:none}
.mnav li a{display:block;padding:14px 2px;border-bottom:1px solid var(--border);text-decoration:none;font-family:var(--f-serif);font-size:1.5rem}
@media(max-width:1060px){.nav-links,.nav-phone{display:none}.burger{display:flex}}
@media(max-width:560px){.nav-book{display:none}}

.mob-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1000;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(40,24,8,.96);backdrop-filter:blur(8px);border-top:2px solid var(--adobe)}
.mob-bar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:6px;text-decoration:none;color:#fff;font-weight:700;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.3)}
.mob-bar .ic{width:16px;height:16px}
.mob-bar .mb-call{background:var(--adobe);border-color:var(--adobe)}
@media(max-width:768px){.mob-bar{display:flex}body{padding-bottom:72px}}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --sand:#faf0e4;--sand-d:#f0e2cc;--adobe:#d4622a;--adobe-d:#b84e1e;--turq:#3d7a6e;--turq-d:#2c5c52;
  --ochre:#e09030;--ochre-l:#f5b85a;--clay:#7a3018;--pine:#0f2416;--cream:#fefaf4;--ink:#281808;
  --mid:#5a3a24;--border:#e4ccaa;--body:#33170a;
  --f-serif:'Cormorant Garamond',Georgia,serif;--f-sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--f-script:'Dancing Script','Brush Script MT',cursive;
  --tri:linear-gradient(90deg,var(--adobe) 0 34%,var(--ochre) 34% 67%,var(--turq) 67% 100%);
  --wrap:1240px;--gut:clamp(18px,5vw,48px);--sec:clamp(72px,9vw,120px);--ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{font-family:var(--f-sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:3px solid var(--adobe);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:9999;background:var(--ink);color:#fff;padding:12px 18px;font-weight:600;text-decoration:none;border-radius:4px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.ic{width:22px;height:22px;flex:none}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--adobe-d)}
.kicker::before{content:"";width:28px;height:2px;background:var(--tri)}
.h2{font-family:var(--f-serif);font-weight:500;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.005em;margin-top:12px}
.lede{font-size:1.14rem;line-height:1.7;color:var(--body);max-width:56ch;margin-top:16px}
.tri-rule{height:6px;background:var(--tri)}
/* 21st.dev ports */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:4px;border:1.5px solid var(--adobe);background:var(--adobe);color:#fff;font-weight:600;font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--adobe-d);border-color:var(--adobe-d)}
.btn .ic{width:18px;height:18px}
.btn.ghost{background:transparent;color:var(--adobe-d)}
.btn.ghost:hover{background:var(--adobe);color:#fff}
.btn.glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
.btn.glass:hover{background:#fff;color:var(--ink)}
.fx-shimmer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shimmer 4s var(--ease) infinite 1.4s}
@keyframes shimmer{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@property --beam{syntax:'<angle>';initial-value:0deg;inherits:false}
.fx-beam{position:relative}
.fx-beam::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--beam),transparent 0 70%,var(--adobe) 82%,var(--ochre-l) 86%,var(--adobe) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:beam 6s linear infinite}
@keyframes beam{to{--beam:360deg}}
.fx-spot{--mx:50%;--my:50%;position:relative}
.fx-spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx) var(--my),rgba(212,98,42,.14),transparent 45%);opacity:0;transition:opacity .3s}
.fx-spot:hover::after{opacity:1}
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 60s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}

.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;line-height:1}
.lg-mark{flex:none}
.lg1 .lg-mark{width:46px;height:46px}
.lg-word{display:flex;flex-direction:column}
.lg1 .lg-name{white-space:nowrap;font-family:var(--f-serif);font-weight:600;font-size:1.45rem;letter-spacing:.16em;text-transform:uppercase}
.lg1 .lg-sub{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;opacity:.9}
.lg1 .lg-sub i{width:14px;height:1.5px;background:var(--lg-accent,currentColor)}
.lg2 .lg-mark{width:36px;height:45px}
.lg2 .lg-name{white-space:nowrap;font-family:var(--f-serif);font-weight:600;font-size:1.5rem;letter-spacing:.12em;text-transform:uppercase}
.lg2 .lg-script{font-family:var(--f-script);font-weight:700;font-size:1.55rem;color:var(--lg-accent,currentColor);margin:-6px 0 0 auto;padding-right:2px;line-height:1}
@media(max-width:560px){.lg1 .lg-mark{width:38px;height:38px}.lg1 .lg-name{font-size:1.12rem}.lg1 .lg-sub{font-size:.58rem;letter-spacing:.18em}.lg2 .lg-name{font-size:1.15rem}.lg2 .lg-script{font-size:1.25rem}.lg2 .lg-mark{width:30px;height:38px}}

.topbar{position:absolute;top:0;left:0;right:0;z-index:50;color:#fff;font-family:var(--f-sans);font-size:.84rem;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--ochre-l) 45%,var(--adobe) 55%,transparent) no-repeat;background-size:30% 100%;animation:tbRun 6s linear infinite}
@keyframes tbRun{from{background-position:-40% 0}to{background-position:140% 0}}
.tb-inner{padding:0 clamp(16px,4vw,40px);min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.18)}
.tb-msg{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;font-weight:500}
.tb-msg strong{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.tb-msg .ic{width:15px;height:15px;color:var(--ochre-l);flex:none}
.tb-extra{opacity:.9}
.tb-short{display:none}
.tb-links{display:flex;align-items:center;gap:2px;flex:none}
.tb-links a{display:inline-flex;align-items:center;gap:6px;min-height:32px;min-width:32px;justify-content:center;padding:0 9px;border-radius:4px;color:#fff;text-decoration:none;font-weight:600;transition:background .2s}
.tb-links a:hover{background:rgba(255,255,255,.12)}
.tb-links .ic{width:15px;height:15px}
.tb-links .g{width:15px;height:15px}
.tb-sep{width:1px;height:16px;background:rgba(255,255,255,.3);margin:0 4px}
.tb-links .tb-book{background:var(--adobe);padding:0 14px;text-transform:uppercase;letter-spacing:.12em;text-shadow:none}
.tb-links .tb-book:hover{background:var(--adobe-d)}
@media(max-width:1100px){.tb-extra{display:none}}
@media(max-width:768px){.tb-msg strong,.tb-msg .ic,.tb-extra{display:none}.tb-short{display:block;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}.tb-links .tb-mail,.tb-sep{display:none}.tb-links .tb-label{display:none}.tb-links a{padding:0 7px}}

.nav{position:fixed;top:0;left:0;right:0;z-index:800;background:rgba(254,250,244,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transform:translateY(-110%);transition:transform .4s var(--ease);--lg-accent:var(--adobe)}
.nav::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--tri)}
.nav.show,.nav:focus-within{transform:none}
.nav-in{padding:12px clamp(16px,4vw,40px) 10px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.nav-links{list-style:none;display:flex;gap:26px}
.nav-links a{text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--adobe);transition:right .25s var(--ease)}
.nav-links a:hover::after{right:0}
.nav-r{display:flex;align-items:center;gap:14px}
.nav-phone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600}
.nav-phone .ic{width:17px;height:17px;color:var(--adobe-d)}
.nav-book{min-height:44px;padding:0 18px}
.burger{display:none;width:46px;height:46px;border:1.5px solid var(--adobe);border-radius:4px;background:transparent;cursor:pointer;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;padding:0 11px}
.burger i{display:block;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.burger i:nth-child(1){width:22px}.burger i:nth-child(2){width:16px}.burger i:nth-child(3){width:10px}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){width:22px;transform:translateY(-7px) rotate(-45deg)}
.mnav{border-top:1px solid var(--border);padding:12px clamp(16px,4vw,40px) 22px;display:grid;gap:10px;background:var(--cream)}
.mnav[hidden]{display:none}
.mnav ul{list-style:none}
.mnav li a{display:block;padding:14px 2px;border-bottom:1px solid var(--border);text-decoration:none;font-family:var(--f-serif);font-size:1.5rem}
@media(max-width:1060px){.nav-links,.nav-phone{display:none}.burger{display:flex}}
@media(max-width:560px){.nav-book{display:none}}

.edge-tab{position:fixed;top:50%;z-index:900;transform:translateY(-50%);border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;width:44px;color:#fff;font:600 .78rem var(--f-sans);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 8px 24px rgba(20,8,2,.3);transition:width .2s,background .2s}
.edge-tab span{writing-mode:vertical-rl;transform:rotate(180deg)}
.edge-tab .ic{width:20px;height:20px}
.a11y-tab{left:0;background:var(--turq-d);border-radius:0 8px 8px 0}
.rev-tab{right:0;background:var(--clay);border-radius:8px 0 0 8px}
.rev-tab b{font-family:var(--f-serif);font-size:1.15rem;letter-spacing:0;color:var(--ochre-l)}
.rev-tab .ic{color:var(--ochre-l);fill:var(--ochre-l)}
.edge-tab:hover{width:50px}
.edge-panel{position:fixed;top:0;bottom:0;z-index:1200;width:min(400px,92vw);background:var(--cream);color:var(--ink);overflow-y:auto;padding:22px 22px 28px;box-shadow:0 0 50px rgba(20,8,2,.35);display:flex;flex-direction:column;gap:14px}
.edge-l .edge-panel{left:0;border-right:6px solid var(--turq)}
.edge-r .edge-panel{right:0;border-left:6px solid var(--adobe)}
.edge-panel[hidden]{display:none}
.edge-scrim{position:fixed;inset:0;z-index:1150;background:rgba(20,8,2,.45)}
.edge-scrim[hidden]{display:none}
.ep-head{display:flex;justify-content:space-between;align-items:center}
.ep-head h2{display:flex;align-items:center;gap:10px;font-family:var(--f-serif);font-size:1.8rem;font-weight:600}
.ep-head h2 .ic{width:24px;height:24px;color:var(--adobe-d)}
.ep-x{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;display:grid;place-items:center}
.ep-x .ic{width:18px;height:18px}
.ep-note{font-size:.95rem;color:var(--mid)}
.a11y-size{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:10px 12px;border-radius:6px}
.a11y-size span{flex:1;font-weight:600}
.a11y-size button{width:42px;height:38px;border:1.5px solid var(--border);background:var(--sand);border-radius:4px;font-weight:700;cursor:pointer}
.a11y-size output{min-width:48px;text-align:center;font-weight:600}
.a11y-opts{list-style:none;display:grid;gap:8px}
.a11y-opts button{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;background:#fff;border:1.5px solid var(--border);border-radius:6px;padding:12px 14px;cursor:pointer;font:inherit;color:inherit}
.a11y-opts button::after{content:"";grid-column:2;grid-row:1/3;align-self:center;width:40px;height:22px;border-radius:999px;background:#d8c7ae;box-shadow:inset 0 0 0 2px #d8c7ae;transition:background .2s}
.a11y-opts button[aria-checked="true"]{border-color:var(--turq)}
.a11y-opts button[aria-checked="true"]::after{background:var(--turq) radial-gradient(circle at 70% 50%,#fff 7px,transparent 8px)}
.a11y-opts button[aria-checked="false"]::after{background:#d8c7ae radial-gradient(circle at 30% 50%,#fff 7px,transparent 8px)}
.a11y-opts b{font-weight:600}.a11y-opts span{font-size:.88rem;color:var(--mid)}
.ep-reset{align-self:flex-start;background:none;border:1.5px solid var(--adobe);color:var(--adobe-d);padding:10px 16px;border-radius:4px;font-weight:600;cursor:pointer}
.ep-link{font-size:.9rem;color:var(--mid)}
.er-score{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);padding:14px;border-radius:6px}
.er-score b{font-family:var(--f-serif);font-size:2.8rem;font-weight:600;line-height:1;color:var(--clay)}
.er-score b small{font-size:.45em;color:var(--mid)}
.er-score div{display:flex;flex-direction:column;font-size:.92rem;color:var(--mid)}
.er-stars{color:var(--ochre);letter-spacing:.1em}.er-stars.big{font-size:1.1rem}
.er-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.er-tags li{border:1px solid var(--border);background:#fff;border-radius:999px;padding:5px 11px;font-size:.84rem}
.er-tags b{color:var(--adobe-d)}
.er-write{display:flex;align-items:center;gap:10px;justify-content:center;border:1.5px solid var(--border);background:#fff;border-radius:6px;padding:12px;text-decoration:none;font-weight:600;color:var(--ink)}
.er-write .g{width:18px;height:18px}
.er-list{display:grid;gap:10px}
.er-item{background:#fff;border:1px solid var(--border);border-radius:6px;padding:14px}
.er-top{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.er-av{width:36px;height:36px;border-radius:50%;background:var(--turq);color:#fff;display:grid;place-items:center;font-weight:700}
.er-item:nth-child(3n+2) .er-av{background:var(--adobe)}.er-item:nth-child(3n) .er-av{background:var(--ochre);color:var(--ink)}
.er-top h3{font-size:1rem;font-weight:600}
.er-meta{display:block;font-size:.8rem;color:var(--mid)}
.er-item p{font-size:.95rem;line-height:1.55;color:var(--body)}
.ep-foot{font-size:.92rem;color:var(--mid);border-top:1px solid var(--border);padding-top:12px}
.ep-foot a{color:var(--adobe-d);font-weight:600}
@media(max-width:768px){.edge-tab{width:34px;padding:10px 0;font-size:.66rem}.edge-tab:hover{width:34px}.edge-tab .ic{width:16px;height:16px}.edge-tab{top:34%;transform:none}}
html.menu-open .edge-tab,html.menu-open .mob-bar{visibility:hidden}

/* a11y modes */
html.a11y-contrast{--body:#000;--mid:#1c0d04;--border:#6b4a2a}
html.a11y-contrast body{color:#000}
html.a11y-contrast .hero-overlay,html.a11y-contrast .hero::after{background:rgba(0,0,0,.55)!important}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important}
html.a11y-readable{--f-serif:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--f-script:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
html.a11y-spacing body{line-height:1.9;letter-spacing:.02em;word-spacing:.08em}
html.a11y-spacing p{margin-bottom:.6em}

.mob-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1000;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(40,24,8,.96);backdrop-filter:blur(8px);border-top:2px solid var(--adobe)}
.mob-bar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:6px;text-decoration:none;color:#fff;font-weight:700;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.3)}
.mob-bar .ic{width:16px;height:16px}
.mob-bar .mb-call{background:var(--adobe);border-color:var(--adobe)}
@media(max-width:768px){.mob-bar{display:flex}body{padding-bottom:72px}}

.foot{background:var(--ink);color:#efe4d4;position:relative}
.foot::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--tri)}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-block:72px 48px}
.foot .logo{color:#fff;--lg-accent:var(--ochre-l)}
.foot p{font-size:.98rem;line-height:1.75;margin-top:16px;max-width:36ch}
.foot h2{font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ochre-l);margin-bottom:14px}
.foot ul{list-style:none;display:grid;gap:8px}
.foot a{text-decoration:none;color:#fff}
.foot a:hover{color:var(--ochre-l);text-decoration:underline}
.f-contact li{display:flex;gap:10px;align-items:flex-start}
.f-contact .ic{width:18px;height:18px;color:var(--ochre-l);margin-top:3px}
.foot-bot{border-top:1px solid rgba(255,255,255,.12);padding-block:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:#cbbba5}
.foot-bot nav{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:960px){.foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr}}

/* ===== HERO: video is the screen ===== */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;background:#2a1a0e;color:#fff}
.hero .poster,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(24,10,3,.62) 0%,rgba(24,10,3,.22) 26%,rgba(24,10,3,0) 44%),linear-gradient(180deg,rgba(24,10,3,.38) 0%,rgba(24,10,3,0) 18%)}
.hero-logo{position:absolute;z-index:3;top:58px;left:clamp(16px,4vw,40px);color:#fff;--lg-accent:var(--ochre-l);filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))}
.hero-copy{position:absolute;z-index:3;left:clamp(16px,4vw,40px);right:clamp(80px,10vw,140px);bottom:clamp(28px,6vh,56px);text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero h1{font-family:var(--f-serif);font-weight:500;font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;max-width:22ch}
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin-top:14px;font-size:.95rem;font-weight:500}
.hero-facts li{padding:0 14px;border-left:1.5px solid rgba(255,255,255,.55)}
.hero-facts li:first-child{padding-left:0;border-left:0}
.hero .btns{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.vid-btn{position:absolute;z-index:4;right:clamp(16px,4vw,40px);bottom:clamp(28px,6vh,56px);width:50px;height:50px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(24,10,3,.3);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.vid-btn .ic{width:18px;height:18px}
@media(max-width:768px){.hero{height:calc(100svh - 72px);min-height:520px}.hero-logo{top:52px}.hero-copy{right:16px;bottom:22px}.hero h1{font-size:clamp(1.8rem,8vw,2.3rem)}.hero-facts{font-size:.84rem}.hero-facts li{padding:0 9px}.hero .btns .btn{flex:1;min-height:46px;padding:0 10px;font-size:.78rem}.vid-btn{top:52px;right:16px;bottom:auto;width:42px;height:42px}}


/* ===== ORIGINAL THEME BELOW THE HERO ===== */
.ground{position:relative;background:radial-gradient(ellipse at 30% 8%,rgba(255,245,240,.35),transparent 55%),repeating-linear-gradient(-3deg,rgba(180,100,80,.05) 0 1px,transparent 1px 16px),linear-gradient(165deg,#f2d3c8,#ebc6b9 55%,#e5bcae);padding:0 14px 80px;overflow:clip}
.rails{position:absolute;inset:0;pointer-events:none}
.rails i{position:absolute;top:0;bottom:0;width:14px;opacity:.3;background:repeating-linear-gradient(180deg,var(--adobe) 0 46px,var(--ochre) 46px 78px,var(--cream) 78px 92px,var(--turq) 92px 138px,var(--cream) 138px 152px,var(--clay) 152px 198px,var(--cream) 198px 212px)}
.rails i:first-child{left:0}.rails i:last-child{right:0}
.bg-sun{position:absolute;width:220px;height:220px;opacity:.12;color:var(--adobe);pointer-events:none}
.sheet{position:relative;max-width:1280px;margin:0 auto;background:repeating-linear-gradient(0deg,rgba(122,48,24,.022) 0 1px,transparent 1px 4px),var(--cream);box-shadow:0 1px 3px rgba(120,50,35,.18),0 24px 56px rgba(120,50,35,.28)}
.tilt{transform:rotate(-.4deg)}
.pin{position:absolute;top:-14px;left:50%;margin-left:-13px;width:26px;height:26px;border-radius:50%;z-index:5;background:radial-gradient(circle at 35% 32%,#f08a52,var(--adobe) 55%,#8a2e10);box-shadow:0 8px 10px rgba(20,8,0,.45),inset 0 -3px 5px rgba(0,0,0,.3)}
.pin::after{content:'';position:absolute;top:8px;left:8px;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.7)}
.pin.t{background:radial-gradient(circle at 35% 32%,#7fc0b2,var(--turq) 55%,#1f4a42)}
.pin.o{background:radial-gradient(circle at 35% 32%,#f7cf85,var(--ochre) 55%,#9a5c10)}
.tape{position:absolute;width:96px;height:26px;background:rgba(245,220,170,.62);box-shadow:0 2px 5px rgba(20,8,0,.15);z-index:4}
.tape.tl{top:12px;left:-30px;transform:rotate(-42deg)}.tape.tr{top:12px;right:-30px;transform:rotate(42deg)}
.tape.top{top:-12px;left:50%;margin-left:-48px;transform:rotate(-3deg)}
.tape.a{background:rgba(212,98,42,.5)}.tape.b{background:rgba(61,122,110,.45)}.tape.c{background:rgba(224,144,48,.5)}
.pad{padding-inline:clamp(20px,6vw,80px)}
.blk{padding-block:clamp(56px,7vw,88px)}
.dband{display:block;height:16px;margin-inline:clamp(20px,6vw,80px);opacity:.55}
.sh{text-align:center;max-width:62ch;margin:0 auto 36px}
.sh .ey{display:block;font-size:.84rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--adobe-d);margin-bottom:8px}
.sh h2{font-family:var(--f-script);font-weight:700;font-size:clamp(2.3rem,5.4vw,3.4rem);line-height:1.02;color:var(--ink)}
.sh .rule{width:52px;height:2px;background:var(--adobe);opacity:.5;margin:16px auto}
.sh p{font-size:1.14rem;line-height:1.75;color:var(--body)}
.pol{background:#fff;padding:8px 8px 30px;box-shadow:3px 8px 20px rgba(42,31,24,.2);position:relative}
.pol img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pol figcaption{font-family:var(--f-script);font-size:1.3rem;font-weight:600;color:#6f3a16;text-align:center;margin-top:8px;line-height:1.15}
.r1{transform:rotate(-2deg)}.r2{transform:rotate(1.6deg)}.r3{transform:rotate(-.8deg)}.r4{transform:rotate(2.4deg)}
.statsb{display:flex;flex-wrap:wrap;list-style:none;background:var(--clay);color:#fff;border-top:5px solid;border-bottom:5px solid;border-image:var(--tri) 1}
.statsb li{flex:1;min-width:120px;text-align:center;padding:22px 10px;border-right:1px solid rgba(255,255,255,.16)}
.statsb li:last-child{border-right:0}
.statsb b{display:block;font-family:var(--f-serif);font-weight:500;font-size:clamp(1.9rem,4.4vw,2.7rem);color:var(--ochre-l);line-height:1}
.statsb span{display:block;margin-top:6px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
/* guest-book review notes (marquee) */
.notes .marquee-track{gap:26px;padding:22px 0}
.note{width:330px;flex:none;background:#fffdf6;padding:30px 24px 22px;position:relative;box-shadow:2px 6px 16px rgba(42,31,24,.16);
  background-image:repeating-linear-gradient(transparent 0 29px,rgba(61,122,110,.18) 29px 30px);background-position:0 18px}
.note:nth-child(3n+1){transform:rotate(-1.6deg)}.note:nth-child(3n+2){transform:rotate(1.2deg)}.note:nth-child(3n){transform:rotate(-.5deg)}
.note .tape.top{width:80px;margin-left:-40px}
.note .st{color:var(--ochre);letter-spacing:.14em;font-size:.95rem}
.note blockquote{font-family:var(--f-serif);font-size:1.22rem;line-height:30px;color:var(--ink);margin-top:4px}
.note figcaption{font-family:var(--f-script);font-size:1.35rem;font-weight:700;color:var(--clay);margin-top:10px}
.note figcaption small{display:block;font-family:var(--f-sans);font-size:.78rem;font-weight:500;color:var(--mid)}
.rate-pill{display:inline-flex;gap:10px;align-items:center;background:var(--sand-d);border:1px solid var(--border);padding:10px 18px;border-radius:999px;font-weight:600;color:var(--clay)}
.mq-ctl{display:block;margin:12px auto 0;background:none;border:1.5px solid var(--border);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.84rem;cursor:pointer;color:var(--mid)}
@media (prefers-reduced-motion:reduce){.notes .marquee{-webkit-mask:none;mask:none}.notes .marquee-track{flex-wrap:wrap;width:auto;justify-content:center}.notes [aria-hidden="true"].note,.mq-ctl{display:none}}
/* airmail postcard booking */
.postcard{display:grid;grid-template-columns:1fr 1.1fr;border:10px solid transparent;background:linear-gradient(var(--cream),var(--cream)) padding-box,repeating-linear-gradient(45deg,var(--adobe) 0 13px,#fdf8f0 13px 26px,var(--turq) 26px 39px,#fdf8f0 39px 52px) border-box;box-shadow:0 2px 4px rgba(120,50,35,.2),0 26px 60px rgba(120,50,35,.26);transform:rotate(.4deg);max-width:1080px;margin:0 auto}
.pc-l{padding:34px 34px 30px;border-right:2px dashed rgba(61,122,110,.35);display:flex;flex-direction:column;gap:14px}
.pc-l h2{font-family:var(--f-script);font-weight:700;font-size:clamp(2.2rem,4.4vw,3rem);line-height:1}
.pc-l p{font-size:1.06rem;line-height:1.7;color:var(--body)}
.pc-steps{list-style:none;display:grid;gap:12px;margin-top:6px}
.pc-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;font-size:.98rem}
.pc-steps b{width:34px;height:34px;border-radius:50%;background:var(--adobe);color:#fff;display:grid;place-items:center;font-family:var(--f-serif);font-size:1.2rem}
.pc-contact{margin-top:auto;display:grid;gap:8px;font-size:1rem}
.pc-contact a{font-weight:600;color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.pc-contact .ic{width:17px;height:17px;color:var(--adobe-d)}
.pc-r{padding:30px 30px 26px;position:relative}
.stamp{position:absolute;top:18px;right:18px;width:66px;height:78px;background:var(--sand);border:5px solid #fff;outline:1px dashed #d8bd97;box-shadow:0 3px 8px rgba(40,8,0,.2);transform:rotate(5deg);display:grid;place-items:center;color:var(--adobe)}
.stamp svg{width:44px;height:44px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:4px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:1.02rem;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid rgba(61,122,110,.45);padding:8px 2px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-bottom-color:var(--adobe);box-shadow:0 2px 0 var(--adobe)}
.form textarea{min-height:70px;resize:vertical}
.form .btn{width:100%}
.form-to{font-family:var(--f-script);font-size:1.5rem;font-weight:700;color:var(--turq-d);margin-right:90px}
@media(max-width:860px){.postcard{grid-template-columns:1fr;transform:none}.pc-l{border-right:0;border-bottom:2px dashed rgba(61,122,110,.35)}}
@media(max-width:480px){.form{grid-template-columns:1fr}}
/* faq on paper */
.faqp{max-width:860px;margin:0 auto}
.faqp details{border-bottom:1.5px dashed var(--border)}
.faqp summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-family:var(--f-serif);font-size:1.42rem;font-weight:500}
.faqp summary::-webkit-details-marker{display:none}
.faqp summary .ic{width:20px;height:20px;color:var(--adobe-d);transition:transform .3s}
.faqp details[open] summary .ic{transform:rotate(45deg)}
.faqp p{padding:0 4px 20px;line-height:1.75;color:var(--body);max-width:66ch}
/* winter printed panel */
.wpanel{background:var(--pine);color:#f4ede2;margin-inline:clamp(12px,3vw,52px);padding:clamp(34px,5vw,56px);display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;position:relative}
.wpanel::before,.wpanel::after{content:'';position:absolute;left:0;right:0;height:6px;background:var(--tri);opacity:.65}
.wpanel::before{top:0}.wpanel::after{bottom:0}
.wpanel .ey{font-size:.84rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ochre-l)}
.wpanel h2{font-family:var(--f-serif);font-size:clamp(2.1rem,4.6vw,3.1rem);font-weight:500;color:#fff;line-height:1;margin:8px 0 14px}
.wpanel p{line-height:1.75}
.wchips{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.wchips li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:12px;text-align:center}
.wchips b{display:block;font-family:var(--f-serif);font-size:1.9rem;font-weight:500;color:var(--ochre-l);line-height:1}
.wchips span{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.wpanel .pol{transform:rotate(1.6deg)}
@media(max-width:860px){.wpanel{grid-template-columns:1fr}}
.f-ind{top:0!important;left:0!important}
/* themed footer ties */
.foot{margin-top:0}
@media(max-width:700px){.tilt{transform:none}.ground{padding:0 8px 60px}.tape.tl,.tape.tr{width:64px;left:-12px}.tape.tr{left:auto;right:-12px}}

/* ---------- ORIGINAL SITE COMPONENTS ---------- */
.ic-chk{width:20px;height:20px;flex:none;border-radius:50%;background:var(--turq);color:#fff;display:grid;place-items:center;margin-top:2px}
.ic-chk svg{width:12px;height:12px;stroke-width:3}
.clist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.clist li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.clist b{display:block;font-weight:600;font-size:1rem;line-height:1.35;color:var(--ink)}
.clist small{display:block;font-size:.88rem;line-height:1.4;color:var(--mid)}
/* quick tiles */
.quick{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid var(--border);background:#fff}
.quick li{display:flex;gap:14px;align-items:center;padding:18px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0}
.quick li:nth-child(4n){border-right:0}
.quick li:nth-last-child(-n+4){border-bottom:0}
.qi{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--sand-d);color:var(--adobe-d);border:1.5px dashed var(--turq)}
.qi .ic{width:22px;height:22px}
.quick b{display:block;font-weight:600;line-height:1.25}
.quick span{display:block;font-size:.88rem;color:var(--mid);line-height:1.3}
@media(max-width:900px){.quick{grid-template-columns:1fr 1fr}.quick li:nth-child(4n){border-right:1px solid var(--border)}.quick li:nth-child(2n){border-right:0}.quick li:nth-last-child(-n+4){border-bottom:1px solid var(--border)}.quick li:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:420px){.quick li{padding:14px 12px;gap:10px}.qi{width:38px;height:38px}}
/* starburst */
.burst{position:absolute;width:128px;height:128px;z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;transform:rotate(8deg)}
.burst svg{position:absolute;inset:0;width:100%;height:100%}
.burst span{position:relative;font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.burst b{display:block;font-family:var(--f-serif);font-size:2rem;font-weight:600;letter-spacing:0}
/* film reel */
.reel{max-width:980px;margin:34px auto 0;background:#241205;padding:22px 14px;box-shadow:0 18px 44px rgba(40,15,0,.4);transform:rotate(-.6deg);position:relative}
.sprock{display:flex;justify-content:space-between;gap:6px;padding:0 4px}
.sprock i{flex:1;height:14px;max-width:34px;background:var(--cream);border-radius:3px;opacity:.92}
.reel-screen{margin:14px 4px;position:relative}
.reel-screen video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#1a0e06}
.reel-label{position:absolute;top:-14px;left:26px;background:var(--ochre-l);color:var(--ink);font-family:var(--f-script);font-size:1.25rem;font-weight:700;padding:6px 18px;transform:rotate(-2deg);box-shadow:0 4px 10px rgba(20,8,0,.3);z-index:4}
.reel-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(40,8,0,.22);border:none;cursor:pointer;width:100%}
.reel-play span{width:84px;height:84px;border-radius:50%;background:rgba(254,250,244,.94);display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.reel-play .ic{width:30px;height:30px;color:var(--adobe);margin-left:4px}
.reel.playing .reel-play{display:none}
.reel-marq{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--ochre-l);font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:700px){.reel{padding:14px 8px;transform:none}.sprock i{height:10px}}
/* original room cards */
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rcard{background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;box-shadow:2px 5px 14px rgba(42,31,24,.1);overflow:hidden}
.rcard-img{position:relative;aspect-ratio:3/2;overflow:hidden}
.rcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.rcard:hover .rcard-img img{transform:scale(1.05)}
.rtab{position:absolute;top:12px;left:12px;background:var(--adobe);color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.rcard-b{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.rcard h3{font-family:var(--f-serif);font-size:1.65rem;font-weight:500;line-height:1.1}
.rcard p{font-size:1.02rem;line-height:1.65;color:var(--body)}
.rcard .rl{list-style:none;border-top:1px solid var(--border);padding-top:12px;margin-top:auto;display:grid;gap:7px}
.rcard .rl li{display:flex;gap:9px;font-size:.96rem;font-weight:500;color:var(--mid)}
.rcard .rl li::before{content:'✓';color:var(--adobe-d);font-weight:700}
.rcard.clay{background:var(--clay);border:0;justify-content:center;align-items:center;text-align:center;padding:30px;gap:14px}
.rcard.clay h3{color:#fff;font-size:2.2rem}
.rcard.clay p{color:#f8ead9}
.rcard.clay a{background:var(--ochre-l);color:var(--ink);padding:14px 26px;border-radius:999px;font-weight:700;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
@media(max-width:1000px){.rcards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rcards{grid-template-columns:1fr}}
/* about */
.about{text-align:center}
.about .script-n{font-family:var(--f-script);font-size:clamp(2.1rem,5vw,3rem);font-weight:700;line-height:1.05}
.about .serif-h{display:block;font-family:var(--f-serif);font-size:clamp(1.3rem,3vw,1.8rem);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.about p{font-size:1.16rem;line-height:1.85;color:var(--body);max-width:62ch;margin:14px auto 0}
.about strong{color:var(--ink);font-weight:600}
.sig{font-family:var(--f-script);font-size:2rem;font-weight:700;color:var(--adobe-d);margin-top:12px}
.polrow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1020px;margin:30px auto 0}
/* season flip panel */
.season{background:var(--pine);color:#f4ede2;margin-inline:clamp(10px,3vw,52px);padding:clamp(34px,5vw,56px) clamp(18px,5vw,60px);position:relative;transition:background .5s}
.season::before,.season::after{content:'';position:absolute;left:0;right:0;height:6px;background:var(--tri);opacity:.6}
.season::before{top:0}.season::after{bottom:0}
.season.is-summer{background:linear-gradient(165deg,#f7e6c4,#f3d9a8);color:var(--ink)}
.stoggle{display:flex;width:fit-content;margin:0 auto 28px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px;position:relative}
.is-summer .stoggle{background:rgba(122,48,24,.1);border-color:rgba(122,48,24,.28)}
.stoggle .ind{position:absolute;top:5px;bottom:5px;left:5px;border-radius:999px;background:var(--adobe);box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .4s var(--ease),width .4s var(--ease)}
.stoggle button{position:relative;z-index:1;border:0;background:none;cursor:pointer;border-radius:999px;padding:12px 26px;font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:inherit;display:flex;gap:8px;align-items:center}
.stoggle button[aria-selected="true"]{color:#fff}
.stoggle .ic{width:17px;height:17px}
.spane[hidden]{display:none}
.spane .ey{display:block;text-align:center;font-size:.84rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ochre-l);margin-bottom:8px}
.is-summer .spane .ey{color:var(--adobe-d)}
.spane h2{font-family:var(--f-serif);font-size:clamp(2.1rem,5.4vw,3.1rem);font-weight:500;line-height:1;text-align:center}
.spane h2 em{font-style:italic;color:var(--ochre-l)}
.is-summer .spane h2 em{color:var(--adobe-d)}
.spane > p{font-size:1.12rem;line-height:1.75;text-align:center;max-width:60ch;margin:14px auto 0}
.chips2{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px auto;max-width:900px}
.chips2 li{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);padding:16px 10px;text-align:center}
.is-summer .chips2 li{background:rgba(255,255,255,.55);border-color:rgba(122,48,24,.2)}
.chips2 b{display:block;font-family:var(--f-serif);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:500;line-height:1;color:var(--ochre-l)}
.is-summer .chips2 b{color:var(--adobe-d)}
.chips2 span{display:block;margin-top:5px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.acts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.acts li{display:flex;gap:12px;align-items:flex-start;padding:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);min-width:0}
.is-summer .acts li{background:rgba(255,255,255,.6);border-color:rgba(122,48,24,.16)}
.acts li[hidden]{display:none}
.acts .ai{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--adobe);color:#fff}
.acts .ai .ic{width:20px;height:20px}
.acts b{display:block;font-weight:600;line-height:1.3}
.acts small{display:block;font-size:.88rem;line-height:1.4;opacity:.85}
.acts em{display:block;font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--turq-d);margin-top:4px}
.season:not(.is-summer) .acts em{color:var(--ochre-l)}
.fchips{position:relative;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:24px 0 18px}
.fchips .f-ind{position:absolute;background:var(--ink);border-radius:999px;transition:transform .4s var(--ease),width .4s var(--ease)}
.fchips button{position:relative;z-index:1;border:1.5px solid rgba(122,48,24,.28);background:rgba(255,255,255,.5);border-radius:999px;padding:9px 15px;font-weight:600;font-size:.86rem;cursor:pointer;color:var(--clay)}
.fchips button[aria-pressed="true"]{color:#fff;background:transparent;border-color:transparent}
.spane .pol{max-width:560px;margin:26px auto}
@media(max-width:1000px){.acts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.acts{grid-template-columns:1fr}.chips2{grid-template-columns:1fr 1fr}.stoggle button{padding:10px 18px}}
/* occasions */
.occs{max-width:980px;margin:0 auto}
.occ{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:26px 0;border-bottom:1.5px dashed var(--border)}
.occ:last-child{border-bottom:0}
.occ-ic{width:64px;height:64px;border-radius:50%;background:var(--sand-d);border:2px dashed var(--turq);box-shadow:0 0 0 4px var(--cream),0 0 0 5px var(--border);display:grid;place-items:center;color:var(--adobe-d);transform:rotate(-4deg)}
.occ-ic .ic{width:28px;height:28px}
.occ .ey{display:block;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--adobe-d);margin-bottom:4px}
.occ h3{font-family:var(--f-serif);font-size:clamp(1.6rem,3.4vw,2.1rem);font-weight:500;line-height:1.12;margin-bottom:8px}
.occ p{font-size:1.08rem;line-height:1.75;color:var(--body);max-width:68ch}
.occ .checks{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.occ .checks span{font-size:.94rem;font-weight:600;color:var(--adobe-d)}
.occ .checks span::before{content:'✓ '}
@media(max-width:600px){.occ{grid-template-columns:1fr}}

.ground{position:relative;isolation:isolate;padding:64px 14px 90px}
.deco{position:absolute;inset:0;pointer-events:none;z-index:-1}
.deco-in{position:sticky;top:0;height:100vh;overflow:hidden}
.deco .rails{position:absolute;inset:0}
.dz-zia{position:absolute;left:-40px;top:18%;width:260px;height:260px;color:var(--adobe);opacity:.14}
.dz-zia.s2{left:auto;right:3%;top:8%;width:110px;height:110px;color:var(--turq);opacity:.16;transform:rotate(14deg)}
.dz-ridge{position:absolute;right:0;bottom:0;width:min(46vw,640px);height:auto;color:var(--clay);opacity:.14}
.dz-pines{position:absolute;left:0;bottom:0;width:min(26vw,300px);color:var(--turq-d);opacity:.14}
.dz-mtn{position:absolute;right:6%;top:40%;width:170px;color:var(--clay);opacity:.14}
.sheet{max-width:1200px;position:relative;z-index:1}
@media(max-width:700px){.dz-zia{width:150px;height:150px}.dz-mtn{display:none}}

.dv-arcade{display:flex;align-items:center;gap:14px;margin:0 clamp(20px,6vw,80px);color:var(--adobe);opacity:.75}
.dv-row{flex:1;height:26px}
.dv-med{width:58px;height:58px;flex:none;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;background:var(--cream)}
.dv-zia{width:38px;height:38px;color:var(--adobe)}
.dv-ridge{display:block;width:100%;height:clamp(40px,6vw,80px)}
.dv-ridge.flip{background:var(--cream)}
.dv-step{display:block;width:100%;height:24px}
.dv-bloom{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 clamp(20px,6vw,80px);color:var(--adobe)}
.dv-bloom span{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--adobe))}
.dv-bloom span:last-child{background:linear-gradient(90deg,var(--adobe),transparent)}
.dv-bloom i{width:40px;height:2px;background:var(--ochre)}
.bloom{width:22px;height:22px;color:var(--turq)}
.bloom.big{width:40px;height:40px;color:var(--adobe)}

.bars{list-style:none;display:grid;gap:10px}
.bars li{display:grid;grid-template-columns:120px 1fr 34px;gap:12px;align-items:center;font-size:.95rem}
.bars .tr{height:8px;border-radius:99px;background:var(--sand-d);overflow:hidden}
.bars .tr i{display:block;height:100%;background:var(--adobe);border-radius:99px;transform-origin:left;animation:grow 1.2s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
.bars b{text-align:right;font-weight:600}

.sheet{transform:rotate(-.3deg)}
@media(max-width:700px){.sheet{transform:none}}
.sec2{position:relative;padding-block:clamp(60px,7vw,96px)}

/* ===== HYBRID: arch + almanac ===== */
.archf{position:relative;border-radius:999px 999px 6px 6px;overflow:hidden;background:#3a2616;box-shadow:0 0 0 3px var(--adobe),0 0 0 9px var(--cream),0 0 0 11px var(--turq),8px 16px 30px 8px rgba(42,31,24,.18)}
.archf img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.archf:hover img{transform:scale(1.05)}
.archf.t{box-shadow:0 0 0 3px var(--turq),0 0 0 9px var(--cream),0 0 0 11px var(--ochre),8px 16px 30px 8px rgba(42,31,24,.18)}
.archf.o{box-shadow:0 0 0 3px var(--ochre),0 0 0 9px var(--cream),0 0 0 11px var(--adobe),8px 16px 30px 8px rgba(42,31,24,.18)}
.archf.c{box-shadow:0 0 0 3px var(--clay),0 0 0 9px var(--cream),0 0 0 11px var(--turq),8px 16px 30px 8px rgba(42,31,24,.18)}
.am-arches{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:center;align-items:flex-start;gap:3%;opacity:.08;color:var(--adobe-d);z-index:0;padding-top:30px}
.am-arches svg{width:22%;height:520px}
.am{overflow:hidden}
.am > *:not(.am-arches){position:relative;z-index:1}
.am-head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:46px}
.am-head .sh{text-align:left;margin:0}.am-head .sh .rule{margin-left:0}
.am-head .archf{aspect-ratio:4/4.4;max-width:420px;justify-self:center;width:100%}
.plaque{position:absolute;left:-10px;bottom:34px;z-index:3;background:var(--clay);color:#fff;padding:14px 20px;box-shadow:0 8px 18px rgba(42,31,24,.3)}
.plaque::after{content:"";position:absolute;right:-12px;top:0;bottom:0;width:12px;background:var(--clay);clip-path:polygon(0 0,100% 0,40% 50%,100% 100%,0 100%)}
.plaque b{display:block;font-family:var(--f-serif);font-size:2.2rem;font-weight:600;line-height:1;color:var(--ochre-l)}
.plaque span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.niches{list-style:none;display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:0 auto 50px}
.niches li{background:#fff;border:1.5px solid var(--border);border-radius:70px 70px 6px 6px;padding:22px 8px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 6px 14px rgba(42,31,24,.07);border-bottom:4px solid var(--adobe)}
.niches li:nth-child(3n+2){border-bottom-color:var(--turq)}.niches li:nth-child(3n){border-bottom-color:var(--ochre)}
.niches .ni{width:48px;height:48px;border-radius:50%;background:var(--adobe);color:#fff;display:grid;place-items:center}
.niches li:nth-child(3n+2) .ni{background:var(--turq)}.niches li:nth-child(3n) .ni{background:var(--ochre);color:var(--ink)}
.niches .ni .ic{width:22px;height:22px}
.niches b{font-size:.9rem;font-weight:600;line-height:1.2}
.niches span{font-size:.78rem;color:var(--mid);line-height:1.25}
@media(max-width:1000px){.niches{grid-template-columns:repeat(4,1fr)}.am-head{grid-template-columns:1fr}}
@media(max-width:520px){.niches{grid-template-columns:1fr 1fr}}
/* leaders (almanac rows) */
.lead{display:flex;align-items:baseline;gap:6px}
.lead b{font-weight:600;line-height:1.3}
.lead i{flex:1;border-bottom:2px dotted rgba(122,48,24,.4);transform:translateY(-4px);min-width:16px}
.lead em{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--adobe-d);white-space:nowrap}
.lrow{padding:10px 0;border-bottom:1px dotted rgba(122,48,24,.22)}
.lrow:last-child{border-bottom:0}
.lrow small{display:block;font-size:.88rem;color:var(--mid);line-height:1.4;margin-top:2px}
/* summer: almanac head */
.summer-band{background:linear-gradient(175deg,#f8e8c8,#f3d9a8)}
.alm-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center;margin-bottom:36px}
.bignum{position:relative;display:grid;place-items:center;width:clamp(170px,20vw,240px);aspect-ratio:1/1.15;border-radius:999px 999px 8px 8px;background:var(--adobe);color:var(--cream);font-family:var(--f-serif);font-size:clamp(5rem,9vw,7.5rem);font-weight:600;line-height:1;box-shadow:0 0 0 6px var(--cream),0 0 0 8px var(--turq),10px 14px 0 8px rgba(122,48,24,.15)}
.bignum small{position:absolute;bottom:18px;font-family:var(--f-sans);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.alm-head .sh{text-align:left;margin:0}.alm-head .sh .rule{margin-left:0}
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.pick{position:relative;border-radius:200px 200px 10px 10px;background:var(--pine);color:#fff;padding:70px 26px 26px;overflow:hidden;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;box-shadow:0 0 0 3px var(--cream) inset,0 12px 26px rgba(42,31,24,.18)}
.pick:nth-child(2){background:var(--adobe)}.pick:nth-child(3){background:var(--turq-d)}
.pick .pi{width:60px;height:60px;border-radius:50%;border:2px solid rgba(255,255,255,.55);display:grid;place-items:center;margin:0 auto 12px;background:rgba(255,255,255,.12)}
.pick .pi .ic{width:28px;height:28px}
.pick span{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre-l)}
.pick:nth-child(2) span{color:#fff}
.pick h3{font-family:var(--f-serif);font-size:1.8rem;font-weight:500;line-height:1.05;margin:4px 0 8px}
.pick p{font-size:.95rem;line-height:1.5;opacity:.92}
@media(max-width:900px){.picks{grid-template-columns:1fr}.alm-head{grid-template-columns:1fr;justify-items:start}}
/* arch-capped almanac category */
.acat{background:var(--cream);border:1.5px solid rgba(122,48,24,.18);border-radius:160px 160px 8px 8px;overflow:hidden;box-shadow:0 10px 24px rgba(120,50,35,.12);display:flex;flex-direction:column}
.acat-top{position:relative;background:var(--c);color:#fff;text-align:center;padding:28px 20px 20px}
.acat-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:12px;background:radial-gradient(circle at 8px 0,transparent 8px,var(--cream) 8.5px) -8px 0/16px 12px repeat-x}
.acat-top .ci{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.55);display:grid;place-items:center;margin:0 auto 8px}
.acat-top .ci .ic{width:24px;height:24px}
.acat-top h3{font-family:var(--f-script);font-size:1.8rem;font-weight:700;line-height:1}
.acat-top p{font-size:.88rem;opacity:.92;margin-top:4px}
.acat-top .cnt{position:absolute;top:16px;right:26px;font-family:var(--f-serif);font-weight:600;background:rgba(255,255,255,.22);border-radius:99px;padding:2px 10px}
.acat ul{list-style:none;padding:6px 20px 16px}
/* winter */
.winter-band{background:var(--pine);color:#efe4d4}
.winter-band .sh h2{color:#fff}.winter-band .sh p{color:#d6cab8}.winter-band .sh .ey{color:var(--ochre-l)}
.winter-band .lead b{color:#fff}.winter-band .lead em{color:var(--ochre-l)}.winter-band .lead i{border-color:rgba(255,255,255,.3)}
.winter-band .lrow{border-color:rgba(255,255,255,.16)}.winter-band .lrow small{color:#bfb29d}
.wstat{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}
.wstat div{padding:18px 10px 12px;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:80px 80px 6px 6px;background:rgba(255,255,255,.05)}
.wstat b{display:block;font-family:var(--f-serif);font-size:2.1rem;font-weight:500;color:var(--ochre-l);line-height:1}
.wstat span{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.snowb{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);background:var(--cream);color:var(--ink);padding:12px 22px;text-align:center;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.3);white-space:nowrap}
.snowb b{display:block;font-family:var(--f-serif);font-size:2.3rem;font-weight:600;line-height:1;color:var(--adobe-d)}
.snowb span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.winter-band .archf{box-shadow:0 0 0 3px var(--ochre),0 0 0 9px var(--pine),0 0 0 11px var(--cream),0 20px 40px rgba(0,0,0,.35)}
/* reviews shared */
.feat{position:relative;background:#fff;border:1.5px solid var(--border);border-radius:200px 200px 12px 12px;padding:70px clamp(24px,4vw,56px) 34px;text-align:center;box-shadow:0 14px 32px rgba(42,31,24,.12)}
.feat .qm{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-family:var(--f-serif);font-size:5rem;line-height:1;color:var(--adobe);opacity:.35}
.feat blockquote{font-family:var(--f-serif);font-style:italic;font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.3}
.feat figcaption{margin-top:14px;font-family:var(--f-script);font-size:1.5rem;font-weight:700;color:var(--clay)}
.feat figcaption small{display:block;font-family:var(--f-sans);font-size:.82rem;color:var(--mid);font-weight:500}
.rq{display:grid;grid-template-columns:54px 1fr;gap:16px;background:#fff;border:1.5px solid var(--border);border-left:5px solid var(--turq);padding:20px}
.rq:nth-child(3n+2){border-left-color:var(--adobe)}.rq:nth-child(3n){border-left-color:var(--ochre)}
.rq[hidden]{display:none}
.rq .av{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--turq);color:#fff;font-family:var(--f-serif);font-size:1.5rem;font-weight:600}
.rq:nth-child(3n+2) .av{background:var(--adobe)}.rq:nth-child(3n) .av{background:var(--ochre);color:var(--ink)}
.rq .st{color:var(--ochre);letter-spacing:.12em;font-size:.9rem}
.rq blockquote{font-family:var(--f-serif);font-size:1.22rem;line-height:1.45;margin:4px 0 8px}
.rq figcaption{font-size:.88rem;color:var(--mid)}.rq figcaption b{color:var(--ink)}
.rv-side{background:var(--sand);border:1.5px solid var(--border);border-radius:160px 160px 8px 8px;padding:44px 26px 24px;text-align:center}
.rv-side .big{font-family:var(--f-serif);font-size:4.2rem;font-weight:600;line-height:1;color:var(--clay)}
.rv-side .big small{font-size:.4em;color:var(--mid)}
.rv-side .st{color:var(--ochre);letter-spacing:.16em;font-size:1.1rem}
.rv-side p{font-size:.94rem;color:var(--mid);margin:4px 0 18px}
.rv-side h3{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--adobe-d);margin-bottom:10px}
.rv-side .bars{text-align:left}
.mention{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;justify-content:center}
.mention li{background:#fff;border:1px solid var(--border);border-radius:99px;padding:5px 11px;font-size:.84rem}
.mention b{color:var(--adobe-d)}
/* occasion shared */
.med{width:60px;height:60px;border-radius:50%;background:var(--adobe);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--adobe)}
.med .ic{width:26px;height:26px}
.m2{background:var(--turq);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--turq)}.m3{background:var(--ochre);color:var(--ink);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--ochre)}.m4{background:var(--clay);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--clay)}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pills li{background:var(--sand);border:1px solid var(--border);border-radius:99px;padding:6px 12px;font-size:.86rem;font-weight:600;color:var(--clay)}
.pills li::before{content:'✓ ';color:var(--adobe-d)}

/* E: welcome letterhead (top of the sheet) */
.letter{position:relative;padding:clamp(56px,7vw,90px) clamp(20px,6vw,80px) clamp(40px,5vw,64px);text-align:center}
.lhead{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:26px}
.crest{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--cream);box-shadow:0 0 0 2px var(--adobe),0 0 0 7px var(--cream),0 0 0 9px var(--turq)}
.crest .dv-zia{width:54px;height:54px;color:var(--adobe)}
.lhead small{font-size:.76rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--clay)}
.lhead .tri{width:120px;height:4px;background:var(--tri)}
.lgrid{display:grid;grid-template-columns:200px minmax(0,640px) 200px;gap:clamp(24px,4vw,56px);justify-content:center;align-items:center}
.lgrid .archf{aspect-ratio:1/1.35;width:100%}
.lgrid figure{margin:0}
.lgrid figure:first-child{transform:rotate(-2deg)}.lgrid figure:last-child{transform:rotate(2deg)}
.lgrid figcaption{font-family:var(--f-script);font-size:1.3rem;font-weight:700;color:var(--clay);margin-top:14px;line-height:1.1}
.letter h2{font-family:var(--f-script);font-weight:700;font-size:clamp(2.8rem,6vw,4.2rem);line-height:1;color:var(--ink)}
.letter .rule{width:56px;height:2px;background:var(--adobe);opacity:.5;margin:16px auto 20px}
.letter p{font-family:var(--f-serif);font-size:clamp(1.2rem,1.7vw,1.38rem);line-height:1.7;color:var(--body);text-align:left;margin-bottom:16px}
.letter p.first::first-letter{float:left;font-family:var(--f-serif);font-weight:600;font-size:4.4em;line-height:.8;margin:6px 10px 0 0;color:var(--adobe)}
.letter .sig{font-family:var(--f-script);font-size:2.1rem;font-weight:700;color:var(--adobe-d);text-align:right;margin-top:6px}
@media(max-width:980px){.lgrid{grid-template-columns:1fr 1fr}.lgrid .body{grid-column:1/-1;order:-1}.lgrid figure{max-width:220px;justify-self:center}}
@media(max-width:480px){.lgrid figure{max-width:150px}.letter .sig{text-align:center}}
.letter + .dv-arcade{margin-bottom:0}
#amenities{padding-top:clamp(40px,5vw,64px)}

/* E: bands with arch photos */
.bands{display:grid;gap:30px}
.band{display:grid;grid-template-columns:240px 1fr;gap:clamp(22px,3vw,44px);align-items:center;background:#fff;border:1.5px solid var(--border);padding:26px 28px 26px 26px;position:relative}
.band:nth-child(even){grid-template-columns:1fr 240px}
.band:nth-child(even) .archf{order:2}
.band .archf{aspect-ratio:1/1.12}
.band h3{display:flex;align-items:center;gap:12px;font-family:var(--f-serif);font-size:1.9rem;font-weight:600;line-height:1.1}
.band h3 .qi{width:46px;height:46px}
.band .where{display:block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--adobe-d);margin:6px 0 16px 58px}
.band .clist{grid-template-columns:repeat(3,1fr)}
.band::after{content:"";position:absolute;left:24px;right:24px;bottom:-1.5px;height:4px;background:var(--tri)}
@media(max-width:1000px){.band,.band:nth-child(even){grid-template-columns:1fr}.band:nth-child(even) .archf{order:0}.band .archf{max-width:300px}.band .clist{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.band .clist{grid-template-columns:1fr}.band .where{margin-left:0}}
/* E: levels with arch photos */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lvl{background:#fff;border:1.5px solid var(--border);border-radius:200px 200px 8px 8px;padding:14px 14px 16px;display:flex;flex-direction:column;box-shadow:0 10px 22px rgba(42,31,24,.1)}
.lvl .archf{aspect-ratio:1/1.05;margin:4px 4px 0;box-shadow:0 0 0 3px var(--adobe)}
.lvl:nth-child(2) .archf{box-shadow:0 0 0 3px var(--turq)}.lvl:nth-child(3) .archf{box-shadow:0 0 0 3px var(--ochre)}.lvl:nth-child(4) .archf{box-shadow:0 0 0 3px var(--clay)}
.lvl .no{display:block;text-align:center;margin-top:14px;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--adobe-d)}
.lvl h3{font-family:var(--f-serif);font-size:1.6rem;font-weight:600;line-height:1.1;text-align:center;margin:2px 0 8px}
.lvl p{font-size:.95rem;line-height:1.55;color:var(--body);text-align:center}
.lvl .stats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding-top:12px}
.lvl .stats li{background:var(--sand);border:1px solid var(--border);padding:6px 8px;font-size:.8rem;line-height:1.3;text-align:center}
.lvl .stats b{display:block;font-family:var(--f-serif);font-size:1.35rem;color:var(--adobe-d);line-height:1}
@media(max-width:1060px){.levels{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.levels{grid-template-columns:1fr}.lvl{max-width:360px;margin:0 auto}}
/* E: summer = almanac columns with arch caps */
.almcols{columns:3 300px;column-gap:24px}
.almcols .acat{break-inside:avoid;margin-bottom:24px}
/* E: winter */
.wgrid{display:grid;grid-template-columns:.9fr 1.2fr;gap:clamp(28px,4vw,60px);align-items:center}
.wgrid .archf{aspect-ratio:4/5}
.wgrid ul{list-style:none}
@media(max-width:900px){.wgrid{grid-template-columns:1fr}.wgrid .archf{max-width:380px;margin:0 auto;width:100%;aspect-ratio:1/1}}
/* E: reviews */
.rv2{display:grid;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,52px);align-items:start}
.rv2 .rv-side{position:sticky;top:110px}
.rvlist{display:grid;gap:16px;margin-top:22px}
@media(max-width:900px){.rv2{grid-template-columns:1fr}.rv2 .rv-side{position:static}}
/* E: occasions zig-zag */
.zz{display:grid;gap:clamp(44px,6vw,80px);max-width:1040px;margin:0 auto}
.zrow{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(26px,4vw,60px);align-items:center}
.zrow:nth-child(even){grid-template-columns:1fr .85fr}
.zrow:nth-child(even) .archf{order:2}
.zrow .archf{aspect-ratio:1/1.08;max-width:400px;width:100%;justify-self:center}
.zt .ey{display:block;margin-top:14px;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--adobe-d)}
.zt h3{font-family:var(--f-serif);font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:500;line-height:1.08;margin:4px 0 10px}
.zt p{font-size:1.06rem;line-height:1.75;color:var(--body)}
@media(max-width:800px){.zrow,.zrow:nth-child(even){grid-template-columns:1fr}.zrow:nth-child(even) .archf{order:0}}

/* ===================== PIEDRA PINES · SITE LAYER ===================== */
:root{--white:#fff;--off:var(--sand);--green:#9fd0c4;--green-d:var(--turq-d)}
html.a11y-text1{font-size:112%}html.a11y-text2{font-size:125%}
html.a11y-text1 body,html.a11y-text2 body{font-size:100%}
/* inner pages: solid topbar + sticky nav */
body.inner .topbar{position:relative;background:var(--ink);text-shadow:none}
body.inner .nav{position:sticky;transform:none}
/* inner hero (letterhead) */
.ihero{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(26px,5vw,70px);align-items:center;padding:clamp(54px,7vw,92px) clamp(20px,6vw,80px) clamp(40px,5vw,64px)}
.ihero.noimg{grid-template-columns:1fr;text-align:center}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.84rem;color:var(--mid);margin-bottom:16px}
.ihero.noimg .crumbs ol{justify-content:center}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--border)}
.crumbs a{color:var(--adobe-d);font-weight:600;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.ihero .kicker{margin-bottom:6px}
.ihero h1{font-family:var(--f-serif);font-weight:500;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.02;color:var(--ink);margin-top:8px}
.ihero .sc{font-family:var(--f-script);font-weight:700;color:var(--adobe-d);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1;margin-top:10px}
.ihero .lede{font-size:1.16rem;line-height:1.75;color:var(--body);max-width:56ch;margin-top:16px}
.ihero.noimg .lede{margin-inline:auto}
.ihero .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.ihero.noimg .btns{justify-content:center}
.ihero .archf{aspect-ratio:1/1.12;max-width:400px;width:100%;justify-self:center}
@media(max-width:860px){.ihero{grid-template-columns:1fr}.ihero .archf{max-width:300px}}
/* prose */
.prose{max-width:780px;margin:0 auto}
.prose h2{font-family:var(--f-serif);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.1;margin:44px 0 12px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--f-serif);font-weight:600;font-size:1.4rem;margin:26px 0 8px}
.prose p,.prose li{font-size:1.08rem;line-height:1.8;color:var(--body)}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{padding-left:1.3em;margin-bottom:16px}
.prose li{margin-bottom:6px}
.prose a{color:var(--adobe-d);font-weight:600}
.prose table{width:100%;border-collapse:collapse;margin:14px 0 24px;font-size:.98rem;background:#fff}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--sand-d);color:var(--clay);font-weight:600}
.table-wrap{overflow-x:auto}
.callout{background:var(--sand);border-left:5px solid var(--adobe);padding:18px 20px;margin:20px 0}
.callout p:last-child{margin-bottom:0}
/* feature trio */
.trio3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:#fff;border:1.5px solid var(--border);border-radius:160px 160px 8px 8px;padding:48px 22px 24px;text-align:center;box-shadow:0 10px 22px rgba(42,31,24,.08)}
.tcard .med{margin:0 auto 14px}
.tcard h3{font-family:var(--f-serif);font-size:1.5rem;font-weight:600;line-height:1.15;margin-bottom:8px}
.tcard p{font-size:1rem;line-height:1.65;color:var(--body)}
@media(max-width:900px){.trio3{grid-template-columns:1fr}.tcard{max-width:440px;margin:0 auto}}
/* activity cards (summer page) */
.catsec{margin-bottom:54px}
.catsec-h{display:flex;align-items:center;gap:16px;margin-bottom:8px}
.catsec-h .med{flex:none}
.catsec-h h2{font-family:var(--f-serif);font-weight:500;font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.05}
.catsec > p{font-size:1.08rem;line-height:1.7;color:var(--body);max-width:64ch;margin:0 0 20px 76px}
.acts3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.act{background:#fff;border:1.5px solid var(--border);border-top:4px solid var(--c,var(--adobe));padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px}
.act h3{font-family:var(--f-serif);font-size:1.35rem;font-weight:600;line-height:1.15}
.act p{font-size:.98rem;line-height:1.6;color:var(--body)}
.act em{margin-top:auto;font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--adobe-d)}
@media(max-width:1000px){.acts3{grid-template-columns:1fr 1fr}.catsec > p{margin-left:0}}
@media(max-width:600px){.acts3{grid-template-columns:1fr}}
/* steps */
.steps3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.steps3 li{background:#fff;border:1.5px solid var(--border);padding:24px 20px;position:relative}
.steps3 .n{width:44px;height:44px;border-radius:50%;background:var(--adobe);color:#fff;display:grid;place-items:center;font-family:var(--f-serif);font-size:1.4rem;font-weight:600;margin-bottom:10px}
.steps3 h3{font-family:var(--f-serif);font-size:1.4rem;font-weight:600;margin-bottom:6px}
.steps3 p{font-size:1rem;line-height:1.6;color:var(--body)}
@media(max-width:860px){.steps3{grid-template-columns:1fr}}
/* checklist */
.checks2{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:0!important}
.checks2 li{display:flex;gap:10px;align-items:flex-start;margin:0!important}
.checks2 li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--turq);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700;margin-top:4px}
@media(max-width:640px){.checks2{grid-template-columns:1fr}}
/* map */
.mapbox{position:relative;border:6px solid #fff;box-shadow:0 0 0 2px var(--adobe),0 14px 30px rgba(42,31,24,.18);aspect-ratio:16/9;background:var(--sand-d)}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nap{font-style:normal;background:#fff;border:1.5px solid var(--border);padding:20px 22px;line-height:1.8}
.nap b{font-family:var(--f-serif);font-size:1.4rem}
.loc-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
@media(max-width:900px){.loc-grid{grid-template-columns:1fr}}
/* gallery */
.ggrid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ggrid button{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;text-align:left}
.ggrid .archf{aspect-ratio:1/1.05}
.ggrid .gblock{display:block}
.ggrid .gcap{font-family:var(--f-script);font-size:1.3rem;font-weight:700;color:var(--clay);text-align:center;margin-top:14px}
.ctaband{overflow:hidden}.ctaband::before{content:"";position:absolute;inset:0;background:url(/images/PPLHero.jpg) center/240px repeat;opacity:.08;pointer-events:none}.ctaband > *{position:relative}
.ggrid figcaption{font-family:var(--f-script);font-size:1.3rem;font-weight:700;color:var(--clay);text-align:center;margin-top:14px}
@media(max-width:900px){.ggrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ggrid{grid-template-columns:1fr}}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(1100px,94vw)}
dialog.lb::backdrop{background:rgba(24,10,3,.86)}
dialog.lb img{max-height:84vh;width:auto;max-width:100%;border:8px solid #fff}
dialog.lb p{color:#fff;text-align:center;margin-top:10px;font-family:var(--f-script);font-size:1.4rem}
dialog.lb .x{position:absolute;top:-6px;right:-6px;width:44px;height:44px;border-radius:50%;border:0;background:var(--cream);cursor:pointer;display:grid;place-items:center}
.vidbox{max-width:980px;margin:0 auto;border:8px solid #fff;box-shadow:0 0 0 2px var(--adobe),0 18px 40px rgba(42,31,24,.22)}
.vidbox video{width:100%;aspect-ratio:16/9;background:#1a0e06}
/* CTA band */
.ctaband{margin:0 clamp(12px,3vw,52px);background:var(--clay);color:#fff;text-align:center;padding:clamp(40px,5vw,64px) 24px;position:relative;border-radius:240px 240px 0 0}
.ctaband h2{font-family:var(--f-script);font-weight:700;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1}
.ctaband p{max-width:52ch;margin:12px auto 22px;font-size:1.1rem;line-height:1.7;color:#f8ead9}
.ctaband .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ctaband .btn.ghost{color:#fff;border-color:rgba(255,255,255,.7)}
.ctaband .btn.ghost:hover{background:#fff;color:var(--ink)}
/* legal */
.legal-body table{font-size:.95rem}
.upd{font-style:italic;color:var(--mid)}
/* ===================== LAYOUT FIXES (v2) ===================== */
.postcard{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);max-width:min(1080px,100%)}
.pc-l,.pc-r{min-width:0}
.pc-contact a,.ft6-cell a,.nap a,.prose a{overflow-wrap:anywhere}
@media(max-width:860px){.postcard{grid-template-columns:minmax(0,1fr)}.pc-l,.pc-r{padding:24px 18px}.form-to{margin-right:76px}}
.niches{grid-template-columns:repeat(4,minmax(0,1fr));max-width:980px;gap:14px}
.niches li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center;text-align:left;border-radius:60px 14px 14px 60px;padding:12px 14px 12px 12px;border-bottom-width:1.5px;border-left:4px solid var(--adobe)}
.niches li .ni{grid-row:1/3}.niches li b{align-self:end}.niches li > span:not(.ni){align-self:start}
.niches li:nth-child(3n+2){border-left-color:var(--turq)}.niches li:nth-child(3n){border-left-color:var(--ochre)}
.niches .ni{flex:none}
.niches b{display:block;font-size:.98rem}.niches span{display:block;font-size:.84rem}
@media(max-width:1000px){.niches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.niches{grid-template-columns:minmax(0,1fr)}}
.almcols{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.almcols .acat{margin-bottom:0}
@media(max-width:1000px){.almcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.almcols{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.wstat{gap:8px}.wstat b{font-size:1.45rem}.wstat span{font-size:.6rem;letter-spacing:.08em}.lead em{font-size:.64rem}}
/* hero: same look, squeezed to the bottom-left so the house fills the screen */
.hero::after{background:radial-gradient(ellipse 60% 50% at 0% 100%,rgba(24,10,3,.66),rgba(24,10,3,0) 72%),linear-gradient(180deg,rgba(24,10,3,.34),rgba(24,10,3,0) 15%)}
.hero-copy{left:clamp(16px,2.4vw,32px);right:auto;bottom:clamp(18px,3.4vh,32px);max-width:min(460px,calc(100vw - 32px))}
.hero h1{font-size:clamp(1.5rem,2.15vw,1.95rem);line-height:1.06;max-width:24ch}
.hero-facts{margin-top:9px;font-size:.82rem}
.hero-facts li{padding:0 10px}.hero-facts li:first-child{padding-left:0}
.hero .btns{gap:8px;margin-top:14px}
.hero .btns .btn{min-height:42px;padding:0 16px;font-size:.76rem;letter-spacing:.12em}
.hero .btns .btn .ic{width:15px;height:15px}
.vid-btn{width:42px;height:42px;right:clamp(16px,2.4vw,32px);bottom:clamp(18px,3.4vh,32px)}
.vid-btn .ic{width:15px;height:15px}
.hero-logo .lg-mark{width:40px;height:40px}.hero-logo .lg-name{font-size:1.2rem}
@media(max-width:768px){.hero h1{font-size:1.45rem}.hero-facts{font-size:.76rem}.hero-facts li{padding:0 7px}.hero .btns .btn{flex:0 0 auto;min-height:40px;padding:0 13px;font-size:.72rem}.vid-btn{top:52px;bottom:auto;width:38px;height:38px}}
/* loader: video first */
.loader{position:fixed;inset:0;z-index:12000;background:#1c1006;display:grid;place-items:center;transition:opacity .7s ease,visibility 0s linear .7s}
.loader.done{opacity:0;visibility:hidden}
.loader .ld{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;--lg-accent:var(--ochre-l)}
.loader .logo{pointer-events:none}
.loader .lg-mark{width:84px;height:84px;animation:ldspin 3s linear infinite}
@keyframes ldspin{to{transform:rotate(360deg)}}
.loader .ldbar{width:160px;height:3px;background:rgba(255,255,255,.15);border-radius:3px;overflow:hidden}
.loader .ldbar i{display:block;height:100%;width:0;background:var(--tri);transition:width .3s}
.loader small{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;opacity:.75}
html.a11y-motion .loader{display:none}
@media(max-width:700px){.sheet{border-radius:0}.ground{padding-left:6px;padding-right:6px}.pad{padding-left:18px;padding-right:18px}.dv-arcade,.dv-bloom{margin-inline:14px}}
/* ===================== FOOTER (ft6 architecture) ===================== */
.ft6{position:relative;background:var(--ink);color:#efe4d4;overflow:hidden}
.ft6::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--tri)}
.ft6-wm{position:absolute;right:-60px;top:40px;width:340px;height:340px;opacity:.05;color:#fff;pointer-events:none}
.ft6-inner{position:relative;max-width:1240px;margin:0 auto;padding:64px clamp(18px,5vw,48px) 30px}
.ft6-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.ft6 .logo{color:#fff;--lg-accent:var(--ochre-l)}
.ft6-tag{display:block;margin-top:12px;font-family:var(--f-script);font-size:1.4rem;font-weight:700;color:var(--ochre-l)}
.ft6-social{display:flex;gap:10px;margin-top:14px}
.ft6-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff}
.ft6-social a:hover{background:var(--adobe);border-color:var(--adobe)}
.ft6-social svg{width:18px;height:18px}
.ft6-phone{text-align:right}
.ft6-phone span{display:block;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#cbbba5}
.ft6-phone a{font-family:var(--f-serif);font-size:clamp(1.8rem,3.4vw,2.4rem);color:#fff;text-decoration:none}
.ft6-phone a:hover{color:var(--ochre-l)}
.ft6-feed{padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ft6-reels{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ft6-reel{aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;border:3px solid rgba(255,255,255,.85);background:#3a2616}
.ft6-reel img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.ft6-reel:hover img{transform:scale(1.06)}
.ft6-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:30px}
.ft6-col-head{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre-l);margin-bottom:12px}
.ft6-cell a{display:block;color:#fff;text-decoration:none;padding:4px 0;font-size:.98rem}
.ft6-cell a:hover{color:var(--ochre-l);text-decoration:underline}
.ft6-cell p,.ft6-cell address{font-style:normal;font-size:.96rem;line-height:1.75;color:#e4d8c6}
.ft6-bot{border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2)}
.ft6-bot-inner{max-width:1240px;margin:0 auto;padding:16px clamp(18px,5vw,48px);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:.84rem;color:#cbbba5}
.ft6-legal{display:flex;gap:16px;flex-wrap:wrap}
.ft6-legal a,.ft6-legal button{color:#fff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.ft6-legal a:hover,.ft6-legal button:hover{color:var(--ochre-l);text-decoration:underline}
.ft6-bot i{font-style:normal;color:var(--adobe)}
@media(max-width:900px){.ft6-reels{grid-template-columns:repeat(3,1fr)}.ft6-reel:nth-child(n+4){display:none}.ft6-cols{grid-template-columns:1fr 1fr}.ft6-phone{text-align:left}}
@media(max-width:520px){.ft6-cols{grid-template-columns:1fr}}
@media(max-width:768px){.ft6-bot-inner{padding-bottom:70px}}
/* guest reviews badge (SDL grb, rethemed) */
.grb{font-family:var(--f-sans)}
.grb-badge{position:fixed;right:0;bottom:135px;z-index:9999;width:30px;height:56px;min-width:30px;min-height:56px;border:1px solid var(--ink);border-right:none;border-radius:12px 0 0 12px;background:var(--white);display:grid;place-items:center;cursor:pointer;padding:0;list-style:none;transition:background .2s ease}
.grb-badge::-webkit-details-marker{display:none}
.grb-badge:hover{background:var(--off)}
.grb-badge:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.grb-badge svg{width:18px;height:18px}
.grb-badge-txt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.grb-panel{position:fixed;right:0;top:0;bottom:0;z-index:9998;width:min(340px,86vw);background:var(--white);border-left:1px solid var(--ink);box-shadow:-30px 0 80px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;animation:grbSlide .34s cubic-bezier(.22,.61,.36,1)}
@keyframes grbSlide{from{transform:translateX(105%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.grb-panel{animation:none}}
.grb[open] .grb-badge{background:var(--green);border-color:var(--green)}
.grb-head{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;border-bottom:2px solid var(--green);flex:none}
.grb-score{color:var(--clay);font-weight:800;font-size:1.15rem}
.grb-head-stars{color:#f5a623;letter-spacing:2px;font-size:.9rem}
.grb-count{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--mid);text-transform:uppercase;display:block}
.grb-chev{margin-left:auto;color:var(--mid);font-size:1rem;transition:transform .2s}
.grb[open] .grb-chev{transform:rotate(180deg)}
.grb-list{flex:1;overflow-y:auto;padding:4px 18px 10px;scrollbar-width:thin}
.grb-item{padding:14px 0;border-bottom:1px solid var(--border);position:relative}
.grb-item:last-child{border-bottom:0}
.grb-top{display:flex;gap:10px;align-items:center;padding-right:26px}
.grb-avatar{width:36px;height:36px;border-radius:50%;color:#fff;font-weight:800;font-size:.78rem;display:grid;place-items:center;flex-shrink:0}
.grb-name{font-weight:700;font-size:.85rem;color:var(--ink);display:block}
.grb-item-stars{color:#f5a623;font-size:.72rem;letter-spacing:2px}
.grb-date{font-size:.7rem;color:#a09d99;display:block}
.grb-g{position:absolute;top:16px;right:0}
.grb-text{font-size:.82rem;line-height:1.6;color:#333;margin-top:8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.grb-text.exp{display:block;-webkit-line-clamp:none;line-clamp:none;overflow:visible}
.grb-more{background:none;border:none;color:var(--adobe-d);font-weight:700;font-size:.78rem;cursor:pointer;padding:4px 0 0;font-family:inherit}
.grb-foot{padding:10px 16px;border-top:1px solid var(--border);background:var(--off);text-align:center;flex:none}
.grb-foot a{font-size:.8rem;font-weight:700;color:var(--adobe-d);text-decoration:none}

.grb-badge .ic{width:18px;height:18px;color:var(--adobe-d);fill:var(--ochre)}
.grb-badge{z-index:9990}
.grb-panel{z-index:10001}
.grb[open] .grb-badge{background:var(--turq);border-color:var(--turq)}
.grb-head{border-bottom-color:var(--adobe)}
.grb-text{-webkit-line-clamp:4;line-clamp:4}
.grb-g-link{display:flex;gap:8px;align-items:center;justify-content:center}
.grb-g-link .g{width:16px;height:16px}
@media(max-width:768px){.grb-badge{bottom:auto;top:44%}}

/* ===================== UTILITIES (moved from inline styles) ===================== */
.u-012fa76.u-012fa76.u-012fa76{background:var(--adobe);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--adobe)}
.u-1670a86.u-1670a86.u-1670a86{--c:var(--turq)}
.u-1f21036.u-1f21036.u-1f21036{text-align:center;margin-top:48px}
.u-31fa215.u-31fa215.u-31fa215{background:#9a5c10;box-shadow:0 0 0 5px var(--cream),0 0 0 7px #9a5c10}
.u-38ed6c1.u-38ed6c1.u-38ed6c1{position:absolute}
.u-4039f69.u-4039f69.u-4039f69{--c:var(--turq-d)}
.u-460da92.u-460da92.u-460da92{position:relative;display:grid}
.u-511cd16.u-511cd16.u-511cd16{padding-top:0}
.u-540cb6f.u-540cb6f.u-540cb6f{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.u-58acdb8.u-58acdb8.u-58acdb8{--c:var(--adobe)}
.u-59c35bc.u-59c35bc.u-59c35bc{background:#d4622a}
.u-5b45d0c.u-5b45d0c.u-5b45d0c{--c:var(--pine)}
.u-5bcda1e.u-5bcda1e.u-5bcda1e{background:#3d7a6e}
.u-6d56738.u-6d56738.u-6d56738{width:100%}
.u-6fbe265.u-6fbe265.u-6fbe265{background:none;border:0;padding:0;font:inherit;color:var(--adobe-d);font-weight:600;text-decoration:underline;cursor:pointer}
.u-770655a.u-770655a.u-770655a{background:var(--turq-d);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--turq-d)}
.u-87cd1cf.u-87cd1cf.u-87cd1cf{text-align:center;margin-top:16px}
.u-8d0c1ff.u-8d0c1ff.u-8d0c1ff{background:#e09030}
.u-8ff3252.u-8ff3252.u-8ff3252{background:var(--turq);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--turq)}
.u-933465c.u-933465c.u-933465c{margin-left:0}
.u-9457ddf.u-9457ddf.u-9457ddf{text-align:left;margin:0 0 22px}
.u-a36be49.u-a36be49.u-a36be49{position:absolute;left:-9999px}
.u-b118c6e.u-b118c6e.u-b118c6e{background:var(--pine);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--pine)}
.u-b89a775.u-b89a775.u-b89a775{margin-top:22px}
.u-c35cf14.u-c35cf14.u-c35cf14{width:96%}
.u-cb2cb2a.u-cb2cb2a.u-cb2cb2a{list-style:none;max-width:760px;margin:0 auto}
.u-ccc3ada.u-ccc3ada.u-ccc3ada{background:#2c5c52}
.u-d711c07.u-d711c07.u-d711c07{padding-top:clamp(34px,4vw,56px)}
.u-f694cf5.u-f694cf5.u-f694cf5{max-width:1000px}
.u-fa0aa39.u-fa0aa39.u-fa0aa39{--c:var(--clay)}
.u-fb0f13c.u-fb0f13c.u-fb0f13c{background:#7a3018}
.u-fca9ba2.u-fca9ba2.u-fca9ba2{--c:#9a5c10}
.u-fe87243.u-fe87243.u-fe87243{background:var(--clay);box-shadow:0 0 0 5px var(--cream),0 0 0 7px var(--clay)}