/* Booking section, scroll-reveal motion, and mobile polish. Carmen, 2026-10-20. */

/* ---------- Booking section ---------- */
.coaching-book { position: relative; padding: 56px 48px; margin-bottom: 88px; border-radius: 28px; text-align: center;
  background: linear-gradient(160deg, rgba(250,204,21,.09), rgba(130,70,190,.10) 55%, rgba(22,74,126,.10)), rgba(16,17,28,.92);
  border: 1px solid rgba(250,204,21,.35);
  box-shadow: 0 24px 70px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.04) inset; scroll-margin-top: 32px; overflow: hidden; }
.coaching-book::before { content: ""; position: absolute; inset: -40% -10% auto; height: 70%; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0%, rgba(250,204,21,.16), transparent 65%); }
.coaching-book h2 { font-size: 42px; margin-bottom: 22px; position: relative; }
.coaching-book-lede { color: #cfcedb; font-size: 18px; line-height: 1.8; max-width: 620px; margin: 0 auto 34px; position: relative; }
.coaching-book-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 860px; margin: 0 auto 38px; position: relative; }
.coaching-book-point { padding: 20px 18px; border-radius: 16px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.10); text-align: left; }
.coaching-book-point strong { display: block; color: #f7d86b; font-size: 15px; margin-bottom: 6px; }
.coaching-book-point span { color: var(--muted); font-size: 14px; line-height: 1.6; }
.coaching-book-cta { font-size: 16px; padding: 16px 30px; min-height: 56px; position: relative;
  animation: cta-pulse 2.6s ease-in-out infinite; }
@keyframes cta-pulse {
  0%, 100% { box-shadow: 0 4px 24px rgba(250,204,21,.14), 0 0 0 0 rgba(250,204,21,.35); }
  50% { box-shadow: 0 6px 32px rgba(250,204,21,.22), 0 0 0 10px rgba(250,204,21,0); }
}
.coaching-book .coaching-note { position: relative; }

/* ---------- Scroll reveal ---------- */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
.reveal.in-view { opacity: 1; transform: none; }
.reveal-d1 { transition-delay: .08s; }
.reveal-d2 { transition-delay: .16s; }
.reveal-d3 { transition-delay: .24s; }

/* ---------- Ambient motion ---------- */
.coaching-hero-art img { animation: hero-drift 9s ease-in-out infinite; }
@keyframes hero-drift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.coaching-card { transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.coaching-card:hover { transform: translateY(-4px); border-color: rgba(250,204,21,.45); box-shadow: 0 20px 60px rgba(0,0,0,.30); }
.coaching-hero h1 span { background: linear-gradient(100deg, #f7d86b, #facc15, #ffe98a, #f7d86b); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: gold-sheen 7s linear infinite; }
@keyframes gold-sheen { to { background-position: 220% 0; } }

/* ---------- Mobile polish ---------- */
@media (max-width: 900px) {
  .coaching-book { padding: 44px 30px; }
  .coaching-book-points { grid-template-columns: 1fr; max-width: 520px; }
}
@media (max-width: 640px) {
  .coaching-book { padding: 36px 22px; margin-bottom: 56px; border-radius: 22px; }
  .coaching-book h2 { font-size: 31px; }
  .coaching-book-lede { font-size: 16.5px; }
  .coaching-book-point { padding: 16px; }
  .coaching-book-cta { width: 100%; min-height: 58px; font-size: 16.5px; }
  .coaching-button { min-height: 54px; }
  .coaching-hero { padding-block: 40px 56px; }
  .coaching-card:hover { transform: none; }
  /* Ease starfield cost on small screens */
  #parallax-stars2, #parallax-stars3 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .coaching-book-cta, .coaching-hero-art img, .coaching-hero h1 span { animation: none; }
  .coaching-card { transition: none; }
}

/* ---------- Pricing section ---------- */
.coaching-pricing { padding-bottom: 88px; text-align: center; scroll-margin-top: 32px; }
.coaching-pricing h2 { font-size: 40px; margin-bottom: 18px; }
.coaching-pricing-lede { color: var(--muted); font-size: 17px; max-width: 620px; margin: 0 auto 40px; }
.coaching-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; }
.coaching-price-card { position: relative; display: flex; flex-direction: column; padding: 32px 28px; border-radius: 24px;
  background: rgba(16,17,28,.9); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 12px 48px rgba(0,0,0,.12);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.coaching-price-card:hover { transform: translateY(-4px); border-color: rgba(250,204,21,.45); box-shadow: 0 20px 60px rgba(0,0,0,.30); }
.coaching-price-featured { border-color: rgba(250,204,21,.5); background: linear-gradient(165deg, rgba(250,204,21,.07), rgba(16,17,28,.94) 55%); }
.coaching-price-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); white-space: nowrap;
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #16140b;
  background: #facc15; padding: 4px 14px; border-radius: 30px; }
.coaching-price { font-size: 44px; font-weight: 700; color: #f8f5ed; letter-spacing: -.03em; margin-bottom: 8px; }
.coaching-price span { font-size: 15px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.coaching-price-tag { color: #cfcedb; font-size: 15px; line-height: 1.6; margin-bottom: 6px; }
.coaching-price-card .coaching-list { margin: 18px 0 26px; }
.coaching-price-card .coaching-button { margin-top: auto; width: 100%; }
.coaching-pricing .coaching-note { margin-top: 30px; }
@media (max-width: 900px) {
  .coaching-pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
  .coaching-price-featured { order: -1; }
}
@media (max-width: 640px) {
  .coaching-pricing { padding-bottom: 56px; }
  .coaching-pricing h2 { font-size: 32px; }
  .coaching-price-card { padding: 28px 22px; }
  .coaching-price-card:hover { transform: none; }
  .coaching-price { font-size: 38px; }
}
