/* ArcherySuccess - Main Stylesheet */
/* Matching original GoDaddy site design */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Mulish:wght@300;400;500;600;700&display=swap');

/* CSS Variables */
:root {
  --color-primary: #005A00;
  --color-primary-dark: #004400;
  --color-primary-light: #007700;
  --color-dark: #161616;
  --color-secondary: #f7f7f7;
  --color-text: #333333;
  --color-text-light: #666666;
  --color-white: #ffffff;
  --color-border: #e0e0e0;
  --font-heading: 'Quicksand', sans-serif;
  --font-body: 'Mulish', 'Quicksand', sans-serif;
  --max-width: 1200px;
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2.5rem;
  --spacing-xl: 4rem;
  --border-radius: 8px;
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
  line-height: 1.8;
  background-color: var(--color-white);
  font-weight: 300;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--color-primary-light);
}

ul {
  list-style: none;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: var(--spacing-sm);
}

h1 { font-size: 2.75rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.35rem; }

p {
  margin-bottom: var(--spacing-sm);
}

/* Layout */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--spacing-md);
}


.section {
  padding: var(--spacing-xl) 0;
}

/* Reduce top padding for first section after page header */
.page-header + .section {
  padding-top: var(--spacing-md);
}

/* Reduce top padding for section after newsletter banner */
.newsletter-banner + .section {
  padding-top: var(--spacing-md);
}

.section-alt {
  background-color: var(--color-secondary);
}

/* Announcement Bar */
.announcement-bar {
  background-color: var(--color-dark);
  color: #ffffcc;
  text-align: center;
  padding: 6px var(--spacing-md);
  font-size: 1.1rem;
  font-family: var(--font-heading);
}

/* Header & Navigation - Dark Green Style */
.header {
  background-color: var(--color-primary);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--spacing-xs);
  padding-bottom: var(--spacing-xs);
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-white);
}

.logo:hover {
  color: var(--color-white);
}

.logo img {
  height: 60px !important;
  width: auto;
  object-fit: contain;
  max-width: none;
}

.logo-text {
  display: flex;
  align-items: center;
}

.logo-archery {
  color: var(--color-white);
}

.logo-success {
  color: #f7c948;
}

/* Dropdown arrow */
.dropdown-arrow {
  font-size: 1.5em;
  margin-left: 8px;
  vertical-align: middle;
}

.nav {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.nav > a,
.nav .dropdown > a {
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: 1.125rem;
  padding: var(--spacing-xs) 0.75rem;
  border-radius: var(--border-radius);
  transition: background-color 0.3s ease;
  white-space: nowrap;
}

.nav > a:hover,
.nav .dropdown > a:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--color-white);
}

.nav > a.active {
  text-decoration: underline;
  text-underline-offset: 4px;
  background-color: transparent;
  color: var(--color-white);
}

.nav .dropdown > a.active {
  text-decoration: none;
  background-color: transparent;
  color: var(--color-white);
}

.nav .dropdown > a.active .nav-text {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Dropdown */
.dropdown {
  position: relative;
}

.dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-primary);
  box-shadow: var(--shadow-lg);
  border-radius: var(--border-radius);
  min-width: 200px;
  padding: var(--spacing-xs) 0;
  z-index: 100;
  margin-top: 4px;
}

/* Hover disabled - using JavaScript .open class for all devices */
.dropdown.open .dropdown-content {
  display: block;
}

.dropdown-content a {
  display: block;
  padding: var(--spacing-xs) var(--spacing-sm);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
}

.dropdown-content a:hover,
.dropdown-content a.active {
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--color-white);
}

/* Mobile Menu Toggle */
.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--color-white);
  padding: var(--spacing-xs);
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

/* Mobile/Desktop visibility */
.mobile-only {
  display: none !important;
}

.desktop-only {
  display: block;
}

/* Ensure nav mobile-only items are hidden on desktop */
.nav .mobile-only {
  display: none !important;
}

/* Priority Plus Navigation - collapsed items */
.nav-collapsed {
  display: none !important;
}

/* Store Buttons Section - Top of Page */
.store-buttons-section {
  padding: var(--spacing-lg) 0;
}

.store-buttons-top {
  display: flex;
  justify-content: center;
  gap: var(--spacing-xl);
  flex-wrap: wrap;
}

.store-badge img {
  height: 60px;
  width: auto;
}

@media (max-width: 600px) {
  .store-buttons-top {
    gap: var(--spacing-md);
  }

  .store-badge img {
    height: 50px;
  }
}

/* Store Badges - Centered */
.store-badges {
  display: flex;
  justify-content: center;
  gap: var(--spacing-lg);
  flex-wrap: wrap;
}

.store-badges .store-badge {
  height: 50px;
  width: auto;
}

/* Store Badges - Large (ArcheryTimers page) */
.store-badges-large {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xl);
  flex-wrap: wrap;
}

.store-badges-large img {
  height: 60px;
  width: auto;
}

.store-badges-large img[alt*="App Store"] {
  height: 60px;
}

.store-badges-large img[alt*="Google Play"] {
  height: 70px;
}

/* App Header Two Column (ArcheryTimers page) */
.app-header-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
  justify-items: center;
}

.app-icon-column img {
  width: 100%;
  max-width: 550px;
  height: auto;
  border-radius: 0;
  box-shadow: none;
}

.app-info-column {
  padding: var(--spacing-md) 0;
  justify-self: start;
}

.app-title-green {
  color: var(--color-primary);
  font-style: normal;
  font-size: 2.5rem;
  margin-bottom: var(--spacing-md);
}

.app-subtitle {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: var(--spacing-xs);
}

@media (max-width: 768px) {
  .app-header-two-column {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .app-icon-column img {
    max-width: 250px;
    margin: 0 auto;
  }

  .store-badges-large img {
    height: 60px;
  }
}

/* App Icon Large */
.app-icon-large {
  width: 150px;
  height: auto;
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow);
}

/* Subtitle */
.subtitle {
  font-size: 1.5rem;
  color: var(--color-text);
  margin-bottom: var(--spacing-xs);
}

.description-text {
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Hero Section - Light Background */
.hero-light {
  background-color: var(--color-white);
  padding: var(--spacing-lg) 0 var(--spacing-xl);
}

/* Hero Two Column - Text Left, Phone Right */
.hero-two-column-section {
  padding: var(--spacing-lg) 0;
}

.hero-two-column-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: start;
  overflow-x: clip;
  padding-bottom: var(--spacing-xl);
}

.hero-text-column {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.hero-text-block {
  text-align: center;
}

.hero-text-block .tagline {
  color: var(--color-text-light);
  font-size: 0.95rem;
  margin-bottom: var(--spacing-xs);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.hero-text-block .tagline-line {
  width: 30px;
  height: 2px;
  background-color: var(--color-primary);
}

.hero-text-block h2 {
  color: var(--color-primary);
  font-size: 2.25rem;
  margin-bottom: var(--spacing-sm);
  font-weight: 500;
  font-style: normal;
}

.hero-text-block p {
  color: var(--color-text);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.hero-text-block p a {
  text-decoration: underline;
}

.hero-text-block .btn-primary {
  background-color: #666666;
  font-size: 1.125rem;
}

.hero-text-block .btn-primary:hover {
  background-color: #555555;
}

.hero-phone-column {
  position: sticky;
  top: 100px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow-x: clip;
}

.hero-phone-column img {
  max-width: 140%;
  height: auto;
  border-radius: 12px !important;
  clip-path: inset(0 round 12px);
  box-shadow: var(--shadow-lg);
  transform: scale(1.2);
  transform-origin: top center;
}

@media (max-width: 768px) {
  .hero-two-column-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .hero-phone-column {
    position: static;
    order: -1;
  }

  .hero-phone-column img {
    max-width: 300px;
    margin: 0 auto;
    transform: none;
  }

  .hero-text-block h2 {
    font-size: 1.75rem;
  }

  .hero-text-block .tagline-line {
    display: none;
  }
}

.hero-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

.hero-text-content {
  text-align: center;
}

.hero-text-content .tagline {
  color: var(--color-text-light);
  font-size: 1rem;
  margin-bottom: var(--spacing-xs);
  position: relative;
  display: inline-block;
}

.hero-text-content .tagline::before {
  content: '';
  position: absolute;
  left: -40px;
  top: 50%;
  width: 30px;
  height: 2px;
  background-color: var(--color-primary);
}

.hero-title {
  color: var(--color-primary);
  font-size: 3rem;
  margin-bottom: var(--spacing-md);
  font-weight: 500;
  font-style: normal;
}

.hero-text-content p {
  color: var(--color-text);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.hero-image-content {
  display: flex;
  justify-content: center;
}

.hero-phone-image {
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-lg);
}

@media (max-width: 768px) {
  .hero-two-column {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-text-content .tagline::before {
    display: none;
  }

  .hero-image-content {
    order: -1;
  }

  .hero-phone-image {
    max-width: 300px;
  }

  .hero-title {
    font-size: 2rem;
  }
}

/* Content Two Column Layout */
.content-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: start;
}

.content-two-column.reverse {
  direction: rtl;
}

.content-two-column.reverse > * {
  direction: ltr;
}

.content-text h2 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
}

.content-text p {
  line-height: 1.8;
  margin-bottom: var(--spacing-sm);
}

.content-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

@media (max-width: 768px) {
  .content-two-column {
    grid-template-columns: 1fr;
  }

  .content-two-column.reverse {
    direction: ltr;
  }

  .content-image {
    text-align: center;
  }

  .content-image img {
    max-width: 300px;
  }
}

/* Feature Accordions */
.feature-tabs {
  max-width: 800px;
  margin: 0 auto;
}

.feature-accordion {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  margin-bottom: var(--spacing-sm);
  background: var(--color-white);
}

.feature-accordion summary {
  padding: var(--spacing-md);
  cursor: pointer;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-primary);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.feature-accordion summary::-webkit-details-marker {
  display: none;
}

.feature-accordion summary::after {
  content: '+';
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-primary);
}

.feature-accordion[open] summary::after {
  content: '-';
}

.feature-accordion summary:hover {
  background-color: var(--color-secondary);
}

.feature-accordion-content {
  padding: 0 var(--spacing-md) var(--spacing-md);
  border-top: 1px solid var(--color-border);
}

.feature-accordion-content ul {
  margin-top: var(--spacing-sm);
}

/* Social Links Large */
.social-links-large {
  display: flex;
  gap: var(--spacing-md);
  justify-content: center;
  align-items: center;
}

.social-links-large a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--color-primary);
  border-radius: 50%;
  color: var(--color-white);
  transition: background-color 0.3s ease;
}

.social-links-large a:hover {
  background: var(--color-primary-light);
}

.social-links-large .social-icon {
  width: 24px;
  height: 24px;
}

/* Hero with Background Image - Home Page */
.hero-with-bg {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.hero-bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-with-bg .container {
  position: relative;
  z-index: 1;
  width: 100%;
}

.hero-overlay-content {
  padding: var(--spacing-xl) 0;
}

.hero-text-side {
  background: rgba(255, 255, 255, 0.95);
  padding: var(--spacing-lg);
  border-radius: var(--border-radius);
  max-width: 550px;
}

.hero-text-side .tagline {
  color: var(--color-text-light);
  font-size: 1rem;
  margin-bottom: var(--spacing-xs);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.tagline-line {
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: var(--color-primary);
}

.hero-text-side p {
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.hero-phone-side {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-phone-large {
  max-width: 350px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

@media (max-width: 992px) {
  .hero-text-side {
    max-width: 100%;
  }

  .hero-text-side .tagline {
    justify-content: center;
  }

  .hero-overlay-content {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .hero-with-bg {
    min-height: auto;
  }

  .hero-phone-large {
    max-width: 220px;
  }

  .hero-text-side {
    padding: var(--spacing-md);
  }
}

/* Centered Content Sections */
.centered-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.centered-content h2 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
}

.centered-content p {
  line-height: 1.8;
}

/* Wide Feature Tabs */
.feature-tabs-wide {
  max-width: 1000px;
  margin: 0 auto;
}

/* Legacy Hero Section - With Background Image (for other pages if needed) */
.hero {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
              url('../images/index/hero-bg.jpg') center/cover no-repeat;
  background-color: var(--color-dark);
  color: var(--color-white);
  padding: var(--spacing-xl) 0;
  text-align: center;
  min-height: 500px;
  display: flex;
  align-items: center;
}

.hero .container {
  width: 100%;
}

.hero h1 {
  font-size: 3rem;
  margin-bottom: var(--spacing-sm);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.hero .subtitle {
  font-size: 1.25rem;
  opacity: 0.95;
  margin-bottom: var(--spacing-md);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.hero .stats {
  font-size: 1.1rem;
  margin-bottom: var(--spacing-lg);
}

/* Buttons */
.btn {
  display: inline-block;
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--border-radius);
  font-family: var(--font-heading);
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  font-size: 1rem;
}

.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-primary:hover {
  background-color: var(--color-primary-light);
  color: var(--color-white);
}

.btn-outline {
  background-color: transparent;
  border: 2px solid var(--color-white);
  color: var(--color-white);
}

.btn-outline:hover {
  background-color: var(--color-white);
  color: var(--color-primary);
}

.btn-group {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
  flex-wrap: wrap;
}

/* App Store Buttons */
.store-buttons {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
  flex-wrap: wrap;
}

.store-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background-color: #000;
  color: var(--color-white);
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--border-radius);
  min-width: 150px;
  text-align: center;
}

.store-btn span {
  font-size: 0.75rem;
  opacity: 0.9;
}

.store-btn strong {
  font-size: 1.1rem;
}

.store-btn:hover {
  background-color: #333;
  color: var(--color-white);
}

/* Feature Cards */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-md);
}

.feature-card {
  background: var(--color-white);
  border-radius: var(--border-radius);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: left;
}

.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

.feature-card h3 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  font-size: 1.25rem;
  text-align: center;
}

.feature-card p {
  color: var(--color-text-light);
  margin-bottom: var(--spacing-sm);
}

.feature-card .btn {
  margin-top: var(--spacing-sm);
  display: block;
  text-align: center;
}

/* Value Props */
.value-props {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--spacing-lg);
  text-align: center;
}

.value-prop {
  padding: var(--spacing-md);
}

.value-prop-icon {
  font-size: 3.5rem;
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
}

.value-prop h3 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-xs);
}

/* Footer - Light Style */
.footer {
  background-color: #f5f5f5;
  color: #000000;
  padding: var(--spacing-md) 0;
}

.footer h4 {
  margin-bottom: var(--spacing-sm);
  color: #000000;
  font-family: var(--font-heading);
  font-size: 1.1rem;
}

.footer p {
  color: rgba(0, 0, 0, 0.7);
  font-size: 0.9rem;
}

.footer a {
  color: rgba(0, 0, 0, 0.8);
}

.footer a:hover {
  color: #000000;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  align-items: center;
}

.footer-links a {
  font-size: 1.05rem;
  font-weight: 600;
  font-family: var(--font-heading);
}

.footer .social-links {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
  width: 100%;
  margin: var(--spacing-sm) 0;
}

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  font-size: 0.9rem;
  transition: background-color 0.3s ease;
}

.social-links a:hover {
  background: rgba(0, 0, 0, 0.2);
}

/* Social Icons using CSS masks - define once, reuse everywhere */
.social-icon {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  display: inline-block;
}

.social-icon-facebook {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E") no-repeat center;
}

.social-icon-instagram {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") no-repeat center;
}

.social-icon-twitter {
  width: 18px;
  height: 18px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center;
}

.social-icon-youtube {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E") no-repeat center;
}

.footer-menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  padding: var(--spacing-md) 0;
}

.footer-menu a {
  color: #000000;
  font-size: 1.05rem;
  font-weight: 600;
  font-family: var(--font-heading);
}

.footer-menu a:hover {
  color: rgba(0, 0, 0, 0.7);
}

.footer-bottom {
  padding-top: var(--spacing-md);
  text-align: center;
  font-size: 1.05rem;
  font-weight: 600;
  font-family: var(--font-heading);
  color: rgba(255, 255, 255, 0.8);
}

/* Contact Form */
.contact-form {
  max-width: 600px;
  margin: 0 auto;
  background: var(--color-white);
  padding: var(--spacing-lg);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

.form-group {
  margin-bottom: var(--spacing-md);
}

.form-group label {
  display: block;
  margin-bottom: var(--spacing-xs);
  font-weight: 600;
  font-family: var(--font-heading);
  color: var(--color-text);
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: var(--spacing-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  font-family: var(--font-body);
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--color-primary);
}

.form-group textarea {
  min-height: 150px;
  resize: vertical;
}

/* Page Header */
.page-header {
  background: var(--color-white);
  color: var(--color-text);
  padding: var(--spacing-md) 0 var(--spacing-xs);
  text-align: center;
}

.page-header h1 {
  margin-bottom: var(--spacing-sm);
  color: var(--color-primary);
  font-style: normal;
  font-size: 2rem;
}

.heading-icon {
  height: 1.2em;
  width: auto;
  vertical-align: middle;
  margin: 0 0.1em;
}

.page-icon {
  height: 100px;
  width: auto;
  display: block;
  margin: var(--spacing-sm) auto;
}

.page-header p {
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--color-text);
}

.page-header a {
  color: var(--color-primary);
  text-decoration: underline;
}

/* Feature icons row in page header */
.page-header .main-features-icons {
  margin-top: var(--spacing-md);
}

/* Content Sections */
.two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

.two-column.reverse {
  direction: rtl;
}

.two-column.reverse > * {
  direction: ltr;
}

.two-column img {
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-lg);
}

/* Image Gallery */
.image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-md);
}

.image-gallery img {
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

/* Responsive */
@media (max-width: 992px) {
  .nav {
    gap: var(--spacing-sm);
  }
}

@media (max-width: 768px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }

  .hero {
    min-height: 400px;
    padding: var(--spacing-lg) 0;
  }

  .hero h1 { font-size: 2rem; }
  .hero .subtitle { font-size: 1rem; }

  .header .container {
    position: relative;
  }

  .logo img {
    max-width: 250px;
    height: auto;
  }

  .menu-toggle {
    flex-shrink: 0;
    margin-left: auto;
  }

  .nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-white);
    flex-direction: column;
    padding: var(--spacing-lg) 0;
    gap: 0;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .nav.active {
    display: flex;
  }

  .nav > a,
  .nav .dropdown > a {
    display: block;
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    color: var(--color-text) !important;
    font-size: 1.25rem;
    font-weight: 400;
    border: none;
    background: transparent !important;
    text-align: left !important;
  }

  .nav > a:hover,
  .nav > a.active,
  .nav .dropdown > a:hover {
    color: var(--color-primary) !important;
    background: transparent !important;
  }

  .menu-toggle {
    display: flex;
  }

  .dropdown {
    width: 100%;
    text-align: left !important;
  }

  .dropdown > a {
    touch-action: manipulation;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  .dropdown-content {
    display: none;
    position: static;
    box-shadow: none;
    background: transparent !important;
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .dropdown.open .dropdown-content {
    display: block !important;
  }

  .dropdown-content a {
    color: var(--color-text-light) !important;
    padding: var(--spacing-sm) var(--spacing-md);
    padding-left: var(--spacing-xl);
    font-size: 1.1rem;
    font-weight: 400;
    text-align: left !important;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 90, 0, 0.2);
  }

  .dropdown-content a:hover,
  .dropdown-content a:active,
  .dropdown-content a:focus {
    background: rgba(0, 90, 0, 0.1) !important;
    color: var(--color-primary) !important;
  }

  .dropdown-arrow {
    display: inline-block;
    float: right;
    margin-right: var(--spacing-md);
    transition: transform 0.3s ease;
    font-size: 0.8rem;
  }

  .dropdown.open .dropdown-arrow {
    transform: rotate(180deg);
  }

  .mobile-only {
    display: block !important;
  }

  .desktop-only {
    display: none !important;
  }

  .two-column {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .two-column.reverse {
    direction: ltr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    text-align: left;
  }

  .social-links {
    justify-content: flex-start;
  }

  .features-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .social-links {
    justify-content: center;
    gap: var(--spacing-xs);
  }

  .store-buttons {
    flex-direction: column;
    align-items: center;
  }

  .store-btn {
    width: 100%;
    max-width: 200px;
  }
}

/* Utility Classes */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-primary { color: var(--primary-color); }
.text-muted { color: #666; }

/* Feature list styling for bullet points */
.feature-list {
  margin: 1rem 0;
  padding-left: 1.5rem;
  list-style: disc;
  color: #666;
}
.feature-list li {
  margin-bottom: 0.75rem;
  line-height: 1.6;
}
.feature-list a {
  color: var(--primary-color);
  text-decoration: underline;
}
.feature-content h2 {
  margin-bottom: 0.5rem;
}
.feature-content p {
  margin-bottom: 0.75rem;
}

/* Settings page two-column layout with circular images */
.settings-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
}

.settings-column {
  text-align: center;
}

.circular-image {
  width: 300px;
  height: 300px;
  margin: 0 auto var(--spacing-md);
  border-radius: 50%;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.circular-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.settings-column h2 {
  margin-bottom: var(--spacing-md);
}

.settings-column .feature-list {
  text-align: left;
  list-style: disc;
  padding-left: 1.5rem;
  color: #666;
}

.settings-column .feature-list li {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.settings-column .feature-list a {
  color: var(--primary-color);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .settings-two-column {
    grid-template-columns: 1fr;
  }

  .circular-image {
    width: 250px;
    height: 250px;
  }
}

.mt-sm { margin-top: var(--spacing-sm); }
.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }

.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-0 { margin-bottom: 0; }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Special page styles */
blockquote {
  font-style: italic;
  border-left: 4px solid var(--color-primary);
  padding-left: var(--spacing-md);
  margin: var(--spacing-md) 0;
  color: var(--color-text-light);
}

ol, ul.bullet-list {
  padding-left: var(--spacing-md);
}

ol li, ul.bullet-list li {
  margin-bottom: var(--spacing-xs);
}

ul.bullet-list {
  list-style: disc;
}

/* Hero with Phone Mockup */
.hero-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
  text-align: left;
}

.hero-text {
  max-width: 600px;
}

.hero-text h1 {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-phone {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-phone img {
  max-width: 300px;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
  .hero-content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-phone {
    order: -1;
  }

  .hero-phone img {
    max-width: 200px;
  }

  .store-buttons {
    justify-content: center;
  }
}

/* App Store Button Styles (like real badges) */
.store-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #000;
  color: var(--color-white);
  padding: 10px 16px;
  border-radius: 8px;
  min-width: 140px;
  text-align: left;
  border: 1px solid #a6a6a6;
}

.store-btn .store-icon {
  font-size: 28px;
}

.store-btn .store-text {
  display: flex;
  flex-direction: column;
}

.store-btn .store-text span {
  font-size: 10px;
  opacity: 0.9;
  line-height: 1.2;
}

.store-btn .store-text strong {
  font-size: 18px;
  line-height: 1.2;
}

.store-btn:hover {
  background-color: #333;
  color: var(--color-white);
}

/* Target Face Grid */
.target-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--spacing-lg);
}

.target-card {
  background: var(--color-white);
  border-radius: var(--border-radius);
  padding: var(--spacing-md);
  box-shadow: var(--shadow);
  text-align: center;
  border: 1px solid var(--color-border);
}

.target-card h3 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-sm);
  font-size: 1.1rem;
}

.target-card p {
  color: var(--color-text-light);
  font-size: 0.9rem;
  margin-bottom: 0;
}

/* Target Face Images */
.target-face {
  width: 120px;
  height: 120px;
  margin: 0 auto var(--spacing-sm);
  border-radius: 50%;
  position: relative;
}

.target-face-wa {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 20%,
    #FF0000 20%, #FF0000 40%,
    #00BFFF 40%, #00BFFF 60%,
    #000 60%, #000 80%,
    #fff 80%, #fff 100%);
  border: 2px solid #333;
}

.target-face-field {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 25%,
    #000 25%, #000 50%,
    #fff 50%, #fff 100%);
  border: 2px solid #333;
}

.target-face-vegas {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 33%,
    #FF0000 33%, #FF0000 66%,
    #00BFFF 66%, #00BFFF 100%);
  border: 2px solid #333;
}

.target-face-lancaster {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 25%,
    #FF0000 25%, #FF0000 50%,
    #00BFFF 50%, #00BFFF 75%,
    #fff 75%, #fff 100%);
  border: 2px solid #333;
}

.target-face-nfaa {
  background: radial-gradient(circle,
    #fff 0%, #fff 20%,
    #00BFFF 20%, #00BFFF 100%);
  border: 2px solid #333;
}

.target-face-3d {
  background: linear-gradient(135deg, #8B4513, #654321);
  border: 2px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2.5rem;
}

.target-face-compound {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 15%,
    #FF0000 15%, #FF0000 30%,
    #00BFFF 30%, #00BFFF 45%,
    #000 45%, #000 60%,
    #fff 60%, #fff 100%);
  border: 2px solid #333;
}

.target-face-ifaa {
  background: radial-gradient(circle,
    #fff 0%, #fff 15%,
    #000 15%, #000 100%);
  border: 2px solid #333;
}

.target-face-imperial {
  background: radial-gradient(circle,
    #FFD700 0%, #FFD700 20%,
    #FF0000 20%, #FF0000 40%,
    #00BFFF 40%, #00BFFF 60%,
    #000 60%, #000 80%,
    #fff 80%, #fff 100%);
  border: 2px solid #333;
}

/* PDF Download Table */
.download-table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--spacing-lg) 0;
  background: var(--color-white);
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.download-table th,
.download-table td {
  padding: var(--spacing-sm) var(--spacing-md);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.download-table th {
  background: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: 600;
}

.download-table tr:hover {
  background-color: var(--color-secondary);
}

.download-table tr:last-child td {
  border-bottom: none;
}

.download-link {
  color: var(--color-primary);
  font-weight: 600;
}

.download-link:hover {
  text-decoration: underline;
}

/* Cookie Consent Banner */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--color-dark);
  color: var(--color-white);
  padding: var(--spacing-md);
  z-index: 9999;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
  display: none;
}

.cookie-banner.show {
  display: block;
}

.cookie-banner .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
  flex-wrap: wrap;
}

.cookie-banner p {
  margin: 0;
  flex: 1;
  min-width: 250px;
}

.cookie-banner a {
  color: #4da6ff;
}

.cookie-buttons {
  display: flex;
  gap: var(--spacing-sm);
}

.cookie-btn {
  padding: var(--spacing-xs) var(--spacing-md);
  border-radius: var(--border-radius);
  font-family: var(--font-heading);
  font-weight: 600;
  cursor: pointer;
  border: none;
  font-size: 0.9rem;
}

.cookie-btn-accept {
  background: var(--color-primary);
  color: var(--color-white);
}

.cookie-btn-accept:hover {
  background: var(--color-primary-light);
}

.cookie-btn-decline {
  background: transparent;
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.cookie-btn-decline:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Organization Badges */
.org-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--spacing-md);
  margin: var(--spacing-lg) 0;
}

.org-badge {
  background: var(--color-white);
  border: 2px solid var(--color-primary);
  border-radius: var(--border-radius);
  padding: var(--spacing-md);
  text-align: center;
}

.org-badge h4 {
  color: var(--color-primary);
  font-size: 1rem;
  margin-bottom: var(--spacing-xs);
}

.org-badge p {
  font-size: 0.85rem;
  color: var(--color-text-light);
  margin: 0;
}

/* Round List */
.round-list {
  columns: 2;
  column-gap: var(--spacing-lg);
  list-style: disc;
  padding-left: var(--spacing-md);
}

.round-list li {
  margin-bottom: var(--spacing-xs);
  break-inside: avoid;
}

@media (max-width: 768px) {
  .round-list {
    columns: 1;
  }
}

/* Newsletter Form */
.newsletter-form {
  max-width: 500px;
  margin: 0 auto;
}

.newsletter-input-group {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
}

.newsletter-input-group input {
  flex: 1;
  max-width: 300px;
  padding: var(--spacing-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  font-family: var(--font-body);
  font-size: 1rem;
}

.newsletter-input-group input:focus {
  outline: none;
  border-color: var(--color-primary);
}

@media (max-width: 480px) {
  .newsletter-input-group {
    flex-direction: column;
    align-items: center;
  }

  .newsletter-input-group input {
    width: 100%;
    max-width: none;
  }

  .newsletter-input-group .btn {
    width: 100%;
  }
}

/* Phone Screenshot */
.phone-mockup {
  max-width: 320px;
  margin: 0 auto;
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.phone-mockup:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.phone-mockup img {
  width: 100%;
  display: block;
}

/* Image Lightbox */
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  cursor: pointer;
}

.lightbox-overlay.active {
  opacity: 1;
  visibility: visible;
}

.lightbox-overlay img {
  max-width: 90%;
  max-height: 90vh;
  border-radius: 12px !important;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
  transform: scale(0.9);
  transition: transform 0.3s ease;
}

.lightbox-overlay.active img {
  transform: scale(1);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.lightbox-close:hover {
  opacity: 1;
}

@media (max-width: 480px) {
  .lightbox-close {
    top: 10px;
    right: 15px;
    font-size: 30px;
  }
}

/* Clickable images in content sections */
main .section img:not(.no-lightbox):not(.plotting-circle),
main .blog-content img:not(.no-lightbox) {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border-radius: var(--border-radius);
}

main .section img:not(.no-lightbox):not(.plotting-circle):hover,
main .blog-content img:not(.no-lightbox):hover {
  transform: scale(1.02);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

/* Section with Phone */
.section-with-phone {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-xl);
  align-items: center;
}

.section-with-phone.reverse {
  direction: rtl;
}

.section-with-phone.reverse > * {
  direction: ltr;
}

@media (max-width: 768px) {
  .section-with-phone {
    grid-template-columns: 1fr;
  }

  .section-with-phone.reverse {
    direction: ltr;
  }
}

/* Phone Grid Layouts - for multiple phone screenshots */
.phone-grid-2,
.phone-grid-3 {
  display: grid;
  gap: var(--spacing-lg);
  justify-items: center;
  margin: var(--spacing-lg) 0;
}

.phone-grid-2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.phone-grid-3 {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

.phone-grid-2 .phone-mockup,
.phone-grid-3 .phone-mockup {
  max-width: 320px;
  position: static;
}

@media (max-width: 900px) {
  .phone-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
  }
}

@media (max-width: 600px) {
  .phone-grid-2,
  .phone-grid-3 {
    grid-template-columns: 1fr;
    max-width: 320px;
  }
}

/* =====================================================
   RESPONSIVE ENHANCEMENTS
   ===================================================== */

/* Responsive Table Wrapper */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: var(--spacing-lg) 0;
}

.table-responsive .download-table {
  margin: 0;
}

@media (max-width: 768px) {
  .download-table {
    font-size: 0.875rem;
  }

  .download-table th,
  .download-table td {
    padding: var(--spacing-xs) var(--spacing-sm);
    white-space: nowrap;
  }
}

/* Touch Target Improvements (44px minimum) */
.btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav > a,
.nav .dropdown > a {
  min-height: 44px;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .footer-links a {
    padding: var(--spacing-sm) 0;
    display: block;
    min-height: 44px;
  }

  .social-links a {
    width: 44px;
    height: 44px;
  }
}

/* Cookie Banner Mobile Layout */
@media (max-width: 600px) {
  .cookie-banner .container {
    flex-direction: column;
    text-align: center;
  }

  .cookie-banner p {
    margin-bottom: var(--spacing-sm);
  }

  .cookie-buttons {
    width: 100%;
    justify-content: center;
  }

  .cookie-btn {
    flex: 1;
    max-width: 150px;
  }
}

/* Tablet Breakpoint (1024px) */
@media (max-width: 1024px) {
  .hero-content {
    gap: var(--spacing-lg);
  }

  .hero-phone img {
    max-width: 250px;
  }

  .section-with-phone {
    gap: var(--spacing-lg);
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .target-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .value-props {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile Spacing Reductions (768px) */
@media (max-width: 768px) {
  .section {
    padding: var(--spacing-lg) 0;
  }

  .banner-section {
    padding: var(--spacing-md) 0;
  }

  .banner-section-inner {
    padding: var(--spacing-lg) var(--spacing-md);
  }

  .hero-two-column-section {
    padding: var(--spacing-md) 0;
  }

  .hero-two-column-grid {
    gap: var(--spacing-lg);
  }

  .hero-text-block {
    margin-bottom: var(--spacing-md);
  }
}

/* Fluid Typography with clamp() */
h1 { font-size: clamp(2rem, 5vw, 2.75rem); }
h2 { font-size: clamp(1.75rem, 4vw, 2.25rem); }
h3 { font-size: clamp(1.5rem, 3vw, 1.75rem); }
h4 { font-size: clamp(1.2rem, 2.5vw, 1.35rem); }

.hero h1,
.hero-title {
  font-size: clamp(2rem, 6vw, 3rem);
}

.hero .subtitle {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
}

.page-header h1 {
  font-size: clamp(1.75rem, 5vw, 2.75rem);
}

/* Store Buttons Earlier Stacking */
@media (max-width: 600px) {
  .store-buttons {
    flex-direction: column;
    align-items: center;
  }

  .store-btn {
    width: 100%;
    max-width: 220px;
    justify-content: center;
  }
}

/* Improved Mobile Spacing */
@media (max-width: 480px) {
  .section {
    padding: var(--spacing-lg) 0;
  }

  .container {
    padding: 0 var(--spacing-sm);
  }

  .page-header {
    padding: var(--spacing-sm) 0;
  }

  .hero {
    min-height: 350px;
  }
}

@media (max-width: 480px) {
  /* Fix grid minmax for narrow screens */
  .features-grid,
  .image-gallery {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 320px) {
  .container {
    padding: 0 0.75rem;
  }

  .circular-image {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 1;
  }

  .logo img {
    max-width: 200px;
  }

  .newsletter-input-group input {
    max-width: 100%;
  }

  .phone-mockup {
    max-width: 280px;
  }

  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.25rem; }
}

/* =====================================================
   HOMEPAGE CIRCULAR FEATURE CARDS
   ===================================================== */

/* Section Divider with text */
.section-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
  margin: var(--spacing-lg) 0;
  color: var(--color-text-light);
  font-size: 1rem;
}

/* Reduce top margin when section-divider is first in section after page header */
.page-header + .section .section-divider:first-child {
  margin-top: 0;
}

.section-divider::before,
.section-divider::after {
  content: '';
  flex: 1;
  max-width: 200px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--color-primary), transparent);
}

.section-divider span {
  white-space: nowrap;
}

/* Feature Circle Grid - 3 columns */
.feature-circle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-xl);
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .feature-circle-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
  }

  .feature-circle-img {
    max-width: 280px;
  }
}

@media (max-width: 768px) {
  .feature-circle-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
}

/* Feature Circle Card */
.feature-circle-card {
  text-align: center;
}

.feature-circle-img {
  width: 100%;
  max-width: 350px;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto var(--spacing-md);
  box-shadow: var(--shadow-lg);
}

.feature-circle-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature-circle-card h3 {
  color: var(--color-primary);
  font-size: 1.5rem;
  margin-bottom: var(--spacing-sm);
}

.feature-circle-card ul {
  text-align: left;
  list-style: disc;
  padding-left: var(--spacing-md);
  margin: 0;
}

.feature-circle-card ul li {
  margin-bottom: var(--spacing-xs);
  line-height: 1.6;
}

/* Show More / Expandable List */
.expandable-list {
  position: relative;
}

.expandable-list .hidden-items {
  display: none;
}

.expandable-list.expanded .hidden-items {
  display: block;
}

.show-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--color-primary);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.95rem;
  padding: var(--spacing-xs) 0;
  margin-top: var(--spacing-xs);
}

.show-more-btn:hover {
  color: var(--color-primary-light);
}

.show-more-btn::before {
  content: '+';
  font-weight: bold;
}

.expandable-list.expanded .show-more-btn::before {
  content: '-';
}

/* Banner Section with Background */
.banner-section {
  padding: var(--spacing-xl) 0;
}

.banner-section-inner {
  background-size: cover;
  background-position: center 30%;
  padding: var(--spacing-xl) var(--spacing-lg);
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.banner-section-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.35);
}

/* Target face background pattern */
.target-bg {
  background: url('../images/target-background.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

.banner-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-lg);
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.banner-section h2 {
  color: var(--color-white);
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2rem);
}

.banner-section .btn {
  white-space: nowrap;
}

/* Newsletter Banner with Target Background */
.newsletter-banner {
  text-align: center;
}

.newsletter-banner .banner-section-inner {
  background: url('../images/target-background.jpg');
  background-size: cover;
  background-position: center;
}

.newsletter-banner .banner-section-inner::before {
  background: rgba(0, 0, 0, 0.35);
}

.newsletter-banner h2 {
  color: var(--color-white);
  margin-bottom: var(--spacing-sm);
  position: relative;
  z-index: 1;
}

.newsletter-banner p {
  color: #ffffff;
  margin-bottom: var(--spacing-md);
  position: relative;
  z-index: 1;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.6);
  font-weight: 500;
}

.newsletter-banner .newsletter-form {
  position: relative;
  z-index: 1;
}

.newsletter-banner .newsletter-input-group input {
  background: var(--color-white);
}

/* Homepage Contact Form (gray inputs) */
.homepage-contact-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.homepage-contact-form .form-group input,
.homepage-contact-form .form-group textarea {
  background: #e8e8e8;
  border: none;
  padding: var(--spacing-md);
}

.homepage-contact-form .form-group input::placeholder,
.homepage-contact-form .form-group textarea::placeholder {
  color: var(--color-text-light);
}

.homepage-contact-form .form-group label {
  display: none;
}

.homepage-contact-form .btn {
  min-width: 120px;
}

/* Main Features Icons Row */
.main-features-icons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-lg);
}

a.main-feature-item,
a.main-feature-item:link,
a.main-feature-item:visited {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-xs);
  color: #666666;
  text-decoration: none;
  transition: color 0.3s ease;
}

a.main-feature-item:hover {
  color: #007AFF;
}

a.main-feature-item.active,
a.main-feature-item.active:link,
a.main-feature-item.active:visited {
  color: #007AFF;
}

a.main-feature-item span {
  text-decoration: none;
}

a.main-feature-item.active span {
  text-decoration: underline;
}

.main-feature-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-feature-icon svg {
  width: 40px;
  height: 40px;
  fill: currentColor;
}

a.main-feature-item span {
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: 0.9rem;
}

/* reCAPTCHA notice */
.recaptcha-notice {
  font-size: 0.85rem;
  color: var(--color-text-light);
  text-align: center;
  margin-top: var(--spacing-md);
}

.recaptcha-notice a {
  color: var(--color-primary);
}

/* =====================================================
   FAQ PAGE STYLES
   ===================================================== */

/* FAQ Question Headings */
.faq-question {
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 500;
  margin-bottom: var(--spacing-sm);
  margin-top: var(--spacing-lg);
}

.faq-question:first-child {
  margin-top: 0;
}

/* Reduce gap between FAQ sections */
.section:has(.section-divider) + .section:has(.section-divider) {
  padding-top: 0;
}

.section:has(.section-divider):has(+ .section) {
  padding-bottom: 0;
}

/* FAQ Answer Content */
.faq-answer {
  margin-bottom: var(--spacing-lg);
}

.faq-answer:last-child {
  margin-bottom: 0;
}

.faq-answer p {
  margin-bottom: var(--spacing-sm);
}

.faq-answer ol,
.faq-answer ul {
  padding-left: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

.faq-answer ol {
  list-style: decimal;
}

.faq-answer ul {
  list-style: disc;
}

.faq-answer li {
  margin-bottom: var(--spacing-xs);
}

.faq-images {
  display: flex;
  gap: var(--spacing-md);
  flex-wrap: wrap;
  margin: var(--spacing-md) 0;
}

.faq-images img {
  max-width: 200px;
  height: auto;
  border-radius: var(--border-radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Download List */
.download-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.download-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-sm) var(--spacing-md);
  border-bottom: 1px solid var(--color-border);
}

.download-list-item:nth-child(odd) {
  background-color: var(--color-secondary);
}

.download-list-item:last-child {
  border-bottom: none;
}

.download-list-item span {
  flex: 1;
}

.download-list-item a {
  color: var(--color-primary);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.download-list-item a::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--color-primary);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 16l-6-6h4V4h4v6h4l-6 6zm-8 2h16v2H4v-2z'/%3E%3C/svg%3E") no-repeat center;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 16l-6-6h4V4h4v6h4l-6 6zm-8 2h16v2H4v-2z'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
}

/* PDF Embed Section */
.pdf-article {
  margin-bottom: var(--spacing-xl);
}

.pdf-article .section-divider {
  margin-bottom: var(--spacing-sm);
}

.pdf-download-link {
  display: block;
  text-align: center;
  margin-bottom: var(--spacing-md);
  color: var(--color-primary);
  font-weight: 600;
  font-family: var(--font-heading);
}

.pdf-download-link::after {
  content: " ▶";
}

.pdf-embed-container {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: var(--color-white);
}

.pdf-embed-container iframe {
  width: 100%;
  height: 800px;
  border: none;
}

@media (max-width: 768px) {
  .pdf-embed-container iframe {
    height: 500px;
  }

  .faq-question {
    font-size: 1.4rem;
  }
}

/* =====================================================
   COACHES PAGE STYLES
   ===================================================== */

/* Coach Content Grid - Image left, text right */
.coach-content-grid {
  display: grid;
  grid-template-columns: 350px 1fr;
  gap: var(--spacing-xl);
  align-items: start;
  margin-bottom: var(--spacing-xl);
}

.coach-image img {
  width: 100%;
  max-width: 350px;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

.coach-text ul,
.coach-text ol {
  margin-bottom: var(--spacing-md);
}

.coach-text li {
  margin-bottom: var(--spacing-xs);
}

.coach-text p strong {
  color: var(--color-primary);
}

@media (max-width: 900px) {
  .coach-content-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .coach-image {
    text-align: center;
  }

  .coach-image img {
    max-width: 300px;
  }
}

/* Screenshot Gallery */
.screenshot-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-sm);
}

.screenshot-gallery img {
  width: 100%;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

/* Photo Gallery */
.photo-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-sm);
}

.photo-gallery img {
  width: 100%;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

@media (max-width: 768px) {
  .screenshot-gallery {
    grid-template-columns: 1fr;
  }

  .photo-gallery {
    grid-template-columns: 1fr;
  }
}

/* Download Box */
.download-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  border: 1px solid #ddd;
  border-radius: var(--border-radius);
  background: #f5f5f5;
}

.download-box-title {
  font-weight: 400;
  color: var(--color-text);
}

.download-box .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: var(--color-primary);
  border: none;
  padding: 0;
  font-weight: 500;
}

.download-box .btn:hover {
  background: transparent;
  text-decoration: underline;
}

.download-box .btn::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background-color: var(--color-primary);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
}

@media (max-width: 480px) {
  .download-box {
    flex-direction: column;
    text-align: center;
  }
}

/* Phone mockup alignment for long content sections */
.section-with-phone {
  align-items: flex-start;
}

.section-with-phone .phone-mockup {
  position: sticky;
  top: calc(var(--header-height, 60px) + var(--spacing-md));
}

@media (max-width: 768px) {
  .section-with-phone .phone-mockup {
    position: static;
  }
}

/* Rounds list styling */
.rounds-heading {
  color: var(--color-primary);
  font-size: 2rem;
  margin-bottom: var(--spacing-md);
}

.rounds-list {
  list-style: disc;
  padding-left: var(--spacing-lg);
  margin: 0;
}

.rounds-list li {
  color: var(--color-primary);
  margin-bottom: 0.25rem;
}

.rounds-org {
  font-weight: bold;
  margin-top: var(--spacing-md);
  margin-bottom: 0.25rem;
}

/* Plotting Page - Feature Grid with Circular Images */
.plotting-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-xl);
}

.plotting-feature {
  text-align: center;
}

.plotting-feature .plotting-circle {
  width: 100%;
  max-width: 350px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: var(--shadow);
  margin: 0 auto var(--spacing-md);
  display: block;
}

.plotting-feature h3 {
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
  font-size: 1.5rem;
}

.plotting-feature .bullet-list {
  text-align: left;
  margin: 0;
  padding-left: var(--spacing-lg);
}

.plotting-feature .bullet-list li {
  margin-bottom: 0.5rem;
}

/* Responsive - Plotting Grid */
@media (max-width: 900px) {
  .plotting-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .plotting-feature-grid {
    grid-template-columns: 1fr;
  }

  .plotting-feature .plotting-circle {
    max-width: 280px;
  }
}

/* Progress Page - Three Phone Mockups */
.progress-screens {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  max-width: 1000px;
  margin: 0 auto;
}

.progress-screens .phone-mockup {
  max-width: 100%;
}

.progress-screens .phone-mockup img {
  width: 100%;
  height: auto;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

@media (max-width: 768px) {
  .progress-screens {
    grid-template-columns: 1fr;
    max-width: 400px;
  }
}
