/** Shopify CDN: Minification failed

Line 2373:0 Unexpected "@media"
Line 3256:0 Unexpected "}"
Line 5698:9 Expected identifier but found whitespace
Line 5698:10 Unexpected "5px"
Line 6886:0 Unexpected "}"
Line 8885:0 Unexpected "}"
Line 10233:0 Unexpected "}"
Line 15548:2 Unexpected "{"
Line 16380:0 Expected ")" to go with "("

**/
/* ========================================
   TEMPLATE-CONTACT.CSS
   Consolidated: 2026-03-05
   Source files merged in load order
   ======================================== */


/* BEGIN cinema-contact.css */

/**
 * cinema-contact.css
 * Consolidated from 7 source files
 * Generated: 2026-03-03T09:21:19.548Z
 */


/* ============================================
   contact-page-heritage.css
   ============================================ */

/* ============================================================================
   AGRIKO CONTACT PAGE - HERITAGE EDITORIAL REDESIGN
   A bold, distinctive aesthetic honoring Filipino agricultural heritage

   Design Philosophy: "From Sacred Soil" - warm, personal, editorial
   - Organic shapes and botanical decorations
   - Paper-like textures and handwritten accents
   - Editorial magazine layouts with asymmetric elements
   - Warm earth tones with forest green and gold accents
   ============================================================================ */


/* Template-specific tokens - scoped to body.template-contact */
body.template-contact {
  --ag-heritage-forest: #0E3E29;
  --ag-heritage-forest-light: #1a4d38;
  --ag-heritage-gold: #c9a227;
  --ag-heritage-gold-light: #e8c078;
  --ag-heritage-cream: #f8f5f0;
  --ag-heritage-ivory: #faf8f3;
  --ag-heritage-terra: #b07d4b;
  --ag-heritage-terra-light: #d4a574;
  --ag-heritage-sage: #8b9a6d;
  --ag-heritage-ink: #2d2d2d;
  --ag-heritage-ink-light: #5a5a5a;

  /* --- Premium polish tokens --- */
  --ag-premium-gold: #c9a227;
  --ag-premium-gold-light: #e8c078;
  --ag-premium-forest: #0E3E29;
  --ag-premium-forest-light: #1a4d38;
  --ag-premium-forest-dark: #061a12;
  --ag-premium-cream: #f8f5f0;
  --ag-premium-ivory: #faf8f3;
  --ag-premium-sage: #8b9a6d;
  --ag-premium-terra: #b07d4b;
  --ag-premium-sand: #d4c4a8;
  --ag-premium-shadow: rgba(14, 62, 41, 0.08);
  --ag-premium-shadow-hover: rgba(14, 62, 41, 0.15);

  /* --- Paper/botanical tokens --- */
  --ag-paper-cream: #f5f0e8;
  --ag-paper-warm: #faf6f0;
  --ag-paper-ivory: #fefcf8;
  --ag-botanical-gold: #c9a227;
  --ag-botanical-sage: #7a8b6a;
  --ag-botanical-terra: #b07d4b;
  --ag-botanical-rice: #d4c4a8;
  --ag-botanical-dried: #a89078;

  /* --- Tropical theme tokens --- */
  --ag-tropical-sunlight: #f6b900;
  --ag-tropical-golden: #e8a838;
  --ag-tropical-amber: #d4923a;
  --ag-tropical-verdant: #2d5a3d;
  --ag-tropical-jade: #1a4d3a;
  --ag-tropical-fern: #0e3e29;
  --ag-tropical-bamboo: #6b8e4a;
  --ag-tropical-leaf: #4a7c3e;
  --ag-tropical-palm: #3a6b2e;
  --ag-tropical-earth: #8b6f5c;
  --ag-tropical-clay: #a67c52;
  --ag-tropical-rice: #d4c4a8;
  --ag-tropical-sky: #87ceeb;
  --ag-tropical-mango: #ff9966;
  --ag-tropical-papaya: #ffcc99;
  --ag-tropical-cream: #faf8f3;
}

/* ============================================================================
   HERO TITLE - Fix gradient text clipping
   ============================================================================ */

/* Fix the tight line-height that causes clipping on gradient text */
body.template-page[data-page-handle="contact"] .ag-contact__title {
  line-height: 1.15;
  padding-bottom: 0.1em;
}

/* Agriko Family title - Brand Orange */
body.template-page[data-page-handle="contact"] .ag-contact__title-gradient {
  display: inline-block;
  line-height: 1.15;
  padding: 0.05em 0;
  color: #ea580c;
  -webkit-text-fill-color: #ea580c;
}

/* ============================================================================
   TRUST SECTION - "Family Milestones" Editorial Design
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__trust {
  padding: clamp(4rem, 10vw, 7rem) 0;
  background:
    linear-gradient(180deg, var(--ag-heritage-cream) 0%, var(--ag-heritage-ivory) 50%, var(--ag-heritage-cream) 100%);
  position: relative;
  overflow: hidden;
}

/* Botanical watermark decoration disabled for cleaner look */
body.template-page[data-page-handle="contact"] .ag-contact__trust::before {
  content: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust::after {
  content: none;
}

/* Editorial header with handwritten accent */
body.template-page[data-page-handle="contact"] .ag-contact__trust-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, var(--ag-heritage-gold-light), var(--ag-heritage-gold));
  border-radius: 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.25);
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-badge svg {
  width: 1rem;
  height: 1rem;
  color: #fff;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-badge span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin-bottom: 0.75rem;
  letter-spacing: -0.03em;
  position: relative;
  display: inline-block;
}

/* Handwritten underline accent */
body.template-page[data-page-handle="contact"] .ag-contact__trust-title::after {
  content: '';
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 3px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 3'%3E%3Cpath d='M0 1.5 Q 25 0 50 1.5 T 100 1.5' stroke='%23c9a227' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-size: 100% 100%;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-subtitle {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--ag-heritage-ink-light);
  max-width: 35rem;
  margin: 0 auto;
  font-style: italic;
}

/* Milestone cards - editorial magazine style */
body.template-page[data-page-handle="contact"] .ag-contact__trust-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.75rem;
  position: relative;
  z-index: 1;
  max-width: 90rem;
  margin: 0 auto;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat {
  background: #fff;
  border: none;
  border-radius: 1.5rem;
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 4px 20px rgba(14, 62, 41, 0.08),
    0 1px 3px rgba(14, 62, 41, 0.06);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Botanical corner decorations */
body.template-page[data-page-handle="contact"] .ag-contact__stat::before {
  content: '';
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, currentColor 50%, transparent);
  opacity: 0.3;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--gold {
  border-top: 3px solid var(--ag-heritage-gold);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--gold::before {
  background: linear-gradient(90deg, transparent, var(--ag-heritage-gold) 50%, transparent);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--forest {
  border-top: 3px solid var(--ag-heritage-forest-light);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--forest::before {
  background: linear-gradient(90deg, transparent, var(--ag-heritage-forest-light) 50%, transparent);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--terra {
  border-top: 3px solid var(--ag-heritage-terra);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--terra::before {
  background: linear-gradient(90deg, transparent, var(--ag-heritage-terra) 50%, transparent);
}


/* Stat number with editorial typography */
body.template-page[data-page-handle="contact"] .ag-contact__stat-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ag-heritage-ink-light);
  margin-bottom: 0.75rem;
  position: relative;
  display: inline-block;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat-label::after {
  content: '•';
  position: absolute;
  right: -1rem;
  color: var(--ag-heritage-gold);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat-number {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.5rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, var(--ag-heritage-forest) 0%, var(--ag-heritage-forest-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--gold .ag-contact__stat-number {
  background: linear-gradient(135deg, var(--ag-heritage-gold) 0%, var(--ag-heritage-gold-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--terra .ag-contact__stat-number {
  background: linear-gradient(135deg, var(--ag-heritage-terra) 0%, var(--ag-heritage-terra-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Stars with glowing effect */
body.template-page[data-page-handle="contact"] .ag-contact__stat-stars {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat-stars svg {
  width: 14px;
  height: 14px;
  color: var(--ag-heritage-gold);
  filter: drop-shadow(0 2px 4px rgba(201, 162, 39, 0.3));
}

/* Stat icon with circular container */
body.template-page[data-page-handle="contact"] .ag-contact__stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--ag-heritage-ink-light);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat-icon svg {
  width: 16px;
  height: 16px;
  color: var(--ag-heritage-forest-light);
}

/* ============================================================================
   MAIN CONTENT SECTION - Split Editorial Layout
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__main {
  padding: clamp(4rem, 10vw, 7rem) 0;
  background: var(--ag-heritage-cream);
  position: relative;
  overflow: hidden;
}

/* Organic watermark with hand-drawn feel */
body.template-page[data-page-handle="contact"] .ag-contact__watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Caveat', cursive;
  font-size: clamp(4rem, 12vw, 10rem);
  color: var(--ag-heritage-forest);
  opacity: 0.04;
  pointer-events: none;
  white-space: nowrap;
  z-index: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  body.template-page[data-page-handle="contact"] .ag-contact__grid {
    grid-template-columns: 350px 1fr;
    gap: 3rem;
    align-items: start;
  }
}

/* ============================================================================
   SIDEBAR CARDS - "Family Stories" Editorial Style
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

/* Team card as editorial "Meet the Farmers" feature */
body.template-page[data-page-handle="contact"] .ag-contact__team-card {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(14, 62, 41, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Handwritten corner accent disabled */
body.template-page[data-page-handle="contact"] .ag-contact__team-card::before {
  content: none;
}


body.template-page[data-page-handle="contact"] .ag-contact__team-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ag-heritage-forest-light), var(--ag-heritage-forest));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-bottom: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__team-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__team-title {
  font-family: 'Fraunces', serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.02em;
}

body.template-page[data-page-handle="contact"] .ag-contact__team-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: linear-gradient(135deg, var(--ag-heritage-gold-light), var(--ag-heritage-gold));
  color: #fff;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 1rem;
  margin-bottom: 1rem;
}

/* Quote with editorial styling */
body.template-page[data-page-handle="contact"] .ag-contact__team-quote {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ag-heritage-ink-light);
  font-style: italic;
  margin: 0 0 1rem 0;
  padding-left: 1rem;
  border-left: 3px solid var(--ag-heritage-gold);
}

body.template-page[data-page-handle="contact"] .ag-contact__team-founder {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.85rem;
  color: var(--ag-heritage-ink);
  margin: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__team-founder span {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ag-heritage-ink-light);
}

/* Farm card with botanical theme */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card {
  background: linear-gradient(145deg, #fff 0%, var(--ag-heritage-ivory) 100%);
  border-radius: 1.5rem;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(14, 62, 41, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Botanical decoration disabled */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card::after {
  content: none;
}


body.template-page[data-page-handle="contact"] .ag-contact__team-icon--terra {
  background: linear-gradient(135deg, var(--ag-heritage-terra-light), var(--ag-heritage-terra));
}

body.template-page[data-page-handle="contact"] .ag-contact__team-badge--terra {
  background: linear-gradient(135deg, var(--ag-heritage-terra-light), var(--ag-heritage-terra));
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-description {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ag-heritage-ink-light);
  margin: 0 0 1.5rem 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem;
  background: var(--ag-heritage-forest);
  color: #fff;
  text-decoration: none;
  border-radius: 2rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta:hover {
  background: var(--ag-heritage-forest-light);
  transform: scale(1.02);
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta svg {
  width: 14px;
  height: 14px;
}

/* ============================================================================
   CONTACT FORM - "Write to Us" Editorial Layout
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
  background: #fff;
  border-radius: 2rem;
  padding: 2.5rem;
  box-shadow: 0 8px 40px rgba(14, 62, 41, 0.08);
  position: relative;
  overflow: hidden;
}

/* Decorative header border */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    var(--ag-heritage-forest) 0%,
    var(--ag-heritage-gold) 50%,
    var(--ag-heritage-terra) 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__form-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(14, 62, 41, 0.1);
}


body.template-page[data-page-handle="contact"] .ag-contact__form-title {
  font-family: 'Fraunces', serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.02em;
}

body.template-page[data-page-handle="contact"] .ag-contact__form-subtitle {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 0.95rem;
  color: var(--ag-heritage-ink-light);
  margin: 0;
  font-style: italic;
}

/* Trust notice with subtle styling */
body.template-page[data-page-handle="contact"] .ag-contact__trust-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg,
    rgba(14, 62, 41, 0.03) 0%,
    rgba(201, 162, 39, 0.03) 100%);
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-notice svg {
  width: 16px;
  height: 16px;
  color: var(--ag-heritage-gold);
  flex-shrink: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-notice span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  color: var(--ag-heritage-ink-light);
  font-weight: 500;
}

/* Form fields with editorial styling */
body.template-page[data-page-handle="contact"] .ag-contact__fields {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__field-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  body.template-page[data-page-handle="contact"] .ag-contact__field-row {
    grid-template-columns: 1fr 1fr;
  }
}

body.template-page[data-page-handle="contact"] .ag-contact__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ag-heritage-forest);
}

body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select {
  width: 100%;
  padding: 0.875rem 1rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  color: var(--ag-heritage-ink);
  background: #fff;
  border: 2px solid rgba(14, 62, 41, 0.1);
  border-radius: 0.75rem;
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__input:focus,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus {
  outline: none;
  border-color: var(--ag-heritage-gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.1);
}

body.template-page[data-page-handle="contact"] .ag-contact__select-wrapper {
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__select-wrapper::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid var(--ag-heritage-ink-light);
  pointer-events: none;
}

/* Submit button with heritage styling */
body.template-page[data-page-handle="contact"] .ag-contact__submit-wrapper {
  margin-top: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, var(--ag-heritage-forest), var(--ag-heritage-forest-light));
  color: #fff;
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 2rem;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--ag-heritage-forest-light), var(--ag-heritage-forest));
  opacity: 0;
  transition: opacity 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(14, 62, 41, 0.3);
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover::before {
  opacity: 1;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit span {
  position: relative;
  z-index: 1;
}

/* Success state */
body.template-page[data-page-handle="contact"] .ag-contact__success {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  background: linear-gradient(135deg,
    rgba(34, 197, 94, 0.1) 0%,
    rgba(34, 197, 94, 0.05) 100%);
  border: 2px solid rgba(34, 197, 94, 0.2);
  border-radius: 1rem;
  margin-bottom: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__success-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-success-500);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__success-title {
  font-family: 'Fraunces', serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-success-600);
  margin: 0 0 0.25rem 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__success-text {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 0.9rem;
  color: var(--color-success-700);
  margin: 0;
}

/* Direct contact links */
body.template-page[data-page-handle="contact"] .ag-contact__direct-links {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(14, 62, 41, 0.1);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(14, 62, 41, 0.05);
  border-radius: 1rem;
  text-decoration: none;
  color: var(--ag-heritage-forest);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover {
  background: var(--ag-heritage-forest);
  color: #fff;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link svg {
  width: 16px;
  height: 16px;
}

/* ============================================================================
   LOCATIONS SECTION - Illustrated Map Cards
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__locations {
  padding: clamp(4rem, 10vw, 7rem) 0;
  background: linear-gradient(180deg, var(--ag-heritage-ivory) 0%, var(--ag-heritage-cream) 100%);
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__locations-header {
  text-align: center;
  margin-bottom: 3rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__locations-icon {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__locations h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin: 0 0 0.75rem 0;
  letter-spacing: -0.02em;
}

body.template-page[data-page-handle="contact"] .ag-contact__locations > p {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 1.1rem;
  color: var(--ag-heritage-ink-light);
  max-width: 40rem;
  margin: 0 auto;
}

/* Location cards with botanical decorations */
body.template-page[data-page-handle="contact"] .ag-contact__locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  max-width: 90rem;
  margin: 0 auto;
}

body.template-page[data-page-handle="contact"] .ag-contact__location {
  background: #fff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(14, 62, 41, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
}

/* Botanical corner accents */
body.template-page[data-page-handle="contact"] .ag-contact__location::before {
  content: '📍';
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.5rem;
  opacity: 0.5;
}


body.template-page[data-page-handle="contact"] .ag-contact__location-image {
  height: 180px;
  background: linear-gradient(135deg,
    var(--ag-heritage-forest-light) 0%,
    var(--ag-heritage-forest) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

/* Botanical pattern overlay */
body.template-page[data-page-handle="contact"] .ag-contact__location-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5c-2 8-8 12-15 15M30 30c-3 10-12 15-20 15M30 55c5-8 12-12 20-15' stroke='rgba(255,255,255,0.1)' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  opacity: 0.5;
}

body.template-page[data-page-handle="contact"] .ag-contact__location-image svg {
  width: 3rem;
  height: 3rem;
  color: rgba(255, 255, 255, 0.3);
}

body.template-page[data-page-handle="contact"] .ag-contact__location-content {
  padding: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__location h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin: 0 0 0.25rem 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__location-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: rgba(14, 62, 41, 0.08);
  color: var(--ag-heritage-forest);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__location p {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 0.9rem;
  color: var(--ag-heritage-ink-light);
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
}

body.template-page[data-page-handle="contact"] .ag-contact__location a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ag-heritage-gold);
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__location a:hover {
  color: var(--ag-heritage-forest);
  gap: 0.75rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__location a svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__location a:hover svg {
  transform: translateX(4px);
}

/* ============================================================================
   FAQ SECTION - Smooth Accordion with Leaf Icons
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__faq {
  padding: clamp(4rem, 10vw, 7rem) 0;
  background: var(--ag-heritage-cream);
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-header {
  text-align: center;
  margin-bottom: 3rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-icon {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 600;
  color: var(--ag-heritage-forest);
  margin: 0 0 0.75rem 0;
  letter-spacing: -0.02em;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq > p {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 1.1rem;
  color: var(--ag-heritage-ink-light);
  max-width: 40rem;
  margin: 0 auto 2rem;
}

/* FAQ accordion */
body.template-page[data-page-handle="contact"] .ag-contact__faq-list {
  max-width: 50rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(14, 62, 41, 0.06);
  transition: all 0.3s ease;
}


body.template-page[data-page-handle="contact"] .ag-contact__faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  position: relative;
}

/* Leaf icon indicator */
body.template-page[data-page-handle="contact"] .ag-contact__faq-question::before {
  content: '🌿';
  position: absolute;
  left: 0.5rem;
  font-size: 0.8rem;
  opacity: 0.5;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-question span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ag-heritage-ink);
  padding-left: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-question svg {
  width: 18px;
  height: 18px;
  color: var(--ag-heritage-gold);
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-item[open] .ag-contact__faq-question svg {
  transform: rotate(180deg);
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-answer {
  padding: 0 1.5rem 1.5rem 3rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-answer p {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--ag-heritage-ink-light);
  margin: 0;
}

/* FAQ footer */
body.template-page[data-page-handle="contact"] .ag-contact__faq-footer {
  text-align: center;
  margin-top: 2rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(14, 62, 41, 0.1);
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-footer p {
  font-family: 'Crimson Text', Georgia, serif;
  font-size: 1rem;
  color: var(--ag-heritage-ink-light);
  margin: 0 0 0.5rem 0;
  font-style: italic;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, var(--ag-heritage-forest), var(--ag-heritage-forest-light));
  color: #fff;
  text-decoration: none;
  border-radius: 2rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(14, 62, 41, 0.25);
}

/* ============================================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================================ */

@media (max-width: 768px) {
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
    padding: 1.5rem;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__form-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__location-image {
    height: 140px;
  }
}

/* ============================================================================
   ANIMATIONS
   ============================================================================ */

@keyframes fadeInUp {
}

body.template-page[data-page-handle="contact"] .ag-contact__stat,

body.template-page[data-page-handle="contact"] .ag-contact__team-card,

body.template-page[data-page-handle="contact"] .ag-contact__farm-card,

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,

body.template-page[data-page-handle="contact"] .ag-contact__location,

body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  animation: fadeInUp 0.6s ease-out backwards;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat:nth-child(1) { animation-delay: 0.1s; }
body.template-page[data-page-handle="contact"] .ag-contact__stat:nth-child(2) { animation-delay: 0.2s; }
body.template-page[data-page-handle="contact"] .ag-contact__stat:nth-child(3) { animation-delay: 0.3s; }

body.template-page[data-page-handle="contact"] .ag-contact__team-card { animation-delay: 0.4s; }
body.template-page[data-page-handle="contact"] .ag-contact__farm-card { animation-delay: 0.5s; }

body.template-page[data-page-handle="contact"] .ag-contact__location:nth-child(1) { animation-delay: 0.1s; }
body.template-page[data-page-handle="contact"] .ag-contact__location:nth-child(2) { animation-delay: 0.2s; }

body.template-page[data-page-handle="contact"] .ag-contact__faq-item:nth-child(1) { animation-delay: 0.1s; }
body.template-page[data-page-handle="contact"] .ag-contact__faq-item:nth-child(2) { animation-delay: 0.15s; }
body.template-page[data-page-handle="contact"] .ag-contact__faq-item:nth-child(3) { animation-delay: 0.2s; }
body.template-page[data-page-handle="contact"] .ag-contact__faq-item:nth-child(4) { animation-delay: 0.25s; }



/* ============================================
   contact-page-polish.css
   ============================================ */

/* ============================================================================
   AGRIKO CONTACT PAGE — MASTER POLISH LAYER
   Premium refinement overlay for contact-page-heritage.css

   Focus Areas:
   - Typography: Caveat for eyebrows, enhanced Fraunces headings
   - Depth: Multi-layered shadows for specimen card feel
   - Motion: Premium easing curves (cubic-bezier 0.22, 1, 0.36, 1)
   - Micro-interactions: Enhanced hover states with golden accents
   ============================================================================ */

/* ============================================================================
   GLOBAL EASING & MOTION
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__stat,

body.template-page[data-page-handle="contact"] .ag-contact__team-card,

body.template-page[data-page-handle="contact"] .ag-contact__farm-card,

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,

body.template-page[data-page-handle="contact"] .ag-contact__location,

body.template-page[data-page-handle="contact"] .ag-contact__faq-item,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link,

body.template-page[data-page-handle="contact"] .ag-contact__submit,

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta,

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================================================================
   HERO SECTION — Enhanced typography
   ============================================================================ */

/* Eyebrow with Caveat handwriting font */
body.template-page[data-page-handle="contact"] .ag-contact__eyebrow {
  font-family: 'Caveat', cursive;
  font-size: clamp(1.55rem, 3.2vw, 2.1rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  color: #e8a735;
  text-transform: none;
}

/* Main heading refinement */
body.template-page[data-page-handle="contact"] .ag-contact__title {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

/* Gradient text enhancement - Brand Orange */
body.template-page[data-page-handle="contact"] .ag-contact__title-gradient {
  color: #ea580c;
  -webkit-text-fill-color: #ea580c;
  filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
}

/* CTA button polish */
body.template-page[data-page-handle="contact"] .ag-contact__cta {
  box-shadow:
    0 4px 16px rgba(246, 185, 0, 0.3),
    0 2px 8px rgba(14, 62, 41, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}


/* ============================================================================
   TRUST SECTION — Premium stat cards
   ============================================================================ */

/* Trust badge kicker */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge {
  font-family: 'Caveat', cursive;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  color: #0e3e29;
  background: linear-gradient(135deg, rgba(246, 185, 0, 0.15), rgba(232, 167, 53, 0.2));
  border: 1px solid rgba(246, 185, 0, 0.3);
  border-radius: 2rem;
  padding: 0.5rem 1.25rem;
  box-shadow:
    0 2px 8px rgba(246, 185, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Main heading polish */
body.template-page[data-page-handle="contact"] .ag-contact__trust-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.4rem, 5.5vw, 3.75rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #0e3e29;
  text-shadow: 0 1px 2px rgba(14, 62, 41, 0.05);
}

/* Stat cards with layered depth */
body.template-page[data-page-handle="contact"] .ag-contact__stat {
  box-shadow:
    0 2px 8px rgba(14, 62, 41, 0.04),
    0 8px 24px rgba(14, 62, 41, 0.06),
    0 0 0 1px rgba(14, 62, 41, 0.05);
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 50%, #f9f6f0 100%);
}

/* Enhanced hover for stat cards */

/* Stat number refinement */
body.template-page[data-page-handle="contact"] .ag-contact__stat-number {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.75rem, 6.5vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Stars with subtle glow */
body.template-page[data-page-handle="contact"] .ag-contact__stat-stars svg {
  filter: drop-shadow(0 1px 3px rgba(246, 185, 0, 0.4));
}

/* ============================================================================
   SIDEBAR CARDS — Enhanced depth
   ============================================================================ */

/* Team card with layered shadows */
body.template-page[data-page-handle="contact"] .ag-contact__team-card {
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 8px 32px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.05);
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 50%, #f9f6f0 100%);
}


/* Team icon polish */
body.template-page[data-page-handle="contact"] .ag-contact__team-icon {
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Farm card polish */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card {
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 8px 32px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.05);
}


/* Farm CTA button polish */
body.template-page[data-page-handle="contact"] .ag-contact__farm-cta {
  box-shadow:
    0 3px 10px rgba(14, 62, 41, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta:hover {
  box-shadow:
    0 6px 16px rgba(14, 62, 41, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ============================================================================
   CONTACT FORM — Premium form styling
   ============================================================================ */

/* Form wrapper with layered depth */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
  box-shadow:
    0 8px 32px rgba(14, 62, 41, 0.08),
    0 16px 48px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.06);
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 50%, #f9f6f0 100%);
}

/* Enhanced header border gradient */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before {
  background: linear-gradient(90deg,
    #0e3e29 0%,
    #f6b900 25%,
    #e8a735 50%,
    #f6b900 75%,
    #b07d4b 100%);
  height: 5px;
}

/* Form title refinement */
body.template-page[data-page-handle="contact"] .ag-contact__form-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #0e3e29;
}

/* Form icon polish */

/* Input fields with subtle depth */
body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select {
  box-shadow:
    0 1px 4px rgba(14, 62, 41, 0.04),
    inset 0 1px 2px rgba(14, 62, 41, 0.02);
}

body.template-page[data-page-handle="contact"] .ag-contact__input:focus,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus {
  box-shadow:
    0 0 0 3px rgba(246, 185, 0, 0.15),
    0 2px 8px rgba(246, 185, 0, 0.1),
    inset 0 1px 2px rgba(255, 255, 255, 0.5);
}

/* Submit button polish */
body.template-page[data-page-handle="contact"] .ag-contact__submit {
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.25),
    0 2px 8px rgba(246, 185, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover {
  box-shadow:
    0 8px 24px rgba(14, 62, 41, 0.3),
    0 4px 12px rgba(246, 185, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Direct contact links polish */
body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  box-shadow:
    0 2px 6px rgba(14, 62, 41, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover {
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* ============================================================================
   LOCATIONS SECTION — Enhanced cards
   ============================================================================ */

/* Locations heading */
body.template-page[data-page-handle="contact"] .ag-contact__locations h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.4rem, 5.5vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #0e3e29;
}

/* Location cards with layered depth */
body.template-page[data-page-handle="contact"] .ag-contact__location {
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 8px 32px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.05);
}


/* Location heading */
body.template-page[data-page-handle="contact"] .ag-contact__location h3 {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.35rem, 2.8vw, 1.6rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

/* ============================================================================
   FAQ SECTION — Smooth accordion polish
   ============================================================================ */

/* FAQ heading */
body.template-page[data-page-handle="contact"] .ag-contact__faq h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.4rem, 5.5vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #0e3e29;
}

/* FAQ items with layered depth */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  box-shadow:
    0 2px 8px rgba(14, 62, 41, 0.04),
    0 4px 16px rgba(14, 62, 41, 0.02),
    0 0 0 1px rgba(14, 62, 41, 0.04);
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
}


/* FAQ CTA button polish */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
  box-shadow:
    0 3px 10px rgba(14, 62, 41, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover {
  box-shadow:
    0 6px 16px rgba(14, 62, 41, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ============================================================================
   RESPONSIVE REFINEMENTS
   ============================================================================ */

@media (max-width: 768px) {
  /* Lighter shadows for mobile */
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow:
      0 2px 6px rgba(14, 62, 41, 0.04),
      0 4px 12px rgba(14, 62, 41, 0.02);
  }

  /* Reduce hover lift on mobile */
  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover,
  

  /* Tighter letter-spacing on mobile */
  body.template-page[data-page-handle="contact"] .ag-contact__trust-title,
  
  body.template-page[data-page-handle="contact"] .ag-contact__locations h2,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq h2 {
    letter-spacing: -0.03em;
  }
}

/* ============================================================================
   ACCESSIBILITY — Focus states
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__cta:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__submit:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__input:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus-visible {
  outline: 2px solid #f6b900;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ============================================================================
   MOTION PREFERENCES — Reduced motion support
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item,
  
  body.template-page[data-page-handle="contact"] .ag-contact__direct-link,
  
  body.template-page[data-page-handle="contact"] .ag-contact__submit,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-cta,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-cta,
  
  body.template-page[data-page-handle="contact"] .ag-contact__cta {
    transition: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__submit:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-cta:hover,
  

  /* Disable fade-in animations */
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    animation: none !important;
  }
}

/* ============================================================================
   PRINT OPTIMIZATIONS
   ============================================================================ */

@media print {
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow: none;
    transform: none;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location {
    page-break-inside: avoid;
  }
}

/* ============================================================================
   END OF CONTACT PAGE MASTER POLISH LAYER
   ============================================================================ */


/* ============================================
   contact-page-premium.css
   ============================================ */

/* ============================================================================
   AGRIKO CONTACT PAGE - PREMIUM REFINEMENT OVERLAY
   Sophisticated polish layer building on heritage foundation

   Focus Areas:
   - Enhanced form interactions with focus states
   - Premium card hover effects with botanical accents
   - Editorial typography refinements
   - Subtle texture overlays and depth
   - Smooth micro-interactions

   Aesthetic: Agricultural Heritage meets Premium Editorial
   ============================================================================ */

/* ============================================================================
   HERO SECTION - Equal vertical spacing fix
   Ensure content is perfectly centered: distance from header = distance to bottom
   ============================================================================ */

/* Hero content should be centered vertically with equal spacing */
body.template-page[data-page-handle="contact"] .ag-contact__hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ============================================================================
   DESIGN TOKENS - Extended Palette
   ============================================================================ */


/* Template-specific tokens - scoped to body.template-contact */
/* ============================================================================
   GLOBAL MOTION - Premium easing curves
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__stat,

body.template-page[data-page-handle="contact"] .ag-contact__team-card,

body.template-page[data-page-handle="contact"] .ag-contact__farm-card,

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,

body.template-page[data-page-handle="contact"] .ag-contact__location,

body.template-page[data-page-handle="contact"] .ag-contact__faq-item,

body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select,

body.template-page[data-page-handle="contact"] .ag-contact__submit,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-duration: 0.4s;
}

/* ============================================================================
   HERO SECTION - Premium depth enhancement
   ============================================================================ */

/* Hero content with subtle floating animation */
body.template-page[data-page-handle="contact"] .ag-contact__hero-content {
  animation: heroContentFloat 8s ease-in-out infinite;
}

@keyframes heroContentFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Hero title with enhanced gradient animation */
body.template-page[data-page-handle="contact"] .ag-contact__title-gradient {
  color: #ea580c;
  -webkit-text-fill-color: #ea580c;
  filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
  animation: goldShimmer 4s ease-in-out infinite;
}

@keyframes goldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Hero CTA with premium glow */
body.template-page[data-page-handle="contact"] .ag-contact__cta {
  box-shadow:
    0 4px 15px rgba(201, 162, 39, 0.3),
    0 1px 3px rgba(201, 162, 39, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}


/* ============================================================================
   CONTACT OPTION CARDS - Premium card refinement
   ============================================================================ */

/* Contact option cards with depth */

/* Botanical watermark decorations */
body.template-page[data-page-handle="contact"] .ag-contact__options::before {
  content: '🌾';
  position: absolute;
  top: -5%;
  right: -3%;
  font-size: clamp(6rem, 15vw, 12rem);
  opacity: 0.03;
  pointer-events: none;
  z-index: 0;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card {
  background: linear-gradient(145deg, #ffffff 0%, #fdfbf8 50%, #f9f6f0 100%);
  border: none;
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 1px 4px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
  position: relative;
  z-index: 1;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Subtle burlap texture on cards */
body.template-page[data-page-handle="contact"] .ag-contact__option-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(139, 115, 85, 0.02) 1px,
      transparent 2px,
      transparent 3px
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0px,
      rgba(139, 115, 85, 0.02) 1px,
      transparent 2px,
      transparent 3px
    );
  opacity: 0.5;
  mix-blend-mode: soft-light;
  pointer-events: none;
  border-radius: inherit;
  z-index: -1;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 12px 32px rgba(14, 62, 41, 0.1),
    0 4px 12px rgba(14, 62, 41, 0.06),
    0 0 0 1px rgba(201, 162, 39, 0.1);
}

/* Option card icon with glow */
body.template-page[data-page-handle="contact"] .ag-contact__option-icon {
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover .ag-contact__option-icon {
  box-shadow:
    0 6px 16px rgba(14, 62, 41, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  transform: scale(1.05) rotate(-3deg);
}

/* Option card heading */
body.template-page[data-page-handle="contact"] .ag-contact__option-card h3 {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ag-premium-forest);
}

/* Option card arrow with animation */
body.template-page[data-page-handle="contact"] .ag-contact__option-card a {
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--ag-premium-gold), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card a:hover::after {
  transform: scaleX(1);
}

/* ============================================================================
   TRUST STATS SECTION - Enhanced editorial polish
   ============================================================================ */

/* Stat cards with premium depth */
body.template-page[data-page-handle="contact"] .ag-contact__stat {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 50%, #f9f6f0 100%);
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 1px 4px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
  position: relative;
  overflow: hidden;
}

/* Burlap texture overlay on stat cards */
body.template-page[data-page-handle="contact"] .ag-contact__stat::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(139, 115, 85, 0.015) 1px,
      transparent 2px,
      transparent 3px
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0px,
      rgba(139, 115, 85, 0.015) 1px,
      transparent 2px,
      transparent 3px
    );
  opacity: 0.6;
  mix-blend-mode: soft-light;
  pointer-events: none;
  z-index: 0;
}


/* Stat number with enhanced gradient */
body.template-page[data-page-handle="contact"] .ag-contact__stat-number {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 4px rgba(14, 62, 41, 0.1));
}

/* Stat label */
body.template-page[data-page-handle="contact"] .ag-contact__stat-label {
  position: relative;
  z-index: 1;
}

/* Stars with enhanced glow */
body.template-page[data-page-handle="contact"] .ag-contact__stat-stars svg {
  filter: drop-shadow(0 2px 6px rgba(201, 162, 39, 0.4));
}

/* Trust badge with shimmer */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge {
  background: linear-gradient(
    135deg,
    var(--ag-premium-gold) 0%,
    #f6b900 50%,
    var(--ag-premium-gold-light) 100%
  );
  background-size: 200% 200%;
  animation: badgeShimmer 3s ease-in-out infinite;
  box-shadow:
    0 4px 16px rgba(201, 162, 39, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

@keyframes badgeShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ============================================================================
   SIDEBAR CARDS - Premium refinement
   ============================================================================ */

/* Team card with enhanced styling */
body.template-page[data-page-handle="contact"] .ag-contact__team-card {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 1px 4px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
}

body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 12px 32px rgba(14, 62, 41, 0.1),
    0 4px 12px rgba(14, 62, 41, 0.06);
}

/* Team icon with enhanced glow */
body.template-page[data-page-handle="contact"] .ag-contact__team-icon {
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover .ag-contact__team-icon {
  transform: scale(1.1) rotate(5deg);
  box-shadow:
    0 6px 16px rgba(14, 62, 41, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Quote with enhanced styling */
body.template-page[data-page-handle="contact"] .ag-contact__team-quote {
  position: relative;
}

/* Farm card with botanical decoration */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card {
  background: linear-gradient(180deg, #ffffff 0%, #f9f6f0 100%);
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 1px 4px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-card::after {
  content: '🌿';
  font-size: 4rem;
  opacity: 0.12;
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 12px 32px rgba(14, 62, 41, 0.1),
    0 4px 12px rgba(14, 62, 41, 0.06);
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover::after {
  opacity: 0.2;
  transform: scale(1.1) rotate(10deg);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================================================================
   CONTACT FORM - Premium form interactions
   ============================================================================ */

/* Form wrapper with enhanced depth */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
  box-shadow:
    0 8px 32px rgba(14, 62, 41, 0.08),
    0 2px 8px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
}

/* Decorative header border with shimmer */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before {
  background: linear-gradient(
    90deg,
    var(--ag-premium-forest) 0%,
    var(--ag-premium-gold) 25%,
    #f6b900 50%,
    var(--ag-premium-gold) 75%,
    var(--ag-premium-forest) 100%
  );
  background-size: 200% 100%;
  animation: borderShimmer 4s linear infinite;
}

@keyframes borderShimmer {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Form fields with premium styling */
body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
  border: 2px solid rgba(14, 62, 41, 0.08);
  box-shadow:
    0 2px 8px rgba(14, 62, 41, 0.03),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__input:focus,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus {
  border-color: var(--ag-premium-gold);
  box-shadow:
    0 4px 16px rgba(201, 162, 39, 0.15),
    0 0 0 4px rgba(201, 162, 39, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  transform: translateY(-2px);
}

/* Form label with enhanced styling */
body.template-page[data-page-handle="contact"] .ag-contact__label {
  position: relative;
  padding-left: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background: var(--ag-premium-gold);
  border-radius: 50%;
}

/* Submit button with premium glow */
body.template-page[data-page-handle="contact"] .ag-contact__submit {
  background: linear-gradient(
    135deg,
    var(--ag-premium-forest) 0%,
    var(--ag-premium-forest-light) 50%,
    var(--ag-premium-forest) 100%
  );
  background-size: 200% 200%;
  box-shadow:
    0 6px 20px rgba(14, 62, 41, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit::before {
  background: linear-gradient(
    135deg,
    var(--ag-premium-forest-light) 0%,
    var(--ag-premium-forest) 50%,
    var(--ag-premium-forest-light) 100%
  );
  background-size: 200% 200%;
}

/* Subtle shimmer animation on button */
body.template-page[data-page-handle="contact"] .ag-contact__submit::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.2) 50%,
    transparent 100%
  );
  transition: left 0.6s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover::after {
  left: 100%;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover {
  transform: translateY(-3px);
  box-shadow:
    0 10px 30px rgba(14, 62, 41, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  animation: buttonGradient 2s ease infinite;
}

@keyframes buttonGradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Direct contact links with premium styling */
body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  background: linear-gradient(145deg, rgba(14, 62, 41, 0.03) 0%, rgba(14, 62, 41, 0.06) 100%);
  border: 1px solid rgba(14, 62, 41, 0.06);
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover {
  background: linear-gradient(145deg, var(--ag-premium-forest) 0%, var(--ag-premium-forest-light) 100%);
  border-color: var(--ag-premium-forest);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 16px rgba(14, 62, 41, 0.2);
}

/* ============================================================================
   LOCATIONS SECTION - Enhanced map cards
   ============================================================================ */

/* Location cards with premium styling */
body.template-page[data-page-handle="contact"] .ag-contact__location {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.06),
    0 1px 4px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
}


/* Location image with enhanced gradient */
body.template-page[data-page-handle="contact"] .ag-contact__location-image {
  background: linear-gradient(
    135deg,
    var(--ag-premium-forest-light) 0%,
    var(--ag-premium-forest) 100%
  );
  position: relative;
  overflow: hidden;
}

/* Animated pattern overlay */
body.template-page[data-page-handle="contact"] .ag-contact__location-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0c0 10-10 15-20 15s10 5 20 25c10-20 30-10 20-25s-20-5-20-15z' fill='rgba(255,255,255,0.03)'/%3E%3C/svg%3E");
  opacity: 0.5;
  animation: patternFloat 20s linear infinite;
}

@keyframes patternFloat {
  0% { background-position: 0 0; }
  100% { background-position: 40px 40px; }
}

/* Location badge */
body.template-page[data-page-handle="contact"] .ag-contact__location-badge {
  background: linear-gradient(135deg, rgba(14, 62, 41, 0.08) 0%, rgba(14, 62, 41, 0.12) 100%);
  border: 1px solid rgba(14, 62, 41, 0.1);
}

/* Location link with arrow animation */
body.template-page[data-page-handle="contact"] .ag-contact__location a {
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__location a::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--ag-premium-gold);
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__location a:hover::before {
  width: 100%;
}

/* ============================================================================
   FAQ SECTION - Smooth accordion refinement
   ============================================================================ */

/* FAQ items with premium styling */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  background: linear-gradient(180deg, #ffffff 0%, #fdfbf8 100%);
  box-shadow:
    0 2px 8px rgba(14, 62, 41, 0.04),
    0 0 0 1px rgba(14, 62, 41, 0.04);
}


/* FAQ question with hover effect */
body.template-page[data-page-handle="contact"] .ag-contact__faq-question {
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-question::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(14, 62, 41, 0.1), transparent);
}


/* FAQ icon with enhanced animation */
body.template-page[data-page-handle="contact"] .ag-contact__faq-question svg {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* FAQ CTA button */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
  background: linear-gradient(
    135deg,
    var(--ag-premium-forest) 0%,
    var(--ag-premium-forest-light) 50%,
    var(--ag-premium-forest) 100%
  );
  background-size: 200% 200%;
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover {
  transform: translateY(-2px);
  box-shadow:
    0 8px 20px rgba(14, 62, 41, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  animation: faqCtaGradient 2s ease infinite;
}

@keyframes faqCtaGradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ============================================================================
   RESPONSIVE REFINEMENTS
   ============================================================================ */

@media (max-width: 768px) {
  /* Lighter shadows for mobile */
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow:
      0 2px 8px rgba(14, 62, 41, 0.04),
      0 0 0 1px rgba(14, 62, 41, 0.03);
  }

  /* Reduce hover transforms on mobile */
  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover,
  

  /* Smaller botanical decorations */
  body.template-page[data-page-handle="contact"] .ag-contact__options::before {
    font-size: clamp(4rem, 12vw, 8rem);
  }
}

/* ============================================================================
   ACCESSIBILITY - Enhanced focus states
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__input:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__submit:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__faq-question:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__cta:focus-visible,


/* ============================================================================
   MOTION PREFERENCES - Reduced motion support
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  body.template-page[data-page-handle="contact"] .ag-contact__hero-content,
  
  body.template-page[data-page-handle="contact"] .ag-contact__title-gradient,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust-badge,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__submit,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-cta,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location-image::before {
    animation: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item,
  
  body.template-page[data-page-handle="contact"] .ag-contact__input,
  
  body.template-page[data-page-handle="contact"] .ag-contact__select {
    transition: none !important;
    transform: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__input:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__select:hover {
    transform: none !important;
  }
}

/* ============================================================================
   PRINT OPTIMIZATIONS
   ============================================================================ */

@media print {
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow: none;
    transform: none;
    background: #fff;
  }
}

/* ============================================================================
   END OF CONTACT PAGE PREMIUM REFINEMENT
   ============================================================================ */


/* ============================================
   contact-letterpress.css
   ============================================ */

/* ============================================================================
   AGRIKO CONTACT PAGE - BOTANICAL LETTERPRESS STUDIO
   A distinctive aesthetic: Handcrafted farm invitation meets modern editorial

   Design Philosophy: "From Our Hands to Yours"
   - Pressed flower botanical decorations
   - Handmade paper texture overlays
   - Ink-wash watercolor effects
   - Handwritten personal notes aesthetic
   - Vintage postmark and wax seal elements
   - Rice grain organic patterns

   This is NOT a template. It's a love letter to Philippine agriculture.
   ============================================================================ */

/* ============================================================================
   DESIGN TOKENS - Letterpress Studio Palette
   ============================================================================ */

:root {
  --ag-ink-dark: #1a1a18;
  --ag-ink-brown: #3d3028;
  --ag-ink-forest: #0e3e29;
  --ag-shadow-letterpress: rgba(26, 26, 24, 0.12);
  --ag-shadow-pressed: rgba(26, 26, 24, 0.08);
}

/* Template-specific tokens - scoped to body.template-contact */
/* ============================================================================
   GLOBAL PAPER TEXTURE - Handmade paper feel
   ============================================================================ */


/* Paper grain texture overlay */
body.template-page[data-page-handle="contact"]::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: 0.4;
  background-image:
    /* Fine paper grain */
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),
    /* Subtle fiber lines */
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      rgba(139, 115, 85, 0.02) 1px,
      transparent 2px,
      transparent 4px
    );
  mix-blend-mode: multiply;
}

/* ============================================================================
   HERO SECTION - Letterpress invitation style
   ============================================================================ */


/* Decorative pressed flower corners */
body.template-page[data-page-handle="contact"] .ag-contact__hero::before,

body.template-page[data-page-handle="contact"] .ag-contact__hero::after {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  pointer-events: none;
  opacity: 0.15;
  background-size: contain;
  background-repeat: no-repeat;
}

body.template-page[data-page-handle="contact"] .ag-contact__hero::before {
  top: 2rem;
  left: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='50' cy='50' rx='20' ry='35' fill='none' stroke='%237a8b6a' stroke-width='1'/%3E%3Cpath d='M50 15 Q60 25 55 40' fill='none' stroke='%237a8b6a' stroke-width='1'/%3E%3Cpath d='M30 50 Q25 35 35 30' fill='none' stroke='%237a8b6a' stroke-width='1'/%3E%3C/svg%3E");
}

body.template-page[data-page-handle="contact"] .ag-contact__hero::after {
  bottom: 2rem;
  right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20 80 Q30 60 50 70 Q70 80 80 50' fill='none' stroke='%23c9a227' stroke-width='1.5'/%3E%3Cellipse cx='60' cy='60' rx='8' ry='12' fill='none' stroke='%23c9a227' stroke-width='1'/%3E%3C/svg%3E");
}

/* Hero content with pressed paper card effect */
body.template-page[data-page-handle="contact"] .ag-contact__hero-content {
  position: relative;
}

/* Eyebrow with handwritten feel */
body.template-page[data-page-handle="contact"] .ag-contact__eyebrow {
  font-family: 'Caveat', cursive;
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  color: var(--ag-botanical-dried);
  letter-spacing: 0.05em;
  position: relative;
  display: inline-block;
}

/* Underline decoration */
body.template-page[data-page-handle="contact"] .ag-contact__eyebrow::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg,
    var(--ag-botanical-gold) 0%,
    transparent 100%);
  border-radius: 1px;
}

/* Hero title with letterpress depth */
body.template-page[data-page-handle="contact"] .ag-contact__title {
  font-family: 'Fraunces', serif;
  position: relative;
}


/* Gradient text - Brand Orange */
body.template-page[data-page-handle="contact"] .ag-contact__title-gradient {
  color: #ea580c;
  -webkit-text-fill-color: #ea580c;
  filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
  position: relative;
  display: inline-block;
}

@keyframes botanicalShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Hero description with letter clarity */
body.template-page[data-page-handle="contact"] .ag-contact__description {
  font-family: 'Crimson Text', Georgia, serif;
  color: var(--ag-ink-brown);
  line-height: 1.8;
  max-width: 36rem;
}

/* CTA button with wax seal effect */
body.template-page[data-page-handle="contact"] .ag-contact__cta {
  position: relative;
  background: linear-gradient(145deg,
    var(--ag-botanical-gold) 0%,
    #d4a82a 50%,
    var(--ag-botanical-gold) 100%);
  box-shadow:
    0 6px 20px rgba(201, 162, 39, 0.3),
    0 2px 6px rgba(201, 162, 39, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  overflow: hidden;
}

/* Wax seal decoration */
body.template-page[data-page-handle="contact"] .ag-contact__cta::before {
  content: '';
  position: absolute;
  top: -10px;
  right: -10px;
  width: 30px;
  height: 30px;
  background: radial-gradient(circle at 30% 30%,
    #f6b900 0%,
    var(--ag-botanical-gold) 50%,
    #a67c1a 100%);
  border-radius: 50%;
  box-shadow:
    inset 0 -2px 4px rgba(0, 0, 0, 0.2),
    0 2px 4px rgba(0, 0, 0, 0.1);
}

body.template-page[data-page-handle="contact"] .ag-contact__cta::after {
  content: '🌾';
  position: absolute;
  top: -8px;
  right: -8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}


/* ============================================================================
   CONTACT OPTIONS - Pressed card style
   ============================================================================ */


/* Botanical decoration behind options */
body.template-page[data-page-handle="contact"] .ag-contact__options::after {
  content: '🌿';
  position: absolute;
  top: 50%;
  left: -5%;
  transform: translateY(-50%);
  font-size: clamp(8rem, 20vw, 15rem);
  opacity: 0.03;
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card {
  background: linear-gradient(145deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-warm) 50%,
    var(--ag-paper-cream) 100%);
  border: none;
  position: relative;
  overflow: hidden;
}

/* Pressed edge effect */
body.template-page[data-page-handle="contact"] .ag-contact__option-card::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1px;
  background: linear-gradient(145deg,
    rgba(189, 165, 137, 0.3) 0%,
    transparent 50%,
    rgba(189, 165, 137, 0.2) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: 0.6;
  mix-blend-mode: multiply;
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 12px 32px rgba(26, 26, 24, 0.1),
    0 4px 12px rgba(26, 26, 24, 0.06);
}

/* Option icon with botanical ring */
body.template-page[data-page-handle="contact"] .ag-contact__option-icon {
  position: relative;
  background: linear-gradient(145deg,
    var(--ag-botanical-sage) 0%,
    #6a7b5a 100%);
  box-shadow:
    0 4px 12px rgba(122, 139, 106, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}



/* Option heading */
body.template-page[data-page-handle="contact"] .ag-contact__option-card h3 {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  color: var(--ag-ink-dark);
  letter-spacing: -0.02em;
}

/* ============================================================================
   TRUST STATS - Heritage showcase cards
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__trust {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-warm) 100%);
  position: relative;
  overflow: hidden;
}

/* Rice grain pattern decoration */
body.template-page[data-page-handle="contact"] .ag-contact__trust::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cellipse cx='20' cy='20' rx='3' ry='6' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.2'/%3E%3Cellipse cx='35' cy='10' rx='2' ry='4' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E");
  opacity: 0.4;
  pointer-events: none;
}

/* Trust badge with vintage stamp feel */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge {
  background: linear-gradient(145deg,
    var(--ag-botanical-dried) 0%,
    #8b7355 100%);
  border: 2px dashed rgba(255, 255, 255, 0.3);
  box-shadow:
    0 4px 12px rgba(139, 115, 85, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
}

/* Stamp postmark effect */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-15deg);
  width: 60%;
  height: 60%;
  border: 1px dashed rgba(255, 255, 255, 0.4);
  border-radius: 50%;
}

/* Stat cards with pressed paper effect */
body.template-page[data-page-handle="contact"] .ag-contact__stat {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-cream) 100%);
  border: 1px solid rgba(189, 165, 137, 0.3);
  position: relative;
  overflow: hidden;
}

/* Corner decorations */
body.template-page[data-page-handle="contact"] .ag-contact__stat::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(189, 165, 137, 0.4) 50%,
    transparent 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(189, 165, 137, 0.4) 50%,
    transparent 100%);
}

/* Stat number with vintage typography */
body.template-page[data-page-handle="contact"] .ag-contact__stat-number {
  font-family: 'Fraunces', serif;
  background: linear-gradient(180deg,
    var(--ag-ink-dark) 0%,
    var(--ag-ink-brown) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}

/* Colored stat variants */
body.template-page[data-page-handle="contact"] .ag-contact__stat--gold .ag-contact__stat-number {
  background: linear-gradient(180deg,
    var(--ag-botanical-gold) 0%,
    #a67c1a 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--terra .ag-contact__stat-number {
  background: linear-gradient(180deg,
    var(--ag-botanical-terra) 0%,
    #8b5a2a 100%);
}

/* ============================================================================
   SIDEBAR CARDS - Handwritten personal notes
   ============================================================================ */

/* Team card as personal letter */
body.template-page[data-page-handle="contact"] .ag-contact__team-card {
  background: linear-gradient(145deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-cream) 100%);
  position: relative;
  overflow: hidden;
}

/* Paper lines effect */
body.template-page[data-page-handle="contact"] .ag-contact__team-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 23px,
    rgba(122, 139, 106, 0.05) 24px
  );
  pointer-events: none;
}

/* Wax seal decoration */
body.template-page[data-page-handle="contact"] .ag-contact__team-card::after {
  content: '';
  position: absolute;
  bottom: -20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle at 40% 40%,
    var(--ag-botanical-gold) 0%,
    #a67c1a 70%,
    #7a5808 100%);
  border-radius: 50%;
  box-shadow:
    inset 0 -2px 4px rgba(0, 0, 0, 0.2),
    0 2px 8px rgba(201, 162, 39, 0.3);
  opacity: 0.9;
}

/* Quote with handwritten emphasis */
body.template-page[data-page-handle="contact"] .ag-contact__team-quote {
  font-family: 'Crimson Text', Georgia, serif;
  font-style: italic;
  color: var(--ag-ink-brown);
  position: relative;
  padding-left: 1.5rem;
  border-left: 3px solid var(--ag-botanical-gold);
}

/* Quote mark decoration */
body.template-page[data-page-handle="contact"] .ag-contact__team-quote::before {
  content: '"';
  position: absolute;
  left: -0.5rem;
  top: -0.5rem;
  font-family: 'Fraunces', serif;
  font-size: 3rem;
  color: var(--ag-botanical-gold);
  opacity: 0.3;
}

/* Farm card with botanical illustration style */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    #f0ebe3 100%);
  position: relative;
}

/* Botanical corner flourish */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M10 50 Q20 30 40 35 Q50 40 55 25' fill='none' stroke='%237a8b6a' stroke-width='1'/%3E%3Cpath d='M15 45 Q25 25 45 30' fill='none' stroke='%237a8b6a' stroke-width='0.5'/%3E%3Ccircle cx='35' cy='30' r='3' fill='%23c9a227' opacity='0.4'/%3E%3C/svg%3E");
  opacity: 0.3;
}

/* ============================================================================
   CONTACT FORM - Correspondence card style
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-cream) 100%);
  position: relative;
  overflow: hidden;
}

/* Envelope flap effect at top */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg,
    var(--ag-botanical-gold) 0%,
    var(--ag-botanical-sage) 25%,
    var(--ag-botanical-terra) 50%,
    var(--ag-botanical-sage) 75%,
    var(--ag-botanical-gold) 100%);
}

/* Paper texture overlay */

/* Form header with wax seal icon */

/* Form fields with correspondence feel */
body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    #fff 100%);
  border: 1px solid rgba(189, 165, 137, 0.4);
  box-shadow:
    inset 0 1px 3px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__input:focus,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus {
  border-color: var(--ag-botanical-gold);
  box-shadow:
    0 0 0 3px rgba(201, 162, 39, 0.1),
    inset 0 1px 3px rgba(0, 0, 0, 0.04);
  background: #fff;
}

/* Form label with handwritten accent */
body.template-page[data-page-handle="contact"] .ag-contact__label {
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  color: var(--ag-ink-dark);
  position: relative;
  padding-left: 0.75rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__label::before {
  content: '✦';
  position: absolute;
  left: 0;
  color: var(--ag-botanical-gold);
  font-size: 0.7em;
}

/* Submit button with pressed botanical style */
body.template-page[data-page-handle="contact"] .ag-contact__submit {
  background: linear-gradient(145deg,
    var(--ag-ink-forest) 0%,
    #061a12 100%);
  box-shadow:
    0 6px 20px rgba(14, 62, 41, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}

/* Botanical decoration on button */
body.template-page[data-page-handle="contact"] .ag-contact__submit::before {
  content: '🌾';
  position: absolute;
  left: 1rem;
  font-size: 1.2rem;
  opacity: 0.5;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit span {
  padding-left: 1.5rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow:
    0 10px 30px rgba(14, 62, 41, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Direct contact links as stamps */
body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  background: linear-gradient(145deg,
    rgba(201, 162, 39, 0.08) 0%,
    rgba(201, 162, 39, 0.12) 100%);
  border: 1px dashed rgba(201, 162, 39, 0.3);
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover {
  background: var(--ag-botanical-gold);
  border-color: var(--ag-botanical-gold);
  color: #fff;
  transform: translateY(-2px);
}

/* ============================================================================
   LOCATIONS - Illustrated postcard style
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__locations {
  background: linear-gradient(180deg,
    var(--ag-paper-warm) 0%,
    var(--ag-paper-cream) 100%);
  position: relative;
}

/* Vintage map decoration */
body.template-page[data-page-handle="contact"] .ag-contact__locations::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M10 30 L30 25 L50 35 L70 20 L90 30' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.2'/%3E%3Cpath d='M10 50 L30 45 L50 55 L70 40 L90 50' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.15'/%3E%3Cpath d='M10 70 L30 65 L50 75 L70 60 L90 70' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.1'/%3E%3Ccircle cx='30' cy='45' r='1' fill='%23c9a227' opacity='0.3'/%3E%3Ccircle cx='70' cy='40' r='1' fill='%23c9a227' opacity='0.3'/%3E%3C/svg%3E");
  opacity: 0.5;
  pointer-events: none;
}

/* Location cards as postcards */
body.template-page[data-page-handle="contact"] .ag-contact__location {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    var(--ag-paper-cream) 100%);
  border: 1px solid rgba(189, 165, 137, 0.3);
  position: relative;
  overflow: hidden;
}

/* Postcard stamp decoration */
body.template-page[data-page-handle="contact"] .ag-contact__location::before {
  content: '';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  background: radial-gradient(circle,
    rgba(201, 162, 39, 0.2) 0%,
    transparent 70%);
  border: 1px dashed rgba(201, 162, 39, 0.4);
  border-radius: 50%;
}

/* Location image with ink wash effect */
body.template-page[data-page-handle="contact"] .ag-contact__location-image {
  background: linear-gradient(135deg,
    var(--ag-botanical-sage) 0%,
    #5a6b4a 100%);
  position: relative;
}

/* Watercolor pattern overlay */
body.template-page[data-page-handle="contact"] .ag-contact__location-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M0 30 Q15 25 30 30 T60 30' fill='none' stroke='rgba(255,255,255,0.1)' stroke-width='2'/%3E%3Cpath d='M0 40 Q15 35 30 40 T60 40' fill='none' stroke='rgba(255,255,255,0.08)' stroke-width='2'/%3E%3C/svg%3E");
  opacity: 0.6;
}

/* Location badge with vintage tag style */
body.template-page[data-page-handle="contact"] .ag-contact__location-badge {
  background: linear-gradient(145deg,
    rgba(122, 139, 106, 0.15) 0%,
    rgba(122, 139, 106, 0.25) 100%);
  border: 1px solid rgba(122, 139, 106, 0.3);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
}

/* ============================================================================
   FAQ - Vintage accordion cards
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__faq {
  background: linear-gradient(180deg,
    var(--ag-paper-cream) 0%,
    var(--ag-paper-warm) 100%);
}

/* FAQ items as correspondence cards */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  background: linear-gradient(180deg,
    var(--ag-paper-ivory) 0%,
    #fff 100%);
  border: 1px solid rgba(189, 165, 137, 0.2);
  position: relative;
  overflow: hidden;
}

/* Paper fold effect at top */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(189, 165, 137, 0.3) 50%,
    transparent 100%);
}


/* FAQ question with botanical marker */
body.template-page[data-page-handle="contact"] .ag-contact__faq-question {
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-question::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 0%;
  background: var(--ag-botanical-gold);
  transition: height 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-item[open] .ag-contact__faq-question::before {
  height: 60%;
}


/* FAQ CTA with botanical seal */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
  background: linear-gradient(145deg,
    var(--ag-botanical-sage) 0%,
    #5a6b4a 100%);
  box-shadow:
    0 4px 12px rgba(122, 139, 106, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
}

/* Seal decoration */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta::before {
  content: '✿';
  position: absolute;
  left: 1rem;
  font-size: 1rem;
  opacity: 0.7;
}


body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover {
  transform: translateY(-2px);
  box-shadow:
    0 8px 20px rgba(122, 139, 106, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ============================================================================
   MOTION - Organic smooth transitions
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__stat,

body.template-page[data-page-handle="contact"] .ag-contact__team-card,

body.template-page[data-page-handle="contact"] .ag-contact__farm-card,

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,

body.template-page[data-page-handle="contact"] .ag-contact__location,

body.template-page[data-page-handle="contact"] .ag-contact__faq-item,

body.template-page[data-page-handle="contact"] .ag-contact__option-card,

body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__submit {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 0.4s;
}

/* ============================================================================
   RESPONSIVE - Mobile refinements
   ============================================================================ */

@media (max-width: 768px) {
  /* Lighter textures for mobile */
  body.template-page[data-page-handle="contact"]::before {
    opacity: 0.25;
  }

  /* Smaller decorations */
  body.template-page[data-page-handle="contact"] .ag-contact__hero::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::after {
    width: 80px;
    height: 80px;
  }

  /* Reduce hover effects */
  body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
}

/* ============================================================================
   ACCESSIBILITY - Focus states
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__input:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__submit:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__faq-question:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__cta:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__option-card a:focus-visible {
  outline: 3px solid var(--ag-botanical-gold);
  outline-offset: 3px;
}

/* ============================================================================
   REDUCED MOTION - Accessibility preference
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  body.template-page[data-page-handle="contact"] .ag-contact__title-gradient,
  
  body.template-page[data-page-handle="contact"] .ag-contact__submit,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
    animation: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item,
  
  body.template-page[data-page-handle="contact"] .ag-contact__option-card {
    transition: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
    transform: none !important;
  }
}

/* ============================================================================
   PRINT - Letterpress style for print
   ============================================================================ */

@media print {
  body.template-page[data-page-handle="contact"]::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__options::after {
    display: none;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow: none;
    background: #fff;
    border: 1px solid #ccc;
  }
}

/* ============================================================================
   END OF BOTANICAL LETTERPRESS STUDIO
   ============================================================================ */


/* ============================================
   contact-tropical-garden.css
   ============================================ */

/* ============================================================================
   AGRIKO CONTACT PAGE - TROPICAL BOTANICAL ART GARDEN
   A bold, maximalist aesthetic: Walking through a Philippine organic farm

   Design Philosophy: "Every Leaf Tells a Story"
   - Giant botanical art as background scenery
   - Tropical color explosion: vibrant greens, golden sunshine, earthy terracottas
   - Organic flowing shapes inspired by rice terraces and palm leaves
   - Interactive elements that respond like nature (sway, bloom, ripple)
   - Staggered asymmetric layouts that feel natural, not grid-locked
   - Animated floating elements (leaves, grains, flowers)

   This is a GARDEN. Not a template.
   ============================================================================ */

/* ============================================================================
   DESIGN TOKENS - Tropical Garden Palette
   ============================================================================ */


/* Template-specific tokens - scoped to body.template-contact */
/* ============================================================================
   PAGE FOUNDATION - Living garden canvas
   ============================================================================ */

body.template-page[data-page-handle="contact"] {
  background: linear-gradient(180deg,
    #f0ebe3 0%,
    #e8e3d9 30%,
    #e0dbc9 60%,
    #d8d3c0 100%);
  position: relative;
  overflow-x: hidden;
}

/* Animated floating botanical elements */
body.template-page[data-page-handle="contact"]::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image:
    /* Floating rice grains */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cellipse cx='30' cy='30' rx='2' ry='4' fill='%23d4c4a8' opacity='0.15'/%3E%3Cellipse cx='10' cy='50' rx='1.5' ry='3' fill='%23d4c4a8' opacity='0.1'/%3E%3C/svg%3E");
  animation: gardenFloat 60s linear infinite;
}

@keyframes gardenFloat {
  0% { background-position: 0 0, 30px 30px; }
  100% { background-position: 60px 60px, 0 0; }
}

/* ============================================================================
   HERO SECTION - Sunrise over rice terraces
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__hero {
  position: relative;
  overflow: visible;
}

/* Giant palm leaf background decoration */
body.template-page[data-page-handle="contact"] .ag-contact__hero::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -10%;
  width: 500px;
  height: 500px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 10 Q120 50 150 100 L180 150 Q150 180 100 200 Q50 180 20 150 L50 100 Q80 50 100 10Z' fill='none' stroke='%232d5a3d' stroke-width='0.5' opacity='0.1'/%3E%3Cpath d='M100 30 Q115 60 140 90 L170 140' fill='none' stroke='%233a6b2e' stroke-width='0.3' opacity='0.15'/%3E%3C/svg%3E");
  opacity: 0.4;
  animation: palmSway 8s ease-in-out infinite;
  transform-origin: top center;
}

@keyframes palmSway {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
}

/* Hero content with tropical glow */
body.template-page[data-page-handle="contact"] .ag-contact__hero-content {
  position: relative;
  z-index: 2;
}

/* Eyebrow as bamboo tag */
body.template-page[data-page-handle="contact"] .ag-contact__eyebrow {
  font-family: 'Caveat', cursive;
  font-size: clamp(1rem, 2.2vw, 1.3rem);
  color: var(--ag-tropical-earth);
  background: linear-gradient(90deg,
    var(--ag-tropical-golden) 0%,
    var(--ag-tropical-sunlight) 50%,
    var(--ag-tropical-golden) 100%);
  padding: 0.4rem 1.2rem;
  border-radius: 2rem;
  display: inline-block;
  box-shadow:
    0 4px 12px rgba(246, 185, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  position: relative;
  animation: bambooGlow 3s ease-in-out infinite;
}

@keyframes bambooGlow {
  0%, 100% { box-shadow: 0 4px 12px rgba(246, 185, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
  50% { box-shadow: 0 6px 20px rgba(246, 185, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.6); }
}

/* Hero title with sunrise gradient */
body.template-page[data-page-handle="contact"] .ag-contact__title {
  font-family: 'Fraunces', serif;
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__title span {
  text-shadow:
    0 2px 0 rgba(246, 185, 0, 0.1),
    0 4px 8px rgba(14, 62, 41, 0.1);
}

body.template-page[data-page-handle="contact"] .ag-contact__title-gradient {
  background: linear-gradient(
    135deg,
    var(--ag-tropical-fern) 0%,
    var(--ag-tropical-jade) 25%,
    var(--ag-tropical-sunlight) 50%,
    var(--ag-tropical-golden) 75%,
    var(--ag-tropical-amber) 100%
  );
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: sunriseShimmer 6s ease-in-out infinite;
  position: relative;
  display: inline-block;
}

/* Decorative rice grain particles */
body.template-page[data-page-handle="contact"] .ag-contact__title-gradient::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  background-image: radial-gradient(circle,
    var(--ag-tropical-sunlight) 1px,
    transparent 1px);
  background-size: 20px 20px;
  opacity: 0.3;
  animation: grainRain 4s linear infinite;
  pointer-events: none;
}

@keyframes sunriseShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes grainRain {
  0% { background-position: 0 0; }
  100% { background-position: 20px 40px; }
}

/* Hero description with tropical clarity */
body.template-page[data-page-handle="contact"] .ag-contact__description {
  font-family: 'Crimson Text', Georgia, serif;
  color: var(--ag-tropical-earth);
  line-height: 1.9;
  font-size: clamp(1rem, 2vw, 1.15rem);
}

/* CTA button as tropical fruit */
body.template-page[data-page-handle="contact"] .ag-contact__cta {
  background: linear-gradient(145deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-golden) 50%,
    var(--ag-tropical-amber) 100%);
  border-radius: 2.5rem;
  padding: 1rem 2.5rem;
  box-shadow:
    0 6px 0 rgba(166, 124, 26, 0.3),
    0 8px 20px rgba(246, 185, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(166, 124, 26, 0.2);
  position: relative;
  overflow: visible;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Floating leaf decoration */
body.template-page[data-page-handle="contact"] .ag-contact__cta::before {
  content: '🍃';
  position: absolute;
  top: -15px;
  right: -10px;
  font-size: 1.5rem;
  animation: leafFloat 3s ease-in-out infinite;
}

@keyframes leafFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(5deg); }
}


/* ============================================================================
   CONTACT OPTIONS - Tropical fruit basket
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__options {
  position: relative;
}

/* Giant banana leaf backdrop */
body.template-page[data-page-handle="contact"] .ag-contact__options::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -5%;
  width: 400px;
  height: 400px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100'%3E%3Cpath d='M0 50 Q50 20 100 50 T200 50' fill='none' stroke='%236b8e4a' stroke-width='2' opacity='0.08'/%3E%3Cpath d='M0 70 Q50 40 100 70 T200 70' fill='none' stroke='%234a7c3e' stroke-width='1' opacity='0.06'/%3E%3C/svg%3E");
  opacity: 0.5;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card {
  background: linear-gradient(180deg,
    #fff 0%,
    #faf8f3 50%,
    #f5f0e8 100%);
  border: none;
  border-radius: 1.5rem;
  position: relative;
  overflow: visible;
  box-shadow:
    0 8px 24px rgba(45, 90, 61, 0.08),
    0 2px 6px rgba(45, 90, 61, 0.04);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Top accent bar in tropical colors */
body.template-page[data-page-handle="contact"] .ag-contact__option-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 4px;
  border-radius: 0 0 4px 4px;
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:nth-child(1)::before {
  background: linear-gradient(90deg,
    var(--ag-tropical-bamboo) 0%,
    var(--ag-tropical-leaf) 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:nth-child(2)::before {
  background: linear-gradient(90deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-amber) 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:nth-child(3)::before {
  background: linear-gradient(90deg,
    var(--ag-tropical-clay) 0%,
    var(--ag-tropical-earth) 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
  transform: translateY(-8px) rotate(0.5deg);
  box-shadow:
    0 16px 40px rgba(45, 90, 61, 0.12),
    0 4px 12px rgba(45, 90, 61, 0.06);
}

/* Option icons as tropical fruits */
body.template-page[data-page-handle="contact"] .ag-contact__option-icon {
  position: relative;
  background: linear-gradient(145deg,
    var(--ag-tropical-jade) 0%,
    var(--ag-tropical-fern) 100%);
  box-shadow:
    0 6px 16px rgba(45, 90, 61, 0.2),
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:nth-child(2) .ag-contact__option-icon {
  background: linear-gradient(145deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-golden) 100%);
  box-shadow:
    0 6px 16px rgba(246, 185, 0, 0.25),
    inset 0 2px 0 rgba(255, 255, 255, 0.2);
}

body.template-page[data-page-handle="contact"] .ag-contact__option-card:nth-child(3) .ag-contact__option-icon {
  background: linear-gradient(145deg,
    var(--ag-tropical-clay) 0%,
    var(--ag-tropical-earth) 100%);
  box-shadow:
    0 6px 16px rgba(166, 124, 82, 0.2),
    inset 0 2px 0 rgba(255, 255, 255, 0.2);
}

/* ============================================================================
   TRUST STATS - Harvest showcase
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__trust {
  background: linear-gradient(180deg,
    var(--ag-tropical-jade) 0%,
    var(--ag-tropical-fern) 50%,
    var(--ag-tropical-verdant) 100%);
  position: relative;
  overflow: hidden;
}

/* Rice terrace pattern overlay */
body.template-page[data-page-handle="contact"] .ag-contact__trust::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cpath d='M0 20 L20 10 L40 15 L60 5 L80 10' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3Cpath d='M0 30 L20 20 L40 25 L60 15 L80 20' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='1'/%3E%3C/svg%3E");
  opacity: 0.6;
}

/* Trust badge as harvest festival banner */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge {
  background: linear-gradient(135deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-amber) 100%);
  padding: 0.5rem 1.5rem;
  border-radius: 2rem;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  position: relative;
}

/* Wheat decoration */
body.template-page[data-page-handle="contact"] .ag-contact__trust-badge::before {
  content: '🌾';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__trust-badge span {
  padding-left: 0.8rem;
}

/* Stat cards as harvest baskets */
body.template-page[data-page-handle="contact"] .ag-contact__stat {
  background: linear-gradient(180deg,
    #fff 0%,
    #faf8f3 100%);
  border-radius: 1.5rem;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Wicker basket texture effect */
body.template-page[data-page-handle="contact"] .ag-contact__stat::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      45deg,
      transparent 0px,
      transparent 10px,
      rgba(139, 111, 82, 0.03) 10px,
      rgba(139, 111, 82, 0.03) 20px
    );
  opacity: 0.5;
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat:hover {
  transform: translateY(-12px) rotate(-1deg);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.12),
    0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Stat number with rich harvest colors */
body.template-page[data-page-handle="contact"] .ag-contact__stat-number {
  font-family: 'Fraunces', serif;
  background: linear-gradient(180deg,
    var(--ag-tropical-fern) 0%,
    var(--ag-tropical-jade) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--gold .ag-contact__stat-number {
  background: linear-gradient(180deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-golden) 100%);
}

body.template-page[data-page-handle="contact"] .ag-contact__stat--terra .ag-contact__stat-number {
  background: linear-gradient(180deg,
    var(--ag-tropical-clay) 0%,
    var(--ag-tropical-earth) 100%);
}

/* ============================================================================
   SIDEBAR CARDS - Garden journal style
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__team-card {
  background: linear-gradient(145deg,
    #fff 0%,
    #faf8f3 100%);
  border-radius: 1.5rem;
  position: relative;
  overflow: hidden;
}

/* Garden illustration border */
body.template-page[data-page-handle="contact"] .ag-contact__team-card::before {
  content: '';
  position: absolute;
  inset: 6px;
  border: 1px dashed rgba(107, 142, 74, 0.2);
  border-radius: 1rem;
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__team-card::after {
  content: '🌱';
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 2rem;
  opacity: 0.3;
  animation: sproutGrow 3s ease-in-out infinite;
}

@keyframes sproutGrow {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

body.template-page[data-page-handle="contact"] .ag-contact__team-icon {
  background: linear-gradient(145deg,
    var(--ag-tropical-bamboo) 0%,
    var(--ag-tropical-leaf) 100%);
  box-shadow:
    0 6px 16px rgba(107, 142, 74, 0.2),
    inset 0 2px 0 rgba(255, 255, 255, 0.3);
}

/* Quote with garden feel */
body.template-page[data-page-handle="contact"] .ag-contact__team-quote {
  font-family: 'Crimson Text', Georgia, serif;
  color: var(--ag-tropical-earth);
  font-style: italic;
  position: relative;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg,
    rgba(107, 142, 74, 0.05) 0%,
    rgba(74, 124, 62, 0.05) 100%);
  border-radius: 1rem;
  border-left: 4px solid var(--ag-tropical-bamboo);
}

/* Farm card with tropical illustration */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card {
  background: linear-gradient(180deg,
    #fff 0%,
    #f5f0e8 100%);
  position: relative;
  overflow: hidden;
}

/* Botanical corner decoration */
body.template-page[data-page-handle="contact"] .ag-contact__farm-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M40 60 Q30 50 20 55 Q30 40 40 30 Q50 20 60 25' fill='none' stroke='%236b8e4a' stroke-width='1' opacity='0.2'/%3E%3Cpath d='M60 40 Q50 30 30 35' fill='none' stroke='%234a7c3e' stroke-width='1' opacity='0.15'/%3E%3C/svg%3E");
}

body.template-page[data-page-handle="contact"] .ag-contact__farm-cta {
  background: linear-gradient(145deg,
    var(--ag-tropical-jade) 0%,
    var(--ag-tropical-fern) 100%);
  border-radius: 2rem;
  box-shadow:
    0 4px 12px rgba(45, 90, 61, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* ============================================================================
   CONTACT FORM - Bamboo slip correspondence
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper {
  background: linear-gradient(180deg,
    #fff 0%,
    #faf8f3 50%,
    #f5f0e8 100%);
  border-radius: 2rem;
  position: relative;
  overflow: hidden;
}

/* Bamboo frame effect */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 2px solid transparent;
  border-image: linear-gradient(135deg,
    var(--ag-tropical-bamboo) 0%,
    var(--ag-tropical-leaf) 25%,
    var(--ag-tropical-sunlight) 50%,
    var(--ag-tropical-golden) 75%,
    var(--ag-tropical-earth) 100%) 1;
  border-radius: 1.8rem;
  pointer-events: none;
}

/* Paper texture overlay */
body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='0.02'/%3E%3C/svg%3E");
  opacity: 0.5;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* Form header with tropical icon */
body.template-page[data-page-handle="contact"] .ag-contact__form-icon {
  font-size: 2.5rem;
  filter: drop-shadow(0 4px 8px rgba(246, 185, 0, 0.2));
}

/* Form fields with tropical styling */
body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__select {
  background: #fff;
  border: 2px solid rgba(107, 142, 74, 0.2);
  border-radius: 1rem;
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.02),
    0 1px 0 rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__input:focus,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus {
  border-color: var(--ag-tropical-bamboo);
  box-shadow:
    0 0 0 4px rgba(107, 142, 74, 0.1),
    inset 0 2px 4px rgba(0, 0, 0, 0.02);
  transform: translateY(-2px);
}

/* Form labels with tropical accents */
body.template-page[data-page-handle="contact"] .ag-contact__label {
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  color: var(--ag-tropical-fern);
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__label::before {
  content: '🌿';
  position: absolute;
  left: -1.2rem;
  font-size: 0.8em;
}

/* Submit button as golden mango */
body.template-page[data-page-handle="contact"] .ag-contact__submit {
  background: linear-gradient(145deg,
    var(--ag-tropical-sunlight) 0%,
    var(--ag-tropical-golden) 50%,
    var(--ag-tropical-amber) 100%);
  border-radius: 2rem;
  padding: 1rem 2.5rem;
  box-shadow:
    0 6px 0 rgba(166, 124, 26, 0.25),
    0 8px 20px rgba(246, 185, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(166, 124, 26, 0.2);
  position: relative;
  overflow: hidden;
}

/* Floating leaf animation */
body.template-page[data-page-handle="contact"] .ag-contact__submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 100%);
  transition: left 0.6s ease;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover::before {
  left: 100%;
}

body.template-page[data-page-handle="contact"] .ag-contact__submit:hover {
  transform: translateY(-3px);
  box-shadow:
    0 10px 0 rgba(166, 124, 26, 0.25),
    0 12px 30px rgba(246, 185, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* Direct links as tropical leaves */
body.template-page[data-page-handle="contact"] .ag-contact__direct-link {
  background: linear-gradient(145deg,
    rgba(107, 142, 74, 0.08) 0%,
    rgba(74, 124, 62, 0.12) 100%);
  border: 1px solid rgba(107, 142, 74, 0.2);
  border-radius: 1.5rem;
  position: relative;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link::before {
  content: '🍃';
  position: absolute;
  left: 0.5rem;
  font-size: 0.8rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link span {
  padding-left: 1.2rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:hover {
  background: var(--ag-tropical-jade);
  border-color: var(--ag-tropical-jade);
  color: #fff;
  transform: translateY(-2px);
}

/* ============================================================================
   LOCATIONS - Island paradise cards
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__locations {
  background: linear-gradient(180deg,
    #faf8f3 0%,
    #f0ebe3 100%);
  position: relative;
}

/* Island pattern decoration */
body.template-page[data-page-handle="contact"] .ag-contact__locations::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cellipse cx='30' cy='30' rx='20' ry='10' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.1'/%3E%3Cellipse cx='80' cy='40' rx='15' ry='8' fill='none' stroke='%23d4c4a8' stroke-width='0.5' opacity='0.08'/%3E%3C/svg%3E");
  opacity: 0.4;
}

/* Location cards as island destinations */
body.template-page[data-page-handle="contact"] .ag-contact__location {
  background: linear-gradient(180deg,
    #fff 0%,
    #faf8f3 100%);
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Water reflection effect */
body.template-page[data-page-handle="contact"] .ag-contact__location::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(135, 206, 235, 0.05) 100%);
  pointer-events: none;
}

body.template-page[data-page-handle="contact"] .ag-contact__location:hover {
  transform: translateY(-10px) rotate(-0.5deg);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.12),
    0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Location image with tropical sky gradient */
body.template-page[data-page-handle="contact"] .ag-contact__location-image {
  background: linear-gradient(180deg,
    var(--ag-tropical-sky) 0%,
    var(--ag-tropical-bamboo) 50%,
    var(--ag-tropical-jade) 100%);
  position: relative;
}

/* Sun glow effect */
body.template-page[data-page-handle="contact"] .ag-contact__location-image::after {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  background: radial-gradient(circle,
    rgba(246, 185, 0, 0.3) 0%,
    transparent 70%);
  pointer-events: none;
}

/* ============================================================================
   FAQ - Tropical conversation cards
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__faq {
  background: linear-gradient(180deg,
    #f5f0e8 0%,
    #faf8f3 100%);
}

/* FAQ items as conversation bubbles */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
  background: linear-gradient(180deg,
    #fff 0%,
    #faf8f3 100%);
  border-radius: 1rem;
  border: 1px solid rgba(107, 142, 74, 0.15);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.04),
    0 1px 3px rgba(0, 0, 0, 0.02);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
}

/* Leaf decoration */
body.template-page[data-page-handle="contact"] .ag-contact__faq-item::before {
  content: '🌿';
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 0.8rem;
  opacity: 0.3;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-item[open] {
  background: #fff;
  box-shadow:
    0 12px 28px rgba(45, 90, 61, 0.08),
    0 4px 12px rgba(45, 90, 61, 0.04);
  border-color: rgba(107, 142, 74, 0.25);
}

/* FAQ question with tropical marker */
body.template-page[data-page-handle="contact"] .ag-contact__faq-question {
  position: relative;
  padding-left: 3rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-question:hover {
  background: linear-gradient(90deg,
    rgba(107, 142, 74, 0.05) 0%,
    transparent 100%);
}

/* FAQ CTA with tropical bloom */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta {
  background: linear-gradient(145deg,
    var(--ag-tropical-bamboo) 0%,
    var(--ag-tropical-leaf) 100%);
  border-radius: 2rem;
  padding: 0.8rem 2rem;
  box-shadow:
    0 4px 12px rgba(107, 142, 74, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  position: relative;
}

/* Flower decoration */
body.template-page[data-page-handle="contact"] .ag-contact__faq-cta::before {
  content: '🌸';
  position: absolute;
  left: 0.8rem;
  font-size: 0.9rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta span {
  padding-left: 1.2rem;
}

body.template-page[data-page-handle="contact"] .ag-contact__faq-cta:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow:
    0 8px 20px rgba(107, 142, 74, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* ============================================================================
   FLOATING BOTANICALS - Ambient garden atmosphere
   ============================================================================ */

/* Create floating leaves throughout the page */
@keyframes floatGentle {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(-100vh) rotate(360deg);
    opacity: 0;
  }
}

body.template-page[data-page-handle="contact"] .ag-contact__hero::after {
  content: '🌿';
  position: absolute;
  top: 80%;
  left: 5%;
  font-size: 2rem;
  opacity: 0;
  animation: floatGentle 15s ease-in-out infinite;
  animation-delay: 0s;
  pointer-events: none;
}

/* Add more floating elements via CSS */
body.template-page[data-page-handle="contact"] .ag-contact__trust::after {
  content: '🌾';
  position: absolute;
  top: 20%;
  right: 10%;
  font-size: 1.5rem;
  opacity: 0;
  animation: floatGentle 18s ease-in-out infinite;
  animation-delay: 5s;
  pointer-events: none;
}

/* ============================================================================
   MOTION - Organic, springy animations
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__stat,

body.template-page[data-page-handle="contact"] .ag-contact__team-card,

body.template-page[data-page-handle="contact"] .ag-contact__farm-card,

body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,

body.template-page[data-page-handle="contact"] .ag-contact__location,

body.template-page[data-page-handle="contact"] .ag-contact__faq-item,

body.template-page[data-page-handle="contact"] .ag-contact__option-card,

body.template-page[data-page-handle="contact"] .ag-contact__input,

body.template-page[data-page-handle="contact"] .ag-contact__submit {
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-duration: 0.4s;
}

/* ============================================================================
   RESPONSIVE - Mobile garden
   ============================================================================ */

@media (max-width: 768px) {
  /* Reduce floating elements on mobile */
  body.template-page[data-page-handle="contact"]::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust::after {
    display: none;
  }

  /* Lighter shadows */
  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location {
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.06),
      0 1px 3px rgba(0, 0, 0, 0.03);
  }

  /* Reduce hover effects */
  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
    transform: translateY(-4px);
  }

  /* Smaller decorative elements */
  body.template-page[data-page-handle="contact"] .ag-contact__hero::before {
    width: 300px;
    height: 300px;
  }
}

/* ============================================================================
   ACCESSIBILITY - Focus states
   ============================================================================ */

body.template-page[data-page-handle="contact"] .ag-contact__input:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__select:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__submit:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__faq-question:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__direct-link:focus-visible,

body.template-page[data-page-handle="contact"] .ag-contact__cta:focus-visible {
  outline: 3px solid var(--ag-tropical-sunlight);
  outline-offset: 3px;
}

/* ============================================================================
   REDUCED MOTION
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  body.template-page[data-page-handle="contact"]::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__title-gradient::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__cta::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust-badge,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-cta::before {
    animation: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item,
  
  body.template-page[data-page-handle="contact"] .ag-contact__option-card {
    transition: none !important;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location:hover,
  
  body.template-page[data-page-handle="contact"] .ag-contact__option-card:hover {
    transform: none !important;
  }
}

/* ============================================================================
   PRINT - Garden on paper
   ============================================================================ */

@media print {
  body.template-page[data-page-handle="contact"]::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::before,
  
  body.template-page[data-page-handle="contact"] .ag-contact__hero::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust::after,
  
  body.template-page[data-page-handle="contact"] .ag-contact__trust::before {
    display: none;
  }

  body.template-page[data-page-handle="contact"] .ag-contact__stat,
  
  body.template-page[data-page-handle="contact"] .ag-contact__team-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__farm-card,
  
  body.template-page[data-page-handle="contact"] .ag-contact__form-wrapper,
  
  body.template-page[data-page-handle="contact"] .ag-contact__location,
  
  body.template-page[data-page-handle="contact"] .ag-contact__faq-item {
    box-shadow: none;
    background: #fff;
  }
}

/* ============================================================================
   END OF TROPICAL BOTANICAL ART GARDEN
   ============================================================================ */


/* ============================================
   contact-page.css
   ============================================ */

/* ============================================================
   AGRIKO CONTACT PAGE — Matches Next.js localhost:3000/contact
   Colors: Forest #0e3e29, Gold #f59e0b/#F6B900, Terra #c7754b
   Cream backgrounds: #fafaf9, #f8f6f3
   ============================================================ */

/* ============================================================
   HERO SECTION
   ============================================================ */

.ag-contact__hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}



/* Dark overlay */
.ag-contact__hero-overlay {
  display: none;
}

.ag-contact__hero-texture {
  display: none;
}

.ag-contact__hero-burlap {
  display: none;
}

.ag-contact__hero-content {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(2rem, 5vh, 4rem) 0;
}

.ag-contact__hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
  align-items: center;
}

@media (min-width: 1024px) {
  .ag-contact__hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 5vw, 4rem);
  }
}

.ag-contact__hero-left {
  color: #ffffff;
}

.ag-contact__eyebrow {
  margin: 0;
  font-family: 'Caveat', cursive;
  font-size: clamp(1.125rem, 4.8vw, 2.25rem);
  letter-spacing: 0.02em;
  font-weight: 400;
  line-height: 1.05;
  color: #ffffff;
  text-shadow: 0 2px 20px rgba(245, 158, 11, 0.3), 0 1px 8px rgba(0, 0, 0, 0.4);
  display: inline-flex;
  align-items: center;
  gap: clamp(0.35rem, 1.2vw, 0.75rem);
  white-space: nowrap;
}

.ag-contact__eyebrow::before,
.ag-contact__eyebrow::after {
  content: '';
  display: inline-block;
  width: clamp(1.25rem, 4vw, 2.5rem);
  height: 1px;
  opacity: 0.9;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.3);
}

.ag-contact__eyebrow::before {
  background: linear-gradient(to right, transparent, rgba(245, 178, 41, 0.8));
}

.ag-contact__eyebrow::after {
  background: linear-gradient(to left, transparent, rgba(245, 178, 41, 0.8));
}

.ag-contact__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 400;
  line-height: 1.05;
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem) 0;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4), 0 8px 40px rgba(0, 0, 0, 0.2);
  -webkit-font-smoothing: antialiased;
}

.ag-contact__title-gradient {
  background: linear-gradient(135deg, #f59e0b 0%, #fb923c 40%, #fbbf24 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.ag-contact__description {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 clamp(1.25rem, 3vw, 2rem) 0;
}

.ag-contact__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: clamp(0.75rem, 2vw, 1rem) clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(90deg, #f59e0b, #f97316);
  color: #ffffff;
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 2.2vw, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  border-radius: 9999px;
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.3);
  transition: all 0.3s ease;
}

.ag-contact__cta:hover {
  transform: scale(1.04) translateY(-2px);
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.4);
  text-decoration: none;
  color: #ffffff;
}

.ag-contact__hero-cards {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 1.5vw, 1rem);
}

.ag-contact__hero-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border-radius: 0.75rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
  color: #ffffff;
  transition: all 0.3s ease;
  overflow: hidden;
}

.ag-contact__hero-card:hover {
  transform: translateX(12px) translateY(-8px);
  text-decoration: none;
  color: #ffffff;
}








.ag-contact__hero-card--email .ag-contact__card-icon {
  background: rgba(245, 158, 11, 0.12);
  box-shadow: 0 4px 20px rgba(245, 158, 11, 0.25);
}

.ag-contact__hero-card--phone .ag-contact__card-icon {
  background: rgba(16, 185, 129, 0.12);
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.25);
}

.ag-contact__hero-card--location .ag-contact__card-icon {
  background: rgba(199, 117, 75, 0.12);
  box-shadow: 0 4px 20px rgba(199, 117, 75, 0.25);
}



.ag-contact__card-content h3 {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.9375rem, 2.2vw, 1.25rem);
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  color: #ffffff;
}


.ag-contact__card-detail {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.625rem, 1.2vw, 0.8125rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.ag-contact__hero-card--email .ag-contact__card-detail {
  color: #f59e0b;
}

.ag-contact__hero-card--phone .ag-contact__card-detail {
  color: #10b981;
}

.ag-contact__hero-card--location .ag-contact__card-detail {
  color: #c7754b;
}

/* ============================================================
   TRUST STATS SECTION
   ============================================================ */



.ag-contact__trust-section::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background:
    radial-gradient(circle at 20% 30%, rgba(245, 158, 11, 0.25) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(30, 150, 100, 0.18) 0%, transparent 35%),
    radial-gradient(circle at 50% 50%, rgba(199, 117, 75, 0.15) 0%, transparent 50%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.ag-contact__trust-header {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}




.ag-contact__trust-grid {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (min-width: 640px) {
  .ag-contact__trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .ag-contact__trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ag-contact__trust-card {
  position: relative;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(245, 243, 240, 0.9) 100%);
  border: 2px solid rgba(245, 158, 11, 0.3);
  border-radius: 1rem;
  padding: clamp(1rem, 3vw, 2rem);
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05), inset 0 1px 2px rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  overflow: hidden;
}








.ag-contact__trust-card:nth-child(3) .ag-contact__trust-rating {
  color: #c2410c;
}





.ag-contact__trust-icon {
  width: 1.75rem;
  height: 1.75rem;
  margin: 0 auto 0.5rem;
  color: #047857;
}

.ag-contact__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #b45309;
}

.ag-contact__trust-mini-text {
  font-family: 'Crimson Text', serif;
  font-size: 0.875rem;
  color: #525252;
  margin: 0;
}

/* ============================================================
   MAIN FORM SECTION
   ============================================================ */



.ag-contact__form-layout {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

@media (min-width: 1024px) {
  .ag-contact__form-layout {
    grid-template-columns: 1fr 1.15fr;
  }
}

/* Left Column Cards */

.ag-contact__team-card {
  position: relative;
  background: linear-gradient(to bottom right, #ffffff, #fafaf9, #ffffff);
  border: 2px solid rgba(214, 211, 209, 0.6);
  border-top: 0;
  border-radius: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.ag-contact__team-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0e3e29 0%, #0e3e29 60%, #059669 100%);
  border-radius: 1rem 1rem 0 0;
}


.ag-contact__team-icon {
  width: clamp(2.5rem, 6vw, 3.5rem);
  height: clamp(2.5rem, 6vw, 3.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border-radius: 50%;
  margin: 0 0 0.5rem 0;
  transition: transform 0.3s ease;
}












.ag-contact__farm-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  background: #0e3e29;
  color: #ffffff;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 9999px;
  border: 1px solid rgba(14, 62, 41, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.ag-contact__farm-cta:hover {
  transform: scale(1.05) translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  color: #ffffff;
}

/* Form Card */
.ag-contact__form-card {
  position: relative;
  background: linear-gradient(to bottom right, #ffffff, #fafaf9, #ffffff);
  border: 2px solid rgba(214, 211, 209, 0.6);
  border-top: 0;
  border-radius: 1rem;
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}


.ag-contact__form-header {
  display: flex;
  align-items: flex-start;
  gap: clamp(0.75rem, 2vw, 1rem);
  margin-bottom: clamp(0.75rem, 2vw, 1.5rem);
}

.ag-contact__form-emoji {
  width: clamp(2.5rem, 6vw, 3.5rem);
  height: clamp(2.5rem, 6vw, 3.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-radius: 50%;
  font-size: clamp(1.25rem, 3vw, 2rem);
  flex-shrink: 0;
}


.ag-contact__form-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 700;
  color: #0e3e29;
  margin: 0 0 0.25rem 0;
}

.ag-contact__form-subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem);
  color: #6b7280;
  margin: 0;
}





.ag-contact__form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .ag-contact__form-row {
    grid-template-columns: 1fr 1fr;
  }
}



.ag-contact__form-input,
.ag-contact__form-select,
.ag-contact__form-textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  border: 2px solid rgba(214, 211, 209, 0.6);
  border-radius: 0.5rem;
  font-family: 'Crimson Text', serif;
  font-size: 0.875rem;
  color: #0e3e29;
  transition: all 0.3s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.ag-contact__form-input::placeholder,

.ag-contact__form-input:hover,
.ag-contact__form-select:hover,

.ag-contact__form-input:focus,
.ag-contact__form-select:focus,

.ag-contact__form-textarea {
  min-height: 140px;
  resize: none;
}




.ag-contact__form-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
}

@media (min-width: 480px) {
  .ag-contact__form-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.ag-contact__form-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: clamp(0.75rem, 2vw, 1rem) clamp(1.5rem, 3vw, 2rem);
  background: linear-gradient(90deg, #f59e0b, #d97706);
  border: none;
  border-radius: 0.5rem;
  color: #ffffff;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(243, 82, 1, 0.3);
  transition: all 0.3s ease;
  overflow: hidden;
}




.ag-contact__quick-contact {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 2px solid rgba(214, 211, 209, 0.6);
}

.ag-contact__quick-label {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem);
  font-weight: 700;
  text-align: center;
  color: #1c1917;
  margin: 0 0 0.75rem 0;
}

.ag-contact__quick-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.625rem;
}

@media (min-width: 480px) {
  .ag-contact__quick-options {
    grid-template-columns: 1fr 1fr;
  }
}

.ag-contact__quick-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.ag-contact__quick-link--phone {
  background: linear-gradient(135deg, #f0fdf4, rgba(240, 253, 244, 0.5));
  border: 2px solid rgba(5, 150, 105, 0.2);
}


.ag-contact__quick-link--messenger {
  background: var(--color-blue-50, #eff6ff);
  border: 1px solid var(--color-blue-200, #bfdbfe);
}


.ag-contact__quick-icon {
  width: clamp(2rem, 4vw, 2.5rem);
  height: clamp(2rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}





.ag-contact__quick-title {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  display: block;
}



.ag-contact__quick-detail {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  display: block;
}



/* ============================================================
   LOCATIONS SECTION
   ============================================================ */







.ag-contact__locations-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.75rem, 4.5vw, 3rem);
  font-weight: 700;
  background: linear-gradient(135deg, #0e3e29 0%, #1e9664 50%, #0e3e29 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0 0 1rem 0;
}


.ag-contact__locations-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 768px) {
  .ag-contact__locations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.ag-contact__location-card {
  position: relative;
  background: rgba(30, 150, 100, 0.04);
  border: 1px solid rgba(30, 150, 100, 0.18);
  border-radius: 0.75rem;
  padding: clamp(1rem, 2.5vw, 1.75rem);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}






.ag-contact__location-icon {
  width: clamp(2.25rem, 4vw, 2.75rem);
  height: clamp(2.25rem, 4vw, 2.75rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}







.ag-contact__location-address {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 1.8vw, 1.0625rem);
  font-weight: 400;
  color: #0e3e29;
  line-height: 1.7;
  margin: 0 0 0.75rem 0;
}


.ag-contact__location-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  margin-top: 0.75rem;
  border-radius: 0.75rem;
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}





/* ============================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================ */

@media (max-width: 767px) {
  .ag-contact__hero {
    min-height: 100vh;
  }

  .ag-contact__hero-grid {
    padding-top: clamp(4rem, 15vh, 6rem);
  }

  .ag-contact__trust-card {
    padding: 1rem;
  }

  .ag-contact__form-card {
    padding: 1rem;
  }

  .ag-contact__team-card {
    padding: 1rem;
  }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .ag-contact__cta,
  .ag-contact__hero-card,
  .ag-contact__trust-card,
  .ag-contact__form-submit,
  .ag-contact__quick-link,
  .ag-contact__location-card,
  .ag-contact__farm-cta,
  .ag-contact__team-icon {
    transition: none;
  }

  .ag-contact__cta:hover,
  .ag-contact__hero-card:hover,
  .ag-contact__trust-card:hover,
  .ag-contact__form-submit:hover,
  .ag-contact__quick-link:hover,
  .ag-contact__location-card:hover,
  .ag-contact__farm-cta:hover {
    transform: none;
  }
}

/* Focus visible states */
.ag-contact__cta:focus-visible,
.ag-contact__hero-card:focus-visible,
.ag-contact__form-submit:focus-visible,
.ag-contact__quick-link:focus-visible,
.ag-contact__location-card:focus-visible,


/* ============================================
   contact-page-polished.css
   ============================================ */

/* ═══════════════════════════════════════════════════════════════════════
   AGRIKO CONTACT PAGE — POLISHED & REFINED
   Aesthetic: Philippine Organic Farm Editorial
   Colors: Forest #0e3e29, Golden Hour #f4b942, Terra #ea580c, Cream #fafaf8
   Typography: Fraunces (display), Crimson Text (body), Work Sans (UI)
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   HERO SECTION — CINEMATIC OPENING
   ═══════════════════════════════════════════════════════════════════════ */

.ag-contact__hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Video Background with Enhanced Filters */


/* Multi-layered overlay for depth */
.ag-contact__hero-overlay {
  display: none;
}

.ag-contact__hero-texture {
  display: none;
}

/* Burlap grain texture — refined */
.ag-contact__hero-burlap {
  display: none;
}

/* Hero Content */
.ag-contact__hero-content {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(2rem, 5vh, 4rem) 0;
}

.ag-contact__hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
  align-items: center;
}

@media (min-width: 1024px) {
  .ag-contact__hero-grid {
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(2.5rem, 5vw, 5rem);
  }
}

/* Left Column — Typography */
.ag-contact__hero-left {
  color: #ffffff;
  animation: fadeSlideUp 0.8s ease-out;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ag-contact__eyebrow {
  display: inline-block;
  margin: 0 0 1.5rem 0;
  font-family: 'Caveat', 'Work Sans', 'Helvetica Neue', cursive;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: rgba(244, 185, 66, 0.95);
  position: relative;
}

.ag-contact__eyebrow::before {
  display: none;
}

.ag-contact__title {
  font-family: 'Fraunces', 'Cormorant Garamond', serif;
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 300;
  line-height: 1.1;
  margin: 0 0 clamp(1.25rem, 3vw, 2rem) 0;
  text-shadow:
    0 2px 24px rgba(0, 0, 0, 0.5),
    0 8px 40px rgba(0, 0, 0, 0.3);
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.03em;
}

.ag-contact__title-gradient {
  color: #ea580c;
  display: inline-block;
  filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
  -webkit-text-fill-color: #ea580c;
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% {
    filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
  }
  50% {
    filter: drop-shadow(0 0 40px rgba(234, 88, 12, 0.6));
  }
}

.ag-contact__description {
  font-family: 'Crimson Text', 'Cormorant Garamond', serif;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 clamp(2rem, 4vw, 3rem) 0;
  max-width: 36rem;
  font-weight: 400;
}

/* Refined CTA Button */
.ag-contact__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  padding: clamp(1rem, 2vw, 1.25rem) clamp(2rem, 3vw, 3rem);
  background: linear-gradient(135deg, #f4b942 0%, #e8a735 50%, #d97706 100%);
  color: #0e3e29;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 9999px;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(244, 185, 66, 0.3);
}

.ag-contact__cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.ag-contact__cta:hover {
  transform: scale(1.05) translateY(-4px);
  text-decoration: none;
  color: #0e3e29;
  box-shadow: 0 8px 30px rgba(244, 185, 66, 0.4);
}

.ag-contact__cta:hover::before {
  transform: translateX(100%);
}



/* Right Column — Contact Cards */
.ag-contact__hero-cards {
  display: flex;
  flex-direction: column;
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
  animation: fadeSlideUp 0.8s ease-out 0.2s both;
}

.ag-contact__hero-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: 1.25rem;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-decoration: none;
  color: #ffffff;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.ag-contact__hero-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.ag-contact__hero-card:hover::before {
  opacity: 1;
}

.ag-contact__hero-card:hover {
  transform: translateX(12px) translateY(-6px);
  text-decoration: none;
  color: #ffffff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

/* Card Variants */
.ag-contact__hero-card--email {
  background: rgba(244, 185, 66, 0.14);
  border-color: rgba(244, 185, 66, 0.4);
}

.ag-contact__hero-card--email:hover {
  background: rgba(244, 185, 66, 0.22);
  border-color: rgba(244, 185, 66, 0.55);
}

.ag-contact__hero-card--phone {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(16, 185, 129, 0.4);
}

.ag-contact__hero-card--phone:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: rgba(16, 185, 129, 0.55);
}

.ag-contact__hero-card--location {
  background: rgba(199, 117, 75, 0.14);
  border-color: rgba(199, 117, 75, 0.4);
}

.ag-contact__hero-card--location:hover {
  background: rgba(199, 117, 75, 0.22);
  border-color: rgba(199, 117, 75, 0.55);
}

/* Card Icon */

.ag-contact__hero-card--email .ag-contact__card-icon {
  background: linear-gradient(135deg, rgba(244, 185, 66, 0.25), rgba(244, 185, 66, 0.1));
  box-shadow:
    0 6px 24px rgba(244, 185, 66, 0.35),
    inset 0 1px 2px rgba(255, 255, 255, 0.25);
}

.ag-contact__hero-card--phone .ag-contact__card-icon {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(16, 185, 129, 0.1));
  box-shadow:
    0 6px 24px rgba(16, 185, 129, 0.35),
    inset 0 1px 2px rgba(255, 255, 255, 0.25);
}

.ag-contact__hero-card--location .ag-contact__card-icon {
  background: linear-gradient(135deg, rgba(199, 117, 75, 0.25), rgba(199, 117, 75, 0.1));
  box-shadow:
    0 6px 24px rgba(199, 117, 75, 0.35),
    inset 0 1px 2px rgba(255, 255, 255, 0.25);
}


/* Card Content */
.ag-contact__card-content {
  flex: 1;
}

.ag-contact__card-content h3 {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.ag-contact__card-content > p:first-of-type {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.8125rem, 1.3vw, 0.9375rem);
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 0.625rem 0;
  line-height: 1.5;
}

.ag-contact__card-detail {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.6875rem, 1vw, 0.8125rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  transition: all 0.3s ease;
}

.ag-contact__hero-card--email .ag-contact__card-detail {
  color: #f4b942;
  background: rgba(244, 185, 66, 0.15);
}

.ag-contact__hero-card--phone .ag-contact__card-detail {
  color: #10b981;
  background: rgba(16, 185, 129, 0.15);
}

.ag-contact__hero-card--location .ag-contact__card-detail {
  color: #c7754b;
  background: rgba(199, 117, 75, 0.15);
}

/* ═══════════════════════════════════════════════════════════════════════
   TRUST STATS SECTION — ENHANCED CREDIBILITY
   ═══════════════════════════════════════════════════════════════════════ */

.ag-contact__trust-section {
  position: relative;
  padding: clamp(3rem, 8vh, 6rem) 0;
  background:
    linear-gradient(180deg, #ffffff 0%, #fafaf8 50%, #f5f3f0 100%);
  overflow: hidden;
}

/* Ambient glow effects */
.ag-contact__trust-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 900px 500px at 20% 30%, rgba(244, 185, 66, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse 700px 400px at 80% 70%, rgba(199, 117, 75, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse 600px 600px at 50% 50%, rgba(14, 62, 41, 0.03) 0%, transparent 50%);
  pointer-events: none;
}

.ag-contact__trust-header {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.ag-contact__trust-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 9999px;
  margin-bottom: 1.75rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #92400e;
  box-shadow: 0 2px 8px rgba(251, 191, 36, 0.25);
}

.ag-contact__trust-kicker svg {
  width: 14px;
  height: 14px;
  color: #f59e0b;
  animation: sparkle 2s ease-in-out infinite;
}

@keyframes sparkle {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.15) rotate(10deg); }
}

.ag-contact__trust-heading {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  color: #0e3e29;
  margin: 0 0 1.25rem 0;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.ag-contact__trust-subheading {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 2.5vw, 1.1875rem);
  color: #525252;
  max-width: 36rem;
  margin: 0 auto;
  line-height: 1.7;
}

.ag-contact__trust-grid {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

@media (min-width: 640px) {
  .ag-contact__trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ag-contact__trust-card {
  position: relative;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 248, 0.95));
  border: 2px solid rgba(244, 185, 66, 0.25);
  border-radius: 1.5rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  text-align: center;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.06),
    0 0 0 1px rgba(255, 255, 255, 0.6) inset,
    0 1px 2px rgba(0, 0, 0, 0.02) inset;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.ag-contact__trust-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #f4b942, #c7754b, #f4b942);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
}
  height: 5px;
  background: linear-gradient(90deg, #f4b942 0%, #fbbf24 50%, #f59e0b 100%);
  border-radius: 1.25rem 1.25rem 0 0;
}

.ag-contact__trust-card:nth-child(2)::before {
  background: linear-gradient(90deg, #34d399 0%, #10b981 50%, #059669 100%);
}

.ag-contact__trust-card:nth-child(3)::before {
  background: linear-gradient(90deg, #fb923c 0%, #f97316 50%, #ea580c 100%);
}

.ag-contact__trust-card:hover {
  transform: translateY(-16px) scale(1.03);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.9) inset;
}

.ag-contact__trust-card:hover::before {
  transform: scaleX(1);
}

.ag-contact__trust-number {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 300;
  margin-bottom: 0.5rem;
  line-height: 1;
}

.ag-contact__trust-card:nth-child(1) .ag-contact__trust-number {
  color: #d97706;
}

.ag-contact__trust-card:nth-child(2) .ag-contact__trust-number {
  color: #059669;
}

.ag-contact__trust-rating {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 300;
  margin-bottom: 0.5rem;
  line-height: 1;
  color: #ea580c;
}

.ag-contact__trust-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #0e3e29;
  margin: 0 0 1.25rem 0;
}

.ag-contact__trust-stars {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  color: #fbbf24;
}

.ag-contact__trust-stars svg {
  width: 1.125rem;
  height: 1.125rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

.ag-contact__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #92400e;
}

/* ═══════════════════════════════════════════════════════════════════════
   FORM SECTION — WARM & INVITING
   ═══════════════════════════════════════════════════════════════════════ */

.ag-contact__form-section {
  position: relative;
  padding: clamp(3rem, 8vh, 6rem) 0;
  background: linear-gradient(180deg, #fafaf8 0%, #f5f3f0 50%, #fafaf8 100%);
  overflow: hidden;
}

/* Ambient typography */
/* Ambient typography disabled for cleaner look */
.ag-contact__form-section::before {
  content: none;
}

.ag-contact__form-layout {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  max-width: 76rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

@media (min-width: 1024px) {
  .ag-contact__form-layout {
    grid-template-columns: 1fr 1.2fr;
  }
}

/* Left Column — Team Cards */
.ag-contact__team-cards {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

.ag-contact__team-card {
  position: relative;
  background: linear-gradient(165deg, #ffffff 0%, #fafaf8 50%, #ffffff 100%);
  border: 2px solid rgba(214, 211, 209, 0.5);
  border-top: 0;
  border-radius: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-contact__team-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #0e3e29 0%, #1a5c42 50%, #0e3e29 100%);
  border-radius: 1.25rem 1.25rem 0 0;
}

.ag-contact__team-card--farm::before {
  background: linear-gradient(90deg, #c7754b 0%, #a86035 50%, #c7754b 100%);
}

.ag-contact__team-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.8) inset;
}

.ag-contact__team-icon {
  width: clamp(2.75rem, 6vw, 4rem);
  height: clamp(2.75rem, 6vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border-radius: 50%;
  margin: 0 0 1rem 0;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow:
    0 4px 12px rgba(14, 62, 41, 0.1),
    inset 0 1px 2px rgba(255, 255, 255, 0.5);
}

.ag-contact__team-card--farm .ag-contact__team-icon {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
}

.ag-contact__team-card:hover .ag-contact__team-icon {
  transform: scale(1.15) rotate(8deg);
}

.ag-contact__team-icon svg {
  width: clamp(1.25rem, 2.5vw, 1.75rem);
  height: clamp(1.25rem, 2.5vw, 1.75rem);
  color: #0e3e29;
}

.ag-contact__team-card--farm .ag-contact__team-icon svg {
  color: #c7754b;
}

.ag-contact__team-heading {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: #0e3e29;
  margin: 0 0 0.5rem 0;
  letter-spacing: -0.02em;
}

.ag-contact__team-badge-small {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 9999px;
  margin-bottom: 1rem;
}

.ag-contact__team-badge-small span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #92400e;
}

.ag-contact__team-blockquote {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
  color: #3f3f46;
  font-style: italic;
  text-align: center;
  padding: 0.75rem 0;
  border-top: 2px solid rgba(214, 211, 209, 0.6);
  border-bottom: 2px solid rgba(214, 211, 209, 0.6);
  margin: 0.75rem 0;
  line-height: 1.7;
}

.ag-contact__team-author {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  font-weight: 700;
  color: #1c1917;
  margin: 0;
}

.ag-contact__team-role {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 400;
  font-style: italic;
  color: #525252;
  margin: 0.25rem 0 0 0;
}


.ag-contact__farm-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #0e3e29, #1a5c42);
  color: #ffffff;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 9999px;
  box-shadow:
    0 4px 16px rgba(14, 62, 41, 0.25),
    inset 0 1px 2px rgba(255, 255, 255, 0.1);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-contact__farm-cta:hover {
  transform: scale(1.06) translateY(-3px);
  box-shadow:
    0 8px 24px rgba(14, 62, 41, 0.3),
    inset 0 1px 2px rgba(255, 255, 255, 0.15);
  text-decoration: none;
  color: #ffffff;
}

.ag-contact__farm-cta svg {
  transition: transform 0.3s ease;
}

.ag-contact__farm-cta:hover svg {
  transform: scale(1.1);
}

/* Form Card — Enhanced */
.ag-contact__form-card {
  position: relative;
  background: linear-gradient(165deg, #ffffff 0%, #fafaf8 50%, #ffffff 100%);
  border: 2px solid rgba(214, 211, 209, 0.5);
  border-top: 0;
  border-radius: 1.25rem;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
}

.ag-contact__form-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #0e3e29 0%, #f4b942 50%, #c7754b 100%);
  border-radius: 1.25rem 1.25rem 0 0;
}

.ag-contact__form-header {
  display: flex;
  align-items: flex-start;
  gap: clamp(0.875rem, 2vw, 1.25rem);
  margin-bottom: clamp(1rem, 2.5vw, 1.75rem);
  padding-bottom: clamp(1rem, 2vw, 1.25rem);
  border-bottom: 2px solid rgba(214, 211, 209, 0.5);
}

.ag-contact__form-emoji {
  width: clamp(2.75rem, 6vw, 4rem);
  height: clamp(2.75rem, 6vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-radius: 50%;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  flex-shrink: 0;
  box-shadow:
    0 4px 16px rgba(251, 191, 36, 0.25),
    inset 0 1px 2px rgba(255, 255, 255, 0.5);
  animation: gentle-pulse 3s ease-in-out infinite;
}

@keyframes gentle-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

.ag-contact__form-title-group {
  flex: 1;
}

.ag-contact__form-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 600;
  color: #0e3e29;
  margin: 0 0 0.375rem 0;
  letter-spacing: -0.02em;
}

.ag-contact__form-subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

.ag-contact__form-trust {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  background: linear-gradient(90deg, rgba(240, 253, 244, 0.8), rgba(240, 253, 244, 0.4));
  border: 1px solid rgba(5, 150, 105, 0.25);
  border-radius: 0.75rem;
  margin-bottom: 1.75rem;
}

.ag-contact__form-trust svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #059669;
  flex-shrink: 0;
}

.ag-contact__form-trust span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #047857;
}

/* Form Fields — Enhanced */
.ag-contact__form-fields {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2.5vw, 1.5rem);
}

.ag-contact__form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .ag-contact__form-row {
    grid-template-columns: 1fr 1fr;
  }
}

.ag-contact__form-field {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.ag-contact__form-label {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #1c1917;
}

.ag-contact__form-input,
.ag-contact__form-select,
.ag-contact__form-textarea {
  width: 100%;
  padding: clamp(0.875rem, 2vw, 1.125rem) clamp(1rem, 2vw, 1.375rem);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border: 2px solid rgba(214, 211, 209, 0.5);
  border-radius: 0.875rem;
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 1.5vw, 1.0625rem);
  color: #0e3e29;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.04),
    inset 0 1px 3px rgba(255, 255, 255, 0.6);
}

.ag-contact__form-input::placeholder,
.ag-contact__form-textarea::placeholder {
  color: #a1a1aa;
  font-family: 'Crimson Text', serif;
  font-style: italic;
}

.ag-contact__form-input:hover,
.ag-contact__form-select:hover,
.ag-contact__form-textarea:hover {
  border-color: rgba(168, 162, 158, 0.85);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.08),
    inset 0 1px 3px rgba(255, 255, 255, 0.7);
}

.ag-contact__form-input:focus,
.ag-contact__form-select:focus,
.ag-contact__form-textarea:focus {
  outline: none;
  background: #ffffff;
  border-color: #f4b942;
  box-shadow:
    0 0 0 5px rgba(244, 185, 66, 0.18),
    0 6px 20px rgba(244, 185, 66, 0.15),
    inset 0 1px 3px rgba(255, 255, 255, 0.9);
  transform: translateY(-3px);
}

.ag-contact__form-textarea {
  min-height: 160px;
  resize: vertical;
  line-height: 1.7;
}

.ag-contact__form-select-wrapper {
  position: relative;
}

.ag-contact__form-select {
  appearance: none;
  padding-right: 3rem;
  cursor: pointer;
}

.ag-contact__form-chevron {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #0e3e29;
  pointer-events: none;
  transition: transform 0.3s ease;
}

.ag-contact__form-select:focus + .ag-contact__form-chevron {
  transform: translateY(-50%) rotate(180deg);
}

/* Form Actions */
.ag-contact__form-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.5rem;
}

@media (min-width: 540px) {
  .ag-contact__form-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.ag-contact__form-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: clamp(1rem, 2vw, 1.25rem) clamp(2.25rem, 4vw, 3rem);
  background: linear-gradient(135deg, #f4b942 0%, #e8a735 50%, #d97706 100%);
  border: none;
  border-radius: 0.875rem;
  color: #0e3e29;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  box-shadow:
    0 8px 24px rgba(244, 185, 66, 0.4),
    inset 0 1px 3px rgba(255, 255, 255, 0.35);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.ag-contact__form-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.ag-contact__form-submit:hover {
  transform: scale(1.04) translateY(-4px);
  box-shadow:
    0 14px 40px rgba(244, 185, 66, 0.45),
    inset 0 1px 3px rgba(255, 255, 255, 0.45);
}

.ag-contact__form-submit:hover::before {
  transform: translateX(100%);
}

.ag-contact__form-submit:active {
  transform: scale(1.01) translateY(-1px);
}

.ag-contact__form-response {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  color: #6b7280;
}

.ag-contact__form-response svg {
  color: #f4b942;
}

/* Quick Contact */
.ag-contact__quick-contact {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid rgba(214, 211, 209, 0.5);
}

.ag-contact__quick-label {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.75rem, 1.3vw, 0.875rem);
  font-weight: 700;
  text-align: center;
  color: #1c1917;
  margin: 0 0 1rem 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ag-contact__quick-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 480px) {
  .ag-contact__quick-options {
    grid-template-columns: 1fr 1fr;
  }
}

.ag-contact__quick-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.125rem;
  border-radius: 0.75rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.ag-contact__quick-link--phone {
  background: linear-gradient(135deg, #f0fdf4, rgba(240, 253, 244, 0.6));
  border: 2px solid rgba(5, 150, 105, 0.2);
}

.ag-contact__quick-link--phone:hover {
  border-color: #34d399;
  transform: scale(1.02) translateY(-3px);
  box-shadow: 0 6px 20px rgba(5, 150, 105, 0.15);
}

.ag-contact__quick-link--messenger {
  background: linear-gradient(135deg, #eff6ff, rgba(239, 246, 255, 0.6));
  border: 2px solid rgba(59, 130, 246, 0.2);
}

.ag-contact__quick-link--messenger:hover {
  border-color: #60a5fa;
  transform: scale(1.02) translateY(-3px);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.15);
}

.ag-contact__quick-icon {
  width: clamp(2.25rem, 4vw, 2.75rem);
  height: clamp(2.25rem, 4vw, 2.75rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}



.ag-contact__quick-link:hover .ag-contact__quick-icon {
  transform: scale(1.15) rotate(-8deg);
}

.ag-contact__quick-info {
  text-align: left;
}

.ag-contact__quick-title {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  display: block;
}

.ag-contact__quick-link--phone .ag-contact__quick-title {
  color: #065f46;
}


.ag-contact__quick-detail {
  font-family: 'Crimson Text', serif;
  font-size: 0.75rem;
  font-style: italic;
  display: block;
}

.ag-contact__quick-link--phone .ag-contact__quick-detail {
  color: #047857;
}

.ag-contact__quick-link--messenger .ag-contact__quick-detail {
  color: #1d4ed8;
}

/* ═══════════════════════════════════════════════════════════════════════
   LOCATIONS SECTION — REFINED CARDS
   ═══════════════════════════════════════════════════════════════════════ */

.ag-contact__locations-section {
  padding: clamp(3rem, 8vh, 6rem) 0;
  background: linear-gradient(180deg, #fafaf8 0%, #ffffff 50%, #fafaf8 100%);
}

.ag-contact__locations-container {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}


.ag-contact__locations-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border: 1px solid rgba(5, 150, 105, 0.3);
  border-radius: 9999px;
  margin-bottom: 1.5rem;
}

.ag-contact__locations-kicker svg {
  width: 16px;
  height: 16px;
  color: #047857;
}

.ag-contact__locations-kicker span {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #047857;
}

.ag-contact__locations-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  background: linear-gradient(135deg, #0e3e29 0%, #1a5c42 50%, #0e3e29 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0 0 1.25rem 0;
}

.ag-contact__locations-description {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 2.5vw, 1.1875rem);
  font-weight: 400;
  color: #0e3e29;
  max-width: 38rem;
  margin: 0 auto;
  line-height: 1.7;
}

.ag-contact__locations-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

@media (min-width: 768px) {
  .ag-contact__locations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.ag-contact__location-card {
  position: relative;
  background: linear-gradient(165deg, rgba(30, 150, 100, 0.04), rgba(30, 150, 100, 0.02));
  border: 2px solid rgba(30, 150, 100, 0.15);
  border-radius: 1.25rem;
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.04),
    inset 0 1px 2px rgba(255, 255, 255, 0.5);
}

.ag-contact__location-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(30, 150, 100, 0.4), transparent);
}

.ag-contact__location-card--farm {
  background: linear-gradient(165deg, rgba(199, 117, 75, 0.04), rgba(199, 117, 75, 0.02));
  border-color: rgba(199, 117, 75, 0.15);
}

.ag-contact__location-card--farm::before {
  background: linear-gradient(90deg, transparent, rgba(199, 117, 75, 0.4), transparent);
}


.ag-contact__location-icon-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ag-contact__location-icon {
  width: clamp(2.5rem, 4vw, 3rem);
  height: clamp(2.5rem, 4vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-contact__location-card:not(.ag-contact__location-card--farm) .ag-contact__location-icon {
  background: linear-gradient(135deg, #1a5c42 0%, #0e3e29 100%);
}

.ag-contact__location-card--farm .ag-contact__location-icon {
  background: linear-gradient(135deg, #c7754b 0%, #8b4513 100%);
}

.ag-contact__location-card:hover .ag-contact__location-icon {
  transform: scale(1.15) rotate(8deg);
}

.ag-contact__location-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  color: #ffffff;
}

.ag-contact__location-tag {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.6875rem, 1.1vw, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.375rem 0.75rem;
  color: #0e3e29;
  background: rgba(14, 62, 41, 0.06);
  border: 1px solid rgba(14, 62, 41, 0.15);
  border-radius: 9999px;
}

.ag-contact__location-card--farm .ag-contact__location-tag {
  color: #8b4513;
  background: rgba(139, 69, 19, 0.06);
  border-color: rgba(139, 69, 19, 0.15);
}

.ag-contact__location-heading {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: #0e3e29;
  margin: 0 0 0.625rem 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ag-contact__location-address {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.9375rem, 1.8vw, 1.0625rem);
  font-weight: 400;
  color: #0e3e29;
  line-height: 1.7;
  margin: 0 0 0.875rem 0;
}

.ag-contact__location-description {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 400;
  font-style: italic;
  color: #14532d;
  line-height: 1.65;
  flex: 1;
}

.ag-contact__location-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.25rem;
  margin-top: 1rem;
  border-radius: 0.75rem;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.875rem, 1.3vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ag-contact__location-card:not(.ag-contact__location-card--farm) .ag-contact__location-cta {
  background: linear-gradient(135deg, #1a5c42 0%, #0e3e29 100%);
}

.ag-contact__location-card--farm .ag-contact__location-cta {
  background: linear-gradient(135deg, #c7754b 0%, #8b4513 100%);
}

.ag-contact__location-card:hover .ag-contact__location-cta {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}

.ag-contact__location-cta svg {
  transition: transform 0.3s ease;
}

.ag-contact__location-card:hover .ag-contact__location-cta svg {
  transform: translateX(4px);
}

.ag-contact__location-cta span:last-child {
  color: rgba(255, 255, 255, 0.6);
  margin-left: 0.25rem;
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
  .ag-contact__hero {
    min-height: 100vh;
  }

  .ag-contact__hero-grid {
    padding-top: clamp(5rem, 18vh, 7rem);
  }

  .ag-contact__trust-card {
    padding: 1.25rem;
  }

  .ag-contact__form-card {
    padding: 1.25rem;
  }

  .ag-contact__team-card {
    padding: 1.25rem;
  }

  .ag-contact__location-card {
    padding: 1.25rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .ag-contact__cta,
  .ag-contact__hero-card,
  .ag-contact__trust-card,
  .ag-contact__form-submit,
  .ag-contact__quick-link,
  .ag-contact__location-card,
  .ag-contact__farm-cta,
  .ag-contact__team-icon,
  .ag-contact__form-emoji {
    animation: none;
    transition: none;
  }

  .ag-contact__cta:hover,
  .ag-contact__hero-card:hover,
  .ag-contact__trust-card:hover,
  .ag-contact__form-submit:hover,
  .ag-contact__quick-link:hover,
  .ag-contact__location-card:hover,
  .ag-contact__farm-cta:hover {
    transform: none;
  }
}

/* Focus Visible States — Accessibility */
.ag-contact__cta:focus-visible,
.ag-contact__hero-card:focus-visible,
.ag-contact__form-submit:focus-visible,
.ag-contact__quick-link:focus-visible,
.ag-contact__location-card:focus-visible,
.ag-contact__farm-cta:focus-visible {
  outline: 3px solid #f4b942;
  outline-offset: 3px;
  border-radius: 0.5rem;
}

/* ═══════════════════════════════════════════════════════════════════════
   UTILITY: .ag-kicker class for consistency
   ═══════════════════════════════════════════════════════════════════════ */

.ag-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.875rem;
  background: linear-gradient(135deg, rgba(244, 185, 66, 0.15), rgba(244, 185, 66, 0.08));
  border: 1px solid rgba(244, 185, 66, 0.3);
  border-radius: 9999px;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #c2410c;
}

/* END cinema-contact.css */

/* BEGIN cinema-contact-consolidated.css */

/* ============================================================================
   CONTACT PAGE — Remove top padding for full-width hero
   ============================================================================ */

/* Remove main content padding for contact page to allow hero to go edge-to-edge */
.template-page .ag-main,
body.template-page[data-page-handle="contact"] .ag-main {
  padding-top: 0;
}

/* Remove contact page padding that creates gap between header and hero */
body.template-page[data-page-handle="contact"] .ag-contact-page,

.ag-contact-page {
  padding-top: 0;
  margin-top: 0;
}

/* Ensure hero section sits flush with header on contact page */
body.template-page[data-page-handle="contact"] .ag-contact__hero,

.ag-contact__hero {
  margin-top: 0;
}

/* END cinema-contact-consolidated.css */

/* ========================================
   MIGRATED FROM cinema-global.css
   Contact page mobile overflow fixes
   2026-03-05
   ======================================== */

/* ============================================================================
   CONTACT PAGE MOBILE OVERFLOW FIXES
   Fixes for stats card and footer overflow at 375px, 390px, 414px viewports
   ============================================================================ */

/* Stats grid - fix overflow at small mobile breakpoints */
.page-contact .ag-contact__trust-stats {
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 480px) {
  .page-contact .ag-contact__trust-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 640px) {
  .page-contact .ag-contact__trust-stats {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Stats card - ensure no overflow on mobile */
.page-contact .ag-contact__stat {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Stat content - prevent text overflow */
.page-contact .ag-contact__stat-number,
.page-contact .ag-contact__stat-label,
.page-contact .ag-contact__stat-icon {
  min-width: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

/* ========================================
   MIGRATED FROM base.css
   Contact form styling
   2026-03-05
   ======================================== */

.ag-form {
  display: grid;
  gap: var(--ag-space-3);
}

.ag-form label {
  display: grid;
  gap: 0.35rem;
  font-family: var(--ag-font-ui);
}

.ag-form input,
.ag-form select,
.ag-form textarea {
  border: 1px solid var(--ag-border-subtle);
  border-radius: var(--ag-radius-sm);
  padding: 0.55rem 0.68rem;
  background: #fff;
}

/* ═══════════════════════════════════════════════════════════════════════
   FINAL POLISH — Smooth Animations & Enhanced UX
   ═══════════════════════════════════════════════════════════════════════ */

/* Smooth scroll behavior for anchor links */

/* Enhanced focus visible styles for accessibility */
.ag-contact__cta:focus-visible,
.ag-contact__hero-card:focus-visible,
.ag-contact__form-submit:focus-visible {
  outline: 2px solid #f4b942;
  outline-offset: 3px;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,

  html {
    scroll-behavior: auto !important;
  }
}

/* Mobile optimizations */
@media (max-width: 767px) {
  .ag-contact__hero-grid {
    padding: 0 clamp(1.5rem, 4vw, 2rem);
  }

  .ag-contact__title {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .ag-contact__eyebrow {
    font-size: clamp(1.25rem, 4vw, 1.75rem);
  }

  .ag-contact__form-row {
    grid-template-columns: 1fr;
  }

  .ag-contact__form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ag-contact__form-submit {
    width: 100%;
  }
}

/* Print styles */
@media print {
  .ag-contact__hero,
  .ag-contact__trust,

}
/* ═══════════════════════════════════════════════════════════════════════
   CONTACT PAGE REDESIGN - ORGANIC HERITAGE EDITORIAL
   Aesthetic: Warm, tactile, editorial with rich gradient meshes
   Colors: Forest #0E3E29, Gold #F4B942, Terra #EA580C, Cream #FAF8F5
   Typography: Fraunces (display), Crimson Text (body), Work Sans (UI), Caveat (handwritten)
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   TRUST STATS SECTION - Gradient Mesh & Grain Texture
   ═══════════════════════════════════════════════════════════════════════ */

.ag-trust-section {
  position: relative;
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f5 50%, #f5f0eb 100%);
  overflow: hidden;
}

.ag-trust-section__mesh {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 900px 600px at 20% 30%, rgba(245, 158, 11, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse 700px 400px at 80% 70%, rgba(30, 150, 100, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse 600px 600px at 50% 50%, rgba(199, 117, 75, 0.1) 0%, transparent 50%);
  mix-blend-mode: multiply;
}

.ag-trust-section__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' seed='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%23000' filter='url(%23grain)' /%3E%3C/svg%3E");
  background-repeat: repeat;
  mix-blend-mode: overlay;
}

.ag-trust-section__container {
  position: relative;
  z-index: 10;
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

.ag-trust-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.ag-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 9999px;
  margin-bottom: 1.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #92400e;
  box-shadow: 0 2px 8px rgba(251, 191, 36, 0.25);
}

.ag-trust-section__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.75rem, 5vw, 3.25rem);
  font-weight: 300;
  color: #0e3e29;
  margin: 0 0 1rem 0;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.ag-trust-section__subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.95rem, 2.5vw, 1.125rem);
  color: #525252;
  max-width: 36rem;
  margin: 0 auto;
  line-height: 1.7;
}

.ag-trust-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 640px) {
  .ag-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .ag-trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ag-trust-card {
  position: relative;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(250, 250, 248, 0.92));
  border: 2px solid rgba(244, 185, 66, 0.25);
  border-radius: 1rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  text-align: center;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.ag-trust-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #f4b942, #c7754b, #f4b942);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-trust-card:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.8) inset;
}

.ag-trust-card:hover::before {
  transform: scaleX(1);
}

.ag-trust-card__glow {
  position: absolute;
  top: 0;
  right: 0;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  filter: blur(3rem);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.ag-trust-card--gold .ag-trust-card__glow { background: rgba(245, 158, 11, 0.3); }
.ag-trust-card--forest .ag-trust-card__glow { background: rgba(16, 185, 129, 0.3); }
.ag-trust-card--terra .ag-trust-card__glow { background: rgba(249, 115, 22, 0.3); }

.ag-trust-card:hover .ag-trust-card__glow { opacity: 0.5; }

.ag-trust-card__label {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.6875rem, 1vw, 0.75rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1c1917;
  margin-bottom: 1rem;
  position: relative;
  z-index: 10;
}

.ag-trust-card__number {
  font-family: 'Fraunces', serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 300;
  margin-bottom: 1rem;
  line-height: 1;
  position: relative;
  z-index: 10;
}

.ag-trust-card--gold .ag-trust-card__number { color: #d97706; }
.ag-trust-card--forest .ag-trust-card__number { color: #059669; }
.ag-trust-card--terra .ag-trust-card__number { color: #ea580c; }

.ag-trust-card__slash { font-size: 0.6em; color: #a1a1aa; }

.ag-trust-card__stars {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  height: 1.5rem;
  align-items: center;
  position: relative;
  z-index: 10;
}

.ag-trust-card__stars svg { color: #f59e0b; width: 1rem; height: 1rem; }

.ag-trust-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #92400e;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 10;
}

.ag-trust-card--forest .ag-trust-card__badge {
  background: linear-gradient(135deg, #d1fae5, #a7f3d0);
  border-color: #6ee7b7;
  color: #047857;
}

.ag-trust-card--terra .ag-trust-card__badge {
  background: linear-gradient(135deg, #fed7aa, #fdba74);
  border-color: #fb923c;
  color: #c2410c;
}

/* CONTACT FORM SECTION */
.ag-contact-form-section {
  position: relative;
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: #faf8f5;
  overflow: hidden;
}

.ag-contact-form-section__watermark {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  font-family: 'Fraunces', serif;
  font-size: clamp(2.25rem, 6vw, 5rem);
  font-weight: 300;
  color: rgba(14, 62, 41, 0.03);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}

.ag-contact-form-section__container {
  position: relative;
  z-index: 10;
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

.ag-contact-form-section__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 1024px) {
  .ag-contact-form-section__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  }
}

/* TEAM CARDS */
.ag-contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

.ag-team-card {
  position: relative;
  background: linear-gradient(145deg, #ffffff 0%, #faf8f5 100%);
  border: 2px solid rgba(214, 211, 209, 0.4);
  border-radius: 1rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.ag-team-card__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #0e3e29;
  opacity: 0.6;
}

.ag-team-card__accent--terra { background: #ea580c; }

.ag-team-card--farm .ag-team-card__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(234, 88, 12, 0.08), transparent 50%);
  pointer-events: none;
}

.ag-team-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.7) inset;
}

.ag-team-card__icon-wrapper {
  width: clamp(2.5rem, 5vw, 3.5rem);
  height: clamp(2.5rem, 5vw, 3.5rem);
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(14, 62, 41, 0.1), rgba(14, 62, 41, 0.2));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-team-card__icon-wrapper--terra {
  background: linear-gradient(135deg, rgba(234, 88, 12, 0.1), rgba(234, 88, 12, 0.2));
}

.ag-team-card:hover .ag-team-card__icon-wrapper { transform: scale(1.1); }

.ag-team-card__icon-wrapper svg {
  width: clamp(1rem, 2.5vw, 1.5rem);
  height: clamp(1rem, 2.5vw, 1.5rem);
  color: #0e3e29;
}

.ag-team-card__icon-wrapper--terra svg { color: #ea580c; }

.ag-team-card__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.125rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: #0e3e29;
  text-align: center;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

.ag-team-card__badge {
  display: inline-flex;
  justify-content: center;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #92400e;
}

.ag-team-card__badge--terra {
  background: linear-gradient(135deg, #fed7aa, #fdba74);
  border-color: #fb923c;
  color: #c2410c;
}

.ag-team-card__quote {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 2vw, 1rem);
  font-style: italic;
  color: #44403c;
  text-align: center;
  line-height: 1.6;
  margin: 1rem 0;
  padding-top: 1rem;
  border-top: 2px solid rgba(214, 211, 209, 0.5);
}

.ag-team-card__founder {
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 700;
  color: #0e3e29;
  text-align: center;
  margin: 0.75rem 0 0 0;
}

.ag-team-card__founder-role {
  display: block;
  font-size: 0.875em;
  font-weight: 400;
  color: #737373;
  margin-top: 0.25rem;
}

.ag-team-card__description {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 2vw, 1rem);
  color: #44403c;
  text-align: center;
  line-height: 1.6;
}

.ag-team-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.5rem;
  background: #0e3e29;
  color: #ffffff;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.875rem, 1.5vw, 1rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 24px rgba(14, 62, 41, 0.3);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
  margin-top: 1rem;
}

.ag-team-card__cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.ag-team-card__cta:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 32px rgba(14, 62, 41, 0.4);
  text-decoration: none;
  color: #ffffff;
}

.ag-team-card__cta:hover::before { transform: translateX(100%); }

.ag-team-card__cta svg { transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ag-team-card__cta:hover svg { transform: scale(1.1); }

/* FORM STYLING */
.ag-form-wrapper {
  background: #ffffff;
  border: 2px solid rgba(214, 211, 209, 0.4);
  border-radius: 1rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.8) inset;
}

.ag-form-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.ag-form-header__icon { font-size: 2rem; line-height: 1; }

.ag-form-header__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 600;
  color: #0e3e29;
  margin: 0 0 0.25rem 0;
  line-height: 1.2;
}

.ag-form-header__subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 2vw, 1rem);
  color: #737373;
  margin: 0;
  line-height: 1.5;
}

.ag-trust-notice {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: linear-gradient(90deg, rgba(240, 253, 244, 0.8), rgba(240, 253, 244, 0.4));
  border: 1px solid rgba(5, 150, 105, 0.25);
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #047857;
}

.ag-trust-notice svg { width: 1.25rem; height: 1.25rem; color: #059669; flex-shrink: 0; }

.ag-form-success {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(240, 253, 244, 0.95), rgba(220, 252, 231, 0.95));
  border: 2px solid rgba(5, 150, 105, 0.3);
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
}

.ag-form-success__icon { width: 1.5rem; height: 1.5rem; color: #059669; flex-shrink: 0; }

.ag-form-success__title {
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #047857;
  margin: 0 0 0.25rem 0;
}

.ag-form-success__text {
  font-family: 'Crimson Text', serif;
  font-size: 0.875rem;
  color: #047857;
  margin: 0;
  line-height: 1.5;
}

.ag-form-errors {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(254, 242, 242, 0.95), rgba(254, 226, 226, 0.95));
  border: 2px solid rgba(239, 68, 68, 0.3);
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
}

.ag-form-errors__icon { width: 1.5rem; height: 1.5rem; color: #dc2626; flex-shrink: 0; }

.ag-form-errors__title {
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #991b1b;
  margin: 0 0 0.5rem 0;
}

.ag-form-errors__list {
  margin: 0;
  padding-left: 1.25rem;
  font-family: 'Crimson Text', serif;
  font-size: 0.875rem;
  color: #991b1b;
}

.ag-form-fields {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2vw, 1.25rem);
}

.ag-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .ag-form-row { grid-template-columns: 1fr 1fr; }
}

.ag-form-field { display: flex; flex-direction: column; gap: 0.5rem; }

.ag-form-label {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.6875rem, 1vw, 0.75rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #1c1917;
}

.ag-form-input,
.ag-form-select,
.ag-form-textarea {
  width: 100%;
  padding: clamp(0.875rem, 2vw, 1rem) clamp(1rem, 2vw, 1.25rem);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border: 2px solid rgba(214, 211, 209, 0.5);
  border-radius: 0.75rem;
  font-family: 'Crimson Text', serif;
  font-size: clamp(1rem, 1.5vw, 1.0625rem);
  color: #0e3e29;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.04),
    inset 0 1px 3px rgba(255, 255, 255, 0.6);
}

.ag-form-input::placeholder,
.ag-form-textarea::placeholder {
  color: #a1a1aa;
  font-family: 'Crimson Text', serif;
  font-style: italic;
}

.ag-form-input:hover,
.ag-form-select:hover,
.ag-form-textarea:hover {
  border-color: rgba(168, 162, 158, 0.85);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.06),
    inset 0 1px 3px rgba(255, 255, 255, 0.7);
}

.ag-form-input:focus,
.ag-form-select:focus,
.ag-form-textarea:focus {
  outline: none;
  background: #ffffff;
  border-color: #f4b942;
  box-shadow:
    0 0 0 5px rgba(244, 185, 66, 0.18),
    0 6px 20px rgba(244, 185, 66, 0.12),
    inset 0 1px 3px rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
}

.ag-form-input--error,
.ag-form-textarea--error {
  border-color: rgba(239, 68, 68, 0.5);
  background: rgba(254, 242, 242, 0.5);
}

.ag-form-textarea { min-height: 160px; resize: vertical; line-height: 1.7; }

.ag-form-select-wrapper { position: relative; }

.ag-form-select { appearance: none; padding-right: 3rem; cursor: pointer; }

.ag-form-select__arrow {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #0e3e29;
  pointer-events: none;
  transition: transform 0.3s ease;
}

.ag-form-select:focus + .ag-form-select__arrow { transform: translateY(-50%) rotate(180deg); }

.ag-form-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.5rem;
}

@media (min-width: 540px) {
  .ag-form-actions { flex-direction: row; align-items: center; justify-content: space-between; }
}

.ag-form-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: clamp(1rem, 2vw, 1.25rem) clamp(2rem, 4vw, 3rem);
  background: linear-gradient(135deg, #f4b942 0%, #e8a735 50%, #d97706 100%);
  border: none;
  border-radius: 0.875rem;
  color: #0e3e29;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  box-shadow:
    0 8px 24px rgba(244, 185, 66, 0.4),
    inset 0 1px 3px rgba(255, 255, 255, 0.35);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.ag-form-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.35) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.ag-form-submit:hover {
  transform: scale(1.04) translateY(-4px);
  box-shadow:
    0 14px 40px rgba(244, 185, 66, 0.45),
    inset 0 1px 3px rgba(255, 255, 255, 0.45);
}

.ag-form-submit:hover::before { transform: translateX(100%); }

.ag-form-submit:active { transform: scale(1.01) translateY(-1px); }

.ag-form-submit__arrow { transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.ag-form-submit:hover .ag-form-submit__arrow { transform: translateX(4px); }

.ag-form-response {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  color: #737373;
}

.ag-form-response svg { color: #f4b942; }

/* QUICK CONTACT */
.ag-quick-contact {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(214, 211, 209, 0.5);
}

.ag-quick-contact__label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #525252;
  margin: 0 0 1rem 0;
}

.ag-quick-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 540px) {
  .ag-quick-contact__grid { grid-template-columns: 1fr 1fr; }
}

.ag-quick-contact__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, #ffffff 0%, #faf8f5 100%);
  border: 2px solid rgba(214, 211, 209, 0.4);
  border-radius: 0.75rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-quick-contact__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  text-decoration: none;
}

.ag-quick-contact__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(14, 62, 41, 0.1), rgba(14, 62, 41, 0.15));
  border-radius: 0.5rem;
  color: #0e3e29;
  flex-shrink: 0;
}

.ag-quick-contact__link--messenger .ag-quick-contact__icon {
  background: linear-gradient(135deg, rgba(0, 137, 235, 0.1), rgba(0, 137, 235, 0.15));
  color: #0089eb;
}

.ag-quick-contact__title {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0e3e29;
  display: block;
}

.ag-quick-contact__detail {
  font-family: 'Crimson Text', serif;
  font-size: 0.8125rem;
  color: #737373;
  display: block;
  margin-top: 0.125rem;
}

/* LOCATIONS SECTION */
.ag-locations-section {
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: linear-gradient(180deg, #faf8f5 0%, #f5f0eb 100%);
}

.ag-locations-section__container {
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

.ag-locations-section__header { text-align: center; margin-bottom: clamp(2.5rem, 6vw, 4rem); }
.ag-locations-section__icon { font-size: 2.5rem; margin-bottom: 1rem; }

.ag-locations-section__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.75rem, 5vw, 3rem);
  font-weight: 300;
  color: #0e3e29;
  margin: 0 0 1rem 0;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.ag-locations-section__subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.95rem, 2.5vw, 1.125rem);
  color: #525252;
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.7;
}

.ag-locations-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2rem);
}

@media (min-width: 768px) {
  .ag-locations-grid { grid-template-columns: repeat(2, 1fr); }
}

.ag-location-card {
  background: #ffffff;
  border: 2px solid rgba(214, 211, 209, 0.4);
  border-radius: 1rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  text-align: center;
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.8) inset;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-location-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.9) inset;
}

.ag-location-card--terra {
  background: linear-gradient(145deg, #ffffff 0%, rgba(254, 237, 213, 0.3) 100%);
  border-color: rgba(234, 88, 12, 0.25);
}

.ag-location-card__icon {
  width: clamp(3rem, 6vw, 4rem);
  height: clamp(3rem, 6vw, 4rem);
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(14, 62, 41, 0.1), rgba(14, 62, 41, 0.15));
  border-radius: 50%;
  color: #0e3e29;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-location-card:hover .ag-location-card__icon { transform: scale(1.1); }

.ag-location-card__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 600;
  color: #0e3e29;
  margin: 0 0 0.5rem 0;
}

.ag-location-card__badge {
  display: inline-block;
  padding: 0.375rem 0.875rem;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #fcd34d;
  border-radius: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #92400e;
  margin-bottom: 1rem;
}

.ag-location-card__badge--terra {
  background: linear-gradient(135deg, #fed7aa, #fdba74);
  border-color: #fb923c;
  color: #c2410c;
}

.ag-location-card__address {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  color: #44403c;
  line-height: 1.6;
  margin: 0 0 1rem 0;
}

.ag-location-card__note {
  font-family: 'Crimson Text', serif;
  font-size: 0.875rem;
  color: #737373;
  line-height: 1.5;
  margin: 0 0 1.25rem 0;
  font-style: italic;
}

.ag-location-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: transparent;
  border: 2px solid #0e3e29;
  border-radius: 0.5rem;
  color: #0e3e29;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-location-card__cta:hover {
  background: #0e3e29;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(14, 62, 41, 0.2);
  text-decoration: none;
}

.ag-location-card__cta span { transition: transform 0.3s ease; }
.ag-location-card__cta:hover span { transform: translateX(4px); }

/* FAQ SECTION */
.ag-faq-section {
  padding: clamp(3rem, 8vw, 5rem) 0;
  background: #faf8f5;
}

.ag-faq-section__container {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 3rem);
}

.ag-faq-section__header { text-align: center; margin-bottom: clamp(2.5rem, 6vw, 4rem); }
.ag-faq-section__icon { font-size: 2.5rem; margin-bottom: 1rem; }

.ag-faq-section__title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.75rem, 5vw, 3rem);
  font-weight: 300;
  color: #0e3e29;
  margin: 0 0 1rem 0;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.ag-faq-section__subtitle {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.95rem, 2.5vw, 1.125rem);
  color: #525252;
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.7;
}

.ag-faq-list { display: flex; flex-direction: column; gap: 1rem; }

.ag-faq-item {
  background: #ffffff;
  border: 2px solid rgba(214, 211, 209, 0.4);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ag-faq-item:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); }
.ag-faq-item[open] { border-color: rgba(244, 185, 66, 0.5); }

.ag-faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  font-weight: 700;
  color: #0e3e29;
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: all 0.3s ease;
}

.ag-faq-item__question::-webkit-details-marker { display: none; }

.ag-faq-item__question svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #a1a1aa;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.ag-faq-item[open] .ag-faq-item__question svg {
  transform: rotate(180deg);
  color: #f4b942;
}

.ag-faq-item__answer {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid rgba(214, 211, 209, 0.3);
}

.ag-faq-item__answer p {
  font-family: 'Crimson Text', serif;
  font-size: clamp(0.875rem, 2vw, 1rem);
  color: #44403c;
  line-height: 1.7;
  margin: 1rem 0 0 0;
}

/* RESPONSIVE & ACCESSIBILITY */
@media (max-width: 767px) {
  .ag-contact-form-section__grid { grid-template-columns: 1fr; }
  .ag-form-actions { flex-direction: column; align-items: stretch; }
  .ag-form-submit { width: 100%; }
  .ag-locations-grid { grid-template-columns: 1fr; }
}

.ag-form-submit:focus-visible,
.ag-team-card__cta:focus-visible,
.ag-location-card__cta:focus-visible {
  outline: 2px solid #f4b942;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  .ag-trust-section,
  .ag-locations-section,
  .ag-faq-section { display: none; }
  .ag-contact-form-section { padding: 2rem 0; }
}

/* ============================================================================
   MASTER OVERRIDE: "The Agriko Family" - BRAND ORANGE
   ============================================================================ */
body.template-page[data-page-handle="contact"] .ag-contact__hero .ag-contact__title .ag-contact__title-gradient,
body.template-page[data-page-handle="contact"] h1 .ag-contact__title-gradient,
.ag-contact__title-gradient {
  color: #ea580c;
  -webkit-text-fill-color: #ea580c;
  background: none;
  background-image: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  filter: drop-shadow(0 0 30px rgba(234, 88, 12, 0.4));
}

/* CONTACT PAGE MIDSECTION OVERRIDE */
.ag-contact-page .ag-trust-section {
  padding: clamp(3.5rem, 8vw, 6rem) 0;
  background:
    linear-gradient(180deg, #f7f2ea 0%, #fbf8f2 45%, #f1e8db 100%);
}

.ag-contact-page .ag-trust-section__container {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3rem);
}

.ag-contact-page .ag-trust-section__intro {
  display: grid;
  gap: 1.75rem;
  align-items: end;
}

@media (min-width: 980px) {
  .ag-contact-page .ag-trust-section__intro {
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: 2.5rem;
  }
}

.ag-contact-page .ag-trust-section__header {
  align-items: flex-start;
  text-align: left;
  margin-bottom: 0;
}

.ag-contact-page .ag-trust-badge {
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  background: rgba(255, 248, 220, 0.85);
  border: 1px solid rgba(180, 120, 40, 0.18);
  box-shadow: 0 10px 25px rgba(130, 90, 40, 0.08);
}

.ag-contact-page .ag-trust-badge--plain {
  background: rgba(255, 255, 255, 0.6);
}


.ag-contact-page .ag-trust-section__subtitle {
  max-width: 38rem;
  margin: 0;
  font-size: clamp(1.05rem, 1.9vw, 1.24rem);
  color: #4b4136;
}

.ag-contact-page .ag-trust-section__notes {
  display: grid;
  gap: 1rem;
}

.ag-contact-page .ag-trust-note {
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  border-left: 3px solid rgba(14, 62, 41, 0.18);
  background: rgba(255, 255, 255, 0.52);
  border-radius: 0.25rem 1rem 1rem 0.25rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ag-contact-page .ag-trust-note--accent {
  border-left-color: rgba(201, 117, 75, 0.35);
  background: rgba(255, 247, 240, 0.72);
}

.ag-contact-page .ag-trust-note__label {
  margin: 0 0 0.45rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7c5a2a;
}

.ag-contact-page .ag-trust-note__text {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.65;
  color: #3f372f;
}

.ag-contact-page .ag-trust-grid {
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-trust-card {
  min-height: 100%;
  justify-content: flex-start;
  align-items: stretch;
  text-align: left;
  padding: clamp(1.5rem, 2.6vw, 2rem);
  border-radius: 1.4rem 1.4rem 1rem 1rem;
  background: rgba(255, 252, 247, 0.92);
  border: 1px solid rgba(120, 92, 58, 0.18);
  box-shadow: 0 18px 40px rgba(73, 53, 29, 0.08);
}

.ag-contact-page .ag-trust-card::before {
  transform: scaleX(1);
  height: 3px;
  opacity: 0.7;
}

.ag-contact-page .ag-trust-card:hover {
  transform: translateY(-8px);
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-trust-card--forest {
    margin-top: 2.25rem;
  }

  .ag-contact-page .ag-trust-card--terra {
    margin-top: 0.9rem;
  }
}

.ag-contact-page .ag-trust-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.ag-contact-page .ag-trust-card__step {
  font-family: 'Fraunces', serif;
  font-size: 2.2rem;
  line-height: 1;
  color: rgba(14, 62, 41, 0.9);
}

.ag-contact-page .ag-trust-card__kicker {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6f655d;
}

.ag-contact-page .ag-trust-card__heading {
  margin: 0 0 0.75rem;
  font-family: 'Fraunces', serif;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 600;
  line-height: 1.2;
  color: #173a28;
}

.ag-contact-page .ag-trust-card__copy {
  margin: 0 0 1.15rem;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #4b4136;
}

.ag-contact-page .ag-trust-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.ag-contact-page .ag-trust-card__list li {
  position: relative;
  padding-left: 1.1rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #2f3e33;
}

.ag-contact-page .ag-trust-card__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.45rem;
  height: 1px;
  background: currentColor;
}

.ag-contact-page .ag-trust-card__footer {
  margin-top: auto;
  padding-top: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  border-top: 1px solid rgba(120, 92, 58, 0.14);
}

.ag-contact-page .ag-trust-card__metric {
  font-family: 'Fraunces', serif;
  font-size: 1.65rem;
  line-height: 1;
}

.ag-contact-page .ag-trust-card__meta {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a6e63;
}

.ag-contact-page .ag-trust-card--gold .ag-trust-card__metric,
.ag-contact-page .ag-trust-card--gold .ag-trust-card__step {
  color: #b66f16;
}

.ag-contact-page .ag-trust-card--forest .ag-trust-card__metric,
.ag-contact-page .ag-trust-card--forest .ag-trust-card__step {
  color: #1c5a3f;
}

.ag-contact-page .ag-trust-card--terra .ag-trust-card__metric,
.ag-contact-page .ag-trust-card--terra .ag-trust-card__step {
  color: #b05d34;
}

.ag-contact-page .ag-contact-form-section {
  padding: clamp(4rem, 8vw, 6rem) 0;
  background:
    radial-gradient(circle at top left, rgba(255, 241, 215, 0.35), transparent 28%),
    linear-gradient(180deg, #fbf7f1 0%, #f5efe6 100%);
}

.ag-contact-page .ag-contact-form-section__grid {
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-form-section__grid {
    grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
  }
}

.ag-contact-page .ag-contact-sidebar {
  display: grid;
  gap: 1rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-sidebar {
    position: sticky;
    top: 7rem;
  }
}

.ag-contact-page .ag-contact-brief {
  padding-right: 1rem;
}

.ag-contact-page .ag-contact-brief__eyebrow {
  margin: 0 0 0.6rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a6128;
}

.ag-contact-page .ag-contact-brief__title {
  margin: 0 0 0.85rem;
  font-family: 'Fraunces', serif;
  font-size: clamp(1.7rem, 4vw, 2.7rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #173a28;
}

.ag-contact-page .ag-contact-brief__text {
  margin: 0;
  max-width: 28rem;
  font-family: 'Crimson Text', serif;
  font-size: 1.06rem;
  line-height: 1.75;
  color: #4d4338;
}

.ag-contact-page .ag-contact-sidebar-card {
  position: relative;
  padding: 1.35rem 1.4rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(112, 88, 58, 0.16);
  border-radius: 0.6rem 1.35rem 1.35rem 1.35rem;
  box-shadow: 0 16px 32px rgba(75, 56, 29, 0.07);
}

.ag-contact-page .ag-contact-sidebar-card::before {
  content: '';
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(244, 185, 66, 0.95), rgba(176, 93, 52, 0.7));
}

.ag-contact-page .ag-contact-sidebar-card--playbook::before {
  background: linear-gradient(90deg, rgba(14, 62, 41, 0.9), rgba(180, 120, 40, 0.6));
}

.ag-contact-page .ag-contact-sidebar-card__kicker {
  margin: 0 0 0.85rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7a6e63;
}

.ag-contact-page .ag-contact-sidebar-card__quote {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1.18rem;
  line-height: 1.75;
  color: #173a28;
}

.ag-contact-page .ag-contact-sidebar-card__signature {
  margin: 1rem 0 0;
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  color: #173a28;
}

.ag-contact-page .ag-contact-sidebar-card__signature span {
  display: block;
  margin-top: 0.2rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8b8177;
}

.ag-contact-page .ag-contact-sidebar-card__text {
  margin: 0 0 1rem;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #4b4136;
}

.ag-contact-page .ag-contact-playbook {
  display: grid;
  gap: 0.8rem;
}

.ag-contact-page .ag-contact-playbook__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8rem;
  align-items: start;
}

.ag-contact-page .ag-contact-playbook__item p {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #42392f;
}

.ag-contact-page .ag-contact-playbook__index {
  width: 1.8rem;
  height: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(23, 58, 40, 0.08);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  color: #173a28;
}

.ag-contact-page .ag-contact-sidebar-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.9rem 1.2rem;
  border-radius: 999px;
  background: #173a28;
  color: #fff;
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ag-contact-page .ag-contact-sidebar-card__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(23, 58, 40, 0.22);
  text-decoration: none;
  color: #fff;
}

.ag-contact-page .ag-form-wrapper {
  position: relative;
  padding: clamp(1.6rem, 3vw, 2.6rem);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(252, 248, 243, 0.96));
  border: 1px solid rgba(112, 88, 58, 0.16);
  border-radius: 1.55rem;
  box-shadow: 0 24px 48px rgba(72, 50, 27, 0.1);
}

.ag-contact-page .ag-form-wrapper::before {
  content: '';
  position: absolute;
  inset: 0.8rem;
  border: 1px dashed rgba(158, 132, 97, 0.2);
  border-radius: 1.1rem;
  pointer-events: none;
}

.ag-contact-page .ag-form-header {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.55rem;
  margin-bottom: 1.35rem;
}

.ag-contact-page .ag-form-header__eyebrow {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a6128;
}

.ag-contact-page .ag-form-header__title {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.4rem);
}

.ag-contact-page .ag-form-header__subtitle {
  max-width: 40rem;
  color: #5d5349;
}

.ag-contact-page .ag-trust-notice {
  position: relative;
  z-index: 1;
  align-items: flex-start;
  background: rgba(244, 249, 242, 0.92);
  border: 1px solid rgba(23, 90, 62, 0.16);
  border-radius: 1rem;
  color: #18553b;
}

.ag-contact-page .ag-form,
.ag-contact-page .ag-quick-contact {
  position: relative;
  z-index: 1;
}

.ag-contact-page .ag-form-label {
  color: #5f574e;
}

.ag-contact-page .ag-form-input,
.ag-contact-page .ag-form-select,
.ag-contact-page .ag-form-textarea {
  background: rgba(253, 250, 245, 0.98);
  border: 1px solid rgba(112, 88, 58, 0.18);
  border-radius: 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.ag-contact-page .ag-form-input:hover,
.ag-contact-page .ag-form-select:hover,
.ag-contact-page .ag-form-textarea:hover {
  border-color: rgba(112, 88, 58, 0.28);
}

.ag-contact-page .ag-form-input:focus,
.ag-contact-page .ag-form-select:focus,
.ag-contact-page .ag-form-textarea:focus {
  transform: none;
  border-color: rgba(180, 120, 40, 0.48);
  box-shadow: 0 0 0 4px rgba(244, 185, 66, 0.12);
}

.ag-contact-page .ag-form-submit {
  background: linear-gradient(135deg, #173a28 0%, #285239 100%);
  color: #fff;
  border: 1px solid rgba(244, 185, 66, 0.38);
  border-radius: 999px;
  box-shadow: 0 16px 30px rgba(23, 58, 40, 0.2);
}

.ag-contact-page .ag-form-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 38px rgba(23, 58, 40, 0.22);
}

.ag-contact-page .ag-form-response {
  color: #6a6158;
}

.ag-contact-page .ag-quick-contact {
  margin-top: 1.8rem;
  padding-top: 1.5rem;
}

.ag-contact-page .ag-quick-contact__label {
  margin-bottom: 0.85rem;
  color: #6b6156;
}

.ag-contact-page .ag-quick-contact__link {
  align-items: flex-start;
  padding: 1rem 1rem 1rem 0.95rem;
  background: rgba(255, 252, 247, 0.78);
  border-radius: 1rem;
}

.ag-contact-page .ag-quick-contact__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(72, 50, 27, 0.08);
}

.ag-contact-page .ag-quick-contact__title {
  margin-bottom: 0.2rem;
}

.ag-contact-page .ag-locations-section {
  padding: clamp(4rem, 8vw, 6rem) 0;
  background: linear-gradient(180deg, #efe6d8 0%, #f8f3eb 58%, #faf8f4 100%);
}

.ag-contact-page .ag-locations-section__header {
  max-width: 44rem;
  margin: 0 auto clamp(2.4rem, 5vw, 3.4rem);
}

.ag-contact-page .ag-locations-grid {
  gap: 1.25rem;
}

.ag-contact-page .ag-location-card {
  display: grid;
  gap: 0.75rem;
  text-align: left;
  padding: clamp(1.5rem, 3vw, 2.1rem);
  border-radius: 1.45rem;
  background: rgba(255, 252, 247, 0.92);
}


.ag-contact-page .ag-location-card__eyebrow {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #8a6128;
}

.ag-contact-page .ag-location-card__icon {
  margin: 0;
}

.ag-contact-page .ag-location-card__title,
.ag-contact-page .ag-location-card__address,
.ag-contact-page .ag-location-card__note {
  margin-left: 0;
}

.ag-contact-page .ag-location-card__highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.ag-contact-page .ag-location-card__highlights li {
  position: relative;
  padding-left: 1rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.86rem;
  color: #35503f;
}

.ag-contact-page .ag-location-card__highlights li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.4rem;
  height: 1px;
  background: currentColor;
}

.ag-contact-page .ag-location-card__cta {
  justify-self: start;
  align-items: center;
  gap: 0.55rem;
  border-radius: 999px;
  padding-inline: 1.15rem;
}

.ag-contact-page .ag-locations-section__postscript {
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(112, 88, 58, 0.15);
}

.ag-contact-page .ag-locations-section__postscript p {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  color: #4b4136;
}

.ag-contact-page .ag-locations-section__locator-link {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: #173a28;
}

.ag-contact-page .ag-locations-section__locator-link:hover {
  color: #b05d34;
}

.ag-contact-page .ag-faq-section {
  padding: clamp(4rem, 8vw, 6rem) 0;
  background:
    radial-gradient(circle at top right, rgba(244, 185, 66, 0.12), transparent 18%),
    linear-gradient(180deg, #faf7f2 0%, #f4ece1 100%);
}

.ag-contact-page .ag-faq-section__container {
  max-width: 76rem;
}

.ag-contact-page .ag-faq-section__header {
  max-width: 42rem;
  margin: 0 auto clamp(2rem, 5vw, 3rem);
}

.ag-contact-page .ag-faq-list {
  gap: 0.9rem;
}

.ag-contact-page .ag-faq-item {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(112, 88, 58, 0.16);
  border-radius: 1.25rem;
  box-shadow: 0 10px 25px rgba(72, 50, 27, 0.05);
}

.ag-contact-page .ag-faq-item__question {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.95rem;
  padding: 1.1rem 1.2rem;
}

.ag-contact-page .ag-faq-item__index {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(23, 58, 40, 0.08);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  color: #173a28;
}

.ag-contact-page .ag-faq-item__question-copy {
  font-family: 'Fraunces', serif;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 500;
  line-height: 1.35;
}

.ag-contact-page .ag-faq-item__answer {
  padding: 0 1.2rem 1.2rem 4.15rem;
  border-top: 1px solid rgba(112, 88, 58, 0.12);
}

.ag-contact-page .ag-faq-item__answer p {
  margin-top: 0.9rem;
  color: #4b4136;
}

.ag-contact-page .ag-contact__faq-footer {
  margin-top: 2rem;
  padding: 1.6rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(112, 88, 58, 0.14);
  border-radius: 1.4rem;
}

.ag-contact-page .ag-contact__faq-footer p:first-child {
  font-family: 'Fraunces', serif;
  font-size: 1.25rem;
  color: #173a28;
}

.ag-contact-page .ag-contact__faq-cta {
  margin-top: 0.65rem;
  border-radius: 999px;
  background: transparent;
  border: 1px solid rgba(23, 58, 40, 0.22);
  color: #173a28;
  box-shadow: none;
}

.ag-contact-page .ag-contact__faq-cta:hover {
  background: #173a28;
  color: #fff;
}

.ag-contact-page .ag-form-submit:focus-visible,
.ag-contact-page .ag-contact-sidebar-card__cta:focus-visible,
.ag-contact-page .ag-location-card__cta:focus-visible,
.ag-contact-page .ag-contact__faq-cta:focus-visible {
  outline: 2px solid #f4b942;
  outline-offset: 3px;
}

@media (max-width: 979px) {
  .ag-contact-page .ag-trust-section__header {
    align-items: center;
    text-align: center;
  }

  .ag-contact-page .ag-trust-section__subtitle {
    margin: 0 auto;
  }


  .ag-contact-page .ag-contact-brief {
    padding-right: 0;
  }
}

@media (max-width: 767px) {
  .ag-contact-page .ag-trust-card,
  .ag-contact-page .ag-location-card,
  .ag-contact-page .ag-form-wrapper,
  .ag-contact-page .ag-contact-sidebar-card,
  .ag-contact-page .ag-contact__faq-footer {
    border-radius: 1.1rem;
  }

  .ag-contact-page .ag-faq-item__answer {
    padding-left: 1.2rem;
  }

  .ag-contact-page .ag-locations-section__postscript {
    justify-content: flex-start;
    padding-inline: 0;
    border-top: none;
  }
}


/* CONTACT PAGE MIDSECTION REFINEMENT PASS */
.ag-contact-page .ag-trust-section::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.14) 0, rgba(255, 255, 255, 0.14) 1px, transparent 1px, transparent 22px),
    linear-gradient(180deg, rgba(116, 87, 54, 0.04) 0, rgba(116, 87, 54, 0.04) 1px, transparent 1px, transparent 22px);
  opacity: 0.35;
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.95) 18%, rgba(0, 0, 0, 0.95) 82%, transparent 100%);
}

.ag-contact-page .ag-trust-section__container,
.ag-contact-page .ag-contact-form-section__container,
.ag-contact-page .ag-locations-section__container {
  max-width: 86rem;
}

.ag-contact-page .ag-trust-section__notes {
  align-self: stretch;
}

.ag-contact-page .ag-trust-card {
  isolation: isolate;
  overflow: hidden;
}

.ag-contact-page .ag-trust-card::after {
  content: '';
  position: absolute;
  inset: auto -2.5rem -2.75rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 72%);
  opacity: 0.7;
  z-index: 0;
}

.ag-contact-page .ag-trust-card > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-trust-card--gold {
    transform: rotate(-0.5deg);
  }

  .ag-contact-page .ag-trust-card--forest {
    transform: rotate(0.65deg);
  }

  .ag-contact-page .ag-trust-card--terra {
    transform: rotate(-0.35deg);
  }

  .ag-contact-page .ag-trust-card--gold:hover,
  .ag-contact-page .ag-trust-card--forest:hover,
}

.ag-contact-page .ag-trust-card__heading {
  max-width: 13ch;
}

.ag-contact-page .ag-trust-card__copy {
  max-width: 27ch;
}

.ag-contact-page .ag-trust-card__footer {
  gap: 0.25rem;
}


.ag-contact-page .ag-contact-sidebar {
  position: relative;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-sidebar {
    padding-left: 1.25rem;
  }

  .ag-contact-page .ag-contact-sidebar::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.8rem;
    bottom: 0.8rem;
    width: 1px;
    background: linear-gradient(180deg, rgba(180, 120, 40, 0.35), rgba(23, 58, 40, 0.08), rgba(176, 93, 52, 0.28));
  }
}

.ag-contact-page .ag-contact-sidebar-card--quote {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.92), rgba(249, 243, 233, 0.88));
}

.ag-contact-page .ag-contact-sidebar-card--playbook {
  background: linear-gradient(180deg, rgba(251, 248, 241, 0.92), rgba(245, 238, 228, 0.9));
}

.ag-contact-page .ag-contact-sidebar-card--visit {
  background: linear-gradient(180deg, rgba(252, 247, 241, 0.94), rgba(255, 237, 223, 0.92));
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-sidebar-card--quote {
    margin-right: 1rem;
  }

  .ag-contact-page .ag-contact-sidebar-card--playbook {
    margin-left: 1.15rem;
  }

  .ag-contact-page .ag-contact-sidebar-card--visit {
    margin-right: 1.85rem;
  }
}

.ag-contact-page .ag-contact-sidebar-card__quote {
  text-wrap: pretty;
}

.ag-contact-page .ag-contact-sidebar-card__cta svg {
  transition: transform 0.25s ease;
}

.ag-contact-page .ag-contact-sidebar-card__cta:hover svg {
  transform: translateX(3px);
}

.ag-contact-page .ag-form-wrapper {
  backdrop-filter: blur(10px);
}

.ag-contact-page .ag-form-wrapper::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(244, 185, 66, 0.22), rgba(255, 255, 255, 0.15), rgba(23, 58, 40, 0.16));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.ag-contact-page .ag-form-header__copy {
  display: grid;
  gap: 0.45rem;
}

.ag-contact-page .ag-form-fields {
  gap: 1.1rem;
}

.ag-contact-page .ag-form-field {
  gap: 0.55rem;
}

.ag-contact-page .ag-form-label {
  margin-left: 0.2rem;
}

.ag-contact-page .ag-form-input,
.ag-contact-page .ag-form-select,
.ag-contact-page .ag-form-textarea {
  padding-inline: 1.15rem;
}

.ag-contact-page .ag-form-textarea {
  min-height: 11rem;
}


.ag-contact-page .ag-form-response {
  padding-inline: 0.25rem;
}

.ag-contact-page .ag-quick-contact {
  border-top-style: dashed;
}

.ag-contact-page .ag-quick-contact__grid {
  align-items: stretch;
}

.ag-contact-page .ag-quick-contact__icon {
  border-radius: 0.8rem;
}

.ag-contact-page .ag-locations-grid {
  align-items: stretch;
}

@media (min-width: 900px) {
  .ag-contact-page .ag-locations-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }
}

.ag-contact-page .ag-location-card {
  position: relative;
  overflow: hidden;
}

.ag-contact-page .ag-location-card::after {
  content: '';
  position: absolute;
  inset: auto -1.5rem -2.75rem auto;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 58, 40, 0.08), rgba(23, 58, 40, 0));
  pointer-events: none;
}

.ag-contact-page .ag-location-card--terra::after {
  background: radial-gradient(circle, rgba(176, 93, 52, 0.12), rgba(176, 93, 52, 0));
}

.ag-contact-page .ag-location-card > * {
  position: relative;
  z-index: 1;
}

.ag-contact-page .ag-location-card__title {
  max-width: 14ch;
}

.ag-contact-page .ag-location-card__note {
  max-width: 33ch;
}

.ag-contact-page .ag-faq-list {
  max-width: 68rem;
  margin: 0 auto;
}

.ag-contact-page .ag-faq-item {
  overflow: clip;
}

.ag-contact-page .ag-faq-item[open] {
  border-color: rgba(180, 120, 40, 0.3);
  box-shadow: 0 18px 34px rgba(72, 50, 27, 0.08);
}

.ag-contact-page .ag-faq-item__question {
  position: relative;
}

.ag-contact-page .ag-faq-item__question::before {
  content: '';
  position: absolute;
  left: 3.55rem;
  right: 3.25rem;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(112, 88, 58, 0.14), rgba(112, 88, 58, 0));
  opacity: 0;
  transition: opacity 0.25s ease;
}

.ag-contact-page .ag-faq-item[open] .ag-faq-item__question::before {
  opacity: 1;
}

.ag-contact-page .ag-faq-item__question-copy {
  text-wrap: balance;
}

.ag-contact-page .ag-faq-item__answer {
  border-top: none;
}

.ag-contact-page .ag-contact__faq-footer {
  max-width: 44rem;
  margin-inline: auto;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-trust-card__heading,
  .ag-contact-page .ag-trust-card__copy,
  .ag-contact-page .ag-location-card__title,
  .ag-contact-page .ag-location-card__note {
    max-width: none;
  }

  .ag-contact-page .ag-form-actions {
    align-items: stretch;
  }
}

/* CONTACT PAGE VISUAL QA FIXES */
.ag-contact-page .ag-contact__faq-cta::before {
  content: none;
  display: none;
}

/* CONTACT PAGE HERO CLEANUP FOR MIDSECTION TRANSITION */
.ag-contact-page .ag-contact__hero::before,
.ag-contact-page .ag-contact__hero::after {
  content: none;
  display: none;
}

/* CONTACT PAGE PREMIUM HERITAGE PASS */
.ag-contact-page .ag-trust-section,
.ag-contact-page .ag-contact-form-section,
.ag-contact-page .ag-locations-section,
.ag-contact-page .ag-faq-section {
  position: relative;
  overflow: clip;
}

.ag-contact-page .ag-trust-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 244, 216, 0.68), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(36, 73, 51, 0.08), transparent 20%),
    linear-gradient(180deg, #f3ebdd 0%, #f8f2e9 46%, #efe4d4 100%);
}

.ag-contact-page .ag-trust-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(81, 60, 38, 0.045) 0, rgba(81, 60, 38, 0.045) 1px, transparent 1px, transparent 88px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0));
  opacity: 0.55;
}

.ag-contact-page .ag-trust-section__header {
  gap: 1.1rem;
}

.ag-contact-page .ag-trust-badge {
  padding: 0.55rem 1.05rem;
  background: rgba(251, 245, 233, 0.92);
  border-color: rgba(133, 98, 52, 0.24);
  box-shadow: 0 14px 32px rgba(108, 77, 40, 0.08);
}

.ag-contact-page .ag-trust-badge span {
  letter-spacing: 0.14em;
}

.ag-contact-page .ag-trust-section__title,
.ag-contact-page .ag-locations-section__title,
.ag-contact-page .ag-faq-section__title,
.ag-contact-page .ag-form-header__title,
.ag-contact-page .ag-contact-brief__title {
  letter-spacing: -0.04em;
}

.ag-contact-page .ag-trust-section__title {
  max-width: 11ch;
  font-size: clamp(2.3rem, 4.9vw, 4.25rem);
  line-height: 0.98;
  text-wrap: balance;
}

.ag-contact-page .ag-trust-section__subtitle,
.ag-contact-page .ag-locations-section__subtitle,
.ag-contact-page .ag-faq-section__subtitle {
  color: #54473a;
}

.ag-contact-page .ag-trust-note {
  padding: 1.35rem 1.35rem 1.3rem 1.6rem;
  border-left-width: 2px;
  border-radius: 0.4rem 1.15rem 1.15rem 0.4rem;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.86), rgba(249, 242, 232, 0.74));
  box-shadow: 0 12px 28px rgba(82, 59, 31, 0.06);
}

.ag-contact-page .ag-trust-note--accent {
  background: linear-gradient(180deg, rgba(251, 243, 233, 0.95), rgba(244, 231, 216, 0.85));
}

.ag-contact-page .ag-trust-card {
  padding: clamp(1.55rem, 2.7vw, 2.2rem);
  border-radius: 1.45rem 1.45rem 1.15rem 1.15rem;
  box-shadow:
    0 22px 46px rgba(70, 49, 25, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.ag-contact-page .ag-trust-card::before {
  height: 2px;
  left: 1.45rem;
  right: 1.45rem;
  top: 1rem;
  border-radius: 999px;
  opacity: 0.9;
}

.ag-contact-page .ag-trust-card--gold {
  background: linear-gradient(180deg, rgba(255, 250, 241, 0.98), rgba(245, 233, 213, 0.92));
}

.ag-contact-page .ag-trust-card--forest {
  background: linear-gradient(180deg, rgba(248, 247, 240, 0.98), rgba(231, 239, 232, 0.93));
}

.ag-contact-page .ag-trust-card--terra {
  background: linear-gradient(180deg, rgba(255, 248, 242, 0.98), rgba(244, 228, 217, 0.93));
}

.ag-contact-page .ag-trust-card__topline {
  padding-bottom: 0.95rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(109, 84, 50, 0.14);
}

.ag-contact-page .ag-trust-card__step {
  font-size: 2.35rem;
}

.ag-contact-page .ag-trust-card__kicker,
.ag-contact-page .ag-form-header__eyebrow,
.ag-contact-page .ag-contact-brief__eyebrow,
.ag-contact-page .ag-location-card__eyebrow,
.ag-contact-page .ag-contact-sidebar-card__kicker,
.ag-contact-page .ag-quick-contact__label {
  color: #7a5a33;
}

.ag-contact-page .ag-trust-card__heading {
  max-width: 12ch;
  font-size: clamp(1.28rem, 1.95vw, 1.72rem);
}

.ag-contact-page .ag-trust-card__copy {
  font-size: 1.04rem;
  line-height: 1.72;
}

.ag-contact-page .ag-trust-card__list li {
  color: #334437;
}

.ag-contact-page .ag-trust-card__footer {
  padding-top: 1rem;
  gap: 0.2rem;
}

.ag-contact-page .ag-contact-form-section {
  background:
    radial-gradient(circle at 82% 10%, rgba(28, 90, 63, 0.08), transparent 18%),
    radial-gradient(circle at 16% 88%, rgba(188, 122, 57, 0.12), transparent 22%),
    linear-gradient(180deg, #f8f1e7 0%, #f2e9de 100%);
}

.ag-contact-page .ag-contact-form-section__watermark {
  font-size: clamp(3.9rem, 10vw, 8rem);
  letter-spacing: 0.08em;
  opacity: 0.08;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.ag-contact-page .ag-contact-sidebar {
  gap: 1.15rem;
}

.ag-contact-page .ag-contact-brief {
  position: relative;
  padding-right: 1.35rem;
}

.ag-contact-page .ag-contact-brief::after {
  content: '';
  position: absolute;
  left: 0;
  top: calc(100% + 0.7rem);
  width: 5.25rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(122, 90, 51, 0.75), rgba(122, 90, 51, 0));
}

.ag-contact-page .ag-contact-brief__title {
  max-width: 12ch;
  font-size: clamp(1.95rem, 4.3vw, 3.25rem);
  line-height: 0.98;
}

.ag-contact-page .ag-contact-sidebar-card {
  padding: 1.45rem 1.45rem 1.4rem;
  border-radius: 0.55rem 1.45rem 1.45rem 1.2rem;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.9), rgba(247, 239, 227, 0.86));
  box-shadow:
    0 20px 38px rgba(76, 54, 28, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.ag-contact-page .ag-contact-sidebar-card::after {
  content: '';
  position: absolute;
  inset: 0.9rem;
  border: 1px solid rgba(132, 102, 66, 0.08);
  border-radius: calc(1.15rem - 0.25rem);
  pointer-events: none;
}

.ag-contact-page .ag-contact-sidebar-card--quote {
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.96), rgba(245, 236, 222, 0.9));
}

.ag-contact-page .ag-contact-sidebar-card--playbook {
  background: linear-gradient(180deg, rgba(250, 247, 239, 0.96), rgba(236, 243, 235, 0.9));
}

.ag-contact-page .ag-contact-sidebar-card--visit {
  background: linear-gradient(180deg, rgba(255, 247, 239, 0.96), rgba(244, 226, 212, 0.92));
}

.ag-contact-page .ag-contact-sidebar-card__quote {
  font-size: 1.22rem;
  line-height: 1.78;
}

.ag-contact-page .ag-contact-sidebar-card__signature {
  margin-top: 1.15rem;
}

.ag-contact-page .ag-contact-playbook__item {
  gap: 0.95rem;
}

.ag-contact-page .ag-contact-playbook__index {
  background: rgba(22, 58, 40, 0.08);
  border: 1px solid rgba(22, 58, 40, 0.08);
}

.ag-contact-page .ag-contact-sidebar-card__cta {
  background: linear-gradient(135deg, #173a28 0%, #214f37 100%);
  border: 1px solid rgba(244, 185, 66, 0.28);
  box-shadow: 0 14px 30px rgba(23, 58, 40, 0.18);
}

.ag-contact-page .ag-form-wrapper {
  background:
    linear-gradient(180deg, rgba(255, 253, 249, 0.97), rgba(249, 242, 233, 0.96));
  border-color: rgba(122, 91, 53, 0.22);
  box-shadow:
    0 28px 56px rgba(74, 52, 28, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.ag-contact-page .ag-form-wrapper::before {
  inset: 0.9rem;
  border-color: rgba(143, 112, 73, 0.22);
}

.ag-contact-page .ag-form-header {
  margin-bottom: 1.55rem;
}

.ag-contact-page .ag-form-header__title {
  max-width: 13ch;
  font-size: clamp(1.8rem, 3.4vw, 2.75rem);
  line-height: 1;
}

.ag-contact-page .ag-form-header__subtitle {
  font-size: 1.03rem;
  line-height: 1.72;
}

.ag-contact-page .ag-trust-notice {
  background: linear-gradient(180deg, rgba(242, 247, 241, 0.98), rgba(232, 241, 233, 0.92));
  border-color: rgba(30, 88, 63, 0.18);
}

.ag-contact-page .ag-form-label {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ag-contact-page .ag-form-input,
.ag-contact-page .ag-form-select,
.ag-contact-page .ag-form-textarea {
  background: linear-gradient(180deg, rgba(254, 251, 246, 1), rgba(251, 246, 239, 0.98));
  border-color: rgba(124, 94, 60, 0.2);
}

.ag-contact-page .ag-form-submit {
  padding-inline: 1.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ag-contact-page .ag-quick-contact {
  padding-top: 1.65rem;
  border-top-color: rgba(122, 91, 53, 0.18);
}

.ag-contact-page .ag-quick-contact__grid {
  gap: 0.95rem;
}

.ag-contact-page .ag-quick-contact__link {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.88), rgba(246, 238, 227, 0.84));
  border: 1px solid rgba(124, 94, 60, 0.14);
  box-shadow: 0 14px 24px rgba(74, 52, 28, 0.06);
}

.ag-contact-page .ag-quick-contact__title {
  font-family: 'Fraunces', serif;
  font-size: 1.04rem;
  color: #173a28;
}

.ag-contact-page .ag-quick-contact__detail {
  color: #56483a;
}

.ag-contact-page .ag-locations-section {
  background:
    radial-gradient(circle at 18% 24%, rgba(255, 243, 216, 0.5), transparent 22%),
    linear-gradient(180deg, #ece1d0 0%, #f6efe4 54%, #fbf8f3 100%);
}

.ag-contact-page .ag-locations-section__header,
.ag-contact-page .ag-faq-section__header {
  text-align: left;
  margin-left: 0;
}

.ag-contact-page .ag-location-card {
  padding: clamp(1.6rem, 3vw, 2.3rem);
  border-radius: 1.55rem 1.55rem 1.15rem 1.15rem;
  border: 1px solid rgba(122, 91, 53, 0.16);
  box-shadow:
    0 22px 44px rgba(72, 49, 24, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(245, 238, 228, 0.9));
}

.ag-contact-page .ag-location-card--terra {
  background: linear-gradient(180deg, rgba(255, 248, 242, 0.98), rgba(242, 228, 215, 0.92));
}

.ag-contact-page .ag-location-card__title {
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.02;
}

.ag-contact-page .ag-location-card__address {
  font-family: 'Fraunces', serif;
  font-size: 1.02rem;
  color: #23402f;
}

.ag-contact-page .ag-location-card__note {
  font-size: 1.03rem;
  line-height: 1.7;
}

.ag-contact-page .ag-location-card__badge {
  background: rgba(23, 58, 40, 0.08);
  border-color: rgba(23, 58, 40, 0.12);
}

.ag-contact-page .ag-location-card__badge--terra {
  background: rgba(176, 93, 52, 0.12);
  border-color: rgba(176, 93, 52, 0.14);
}

.ag-contact-page .ag-location-card__cta {
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(23, 58, 40, 0.16);
}

.ag-contact-page .ag-locations-section__postscript {
  justify-content: flex-start;
  padding: 1.15rem 0 0;
  border-top-color: rgba(122, 91, 53, 0.16);
}

.ag-contact-page .ag-faq-section {
  background:
    radial-gradient(circle at 84% 12%, rgba(25, 74, 52, 0.08), transparent 16%),
    radial-gradient(circle at 10% 86%, rgba(191, 126, 58, 0.12), transparent 18%),
    linear-gradient(180deg, #f8f2e8 0%, #f1e7d8 100%);
}

.ag-contact-page .ag-faq-list {
  gap: 1rem;
}

.ag-contact-page .ag-faq-item {
  background: linear-gradient(180deg, rgba(255, 252, 248, 0.92), rgba(248, 241, 231, 0.88));
  border-color: rgba(122, 91, 53, 0.16);
  box-shadow:
    0 18px 34px rgba(69, 47, 24, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.ag-contact-page .ag-faq-item__question {
  padding: 1.18rem 1.25rem;
}

.ag-contact-page .ag-faq-item__index {
  background: linear-gradient(180deg, rgba(23, 58, 40, 0.1), rgba(23, 58, 40, 0.06));
  border: 1px solid rgba(23, 58, 40, 0.08);
}

.ag-contact-page .ag-faq-item__question-copy {
  font-size: clamp(1.06rem, 1.7vw, 1.28rem);
}

.ag-contact-page .ag-faq-item__answer p,
.ag-contact-page .ag-contact__faq-footer p:last-child {
  color: #55473a;
}

.ag-contact-page .ag-contact__faq-footer {
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.82), rgba(246, 239, 228, 0.78));
  box-shadow: 0 18px 34px rgba(69, 47, 24, 0.05);
}

.ag-contact-page .ag-contact__faq-cta {
  border-color: rgba(23, 58, 40, 0.18);
  background: rgba(255, 255, 255, 0.44);
}

@media (max-width: 979px) {
  .ag-contact-page .ag-locations-section__header,
  .ag-contact-page .ag-faq-section__header {
    text-align: center;
    margin-inline: auto;
  }

  .ag-contact-page .ag-contact-brief::after {
    display: none;
  }
}

@media (max-width: 767px) {
  .ag-contact-page .ag-trust-section__title,
  .ag-contact-page .ag-contact-brief__title,
  .ag-contact-page .ag-form-header__title {
    max-width: none;
  }

  .ag-contact-page .ag-trust-card__topline {
    padding-bottom: 0.8rem;
  }
}

/* CONTACT PAGE TARGETED REFINEMENT PASS */
.ag-contact-page {
  --ag-contact-surface: rgba(255, 252, 246, 0.92);
  --ag-contact-surface-soft: rgba(251, 247, 239, 0.72);
  --ag-contact-border: rgba(123, 95, 60, 0.14);
  --ag-contact-shadow-soft: 0 16px 32px rgba(56, 41, 24, 0.06);
  --ag-contact-shadow-deep: 0 22px 42px rgba(43, 31, 17, 0.09);
}

.ag-contact-page .ag-contact__hero-grid {
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.ag-contact-page .ag-contact__hero-left {
  display: grid;
  align-content: center;
  gap: 0.9rem;
  max-width: 35rem;
}

.ag-contact-page .ag-contact__description {
  max-width: 34ch;
}

.ag-contact-page .ag-contact__hero-cards {
  position: relative;
  display: grid;
  gap: 0.85rem;
  padding: clamp(0.95rem, 2vw, 1.15rem);
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(20, 30, 24, 0.48), rgba(16, 25, 20, 0.32));
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 42px rgba(9, 13, 10, 0.18);
  backdrop-filter: blur(10px);
}

.ag-contact-page .ag-contact__hero-card {
  gap: 0.85rem;
  min-height: 100%;
  padding: 1.05rem 1rem 1.1rem;
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.ag-contact-page .ag-contact__hero-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08));
  border-color: rgba(255, 255, 255, 0.16);
}

.ag-contact-page .ag-contact__card-content h3 {
  margin-bottom: 0.35rem;
  font-size: 1.02rem;
  line-height: 1.08;
}



.ag-contact-page .ag-contact-body-intro__grid {
  align-items: start;
  gap: clamp(1.7rem, 3vw, 2.45rem);
}

.ag-contact-page .ag-contact-body-intro__copy,
.ag-contact-page .ag-contact-body-main__intro {
  display: grid;
  gap: 1rem;
  max-width: 35rem;
}

.ag-contact-page .ag-contact-body-intro__summary {
  margin-top: 0.55rem;
}

.ag-contact-page .ag-contact-body-intro__actions {
  gap: 1.1rem;
}

.ag-contact-page .ag-contact-body-card {
  gap: 0.72rem;
  padding: 1.55rem 1.45rem 1.5rem;
  border-radius: 1.35rem;
  border-color: var(--ag-contact-border);
  background: rgba(255, 252, 247, 0.94);
  box-shadow: var(--ag-contact-shadow-soft);
}

.ag-contact-page .ag-contact-body-card__detail {
  margin-top: 0.1rem;
}

.ag-contact-page .ag-contact-body-intro__stats {
  gap: 0.9rem;
  margin-top: 1.9rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-stat {
  padding: 1rem 1.1rem 1.05rem;
  background: rgba(251, 247, 240, 0.66);
  border-color: rgba(123, 95, 60, 0.1);
  box-shadow: none;
}

.ag-contact-page .ag-contact-body-stat__value {
  margin: 0.35rem 0 0.45rem;
}

.ag-contact-page .ag-contact-body-main__grid {
  gap: clamp(1.7rem, 3vw, 2.6rem);
}

.ag-contact-page .ag-contact-body-main__expectations {
  gap: 0.85rem;
}

.ag-contact-page .ag-contact-body-main__expectation,
.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__support {
  border: 1px solid var(--ag-contact-border);
  background: var(--ag-contact-surface-soft);
  box-shadow: none;
}

.ag-contact-page .ag-contact-body-main__expectation {
  padding: 0.95rem 1.05rem;
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker {
  padding: 1.25rem 1.2rem;
}

.ag-contact-page .ag-contact-body-main__panel {
  padding: clamp(1.7rem, 3.2vw, 2.55rem);
  border-radius: 1.55rem;
  border-color: rgba(123, 95, 60, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.99), rgba(248, 241, 231, 0.94));
  box-shadow: var(--ag-contact-shadow-deep);
}

.ag-contact-page .ag-contact-body-main__panel::before {
  inset: 1rem;
  border-color: rgba(123, 95, 60, 0.1);
}

.ag-contact-page .ag-contact-body-main__panel-head {
  gap: 1rem 1.25rem;
  align-items: start;
}

.ag-contact-page .ag-contact-body-main__notice {
  max-width: 22rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  gap: 1.2rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-row {
  gap: 1.05rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-field {
  gap: 0.65rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact-body-form .ag-form-select,
.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 3.4rem;
  padding: 1rem 1.05rem;
  border-radius: 1.05rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 12.5rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit {
  min-height: 3.2rem;
  padding: 0.92rem 1.45rem;
  background: linear-gradient(180deg, #183b2a, #214937);
  box-shadow: 0 14px 24px rgba(23, 58, 40, 0.14);
}


.ag-contact-page .ag-contact-body-form .ag-form-response {
  font-size: 0.82rem;
}

.ag-contact-page .ag-contact-body-main__direct {
  margin-top: 1.55rem;
  padding-top: 1.35rem;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  gap: 0.65rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  gap: 0.4rem;
  padding: 1.05rem 1rem 1.1rem;
  border-color: rgba(123, 95, 60, 0.12);
  background: rgba(252, 248, 241, 0.82);
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover {
  transform: translateY(-2px);
  border-color: rgba(23, 58, 40, 0.18);
  background: rgba(255, 252, 247, 0.94);
}

.ag-contact-page .ag-contact-body-story__grid {
  gap: clamp(1.15rem, 2vw, 1.7rem);
  align-items: stretch;
}

.ag-contact-page .ag-contact-body-story__quote {
  padding: clamp(1.9rem, 3.2vw, 2.7rem);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 238, 227, 0.94));
  box-shadow: var(--ag-contact-shadow-deep);
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  font-size: clamp(1.35rem, 2.1vw, 1.95rem);
  max-width: 17ch;
}

.ag-contact-page .ag-contact-body-story__side {
  gap: 1rem;
  align-content: start;
}


.ag-contact-page .ag-contact-body-story__support {
  padding: 1.05rem 1.2rem;
  background: rgba(247, 240, 231, 0.78);
}

.ag-contact-page .ag-contact-body-section-head {
  margin-bottom: 1.7rem;
}

.ag-contact-page .ag-contact-body-section-head__text {
  max-width: 38rem;
}

.ag-contact-page .ag-contact-body-locations__grid {
  gap: 1.15rem;
}

.ag-contact-page .ag-contact-body-location-card {
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.15rem);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.95), rgba(248, 241, 232, 0.9));
  box-shadow: var(--ag-contact-shadow-soft);
}


.ag-contact-page .ag-contact-body-location-card__meta {
  gap: 0.75rem;
  padding: 1rem 0;
}

.ag-contact-page .ag-contact-body-location-card__meta-row strong {
  font-size: 0.93rem;
}

.ag-contact-page .ag-contact-body-location-card__copy {
  max-width: none;
}

.ag-contact-page .ag-contact-body-location-card__cta {
  margin-top: 0.1rem;
}

.ag-contact-page .ag-contact-body-faq__grid {
  gap: 1.45rem;
}

.ag-contact-page .ag-contact-body-faq__list {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.3rem 1.4rem;
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  line-height: 1.3;
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0 1.4rem 1.3rem 3.25rem;
}

.ag-contact-page .ag-contact-body-faq__footer {
  margin-top: 1.5rem;
}

.ag-contact-page .ag-contact-body-intro::before {
  width: min(26rem, 32vw);
  height: min(26rem, 32vw);
  opacity: 0.018;
}

.ag-contact-page .ag-contact-body-story::before {
  opacity: 0.024;
}

.ag-contact-page .ag-contact-body-faq::before {
  opacity: 0;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact__hero-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .ag-contact-page .ag-contact-body-main__panel-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact__hero-grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(19rem, 0.96fr);
  }

  .ag-contact-page .ag-contact-body-intro__grid {
    grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
  }

  .ag-contact-page .ag-contact-body-main__grid {
    grid-template-columns: minmax(18rem, 0.76fr) minmax(0, 1.24fr);
  }

  .ag-contact-page .ag-contact-body-story__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
  }

  .ag-contact-page .ag-contact-body-story__quote {
    order: 1;
  }

  .ag-contact-page .ag-contact-body-story__side {
    order: 2;
    grid-template-rows: auto auto;
  }

  .ag-contact-page .ag-contact-body-faq__grid {
    grid-template-columns: 1fr;
  }


  .ag-contact-page .ag-contact-body-faq__list {
    max-width: 56rem;
  }
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact__hero-cards {
    padding: 0.85rem;
    box-shadow: 0 16px 28px rgba(9, 13, 10, 0.14);
  }

  .ag-contact-page .ag-contact__hero-card {
    padding: 0.95rem;
  }

  .ag-contact-page .ag-contact-body-intro__stats {
    margin-top: 1.55rem;
    padding-top: 1rem;
  }

  .ag-contact-page .ag-contact-body-main__guide,
  .ag-contact-page .ag-contact-body-main__subject-picker,
  .ag-contact-page .ag-contact-body-story__visit,
  .ag-contact-page .ag-contact-body-story__support,
  .ag-contact-page .ag-contact-body-location-card {
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }

  .ag-contact-page .ag-contact-body-form .ag-form-actions {
    align-items: stretch;
  }

  .ag-contact-page .ag-contact-body-form .ag-form-submit {
    width: 100%;
  }

  .ag-contact-page .ag-contact-body-story__quote-copy {
    max-width: none;
  }

  .ag-contact-page .ag-contact-body-faq__answer {
    padding: 0 1.2rem 1.15rem;
  }

  .ag-contact-page .ag-contact-body-intro::before {
    width: 20rem;
    height: 20rem;
    opacity: 0.016;
  }

  .ag-contact-page .ag-contact-body-story::before {
    opacity: 0.02;
  }
}
@media (min-width: 1024px) {

  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head .ag-contact-body__eyebrow,
  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__title,
  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__text {
    grid-column: auto;
    max-width: 40rem;
    padding-bottom: 0;
  }
}
@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head,
  .ag-contact-page .ag-contact-body-faq__list,
  .ag-contact-page .ag-contact-body-faq__footer {
    grid-column: 1 / -1;
  }

  .ag-contact-page .ag-contact-body-faq__list {
    max-width: 56rem;
  }
}
@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-faq__grid {
    display: block;
  }

  .ag-contact-page .ag-contact-body-faq__list {
    margin-top: 1.35rem;
  }
}


/* ============================================================================
   ABOUT-CONTACT POLISH (merged from about-contact-polish.css)
   ============================================================================ */
/* ============================================================================
   ABOUT & CONTACT PAGE POLISH — Iteration 2
   Scope: body[data-page-handle="about"], body[data-page-handle="contact"]
   Focus: ingredient card contrast, testimonial refinement, contact spacing,
   form input focus states, section rhythm.
   ============================================================================ */


/* ==========================================================================
   ABOUT PAGE — INGREDIENT CARDS CONTRAST
   The benefit text and CTA links are too faint. Increase contrast.
   ========================================================================== */

/* Ingredient card benefit text — stronger contrast */
.ag-ingredient-card__benefits li {
  color: rgba(30, 50, 40, 0.72);
}

/* Ingredient card CTA — make "SHOP X BLEND" visible and clickable */
.ag-ingredient-card__cta,
.ag-ingredient-card a[href*="products"] {
  color: var(--ag-color-forest-700, #1d4e35);
  font-weight: 700;
  opacity: 1;
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
}

.ag-ingredient-card__cta:hover,
.ag-ingredient-card a[href*="products"]:hover {
  color: var(--ag-color-forest-900, #0e3e29);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Ingredient card name — slightly stronger */
.ag-ingredient-card__name {
  color: rgba(30, 50, 40, 0.75);
}

/* Ingredient card subtitle (Filipino name) — subtle gold accent */
.ag-ingredient-card__subtitle {
  color: rgba(180, 140, 60, 0.8);
}

/* Ingredient card hover — subtle border glow */
.ag-ingredient-card:hover {
  border-color: rgba(14, 62, 41, 0.15);
}


/* ==========================================================================
   ABOUT PAGE — TESTIMONIAL CARDS POLISH
   Improve quote readability and card visual hierarchy.
   ========================================================================== */

/* Stars — slightly brighter gold */
.ag-about-page .ag-testimonial-card__stars,
body[data-page-handle="about"] .ag-testimonial-card__stars {
  color: #f6b900;
  opacity: 1;
}

/* Tags — brand-aligned pill styling */
.ag-about-page .ag-testimonial-card__tag,
body[data-page-handle="about"] .ag-testimonial-card__tag {
  background: rgba(14, 62, 41, 0.06);
  color: var(--ag-color-forest-700, #1d4e35);
  border: 1px solid rgba(14, 62, 41, 0.1);
  border-radius: 100px;
}

/* Author name — deeper forest green */
.ag-about-page .ag-testimonial-card__author,
body[data-page-handle="about"] .ag-testimonial-card__author {
  color: var(--ag-color-forest-900, #0e3e29);
}


/* ==========================================================================
   ABOUT PAGE — SECTION SPACING
   Remove excess whitespace between testimonials and origin story.
   ========================================================================== */

/* Tighten the gap between community stories and timeline */
.ag-about-page .ag-about-testimonials,
body[data-page-handle="about"] .ag-about-testimonials {
  padding-bottom: clamp(3rem, 5vw, 4rem);
}


/* ==========================================================================
   ABOUT PAGE — TRUST BADGES HOVER
   Add subtle hover interaction to the trust badge cards.
   ========================================================================== */

.ag-about-page .ag-trust-card,
body[data-page-handle="about"] .ag-trust-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ag-about-page .ag-trust-card:hover,
body[data-page-handle="about"] .ag-trust-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(14, 62, 41, 0.08);
}


/* ==========================================================================
   CONTACT PAGE — HERO GAP REDUCTION
   The 100vh hero creates excessive empty space below the contact cards.
   ========================================================================== */


/* Tighten hero-to-body transition on smaller viewports */
@media (max-width: 1024px) {
}


/* ==========================================================================
   CONTACT PAGE — FORM INPUT FOCUS STATES
   Add brand-aligned focus rings to form inputs.
   ========================================================================== */

.ag-contact-page input:focus,
.ag-contact-page select:focus,
.ag-contact-page textarea:focus {
  border-color: var(--ag-color-forest-600, #0E3E29);
  box-shadow: 0 0 0 3px rgba(14, 62, 41, 0.1);
  outline: none;
}

/* Form labels — refined typography */
.ag-contact-page .ag-contact-body-form__label {
  font-family: var(--ag-font-ui, 'Work Sans', sans-serif);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.6875rem;
  color: rgba(30, 50, 40, 0.65);
}


/* ==========================================================================
   CONTACT PAGE — CONTACT CARDS HOVER
   Hero contact cards need hover interaction feedback.
   ========================================================================== */

.ag-contact-page .ag-contact__hero-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ag-contact-page .ag-contact__hero-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}


/* ==========================================================================
   CONTACT PAGE — STAT CARDS VISUAL LIFT
   The trust stats section is flat. Add subtle card treatment.
   ========================================================================== */

.ag-contact-page .ag-contact-body-stat {
  transition: transform 0.3s ease;
}


/* Stat value — gold accent */
.ag-contact-page .ag-contact-body-stat__value {
  color: var(--ag-color-forest-900, #0e3e29);
}


/* ==========================================================================
   CONTACT PAGE — SEND MESSAGE BUTTON POLISH
   ========================================================================== */




/* ==========================================================================
   CONTACT PAGE — FAQ ACCORDION POLISH
   ========================================================================== */

.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__question {
  border-left: 3px solid var(--ag-color-gold-bright, #F6B900);
  padding-left: calc(1.25rem - 3px);
}


/* ==========================================================================
   SHARED — REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .ag-about-page *,
  body[data-page-handle="about"] *,
}

/* ============================================================================
   CONTACT DEEP POLISH (merged from contact-deep-polish.css)
   ============================================================================ */
/* ============================================================================
   CONTACT PAGE — DEEP POLISH
   Focused refinements for the contact page.
   Scope: .ag-contact-page only.
   ============================================================================ */


/* ==========================================================================
   1. HERO CONTACT CARDS — GLASS-MORPHIC REFINEMENT
   Tighten the frosted-glass cards, improve icon sizing, add subtle glow.
   ========================================================================== */

.ag-contact-page .ag-contact__hero-card {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.3s ease;
}

.ag-contact-page .ag-contact__hero-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

/* Card icon circle — warmer glow */
.ag-contact-page .ag-contact__card-icon {
  transition: transform 0.3s ease;
}

.ag-contact-page .ag-contact__hero-card:hover .ag-contact__card-icon {
  transform: scale(1.08);
}

/* Card CTA links ("Usually reply within 24 hours →") */
.ag-contact-page .ag-contact__card-link,
.ag-contact-page .ag-contact__hero-card a[href] {
  transition: opacity 0.2s ease;
}

.ag-contact-page .ag-contact__hero-card:hover .ag-contact__card-link,
.ag-contact-page .ag-contact__hero-card:hover a[href] {
  opacity: 1;
}


/* ==========================================================================
   2. STATS SECTION — VISUAL TREATMENT
   Make the 15,000+ / <24hr / 4.9/5 stats feel more premium.
   ========================================================================== */

.ag-contact-page .ag-contact-body-intro__stats {
  border-radius: 16px;
  overflow: hidden;
}

.ag-contact-page .ag-contact-body-stat {
  text-align: center;
  padding: clamp(1.5rem, 3vw, 2.25rem) 1.5rem;
  transition: transform 0.3s ease, background 0.3s ease;
  position: relative;
}

.ag-contact-page .ag-contact-body-stat:hover {
  transform: translateY(-2px);
  background: rgba(246, 185, 0, 0.03);
}

/* Stat value — display font with tighter tracking */
.ag-contact-page .ag-contact-body-stat__value {
  font-family: 'Fraunces', serif;
  letter-spacing: -0.03em;
  color: #153728;
}

/* Stat label — refined UI font */
.ag-contact-page .ag-contact-body-stat__label {
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.6875rem;
  color: #7a5b33;
  margin-bottom: 0.5rem;
}

/* Stat description — softer */
.ag-contact-page .ag-contact-body-stat__copy {
  font-size: 0.9375rem;
  line-height: 1.6;
  max-width: 28ch;
  margin: 0.5rem auto 0;
}


/* ==========================================================================
   3. CONTACT ROW — VISUAL HIERARCHY
   The email/phone/Find Us row needs better visual separation.
   ========================================================================== */

.ag-contact-page .ag-contact-body-intro__contact-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.ag-contact-page .ag-contact-body-intro__contact-row a {
  color: #153728;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  transition: color 0.2s ease;
}

.ag-contact-page .ag-contact-body-intro__contact-row a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--ag-color-gold-bright, #F6B900);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.ag-contact-page .ag-contact-body-intro__contact-row a:hover::after {
  transform: scaleX(1);
}

/* Dot separators */

/* Contact note text */
.ag-contact-page .ag-contact-body-intro__contact-note {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #6b5d4f;
  margin-top: 0.75rem;
}


/* ==========================================================================
   4. FORM SECTION — INPUT & TEXTAREA POLISH
   Improve input appearance with warmer borders and smoother transitions.
   ========================================================================== */

.ag-contact-page .ag-contact-body-form__field input,
.ag-contact-page .ag-contact-body-form__field select,
.ag-contact-page .ag-contact-body-form__field textarea {
  border: 1px solid rgba(123, 95, 60, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  color: #2d3b33;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ag-contact-page .ag-contact-body-form__field input:focus,
.ag-contact-page .ag-contact-body-form__field select:focus,
.ag-contact-page .ag-contact-body-form__field textarea:focus {
  border-color: #153728;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(21, 55, 40, 0.08);
  outline: none;
}

/* Placeholder text — warmer tone */
.ag-contact-page .ag-contact-body-form__field input::placeholder,
.ag-contact-page .ag-contact-body-form__field textarea::placeholder {
  color: rgba(77, 67, 56, 0.45);
  font-style: italic;
}

/* Textarea — minimum height for comfortable typing */
.ag-contact-page .ag-contact-body-form__field textarea {
  min-height: 140px;
  resize: vertical;
}


/* ==========================================================================
   5. SUBJECT PILLS — REFINED STYLING
   "CHOOSE A STARTING SUBJECT" pills need better spacing and active state.
   ========================================================================== */

.ag-contact-page .ag-contact-body-form__subject-pill,
.ag-contact-page .ag-contact-body-form__subject-btn {
  border: 1px solid rgba(21, 55, 40, 0.18);
  border-radius: 100px;
  padding: 0.5rem 1.125rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3a4f44;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ag-contact-page .ag-contact-body-form__subject-pill:hover,
.ag-contact-page .ag-contact-body-form__subject-btn:hover {
  border-color: #153728;
  background: rgba(21, 55, 40, 0.05);
  color: #153728;
}

.ag-contact-page .ag-contact-body-form__subject-pill.is-active,
.ag-contact-page .ag-contact-body-form__subject-pill--active,
.ag-contact-page .ag-contact-body-form__subject-btn.is-active {
  background: #153728;
  color: #fff;
  border-color: #153728;
}


/* ==========================================================================
   6. SEND MESSAGE BUTTON — PREMIUM CTA
   Make the submit button feel more impactful.
   ========================================================================== */

.ag-contact-page .ag-contact-body-form__submit {
  border-radius: 10px;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  min-height: 52px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ag-contact-page .ag-contact-body-form__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(21, 55, 40, 0.2);
}

.ag-contact-page .ag-contact-body-form__submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(21, 55, 40, 0.15);
}


/* ==========================================================================
   7. FOUNDER QUOTE CARD — STRONGER VISUAL
   The dark quote card could use a bit more personality.
   ========================================================================== */

.ag-contact-page .ag-contact-body-story__quote-card {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

/* Decorative gold accent line at top */
.ag-contact-page .ag-contact-body-story__quote-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--ag-color-gold-bright, #F6B900) 30%, var(--ag-color-gold-bright, #F6B900) 70%, transparent);
  opacity: 0.5;
}

/* Quote mark — larger, more decorative */
.ag-contact-page .ag-contact-body-story__quote-mark {
  font-size: 3.5rem;
  line-height: 1;
  color: rgba(246, 185, 0, 0.3);
}


/* ==========================================================================
   8. LOCATION CARDS — HOVER INTERACTION
   Cebu Office and Paglinawan Farm cards need hover feedback.
   ========================================================================== */

.ag-contact-page .ag-contact-body-location-card {
  border-radius: 16px;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}


/* Location card CTA buttons — hover lift */
.ag-contact-page .ag-contact-body-location-card__cta {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ag-contact-page .ag-contact-body-location-card__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(21, 55, 40, 0.15);
}

/* Location badge ("MAIN OFFICE", "BY ARRANGEMENT") */
.ag-contact-page .ag-contact-body-location-card__badge {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}


/* ==========================================================================
   9. STORE LOCATOR BANNER — POLISH
   "Need the nearest retail touchpoint?" banner refinement.
   ========================================================================== */

.ag-contact-page .ag-contact-body-locations__retail-banner {
  border-radius: 12px;
  transition: box-shadow 0.3s ease;
}

.ag-contact-page .ag-contact-body-locations__retail-banner:hover {
  box-shadow: 0 4px 16px rgba(14, 62, 41, 0.06);
}

/* "OPEN THE STORE LOCATOR →" button */
.ag-contact-page .ag-contact-body-locations__retail-banner .ag-button--outline {
  transition: all 0.25s ease;
}

.ag-contact-page .ag-contact-body-locations__retail-banner .ag-button--outline:hover {
  background: #153728;
  color: #fff;
  transform: translateY(-1px);
}


/* ==========================================================================
   10. FAQ SECTION — SPACING & ACCORDION REFINEMENT
   Reduce the large whitespace above the FAQ section.
   ========================================================================== */

.ag-contact-page .ag-contact-body-faq {
  padding-top: clamp(2rem, 4vw, 3rem);
}

/* FAQ number badge — gold accent */
.ag-contact-page .ag-contact-body-faq__number {
  color: var(--ag-color-gold-bright, #F6B900);
  font-family: 'Fraunces', serif;
  font-weight: 500;
}

/* FAQ question hover */
.ag-contact-page .ag-contact-body-faq__question {
  transition: background 0.2s ease, padding-left 0.2s ease;
  border-radius: 12px;
}


/* FAQ expanded state — gold left accent */
.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__question,
.ag-contact-page .ag-contact-body-faq details[open] > summary {
  border-left: 3px solid var(--ag-color-gold-bright, #F6B900);
  background: rgba(246, 185, 0, 0.02);
}

/* FAQ toggle icon — smoother rotation */
.ag-contact-page .ag-contact-body-faq__toggle {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* "Need the full field guide?" CTA card */
.ag-contact-page .ag-contact-body-faq__footer-card {
  border-radius: 16px;
  transition: box-shadow 0.3s ease;
}

.ag-contact-page .ag-contact-body-faq__footer-card:hover {
  box-shadow: 0 4px 16px rgba(14, 62, 41, 0.06);
}

/* "BROWSE FULL FAQ" button — hover */
.ag-contact-page .ag-contact-body-faq__footer-card .ag-button--outline:hover {
  background: #153728;
  color: #fff;
}


/* ==========================================================================
   11. "PREFER DIRECT CONTACT?" — CARD HOVER
   Email/Call/Messenger cards need hover feedback.
   ========================================================================== */

.ag-contact-page .ag-contact-body-form__direct-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 12px;
}

.ag-contact-page .ag-contact-body-form__direct-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(14, 62, 41, 0.06);
}


/* ==========================================================================
   12. VISIT THE FARM CARD — REFINEMENT
   ========================================================================== */

.ag-contact-page .ag-contact-body-story__farm-card {
  border-radius: 16px;
  transition: box-shadow 0.3s ease;
}

.ag-contact-page .ag-contact-body-story__farm-card:hover {
  box-shadow: 0 8px 24px rgba(14, 62, 41, 0.06);
}

.ag-contact-page .ag-contact-body-story__farm-card .ag-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ag-contact-page .ag-contact-body-story__farm-card .ag-button:hover {
  transform: translateY(-1px);
}


/* ==========================================================================
   13. "WHAT HELPS US RESPOND WELL" — READABILITY
   ========================================================================== */

.ag-contact-page .ag-contact-body-main__tips li {
  line-height: 1.7;
  padding: 0.375rem 0;
  color: #4d4338;
}

.ag-contact-page .ag-contact-body-main__tips li::before {
  color: var(--ag-color-gold-bright, #F6B900);
}


/* ==========================================================================
   14. SECTION SPACING — TIGHTEN GAPS
   Reduce excessive whitespace between story and locations sections.
   ========================================================================== */

.ag-contact-page .ag-contact-body-story {
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.ag-contact-page .ag-contact-body-locations {
  padding-top: clamp(2rem, 4vw, 3rem);
}


/* ==========================================================================
   15. DIRECT CONTACT CARDS — ARROW ALIGNMENT & DIVIDERS
   Email/Call/Messenger cards need subtle bottom dividers and aligned arrows.
   ========================================================================== */

.ag-contact-page .ag-contact-body-form__direct-card {
  border-bottom: 1px solid rgba(123, 95, 60, 0.1);
  padding-bottom: 1rem;
}

.ag-contact-page .ag-contact-body-form__direct-card:last-child {
  border-bottom: none;
}

/* Arrow icon — gold accent on hover */
.ag-contact-page .ag-contact-body-form__direct-card .ag-contact-body-form__direct-arrow {
  transition: transform 0.2s ease, color 0.2s ease;
}

.ag-contact-page .ag-contact-body-form__direct-card:hover .ag-contact-body-form__direct-arrow {
  transform: translateX(3px);
  color: var(--ag-color-gold-bright, #F6B900);
}

/* Direct card title — bolder for hierarchy */
.ag-contact-page .ag-contact-body-form__direct-title {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  color: #153728;
}


/* ==========================================================================
   16. SECTION COUNTER NUMBERS — REFINED STYLING
   The "01", "02", etc. numbers on the right side of each section.
   ========================================================================== */

.ag-contact-page .ag-contact-body-section-head__counter {
  font-family: 'Fraunces', serif;
  color: rgba(123, 95, 60, 0.35);
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}

/* Section counter divider line — warmer */
.ag-contact-page .ag-contact-body-section-head__line {
  background: linear-gradient(90deg, transparent, rgba(123, 95, 60, 0.2));
}


/* ==========================================================================
   17. SUMMARY PILLS ("Family-run since 2016", "Support from Cebu") — REFINEMENT
   ========================================================================== */

.ag-contact-page .ag-contact-body-intro__summary span {
  border: 1px solid rgba(21, 55, 40, 0.15);
  border-radius: 100px;
  padding: 0.5rem 1.125rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #3a4f44;
  transition: background 0.2s ease;
}

.ag-contact-page .ag-contact-body-intro__summary span:hover {
  background: rgba(21, 55, 40, 0.04);
}


/* ==========================================================================
   18. "HOW WE WORK" CARD — VISUAL TREATMENT
   ========================================================================== */

.ag-contact-page .ag-contact-body-story__how-card {
  border-radius: 12px;
  border-left: 3px solid var(--ag-color-gold-bright, #F6B900);
  transition: box-shadow 0.3s ease;
}

.ag-contact-page .ag-contact-body-story__how-card:hover {
  box-shadow: 0 4px 12px rgba(14, 62, 41, 0.04);
}

/* "HOW WE WORK" label — consistent with other section kickers */
.ag-contact-page .ag-contact-body-story__how-label {
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.6875rem;
  color: #7a5b33;
}


/* ==========================================================================
   19. MOBILE REFINEMENTS
   ========================================================================== */

@media (max-width: 767px) {
  /* Tighter section padding on mobile */
  .ag-contact-page .ag-contact-body-intro,
  .ag-contact-page .ag-contact-body-main,
  .ag-contact-page .ag-contact-body-story,
  .ag-contact-page .ag-contact-body-locations,
  .ag-contact-page .ag-contact-body-faq {
    padding: clamp(2rem, 5vw, 3rem) 0;
  }

  /* Stats — stack tighter */
  .ag-contact-page .ag-contact-body-stat {
    padding: 1.25rem 1rem;
  }

  /* No hover lifts on touch devices */
  .ag-contact-page .ag-contact-body-location-card:hover,
  .ag-contact-page .ag-contact-body-stat:hover,
  .ag-contact-page .ag-contact__hero-card:hover,
  .ag-contact-page .ag-contact-body-form__direct-card:hover {
    transform: none;
  }
}


/* ==========================================================================
   15. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .ag-contact-page * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================================
   CONTACT PAGE (merged from contact-page.css)
   ============================================================================ */
/* ============================================================
   AGRIKO CONTACT PAGE — Matching localhost:3000 design
   ============================================================ */

/* Design Tokens */
.ag-contact-page {
  --font-display: 'Fraunces', 'Times New Roman', serif;
  --font-body: 'Crimson Text', Georgia, serif;
  --font-ui: 'Work Sans', 'Helvetica Neue', sans-serif;

  --color-forest-900: #0E3E29;
  --color-forest-700: #1d4e35;
  --color-forest-500: #2d6a4f;
  --color-forest-200: #b4d4c4;
  --color-forest-100: #d8e9e0;
  --color-forest-50: #eef6f1;

  --color-cream-100: #f8f5f0;
  --color-cream-50: #faf8f3;
  --color-stone-50: #fafaf9;
  --color-stone-200: #e7e5e4;
  --color-stone-300: #d6d3d1;

  --color-gold-500: #f59e0b;
  --color-gold-400: #fbbf24;
  --color-gold-300: #fde68a;
  --color-gold-100: #fef3c7;
  --color-gold-50: #fffbeb;
  --color-warning-50: #fffbeb;
  --color-gold-600: #d97706;
  --color-gold-700: #b45309;

  --color-terra-600: #b05e34;
  --color-terra-500: #c9754b;
  --color-terra-200: #f5d0bc;
  --color-terra-100: #fae8de;
  --color-terra-50: #fdf6f3;

  --color-ink-900: #1a1a1a;
  --color-ink-500: #6b6b6b;
  --color-ink-700: #374151;
  --color-ink-300: #9ca3af;

  --color-success-500: #22c55e;
  --color-success-50: #f0fdf4;
  --color-success-200: #bbf7d0;

  --color-error-500: #ef4444;
  --color-error-400: #f87171;
  --color-error-50: #fef2f2;
  --color-error-200: #fecaca;
  --color-error-900: #7f1d1d;

  --color-blue-600: #2563eb;
  --color-blue-200: #bfdbfe;
  --color-blue-100: #dbeafe;
  --color-blue-50: #eff6ff;

  --shadow-card: 0 2px 8px rgba(26, 26, 26, 0.06);
  --shadow-card-hover: 0 8px 24px rgba(26, 26, 26, 0.1);
  --shadow-button: 0 4px 12px rgba(245, 158, 11, 0.3);

  --radius-card: 1rem;
  --radius-button: 2rem;
  --radius-input: 0.5rem;
}

/* ============================================================
   HERO SECTION
   ============================================================ */

.ag-contact__hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.ag-contact__hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ag-contact__hero-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.42) saturate(1.08) contrast(1.12);
  transform: scale(1.02);
  transition: opacity 220ms ease;
}

.ag-contact__hero-video {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.4) saturate(1.15) contrast(1.25);
}

.ag-contact__hero-bg.is-video-ready .ag-contact__hero-poster {
  opacity: 0;
}

.ag-contact__hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.65) 100%);
}

.ag-contact__hero-texture {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='heroNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' seed='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%23000' filter='url(%23heroNoise)' /%3E%3C/svg%3E");
  background-repeat: repeat;
  opacity: 0.06;
  mix-blend-mode: overlay;
}

.ag-contact__hero-burlap {
  position: absolute;
  inset: 0;
  z-index: 7;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, rgba(139, 119, 101, 0.06) 0px, rgba(139, 119, 101, 0.06) 2px, transparent 2px, transparent 4px),
    repeating-linear-gradient(90deg, rgba(139, 119, 101, 0.06) 0px, rgba(139, 119, 101, 0.06) 2px, transparent 2px, transparent 4px),
    repeating-linear-gradient(45deg, rgba(160, 140, 120, 0.03) 0px, rgba(160, 140, 120, 0.03) 3px, transparent 3px, transparent 6px);
  mix-blend-mode: overlay;
}

.ag-contact__hero-content {
  position: relative;
  z-index: 10;
  padding: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(85vh, 720px);
}

.ag-contact__hero-grid {
  max-width: 80rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .ag-contact__hero-grid {
    grid-template-columns: 1.2fr 0.8fr;
    gap: 2.5rem;
  }
}

.ag-contact__hero-left {
  text-align: left;
}

.ag-contact__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: 2rem;
  color: var(--color-gold-500);
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 1rem;
}

.ag-contact__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 1rem;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
  letter-spacing: -0.02em;
  display: block;
  overflow: visible;
}

.ag-contact__title-gradient {
  display: block;
  background: linear-gradient(135deg, #f59e0b 0%, #fb923c 40%, #fbbf24 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  overflow: visible;
  line-height: inherit;
}

.ag-contact__description {
  font-family: var(--font-body);
  font-size: clamp(1rem, 2vw, 1.125rem);
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin-bottom: 1.5rem;
  max-width: 40rem;
}

/* Override to match homepage hero styling */
.ag-contact__eyebrow {
  font-family: var(--ag-font-handwritten, 'Caveat', cursive);
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff;
  text-transform: none;
  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.6),
    0 0 40px rgba(246, 185, 0, 0.25);
  display: inline-block;
  position: relative;
  margin: 0 0 0 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
}

.ag-contact__eyebrow::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #F6B900, transparent);
  border-radius: 2px;
}

.ag-contact__title {
  font-size: clamp(3.5rem, 7vw, 4.9rem);
  font-weight: 300;
  letter-spacing: -0.045em;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  margin-bottom: 1rem;
}

.ag-contact__description {
  font-size: clamp(1rem, 2vw, 1.55rem);
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #fff;
  max-width: 587px;
  margin-bottom: 1.25rem;
}

.ag-contact__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 2rem;
  background: linear-gradient(to right, var(--color-gold-500), var(--color-terra-500));
  color: #fff;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-button);
  box-shadow: var(--shadow-button);
  transition: all 0.3s ease;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.ag-contact__cta:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 20px rgba(245, 158, 11, 0.4);
}

.ag-contact__cta svg {
  transition: transform 0.3s ease;
}

.ag-contact__cta:hover svg {
  transform: translateX(4px);
}

/* Contact Cards */
.ag-contact__hero-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.ag-contact__hero-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.5);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

.ag-contact__hero-card:hover {
  transform: translateX(8px) translateY(-4px);
  background: rgba(15, 23, 42, 0.7);
  border-color: rgba(255, 255, 255, 0.2);
}

.ag-contact__card-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.ag-contact__hero-card--email .ag-contact__card-icon {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
}

.ag-contact__hero-card--phone .ag-contact__card-icon {
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

.ag-contact__hero-card--location .ag-contact__card-icon {
  background: rgba(199, 117, 75, 0.12);
  color: #c9754b;
}

.ag-contact__hero-card:hover .ag-contact__card-icon {
  transform: scale(1.1);
}

.ag-contact__card-content h3 {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 0.25rem 0;
}

.ag-contact__card-content p {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

.ag-contact__card-detail {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.25rem;
  display: block;
}

.ag-contact__hero-card--email .ag-contact__card-detail {
  color: #f59e0b;
}

.ag-contact__hero-card--phone .ag-contact__card-detail {
  color: #10b981;
}

.ag-contact__hero-card--location .ag-contact__card-detail {
  color: #c9754b;
}

/* ============================================================
   TRUST SECTION
   ============================================================ */

.ag-contact__trust {
  padding: clamp(2.5rem, 5vh, 4rem) 0;
  background: linear-gradient(to bottom, var(--color-cream-100), var(--color-gold-50), var(--color-cream-100));
  position: relative;
  overflow: hidden;
}

.ag-contact__trust::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 800px 600px at 50% 50%, rgba(250, 248, 245, 0.6) 0%, transparent 70%),
    radial-gradient(circle at 20% 30%, rgba(245, 158, 11, 0.15) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(30, 150, 100, 0.12) 0%, transparent 40%);
  opacity: 0.15;
  pointer-events: none;
}

.ag-contact__trust-header {
  text-align: center;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}

.ag-contact__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--color-gold-50);
  border: 1px solid var(--color-gold-200);
  border-radius: 2rem;
  margin-bottom: 1rem;
}

.ag-contact__trust-badge svg {
  width: 1rem;
  height: 1rem;
  color: var(--color-gold-600);
}

.ag-contact__trust-badge span {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-gold-700);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.ag-contact__trust-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: var(--color-forest-900);
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}

.ag-contact__trust-subtitle {
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  color: #2d3748;
  max-width: 40rem;
  margin: 0 auto;
}

.ag-contact__trust-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.ag-contact__stat {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(245, 243, 240, 0.9) 100%);
  border: 2px solid;
  border-radius: var(--radius-card);
  padding: 1.5rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.ag-contact__stat::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.ag-contact__stat--gold::before {
  background: linear-gradient(to right, var(--color-gold-400), var(--color-gold-500), transparent);
}

.ag-contact__stat--forest::before {
  background: linear-gradient(to right, var(--color-forest-200), var(--color-forest-500), transparent);
}

.ag-contact__stat--terra::before {
  background: linear-gradient(to right, var(--color-terra-200), var(--color-terra-500), transparent);
}

.ag-contact__stat:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-card-hover);
}

.ag-contact__stat-label {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-forest-700);
  margin-bottom: 0.5rem;
}

.ag-contact__stat-number {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.5rem;
}

.ag-contact__stat--gold .ag-contact__stat-number {
  color: var(--color-gold-700);
}

.ag-contact__stat--forest .ag-contact__stat-number {
  color: var(--color-forest-700);
}

.ag-contact__stat--terra .ag-contact__stat-number {
  color: var(--color-terra-600);
}

.ag-contact__stat-slash {
  font-size: 1.5rem;
  color: var(--color-ink-300);
}

.ag-contact__stat-stars {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
}

.ag-contact__stat-stars svg {
  width: 1rem;
  height: 1rem;
  fill: var(--color-gold-500);
}

.ag-contact__stat-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--color-gold-50);
  border: 1px solid var(--color-gold-200);
  border-radius: 2rem;
  margin-top: 0.5rem;
}

.ag-contact__stat-icon svg {
  width: 1rem;
  height: 1rem;
  fill: var(--color-gold-600);
}

.ag-contact__stat-icon span {
  font-family: var(--font-ui);
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--color-gold-700);
  text-transform: uppercase;
}

/* ============================================================
   MAIN CONTENT SECTION
   ============================================================ */

.ag-contact__main {
  position: relative;
  padding: clamp(3rem, 6vh, 4rem) 0;
  background: var(--color-stone-50);
}

.ag-contact__watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  color: rgba(14, 62, 41, 0.03);
  font-weight: 700;
  pointer-events: none;
  white-space: nowrap;
}

.ag-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .ag-contact__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2.5rem;
  }
}

/* Sidebar */
.ag-contact__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ag-contact__team-card,
.ag-contact__farm-card {
  background: linear-gradient(135deg, #fff 0%, var(--color-cream-100) 100%);
  border: 2px solid var(--color-stone-200);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.ag-contact__team-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-forest-500);
}

.ag-contact__farm-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-terra-500);
}

.ag-contact__team-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-forest-100), var(--color-forest-200));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: var(--color-forest-700);
}

.ag-contact__team-icon--terra {
  background: linear-gradient(135deg, var(--color-terra-100), var(--color-terra-200));
  color: var(--color-terra-700);
}

.ag-contact__team-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-forest-900);
  text-align: center;
  margin: 0 0 0.5rem 0;
}

.ag-contact__team-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: var(--color-gold-50);
  border: 1px solid var(--color-gold-200);
  border-radius: 2rem;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-gold-700);
}

.ag-contact__team-badge--terra {
  background: var(--color-terra-50);
  border-color: var(--color-terra-200);
  color: var(--color-terra-700);
}

.ag-contact__team-quote {
  font-family: var(--font-body);
  font-style: italic;
  color: #2d3748;
  font-size: 0.9rem;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 1rem 0;
  padding-top: 1rem;
  border-top: 2px solid var(--color-stone-200);
}

.ag-contact__team-founder {
  font-weight: 700;
  color: var(--color-forest-800);
  text-align: center;
  font-size: 1rem;
  margin: 0;
}

.ag-contact__team-founder span {
  display: block;
  font-size: 0.9rem;
  color: #2d3748;
  font-weight: 400;
  margin-top: 0.15rem;
}

.ag-contact__farm-description {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #2d3748;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 1rem 0;
}

.ag-contact__farm-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: var(--color-forest-900);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-button);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.ag-contact__farm-cta:hover {
  background: var(--color-forest-800);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.ag-contact__farm-cta svg {
  width: 1rem;
  height: 1rem;
}

/* Form */
.ag-contact__form-wrapper {
  background: linear-gradient(135deg, #fff 0%, var(--color-cream-100) 100%);
  border: 2px solid var(--color-stone-200);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
}

.ag-contact__form-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, var(--color-forest-500), var(--color-gold-400), var(--color-terra-500));
}

.ag-contact__form-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.ag-contact__form-icon {
  font-size: 2rem;
}

.ag-contact__form-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-forest-900);
  margin: 0;
}

.ag-contact__form-subtitle {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #2d3748;
  margin: 0;
}

.ag-contact__trust-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(to right, var(--color-forest-50), rgba(14, 62, 41, 0.05));
  border: 1px solid var(--color-forest-200);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}

.ag-contact__trust-notice svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-forest-600);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.ag-contact__trust-notice span {
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: var(--color-forest-700);
  line-height: 1.4;
}

/* Fields */
.ag-contact__fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ag-contact__field-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.ag-contact__field {
  display: flex;
  flex-direction: column;
}

.ag-contact__label {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-forest-800);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.ag-contact__input,
.ag-contact__textarea,
.ag-contact__select {
  width: 100%;
  padding: 0.875rem 1rem;
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-ink-900);
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid var(--color-stone-200);
  border-radius: var(--radius-input);
  transition: all 0.3s ease;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.ag-contact__input:hover,
.ag-contact__textarea:hover,
.ag-contact__select:hover {
  border-color: var(--color-stone-300);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.ag-contact__input:focus,
.ag-contact__textarea:focus,
.ag-contact__select:focus {
  outline: none;
  border-color: var(--color-gold-500);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.25);
}

.ag-contact__input--error,
.ag-contact__textarea--error {
  border-color: var(--color-error-400);
}

.ag-contact__input--error:focus,
.ag-contact__textarea--error:focus {
  border-color: var(--color-error-500);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25);
}

.ag-contact__select-wrapper {
  position: relative;
}

.ag-contact__select {
  appearance: none;
  padding-right: 2.5rem;
  cursor: pointer;
}

.ag-contact__select-arrow {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--color-forest-600);
}

.ag-contact__textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.5;
}

/* Actions */
.ag-contact__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
}

@media (min-width: 640px) {
  .ag-contact__actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.ag-contact__submit {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: linear-gradient(to right, var(--color-gold-500), var(--color-gold-600));
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.95rem;
  font-weight: 700;
  border: none;
  border-radius: var(--radius-button);
  cursor: pointer;
  box-shadow: var(--shadow-button);
  transition: all 0.3s ease;
}

.ag-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(245, 158, 11, 0.35);
}

.ag-contact__submit-arrow {
  font-size: 1rem;
}

.ag-contact__response-time {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #2d3748;
}

.ag-contact__response-time svg {
  width: 1rem;
  height: 1rem;
  color: var(--color-gold-500);
}

/* Success */
.ag-contact__success {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: linear-gradient(135deg, var(--color-success-50), var(--color-forest-50));
  border: 2px solid var(--color-success-200);
  border-radius: var(--radius-card);
  margin-bottom: 1rem;
}

.ag-contact__success-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-success-500);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

.ag-contact__success-title {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-forest-900);
  margin: 0 0 0.25rem 0;
}

.ag-contact__success-text {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: var(--color-forest-700);
  line-height: 1.5;
  margin: 0;
}

/* Errors */
.ag-contact__errors {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: linear-gradient(135deg, var(--color-error-50), var(--color-warning-50));
  border: 2px solid var(--color-error-200);
  border-radius: var(--radius-card);
  margin-bottom: 1rem;
}

.ag-contact__error-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-error-500);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

.ag-contact__error-title {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-error-900);
  margin: 0 0 0.5rem 0;
}

.ag-contact__error-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ag-contact__error-list li {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: var(--color-error-700);
  padding-left: 1rem;
  position: relative;
}

.ag-contact__error-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--color-error-500);
}

/* Quick Contact */
.ag-contact__quick-contact {
  padding-top: 1rem;
  border-top: 2px solid var(--color-stone-200);
}

.ag-contact__quick-label {
  font-family: var(--font-ui);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-forest-800);
  text-align: center;
  margin-bottom: 0.75rem;
}

.ag-contact__quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.75rem;
}

.ag-contact__quick-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, var(--color-forest-50), rgba(14, 62, 41, 0.05));
  border: 2px solid var(--color-forest-200);
  border-radius: 0.5rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

.ag-contact__quick-link:hover {
  transform: translateY(-2px);
  border-color: var(--color-forest-400);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.ag-contact__quick-link--phone {
  border-color: var(--color-forest-200);
}

.ag-contact__quick-link--messenger {
  border-color: var(--color-blue-200);
}

.ag-contact__quick-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ag-contact__quick-link--phone .ag-contact__quick-icon {
  background: var(--color-forest-600);
  color: #fff;
}

.ag-contact__quick-link--messenger .ag-contact__quick-icon {
  background: var(--color-blue-600);
  color: #fff;
}

.ag-contact__quick-title {
  font-family: var(--font-ui);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-forest-900);
}

.ag-contact__quick-link--messenger .ag-contact__quick-title {
  color: #1e3a5f;
}

.ag-contact__quick-detail {
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: var(--color-forest-600);
}

/* ============================================================
   LOCATIONS SECTION
   ============================================================ */

.ag-contact__locations {
  padding: clamp(3rem, 6vh, 4rem) 0;
  background: var(--color-stone-50);
}

.ag-contact__locations-header {
  text-align: center;
  margin-bottom: 2rem;
}

.ag-contact__locations-icon {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
}

.ag-contact__locations-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: var(--color-forest-900);
  margin-bottom: 0.75rem;
}

.ag-contact__locations-subtitle {
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  color: #2d3748;
  max-width: 40rem;
  margin: 0 auto;
}

.ag-contact__locations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.75rem;
}

.ag-contact__location-card {
  background: linear-gradient(135deg, #fff 0%, var(--color-cream-100) 100%);
  border: 2px solid var(--color-stone-200);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: all 0.3s ease;
}

.ag-contact__location-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.ag-contact__location-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  color: var(--color-forest-700);
}

.ag-contact__location-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-forest-900);
  margin: 0 0 0.5rem 0;
}

.ag-contact__location-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: var(--color-gold-50);
  border: 1px solid var(--color-gold-200);
  border-radius: 2rem;
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-gold-700);
}

.ag-contact__location-badge--terra {
  background: var(--color-terra-50);
  border-color: var(--color-terra-200);
  color: var(--color-terra-700);
}

.ag-contact__location-address {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #2d3748;
  line-height: 1.5;
  margin: 0 0 1rem 0;
}

.ag-contact__location-note {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: #2d3748;
  line-height: 1.5;
  margin: 0 0 1rem 0;
}

.ag-contact__location-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: var(--color-forest-900);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-button);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.ag-contact__location-cta:hover {
  background: var(--color-forest-800);
  transform: translateY(-1px);
}

.ag-contact__location-cta svg {
  width: 0.875rem;
  height: 0.875rem;
}

/* ============================================================
   FAQ SECTION
   ============================================================ */

.ag-contact__faq {
  background: var(--color-stone-50);
  padding: clamp(2rem, 4vh, 3rem) 0;
}

.ag-contact__faq-header {
  text-align: center;
  margin-bottom: 2rem;
}

.ag-contact__faq-icon {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
}

.ag-contact__faq-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--color-forest-900);
  margin-bottom: 0.5rem;
}

.ag-contact__faq-subtitle {
  font-family: var(--font-body);
  font-size: clamp(0.9rem, 2vw, 1rem);
  color: #2d3748;
  max-width: 35rem;
  margin: 0 auto 1.5rem;
}

.ag-contact__faq-list {
  max-width: 48rem;
  margin: 0 auto;
}

.ag-contact__faq-item {
  background: #fff;
  border: 2px solid var(--color-stone-200);
  border-radius: var(--radius-card);
  margin-bottom: 0.75rem;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.ag-contact__faq-item[open] {
  box-shadow: var(--shadow-card-hover);
}

.ag-contact__faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 1.25rem;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-forest-900);
  cursor: pointer;
  user-select: none;
  list-style: none;
  margin: 0;
  transition: color 0.3s ease;
}

.ag-contact__faq-question:hover {
  color: var(--color-gold-500);
}

.ag-contact__faq-question svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-ink-400);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.ag-contact__faq-item[open] .ag-contact__faq-question svg {
  transform: rotate(180deg);
}

.ag-contact__faq-answer {
  padding: 0 1.25rem 1.25rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #2d3748;
  line-height: 1.6;
}

.ag-contact__faq-footer {
  text-align: center;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-stone-300);
}

.ag-contact__faq-footer p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #2d3748;
  margin: 0 0 0.5rem 0;
}

.ag-contact__faq-cta {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: var(--color-forest-900);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--radius-button);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.ag-contact__faq-cta:hover {
  background: var(--color-forest-800);
  transform: translateY(-1px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 767px) {
  .ag-contact__hero-grid {
    text-align: center;
  }

  .ag-contact__hero-left {
    order: 1;
    text-align: center;
  }

  .ag-contact__description {
    margin-left: auto;
    margin-right: auto;
  }

  .ag-contact__hero-cards {
    order: 2;
  }

  .ag-contact__trust-stats {
    grid-template-columns: 1fr;
  }

  .ag-contact__locations-grid {
    grid-template-columns: 1fr;
  }
}


/* CONTACT PAGE ORGANIZATION PASS */
.ag-contact-page .ag-trust-section__intro {
  align-items: start;
}

@media (min-width: 980px) {
  .ag-contact-page .ag-trust-section__intro {
    grid-template-columns: minmax(0, 1.06fr) minmax(18rem, 0.94fr);
    gap: 1.6rem 2rem;
  }
}

.ag-contact-page .ag-trust-panel {
  display: grid;
  gap: 0.95rem;
  align-self: start;
  padding: 1.35rem 1.35rem 1.25rem;
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.9), rgba(244, 235, 223, 0.82));
  border: 1px solid rgba(122, 91, 53, 0.14);
  border-radius: 1.2rem;
  box-shadow: 0 14px 28px rgba(70, 49, 25, 0.06);
}

.ag-contact-page .ag-trust-panel__eyebrow {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7a5a33;
}

.ag-contact-page .ag-trust-panel__items {
  display: grid;
  gap: 0.8rem;
}

.ag-contact-page .ag-trust-panel__item {
  display: grid;
  gap: 0.3rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(122, 91, 53, 0.12);
}

.ag-contact-page .ag-trust-panel__item:first-child {
  padding-top: 0;
  border-top: none;
}

.ag-contact-page .ag-trust-panel__item--accent {
  color: #173a28;
}

.ag-contact-page .ag-trust-panel__label {
  font-family: 'Fraunces', serif;
  font-size: 1.04rem;
  color: #173a28;
}

.ag-contact-page .ag-trust-panel__item p {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.62;
  color: #4b4136;
}

.ag-contact-page .ag-trust-grid {
  gap: 1rem;
  align-items: stretch;
}

.ag-contact-page a.ag-trust-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
}

.ag-contact-page .ag-trust-card__action {
  margin-top: 1rem;
  padding-top: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  border-top: 1px dashed rgba(122, 91, 53, 0.2);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #173a28;
}

.ag-contact-page .ag-trust-card__action svg {
  flex: 0 0 auto;
  transition: transform 0.25s ease;
}

.ag-contact-page .ag-trust-card:hover .ag-trust-card__action svg {
  transform: translateX(3px);
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-trust-card--gold,
  .ag-contact-page .ag-trust-card--forest,
  .ag-contact-page .ag-trust-card--terra {
    margin-top: 0;
    transform: none;
  }

  .ag-contact-page .ag-trust-card--gold:hover,
  .ag-contact-page .ag-trust-card--forest:hover,
  .ag-contact-page .ag-trust-card--terra:hover {
    transform: translateY(-6px);
  }
}

.ag-contact-page .ag-contact-form-section__grid {
  gap: clamp(1.75rem, 4vw, 3rem);
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-form-section__grid {
    grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
  }
}

.ag-contact-page .ag-contact-sidebar {
  gap: 0.9rem;
  padding-left: 0;
}

.ag-contact-page .ag-contact-sidebar::before {
  content: none;
}

.ag-contact-page .ag-contact-brief {
  padding: 0 0 1rem;
  margin-bottom: 0.1rem;
  border-bottom: 1px solid rgba(122, 91, 53, 0.14);
}

.ag-contact-page .ag-contact-brief::after {
  display: none;
}

.ag-contact-page .ag-contact-sidebar-card {
  padding: 1.25rem 1.25rem 1.2rem;
  border-radius: 1.05rem;
}

.ag-contact-page .ag-contact-sidebar-card::after {
  inset: 0.85rem;
  border-radius: 0.72rem;
}

.ag-contact-page .ag-contact-sidebar-card--directory {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.94), rgba(243, 235, 224, 0.9));
}

.ag-contact-page .ag-contact-sidebar-card--note {
  background: linear-gradient(180deg, rgba(249, 245, 238, 0.96), rgba(239, 231, 220, 0.9));
}

.ag-contact-page .ag-contact-desk-list {
  display: grid;
  gap: 0.85rem;
}

.ag-contact-page .ag-contact-desk-item {
  display: grid;
  gap: 0.45rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(122, 91, 53, 0.12);
}

.ag-contact-page .ag-contact-desk-item:first-child {
  padding-top: 0;
  border-top: none;
}

.ag-contact-page .ag-contact-desk-item__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem 0.75rem;
}

.ag-contact-page .ag-contact-desk-item__title {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-size: 1.08rem;
  color: #173a28;
}

.ag-contact-page .ag-contact-desk-item__meta {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a6e63;
}

.ag-contact-page .ag-contact-desk-item__text {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.62;
  color: #4b4136;
}

.ag-contact-page .ag-contact-desk-item__link {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  color: #173a28;
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ag-contact-page .ag-contact-desk-item__link:hover {
  color: #8a6128;
}

.ag-contact-page .ag-form-header {
  margin-bottom: 1.2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(122, 91, 53, 0.12);
}

.ag-contact-page .ag-form-helper {
  margin: 0.65rem 0.15rem 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  line-height: 1.55;
  color: #6b6156;
}

.ag-contact-page .ag-trust-notice {
  margin-bottom: 1.15rem;
}

.ag-contact-page .ag-quick-contact {
  display: grid;
  gap: 0.85rem;
}

.ag-contact-page .ag-quick-contact__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 767px) {
  .ag-contact-page .ag-quick-contact__grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 900px) {
  .ag-contact-page .ag-location-card__highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 1rem;
  }
}

.ag-contact-page .ag-contact__faq-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem 1rem;
  text-align: left;
}

.ag-contact-page .ag-contact__faq-footer p {
  margin: 0;
}

.ag-contact-page .ag-contact__faq-footer p:first-child {
  flex: 1 1 16rem;
}

.ag-contact-page .ag-contact__faq-footer p:last-child {
  flex: 1 1 18rem;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact__faq-footer {
    text-align: center;
    justify-content: center;
  }
}

/* CONTACT BODY REDESIGN */
.ag-contact-page .ag-contact-body {
  position: relative;
  background: linear-gradient(180deg, #f1ebe2 0%, #f7f3ec 18%, #efe7dc 52%, #f6f2ea 100%);
  color: #1c3328;
}

.ag-contact-page .ag-contact-body__container {
  width: min(100% - 2rem, 78rem);
  margin: 0 auto;
}

.ag-contact-page .ag-contact-body__eyebrow {
  margin: 0 0 0.8rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7a5b33;
}

.ag-contact-page .ag-contact-body-intro,
.ag-contact-page .ag-contact-body-main,
.ag-contact-page .ag-contact-body-story,
.ag-contact-page .ag-contact-body-locations,
.ag-contact-page .ag-contact-body-faq {
  position: relative;
  padding: clamp(3.25rem, 6vw, 5.5rem) 0;
}

.ag-contact-page .ag-contact-body-intro {
  padding-top: clamp(2.4rem, 5vw, 4rem);
}

.ag-contact-page .ag-contact-body-intro::after,
.ag-contact-page .ag-contact-body-main::after,
.ag-contact-page .ag-contact-body-story::after,
.ag-contact-page .ag-contact-body-locations::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(78rem, calc(100% - 2rem));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(123, 95, 60, 0), rgba(123, 95, 60, 0.24), rgba(123, 95, 60, 0));
}

.ag-contact-page .ag-contact-body-intro__grid {
  display: grid;
  gap: 1.4rem;
  align-items: end;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-intro__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 2rem;
  }
}

.ag-contact-page .ag-contact-body-intro__title,
.ag-contact-page .ag-contact-body-main__title,
.ag-contact-page .ag-contact-body-story__title,
.ag-contact-page .ag-contact-body-section-head__title {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #153728;
  text-wrap: balance;
}

.ag-contact-page .ag-contact-body-intro__title {
  font-size: clamp(2rem, 4.8vw, 4rem);
  line-height: 0.96;
  max-width: 12ch;
}

.ag-contact-page .ag-contact-body-intro__text,
.ag-contact-page .ag-contact-body-main__text,
.ag-contact-page .ag-contact-body-section-head__text,
.ag-contact-page .ag-contact-body-story__side-copy,
.ag-contact-page .ag-contact-body-story__support-copy,
.ag-contact-page .ag-contact-body-location-card__copy,
.ag-contact-page .ag-contact-body-stat__copy,
.ag-contact-page .ag-contact-body-faq__answer p,
.ag-contact-page .ag-contact-body-faq__footer-text {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1.08rem;
  line-height: 1.72;
  color: #4d4338;
}

.ag-contact-page .ag-contact-body-intro__summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.8rem;
  margin-top: 1.3rem;
}

.ag-contact-page .ag-contact-body-intro__summary span {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(255, 251, 244, 0.86);
  border: 1px solid rgba(122, 91, 53, 0.14);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  color: #284233;
}

.ag-contact-page .ag-contact-body-intro__actions {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-intro__actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-contact-body-card {
  display: grid;
  gap: 0.6rem;
  align-content: start;
  min-height: 100%;
  padding: 1.35rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(123, 95, 60, 0.14);
  background: rgba(255, 252, 247, 0.9);
  box-shadow: 0 14px 30px rgba(56, 41, 24, 0.05);
  color: inherit;
  text-decoration: none;
  transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.ag-contact-page .ag-contact-body-card:hover {
  transform: translateY(-4px);
  border-color: rgba(23, 58, 40, 0.22);
  box-shadow: 0 18px 34px rgba(56, 41, 24, 0.08);
}

.ag-contact-page .ag-contact-body-card__icon {
  width: 2.8rem;
  height: 2.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.95rem;
  background: rgba(23, 58, 40, 0.08);
  color: #173a28;
}

.ag-contact-page .ag-contact-body-card--phone .ag-contact-body-card__icon {
  background: rgba(27, 87, 61, 0.1);
}

.ag-contact-page .ag-contact-body-card--visit .ag-contact-body-card__icon {
  background: rgba(176, 93, 52, 0.1);
}

.ag-contact-page .ag-contact-body-card__eyebrow,
.ag-contact-page .ag-contact-body-stat__label,
.ag-contact-page .ag-contact-body-main__expectation-label,
.ag-contact-page .ag-contact-body-main__subject-label,
.ag-contact-page .ag-contact-body-location-card__eyebrow,
.ag-contact-page .ag-contact-body-faq__footer-title {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a5b33;
}

.ag-contact-page .ag-contact-body-card__title,
.ag-contact-page .ag-contact-body-main__panel-title,
.ag-contact-page .ag-contact-body-main__guide-title,
.ag-contact-page .ag-contact-body-story__side-title,
.ag-contact-page .ag-contact-body-location-card__title,
.ag-contact-page .ag-contact-body-faq__question-copy {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-weight: 400;
  color: #173728;
}

.ag-contact-page .ag-contact-body-card__title {
  font-size: 1.28rem;
  line-height: 1.1;
}

.ag-contact-page .ag-contact-body-card__detail {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: #173728;
}

.ag-contact-page .ag-contact-body-card__meta {
  margin: auto 0 0;
  font-family: 'Crimson Text', serif;
  font-size: 0.98rem;
  line-height: 1.6;
  color: #5b4c3c;
}

.ag-contact-page .ag-contact-body-intro__stats {
  display: grid;
  gap: 1rem;
  margin-top: 1.35rem;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-intro__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-contact-body-stat {
  padding: 1.2rem 1.3rem 1.25rem;
  border-radius: 1.1rem;
  background: rgba(249, 245, 238, 0.88);
  border: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-stat__value {
  margin: 0.45rem 0 0.55rem;
  font-family: 'Fraunces', serif;
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  line-height: 0.95;
  color: #153728;
}

.ag-contact-page .ag-contact-body-main__grid,
.ag-contact-page .ag-contact-body-story__grid {
  display: grid;
  gap: 1.6rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-main__grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 2.1rem;
    align-items: start;
  }

  .ag-contact-page .ag-contact-body-story__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    gap: 1.6rem;
    align-items: start;
  }
}

.ag-contact-page .ag-contact-body-main__intro {
  display: grid;
  gap: 1.15rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-main__intro {
    position: sticky;
    top: 6.5rem;
  }
}

.ag-contact-page .ag-contact-body-main__title {
  font-size: clamp(1.95rem, 4.1vw, 3.4rem);
  line-height: 0.98;
  max-width: 12ch;
}

.ag-contact-page .ag-contact-body-main__expectations {
  display: grid;
  gap: 0.9rem;
}

.ag-contact-page .ag-contact-body-main__expectation {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(123, 95, 60, 0.12);
  background: rgba(255, 251, 245, 0.8);
}

.ag-contact-page .ag-contact-body-main__expectation strong {
  display: block;
  margin-top: 0.28rem;
  font-family: 'Fraunces', serif;
  font-size: 1.14rem;
  font-weight: 400;
  color: #173728;
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__support {
  padding: 1.2rem 1.25rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(123, 95, 60, 0.12);
  background: rgba(255, 252, 247, 0.76);
}

.ag-contact-page .ag-contact-body-main__guide-title,
.ag-contact-page .ag-contact-body-story__side-title {
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.08;
}

.ag-contact-page .ag-contact-body-main__guide-list,
.ag-contact-page .ag-contact-body-story__list,
.ag-contact-page .ag-contact-body-location-card__list {
  list-style: none;
  margin: 0.9rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.ag-contact-page .ag-contact-body-main__guide-list li,
.ag-contact-page .ag-contact-body-story__list li,
.ag-contact-page .ag-contact-body-location-card__list li {
  position: relative;
  padding-left: 1rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #324338;
}

.ag-contact-page .ag-contact-body-main__guide-list li::before,
.ag-contact-page .ag-contact-body-story__list li::before,
.ag-contact-page .ag-contact-body-location-card__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62rem;
  width: 0.45rem;
  height: 1px;
  background: currentColor;
}

.ag-contact-page .ag-contact-body-main__subject-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.8rem;
}

.ag-contact-page .ag-contact-body-main__subject {
  padding: 0.72rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(123, 95, 60, 0.16);
  background: rgba(255, 252, 247, 0.9);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #173728;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__subject:hover,

.ag-contact-page .ag-contact-body-main__subject:hover {
  transform: translateY(-1px);
}

.ag-contact-page .ag-contact-body-main__panel {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 1.45rem;
  border: 1px solid rgba(123, 95, 60, 0.16);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(248, 241, 231, 0.96));
  box-shadow: 0 24px 40px rgba(56, 41, 24, 0.08);
}

.ag-contact-page .ag-contact-body-main__panel::before {
  content: '';
  position: absolute;
  inset: 0.9rem;
  border-radius: 1rem;
  border: 1px solid rgba(123, 95, 60, 0.12);
  pointer-events: none;
}

.ag-contact-page .ag-contact-body-main__panel-head,
.ag-contact-page .ag-contact-body-main__panel-title-wrap {
  display: grid;
  gap: 0.4rem;
}

.ag-contact-page .ag-contact-body-main__panel-head {
  position: relative;
  z-index: 1;
  margin-bottom: 1.3rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(123, 95, 60, 0.12);
}


.ag-contact-page .ag-contact-body-main__notice {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: rgba(235, 244, 237, 0.92);
  border: 1px solid rgba(23, 90, 62, 0.14);
  color: #1f5d42;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.82rem;
  line-height: 1.6;
}

.ag-contact-page .ag-contact-body-form,
.ag-contact-page .ag-contact-body-main__direct {
  position: relative;
  z-index: 1;
}

.ag-contact-page .ag-contact-body-form .ag-form-row {
  display: grid;
  gap: 1rem;
}

@media (min-width: 700px) {
  .ag-contact-page .ag-contact-body-form .ag-form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  display: grid;
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-field {
  display: grid;
  gap: 0.52rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #635749;
}

.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact-body-form .ag-form-select,
.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(123, 95, 60, 0.18);
  background: rgba(255, 252, 247, 0.95);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  color: #173728;
}

.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 11rem;
  resize: vertical;
}

.ag-contact-page .ag-contact-body-form .ag-form-input:focus,
.ag-contact-page .ag-contact-body-form .ag-form-select:focus,

.ag-contact-page .ag-contact-body-main__field-help {
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  line-height: 1.55;
  color: #6b6156;
}

.ag-contact-page .ag-contact-body-form .ag-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  align-items: center;
  margin-top: 1.25rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit,
.ag-contact-page .ag-contact-body-faq__footer-cta,
.ag-contact-page .ag-contact-body-story__cta,
.ag-contact-page .ag-contact-body-location-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.82rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(23, 58, 40, 0.15);
  background: #173728;
  color: #fff;
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit:hover,
.ag-contact-page .ag-contact-body-faq__footer-cta:hover,
.ag-contact-page .ag-contact-body-story__cta:hover,
.ag-contact-page .ag-contact-body-location-card__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(23, 58, 40, 0.15);
  color: #fff;
}

.ag-contact-page .ag-contact-body-form .ag-form-response {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.84rem;
  color: #65594c;
}

.ag-contact-page .ag-contact-body-form .ag-form-success,
.ag-contact-page .ag-contact-body-form .ag-form-errors {
  margin-bottom: 1rem;
  border-radius: 1rem;
}

.ag-contact-page .ag-contact-body-main__direct {
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-main__direct-label {
  margin: 0 0 0.8rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a5b33;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-main__direct-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-contact-body-main__direct-card {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(123, 95, 60, 0.12);
  background: rgba(255, 252, 247, 0.72);
  text-decoration: none;
  color: inherit;
}

.ag-contact-page .ag-contact-body-main__direct-title {
  font-family: 'Fraunces', serif;
  font-size: 1.05rem;
  color: #173728;
}

.ag-contact-page .ag-contact-body-main__direct-copy {
  font-family: 'Crimson Text', serif;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #56483a;
}

.ag-contact-page .ag-contact-body-story {
  background: linear-gradient(180deg, rgba(248, 243, 236, 0.88), rgba(239, 232, 221, 0.75));
}

.ag-contact-page .ag-contact-body-story__quote,
.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-location-card,
.ag-contact-page .ag-contact-body-faq__item,
.ag-contact-page .ag-contact-body-faq__footer {
  border-radius: 1.3rem;
  border: 1px solid rgba(123, 95, 60, 0.13);
  background: rgba(255, 252, 247, 0.86);
  box-shadow: 0 14px 26px rgba(56, 41, 24, 0.05);
}

.ag-contact-page .ag-contact-body-story__quote {
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.ag-contact-page .ag-contact-body-story__title {
  font-size: clamp(1.85rem, 3.6vw, 3rem);
  line-height: 0.98;
  max-width: 14ch;
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  margin: 1.25rem 0 0;
  font-family: 'Crimson Text', serif;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  line-height: 1.6;
  color: #173728;
}

.ag-contact-page .ag-contact-body-story__signature {
  margin: 1.2rem 0 0;
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  color: #173728;
}

.ag-contact-page .ag-contact-body-story__signature span {
  display: block;
  margin-top: 0.25rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a6e63;
}

.ag-contact-page .ag-contact-body-story__side {
  display: grid;
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-story__support {
  padding: 1.35rem;
}

.ag-contact-page .ag-contact-body-story__cta {
  margin-top: 1rem;
  background: transparent;
  color: #173728;
}

.ag-contact-page .ag-contact-body-story__cta:hover {
  background: #173728;
}

.ag-contact-page .ag-contact-body-section-head {
  display: grid;
  gap: 0.8rem;
  max-width: 42rem;
  margin-bottom: 1.5rem;
}

.ag-contact-page .ag-contact-body-section-head__title {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: 0.98;
  max-width: 14ch;
}

.ag-contact-page .ag-contact-body-locations__grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 900px) {
  .ag-contact-page .ag-contact-body-locations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ag-contact-page .ag-contact-body-location-card {
  display: grid;
  gap: 0.85rem;
  padding: clamp(1.4rem, 3vw, 2rem);
}


.ag-contact-page .ag-contact-body-location-card__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.7rem;
  align-items: baseline;
}

.ag-contact-page .ag-contact-body-location-card__title {
  font-size: clamp(1.35rem, 2.2vw, 1.95rem);
  line-height: 1.02;
}

.ag-contact-page .ag-contact-body-location-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(23, 58, 40, 0.08);
  border: 1px solid rgba(23, 58, 40, 0.1);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #173728;
}


.ag-contact-page .ag-contact-body-location-card__address {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-size: 1.04rem;
  line-height: 1.5;
  color: #244031;
}

.ag-contact-page .ag-contact-body-location-card__cta {
  justify-self: start;
  background: transparent;
  color: #173728;
}

.ag-contact-page .ag-contact-body-location-card__cta:hover {
  background: #173728;
}

.ag-contact-page .ag-contact-body-locations__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-locations__footer p {
  margin: 0;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  color: #55473a;
}

.ag-contact-page .ag-contact-body-locations__footer-link {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #173728;
  text-decoration: none;
}

.ag-contact-page .ag-contact-body-faq__list {
  display: grid;
  gap: 0.85rem;
}

.ag-contact-page .ag-contact-body-faq__item {
  overflow: clip;
}

.ag-contact-page .ag-contact-body-faq__question {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.9rem;
  align-items: center;
  padding: 1.15rem 1.2rem;
  cursor: pointer;
  list-style: none;
}

.ag-contact-page .ag-contact-body-faq__question::-webkit-details-marker {
  display: none;
}

.ag-contact-page .ag-contact-body-faq__index {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(23, 58, 40, 0.08);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: #173728;
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  line-height: 1.25;
}

.ag-contact-page .ag-contact-body-faq__question svg {
  color: #6f655d;
  transition: transform 0.2s ease;
}

.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__question svg {
  transform: rotate(180deg);
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0 1.2rem 1.2rem 4.1rem;
  border-top: 1px solid rgba(123, 95, 60, 0.1);
}

.ag-contact-page .ag-contact-body-faq__answer p {
  margin-top: 0.9rem;
}

.ag-contact-page .ag-contact-body-faq__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.35rem;
  padding: 1.25rem 1.35rem;
}

.ag-contact-page .ag-contact-body-faq__footer-copy {
  display: grid;
  gap: 0.35rem;
  max-width: 34rem;
}

.ag-contact-page .ag-contact-body-faq__footer-cta {
  background: transparent;
  color: #173728;
}

.ag-contact-page .ag-contact-body-faq__footer-cta:hover {
  background: #173728;
}

.ag-contact-page .ag-contact-body-card:focus-visible,
.ag-contact-page .ag-contact-body-main__subject:focus-visible,
.ag-contact-page .ag-contact-body-main__direct-card:focus-visible,
.ag-contact-page .ag-contact-body-story__cta:focus-visible,
.ag-contact-page .ag-contact-body-location-card__cta:focus-visible,
.ag-contact-page .ag-contact-body-locations__footer-link:focus-visible,
.ag-contact-page .ag-contact-body-faq__footer-cta:focus-visible,
.ag-contact-page .ag-contact-body-form .ag-form-submit:focus-visible,
.ag-contact-page .ag-contact-body-form .ag-form-input:focus-visible,
.ag-contact-page .ag-contact-body-form .ag-form-select:focus-visible,
.ag-contact-page .ag-contact-body-form .ag-form-textarea:focus-visible {
  outline: 2px solid #c38738;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body__container {
    width: min(100% - 1.25rem, 78rem);
  }

  .ag-contact-page .ag-contact-body-intro__title,
  .ag-contact-page .ag-contact-body-main__title,
  .ag-contact-page .ag-contact-body-story__title,
  .ag-contact-page .ag-contact-body-section-head__title {
    max-width: none;
  }

  .ag-contact-page .ag-contact-body-form .ag-form-actions,
  .ag-contact-page .ag-contact-body-locations__footer,
  .ag-contact-page .ag-contact-body-faq__footer {
    align-items: stretch;
  }

  .ag-contact-page .ag-contact-body-faq__answer {
    padding-left: 1.2rem;
  }
}

/* CONTACT BODY POLISH PASS */
.ag-contact-page .ag-contact-body {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 243, 217, 0.58), transparent 20%),
    radial-gradient(circle at 86% 24%, rgba(20, 55, 40, 0.06), transparent 18%),
    linear-gradient(180deg, #f2ece3 0%, #f8f3ec 16%, #efe7dc 52%, #f6f1e8 100%);
}

.ag-contact-page .ag-contact-body-intro {
  background:
    linear-gradient(180deg, rgba(255, 252, 248, 0.28), rgba(255, 252, 248, 0)),
    transparent;
}

.ag-contact-page .ag-contact-body-intro__grid {
  gap: 1.1rem 1.75rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-intro__grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  }
}

.ag-contact-page .ag-contact-body-intro__copy {
  padding-bottom: 0.2rem;
}

.ag-contact-page .ag-contact-body-intro__text {
  max-width: 31rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-intro__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ag-contact-page .ag-contact-body-card--email {
    grid-column: 1 / -1;
    padding: 1.5rem 1.55rem;
    background: linear-gradient(180deg, rgba(255, 253, 249, 0.96), rgba(248, 241, 231, 0.92));
  }
}

.ag-contact-page .ag-contact-body-card {
  position: relative;
  overflow: hidden;
  gap: 0.7rem;
  border-radius: 1.35rem;
}

.ag-contact-page .ag-contact-body-card::before {
  content: '';
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  top: 0.85rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(123, 95, 60, 0.24), rgba(123, 95, 60, 0));
  pointer-events: none;
}

.ag-contact-page .ag-contact-body-card__detail {
  font-size: 0.88rem;
  letter-spacing: 0.03em;
}

.ag-contact-page .ag-contact-body-card__meta {
  max-width: 28ch;
}

.ag-contact-page .ag-contact-body-intro__stats {
  gap: 0;
  margin-top: 1.15rem;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid rgba(123, 95, 60, 0.12);
  background: rgba(249, 245, 238, 0.8);
}

.ag-contact-page .ag-contact-body-stat {
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(123, 95, 60, 0.12);
  border-radius: 0;
}

.ag-contact-page .ag-contact-body-stat:first-child {
  border-top: 0;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-stat {
    border-top: 0;
    border-left: 1px solid rgba(123, 95, 60, 0.12);
  }

  .ag-contact-page .ag-contact-body-stat:first-child {
    border-left: 0;
  }
}

.ag-contact-page .ag-contact-body-main {
  background:
    radial-gradient(circle at 82% 12%, rgba(21, 55, 40, 0.06), transparent 16%),
    linear-gradient(180deg, rgba(248, 243, 235, 0.42), rgba(248, 243, 235, 0));
}

.ag-contact-page .ag-contact-body-main__intro {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-main__expectations {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 699px) {
  .ag-contact-page .ag-contact-body-main__expectations {
    grid-template-columns: 1fr;
  }
}

.ag-contact-page .ag-contact-body-main__expectation {
  min-height: 100%;
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.9), rgba(246, 239, 228, 0.78));
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__support {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.88), rgba(247, 240, 230, 0.76));
}

.ag-contact-page .ag-contact-body-main__subject-grid {
  gap: 0.6rem;
}

.ag-contact-page .ag-contact-body-main__subject {
  padding: 0.7rem 0.9rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.ag-contact-page .ag-contact-body-main__panel {
  border-radius: 1.55rem;
  box-shadow: 0 26px 44px rgba(56, 41, 24, 0.09);
}

.ag-contact-page .ag-contact-body-main__panel::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), transparent 28%);
  pointer-events: none;
}

@media (min-width: 900px) {
  .ag-contact-page .ag-contact-body-main__panel-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1rem;
  }

  .ag-contact-page .ag-contact-body-main__notice {
    max-width: 19rem;
  }
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  gap: 1.05rem;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  gap: 0.75rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  position: relative;
  min-height: 100%;
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__direct-card::before {
  content: '';
  position: absolute;
  left: 1rem;
  right: 1rem;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(23, 58, 40, 0.22), rgba(23, 58, 40, 0));
}

.ag-contact-page .ag-contact-body-main__direct-card:hover {
  transform: translateY(-2px);
  border-color: rgba(23, 58, 40, 0.18);
  background: rgba(255, 253, 249, 0.92);
}

.ag-contact-page .ag-contact-body-story {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 242, 215, 0.32), transparent 18%),
    linear-gradient(180deg, rgba(244, 238, 230, 0.9), rgba(237, 229, 217, 0.78));
}

.ag-contact-page .ag-contact-body-story__quote {
  position: relative;
  overflow: hidden;
  padding: clamp(1.7rem, 3.4vw, 2.5rem);
}

.ag-contact-page .ag-contact-body-story__quote::before {
  content: '\201C';
  position: absolute;
  right: 1.25rem;
  top: 0.65rem;
  font-family: 'Fraunces', serif;
  font-size: clamp(4rem, 9vw, 6rem);
  line-height: 1;
  color: rgba(23, 58, 40, 0.08);
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  max-width: 26ch;
}


.ag-contact-page .ag-contact-body-story__support {
  border-style: dashed;
}

.ag-contact-page .ag-contact-body-section-head {
  margin-bottom: 1.25rem;
}

.ag-contact-page .ag-contact-body-locations {
  background: linear-gradient(180deg, rgba(249, 245, 238, 0.34), rgba(249, 245, 238, 0));
}

.ag-contact-page .ag-contact-body-location-card {
  align-content: start;
  min-height: 100%;
  gap: 0.9rem;
  border-radius: 1.35rem;
}

.ag-contact-page .ag-contact-body-location-card__address {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-location-card__cta {
  margin-top: auto;
}

.ag-contact-page .ag-contact-body-faq__list {
  gap: 0.75rem;
}


.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.2rem 1.25rem;
}

.ag-contact-page .ag-contact-body-faq__question:hover {
  background: rgba(255, 252, 247, 0.65);
}

.ag-contact-page .ag-contact-body-faq__answer p {
  max-width: 58ch;
}

.ag-contact-page .ag-contact-body-faq__footer {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.92), rgba(246, 239, 229, 0.82));
}
/* CONTACT BODY REFINEMENT PASS */
@media (min-width: 960px) {
  .ag-contact-page .ag-contact-body-section-head {
    max-width: none;
    grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.05fr);
    align-items: end;
    gap: 1rem 2rem;
  }

  .ag-contact-page .ag-contact-body-section-head .ag-contact-body__eyebrow,
  .ag-contact-page .ag-contact-body-section-head__title {
    grid-column: 1;
  }

  .ag-contact-page .ag-contact-body-section-head__text {
    grid-column: 2;
    align-self: end;
    max-width: 32rem;
    padding-bottom: 0.28rem;
  }
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-story__support,
.ag-contact-page .ag-contact-body-location-card {
  position: relative;
  overflow: hidden;
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-story__support {
  display: grid;
}

.ag-contact-page .ag-contact-body-main__guide::before,
.ag-contact-page .ag-contact-body-main__subject-picker::before,
.ag-contact-page .ag-contact-body-story__visit::before,
.ag-contact-page .ag-contact-body-story__support::before,
.ag-contact-page .ag-contact-body-location-card::before {
  content: '';
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(123, 95, 60, 0.28), rgba(123, 95, 60, 0));
  pointer-events: none;
}

.ag-contact-page .ag-contact-body-main__guide-list,
.ag-contact-page .ag-contact-body-story__list,
.ag-contact-page .ag-contact-body-location-card__list {
  gap: 0.7rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  padding-right: 2.8rem;
}

.ag-contact-page .ag-contact-body-main__direct-card::after,
.ag-contact-page .ag-contact-body-locations__footer-link::after {
  content: '\2192';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__direct-card::after {
  position: absolute;
  right: 1rem;
  top: 1rem;
  color: #173728;
  font-size: 1rem;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover::after,

.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-story__support {
  gap: 0.7rem;
}

.ag-contact-page .ag-contact-body-location-card__copy {
  max-width: 34ch;
}

.ag-contact-page .ag-contact-body-location-card__list {
  padding-top: 0.1rem;
}

.ag-contact-page .ag-contact-body-location-card__cta,
.ag-contact-page .ag-contact-body-story__cta {
  gap: 0.5rem;
}

.ag-contact-page .ag-contact-body-locations__footer {
  margin-top: 1.5rem;
  padding: 1rem 1.2rem;
  border-top: 0;
  border-radius: 1.15rem;
  background: rgba(255, 252, 247, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.ag-contact-page .ag-contact-body-locations__footer-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  max-width: 34rem;
}

.ag-contact-page .ag-contact-body-faq__footer {
  align-items: end;
}

.ag-contact-page .ag-contact-body-faq__footer-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #173728;
}

.ag-contact-page .ag-contact-body-faq__footer-text {
  max-width: 30rem;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-main__direct-card {
    padding-right: 1rem;
  }

  .ag-contact-page .ag-contact-body-main__direct-card::after {
    position: static;
    margin-top: 0.25rem;
  }

  .ag-contact-page .ag-contact-body-locations__footer {
    padding: 1rem;
  }

  .ag-contact-page .ag-contact-body-faq__footer-title {
    font-size: 1.25rem;
  }
}
/* CONTACT BODY FINISHING PASS */
.ag-contact-page .ag-contact-body-main__panel-title {
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1.02;
}

.ag-contact-page .ag-contact-body-main__subject-grid {
  align-items: start;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  gap: 0.55rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  padding: 0.9rem 2.6rem 0.95rem 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
}

.ag-contact-page .ag-contact-body-main__direct-card::before {
  left: 0;
  right: auto;
  width: 1.75rem;
  top: auto;
  bottom: 0;
  height: 1px;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover {
  transform: none;
  background: transparent;
  border-color: rgba(23, 58, 40, 0.24);
}

.ag-contact-page .ag-contact-body-main__direct-title {
  font-size: 0.98rem;
}

.ag-contact-page .ag-contact-body-main__direct-copy {
  font-size: 0.95rem;
  line-height: 1.5;
}

.ag-contact-page .ag-contact-body-locations__footer-link {
  min-height: 2.9rem;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  border: 1px solid rgba(23, 58, 40, 0.14);
  background: rgba(255, 255, 255, 0.48);
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(0.98rem, 1.25vw, 1.08rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.45;
  color: #203b2d;
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0 1.25rem 1.2rem 3.2rem;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-main__direct-card {
    padding: 0.9rem 0 0.95rem;
  }

  .ag-contact-page .ag-contact-body-faq__answer {
    padding: 0 1.2rem 1.15rem;
  }
}
/* CONTACT BODY COHESION PASS */
.ag-contact-page .ag-contact-body {
  counter-reset: ag-contact-sections;
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container {
  position: relative;
  counter-increment: ag-contact-sections;
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::before {
  content: counter(ag-contact-sections, decimal-leading-zero);
  position: absolute;
  top: -0.45rem;
  right: 0;
  padding-left: 1rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: rgba(122, 91, 51, 0.88);
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::after {
  content: '';
  position: absolute;
  top: 0.05rem;
  right: 2.45rem;
  width: 3.2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(23, 58, 40, 0.28), rgba(23, 58, 40, 0));
}

.ag-contact-page .ag-contact-body-card,
.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-faq__item,
.ag-contact-page .ag-contact-body-locations__footer {
  background: rgba(247, 239, 228, 0.84);
}

.ag-contact-page .ag-contact-body-intro__summary span,
.ag-contact-page .ag-contact-body-main__expectation,
.ag-contact-page .ag-contact-body-main__direct-card,
.ag-contact-page .ag-contact-body-story__support {
  background: rgba(243, 234, 222, 0.74);
}

.ag-contact-page .ag-contact-body-main__panel,
.ag-contact-page .ag-contact-body-story__quote,
.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-location-card {
  border-color: rgba(101, 78, 49, 0.18);
}

.ag-contact-page .ag-contact-body-main__panel {
  background: linear-gradient(180deg, rgba(250, 244, 236, 0.98), rgba(241, 231, 217, 0.94));
}

.ag-contact-page .ag-contact-body-story__quote {
  background: linear-gradient(180deg, rgba(249, 244, 235, 0.96), rgba(238, 229, 215, 0.92));
  box-shadow: 0 16px 28px rgba(40, 28, 16, 0.06);
}

.ag-contact-page .ag-contact-body-story__quote::after {
  content: '';
  position: absolute;
  left: 0;
  top: 1.35rem;
  bottom: 1.35rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(23, 58, 40, 0.72), rgba(23, 58, 40, 0.12));
}

.ag-contact-page .ag-contact-body-section-head__title,
.ag-contact-page .ag-contact-body-main__title,
.ag-contact-page .ag-contact-body-intro__title,
.ag-contact-page .ag-contact-body-story__title {
  text-wrap: pretty;
}

.ag-contact-page .ag-contact-body-locations__footer,
.ag-contact-page .ag-contact-body-faq__footer {
  border: 1px solid rgba(101, 78, 49, 0.12);
}

.ag-contact-page .ag-contact-body-locations__footer-link:hover,
.ag-contact-page .ag-contact-body-story__cta:hover,
.ag-contact-page .ag-contact-body-location-card__cta:hover,
.ag-contact-page .ag-contact-body-faq__footer-cta:hover {
  border-color: rgba(23, 58, 40, 0.22);
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::before,
  .ag-contact-page .ag-contact-body-main > .ag-contact-body__container::before,
  .ag-contact-page .ag-contact-body-story > .ag-contact-body__container::before,
  .ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::before,
  .ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::before {
    top: -0.7rem;
    right: auto;
    left: 0;
    padding-left: 0;
  }

  .ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::after,
  .ag-contact-page .ag-contact-body-main > .ag-contact-body__container::after,
  .ag-contact-page .ag-contact-body-story > .ag-contact-body__container::after,
  .ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::after,
  .ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::after {
    top: -0.2rem;
    left: 2rem;
    right: auto;
    width: 2.35rem;
  }
}
/* CONTACT BODY PALETTE PASS */
.ag-contact-page .ag-contact-body {
  --ag-page-bg: #f2ece3;
  --ag-page-bg-soft: #f8f3ec;
  --ag-page-bg-warm: #efe7dc;
  --ag-surface-primary: rgba(248, 243, 236, 0.92);
  --ag-surface-secondary: rgba(239, 231, 220, 0.78);
  --ag-surface-muted: rgba(243, 234, 222, 0.78);
  --ag-surface-band: rgba(247, 239, 228, 0.84);
  --ag-ink: #173728;
  --ag-ink-deep: #153728;
  --ag-label: #7a5b33;
  --ag-ginger: #7d6d58;
  --ag-earth: #b05e34;
  --ag-gold: #f59e0b;
  --ag-line: rgba(122, 91, 51, 0.14);
  --ag-line-strong: rgba(101, 78, 49, 0.2);
  background: linear-gradient(180deg, var(--ag-page-bg) 0%, var(--ag-page-bg-soft) 18%, var(--ag-page-bg-warm) 52%, var(--ag-page-bg-soft) 100%);
  color: var(--ag-ink-deep);
}

.ag-contact-page .ag-contact-body__eyebrow,
.ag-contact-page .ag-contact-body-card__eyebrow,
.ag-contact-page .ag-contact-body-stat__label,
.ag-contact-page .ag-contact-body-main__expectation-label,
.ag-contact-page .ag-contact-body-main__subject-label,
.ag-contact-page .ag-contact-body-location-card__eyebrow,
.ag-contact-page .ag-contact-body-main__direct-label {
  color: var(--ag-label);
}

.ag-contact-page .ag-contact-body-intro__title,
.ag-contact-page .ag-contact-body-main__title,
.ag-contact-page .ag-contact-body-story__title,
.ag-contact-page .ag-contact-body-section-head__title,
.ag-contact-page .ag-contact-body-card__title,
.ag-contact-page .ag-contact-body-main__panel-title,
.ag-contact-page .ag-contact-body-main__guide-title,
.ag-contact-page .ag-contact-body-story__side-title,
.ag-contact-page .ag-contact-body-location-card__title,
.ag-contact-page .ag-contact-body-main__direct-title,
.ag-contact-page .ag-contact-body-faq__footer-title {
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-intro__text,
.ag-contact-page .ag-contact-body-main__text,
.ag-contact-page .ag-contact-body-section-head__text,
.ag-contact-page .ag-contact-body-story__side-copy,
.ag-contact-page .ag-contact-body-story__support-copy,
.ag-contact-page .ag-contact-body-location-card__copy,
.ag-contact-page .ag-contact-body-stat__copy,
.ag-contact-page .ag-contact-body-faq__answer p,
.ag-contact-page .ag-contact-body-faq__footer-text,
.ag-contact-page .ag-contact-body-main__direct-copy,
.ag-contact-page .ag-contact-body-locations__footer p,
.ag-contact-page .ag-contact-body-main__field-help {
  color: #534639;
}

.ag-contact-page .ag-contact-body-intro,
.ag-contact-page .ag-contact-body-main,
.ag-contact-page .ag-contact-body-story,
.ag-contact-page .ag-contact-body-locations,
.ag-contact-page .ag-contact-body-faq {
  background-color: transparent;
}

.ag-contact-page .ag-contact-body-card,
.ag-contact-page .ag-contact-body-intro__stats,
.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-faq__item,
.ag-contact-page .ag-contact-body-locations__footer,
.ag-contact-page .ag-contact-body-story__support {
  background: var(--ag-surface-band);
  border-color: var(--ag-line);
}

.ag-contact-page .ag-contact-body-intro__summary span,
.ag-contact-page .ag-contact-body-main__expectation,
.ag-contact-page .ag-contact-body-main__direct-card {
  background: var(--ag-surface-muted);
  border-color: var(--ag-line);
}

.ag-contact-page .ag-contact-body-main__panel,
.ag-contact-page .ag-contact-body-story__quote,
.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-location-card,
.ag-contact-page .ag-contact-body-faq__footer {
  background: linear-gradient(180deg, var(--ag-surface-primary), var(--ag-surface-secondary));
  border-color: var(--ag-line-strong);
}

.ag-contact-page .ag-contact-body-main__panel::before,
.ag-contact-page .ag-contact-body-main__panel-head,
.ag-contact-page .ag-contact-body-main__direct,
.ag-contact-page .ag-contact-body-location-card__address,
.ag-contact-page .ag-contact-body-faq__answer,
.ag-contact-page .ag-contact-body-stat,
.ag-contact-page .ag-contact-body-locations__footer {
  border-color: var(--ag-line);
}

.ag-contact-page .ag-contact-body-card__detail,
.ag-contact-page .ag-contact-body-stat__value,
.ag-contact-page .ag-contact-body-main__expectation strong,
.ag-contact-page .ag-contact-body-story__quote-copy,
.ag-contact-page .ag-contact-body-story__signature,
.ag-contact-page .ag-contact-body-location-card__address,
.ag-contact-page .ag-contact-body-faq__question-copy,
.ag-contact-page .ag-contact-body-locations__footer-link {
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-card__icon,
.ag-contact-page .ag-contact-body-faq__index {
  background: rgba(23, 55, 40, 0.08);
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-card--visit .ag-contact-body-card__icon,
.ag-contact-page .ag-contact-body-location-card__badge--farm {
  background: rgba(176, 94, 52, 0.12);
  color: var(--ag-earth);
  border-color: rgba(176, 94, 52, 0.18);
}

.ag-contact-page .ag-contact-body-card--phone .ag-contact-body-card__icon,
.ag-contact-page .ag-contact-body-location-card__badge {
  background: rgba(23, 55, 40, 0.08);
  color: var(--ag-ink);
  border-color: rgba(23, 55, 40, 0.12);
}

.ag-contact-page .ag-contact-body-main__subject {
  background: rgba(248, 243, 236, 0.96);
  border-color: var(--ag-line);
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-main__subject:hover,

.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact-body-form .ag-form-select,
.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  background: rgba(250, 246, 240, 0.96);
  border-color: var(--ag-line-strong);
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-form .ag-form-input:focus,
.ag-contact-page .ag-contact-body-form .ag-form-select:focus,

.ag-contact-page .ag-contact-body-form .ag-form-submit {
  background: var(--ag-ink);
  border-color: rgba(23, 55, 40, 0.2);
}

.ag-contact-page .ag-contact-body-story__cta,
.ag-contact-page .ag-contact-body-location-card__cta,
.ag-contact-page .ag-contact-body-faq__footer-cta,
.ag-contact-page .ag-contact-body-locations__footer-link {
  color: var(--ag-ink);
  border-color: var(--ag-line-strong);
  background: rgba(248, 243, 236, 0.72);
}

.ag-contact-page .ag-contact-body-story__cta:hover,
.ag-contact-page .ag-contact-body-location-card__cta:hover,
.ag-contact-page .ag-contact-body-faq__footer-cta:hover,
.ag-contact-page .ag-contact-body-locations__footer-link:hover {
  background: var(--ag-ink);
  color: #fff;
}

.ag-contact-page .ag-contact-body-story__quote::after {
  background: linear-gradient(180deg, rgba(23, 55, 40, 0.72), rgba(176, 94, 52, 0.18));
}

.ag-contact-page .ag-contact-body-story__quote::before,
.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::before {
  color: rgba(122, 91, 51, 0.84);
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-main__guide::before,
.ag-contact-page .ag-contact-body-main__subject-picker::before,
.ag-contact-page .ag-contact-body-story__visit::before,
.ag-contact-page .ag-contact-body-story__support::before,
.ag-contact-page .ag-contact-body-location-card::before,
.ag-contact-page .ag-contact-body-card::before,
.ag-contact-page .ag-contact-body-main__direct-card::before {
  background: linear-gradient(90deg, rgba(122, 91, 51, 0.28), rgba(122, 91, 51, 0));
}


/* CONTACT BODY PRO REFINEMENT PASS */
@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-intro__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 1200px) {
  .ag-contact-page .ag-contact-body-intro__actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ag-contact-page .ag-contact-body-card--email {
    grid-column: auto;
  }
}

.ag-contact-page .ag-contact-body-intro__stats {
  position: relative;
  padding: 0.35rem;
  box-shadow: 0 18px 30px rgba(40, 28, 16, 0.08);
}

.ag-contact-page .ag-contact-body-intro__stats::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(23, 55, 40, 0.65), rgba(176, 94, 52, 0.18));
}

.ag-contact-page .ag-contact-body-stat {
  text-align: center;
  padding: 1.45rem 1.6rem;
}

.ag-contact-page .ag-contact-body-stat__value {
  font-size: clamp(2.2rem, 3.4vw, 2.9rem);
}

.ag-contact-page .ag-contact-body-stat__copy {
  max-width: 30ch;
  margin: 0.35rem auto 0;
  font-size: 0.98rem;
}

.ag-contact-page .ag-contact-body-main__intro {
  gap: 1.25rem;
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker {
  background: rgba(248, 243, 236, 0.7);
  border: 1px solid var(--ag-line);
  box-shadow: none;
}

.ag-contact-page .ag-contact-body-main__subject {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}

.ag-contact-page .ag-contact-body-main__notice {
  background: rgba(248, 243, 236, 0.9);
  border-color: var(--ag-line);
  font-size: 0.78rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-actions {
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ag-line);
}

.ag-contact-page .ag-contact-body-form .ag-form-submit {
  min-width: 12rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-response {
  font-size: 0.8rem;
}

.ag-contact-page .ag-contact-body-main__direct {
  margin-top: 1.1rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  border-bottom-color: var(--ag-line);
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-story__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: stretch;
  }
}

.ag-contact-page .ag-contact-body-story__quote {
  padding-left: clamp(1.9rem, 3vw, 2.6rem);
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
}

.ag-contact-page .ag-contact-body-story__signature {
  font-size: 0.95rem;
}

.ag-contact-page .ag-contact-body-story__side {
  gap: 1.25rem;
}

.ag-contact-page .ag-contact-body-story__support {
  font-size: 0.95rem;
}

.ag-contact-page .ag-contact-body-location-card__head {
  align-items: center;
}

.ag-contact-page .ag-contact-body-location-card__address {
  font-size: 1.08rem;
  font-weight: 600;
}

.ag-contact-page .ag-contact-body-location-card__copy {
  font-size: 0.96rem;
  max-width: 32ch;
}

.ag-contact-page .ag-contact-body-location-card__list {
  font-size: 0.85rem;
  color: #5a4c3e;
}

.ag-contact-page .ag-contact-body-location-card__cta {
  font-size: 0.75rem;
}

.ag-contact-page .ag-contact-body-faq__grid {
  display: grid;
  gap: 1.6rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-faq__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
  }
}

.ag-contact-page .ag-contact-body-faq__item {
  border-left: 2px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}


.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.2rem 1.3rem;
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  font-weight: 600;
}

.ag-contact-page .ag-contact-body-faq__answer {
  border-top-color: var(--ag-line);
}

.ag-contact-page .ag-contact-body-faq__footer {
  margin-top: 1.8rem;
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::before,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::before {
  color: rgba(122, 91, 51, 0.55);
  letter-spacing: 0.16em;
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-main > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-locations > .ag-contact-body__container::after,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container::after {
  opacity: 0.55;
}
/* CONTACT BODY COMPOSITION PASS */
@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-main__grid {
    grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr);
    gap: 2.5rem;
  }

  .ag-contact-page .ag-contact-body-main__intro {
    max-width: 31rem;
    padding-top: 0.8rem;
  }

  .ag-contact-page .ag-contact-body-story__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 2rem;
  }

  .ag-contact-page .ag-contact-body-story__quote {
    order: 2;
  }

  .ag-contact-page .ag-contact-body-story__side {
    order: 1;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .ag-contact-page .ag-contact-body-faq__grid {
    grid-template-columns: minmax(16rem, 0.66fr) minmax(0, 1.34fr);
    gap: 2.2rem;
  }

}

.ag-contact-page .ag-contact-body-main__expectations {
  gap: 0.7rem;
}

.ag-contact-page .ag-contact-body-main__expectation {
  padding: 0.85rem 1rem;
}

.ag-contact-page .ag-contact-body-main__expectation strong {
  font-size: 1rem;
}

.ag-contact-page .ag-contact-body-main__guide-list li,
.ag-contact-page .ag-contact-body-story__list li,
.ag-contact-page .ag-contact-body-location-card__list li {
  font-size: 0.88rem;
  line-height: 1.45;
  color: #41372d;
}

.ag-contact-page .ag-contact-body-main__field-help,
.ag-contact-page .ag-contact-body-main__direct-copy,
.ag-contact-page .ag-contact-body-locations__footer p,
.ag-contact-page .ag-contact-body-faq__footer-text,
.ag-contact-page .ag-contact-body-location-card__copy,
.ag-contact-page .ag-contact-body-story__support-copy,
.ag-contact-page .ag-contact-body-main__notice,
.ag-contact-page .ag-contact-body-card__meta,
.ag-contact-page .ag-contact-body-stat__copy {
  color: #4a3d30;
}

.ag-contact-page .ag-contact-body-main__panel-head {
  margin-bottom: 1.5rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  gap: 1.15rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-field {
  gap: 0.6rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-label {
  font-size: 0.74rem;
  color: #58493b;
}

.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 12rem;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  gap: 0.35rem;
}

.ag-contact-page .ag-contact-body-story__quote {
  padding-right: clamp(1.7rem, 3vw, 2.3rem);
}

.ag-contact-page .ag-contact-body-story__title {
  max-width: 12ch;
}

.ag-contact-page .ag-contact-body-story__support {
  padding: 1.1rem 1.2rem;
}

.ag-contact-page .ag-contact-body-location-card__meta {
  display: grid;
  gap: 0.65rem;
  padding: 0.9rem 0;
  border-top: 1px solid var(--ag-line);
  border-bottom: 1px solid var(--ag-line);
}


.ag-contact-page .ag-contact-body-location-card__meta-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ag-label);
}

.ag-contact-page .ag-contact-body-location-card__meta-row strong {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ag-ink);
}

.ag-contact-page .ag-contact-body-location-card__copy {
  margin-top: 0.1rem;
}

.ag-contact-page .ag-contact-body-location-card__list {
  gap: 0.5rem;
  margin-top: 0.2rem;
}

.ag-contact-page .ag-contact-body-faq__list {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-faq__item {
  border-left-width: 3px;
}

.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.25rem 1.35rem;
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0 1.35rem 1.25rem 3.4rem;
}

.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__question {
  background: rgba(248, 243, 236, 0.52);
}

.ag-contact-page .ag-contact-body-intro::before {
  opacity: 0.035;
}

.ag-contact-page .ag-contact-body-faq::before {
  opacity: 0.02;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-location-card__meta {
    gap: 0.55rem;
  }

  .ag-contact-page .ag-contact-body-faq__answer {
    padding: 0 1.2rem 1.15rem;
  }

  .ag-contact-page .ag-contact-body-intro::before {
    opacity: 0.03;
  }

  .ag-contact-page .ag-contact-body-faq::before {
    opacity: 0.015;
  }
}
/* CONTACT BODY GINGER WATERMARK */
.ag-contact-page .ag-contact-body-intro::before,
.ag-contact-page .ag-contact-body-story::before,
.ag-contact-page .ag-contact-body-faq::before {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20900%20900%27%3E%0A%20%20%3Cg%20fill%3D%27none%27%20stroke%3D%27%237d6d58%27%20stroke-width%3D%275%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.86%27%3E%0A%20%20%20%20%3Cpath%20d%3D%27M134%20525c-40-15-72-46-75-92-4-62%2040-119%20101-127%2049-6%2095%2018%20118%2060%2022-63%2084-106%20154-103%2068%204%20125%2054%20141%20118%2026-38%2069-61%20116-56%2074%206%20131%2068%20131%20141%200%2079-62%20143-140%20143-44%200-85-20-112-54-28%2031-68%2049-110%2049-60%200-114-36-136-92-27%2020-58%2025-88%2013z%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M286%20271c11-57%2060-100%20119-104%2053-4%20104%2025%20127%2071%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M439%20170c8-51%2052-91%20106-94%2054-3%20103%2029%20118%2078%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M565%20131c21-39%2062-63%20106-60%2050%204%2091%2042%2098%2091%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M287%20271c-31-55-88-87-148-82%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M532%20240c-7-50%2015-102%2057-130%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M642%20219c10-45%2044-82%2088-97%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M191%20388c24%2028%2039%2069%2037%20111%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M343%20340c-21%2041-23%2091-7%20134%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M455%20318c-16%2051-10%20108%2017%20154%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M607%20341c-12%2053-4%20111%2023%20157%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M735%20424c-8%2040-4%2084%2013%20120%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M82%20257c36-41%2092-64%20147-60%2033%203%2066%2015%2091%2037%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M318%20252c28-61%2098-95%20164-82%2034%207%2066%2027%2089%2055%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M541%20228c26-61%2093-101%20160-95%2051%205%20100%2037%20125%2082%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M155%20642c37-19%2081-18%20116%202%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M693%20646c32-14%2069-12%2099%205%27%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%27114%27%20cy%3D%27662%27%20rx%3D%2723%27%20ry%3D%2719%27%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%27769%27%20cy%3D%27676%27%20rx%3D%2719%27%20ry%3D%2715%27%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%27820%27%20cy%3D%27641%27%20rx%3D%2713%27%20ry%3D%2711%27%2F%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2772%27%20cy%3D%27716%27%20rx%3D%2710%27%20ry%3D%278%27%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.ag-contact-page .ag-contact-body-intro > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-story > .ag-contact-body__container,
.ag-contact-page .ag-contact-body-faq > .ag-contact-body__container {
  position: relative;
  z-index: 1;
}

.ag-contact-page .ag-contact-body-intro::before {
  top: 1rem;
  right: -4rem;
  width: min(34rem, 46vw);
  height: min(34rem, 46vw);
  opacity: 0.06;
}

.ag-contact-page .ag-contact-body-story::before {
  left: -6rem;
  top: 2.5rem;
  width: min(30rem, 40vw);
  height: min(30rem, 40vw);
  opacity: 0.05;
  transform: rotate(-10deg) scaleX(-1);
}

.ag-contact-page .ag-contact-body-faq::before {
  right: -5rem;
  bottom: 1rem;
  width: min(24rem, 32vw);
  height: min(24rem, 32vw);
  opacity: 0.04;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-intro::before {
    top: 2.25rem;
    right: -6.5rem;
    width: 23rem;
    height: 23rem;
    opacity: 0.05;
  }

  .ag-contact-page .ag-contact-body-story::before {
    left: -7rem;
    top: 1.5rem;
    width: 18rem;
    height: 18rem;
    opacity: 0.04;
  }

  .ag-contact-page .ag-contact-body-faq::before {
    right: -6rem;
    bottom: 2rem;
    width: 15rem;
    height: 15rem;
    opacity: 0.03;
  }
}
/* Footer transition */
.ag-contact__footer-transition {
  height: 2rem;
  background: var(--color-stone-50);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ag-contact__footer-transition::after {
  content: '';
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--color-stone-300), transparent);
  max-width: 32rem;
}
/* CONTACT PAGE TARGETED REFINEMENT PASS */
.ag-contact-page {
  --ag-contact-surface: rgba(255, 252, 246, 0.92);
  --ag-contact-surface-soft: rgba(251, 247, 239, 0.72);
  --ag-contact-border: rgba(123, 95, 60, 0.14);
  --ag-contact-shadow-soft: 0 16px 32px rgba(56, 41, 24, 0.06);
  --ag-contact-shadow-deep: 0 22px 42px rgba(43, 31, 17, 0.09);
}

.ag-contact-page .ag-contact__hero-grid {
  align-items: center;
  gap: clamp(1.35rem, 2.8vw, 2.2rem);
}

.ag-contact-page .ag-contact__hero-left {
  display: grid;
  align-content: center;
  gap: 0.8rem;
  max-width: 34rem;
}

.ag-contact-page .ag-contact__description {
  max-width: 33ch;
}

.ag-contact-page .ag-contact__hero-cards {
  position: relative;
  display: grid;
  gap: clamp(0.95rem, 1.8vw, 1.15rem);
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(20, 30, 24, 0.34), rgba(16, 25, 20, 0.18));
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 14px 28px rgba(9, 13, 10, 0.12);
  backdrop-filter: blur(6px);
  align-self: stretch;
}

.ag-contact-page .ag-contact__hero-card {
  gap: 0.95rem;
  min-height: 100%;
  padding: 1.18rem 1.12rem 1.2rem;
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.ag-contact-page .ag-contact__hero-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06));
  border-color: rgba(255, 255, 255, 0.12);
}

.ag-contact-page .ag-contact__card-content h3 {
  margin-bottom: 0.24rem;
  font-size: 1.15rem;
  line-height: 1.18;
}

.ag-contact-page .ag-contact__card-content p {
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.96rem;
}


.ag-contact-page .ag-contact-body-intro__grid {
  align-items: start;
  gap: clamp(1.45rem, 2.8vw, 2.1rem);
}

.ag-contact-page .ag-contact-body-intro__copy,
.ag-contact-page .ag-contact-body-main__intro {
  display: grid;
  gap: 1.12rem;
  max-width: 33.5rem;
}

.ag-contact-page .ag-contact-body-intro__summary {
  margin-top: 0.3rem;
}

.ag-contact-page .ag-contact-body-intro__actions {
  gap: 0.95rem;
}

.ag-contact-page .ag-contact-body-card {
  gap: 0.7rem;
  padding: 1.45rem 1.35rem 1.4rem;
  border-radius: 1.35rem;
  border-color: var(--ag-contact-border);
  background: rgba(255, 252, 247, 0.94);
  box-shadow: var(--ag-contact-shadow-soft);
}

.ag-contact-page .ag-contact-body-card__detail {
  margin-top: 0.1rem;
}

.ag-contact-page .ag-contact-body-intro__stats {
  gap: 0.82rem;
  margin-top: 1.35rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(123, 95, 60, 0.12);
}

.ag-contact-page .ag-contact-body-stat {
  padding: 0.92rem 1rem 0.98rem;
  background: rgba(251, 247, 240, 0.58);
  border-color: rgba(123, 95, 60, 0.1);
  box-shadow: none;
}

.ag-contact-page .ag-contact-body-stat__value {
  margin: 0.28rem 0 0.36rem;
}

.ag-contact-page .ag-contact-body-main__grid {
  gap: clamp(1.8rem, 3.2vw, 2.75rem);
}

.ag-contact-page .ag-contact-body-main__expectations {
  gap: 0.8rem;
}

.ag-contact-page .ag-contact-body-main__expectation,
.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker,
.ag-contact-page .ag-contact-body-story__support {
  border: 1px solid var(--ag-contact-border);
  background: var(--ag-contact-surface-soft);
  box-shadow: none;
}

.ag-contact-page .ag-contact-body-main__expectation {
  padding: 0.92rem 1rem;
}

.ag-contact-page .ag-contact-body-main__guide,
.ag-contact-page .ag-contact-body-main__subject-picker {
  padding: 1.15rem 1.15rem;
}

.ag-contact-page .ag-contact-body-main__panel {
  padding: clamp(1.7rem, 3.2vw, 2.55rem);
  border-radius: 1.55rem;
  border-color: rgba(123, 95, 60, 0.18);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.99), rgba(248, 241, 231, 0.94));
  box-shadow: var(--ag-contact-shadow-deep);
}

.ag-contact-page .ag-contact-body-main__panel::before {
  inset: 1rem;
  border-color: rgba(123, 95, 60, 0.1);
}

.ag-contact-page .ag-contact-body-main__panel-head {
  gap: 1rem 1.25rem;
  align-items: start;
}

.ag-contact-page .ag-contact-body-main__notice {
  max-width: 20rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  gap: 1.1rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-row {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-field {
  gap: 0.58rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact-body-form .ag-form-select,
.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 3.4rem;
  padding: 1rem 1.05rem;
  border-radius: 1.05rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 12.5rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit {
  min-height: 3.2rem;
  padding: 0.92rem 1.45rem;
  background: linear-gradient(180deg, #183b2a, #214937);
  box-shadow: 0 14px 24px rgba(23, 58, 40, 0.14);
}


.ag-contact-page .ag-contact-body-form .ag-form-response {
  font-size: 0.82rem;
}

.ag-contact-page .ag-contact-body-main__direct {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
}

.ag-contact-page .ag-contact-body-main__direct-grid {
  gap: 0.6rem;
}

.ag-contact-page .ag-contact-body-main__direct-card {
  gap: 0.4rem;
  padding: 1.05rem 1rem 1.1rem;
  border-color: rgba(123, 95, 60, 0.12);
  background: rgba(252, 248, 241, 0.82);
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover {
  transform: translateY(-2px);
  border-color: rgba(23, 58, 40, 0.18);
  background: rgba(255, 252, 247, 0.94);
}

.ag-contact-page .ag-contact-body-story__grid {
  gap: clamp(1.3rem, 2.2vw, 1.9rem);
  align-items: stretch;
}

.ag-contact-page .ag-contact-body-story__quote {
  padding: clamp(1.9rem, 3.2vw, 2.7rem);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 238, 227, 0.94));
  box-shadow: var(--ag-contact-shadow-deep);
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  font-size: clamp(1.35rem, 2.1vw, 1.95rem);
  max-width: 17ch;
}

.ag-contact-page .ag-contact-body-story__side {
  gap: 1.15rem;
  align-content: start;
}

.ag-contact-page .ag-contact-body-story__visit {
  padding: 1.55rem 1.45rem 1.5rem;
  background: rgba(255, 251, 246, 0.9);
}

.ag-contact-page .ag-contact-body-story__support {
  padding: 1.15rem 1.2rem;
  background: rgba(247, 240, 231, 0.68);
}

.ag-contact-page .ag-contact-body-section-head {
  margin-bottom: 1.35rem;
}

.ag-contact-page .ag-contact-body-section-head__text {
  max-width: 39rem;
}

.ag-contact-page .ag-contact-body-locations__grid {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-location-card {
  gap: 0.9rem;
  padding: clamp(1.5rem, 3vw, 2.15rem);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.95), rgba(248, 241, 232, 0.9));
  box-shadow: var(--ag-contact-shadow-soft);
}

.ag-contact-page .ag-contact-body-location-card--farm {
  background: linear-gradient(180deg, rgba(255, 248, 241, 0.97), rgba(244, 232, 221, 0.92));
  border-color: rgba(168, 98, 57, 0.18);
}

.ag-contact-page .ag-contact-body-location-card__meta {
  gap: 0.65rem;
  padding: 0.9rem 0;
}

.ag-contact-page .ag-contact-body-location-card__meta-row strong {
  font-size: 0.98rem;
  line-height: 1.35;
}

.ag-contact-page .ag-contact-body-location-card__copy {
  max-width: none;
}

.ag-contact-page .ag-contact-body-location-card__cta {
  margin-top: auto;
}

.ag-contact-page .ag-contact-body-faq__grid {
  gap: 1.15rem;
}

.ag-contact-page .ag-contact-body-faq__list {
  gap: 0.85rem;
}

.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.22rem 1.3rem;
}

.ag-contact-page .ag-contact-body-faq__question-copy {
  line-height: 1.3;
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0 1.4rem 1.3rem 3.25rem;
}

.ag-contact-page .ag-contact-body-faq__footer {
  margin-top: 1.25rem;
}

.ag-contact-page .ag-contact-body-intro::before {
  width: min(26rem, 32vw);
  height: min(26rem, 32vw);
  opacity: 0.01;
}

.ag-contact-page .ag-contact-body-story::before {
  opacity: 0.012;
}

.ag-contact-page .ag-contact-body-faq::before {
  opacity: 0;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact__hero-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .ag-contact-page .ag-contact-body-main__panel-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact__hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(23rem, 1.02fr);
  }

  .ag-contact-page .ag-contact-body-intro__grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  }

  .ag-contact-page .ag-contact-body-main__grid {
    grid-template-columns: minmax(18rem, 0.74fr) minmax(0, 1.26fr);
  }

  .ag-contact-page .ag-contact-body-story__grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(21rem, 0.86fr);
  }

  .ag-contact-page .ag-contact-body-story__quote {
    order: 1;
  }

  .ag-contact-page .ag-contact-body-story__side {
    order: 2;
    grid-template-rows: auto auto;
  }

  .ag-contact-page .ag-contact-body-faq__grid {
    display: block;
  }

  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head {
    position: static;
    top: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    max-width: 44rem;
    margin-bottom: 0;
  }

  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head,
  .ag-contact-page .ag-contact-body-faq__list,
  .ag-contact-page .ag-contact-body-faq__footer {
    grid-column: 1 / -1;
  }

  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head .ag-contact-body__eyebrow,
  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__title,
  .ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__text {
    grid-column: auto;
    max-width: 40rem;
    padding-bottom: 0;
  }

  .ag-contact-page .ag-contact-body-faq__list {
    max-width: 57rem;
    margin-top: 1.35rem;
  }
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact__hero-cards {
    padding: 0.95rem;
    box-shadow: 0 12px 22px rgba(9, 13, 10, 0.12);
  }

  .ag-contact-page .ag-contact__hero-card {
    padding: 1rem;
  }

  .ag-contact-page .ag-contact-body-intro__stats {
    margin-top: 1.25rem;
    padding-top: 0.9rem;
  }

  .ag-contact-page .ag-contact-body-main__guide,
  .ag-contact-page .ag-contact-body-main__subject-picker,
  .ag-contact-page .ag-contact-body-story__visit,
  .ag-contact-page .ag-contact-body-story__support,
  .ag-contact-page .ag-contact-body-location-card {
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }

  .ag-contact-page .ag-contact-body-form .ag-form-actions {
    align-items: stretch;
  }

  .ag-contact-page .ag-contact-body-form .ag-form-submit {
    width: 100%;
  }

  .ag-contact-page .ag-contact-body-story__quote-copy {
    max-width: none;
  }

  .ag-contact-page .ag-contact-body-faq__answer {
    padding: 0 1.2rem 1.15rem;
  }

  .ag-contact-page .ag-contact-body-intro::before {
    width: 20rem;
    height: 20rem;
    opacity: 0.008;
  }

  .ag-contact-page .ag-contact-body-story::before {
    opacity: 0.01;
  }
}

.ag-contact-page .ag-contact-body-main__text,
.ag-contact-page .ag-contact-body-story__side-copy,
.ag-contact-page .ag-contact-body-story__support-copy,
.ag-contact-page .ag-contact-body-section-head__text {
  max-width: 35rem;
}


.ag-contact-page .ag-contact-body-main__subject-grid {
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.ag-contact-page .ag-contact-body-main__subject {
  min-height: 2.7rem;
  padding-inline: 0.88rem;
}

.ag-contact-page .ag-contact-body-story__visit .ag-contact-body__eyebrow,
.ag-contact-page .ag-contact-body-story__support .ag-contact-body__eyebrow,
.ag-contact-page .ag-contact-body-location-card__eyebrow {
  margin-bottom: 0.2rem;
}

.ag-contact-page .ag-contact-body-story__side-copy {
  line-height: 1.66;
}

.ag-contact-page .ag-contact-body-story__support-copy {
  font-size: 1rem;
  line-height: 1.68;
}

.ag-contact-page .ag-contact-body-location-card__meta-row {
  display: grid;
  gap: 0.18rem;
}

.ag-contact-page .ag-contact-body-location-card__meta-label {
  font-size: 0.69rem;
  letter-spacing: 0.15em;
}

.ag-contact-page .ag-contact-body-location-card--farm .ag-contact-body-location-card__meta-label,
.ag-contact-page .ag-contact-body-location-card--farm .ag-contact-body-location-card__eyebrow {
  color: #98542f;
}

.ag-contact-page .ag-contact-body-location-card__list {
  margin-top: 0.75rem;
}

.ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__title {
  max-width: 18ch;
}

.ag-contact-page .ag-contact-body-faq .ag-contact-body-section-head__text {
  max-width: 37rem;
}

.ag-contact-page .ag-contact-body-faq__footer-copy {
  gap: 0.28rem;
}

/* ================================================================
   HERO REFINEMENT PASS — typography, spacing, CTA, rhythm
   Scope: contact hero only. No footer/unrelated sections touched.
   ================================================================ */

/* 1. Heading scale — 3.5rem min is 56px at 390px, too dominant on mobile.
      2rem at 320px (32px), 2.42rem at 390px, capped at 4.2rem at desktop. */
.ag-contact-page .ag-contact__title {
  font-size: clamp(2rem, 6.2vw, 4.2rem);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

/* 2. Eyebrow — the override zeroed margin-bottom, restore breathing room */

/* 3. Description — 600 weight is semi-bold, body prose reads better at 400 */
.ag-contact-page .ag-contact__description {
  font-weight: 400;
  line-height: 1.7;
  font-size: clamp(0.975rem, 1.75vw, 1.175rem);
  max-width: 46ch;
  color: rgba(255, 255, 255, 0.92);
}

/* 4. CTA — hero-left is display:grid which stretches all children to full row width */
.ag-contact-page .ag-contact__hero-left {
  justify-items: start;
}

/* 5. CTA — on mobile centering is active, re-center the button */
@media (max-width: 767px) {
  .ag-contact-page .ag-contact__hero-left {
    justify-items: center;
    gap: 0.65rem;
  }
}

/* 4b. CTA button — template-contact.css uses undefined CSS vars (--ag-tropical-*)
       making the background fall back to transparent. Fix with matched specificity
       (body.template-page[data-page-handle] selector = 0,2,1) so source order wins. */
body.template-page[data-page-handle="contact"] .ag-contact__cta {
  background: linear-gradient(135deg, #f6b900 0%, #d4911a 100%);
  color: #0e3e29;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9rem 2.2rem;
  border-radius: 9999px;
  box-shadow: 0 4px 16px rgba(246, 185, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  border: none;
  text-decoration: none;
  overflow: hidden;
}

body.template-page[data-page-handle="contact"] .ag-contact__cta:hover {
  background: linear-gradient(135deg, #ffc91a 0%, #e8a21f 100%);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 24px rgba(246, 185, 0, 0.5);
  color: #0e3e29;
}

/* 6. Card detail text — uppercase at 0.75rem causes awkward wrapping */

/* 8. Hero cards 2-column at 768px works for single-column hero layout.
      But at 1024–1279px, the hero is 2-column so right panel is ~415px;
      2-column cards there = ~195px each — too narrow for detail text.
      Revert to single column in that range. */
@media (min-width: 1024px) and (max-width: 1279px) {
  .ag-contact-page .ag-contact__hero-cards {
    grid-template-columns: 1fr;
  }

}

/* 7. Hero vertical breathing — ensure content doesn't crowd the top edge */
.ag-contact-page .ag-contact__hero-content {
  padding-block: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem);
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact__hero-grid {
    padding-inline: 1.25rem;
  }
}

/* ================================================================
   HERO REFINEMENT — ITER 2
   Brand gold gradient, eyebrow rhythm, card polish
   Scope: hero section only. No other sections touched.
   ================================================================ */

/* 1. Title gradient — fix off-brand orange to brand gold.
      template-contact.css has a (0,4,1) selector:
        body.template-page[...] .ag-contact__hero .ag-contact__title .ag-contact__title-gradient
      that sets background: none + -webkit-text-fill-color: #ea580c.
      Must match same specificity — source order (contact-page.css loads after) wins. */
body.template-page[data-page-handle="contact"] .ag-contact__hero .ag-contact__title .ag-contact__title-gradient,
body.template-page[data-page-handle="contact"] h1 .ag-contact__title-gradient {
  background: linear-gradient(135deg, #f6b900 0%, #e8a800 45%, #ffcd4a 100%);
  background-size: auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: none;
  filter: none;
}

/* 2. Eyebrow bottom margin — 1.25rem + 0.8rem grid gap = 2.05rem total before title.
      Reducing to 0.65rem yields 1.45rem — closer visual connection to headline. */
.ag-contact-page .ag-contact__eyebrow {
  margin-bottom: 0.65rem;
}

/* 3. Description — at tablet single-column, cap line length for better readability */
@media (min-width: 640px) and (max-width: 1023px) {
  .ag-contact-page .ag-contact__description {
    max-width: 44ch;
  }
}

/* 4. Card icon — slightly more presence at all sizes */
.ag-contact-page .ag-contact__card-icon {
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
}

/* 5. Card heading — reduce from 700 to 600 for better serif contrast against white text */
.ag-contact-page .ag-contact__card-content h3 {
  font-weight: 600;
  font-size: 1.08rem;
}

/* 6. Card description text — slightly lighter for card hierarchy */
.ag-contact-page .ag-contact__card-content p:not(.ag-contact__card-detail) {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.92rem;
}

/* 7. At small mobile (≤480px), tighten hero vertical height — prevents blank zone below CTA */
@media (max-width: 480px) {
  .ag-contact-page .ag-contact__hero {
    min-height: 92vh;
  }
}

/* ================================================================
   HERO REFINEMENT — ITER 3
   Pill wrap fix, description cap, vertical alignment polish
   Scope: hero section only.
   ================================================================ */

/* 1. Card layout geometry at ≥1280px — reclaim content-column width so pill
      text fits cleanly on one line. Root cause: card is 243px wide with
      icon(44px) + gap(12px) + padding(15px×2) = 86px overhead → only 157px
      for content. "Mon-Fri 9AM-6PM PST →" needs ~167px. Fix: tighten icon,
      gap, and card padding to yield ~170px content width. */
@media (min-width: 1280px) {
  .ag-contact-page .ag-contact__card-icon {
    width: 2.25rem;   /* 36px — save 8px vs iter-2 value of 44px */
    height: 2.25rem;
  }
  .ag-contact-page .ag-contact__hero-card {
    gap: 0.625rem;    /* 10px — save 2px vs base 12px */
    padding: 0.875rem; /* 14px — save ~2.4px/side vs 15.2px */
  }
}

/* 1b. Card detail pills — keep font tight for cleaner pill rhythm */
@media (min-width: 1280px) {
}

/* 2. Description line-length cap at desktop — at ≥1280px the left
      column is ~520px wide; cap at 38ch to keep comfortable measure */
@media (min-width: 1280px) {
  .ag-contact-page .ag-contact__description {
    max-width: 38ch;
  }
}

/* 3. Hero grid — vertically center content within the full hero height
      at large breakpoints so left column doesn't hang at top with
      dead space below the CTA. Apply only at ≥1280px two-col layout. */
@media (min-width: 1280px) {
  .ag-contact-page .ag-contact__hero-grid {
    align-items: center;
  }
}

/* ================================================================
   CONTACT BODY — MICRO POLISH PASS (Body only)
   Scope: .ag-contact-body* (No hero/header/footer changes)
   ================================================================ */

/* Prevent off-canvas UI (cart drawer) from causing horizontal scroll on this page */
body[data-page-handle="contact"] {
  overflow-x: hidden;
  overflow-x: clip;
}

/* Prevent decorative off-canvas elements from creating horizontal scroll */
.ag-contact-page .ag-contact-body {
  overflow-x: hidden;
  overflow-x: clip;
}

/* Global small/supporting text contrast (keep soft, remove faintness) */
.ag-contact-page .ag-contact-body :is(
  .ag-contact-body-intro__text,
  .ag-contact-body-main__text,
  .ag-contact-body-section-head__text,
  .ag-contact-body-story__side-copy,
  .ag-contact-body-story__support-copy,
  .ag-contact-body-location-card__copy,
  .ag-contact-body-stat__copy,
  .ag-contact-body-faq__answer p,
  .ag-contact-body-faq__footer-text

.ag-contact-page .ag-contact-body :is(
  .ag-contact-body-main__field-help,
  .ag-contact-body-main__direct-copy,
  .ag-contact-body-location-card__meta-label,
  .ag-contact-body-main__expectation-label,
  .ag-contact-body-main__subject-label,
  .ag-form-response
) {
  color: #534a41;
}

/* SECTION 1: Intro + stats — integrate, tighten rhythm */
.ag-contact-page .ag-contact-body-intro__stats {
  margin-top: 1.15rem;
  padding-top: 1.05rem;
  gap: 0.85rem;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-intro__stats {
    gap: 0.75rem;
  }
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-intro__stats {
    margin-top: 1.4rem;
    padding-top: 0.95rem;
  }
}

.ag-contact-page .ag-contact-body-stat {
  padding: 0.98rem 1.15rem 1.05rem;
  display: grid;
  gap: 0.35rem;
}

.ag-contact-page .ag-contact-body-stat__label {
  color: #6a4c29;
}

.ag-contact-page .ag-contact-body-stat__value {
  margin: 0.3rem 0 0.35rem;
  font-size: clamp(2.08rem, 3.2vw, 2.75rem);
}

/* SECTION 2: Left contact content — tighten, anchor, improve grouping */
.ag-contact-page .ag-contact-body-main__intro {
  gap: 1rem;
}

.ag-contact-page .ag-contact-body-main__guide {
  display: grid;
  gap: 0.6rem;
}

.ag-contact-page .ag-contact-body-main__guide-list {
  margin-top: 0.7rem;
  gap: 0.55rem;
}

.ag-contact-page .ag-contact-body-main__subject-grid {
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.ag-contact-page .ag-contact-body-main__subject {
  border-color: rgba(123, 95, 60, 0.24);
  background: rgba(255, 252, 247, 0.96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* SECTION 3: Form — height, contrast, rhythm */
.ag-contact-page .ag-contact-body-main__panel-head {
  margin-bottom: 1.2rem;
  padding-bottom: 0.95rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-fields {
  gap: 1.05rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-row {
  gap: 1.05rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-field {
  gap: 0.6rem;
}

.ag-contact-page .ag-contact-body-form .ag-form-label {
  color: #4f4438;
}

.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact-body-form .ag-form-select,
.ag-contact-page .ag-contact-body-form .ag-form-textarea {
  min-height: 3.6rem;
  padding: 1.05rem 1.08rem;
  border-color: rgba(123, 95, 60, 0.24);
}

.ag-contact-page .ag-contact-body-form .ag-form-input::placeholder,
.ag-contact-page .ag-contact-body-form .ag-form-textarea::placeholder {
  color: rgba(36, 33, 30, 0.55);
}

.ag-contact-page .ag-contact-body-form .ag-form-submit {
  min-height: 3.35rem;
  padding: 0.98rem 1.65rem;
  border-color: rgba(23, 58, 40, 0.24);
  box-shadow: 0 18px 28px rgba(23, 58, 40, 0.17);
}

.ag-contact-page .ag-contact-body-form .ag-form-submit:hover {
  box-shadow: 0 20px 32px rgba(23, 58, 40, 0.21);
}

/* SECTION 4: Quote + farm block — balance and legibility */
.ag-contact-page .ag-contact-body-story__grid {
  gap: 1.35rem;
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-story__grid {
    gap: 1.3rem;
  }
}

.ag-contact-page .ag-contact-body-story__quote {
  padding: clamp(2rem, 3.3vw, 2.85rem);
}

.ag-contact-page .ag-contact-body-story__quote-copy {
  line-height: 1.38;
}

.ag-contact-page .ag-contact-body-story__visit,
.ag-contact-page .ag-contact-body-story__support {
  padding: 1.45rem 1.5rem;
}

.ag-contact-page .ag-contact-body-story :is(.ag-contact-body-story__side-copy, .ag-contact-body-story__support-copy) {
  color: #3f3429;
}

/* SECTION 5: Locations — consistent card rhythm + metadata contrast */
.ag-contact-page .ag-contact-body-locations__grid {
  gap: 1.05rem;
}

.ag-contact-page .ag-contact-body-location-card {
  gap: 0.92rem;
}

.ag-contact-page .ag-contact-body-location-card__meta {
  gap: 0.65rem;
  padding: 0.9rem 0;
}

.ag-contact-page .ag-contact-body-location-card__meta-label {
  color: #51463b;
}

.ag-contact-page .ag-contact-body-location-card__cta {
  background: rgba(23, 58, 40, 0.045);
  border-color: rgba(23, 58, 40, 0.22);
}

.ag-contact-page .ag-contact-body-location-card__cta {
  box-shadow: 0 12px 20px rgba(23, 58, 40, 0.12);
}

.ag-contact-page .ag-contact-body-location-card__cta:hover {
  box-shadow: 0 14px 24px rgba(23, 58, 40, 0.15);
}

/* SECTION 6: FAQ — scanability, interaction clarity */
.ag-contact-page .ag-contact-body-faq__question {
  padding: 1.45rem 1.4rem;
}

.ag-contact-page .ag-contact-body-faq__answer {
  padding: 0.45rem 1.4rem 1.45rem 3.4rem;
}

@media (max-width: 767px) {
  .ag-contact-page .ag-contact-body-faq__answer {
    padding: 0.4rem 1.2rem 1.25rem;
  }
}

.ag-contact-page .ag-contact-body-faq__item {
  border-left-color: rgba(23, 58, 40, 0.14);
}

.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__question {
  background: rgba(248, 243, 236, 0.62);
}

.ag-contact-page .ag-contact-body-faq__item[open] {
  background: rgba(255, 252, 247, 0.82);
  border-color: rgba(23, 58, 40, 0.18);
  box-shadow: 0 10px 18px rgba(56, 41, 24, 0.06);
  border-left-color: rgba(23, 58, 40, 0.55);
}

@media (min-width: 1024px) {
  .ag-contact-page .ag-contact-body-faq__list {
    margin-top: 0.9rem;
  }
}

/* SECTION 7: Final CTA (Field guide) — deliberate close */
.ag-contact-page .ag-contact-body-faq__footer {
  margin-top: 1.15rem;
  gap: 0.85rem 1rem;
  align-items: center;
}

.ag-contact-page .ag-contact-body-faq__footer-cta {
  min-height: 3.2rem;
  padding: 0.92rem 1.45rem;
  border-color: rgba(23, 58, 40, 0.22);
  box-shadow: 0 16px 26px rgba(23, 58, 40, 0.16);
}

.ag-contact-page .ag-contact-body-faq__footer-cta:hover {
  box-shadow: 0 18px 28px rgba(23, 58, 40, 0.18);
}

/* ================================================================
   CONTACT PAGE POLISH PASS — April 2026
   Focus: hero card balance, intro contact row, stat visual weight,
          form select arrow, FAQ layout balance, footer transition,
          micro-interactions, overall visual cohesion.
   Scope: All contact-body and hero sections.
   ================================================================ */

/* 1. HERO — Card grid: 3 equal cards at ≥768px (remove full-width location card) */
@media (min-width: 768px) {
  .ag-contact-page .ag-contact__hero-cards {
    grid-template-columns: 1fr;
  }

  .ag-contact-page .ag-contact__hero-card--location {
    grid-column: auto;
  }
}

@media (min-width: 1280px) {
  .ag-contact-page .ag-contact__hero-cards {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* 2. HERO — Card detail pills: subtle background highlight for scanability */
.ag-contact-page .ag-contact__card-detail {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: 0.6rem;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  line-height: 1.3;
  white-space: nowrap;
}

.ag-contact-page .ag-contact__hero-card:hover .ag-contact__card-detail {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.1);
}

/* 3. INTRO — Contact row links: subtle pill styling */
.ag-contact-page .ag-contact-body-intro__contact-row a {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: rgba(23, 55, 40, 0.06);
  border: 1px solid rgba(23, 55, 40, 0.1);
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ag-ink, #173728);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ag-contact-page .ag-contact-body-intro__contact-row a:hover {
  background: rgba(23, 55, 40, 0.1);
  border-color: rgba(23, 55, 40, 0.18);
  transform: translateY(-1px);
}

.ag-contact-page .ag-contact-body-intro__contact-row span {
  color: rgba(122, 91, 51, 0.4);
  font-size: 0.7rem;
}

/* 4. STATS — Tighter visual hierarchy: colored top accent per stat */
.ag-contact-page .ag-contact-body-stat {
  position: relative;
  overflow: hidden;
}

.ag-contact-page .ag-contact-body-stat::before {
  content: '';
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--ag-ink, #173728), transparent);
  opacity: 0.18;
}

@media (min-width: 768px) {
  .ag-contact-page .ag-contact-body-stat::before {
    top: auto;
    bottom: auto;
    left: 0;
    right: auto;
    top: 1.2rem;
    bottom: 1.2rem;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, var(--ag-ink, #173728), transparent);
  }

  .ag-contact-page .ag-contact-body-stat:first-child::before {
    display: none;
  }
}

/* 5. FORM SELECT — Better dropdown arrow positioning */
.ag-contact-page .ag-contact-body-form .ag-form-select-wrapper {
  position: relative;
}

.ag-contact-page .ag-contact-body-form .ag-form-select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.75rem;
  cursor: pointer;
}

.ag-contact-page .ag-contact-body-form .ag-form-select-wrapper .ag-form-select__arrow {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgba(23, 55, 40, 0.5);
  transition: color 0.2s ease;
}

.ag-contact-page .ag-contact-body-form .ag-form-select:focus ~ .ag-form-select__arrow {
  color: rgba(23, 55, 40, 0.8);
}

/* 6. FORM — Submit button micro-interaction: shimmer on hover */
.ag-contact-page .ag-contact-body-form .ag-form-submit {
  position: relative;
  overflow: hidden;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  transition: left 0.5s ease;
  pointer-events: none;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit:hover::after {
  left: 120%;
}

/* 7. FORM — Submit arrow: animated nudge */
.ag-contact-page .ag-contact-body-form .ag-form-submit__arrow {
  display: inline-block;
  transition: transform 0.25s ease;
}

.ag-contact-page .ag-contact-body-form .ag-form-submit:hover .ag-form-submit__arrow {
  transform: translateX(4px);
}

/* 8. DIRECT CONTACT CARDS — Hover lift + border accent */
.ag-contact-page .ag-contact-body-main__direct-card {
  border-width: 0 0 1px 0;
  border-style: solid;
  border-radius: 0;
  padding: 1rem 2.8rem 1.05rem 0;
  background: transparent;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover {
  transform: none;
  background: transparent;
}

.ag-contact-page .ag-contact-body-main__direct-card::after {
  transition: transform 0.25s ease, color 0.2s ease;
}

.ag-contact-page .ag-contact-body-main__direct-card:hover::after {
  transform: translateX(5px);
  color: var(--ag-earth, #b05e34);
}

/* 9. STORY SECTION — Quote block: subtle left-border gradient enhancement */
.ag-contact-page .ag-contact-body-story__quote::after {
  width: 3px;
  background: linear-gradient(
    180deg,
    rgba(176, 94, 52, 0.65) 0%,
    rgba(23, 55, 40, 0.55) 50%,
    rgba(23, 55, 40, 0.08) 100%
  );
}

/* 10. LOCATION CARDS — Farm card: warm border glow on hover */
.ag-contact-page .ag-contact-body-location-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ag-contact-page .ag-contact-body-location-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 36px rgba(56, 41, 24, 0.1);
}

.ag-contact-page .ag-contact-body-location-card--farm:hover {
  border-color: rgba(176, 94, 52, 0.28);
  box-shadow: 0 20px 36px rgba(176, 94, 52, 0.08);
}

/* 11. FAQ — Subtle hover highlight for closed items */
.ag-contact-page .ag-contact-body-faq__item {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-left-color 0.2s ease;
}

.ag-contact-page .ag-contact-body-faq__item:hover:not([open]) {
  border-left-color: rgba(23, 58, 40, 0.32);
  background: rgba(255, 252, 247, 0.72);
}

/* 12. FAQ — Index number: subtle fill on open */
.ag-contact-page .ag-contact-body-faq__item[open] .ag-contact-body-faq__index {
  background: rgba(23, 55, 40, 0.14);
  color: #0e3e29;
  font-weight: 800;
}

/* 13. FOOTER TRANSITION — Smoother gradient bridge to forest footer */
.ag-contact-page .ag-contact__footer-transition {
  height: 4rem;
  background: linear-gradient(
    180deg,
    rgba(242, 236, 227, 1) 0%,
    rgba(234, 226, 214, 0.9) 40%,
    rgba(42, 64, 52, 0.15) 100%
  );
}

.ag-contact-page .ag-contact__footer-transition::after {
  display: none;
}

/* 14. FORM FIELDS — Soft inner glow on focus for warmth */
.ag-contact-page .ag-contact-body-form .ag-form-input:focus,
.ag-contact-page .ag-contact-body-form .ag-form-select:focus,
.ag-contact-page .ag-contact-body-form .ag-form-textarea:focus {
  background: rgba(255, 253, 249, 1);
  border-color: rgba(176, 94, 52, 0.38);
  box-shadow: 0 0 0 4px rgba(176, 94, 52, 0.1), inset 0 1px 3px rgba(176, 94, 52, 0.04);
}

/* 15. SUBJECT BUTTONS — Active state with terra accent instead of forest */
.ag-contact-page .ag-contact-body-main__subject.is-active {
  background: linear-gradient(135deg, #b05e34, #8a4a29);
  border-color: #8a4a29;
  color: #fff;
  box-shadow: 0 6px 14px rgba(176, 94, 52, 0.22);
}

.ag-contact-page .ag-contact-body-main__subject:hover:not(.is-active) {
  background: rgba(23, 55, 40, 0.08);
  border-color: rgba(23, 55, 40, 0.2);
  color: var(--ag-ink, #173728);
  transform: translateY(-1px);
}

/* 16. LOCATIONS FOOTER — Subtle pulsing arrow on store locator link */
.ag-contact-page .ag-contact-body-locations__footer-link::after {
  transition: transform 0.3s ease;
}

.ag-contact-page .ag-contact-body-locations__footer-link:hover::after {
  transform: translateX(5px);
}

/* 17. HERO — Video overlay: warmer, more organic feel */
.ag-contact-page .ag-contact__hero-overlay {
  background: linear-gradient(
    180deg,
    rgba(14, 40, 28, 0.55) 0%,
    rgba(20, 35, 25, 0.35) 40%,
    rgba(14, 30, 20, 0.5) 75%,
    rgba(14, 40, 28, 0.65) 100%
  );
}

/* 18. REDUCED MOTION — Respect user preferences */
@media (prefers-reduced-motion: reduce) {
  .ag-contact-page .ag-contact-body-form .ag-form-submit::after {
    display: none;
  }

  .ag-contact-page .ag-contact-body-location-card,
  .ag-contact-page .ag-contact-body-faq__item,
  .ag-contact-page .ag-contact-body-main__direct-card,
  .ag-contact-page .ag-contact-body-main__subject,
  .ag-contact-page .ag-contact-body-intro__contact-row a {
    transition: none !important;
  }

  .ag-contact-page .ag-contact-body-location-card:hover,
  .ag-contact-page .ag-contact-body-main__subject:hover:not(.is-active) {
    transform: none !important;
  }
}

/* ============================================================
   Inline-style extraction (was <style> in main-contact.liquid)
   ============================================================ */
.ag-contact-body-intro__contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.1rem;
  align-items: center;
  font-size: 0.98rem;
  line-height: 1.6;
}

.ag-contact-body-intro__contact-row a {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.ag-contact-body-intro__contact-note {
  margin-top: 0.8rem;
  max-width: 42rem;
  color: rgba(36, 33, 30, 0.76);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* Structural UI fixes from audit */
.ag-form-label {
  text-align: left;
  display: block;
}

/* Video toggle (WCAG 2.2.2) */
.ag-contact__hero-video-toggle {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 10;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  padding: 0;
}
.ag-contact__hero-video-toggle:hover { background: rgba(0, 0, 0, 0.6); }
.ag-contact__hero-video-toggle:focus-visible {
  outline: 2px solid var(--ag-color-gold-bright, #f6b900);
  outline-offset: 2px;
}
.ag-contact__hero-video-toggle svg { width: 18px; height: 18px; }

/* ============================================================================
   MASTER CONTACT PAGE POLISH — FINAL BRAND ALIGNMENT
   Objective: Execute the final 'Sacred Soil' pass on the contact page.
   Focus: Neutralizing blue tints, elevating form inputs, and unifying geometry.
   ============================================================================ */

/* ── 1. GLOBAL SURFACE & VIGNETTE NEUTRALIZATION ── */

body.template-page.contact,
.ag-contact-page {
  background-color: #fffcf8 !important; /* Premium cream base */
}

/* Eliminate legacy blue/purple glows from any high-level wrappers */
.ag-contact-page .ag-shell,
.ag-contact-page .ag-site-frame,
.ag-contact-page::after {
  box-shadow: none !important;
  background: transparent !important;
}

/* ── 2. FORM ELEMENTS: PREMIUM TYPOGRAPHY & CONTRAST ── */

/* Standardize input containers */
.ag-contact-page .ag-form-input,
.ag-contact-page .ag-form-select,
.ag-contact-page .ag-form-textarea,
.ag-contact-page .ag-contact-body-form .ag-form-input,
.ag-contact-page .ag-contact__form-input,
.ag-contact-page .ag-contact__form-select,
.ag-contact-page .ag-contact__form-textarea {
  border-radius: 12px !important;
  border: 1.5px solid rgba(14, 62, 41, 0.08) !important;
  background-color: #ffffff !important;
  font-family: var(--ag-font-ui, 'Work Sans', sans-serif) !important;
  font-size: 0.9375rem !important;
  color: var(--ag-color-forest-900) !important;
  padding: 1rem 1.25rem !important;
  transition: all 0.3s cubic-bezier(0.2, 0, 0, 1) !important;
}

/* High-contrast, non-browser-default placeholders */
::placeholder {
  color: #5C5340 !important; /* Earthy brown for readability and premium feel */
  font-style: normal !important;
  opacity: 0.65 !important;
}

.ag-contact-page .ag-form-input:focus,
.ag-contact-page .ag-form-textarea:focus {
  border-color: var(--ag-color-gold-bright, #f6b900) !important;
  box-shadow: 0 0 0 4px rgba(246, 185, 0, 0.1) !important;
  outline: none !important;
}

/* ── 3. UNIFIED CARD GEOMETRY (THE AGRIKO LIFT) ── */

/* Apply consistent radius and elevation to contact modules */
.ag-contact-page .ag-contact__form-card,
.ag-contact-page .ag-contact-body-location-card,
.ag-contact-page .ag-contact-body-main__direct-card,
.ag-contact-page .ag-contact-body-intro__contact-row,
.ag-contact-page .ag-contact-body-faq__item,
.ag-contact-page .ag-contact__trust-card {
  border-radius: 16px !important;
  border: 1px solid rgba(14, 62, 41, 0.06) !important;
  box-shadow: 0 4px 20px rgba(14, 62, 41, 0.03) !important;
  background: #ffffff !important;
  transition: transform 0.4s cubic-bezier(0.2, 0, 0, 1), 
              box-shadow 0.4s cubic-bezier(0.2, 0, 0, 1), 
              border-color 0.4s ease !important;
}

.ag-contact-page .ag-contact__form-card:hover,
.ag-contact-page .ag-contact-body-location-card:hover,
.ag-contact-page .ag-contact-body-faq__item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px -12px rgba(14, 62, 41, 0.12) !important;
  border-color: rgba(246, 185, 0, 0.3) !important;
}

/* ── 4. CTA & BUTTON NORMALIZATION ── */

.ag-contact-page .ag-form-submit,
.ag-contact-page .ag-contact__form-submit {
  background: var(--ag-color-gold-bright, #f6b900) !important;
  color: var(--ag-color-forest-900) !important;
  border-radius: 8px !important;
  height: 54px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(246, 185, 0, 0.2) !important;
  transition: all 0.3s ease !important;
}

.ag-contact-page .ag-form-submit:hover,
.ag-contact-page .ag-contact__form-submit:hover {
  background-color: var(--ag-color-forest-900) !important;
  color: var(--ag-color-gold-bright) !important;
  transform: translateY(-2px) !important;
}

/* ── 5. NEUTRALIZING LEGACY BLUE COMPONENTS ── */

.ag-contact-page .ag-contact__quick-link--messenger {
  background: rgba(246, 185, 0, 0.05) !important;
  border: 1px solid rgba(246, 185, 0, 0.2) !important;
  color: var(--ag-color-forest-900) !important;
}

.ag-contact-page .ag-contact__quick-link--messenger:hover {
  background: rgba(246, 185, 0, 0.1) !important;
}

/* ── 6. ICONOGRAPHY & REFINEMENTS ── */

.ag-contact-page .ag-icon,
.ag-contact-page .ag-contact-body-faq__icon,
.ag-contact-page .ag-contact__location-icon {
  stroke-width: 1.5px !important;
  color: var(--ag-color-forest-600) !important;
}

/* Standardize labels to match brand kicker style */
.ag-contact-page .ag-form-label {
  font-family: var(--ag-font-ui) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  color: var(--ag-color-forest-600) !important;
  margin-bottom: 0.625rem !important;
}

/* Final bottom polish overlay */
.ag-contact-page::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at center, transparent 75%, rgba(14, 62, 41, 0.015) 100%) !important;
  z-index: 9999;
}

/* ============================================================================
   MASTER CONTACT PAGE POLISH — PASS 2 (FINAL DETAILS)
   Objective: Refine micro-interactions and input precision for the contact page.
   ============================================================================ */

/* ── 1. SUBJECT PICKER & BUTTONS ── */

.ag-contact-page .ag-contact-body-main__subject {
  border-radius: 12px !important;
  font-family: var(--ag-font-ui) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: all 0.3s cubic-bezier(0.2, 0, 0, 1) !important;
  border: 1.5px solid rgba(14, 62, 41, 0.08) !important;
}

.ag-contact-page .ag-contact-body-main__subject.is-active {
  background: var(--ag-color-forest-900) !important;
  color: var(--ag-color-gold-bright) !important;
  border-color: var(--ag-color-forest-900) !important;
  box-shadow: 0 8px 20px rgba(14, 62, 41, 0.15) !important;
  transform: translateY(-2px) !important;
}

.ag-contact-page .ag-contact-body-main__subject:hover:not(.is-active) {
  background: rgba(246, 185, 0, 0.05) !important;
  border-color: rgba(246, 185, 0, 0.2) !important;
  transform: translateY(-1px) !important;
}

/* ── 2. FORM TYPOGRAPHY REFINEMENT ── */

.ag-contact-page .ag-contact-body-intro__contact-note {
  font-family: var(--ag-font-body) !important;
  color: var(--ag-color-ink-700) !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  margin-top: 1.5rem !important;
}

.ag-contact-page .ag-form-submit,
.ag-contact-page .ag-contact__form-submit {
  height: 54px !important; /* Perfect system height */
  border-radius: 8px !important;
}

/* ── 3. FAQ ACCORDION MICRO-POLISH ── */

.ag-contact-page .ag-contact-body-faq__item {
  border-radius: 16px !important;
  margin-bottom: 0.75rem !important;
}

.ag-contact-page .ag-contact-body-faq__item[open] {
  background: #ffffff !important;
  box-shadow: 0 20px 48px -12px rgba(14, 62, 41, 0.1) !important;
  border-color: rgba(246, 185, 0, 0.4) !important;
}

.ag-contact-page .ag-contact-body-faq__index {
  border-radius: 10px !important;
  width: 48px !important;
  height: 48px !important;
  font-family: var(--ag-font-display) !important;
  font-size: 1.25rem !important;
}

/* ── 4. SYSTEM-WIDE ICON STROKE ── */

.ag-contact-page .ag-icon,
.ag-contact-page svg {
  stroke-width: 1.5px !important;
}

/* ── 5. HERO PARITY ── */

body.template-page.contact .ag-contact__eyebrow {
  font-family: var(--ag-font-handwritten) !important;
  color: var(--ag-color-gold-bright) !important;
  text-transform: none !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
}

body.template-page.contact .ag-contact__cta {
  height: 54px !important;
  border-radius: 999px !important; /* Keep pill shape for hero CTA */
  padding: 0 3rem !important;
}
