/*
Theme Name:  GapMetric
Theme URI:   https://example.com
Author:      Your Name
Author URI:  https://example.com
Description: A structured, ACF-driven WordPress theme based on the Route Society layout architecture. Sections: Hero, Category Grid, Filterable Content Grid, Lead Capture, About, Feature Icons, Media Showcase, Partner CTA.
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: generic-theme
Tags:        custom-colors, custom-logo, full-width-template, threaded-comments
*/

/* ============================================================
   CSS CUSTOM PROPERTIES — DESIGN TOKEN SYSTEM
   Override these variables in a child theme or via the
   WordPress Customizer to re-skin without touching markup.
   ============================================================ */
:root {

  /* ── Standard WP plugin compatibility variables ─────────── */
  --primary-color:      #D4AF37;   /* main accent — gold default  */
  --secondary-color:    #F7F6F2;   /* light / text default        */
  --background-color:   #0B0B0B;   /* page background             */
  --text-color:         #F7F6F2;   /* body text                   */
  --accent-color:       #D4AF37;   /* alias for --primary-color   */

  /* ── Brand palette ──────────────────────────────────────── */
  --color-bg:           #0B0B0B;
  --color-bg-mid:       #141414;
  --color-bg-light:     #1E1E1E;
  --color-bg-card:      #181818;
  --color-text:         #F7F6F2;
  --color-text-dim:     #E8E6DF;
  --color-accent:       #D4AF37;
  --color-accent-light: #E8CC6A;
  --color-accent-dark:  #A88A20;
  --color-accent-muted: rgba(212, 175, 55, 0.15);
  --color-error:        #FF6B6B;

  /* ── Category / tier colour palette ────────────────────── */
  --cat-starter:      #1F7A5A;
  --cat-professional: #1C2F5C;
  --cat-premium:      #6A1E2D;
  --cat-enterprise:   #C8A84B;

  /* ── Typography ─────────────────────────────────────────── */
  --font-display: 'Cinzel', 'Times New Roman', serif;
  --font-body:    'Montserrat', system-ui, sans-serif;
  --font-mono:    'Courier New', monospace;

  /* ── Spacing scale ──────────────────────────────────────── */
  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  2rem;
  --space-lg:  4rem;
  --space-xl:  7rem;
  --space-2xl: 12rem;

  /* ── Layout ─────────────────────────────────────────────── */
  --max-width:     1400px;
  --content-width: 860px;
  --gutter:        clamp(1.5rem, 5vw, 4rem);

  /* ── Motion ─────────────────────────────────────────────── */
  --ease-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-reveal:   cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 200ms;
  --duration-mid:  450ms;
  --duration-slow: 800ms;

  /* ── Borders ─────────────────────────────────────────────── */
  --border-accent: 1px solid rgba(212, 175, 55, 0.35);
  --border-subtle: 1px solid rgba(247, 246, 242, 0.12);

  /* ── Form tokens ─────────────────────────────────────────── */
  --input-bg:           rgba(247, 246, 242, 0.04);
  --input-border:       rgba(247, 246, 242, 0.12);
  --input-border-focus: rgba(212, 175, 55, 0.5);
  --input-text:         #F7F6F2;
  --input-placeholder:  rgba(247, 246, 242, 0.25);
  --label-color:        rgba(247, 246, 242, 0.5);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.7;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-standard);
}
a:hover { color: var(--color-accent-light); }

::selection { background: var(--color-accent); color: var(--color-bg); }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.15;
  color: var(--color-text);
}

h1 { font-size: clamp(2.2rem, 5vw,   4.5rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.8rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.8rem); }
h4 { font-size: 1.1rem; letter-spacing: 0.12em; }

p {
  font-size: clamp(0.9rem, 1.2vw, 1.05rem);
  line-height: 1.8;
  color: rgba(247, 246, 242, 0.78);
}

.eyebrow {
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(212, 175, 55, 0.7);
  display: block;
  margin-bottom: 1rem;
}

.label {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-accent);
}

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.container--narrow {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.gold-line {
  width: 60px;
  height: 1px;
  background: var(--color-accent);
  margin: 1.5rem auto;
  display: block;
}
.gold-line--left { margin-left: 0; }

.section-header {
  text-align: center;
  margin-bottom: var(--space-lg);
}
.section-header h2 { margin-bottom: 1rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 1.1rem 2.4rem;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--duration-mid) var(--ease-standard);
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-101%);
  transition: transform var(--duration-mid) var(--ease-standard);
  z-index: 0;
}
.btn:hover::before { transform: translateX(0); }
.btn span          { position: relative; z-index: 1; }

/* Solid primary */
.btn--primary {
  background: var(--color-accent);
  color: var(--color-bg);
  border-color: var(--color-accent);
}
.btn--primary::before { background: var(--color-accent-light); }
.btn--primary:hover   { color: var(--color-bg); }

/* Ghost / outline */
.btn--outline {
  background: transparent;
  color: var(--color-text);
  border-color: rgba(247, 246, 242, 0.35);
}
.btn--outline::before { background: rgba(212, 175, 55, 0.12); }
.btn--outline:hover   { color: var(--color-accent); border-color: var(--color-accent); }

/* Accent outline */
.btn--outline-accent {
  background: transparent;
  color: var(--color-accent);
  border-color: rgba(212, 175, 55, 0.5);
}
.btn--outline-accent::before { background: var(--color-accent); }
.btn--outline-accent:hover   { color: var(--color-bg); border-color: var(--color-accent); }

/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */
.announcement-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1001;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  color: var(--color-bg);
  text-align: center;
  padding: 0 var(--gutter);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.announcement-bar a { color: var(--color-bg); text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================
   SITE HEADER
   ============================================================ */
.site-header {
  position: fixed;
  top: 36px; left: 0; right: 0;
  z-index: 1000;
  height: 80px;
  display: flex;
  align-items: center;
  transition: background var(--duration-slow) var(--ease-standard),
              border-bottom var(--duration-slow) var(--ease-standard);
}

.site-header.is-scrolled {
  background: rgba(11, 11, 11, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: var(--border-accent);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Logo */
.site-header__logo {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  text-decoration: none;
}

.site-header__logo-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(212, 175, 55, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 0.95rem;
  color: var(--color-accent);
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

.site-header__logo-text { display: flex; flex-direction: column; line-height: 1; }

.site-header__logo-name {
  font-family: var(--font-display);
  font-size: 0.95rem;
  letter-spacing: 0.22em;
  color: var(--color-text);
  text-transform: uppercase;
}

.site-header__logo-tagline {
  font-family: var(--font-body);
  font-size: 0.55rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-top: 0.3rem;
}

/* Primary nav */
.site-nav {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.site-nav a {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(247, 246, 242, 0.7);
  text-decoration: none;
  position: relative;
  transition: color var(--duration-fast) var(--ease-standard);
}

.site-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 1px;
  background: var(--color-accent);
  transition: width var(--duration-mid) var(--ease-standard);
}

.site-nav a:hover              { color: var(--color-accent); }
.site-nav a:hover::after       { width: 100%; }

.nav-cta {
  padding: 0.65rem 1.4rem !important;
  border: 1px solid rgba(212, 175, 55, 0.5) !important;
  color: var(--color-accent) !important;
  transition: all var(--duration-mid) var(--ease-standard) !important;
}
.nav-cta:hover                 { background: var(--color-accent) !important; color: var(--color-bg) !important; }
.nav-cta::after                { display: none !important; }

/* Header actions area */
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.site-header__phone {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: rgba(247, 246, 242, 0.6);
  text-decoration: none;
}

/* Hamburger */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 0.5rem;
  background: none;
  border: none;
}
.menu-toggle span {
  display: block;
  width: 24px; height: 1px;
  background: var(--color-text);
  transition: all var(--duration-mid) var(--ease-standard);
}
.menu-toggle.is-active span:nth-child(1) { transform: rotate(45deg)  translate(4px, 4px); }
.menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.menu-toggle.is-active span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  height: 100vh;
  min-height: 700px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--color-bg);
}

.hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
  animation: heroZoom 8s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
  will-change: transform;
}

@keyframes heroZoom {
  from { transform: scale(1.08); }
  to   { transform: scale(1.0);  }
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(11,11,11,0.85) 0%,
    rgba(11,11,11,0.55) 50%,
    rgba(11,11,11,0.4)  100%);
}

.hero__overlay-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 35%;
  background: linear-gradient(to top, var(--color-bg), transparent);
}

.hero__content {
  position: relative;
  z-index: 2;
  padding-top: 200px;
}

.hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.8rem;
  opacity: 0;
  animation: fadeUp 0.8s 0.3s var(--ease-reveal) forwards;
}
.hero__eyebrow-line { width: 40px; height: 1px; background: var(--color-accent); }
.hero__eyebrow-text {
  font-family: var(--font-body);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--color-accent);
}

.hero h1 {
  max-width: 800px;
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fadeUp 0.9s 0.5s var(--ease-reveal) forwards;
}
.hero h1 em { font-style: normal; color: var(--color-accent); }

.hero__subtitle {
  max-width: 520px;
  font-size: clamp(0.9rem, 1.2vw, 1.05rem);
  color: rgba(247, 246, 242, 0.72);
  margin-bottom: 2.8rem;
  opacity: 0;
  animation: fadeUp 0.9s 0.7s var(--ease-reveal) forwards;
}

.hero__actions {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeUp 0.9s 0.9s var(--ease-reveal) forwards;
}

.hero__category-strip {
  position: absolute;
  bottom: 0; right: 0;
  z-index: 3;
  display: flex;
  opacity: 0;
  animation: fadeIn 0.8s 1.2s var(--ease-reveal) forwards;
}

.hero__category-badge {
  padding: 0.7rem 1.1rem;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(247, 246, 242, 0.9);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.hero__category-badge::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.hero__category-badge--starter::before      { background: var(--cat-starter); }
.hero__category-badge--professional::before { background: var(--cat-professional); }
.hero__category-badge--premium::before      { background: var(--cat-premium); }
.hero__category-badge--enterprise::before   { background: var(--cat-enterprise); }

.hero__scroll {
  position: absolute;
  bottom: 2.5rem; left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  opacity: 0;
  animation: fadeIn 1s 1.4s var(--ease-reveal) forwards;
}
.hero__scroll-label {
  font-size: 0.58rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(247, 246, 242, 0.4);
}
.hero__scroll-line {
  width: 1px; height: 50px;
  background: linear-gradient(to bottom, var(--color-accent), transparent);
  animation: scrollPulse 2s 2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%, 100% { opacity: 0.4; transform: scaleY(1); }
  50%       { opacity: 1;   transform: scaleY(1.1); }
}

/* ============================================================
   CATEGORY GRID  (4-Tier equivalent)
   ============================================================ */
.categories-section {
  background: var(--color-bg-mid);
  padding: var(--space-xl) 0;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(212, 175, 55, 0.12);
  border: var(--border-accent);
}

.category-card {
  background: var(--color-bg-card);
  padding: 2.8rem 2rem;
  position: relative;
  overflow: hidden;
  transition: all var(--duration-mid) var(--ease-standard);
  cursor: default;
}

.category-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  transition: opacity var(--duration-mid) var(--ease-standard);
}
.category-card::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--duration-mid) var(--ease-standard);
}
.category-card:hover             { transform: translateY(-4px); }
.category-card:hover::after      { opacity: 1; }

.category-card--starter::before      { background: var(--cat-starter); }
.category-card--professional::before { background: var(--cat-professional); }
.category-card--premium::before      { background: var(--cat-premium); }
.category-card--enterprise::before   { background: var(--cat-enterprise); }

.category-card--starter::after      { background: rgba(31,122,90,0.04); }
.category-card--professional::after { background: rgba(28,47,92,0.06); }
.category-card--premium::after      { background: rgba(106,30,45,0.06); }
.category-card--enterprise::after   { background: rgba(200,168,75,0.06); }

.category-card__icon    { font-size: 1.4rem; margin-bottom: 1.2rem; display: block; }

.category-card__name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  letter-spacing: 0.14em;
  margin-bottom: 0.4rem;
  position: relative; z-index: 1;
}
.category-card--starter      .category-card__name { color: var(--cat-starter);      filter: brightness(1.3); }
.category-card--professional .category-card__name { color: #4A7FD4; }
.category-card--premium      .category-card__name { color: #C44A62; }
.category-card--enterprise   .category-card__name { color: var(--cat-enterprise); }

.category-card__tagline {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,246,242,0.45);
  margin-bottom: 1.4rem;
  position: relative; z-index: 1;
}

.category-card__desc {
  font-size: 0.88rem;
  line-height: 1.75;
  color: rgba(247,246,242,0.65);
  position: relative; z-index: 1;
  margin-bottom: 1.8rem;
}

.category-card__meta        { display: flex; flex-direction: column; gap: 0.5rem; position: relative; z-index: 1; }
.category-card__meta-item   { display: flex; justify-content: space-between; font-size: 0.72rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(247,246,242,0.06); }
.category-card__meta-label  { color: rgba(247,246,242,0.4); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.65rem; }
.category-card__meta-value  { color: rgba(247,246,242,0.8); font-weight: 500; }

/* ============================================================
   FILTERABLE CONTENT GRID
   ============================================================ */
.items-section { padding: var(--space-xl) 0; background: var(--color-bg); }

.items-filter {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.filter-btn {
  font-family: var(--font-body);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.6rem 1.2rem;
  background: transparent;
  color: rgba(247,246,242,0.5);
  border: 1px solid rgba(247,246,242,0.12);
  cursor: pointer;
  transition: all var(--duration-mid) var(--ease-standard);
}
.filter-btn:hover,
.filter-btn.active {
  color: var(--color-accent);
  border-color: rgba(212,175,55,0.4);
  background: rgba(212,175,55,0.06);
}

.items-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Item card */
.item-card {
  position: relative;
  overflow: hidden;
  background: var(--color-bg-card);
  transition: transform var(--duration-mid) var(--ease-standard);
}
.item-card:hover { transform: translateY(-6px); }

.item-card__link   { display: block; text-decoration: none; color: inherit; }

.item-card__thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--color-bg-light);
}
.item-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-standard);
}
.item-card:hover .item-card__thumb img { transform: scale(1.06); }

.item-card__thumb-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--color-bg), var(--color-bg-mid));
  display: flex; align-items: center; justify-content: center;
}
.item-card__thumb-placeholder span {
  color: rgba(247,246,242,0.08);
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.item-card__thumb-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(11,11,11,0.85) 0%, transparent 50%);
}

.item-card__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  width: 52px; height: 52px;
  border: 1px solid rgba(212,175,55,0.6);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: all var(--duration-mid) var(--ease-standard);
  background: rgba(11,11,11,0.5);
  backdrop-filter: blur(8px);
}
.item-card__play svg { width: 18px; height: 18px; fill: var(--color-accent); margin-left: 3px; }
.item-card:hover .item-card__play { opacity: 1; transform: translate(-50%, -50%) scale(1); }

.item-card__category {
  position: absolute;
  top: 1rem; left: 1rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
  display: flex; align-items: center; gap: 0.4rem;
}
.item-card__category::before { content: ''; width: 6px; height: 6px; border-radius: 50%; }

.item-card__category--starter      { background: rgba(31,122,90,0.85);  color: rgba(247,246,242,0.9); }
.item-card__category--starter::before      { background: #6AFFCA; }
.item-card__category--professional { background: rgba(28,47,92,0.85);   color: rgba(247,246,242,0.9); }
.item-card__category--professional::before { background: #7AACFF; }
.item-card__category--premium      { background: rgba(106,30,45,0.85);  color: rgba(247,246,242,0.9); }
.item-card__category--premium::before      { background: #FF8FA0; }
.item-card__category--enterprise   { background: rgba(200,168,75,0.85); color: var(--color-bg); }
.item-card__category--enterprise::before   { background: var(--color-bg); }

.item-card__cost {
  position: absolute;
  bottom: 1rem; right: 1rem;
  font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-accent);
}

.item-card__body   { padding: 1.5rem; }
.item-card__region { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(212,175,55,0.6); margin-bottom: 0.5rem; }
.item-card__title  { font-family: var(--font-display); font-size: 1.05rem; letter-spacing: 0.06em; color: var(--color-text); margin-bottom: 0.8rem; line-height: 1.3; }

.item-card__meta      { display: flex; gap: 1.2rem; font-size: 0.7rem; color: rgba(247,246,242,0.4); flex-wrap: wrap; }
.item-card__meta-item { display: flex; align-items: center; gap: 0.3rem; }

/* ============================================================
   LEAD CAPTURE / GUIDE SECTION
   ============================================================ */
.guide-section {
  background: var(--color-bg-mid);
  padding: var(--space-xl) 0;
  position: relative;
  overflow: hidden;
}
.guide-section::before {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,0.04) 0%, transparent 70%);
  pointer-events: none;
}

.guide-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }

.guide-content__tag { display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: 1.5rem; }
.guide-content__tag span { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-accent); }
.guide-content__tag-line { width: 30px; height: 1px; background: var(--color-accent); }

.guide-content h2 { margin-bottom: 1.2rem; }
.guide-content p  { margin-bottom: 2rem; }

.guide-features { display: flex; flex-direction: column; gap: 0.8rem; margin-bottom: 2.5rem; }

.guide-feature {
  display: flex; align-items: flex-start; gap: 0.9rem;
  font-size: 0.9rem; color: rgba(247,246,242,0.72);
}
.guide-feature__icon {
  width: 18px; height: 18px;
  border: 1px solid rgba(212,175,55,0.4);
  flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  margin-top: 0.15rem;
}
.guide-feature__icon svg { width: 10px; height: 10px; stroke: var(--color-accent); fill: none; }

.guide-form {
  background: var(--color-bg-card);
  border: var(--border-accent);
  padding: 3rem;
}
.guide-form__title  { font-family: var(--font-display); font-size: 1.3rem; letter-spacing: 0.1em; color: var(--color-text); margin-bottom: 0.5rem; }
.guide-form__sub    { font-size: 0.82rem; color: rgba(247,246,242,0.5); margin-bottom: 2rem; }

.guide-success__title { font-family: var(--font-display); font-size: 1.1rem; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
.guide-success__sub   { font-size: 0.85rem; color: rgba(247,246,242,0.55); }

.form-group           { margin-bottom: 1rem; }
.form-group label     { display: block; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--label-color); margin-bottom: 0.5rem; }
.form-group input,
.form-group select    { width: 100%; background: var(--input-bg); border: 1px solid var(--input-border); color: var(--input-text); padding: 0.9rem 1.1rem; font-family: var(--font-body); font-size: 0.88rem; transition: border-color var(--duration-fast) var(--ease-standard); appearance: none; -webkit-appearance: none; }
.form-group input:focus,
.form-group select:focus { outline: none; border-color: var(--input-border-focus); }
.form-group input::placeholder { color: var(--input-placeholder); }
.form-group select option { background: var(--color-bg-card); color: var(--color-text); }

.form-submit { width: 100%; margin-top: 0.5rem; justify-content: center; }
.form-note   { font-size: 0.7rem; color: rgba(247,246,242,0.3); text-align: center; margin-top: 1rem; }

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.about-section { padding: var(--space-xl) 0; background: var(--color-bg); }
.about-layout  { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }

.about-media { position: relative; }
.about-media__main { aspect-ratio: 4/5; overflow: hidden; background: var(--color-bg-light); }
.about-media__main img { width: 100%; height: 100%; object-fit: cover; }
.about-media__accent {
  position: absolute; bottom: -2rem; right: -2rem;
  width: 55%; aspect-ratio: 1;
  border: var(--border-accent); background: var(--color-bg-mid);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 0.4rem; padding: 1.5rem;
}
.about-media__stat-number { font-family: var(--font-display); font-size: 2.4rem; color: var(--color-accent); line-height: 1; }
.about-media__stat-label  { font-size: 0.62rem; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(247,246,242,0.5); text-align: center; }

.about-content       { padding-top: 1rem; }
.about-content h2    { margin-bottom: 1.4rem; }
.about-content p     { margin-bottom: 1.4rem; }

.about-pillars       { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2.5rem; }
.about-pillar        { padding: 1.2rem; border: var(--border-subtle); border-left: 2px solid var(--color-accent); }
.about-pillar__title { font-family: var(--font-body); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-accent); margin-bottom: 0.4rem; }
.about-pillar__desc  { font-size: 0.82rem; color: rgba(247,246,242,0.6); line-height: 1.6; }

/* ============================================================
   FEATURES SECTION
   ============================================================ */
.features-section { background: var(--color-bg-mid); padding: var(--space-xl) 0; }

.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(247,246,242,0.06);
  margin-top: 3rem;
}

.feature-item { background: var(--color-bg-card); padding: 2rem 1.5rem; text-align: center; transition: background var(--duration-mid) var(--ease-standard); }
.feature-item:hover { background: var(--color-bg-light); }

.feature-item__icon { font-size: 1.6rem; margin-bottom: 1rem; display: block; }
.feature-item__name { font-family: var(--font-display); font-size: 0.9rem; letter-spacing: 0.1em; color: var(--color-text); margin-bottom: 0.3rem; }
.feature-item__cat  { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(212,175,55,0.5); margin-bottom: 1rem; }
.feature-item__link { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-accent); text-decoration: none; border-bottom: 1px solid rgba(212,175,55,0.3); padding-bottom: 0.2rem; transition: border-color var(--duration-fast); }
.feature-item__link:hover { border-color: var(--color-accent); }

/* ============================================================
   MEDIA SHOWCASE SECTION
   ============================================================ */
.showcase-section { background: var(--color-bg); padding: var(--space-xl) 0; }

.showcase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 3rem; }

.showcase-card { position: relative; overflow: hidden; background: var(--color-bg-card); border: var(--border-subtle); transition: border-color var(--duration-mid) var(--ease-standard); }
.showcase-card:hover { border-color: rgba(212,175,55,0.35); }

.showcase-card__image { aspect-ratio: 16/9; overflow: hidden; background: var(--color-bg-light); }
.showcase-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-standard); }
.showcase-card:hover .showcase-card__image img { transform: scale(1.05); }

.showcase-card__body     { padding: 2rem; }
.showcase-card__title    { font-family: var(--font-display); font-size: 1.3rem; letter-spacing: 0.1em; margin-bottom: 0.3rem; }
.showcase-card__subtitle { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(212,175,55,0.6); margin-bottom: 1rem; }
.showcase-card__desc     { font-size: 0.88rem; color: rgba(247,246,242,0.6); line-height: 1.7; }

/* ============================================================
   PARTNER / CTA SECTION
   ============================================================ */
.partner-section { padding: var(--space-xl) 0; background: var(--color-bg); border-top: var(--border-accent); border-bottom: var(--border-accent); }
.partner-inner   { display: grid; grid-template-columns: 1fr auto; gap: 4rem; align-items: center; }

.partner-content h2 { margin-bottom: 1rem; }
.partner-content p  { max-width: 560px; }

.partner-packages { display: flex; flex-direction: column; gap: 0.6rem; margin-top: 2rem; }
.partner-package  { display: flex; align-items: center; justify-content: space-between; padding: 0.8rem 1.2rem; border: var(--border-subtle); transition: border-color var(--duration-fast) var(--ease-standard); }
.partner-package:hover { border-color: rgba(212,175,55,0.4); }
.partner-package__name  { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-text); }
.partner-package__price { font-size: 0.72rem; color: var(--color-accent); font-weight: 500; }

.partner-cta       { display: flex; flex-direction: column; align-items: center; gap: 1rem; flex-shrink: 0; }
.partner-cta__note { font-size: 0.65rem; color: rgba(247,246,242,0.35); letter-spacing: 0.12em; text-align: center; }

/* ============================================================
   SITE FOOTER
   ============================================================ */
.site-footer {
  background: var(--color-bg-mid);
  border-top: var(--border-accent);
  padding: var(--space-lg) 0 var(--space-md);
}

.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: var(--space-md);
  border-bottom: var(--border-subtle);
  margin-bottom: var(--space-md);
}

.footer-brand__logo    { margin-bottom: 1.2rem; display: inline-flex; }
.footer-brand__desc    { font-size: 0.85rem; color: rgba(247,246,242,0.45); line-height: 1.7; max-width: 260px; margin-bottom: 1.5rem; }

.footer-brand__contact { list-style: none; margin-bottom: 1.5rem; }
.footer-brand__contact li { margin-bottom: 0.4rem; font-size: 0.82rem; color: rgba(247,246,242,0.45); }
.footer-brand__contact a  { color: rgba(247,246,242,0.45); text-decoration: none; }
.footer-brand__contact a:hover { color: var(--color-accent); }

.footer-social     { display: flex; gap: 0.8rem; }
.footer-social a   { width: 36px; height: 36px; border: var(--border-subtle); display: flex; align-items: center; justify-content: center; color: rgba(247,246,242,0.4); transition: all var(--duration-fast) var(--ease-standard); text-decoration: none; }
.footer-social a:hover { border-color: rgba(212,175,55,0.5); color: var(--color-accent); }

.footer-col__title { font-family: var(--font-body); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-accent); margin-bottom: 1.2rem; }
.footer-col__links,
.footer-col__links ul { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
.footer-col__links li a,
.footer-col__links a  { font-size: 0.85rem; color: rgba(247,246,242,0.45); text-decoration: none; transition: color var(--duration-fast); }
.footer-col__links li a:hover,
.footer-col__links a:hover { color: var(--color-text); }

.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: 1.5rem; }
.footer-copy   { font-size: 0.72rem; color: rgba(247,246,242,0.5); letter-spacing: 0.08em; }
.footer-legal  { display: flex; gap: 1.5rem; }
.footer-legal a { font-size: 0.72rem; color: rgba(247,246,242,0.5); text-decoration: none; transition: color var(--duration-fast); }
.footer-legal a:hover { color: var(--color-accent); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity var(--duration-slow) var(--ease-reveal),
              transform var(--duration-slow) var(--ease-reveal);
}
.reveal.visible     { opacity: 1; transform: translateY(0); }
.reveal-delay-1     { transition-delay: 0.1s; }
.reveal-delay-2     { transition-delay: 0.2s; }
.reveal-delay-3     { transition-delay: 0.3s; }
.reveal-delay-4     { transition-delay: 0.4s; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .category-grid  { grid-template-columns: repeat(2, 1fr); }
  .items-grid     { grid-template-columns: repeat(2, 1fr); }
  .features-grid  { grid-template-columns: repeat(2, 1fr); }
  .footer-top     { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  :root { --space-xl: 5rem; }

  .site-nav {
    position: fixed;
    top: 80px; left: 0; right: 0; bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    background: rgba(11,11,11,0.97);
    backdrop-filter: blur(20px);
    transform: translateX(100%);
    transition: transform var(--duration-mid) var(--ease-standard);
    z-index: 999;
  }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav a       { font-size: 0.9rem; }
  .menu-toggle      { display: flex; }

  .about-layout,
  .guide-layout,
  .showcase-grid,
  .partner-inner    { grid-template-columns: 1fr; gap: 3rem; }

  .about-media__accent { display: none; }
  .partner-inner       { text-align: center; }
  .partner-packages    { max-width: 400px; margin: 2rem auto 0; }

  .category-grid  { grid-template-columns: 1fr; }
  .items-grid     { grid-template-columns: 1fr; }
  .about-pillars  { grid-template-columns: 1fr; }
  .footer-top     { grid-template-columns: 1fr; }
  .hero__category-strip { display: none; }
}

@media (max-width: 540px) {
  .features-grid  { grid-template-columns: 1fr; }
  .hero__actions  { flex-direction: column; }
  .hero__actions .btn { width: 100%; justify-content: center; text-align: center; }
}

/* Contact Form 7 — match dark theme */
.wpcf7-form label { display: block; font-family: var(--font-body); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(247,246,242,0.5); margin-bottom: 0.4rem; margin-top: 1rem; }
.wpcf7-form label:first-child { margin-top: 0; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form select,
.wpcf7-form textarea { width: 100%; background: var(--input-bg); border: 1px solid var(--input-border); color: var(--input-text); font-family: var(--font-body); font-size: 0.9rem; padding: 0.9rem 1.1rem; transition: border-color var(--duration-fast); outline: none; appearance: none; -webkit-appearance: none; box-shadow: none; }
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { border-color: var(--input-border-focus); }
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: var(--input-placeholder); }
.wpcf7-form select option { background: var(--color-bg-card); color: var(--color-text); }
.wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7-submit {
  display: block;
  width: 100%;
  margin-top: 1.5rem;
  padding: 1.1rem 2.4rem;
  background: var(--color-accent);
  color: var(--color-bg);
  border: 1px solid var(--color-accent);
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color var(--duration-mid) var(--ease-standard),
              background var(--duration-mid) var(--ease-standard);
}
.wpcf7-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--color-bg);
  transform: translateX(-101%);
  transition: transform var(--duration-mid) var(--ease-standard);
  z-index: 0;
}
.wpcf7-submit:hover::before { transform: translateX(0); }
.wpcf7-submit:hover { color: var(--color-accent); }
.wpcf7-submit span { position: relative; z-index: 1; }
.wpcf7-not-valid-tip { color: var(--color-error, #FF6B6B); font-size: 0.75rem; margin-top: 0.3rem; display: block; }
.wpcf7-response-output { margin-top: 1rem; padding: 0.75rem 1rem; font-size: 0.85rem; border: 1px solid; }
.wpcf7-response-output.wpcf7-mail-sent-ok { border-color: rgba(106,255,202,0.4); color: #6AFFCA; }
.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output.wpcf7-mail-sent-ng { border-color: rgba(255,107,107,0.4); color: var(--color-error, #FF6B6B); }

/* WPForms — match dark theme */
.wpforms-container { width: 100% !important; }
.wpforms-field-label { font-family: var(--font-body) !important; font-size: 0.62rem !important; font-weight: 600 !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: rgba(247,246,242,0.5) !important; margin-bottom: 0.5rem !important; }
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="url"],
.wpforms-field input[type="tel"],
.wpforms-field select,
.wpforms-field textarea { width: 100% !important; background: var(--input-bg) !important; border: 1px solid var(--input-border) !important; border-radius: 0 !important; color: var(--input-text) !important; font-family: var(--font-body) !important; font-size: 0.9rem !important; padding: 0.9rem 1.1rem !important; transition: border-color var(--duration-fast) !important; outline: none !important; appearance: none !important; -webkit-appearance: none !important; box-shadow: none !important; }
.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus { border-color: var(--input-border-focus) !important; box-shadow: none !important; }
.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder { color: var(--input-placeholder) !important; }
.wpforms-field select option { background: var(--color-bg-card) !important; color: var(--color-text) !important; }
.wpforms-field textarea { min-height: 120px !important; resize: vertical !important; }
.wpforms-submit-container { margin-top: 0.5rem !important; }
.wpforms-submit { background: var(--color-accent) !important; color: var(--color-bg) !important; border: none !important; font-family: var(--font-body) !important; font-size: 0.7rem !important; font-weight: 600 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; padding: 1.1rem 2.4rem !important; cursor: pointer !important; width: 100% !important; transition: background var(--duration-mid) !important; border-radius: 0 !important; }
.wpforms-submit:hover { background: var(--color-accent-light) !important; }
.wpforms-error-container,
.wpforms-field .wpforms-error { color: var(--color-error) !important; font-size: 0.8rem !important; margin-top: 0.3rem !important; }
.wpforms-confirmation-container-full { color: var(--color-accent) !important; font-size: 0.95rem !important; padding: 1rem 0 !important; }

/* WordPress admin bar offsets */
.admin-bar .announcement-bar { top: 32px; }
.admin-bar .site-header      { top: 68px; }
@media screen and (max-width: 782px) {
  .admin-bar .announcement-bar { top: 46px; }
  .admin-bar .site-header      { top: 82px; }
}

/* ============================================================
   GAPMETRIC ADDITIONAL SECTIONS
   ============================================================ */

/* Trust bar below hero CTA */
.gm-trust-bar { display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:2rem; }
.gm-trust-item { font-family:var(--font-body); font-size:0.62rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:rgba(247,246,242,0.4); display:flex; align-items:center; gap:0.5rem; }
.gm-trust-item::before { content:'✓'; color:var(--color-accent); }

/* Proof bar */
.gm-proof-bar { background:var(--color-bg-mid); border-top:var(--border-accent); border-bottom:var(--border-accent); padding:var(--space-md) 0; }
.gm-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.gm-proof-number { font-family:var(--font-display); font-size:clamp(2rem,3.5vw,2.8rem); color:var(--color-accent); display:block; line-height:1; margin-bottom:0.4rem; }
.gm-proof-label { font-size:0.72rem; color:rgba(247,246,242,0.5); letter-spacing:0.06em; }

/* Problem section */
.gm-problem { padding:var(--space-xl) 0; background:var(--color-bg-light); }
.gm-problem-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.gm-problem-text p { color:rgba(247,246,242,0.65); margin-bottom:1.5rem; }
.gm-ruling-callout { background:var(--color-bg); border:var(--border-accent); border-left:3px solid var(--color-accent); padding:1.8rem; margin-top:2rem; }
.gm-ruling-date { font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--color-accent); display:block; margin-bottom:0.75rem; }
.gm-ruling-callout p { font-size:0.9rem; color:rgba(247,246,242,0.65); max-width:none; margin:0; }
.gm-ruling-callout strong { color:var(--color-text); }
.gm-problem-bullets { display:flex; flex-direction:column; gap:1rem; }
.gm-problem-bullet { padding:1.25rem 1.25rem 1.25rem 3rem; background:var(--color-bg-card); border:var(--border-subtle); font-size:0.9rem; color:rgba(247,246,242,0.65); line-height:1.6; position:relative; }
.gm-problem-bullet::before { content:'↳'; position:absolute; left:1rem; top:1.25rem; color:var(--color-accent); font-family:var(--font-mono); }

/* GEO Foundations section */
.gm-geo-section { padding:var(--space-xl) 0; background:var(--color-bg); }
.gm-geo-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.gm-geo-price { font-family:var(--font-display); font-size:2.2rem; color:var(--color-accent); margin:1rem 0; line-height:1; }
.gm-geo-price span { font-family:var(--font-body); font-size:0.85rem; color:rgba(247,246,242,0.5); font-weight:400; }
.gm-geo-content p { color:rgba(247,246,242,0.65); margin-bottom:1.5rem; }
.gm-geo-list { list-style:none; display:flex; flex-direction:column; gap:0.75rem; margin-bottom:1.5rem; }
.gm-geo-list li { font-size:0.9rem; color:rgba(247,246,242,0.65); padding-left:1.5rem; position:relative; }
.gm-geo-list li::before { content:'✓'; position:absolute; left:0; color:var(--color-accent); font-size:0.75rem; }
.gm-geo-list li strong { color:var(--color-text); }
.gm-heat-map { background:var(--color-bg-card); border:var(--border-accent); padding:2rem; }
.gm-heat-map-header { font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--color-accent); margin-bottom:0.5rem; }
.gm-engine-bar { margin-bottom:1.25rem; }
.gm-engine-label { display:flex; justify-content:space-between; margin-bottom:0.5rem; }
.gm-engine-label span:first-child { font-size:0.82rem; color:rgba(247,246,242,0.6); }
.gm-engine-pct { font-family:var(--font-mono); font-size:0.75rem; color:var(--color-accent); }
.gm-bar-track { height:3px; background:rgba(247,246,242,0.08); }
.gm-bar-fill { height:100%; background:var(--color-accent); transition:width 1.2s var(--ease-reveal); }

/* Tier pricing cards */
.gm-tier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.gm-tier-card { padding:2.5rem 2rem; background:var(--color-bg-card); border:var(--border-subtle); display:flex; flex-direction:column; gap:1.25rem; position:relative; transition:border-color var(--duration-mid); }
.gm-tier-card:hover { border-color:rgba(212,175,55,0.4); }
.gm-tier-card--featured { border-color:rgba(212,175,55,0.6); background:var(--color-bg-light); }
.gm-tier-badge { position:absolute; top:-1px; left:50%; transform:translateX(-50%); background:var(--color-accent); color:var(--color-bg); font-family:var(--font-body); font-size:0.58rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; padding:0.3rem 1rem; }
.gm-tier-name { font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--color-accent); }
.gm-tier-price { font-family:var(--font-display); font-size:2rem; color:var(--color-text); line-height:1; }
.gm-tier-price span { font-family:var(--font-body); font-size:0.85rem; color:rgba(247,246,242,0.4); font-weight:400; }
.gm-tier-desc { font-size:0.88rem; color:rgba(247,246,242,0.55); }
.gm-tier-list { list-style:none; display:flex; flex-direction:column; gap:0.55rem; border-top:var(--border-subtle); padding-top:1.25rem; flex:1; }
.gm-tier-list li { font-size:0.82rem; color:rgba(247,246,242,0.6); padding-left:1.25rem; position:relative; line-height:1.5; }
.gm-tier-list li::before { content:'✓'; position:absolute; left:0; color:var(--color-accent); font-size:0.7rem; top:0.15rem; }

/* Add-on cards */
.gm-addon-card { padding:2rem; background:var(--color-bg-card); border:var(--border-subtle); transition:border-color var(--duration-mid); }
.gm-addon-card:hover { border-color:rgba(212,175,55,0.4); }
.gm-addon-label { font-family:var(--font-body); font-size:0.58rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(212,175,55,0.5); display:block; margin-bottom:0.6rem; }
.gm-addon-price { font-family:var(--font-display); font-size:1.6rem; color:var(--color-accent); margin-bottom:0.5rem; }
.gm-addon-card h3 { font-size:1rem; letter-spacing:0.08em; margin-bottom:0.75rem; }
.gm-addon-card p { font-size:0.85rem; color:rgba(247,246,242,0.55); max-width:none; }

/* Comparison table */
.gm-comparison-wrap { overflow-x:auto; }
.gm-comparison-table { width:100%; border-collapse:collapse; }
.gm-comparison-table th { font-family:var(--font-body); font-size:0.62rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; padding:1rem 1.25rem; text-align:left; border-bottom:var(--border-accent); color:rgba(247,246,242,0.5); }
.gm-comparison-table th:last-child { color:var(--color-accent); }
.gm-comparison-table td { padding:0.9rem 1.25rem; border-bottom:var(--border-subtle); font-size:0.88rem; color:rgba(247,246,242,0.6); vertical-align:top; }
.gm-comparison-table td:first-child { color:var(--color-text); font-weight:500; }
.gm-comparison-table tr:last-child td { border-bottom:none; }
.gm-yes { color:#6AFFCA !important; }
.gm-no  { color:rgba(247,246,242,0.3) !important; }

/* FAQ */
.gm-faq-list { display:flex; flex-direction:column; }
.gm-faq-item { border-bottom:var(--border-subtle); }
.gm-faq-item:first-child { border-top:var(--border-subtle); }
.gm-faq-question { width:100%; text-align:left; padding:1.4rem 0; background:none; border:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-family:var(--font-body); font-size:1rem; font-weight:500; color:var(--color-text); transition:color var(--duration-fast); }
.gm-faq-question:hover { color:var(--color-accent); }
.gm-faq-icon { font-family:var(--font-mono); font-size:1.2rem; color:var(--color-accent); flex-shrink:0; transition:transform var(--duration-mid) var(--ease-standard); }
.gm-faq-item.is-open .gm-faq-icon { transform:rotate(45deg); }
.gm-faq-answer { display:none; padding-bottom:1.4rem; }
.gm-faq-answer p { color:rgba(247,246,242,0.6); font-size:0.92rem; max-width:none; margin-bottom:0.75rem; }
.gm-faq-item.is-open .gm-faq-answer { display:block; }

/* Responsive additions */
@media (max-width:1100px) {
  .gm-proof-grid { grid-template-columns:repeat(2,1fr); }
  .gm-tier-grid  { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; }
}
@media (max-width:820px) {
  .gm-problem-inner, .gm-geo-inner { grid-template-columns:1fr; gap:3rem; }
  .gm-proof-grid { grid-template-columns:repeat(2,1fr); }
}
