/* ============================================================
   McSwiggin’s — premium Irish pub website
   Palette: heritage green, stout green, antique gold, brass, parchment.
   Typography: Cinzel / Cormorant Garamond / Inter.
   ============================================================ */
:root{
  --green:#1F3A24; --stout:#14261A; --gold:#C8A24A; --brass:#9B7831;
  --cream:#F4EBD7; --cream-2:#EADDC2; --charcoal:#121212; --grey:#D8D1C4; --olive:#5F6E47;
  --on-dark:#F0E6D1; --on-dark-dim:rgba(240,230,209,.74); --gold-line:rgba(200,162,74,.42); --gold-soft:rgba(200,162,74,.16);
  --display:'Cinzel', Georgia, serif; --serif:'Cormorant Garamond', Georgia, serif; --body:'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
  --maxw:1180px; --pad:clamp(1.15rem,4vw,3rem); --radius:8px; --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 20px 50px -30px rgba(0,0,0,.65);
}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth;scroll-padding-top:84px} body{font-family:var(--body);background:var(--cream);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden} img{display:block;max-width:100%} a{color:inherit;text-decoration:none}.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ---------- Typography ---------- */
.eyebrow{font:800 .75rem/1 var(--body);letter-spacing:.25em;text-transform:uppercase;color:var(--brass);display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1rem}.eyebrow:before{content:"";width:34px;height:1px;background:var(--gold)}.eyebrow-light{color:var(--gold)}
.section-title{font-family:var(--serif);font-weight:700;font-size:clamp(2.45rem,5.8vw,4.4rem);line-height:.98;color:var(--green);letter-spacing:-.015em}.section-title.light{color:var(--cream)}
.section-intro{max-width:54ch;margin-top:1rem;font-size:1.06rem;color:rgba(18,18,18,.74)}.light-intro{color:var(--on-dark-dim);margin-inline:auto}.section{padding-block:clamp(4rem,8vw,7rem);position:relative}.section-head{margin-bottom:clamp(2rem,5vw,3.4rem)}.split-head{display:flex;align-items:end;justify-content:space-between;gap:2rem}.centred{text-align:center}.centred .eyebrow{justify-content:center}.centred .section-intro{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid transparent;border-radius:var(--radius);padding:.95rem 1.45rem;font:800 .88rem/1 var(--body);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn-sm{padding:.72rem 1rem;font-size:.78rem}.btn-gold{background:var(--gold);color:var(--stout);box-shadow:0 14px 28px -18px rgba(200,162,74,.95)}.btn-gold:hover{background:#D7B25D}.btn-outline{border-color:var(--green);color:var(--green)}.btn-outline:hover{background:var(--green);color:var(--cream)}.btn-outline-light{border-color:var(--gold-line);color:var(--cream)}.btn-outline-light:hover{background:var(--gold);color:var(--stout);border-color:var(--gold)}.btn-ghost{color:var(--on-dark);opacity:.85}.btn-ghost:hover{color:var(--gold);opacity:1}

/* ---------- Header ---------- */
.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(20,38,26,0);padding-block:1.05rem;transition:.35s var(--ease)}.site-header.scrolled{background:rgba(20,38,26,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--gold-line),0 14px 34px -28px #000;padding-block:.58rem}.header-inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.78rem}.brand-badge{width:50px;height:50px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));transition:.35s var(--ease)}.scrolled .brand-badge{width:40px;height:40px}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--display);font-weight:700;font-size:1.18rem;color:var(--cream);letter-spacing:.03em}.brand-sub{font:800 .56rem/1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:.27rem}.main-nav{display:flex;align-items:center;gap:1.55rem}.main-nav>a:not(.btn){font-size:.9rem;font-weight:700;color:var(--on-dark);letter-spacing:.015em;position:relative;padding-block:.35rem}.main-nav>a:not(.btn):after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--gold);transition:width .25s var(--ease)}.main-nav>a:not(.btn):hover{color:var(--cream)}.main-nav>a:not(.btn):hover:after{width:100%}.nav-book{padding:.72rem 1.05rem}.nav-toggle{display:none;background:transparent;border:0;flex-direction:column;gap:5px;padding:6px;cursor:pointer}.nav-toggle span{width:27px;height:2px;background:var(--cream);transition:.25s var(--ease)}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;color:var(--on-dark);padding:7rem var(--pad) 5rem;overflow:hidden;background:linear-gradient(180deg,rgba(8,15,10,.08),rgba(8,15,10,.42)),url("../assets/hero-house-of-stout.jpg") center/cover no-repeat,var(--stout)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 58% at 50% 45%,rgba(8,15,10,.42),rgba(8,15,10,.82) 82%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.44));pointer-events:none}.hero-texture{position:absolute;inset:0;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2' type='fractalNoise' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.hero-halo{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:min(900px,120vw);height:min(900px,120vw);background:radial-gradient(circle,rgba(200,162,74,.18),rgba(200,162,74,.05) 38%,transparent 66%)}.hero-inner{position:relative;z-index:2;max-width:960px}.hero-title{font-family:var(--display);font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:#fff7e6;font-size:clamp(3.1rem,10vw,7.4rem);line-height:.92;margin-bottom:1.3rem;text-shadow:0 12px 34px rgba(0,0,0,.7)}.hero-title span{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:.015em;color:var(--gold);font-weight:700}.hero-line{max-width:48ch;margin:0 auto 1.5rem;color:rgba(255,247,230,.84);font-size:clamp(1.05rem,2.2vw,1.32rem);text-shadow:0 3px 14px rgba(0,0,0,.9)}.hero-tonight{display:inline-flex;align-items:center;gap:.62rem;border:1px solid var(--gold-line);background:rgba(0,0,0,.25);border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;margin-bottom:1.35rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--gold)}.status-dot.open{background:#70d487;animation:pulse 2s infinite}.status-dot.closed{background:#c26b5c}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(112,212,135,.55)}70%{box-shadow:0 0 0 10px rgba(112,212,135,0)}100%{box-shadow:0 0 0 0 rgba(112,212,135,0)}}.hero-event-card{display:inline-flex;flex-direction:column;gap:.22rem;max-width:470px;margin:0 auto 1.8rem;padding:1.15rem 1.55rem;border:1px solid var(--gold-line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(20,38,26,.72),rgba(0,0,0,.35))}.hero-event-label{font:800 .68rem/1 var(--body);text-transform:uppercase;letter-spacing:.24em;color:var(--gold)}.hero-event-title{font-family:var(--serif);font-size:1.7rem;line-height:1.05;color:var(--cream)}.hero-event-meta{color:var(--on-dark-dim);font-size:.92rem}.hero-ctas{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ---------- Quick Actions ---------- */
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);background:var(--stout);border-block:1px solid var(--gold-line)}.quick-actions a{padding:1.05rem 1.3rem;color:var(--on-dark);font-weight:800;border-right:1px solid rgba(200,162,74,.18);display:flex;align-items:center;justify-content:center;gap:.7rem;letter-spacing:.02em}.quick-actions a:hover{background:rgba(200,162,74,.08)}.quick-actions span{font-family:var(--display);color:var(--gold);font-size:.82rem}

/* ---------- What’s On ---------- */
.whats-on{background:var(--cream)}.whatson-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.8rem}.event-card{min-height:245px;display:flex;flex-direction:column;background:#fffaf0;border:1px solid var(--grey);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--gold);opacity:.5}.event-card.is-tonight{background:var(--green);border-color:var(--gold-line);color:var(--on-dark)}.ec-day{font:800 .7rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:.9rem}.is-tonight .ec-day{color:var(--gold)}.ec-title{font-family:var(--serif);font-size:1.58rem;line-height:1.02;color:var(--green);margin-bottom:.35rem}.is-tonight .ec-title{color:var(--cream)}.ec-artist{font-weight:700;font-size:.88rem;color:rgba(18,18,18,.72);margin-bottom:.55rem}.is-tonight .ec-artist{color:var(--on-dark)}.ec-blurb{font-size:.87rem;color:rgba(18,18,18,.68);margin-bottom:1rem}.is-tonight .ec-blurb{color:var(--on-dark-dim)}.ec-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:.35rem}.ec-tag{font-size:.7rem;font-weight:800;background:var(--cream-2);color:var(--green);border-radius:999px;padding:.28rem .55rem}.is-tonight .ec-tag{background:rgba(200,162,74,.18);color:var(--cream);border:1px solid rgba(200,162,74,.2)}.specials{margin-top:3rem}.specials-title{font-family:var(--display);font-size:1.05rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:1rem}.specials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.special-card{display:flex;gap:1.1rem;background:#fffaf0;border:1px solid var(--grey);border-radius:var(--radius);padding:1.1rem}.special-date{min-width:64px;height:64px;border-radius:var(--radius);background:var(--green);color:var(--cream);display:grid;place-items:center}.special-date .d{font-family:var(--display);font-size:1.6rem;line-height:1;color:var(--gold)}.special-date .m{font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.special-body h4{font-family:var(--serif);font-size:1.45rem;color:var(--green);line-height:1.05}.special-body p{font-size:.92rem;color:rgba(18,18,18,.72);margin:.3rem 0 .7rem}.loading{grid-column:1/-1;color:rgba(18,18,18,.55);font-style:italic}

/* ---------- Promise / Reasons ---------- */
.promise{background:#fff8ea}.reasons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.reason{background:var(--cream);border:1px solid var(--grey);border-radius:var(--radius);padding:1.45rem;min-height:235px;position:relative;box-shadow:var(--shadow)}.reason-num{font-family:var(--display);font-weight:800;color:var(--gold);font-size:.8rem;letter-spacing:.12em}.reason h3{font-family:var(--serif);font-size:1.75rem;line-height:1;color:var(--green);margin:1.2rem 0 .6rem}.reason p{color:rgba(18,18,18,.72);font-size:.95rem}

/* ---------- Sport ---------- */
.sport{background:linear-gradient(135deg,var(--stout),#0c1710);color:var(--on-dark);overflow:hidden}.sport:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(200,162,74,.16),transparent 34%),radial-gradient(circle at 90% 80%,rgba(95,110,71,.25),transparent 30%)}.sport-inner{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center}.sport-copy p:not(.eyebrow){color:var(--on-dark-dim);font-size:1.06rem;margin:1rem 0 1.7rem;max-width:46ch}.fixture-board{display:grid;gap:.85rem}.fixture-board article{display:grid;grid-template-columns:1fr auto auto;gap:.85rem;align-items:center;background:rgba(244,235,215,.06);border:1px solid rgba(200,162,74,.26);border-radius:var(--radius);padding:1rem 1.1rem}.fixture-board span{font:800 .68rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.fixture-board strong{font-family:var(--serif);font-size:1.55rem;line-height:1;color:var(--cream)}.fixture-board em{font-style:normal;color:var(--on-dark-dim);font-weight:700}.fixture-board a{color:var(--gold);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}

/* ---------- Food / Drink ---------- */
.food-drink{background:var(--cream)}.food-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center}.food-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.menu-cards article{background:var(--green);color:var(--on-dark);border:1px solid var(--gold-line);border-radius:var(--radius);min-height:290px;overflow:hidden;box-shadow:var(--shadow)}.menu-cards article img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--gold-line)}.menu-cards article div{padding:1.1rem}.menu-cards span{font:800 .68rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.menu-cards h3{font-family:var(--serif);font-size:1.7rem;line-height:1;color:var(--cream);margin:.9rem 0 .55rem}.menu-cards p{font-size:.93rem;color:var(--on-dark-dim)}

/* ---------- Groups ---------- */
.groups{background:#0e1b12;color:var(--on-dark)}.groups-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.group-card{background:linear-gradient(135deg,var(--green),var(--stout));border:1px solid var(--gold-line);border-radius:var(--radius);padding:clamp(1.7rem,4vw,3rem)}.group-card p:not(.eyebrow){color:var(--on-dark-dim);max-width:56ch;margin:1rem 0 1.5rem}.group-list{display:grid;gap:1rem}.group-list div{background:rgba(244,235,215,.06);border:1px solid rgba(200,162,74,.2);border-radius:var(--radius);padding:1.25rem}.group-list strong{display:block;font-family:var(--serif);font-size:1.55rem;color:var(--cream);line-height:1.05}.group-list span{display:block;margin-top:.4rem;color:var(--on-dark-dim);font-size:.94rem}

/* ---------- Offers ---------- */
.loyalty{background:#fff8ea}.offers-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem}.offer-card{background:var(--cream);border:1px solid var(--grey);border-radius:var(--radius);padding:1.15rem;min-height:245px;display:flex;flex-direction:column;position:relative}.offer-card.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,74,.12)}.offer-top{display:flex;justify-content:space-between;gap:.8rem;align-items:start;margin-bottom:.75rem}.offer-badge{font:800 .65rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.live-pill{font:800 .62rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:var(--cream);border-radius:999px;padding:.32rem .55rem}.offer-name{font-family:var(--serif);font-size:1.45rem;line-height:1.02;color:var(--green);margin-bottom:.5rem}.offer-desc{font-size:.9rem;color:rgba(18,18,18,.72);margin-bottom:1rem}.offer-when{margin-top:auto;border-top:1px solid var(--grey);padding-top:.8rem;font-size:.82rem;color:var(--green);font-weight:700}.offer-days{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.55rem}.day-pip{width:24px;height:22px;display:inline-grid;place-items:center;background:var(--grey);border-radius:4px;font-size:.66rem;font-weight:800;color:rgba(18,18,18,.45)}.day-pip.on{background:var(--green);color:var(--cream)}.offer-terms{font-size:.72rem;color:rgba(18,18,18,.5);margin-top:.6rem}.loyalty-cta{margin-top:2.2rem;background:var(--green);color:var(--on-dark);border:1px solid var(--gold-line);border-radius:var(--radius);padding:1.7rem clamp(1.25rem,4vw,2.4rem);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}.loyalty-cta h3{font-family:var(--serif);font-size:1.9rem;line-height:1;color:var(--cream)}.loyalty-cta p{color:var(--on-dark-dim);margin-top:.3rem}

/* ---------- Gallery ---------- */
.gallery{background:var(--stout);color:var(--on-dark)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:155px;gap:.85rem}.g-tile{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(200,162,74,.2);display:flex;align-items:flex-end;background:#08100b}.g-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease),filter .55s var(--ease);filter:saturate(.92) contrast(1.04)}.g-tile:hover img{transform:scale(1.06);filter:saturate(1.04) contrast(1.08)}.g-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.68))}.g-tile figcaption{position:relative;z-index:2;padding:1rem 1.1rem;font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--cream);text-shadow:0 2px 8px #000}.g-tile--tall{grid-row:span 2}.g-tile--wide{grid-column:span 2}

/* ---------- Find / Footer ---------- */
.find-us{background:var(--cream)}.find-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:stretch}.find-address{font-family:var(--serif);font-size:1.75rem;font-weight:700;font-style:normal;color:var(--green);line-height:1.25;margin:1.3rem 0 1.4rem}.find-contact{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem;margin-bottom:1.5rem}.find-contact dt{font:800 .7rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:.35rem}.find-contact dd{font-weight:700;color:var(--green)}.opening-hours{background:#fffaf0;border:1px solid var(--grey);border-radius:var(--radius);padding:1.15rem 1.25rem;margin-bottom:1.5rem}.opening-hours h3{font-family:var(--serif);font-size:1.55rem;line-height:1;color:var(--green);margin-bottom:.7rem}#hoursList{list-style:none}#hoursList li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--grey);padding:.36rem 0;font-size:.9rem}#hoursList li:last-child{border-bottom:0}#hoursList li.today{font-weight:800;color:var(--green)}#hoursList .hrs{color:var(--green);font-weight:700}.find-ctas{display:flex;flex-wrap:wrap;gap:.8rem}.find-map{min-height:390px;border:1px solid var(--grey);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.find-map iframe{width:100%;height:100%;min-height:390px;border:0;filter:saturate(.9) contrast(1.03)}.site-footer{background:var(--green);color:var(--on-dark);border-top:2px solid var(--gold);padding-top:clamp(3rem,6vw,4.5rem)}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:2rem;padding-bottom:2.8rem}.footer-brand img{width:64px;margin-bottom:1rem}.footer-tag{font-family:var(--display);font-weight:700;letter-spacing:.04em;color:var(--cream);font-size:1.15rem}.footer-line,.footer-contact address,.footer-nav a{color:var(--on-dark-dim);font-size:.92rem}.site-footer h4{font:800 .7rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.footer-nav{display:flex;flex-direction:column;gap:.55rem}.footer-nav a:hover,.footer-contact a:hover{color:var(--gold)}.footer-contact address{font-style:normal;line-height:1.85}.footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-base{border-top:1px solid var(--gold-line);max-width:var(--maxw);margin:0 auto;padding:1.25rem var(--pad);display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;color:var(--on-dark-dim);font-size:.78rem}

/* ---------- Sticky ---------- */
.sticky-bar{position:fixed;inset:auto 0 0 0;z-index:90;display:none;background:rgba(20,38,26,.98);border-top:1px solid var(--gold-line);backdrop-filter:blur(8px)}.sticky-item{flex:1;text-align:center;padding:.68rem .35rem .75rem;color:var(--on-dark);font-size:.75rem;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:.12rem;border-right:1px solid rgba(200,162,74,.18)}.sticky-item:last-child{border-right:0}.sticky-item span{color:var(--gold);font-size:1.05rem}.sticky-primary{background:var(--gold);color:var(--stout)}.sticky-primary span{color:var(--stout)}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}

.brand-words{text-align:center}.brand-sub{align-self:center}.hero-tonight,.hero-event-card{width:330px;height:112px;min-height:112px;margin-bottom:1.8rem;vertical-align:top}.hero-tonight{display:inline-grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:.42rem .62rem;max-width:470px;margin-inline:auto;padding:1.05rem 1.55rem;border:1px solid var(--gold-line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(20,38,26,.82),rgba(0,0,0,.52));text-align:left}.hero-event-card{justify-content:center;background:linear-gradient(180deg,rgba(20,38,26,.82),rgba(0,0,0,.52))}.hero-tonight:before{content:"Current status";grid-column:1/-1;font:800 .68rem/1 var(--body);text-transform:uppercase;letter-spacing:.24em;color:var(--gold)}.hero-status{font-family:var(--serif);font-size:1.45rem;font-weight:700;line-height:1.05;color:#fff7e6}

/* ---------- Responsive ---------- */
@media(max-width:1100px){.whatson-grid{grid-template-columns:repeat(3,1fr)}.offers-grid{grid-template-columns:repeat(3,1fr)}.menu-cards{grid-template-columns:1fr}.main-nav{gap:1rem}.main-nav>a:not(.btn){font-size:.84rem}}
@media(max-width:920px){.split-head,.sport-inner,.food-inner,.groups-inner,.find-inner{grid-template-columns:1fr;display:grid}.split-head{align-items:start}.reasons-grid{grid-template-columns:repeat(2,1fr)}.sport-copy{text-align:left}.footer-inner{grid-template-columns:1fr 1fr}.fixture-board article{grid-template-columns:1fr}.specials-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{padding-bottom:62px}.site-header{background:rgba(20,38,26,.96);padding-block:.65rem}.brand-sub{display:none}.brand-name{font-size:1rem}.nav-toggle{display:flex}.main-nav{position:fixed;inset:0 0 0 auto;width:min(80vw,330px);height:100svh;background:var(--stout);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.35rem;padding:2rem;transform:translateX(100%);transition:transform .35s var(--ease);box-shadow:-20px 0 40px -24px #000}.main-nav.open{transform:translateX(0)}.main-nav>a:not(.btn){font-size:1.15rem}.nav-book{width:100%}.hero{text-align:left;place-items:end start}.hero-inner{max-width:640px}.hero-title{letter-spacing:.02em}.hero-ctas{justify-content:flex-start}.quick-actions{grid-template-columns:repeat(2,1fr)}.whatson-grid,.offers-grid{grid-template-columns:1fr}.event-card{min-height:0}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:135px}.g-tile--tall{grid-row:span 1}.g-tile--wide{grid-column:span 2}.sticky-bar{display:flex}.footer-base{justify-content:center;text-align:center}}
@media(max-width:520px){.reasons-grid,.footer-inner{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.quick-actions a{justify-content:flex-start}.hero-tonight,.hero-event-card{width:100%}.section{padding-block:3.4rem}.fixture-board strong{font-size:1.35rem}.loyalty-cta{align-items:flex-start}.find-map,.find-map iframe{min-height:320px}}
/* Compatibility for existing JS offer class names */
.offer-card.active-now{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,74,.12)}
.offer-id{font:800 .65rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.offer-live{font:800 .62rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:var(--cream);border-radius:999px;padding:.32rem .55rem}
.offer-when .row{display:flex;align-items:center;gap:.45rem}.offer-when .ico{color:var(--brass)}

@media(max-width:760px){
  html{scroll-padding-top:72px}
  body{padding-bottom:70px}
  body.nav-open{overflow:hidden}
  .site-header{padding-block:.55rem}
  .header-inner{gap:.75rem}
  .brand{gap:.62rem;min-width:0}
  .brand-badge{width:42px;height:42px}
  .brand-words{align-items:center;text-align:center}
  .brand-name{font-size:clamp(.95rem,4.5vw,1.08rem)}
  .brand-sub{display:block;font-size:.48rem;letter-spacing:.18em;margin-top:.22rem;white-space:nowrap}
  .nav-toggle{width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(200,162,74,.28);border-radius:var(--radius)}
  .main-nav{width:min(88vw,360px);justify-content:flex-start;gap:.55rem;padding:5.4rem 1.2rem 1.4rem}
  .main-nav>a:not(.btn){width:100%;min-height:48px;display:flex;align-items:center;border-bottom:1px solid rgba(200,162,74,.16);font-size:1.02rem}
  .main-nav>a:not(.btn):after{display:none}
  .nav-book{width:100%;min-height:48px}
  .hero{min-height:auto;place-items:center;text-align:center;padding:6.1rem var(--pad) 4rem}
  .hero .eyebrow{justify-content:center}
  .eyebrow{font-size:.66rem;letter-spacing:.18em;gap:.55rem}
  .eyebrow:before{width:24px}
  .hero-title{font-size:clamp(2.55rem,12.2vw,3.1rem);line-height:.96;letter-spacing:.015em;margin-bottom:.9rem}
  .hero-line{max-width:32ch;margin-bottom:1rem;font-size:1rem;line-height:1.55}
  .hero-tonight,.hero-event-card{width:100%;height:auto;min-height:96px;margin-bottom:.72rem;padding:1rem 1.08rem}
  .hero-tonight{grid-template-columns:auto auto;align-content:center;justify-content:center;text-align:center}
  .hero-tonight:before,.hero-event-label{font-size:.58rem;letter-spacing:.18em}
  .hero-status{font-size:1.26rem}
  .hero-event-title{font-size:1.42rem}
  .hero-event-meta{font-size:.84rem}
  .hero-ctas{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;justify-content:stretch;margin-top:.85rem}
  .hero-ctas .btn{width:100%;min-height:50px;padding:.85rem .7rem;font-size:.75rem;white-space:normal;text-align:center}
  .hero-ctas .btn-gold{grid-column:1/-1}
  .quick-actions{grid-template-columns:repeat(2,1fr)}
  .quick-actions a{min-height:58px;justify-content:flex-start;padding:.85rem .9rem;font-size:.82rem;line-height:1.2}
  .section{padding-block:3.25rem}
  .section-head{margin-bottom:1.65rem}
  .split-head{gap:.75rem}
  .section-title{font-size:clamp(2.15rem,10vw,2.85rem);line-height:1.03;letter-spacing:0}
  .section-intro{font-size:.98rem;line-height:1.6}
  .reasons-grid{gap:.75rem}
  .reason{min-height:0;padding:1.15rem}
  .reason h3{font-size:1.45rem;margin:.85rem 0 .45rem}
  .reason p{font-size:.9rem}
  .whatson-grid,.offers-grid,.menu-cards,.group-list,.fixture-board{gap:.75rem}
  .event-card,.offer-card,.menu-cards article,.group-list div,.group-card{padding:1.05rem}
  .menu-cards article{padding:0}
  .menu-cards article div{padding:1.05rem}
  .food-ctas,.find-ctas{display:grid;grid-template-columns:1fr;gap:.65rem}
  .food-ctas .btn,.find-ctas .btn,.loyalty-cta .btn{width:100%}
  .loyalty-cta{padding:1.2rem}
  .sticky-item{min-height:64px;font-size:.7rem}
}

@media(max-width:360px){
  .brand-badge{width:38px;height:38px}
  .brand-name{font-size:.9rem}
  .brand-sub{font-size:.43rem;letter-spacing:.16em}
  .hero-title{font-size:2.35rem}
  .hero-ctas{grid-template-columns:1fr}
  .hero-ctas .btn-gold{grid-column:auto}
}
