.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1d30f2;border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-normal);z-index:var(--z-sticky)}.header--scrolled{background:#0b1d30fa;box-shadow:var(--shadow-lg)}.header__content{align-items:center;display:flex;gap:var(--spacing-4);justify-content:space-between;padding:var(--spacing-4) 0}.header__brand{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-3);text-decoration:none;transition:transform var(--transition-fast)}.header__brand:hover{transform:translateY(-1px)}.brand-logo{background:var(--color-surface);border:2px solid var(--color-accent);border-radius:50%;flex-shrink:0;height:48px;overflow:hidden;width:48px}.brand-logo__image{height:100%;object-fit:cover;width:100%}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-name{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1;margin:0}.brand-tagline{color:var(--color-accent);font-family:var(--font-primary);font-size:var(--font-size-xs);letter-spacing:1px;line-height:1;margin:0}.brand-tagline,.opening-soon-badge{font-weight:var(--font-weight-medium);text-transform:uppercase}.opening-soon-badge{background:var(--color-accent);border-radius:var(--border-radius-full);color:var(--color-primary);display:none;font-size:var(--font-size-sm);letter-spacing:.5px;padding:var(--spacing-2) var(--spacing-3)}.header__nav--desktop{display:none}.nav-list{align-items:center;display:flex;gap:var(--spacing-6);list-style:none;margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);text-decoration:none;transition:all var(--transition-fast)}.nav-link:focus,.nav-link:hover{background:#d4af371a;color:var(--color-accent);outline:none}.nav-link--active{color:var(--color-accent)}.nav-link--active:after{background:var(--color-accent);border-radius:2px;bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.menu-toggle{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex-direction:column;height:48px;justify-content:center;padding:var(--spacing-2);transition:background-color var(--transition-fast);width:48px}.menu-toggle:focus,.menu-toggle:hover{background:#d4af371a;outline:none}.menu-toggle__line{background:var(--color-text-primary);border-radius:2px;height:2px;transform-origin:center;transition:all var(--transition-normal);width:24px}.menu-toggle__line:not(:last-child){margin-bottom:4px}.menu-toggle--active .menu-toggle__line:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle--active .menu-toggle__line:nth-child(2){opacity:0}.menu-toggle--active .menu-toggle__line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.header__nav--mobile{background:var(--color-background);border-left:1px solid var(--color-border);height:100vh;overflow-y:auto;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform var(--transition-normal);width:280px;z-index:var(--z-modal)}.header__nav--mobile-open{transform:translateX(0)}.mobile-nav{padding:var(--spacing-20) var(--spacing-6) var(--spacing-8)}.mobile-nav__list{display:flex;flex-direction:column;gap:var(--spacing-2);list-style:none;margin:0;padding:0}.mobile-nav__item{width:100%}.mobile-nav__link{background:#0000;border:none;border-radius:var(--border-radius-lg);color:var(--color-text-secondary);cursor:pointer;display:block;font-family:var(--font-brand);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);padding:var(--spacing-4) var(--spacing-3);text-align:left;text-decoration:none;transition:all var(--transition-fast);width:100%}.mobile-nav__link:focus,.mobile-nav__link:hover{background:#d4af371a;color:var(--color-accent);outline:none;transform:translateX(8px)}.mobile-nav__link--active{background:#d4af371a;color:var(--color-accent)}.mobile-nav__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}@media (min-width:640px){.opening-soon-badge{display:block}.brand-name{font-size:var(--font-size-2xl)}.brand-tagline{font-size:var(--font-size-sm)}}@media (min-width:1024px){.header__nav--desktop{display:block}.header__nav--mobile,.menu-toggle{display:none}}@media (prefers-reduced-motion:reduce){.header,.header__brand,.header__nav--mobile,.menu-toggle__line,.mobile-nav__link,.nav-link{transition:none}}@media (prefers-contrast:high){.header{border-bottom-color:var(--color-text-primary)}.mobile-nav__link,.nav-link{border:1px solid #0000}.mobile-nav__link:focus,.nav-link:focus{border-color:var(--color-accent)}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-16) 0 var(--spacing-8)}.footer__map{margin-bottom:var(--spacing-16)}.map-container{margin:0 auto;max-width:800px;text-align:center}.map-container h3{color:var(--color-text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-4)}.address{margin-bottom:var(--spacing-6)}.address p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0}.map-embed{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);margin:var(--spacing-6) 0;overflow:hidden}.map-embed iframe{border:none;height:420px;width:100%}.footer__content{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:1fr;margin-bottom:var(--spacing-12)}.footer__brand{text-align:center}.footer__brand-name{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-xl);margin-bottom:var(--spacing-2)}.footer__tagline{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:1px;margin-bottom:var(--spacing-3);text-transform:uppercase}.footer__description{color:var(--color-text-secondary);line-height:1.6;margin:0 auto;max-width:400px}.footer__contact h4,.footer__hours h4,.footer__links h4{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4)}.footer__links ul{list-style:none;margin:0;padding:0}.footer__links li{margin-bottom:var(--spacing-2)}.footer__link{background:#0000;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:var(--font-weight-medium);padding:0;text-align:left;text-decoration:none;transition:color var(--transition-fast)}.footer__link:focus,.footer__link:hover{color:var(--color-accent);outline:none}.contact-item strong{display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.contact-item p{margin:0}.contact-item a,.contact-item p{color:var(--color-text-secondary)}.contact-item a:focus,.contact-item a:hover,.opening-soon{color:var(--color-accent)}.opening-soon{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.hours-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.hours-item{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-2) 0}.hours-item:last-child{border-bottom:none}.day{color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-transform:capitalize}.time{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.footer__bottom{border-top:1px solid var(--color-border);padding-top:var(--spacing-6)}.footer__legal{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);text-align:center}.footer__legal p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.footer__legal-links{display:flex;flex-wrap:wrap;gap:var(--spacing-6);justify-content:center}.footer__legal-link{color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.footer__legal-link:focus,.footer__legal-link:hover{color:var(--color-accent)}@media (min-width:640px){.footer__content{gap:var(--spacing-10);grid-template-columns:1fr 1fr}.footer__brand{text-align:left}.map-embed iframe{height:460px}}@media (min-width:768px){.footer__legal{flex-direction:row;justify-content:space-between;text-align:left}.footer__legal-links{justify-content:flex-end}}@media (min-width:1024px){.footer{padding:var(--spacing-20) 0 var(--spacing-10)}.footer__content{gap:var(--spacing-12);grid-template-columns:2fr 1fr 1fr 1fr}.map-embed iframe{height:500px}}@media (prefers-reduced-motion:reduce){.contact-item a,.footer__legal-link,.footer__link{transition:none}}.age-gate{align-items:center;display:flex;justify-content:center;padding:var(--spacing-4);position:fixed;z-index:var(--z-modal)}.age-gate,.age-gate__overlay{bottom:0;left:0;right:0;top:0}.age-gate__overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1d30fa;position:absolute}.age-gate__content{background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:500px;padding:var(--spacing-12) var(--spacing-8);position:relative;text-align:center;width:100%;z-index:var(--z-modal)}.age-gate__title{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.2;margin:0 0 var(--spacing-6) 0}.age-gate__subtitle{font-size:var(--font-size-lg);margin:0 0 var(--spacing-8) 0}.age-gate__message,.age-gate__subtitle{color:var(--color-text-secondary);line-height:1.6}.age-gate__message{font-size:var(--font-size-base);margin:var(--spacing-6) 0 0 0}.age-gate__actions{display:flex;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-8)}.age-gate__btn{border:2px solid #0000;border-radius:var(--border-radius-md);cursor:pointer;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);min-height:56px;padding:var(--spacing-4) var(--spacing-8);transition:all var(--transition-fast);width:100%}.age-gate__btn:focus{outline:3px solid var(--color-accent);outline-offset:2px}.age-gate__btn--yes{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-primary)}.age-gate__btn--yes:focus,.age-gate__btn--yes:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.age-gate__btn--no{background-color:initial;border-color:var(--color-border);color:var(--color-text-primary)}.age-gate__btn--no:focus,.age-gate__btn--no:hover{background-color:var(--color-background);border-color:var(--color-text-primary)}@media (min-width:640px){.age-gate__content{padding:var(--spacing-16) var(--spacing-12)}.age-gate__title{font-size:var(--font-size-5xl)}.age-gate__actions{flex-direction:row;gap:var(--spacing-6)}.age-gate__btn{flex:1 1}}@media (prefers-reduced-motion:reduce){.age-gate__btn{transition:none}.age-gate__btn--yes:focus,.age-gate__btn--yes:hover{transform:none}}.hero{align-items:center;display:flex;height:100vh;max-height:900px;min-height:600px;overflow:hidden;position:relative}.hero__background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero__image{height:100%;object-fit:cover;object-position:center;width:100%}.hero__overlay{background:radial-gradient(circle at top left,#000000bf 0,#000000a6 35%,#0000008c 55%,#0006 75%,#0000004d 100%);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.hero__content{align-items:center;display:flex;height:100%;position:relative;width:100%;z-index:2}.hero__text{animation:heroFadeInUp 1s ease-out;max-width:600px}.hero__subtitle{color:#f8f6f0;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:2px;margin:0 0 var(--spacing-3) 0;opacity:.9;text-transform:uppercase}.hero__title{display:flex;flex-direction:column;font-family:var(--font-brand);font-weight:var(--font-weight-bold);gap:var(--spacing-2);line-height:.9;margin:0 0 var(--spacing-6) 0}.hero__title-main{color:#fdfbf6;display:block;font-size:var(--font-size-5xl)}.hero__title-accent{color:var(--color-accent);display:block;font-size:var(--font-size-4xl);text-shadow:0 4px 18px #000000bf}.hero__description{color:#f3eee3;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:1.6;margin:0 0 var(--spacing-8) 0;max-width:500px}.hero__actions{display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-10)}.hero__btn{max-width:280px;width:100%}.hero__features{flex-direction:column;opacity:.9}.hero__feature,.hero__features{display:flex;gap:var(--spacing-3)}.hero__feature{align-items:center;color:#f3eee3;font-family:var(--font-primary);font-size:var(--font-size-sm)}.hero__feature-number{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);min-width:40px}.hero__feature-text{font-weight:var(--font-weight-medium)}.hero__scroll{bottom:var(--spacing-8);left:50%;position:absolute;transform:translateX(-50%);z-index:2}.scroll-indicator{align-items:center;animation:scrollBounce 2s ease-in-out infinite;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-2)}.scroll-text{font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:1px;opacity:.8;text-transform:uppercase}.scroll-arrow{color:var(--color-accent);height:24px;width:24px}@keyframes heroFadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollBounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@media (min-width:640px){.hero{min-height:700px}.hero__subtitle{font-size:var(--font-size-base)}.hero__title-main{font-size:var(--font-size-6xl)}.hero__title-accent{font-size:var(--font-size-5xl)}.hero__description{font-size:var(--font-size-xl)}.hero__actions{flex-direction:row;gap:var(--spacing-6)}.hero__btn{min-width:220px;width:auto}.hero__features{flex-direction:row;gap:var(--spacing-8)}.hero__feature{align-items:flex-start;flex-direction:column;gap:var(--spacing-1)}.hero__feature-number{font-size:var(--font-size-2xl)}}@media (min-width:1024px){.hero__text{max-width:700px}.hero__overlay{background:linear-gradient(135deg,#0b1d30b3,#0d1b2a4d 50%,#0b1d30cc)}}@media (min-width:1280px){.hero__text{max-width:800px}}@media (prefers-reduced-motion:reduce){.hero__text,.scroll-indicator{animation:none}}@media (prefers-contrast:high){.hero__overlay{background:linear-gradient(135deg,#000000e6,#000000b3 50%,#000000e6)}.hero__title-accent{text-shadow:2px 2px 0 var(--color-background)}}.home{min-height:100vh}.home__content{background:var(--color-background);padding:var(--spacing-16) 0}.home__intro{margin:0 auto;max-width:800px;text-align:center}.home__intro h2{color:var(--color-text-primary);font-size:var(--font-size-3xl);margin-bottom:var(--spacing-6)}.home__intro p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.7;margin:0}@media (min-width:640px){.home__content{padding:var(--spacing-20) 0}.home__intro h2{font-size:var(--font-size-4xl)}}.happy-hour-badge{align-items:center;animation:happyHourGlow 2s ease-in-out infinite;background:var(--color-accent);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);color:var(--color-primary);display:flex;flex-direction:column;font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:1px;letter-spacing:.5px;padding:var(--spacing-2) var(--spacing-3);position:absolute;right:var(--spacing-3);text-transform:uppercase;top:var(--spacing-3);z-index:3}.happy-hour-badge__text{font-size:var(--font-size-xs);line-height:1}.happy-hour-badge__offer{font-size:10px;font-weight:var(--font-weight-medium);line-height:1;opacity:.9}@keyframes happyHourGlow{0%,to{box-shadow:var(--shadow-md)}50%{box-shadow:0 0 20px #d4af3766,var(--shadow-md)}}@media (min-width:640px){.happy-hour-badge{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-4)}.happy-hour-badge__offer{font-size:var(--font-size-xs)}}@media (prefers-reduced-motion:reduce){.happy-hour-badge{animation:none}}.tap-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:var(--spacing-3);height:100%;overflow:hidden;padding:var(--spacing-5);position:relative;transition:all var(--transition-normal)}.tap-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.tap-card--unavailable{background:var(--color-background);opacity:.7}.tap-card--unavailable:hover{border-color:var(--color-border);box-shadow:var(--shadow-md);transform:none}.tap-card__number{left:var(--spacing-4);position:absolute;top:var(--spacing-4);z-index:2}.tap-number{box-shadow:var(--shadow-md);height:32px;width:32px}.tap-card__header{margin-top:var(--spacing-6)}.beer-name{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.2;margin:0 0 var(--spacing-1) 0}.brewery-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-2) 0}.beer-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.beer-style{border-radius:var(--border-radius-full);color:#fff;letter-spacing:.5px;padding:var(--spacing-1) var(--spacing-3);text-transform:uppercase}.beer-abv,.beer-style{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.beer-abv{background:var(--color-background);border-radius:var(--border-radius-md);color:var(--color-text-muted);padding:var(--spacing-1) var(--spacing-2)}.tap-card__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;min-height:40px;overflow:hidden}.tasting-notes{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;line-height:1.4;margin:0}.tap-card__pricing{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-3)}.price-item-compact{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-1) 0}.price-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.price-info-compact{align-items:center;display:flex;gap:var(--spacing-2)}.price{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.price--unavailable{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.tap-card__status{display:flex;justify-content:center;margin:var(--spacing-2) 0}.status-badge{border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.5px;padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.status-badge--unavailable{background:var(--color-border);color:var(--color-text-muted)}@media (min-width:640px){.tap-card{padding:var(--spacing-6)}.tap-number{font-size:var(--font-size-lg);height:36px;width:36px}.beer-name{font-size:var(--font-size-xl)}.brewery-name,.tasting-notes{font-size:var(--font-size-base)}}@media (prefers-reduced-motion:reduce){.tap-card{transition:none}.tap-card:hover{transform:none}}@media (prefers-contrast:high){.tap-card{border-width:2px}.beer-style{border:1px solid #fff}}.loader-beer{align-items:center;display:flex;justify-content:center;padding:var(--spacing-8)}.loader-beer__container{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4)}.beer-pint{align-items:center;display:flex;justify-content:center;position:relative}.pint-glass{background:#0000;border:3px solid var(--color-text-primary);border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:none;-webkit-clip-path:polygon(15% 0,85% 0,95% 100%,5% 100%);clip-path:polygon(15% 0,85% 0,95% 100%,5% 100%);height:100px;overflow:hidden;position:relative;width:60px}.beer-liquid{height:100%;overflow:hidden}.beer-fill,.beer-liquid{bottom:0;left:0;position:absolute;right:0}.beer-fill{animation:fillBeer 3s ease-in-out infinite;background:linear-gradient(to top,var(--color-accent-dark) 0,var(--color-accent) 60%,var(--color-accent-light) 100%);border-radius:0 0 4px 4px;height:0}.beer-foam{animation:showFoam 3s ease-in-out infinite;border-radius:10px 10px 50% 50%;height:15px;left:50%;opacity:0;top:-5px;transform:translateX(-50%);width:90%}.beer-foam,.foam-bubble{background:var(--color-beer-foam);position:absolute}.foam-bubble{animation:bubbleFloat 2s ease-in-out infinite;border-radius:50%}.foam-bubble--1{animation-delay:.5s;height:4px;left:20%;width:4px}.foam-bubble--2{animation-delay:1s;height:3px;left:50%;width:3px}.foam-bubble--3{animation-delay:1.5s;height:5px;left:75%;width:5px}.loader-beer__message{color:var(--color-text-secondary);font-family:var(--font-brand);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-top:var(--spacing-2);text-align:center}@keyframes fillBeer{0%{height:0}70%{height:75%}to{height:75%}}@keyframes showFoam{0%{opacity:0;transform:translateX(-50%) translateY(10px)}70%{opacity:0}80%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes bubbleFloat{0%{opacity:.8;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-8px) scale(1.1)}to{opacity:0;transform:translateY(-15px) scale(.8)}}.loader-beer.small .pint-glass{height:70px;width:40px}.loader-beer.small .loader-beer__message{font-size:var(--font-size-base)}.loader-beer.large .pint-glass{height:130px;width:80px}.loader-beer.large .loader-beer__message{font-size:var(--font-size-xl)}@media (max-width:640px){.loader-beer.medium .pint-glass{height:85px;width:50px}}@media (prefers-reduced-motion:reduce){.beer-fill,.beer-foam,.foam-bubble{animation-duration:6s}}.menu{background:var(--color-background);min-height:100vh;padding:var(--spacing-8) 0}.menu__header{background:linear-gradient(180deg,#0d1b2af2,#142236e6 60%,#0d1b2a00);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-12);padding-bottom:var(--spacing-8);text-align:center}.menu__title{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-4) 0}.menu__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0 0 var(--spacing-8) 0;max-width:600px}.menu__status,.menu__subtitle{margin-left:auto;margin-right:auto}.menu__status{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-6);max-width:800px;padding:var(--spacing-6)}.status-item{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-2) 0}.status-item--happy-hour{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.status-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-item--happy-hour .status-label{color:var(--color-accent)}.status-value{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.status-item--happy-hour .status-value{color:var(--color-accent)}.menu__actions{display:flex;justify-content:center;margin-top:var(--spacing-6)}.menu__section{margin-bottom:var(--spacing-16)}.section__title{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-8) 0;text-align:center}.taps-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}.menu__section .tap-card{box-shadow:0 10px 25px #0000000a}.menu__section .tap-card--unavailable{background:#0a1525}.error-message{background:var(--color-surface);border:1px solid var(--color-error);border-radius:var(--border-radius-lg);margin:var(--spacing-8) 0;padding:var(--spacing-6);text-align:center}.error-message p{color:var(--color-error);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-4) 0}.happy-hour-info{background:linear-gradient(135deg,#d4af371a,#d4af370d);border:1px solid var(--color-accent);border-radius:var(--border-radius-xl);margin:0 auto;max-width:800px;padding:var(--spacing-8);text-align:center}.happy-hour-info h3{color:var(--color-accent);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-6) 0}.happy-hour-details{margin-bottom:var(--spacing-6)}.happy-hour-details p{color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--spacing-3) 0}.happy-hour-details strong{color:var(--color-text-primary)}.terms{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--spacing-4)}.next-happy-hour{background:var(--color-background);border-radius:var(--border-radius-md);padding:var(--spacing-4)}.next-happy-hour p{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0}.food-policy{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);margin:0 auto;max-width:800px;padding:var(--spacing-8);text-align:center}.food-policy h3{color:var(--color-text-primary);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-4) 0}.food-policy p{color:var(--color-text-secondary);line-height:1.7;margin:0}@media (min-width:640px){.menu{padding:var(--spacing-12) 0}.menu__title{font-size:var(--font-size-5xl)}.menu__subtitle{font-size:var(--font-size-xl)}.menu__status{flex-direction:row;justify-content:space-between;padding:var(--spacing-8)}.status-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-1);text-align:left}.taps-grid{gap:var(--spacing-5);grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.taps-grid{gap:var(--spacing-6);grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.menu{padding:var(--spacing-16) 0}.taps-grid{gap:var(--spacing-6);grid-template-columns:repeat(3,1fr)}.menu__status{padding:var(--spacing-10)}}@media (min-width:1280px){.taps-grid{gap:var(--spacing-6);grid-template-columns:repeat(4,1fr)}}.menu .loading{padding:var(--spacing-20) 0}.empty-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);padding:var(--spacing-12);text-align:center}@media (prefers-reduced-motion:reduce){.happy-hour-info{background:#d4af371a}}.gallery{padding:var(--spacing-8) 0}.gallery-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:1fr}.gallery-item{border-radius:var(--border-radius-lg);cursor:pointer;overflow:hidden;transition:transform var(--transition-normal)}.gallery-item:hover{transform:translateY(-4px)}.image-container{aspect-ratio:16/10;background:var(--color-surface);border-radius:var(--border-radius-lg);overflow:hidden;position:relative}.gallery-image{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.gallery-item:hover .gallery-image{transform:scale(1.05)}.image-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-normal)}.gallery-item:hover .image-overlay{opacity:1}.overlay-content{align-items:center;color:#fff;display:flex;flex-direction:column;gap:var(--spacing-2)}.overlay-text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.overlay-icon{height:24px;width:24px}.image-caption{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4;margin:0;padding:var(--spacing-3) 0;text-align:center}.image-loading{align-items:center;background:var(--color-surface);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.loading-placeholder{animation:spin 1s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.lightbox{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-4);position:fixed;right:0;top:0;z-index:var(--z-modal)}.lightbox-content{max-height:90vh;max-width:90vw;position:relative;z-index:var(--z-modal)}.lightbox-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000e6;bottom:0;left:0;position:absolute;right:0;top:0}.lightbox-close{align-items:center;background:#000c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;right:var(--spacing-4);top:var(--spacing-4);transition:background-color var(--transition-fast);width:48px;z-index:1}.lightbox-close:focus,.lightbox-close:hover{background:#000;outline:none}.lightbox-nav{align-items:center;background:#000c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);width:56px;z-index:1}.lightbox-nav:focus,.lightbox-nav:hover{background:#000;outline:none;transform:translateY(-50%) scale(1.1)}.lightbox-nav--prev{left:var(--spacing-4)}.lightbox-nav--next{right:var(--spacing-4)}.lightbox-image-container{align-items:center;display:flex;justify-content:center;max-height:100%;max-width:100%}.lightbox-image{border-radius:var(--border-radius-lg);max-height:70vh;max-width:100%;object-fit:contain}.lightbox-caption{background:linear-gradient(#0000,#000c);bottom:0;color:#fff;left:0;padding:var(--spacing-8) var(--spacing-6) var(--spacing-4);position:absolute;right:0;text-align:center}.lightbox-caption p{font-size:var(--font-size-base);line-height:1.5;margin:0}.lightbox-counter{background:#000c;border-radius:var(--border-radius-md);bottom:var(--spacing-4);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);position:absolute;right:var(--spacing-4)}@media (min-width:640px){.gallery-grid{gap:var(--spacing-8);grid-template-columns:repeat(2,1fr)}.lightbox{padding:var(--spacing-8)}.lightbox-close{right:var(--spacing-6);top:var(--spacing-6)}.lightbox-nav--prev{left:var(--spacing-6)}.lightbox-counter,.lightbox-nav--next{right:var(--spacing-6)}.lightbox-counter{bottom:var(--spacing-6)}}@media (min-width:1024px){.gallery{padding:var(--spacing-12) 0}.gallery-grid{gap:var(--spacing-10);grid-template-columns:repeat(3,1fr)}.lightbox-image{max-height:80vh}}@media (min-width:1280px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.gallery-image,.gallery-item,.image-overlay,.lightbox-close,.lightbox-nav{transition:none}.gallery-item:hover,.gallery-item:hover .gallery-image{transform:none}.lightbox-nav:focus,.lightbox-nav:hover{transform:translateY(-50%)}.loading-placeholder{animation:none}}.lightbox-close:focus,.lightbox-nav:focus{outline:2px solid var(--color-accent);outline-offset:2px}.about{background:var(--color-background);min-height:100vh;padding:var(--spacing-8) 0}.about__header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-16);padding-bottom:var(--spacing-12);text-align:center}.about__title{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-6) 0}.about__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.6;margin:0 auto;max-width:800px}.about__section{margin-bottom:var(--spacing-16)}.content-grid{grid-gap:var(--spacing-8);align-items:center;display:grid;gap:var(--spacing-8);grid-template-columns:1fr}.content-text h2{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-3xl);margin:0 0 var(--spacing-6) 0;text-align:center}.content-text p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.7;margin:0 0 var(--spacing-4) 0}.content-text p:last-child{margin-bottom:0}.philosophy-points{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:1fr;margin-top:var(--spacing-8)}.philosophy-point{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);padding:var(--spacing-8);text-align:center;transition:transform var(--transition-normal)}.philosophy-point:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.philosophy-point h3{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-xl);margin:0 0 var(--spacing-4) 0}.philosophy-point p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.6;margin:0}.features-list{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr;margin-top:var(--spacing-8)}.feature-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-4);padding:var(--spacing-6);transition:background-color var(--transition-fast)}.feature-item:hover{background:#d4af370d;border-color:var(--color-accent)}.feature-number{align-items:center;background:var(--color-accent);border-radius:50%;color:var(--color-primary);display:flex;flex-shrink:0;font-family:var(--font-brand);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);height:48px;justify-content:center;width:48px}.feature-icon{flex-shrink:0;font-size:var(--font-size-2xl)}.feature-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.feature-text,.section-title{color:var(--color-text-primary)}.section-title{font-family:var(--font-brand);font-size:var(--font-size-3xl);margin:0 0 var(--spacing-4) 0;text-align:center}.section-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0 0 var(--spacing-8) 0;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.visit-info{background:linear-gradient(135deg,var(--color-surface) 0,#d4af370d 100%);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);margin:0 auto;max-width:800px;padding:var(--spacing-12);text-align:center}.visit-info h2{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-3xl);margin:0 0 var(--spacing-6) 0}.visit-info>p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.7;margin:0 0 var(--spacing-10) 0}.visit-details{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:1fr;margin-bottom:var(--spacing-10)}.detail-item{background:var(--color-background);border-radius:var(--border-radius-lg);padding:var(--spacing-6);text-align:left}.detail-item h4{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-2) 0}.detail-item p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.5;margin:0}.status-opening{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.cta-section{border-top:1px solid var(--color-border);padding-top:var(--spacing-8)}.cta-section p{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-6) 0}@media (min-width:640px){.about{padding:var(--spacing-12) 0}.about__title{font-size:var(--font-size-5xl)}.about__subtitle{font-size:var(--font-size-xl)}.philosophy-points{gap:var(--spacing-8)}.features-list,.philosophy-points{grid-template-columns:repeat(2,1fr)}.features-list{gap:var(--spacing-6)}.visit-details{gap:var(--spacing-8);grid-template-columns:repeat(3,1fr)}.detail-item{text-align:center}}@media (min-width:1024px){.about{padding:var(--spacing-16) 0}.content-grid{gap:var(--spacing-12)}.content-text h2{text-align:left}.philosophy-points{gap:var(--spacing-10);grid-template-columns:repeat(2,1fr)}.philosophy-point{padding:var(--spacing-10)}.visit-info{padding:var(--spacing-16)}}@media (min-width:1280px){.philosophy-points{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.feature-item,.philosophy-point{transition:none}.philosophy-point:hover{transform:none}}.tv-mode{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;font-family:var(--font-primary);min-height:100vh;overflow:hidden}.tv-header{background:#0b1d30;border-bottom:2px solid var(--color-accent);justify-content:space-between;padding:var(--spacing-6) var(--spacing-8)}.tv-brand,.tv-header{align-items:center;display:flex}.tv-brand{gap:var(--spacing-4)}.tv-logo{border:3px solid var(--color-accent);border-radius:50%;height:60px;width:60px}.tv-brand-text{display:flex;flex-direction:column}.tv-brand-name{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1;margin:0}.tv-tagline{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);letter-spacing:2px;margin:0;text-transform:uppercase}.tv-tagline,.tv-time{color:var(--color-accent)}.tv-time{background:var(--color-background);border:2px solid var(--color-accent);border-radius:var(--border-radius-lg);font-family:var(--font-brand);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);padding:var(--spacing-4) var(--spacing-6)}.tv-main{background:linear-gradient(120deg,#0d1b2ae6,#142236f2 40%,#0d1b2a);flex:1 1;gap:var(--spacing-6);overflow:hidden}.tv-featured,.tv-main{display:flex;flex-direction:column;padding:var(--spacing-6)}.tv-featured{background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--border-radius-xl);justify-content:center;min-height:300px}.featured-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4)}.featured-header h2{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-3xl);margin:0}.tv-happy-hour{animation:tvHappyHourPulse 2s ease-in-out infinite;background:var(--color-accent);border-radius:var(--border-radius-full);color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:1px;padding:var(--spacing-3) var(--spacing-6);text-transform:uppercase}.featured-content{grid-gap:var(--spacing-8);align-items:center;display:grid;gap:var(--spacing-8);grid-template-columns:1fr}.featured-info{text-align:center}.featured-beer{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:1.1;margin:0 0 var(--spacing-3) 0}.featured-brewery{color:var(--color-text-secondary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-6) 0}.featured-meta{display:flex;gap:var(--spacing-6);justify-content:center;margin-bottom:var(--spacing-6)}.featured-style{background:var(--color-accent);color:var(--color-primary);font-weight:var(--font-weight-bold);text-transform:uppercase}.featured-abv,.featured-style{border-radius:var(--border-radius-full);font-size:var(--font-size-lg);padding:var(--spacing-3) var(--spacing-6)}.featured-abv{background:var(--color-background);border:2px solid var(--color-border);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.featured-notes{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-lg);font-style:italic;line-height:1.5;margin:0 0 var(--spacing-6) 0;margin-left:auto;margin-right:auto;max-width:800px;overflow:hidden}.featured-pricing{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:600px}.price-item{align-items:center;background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;font-size:var(--font-size-lg);gap:var(--spacing-2);padding:var(--spacing-6)}.price-item span:first-child{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.price-item span:last-child{color:var(--color-accent);font-family:var(--font-brand);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.tv-grid{background:var(--color-background);display:flex;flex-direction:column}.grid-title{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-6) 0;text-align:center}.taps-display{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-height:250px;overflow-x:hidden;overflow-y:auto}.tap-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-4);padding:var(--spacing-4);transition:all var(--transition-fast)}.tap-item--featured{background:#d4af371a;border-color:var(--color-accent);transform:scale(1.05)}.tap-number{align-items:center;background:var(--color-accent);border-radius:50%;color:var(--color-primary);display:flex;flex-shrink:0;font-family:var(--font-brand);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.tap-details{flex:1 1;min-width:0}.tap-beer{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.tap-beer,.tap-brewery{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;margin:0 0 var(--spacing-1) 0;overflow:hidden;text-overflow:ellipsis}.tap-brewery{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tap-style{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.5px;text-transform:uppercase}.tv-footer{background:var(--color-accent);color:var(--color-primary);height:60px;overflow:hidden}.ticker{align-items:center;display:flex;height:100%}.ticker-content{animation:tickerScroll 60s linear infinite;display:flex;white-space:nowrap}.ticker-item{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding-right:var(--spacing-16)}.ticker-item--happy{color:var(--color-primary);font-weight:var(--font-weight-bold)}@keyframes tvHappyHourPulse{0%,to{box-shadow:0 0 0 0 #d4af37b3;transform:scale(1)}50%{box-shadow:0 0 20px 10px #d4af3700;transform:scale(1.05)}}@keyframes tickerScroll{0%{transform:translateX(100vw)}to{transform:translateX(-100%)}}@media (min-width:1024px){.tv-main{flex-direction:row;gap:var(--spacing-8)}.tv-featured{flex:1 1;min-height:auto}.tv-grid{flex:0 0 400px}.taps-display{max-height:100%;overflow-y:auto}}@media (min-width:1280px){.tv-header{padding:var(--spacing-10) var(--spacing-12)}.tv-logo{height:80px;width:80px}.tv-brand-name{font-size:var(--font-size-4xl)}.featured-beer,.tv-time{font-size:var(--font-size-5xl)}.featured-brewery{font-size:var(--font-size-2xl)}.tv-main{padding:var(--spacing-10)}.taps-display{gap:var(--spacing-4);grid-template-columns:1fr}}@media (min-width:1920px){.tv-featured{padding:var(--spacing-12)}.featured-beer{font-size:var(--font-size-6xl)}.featured-brewery{font-size:var(--font-size-3xl)}.featured-notes{font-size:var(--font-size-xl)}.tv-grid{flex:0 0 450px}}@media (prefers-reduced-motion:reduce){.ticker-content,.tv-happy-hour{animation:none}.tap-item--featured{transform:none}}.privacy{background:var(--color-background);min-height:100vh;padding:var(--spacing-12) 0}.privacy__header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-12);padding-bottom:var(--spacing-8);text-align:center}.privacy__title{color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-4) 0}.privacy__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-style:italic;margin:0}.privacy__content{max-width:none}.privacy__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-12);padding:var(--spacing-8)}.privacy__section h2{border-bottom:2px solid var(--color-accent);color:var(--color-text-primary);font-family:var(--font-brand);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-6) 0;padding-bottom:var(--spacing-3)}.privacy__section h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:var(--spacing-6) 0 var(--spacing-4) 0}.privacy__section p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.7;margin:0 0 var(--spacing-4) 0}.privacy__section p:last-child{margin-bottom:0}.privacy__section ul{color:var(--color-text-secondary);margin:var(--spacing-4) 0;padding-left:var(--spacing-6)}.privacy__section li{line-height:1.6;margin-bottom:var(--spacing-2)}.privacy__section li:last-child{margin-bottom:0}.privacy__section strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.contact-info{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);margin-top:var(--spacing-6);padding:var(--spacing-6)}.contact-item{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.contact-item:last-child{margin-bottom:0}.contact-item strong{color:var(--color-text-primary);min-width:80px}.contact-item a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}.contact-item a:focus,.contact-item a:hover{color:var(--color-accent-light);text-decoration:underline}.privacy__footer{border-top:1px solid var(--color-border);margin-top:var(--spacing-12);padding-top:var(--spacing-8);text-align:center}.privacy__footer p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}@media (min-width:640px){.privacy{padding:var(--spacing-16) 0}.privacy__title{font-size:var(--font-size-5xl)}.privacy__section{padding:var(--spacing-10)}.privacy__section h2{font-size:var(--font-size-3xl)}.privacy__section p{font-size:var(--font-size-lg)}.contact-item{flex-wrap:nowrap}.contact-item strong{min-width:100px}}@media (min-width:1024px){.privacy__section{padding:var(--spacing-12)}}@media print{.privacy{background:#fff;color:#000;padding:0}.privacy__section{background:#fff;border:1px solid #ccc;margin-bottom:2rem;padding:1rem;page-break-inside:avoid}.privacy__section h2{border-bottom-color:#ccc;color:#000}.privacy__section h3,.privacy__section li,.privacy__section p,.privacy__section strong{color:#000}.contact-item a{color:#000;text-decoration:underline}}@media (prefers-contrast:high){.privacy__section{border-color:var(--color-text-primary);border-width:2px}.privacy__section h2{border-bottom-width:3px}}.contact-item a:focus{border-radius:var(--border-radius-sm);outline:2px solid var(--color-accent);outline-offset:2px}:root{--color-primary:#0a1220;--color-secondary:#142236;--color-accent:#d4af37;--color-accent-light:#e6c45a;--color-accent-dark:#b8941f;--color-text-primary:#f5f0e8;--color-text-secondary:#c8bfaf;--color-text-muted:#8a8070;--color-background:#0d1b2a;--color-surface:#142236;--color-border:#1e3552;--color-border-light:#1a2e47;--color-beer-amber:#d4af37;--color-beer-foam:#f8f6f0;--color-success:#4ade80;--color-warning:#facc15;--color-error:#ef4444;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-brand:"Playfair Display",Georgia,serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--border-radius-sm:0.25rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--border-radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:150ms ease-in-out;--transition-normal:300ms ease-in-out;--transition-slow:500ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}@media (min-width:640px){:root{--font-size-3xl:2.25rem;--font-size-4xl:2.875rem;--font-size-5xl:3.5rem;--font-size-6xl:4.5rem}}@media (min-width:1024px){:root{--font-size-4xl:3.5rem;--font-size-5xl:4rem;--font-size-6xl:5.5rem}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;overflow-x:hidden}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-family:var(--font-brand);font-weight:var(--font-weight-semibold);line-height:1.2;margin-bottom:var(--spacing-4)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:focus,a:hover{color:var(--color-accent-light);outline:none}.btn{align-items:center;border:2px solid #0000;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:center;line-height:1;min-height:48px;min-width:48px;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;touch-action:manipulation;transition:all var(--transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-primary)}.btn-primary:focus,.btn-primary:hover:not(:disabled){background-color:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background-color:initial;border-color:var(--color-text-primary);color:var(--color-text-primary)}.btn-secondary:focus,.btn-secondary:hover:not(:disabled){background-color:var(--color-text-primary);color:var(--color-primary);transform:translateY(-2px)}.btn-lg{font-size:var(--font-size-lg);padding:var(--spacing-4) var(--spacing-8)}.btn-sm{font-size:var(--font-size-sm);min-height:40px;padding:var(--spacing-2) var(--spacing-4)}input,select,textarea{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-3);transition:border-color var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #d4af371a;outline:none}.container{max-width:1200px}.container,.container-wide{margin:0 auto;padding:0 var(--spacing-4)}.container-wide{max-width:1400px}.container-narrow{margin:0 auto;max-width:800px;padding:0 var(--spacing-4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gold{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}img{display:block;height:auto;max-width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media (min-width:640px){.container,.container-narrow,.container-wide{padding:0 var(--spacing-6)}}@media (min-width:1024px){.container,.container-narrow,.container-wide{padding:0 var(--spacing-8)}}
/*# sourceMappingURL=main.eec7d998.css.map*/

/* ══════════════════════════════════════════════════════════════════
   GOLDEN POUR — MASTER OVERRIDES
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. OPENING SOON — HIDE EVERYWHERE ───────────────────────────── */
.opening-soon-badge { display: none !important; }
.opening-soon       { display: none !important; }

/* ══════════════════════════════════════════════════════════════════
   2. TAP LIST — GLASSMORPHISM REDESIGN
   ══════════════════════════════════════════════════════════════════ */

/* PAGE — layered gradient background so glass has depth to blur against */
.menu {
  background:
    radial-gradient(ellipse 80% 60% at 15% 30%,  rgba(212,175,55,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 70%,  rgba(30,80,140,0.12) 0%, transparent 55%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(212,175,55,0.04) 0%, transparent 60%),
    #070e1a !important;
  min-height: 100vh;
  padding: 0 0 5rem !important;
}

/* ── HERO HEADER ─────────────────────────────────────────────────── */
.menu__header {
  position: relative;
  background: transparent !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding: 6rem 1.5rem 5rem !important;
  text-align: center;
  overflow: hidden;
}

/* Large decorative "12" in the background */
.menu__header::before {
  content: '12';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Playfair Display', serif;
  font-size: clamp(16rem, 30vw, 26rem);
  font-weight: 700;
  color: rgba(212,175,55,0.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -8px;
  white-space: nowrap;
}

/* Gold top shimmer line */
.menu__header::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f5d86a 50%, #d4af37 70%, transparent 100%);
}

/* Eyebrow label */
.menu__title::before {
  content: '— WHAT\'S FLOWING —';
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 6px;
  color: #d4af37;
  margin-bottom: 1.25rem;
  opacity: 0.9;
}

.menu__title {
  font-size: clamp(3.5rem, 9vw, 7rem) !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 0.9 !important;
  letter-spacing: -2px;
  margin: 0 0 1.5rem !important;
  position: relative;
  z-index: 1;
}

.menu__subtitle {
  font-size: 0.85rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.7) !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 1;
}

/* ── STATS BAR — glassmorphic pill ───────────────────────────────── */
.menu__status {
  background: rgba(245,240,232,0.04) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(212,175,55,0.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06) !important;
  max-width: 600px !important;
  margin: 3rem auto 0 !important;
  padding: 1rem 3rem !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 3rem !important;
}

/* divider between stats */
.menu__status .status-item:not(:last-child) {
  padding-right: 3rem !important;
  border-right: 1px solid rgba(212,175,55,0.2) !important;
}

.status-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 0 !important;
}

.status-label {
  font-size: 0.6rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.6) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.status-value {
  font-size: 1.5rem !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 1 !important;
}

.status-item--happy-hour .status-value,
.status-item--happy-hour .status-label { color: #d4af37 !important; }

/* ── REFRESH BUTTON ───────────────────────────────────────────────── */
.menu__actions { margin-top: 1.5rem !important; }
.menu__actions .btn {
  background: transparent !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  color: rgba(212,175,55,0.5) !important;
  font-size: 0.65rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 0.5rem 2rem !important;
  min-height: auto !important;
  border-radius: 999px !important;
  transition: all 0.25s ease !important;
}
.menu__actions .btn:hover {
  border-color: #d4af37 !important;
  color: #d4af37 !important;
  background: rgba(212,175,55,0.06) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ── SECTION wrapper ─────────────────────────────────────────────── */
.menu__section { padding: 4rem 0 !important; margin-bottom: 0 !important; }

/* ── "ON TAP NOW" section title ──────────────────────────────────── */
.section__title {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.8) !important;
  font-family: 'Inter', sans-serif !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2rem !important;
  margin-bottom: 3rem !important;
}
.section__title::before,
.section__title::after {
  content: '';
  flex: 1;
  max-width: 180px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,0.5));
}
.section__title::after {
  background: linear-gradient(90deg, rgba(212,175,55,0.5), transparent);
}

/* ── GRID ────────────────────────────────────────────────────────── */
.taps-grid {
  gap: 1.5rem !important;
}

/* ══════════════════════════════════════════════════════════════════
   3. TAP CARDS — TRUE GLASSMORPHISM
   ══════════════════════════════════════════════════════════════════ */

.tap-card {
  position: relative;
  background: rgba(13,31,52,0.55) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(212,175,55,0.15) !important;
  border-radius: 1.25rem !important;
  box-shadow:
    0 4px 24px rgba(0,0,0,0.45),
    0 1px 0 rgba(255,255,255,0.04) inset,
    0 -1px 0 rgba(0,0,0,0.2) inset !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* Gold shimmer top edge */
.tap-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,0.8), rgba(245,216,106,1), rgba(212,175,55,0.8), transparent);
  z-index: 2;
}

/* Subtle inner glow */
.tap-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 1.25rem;
  background: linear-gradient(145deg, rgba(255,255,255,0.04) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.tap-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(212,175,55,0.45) !important;
  box-shadow:
    0 24px 48px rgba(0,0,0,0.55),
    0 0 0 1px rgba(212,175,55,0.2),
    0 0 40px rgba(212,175,55,0.08) !important;
}

.tap-card--unavailable {
  background: rgba(8,15,26,0.4) !important;
  opacity: 0.4 !important;
}
.tap-card--unavailable:hover {
  transform: none !important;
  border-color: rgba(212,175,55,0.08) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.45) !important;
}

/* ── CARD INNER LAYOUT — padded wrapper ──────────────────────────── */
.tap-card__number {
  position: absolute !important;
  top: 1.1rem !important;
  left: 1.1rem !important;
  z-index: 3;
}

.tap-number {
  background: linear-gradient(135deg, #d4af37, #f0cc5a) !important;
  color: #070e1a !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.72rem !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(212,175,55,0.4) !important;
  letter-spacing: 0 !important;
}

/* ── CARD HEADER ─────────────────────────────────────────────────── */
.tap-card__header {
  padding: 3rem 1.5rem 0.75rem !important;
  margin-top: 0 !important;
  position: relative;
  z-index: 1;
}

/* Large decorative tap number watermark */
.tap-card__header::before {
  content: attr(data-tap);
  position: absolute;
  top: -0.5rem;
  right: 1rem;
  font-family: 'Playfair Display', serif;
  font-size: 5rem;
  font-weight: 700;
  color: rgba(212,175,55,0.06);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

.beer-name {
  font-size: 1.45rem !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 1.15 !important;
  margin: 0 0 0.35rem !important;
  position: relative;
  z-index: 1;
}

.brewery-name {
  font-size: 0.65rem !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.75) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

/* ── STYLE + ABV ROW ─────────────────────────────────────────────── */
.beer-meta {
  padding: 0.75rem 1.5rem 0 !important;
  position: relative;
  z-index: 1;
}

.beer-style {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 0.25rem 0.85rem !important;
  background: rgba(212,175,55,0.12) !important;
  color: #d4af37 !important;
  border: 1px solid rgba(212,175,55,0.3) !important;
  border-radius: 999px !important;
}

.beer-abv {
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  padding: 0.25rem 0.7rem !important;
  background: rgba(255,255,255,0.05) !important;
  color: rgba(245,240,232,0.45) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* ── TASTING NOTES ───────────────────────────────────────────────── */
.tap-card__description {
  padding: 0.75rem 1.5rem 0 !important;
  position: relative;
  z-index: 1;
  min-height: 52px !important;
}

.tasting-notes {
  font-size: 0.8rem !important;
  line-height: 1.55 !important;
  color: rgba(200,191,175,0.65) !important;
  font-style: italic !important;
  margin: 0 !important;
}

/* ── PRICING SECTION ─────────────────────────────────────────────── */
.tap-card__pricing {
  margin: 1rem 1.5rem 0 !important;
  padding: 0.85rem 0 1.5rem !important;
  border-top: 1px solid rgba(212,175,55,0.1) !important;
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}

.price-item-compact {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
}

.price-label {
  font-size: 0.6rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(245,240,232,0.3) !important;
  font-weight: 600 !important;
}

.price {
  font-size: 0.95rem !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #d4af37 !important;
  letter-spacing: -0.5px !important;
}

.price--unavailable {
  color: rgba(245,240,232,0.2) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
}

/* ── UNAVAILABLE STATUS BADGE ────────────────────────────────────── */
.tap-card__status { z-index: 1; position: relative; padding: 0 1.5rem 1.5rem !important; margin: 0 !important; }
.status-badge--unavailable {
  background: rgba(255,255,255,0.04) !important;
  color: rgba(245,240,232,0.2) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  font-size: 0.6rem !important;
  letter-spacing: 2px !important;
}

/* ── HAPPY HOUR BADGE on card ─────────────────────────────────────── */
.happy-hour-badge {
  background: linear-gradient(135deg, #d4af37, #f0cc5a) !important;
  color: #070e1a !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 4px 16px rgba(212,175,55,0.4) !important;
}

/* ── HAPPY HOUR INFO SECTION ─────────────────────────────────────── */
.happy-hour-info {
  background: rgba(212,175,55,0.05) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  border-radius: 1.25rem !important;
  max-width: 860px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}
.happy-hour-info h3 { color: #d4af37 !important; font-size: 1.6rem !important; }
.happy-hour-details p { color: rgba(200,191,175,0.7) !important; }
.happy-hour-details strong { color: #f5f0e8 !important; }
.next-happy-hour { background: rgba(255,255,255,0.03) !important; border-radius: 0.5rem !important; }
.next-happy-hour p { color: rgba(200,191,175,0.6) !important; }
.terms { color: rgba(200,191,175,0.4) !important; }

/* ── FOOD POLICY BOX ─────────────────────────────────────────────── */
.food-policy {
  background: rgba(13,31,52,0.5) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(245,240,232,0.06) !important;
  border-radius: 1.25rem !important;
  max-width: 860px !important;
}
.food-policy h3 { color: #f5f0e8 !important; }
.food-policy p { color: rgba(200,191,175,0.55) !important; }

/* ── ERROR MESSAGE ───────────────────────────────────────────────── */
.error-message {
  background: rgba(239,68,68,0.06) !important;
  border-color: rgba(239,68,68,0.3) !important;
  border-radius: 1rem !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}

/* ── EMPTY STATE ─────────────────────────────────────────────────── */
.empty-state {
  background: rgba(13,31,52,0.4) !important;
  border-color: rgba(212,175,55,0.1) !important;
  border-radius: 1.25rem !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
}

/* ── MENU header gradient fix ────────────────────────────────────── */
.menu__header { background: transparent !important; }


/* ══════════════════════════════════════════════════════════════════
   ABOUT PAGE — FULL REDESIGN
   Vibe: chilled Aussie local pub. Warm, real, come-as-you-are.
   ══════════════════════════════════════════════════════════════════ */

/* ── PAGE BASE ───────────────────────────────────────────────────── */
.about {
  background: #070e1a !important;
  padding: 0 !important;
}

/* ── HERO HEADER — full-bleed photo with dramatic text ──────────── */
.about__header {
  position: relative !important;
  background:
    linear-gradient(to bottom, rgba(7,14,26,0.25) 0%, rgba(7,14,26,0.7) 70%, #070e1a 100%),
    url('/images/about-full-bar.jpg') center/cover no-repeat !important;
  min-height: 75vh !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 0 0 5rem !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  overflow: hidden;
}

/* Gold shimmer top edge */
.about__header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, #f5d86a, #d4af37, transparent);
}

.about__header .container {
  width: 100%;
  position: relative;
  z-index: 1;
}

.about__title {
  font-size: clamp(3rem, 8vw, 6.5rem) !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 0.9 !important;
  margin: 0 0 1.25rem !important;
  letter-spacing: -2px;
}

/* Aussie tagline below title */
.about__title::after {
  content: 'Your local. Your rules.';
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: clamp(0.85rem, 2vw, 1.1rem);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 1px;
  color: rgba(212,175,55,0.85);
  margin-top: 0.75rem;
}

.about__subtitle {
  font-size: 1rem !important;
  color: rgba(245,240,232,0.7) !important;
  max-width: 560px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ── STORY SECTION ───────────────────────────────────────────────── */
.about__section {
  margin-bottom: 0 !important;
  padding: 5rem 0 !important;
}

.about__section:nth-child(2) {
  background: #070e1a;
}

/* "Our Story" heading */
.content-text h2 {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-family: 'Playfair Display', serif !important;
  color: #f5f0e8 !important;
  margin-bottom: 1.5rem !important;
  text-align: left !important;
  line-height: 1.1 !important;
}

.content-text h2::before {
  content: '— ';
  color: #d4af37;
}

.content-text p {
  font-size: 1.05rem !important;
  color: rgba(200,191,175,0.8) !important;
  line-height: 1.8 !important;
}

/* ── PHOTO GRID — bento-style masonry ───────────────────────────── */
.gallery {
  padding: 0 !important;
  background: #070e1a;
}

/* Override gallery grid to a creative bento layout */
.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 6px !important;
  padding: 0 !important;
}

/* Item 1 — wide hero shot (bar side) — spans 7 cols, 2 rows */
.gallery-item:nth-child(1) {
  grid-column: 1 / 8 !important;
  grid-row: 1 / 3 !important;
  border-radius: 0 !important;
}
/* Item 2 — lounge — spans 5 cols */
.gallery-item:nth-child(2) {
  grid-column: 8 / 13 !important;
  grid-row: 1 / 2 !important;
  border-radius: 0 !important;
}
/* Item 3 — dining — spans 5 cols */
.gallery-item:nth-child(3) {
  grid-column: 8 / 13 !important;
  grid-row: 2 / 3 !important;
  border-radius: 0 !important;
}
/* Items 4–7 — bottom row, 3 cols each */
.gallery-item:nth-child(4) { grid-column: 1 / 4  !important; grid-row: 3 !important; border-radius: 0 !important; }
.gallery-item:nth-child(5) { grid-column: 4 / 7  !important; grid-row: 3 !important; border-radius: 0 !important; }
.gallery-item:nth-child(6) { grid-column: 7 / 10 !important; grid-row: 3 !important; border-radius: 0 !important; }
.gallery-item:nth-child(7) { grid-column: 10 / 13 !important; grid-row: 3 !important; border-radius: 0 !important; }

/* Aspect ratios per slot */
.gallery-item:nth-child(1) .image-container { aspect-ratio: unset !important; height: 560px !important; }
.gallery-item:nth-child(2) .image-container,
.gallery-item:nth-child(3) .image-container { aspect-ratio: unset !important; height: 277px !important; }
.gallery-item:nth-child(4) .image-container,
.gallery-item:nth-child(5) .image-container,
.gallery-item:nth-child(6) .image-container,
.gallery-item:nth-child(7) .image-container { aspect-ratio: 4/3 !important; height: auto !important; }

.image-container { border-radius: 0 !important; }

/* Caption overlay — always visible at bottom on real images */
.gallery-item:nth-child(1) .image-overlay,
.gallery-item:nth-child(2) .image-overlay { opacity: 0; }

/* Hover overlay tweak */
.gallery-item:hover { transform: none !important; }
.gallery-item:hover .gallery-image { transform: scale(1.04) !important; }

/* Caption text styling */
.gallery-item .image-caption { display: none !important; }

/* Overlay label — show on hover */
.overlay-text {
  font-size: 0.7rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

/* Section label above gallery */
.gallery::before {
  content: 'THE SPACE';
  display: block;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 8px;
  color: rgba(212,175,55,0.7);
  padding: 4rem 0 2rem;
  background: #070e1a;
}

/* ── PHILOSOPHY SECTION ──────────────────────────────────────────── */
.philosophy-points {
  gap: 1.25rem !important;
}

.philosophy-point {
  background: rgba(13,31,52,0.6) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(212,175,55,0.12) !important;
  border-top: 2px solid #d4af37 !important;
  border-radius: 1rem !important;
  padding: 2rem !important;
  text-align: left !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.philosophy-point:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(212,175,55,0.2) !important;
}

.philosophy-point h3 {
  font-size: 1.1rem !important;
  color: #f5f0e8 !important;
  margin-bottom: 0.75rem !important;
  font-family: 'Playfair Display', serif !important;
}

.philosophy-point p {
  color: rgba(200,191,175,0.65) !important;
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
}

/* "Our Philosophy" section title */
.content-text h2 + .philosophy-points .philosophy-point h3,
.about__section .content-text h2 {
  color: #f5f0e8 !important;
}

/* ── FEATURES LIST ───────────────────────────────────────────────── */
.features-list { gap: 0.85rem !important; margin-top: 1.5rem !important; }

.feature-item {
  background: rgba(13,31,52,0.5) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(212,175,55,0.1) !important;
  border-radius: 0.75rem !important;
  padding: 1rem 1.25rem !important;
  transition: all 0.2s ease !important;
}

.feature-item:hover {
  background: rgba(212,175,55,0.07) !important;
  border-color: rgba(212,175,55,0.3) !important;
}

.feature-number {
  background: linear-gradient(135deg, #d4af37, #f0cc5a) !important;
  color: #070e1a !important;
  width: 42px !important;
  height: 42px !important;
  font-size: 1rem !important;
  box-shadow: 0 4px 12px rgba(212,175,55,0.35) !important;
}

.feature-text { color: #f5f0e8 !important; font-size: 0.95rem !important; }

/* ── VISIT INFO SECTION ──────────────────────────────────────────── */
.visit-info {
  background: rgba(13,31,52,0.55) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(212,175,55,0.15) !important;
  border-radius: 1.5rem !important;
  padding: 3.5rem 2.5rem !important;
  position: relative;
  overflow: hidden;
}

/* Gold shimmer top */
.visit-info::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, #f5d86a, #d4af37, transparent);
}

.visit-info h2 {
  font-size: clamp(1.75rem, 4vw, 3rem) !important;
  color: #f5f0e8 !important;
  margin-bottom: 1rem !important;
}

.visit-info > p { color: rgba(200,191,175,0.7) !important; font-size: 1rem !important; }

.detail-item {
  background: rgba(7,14,26,0.6) !important;
  border: 1px solid rgba(212,175,55,0.1) !important;
  border-radius: 0.75rem !important;
  padding: 1.5rem !important;
  text-align: left !important;
}

.detail-item h4 {
  color: #d4af37 !important;
  font-size: 0.7rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  margin-bottom: 0.5rem !important;
}

.detail-item p {
  color: #f5f0e8 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.status-opening { color: #4ade80 !important; font-size: 0.85rem !important; }

.cta-section p { color: #f5f0e8 !important; }

/* ── "Our Philosophy" heading override ──────────────────────────── */
.about__section .content-text h2 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

/* Mobile responsiveness for bento grid */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
  }
  .gallery-item:nth-child(1) { grid-column: 1 / 3 !important; grid-row: 1 !important; }
  .gallery-item:nth-child(2) { grid-column: 1 / 2 !important; grid-row: 2 !important; }
  .gallery-item:nth-child(3) { grid-column: 2 / 3 !important; grid-row: 2 !important; }
  .gallery-item:nth-child(4) { grid-column: 1 / 2 !important; grid-row: 3 !important; }
  .gallery-item:nth-child(5) { grid-column: 2 / 3 !important; grid-row: 3 !important; }
  .gallery-item:nth-child(6) { grid-column: 1 / 2 !important; grid-row: 4 !important; }
  .gallery-item:nth-child(7) { grid-column: 2 / 3 !important; grid-row: 4 !important; }
  .gallery-item:nth-child(1) .image-container { height: 280px !important; }
  .gallery-item:nth-child(2) .image-container,
  .gallery-item:nth-child(3) .image-container { height: 180px !important; }
  .about__header { min-height: 60vh !important; }
}


/* ══════════════════════════════════════════════════════════════════
   TV MODE — FULL CINEMATIC REDESIGN
   Built for display on pub television. Readable from 5 metres.
   ══════════════════════════════════════════════════════════════════ */

/* ── FULLSCREEN KIOSK TAKEOVER — hides site header + footer ─────── */
.tv-mode {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  background:
    radial-gradient(ellipse 80% 50% at 20% 50%, rgba(212,175,55,0.06) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(30,80,140,0.1)  0%, transparent 55%),
    #070e1a !important;
  font-family: 'Inter', sans-serif !important;
  overflow: hidden !important;
  color: #f5f0e8 !important;
}

/* ── TV HEADER ───────────────────────────────────────────────────── */
.tv-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1rem 2.5rem !important;
  background: rgba(7,14,26,0.9) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(212,175,55,0.25) !important;
  position: relative;
  flex-shrink: 0;
}

/* Gold shimmer top edge */
.tv-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #d4af37, #f5d86a, #d4af37, transparent);
}

.tv-brand {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
}

.tv-logo {
  width: 56px !important;
  height: 56px !important;
  border: 2px solid rgba(212,175,55,0.5) !important;
  border-radius: 50% !important;
  flex-shrink: 0;
}

.tv-brand-name {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 1 !important;
  margin: 0 !important;
  letter-spacing: -0.5px;
}

.tv-tagline {
  font-size: 0.65rem !important;
  letter-spacing: 4px !important;
  color: rgba(212,175,55,0.8) !important;
  margin: 0.2rem 0 0 !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

/* Live clock */
.tv-time {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  color: #d4af37 !important;
  background: rgba(212,175,55,0.07) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  border-radius: 0.75rem !important;
  padding: 0.4rem 1.5rem !important;
  letter-spacing: 2px;
  font-variant-numeric: tabular-nums;
}

/* ── TV MAIN LAYOUT ──────────────────────────────────────────────── */
.tv-main {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: 1 !important;
  min-height: 0;
}

/* ── LEFT: FEATURED TAP ──────────────────────────────────────────── */
.tv-featured {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 2.5rem 3rem !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid rgba(212,175,55,0.15) !important;
  position: relative;
  overflow: hidden;
  min-height: 0;
}

/* Faint large tap number watermark in background */
.tv-featured::before {
  content: attr(data-tap-num);
  position: absolute;
  bottom: -2rem;
  right: 2rem;
  font-family: 'Playfair Display', serif;
  font-size: 20rem;
  font-weight: 700;
  color: rgba(212,175,55,0.035);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -10px;
}

/* Featured header row */
.featured-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid rgba(212,175,55,0.15) !important;
  padding-bottom: 1rem !important;
  margin-bottom: 1.5rem !important;
}

.featured-header h2 {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 6px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.7) !important;
  font-family: 'Inter', sans-serif !important;
  margin: 0 !important;
}

/* Happy hour pulse badge */
.tv-happy-hour {
  font-size: 0.75rem !important;
  padding: 0.35rem 1.25rem !important;
  letter-spacing: 2px !important;
  animation: tvHappyHourPulse 2s ease-in-out infinite !important;
}

/* Featured content */
.featured-content { gap: 0 !important; grid-template-columns: 1fr !important; }
.featured-info { text-align: left !important; }

/* HUGE beer name — the hero of the screen */
.featured-beer {
  font-size: clamp(3.5rem, 6vw, 6rem) !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  line-height: 1 !important;
  margin: 0 0 0.5rem !important;
  letter-spacing: -1px;
}

.featured-brewery {
  font-size: 1rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.8) !important;
  font-weight: 600 !important;
  margin: 0 0 1.25rem !important;
}

/* Style + ABV badges */
.featured-meta { gap: 0.75rem !important; margin-bottom: 1.25rem !important; justify-content: flex-start !important; }

.featured-style {
  font-size: 0.7rem !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
  padding: 0.4rem 1.25rem !important;
  background: rgba(212,175,55,0.15) !important;
  color: #d4af37 !important;
  border: 1px solid rgba(212,175,55,0.35) !important;
  border-radius: 999px !important;
}

.featured-abv {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  padding: 0.4rem 1.25rem !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 999px !important;
  color: rgba(245,240,232,0.6) !important;
}

/* Tasting notes */
.featured-notes {
  font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
  color: rgba(200,191,175,0.65) !important;
  font-style: italic !important;
  line-height: 1.55 !important;
  margin-bottom: 2rem !important;
  max-width: 600px !important;
}

/* PRICE GRID — big and clear */
.featured-pricing {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0.75rem !important;
  max-width: 520px !important;
  margin: 0 !important;
}

.price-item {
  background: rgba(13,31,52,0.7) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(212,175,55,0.15) !important;
  border-top: 2px solid rgba(212,175,55,0.5) !important;
  border-radius: 0.75rem !important;
  padding: 1rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}

.price-item span:first-child {
  font-size: 0.6rem !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(245,240,232,0.4) !important;
  font-weight: 600 !important;
}

.price-item span:last-child {
  font-size: 2rem !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #d4af37 !important;
  letter-spacing: -0.5px !important;
  line-height: 1 !important;
}

/* ── RIGHT: TAP LIST ─────────────────────────────────────────────── */
.tv-grid {
  display: flex !important;
  flex-direction: column !important;
  background: rgba(7,14,26,0.8) !important;
  overflow: hidden !important;
  padding: 0 !important;
  flex: none !important;
}

.grid-title {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 5px !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.65) !important;
  font-family: 'Inter', sans-serif !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 1.1rem 1.5rem !important;
  border-bottom: 1px solid rgba(212,175,55,0.12) !important;
  background: rgba(212,175,55,0.03);
}

.taps-display {
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: none !important;
  flex: 1 !important;
  gap: 0 !important;
  scrollbar-width: none !important;
}
.taps-display::-webkit-scrollbar { display: none !important; }

/* Individual tap row */
.tap-item {
  display: grid !important;
  grid-template-columns: 44px 1fr auto !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.85rem 1.25rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: background 0.2s ease !important;
}

.tap-item:nth-child(even) {
  background: rgba(255,255,255,0.02) !important;
}

/* Featured/active tap row */
.tap-item--featured {
  background: rgba(212,175,55,0.1) !important;
  border-left: 3px solid #d4af37 !important;
  transform: none !important;
}

/* Tap number circle */
.tap-item .tap-number {
  width: 36px !important;
  height: 36px !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  font-family: 'Inter', sans-serif !important;
  background: linear-gradient(135deg, #d4af37, #f0cc5a) !important;
  color: #070e1a !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(212,175,55,0.3) !important;
}

.tap-item--featured .tap-number {
  box-shadow: 0 0 16px rgba(212,175,55,0.6) !important;
}

.tap-details { min-width: 0; }

.tap-beer {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  margin: 0 0 2px !important;
}

.tap-item--featured .tap-beer { color: #f5f0e8 !important; }

.tap-brewery {
  font-size: 0.7rem !important;
  color: rgba(200,191,175,0.5) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
}

.tap-style {
  font-size: 0.55rem !important;
  color: rgba(212,175,55,0.7) !important;
  letter-spacing: 1.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* ── TV FOOTER — scrolling ticker ────────────────────────────────── */
.tv-footer {
  background: linear-gradient(90deg, #0a1220 0%, #0d1f38 50%, #0a1220 100%) !important;
  border-top: 1px solid rgba(212,175,55,0.3) !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  position: relative;
}

/* Gold left accent */
.tv-footer::before {
  content: '🍺 GOLDEN POUR';
  position: absolute;
  left: 0;
  top: 0; bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  background: #d4af37;
  color: #070e1a;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 2px;
  white-space: nowrap;
  z-index: 2;
}

.ticker { padding-left: 200px !important; }

.ticker-content {
  animation: tickerScroll 45s linear infinite !important;
}

.ticker-item {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: rgba(245,240,232,0.8) !important;
  padding-right: 5rem !important;
  letter-spacing: 0.5px !important;
}

.ticker-item--happy {
  color: #d4af37 !important;
  font-weight: 700 !important;
}

/* ── TV LOADING STATE ────────────────────────────────────────────── */
.tv-mode .loader-beer__message {
  font-size: 1.5rem !important;
  color: rgba(212,175,55,0.7) !important;
}

/* ── PROGRESS BAR — shows how long till next featured tap ─────────
   Purely decorative — animates across the bottom of featured section */
.tv-featured::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  height: 2px;
  background: linear-gradient(90deg, #d4af37, #f5d86a);
  animation: tvProgress 8s linear infinite;
  width: 0;
}

@keyframes tvProgress {
  0%   { width: 0; opacity: 1; }
  95%  { width: 100%; opacity: 1; }
  100% { width: 100%; opacity: 0; }
}

/* Glowing pulse on featured beer name */
@keyframes featuredGlow {
  0%, 100% { text-shadow: none; }
  50%       { text-shadow: 0 0 60px rgba(212,175,55,0.12); }
}
.featured-beer { animation: featuredGlow 4s ease-in-out infinite; }


/* ── Contact Section: Phone + Instagram ─────────────────────────────────────── */

/* Phone link */
.footer__contact .contact-item a[href^="tel:"] {
  color: #d4af37 !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s ease !important;
}
.footer__contact .contact-item a[href^="tel:"]:hover {
  color: #f5e179 !important;
  text-decoration: underline !important;
}

/* Instagram link */
.contact-item--instagram {
  margin-top: 6px !important;
}
.instagram-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #c77dff !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  transition: color 0.2s ease, opacity 0.2s ease !important;
}
.instagram-link:hover {
  color: #e0a9ff !important;
  text-decoration: underline !important;
  opacity: 0.9 !important;
}

/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║           GOLDEN POUR — AUSSIE PUB ATMOSPHERE OVERHAUL                  ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* ── 1. GRAIN / FILM TEXTURE OVERLAY ─────────────────────────────────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9990;
  pointer-events: none;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23grain)' opacity='1'/%3E%3C/svg%3E");
}

/* ── 2. VIGNETTE on body ──────────────────────────────────────────────────── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9989;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(4,9,18,0.55) 100%);
}

/* ── 3. GOLD SHIMMER — Section headings ──────────────────────────────────── */
@keyframes goldShimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200%  center; }
}
.section-title,
.section__title,
.menu__title,
.about__title,
.grid-title {
  background: linear-gradient(
    105deg,
    #b8860b 0%, #d4af37 25%, #f5e179 45%, #fff8dc 50%,
    #f5e179 55%, #d4af37 75%, #b8860b 100%
  ) !important;
  background-size: 250% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: goldShimmer 5s linear infinite !important;
  will-change: background-position !important;
}

/* ── 4. HERO — foam drip at the bottom ───────────────────────────────────── */
.hero {
  position: relative !important;
  overflow: hidden !important;
}
.hero::after {
  content: '';
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  right: 0 !important;
  height: 90px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0,45 C60,15 120,75 180,45 C240,15 300,75 360,45 C420,15 480,75 540,45 C600,15 660,75 720,45 C780,15 840,75 900,45 C960,15 1020,75 1080,45 C1140,15 1200,75 1260,45 C1320,15 1380,75 1440,45 L1440,90 L0,90 Z' fill='%23f5f0e8' fill-opacity='0.07'/%3E%3Cpath d='M0,60 C80,30 160,80 240,60 C320,40 400,80 480,60 C560,40 640,80 720,60 C800,40 880,80 960,60 C1040,40 1120,80 1200,60 C1280,40 1360,80 1440,60 L1440,90 L0,90 Z' fill='%23f5f0e8' fill-opacity='0.04'/%3E%3C/svg%3E") no-repeat bottom / cover !important;
}

/* ── 5. HERO title — neon amber glow ─────────────────────────────────────── */
@keyframes neonPulse {
  0%, 100% { text-shadow: 0 0 8px rgba(212,175,55,0.6), 0 0 20px rgba(212,175,55,0.3), 0 0 40px rgba(212,175,55,0.15); }
  50%       { text-shadow: 0 0 12px rgba(212,175,55,0.9), 0 0 30px rgba(212,175,55,0.5), 0 0 60px rgba(212,175,55,0.25); }
}
.hero__title-main {
  animation: neonPulse 3.5s ease-in-out infinite !important;
  -webkit-text-fill-color: unset !important;
  color: #f5e179 !important;
}

/* ── 6. BRAND NAME in header — gold neon glow ────────────────────────────── */
.brand-name,
.footer__brand-name {
  background: linear-gradient(105deg, #d4af37, #f5e179, #d4af37) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: goldShimmer 4s linear infinite !important;
  filter: drop-shadow(0 0 8px rgba(212,175,55,0.5)) !important;
}

/* ── 7. NAV — active/hover item tap indicator ────────────────────────────── */
.nav-item a,
.nav-item button {
  position: relative !important;
}
.nav-item a::after,
.nav-item button::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 50% !important;
  transform: translateX(-50%) scaleX(0) !important;
  width: 80% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #d4af37, transparent) !important;
  transition: transform 0.25s ease !important;
  border-radius: 1px !important;
}
.nav-item a:hover::after,
.nav-item a.active::after,
.nav-item button:hover::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* ── 8. TAP CARD — brass number plate ────────────────────────────────────── */
.tap-card__number,
.tap-number {
  background: radial-gradient(circle at 35% 35%, #f5e179, #d4af37 40%, #8b6914 100%) !important;
  color: #1a0e00 !important;
  font-weight: 900 !important;
  border: 2px solid rgba(212,175,55,0.6) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,0.4),
    inset 0 -2px 4px rgba(0,0,0,0.4),
    0 0 12px rgba(212,175,55,0.4) !important;
  text-shadow: 0 1px 2px rgba(255,255,255,0.3) !important;
}

/* ── 9. BEER STYLE PILLS — colour coded ──────────────────────────────────── */
.beer-style,
.tap-style {
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  border-radius: 99px !important;
  padding: 3px 10px !important;
}
/* IPA */
.beer-style[class*="ipa" i],
.tap-style[class*="ipa" i] { background: rgba(34,139,34,0.25) !important; color: #7fff7f !important; border: 1px solid rgba(34,139,34,0.5) !important; }
/* Stout / Porter */
.beer-style[class*="stout" i],
.tap-style[class*="stout" i] { background: rgba(101,67,33,0.4) !important; color: #d4a96a !important; border: 1px solid rgba(139,90,43,0.5) !important; }
/* Lager / Pilsner */
.beer-style[class*="lager" i],
.tap-style[class*="lager" i] { background: rgba(255,215,0,0.15) !important; color: #ffd700 !important; border: 1px solid rgba(255,215,0,0.35) !important; }
/* Wheat / Hefe */
.beer-style[class*="wheat" i],
.tap-style[class*="wheat" i] { background: rgba(245,222,179,0.15) !important; color: #f5deb3 !important; border: 1px solid rgba(245,222,179,0.35) !important; }
/* Sour / Gose */
.beer-style[class*="sour" i],
.tap-style[class*="sour" i] { background: rgba(255,105,180,0.15) !important; color: #ffb6c1 !important; border: 1px solid rgba(255,105,180,0.35) !important; }
/* Hazy / NEIPA */
.beer-style[class*="hazy" i],
.tap-style[class*="hazy" i] { background: rgba(255,165,0,0.15) !important; color: #ffb347 !important; border: 1px solid rgba(255,165,0,0.35) !important; }

/* ── 10. TAP CARD hover — pub brass lift ──────────────────────────────────── */
.tap-card,
[class*="tap-card"] {
  transition: transform 0.25s cubic-bezier(.34,1.56,.64,1), box-shadow 0.25s ease !important;
}
.tap-card:hover,
[class*="tap-card"]:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 48px rgba(212,175,55,0.2), 0 0 0 1px rgba(212,175,55,0.25) !important;
}

/* ── 11. CTA BUTTONS — beer fill animation ────────────────────────────────── */
@keyframes beerFill {
  0%   { background-position: 0% 100%; }
  100% { background-position: 0% 0%;   }
}
.hero__actions a,
.hero__actions button,
.cta-section a,
.cta-section button {
  position: relative !important;
  overflow: hidden !important;
  transition: color 0.3s ease, transform 0.2s ease !important;
  z-index: 1 !important;
}
.hero__actions a::before,
.hero__actions button::before,
.cta-section a::before,
.cta-section button::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(212,175,55,0.35) 0%, rgba(212,175,55,0.08) 100%) !important;
  transform: translateY(100%) !important;
  transition: transform 0.45s cubic-bezier(.22,1,.36,1) !important;
  z-index: -1 !important;
}
.hero__actions a:hover::before,
.hero__actions button:hover::before,
.cta-section a:hover::before,
.cta-section button:hover::before {
  transform: translateY(0%) !important;
}
.hero__actions a:hover,
.hero__actions button:hover,
.cta-section a:hover,
.cta-section button:hover {
  transform: translateY(-2px) !important;
}

/* ── 12. "ON TAP NOW" — chalkboard banner above taps grid ────────────────── */
.taps-display::before,
.taps-grid::before {
  content: '🍺  ON TAP NOW  🍺' !important;
  display: block !important;
  text-align: center !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(0.8rem, 1.5vw, 1rem) !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.75) !important;
  padding: 10px 0 28px !important;
  border-bottom: 1px dashed rgba(212,175,55,0.2) !important;
  margin-bottom: 28px !important;
}

/* ── 13. SECTION DIVIDERS — hop vine ──────────────────────────────────────── */
.cta-section {
  position: relative !important;
}
.cta-section::before {
  content: '— 🌿 —' !important;
  display: block !important;
  text-align: center !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.4em !important;
  color: rgba(212,175,55,0.4) !important;
  margin-bottom: 2rem !important;
}

/* ── 14. FEATURE ITEMS — chalk number style ──────────────────────────────── */
.feature-number {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(3rem, 6vw, 5rem) !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #d4af37, #f5e179) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  filter: drop-shadow(0 2px 8px rgba(212,175,55,0.4)) !important;
  line-height: 1 !important;
}
.feature-item {
  position: relative !important;
  border-top: 1px solid rgba(212,175,55,0.15) !important;
  padding-top: 1.5rem !important;
}
.feature-item::before {
  content: '' !important;
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  width: 40px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #d4af37, transparent) !important;
}

/* ── 15. HAPPY HOUR BADGE — neon glow ────────────────────────────────────── */
@keyframes badgePulse {
  0%, 100% { box-shadow: 0 0 8px rgba(212,175,55,0.6), 0 0 16px rgba(212,175,55,0.3); }
  50%       { box-shadow: 0 0 14px rgba(212,175,55,1),   0 0 28px rgba(212,175,55,0.6); }
}
.happy-hour-badge {
  animation: badgePulse 2.5s ease-in-out infinite !important;
  background: linear-gradient(135deg, rgba(30,53,82,0.95), rgba(20,34,54,0.98)) !important;
  border: 2px solid #d4af37 !important;
  border-radius: 12px !important;
}
.happy-hour-badge__text {
  color: #d4af37 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* ── 16. ABOUT SECTION — chalkboard quote strip ──────────────────────────── */
.about__subtitle,
.about__header p,
.section-subtitle {
  position: relative !important;
  display: inline-block !important;
  font-style: italic !important;
  color: rgba(200,191,175,0.85) !important;
}
.about__subtitle::before,
.section-subtitle::before {
  content: '"' !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 3em !important;
  color: rgba(212,175,55,0.15) !important;
  position: absolute !important;
  top: -0.2em !important;
  left: -0.3em !important;
  line-height: 1 !important;
}

/* ── 17. GALLERY ITEMS — pub photo frame ──────────────────────────────────── */
.gallery-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border: 1px solid rgba(212,175,55,0.1) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
  position: relative !important;
  overflow: hidden !important;
}
.gallery-item::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.03) 0%, transparent 50%,
    rgba(0,0,0,0.2) 100%
  ) !important;
  pointer-events: none !important;
}
.gallery-item:hover {
  transform: scale(1.025) !important;
  box-shadow: 0 12px 40px rgba(212,175,55,0.2), 0 0 0 1px rgba(212,175,55,0.3) !important;
  z-index: 2 !important;
}

/* ── 18. MAP SECTION — pub signpost feel ──────────────────────────────────── */
.footer__map::before {
  content: '📍  FIND THE PUB' !important;
  display: block !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.6) !important;
  margin-bottom: 10px !important;
}
.map-container,
.map-embed {
  border: 1px solid rgba(212,175,55,0.2) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
}

/* ── 19. FOOTER — pub closing line ────────────────────────────────────────── */
.footer__tagline::after {
  content: '  •  Pour. Relax. Repeat. 🍺' !important;
  display: block !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.15em !important;
  color: rgba(212,175,55,0.45) !important;
  margin-top: 6px !important;
  font-style: italic !important;
}
.footer__bottom {
  border-top: 1px solid rgba(212,175,55,0.12) !important;
  position: relative !important;
}
.footer__bottom::before {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #d4af37, transparent) !important;
  margin: 0 auto 1rem !important;
}

/* ── 20. FLOATING HOPS — ambient animation ────────────────────────────────── */
@keyframes floatHop1 {
  0%   { transform: translateY(0px)   rotate(0deg);   opacity: 0.12; }
  50%  { transform: translateY(-18px) rotate(12deg);  opacity: 0.22; }
  100% { transform: translateY(0px)   rotate(0deg);   opacity: 0.12; }
}
@keyframes floatHop2 {
  0%   { transform: translateY(0px)   rotate(-5deg);  opacity: 0.08; }
  50%  { transform: translateY(-12px) rotate(-18deg); opacity: 0.18; }
  100% { transform: translateY(0px)   rotate(-5deg);  opacity: 0.08; }
}
.home__content::before,
.home__content::after {
  pointer-events: none !important;
  font-size: 3rem !important;
  position: absolute !important;
  user-select: none !important;
}
.home__content {
  position: relative !important;
}
.home__content::before {
  content: '🍺' !important;
  top: 10% !important;
  right: 3% !important;
  animation: floatHop1 6s ease-in-out infinite !important;
  opacity: 0.12 !important;
}
.home__content::after {
  content: '🌿' !important;
  bottom: 15% !important;
  left: 2% !important;
  animation: floatHop2 8s ease-in-out infinite 1s !important;
  opacity: 0.08 !important;
}

/* ── 21. SCROLL INDICATOR — bubbly ────────────────────────────────────────── */
@keyframes bubbleFloat {
  0%   { transform: translateX(-50%) translateY(0);   opacity: 0.7; }
  50%  { transform: translateX(-50%) translateY(-8px); opacity: 1; }
  100% { transform: translateX(-50%) translateY(0);   opacity: 0.7; }
}
.scroll-indicator,
.hero__scroll {
  animation: bubbleFloat 2s ease-in-out infinite !important;
}

/* ── 22. PRICE DISPLAY — gold coin styling ────────────────────────────────── */
.price-item span:last-child,
.prices span:last-child,
[class*="price"] span:last-child {
  color: #d4af37 !important;
  font-weight: 700 !important;
  font-size: 1.05em !important;
}

/* ── 23. LOADING STATE — beer fill animation ──────────────────────────────── */
@keyframes beerRise {
  from { transform: scaleY(0); transform-origin: bottom; }
  to   { transform: scaleY(1); transform-origin: bottom; }
}
.beer-fill {
  animation: beerRise 1.2s cubic-bezier(.23,1,.32,1) both !important;
  background: linear-gradient(180deg, rgba(212,175,55,0.2) 0%, rgba(184,134,11,0.8) 100%) !important;
}

/* ── 24. PHILOSOPHY POINTS — pub chalk tick ───────────────────────────────── */
.philosophy-point {
  border-left: 3px solid rgba(212,175,55,0.3) !important;
  padding-left: 1rem !important;
  transition: border-color 0.3s ease !important;
}
.philosophy-point:hover {
  border-left-color: #d4af37 !important;
}

/* ── 25. OPENING SOON / STATUS badge ──────────────────────────────────────── */
.status-label {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}
/* Open = neon green */
.status-item {
  background: rgba(0,180,80,0.12) !important;
  border: 1px solid rgba(0,180,80,0.35) !important;
  border-radius: 99px !important;
  padding: 4px 14px !important;
  color: #00e676 !important;
}

/* ── 26. MENU PAGE header — chalk signboard ───────────────────────────────── */
.menu__header {
  position: relative !important;
}
.menu__header::after {
  content: '— Rotating Taps. All Local. All Cold. —' !important;
  display: block !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 0.85rem !important;
  color: rgba(212,175,55,0.5) !important;
  letter-spacing: 0.1em !important;
  margin-top: 8px !important;
  text-align: center !important;
}

/* ── 27. BRAND TAGLINE — pub motto ────────────────────────────────────────── */
.brand-tagline,
.footer__tagline {
  font-style: italic !important;
  color: rgba(212,175,55,0.65) !important;
  letter-spacing: 0.06em !important;
}

/* ── 28. HERO description — tighten up ────────────────────────────────────── */
.hero__description {
  font-size: clamp(1rem, 1.8vw, 1.2rem) !important;
  line-height: 1.7 !important;
  color: rgba(245,240,232,0.85) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

/* ── 29. ABV BADGE — amber glow ────────────────────────────────────────────── */
.beer-abv,
.featured-abv {
  background: rgba(184,134,11,0.2) !important;
  border: 1px solid rgba(212,175,55,0.4) !important;
  color: #d4af37 !important;
  border-radius: 99px !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  padding: 2px 10px !important;
  letter-spacing: 0.05em !important;
}

/* ── 30. "EST. 2024" medallion in footer ──────────────────────────────────── */
.footer__brand::after {
  content: 'EST. KEILOR EAST, VIC' !important;
  display: block !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.35) !important;
  margin-top: 4px !important;
  font-family: 'Inter', sans-serif !important;
}

/* ── END PUB ATMOSPHERE ─────────────────────────────────────────────────────── */

/* ── FIX: About subtitle text wrapping (inline-block broke centering) ─────── */
.about__subtitle,
.about__header p,
.section-subtitle {
  display: block !important;
  text-align: center !important;
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-style: italic !important;
  color: rgba(200,191,175,0.85) !important;
  line-height: 1.7 !important;
}
/* Move the decorative quote so it doesn't nudge the text */
.about__subtitle::before,
.section-subtitle::before {
  left: -0.5em !important;
  top: -0.15em !important;
  font-size: 4em !important;
  pointer-events: none !important;
}

/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║              RESPONSIVE — ALL DEVICES (Mobile-first fixes)              ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* ── Base: touch targets, font scaling ───────────────────────────────────── */
* { box-sizing: border-box !important; }
img, video { max-width: 100% !important; height: auto !important; }
a, button { min-height: 44px !important; min-width: 44px !important; }

/* ── Hero image: MUST fill full-height container — beats the img { height:auto !important } above */
/* Higher specificity (0,1,0) vs (0,0,1) so this wins even though both have !important         */
.hero__image { height: 100% !important; max-width: none !important; }
.hero__background { height: 100% !important; }
.hero__overlay    { height: 100% !important; }

/* ── Tap cards: responsive grid ──────────────────────────────────────────── */
.taps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* ── Hero: full viewport, safe-area aware ────────────────────────────────── */
.hero {
  min-height: 100svh !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
}
.hero__content {
  padding-left: max(20px, env(safe-area-inset-left)) !important;
  padding-right: max(20px, env(safe-area-inset-right)) !important;
}

/* ── Container: fluid with max-width ────────────────────────────────────── */
.container,
.container-narrow {
  width: 100% !important;
  padding-left: clamp(16px, 4vw, 48px) !important;
  padding-right: clamp(16px, 4vw, 48px) !important;
}

/* ══ MOBILE (≤ 480px) ═════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  /* Hero text */
  .hero__title-main   { font-size: clamp(2.2rem, 10vw, 3.5rem) !important; }
  .hero__title-accent { font-size: clamp(1.1rem, 4vw, 1.6rem) !important; }
  .hero__description  { font-size: 0.95rem !important; }

  /* Taps: single column */
  .taps-grid { grid-template-columns: 1fr !important; gap: 14px !important; }

  /* About gallery: single column */
  .content-grid,
  [class*="bento"],
  [class*="gallery-grid"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  .gallery-item { grid-column: auto !important; grid-row: auto !important; }

  /* Feature items: 2-col */
  .features-list { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .feature-number { font-size: 2.4rem !important; }

  /* Footer: stack */
  .footer__content { grid-template-columns: 1fr !important; gap: 24px !important; }
  .footer__map { display: none !important; } /* map too small on 320px */

  /* Nav */
  .brand-name { font-size: 1.1rem !important; }

  /* Contact items */
  .contact-item { font-size: 0.9rem !important; }

  /* Section headings */
  .section-title,
  .section__title,
  .menu__title { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  /* TV mode: hide on tiny screens gracefully */
  .tv-mode .tv-sidebar { display: none !important; }
  .tv-mode .tv-main { grid-template-columns: 1fr !important; }
}

/* ══ SMALL MOBILE (≤ 375px) ══════════════════════════════════════════════ */
@media (max-width: 375px) {
  .hero__title-main { font-size: 2rem !important; line-height: 1.15 !important; }
  .hero__actions { flex-direction: column !important; align-items: stretch !important; }
  .hero__actions a,
  .hero__actions button { width: 100% !important; text-align: center !important; justify-content: center !important; }
  .tap-card__pricing { flex-wrap: wrap !important; gap: 6px !important; }
}

/* ══ TABLET (481px – 768px) ══════════════════════════════════════════════ */
@media (min-width: 481px) and (max-width: 768px) {
  .taps-grid { grid-template-columns: repeat(2, 1fr) !important; }

  .hero__title-main   { font-size: clamp(3rem, 8vw, 4.5rem) !important; }
  .hero__description  { font-size: 1rem !important; max-width: 90% !important; }

  /* About: 2-col gallery */
  .content-grid,
  [class*="gallery-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .gallery-item:first-child {
    grid-column: span 2 !important;
    aspect-ratio: 16/7 !important;
  }

  /* Features: 2-col */
  .features-list { grid-template-columns: repeat(2, 1fr) !important; }

  /* Footer: 2-col */
  .footer__content { grid-template-columns: repeat(2, 1fr) !important; }

  /* TV: simplified */
  .tv-mode .tv-main { grid-template-columns: 1fr !important; }
  .tv-mode .tv-sidebar { display: none !important; }
}

/* ══ TABLET LANDSCAPE / SMALL LAPTOP (769px – 1024px) ═══════════════════ */
@media (min-width: 769px) and (max-width: 1024px) {
  .taps-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 18px !important; }

  .hero__title-main { font-size: clamp(3.5rem, 6vw, 5rem) !important; }

  /* About gallery: 3-col with featured first */
  .content-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .gallery-item:first-child { grid-column: span 2 !important; }

  /* Footer */
  .footer__content { grid-template-columns: repeat(3, 1fr) !important; }

  /* TV: compact sidebar */
  .tv-sidebar { width: 300px !important; }
}

/* ══ DESKTOP (1025px – 1440px) ══════════════════════════════════════════ */
@media (min-width: 1025px) and (max-width: 1440px) {
  .taps-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .container { max-width: 1200px !important; margin: 0 auto !important; }
}

/* ══ WIDE DESKTOP (> 1440px) ════════════════════════════════════════════ */
@media (min-width: 1441px) {
  .taps-grid { grid-template-columns: repeat(4, 1fr) !important; }
  .container { max-width: 1400px !important; margin: 0 auto !important; }
  .hero__title-main { font-size: clamp(5rem, 5.5vw, 7rem) !important; }
}

/* ── Print styles ──────────────────────────────────────────────────────────── */
@media print {
  .header, .footer, .hero__scroll, .mobile-nav { display: none !important; }
  body { background: white !important; color: black !important; }
  a { color: inherit !important; text-decoration: underline !important; }
}

/* ── Reduced motion ─────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── High contrast mode ─────────────────────────────────────────────────── */
@media (forced-colors: active) {
  .tap-card, .gallery-item, .feature-item {
    border: 2px solid ButtonText !important;
  }
}

/* ── Map: responsive height ─────────────────────────────────────────────── */
.map-embed iframe,
.map-container iframe {
  width: 100% !important;
  height: clamp(200px, 40vw, 450px) !important;
  border: 0 !important;
  display: block !important;
}

/* ── Images: object-fit for consistent display ──────────────────────────── */
.gallery-item img,
.hero__image img,
[class*="photo"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ── Lazy loading placeholder ───────────────────────────────────────────── */
img[loading="lazy"] {
  background: linear-gradient(135deg, #0d1b2a 25%, #142236 50%, #0d1b2a 75%) !important;
  background-size: 200% 200% !important;
}

/* ═══════════════════════════════════════════════════════════════════════════ */

/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║            TAP LIST — COMPLETE REDESIGN (v2)                            ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* ── STATUS BAR — clean 3-column strip ───────────────────────────────────── */
.menu__status {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  background: rgba(8,18,32,0.85) !important;
  border: 1px solid rgba(212,175,55,0.22) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  max-width: 700px !important;
  margin: 0 auto 2.5rem !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(212,175,55,0.1) !important;
}

.status-item {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.4rem 1rem !important;
  border-right: 1px solid rgba(212,175,55,0.12) !important;
  gap: 5px !important;
  background: transparent !important;
  border-radius: 0 !important;
  animation: none !important;
}

.status-item:last-child {
  border-right: none !important;
}

.status-label {
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.5) !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
}

.status-value {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #f5e179 !important;
  font-family: 'Playfair Display', serif !important;
  line-height: 1 !important;
  display: block !important;
  text-align: center !important;
}

.status-item--happy-hour {
  background: rgba(212,175,55,0.06) !important;
}

.status-item--happy-hour .status-label {
  color: rgba(212,175,55,0.7) !important;
}

.status-item--happy-hour .status-value {
  color: #d4af37 !important;
  font-size: 1.25rem !important;
  letter-spacing: 0.05em !important;
}

/* ── TAP CARDS — full glassmorphism redesign ─────────────────────────────── */
.tap-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(145deg,
    rgba(22,40,64,0.92) 0%,
    rgba(13,27,42,0.97) 100%
  ) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(212,175,55,0.18) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  padding: 0 !important;
  min-height: 320px !important;
  transition: transform 0.3s cubic-bezier(.34,1.56,.64,1), box-shadow 0.3s ease, border-color 0.3s ease !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

.tap-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(212,175,55,0.4) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(212,175,55,0.25), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

/* Accent line at top of card */
.tap-card::before {
  content: '' !important;
  display: block !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(212,175,55,0.6) 30%, rgba(212,175,55,0.9) 50%, rgba(212,175,55,0.6) 70%, transparent 100%) !important;
  flex-shrink: 0 !important;
}

/* ── TAP NUMBER — brass badge ─────────────────────────────────────────────── */
.tap-card__number {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 3 !important;
}

.tap-number {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 30%, #f5e179 0%, #d4af37 45%, #8b6914 100%) !important;
  color: #1a0e00 !important;
  font-size: 0.95rem !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5), inset 0 1px 2px rgba(255,255,255,0.4) !important;
  border: 1.5px solid rgba(212,175,55,0.5) !important;
  font-family: 'Inter', sans-serif !important;
}

/* ── CARD HEADER ─────────────────────────────────────────────────────────── */
.tap-card__header {
  padding: 20px 20px 14px 66px !important;
  border-bottom: 1px solid rgba(212,175,55,0.08) !important;
}

.beer-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #f5f0e8 !important;
  margin: 0 0 5px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}

.brewery-name {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.55) !important;
  margin: 0 0 12px !important;
  font-family: 'Inter', sans-serif !important;
}

.beer-meta {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.beer-style {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 99px !important;
  padding: 3px 10px !important;
  border: 1px solid currentColor !important;
  opacity: 0.9 !important;
}

.beer-abv {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #d4af37 !important;
  background: rgba(212,175,55,0.12) !important;
  border: 1px solid rgba(212,175,55,0.3) !important;
  border-radius: 99px !important;
  padding: 3px 10px !important;
}

/* ── TASTING NOTES ───────────────────────────────────────────────────────── */
.tap-card__description {
  padding: 12px 20px !important;
  flex: 1 !important;
}

.tasting-notes {
  font-size: 0.82rem !important;
  color: rgba(200,191,175,0.65) !important;
  line-height: 1.65 !important;
  font-style: italic !important;
  margin: 0 !important;
}

/* ── PRICING SECTION ─────────────────────────────────────────────────────── */
.tap-card__pricing {
  padding: 14px 20px 18px !important;
  border-top: 1px solid rgba(212,175,55,0.1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  background: rgba(0,0,0,0.15) !important;
}

.price-item-compact {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 28px !important;
}

.price-label {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(200,191,175,0.45) !important;
  font-family: 'Inter', sans-serif !important;
  min-width: 75px !important;
}

.price-info-compact {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.price {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #d4af37 !important;
  letter-spacing: 0.01em !important;
  min-width: 52px !important;
  text-align: right !important;
}

/* ── HAPPY HOUR BADGE — hide per-row repeats, keep only first ────────────── */
/* Hide on schooner & pint rows */
.price-item-compact:nth-child(2) .happy-hour-badge,
.price-item-compact:nth-child(3) .happy-hour-badge,
.price-item-compact:nth-child(n+2) .happy-hour-badge {
  display: none !important;
}

/* Style the ONE remaining badge (on pot row) cleanly */
.price-item-compact:first-child .happy-hour-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(212,175,55,0.12) !important;
  border: 1px solid rgba(212,175,55,0.35) !important;
  border-radius: 99px !important;
  padding: 2px 8px 2px 7px !important;
  animation: none !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}

.happy-hour-badge__text {
  font-size: 0.55rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.8) !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
}

.happy-hour-badge__offer {
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  color: #f5e179 !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.05em !important;
}

/* ── TAPS GRID ───────────────────────────────────────────────────────────── */
.taps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 22px !important;
  padding: 0 !important;
}

/* ── MENU HEADER ─────────────────────────────────────────────────────────── */
.menu__header {
  text-align: center !important;
  padding-bottom: 2rem !important;
  border-bottom: 1px solid rgba(212,175,55,0.1) !important;
  margin-bottom: 2.5rem !important;
  position: relative !important;
}

.menu__header::before {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 80px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #d4af37, transparent) !important;
}

.menu__title {
  font-size: clamp(3rem, 7vw, 5.5rem) !important;
  font-weight: 700 !important;
  margin: 0 0 0.5rem !important;
  font-family: 'Playfair Display', serif !important;
  line-height: 1 !important;
}

.menu__subtitle {
  font-size: 0.72rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.55) !important;
  margin: 0 0 2rem !important;
}

/* ── UNAVAILABLE CARD ────────────────────────────────────────────────────── */
.tap-card--unavailable {
  opacity: 0.45 !important;
  filter: grayscale(0.4) !important;
}

.tap-card--unavailable::before {
  background: rgba(100,100,100,0.3) !important;
}

/* ── MENU ACTIONS (refresh button) ──────────────────────────────────────── */
.menu__actions {
  display: flex !important;
  justify-content: center !important;
  margin: 0 0 2.5rem !important;
}

.menu__actions button,
.menu__actions a {
  font-size: 0.68rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 10px 28px !important;
  border: 1px solid rgba(212,175,55,0.35) !important;
  border-radius: 99px !important;
  color: rgba(212,175,55,0.7) !important;
  background: transparent !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
}

.menu__actions button:hover,
.menu__actions a:hover {
  border-color: #d4af37 !important;
  color: #d4af37 !important;
  background: rgba(212,175,55,0.06) !important;
}

/* ── "ON TAP NOW" divider ────────────────────────────────────────────────── */
.taps-grid::before {
  content: '— ON TAP NOW —' !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.35em !important;
  color: rgba(212,175,55,0.45) !important;
  padding-bottom: 20px !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  grid-column: 1 / -1 !important;
  text-align: center !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   GOLDEN POUR — TAP LIST v3 (Aussie Pub Vibe)
   Fixes: happy-hour badge overlap • pricing layout • card polish
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. HAPPY HOUR BADGE — pull it back inline (it lives inside price row) */
.happy-hour-badge {
  position: static !important;
  top: auto !important; right: auto !important; bottom: auto !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 3px !important;
  background: rgba(212,175,55,0.08) !important;
  border: 1px solid rgba(212,175,55,0.35) !important;
  border-radius: 99px !important;
  padding: 2px 8px !important;
  margin-left: 8px !important;
  animation: none !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}

.happy-hour-badge__text {
  font-size: 0.5rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  color: #d4af37 !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  font-family: 'Inter', sans-serif !important;
  white-space: nowrap !important;
}

.happy-hour-badge__offer {
  font-size: 0.5rem !important;
  font-weight: 700 !important;
  color: rgba(212,175,55,0.75) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}

/* ── 2. TAP CARD — structured flex column */
.tap-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 290px !important;
  border-radius: 16px !important;
  background: linear-gradient(160deg,
    rgba(18,34,56,0.97) 0%,
    rgba(10,20,36,0.99) 100%
  ) !important;
  border: 1px solid rgba(212,175,55,0.16) !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow:
    0 4px 28px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.035) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.tap-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(212,175,55,0.38) !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,0.55),
    0 0 0 1px rgba(212,175,55,0.18),
    inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

/* Gold accent line at card top (::before pseudo) */
.tap-card::before {
  content: '' !important;
  display: block !important;
  height: 2px !important;
  flex-shrink: 0 !important;
  background: linear-gradient(90deg,
    transparent 0%, rgba(212,175,55,0.5) 25%,
    rgba(245,225,100,0.9) 50%,
    rgba(212,175,55,0.5) 75%, transparent 100%
  ) !important;
}

/* ── 3. TAP NUMBER — brass coin */
.tap-card__number {
  position: absolute !important;
  top: 16px !important; left: 16px !important;
  z-index: 4 !important;
}

.tap-number {
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 38% 32%, #f7e88a 0%, #d4af37 48%, #9a7b20 100%) !important;
  color: #160d00 !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Inter', sans-serif !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.45) !important;
  border: 1.5px solid rgba(245,225,100,0.4) !important;
  letter-spacing: -0.03em !important;
}

/* ── 4. CARD HEADER */
.tap-card__header {
  padding: 16px 18px 12px 62px !important;
  margin-top: 0 !important;
  border-bottom: 1px solid rgba(212,175,55,0.07) !important;
}

.beer-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #f8f3ea !important;
  margin: 0 0 3px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
}

.brewery-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(212,175,55,0.48) !important;
  margin: 0 0 10px !important;
}

.beer-meta {
  display: flex !important;
  gap: 7px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.beer-style {
  font-size: 0.52rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  color: #fff !important;
  opacity: 0.9 !important;
  font-family: 'Inter', sans-serif !important;
}

.beer-abv {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: rgba(212,175,55,0.7) !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.03em !important;
}

/* ── 5. TASTING NOTES */
.tap-card__description {
  padding: 10px 18px 8px !important;
  flex: 1 !important;
  min-height: 0 !important;
}

.tasting-notes {
  font-size: 0.78rem !important;
  color: rgba(200,191,175,0.58) !important;
  line-height: 1.52 !important;
  font-style: italic !important;
  margin: 0 !important;
  font-family: 'Inter', sans-serif !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── 6. PRICING — pub chalkboard style */
.tap-card__pricing {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin-top: auto !important;
  padding: 10px 18px 14px !important;
  border-top: 1px solid rgba(212,175,55,0.07) !important;
  background: rgba(0,0,0,0.15) !important;
}

.price-item-compact {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.035) !important;
}

.price-item-compact:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.price-label {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(180,170,155,0.5) !important;
  font-family: 'Inter', sans-serif !important;
  flex-shrink: 0 !important;
  width: 75px !important;
}

.price-info-compact {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-left: auto !important;
}

.price {
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  color: #f5e17a !important;
  font-family: 'Playfair Display', serif !important;
  letter-spacing: -0.01em !important;
}

.price--unavailable {
  color: rgba(150,140,125,0.4) !important;
  font-size: 0.75rem !important;
}

/* ── 7. UNAVAILABLE CARD */
.tap-card--unavailable {
  opacity: 0.38 !important;
  filter: grayscale(0.5) !important;
  background: rgba(8,15,26,0.7) !important;
}

.tap-card--unavailable::before {
  opacity: 0.2 !important;
}

.tap-card--unavailable:hover {
  transform: none !important;
  border-color: rgba(212,175,55,0.08) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
}

/* ── 8. TAPS GRID — 3-col desktop, responsive */
.taps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important;
  gap: 20px !important;
  padding: 0 !important;
}

@media (max-width: 480px) {
  .taps-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .beer-name  { font-size: 1rem !important; }
}

@media (min-width: 481px) and (max-width: 768px) {
  .taps-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1025px) {
  .taps-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* ── 9. HAPPY HOUR — gold shimmer on the price when active */
.price-item-compact:has(.happy-hour-badge) .price {
  color: #f5d040 !important;
}

/* ── END v3 ─────────────────────────────────────────────────────────────── */


/* ═══════════════════════════════════════════════════════════════════════════
   GOLDEN POUR — MOBILE LAYOUT FIX v4
   Fixes: hero empty space • map visibility • page formatting on all screens
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HERO: Push content to top, remove wasted space below buttons ────────── */
@media (max-width: 639px) {
  .hero {
    height: 100svh !important;        /* svh = excludes mobile browser chrome */
    min-height: 580px !important;
    max-height: none !important;
  }

  .hero__content {
    align-items: flex-start !important;  /* content sits at top, not dead-centre */
    padding-top: 90px !important;        /* clear fixed header */
    padding-bottom: 0 !important;
    height: 100% !important;
  }

  .hero__text {
    max-width: 100% !important;
    padding-bottom: 1.5rem !important;
  }

  .hero__subtitle {
    font-size: 0.6rem !important;
    letter-spacing: 3px !important;
    margin-bottom: 0.5rem !important;
  }

  .hero__title {
    margin-bottom: 1rem !important;
    gap: 0.25rem !important;
  }

  .hero__title-main {
    font-size: clamp(2.6rem, 11vw, 3.8rem) !important;
  }

  .hero__title-accent {
    font-size: clamp(1.8rem, 8vw, 2.8rem) !important;
  }

  .hero__description {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.5rem !important;
    max-width: 100% !important;
  }

  /* Stack buttons full-width on phones */
  .hero__actions {
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
  }

  .hero__btn {
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Scroll indicator: stick to bottom */
  .hero__scroll {
    bottom: 20px !important;
  }
}

/* ── FOOTER MAP: Ensure visible & proper height on mobile ────────────────── */
.footer__map {
  display: block !important;
}

@media (max-width: 639px) {
  .footer__map {
    margin-bottom: 2.5rem !important;
  }

  .map-container h3 {
    font-size: 1.4rem !important;
    margin-bottom: 0.5rem !important;
  }

  .map-embed {
    margin: 1rem 0 !important;
  }

  .map-embed iframe,
  .map-container iframe {
    height: 280px !important;
    min-height: 280px !important;
  }

  /* "Get Directions" button in footer: full-width on mobile */
  .map-container > .btn {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    margin-top: 1rem !important;
  }
}

/* ── ABOUT PAGE: Mobile ──────────────────────────────────────────────────── */
@media (max-width: 639px) {
  .about {
    padding: 80px 0 2rem !important;
  }

  .about__header {
    padding-bottom: 1.5rem !important;
    margin-bottom: 2rem !important;
  }

  .about__title {
    font-size: 2.2rem !important;
  }

  .about__subtitle {
    font-size: 0.95rem !important;
  }

  .about__section {
    margin-bottom: 2rem !important;
  }

  /* "Our Story" / "Our Philosophy" text blocks */
  .content-grid {
    display: block !important;
    gap: 0 !important;
  }

  .content-text h2 {
    font-size: 1.6rem !important;
    text-align: left !important;
    margin-bottom: 0.75rem !important;
  }

  .content-text p {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
  }

  /* Philosophy cards: single column on phones */
  .philosophy-points {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .philosophy-point {
    padding: 1.25rem !important;
  }

  /* Features list: 2 columns on phones */
  .features-list {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
  }

  /* Visit info */
  .visit-info {
    padding: 1.25rem !important;
  }

  .visit-info h2 {
    font-size: 1.5rem !important;
    margin-bottom: 0.75rem !important;
  }

  /* Visit details: 1 col on very small, 2 col on larger phones */
  .visit-details {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
  }
}

@media (max-width: 390px) {
  .visit-details {
    grid-template-columns: 1fr !important;
  }

  .features-list {
    grid-template-columns: 1fr !important;
  }
}

/* ── MENU (POURBOARD) PAGE: Mobile ────────────────────────────────────────── */
@media (max-width: 639px) {
  .menu {
    padding: 80px 0 2rem !important;
  }

  .menu__header {
    padding-bottom: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .menu__title {
    font-size: clamp(2.4rem, 10vw, 3.5rem) !important;
  }

  .menu__subtitle {
    font-size: 0.62rem !important;
    letter-spacing: 0.25em !important;
    margin-bottom: 1rem !important;
  }

  .menu__status {
    flex-direction: column !important;
    gap: 0.5rem !important;
    padding: 1rem 1.25rem !important;
    align-items: flex-start !important;
  }

  .status-item {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0.5rem !important;
    text-align: left !important;
  }

  .status-label {
    font-size: 0.65rem !important;
  }

  .status-value {
    font-size: 0.85rem !important;
  }

  /* Taps grid: 1 col on phones, already handled above but reinforce */
  .taps-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .menu__actions {
    margin: 0 0 1.5rem !important;
  }
}

/* ── FOOTER: General mobile polish ────────────────────────────────────────── */
@media (max-width: 639px) {
  .footer {
    padding: 2.5rem 0 1.5rem !important;
  }

  .footer__content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    margin-bottom: 2rem !important;
  }

  .footer__brand {
    text-align: center !important;
  }

  .footer__brand-name {
    font-size: 1.2rem !important;
  }

  .footer__description {
    font-size: 0.85rem !important;
    margin: 0 auto !important;
  }

  .footer__contact h4,
  .footer__hours h4,
  .footer__links h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.75rem !important;
  }

  .hours-item {
    padding: 0.4rem 0 !important;
  }

  .day, .time {
    font-size: 0.82rem !important;
  }
}

/* ── NAVIGATION: Tighten mobile header ────────────────────────────────────── */
@media (max-width: 639px) {
  .header__content {
    padding: 0 1rem !important;
    height: 60px !important;
  }

  .brand-logo__image {
    height: 44px !important;
    width: 44px !important;
  }

  .brand-name {
    font-size: 1.05rem !important;
  }

  .brand-tagline {
    font-size: 0.52rem !important;
  }
}

/* ── PRIVACY PAGE: Mobile ─────────────────────────────────────────────────── */
@media (max-width: 639px) {
  .privacy {
    padding: 80px 0 2rem !important;
  }

  .privacy__section {
    padding: 1.25rem !important;
  }

  .privacy__section h2 {
    font-size: 1.3rem !important;
  }
}

/* ── GALLERY (if on About): Mobile ────────────────────────────────────────── */
@media (max-width: 639px) {
  .gallery {
    padding: 1.5rem 0 !important;
  }

  .gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .gallery-item:nth-child(1) .image-container {
    height: 220px !important;
  }

  .gallery-item:nth-child(2) .image-container,
  .gallery-item:nth-child(3) .image-container {
    height: 180px !important;
  }
}

/* ── END v4 MOBILE FIXES ─────────────────────────────────────────────────── */



/* ═══════════════════════════════════════════════════════════════════════════
   TV MODE — ALL 12 TAPS NO-SCROLL
   Target: 1080p TV (1920×1080). Available height for tap rows ≈ 900px.
   12 rows × 75px = 900px → all visible, no scroll ever.
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 ─ Kill scrolling on the tap list panel */
.tv-mode .taps-display {
  overflow:          hidden !important;
  overflow-y:        hidden !important;
  flex:              1 1 0% !important;
  display:           flex !important;
  flex-direction:    column !important;
  gap:               0 !important;
  justify-content:   space-between !important; /* distribute rows evenly */
}

/* 2 ─ Remove "🍺 ON TAP NOW 🍺" pseudo-banner (saves ~34px) */
.tv-mode .taps-display::before { display: none !important; }

/* 3 ─ Compact grid header title */
.tv-mode .grid-title {
  padding:       0.55rem 1.25rem !important;
  margin:        0 !important;
  font-size:     0.52rem !important;
  letter-spacing: 5px !important;
  border-bottom: 1px solid rgba(212,175,55,0.15) !important;
  background:    rgba(0,0,0,0.25) !important;
  flex-shrink:   0 !important;
}

/* 4 ─ Each tap row: compact, equal height, no overflow */
.tv-mode .tap-item {
  display:        flex !important;        /* flex instead of grid for simpler sizing */
  flex-direction: row !important;
  align-items:    center !important;
  gap:            0.65rem !important;
  padding:        0.55rem 1rem !important;
  border-bottom:  1px solid rgba(255,255,255,0.04) !important;
  border-radius:  0 !important;
  flex:           1 1 0% !important;      /* each row shares space equally */
  min-height:     0 !important;
  max-height:     none !important;
  box-sizing:     border-box !important;
}

.tv-mode .tap-item:last-child {
  border-bottom: none !important;
}

/* 5 ─ Tap number coin — slightly smaller */
.tv-mode .tap-item .tap-number,
.tv-mode .tap-item > div:first-child {
  width:       30px !important;
  height:      30px !important;
  min-width:   30px !important;
  font-size:   0.72rem !important;
  font-weight: 900 !important;
  flex-shrink: 0 !important;
}

/* 6 ─ tap-details: flex-wrap so brewery+style share one line below beer name */
.tv-mode .tap-item .tap-details {
  display:    flex !important;
  flex-wrap:  wrap !important;
  align-items: center !important;
  gap:        2px 5px !important;
  min-width:  0 !important;
  flex:       1 !important;
  overflow:   hidden !important;
}

/* 7 ─ Beer name: takes its own full-width row */
.tv-mode .tap-item .tap-beer {
  flex:           0 0 100% !important;    /* full row */
  font-size:      0.83rem !important;
  font-weight:    700 !important;
  line-height:    1.15 !important;
  margin:         0 !important;
  white-space:    nowrap !important;
  overflow:       hidden !important;
  text-overflow:  ellipsis !important;
  color:          #f0ead8 !important;
}

/* 8 ─ Brewery: sits on the second row, takes available width */
.tv-mode .tap-item .tap-brewery {
  flex:          1 1 auto !important;     /* stretches */
  font-size:     0.6rem !important;
  line-height:   1.2 !important;
  margin:        0 !important;
  white-space:   nowrap !important;
  overflow:      hidden !important;
  text-overflow: ellipsis !important;
  color:         rgba(200,191,175,0.5) !important;
}

/* 9 ─ Style badge: sits next to brewery on the second row */
.tv-mode .tap-item .tap-style {
  flex:           0 0 auto !important;    /* shrinks to content */
  font-size:      0.44rem !important;
  padding:        1px 5px !important;
  border-radius:  3px !important;
  letter-spacing: 0.06em !important;
  line-height:    1.5 !important;
  white-space:    nowrap !important;
  margin:         0 !important;
}

/* 10 ─ Featured / active row highlight (same height as others) */
.tv-mode .tap-item.tap-item--featured {
  background:  rgba(212,175,55,0.12) !important;
  border-left: 3px solid #d4af37 !important;
  transform:   none !important;
}

.tv-mode .tap-item.tap-item--featured .tap-beer {
  color: #f5e17a !important;
}

.tv-mode .tap-item.tap-item--featured .tap-number {
  box-shadow: 0 0 10px rgba(212,175,55,0.5) !important;
}

/* ── END TV NO-SCROLL ────────────────────────────────────────────────────── */
