@charset "utf-8";

:root {
  --charcoal-soft:#211d19;
  --cream:#f4ead2;
  --gold:#c89d43;
  --gold-bright:#e2ad43;
  --gold-dark:#8a611c;
  --white:#fff;
}

*,
*::before,
*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  padding-top:96px;
  background:#0d0c0b;
  color:var(--cream);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
}

img { max-width:100%; }
a { color:inherit; }

.site-header {
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  background-color:#e6d1a4;
  background-image:
    linear-gradient(to bottom,rgba(255,255,255,.12),rgba(92,61,22,.07)),
    url("../images/white_oak.png");
  background-position:center;
  background-size:cover;
  border-top:1px solid rgba(255,255,255,.42);
  border-bottom:4px solid var(--gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 18px rgba(0,0,0,.30);
}

.site-header-inner {
  width:min(1520px,100%);
  min-height:92px;
  margin:0 auto;
  padding:10px 20px;
  display:flex;
  align-items:center;
  gap:20px;
}

.site-brand { flex:0 0 auto; }
.site-brand img { display:block;width:132px;max-height:72px;object-fit:contain; }

.primary-menu {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(10px,1.45vw,24px);
  flex:1 1 auto;
}

.primary-menu > a,
.nav-dropdown-toggle {
  position:relative;
  padding:0;
  border:0;
  background:transparent;
  color:#2b2116;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}

.primary-menu > a::after,
.nav-dropdown-toggle::after {
  content:"";
  position:absolute;
  right:50%;
  bottom:-9px;
  left:50%;
  height:3px;
  background:var(--gold-dark);
  transition:left 180ms ease,right 180ms ease;
}

.primary-menu > a:hover::after,
.primary-menu > a:focus-visible::after,
.primary-menu > a.is-active::after,
.nav-dropdown:hover .nav-dropdown-toggle::after,
.nav-dropdown:focus-within .nav-dropdown-toggle::after {
  right:0;left:0;
}

.header-social,.footer-social { display:flex;gap:10px; }
.header-social a { display:grid;width:38px;height:38px;place-items:center; }
.header-social img { width:32px;height:32px;object-fit:contain; }

.nav-dropdown { position:relative;display:flex;align-items:center; }
.nav-dropdown-toggle span { margin-left:4px;font-size:.75em; }

.nav-dropdown-menu {
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  z-index:1100;
  min-width:205px;
  padding:8px;
  visibility:hidden;
  opacity:0;
  transform:translate(-50%,8px);
  background:#171411;
  border:1px solid rgba(200,157,67,.72);
  border-radius:7px;
  box-shadow:0 14px 28px rgba(0,0,0,.38);
  transition:opacity 160ms ease,transform 160ms ease,visibility 160ms ease;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
  visibility:visible;opacity:1;transform:translate(-50%,0);
}

.nav-dropdown-menu a {
  display:block;
  padding:10px 12px;
  color:var(--cream);
  border-radius:4px;
  font-size:.94rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
  background:rgba(200,157,67,.20);
  color:var(--gold-bright);
}

.nav-toggle {
  display:none;
  border:2px solid var(--gold-dark);
  border-radius:6px;
  background:rgba(255,255,255,.10);
  color:#2b2116;
  padding:8px 10px;
  font:inherit;
  font-weight:700;
}

.nav-toggle-icon,
.nav-toggle-icon::before,
.nav-toggle-icon::after {
  display:block;width:22px;height:2px;background:currentColor;
}

.nav-toggle-icon { position:relative;margin-top:5px; }
.nav-toggle-icon::before,
.nav-toggle-icon::after { content:"";position:absolute;left:0; }
.nav-toggle-icon::before { top:-6px; }
.nav-toggle-icon::after { top:6px; }

.gtk-hero {
  position:relative;
  min-height:540px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(13,12,11,.94),rgba(13,12,11,.34)),
    url("../images/the-sip-craft-beer-pub-bar-bloomington-indiana.jpg") center/cover no-repeat;
}

.gtk-hero-overlay {
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 70% 35%,rgba(200,157,67,.16),transparent 34%),
    linear-gradient(0deg,rgba(13,12,11,.78),transparent 62%);
}

.gtk-hero-content {
  position:relative;
  width:min(1180px,calc(100% - 40px));
  padding:82px 0;
}

.hero-kicker,.section-kicker {
  margin:0 0 10px;
  color:var(--gold-bright);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.gtk-hero h1 {
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.7rem,8vw,7rem);
  line-height:.96;
  text-transform:uppercase;
  text-shadow:0 5px 20px rgba(0,0,0,.58);
}

.gtk-hero-content > p:not(.hero-kicker) {
  max-width:760px;
  margin:24px 0 30px;
  font-size:clamp(1.05rem,2vw,1.28rem);
}

.hero-actions,.cta-actions { display:flex;flex-wrap:wrap;gap:12px; }

.sip-btn {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border:2px solid var(--gold);
  border-radius:4px;
  font-weight:800;
  text-decoration:none;
  transition:transform 160ms ease,background 160ms ease,color 160ms ease;
}

.sip-btn:hover,.sip-btn:focus-visible { transform:translateY(-2px); }
.sip-btn-gold { background:var(--gold);color:#21180b; }
.sip-btn-outline { background:transparent;color:var(--white); }
.sip-btn-outline:hover,.sip-btn-outline:focus-visible { background:var(--gold);color:#21180b; }

.quick-links {
  position:sticky;
  top:96px;
  z-index:100;
  padding:14px 20px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  background:rgba(18,16,13,.96);
  border-bottom:1px solid rgba(200,157,67,.36);
  backdrop-filter:blur(8px);
}

.quick-links a {
  padding:7px 13px;
  border:1px solid rgba(200,157,67,.48);
  border-radius:999px;
  color:#e8dfd1;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
}

.quick-links a:hover,.quick-links a:focus-visible {
  background:var(--gold);color:#21180b;
}

.policy-section,.faq-section,.first-visit {
  padding:76px max(24px,calc((100% - 1260px)/2));
}

.faq-section {
  background:#141210;
  border-top:1px solid rgba(200,157,67,.24);
  border-bottom:1px solid rgba(200,157,67,.24);
}

.section-heading {
  max-width:850px;
  margin:0 auto 38px;
  text-align:center;
}

.section-heading h2,.gtk-cta h2 {
  margin:0 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.1rem,4vw,3.5rem);
  line-height:1.12;
}

.section-heading p:last-child { color:#d7cec0; }

.policy-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.policy-card {
  padding:30px 28px;
  background:var(--charcoal-soft);
  border:1px solid rgba(200,157,67,.48);
  border-radius:10px;
}

.policy-icon {
  display:grid;
  width:58px;height:58px;
  place-items:center;
  margin-bottom:18px;
  border:2px solid var(--gold-bright);
  border-radius:50%;
  color:var(--gold-bright);
  font-weight:900;
  font-size:.86rem;
}

.policy-card h3 {
  margin:0 0 10px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
}

.policy-card p { margin:0;color:#d9cfbf; }

.faq-groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start;
}

.faq-group {
  scroll-margin-top:165px;
}

.faq-group h3 {
  margin:0 0 12px;
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
}

.faq-item {
  margin-bottom:10px;
  overflow:hidden;
  background:var(--charcoal-soft);
  border:1px solid rgba(200,157,67,.40);
  border-radius:7px;
}

.faq-item summary {
  position:relative;
  padding:18px 54px 18px 20px;
  color:var(--cream);
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.faq-item summary::-webkit-details-marker { display:none; }

.faq-item summary span {
  position:absolute;
  top:50%;
  right:20px;
  color:var(--gold-bright);
  font-size:1.5rem;
  transform:translateY(-50%);
  transition:transform 160ms ease;
}

.faq-item[open] summary span {
  transform:translateY(-50%) rotate(45deg);
}

.faq-answer {
  padding:0 20px 18px;
  color:#d8cec0;
}

.faq-answer p { margin:0; }

.tip-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.tip-grid article {
  padding:26px;
  background:var(--charcoal-soft);
  border:1px solid rgba(200,157,67,.40);
  border-radius:9px;
}

.tip-grid span {
  display:grid;
  width:42px;height:42px;
  margin-bottom:14px;
  place-items:center;
  background:var(--gold);
  color:#21180b;
  border-radius:50%;
  font-weight:900;
}

.tip-grid h3 {
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
}

.tip-grid p { margin:0;color:#d8cec0; }

.gtk-cta {
  padding:72px max(24px,calc((100% - 1180px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  background:
    linear-gradient(90deg,rgba(19,17,15,.96),rgba(19,17,15,.72)),
    url("../images/the-sip-craft-beer-pub-outdoor-patio.jpg") center/cover no-repeat;
  border-top:1px solid rgba(200,157,67,.28);
}

.gtk-cta > div:first-child { max-width:690px; }
.gtk-cta p:last-child { margin-bottom:0;color:#e8e2da; }

.sip-footer {
  min-height:132px;
  padding:20px max(24px,calc((100% - 1580px)/2));
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  background:#14100e;
  border-top:1px solid rgba(200,157,67,.28);
}

.footer-brand img { display:block;width:76px; }
.footer-message { display:flex;flex-direction:column;gap:4px;text-align:center; }

.footer-message strong {
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;
  text-transform:uppercase;
}

.footer-message span { font-size:.9rem; }

.sip-footer .footer-social a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;height:48px;
  background:#d5aa52;
  border:2px solid #17120d;
  border-radius:13px;
}

.sip-footer .footer-social img { width:31px;height:31px;object-fit:contain; }

@media (max-width:1180px) {
  body { padding-top:84px; }
  .site-header-inner { min-height:80px; }
  .site-brand img { width:112px; }
  .primary-menu { gap:9px; }
  .primary-menu > a,.nav-dropdown-toggle { font-size:.84rem; }
  .tip-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:820px) {
  body { padding-top:76px; }
  .quick-links { top:76px; }
  .site-header-inner { min-height:72px;padding:8px 16px; }
  .site-brand img { width:104px; }
  .nav-toggle { display:block;margin-left:auto; }
  .nav-toggle-label { margin-right:8px; }

  .primary-menu {
    position:absolute;
    top:100%;
    right:0;left:0;
    display:none;
    padding:16px 22px 22px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background-color:#e6d1a4;
    background-image:
      linear-gradient(to bottom,rgba(255,255,255,.12),rgba(92,61,22,.07)),
      url("../images/white_oak.png");
    background-position:center;
    background-size:cover;
    border-bottom:4px solid var(--gold);
    box-shadow:0 16px 24px rgba(0,0,0,.28);
  }

  .primary-menu.is-open { display:flex; }
  .primary-menu > a { padding:12px 4px;border-bottom:1px solid rgba(90,65,28,.22); }
  .primary-menu > a::after { display:none; }

  .nav-dropdown { display:block;width:100%; }
  .nav-dropdown-toggle {
    width:100%;
    padding:12px 4px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(90,65,28,.22);
    text-align:left;
  }

  .nav-dropdown-toggle::after { display:none; }
  .nav-dropdown-menu {
    position:static;
    display:none;
    min-width:0;
    padding:4px 0 7px 16px;
    visibility:visible;
    opacity:1;
    transform:none;
    background:rgba(81,55,22,.08);
    border:0;
    box-shadow:none;
  }

  .nav-dropdown.is-open .nav-dropdown-menu { display:block; }

  .nav-dropdown-menu a {
    color:#2b2116;
    border-bottom:1px solid rgba(90,65,28,.13);
    font-family:Georgia,"Times New Roman",serif;
  }

  .header-social { display:none; }
  .policy-grid,.faq-groups { grid-template-columns:1fr; }
  .gtk-cta { align-items:flex-start;flex-direction:column; }
}

@media (max-width:580px) {
  .gtk-hero { min-height:480px; }
  .hero-actions,.cta-actions { width:100%;flex-direction:column; }
  .hero-actions .sip-btn,.cta-actions .sip-btn { width:100%; }
  .quick-links { justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap; }
  .quick-links a { flex:0 0 auto; }
  .policy-section,.faq-section,.first-visit { padding-right:14px;padding-left:14px; }
  .tip-grid { grid-template-columns:1fr; }
  .sip-footer { grid-template-columns:1fr;justify-items:center;text-align:center; }
}
