/* Phase 9 only: warm ivory, burgundy, editorial photography. */
.venue-page { width:100%; max-width:none; margin:0; background:#fffdf9; color:#302a26; }
.venue-shell { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.venue-section { padding-block:clamp(52px,7vw,100px); }
.venue-page h1,.venue-page h2 { font-family:Georgia,serif; font-weight:500; letter-spacing:-.035em; line-height:1.1; }
.venue-page h1 { font-size:clamp(2.5rem,5.5vw,4.8rem); max-width:16ch; margin:12px 0 24px; }
.venue-page h2 { font-size:clamp(2rem,3.5vw,3.2rem); margin:8px 0 24px; }
.venue-page p { line-height:1.7; margin:0 0 18px; }
.venue-eyebrow { color:#9e6526; font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.venue-links,.venue-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.venue-links { padding-block:12px; }
.venue-links a { min-height:44px; display:inline-flex; align-items:center; padding:8px 12px; text-decoration:none; }
.venue-links [aria-current] { color:#a82328; border-bottom:2px solid currentColor; }
.venue-hero { position:relative; min-height:640px; display:grid; align-items:center; background:#322c25; color:#fff; isolation:isolate; }
.venue-hero>.venue-photo { position:absolute; inset:0; z-index:-2; margin:0; }
.venue-hero .venue-photo img { height:100%; width:100%; object-fit:cover; filter:brightness(.35); }
.venue-hero-copy { padding-block:72px 100px; }
.venue-hero-copy>p:not(.venue-eyebrow) { max-width:58ch; }
.venue-hero .venue-eyebrow { color:#f0d5af; }
.venue-hero .button--secondary { background:#fff; color:#a82328; }
.venue-hero .venue-photo figcaption { position:absolute; bottom:12px; right:24px; left:24px; color:#fff; z-index:2; font-size:.78rem; text-align:right; }
.venue-editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,6vw,88px); align-items:start; }
.venue-count { font-family:Georgia,serif; font-size:1.8rem; color:#a82328; }
.venue-soft { background:#f7f1e8; }
.venue-uses { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 28px; margin-top:30px; }
.venue-uses li { padding:20px 0; border-top:1px solid #d9c3a6; font-size:1.1rem; font-weight:600; }
.venue-gallery,.venue-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.venue-gallery>.venue-photo:only-child { grid-column:1/-1; max-width:900px; width:100%; }
.venue-photo { margin:0; min-width:0; }
.venue-photo img { display:block; width:100%; height:auto; aspect-ratio:10/7; object-fit:cover; border-radius:10px; }
.venue-photo figcaption { padding:10px 0; font-size:.8rem; line-height:1.5; color:#62564a; }
.venue-index h2 { margin-top:24px; }
.venue-page .button { min-height:46px; white-space:normal; text-align:center; }
.venue-page form,.venue-page fieldset { min-width:0; }
.venue-page fieldset { border:0; padding:0; margin:0; }
.venue-page legend { font-weight:700; font-size:1.2rem; margin-bottom:12px; }
.venue-page label { display:block; font-weight:600; margin:14px 0 6px; }
.venue-page input,.venue-page select,.venue-page textarea { width:100%; min-width:0; padding:12px; border:1px solid #bfb2a3; background:#fff; color:#302a26; border-radius:6px; min-height:46px; font:inherit; font-size:16px; }
.venue-page textarea { resize:vertical; }
.venue-page form button { margin-top:20px; }
.venue-page small { display:block; line-height:1.5; margin-top:6px; }
.venue-page pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; background:#fff; padding:16px; border:1px solid #d9c3a6; }
.venue-page [hidden] { display:none!important; }
.venue-page :is(a,button,input,textarea,select):focus-visible { outline:3px solid #a82328; outline-offset:3px; }
.venue-page [id] { scroll-margin-top:var(--venue-top,110px); }
.venue-page :is(a,button,input,textarea,select) { scroll-margin-bottom:var(--venue-bottom,110px); }
.venue-contact { list-style:none; padding:0; margin:26px 0 0; display:grid; gap:12px; }
.venue-contact li { min-width:0; }
.venue-contact .venue-contact-card { display:flex; align-items:center; gap:16px; min-height:86px; padding:16px 18px; border:1px solid #eadfd5; border-radius:14px; background:#fff; color:#302a26; text-decoration:none; box-shadow:0 3px 12px #40251b05; transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease; }
.venue-contact-icon { display:grid; place-items:center; flex:0 0 44px; height:44px; border-radius:12px; background:#f8efea; color:#a82328; }
.venue-contact svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.venue-contact-copy { display:grid; gap:4px; min-width:0; }
.venue-contact-label { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#796b61; }
.venue-contact-value { font-size:.98rem; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.venue-contact-arrow { margin-left:auto; color:#aa8b74; flex:0 0 20px; }
.venue-contact-arrow svg { width:20px; height:20px; }
.venue-contact .venue-contact-card--whatsapp { background:#fbf4ef; border-color:#dfc7b5; }
.venue-contact a:hover { background:#fcf7f2; border-color:#bb9071; box-shadow:0 5px 18px #40251b0c; }
.venue-contact a:focus-visible { outline:3px solid #a82328; outline-offset:3px; }
@media(max-width:767px) { .venue-contact .venue-contact-card { padding:14px; gap:12px; } .venue-contact-value { font-size:.9rem; } .venue-contact-icon { flex-basis:40px; height:40px; } }
@media(prefers-reduced-motion:reduce) { .venue-contact .venue-contact-card { transition:none; } }
.venue-page address { font-style:normal; line-height:1.7; }
.venue-map { width:100%; height:420px; max-width:100%; border:0; border-radius:10px; }
.venue-final { background:#efe3d3; }
@media(max-width:900px){.venue-hero{min-height:580px}.venue-editorial{gap:30px}.venue-uses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.venue-route{padding-bottom:var(--venue-bottom,110px)}.venue-shell{width:calc(100% - 32px)}.venue-editorial,.venue-gallery,.venue-index{grid-template-columns:minmax(0,1fr)}.venue-hero{min-height:600px}.venue-hero-copy{padding-block:48px 110px}.venue-page h1{font-size:clamp(2.4rem,10vw,3.2rem)}.venue-hero .venue-photo figcaption{text-align:left;left:16px;right:16px}.venue-actions .button{flex:1 1 140px}.venue-map{height:320px}.venue-links{gap:4px}.venue-links a{padding-inline:8px}}
@media(max-width:359px){.venue-uses{grid-template-columns:minmax(0,1fr)}}
/* Venue detail screenshot polish: contrast, section rhythm and balanced enquiry/contact layouts. */
:is(.venue-page--detail,.venue-page--events){padding-block:0}
.venue-page--detail .venue-hero h1{color:#fffaf3;text-shadow:0 2px 16px #0005}
.venue-page--detail .venue-hero-copy{max-width:1200px}
.venue-page--detail .venue-hero-copy>p:not(.venue-eyebrow){color:#fffaf3}
:is(.venue-page--detail,.venue-page--events) .venue-section{padding-block:clamp(48px,5vw,80px)}
:is(.venue-page--detail,.venue-page--events) .venue-gallery-link{margin:24px 0 0}
:is(.venue-page--detail,.venue-page--events) .venue-gallery-link svg{width:20px;height:20px}
.venue-page--detail #venue-enquiry-form{background:#fffdf9;border:1px solid #e5d7c8;border-radius:12px;padding:28px}
.venue-page--detail .venue-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.venue-page--detail .venue-form-field{min-width:0}
.venue-page--detail .venue-form-field--wide{grid-column:1/-1}
.venue-page--detail .venue-form-field label{margin:0 0 7px;font-size:.88rem}
.venue-page--detail .venue-form-field input,.venue-page--detail .venue-form-field select,.venue-page--detail .venue-form-field textarea{background:#fff;border-color:#d9cdbf}
.venue-page--detail #venue-enquiry-form button[type=submit]{width:100%;margin-top:22px}
.venue-page--detail #ve-status:empty{display:none}
:is(.venue-page--detail,.venue-page--events) .venue-contact-section{align-items:stretch}
:is(.venue-page--detail,.venue-page--events) .venue-location-map{min-width:0}
:is(.venue-page--detail,.venue-page--events) .venue-map{display:block;height:100%;min-height:420px;border:1px solid #e5d7c8}
@media(max-width:900px){.venue-page--detail #venue-enquiry-form{padding:20px}.venue-page--detail .venue-form-fields{grid-template-columns:1fr}}
@media(max-width:767px){:is(.venue-page--detail,.venue-page--events) .venue-map{height:320px;min-height:0}.venue-page--detail .venue-hero h1{font-size:clamp(2.25rem,9vw,3rem)}.venue-page--detail .venue-hero-copy{padding-block:48px 96px}:is(.venue-page--detail,.venue-page--events) .venue-gallery-link .button{width:100%}}

/* Center the single Conference photograph without cropping or stretching it. */
.venue-page--conference .venue-gallery>.venue-photo:only-child{margin-inline:auto}

/* Events index: reduce stacked section gaps and keep card actions aligned. */
.venue-page--events #venue-options{padding-bottom:32px}
.venue-page--events .venue-index{margin-top:24px}
.venue-page--events .venue-index article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.venue-page--events .venue-index .venue-photo{width:100%}
.venue-page--events .venue-index h2{margin-bottom:16px}
.venue-page--events .venue-index article>.button{margin-top:auto}
