/* ============================================================
   LEGACY STANDARD SOLUTIONS — legacy-tap.css
   Styles for legacy-tap/index.html only
   ============================================================ */

/* Shared components below (.process*, .value-card*, .pricing*, .cta-band)
   are copied in from home.css / about.css / services.css so this page
   doesn't need to load unrelated page stylesheets — same pattern those
   files already use for .cta-band. */

.process {
  padding: var(--space-2xl) var(--space-xl);
  background-image: var(--texture-paper);
}

.process__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

.process__step {
  position: relative;
  overflow: hidden;
  background: var(--color-cream);
  background-image: var(--texture-paper);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 44px 32px 40px;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition), box-shadow var(--transition);
}

.process__step:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.process__num {
  position: absolute;
  top: -18px;
  right: -6px;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 116px;
  font-weight: 500;
  line-height: 1;
  color: var(--color-gold);
  opacity: 0.07;
  pointer-events: none;
  user-select: none;
  transition: opacity var(--transition);
}

.process__step:hover .process__num { opacity: 0.13; }

.process__step-name {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 500;
  color: var(--color-ink);
}

.process__step-desc {
  font-size: 14.5px;
  font-weight: 400;
  color: var(--color-muted);
  line-height: 1.8;
}

.value-card {
  background: var(--color-cream);
  background-image: var(--texture-paper);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 48px 36px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.value-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
  border-color: rgba(93, 138, 82, 0.35);
}

.value-card__name {
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 500;
  color: var(--color-ink);
  margin-bottom: var(--space-xs);
}

.value-card__desc {
  font-size: 15.5px;
  font-weight: 400;
  color: var(--color-muted);
  line-height: 1.8;
}

.pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-xl);
  align-items: start;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.pricing-card {
  background: var(--color-cream);
  background-image: var(--texture-paper);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 44px 32px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.pricing-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
  border-color: rgba(93, 138, 82, 0.35);
}

.pricing-card--featured {
  background-color: var(--color-forest);
  background-image:
    radial-gradient(ellipse 80% 60% at 90% 0%, rgba(216, 183, 90, 0.16) 0%, transparent 60%),
    var(--texture-paper);
  border-color: var(--color-forest);
  box-shadow: var(--shadow-lg);
}

.pricing-card--featured:hover {
  transform: translateY(-4px);
  border-color: var(--color-forest);
}

.pricing-card__tier {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-green-dk);
  margin-bottom: var(--space-xs);
}

.pricing-card--featured .pricing-card__tier { color: var(--color-gold-text); }

.pricing-card__name {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 500;
  color: var(--color-ink);
  margin-bottom: 8px;
}

.pricing-card--featured .pricing-card__name { color: var(--color-parchment); }

.pricing-card__price {
  font-family: var(--font-serif);
  font-size: 34px;
  font-weight: 500;
  color: var(--color-ink);
  margin-bottom: var(--space-xs);
}

.pricing-card--featured .pricing-card__price { color: var(--color-parchment); }

.pricing-card__desc {
  font-size: 14.5px;
  font-weight: 400;
  color: var(--color-muted);
  line-height: 1.7;
  margin-bottom: var(--space-md);
}

.pricing-card--featured .pricing-card__desc { color: rgba(251, 246, 233, 0.75); }

.pricing-card__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: var(--space-lg);
}

.pricing-card__list li {
  position: relative;
  padding-left: 22px;
  font-size: 14.5px;
  font-weight: 400;
  color: var(--color-muted);
  line-height: 1.5;
}

.pricing-card__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-green-dk);
  font-weight: 600;
}

.pricing-card--featured .pricing-card__list li { color: rgba(251, 246, 233, 0.88); }
.pricing-card--featured .pricing-card__list li::before { color: var(--color-gold); }

.pricing-card__cta {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  padding: 14px 20px;
  border-radius: var(--radius-md);
  background: var(--color-green-dk);
  color: #FFFDF8;
  box-shadow: 0 4px 14px rgba(93, 138, 82, 0.24);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}

.pricing-card__cta:hover { background: var(--color-forest); transform: translateY(-1px); }

.pricing-card--featured .pricing-card__cta {
  background: var(--color-gold);
  color: var(--color-ink);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.pricing-card--featured .pricing-card__cta:hover { background: var(--color-gold-soft); color: var(--color-ink); }

@media (max-width: 900px) {
  .process__steps { grid-template-columns: 1fr; }
  .pricing__grid { grid-template-columns: 1fr; }
}

/* ── HERO ── */
.lt-hero {
  padding: calc(var(--nav-height) + var(--space-xl)) var(--space-xl) var(--space-xl);
  background:
    radial-gradient(ellipse 55% 65% at 85% 18%, rgba(220, 236, 248, 0.55) 0%, transparent 65%),
    var(--texture-paper),
    radial-gradient(ellipse 40% 45% at 8% 95%, rgba(216, 183, 90, 0.08) 0%, transparent 60%),
    var(--color-parchment);
}

.lt-hero__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: center;
}

@media (min-width: 900px) {
  .lt-hero__inner {
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-lg);
  }
}

.lt-eyebrow {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-gold-ink);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--space-sm);
  opacity: 0;
  animation: ltFadeUp 0.8s 0.15s forwards;
}

.lt-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--color-gold);
  flex-shrink: 0;
}

.lt-hero__heading {
  font-family: var(--font-serif);
  font-size: clamp(36px, 5.6vw, 62px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--color-ink);
  margin-bottom: var(--space-md);
  opacity: 0;
  animation: ltFadeUp 0.8s 0.3s forwards;
}

.lt-hero__body {
  font-size: 18px;
  font-weight: 400;
  color: var(--color-muted);
  line-height: 1.8;
  max-width: 480px;
  margin-bottom: var(--space-md);
  opacity: 0;
  animation: ltFadeUp 0.8s 0.45s forwards;
}

.lt-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
  opacity: 0;
  animation: ltFadeUp 0.8s 0.6s forwards;
}

.lt-trust-line {
  font-size: 13px;
  color: var(--color-muted);
  font-weight: 500;
  opacity: 0;
  animation: ltFadeUp 0.8s 0.72s forwards;
}

.lt-trust-line .dot {
  margin: 0 8px;
  color: var(--color-gold);
  opacity: 0.85;
}

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

/* gold CTA — distinct from the site's green CTA, reserved for the
   Legacy Tap product line so the flagship page reads as a moment */
.lt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  padding: 15px 32px;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

.lt-btn--gold {
  background: linear-gradient(180deg, #e6c876, var(--color-gold));
  color: var(--color-forest-dk);
  box-shadow: 0 8px 22px rgba(216, 183, 90, 0.38);
}

.lt-btn--gold:hover {
  box-shadow: 0 10px 26px rgba(216, 183, 90, 0.48);
  transform: translateY(-1px);
}

.lt-btn--ghost {
  color: var(--color-green-dk);
  background: none;
  border-radius: 0;
  padding: 0 0 3px;
  font-weight: 600;
  border-bottom: 1px solid rgba(93, 138, 82, 0.4);
}

.lt-btn--ghost:hover {
  color: var(--color-forest);
  border-color: var(--color-forest);
}

.lt-btn--outline {
  color: var(--color-ink);
  background: none;
  border: 1.5px solid var(--color-border);
  border-radius: 999px;
  padding: 13px 26px;
}

.lt-btn--outline:hover {
  border-color: var(--color-green-dk);
  color: var(--color-green-dk);
}

.lt-btn--block { width: 100%; }

/* ── HERO MOCKUP: card + phone ── */
.lt-mockstage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
}

.lt-ring {
  position: absolute;
  left: 50%;
  top: 52%;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1.5px solid var(--color-gold);
  transform: translate(-50%, -50%);
  opacity: 0;
  animation: ltRing 3.2s ease-out 2;
}
.lt-ring.r2 { animation-delay: 1.1s; }
.lt-ring.r3 { animation-delay: 2.2s; }

@keyframes ltRing {
  0%   { width: 40px; height: 40px; opacity: 0.5; }
  100% { width: 220px; height: 220px; opacity: 0; }
}

.lt-card {
  position: relative;
  z-index: 2;
  width: 190px;
  aspect-ratio: 1.58 / 1;
  border-radius: 14px;
  background: linear-gradient(135deg, #232320, #0d0d0c 55%, #1c1b18);
  box-shadow: 0 24px 50px rgba(44, 65, 38, 0.35);
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: rotate(-8deg) translate(18px, 26px);
  overflow: hidden;
}

.lt-card::after {
  content: '';
  position: absolute;
  top: 0; left: -70%;
  width: 45%; height: 100%;
  background: linear-gradient(115deg, transparent, rgba(217, 184, 119, 0.35), transparent);
  animation: ltSheen 5s ease-in-out 1;
  animation-delay: 2s;
}

@keyframes ltSheen {
  0% { left: -70%; } 30% { left: 130%; } 100% { left: 130%; }
}

.lt-card__mono {
  width: 30px; height: 30px;
  border: 1.3px solid var(--color-gold-text);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-gold-text);
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 12px;
}

.lt-card__word {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1.4px;
  background: linear-gradient(90deg, var(--color-gold) 0%, var(--color-gold-text) 22%, #fff3d6 45%, var(--color-gold-text) 68%, var(--color-gold) 100%);
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: ltWordShimmer 3s linear 2;
}

@keyframes ltWordShimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

.lt-card__sub {
  color: #a9a495;
  font-size: 8.5px;
  letter-spacing: 1px;
  margin-top: 2px;
}

.lt-phone {
  position: relative;
  z-index: 1;
  width: 190px;
  border-radius: 32px;
  background: var(--color-forest-dk);
  padding: 9px;
  box-shadow: 0 30px 60px rgba(44, 65, 38, 0.4);
  transform: translate(-30px, -10px);
}

.lt-phone__screen {
  background: var(--color-cream);
  border-radius: 24px;
  padding: 18px 14px;
  text-align: center;
}

.lt-phone__screen--image {
  padding: 0;
  overflow: hidden;
  line-height: 0;
}

.lt-phone__screen--image img {
  display: block;
  width: 100%;
  height: auto;
}

.lt-phone__screen .lt-p-name {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 14px;
  color: var(--color-ink);
}

.lt-phone__screen .lt-p-role {
  font-size: 9.5px;
  color: var(--color-gold-ink);
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 2px 0 12px;
}

.lt-p-btn {
  background: var(--color-parchment);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--color-ink);
  padding: 7px 0;
  margin-bottom: 6px;
}

.lt-p-btn.gold {
  background: linear-gradient(180deg, #e6c876, var(--color-gold));
  color: var(--color-forest-dk);
  border: none;
}

.lt-p-foot {
  font-size: 7px;
  color: var(--color-muted);
  margin-top: 8px;
  letter-spacing: 0.3px;
}

/* Below 900px .lt-hero__inner drops to a single column. The desktop
   layout above lays .lt-card and .lt-phone out as flex siblings (each
   190px wide) and pulls them into an overlap purely with `transform`,
   which doesn't reduce the box model width flex reserves for them —
   at narrow widths that reserved ~380px total forces the single grid
   column (and every sibling in it) to overflow the viewport. Below
   900px, take both out of flow and overlap them with absolute
   positioning instead so .lt-mockstage only needs to be as wide as
   the column allows. */
@media (max-width: 899px) {
  .lt-mockstage {
    display: block;
    max-width: 300px;
    margin: 0 auto;
    min-height: 300px;
  }

  .lt-card,
  .lt-phone {
    position: absolute;
    left: 50%;
    top: 50%;
  }

  .lt-card {
    transform: translate(-50%, -50%) rotate(-8deg) translate(18px, 26px);
  }

  .lt-phone {
    transform: translate(-50%, -50%) translate(-30px, -10px);
  }
}

/* ── SECTION HEAD (shared look for each section intro) ── */
.lt-section {
  padding: var(--space-2xl) var(--space-xl);
}

.lt-section.alt {
  background-image: var(--texture-paper);
  background-color: var(--color-parchment);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.lt-section-head {
  text-align: center;
  max-width: 580px;
  margin: 0 auto var(--space-lg);
}

.lt-section-head .lt-eyebrow {
  justify-content: center;
  opacity: 1;
  animation: none;
}

.lt-section-head h2 {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 500;
  color: var(--color-ink);
  letter-spacing: -0.01em;
  margin-bottom: var(--space-sm);
}

.lt-section-head p {
  font-size: 16px;
  color: var(--color-muted);
  line-height: 1.75;
}

/* ── HOW IT WORKS (reuses the site's process-step look) ── */
.lt-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-sm);
  max-width: 1020px;
  margin: 0 auto;
}

@media (min-width: 800px) {
  .lt-steps { grid-template-columns: repeat(3, 1fr); }
}

.process__step.lt-step {
  align-items: flex-start;
}

.lt-step__icon {
  width: 40px;
  height: 40px;
  color: var(--color-green-dk);
  margin-bottom: var(--space-xs);
}

/* ── PROFILE PREVIEW ── */
.lt-preview__line {
  text-align: center;
  max-width: 460px;
  margin: var(--space-lg) auto 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 17px;
  color: var(--color-gold-ink);
}

/* ── LIVE PROFILE PREVIEW — high-fidelity phone mockup ──
   Built from the real Legacy Standard Solutions Legacy Tap card
   (cards/legacy-standard-solutions/index.html), not a generic
   NFC-card mockup. Dark forest-gradient surface, restrained gold
   accents, slow/elegant motion only. ── */

.ltp-stage {
  position: relative;
  margin: var(--space-xl) auto 0;
  width: 100%;
  max-width: 320px;
  display: flex;
  justify-content: center;
}

.ltp-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
  animation: ltpDrift 14s ease-in-out 1;
}

.ltp-orb--1 {
  width: 180px;
  height: 180px;
  top: -36px;
  left: -46px;
  background: radial-gradient(circle, rgba(93, 138, 82, 0.55), transparent 70%);
}

.ltp-orb--2 {
  width: 160px;
  height: 160px;
  bottom: -28px;
  right: -38px;
  background: radial-gradient(circle, rgba(216, 183, 90, 0.4), transparent 70%);
  animation-delay: -6s;
}

@keyframes ltpDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(14px, -18px) scale(1.08); }
}

.ltp-frame {
  position: relative;
  z-index: 1;
  width: 280px;
  border-radius: 40px;
  background: linear-gradient(160deg, #1b2a17, #0c130a);
  padding: 12px;
  box-shadow: var(--shadow-lg), 0 30px 60px rgba(0, 0, 0, 0.35);
}

.ltp-screen {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 30px 20px 22px;
  text-align: center;
  background: radial-gradient(ellipse 120% 70% at 50% -10%, #223a1c 0%, #0c130a 55%, #060a05 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ltp-screen--image {
  padding: 0;
  line-height: 0;
  background: #0c130a;
}

.ltp-screen--image img {
  display: block;
  width: 100%;
  height: auto;
}

.ltp-screen::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 60% at 50% 0%, rgba(217, 185, 94, 0.16), transparent 70%);
  pointer-events: none;
}

.ltp-brand,
.ltp-tagline,
.ltp-chips,
.ltp-actions,
.ltp-section-label,
.ltp-addr,
.ltp-credit {
  position: relative;
  z-index: 1;
}

.ltp-logo-wrap {
  position: relative;
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ltp-logo-halo {
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 185, 94, 0.45), transparent 70%);
  animation: ltpHaloPulse 4.5s ease-in-out 2;
}

@keyframes ltpHaloPulse {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.12); }
}

.ltp-logo {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(160deg, #e3c878, #b89a44);
  color: #0c130a;
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.4));
}

.ltp-name {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: 500;
  color: #fffdf8;
  line-height: 1.3;
}

.ltp-role {
  font-size: 10.5px;
  color: #a7b09b;
  margin-top: 2px;
  letter-spacing: 0.01em;
}

.ltp-tagline {
  font-size: 12.5px;
  color: rgba(255, 253, 248, 0.82);
  line-height: 1.6;
  max-width: 220px;
  margin: 14px auto 16px;
}

.ltp-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 18px;
}

.ltp-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 500;
  color: #e3c878;
  background: rgba(217, 185, 94, 0.06);
  border: 1px solid rgba(217, 185, 94, 0.22);
  border-radius: 999px;
  padding: 6px 11px;
}

.ltp-chip__icon {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}

.ltp-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}

.ltp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--font-sans);
  font-weight: 500;
  border-radius: 13px;
}

.ltp-btn__icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.ltp-btn--hero {
  position: relative;
  overflow: hidden;
  font-size: 13px;
  padding: 13px 0;
  background: linear-gradient(180deg, #e3c878, #b89a44);
  color: #0c130a;
  box-shadow: 0 12px 24px rgba(217, 185, 94, 0.35);
}

.ltp-btn--hero .ltp-btn__icon { stroke: #0c130a; }

.ltp-btn--hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: -60%;
  width: 50%;
  height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  animation: ltpShimmerSweep 3.2s ease-in-out 2;
  animation-delay: 1.4s;
}

@keyframes ltpShimmerSweep {
  0% { left: -60%; }
  35% { left: 130%; }
  100% { left: 130%; }
}

.ltp-btn--primary {
  font-size: 12px;
  padding: 10px 0;
  background: #a68a3d;
  color: #fffdf8;
}

.ltp-btn--primary .ltp-btn__icon { stroke: #fffdf8; }

.ltp-btn--outline {
  font-size: 12px;
  padding: 10px 0;
  background: #2c4126;
  border: 1px solid rgba(217, 185, 94, 0.5);
  color: #e3c878;
}

.ltp-btn--outline .ltp-btn__icon { stroke: #e3c878; }

.ltp-section-label {
  position: relative;
  z-index: 1;
  font-size: 9.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: #a7b09b;
  text-align: center;
  margin: 16px 0 10px;
}

.ltp-social-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ltp-btn--secondary {
  font-size: 11px;
  padding: 9px 0;
  background: #2c4126;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fffdf8;
}

.ltp-btn--secondary .ltp-btn__icon { stroke: #fffdf8; }

.ltp-addr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 10.5px;
  color: #a7b09b;
  margin-top: 22px;
}

.ltp-addr__icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  stroke: #a7b09b;
}

.ltp-credit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 10.5px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ltp-credit__icon {
  width: 12px;
  height: 12px;
  stroke: #a7b09b;
}

.ltp-credit__pre {
  color: #a7b09b;
  font-weight: 500;
}

.ltp-credit__brand {
  font-weight: 600;
  background: linear-gradient(90deg, #d9b95e 0%, #e3c878 22%, #fff3d6 45%, #e3c878 68%, #d9b95e 100%);
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: ltpShimmerText 3s linear 2;
}

@keyframes ltpShimmerText {
  0% { background-position: 200% center; }
  100% { background-position: -200% center; }
}

@media (min-width: 500px) {
  .ltp-frame { width: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  .lt-eyebrow,
  .lt-hero__heading,
  .lt-hero__body,
  .lt-hero__actions,
  .lt-trust-line {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .lt-ring,
  .lt-card::after,
  .lt-card__word,
  .ltp-orb,
  .ltp-logo-halo,
  .ltp-btn--hero::after,
  .ltp-credit__brand {
    animation: none;
  }
}

/* ── WHAT YOU GET (reuses the site's value-card look) ── */
.lt-features__grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: 1fr;
  max-width: 1020px;
  margin: 0 auto;
}

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

.value-card.lt-feature .lt-feature-icon,
.value-card.lt-who-card .lt-feature-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--color-gold-soft);
  color: var(--color-gold-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-sm);
}

.lt-feature-icon svg { width: 18px; height: 18px; }

.value-card__num {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 30px;
  color: var(--color-gold-ink);
  line-height: 1;
  margin-bottom: var(--space-sm);
}

.lt-features__note {
  text-align: center;
  max-width: 560px;
  margin: var(--space-lg) auto 0;
  font-size: 14px;
  color: var(--color-muted);
  line-height: 1.7;
}

/* ── COMPARISON ── */
.lt-compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  max-width: 900px;
  margin: 0 auto;
}

@media (min-width: 760px) { .lt-compare { grid-template-columns: 1fr 1fr; } }

.lt-compare-col {
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
}

.lt-compare-col.old {
  background: var(--color-cream);
  background-image: var(--texture-paper);
  border: 1px solid var(--color-border);
}

.lt-compare-col.new {
  background-color: var(--color-forest);
  background-image:
    radial-gradient(ellipse 80% 60% at 90% 0%, rgba(216, 183, 90, 0.18) 0%, transparent 60%),
    var(--texture-paper);
  color: var(--color-parchment);
}

.lt-compare-col h3 {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 500;
  margin-bottom: var(--space-sm);
  color: var(--color-ink);
}

.lt-compare-col.new h3 { color: var(--color-gold-text); }

.lt-compare-col ul { list-style: none; margin: 0; padding: 0; }

.lt-compare-col li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  padding: 9px 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-muted);
}

.lt-compare-col.new li {
  border-bottom: 1px solid rgba(251, 246, 233, 0.14);
  color: rgba(251, 246, 233, 0.85);
}

.lt-compare-col li:last-child { border-bottom: none; }

.lt-mark { flex-shrink: 0; font-weight: 800; }
.lt-compare-col.old .lt-mark { color: #9a4f40; }
.lt-compare-col.new .lt-mark { color: var(--color-gold-text); }

/* ── PRICING TIERS: dual pricing, renewal terms, coming-soon tier ── */
.lt-price-note {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-muted);
  margin-top: 2px;
}

.pricing-card--featured .lt-price-note { color: rgba(251, 246, 233, 0.78); }

.lt-renewal {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--space-sm) 0;
  margin-bottom: var(--space-md);
  border-top: 1px dashed var(--color-border);
}

.pricing-card--featured .lt-renewal {
  border-top: 1px dashed rgba(251, 246, 233, 0.2);
}

.lt-renewal__price {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 500;
  color: var(--color-ink);
}

.pricing-card--featured .lt-renewal__price { color: var(--color-parchment); }

.lt-renewal__desc {
  font-size: 12.5px;
  color: var(--color-muted);
  line-height: 1.6;
}

.pricing-card--featured .lt-renewal__desc { color: rgba(251, 246, 233, 0.68); }

.lt-fineprint {
  text-align: center;
  font-size: 12px;
  color: rgba(251, 246, 233, 0.78);
  margin-top: var(--space-sm);
}

.lt-badge {
  display: inline-block;
  margin-left: 8px;
  font-size: 9.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-gold-ink);
  background: var(--color-gold-soft);
  border-radius: 999px;
  padding: 3px 9px;
  vertical-align: middle;
}

.pricing-card--signature {
  border-color: var(--color-gold-text, var(--color-gold-soft));
  box-shadow: 0 8px 28px rgba(184, 154, 68, 0.16);
}

.pricing-card__cta--ghost {
  background: none;
  border: 1.5px solid var(--color-border);
  color: var(--color-ink);
  box-shadow: none;
}

.pricing-card__cta--ghost:hover {
  background: none;
  border-color: var(--color-green-dk);
  color: var(--color-green-dk);
  transform: translateY(-1px);
}

/* ── PRICING TIERS HEADING (below the reused .pricing-card grid) ── */
.lt-tiers-note {
  text-align: center;
  max-width: 620px;
  margin: var(--space-md) auto 0;
  font-size: 14px;
  color: var(--color-muted);
  line-height: 1.7;
}

.lt-tiers-note + .lt-tiers-note {
  margin-top: var(--space-xs);
}

/* ── WHO IT'S FOR ── */
.lt-who {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
}

.lt-who-chip {
  background: var(--color-cream);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-ink);
}

.lt-who-grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: 1fr;
  max-width: 1020px;
  margin: 0 auto;
}

@media (min-width: 640px) { .lt-who-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) { .lt-who-grid { grid-template-columns: repeat(4, 1fr); } }

.lt-who-card { padding: 36px 26px; }

/* ── CUSTOM CARD TEASER ── */
.lt-teaser {
  max-width: 700px;
  margin: 0 auto;
  background: var(--color-cream);
  background-image: var(--texture-paper);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  text-align: center;
}

.lt-teaser h2 {
  font-family: var(--font-serif);
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 500;
  color: var(--color-ink);
  margin-bottom: var(--space-xs);
}

.lt-teaser p {
  color: var(--color-muted);
  max-width: 480px;
  margin: 0 auto var(--space-md);
  font-size: 15px;
  line-height: 1.75;
}

/* ── FAQ ── */
.lt-faq {
  max-width: 720px;
  margin: 0 auto;
}

.lt-faq details {
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-sm) 0;
}

.lt-faq summary {
  cursor: pointer;
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 16.5px;
  color: var(--color-ink);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lt-faq summary::-webkit-details-marker { display: none; }

.lt-faq summary::after {
  content: '+';
  font-size: 20px;
  color: var(--color-gold-ink);
  margin-left: 12px;
  flex-shrink: 0;
  font-family: var(--font-sans);
}

.lt-faq details[open] summary::after { content: '\2013'; }

.lt-faq details p {
  margin: 10px 0 0;
  color: var(--color-muted);
  font-size: 14.5px;
  line-height: 1.75;
}

/* ── ORDER / FINAL CTA (reuses the site's cta-band look, gold-tinted) ── */
.lt-cta-band {
  position: relative;
  overflow: hidden;
  background-color: var(--color-forest-dk);
  background-image:
    var(--texture-card),
    radial-gradient(ellipse 70% 100% at 50% -30%, rgba(216, 183, 90, 0.22) 0%, transparent 60%),
    var(--texture-paper);
  padding: var(--space-2xl) var(--space-xl);
  text-align: center;
  border-radius: var(--radius-xl);
}

.lt-cta-band > * {
  position: relative;
  z-index: 1;
}

/* Rolling hills, sun and wildflowers — barely there, just enough to
   carry the hero's warmth down to the end of the page. */
.lt-cta-band::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 62%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cg fill='%23FBF6E9'%3E%3Ccircle cx='980' cy='58' r='40' opacity='0.085'/%3E%3Cg fill='none' stroke='%23FBF6E9' stroke-width='2.6' stroke-linecap='round' opacity='0.16'%3E%3Cpath d='M232 66 q11 -9 21 0 q11 -9 21 0'/%3E%3Cpath d='M318 42 q8 -7 16 0 q8 -7 16 0'/%3E%3Cpath d='M400 78 q6 -5 12 0 q6 -5 12 0'/%3E%3C/g%3E%3Cpath d='M0 208 C 150 150, 300 196, 460 172 C 620 148, 760 190, 900 168 C 1030 148, 1120 174, 1200 160 L1200 300 L0 300 Z' opacity='0.075'/%3E%3Cpath d='M0 246 C 170 206, 330 246, 500 226 C 690 204, 840 244, 1000 224 C 1100 212, 1160 228, 1200 222 L1200 300 L0 300 Z' opacity='0.06'/%3E%3Cg opacity='0.11'%3E%3Cpath d='M120 300 L120 268 M120 268 l10 -9 M120 268 l-10 -9' stroke='%23FBF6E9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='120' cy='262' r='4.6'/%3E%3Cpath d='M300 300 L300 274 M300 274 l9 -8 M300 274 l-9 -8' stroke='%23FBF6E9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='300' cy='268' r='4'/%3E%3Cpath d='M560 300 L560 264 M560 264 l10 -9 M560 264 l-10 -9' stroke='%23FBF6E9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='560' cy='258' r='5'/%3E%3Cpath d='M820 300 L820 272 M820 272 l9 -8 M820 272 l-9 -8' stroke='%23FBF6E9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='820' cy='266' r='4.2'/%3E%3Cpath d='M1060 300 L1060 268 M1060 268 l10 -9 M1060 268 l-10 -9' stroke='%23FBF6E9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='1060' cy='262' r='4.6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.lt-cta-band h2 {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3.6vw, 38px);
  font-weight: 500;
  color: var(--color-parchment);
  margin-bottom: var(--space-sm);
}

.lt-cta-band p {
  color: rgba(251, 246, 233, 0.82);
  margin-bottom: var(--space-md);
  font-size: 16px;
}

.lt-cta-band .lt-eyebrow {
  justify-content: center;
  color: var(--color-gold-text);
  opacity: 1;
  animation: none;
}

.lt-cta-band .lt-eyebrow::before {
  background: var(--color-gold-text);
}

.lt-cta-band .lt-fine {
  margin-top: var(--space-sm);
  font-size: 13px;
  color: rgba(251, 246, 233, 0.6);
}

.lt-cta-band .lt-fine .dot {
  margin: 0 6px;
  color: var(--color-gold-text);
  opacity: 0.85;
}

#order { scroll-margin-top: calc(var(--nav-height) + 12px); }
#how { scroll-margin-top: calc(var(--nav-height) + 12px); }

.lt-order-box {
  max-width: 520px;
  margin: var(--space-md) auto 0;
  background: var(--color-cream);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  text-align: center;
}

.lt-order-box p {
  color: var(--color-muted);
  font-size: 14.5px;
  line-height: 1.75;
  margin-bottom: 0;
}

.lt-order-box a {
  color: var(--color-green-dk);
  font-weight: 600;
  text-decoration: none;
}

.lt-order-box a:hover {
  color: var(--color-forest);
}

/* ── SIGNATURE SERIES SHOWCASE ── */
.lt-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

@media (max-width: 900px) {
  .lt-showcase-grid {
    grid-template-columns: 1fr;
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
  }
}

.lt-showcase-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--color-cream);
  border: 1px solid var(--color-border);
  border-radius: 20px;
  padding: 0 0 var(--space-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lt-showcase-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.lt-showcase-card__preview {
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: var(--color-forest-dk);
}

.lt-showcase-card__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.lt-showcase-card__label {
  display: inline-block;
  margin-top: var(--space-md);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-gold-ink);
  background: var(--color-gold-soft);
  border-radius: 999px;
  padding: 4px 12px;
}

.lt-showcase-card__name {
  font-family: var(--font-serif);
  font-size: 20px;
  margin: var(--space-sm) var(--space-md) 2px;
  color: var(--color-ink);
}

.lt-showcase-card__cat {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--color-muted);
  text-transform: uppercase;
  margin-bottom: var(--space-sm);
}

.lt-showcase-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-green-dk);
  text-decoration: none;
  border-bottom: 1.5px solid transparent;
  transition: border-color 0.15s ease;
}

.lt-showcase-card__cta:hover {
  border-color: var(--color-green-dk);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Contain decorative blur-orb bleed (ltp-orb, etc.) from causing horizontal scroll on narrow viewports */
html { overflow-x: hidden; }

/* Links inside fine print / notes / FAQ answers (terms links, LSS-08/19) */
.lt-fineprint a,
.lt-tiers-note a,
.lt-faq details p a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}

/* Pricing section spacing (the shared .pricing rule lives in services.css,
   which this page doesn't load). */
.pricing {
  padding: var(--space-2xl) var(--space-xl);
}

@media (max-width: 768px) {
  .pricing {
    padding: var(--section-y, 72px) var(--space-md);
  }
}
