/* Photographic opening screen with restrained, translucent charcoal surfaces. */
:root { --bg:#101413; --white:#f5f6f2; --sans:"Helvetica Neue",Arial,Helvetica,sans-serif; }
body { background:#101413; }
.hero.cinematic-hero {
  position:relative; isolation:isolate; overflow:hidden;
  width:calc(100% - 48px); max-width:1600px; margin:24px auto 0;
  min-height:660px; height:calc(100svh - 190px); max-height:840px;
  border:1px solid #ffffff18; border-radius:30px; background:#1c2528;
}
.cinematic-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 56%; z-index:-3; }
.cinematic-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(4,9,12,.46),rgba(8,14,17,.08) 56%,rgba(7,11,14,.12)),linear-gradient(0deg,rgba(3,9,12,.82),rgba(6,10,13,.12) 61%,rgba(6,10,13,.30)); }
.site-header.glass-nav {
  position:absolute; inset:20px 20px auto; height:76px;
  padding:0 25px; gap:24px; border:1px solid #ffffff20; border-radius:60px;
  background:rgba(14,20,21,.68); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  box-shadow:inset 0 1px #ffffff12,0 8px 24px #00000012;
}
.glass-nav .brand { gap:10px; font-size:22px; font-weight:500; letter-spacing:-.055em; }
.glass-nav .brand-mark { width:32px; height:36px; border:0; background:none; border-radius:0; box-shadow:none; }
.glass-nav .brand-mark svg { width:30px; height:30px; color:#d6e8ef; }
.glass-nav .brand-light { color:#d4d9db; font-weight:400; margin-left:4px; }
.glass-nav nav { display:flex; align-items:center; gap:6px; margin-left:auto; margin-right:auto; }
.glass-nav nav a { padding:13px 18px; color:#c7ced0; font-size:13px; border:1px solid transparent; border-radius:17px; transition:background .18s,color .18s; }
.glass-nav nav a:hover { color:#fff; background:#ffffff0a; }
.glass-nav nav .nav-current { color:#fff; background:#ffffff0e; border-color:#ffffff0b; box-shadow:inset 0 1px #ffffff08; }
.nav-find { display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 0 12px 16px; color:#eff3f3; background:transparent; border:0; font-size:12px; white-space:nowrap; }
.nav-find svg { width:19px; height:19px; }
.nav-find .nav-find-arrow { width:16px; height:16px; margin-left:15px; color:#b9c6ca; }
.cinematic-layout { display:grid; grid-template-columns:minmax(0,1fr) 370px; align-items:end; gap:48px; position:relative; height:100%; padding:132px 36px 69px 48px; }
.cinematic-copy { min-width:0; padding:0 0 10px; }
.hero-location { display:flex; align-items:center; gap:9px; margin:0 0 22px; font-size:10px; letter-spacing:.18em; color:#e1eaee; }
.hero-location>span { width:6px; height:6px; flex-shrink:0; border-radius:50%; background:#91cdeb; box-shadow:0 0 12px #91cdeb45; }
.cinematic-hero h1 { font-family:var(--sans); font-size:clamp(62px,7.3vw,112px); font-weight:400; line-height:1.0; letter-spacing:-.065em; margin:0; max-width:none; color:#fff; text-shadow:0 2px 24px #00000010; }
.cinematic-hero h1>span { color:#c4e6fa; }
.cinematic-tagline { margin:13px 0 21px; font-size:clamp(29px,3.7vw,52px); line-height:1.1; font-weight:300; letter-spacing:-.045em; color:#e2e9ec; }
.cinematic-description { margin:0 0 28px; color:#d2dade; font-size:14px; line-height:1.7; font-weight:400; }
.cinematic-explore { display:inline-flex; align-items:center; gap:13px; color:#f6f9fa; font-size:13px; line-height:1.2; }
.cinematic-explore small { display:block; font-size:8px; letter-spacing:.17em; color:#bac9ce; margin-top:7px; }
.round-arrow { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:rgba(235,244,248,.09); border:1px solid #f2faff4d; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); transition:background .18s,transform .18s; }
.round-arrow svg { width:24px; height:24px; }
.cinematic-explore:hover .round-arrow { background:#e4f6ff25; transform:translate(2px,-2px); }
.glass-seat-card { padding:27px 28px 23px; border-radius:30px; border:1px solid #edf5ff24; background:linear-gradient(135deg,rgba(28,37,40,.68),rgba(12,20,25,.81)); backdrop-filter:blur(25px); -webkit-backdrop-filter:blur(25px); box-shadow:inset 0 1px #ffffff15,0 18px 65px #0000001a; }
.glass-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:21px; color:#c2ced4; }
.glass-card-top>span { font-size:9px; letter-spacing:.14em; }
.glass-card-top svg { width:24px; height:24px; color:#e4edf2; }
.glass-seat-card h2 { margin:0 0 15px; font-size:46px; font-weight:400; letter-spacing:-.055em; line-height:1.04; }
.glass-card-description { color:#c8d0d4; font-size:12px; line-height:1.7; margin:0 0 25px; }
.hero-seat-form label { display:block; color:#dfe6e8; font-size:10px; margin:0 0 10px; letter-spacing:.015em; }
.hero-input-wrap { display:flex; align-items:center; gap:11px; padding:0 15px; height:53px; background:#ecf6ff08; border:1px solid #e5f6ff38; border-radius:14px; transition:border-color .18s,background .18s; }
.hero-input-wrap:focus-within { border-color:#addcf5; background:#0b141e66; box-shadow:0 0 0 3px #b3dff714; }
.hero-input-wrap>svg { width:17px; height:17px; color:#b2c4ce; flex-shrink:0; }
.hero-input-wrap input { width:100%; min-width:0; height:100%; padding:0; border:0; outline:0; box-shadow:none; border-radius:0; background:transparent; color:#fff; font:inherit; font-size:14px; -webkit-appearance:none; }
.hero-input-wrap input::placeholder { color:#aebec6; opacity:1; }
.hero-input-wrap input[aria-invalid="true"] { color:#ffcec9; }
.hero-seat-form button { width:100%; min-height:52px; margin-top:12px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; border:1px solid #def0fb; border-radius:14px; background:#dcecf6; color:#12222b; font-size:12px; font-weight:600; box-shadow:0 2px 8px #0000000c; transition:background .18s,transform .18s; }
.hero-seat-form button:hover { background:#f0f8fc; transform:translateY(-1px); }
.hero-seat-form button svg { width:20px; height:20px; }
.hero-seat-message { margin:12px 0 0; color:#f0d7d1; font-size:11px; line-height:1.5; }
.hero-seat-message:empty { display:none; }
.hero-seat-hint { display:flex; align-items:center; gap:10px; margin:19px 0; color:#e1e9ec; font-size:10px; line-height:1.5; }
.hero-seat-hint>svg { color:#b2d7df; width:16px; height:16px; flex-shrink:0; }
.hero-seat-hint>span>span { display:block; color:#a8b8c1; font-size:9px; margin-top:2px; }
.glass-card-link { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:16px; border-top:1px solid #d3e5ef1c; color:#cad7de; font-size:10px; }
.glass-card-link svg { width:16px; height:16px; }
.glass-card-link:hover { color:#fff; }
.cinematic-footer { position:absolute; left:48px; right:36px; bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#d3dfe4; }
.cinematic-footer>span { display:flex; align-items:center; gap:7px; font-size:8px; letter-spacing:.13em; }
.cinematic-footer>span i { display:block; width:4px; height:4px; border-radius:50%; background:#bcd7e3; }

.landing-details { max-width:1600px; width:calc(100% - 48px); margin:18px auto 0; display:grid; grid-template-columns:1fr; gap:18px; }
.landing-overview { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px 32px; min-height:144px; background:linear-gradient(115deg,#1e2525,#17201f); border:1px solid #f0ffff0c; border-radius:26px; }
.landing-overview p { margin:0 0 10px; font-size:8px; color:#acb8b9; letter-spacing:.15em; }
.landing-overview h2 { font-size:23px; font-weight:400; letter-spacing:-.035em; margin:0; line-height:1.2; }
.landing-stats { display:flex; align-items:center; gap:34px; }
.landing-stats>div { display:flex; flex-direction:column; gap:8px; min-width:64px; }
.landing-stats strong { font-size:30px; font-weight:400; letter-spacing:-.05em; }
.landing-stats span { color:#aebcbd; font-size:10px; white-space:nowrap; }

.cinematic-hero :is(a,button):focus-visible,.landing-details button:focus-visible { outline:2px solid #bfdef0; outline-offset:4px; }
.explore-section { padding-top:77px; }
.section-heading h2 span { color:#aebbbe; }

.closing-line { border-color:#e1eeee20; }
footer { background:#0d1111; border-color:#f2ffff12; }

@media(min-width:1500px) {
  .cinematic-layout { grid-template-columns:minmax(0,1fr) 405px; padding:140px 44px 75px 65px; }
  .glass-seat-card { padding:32px 34px 27px; }
  .glass-seat-card h2 { font-size:52px; }
  .glass-card-description { font-size:14px; }
  .cinematic-footer { left:65px; right:44px; }
}
@media(max-width:1100px) {
  .glass-nav .brand { font-size:20px; }
  .glass-nav nav a { padding:12px 13px; font-size:12px; }
  .glass-nav .nav-find-arrow { display:none; }
  .cinematic-layout { grid-template-columns:minmax(0,1fr) 335px; gap:30px; padding:132px 28px 65px 36px; }
  .cinematic-hero h1 { font-size:clamp(60px,7.4vw,82px); }
  .glass-seat-card { padding:25px 24px 22px; }
  .glass-seat-card h2 { font-size:42px; }
  .landing-details { grid-template-columns:1fr; }
  .landing-overview { padding:25px 26px; gap:20px; }
  .landing-overview h2 { max-width:200px; font-size:21px; }
  .landing-stats { gap:23px; }
  .landing-stats strong { font-size:27px; }
}
@media(max-width:850px) {
  .hero.cinematic-hero { width:calc(100% - 32px); margin-top:16px; height:auto; min-height:740px; }
  .site-header.glass-nav { inset:16px 16px auto; height:67px; padding:0 18px; gap:15px; }
  .glass-nav nav { display:none; }
  .glass-nav .brand { font-size:22px; }
  .nav-find { margin-left:auto; }
  .cinematic-layout { min-height:740px; grid-template-columns:minmax(0,1fr) 310px; gap:24px; padding:120px 24px 70px; }
  .cinematic-hero h1 { font-size:70px; max-width:370px; }
  .cinematic-tagline { font-size:31px; }
  .cinematic-description { font-size:12px; }
  .hero-location { font-size:8px; letter-spacing:.1em; }
  .glass-seat-card { padding:25px 22px 21px; }
  .cinematic-footer { left:25px; right:25px; }
  .cinematic-footer>span { font-size:7px; }

  .landing-details { width:calc(100% - 32px); grid-template-columns:1fr; gap:14px; margin-top:14px; }
  .landing-overview { display:block; padding:24px; }
  .landing-overview h2 { max-width:none; font-size:22px; }
  .landing-overview p { font-size:7px; }
  .landing-stats { margin-top:24px; gap:25px; justify-content:space-between; }
  .landing-stats>div { min-width:0; }

}
@media(max-width:650px) {
  .hero.cinematic-hero { width:calc(100% - 20px); margin:10px auto 0; height:auto; max-height:none; min-height:0; border-radius:25px; }
  .cinematic-photo { object-position:62% 50%; }
  .cinematic-shade { background:linear-gradient(0deg,#071015e6 0%,#09141966 62%,#0a14163d),linear-gradient(90deg,#060e1466,transparent); }
  .site-header.glass-nav { inset:12px 12px auto; height:60px; padding:0 16px; gap:10px; }
  .glass-nav .brand { font-size:19px; gap:6px; }
  .glass-nav .brand-mark { width:25px; height:28px; }
  .glass-nav .brand-mark svg { width:25px; height:25px; }
  .nav-find { padding:10px 0 10px 7px; font-size:10px; gap:8px; }
  .nav-find>svg { width:17px; height:17px; }
  .nav-find>span { display:none; }
  .cinematic-layout { display:flex; flex-direction:column; gap:30px; align-items:stretch; min-height:0; padding:182px 20px 64px; }
  .cinematic-copy { padding:0 3px; }
  .hero-location { margin-bottom:17px; font-size:8px; letter-spacing:.13em; }
  .cinematic-hero h1 { font-size:clamp(48px,13.6vw,76px); letter-spacing:-.065em; line-height:1.0; white-space:nowrap; }
  .cinematic-tagline { font-size:31px; letter-spacing:-.04em; margin:10px 0 17px; }
  .cinematic-description { font-size:12px; line-height:1.6; margin-bottom:20px; }
  .cinematic-explore { font-size:11px; gap:11px; }
  .cinematic-explore small { font-size:7px; margin-top:5px; }
  .round-arrow { width:42px; height:42px; }
  .round-arrow svg { width:21px; height:21px; }
  .glass-seat-card { padding:23px 22px 21px; border-radius:25px; background:linear-gradient(135deg,#b0c8d321,#14212acc); backdrop-filter:blur(23px); -webkit-backdrop-filter:blur(23px); }
  .glass-card-top { margin-bottom:17px; }
  .glass-card-top>span { font-size:8px; }
  .glass-card-top svg { width:21px; height:21px; }
  .glass-seat-card h2 { font-size:35px; margin-bottom:11px; }
  .glass-seat-card h2 br { display:none; }
  .glass-seat-card h2 br:after { content:" "; }
  .glass-card-description { margin-bottom:20px; font-size:11px; }
  .hero-seat-form label { font-size:10px; }
  .hero-input-wrap { height:51px; }
  .hero-input-wrap input { font-size:16px; }
  .hero-seat-form button { min-height:51px; font-size:12px; }
  .hero-seat-hint { margin:17px 0; }
  .cinematic-footer { bottom:20px; left:25px; right:25px; }
  .cinematic-footer>span { display:none; }

  .landing-details { width:calc(100% - 20px); grid-template-columns:1fr; gap:12px; margin-top:12px; }
  .landing-overview { border-radius:24px; padding:24px; }
  .landing-overview h2 { font-size:25px; }
  .landing-stats { justify-content:space-between; gap:20px; margin-top:23px; }
  .landing-stats strong { font-size:31px; }
  .landing-stats span { font-size:10px; }

  .explore-section { padding-top:60px; }
}
@media(prefers-reduced-motion:reduce) {
  .cinematic-hero *, .landing-details * { transition:none!important; }
}
