
:root{
  --bg:#070b0d;
  --panel:#0d171b;
  --panel2:#102027;
  --ink:#f5eddb;
  --muted:#c6baa2;
  --gold:#d8b735;
  --olive:#8e8d47;
  --blue:#092433;
  --line:rgba(216,183,53,.35);
  --shadow:0 18px 60px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 30% 0%, rgba(216,183,53,.16), transparent 30rem),
    radial-gradient(circle at 80% 20%, rgba(9,36,51,.9), transparent 34rem),
    linear-gradient(180deg,#050809 0%,#071014 45%,#050708 100%);
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,92vw);margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(5,8,9,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.brand img{width:74px}
.menu{display:flex;align-items:center;gap:.3rem}
.menu a{padding:.7rem .85rem;border-radius:999px;color:var(--muted);font-weight:650}
.menu a:hover,.menu a.active{background:rgba(216,183,53,.12);color:var(--ink)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:.6rem .8rem}
.hero{position:relative;overflow:hidden;padding:3.5rem 0 5rem;border-bottom:1px solid rgba(255,255,255,.07)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem}
.eyebrow{color:var(--gold);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}
h1{font-family:Georgia,serif;font-size:clamp(2.6rem,7vw,6.5rem);line-height:.86;margin:.6rem 0 1rem}
.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--muted);line-height:1.65;max-width:58ch}
.btn-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.15rem;border-radius:999px;font-weight:800;border:1px solid var(--line)}
.btn.primary{background:var(--gold);color:#081014;border-color:var(--gold)}
.btn.secondary{background:rgba(255,255,255,.04)}
.logo-card{background:linear-gradient(180deg,rgba(16,32,39,.85),rgba(5,8,9,.6));border:1px solid var(--line);border-radius:28px;padding:1.3rem;box-shadow:var(--shadow)}
.logo-card img{filter:drop-shadow(0 20px 35px rgba(0,0,0,.45))}
.section{padding:4rem 0}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);margin:0}
.kicker{color:var(--gold);font-weight:750;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
.grid{display:grid;gap:1rem}
.cards-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:100%;
    margin:0 auto;
    gap:1.25rem;
}

.why-we-brew{
    width:85%;
    max-width:1200px;
    margin:0 auto;
    padding:1.5rem;
}

.why-we-brew .cards-3{
    width:100%;
    max-width:none;
}

.why-we-brew .card{
    height:100%;
}
.card{
  background:linear-gradient(180deg,rgba(16,32,39,.92),rgba(8,13,15,.96));
  border:1px solid rgba(216,183,53,.22);
  border-radius:22px;padding:1.25rem;box-shadow:0 10px 35px rgba(0,0,0,.24)
}
.card h3{margin:.2rem 0 .4rem;font-family:Georgia,serif;font-size:1.45rem}
.card p{color:var(--muted);line-height:1.55}
.tag{display:inline-block;color:#081014;background:var(--gold);padding:.25rem .55rem;border-radius:999px;font-weight:800;font-size:.72rem}
.beer-list{grid-template-columns:repeat(2,1fr)}
.beer-card{display:grid;grid-template-columns:100px 1fr;gap:1rem;align-items:center}
.beer-art{width:100px;height:100px;border-radius:18px;background:radial-gradient(circle,var(--gold),#765f10 42%,#08141a 43%);border:1px solid var(--line)}
.meta{display:flex;gap:.55rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.footer{border-top:1px solid rgba(255,255,255,.08);padding:2rem 0;color:var(--muted);background:#050708}
.footer .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.age-gate{
  position:fixed;inset:0;z-index:99;display:grid;place-items:center;padding:1.2rem;
  background:radial-gradient(circle at center, rgba(9,36,51,.96), rgba(0,0,0,.98) 60%);
}
.age-box{width:min(560px,95vw);text-align:center;background:rgba(7,11,13,.94);border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:var(--shadow)}
.age-box img{width:280px;margin:0 auto 1rem}
.age-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.hidden{display:none!important}
.form-card input,.form-card textarea,.form-card select{
  width:100%;padding:.9rem;border-radius:12px;border:1px solid rgba(216,183,53,.25);
  background:#071014;color:var(--ink);margin:.35rem 0 1rem
}
@media (max-width:780px){
  .nav-toggle{display:block}
  .menu{display:none;position:absolute;left:4vw;right:4vw;top:78px;flex-direction:column;align-items:stretch;background:#071014;border:1px solid var(--line);border-radius:18px;padding:.5rem}
  .menu.open{display:flex}
  .hero-grid,.beer-list,.cards-3{grid-template-columns:1fr}
  .why-we-brew{width:92%;padding:1rem}
  .hero{padding:2.2rem 0 3rem}
  .brand span{font-size:.84rem}
  .beer-card{grid-template-columns:78px 1fr}
  .beer-art{width:78px;height:78px}
}


.hero-logo-only{
    min-height:90vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:0;
}

.hero-logo-only .container{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}

.hero-logo{
    width:90%;
    max-width:1200px;
    height:auto;
}

@media (max-width:768px){
    .hero-logo-only{
        min-height:85vh;
        padding:0 15px;
    }

    .hero-logo{
        width:100%;
    }
}


.hero-tagline{
    margin-top:20px;
    font-size:clamp(1.5rem, 2.2vw, 2.5rem);
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#d4c07a;
    white-space:nowrap;
}

@media (max-width:768px){
    .hero-tagline{
        white-space:normal;
        font-size:1.2rem;
        line-height:1.4;
        padding:0 15px;
    }
}


/* V4 Hero Fix */
.hero-logo-only,
.hero-logo-only .container{
    display:flex !important;
}

.hero-logo-only .container{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:20px;
}

.hero-logo{
    display:block;
    margin:0 auto;
}

.hero-tagline{
    display:block;
    width:100%;
    text-align:center;
    margin-top:10px;
}


/* V5 Desktop Hero Refinement */
.hero-logo-only{
    min-height:calc(100vh - 80px) !important;
}

.hero-logo-only .container{
    gap:5px !important;
}

.hero-logo{
    margin-bottom:0 !important;
}

.hero-tagline{
    font-size:clamp(0.9rem,1.4vw,1.5rem) !important;
    letter-spacing:0.15em !important;
    text-transform:uppercase !important;
    color:#d4c07a !important;
    font-weight:600 !important;
    margin-top:0 !important;
}


/* V6 Hero spacing refinement */
.hero-logo-only .container{
    gap:2px !important;
}

.hero-tagline{
    margin-top:-2px !important;
}


/* V7 - Bring logo and tagline much closer together */
.hero-logo-only .container{
    gap:0px !important;
}

.hero-logo{
    margin-bottom:-20px !important;
}

.hero-tagline{
    margin-top:-15px !important;
    padding-top:0 !important;
    line-height:1.1 !important;
}


/* V8 - Mobile hero spacing fix */
@media (max-width:768px){
    .hero-logo-only{
        min-height:70vh !important;
        justify-content:center !important;
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    .hero-logo-only .container{
        justify-content:center !important;
        gap:0 !important;
    }

    .hero-logo{
        width:85% !important;
        max-width:500px !important;
        margin-bottom:-10px !important;
    }

    .hero-tagline{
        margin-top:-8px !important;
        font-size:clamp(0.9rem, 4vw, 1.15rem) !important;
        line-height:1.25 !important;
    }
}


/* V9 - Reduce mobile dead space above and below hero */
@media (max-width:768px){

    .hero-logo-only{
        min-height:50vh !important;
        padding-top:20px !important;
        padding-bottom:20px !important;
        justify-content:flex-start !important;
    }

    .hero-logo-only .container{
        padding-top:10px !important;
        gap:0 !important;
    }

    .hero-logo{
        width:88% !important;
        margin-bottom:-15px !important;
    }

    .hero-tagline{
        margin-top:-12px !important;
        margin-bottom:10px !important;
    }
}


/* V10 - Reliable 21+ welcome screen */
body.age-locked{
    overflow:hidden;
}

.age-gate{
    position:fixed !important;
    inset:0 !important;
    z-index:9999 !important;
    display:grid !important;
    place-items:center !important;
}

.age-gate.hidden{
    display:none !important;
}

.age-box{
    max-height:90vh;
    overflow:auto;
}


/* Social media pill buttons */
.social-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    flex-wrap:wrap;
}
.social-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    min-width:132px;
    padding:.72rem 1.05rem;
    border:1px solid rgba(216,183,53,.45);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(216,183,53,.12),rgba(255,255,255,.035));
    color:var(--ink);
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 10px 28px rgba(0,0,0,.24);
    transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.social-btn svg{
    width:1.25rem;
    height:1.25rem;
    fill:currentColor;
    flex:0 0 auto;
}
.social-btn:hover,
.social-btn:focus-visible{
    transform:translateY(-2px);
    border-color:var(--gold);
    background:linear-gradient(180deg,rgba(216,183,53,.22),rgba(255,255,255,.07));
    box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 0 3px rgba(216,183,53,.1);
    color:#fff8df;
}
@media (max-width:780px){

    .footer .container{
        display:flex;
        flex-direction:column-reverse;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:1rem;
    }

    .social-links{
        width:100%;
        margin-top:0;
    }

    .social-btn{
        min-width:190px;
    }
}
/* Contact page layout additions */
.contact-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5rem;
    align-items:stretch;
}
.contact-intro{
    display:block;
}

.contact-intro p{
    line-height:1.7;
}

.form-note{
    color:var(--muted);
    font-size:.95rem;
    margin-top:1rem;
}

.hp-field{
    position:absolute;
    left:-9999px;
    opacity:0;
    height:0;
    overflow:hidden;
}

@media (min-width:900px){
    .contact-layout{
        grid-template-columns:.9fr 1.1fr;
    }
}

@media (max-width: 768px){

    .contact-layout{
        display:grid;
        grid-template-columns:1fr !important;
        gap:1.25rem;
        align-items:stretch;
    }

    .contact-layout .card{
        width:100%;
        height:auto;
    }

    .form-card input,
    .form-card textarea{
        width:100%;
        box-sizing:border-box;
    }
}

@media (min-width: 900px){

    .contact-layout{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:1.5rem;
        align-items:stretch;
    }

    .contact-layout .card{
        height:100%;
    }

    .contact-intro,
    .form-card{
        display:flex;
        flex-direction:column;
    }
}