/* =========================================================
   GRILL LAB — "Gilded Plate" theme overlay
   Presentation-only. Loaded AFTER main.css so it re-skins
   existing markup/classes without touching any view, form,
   URL, model or JS behaviour. Safe to delete to fully revert
   to the previous look.
   ========================================================= */

/* ---- Fonts -------------------------------------------------
   "Restora" is not a licensed public webfont, so we use
   Fraunces (an elegant, editorial serif in the same premium
   hospitality register) for display type, paired with Inter
   for body/UI text. Full fallback stacks included.
--------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  /* ---- brand palette (overrides legacy vars site-wide) ---- */
  --gl-dark: #000000;
  --gl-darker: #151414;
  --gl-surface: #060504;
  --gl-surface-2: #241d16;
  --gl-gold: #e2a53c;
  --gl-gold-soft: #f0c775;
  --gl-red: #c9542c;
  --gl-cream: #f6f1e7;
  --gl-muted: #a89c8a;
  --gl-line: rgba(246, 241, 231, 0.1);
  --gl-gray: #f8f9fa;

  --font-display: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body {
  background: var(--gl-darker) !important;
  color: var(--gl-cream);
  font-family: var(--font-body) !important;
}

.home-top-wrapper,
section.py-5,
.hero-section {
  background: var(--gl-darker) !important;
}

h1, h2, h3, h4, .hero-title, .footer-site-name,
.card-title, .menu-hero h1 {
  font-family: var(--font-display) !important;
  font-weight: 600;
  letter-spacing: 0;
 
}

section.py-5 h2 {
  font-family: var(--font-display) !important;
  color: var(--gl-cream) !important;
}

section.py-5 .text-muted,
section.py-5 p,
.gl-section .text-muted,
.gl-section p:not(.lead):not(.quote) {
  font-family: var(--font-body);
  color: var(--gl-muted) !important;
}

a { color: var(--gl-gold); }
a:hover { color: var(--gl-gold-soft); }

/* ---- eyebrow labels ---- */
.gl-eyebrow {
  font-family: var(--font-body);
  font-size: 0.70rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gl-gold);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(226, 165, 60, 0.4);
  border-radius: 999px;
  padding: 0.5rem 1.1rem;
  margin-bottom: 1rem;
  background-color:rgba(151, 110, 38, 0.279); ;
}

.gl-eyebrow .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gl-gold);
  flex-shrink: 0;
  animation: gl-blink 1.4s ease-in-out infinite;
}

@keyframes gl-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}


.brand-text-wrap {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.brand-subtitle {
  font-family: var(--font-body);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gl-muted);
  margin-top: 0.1rem;
}
/* ---- navbar ---- */
#mainNav {
  background: rgba(16, 13, 10, 0.92) !important;
  border-bottom: 1px solid var(--gl-line);
  backdrop-filter: blur(8px);
}
#mainNav .navbar-brand,
#mainNav .brand-text {
  font-family: var(--font-display) !important;
  color: var(--gl-cream) !important;
  font-weight: 600;
}
#mainNav .nav-link {
  font-family: var(--font-body);
  color: var(--gl-cream) !important;
  opacity: 0.85;
  font-size: 0.92rem;
  font-weight: 500;
}
#mainNav .nav-link:hover { opacity: 1; color: var(--gl-gold) !important; }
#mainNav .btn-warning {
  background: var(--gl-gold) !important;
  border-color: var(--gl-gold) !important;
  color: #1a1409 !important;
  font-weight: 700;
  border-radius: 999px;
}

/* ---- buttons ---- */
.btn-order,
.gl-btn-primary {
  background: var(--gl-gold) !important;
  color: #1a1409 !important;
  font-family: var(--font-body);
  font-weight: 700;
  border-radius: 999px;
  border: none;
  padding: 0.9rem 2.2rem;
}
.btn-order:hover, .gl-btn-primary:hover {
  background: var(--gl-gold-soft) !important;
  color: #1a1409 !important;
}
.gl-btn-outline {
  border: 1.5px solid rgba(246, 241, 231, 0.35);
  color: var(--gl-cream) !important;
  background: transparent !important;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.9rem 2.2rem;
  font-family: var(--font-body);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.gl-btn-outline:hover { border-color: var(--gl-gold); color: var(--gl-gold) !important; }

/* ---- cards / menu items ---- */
.menu-card {
  background: var(--gl-surface) !important;
  border: 1px solid var(--gl-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.menu-card .card-title { color: var(--gl-cream) !important; font-family: var(--font-display) !important; }
.menu-card .card-text { color: var(--gl-muted) !important; font-family: var(--font-body); }
.price-tag { color: var(--gl-gold) !important; font-family: var(--font-display); animation: none !important; }
.menu-card .btn-primary {
  background: var(--gl-gold) !important;
  color: #1a1409 !important;
  font-weight: 700;
}
.menu-card .btn-primary:hover { background: var(--gl-gold-soft) !important; }

/* ---- footer ---- */


.footer .container {
  padding-top: 1rem !important;
  padding-bottom: .5rem !important;
}
.footer .row.g-4 {
  --bs-gutter-y: 0.5rem !important;
}
.footer h5, .footer h6 {
  margin-bottom: 0.5rem !important;
  font-size: 1rem !important;
}
.footer p, .footer li, .footer a {
  margin-bottom: 0.25rem !important;
  line-height: 1.3 !important;
  font-size: 0.9rem !important;
}
.footer-tagline {
  font-size: 0.78rem !important;
  margin-bottom: 0.5rem !important;
}
.footer .social-links a {
  display: inline-block;
  margin-right: 0.6rem;
}
.footer table.table-sm {
  margin-bottom: 0 !important;
}
.footer table.table-sm td {
  padding: 0.15rem 0.3rem !important;
  font-size: 0.72rem !important;
}
.footer .badge {
  font-size: 0.7rem !important;
  padding: 0.25rem 0.5rem !important;
  margin-bottom: 0.4rem !important;
}
.footer hr {
  margin: 0.75rem 0 !important;
}
.footer .row.py-3 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.footer-logo {
  height: 32px !important;
}




.footer-site-name { color: var(--gl-cream) !important; }
.footer-heading, .footer .col-md-2 h6, .footer h6 {
  font-family: var(--font-display) !important;
  color: var(--gl-cream) !important;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
}
.footer-link, .footer a { color: var(--gl-muted) !important; }
.footer-link:hover, .footer a:hover { color: var(--gl-gold) !important; }
.footer .table-dark { background: transparent !important; }
.footer .table-dark td { border-color: var(--gl-line) !important; color: var(--gl-muted); background: transparent !important; }


/* ---- Footer: overall height reduction ---- */
.footer, footer.footer {
  padding-top: 0.60rem !important;
  padding-bottom: 0.5rem !important;
  background: var(--gl-dark) !important;
}
.footer * {
  margin-bottom: 0.1rem !important;
}

/* =========================================================
   NEW HOME PAGE SECTIONS (Gilded Plate layout)
   ========================================================= */

.gl-hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(16,13,10,.55), rgba(16,13,10,.85)), var(--gl-darker);
  background-size: cover;
  background-position: center;
}



.gl-hero-overlay {
  position: absolute; inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(16,13,10,.68) 0%, rgba(16,13,10,.96) 100%);
}



.gl-hero-inner { position: relative; z-index: 2; max-width: 900px; }
.gl-hero h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.5rem, 6vw, 4.2rem);
  line-height: 1.08;
  color: var(--gl-cream);
  margin-bottom: 0.3rem;
}

.gl-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 1.2s ease-in-out;
  filter: brightness(0.55) saturate(1.05);
}


.gl-hero .container {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (min-width: 992px) {
  .gl-hero .container {
    padding-left: 5rem;
  }
}

@media (min-width: 1400px) {
  .gl-hero .container {
    padding-left: 7rem;
  }
}

.gl-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 1.2s ease-in-out;
}

.gl-hero-slide.active {
  opacity: 1;
}


.gl-hero h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.8rem, 7.5vw, 5.6rem);
  line-height: 1.02;
  color: var(--gl-cream);
  margin-bottom: 0.3rem;
}


.gl-hero p.lead {
  color: var(--gl-muted);
  font-family: var(--font-body);
  font-size: 1.05rem;
  max-width: 46ch;
  margin: 1.2rem 0 2rem;
}
.gl-hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.gl-hero-stats { display: flex; gap: 2.2rem; flex-wrap: wrap; }
.gl-hero-stats .stat { display: flex; align-items: center; gap: 0.6rem; }
.gl-hero-stats .stat i { color: var(--gl-gold); font-size: 1.2rem; }
.gl-hero-stats .stat b { display: block; color: var(--gl-cream); font-size: 0.95rem; font-weight: 700; }
.gl-hero-stats .stat span { display: block; color: var(--gl-muted); font-size: 0.7rem; text-transform: uppercase; letter-spacing: .06em; }

.gl-ticker {
  background: var(--gl-surface);
  border-top: 1px solid var(--gl-line);
  border-bottom: 1px solid var(--gl-line);
  overflow: hidden;
  white-space: nowrap;
  padding: 0.8rem 0;
}


.gl-ticker-track {
  display: inline-flex;
  gap: 2.5rem;
  width: max-content;
  animation: gl-scroll 35s linear infinite;
}
@keyframes gl-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}


/* ---- How to Order: card style (matches Image 1) ---- */
#gl-how-order .gl-eyebrow {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  gap: 0.75rem;
  margin-top: 15px;
}
#gl-how-order .gl-eyebrow .dot { display: none; }
#gl-how-order .gl-eyebrow::before,
#gl-how-order .gl-eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--gl-gold);
}

#gl-how-order .gl-steps {
  text-align: left;
}
#gl-how-order .gl-steps > div {
  background: var(--gl-surface-2);
  border: 1px solid var(--gl-line);
  border-radius: 14px;
  padding: 1.5rem;
  position: relative;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

#gl-how-order .gl-steps > div:hover {
  border-color: var(--gl-gold);
  transform: translateY(-4px);
}
#gl-how-order .gl-steps .num {
  font-style: normal;
  font-weight: 700;
  opacity: .6;
  font-size: 2rem;
}
#gl-how-order .gl-steps h6 { margin-top: .6rem; }

/* connector dash between cards */
#gl-how-order .gl-steps > div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  width: 1.5rem;
  height: 1px;
  background: var(--gl-line);
  transform: translateY(-50%);
}



.gl-ticker span { color: var(--gl-muted); font-size: 0.8rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.gl-ticker span i { color: var(--gl-gold); margin-right: .4rem; }



.gl-section { padding: 5rem 0; }
.gl-section-head { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.gl-section-head h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 3.5vw, 2.6rem); color: var(--gl-cream); }
.gl-section-head h2 .accent { color: var(--gl-gold); font-style: italic; }
.gl-section-head p { color: var(--gl-muted); }

.gl-tabs { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; margin-bottom: 2.5rem; }
.gl-tab {
  border: 1px solid var(--gl-line);
  background: var(--gl-surface);
  color: var(--gl-muted);
  padding: 0.55rem 1.2rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}
.gl-tab.active, .gl-tab:hover { background: var(--gl-gold); color: #1a1409; border-color: var(--gl-gold); }
.gl-tab-panel { display: none; }
.gl-tab-panel.active { display: block; }
.gl-tab-title { text-align: center; margin-bottom: .3rem; }
.gl-tab-title h3 { font-family: var(--font-display); color: var(--gl-gold); font-style: italic; font-size: 1.6rem; }
.gl-tab-title p { color: var(--gl-muted); font-size: .9rem; margin-bottom: 2rem; }

.gl-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: var(--gl-surface);
  border: 1px solid var(--gl-line);
  border-radius: 12px;
  padding: 1rem 1.2rem;
  text-decoration: none;
  margin-bottom: 1rem;
}
.gl-item-row .name { color: var(--gl-cream); font-family: var(--font-display); font-weight: 600; }
.gl-item-row .desc { color: var(--gl-muted); font-size: 0.82rem; }
.gl-item-row .price { color: var(--gl-gold); font-weight: 700; white-space: nowrap; }
.gl-item-row .add-btn {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--gl-gold); color: #1a1409;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.gl-best-card {
  background: var(--gl-surface);
  border: 1px solid var(--gl-line);
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
}
.gl-best-card .img-wrap { position: relative; }
.gl-best-card img { width: 100%; height: 170px; object-fit: cover; display: block; }
.gl-best-card .badge-tag {
  position: absolute; top: 10px; left: 10px;
  background: rgba(16,13,10,.85); color: var(--gl-gold);
  font-size: 0.62rem; letter-spacing: .08em; text-transform: uppercase;
  font-weight: 700; padding: 0.3rem 0.6rem; border-radius: 999px;
}
.gl-best-card .body { padding: 1rem; }
.gl-best-card h6 { font-family: var(--font-display); color: var(--gl-cream); }
.gl-best-card p { color: var(--gl-muted); font-size: 0.82rem; }

.gl-split { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.gl-split img,
.gl-split video {
  width: 100%;
  height: 340px;
  border-radius: 16px;
  object-fit: cover;
  display: block;
}


.gl-feature { display: flex; gap: 0.8rem; margin-top: 1.2rem; }
.gl-feature i { color: var(--gl-gold); font-size: 1.3rem; }
.gl-feature h6 { color: var(--gl-cream); font-family: var(--font-display); margin-bottom: .2rem; }
.gl-feature p { color: var(--gl-muted); font-size: 0.82rem; margin: 0; }
.gl-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.gl-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; text-align: center; }
.gl-steps .num { font-family: var(--font-display); font-style: italic; color: var(--gl-gold); opacity: .5; font-size: 2.2rem; }
.gl-steps h6 { font-family: var(--font-display); color: var(--gl-cream); margin: .4rem 0 .3rem; }
.gl-steps p { color: var(--gl-muted); font-size: 0.82rem; }

.gl-review-card {
  background: var(--gl-surface);
  border: 1px solid var(--gl-line);
  border-radius: 14px;
  padding: 1.2rem;
}
.gl-review-card .stars { color: var(--gl-gold); font-size: .8rem; margin-bottom: .5rem; }
.gl-review-card p.quote { color: var(--gl-cream); font-size: 0.88rem; font-family: var(--font-body); }
.gl-review-card .who { display: flex; align-items: center; gap: .6rem; margin-top: .8rem; }
.gl-review-card .avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--gl-gold); color: #1a1409;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .8rem;
}
.gl-review-card .who small { display: block; color: var(--gl-muted); font-size: .7rem; }

.gl-faq-item {
  background: var(--gl-surface);
  border: 1px solid var(--gl-line);
  border-radius: 14px;
  padding: 1.1rem 1.4rem;
  margin-bottom: 1rem;
  transition: border-color 0.25s ease;
}
.gl-faq-item:hover {
  border-color: var(--gl-gold);
}

.gl-faq-item.open {
  border-color: var(--gl-gold);
}
.gl-faq-item button {
  width: 100%; background: none; border: none; text-align: left;
  color: var(--gl-cream); font-family: var(--font-display); font-size: 1.05rem;
  display: flex; justify-content: space-between; align-items: center;
}
.gl-faq-item .answer {
  color: var(--gl-muted);
  font-size: 0.88rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition: max-height 0.35s ease, opacity 0.3s ease, margin-top 0.3s ease;
}
.gl-faq-item.open .answer {
  max-height: 300px;
  opacity: 1;
  margin-top: .7rem;
}


.gl-faq-item i { color: var(--gl-gold); transition: transform .2s; }
.gl-faq-item.open i { transform: rotate(180deg); }

.gl-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; }
.gl-map-card {
  border-radius: 16px; height: 100%; min-height: 320px; position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 30% 40%, rgba(226,165,60,.18), transparent 55%),
    repeating-linear-gradient(0deg, var(--gl-surface) 0 38px, var(--gl-surface-2) 38px 40px),
    repeating-linear-gradient(90deg, var(--gl-surface) 0 38px, var(--gl-surface-2) 38px 40px);
  border: 1px solid var(--gl-line);
}
.gl-map-card i.pin {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-100%);
  font-size: 2.4rem; color: var(--gl-red);
}
.gl-visit-info p.lead { color: var(--gl-muted); font-size: 0.95rem; }
.gl-visit-row { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: 1rem; }
.gl-visit-row i { color: var(--gl-gold); margin-top: .2rem; }
.gl-visit-row b { display: block; color: var(--gl-cream); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.gl-visit-row span, .gl-visit-row a { color: var(--gl-muted); text-decoration: none; }


/* Menu page background/cards match home page theme */
.premium-menu-page {
  background: var(--gl-darker) !important;
}
.premium-menu-page {
  --card-bg: var(--gl-surface)
  --card-footer-bg: var(--gl-surface-2)!important;
  --text-primary: var(--gl-cream)!important;
  --text-muted: var(--gl-muted);
  --accent-orange: var(--gl-gold)!important;
  --price-gold: var(--gl-gold)!important;
}



/* ---- Visit Us: card wrapper ---- */
.gl-visit-info {
  background: var(--gl-surface);
  border: 1px solid var(--gl-line);
  border-radius: 16px;
  padding: 2rem;
}

/* dash-style eyebrow (matches How-to-Order / no pill bg) */
.gl-visit-info .gl-eyebrow {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  gap: 0.75rem;
}
.gl-visit-info .gl-eyebrow .dot { display: none; }
.gl-visit-info .gl-eyebrow::before,
.gl-visit-info .gl-eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--gl-gold);
}

/* icon boxes */
.gl-visit-row {
  align-items: center;
}
.gl-visit-row i {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(226,165,60,.15);
  border: 1px solid rgba(226,165,60,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 0;
}






/* ---- Why Grill Lab: media with overlay ---- */
.gl-why-media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.gl-why-media img,
.gl-why-media video {
  width: 100%;
  height: auto;
  display: block;
}
.gl-why-placeholder {
  width: 100%;
  height: 100%;
  background: var(--gl-surface);
}
.gl-why-media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(16,13,10,0) 40%, rgba(16,13,10,.85) 100%);
}
.gl-why-overlay-text {
  position: absolute;
  left: 1.5rem; bottom: 1.5rem;
  z-index: 2;
}
.gl-why-overlay-text .tag {
  display: block;
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--gl-gold);
  font-weight: 700;
  margin-bottom: .3rem;
}
.gl-why-overlay-text h5 {
  font-family: var(--font-display);
  color: var(--gl-cream);
  font-size: 1.4rem;
  margin: 0;
}
.gl-why-badge {
  position: absolute;
  right: 1.5rem; bottom: 1.5rem;
  z-index: 2;
  text-align: center;
}
.gl-why-badge b {
  display: block;
  font-family: var(--font-display);
  color: var(--gl-gold);
  font-size: 1.6rem;
  font-style: italic;
}
.gl-why-badge span {
  display: block;
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gl-muted);
}

/* ---- Why Grill Lab: feature cards ---- */
.gl-feature {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  border: 1px solid var(--gl-line);
  border-radius: 14px;
  padding: 1.2rem;
  background: var(--gl-surface);
  margin-top: 0;
}
.gl-feature-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(226,165,60,.15);
  border: 1px solid rgba(226,165,60,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gl-feature-icon i {
  color: var(--gl-gold);
  font-size: 1.1rem;
}

@media (max-width: 576px) {
  .gl-visit {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .gl-visit-info {
    padding: 1.5rem;
  }
}


@media (max-width: 860px) {
  .gl-section { padding: 2.5rem 0; }
  .gl-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: stretch; }
  .gl-steps { grid-template-columns: 1fr 1fr; }
  .gl-feature-grid { grid-template-columns: 1fr; }
  .gl-split { grid-template-columns: 1fr; }
  .gl-visit-info .gl-btn-primary,
  .gl-visit-info .gl-btn-outline {
    padding: 0.7rem 1.4rem;
    font-size: 0.85rem;
  }
}

@media (min-width: 577px) and (max-width: 860px) {
  .gl-feature-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 576px) {
  .gl-section { padding: 2rem 0; }
  .gl-visit {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .gl-visit-info {
    padding: 1.5rem;
  }
}

/* ---- Tablet / iPad range fix (577px–991px) ---- */
@media (min-width: 577px) and (max-width: 991px) {
  .gl-hero {
    min-height: auto;
    padding: 4rem 0 2.5rem;
  }
  .gl-hero h1 {
    font-size: clamp(2.2rem, 6vw, 3.2rem);
  }
  .gl-hero p.lead {
    max-width: 100%;
  }
  .gl-hero-stats {
    gap: 1.4rem;
  }
  .gl-hero .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .gl-ticker {
    padding: 0.6rem 0;
  }
  .gl-ticker-track {
    gap: 1.6rem;
  }
  .gl-ticker span {
    font-size: 0.72rem;
  }

  .gl-section {
    padding: 3rem 0;
  }
  .gl-section-head {
    margin-bottom: 2rem;
  }

  .gl-tabs {
    gap: 0.4rem;
    margin-bottom: 1.8rem;
  }
  .gl-tab {
    padding: 0.45rem 0.9rem;
    font-size: 0.78rem;
  }
}


/* ---- iPad Pro range fix (992px–1366px) ---- */
@media (min-width: 992px) and (max-width: 1366px) {
  #mainNav .nav-link {
    font-size: 0.82rem;
    padding-left: 0.6rem !important;
    padding-right: 0.6rem !important;
    white-space: nowrap;
  }
  #mainNav .navbar-brand {
    font-size: 0.95rem;
  }
  #mainNav .btn-warning,
  #mainNav .btn-order {
    padding: 0.5rem 1rem !important;
    font-size: 0.8rem !important;
  }

  .gl-hero {
    min-height: auto;
    padding: 3.5rem 0 2rem;
  }
  .gl-hero h1 {
    font-size: clamp(2.4rem, 5.5vw, 3.4rem);
  }
  .gl-hero p.lead {
    margin: 1rem 0 1.6rem;
  }
  .gl-hero-ctas {
    margin-bottom: 1.8rem;
  }

  .gl-ticker-track {
    gap: 2rem;
  }
}

@media (max-width: 576px) {
  .gl-hero {
    min-height: auto;
    padding-top: 3rem;
    padding-bottom: 3rem;
    align-items: flex-start;
  }
}