/* Dorothy Growth Cards — custom deck hierarchy and concise web presentation. */
body::before {
  background:
    url("./assets/growth-bg.jpg") center top / cover no-repeat,
    linear-gradient(180deg, #241740 0%, #1b1133 55%, #120b24 100%);
  filter: saturate(.98) brightness(.92);
}

.topbar { padding-block: 15px; }
.topbar nav { gap: clamp(16px, 2.5vw, 32px); }

.home-hero {
  min-height: calc(100vh - 118px);
  padding-top: clamp(34px, 5vw, 58px);
  background: none;
}
.oracle-panel { width: min(100%, 980px); }
.oracle-panel h1 { font-size: clamp(38px, 6vw, 72px); }
.oracle-panel > p:not(.eyebrow) { max-width: 520px; margin-inline: auto; }
.trust-row { display: none; }

#planView { background: linear-gradient(180deg, rgba(9,6,23,.2), rgba(9,6,23,.82)); }
.plan-hero {
  grid-template-columns: minmax(280px,.9fr) minmax(320px,1.1fr);
  min-height: 440px;
  overflow: hidden;
  border-radius: 26px;
  background:
    radial-gradient(circle at 22% 32%, rgba(141,117,214,.18), transparent 32%),
    linear-gradient(135deg, #eee5dc, #dcd0ca);
}
.plan-hero h1,
.plan-hero h2 {
  max-width: 600px;
  margin: 10px 0 14px;
  color: #3b2637;
  font: 400 clamp(46px,6vw,76px)/.96 Georgia,"Times New Roman",serif;
  letter-spacing: -.055em;
}
.plan-hero > div:last-child > p:not(.eyebrow) { max-width: 520px; color: #705f6a; line-height: 1.6; }

.plan-card-fan {
  position: relative;
  min-height: 340px;
  display: grid;
  place-items: center;
  perspective: 1100px;
}
.plan-card-fan::before {
  content: "";
  position: absolute;
  width: 82%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(141,117,214,.24), transparent 66%);
  filter: blur(7px);
}
.plan-card-fan img {
  position: absolute;
  width: clamp(126px, 13vw, 178px);
  aspect-ratio: 2/3;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 12px;
  box-shadow: 0 28px 54px rgba(40,20,48,.28);
}
.plan-card-fan img:nth-child(1) { transform: translateX(-42%) rotate(-12deg); }
.plan-card-fan img:nth-child(2) { z-index: 2; transform: translateY(-15px); }
.plan-card-fan img:nth-child(3) { transform: translateX(42%) rotate(12deg); }

.plans { padding-top: 34px; }
.plans-head { max-width: 620px; }
.plans-head h2 { font: 400 clamp(34px,4vw,50px)/1 Georgia,"Times New Roman",serif; }
.offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.offer-card { border-radius: 22px; padding: 26px; }
.offer-card.featured { transform: none; }
.offer-card strong { color: #a66a2f; }
.offer-card ul { min-height: 0; }

.room-promo-strip { margin-top: 18px; }
.room-promo-inner { border-radius: 24px; }
.room-promo-text p:not(.eyebrow) { max-width: 620px; }

.policy-footer.unified-policy-footer { align-items: center; }
.policy-footer.unified-policy-footer > div p { max-width: 420px; }
.policy-footer.unified-policy-footer nav { max-width: 500px; }
.drawer-card #checkoutDesc { max-width: 500px; }

@media (max-width: 900px) {
  .plan-hero { grid-template-columns: 1fr; text-align: center; }
  .plan-card-fan { min-height: 300px; }
  .plan-hero > div:last-child > p:not(.eyebrow) { margin-inline: auto; }
  .offer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .topbar { padding: 14px 16px; }
  .brand { font-size: 22px; }
  .topbar nav { gap: 14px; }
  .topbar nav a[href="../index.html"] { display: none; }
  .topbar a:not(.brand), .sign-in { font-size: 13px; }
  .view { padding-inline: 12px; }
  .home-hero { border-radius: 20px; padding-inline: 12px; }
  .oracle-panel h1 { font-size: 42px; }
  .question-prompts { display: none; }
  .plan-hero { padding: 22px 16px 28px; }
  .plan-hero h1, .plan-hero h2 { font-size: 46px; }
  .plan-card-fan img { width: 128px; }
  .offer-card { padding: 21px; }
}
