@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
:root{--navy:#172a4b;--navy2:#12233f;--gold:#d7ad43;--slate:#929db5;--light:#eef0f4;--text:#17223a;--muted:#6f7278;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Inter",Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.header{height:112px;background:var(--navy2);color:white;display:flex;align-items:center}.nav{display:flex;align-items:center;justify-content:space-between}.logo{width:96px;height:96px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:38px;font-weight:700;font-size:15px}.navlinks a{color:#d9deea}.navlinks a:hover,.navlinks .active{color:var(--gold)}.navlinks .btn.gold,.navlinks .btn.gold:hover,.navlinks .btn.gold:focus{color:#132544;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:4px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn.gold{background:var(--gold);color:#132544}.btn.navy{background:var(--navy2);color:white}.btn.outline{border-color:#9aa5b8;color:white;background:rgba(255,255,255,.06)}.btn.light-outline{border-color:#172a4b;color:#172a4b;background:#fff}.menu{display:none;background:none;border:0;color:white;font-size:28px}.hero{min-height:calc(100vh - 112px);min-height:calc(100svh - 112px);background:linear-gradient(rgba(18,29,48,.58),rgba(18,29,48,.67)),url('../images/hall-hero.png') center 49%/cover no-repeat;color:#fff;display:flex;align-items:center;text-align:center}.hero-inner{max-width:1000px;margin:auto}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-weight:400;font-size:15px}.hero h1{font-size:92px;line-height:.98;margin:25px 0 26px;letter-spacing:-3px}.hero p{font-size:21px;color:#e5e7eb;max-width:780px;margin:0 auto 40px}.actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.scroll{margin-top:50px;color:#aeb5c1;font-size:12px;letter-spacing:2px}.scroll:after{content:'';display:block;width:1px;height:35px;background:#8c94a1;margin:10px auto}.section{padding:86px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.hall-photo{position:relative}.hall-photo img{width:100%;display:block;border-radius:6px}.capacity{position:absolute;right:-18px;bottom:-18px;background:var(--navy2);color:white;padding:18px 30px;border-radius:3px;font-size:20px;font-weight:800}.capacity small{display:block;color:#d2d7e0;font-size:11px;font-weight:400}.section h2{font-size:44px;line-height:1.05;margin:14px 0 25px}.section p{color:var(--muted)}.features{background:#e7e9ee;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;text-align:left}.card{background:#fff;border-radius:5px;padding:32px;border:1px solid #e1e2e5}.card:before{content:'';display:block;width:34px;height:3px;background:var(--gold);margin-bottom:18px}.card h3{margin:0 0 8px}.card p{margin:0;font-size:14px}.cta{background:var(--navy2);color:#fff;padding:85px 0}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{font-size:44px;line-height:1.05;margin:10px 0 15px}.cta p{color:#d7dce6}.page-hero{background:var(--navy2);color:#fff;text-align:center;padding:40px 0 75px}.page-hero h1{font-size:52px;margin:12px 0 8px}.page-hero p{color:#d4d9e4;font-size:18px}.pricing{padding:80px 0}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.price-card{border:1px solid #d7d7d7;border-radius:10px;padding:36px;display:flex;flex-direction:column;min-height:530px;box-shadow:0 3px 9px rgba(0,0,0,.08)}.price-card.featured{background:var(--navy2);color:white;position:relative;margin-top:0;padding-top:54px;overflow:hidden}.price-card.featured .popular-label{position:absolute;top:0;left:0;right:0;height:38px;background:var(--gold);color:var(--navy2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:1.4px}.price-card .price{font-size:48px;font-weight:800;margin:8px 0}.price-card.featured .price{color:var(--gold)}.price-card ul{list-style:none;padding:0;line-height:2}.price-card li:before{content:'✓';color:var(--gold);margin-right:12px}.price-card .btn{margin-top:auto}.optional{background:var(--slate);padding:60px 0;text-align:center}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;text-align:left}.service{background:#fff;border-radius:8px;padding:25px 30px}.policies{text-align:center}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:850px;margin:45px auto 0;text-align:left}.policy{border:1px solid #ddd;border-radius:8px;padding:25px}.calendar-wrap{text-align:center}.calendar-mock{max-width:970px;margin:40px auto 0;border:1px solid #cbd0da;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.12);background:white}.cal-toolbar{background:#f1f4f8;padding:14px;text-align:left;color:#536072}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{height:105px;border-right:1px solid #e2e5ea;border-top:1px solid #e2e5ea;padding:8px;font-size:12px;text-align:left}.busy{display:block;background:#7588d3;color:white;border-radius:4px;padding:3px;margin-top:24px;text-align:center;font-size:9px}.notice{background:var(--slate);text-align:center;padding:35px;font-weight:700}.quick-rates{background:var(--slate);text-align:center}.rate-table{max-width:620px;margin:35px auto 0;background:#fff;border-radius:12px;overflow:hidden}.rate-row{display:flex;justify-content:space-between;padding:22px 30px;border-bottom:1px solid #ddd;font-weight:700}.rate-row strong{color:var(--gold);font-size:24px}.intro{max-width:760px}.download-band{background:var(--slate);padding:55px 0}.download-card{max-width:780px;margin:auto;background:#fff;border-radius:12px;padding:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.terms{max-width:780px;margin:auto}.term{background:var(--slate);border-radius:9px;padding:22px 30px;margin:16px 0}.term strong{display:block}.footer{background:var(--navy2);color:#d9deea;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:70px}.footer .mini-logo{width:45px}.footer h4{color:var(--gold);letter-spacing:1px}.footer p,.footer a{font-size:14px}.footer-links{display:flex;flex-direction:column;gap:8px}.copyright{border-top:1px solid #31415d;margin-top:60px;padding-top:25px;text-align:center;font-size:12px;color:#8490a5}
@media(max-width:800px){.container{width:min(100% - 30px,var(--max))}.header{height:86px}.logo{width:72px;height:72px}.menu{display:block}.navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:var(--navy2);padding:25px;z-index:20;flex-direction:column;gap:20px}.navlinks.open{display:flex}.hero{min-height:calc(100vh - 86px);min-height:calc(100svh - 86px)}.hero h1{font-size:55px}.hero p{font-size:18px}.split,.feature-grid,.price-grid,.service-grid,.policy-grid,.footer-grid{grid-template-columns:1fr}.section{padding:60px 0}.section h2,.cta h2{font-size:36px}.cta-row{flex-direction:column;align-items:flex-start}.capacity{right:10px}.page-hero h1{font-size:40px}.price-card{min-height:auto}.download-card{flex-direction:column;align-items:flex-start}.cal-cell{height:75px;font-size:9px}.busy{font-size:6px;margin-top:14px;padding:2px}.footer-grid{gap:35px}}

/* Live availability calendar */
.calendar-frame{max-width:970px;height:680px;margin:40px auto 0;border:1px solid #cbd0da;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.12);background:#fff}
.calendar-frame iframe{display:block;width:100%;height:100%}
.facebook-link{display:inline-flex;align-items:center;gap:9px;color:#d9deea}
.facebook-link:hover{color:var(--gold)}
.social-icon{width:18px;height:18px;flex:0 0 18px}
@media(max-width:700px){.calendar-frame{height:600px}}

/* Footer contact details */
.footer-contact h4{margin:0 0 18px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.contact-item{display:flex;align-items:flex-start;gap:11px;margin:0 0 13px;color:#d9deea;font-size:14px;line-height:1.45}
a.contact-item:hover{color:#fff}
.contact-icon{width:18px;height:18px;flex:0 0 18px;margin-top:1px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-icon.facebook-icon{color:var(--gold);stroke:none}

/* Full-screen hero: keep the scroll cue anchored near the bottom */
.hero{position:relative}
.hero-inner{width:100%}
.hero .scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);margin:0;white-space:nowrap}

/* Keep inline footer SVGs at icon size even if generic SVG rules are added later */
.footer .contact-item>svg.contact-icon{display:block;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;flex:0 0 18px!important}
.footer .contact-item>svg.facebook-icon{width:18px!important;height:18px!important}
@media(max-width:800px){.hero .scroll{bottom:16px}.footer .contact-item>svg.contact-icon{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;min-height:17px!important;max-height:17px!important;flex-basis:17px!important}}

/* Header proportion refinement */
@media (min-width: 801px) {
  .logo { width: 104px; height: 104px; }
  .navlinks { font-size: 14px; }
}
@media (max-width: 800px) {
  .logo { width: 78px; height: 78px; }
  .navlinks { font-size: 14px; }
}


/* Contract download card — matched to original Airo layout */
.download-card{max-width:900px;min-height:218px;border-radius:18px;padding:38px 40px;display:grid;grid-template-columns:72px minmax(260px,1fr) auto;align-items:center;gap:28px}
.download-icon-box{width:68px;height:68px;border-radius:14px;background:#eef0f4;display:flex;align-items:center;justify-content:center;color:var(--navy2)}
.download-file-icon{display:block;width:34px;height:34px;flex:0 0 34px}
.download-copy h3{margin:0 0 7px;font-size:21px;line-height:1.2;color:#050505}
.download-copy p{margin:0;color:#707070;font-size:16px;line-height:1.45}
.download-copy em{display:block;margin-top:2px;color:#707070;font-size:14px;line-height:1.45}
.download-button{min-height:49px;padding:0 24px;border-radius:8px;gap:10px;white-space:nowrap;font-size:16px}
.download-button-icon{display:block;width:18px;height:18px;flex:0 0 18px}
@media(max-width:800px){.download-card{min-height:0;grid-template-columns:58px 1fr;padding:28px 24px;gap:18px}.download-icon-box{width:58px;height:58px}.download-file-icon{width:30px;height:30px}.download-button{grid-column:1/-1;width:100%;margin-top:4px}.desktop-break{display:none}}

/* Custom 404 page */
.error-page{min-height:620px;padding:72px 0 84px;background:#fff;display:flex;align-items:center}
.error-layout{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,600px);justify-content:center;align-items:center;gap:70px}
.knight-wrap{display:flex;justify-content:center;align-items:center;color:var(--navy2)}
.knight-art{width:min(100%,420px);height:auto;display:block;border-radius:18px;box-shadow:0 18px 44px rgba(20,42,77,.16)}
.error-copy{text-align:left}
.error-code{font-size:92px;line-height:.9;font-weight:800;color:var(--navy2);letter-spacing:-4px;margin:0 0 18px}
.error-copy h1{font-size:42px;line-height:1.12;margin:0 0 18px;color:var(--navy2);letter-spacing:-1.2px}
.error-copy p{font-size:18px;color:var(--muted);max-width:520px;margin:0 0 30px}
.error-copy .actions{justify-content:flex-start}
.error-copy .btn.outline-error{border-color:var(--navy2);color:var(--navy2);background:#fff}
@media(max-width:800px){.error-page{padding:48px 0 62px}.error-layout{grid-template-columns:1fr;gap:28px}.knight-art{width:min(78vw,330px)}.error-copy{text-align:center}.error-code{font-size:70px}.error-copy h1{font-size:34px}.error-copy p{margin-left:auto;margin-right:auto}.error-copy .actions{justify-content:center}}

/* Compact 404 artwork so the primary actions remain visible without extra scrolling. */
.knight-art{width:min(100%,300px);max-height:430px;object-fit:contain}
.error-layout{grid-template-columns:minmax(220px,300px) minmax(0,600px);gap:56px}
.error-page{min-height:auto;padding:48px 0 58px}
@media(max-width:800px){.knight-art{width:min(62vw,245px);max-height:350px}.error-page{padding:34px 0 46px}}

/* Contract closing reservation panel */
.contract-reserve{background:var(--navy2);color:#fff;text-align:center;padding:58px 0 64px}
.contract-reserve .reserve-icon{width:40px;height:40px;display:block;margin:0 auto 14px;color:var(--gold);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contract-reserve h2{font-size:32px;line-height:1.15;margin:0 0 16px}
.contract-reserve .reserve-copy{max-width:720px;margin:0 auto 28px;color:#fff;font-size:18px;line-height:1.55}
.contract-reserve .actions{gap:16px}
.contract-reserve .btn{min-width:270px}
.contract-reserve .call-icon{width:18px;height:18px;margin-right:10px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px}
.contract-reserve .reserve-phone{margin:14px 0 0;color:#aeb8cb;font-size:14px}
@media(max-width:800px){.contract-reserve{padding:48px 0 52px}.contract-reserve h2{font-size:29px}.contract-reserve .reserve-copy{font-size:16px}.contract-reserve .actions{flex-direction:column;align-items:stretch;max-width:360px;margin:0 auto}.contract-reserve .btn{width:100%;min-width:0}}

/* Current site refinements */
.eyebrow{font-weight:700}
@media (min-width:801px){.hero h1{font-size:4.5rem}}
.hero h1{font-weight:700;letter-spacing:0}
.hero .actions .btn{height:48px;min-height:48px}
@media (min-width:1025px){.header{height:172px}.logo{height:156px;width:auto}.hero{min-height:calc(100vh - 172px);min-height:calc(100svh - 172px)}.header .navlinks .btn.gold{height:44px;min-height:44px;padding-top:0;padding-bottom:0}}
@media (min-width:601px) and (max-width:1024px){.header{height:136px;position:relative;z-index:50}.logo{height:120px;width:auto}.menu{display:block;position:relative;z-index:52;font-size:0;width:44px;height:44px;padding:0;cursor:pointer}.menu::before{content:'☰';font-size:34px;line-height:44px}.menu.is-open::before{content:'×';font-size:42px;font-weight:300}.navlinks{display:none;position:absolute;top:136px;left:0;right:0;z-index:51;background:var(--navy2);padding:14px 30px 20px;flex-direction:column;align-items:stretch;gap:0;font-size:17px}.navlinks.open{display:flex}.navlinks>a:not(.btn){display:block;width:100%;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.navlinks .btn.gold{width:100%;margin-top:20px;min-height:58px}.hero{min-height:calc(100vh - 136px);min-height:calc(100svh - 136px)}}
@media (max-width:600px){.header{height:86px;position:relative;z-index:50}.nav{min-height:86px}.logo{height:78px;width:auto}.menu{display:block;position:relative;z-index:52;width:44px;height:44px;padding:0;font-size:0;cursor:pointer}.menu::before{content:'☰';font-size:32px;line-height:44px}.menu.is-open::before{content:'×';font-size:42px;font-weight:300}.navlinks{display:none;position:absolute;top:86px;left:0;right:0;z-index:51;background:var(--navy2);padding:0 24px 30px;flex-direction:column;align-items:stretch;gap:0;font-size:17px}.navlinks.open{display:flex}.navlinks>a:not(.btn){display:block;width:100%;padding:24px 0 22px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.navlinks .btn.gold{width:100%;margin-top:24px;min-height:58px}}

/* Rental fee payment landing pages */
.payment-page{background:#eef0f4;padding:58px 0 68px}
.payment-card{max-width:680px;margin:0 auto;background:#fff;border-radius:8px;border:1px solid #dfe2e7;box-shadow:0 3px 12px rgba(18,35,63,.08);overflow:hidden;text-align:center}
.payment-card-top{padding:34px 42px 30px}
.payment-card h2{font-size:26px;line-height:1.2;margin:8px 0 4px;color:var(--navy2)}
.payment-price{font-size:40px;line-height:1;font-weight:800;color:var(--navy2);margin:16px 0 6px}
.payment-period{font-size:14px;font-weight:700;color:#697184;margin:0 0 20px}
.payment-description{max-width:560px;margin:0 auto 24px;color:var(--muted);font-size:15px;line-height:1.65}
.payment-card .btn.gold{min-width:210px;min-height:48px}
.payment-secure{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;color:#7b8290;font-size:13px}
.payment-secure svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.payment-note{background:#f7f8fa;border-top:1px solid #e3e5e9;padding:20px 34px;color:#656b76;font-size:13px;line-height:1.6}
.payment-note strong{color:var(--navy2)}
@media(max-width:600px){.payment-page{padding:36px 0 46px}.payment-card-top{padding:28px 22px 26px}.payment-card h2{font-size:24px}.payment-price{font-size:36px}.payment-description{font-size:14px}.payment-card .btn.gold{width:100%}.payment-note{padding:18px 22px;font-size:12px}}

/* Rental payment utility pages: content begins directly below navigation */
.payment-page { padding-top: 54px; }
@media (max-width: 600px) {
  .payment-page { padding-top: 34px; }
}

/* Final payment page heading treatment */
.payment-label{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 24px}
.payment-price{margin-top:0}
@media(max-width:600px){.payment-label{font-size:12px;margin-bottom:20px}}

/* Rental payment tier subheading */
.payment-tier{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:0;text-transform:none;color:var(--navy);margin:-6px 0 14px}
@media(max-width:600px){.payment-tier{font-size:22px;margin:-4px 0 13px}}
