  body { margin: 0; background: var(--color-bg); }
  a { text-decoration: none; }
  .gd-svc-sub { color: var(--text-muted); }
  @media (max-width: 900px) {
    .gd-hero-grid, .gd-quote-grid { grid-template-columns: 1fr !important; }
    .gd-about-grid { grid-template-columns: 1fr !important; }
    .gd-services-grid, .gd-process-grid, .gd-gallery-grid, .gd-reviews-grid, .gd-footer-grid { grid-template-columns: 1fr 1fr !important; }
    .gd-desktop-nav, .gd-phone { display: none !important; }
    .gd-menu-btn { display: inline-flex !important; }
  }
  .gd-menu-btn { display: none; }
  @media (min-width: 901px) { .gd-mobile-nav { display: none !important; } }
  /* ---- Motion ---- */
  @keyframes gd-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  @keyframes gd-slide-in { from { opacity: 0; transform: translateX(28px) scale(0.98); } to { opacity: 1; transform: none; } }
  @keyframes gd-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes gd-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,176,32,0.55); } 70%,100% { box-shadow: 0 0 0 8px rgba(255,176,32,0); } }
  /* Grids cascade in child-by-child */
  .gd-reveal > * { opacity: 0; }
  .gd-reveal.in > * { animation: gd-rise 0.7s var(--ease-out) both; }
  .gd-reveal.in > *:nth-child(2) { animation-delay: 80ms; }
  .gd-reveal.in > *:nth-child(3) { animation-delay: 160ms; }
  .gd-reveal.in > *:nth-child(4) { animation-delay: 240ms; }
  .gd-reveal.in > *:nth-child(5) { animation-delay: 320ms; }
  .gd-reveal.in > *:nth-child(6) { animation-delay: 400ms; }
  .gd-reveal.in > *:nth-child(n+7) { animation-delay: 460ms; }
  .gd-reveal.shown > * { opacity: 1 !important; transform: none !important; animation: none !important; }
  /* Section eyebrow: a short ember rule draws in before the label */
  .gd-eyebrow-rule { display: inline-block; width: 22px; height: 2px; background: currentColor; transform-origin: left; transform: scaleX(0); }
  .gd-head.in .gd-eyebrow-rule, .gd-head.shown .gd-eyebrow-rule { animation: gd-rule 0.6s 0.15s var(--ease-out) both; }
  .gd-head.shown .gd-eyebrow-rule { transform: scaleX(1); }
  /* Hero entrance */
  .gd-hero-copy > * { animation: gd-rise 0.8s var(--ease-out) both; }
  .gd-hero-copy > *:nth-child(2) { animation-delay: 90ms; }
  .gd-hero-copy > *:nth-child(3) { animation-delay: 180ms; }
  .gd-hero-copy > *:nth-child(4) { animation-delay: 270ms; }
  .gd-hero-copy > *:nth-child(5) { animation-delay: 360ms; }
  .gd-hero-card-in { animation: gd-slide-in 0.9s 0.25s var(--ease-out) both; }
  .gd-motion-done .gd-hero-copy > *, .gd-motion-done .gd-hero-card-in { animation: none; opacity: 1; transform: none; }
  .gd-pulse { animation: gd-pulse 2.2s ease-out infinite; }
  /* Header + scroll progress */
  .gd-header.scrolled { box-shadow: 0 6px 24px -12px rgba(23,24,28,0.25); }
  #gd-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; background: var(--primary); transform-origin: left; transform: scaleX(0); pointer-events: none; }
  .gd-dark-work .gd-tabs--pills .gd-tab:not(.gd-tab--active) { color: rgba(255,255,255,0.82); border-color: rgba(255,255,255,0.22); background: transparent; }
  .gd-dark-work .gd-tabs--pills .gd-tab:not(.gd-tab--active):hover { color: #fff; border-color: rgba(255,255,255,0.5); }
  .gd-filters button, .gd-filters [role="tab"] { white-space: nowrap; }
  @media (max-width: 900px) { .gd-ba-grid { grid-template-columns: 1fr !important; } }
  @media (prefers-reduced-motion: reduce) {
    .gd-reveal > *, .gd-hero-copy > *, .gd-hero-card-in { opacity: 1 !important; transform: none !important; animation: none !important; }
    .gd-eyebrow-rule { transform: scaleX(1); } .gd-pulse { animation: none; } [data-gd-parallax] { transform: none !important; }
  }

  /* ---- Phones ---- */
  .gd-filters { max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .gd-filters::-webkit-scrollbar { display: none; }
  @media (max-width: 600px) {
    .gd-hero-grid { padding-top: 48px !important; padding-bottom: 56px !important; }
    .gd-services-grid, .gd-reviews-grid, .gd-form-row { grid-template-columns: 1fr !important; }
  }
  /* Sticky call / estimate bar (phones and small tablets) */
  .gd-mobile-bar { display: none; }
  @media (max-width: 900px) {
    body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
    .gd-mobile-bar {
      display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
      padding: 10px var(--container-pad) calc(10px + env(safe-area-inset-bottom));
      background: rgba(255,255,255,0.94); backdrop-filter: saturate(140%) blur(12px);
      border-top: 1px solid var(--border); box-shadow: 0 -8px 24px -16px rgba(23,24,28,0.35);
    }
  }
  .gd-mobile-bar__btn {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px;
    border: none; border-radius: var(--radius-md); color: #fff; cursor: pointer;
    font-family: var(--font-body); font-size: 16px; font-weight: 700;
  }
  .gd-mobile-bar__btn--call { background: var(--graphite-900); }
  .gd-mobile-bar__btn--quote { background: var(--primary); }
