:root{--brand-900:#3d0b0d;--brand-800:#5c1212;--brand-700:#7a1818;--brand-100:#f6e7e4;--gold:#f0b429;--gold-dark:#d99a0b;--bg:#fff;--bg-alt:#faf5f2;--text:#1f1714;--muted:#5b504b;--border:#e6dbd5;--card:#fff;--shadow:0 1px 2px #3d0b0d0f, 0 6px 18px #3d0b0d12;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--section-y:clamp(48px, 8vw, 88px);--radius:12px;--nav-h:60px;--fs-body:1rem;--fs-small:.875rem;--fs-h3:1.2rem;--fs-h2:clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem);--fs-h1:clamp(2rem, 1.3rem + 3vw, 3.6rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-body);color:var(--text);background:var(--bg);margin:0;line-height:1.65}img,video,iframe{max-width:100%}a{color:var(--brand-700);text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold-dark);outline-offset:2px}h1,h2,h3{color:var(--brand-900);line-height:1.2}h2{font-size:var(--fs-h2);margin:0 0 var(--space-5);letter-spacing:-.01em}h2:after{content:"";width:56px;height:4px;margin-top:var(--space-2);background:var(--gold);border-radius:2px;display:block}h3{font-size:var(--fs-h3);margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}.container{width:100%;max-width:1100px;padding:0 var(--space-3);margin:0 auto}.section{padding:var(--section-y) 0}.section.alt{background:var(--bg-alt)}.muted{color:var(--muted);font-size:var(--fs-small)}.big{color:var(--brand-700);margin:var(--space-1) 0;font-size:1.4rem;font-weight:700}.skip-link{left:var(--space-3);z-index:200;background:var(--gold);color:var(--brand-900);padding:var(--space-2) var(--space-3);border-radius:0 0 8px 8px;font-weight:700;position:absolute;top:-60px}.skip-link:focus{top:0}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.reveal.in{opacity:1;transform:none}.nav{z-index:50;background:var(--brand-800);color:#fff;position:sticky;top:0;box-shadow:0 2px 10px #0003}.nav-inner{min-height:var(--nav-h);justify-content:space-between;align-items:center;display:flex;position:relative}.brand{color:#fff;letter-spacing:.02em;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.brand img{background:#fff;border-radius:6px;width:auto;height:40px;padding:2px 4px}.hamburger{color:#fff;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;font-size:1.6rem}.menu{top:var(--nav-h);background:var(--brand-800);padding:var(--space-2) var(--space-3) var(--space-3);display:none;position:absolute;left:0;right:0}.menu.open{display:block}.menu ul{margin:0;padding:0;list-style:none}.menu a:not(.btn){color:#fff;padding:12px 0;font-weight:500;text-decoration:none;display:block}.menu a:not(.btn):hover{color:var(--gold)}.menu .btn{margin-top:var(--space-2)}.btn{border:2px solid #0000;border-radius:999px;padding:11px 20px;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--gold);color:var(--brand-900)}.btn-primary:hover{background:var(--gold-dark)}.btn-light{color:#fff;background:0 0;border-color:#fff}.btn-light:hover{color:var(--brand-800);background:#fff}.hero{color:#fff;background:var(--brand-900);min-height:min(86vh,760px);padding:var(--space-6) 0;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;object-position:50% 40%;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#2806088c 0%,#1e0406ad 55%,#140304e6 100%);position:absolute;inset:0}.hero-content{position:relative}.hero h1{font-size:var(--fs-h1);margin:0 0 var(--space-2);color:#fff;text-shadow:0 2px 12px #0006;max-width:18ch}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-small);margin:0 0 var(--space-2);color:var(--gold);font-weight:700}.lead{margin:0 0 var(--space-4);max-width:46ch;font-size:1.15rem}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.stats{gap:var(--space-3);margin:var(--space-6) 0 0;grid-template-columns:repeat(2,1fr);display:grid}.stat{border-radius:var(--radius);padding:var(--space-3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000061;border:1px solid #ffffff38}.stat dt{font-size:var(--fs-small);color:#f3e3df}.stat dd{margin:0;font-size:1.5rem;font-weight:800}.grid-2{gap:var(--space-5);display:grid}.map{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:320px}.cards{gap:var(--space-3);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px)}.card p{margin:var(--space-1) 0}.icon{font-size:2rem;line-height:1}.plain{margin:0;padding:0;list-style:none}.plain li{margin-bottom:var(--space-3)}.ratings{border-collapse:collapse;background:var(--card);width:100%;max-width:560px;margin-bottom:var(--space-3);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.ratings th,.ratings td{text-align:left;padding:10px var(--space-3);border-bottom:1px solid var(--border)}.ratings thead th{background:var(--brand-800);color:#fff}.ratings tbody th{font-weight:600}.locality-summary{max-width:70ch;margin:0 0 var(--space-5)}.event+.event{margin-top:var(--space-6)}.gallery{margin:var(--space-3) 0 0;gap:var(--space-2);grid-template-columns:repeat(2,1fr);padding:0;list-style:none;display:grid}.gallery.featured li:first-child{grid-column:1/-1}.gallery.featured li:first-child .thumb{aspect-ratio:16/9}.thumb{aspect-ratio:4/3;cursor:pointer;background:var(--bg-alt);border:0;border-radius:10px;width:100%;padding:0;transition:transform .2s;display:block;overflow:hidden}.thumb:hover{transform:scale(1.02)}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.video-tile{background:var(--brand-800);color:#fff;place-items:center;width:100%;height:100%;font-size:2rem;display:grid}.lightbox{z-index:100;touch-action:pan-y;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lb-figure{max-width:100%;max-height:100%;padding:56px var(--space-3);text-align:center;color:#fff;margin:0}.lb-figure img,.lb-figure video{object-fit:contain;max-width:100%;max-height:calc(100vh - 140px)}.lb-btn{color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:50%;width:44px;height:44px;font-size:1.5rem;position:absolute}.lb-close{top:8px;right:8px}.lb-prev{top:50%;left:8px}.lb-next{top:50%;right:8px}.media-missing{background:var(--bg-alt);border:1px dashed var(--border);padding:var(--space-4);color:var(--muted);border-radius:8px;margin:0}.section-intro{max-width:62ch;margin:calc(-1 * var(--space-3)) 0 var(--space-5);color:var(--muted)}.amenity-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.amenity-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.amenity-cover{background:var(--bg-alt);cursor:pointer;aspect-ratio:16/9;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.amenity-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.amenity-cover:hover img{transform:scale(1.04)}.amenity-count{right:var(--space-2);bottom:var(--space-2);color:#fff;font-size:var(--fs-small);background:#1f1714c7;border-radius:999px;padding:4px 12px;font-weight:600;position:absolute}.amenity-body{padding:var(--space-3) var(--space-4) var(--space-4)}.amenity-body p{margin:0}.chips-title{margin:var(--space-6) 0 var(--space-3);color:var(--brand-800);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:var(--fs-small)}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 14px;display:inline-flex}.chip .icon{font-size:1.3rem}.chip h3{color:var(--text);margin:0;font-size:1rem;font-weight:600}.contact-grid{gap:var(--space-5);margin-bottom:var(--space-5);display:grid}.contact-grid h3{color:var(--brand-800);margin-bottom:var(--space-3)}.directory{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.dir-card{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);min-height:56px;padding:12px var(--space-4);background:var(--card);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);flex-wrap:wrap;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.dir-card:hover{border-left-color:var(--brand-700);transform:translateY(-1px)}.dir-label{font-weight:600}.dir-number{color:var(--brand-700);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:800}.contact{gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;display:grid}.contact dt{color:var(--brand-800);font-weight:700}.contact dd{margin:0}.footer{background:var(--brand-900);color:#f1e4e0;padding:var(--space-5) 0}.footer a{color:var(--gold)}.footer-logo{width:auto;height:40px;margin-bottom:var(--space-2);background:#fff;border-radius:6px;padding:2px 4px}@media (width>=640px){.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(4,1fr)}.amenity-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr);align-items:start}.gallery.featured li:first-child{grid-area:span 2/span 2}.gallery.featured li:first-child .thumb{aspect-ratio:auto;height:100%}}@media (width>=900px){.hamburger{display:none}.menu{background:0 0;padding:0;display:block;position:static}.menu ul{align-items:center;gap:var(--space-1);display:flex}.menu a:not(.btn){padding:var(--space-2) 10px}.menu .btn{margin:0 0 0 var(--space-2);padding:8px 18px}.grid-2{grid-template-columns:1fr 1fr;align-items:start}.cards{grid-template-columns:repeat(3,1fr)}.cards.small{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.in{opacity:1;transition:none;transform:none}.btn,.card,.thumb,.dir-card,.amenity-cover img{transition:none}.btn:hover,.card:hover,.thumb:hover,.dir-card:hover,.amenity-cover:hover img{transform:none}}
