/* First-screen composition: one continuous portrait background, no photo rectangle. */
@font-face {
  font-family: "Fixel Text";
  src: url("https://raw.githubusercontent.com/MacPaw/Fixel/main/fonts/webfonts/FixelText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fixel Text";
  src: url("https://raw.githubusercontent.com/MacPaw/Fixel/main/fonts/webfonts/FixelText-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fixel Text";
  src: url("https://raw.githubusercontent.com/MacPaw/Fixel/main/fonts/webfonts/FixelText-SemiBold.woff2") format("woff2");
  font-weight: 600 900;
  font-style: normal;
  font-display: swap;
}

body { font-family: "Fixel Text", Arial, sans-serif; }
h1, h2, h3 { font-family: Montserrat, Arial, sans-serif; }
.eyebrow, .meta, .hero-note, .hero-scroll, .statement .statement-small,
.audience-list span, .program article span, .toolbox p:last-child,
.price-card p, footer { font-family: "Fixel Text", Arial, sans-serif; }

.hero {
  background: linear-gradient(135deg, #5b3886 0%, #b76aa8 52%, #f2a49e 100%);
}

.hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 0 0 30%;
  background: url("images/hero-evelina-background.png") center / cover no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 24%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 24%, #000 100%);
}

.hero-portrait { display: none; }

@media (min-width: 761px) {
  .hero-copy { max-width: min(52vw, 680px); }
  .hero-note { left: max(24px, calc((100vw - 1200px) / 2)); right: auto; bottom: 38px; text-align: left; }
  .hero-scroll { left: auto; right: max(150px, calc((100vw - 1200px) / 2 + 150px)); bottom: 38px; }
  .orb-one { width: 34vw; height: 34vw; right: -10vw; top: 14vh; }
}

@media (max-width: 760px) {
  .hero::before { left: 0; -webkit-mask-image: none; mask-image: none; background-position: 60% center; }
}

.intro-copy p { font-size: 18px; line-height: 1.6; }
.intro-copy .large-copy { font-size: 25px; line-height: 1.4; }

.offer-note { margin: 12px 0 0; font-size: 12px; font-weight: 600; }
.statement p { font-size: clamp(43px, 7.2vw, 105px); }
.button-label { line-height: 1.25; text-align: left; }
.instagram-link { display: inline-flex; align-items: center; gap: 7px; }
.instagram-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.instagram-link .instagram-dot { fill: currentColor; stroke: none; }

.reviews { background: #f5e9d9; }
.reviews-heading { display: block; }
.reviews-heading h2 { font-size: clamp(48px, 6.5vw, 94px); }
.reviews-grid { display: flex; gap: 18px; overflow-x: auto; padding: 4px 0 16px; margin-top: 48px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--ink) transparent; }
.reviews-grid::-webkit-scrollbar { height: 9px; }
.reviews-grid::-webkit-scrollbar-track { background: rgba(36, 24, 42, .12); border-radius: 99px; }
.reviews-grid::-webkit-scrollbar-thumb { background: var(--ink); border-radius: 99px; }
.review-card { flex: 0 0 560px; height: 720px; margin: 0; padding: 12px; overflow: hidden; background: transparent; border-radius: 12px; scroll-snap-align: start; }
.review-card img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }

@media (max-width: 760px) {
  .reviews-grid { gap: 12px; margin-top: 36px; }
  .review-card { flex-basis: min(84vw, 560px); height: 640px; padding: 8px; }
}
