:root{--ink:#172735;--wine:#8b1e3f;--wine-dark:#6e1530;--paper:#fff;--soft:#f4f5f6;--line:#dfe4e7;--muted:#61707c;--success:#167a4b;--shadow:0 12px 32px rgb(23 39 53 / 12%);--radius:9px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.45 var(--sans)}button,input,select{font:inherit}button{cursor:pointer}.skip-link{position:absolute;top:-4rem;left:1rem;background:var(--paper);padding:.7rem;z-index:20}.skip-link:focus{top:1rem}.site-header{height:72px;background:var(--ink);display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100vw - 1440px)/2));color:white}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:white;text-decoration:none;font:600 23px/1 var(--serif)}.brand-mark{font:800 20px/1 var(--sans);letter-spacing:-5px;color:#c02c57}.site-header nav{display:flex;gap:34px}.site-header nav a{color:white;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.content-shell{width:min(1440px,calc(100% - 48px));margin:auto}.hero{padding:40px 0 27px;background:linear-gradient(90deg,#fff 0%,#fff 70%,#f7f8f8 100%)}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(38px,4vw,56px)/1.06 var(--serif);letter-spacing:-1.8px;margin:.35rem 0 26px}.demo-notice{display:inline-block;margin:0;color:var(--wine);font-size:13px}.search-form{display:grid;grid-template-columns:1.2fr .9fr .7fr .9fr .9fr;gap:12px}.search-form label,.filters>label{display:grid;gap:6px;font-size:13px;font-weight:650}.search-form label{position:relative}.search-form label span{position:absolute;top:8px;left:14px;color:var(--muted);font-size:11px;font-weight:500;z-index:1}.search-form input,.filters select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:5px;min-height:57px;padding:22px 14px 6px;outline:none}.search-form input:focus,.filters select:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgb(139 30 63 / 12%)}.button{border:1px solid transparent;border-radius:5px;min-height:44px;padding:0 18px;font-weight:650;transition:background .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button-primary{align-self:stretch;background:var(--wine);color:#fff;display:flex;justify-content:center;align-items:center;gap:10px;font-size:17px}.button-primary:hover{background:var(--wine-dark)}.button-quiet{background:transparent;border-color:currentColor;color:var(--ink)}.site-header .button-quiet{color:#fff}.button-small{min-height:36px;padding:0 12px;background:var(--ink);color:#fff;font-size:13px}.form-help{margin:10px 0 0;color:var(--muted);font-size:13px}.search-layout{display:grid;grid-template-columns:250px minmax(450px,1fr) minmax(280px,.7fr);gap:14px;align-items:start}.filters{border:1px solid var(--line);padding:18px 14px;min-height:600px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.section-heading h2{font:600 17px/1.2 var(--serif)}.text-button{border:0;background:transparent;color:var(--wine);padding:0;font-size:13px}.text-button:hover{text-decoration:underline}.filters>label{margin-top:18px}.filters select{min-height:41px;padding:0 10px;font-size:14px}.filters fieldset{border:0;margin:22px 0 0;padding:0}.filters legend{font-size:13px;font-weight:650;margin-bottom:8px}.checkbox{display:flex!important;align-items:center;gap:8px;margin:8px 0;font-size:14px!important;font-weight:400!important}.checkbox input{width:17px;height:17px;accent-color:var(--wine)}.availability-only{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.results{min-width:0}.result-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:52px}.result-toolbar p{margin:0;font:500 16px var(--serif)}.sort{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.sort select{border:0;color:var(--ink);background:transparent;font-size:13px}.result-list{display:grid;gap:12px}.hall-card{display:grid;grid-template-columns:38% 1fr;min-height:205px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}.image-button{border:0;padding:0;background:var(--soft);min-height:205px}.image-button img{display:block;width:100%;height:100%;object-fit:cover}.hall-content{padding:14px 16px 13px;min-width:0}.hall-topline{display:flex;justify-content:space-between;gap:10px}.hall-venue{margin:0;color:var(--muted);font-size:12px}.heart{border:0;color:var(--wine);background:white;font-size:26px;line-height:20px;padding:0}.heart[aria-pressed=true]{background:var(--wine);color:#fff;border-radius:50%;width:30px;height:30px}.hall-card h3{font:500 25px/1.1 var(--serif);margin:3px 0 8px}.hall-location,.hall-facts{color:var(--muted);margin:0 0 7px;font-size:13px}.availability{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;color:var(--success);font-size:13px}.availability-dot{width:9px;height:9px;border-radius:50%;background:currentColor}.hall-footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:8px}.price{margin:0;color:var(--wine);font:500 22px/1 var(--serif)}.price small{display:block;color:var(--muted);font:12px/1.4 var(--sans);margin-top:3px}.card-actions{display:flex;align-items:center;gap:11px}.map-panel{position:sticky;top:12px;height:calc(100vh - 85px);min-height:610px;overflow:hidden;border:1px solid var(--line);background:#f1f4f1}.map-art{position:absolute;inset:0;overflow:hidden;background:#eef0e9;background-image:linear-gradient(17deg,transparent 0 47%,#fff 48% 50%,transparent 51%),linear-gradient(105deg,transparent 0 37%,#fff 38% 40%,transparent 41%),repeating-linear-gradient(7deg,transparent 0 78px,#d6dad3 80px 82px,transparent 84px 137px)}.map-river{position:absolute;width:150%;height:70px;background:#cadfeb;transform:rotate(-18deg);left:-29%;top:42%;border:9px solid #e2f0f8}.road{position:absolute;background:#fff;border:1px solid #d7dbd5;width:125%;height:26px;transform:rotate(56deg);left:-35%}.road-one{top:24%}.road-two{top:69%}.map-label{position:absolute;color:#718078;font-size:10px;letter-spacing:.8px}.label-one{top:31%;left:33%}.map-pin{position:absolute;width:32px;height:32px;border:0;border-radius:50% 50% 50% 0;background:var(--wine);color:white;transform:rotate(-45deg);box-shadow:0 2px 8px #536}.map-pin::first-letter{transform:rotate(45deg)}.pin-one{top:41%;left:42%}.pin-two{top:58%;left:62%}.compare-panel{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;padding:17px;box-shadow:var(--shadow);border-radius:6px}.compare-panel h2{margin:0;font-size:17px}.compare-empty{color:var(--muted);font-size:13px;margin:14px 0}.compare-item{display:grid;grid-template-columns:48px 1fr auto;gap:9px;align-items:center;margin:10px 0}.compare-item img{width:48px;height:40px;object-fit:cover;border-radius:3px}.compare-item strong{display:block;font:500 15px var(--serif)}.compare-item span{color:var(--muted);font-size:11px}.compare-item button{border:0;background:transparent;color:var(--wine);font-size:19px}.compare-button{width:100%;margin-top:5px}.trust-band{margin-top:50px;background:var(--ink);color:white;padding:45px 0}.trust-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px}.trust-grid h2{font:500 31px/1.1 var(--serif)}.trust-grid p{margin:7px 0 0;color:#dbe3e5;font-size:14px}.trust-grid strong{font:500 20px var(--serif)}dialog{position:relative;border:0;padding:0;width:min(960px,calc(100% - 32px));max-height:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 60px rgb(0 0 0 / 30%)}dialog::backdrop{background:rgb(10 21 31 / 65%)}.dialog-close{position:absolute;right:13px;top:13px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:27px;line-height:1}.hall-dialog-grid{display:grid;grid-template-columns:1fr 1fr}.hall-gallery{min-height:540px;background:#172735}.hall-gallery img{width:100%;height:100%;object-fit:cover}.hall-detail{padding:38px 31px 30px}.hall-detail .eyebrow{color:var(--wine);font-size:13px;margin:0 0 5px}.hall-detail h2{font:500 35px/1.05 var(--serif);margin-bottom:9px}.detail-location{color:var(--muted);font-size:13px}.detail-description{margin:20px 0}.amenities{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0;list-style:none}.amenities li{border:1px solid var(--line);padding:5px 8px;font-size:12px}.builder{border-top:1px solid var(--line);padding-top:18px}.builder h3{font:500 21px var(--serif);margin-bottom:12px}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.builder label{display:grid;gap:4px;font-size:12px;font-weight:650}.builder input{border:1px solid var(--line);min-height:38px;padding:5px 8px}.equipment-list{margin:12px 0}.price-breakdown{background:var(--soft);padding:12px;margin:12px 0;font-size:13px}.price-breakdown p{display:flex;justify-content:space-between;margin:4px 0}.price-breakdown strong{font:500 20px var(--serif);color:var(--wine)}.inquiry-form{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:16px}.inquiry-form label{display:grid;gap:4px;font-size:12px;font-weight:650}.inquiry-form input,.inquiry-form textarea{width:100%;border:1px solid var(--line);padding:8px;font:inherit}.inquiry-form textarea{resize:vertical;min-height:60px}.inquiry-form .button{background:var(--wine);color:#fff}.dialog-note{font-size:12px;color:var(--muted);margin:0}.compare-table-wrap{padding:40px}.compare-table-wrap h2{font:500 34px var(--serif)}table{border-collapse:collapse;width:100%;margin-top:20px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}th{font:500 18px var(--serif)}td:first-child{color:var(--muted);width:34%}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:5px;box-shadow:var(--shadow);max-width:calc(100% - 32px);z-index:10}.empty-state{border:1px dashed var(--line);padding:48px 20px;text-align:center}.empty-state h2{font:500 26px var(--serif)}.empty-state p{color:var(--muted)}
@media (max-width:1120px){.search-layout{grid-template-columns:220px 1fr}.map-panel{display:none}.search-form{grid-template-columns:repeat(4,1fr)}.search-form .button{grid-column:span 4}.trust-grid{gap:25px}}@media (max-width:720px){.site-header{height:62px;padding:0 16px}.site-header nav{display:none}.brand{font-size:18px}.content-shell{width:min(100% - 28px,650px)}.hero{padding-top:24px}h1{font-size:39px}.search-form{grid-template-columns:1fr 1fr}.search-form label:first-child,.search-form .button{grid-column:span 2}.search-layout{display:block;margin-top:16px}.filters{min-height:0;margin-bottom:18px}.filters>label,.filters fieldset{display:none}.results{width:100%}.result-toolbar{gap:10px}.sort{display:block}.hall-card{grid-template-columns:37% 1fr;min-height:170px}.image-button{min-height:170px}.hall-content{padding:11px}.hall-card h3{font-size:20px}.hall-location{display:none}.hall-facts{font-size:12px}.hall-footer{align-items:center}.price{font-size:18px}.card-actions .text-button{display:none}.trust-grid{display:block}.trust-grid>div+div{margin-top:24px}.hall-dialog-grid{grid-template-columns:1fr}.hall-gallery{min-height:230px;max-height:300px}.hall-detail{padding:27px 20px}.hall-detail h2{font-size:31px}.compare-table-wrap{padding:34px 19px;overflow:auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

:focus-visible{outline:3px solid #0d6e8c;outline-offset:3px}.skip-link{position:fixed;z-index:30;left:12px;top:-60px;background:#fff;color:var(--ink);padding:10px 13px;box-shadow:var(--shadow);text-decoration:none}.skip-link:focus{top:12px}
.hall-gallery.multiple{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:270px;overflow:auto}.hall-gallery.single{display:block;overflow:auto}
.reviews{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.reviews-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.reviews-heading h3{font:500 21px var(--serif);margin:0}.reviews-heading span{color:var(--muted);font-size:12px}.review-list{display:grid;gap:10px;margin-top:12px}.review{border:1px solid var(--line);padding:13px}.review-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.review-meta strong{color:var(--wine);letter-spacing:1px}.review-meta span{color:var(--muted);font-size:12px}.review>p{margin:9px 0 0}.review-response{border-left:3px solid var(--wine);margin-top:12px;padding-left:11px}.review-response strong{font-size:13px}.review-response p{margin:4px 0 0;color:var(--muted)}
