*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090a09;color:#f5f5ef;font-family:Manrope,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(7,8,7,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.brand,.footer-brand{font-family:"Barlow Condensed",sans-serif;font-size:30px;font-weight:800;letter-spacing:-1px}.brand-beer,.footer-brand .brand-beer{color:#f5f5ef}.brand-line,.pulse{color:#ff8a00}.pulse{font-size:34px;margin-left:2px}nav{display:flex;gap:28px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#bdbdb7}nav a:hover{color:#ff8a00}.header-cta,.btn-primary{background:#ff8a00;color:#080908;border-radius:999px;padding:12px 20px;font-weight:800;font-size:13px}.hero{height:min(850px,100vh);min-height:680px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.56) 44%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 40%)}.hero-content{position:relative;z-index:2;max-width:760px;padding:180px 8vw 70px}.eyebrow{font-size:12px;letter-spacing:.18em;color:#ff8a00;font-weight:800;margin:0 0 18px;text-transform:uppercase}.hero h1,h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;line-height:.9;letter-spacing:-.02em;margin:0}.hero h1{font-size:clamp(64px,9vw,128px)}h2{font-size:clamp(52px,6vw,88px)}h1 em,h2 em{font-style:normal;color:#ff8a00}.hero-copy{max-width:540px;font-size:17px;color:#ddd;margin:30px 0}.hero-actions,.visit-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;font-weight:800;font-size:13px}.btn-ghost{border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.2)}.quick{display:grid;grid-template-columns:1.1fr 1fr .9fr;max-width:1180px;margin:-45px auto 0;position:relative;z-index:5;background:#111310;border:1px solid #2a2d27;border-radius:16px;overflow:hidden}.quick-card{padding:26px 30px;min-height:125px;border-right:1px solid #292c27;display:flex;flex-direction:column;gap:6px}.quick-card:last-child{border-right:0}.quick-label{font-size:11px;letter-spacing:.15em;color:#8e9188;font-weight:800}.quick-card strong{font-size:15px}.quick-card a{color:#ff8a00;font-size:12px;font-weight:700}.schedule{display:flex;flex-direction:column;gap:5px}.schedule div{display:flex;justify-content:space-between;gap:18px}.schedule span{color:#aaa}.section{max-width:1180px;margin:0 auto;padding:125px 30px}.section-head{margin-bottom:48px}.section-head.row{display:flex;justify-content:space-between;align-items:end;gap:40px}.muted{color:#92958e;max-width:360px}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:stretch}.about-copy{font-size:17px;color:#c9cbc5;max-width:450px}.about-grid img{height:470px;border-radius:14px}.beer{border-top:1px solid #242722}.tap-list{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;border-top:1px solid #30332d}.tap-list div{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #30332d;font-size:15px}.tap-list b{color:#ff8a00;font-size:12px}.feature{max-width:1180px;margin:0 auto 0;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding:0 30px 125px}.feature img{height:520px;border-radius:14px}.feature p:not(.eyebrow){color:#b8bbb4;max-width:470px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags span{border:1px solid #343730;border-radius:999px;padding:8px 13px;color:#d8dad3;font-size:12px}.atmosphere{padding-top:80px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery figure{margin:0;height:260px;overflow:hidden;border-radius:10px}.gallery .wide{grid-column:span 2}.gallery img{transition:transform .4s ease}.gallery figure:hover img{transform:scale(1.04)}.visit{background:#111310;border-top:1px solid #282b25;border-bottom:1px solid #282b25;padding:90px max(30px,calc((100% - 1120px)/2));display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:end}.visit-info{display:flex;flex-direction:column;gap:18px}.visit-row{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #2b2e28;padding-bottom:12px;font-size:13px}.visit-row span{color:#858880}.visit-row strong{text-align:right}.visit-actions{justify-content:flex-end}footer{padding:40px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;color:#858880;font-size:12px}.age b{border:1px solid #555a50;border-radius:50%;padding:6px 5px;color:#eee;margin-right:8px}.copyright{grid-column:1/-1;border-top:1px solid #232620;padding-top:20px}

@media(max-width:800px){
 .site-header{padding:14px 18px}.site-header nav{display:none}.brand{font-size:27px}.header-cta{padding:9px 13px;font-size:11px}
 .hero{height:auto;min-height:720px}.hero-photo{height:100%}.hero-content{padding:145px 22px 55px}.hero h1{font-size:68px}.hero-copy{font-size:15px;margin:24px 0}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn{padding:11px 12px;font-size:12px}
 .quick{margin:0 14px;background:#10120f;display:flex;flex-direction:column;border-radius:12px}.quick-card{border-right:0;border-bottom:1px solid #292c27;padding:20px 18px;min-height:0}.quick-card:last-child{border-bottom:0}
 .schedule-card .schedule{gap:8px}.schedule div{display:flex;justify-content:space-between;align-items:center}.schedule strong{font-size:15px}
 .section{padding:82px 18px}.section-head{margin-bottom:30px}.section-head.row{display:block}.section-head h2,h2{font-size:55px}.section-head .muted{margin-top:18px}
 .about-grid{display:flex;flex-direction:column;gap:25px}.about-copy{font-size:15px}.about-grid img{height:330px;border-radius:10px}
 .tap-list{grid-template-columns:1fr;column-gap:0}.tap-list div{padding:14px 0;grid-template-columns:34px 1fr;font-size:14px}
 .feature{display:flex;flex-direction:column-reverse;gap:28px;padding:0 18px 82px}.feature img{height:330px;border-radius:10px}.feature h2{font-size:54px}.feature p:not(.eyebrow){font-size:14px}
 .atmosphere{padding-top:55px}.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery figure,.gallery .wide{grid-column:span 1;height:180px}.gallery figure:first-child{grid-column:1/-1;height:250px}
 .visit{padding:70px 18px;display:flex;flex-direction:column;align-items:stretch;gap:30px}.visit h2{font-size:58px}.visit-row{font-size:13px}.visit-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
 footer{padding:32px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.copyright{width:100%}
}
@media(max-width:390px){.hero h1{font-size:58px}.hero-actions{grid-template-columns:1fr}.quick-card strong{font-size:14px}.gallery figure,.gallery .wide{height:160px}.gallery figure:first-child{height:220px}}


@media(max-width:800px){
  body{overflow-x:hidden}
  .site-header{padding:13px 16px}
  .site-header nav{display:none}
  .brand{font-size:26px}
  .header-cta{padding:9px 13px;font-size:11px}

  .hero{height:auto;min-height:680px}
  .hero-photo{height:680px}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.68) 52%,rgba(0,0,0,.94) 100%)}
  .hero-content{padding:380px 20px 38px}
  .hero h1{font-size:58px;line-height:.9}
  .hero-copy{font-size:14px;line-height:1.55;margin:20px 0}
  .hero-actions{display:flex;flex-direction:column;gap:9px}
  .hero-actions .btn{width:100%}

  .quick{margin:0 12px;display:block;border-radius:12px}
  .quick-card{border-right:0;border-bottom:1px solid #292c27;padding:18px 17px;min-height:0}
  .quick-card:last-child{border-bottom:0}
  .quick-card strong{font-size:14px}
  .schedule{gap:7px}
  .schedule div{display:flex;justify-content:space-between;align-items:center}
  .schedule strong{font-size:14px}

  .section{padding:72px 18px}
  .section-head{margin-bottom:28px}
  .section-head.row{display:block}
  h2,.section-head h2{font-size:48px;line-height:.92}
  .section-head .muted{margin-top:15px;font-size:13px}

  .about-grid{display:flex;flex-direction:column;gap:22px}
  .about-copy{font-size:14px;line-height:1.65}
  .about-grid img{height:290px;border-radius:10px}

  .tap-list{grid-template-columns:1fr}
  .tap-list div{padding:13px 0;grid-template-columns:32px 1fr;font-size:13px}

  .feature{display:flex;flex-direction:column-reverse;gap:24px;padding:0 18px 72px}
  .feature img{height:290px;border-radius:10px}
  .feature h2{font-size:47px}
  .feature p:not(.eyebrow){font-size:14px;line-height:1.6}

  .atmosphere{padding-top:52px}
  .gallery{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .gallery figure,.gallery .wide{grid-column:span 1;height:165px}
  .gallery figure:first-child{grid-column:1/-1;height:235px}

  .visit{padding:62px 18px;display:flex;flex-direction:column;align-items:stretch;gap:25px}
  .visit h2{font-size:50px}
  .visit-row{font-size:13px}
  .visit-actions{display:flex;flex-direction:column}
  .visit-actions .btn{width:100%}

  footer{padding:30px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .copyright{width:100%}
}
@media(max-width:390px){
  .hero{min-height:640px}
  .hero-photo{height:640px}
  .hero-content{padding-top:345px}
  .hero h1{font-size:52px}
  h2,.section-head h2{font-size:44px}
  .gallery figure,.gallery .wide{height:145px}
  .gallery figure:first-child{height:205px}
}


/* Interactive beer menu */
.beer-hint{color:#a5a89f;margin:-24px 0 28px;font-size:14px}
.tap-list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;border-top:1px solid #30332d}
.tap-item{width:100%;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 12px 16px 0;border:0;border-bottom:1px solid #30332d;background:transparent;color:#f5f5ef;text-align:left;font:inherit;cursor:pointer;transition:background .2s ease,padding .2s ease}
.tap-item:hover,.tap-item:focus-visible{background:#151711;padding-left:10px;outline:none}
.tap-number{color:#ff8a00;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700}
.tap-name-wrap{display:flex;flex-direction:column;min-width:0;gap:2px}
.tap-name{font-size:15px;font-weight:800;line-height:1.3}
.tap-brewery{font-size:11px;color:#8f9389;letter-spacing:.04em}
.tap-arrow{color:#ff8a00;font-size:18px;opacity:.75}
.tap-status{font-size:9px;font-weight:800;letter-spacing:.1em;color:#ffad52;border:1px solid #754516;border-radius:999px;padding:5px 8px;white-space:nowrap}
.beer-note{display:flex;align-items:center;gap:10px;color:#858980;font-size:12px;margin-top:24px}
.note-dot{width:7px;height:7px;border-radius:50%;background:#ff8a00;display:inline-block;flex:none}
.beer-modal{width:min(560px,calc(100% - 28px));max-width:none;max-height:min(88vh,760px);padding:0;border:1px solid #34372f;border-radius:18px;background:#111310;color:#f5f5ef;box-shadow:0 24px 90px #000b}
.beer-modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.modal-topline{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid #2d3029;color:#ff8a00;font-size:10px;font-weight:800;letter-spacing:.16em}
.modal-close{border:1px solid #44483e;background:transparent;color:#f5f5ef;border-radius:50%;width:34px;height:34px;font-size:23px;line-height:1;cursor:pointer}
.modal-content{padding:27px 28px 30px}
.modal-brewery{margin:0 0 8px;color:#ff8a00;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.beer-modal h3{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(38px,8vw,58px);line-height:.98;text-transform:uppercase}
.modal-style{margin:10px 0 24px;color:#aeb1a8;font-size:13px}
.beer-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#30332c;border:1px solid #30332c;border-radius:12px;overflow:hidden}
.stat{background:#191b16;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-height:72px}
.stat span{font-size:10px;color:#8e9388;text-transform:uppercase;letter-spacing:.1em}
.stat strong{font-size:18px;font-weight:800}
.modal-description{margin-top:25px}
.modal-label{font-size:10px;color:#ff8a00;font-weight:800;letter-spacing:.15em}
.modal-description p{color:#c7c9c1;font-size:14px;line-height:1.7;margin:8px 0 0}
.modal-source{margin-top:20px;padding-top:15px;border-top:1px solid #30332c;font-size:11px;color:#888d82}
.modal-source a{color:#ff9b35;font-weight:700}
@media(max-width:800px){.tap-list{grid-template-columns:1fr;column-gap:0}.tap-item{padding:14px 8px 14px 0}.tap-name{font-size:14px}.modal-content{padding:23px 20px 24px}}
@media(max-width:390px){.tap-item{grid-template-columns:32px minmax(0,1fr) auto;gap:10px}.tap-name{font-size:13px}.tap-status{font-size:8px;padding:4px 6px}}
.modal-description[hidden]{display:none}

/* Official BEERline logo: targeted replacement only */
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:184px;height:auto;max-height:58px;object-fit:contain}
.footer-brand{display:flex;align-items:center}
.footer-brand img{display:block;width:205px;height:auto;max-height:74px;object-fit:contain}
@media(max-width:800px){.brand img{width:145px;max-height:48px}.footer-brand img{width:190px;max-height:68px}}


/* Supabase admin controls */
.admin-access{color:#777d70;font-size:11px;letter-spacing:.08em;text-transform:uppercase;justify-self:start}
.admin-access:hover{color:#ff8a00}
.admin-modal{width:min(680px,calc(100% - 24px))}
.admin-status{color:#b8bbb4;font-size:13px;margin:12px 0 20px}
.admin-form{display:flex;flex-direction:column;gap:13px;margin-top:18px}
.admin-form label,.admin-toolbar label{display:flex;flex-direction:column;gap:6px;color:#aeb1a8;font-size:12px}
.admin-form input,.admin-form textarea,.admin-toolbar select{width:100%;padding:11px 12px;border:1px solid #3a3e35;border-radius:8px;background:#090a09;color:#f5f5ef;font:inherit;font-size:14px}
.admin-form textarea{resize:vertical}
.admin-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-check{display:flex!important;flex-direction:row!important;align-items:center}
.admin-check input{width:auto}
.admin-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.admin-toolbar label{flex:1;min-width:130px}
.admin-toolbar button,.admin-actions button{font-size:11px}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-actions button:disabled{opacity:.4}
@media(max-width:600px){.admin-fields-2{grid-template-columns:1fr 1fr}.admin-toolbar{align-items:stretch}.admin-toolbar>*{flex:1}.admin-actions{flex-direction:column}.admin-actions .btn{width:100%}}
