
:root{
  --white:#fff;--black:#0b0b0c;--soft:#171719;--gray:#67676c;
  --light:#f5f5f6;--line:#e7e7e9;--gold:#d4af37;--gold2:#f0d36f;
  --radius:24px;--shadow:0 20px 60px rgba(0,0,0,.10);--max:1200px
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--black);line-height:1.55}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.banner{position:relative;z-index:1002;background:#0b0b0c;color:#fff}
.banner-inner{min-height:48px;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 54px 10px 18px;text-align:center;font-size:.9rem;font-weight:750}
.banner a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.banner-close{position:absolute;right:15px;top:50%;transform:translateY(-50%);border:0;width:32px;height:32px;border-radius:50%;background:#ffffff1d;color:#fff;font-size:1.1rem}
.header{position:sticky;top:0;z-index:1000;background:#ffffffeb;border-bottom:1px solid #00000012;backdrop-filter:blur(17px)}
.nav{min-height:74px;display:flex;align-items:center;gap:25px}
.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-.03em;white-space:nowrap}
.mark{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#0b0b0c;color:#fff;font-family:Georgia,serif}
.desktop{display:flex;align-items:center;gap:23px;margin-left:auto}
.desktop>a,.drop>button{border:0;background:transparent;font-size:.89rem;font-weight:760}
.desktop>a:hover,.drop>button:hover{color:#9b7911}
.drop{position:relative}
.drop>button:after{content:"⌄";margin-left:5px}
.drop-menu{position:absolute;top:calc(100% + 20px);left:50%;width:240px;padding:9px;display:grid;gap:3px;background:#fff;border:1px solid #00000014;border-radius:17px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,-7px);transition:.2s}
.drop:hover .drop-menu,.drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.drop-menu a{padding:11px 12px;border-radius:10px;font-size:.88rem;font-weight:700}
.drop-menu a:hover{background:var(--light)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 21px;border:1px solid var(--black);border-radius:999px;background:var(--black);color:#fff;font-weight:820;transition:.2s}
.btn:hover{background:var(--gold);color:#000;transform:translateY(-2px)}
.btn.outline{background:#fff;color:#000}.btn.outline:hover{background:#000;color:#fff}
.nav-btn{min-height:42px;padding-inline:17px;font-size:.88rem}
.menu-btn{display:none;border:0;width:44px;height:44px;border-radius:50%;background:var(--light);font-size:1.25rem}
.mobile{display:none}
.page-hero{padding:45px 0 42px}
.hero-box{position:relative;overflow:hidden;min-height:430px;display:flex;align-items:flex-end;padding:clamp(34px,7vw,76px);border-radius:34px;background:radial-gradient(circle at 82% 18%,#d4af3752,transparent 28%),linear-gradient(135deg,#111,#29292c 55%,#050506);color:#fff;box-shadow:var(--shadow)}
.hero-box:after{content:"HC";position:absolute;right:-2%;top:-10%;font-size:18rem;font-weight:950;color:transparent;-webkit-text-stroke:1px #ffffff16;line-height:1}
.hero-content{position:relative;z-index:2;max-width:780px}
.kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--gold2);font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.kicker:before{content:"";width:26px;height:2px;background:currentColor}
h1{font-size:clamp(3.1rem,8vw,7rem);line-height:.88;letter-spacing:-.07em}
.hero-content p{max-width:650px;margin-top:22px;color:#ffffffb8;font-size:clamp(1rem,1.6vw,1.18rem)}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.hero-box .btn{background:#fff;color:#000;border-color:#fff}.hero-box .btn:hover{background:var(--gold);border-color:var(--gold)}
.hero-box .btn.outline{background:transparent;color:#fff}.hero-box .btn.outline:hover{background:#fff;color:#000}
section.content{padding:86px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}
.eyebrow{color:var(--gray);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
h2{font-size:clamp(2rem,5vw,4.6rem);line-height:.96;letter-spacing:-.055em}
.lead{max-width:680px;margin-top:18px;color:var(--gray);font-size:1.08rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.card{padding:27px;border:1px solid var(--line);border-radius:21px;background:var(--light)}
.card.dark{background:#111;color:#fff;border-color:#111}
.card.gold{background:var(--gold);border-color:var(--gold)}
.card h3{font-size:1.4rem;letter-spacing:-.03em}
.card p{margin-top:10px;color:var(--gray)}
.card.dark p{color:#ffffffa6}
.card .link{display:inline-block;margin-top:18px;font-weight:850}
.list{border-top:1px solid var(--line)}
.list-row{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}
.list-row .date{color:#9a760b;font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.list-row h3{font-size:clamp(1.3rem,2.5vw,2.2rem);letter-spacing:-.035em}
.list-row p{color:var(--gray)}
.arrow{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,8vw,100px);align-items:start}
.prose{max-width:850px}
.prose h2,.prose h3{margin:35px 0 13px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#3f3f43}
.prose p+p{margin-top:15px}
.prose ul,.prose ol{padding-left:22px;margin:13px 0 20px}
.notice{padding:21px 23px;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:#f8f4e7}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price{padding:29px;border:1px solid var(--line);border-radius:22px}
.price.featured{background:#111;color:#fff;border-color:#111;transform:translateY(-9px)}
.price .amount{font-size:2.8rem;font-weight:950;letter-spacing:-.06em}
.price ul{list-style:none;display:grid;gap:10px;margin:21px 0}
.price li:before{content:"✓";margin-right:8px;color:#9a760b;font-weight:900}
.price.featured li:before{color:var(--gold2)}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.menu-section{padding:26px;border:1px solid var(--line);border-radius:20px}
.menu-section h3{font-size:1.55rem;margin-bottom:17px}
.menu-item{display:flex;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px dashed #d1d1d4}
.menu-item:last-child{border-bottom:0}
.menu-item small{display:block;color:var(--gray)}
.chat-shell{max-width:780px;margin:auto;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.chat-head{padding:22px;background:#111;color:#fff}
.chat-body{min-height:360px;padding:24px;background:#f6f6f7;display:flex;flex-direction:column;gap:14px}
.bubble{max-width:78%;padding:13px 15px;border-radius:16px;background:#fff;box-shadow:0 5px 20px #0000000b}
.bubble.user{align-self:flex-end;background:#111;color:#fff}
.chat-form{display:flex;gap:10px;padding:15px;border-top:1px solid var(--line)}
.chat-form input{flex:1;border:1px solid #d7d7d9;border-radius:999px;padding:0 16px}
.footer{background:#0b0b0c;color:#fff;margin-top:80px}
.footer-top{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding:72px 0 55px}
.footer-title{font-size:clamp(2.4rem,6vw,5.2rem);line-height:.9;letter-spacing:-.06em}
.footer-title em{font-family:Georgia,serif;color:var(--gold2);font-weight:500}
.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.footer-links h3{margin-bottom:14px;color:#ffffff72;font-size:.73rem;letter-spacing:.13em;text-transform:uppercase}
.footer-links a{display:block;width:fit-content;margin:9px 0;font-weight:680}.footer-links a:hover{color:var(--gold2)}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid #ffffff1e;color:#ffffff75;font-size:.82rem}
.reveal{opacity:0;transform:translateY(22px);transition:.6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){
 .desktop,.nav>.nav-btn{display:none}.menu-btn{display:grid;place-items:center;margin-left:auto}
 .mobile{position:fixed;inset:74px 0 0;z-index:999;display:grid;align-content:start;padding:22px;background:#fff;overflow:auto;transform:translateX(100%);transition:.25s}
 .mobile.open{transform:none}.mobile a{padding:14px 8px;border-bottom:1px solid var(--line);font-weight:800}
 .grid,.price-grid{grid-template-columns:1fr 1fr}.split,.footer-top{grid-template-columns:1fr}
}
@media(max-width:680px){
 .container{width:min(calc(100% - 24px),var(--max))}
 .banner-inner{justify-content:flex-start;text-align:left;font-size:.8rem}.banner a{display:none}
 .page-hero{padding-top:14px}.hero-box{min-height:520px;padding:28px 23px;border-radius:23px}.hero-box:after{font-size:10rem}
 h1{font-size:clamp(3.1rem,17vw,5rem)}section.content{padding:68px 0}
 .section-head{display:block}.grid,.price-grid,.menu-grid{grid-template-columns:1fr}.price.featured{transform:none}
 .list-row{grid-template-columns:1fr auto;gap:8px}.list-row .date{grid-column:1/-1}
 .footer-links{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom p+p{margin-top:6px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* =========================================================
   HOLLYWOOD CINEMA V2 REFINEMENTS
   These styles are grouped here to make future editing easy.
========================================================= */

body {
  opacity: 0;
  transition: opacity .10s ease;
}

body.page-ready {
  opacity: 1;
}

.logo-image {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
}

.brand {
  gap: 13px;
}

.page-hero {
  padding: 26px 0 30px;
}

.hero-box {
  min-height: 285px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: 28px;
}

.hero-box::after {
  font-size: 11rem;
  top: -16%;
}

.hero-content {
  max-width: 700px;
}

.hero-content h1 {
  font-size: clamp(2.5rem, 6vw, 5.2rem);
  line-height: .92;
}

.hero-content p {
  max-width: 620px;
  margin-top: 16px;
}

.hero-content .actions:empty {
  display: none;
}

section.content {
  padding: 62px 0;
}

.card,
.quick-card,
.event-row,
.list-row,
.price,
.menu-section,
.notice,
.hero-box,
.btn,
.drop-menu a {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease,
    color .22s ease;
}

.card:hover,
.quick-card:hover,
.price:hover,
.menu-section:hover {
  transform: translateY(-7px) scale(1.015);
  box-shadow: 0 24px 55px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.28);
}

.list-row:hover,
.event-row:hover {
  transform: translateX(8px);
  padding-left: 14px;
  padding-right: 14px;
  background: #fafafa;
  border-radius: 14px;
}

.card.dark:hover {
  background: #1c1c1f;
}

.card.gold:hover {
  background: #e1bd47;
}

.btn:hover {
  transform: translateY(-3px) scale(1.025);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

.drop-menu a:hover {
  transform: translateX(4px);
}

.section-head {
  margin-bottom: 30px;
}

.section-head h2 {
  font-size: clamp(2rem, 4.2vw, 4rem);
}

.footer {
  margin-top: 55px;
}

.footer-top {
  padding-top: 58px;
}

@media (max-width: 680px) {
  .logo-image {
    width: 44px;
    height: 44px;
  }

  .page-hero {
    padding-top: 10px;
  }

  .hero-box {
    min-height: 330px;
    padding: 25px 20px;
    border-radius: 20px;
  }

  .hero-content h1 {
    font-size: clamp(2.7rem, 14vw, 4.3rem);
  }

  section.content {
    padding: 52px 0;
  }
}


/* =========================================================
   V3 ANNOUNCEMENT BANNER
   The banner remains visible while visitors scroll.
========================================================= */

.banner {
  position: sticky;
  top: 0;
  z-index: 1100;
}

.banner-inner {
  min-height: 48px;
  padding-right: 18px;
}

.banner-close {
  display: none !important;
}

.header {
  top: 48px;
}

@media (max-width: 680px) {
  .header {
    top: 48px;
  }
}
