/* Landing-page polish layer. Loaded only by the somatic / Core Energetics
   landing pages (body.lp) on top of styles-template-koren.css, so the
   privacy policy and thank-you pages keep their existing look.
   Shape rule: buttons are full pills, cards 24px, inputs 12px. */

.lp {
  --lp-ink: #1F2F2A;
  --lp-sage: #5A7C65;
  --lp-sage-dark: #45634F;
  --lp-gold: #C99A3F;
  --lp-cream: #F7F5F0;
  --lp-line: rgba(31, 47, 42, .08);
  --lp-ease: cubic-bezier(.16, 1, .3, 1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.lp ::selection { background: rgba(201, 154, 63, .28); color: var(--lp-ink); }

/* Typography */
.lp h1, .lp h2, .lp h3 { letter-spacing: -.012em; text-wrap: balance; }
.lp h1 { line-height: 1.08; }
.lp h2 { line-height: 1.15; }
.lp p, .lp li { text-wrap: pretty; }

/* Rhythm: a little more air between sections on larger screens */
@media (min-width: 1024px) {
  .lp main > section.py-20 { padding-top: 6.5rem; padding-bottom: 6.5rem; }
  .lp main > section > .py-20 { padding-top: 6.5rem; padding-bottom: 6.5rem; }
}

/* Announcement bar + header */
.lp .sticky-bar { background: var(--lp-ink); letter-spacing: .01em; }
.lp header {
  background: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--lp-line);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset;
  padding-top: .85rem; padding-bottom: .85rem;
}
.lp header nav a { position: relative; }
.lp header nav a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px;
  background: var(--lp-sage); transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--lp-ease);
}
.lp header nav a:hover::after { transform: scaleX(1); }

/* Hero: deeper forest gradient with soft warm light */
.lp .hero-bg {
  background:
    radial-gradient(1100px 560px at 88% -8%, rgba(201, 154, 63, .20), transparent 62%),
    radial-gradient(900px 620px at -12% 112%, rgba(143, 184, 154, .32), transparent 62%),
    linear-gradient(158deg, #182723 0%, #2B4337 46%, #4D6D58 100%);
}
.lp .hero-orb { border-color: rgba(255, 255, 255, .09); box-shadow: 0 0 0 48px rgba(255, 255, 255, .018); }
.lp main > section.hero-bg:first-child { min-height: min(860px, calc(100dvh - 6rem)); }

/* Labels: quiet, ruled instead of pill-shaped */
.lp .lp-eyebrow {
  display: inline-flex; align-items: center; gap: .75rem;
  background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important;
  font-size: 11px; letter-spacing: .18em; color: var(--lp-sage-dark);
}
.lp .lp-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--lp-gold); }
.lp .text-white .lp-eyebrow, .lp .hero-bg .lp-eyebrow { color: #E4EFE6; }

/* Hero badge: refined glass chip */
.lp .hero-bg .fade-up.inline-flex.rounded-full {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  letter-spacing: .01em;
}

/* Buttons */
.lp a.rounded-xl, .lp button.rounded-xl, .lp header a.rounded-lg {
  border-radius: 999px;
  transition: transform .3s var(--lp-ease), box-shadow .3s var(--lp-ease), background-color .25s ease, color .25s ease;
}
.lp a.rounded-xl:hover, .lp button.rounded-xl:hover, .lp header a.rounded-lg:hover { transform: translateY(-1px); }
.lp a.rounded-xl:active, .lp button.rounded-xl:active, .lp header a.rounded-lg:active { transform: scale(.98); }
.lp .cta-glow { box-shadow: 0 12px 28px -12px rgba(168, 127, 46, .75), inset 0 1px 0 rgba(255, 255, 255, .22); }
.lp .cta-glow:hover { box-shadow: 0 18px 36px -14px rgba(168, 127, 46, .85), inset 0 1px 0 rgba(255, 255, 255, .22); }
.lp .bg-primary.rounded-xl { box-shadow: 0 12px 28px -14px rgba(69, 99, 79, .8); }
.lp a:focus-visible, .lp button:focus-visible, .lp .orig-faq-question:focus-visible {
  outline: 2px solid var(--lp-gold); outline-offset: 3px;
}

/* Hero form */
.lp #qualify-form {
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .7);
  box-shadow: 0 40px 90px -40px rgba(8, 20, 16, .75), 0 0 0 8px rgba(255, 255, 255, .06);
}
.lp .form-input {
  border-radius: 12px; border-color: #E2DED4; background-color: #FCFBF8;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.lp .form-input:hover { border-color: #CFCAC0; }
.lp .form-input:focus { background-color: #fff; border-color: var(--lp-sage); box-shadow: 0 0 0 4px rgba(90, 124, 101, .14); }
.lp .form-input::placeholder { color: #8A8F8A; }

/* Trust bar: floats over the bottom edge of the hero */
.lp .lp-trust { background: transparent; border: 0; position: relative; z-index: 1; margin-top: -2.25rem; padding-top: 0; padding-bottom: 1.5rem; }
.lp .lp-trust > div {
  background: #fff; border-radius: 24px; border: 1px solid var(--lp-line);
  padding: 1.75rem 1.5rem; box-shadow: 0 24px 60px -32px rgba(31, 47, 42, .35);
}
@media (min-width: 768px) {
  .lp .lp-trust { margin-top: -3rem; }
  .lp .lp-trust > div { padding: 2rem 2.25rem; }
  .lp .lp-trust > div > div + div { border-left: 1px solid var(--lp-line); }
}

/* Cards */
.lp .reveal-card.rounded-2xl {
  border-radius: 24px; border: 1px solid var(--lp-line);
  transition: transform .45s var(--lp-ease), box-shadow .45s var(--lp-ease), border-color .3s ease, opacity .6s ease;
}
.lp .reveal-card.rounded-2xl:hover { box-shadow: 0 22px 48px -30px rgba(31, 47, 42, .45); border-color: rgba(90, 124, 101, .22); }
.lp .rounded-2xl.shadow-sm { box-shadow: 0 24px 60px -40px rgba(31, 47, 42, .4); }

/* Process step numerals */
.lp .lp-step {
  width: 3rem; height: 3rem; background: transparent; color: var(--lp-sage-dark);
  border: 1px solid rgba(90, 124, 101, .35);
  font-family: 'Playfair Display', serif; font-weight: 600; font-size: 1rem;
}
.lp .reveal-card:hover .lp-step { background: var(--lp-sage); color: #fff; border-color: var(--lp-sage); transition: background-color .3s ease, color .3s ease; }

/* Imagery */
.lp .portrait-arch { box-shadow: 0 40px 80px -40px rgba(15, 30, 25, .55); }
.lp .stat-card {
  border-radius: 16px; background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
}

/* Locations: the statewide card leads */
.lp .lp-locations > div:first-child {
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(201, 154, 63, .22), transparent 65%),
    linear-gradient(150deg, #22362E 0%, #45634F 100%);
  border-color: transparent; color: #fff;
}
.lp .lp-locations > div:first-child h3 { color: #fff; }
.lp .lp-locations > div:first-child p { color: #DCE9DF; }
.lp .lp-locations > div:first-child svg { color: var(--lp-gold); }
@media (min-width: 768px) {
  .lp .lp-locations.md\:grid-cols-3 { grid-template-columns: 1.35fr 1fr 1fr; }
  .lp .lp-locations.md\:grid-cols-3 > div { text-align: left; }
  .lp .lp-locations.md\:grid-cols-3 > div svg { margin-left: 0; }
}

/* FAQ */
.lp .orig-faq-item {
  margin-bottom: 12px; border-radius: 16px; border-color: var(--lp-line); box-shadow: none;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.lp .orig-faq-item:hover { border-color: rgba(90, 124, 101, .25); }
.lp .orig-faq-item.open { border-color: rgba(90, 124, 101, .35); box-shadow: 0 18px 40px -30px rgba(31, 47, 42, .4); }
.lp .orig-faq-question { padding: 20px 22px; color: var(--lp-ink); font-size: 16.5px; font-weight: 600; }
.lp .orig-faq-question:hover { background: transparent; color: var(--lp-sage-dark); }
.lp .orig-faq-arrow {
  width: 32px; height: 32px; border-radius: 999px; display: grid; place-items: center;
  background: var(--lp-cream); color: var(--lp-sage-dark); font-size: 18px; font-weight: 500;
  transition: transform .35s var(--lp-ease), background-color .3s ease, color .3s ease;
}
.lp .orig-faq-item.open .orig-faq-arrow { background: var(--lp-sage); color: #fff; }
.lp .orig-faq-answer { border-top: 0; padding: 0 22px 22px; color: #55605A; }
.lp .orig-faq-item.open .orig-faq-answer { animation: lpFaqIn .4s var(--lp-ease); }
@keyframes lpFaqIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Mobile */
@media (max-width: 767px) {
  .lp main > section.hero-bg:first-child { min-height: 0; }
  .lp #qualify-form { border-radius: 20px; }
  .lp .orig-faq-question { padding: 18px; font-size: 15.5px; }
  .lp .orig-faq-answer { padding: 0 18px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .lp *, .lp *::before, .lp *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .lp .reveal-card { opacity: 1 !important; transform: none !important; }
}
