/* ── SITE HEADER ─────────────────────────────── */
.grr-header {
  position:sticky; top:0; z-index:200;
  background:rgba(15,15,15,.93);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--grr-border);
  transition:border-color var(--ease), box-shadow var(--ease);
}
.grr-header.scrolled {
  box-shadow:0 4px 24px rgba(0,0,0,.55);
  border-bottom-color:var(--grr-gold-border);
}

.header-inner {
  display:flex; align-items:center; gap:var(--s6);
  max-width:var(--w-wide); margin-inline:auto;
  padding-inline:clamp(var(--s4),4vw,var(--s12));
  height:72px;
}

/* Logo */
.grr-logo {
  display:flex; align-items:center; gap:var(--s3);
  flex-shrink:0; transition:opacity var(--ease);
}
.grr-logo:hover { opacity:.82; }
.logo-mark { color:var(--grr-gold); }
.logo-text { display:flex; flex-direction:column; line-height:1.2; }
.logo-name {
  font-family:var(--f-display); font-size:1.1rem; font-weight:700;
  color:var(--grr-text); letter-spacing:-.01em;
}
.logo-sub {
  font-size:.7rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--grr-gold);
}

/* Desktop nav */
.main-nav { display:none; margin-left:auto; }
.main-nav ul { display:flex; align-items:center; gap:var(--s4); list-style:none; }
.main-nav .nav-drop-menu { display:none; } /* override flex from parent ul rule */
.main-nav .nav-dropdown.open .nav-drop-menu { display:block; }
.nav-link {
  font-size:clamp(.875rem, .8rem + .35vw, 1.05rem); font-weight:500; color:var(--grr-text-muted);
  transition:color var(--ease); position:relative; padding-block:var(--s3);
  white-space:nowrap;
}
.nav-link::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1.5px; background:var(--grr-gold);
  transition:width var(--ease);
}
.nav-link:hover { color:var(--grr-text); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.nav-link.active { color:var(--grr-text); }

/* Header actions */
.header-actions {
  display:flex; align-items:center; gap:var(--s4);
  margin-left:auto;
}
.header-phone {
  display:none; align-items:center; gap:var(--s2);
  font-size:clamp(.8rem, .75rem + .3vw, 1rem); font-weight:600; color:var(--grr-gold);
  transition:color var(--ease); white-space:nowrap;
}
.header-phone:hover { color:var(--grr-gold-hi); }

/* Hamburger */
.nav-toggle {
  display:flex; flex-direction:column; gap:5px;
  padding:var(--s3); border-radius:var(--r-sm);
  min-width:44px; min-height:44px; /* accessible tap target */
  align-items:center; justify-content:center;
  transition:background var(--ease);
}
.nav-toggle:hover { background:var(--grr-surface-3); }
.nav-toggle span {
  display:block; width:26px; height:2px;
  background:var(--grr-text); border-radius:2px;
  transition:all var(--ease); transform-origin:center;
}
.nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.mobile-menu {
  display:none; border-top:1px solid var(--grr-border);
  background:var(--grr-surface); padding:var(--s6);
}
.mobile-menu.open { display:block; }
.mobile-menu ul { display:flex; flex-direction:column; gap:var(--s4); }
.mobile-menu .nav-link {
  font-size:var(--t-lg); display:block;
  padding-block:var(--s3); color:var(--grr-text-muted);
  min-height:52px; display:flex; align-items:center; /* large tap target in mobile menu */
}
.mobile-menu .nav-phone {
  font-weight:700; color:var(--grr-gold) !important;
}

/* ── Mobile dropdown override: expand inline, not absolute ── */
.mobile-menu .nav-dropdown { position:static; }
.mobile-menu .nav-drop-btn {
  width:100%; font-size:var(--t-lg); color:var(--grr-text-muted);
  padding-block:var(--s3); min-height:52px;
  justify-content:space-between;
}
.mobile-menu .nav-drop-menu {
  position:static;
  display:none;
  box-shadow:none;
  border:none;
  border-left:2px solid var(--grr-border);
  border-radius:0;
  background:transparent;
  margin-left:var(--s4);
  margin-top:var(--s2);
  padding:0;
  width:100%;
  min-width:unset;
}
.mobile-menu .nav-dropdown.open .nav-drop-menu { display:block; }
.mobile-menu .nav-drop-item {
  font-size:var(--t-base);
  padding:var(--s3) var(--s4);
  white-space:normal;
  border-bottom:none;
  min-height:48px; display:flex; align-items:center;
}
.mobile-menu .nav-drop-divider { display:none; }

/* ── Mobile-only: hide CTA button, keep only hamburger ── */
@media (max-width:1039px) {
  .header-actions .btn--primary { display:none; }
}

@media (min-width:1200px) {
  .header-phone { display:flex; }
}
@media (min-width:1040px) {
  .main-nav { display:block; }
  .header-actions { margin-left:0; }
  .nav-toggle { display:none; }
}

/* ── Dropdown ──────────────────────────────── */
.nav-dropdown { position:relative; }

.nav-drop-btn {
  display:flex; align-items:center; gap:5px;
  background:none; border:none; cursor:pointer;
  font-size:clamp(.875rem,.8rem + .35vw,1.05rem); font-weight:500;
  color:var(--grr-text-muted); padding-block:var(--s3);
  transition:color var(--ease); white-space:nowrap;
  font-family:inherit;
}
.nav-drop-btn:hover { color:var(--grr-text); }
.nav-dropdown.open .nav-drop-btn { color:var(--grr-text); }

.drop-chevron {
  transition:transform .2s ease;
  flex-shrink:0;
}
.nav-dropdown.open .drop-chevron { transform:rotate(180deg); }

.nav-drop-menu {
  display:none;
  position:absolute; top:calc(100% + 2px); left:0;
  min-width:200px;
  background:var(--grr-surface);
  border:1px solid var(--grr-border);
  border-radius:var(--r-md);
  box-shadow:0 16px 40px rgba(0,0,0,.55);
  overflow:hidden;
  z-index:300;
  list-style:none;
}
.nav-dropdown.open .nav-drop-menu { display:block; }

.nav-drop-item {
  display:block;
  padding:var(--s3) var(--s5);
  font-size:var(--t-sm); font-weight:500;
  color:var(--grr-text-muted);
  transition:background var(--ease), color var(--ease);
  white-space:nowrap;
  border-bottom:1px solid var(--grr-border);
}
.nav-drop-item:last-child { border-bottom:none; }
.nav-drop-item:hover {
  background:var(--grr-surface-2);
  color:var(--grr-gold);
}
.nav-drop-item.active { color:var(--grr-gold); font-weight:600; }

/* divider row between service items and All Services */
.nav-drop-divider {
  height:1px;
  background:var(--grr-border);
  margin:var(--s1) 0;
  list-style:none;
}

/* All Services → accent */
.nav-drop-item--all {
  color:var(--grr-gold);
  font-weight:600;
  border-bottom:none;
}
.nav-drop-item--all:hover {
  color:var(--grr-gold-hover);
  background:var(--grr-surface-2);
}

/* ── SITE FOOTER ─────────────────────────────── */
.grr-footer {
  background:#0a0a0a;
  border-top:1px solid var(--grr-border);
  padding-top:clamp(var(--s12),6vw,var(--s20));
}

.footer-grid {
  display:grid; gap:var(--s10);
  grid-template-columns:1fr;
  margin-bottom:var(--s12);
}
@media (min-width:640px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (min-width:1024px) {
  .footer-grid { grid-template-columns:2fr 1fr 1fr 1.5fr; }
}

.footer-tagline {
  font-size:var(--t-sm); font-weight:600;
  color:var(--grr-gold); letter-spacing:.05em;
  margin-block:var(--s3) var(--s4);
}
.footer-desc {
  font-size:var(--t-sm); color:var(--grr-text-muted);
  line-height:1.8; margin-bottom:var(--s5);
}
.footer-social { display:flex; gap:var(--s3); }
.footer-social a {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; background:var(--grr-surface);
  border:1px solid var(--grr-border); border-radius:var(--r-md);
  color:var(--grr-text-muted); transition:all var(--ease);
}
.footer-social a:hover {
  background:var(--grr-gold-bg); border-color:var(--grr-gold-border);
  color:var(--grr-gold);
}

.footer-col h4 {
  font-size:var(--t-sm); font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--grr-text-muted);
  margin-bottom:var(--s5);
}
.footer-col ul { display:flex; flex-direction:column; gap:var(--s3); }
.footer-col a {
  font-size:var(--t-base); color:var(--grr-text-muted);
  transition:color var(--ease); display:flex; align-items:center; gap:var(--s2);
  min-height:44px; /* accessible tap target */
}
.footer-col a:hover { color:var(--grr-gold); }
.footer-col a svg { color:var(--grr-gold); flex-shrink:0; }

.footer-badges { margin-top:var(--s6); display:flex; flex-direction:column; gap:var(--s2); }
.f-badge {
  font-size:var(--t-xs); color:var(--grr-text-faint);
  border:1px solid var(--grr-border); border-radius:var(--r-sm);
  padding:.25em .8em; display:inline-block;
}

.footer-bottom {
  border-top:1px solid var(--grr-divider);
  padding-block:var(--s6);
  display:flex; flex-direction:column; gap:var(--s2);
}
.footer-copy { font-size:var(--t-sm); color:var(--grr-text-faint); }
.footer-land { font-size:var(--t-sm); color:var(--grr-text-faint); font-style:italic; line-height:1.7; }
