/* ==========================================================================
   LaunchGro Brand Theme
   Loaded after /styles/universal.css to keep the shared system brand-neutral.
   ========================================================================== */

:root {
  --brand-primary: #D97706;
  --brand-primary-hover: #B45309;
  --brand-primary-soft: #FFF4DE;
  --brand-primary-softer: #FFFAF0;
  --brand-secondary: #15803D;
  --brand-secondary-soft: #ECFDF3;
  --brand-accent: #0F766E;
  --brand-warning: #92400E;
  --brand-warning-soft: #FFF7ED;

  --brand-page: #F7F8F3;
  --brand-surface: #FFFFFF;
  --brand-surface-muted: #FBFCF7;
  --brand-surface-soft: #EFF7F0;
  --brand-border: #DCE5D8;
  --brand-border-strong: #BFCFBA;
  --brand-heading: #18243A;
  --brand-text: #2C394B;
  --brand-muted: #627082;
  --brand-success-text: #166534;
  --brand-focus-ring: rgba(217, 119, 6, 0.24);

  --brand-font-body: "Manrope", var(--font-geist-sans), "Segoe UI", sans-serif;
  --brand-font-heading: "Manrope", var(--font-geist-sans), "Segoe UI", sans-serif;
  --brand-container: min(1180px, calc(100vw - 2rem));

  --brand-radius-sm: 8px;
  --brand-radius-md: 10px;
  --brand-radius-lg: 14px;
  --brand-radius-xl: 18px;

  --brand-shadow-sm: 0 8px 22px rgba(24, 36, 58, 0.045);
  --brand-shadow-md: 0 16px 42px rgba(24, 36, 58, 0.065);
  --brand-shadow-lg: 0 24px 70px rgba(24, 36, 58, 0.1);

  --brand-panel-bg: linear-gradient(180deg, #FFFFFF 0%, #FBFCF7 100%);
  --brand-panel-bg-soft: linear-gradient(180deg, #FFFFFF 0%, #F1F8F0 100%);
  --brand-selected-bg: linear-gradient(180deg, #FFF6E7 0%, #F0FBF4 100%);
  --brand-body-background:
    radial-gradient(circle at 9% 0%, rgba(217, 119, 6, 0.07), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(15, 118, 110, 0.055), transparent 27rem),
    linear-gradient(180deg, #FFFFFF 0%, #FBFCF7 22%, #F7F8F3 62%, #FFFFFF 100%);
  --brand-header-bg: rgba(255, 255, 255, 0.94);
  --brand-header-shadow: 0 8px 24px rgba(24, 36, 58, 0.05);
  --brand-hero-bg:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(251, 252, 247, 0.98) 100%);
  --brand-section-soft-bg: linear-gradient(180deg, #FFFFFF 0%, #F1F8F0 100%);
  --brand-packages-bg:
    radial-gradient(circle at 14% 0%, rgba(217, 119, 6, 0.07), transparent 22rem),
    linear-gradient(180deg, #FBFCF7 0%, #EFF7F0 100%);
  --brand-cta-panel-bg: linear-gradient(135deg, #18243A 0%, #27523D 58%, #D97706 145%);
  --brand-cta-panel-border: rgba(217, 119, 6, 0.26);
  --brand-cta-panel-text: #FFFFFF;
  --brand-cta-panel-shadow: 0 28px 72px rgba(24, 36, 58, 0.22);
  --brand-cta-secondary-border: rgba(255, 255, 255, 0.42);
  --brand-cta-secondary-bg: rgba(255, 255, 255, 0.12);
  --brand-cta-secondary-text: #FFFFFF;
  --brand-cta-secondary-border-hover: rgba(255, 255, 255, 0.68);
  --brand-cta-secondary-bg-hover: rgba(255, 255, 255, 0.2);
  --brand-cta-secondary-text-hover: #FFFFFF;

  --brand-button-bg: linear-gradient(180deg, #F8B43A 0%, #D97706 100%);
  --brand-button-bg-hover: linear-gradient(180deg, #FDBA3B 0%, #B45309 100%);
  --brand-button-border: #C56F08;
  --brand-button-border-hover: #A94B0A;
  --brand-button-text: #18243A;
  --brand-button-shadow: 0 14px 30px rgba(217, 119, 6, 0.2);
  --brand-button-shadow-hover: 0 18px 34px rgba(217, 119, 6, 0.26);

  --brand-accent-bar: linear-gradient(90deg, #D97706 0%, #F8B43A 48%, #0F766E 100%);
  --brand-featured-card-border: 2px solid #D97706;
  --brand-featured-card-shadow: 0 24px 68px rgba(217, 119, 6, 0.15);
  --brand-featured-accent-inset: -2px -2px auto -2px;
  --brand-featured-accent-height: 5px;
  --brand-featured-accent-radius: calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0;

  /* Compatibility aliases for existing Tailwind utility names and legacy classes. */
  --presgro-navy: var(--brand-heading);
  --presgro-text: var(--brand-text);
  --presgro-green: var(--brand-secondary);
  --presgro-green-strong: #0F6B33;
  --presgro-green-soft: var(--brand-secondary-soft);
  --presgro-blue: var(--brand-accent);
  --presgro-blue-strong: #0C5E58;
  --presgro-soft-blue: #EEF7F6;
  --presgro-yellow: #F8B43A;
  --presgro-yellow-strong: var(--brand-primary-hover);
  --presgro-yellow-soft: var(--brand-primary-soft);
  --presgro-purple: #6D5BD0;
  --presgro-purple-soft: #F1EFFE;
  --presgro-bg: var(--brand-page);
  --presgro-bg-soft: var(--brand-surface-muted);
  --presgro-card: var(--brand-surface);
  --presgro-border: var(--brand-border);
  --presgro-border-strong: var(--brand-border-strong);
  --presgro-muted: var(--brand-muted);
  --presgro-success: var(--brand-secondary);
  --presgro-warning: var(--brand-primary);
  --presgro-danger: #DC2626;
  --presgro-info: var(--brand-accent);
  --presgro-radius-sm: var(--brand-radius-sm);
  --presgro-radius-md: var(--brand-radius-md);
  --presgro-radius-lg: var(--brand-radius-lg);
  --presgro-shadow-card: var(--brand-shadow-md);
  --presgro-shadow-soft: var(--brand-shadow-sm);
  --presgro-shadow-lift: var(--brand-button-shadow);
  --background: var(--brand-page);
  --foreground: var(--brand-heading);
  --primary: var(--brand-heading);
  --accent: var(--brand-primary);
  --soft-blue: #EEF7F6;
  --muted: var(--brand-muted);
  --border: var(--brand-border);
  --card: var(--brand-surface);
}

.brand__logo {
  height: auto;
}

.badge {
  box-shadow: 0 5px 14px rgba(24, 36, 58, 0.045);
}

.package-card__badge {
  box-shadow: 0 5px 14px rgba(21, 128, 61, 0.12);
}

.field-surface,
.input-control,
input,
select,
textarea {
  max-width: 100%;
  min-width: 0;
}

.field-surface,
.input-control {
  width: 100%;
}

label,
form,
.panel,
.card-surface {
  min-width: 0;
}

.site-footer__nav a,
.nav__link {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
}

.site-header {
  border-bottom-color: transparent;
  background: transparent;
  box-shadow: none;
}

.hero {
  padding: 0 0 clamp(1rem, 2vw, 1.75rem);
  background:
    radial-gradient(circle at 42% 12%, rgba(248, 180, 58, 0.13), transparent 26rem),
    radial-gradient(circle at 82% 16%, rgba(21, 128, 61, 0.1), transparent 30rem),
    linear-gradient(180deg, #ffffff 0%, #fbfcf7 54%, #ffffff 100%);
}

.mobile-nav {
  max-width: 100%;
}

.mobile-nav .nav__link {
  min-height: 2.75rem;
}

.proof-card,
.template-card {
  border-color: color-mix(in srgb, var(--brand-secondary) 18%, var(--brand-border) 82%);
}

.template-preview {
  min-width: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48);
}

.template-preview--compact {
  border-radius: var(--radius-md);
}

.template-preview--compact .grid-cols-2 > div:nth-child(3) {
  grid-column: 1 / -1;
}

@media (prefers-reduced-motion: reduce) {
  .template-card,
  .button,
  .nav__link {
    transition: none;
  }

  .template-card:hover,
  .button:hover,
  .button:focus-visible {
    transform: none;
  }
}

@media (max-width: 430px) {
  .brand__logo {
    max-width: 136px;
  }

  .hero .button,
  .cta-panel--compact .button {
    width: 100%;
  }
}
