@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(/img/fonts/big-shoulders-display-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(/img/fonts/big-shoulders-display-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/img/fonts/public-sans-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/img/fonts/public-sans-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/img/fonts/public-sans-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/img/fonts/public-sans-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/img/fonts/public-sans-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Palette: pine (sign frame, actions), marquee red (sign letters only), sign light, slate ink, fog ground */
:root{
  --ground:#eef2f1;--surface:#ffffff;--ink:#22313a;--muted:#5b6a70;--rule:#d5dedc;
  --pine:#1e5b4f;--pine-ink:#ffffff;--pine-soft:#dceae5;--red:#c23b2e;
  --sign:#fff7dd;--sign-track:rgba(34,49,58,.10);--letter:#1d2326;
  --yes:#1e5b4f;--ask:#9a5b00;--ask-soft:#fff1d6;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --marquee:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#121a1d;--surface:#19242a;--ink:#e6eeec;--muted:#9fb0b4;--rule:#2b3a40;
  --pine:#3f9c87;--pine-ink:#0d1a17;--pine-soft:#1d3530;--red:#c23b2e;
  --yes:#62c2aa;--ask:#f0b357;--ask-soft:#33291a}}
:root[data-theme="dark"]{--ground:#121a1d;--surface:#19242a;--ink:#e6eeec;--muted:#9fb0b4;--rule:#2b3a40;
  --pine:#3f9c87;--pine-ink:#0d1a17;--pine-soft:#1d3530;--red:#c23b2e;--yes:#62c2aa;--ask:#f0b357;--ask-soft:#33291a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.6 var(--sans);padding-bottom:84px;overflow-x:hidden}
a{color:var(--pine);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
h1,h2,h3{line-height:1.2;margin:0}
h2{font-size:24px;font-weight:700;letter-spacing:-.01em;margin-bottom:14px}

/* top */
.top{background:var(--surface);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:12px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.logo svg{width:40px;height:40px;flex:none}
.logo .word{display:block;font:800 25px/1 var(--marquee);letter-spacing:.02em}
.logo .tag{display:block;font:500 13px/1.3 var(--sans);color:var(--muted);margin-top:3px}
.logo b{color:var(--red);font-weight:800}
.preview{font-size:13px;color:var(--muted);text-align:right}
@media(max-width:420px){.preview{display:none}}
.crumbs{font-size:14px;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}

/* hero: the roadside letter sign stands in for the photo */
.hero{display:grid;gap:22px;padding:18px 0 34px;align-items:center}
@media(min-width:900px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;padding:28px 0 48px}}
.signpost{position:relative;padding-bottom:46px}
.signpost:before,.signpost:after{content:"";position:absolute;bottom:0;width:14px;height:58px;background:#6d756f;border-radius:2px}
.signpost:before{left:22%}.signpost:after{right:22%}
.sign{position:relative;z-index:1;background:var(--pine);border-radius:10px;padding:12px;box-shadow:0 18px 30px -18px rgba(18,40,35,.55)}
.sign .name{font:700 13px/1 var(--sans);color:#fff;letter-spacing:.02em;padding:2px 4px 10px;display:flex;justify-content:space-between}
.board{background:var(--sign);border-radius:4px;padding:14px 12px;
  background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--row) - 2px),var(--sign-track) calc(var(--row) - 2px) var(--row));
  --row:46px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 0 0 40px rgba(255,236,170,.6)}
.line{display:flex;justify-content:center;flex-wrap:wrap;font:800 clamp(26px,8.4vw,44px)/var(--row) var(--marquee);color:var(--letter);letter-spacing:.05em;text-transform:uppercase;min-height:var(--row)}
@media(min-width:900px){.board{--row:56px}.line{font-size:46px}}
.line.red{color:var(--red)}
.line .c{display:inline-block;transform:translateY(var(--dy,0)) rotate(var(--r,0deg))}
.line .sp{width:.35em}
.drop .c{animation:slot .38s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d,0s)}
@keyframes slot{from{opacity:0;transform:translateY(-16px)}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.drop .c{animation:none}}

.intro h1{font-size:clamp(30px,6vw,44px);font-weight:700;letter-spacing:-.02em;margin:0 0 10px}
.intro .where{margin:0 0 16px;color:var(--muted)}
.rate{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.rate b{font-size:28px}
.rate .stars{color:var(--ask);letter-spacing:2px}
.rate span{color:var(--muted);font-size:15px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px var(--sans);padding:14px 20px;border-radius:8px;text-decoration:none;border:2px solid var(--pine);cursor:pointer}
.btn.primary{background:var(--pine);color:var(--pine-ink)}
.btn.plain{background:transparent;color:var(--pine)}
.mention{margin:14px 0 0;font-size:15px}
.nophoto{margin:4px 0 0;font-size:15px;color:var(--muted)}

/* body */
.layout{display:grid;gap:40px;padding:8px 0 40px}
@media(min-width:900px){.layout{grid-template-columns:minmax(0,1fr) 360px;gap:56px}.side{position:sticky;top:20px;align-self:start}}
.main{display:grid;gap:44px;min-width:0}
section.block{min-width:0}

/* checklist: known vs ask */
.check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface);border-radius:10px;border:1px solid var(--rule)}
@media(min-width:620px){.check{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.check li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:4px 12px;padding:14px 16px;border-bottom:1px solid var(--rule)}
@media(min-width:620px){.check li:nth-child(odd){border-right:1px solid var(--rule)}.check li:nth-last-child(-n+2){border-bottom:0}}
.check li:last-child{border-bottom:0}
.mark{grid-row:span 2;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:var(--pine-soft);color:var(--yes)}
.check .k{font-size:14px;color:var(--muted)}
.check .v{font-weight:600}
.check li.ask .mark{background:var(--ask-soft);color:var(--ask)}
.check li.ask .v{color:var(--ask);font-weight:600}
.legend{font-size:14px;color:var(--muted);margin:10px 0 0}

.events{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.events li{padding:8px 14px;border-radius:999px;border:1.5px solid var(--pine);color:var(--pine);font-weight:600;font-size:15px}

.rooms{display:grid;gap:12px}
@media(min-width:620px){.rooms{grid-template-columns:1fr 1fr}}
.room{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:16px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start}
.room svg{width:56px;height:56px;stroke:var(--pine);fill:none;stroke-width:1.5}
.room h3{font-size:17px;margin-bottom:4px}
.room p{margin:0;font-size:15px;color:var(--muted)}

.amen{columns:2;column-gap:28px;list-style:none;margin:0;padding:0}
.amen li{break-inside:avoid;padding:6px 0 6px 26px;position:relative;font-size:16px}
.amen li:before{content:"✓";position:absolute;left:0;color:var(--yes);font-weight:700}
.amen li.ask{color:var(--muted)}.amen li.ask:before{content:"?";color:var(--ask)}

.prose{max-width:66ch}
.prose p{margin:0 0 14px}
.prose .note{background:var(--ask-soft);border-left:4px solid var(--ask);padding:12px 14px;border-radius:0 8px 8px 0}

.sentiment{background:var(--surface);border:1.5px dashed var(--rule);border-radius:10px;padding:16px}
.sentiment .tag{display:inline-block;font-size:13px;font-weight:600;color:var(--ask);margin-bottom:6px}
.sentiment p{margin:0 0 10px;font-size:15px;color:var(--muted)}
.theme{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;font-size:15px;margin:6px 0}
.theme i{height:8px;border-radius:4px;background:var(--rule);position:relative;overflow:hidden}
.theme i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--muted);opacity:.5}

details{border-bottom:1px solid var(--rule);padding:14px 0}
details:first-of-type{border-top:1px solid var(--rule)}
summary{cursor:pointer;font-weight:600}
details p{margin:8px 0 0;color:var(--muted)}

/* enquiry */
.enq{background:var(--surface);border:2px solid var(--pine);border-radius:12px;padding:20px}
.enq h2{font-size:22px;margin-bottom:6px}
.enq .lede{margin:0 0 6px;color:var(--muted);font-size:15px}
.pv{font-size:13px;color:var(--ask);margin:0 0 14px}
.f{display:grid;gap:12px}
.f .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.f label{display:grid;gap:4px;font-size:14px;font-weight:600;min-width:0}
.f input,.f select,.f textarea{font:16px var(--sans);color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:6px;padding:11px 12px;width:100%;min-width:0}
.f textarea{min-height:88px;resize:vertical}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-soft)}
.f .btn{width:100%}
.err{display:none;margin:0;font-size:14px;color:var(--red);font-weight:600}
.f.bad .err{display:block}
.fine{font-size:13px;color:var(--muted);margin:0}
.done-box{display:none}
.enq.done .f,.enq.done .pv,.enq.done .lede{display:none}
.enq.done .done-box{display:block}
.done-box h2,.done-box h3{font-size:20px;margin:0 0 6px;color:var(--yes)}
.done-box p{margin:0 0 12px;font-size:15px;color:var(--muted)}
.mail{border:1px solid var(--rule);border-radius:8px;font-size:14px;overflow:hidden}
.mail .hd{padding:8px 12px;background:var(--ground);color:var(--muted);font-size:13px}
.mail .bd{padding:12px}
.mail .bd p{color:var(--ink);margin:0 0 8px;font-size:14px}
.mail .up{border-top:1px dashed var(--rule);padding-top:10px;margin-top:10px}
.mail .up a{display:inline-block;margin-top:4px;background:var(--pine);color:var(--pine-ink);font-weight:700;text-decoration:none;padding:8px 12px;border-radius:6px}

.contact{margin-top:28px}
.contact h2{font-size:20px}
.map{border-radius:10px;overflow:hidden;border:1px solid var(--rule);margin-bottom:10px}
.map iframe{display:block;width:100%;height:180px;border:0}
.contact dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;font-size:15px}
.contact dt{color:var(--muted)}
.contact dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.contact .btn{width:100%;margin-top:14px}

.claim{margin-top:28px;border-top:1px solid var(--rule);padding-top:22px}
.claim h2{font-size:20px;margin-bottom:6px}
.claim p{margin:0 0 12px;font-size:15px;color:var(--muted)}

/* nearby: every hall gets its own small sign */
.nearby{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:620px){.nearby{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nb{display:block;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:12px}
.nb .mini{background:var(--pine);border-radius:6px;padding:6px}
.nb .mini div{background:var(--sign);border-radius:2px;font:800 20px/1.25 var(--marquee);color:var(--letter);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:6px 4px}
.nb strong{display:block;margin-top:10px;font-size:16px}
.nb span{font-size:14px;color:var(--muted)}

.src{font-size:14px;color:var(--muted);border-top:1px solid var(--rule);padding:18px 0 30px;margin:0}
.foot{background:#173f37;color:#e9f1ee;padding:40px 0 28px}
.foot a{color:#e9f1ee}
.ctas{display:grid;gap:16px}
@media(min-width:760px){.ctas{grid-template-columns:1fr 1fr}}
.fc{border-radius:12px;padding:22px}
.fc h2{font-size:22px;margin-bottom:8px}
.fc p{margin:0 0 16px;font-size:16px}
.fc.renter{background:#fff7dd;color:#22313a}
.fc.owner{border:2px solid #fff7dd}
.fbtns{display:flex;flex-wrap:wrap;gap:10px}
.fbtn{display:inline-flex;align-items:center;justify-content:center;font:600 16px var(--sans);padding:12px 18px;border-radius:8px;text-decoration:none;cursor:pointer;border:2px solid currentColor;background:transparent;color:inherit}
.fbtn.solid{background:#c23b2e;border-color:#c23b2e;color:#fff}
.fc.renter .fbtn{color:#1e5b4f}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin:36px 0 28px}
@media(min-width:760px){.cols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cols h3{font-size:16px;margin:0 0 8px;color:#fff7dd}
.cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.cols a{text-decoration:none}
.cols a:hover{text-decoration:underline}
.provs{text-align:center;margin:0 0 20px;font-size:14px;line-height:1.9;color:#b9cdc7}
.provs span{white-space:nowrap}
.provs a{text-decoration:none}
.provs a:hover{text-decoration:underline}
.base{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;border-top:1px solid rgba(233,241,238,.25);padding-top:18px;font-size:14px;color:#b9cdc7}
.fword{font:800 22px/1 var(--marquee);color:#fff7dd;letter-spacing:.02em}
.fword b{color:#ff8a7a}

.bar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px -12px rgba(18,40,35,.35)}
@media(min-width:900px){.bar{padding-left:calc(50% - 280px);padding-right:calc(50% - 280px)}}
.bar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);padding:7px 4px;border-radius:10px;background:var(--ground)}
.bar a.go{background:var(--pine);color:var(--pine-ink)}
.bar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.home{padding-top:22px}
.hero-search{max-width:760px;margin:0 auto;padding:6px 0 30px}
.hero-search .signpost{display:block;margin:0}
.line.fill{gap:.3em;align-items:center}
.lw{display:inline-block}
.slot{font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--letter);background:transparent;border:0;border-bottom:3px dashed rgba(34,49,58,.35);border-radius:0;padding:0 .1em;line-height:1;height:1.05em;margin:0;text-align:center;min-width:0}
.slot.red{color:var(--red)}
input.slot{width:3.2ch}
select.slot{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:.15em;max-width:100%}
.slot:focus-visible{outline:none;border-bottom-color:var(--red);background:rgba(194,59,46,.08)}
.under{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:4px}
.ev{display:flex;align-items:center;gap:8px;font-weight:600}
.ev select{font:600 16px var(--sans);color:var(--ink);background:var(--surface);border:2px solid var(--rule);border-radius:8px;padding:11px 10px}
.mock-note{min-height:1.4em;text-align:center;font-size:15px;color:var(--ask);margin:12px 0 0}
.facts-row{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:minmax(0,1fr);text-align:center;color:var(--muted);font-size:15px}
@media(min-width:620px){.facts-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
.facts-row b{color:var(--ink)}
.sect{padding:34px 0 8px}
.sect-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.sect-head h2{margin:0}
ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sect-head.center{justify-content:center;text-align:center}
.sect-head a{font-weight:600}
.sample{font-size:14px;color:var(--ask);font-weight:600}
.cities{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.cities{grid-template-columns:repeat(4,minmax(0,1fr))}}
.city{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:var(--muted)}
.city .cn{font:800 26px/1.05 var(--marquee);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.city .cc{font-size:14px}
.city.live{border:2px solid var(--pine);color:var(--ink)}
.city.live .cn{color:var(--pine)}
.city.live .cc{font-weight:600}
.events-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media(min-width:620px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.events-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.evt{display:flex;gap:12px;align-items:center;padding:14px;border-radius:10px;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:var(--ink)}
@media(min-width:960px){.evt{flex-direction:column;align-items:flex-start}}
.evt svg{width:40px;height:40px;flex:none;stroke:var(--pine);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.evt strong{display:block;font-size:16px}
.evt small{display:block;font-size:14px;color:var(--muted)}
.featured{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:620px){.featured{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.featured{grid-template-columns:repeat(4,minmax(0,1fr))}}
.featured .nb{position:relative}
.pill{position:absolute;top:6px;right:6px;font-style:normal;font-size:12px;font-weight:700;background:var(--red);color:#fff;padding:2px 8px;border-radius:999px}
.owners{margin:40px 0 44px;display:grid;gap:22px;background:var(--sign);color:#22313a;border-radius:14px;padding:26px 22px;border:2px solid var(--pine)}
@media(min-width:900px){.owners{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;padding:34px}}
.owners h2{font-size:28px;margin-bottom:10px}
.owners p{margin:0 0 18px}
.owners .btn.plain{color:#1e5b4f;border-color:#1e5b4f}
.owners .btn.primary{background:#1e5b4f;border-color:#1e5b4f;color:#fff}
.plans{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:620px){.plans{grid-template-columns:1fr 1fr}}
.plan{background:#fff;border-radius:10px;padding:16px;border:1px solid #e3dcc2}
.plan h3{font-size:18px;margin-bottom:8px}
.plan ul{margin:0;padding:0 0 0 20px;font-size:15px;display:grid;gap:4px}
.plan.up{border:2px solid #c23b2e}
.plan.up h3{color:#c23b2e}
.price{margin:10px 0 0!important;font-size:14px;color:#5b6a70}

.enq .callbig .btn{width:100%;font-size:1.15em;padding:14px}
.enq .upd{margin-top:18px;padding:14px;border:1px dashed currentColor;border-radius:10px}
.enq .upd h3{margin:0 0 6px}
.enq .upd .btn{width:100%;margin-top:6px}


.hdr-link{font-weight:600;font-size:15px;text-decoration:none;border:2px solid var(--pine);border-radius:8px;padding:7px 12px;white-space:nowrap}
@media(max-width:420px){.hdr-link{font-size:14px;padding:6px 9px}}
.page-head{padding:22px 0 8px}
.page-head h1{font-size:clamp(30px,6vw,44px);letter-spacing:-.02em;margin:0 0 8px}
.page-head p{margin:0;color:var(--muted);max-width:66ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;padding:0;list-style:none}
.chips button{font:600 15px var(--sans);padding:8px 14px;border-radius:999px;border:1.5px solid var(--pine);background:transparent;color:var(--pine);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--pine);color:var(--pine-ink)}
.count-line{font-size:15px;color:var(--muted);margin:10px 0 14px}
.cards{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin-bottom:40px}
@media(min-width:620px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:12px}
.card[hidden]{display:none}
.card .mini{background:var(--pine);border-radius:6px;padding:6px}
.card .mini div{background:var(--sign);border-radius:2px;font:800 20px/1.25 var(--marquee);color:var(--letter);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:6px 4px}
.card h2{font-size:18px;margin:12px 0 2px}
.card h2 a{color:var(--ink);text-decoration:none}
.card h2 a:hover{text-decoration:underline}
.card .meta{font-size:14px;color:var(--muted);margin:0 0 4px}
.card .types{font-size:14px;margin:0 0 12px}
.card .row{margin-top:auto;display:flex;gap:8px}
.card .row a{flex:1;text-align:center;font-weight:600;font-size:15px;text-decoration:none;border:2px solid var(--pine);border-radius:8px;padding:8px 6px;color:var(--pine)}
.card .row a.go{background:var(--pine);color:var(--pine-ink)}
.city-list{columns:2;column-gap:24px;list-style:none;padding:0;margin:0 0 40px}
@media(min-width:760px){.city-list{columns:4}}
.city-list li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--rule)}
.city-list a{font-weight:600;text-decoration:none}
.city-list span{color:var(--muted);font-size:14px;margin-left:6px}
.hours{margin:12px 0 0;font-size:15px;width:100%;border-collapse:collapse}
.hours td{padding:3px 0;border-bottom:1px solid var(--rule)}
.hours td:first-child{color:var(--muted);width:42%}
.near-out{margin:16px 0 0}
.paid-note{margin:16px 0;padding:14px 16px;border-radius:10px;border:2px solid var(--pine);background:var(--surface);font-weight:600}
.prov-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 10px}
.prov-h h3{margin:0;font-size:20px}.prov-h a{font-weight:600}
.geo-note{margin:12px 0 0;color:var(--muted);min-height:1.5em}
.map-load{display:flex;align-items:center;justify-content:center;width:100%;height:180px;border:0;background:var(--surface);color:var(--pine);font-weight:600;font-size:16px;font-family:inherit;cursor:pointer}
.map-load::before{content:"";width:18px;height:18px;margin-right:8px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.near-out h2{font-size:20px;margin:0 0 10px}
.near-out ol{margin:0;padding:0 0 0 22px;display:grid;gap:6px}
.near-out small{color:var(--muted)}
.simple{max-width:70ch;padding-bottom:40px}
.simple p,.simple li{margin:0 0 12px}
.rev a{font-weight:600}
select.slot{width:7ch;max-width:calc(100vw - 110px)}
.pitch{display:grid;gap:26px;padding:20px 0 10px;align-items:center}
@media(min-width:900px){.pitch{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;padding:34px 0 20px}}
.pitch h1{font-size:clamp(32px,6.5vw,50px);letter-spacing:-.02em;margin:0 0 12px;line-height:1.08}
.pitch .lead{font-size:18px;margin:0 0 20px;max-width:58ch}
.small{font-size:14px;color:var(--muted);margin:10px 0 0}
.tiers{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.tiers{grid-template-columns:1fr 1fr}}
.tier{position:relative;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:22px;display:flex;flex-direction:column}
.tier.up{border:2px solid var(--red)}
.tier h3{font-size:20px;margin:0 0 4px}
.tier .amt{font-size:34px;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.tier .amt small{font-size:15px;font-weight:500;color:var(--muted)}
.tier ul{margin:0 0 18px;padding:0 0 0 20px;display:grid;gap:6px}
.tier .btn{margin-top:auto}
.tag-best{position:absolute;top:-12px;right:16px;margin:0;background:var(--red);color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px}
.versus{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.versus{grid-template-columns:1fr 1fr}}
.vs-label{font-weight:700;margin:0 0 8px;color:var(--muted)}
.vs-label.feat{color:var(--red)}
.steps{margin:0;padding:0 0 0 24px;display:grid;gap:10px;max-width:70ch}
.owner-layout{padding-top:10px}
.owner-layout details{max-width:70ch}
.simple h2{font-size:20px;margin:26px 0 8px}
.simple ul{padding-left:22px}
.cf-turnstile{margin:4px 0}
.room.noic{grid-template-columns:minmax(0,1fr)}
.room.noic p{margin:0 0 4px;font-size:15px;color:var(--ink)}
.room.noic p b{display:inline-block;min-width:76px;color:var(--muted);font-weight:600}
.room.noic p.rb{color:var(--muted);margin-top:8px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:6px 0 10px}
.sortl{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.sortl select{font:500 15px var(--sans);padding:8px 10px;border-radius:8px;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink)}
.mapb{padding:9px 14px;font-size:15px}
.map-wrap{margin:0 0 14px;border-radius:12px;overflow:hidden;border:1px solid var(--rule)}
#map{height:340px;background:var(--pine-soft)}
@media(min-width:900px){#map{height:400px}}
.known{margin:-6px 0 14px}
.hrows{display:grid;gap:12px;margin-bottom:40px}
.hrow{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px 14px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:12px}
@media(min-width:760px){.hrow{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;padding:14px 16px}}
.hrow.featured{border:2px solid var(--red)}
.hrow-vis{display:block;text-decoration:none;align-self:start}
@media(min-width:760px){.hrow-vis{align-self:center}}
.hrow .mini{border-radius:6px;padding:5px}
.hrow .mini div{background:var(--sign);border-radius:2px;font:800 17px/1.15 var(--marquee);color:var(--letter);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:8px 3px}
@media(min-width:760px){.hrow .mini div{font-size:21px;padding:10px 4px}}
.hrow .mini.photo{padding:0}
.hrow .mini.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.mini.k-ban{background:#1e5b4f}.mini.k-wed{background:#7a2e3e}.mini.k-com{background:#2e4f6b}.mini.k-mtg{background:#45505a}.mini.k-par{background:#8a5a1f}
.hrow-main{min-width:0}
.hrow-main h2{font-size:18px;margin:0 0 2px;line-height:1.25}
.hrow-main h2 a{color:var(--ink);text-decoration:none}
.hrow-main h2 a:hover{text-decoration:underline}
.hrow .pill{position:static;display:inline-block;margin-bottom:4px;font-style:normal;font-size:12px;font-weight:700;background:var(--red);color:#fff;padding:2px 8px;border-radius:999px}
.hrow-type{margin:0;font-size:14px;color:var(--muted)}
.hrow-rate{margin:2px 0 8px;font-size:14px}
.hrow-rate .stars{color:var(--ask);letter-spacing:1px}
.hrow-rate .rc{color:var(--muted)}
.ftags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ftags li{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--pine-soft);color:var(--ink);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:759px){.ftags li:nth-child(n+4){display:none}}
.thin{margin:0;font-size:13px;color:var(--muted)}
.hrow-act{grid-column:1/-1;display:flex;gap:8px}
@media(min-width:760px){.hrow-act{grid-column:auto;flex-direction:column;min-width:120px}}
.hrow-act a{flex:1;text-align:center;font-weight:600;font-size:15px;text-decoration:none;border:2px solid var(--pine);border-radius:8px;padding:8px 10px;color:var(--pine)}
.hrow-act a.go{background:var(--pine);color:var(--pine-ink)}
.list-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--sign);color:#22313a;border:2px dashed #1e5b4f;border-radius:12px;padding:16px}
.list-cta .btn.primary{background:#1e5b4f;border-color:#1e5b4f;color:#fff}
.lead-p{font-size:18px;line-height:1.5}
.lgrid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "side" "list";gap:16px}
@media(min-width:900px){.lgrid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"copy side" "list side";column-gap:32px;row-gap:8px}}
.lcopy{grid-area:copy;min-width:0}.lside{grid-area:side;min-width:0}.llist{grid-area:list;min-width:0}
@media(min-width:900px){.lside{position:sticky;top:16px;align-self:start;margin-top:18px}}
.lhero{padding:12px 0 0}
@media(min-width:900px){.lhero{padding:18px 0 4px}}
.lhero h1{font-size:clamp(30px,6vw,46px);letter-spacing:-.02em;margin:0 0 8px;line-height:1.08}
.lhero h1 .pg{font-size:.45em;color:var(--muted);font-weight:600;letter-spacing:0}
.lhero .q{font-size:20px;font-weight:600;margin:0 0 6px}
.lhero .lead{margin:0 0 14px;color:var(--muted);max-width:60ch}
.evlinks{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.evlinks a{font:600 15px var(--sans);padding:8px 14px;border-radius:999px;border:1.5px solid var(--pine);color:var(--pine);text-decoration:none}
.evlinks a span{font-weight:500;margin-left:2px}
.evlinks a[aria-current]{background:var(--pine);color:var(--pine-ink)}
.quote-card{padding:0!important;overflow:hidden;margin:0}
.quote-card details.qd{margin:0;padding:0;border:0}
.qd .f{gap:10px}
.qd summary{list-style:none;cursor:pointer;padding:16px 18px;background:var(--pine);color:var(--pine-ink);display:grid;gap:2px}
.qd summary::-webkit-details-marker{display:none}
.qd summary span{font-weight:700;font-size:18px}
.qd summary small{font-size:14px;opacity:.9}
.qd[open] summary{cursor:default}
.qd .f,.qd .done-box{padding:16px 18px}
.toolbar .count-line{margin:0}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-16px 0 40px}
.pager a{min-width:42px;text-align:center;font-weight:600;padding:9px 12px;border-radius:8px;border:1.5px solid var(--rule);text-decoration:none;color:var(--ink);background:var(--surface)}
.pager a[aria-current]{background:var(--pine);border-color:var(--pine);color:var(--pine-ink)}
.g-all{position:absolute;right:12px;bottom:12px;font:600 14px var(--sans);padding:8px 12px;border-radius:8px;border:0;background:rgba(255,255,255,.92);color:#22313a;cursor:pointer}
.gallery .g-main{position:relative}
.gallery{position:relative}
.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1200px);width:96vw;color:#fff}
.lb::backdrop{background:rgba(10,15,18,.88)}
.lb figure{margin:0;display:grid;justify-items:center;gap:10px}
.lb img{max-width:100%;max-height:78vh;border-radius:8px;object-fit:contain}
.lb figcaption{font-size:15px;text-align:center}
.lb button{position:fixed;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lb-x{top:14px;right:14px}.lb-p{left:10px;top:50%}.lb-n{right:10px;top:50%}
.lb button:focus-visible{outline:3px solid #fff}
button.reveal{font:600 15px var(--sans);color:var(--pine);background:var(--pine-soft);border:0;border-radius:8px;padding:6px 10px;cursor:pointer}
.revealed a{font-weight:600}
.nb.yourhall{border:2px dashed var(--pine)}
.nb.yourhall .mini{background:#c23b2e}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.gallery{position:relative;display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:12px;overflow:hidden}
.gallery a{display:block;background:var(--pine-soft)}
.gallery img{display:block;width:100%;height:100%;object-fit:cover}
.g-main{grid-column:1/-1;aspect-ratio:4/3}
@media(min-width:900px){.g-main{aspect-ratio:16/10}}
.g-th{aspect-ratio:4/3}
.feat-badge{position:absolute;top:12px;left:12px;background:var(--red);color:#fff;font-weight:700;font-size:14px;padding:5px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.mini.photo{padding:0;background:none}
.mini.photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.card{position:relative}
.card.featured{border:2px solid var(--red)}
.card .pill{position:absolute;top:6px;right:6px;z-index:1;font-style:normal;font-size:12px;font-weight:700;background:var(--red);color:#fff;padding:2px 8px;border-radius:999px}
button[disabled]{opacity:.6;cursor:wait}
.city{min-width:0}
.layout.hall{grid-template-areas:"main" "side" "near"}.layout.hall>.main{grid-area:main}.layout.hall>.side{grid-area:side}.layout.hall>.near-sec{grid-area:near}
@media(min-width:900px){.layout.hall{grid-template-areas:"main side" "near side"}}
.regions{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin-bottom:10px}
.ptiles{grid-auto-flow:row dense}.ptiles .city.region{grid-column:1/-1}
@media(min-width:760px){.ptiles .city.region{grid-column:span 2;grid-row:span 2}}
@media(min-width:900px){.cities.ptiles{grid-template-columns:repeat(6,minmax(0,1fr))}.ptiles .city.region.wide{grid-column:span 3}}
@media(min-width:900px){.regions{grid-template-columns:repeat(3,minmax(0,1fr))}.city.region.wide{grid-column:span 2}
 .cities{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.cities .city{padding:10px 14px}.cities .city .cn{font-size:21px}
 .sect{padding:22px 0 4px}.city.region{padding:12px 16px}.city.region .cn{font-size:23px}.owners{margin:28px 0 32px}}
.city.region .towns .more{color:var(--muted)}
.city.region .rhead{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}
.city.region .towns{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;font-size:15px}
.city.region .towns a{color:var(--pine);font-weight:600}
.city .cn{overflow-wrap:anywhere;font-size:clamp(20px,6.2vw,26px)}
.card,.nb{min-width:0;overflow-wrap:anywhere}
/* event vendors (HQ #1713): always below the venues */
.vplan{margin:8px 0 36px;padding:18px 0 0;border-top:1px solid var(--rule)}
.vplan h2{font-size:20px;margin:0 0 4px}
.vplan .sub{font-size:14px;color:var(--muted);margin:0 0 14px}
.vtiles{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.vtiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vtile{display:block;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;min-width:0}
.vtile:hover{border-color:var(--pine)}
.vtile b{font-size:15px;color:var(--pine)}
.vtile .n{font-size:13px;color:var(--muted);margin-left:4px}
.vtile ul{list-style:none;margin:6px 0 0;padding:0;font-size:13px;color:var(--muted);line-height:1.4}
.vtile li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vplan .fine{margin-top:10px}
.venuefirst{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;background:var(--pine-soft);border-radius:10px;padding:12px 14px;margin:14px 0 4px;font-size:15px}
.venuefirst a.btn{padding:8px 14px;font-size:15px}
.vpage .hrows{margin-bottom:24px}
.vrow .vdesc{margin:6px 0 0;font-size:15px;color:var(--ink)}
.vstrip{margin:8px 0 28px;padding-top:16px;border-top:1px solid var(--rule)}
.vstrip h2{font-size:18px;margin:0 0 10px}
.vstrip .vs{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.vstrip .vs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vstrip .vc{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-size:14px;min-width:0;overflow-wrap:anywhere}
.vstrip .vc strong{display:block;font-size:15px}
.vstrip .vc .k{color:var(--muted);font-size:13px}
.vstrip .vc p{margin:6px 0;color:var(--muted)}
.vstrip .vc a{font-weight:600;margin-right:12px}
.vclaim{font-size:13px;color:var(--muted);margin:8px 0 0}
.vclaim a,.vstrip .vc .vclaim a{color:var(--muted);font-weight:400;margin:0}
.ownline{font-size:15px;margin:-8px 0 4px}
.vrow .stars{color:var(--ask)}
.vpage .evlinks a span{opacity:1}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
