/* ===== Design tokens — metaangels by Wandiology ===== */
:root {
  /* client palette */
  --c-bianchi: #34C8C5;
  --c-sunset: #DF84BD;
  --c-crab: #FC8A8E;
  --c-mango: #FFAE69;
  --c-couscous: #FEE09D;
  --c-foam: #FDEEEA;

  /* derived: deep water + ink */
  --c-abyss: #03121c;
  --c-deep: #062c3c;
  --c-deep-alt: #06303f;
  --c-mid: #0d5563;
  --c-mid-alt: #0d4a58;
  --c-shallow: #2a8f92;
  --c-foam-edge: #86d4c6;
  --c-sun-warm: #ffc68d;
  --c-ink-teal: #1e3b45;
  --c-teal-text: #146c73;
  --c-plum: #3b2440;
  --c-plum-soft: #6d5361;
  --c-plum-body: #5c4655;
  --c-mauve-muted: #9a7686;
  --c-mauve-pale: #c9a0b6;
  --c-rose-ink: #c2537a;
  --c-pink-ink: #a8447a;
  --c-orange-ink: #b3562e;
  --c-ink-on-warm: #2a1226;
  --c-ink-on-teal: #03222b;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --r-pill: 999px;
  --r-payment: 14px;
  --r-faq: 16px;
  --r-card: 20px;
  --r-capture: 26px;

  --gutter: clamp(20px, 4vw, 56px);
  --band-y: clamp(64px, 9vw, 120px);

  --ease-standard: cubic-bezier(.2,.6,.2,1);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--c-plum);
  background: var(--c-foam);
  overflow-x: hidden;
}

a { color: var(--c-teal-text); text-decoration: none; }
a:hover { color: var(--c-sunset); }

h1, h2, h3, p { margin: 0; }

@keyframes twinkle { 0%, 100% { opacity: .15; } 50% { opacity: .9; } }
@keyframes drift { 0% { transform: translateX(0); } 100% { transform: translateX(-60px); } }

.star {
  position: absolute;
  border-radius: 50%;
  background: var(--star-color, var(--c-couscous));
  animation: twinkle var(--dur, 5s) ease-in-out var(--delay, 0s) infinite;
}
.star--big { box-shadow: 0 0 6px rgba(254,224,157,0.9); }

@media (prefers-reduced-motion: reduce) {
  .star { animation: none; opacity: .5; }
  .hero__water { animation: none !important; }
  html { scroll-behavior: auto; }
}

details summary::-webkit-details-marker { display: none; }

/* ===== Nav ===== */
.nav {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px var(--gutter);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nav__brand {
  letter-spacing: 0.3em;
  color: var(--c-couscous);
}

.nav__links {
  display: flex;
  gap: clamp(14px, 2.4vw, 34px);
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nav__link { color: rgba(253,238,234,0.82); transition: color 240ms var(--ease-standard); }
.nav__link:hover { color: var(--c-bianchi); }

.nav__cta {
  border: 1px solid rgba(52,200,197,0.55);
  border-radius: var(--r-pill);
  padding: 9px 18px;
  color: var(--c-foam);
  background: rgba(52,200,197,0.14);
  transition: background 240ms var(--ease-standard), color 240ms var(--ease-standard);
}
.nav__cta:hover { background: rgba(52,200,197,0.34); color: var(--c-abyss); }

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-image:
    radial-gradient(ellipse 110% 55% at 50% 80%, rgba(255,174,105,0.60), transparent 62%),
    radial-gradient(ellipse 80% 45% at 74% 14%, rgba(223,132,189,0.30), transparent 66%),
    linear-gradient(180deg, var(--c-abyss) 0%, var(--c-deep) 34%, var(--c-mid) 58%, var(--c-shallow) 74%, var(--c-foam-edge) 86%, var(--c-sun-warm) 95%, var(--c-couscous) 100%);
}

.hero__stars { position: absolute; inset: 0; pointer-events: none; }

.hero__water {
  position: absolute;
  left: -10%; right: -10%; bottom: 0; height: 34%;
  pointer-events: none;
  opacity: .5;
  background-image: repeating-linear-gradient(180deg, rgba(255,255,255,0.22) 0px, rgba(255,255,255,0.22) 1px, transparent 1px, transparent 9px);
  mask-image: linear-gradient(180deg, transparent, black 40%, transparent);
  -webkit-mask-image: linear-gradient(180deg, transparent, black 40%, transparent);
  animation: drift 18s linear infinite alternate;
}

.hero__center {
  position: relative;
  flex: 1;
  display: grid;
  place-content: center;
  text-align: center;
  padding: clamp(48px, 8vh, 110px) var(--gutter) clamp(90px, 14vh, 170px);
}

.hero__orbit {
  position: absolute;
  top: 38%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: .45;
}

.hero__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
}

.hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--c-couscous);
}
.hero__eyebrow-sep { color: var(--c-crab); }

.hero__avatar {
  position: relative;
  width: 132px; height: 132px;
  border-radius: 50%;
  padding: 5px;
  background: linear-gradient(140deg, var(--c-bianchi), var(--c-sunset) 50%, var(--c-mango));
  box-shadow: 0 0 60px -10px rgba(52,200,197,0.6);
}
.hero__avatar img {
  width: 122px; height: 122px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(58px, 11vw, 146px);
  line-height: 0.9;
  letter-spacing: -0.035em;
  color: var(--c-foam);
  text-shadow: 0 0 70px rgba(52,200,197,0.35);
}
.hero__by {
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 300;
  font-size: 0.28em;
  letter-spacing: -0.01em;
  color: var(--c-couscous);
  margin-top: 0.15em;
}
.hero__by-name { color: var(--c-bianchi); }

.hero__tagline {
  max-width: 22ch;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1.35;
  color: var(--c-couscous);
}

.hero__credibility {
  max-width: 44ch;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.7;
  color: rgba(253,238,234,0.72);
}

.hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 6px;
}

.btn-pill {
  display: inline-block;
  padding: 15px 30px;
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  transition: background 240ms var(--ease-standard), color 240ms var(--ease-standard), border-color 240ms var(--ease-standard);
}
.btn-pill--primary {
  background: var(--c-foam);
  color: #0b3d4c;
  box-shadow: 0 14px 40px -14px rgba(3,18,28,0.7);
}
.btn-pill--primary:hover { background: var(--c-bianchi); color: var(--c-abyss); }
.btn-pill--ghost {
  background: transparent;
  color: var(--c-foam);
  border: 1px solid rgba(253,238,234,0.45);
}
.btn-pill--ghost:hover { border-color: var(--c-couscous); color: var(--c-couscous); }

/* ===== Proof strip ===== */
.proof {
  padding: clamp(40px, 6vw, 72px) var(--gutter);
}
.proof__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 56px);
  border-top: 1px solid rgba(52,200,197,0.35);
  border-bottom: 1px solid rgba(52,200,197,0.35);
  padding: clamp(26px, 4vw, 42px) 0;
}
.proof__stats { display: flex; gap: clamp(28px, 5vw, 72px); flex-wrap: wrap; }
.stat { display: flex; flex-direction: column; gap: 6px; }
.stat__num {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 60px);
  line-height: 1;
  color: var(--c-teal-text);
}
.stat__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-mauve-muted);
}
.proof__collabs {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 20px;
  color: var(--c-plum-soft);
  max-width: 34ch;
}

/* ===== Section shell ===== */
.band { padding: var(--band-y) var(--gutter); }
.band-inner { max-width: 1180px; margin: 0 auto; }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--c-bianchi);
}

/* ===== About ===== */
.about__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(32px, 6vw, 80px);
  align-items: start;
}
.about__left { display: flex; flex-direction: column; gap: 18px; }
.about__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--c-ink-teal);
}
.about__heading em { font-style: italic; color: var(--c-sunset); }
.about__right { display: flex; flex-direction: column; gap: 20px; max-width: 58ch; }
.about__body { font-size: 17px; line-height: 1.8; color: var(--c-plum-body); }
.about__rule { height: 1px; background: rgba(223,132,189,0.4); }
.about__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  color: var(--c-teal-text);
}

/* ===== Capture cards ===== */
.capture-band { padding: 0 var(--gutter) clamp(56px, 9vw, 110px); }
.capture-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(18px, 2.5vw, 28px);
}
.capture-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-capture);
  padding: clamp(28px, 3.4vw, 44px);
}
.capture-card--guide {
  background-image: radial-gradient(ellipse 90% 70% at 15% 10%, rgba(52,200,197,0.35), transparent 60%), linear-gradient(160deg, var(--c-deep-alt), var(--c-mid));
  color: var(--c-foam);
  box-shadow: 0 30px 70px -30px rgba(6,48,63,0.6);
}
.capture-card--masterclass {
  background-image: radial-gradient(ellipse 90% 70% at 85% 8%, rgba(255,174,105,0.5), transparent 60%), linear-gradient(160deg, #fff7f0, var(--c-couscous));
  color: var(--c-plum);
  border: 1px solid rgba(252,138,142,0.4);
  box-shadow: 0 30px 70px -34px rgba(223,132,189,0.6);
}
.capture-card__eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; }
.capture-card--guide .capture-card__eyebrow { color: var(--c-couscous); }
.capture-card--masterclass .capture-card__eyebrow { color: var(--c-rose-ink); }
.capture-card__title {
  margin: 14px 0 10px;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.capture-card--masterclass .capture-card__title { color: var(--c-ink-teal); }
.capture-card__sub { margin: 0 0 22px; font-size: 15px; line-height: 1.7; }
.capture-card--guide .capture-card__sub { color: rgba(253,238,234,0.75); }
.capture-card--masterclass .capture-card__sub { color: var(--c-plum-soft); }

.form-inline { display: flex; flex-wrap: wrap; gap: 10px; }
.input-pill {
  flex: 1 1 190px;
  min-width: 0;
  padding: 14px 18px;
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
}
.capture-card--guide .input-pill {
  border: 1px solid rgba(253,238,234,0.3);
  background: rgba(255,255,255,0.08);
  color: var(--c-foam);
}
.capture-card--guide .input-pill:focus { border-color: var(--c-bianchi); }
.capture-card--masterclass .input-pill {
  border: 1px solid rgba(59,36,64,0.2);
  background: rgba(255,255,255,0.7);
  color: var(--c-plum);
}
.capture-card--masterclass .input-pill:focus { border-color: var(--c-sunset); }

.btn-pill--small {
  padding: 14px 26px;
  border: 0;
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 240ms var(--ease-standard), color 240ms var(--ease-standard);
}
.btn-pill--teal { background: var(--c-bianchi); color: var(--c-ink-on-teal); }
.btn-pill--teal:hover { background: var(--c-couscous); }
.btn-pill--deep { background: var(--c-mid); color: var(--c-foam); }
.btn-pill--deep:hover { background: var(--c-sunset); color: var(--c-ink-on-warm); }

.capture-card__status { margin: 14px 0 0; min-height: 18px; font-size: 13px; }
.capture-card--guide .capture-card__status { color: var(--c-couscous); }
.capture-card--masterclass .capture-card__footer { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.capture-card--masterclass .link-replay { font-size: 13px; letter-spacing: 0.04em; border-bottom: 1px solid rgba(20,108,115,0.4); color: var(--c-teal-text); }
.capture-card--masterclass .capture-card__status { color: var(--c-rose-ink); }

/* ===== Services ===== */
.services {
  position: relative;
  color: var(--c-foam);
  overflow: hidden;
  background-image: radial-gradient(ellipse 70% 50% at 80% 0%, rgba(52,200,197,0.22), transparent 60%), linear-gradient(180deg, var(--c-abyss), var(--c-deep) 55%, var(--c-mid-alt));
}
.services__stars { position: absolute; inset: 0; pointer-events: none; }
.services__inner { position: relative; max-width: 1180px; margin: 0 auto; }
.services__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(32px, 5vw, 56px);
}
.services__heading-group { display: flex; flex-direction: column; gap: 16px; }
.services__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.03em;
}
.services__heading em { font-style: italic; color: var(--c-couscous); }
.services__note { max-width: 34ch; font-size: 14px; line-height: 1.75; color: rgba(253,238,234,0.7); }

.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(258px, 1fr)); gap: 14px; }

.price-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px;
  border-radius: var(--r-card);
  background: rgba(253,238,234,0.06);
  border: 1px solid rgba(52,200,197,0.28);
  backdrop-filter: blur(6px);
  transition: background 240ms var(--ease-standard), border-color 240ms var(--ease-standard);
}
.price-card:hover { border-color: var(--c-bianchi); background: rgba(52,200,197,0.12); }
.price-card__title { font-family: var(--font-display); font-weight: 400; font-size: 27px; line-height: 1.1; color: var(--c-foam); }
.price-card__price { font-family: var(--font-display); font-size: 36px; line-height: 1; color: var(--c-bianchi); }
.price-card__desc { font-size: 14px; line-height: 1.65; color: rgba(253,238,234,0.74); }
.price-card__terms { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-mauve-pale); }
.price-card__cta {
  margin-top: auto;
  padding-top: 18px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-couscous);
}
.price-card__cta--btn {
  margin-top: auto;
  padding: 13px 20px;
  border: 1px solid rgba(253,238,234,0.35);
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--c-foam);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 240ms var(--ease-standard), border-color 240ms var(--ease-standard), color 240ms var(--ease-standard);
}
.price-card__cta--btn:hover { background: var(--c-bianchi); border-color: var(--c-bianchi); color: var(--c-ink-on-teal); }

.price-card--featured {
  background-image: linear-gradient(160deg, var(--c-sunset), var(--c-crab) 55%, var(--c-mango));
  color: var(--c-ink-on-warm);
  box-shadow: 0 26px 60px -26px rgba(223,132,189,0.7);
  border: none;
}
.price-card--featured:hover { border: none; background-image: linear-gradient(160deg, var(--c-sunset), var(--c-crab) 55%, var(--c-mango)); }
.price-card--featured .price-card__title,
.price-card--featured .price-card__price { color: inherit; }
.price-card--featured .price-card__desc { color: rgba(42,18,38,0.82); }
.price-card--featured .price-card__terms { color: rgba(42,18,38,0.6); }
.price-card__eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(42,18,38,0.7); }
.price-card--featured .price-card__cta--btn {
  border: 0;
  background: var(--c-ink-on-teal);
  color: var(--c-foam);
}
.price-card--featured .price-card__cta--btn:hover { background: var(--c-foam); color: var(--c-ink-on-teal); }

.services__footnote { margin: 26px 0 0; font-size: 13px; line-height: 1.7; color: rgba(253,238,234,0.6); }

/* ===== Photobooks ===== */
.photobooks { background: var(--c-foam); }
.photobooks__header { display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(28px, 4vw, 44px); }
.photobooks__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--c-ink-teal);
}
.photobooks__heading em { font-style: italic; color: var(--c-pink-ink); }
.photobooks__note { max-width: 46ch; font-size: 14px; line-height: 1.7; color: var(--c-plum-body); }

.photobooks__row {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: 8px;
  margin: 0 -4px;
}
.photobook-card {
  flex: 0 0 auto;
  width: 220px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: var(--r-card);
  background: rgba(59,36,64,0.04);
  border: 1px solid rgba(59,36,64,0.12);
}
.photobook-card__cover { width: 100%; aspect-ratio: 4 / 3.1; object-fit: cover; border-radius: 12px; }
.photobook-card__title { font-family: var(--font-display); font-weight: 400; font-size: 20px; line-height: 1.15; color: var(--c-ink-teal); }
.photobook-card__price { font-family: var(--font-display); font-size: 22px; line-height: 1; color: var(--c-pink-ink); }
.photobooks .price-card__cta--btn { border-color: rgba(59,36,64,0.3); color: var(--c-ink-teal); }
.photobooks .price-card__cta--btn:hover { background: var(--c-bianchi); border-color: var(--c-bianchi); color: var(--c-ink-on-teal); }

/* ===== Payment ===== */
.payment { background: var(--c-foam); }
.payment__grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(32px, 5vw, 72px);
}
.payment__left { display: flex; flex-direction: column; gap: 16px; }
.payment__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: var(--c-ink-teal);
}
.payment__heading em { font-style: italic; color: var(--c-sunset); }
.payment__right { display: flex; flex-direction: column; gap: 28px; }

.payment__terms { display: flex; flex-direction: column; gap: 14px; }
.payment__term { display: flex; flex-direction: column; gap: 6px; padding-bottom: 14px; border-bottom: 1px solid rgba(52,200,197,0.3); }
.payment__term:last-child { border-bottom: none; padding-bottom: 0; }
.payment__term-label { font-size: 14px; letter-spacing: 0.02em; color: var(--c-ink-teal); }
.payment__term-desc { font-size: 15px; line-height: 1.7; color: var(--c-plum-soft); }

.payment__methods-heading {
  margin: 0 0 4px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-mauve-muted);
  font-weight: 500;
}
.payment-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 14px 18px;
  border-radius: var(--r-payment);
  flex-wrap: wrap;
}
.payment-row__label { font-size: 14px; min-width: 130px; }
.payment-row__desc { font-size: 14px; color: var(--c-plum-soft); }
.payment-row__code { font-family: var(--font-mono); font-size: 13px; }
.payment-row--mpesa { background: rgba(52,200,197,0.12); }
.payment-row--mpesa .payment-row__label { color: var(--c-teal-text); }
.payment-row--btc { background: rgba(255,174,105,0.18); }
.payment-row--btc .payment-row__label { color: var(--c-orange-ink); }
.payment-row--sendwave { background: rgba(223,132,189,0.18); }
.payment-row--sendwave .payment-row__label { color: var(--c-pink-ink); }

.payment__note { font-size: 14px; line-height: 1.7; color: var(--c-plum-soft); }

.payment-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 6px;
  padding: 22px;
  border-radius: var(--r-card);
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(52,200,197,0.28);
}
.payment-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-mauve-muted);
}
.payment-form input,
.payment-form select {
  padding: 12px 16px;
  border-radius: var(--r-pill);
  border: 1px solid rgba(20,108,115,0.25);
  background: var(--c-foam);
  color: var(--c-plum);
  font-family: var(--font-body);
  font-size: 14px;
  text-transform: none;
  letter-spacing: normal;
  outline: none;
}
.payment-form input:focus,
.payment-form select:focus { border-color: var(--c-bianchi); }
.payment-form button { align-self: flex-start; }
.payment-form .capture-card__status { color: var(--c-teal-text); }

/* ===== FAQ ===== */
.faq-band { padding: 0 var(--gutter) clamp(64px, 9vw, 120px); }
.faq-inner { max-width: 900px; margin: 0 auto; }
.faq__header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }
.faq__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: var(--c-ink-teal);
}
.faq-list { display: flex; flex-direction: column; gap: 8px; }
.faq-item {
  padding: 20px 22px;
  border-radius: var(--r-faq);
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(52,200,197,0.28);
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--c-ink-teal);
}
.faq-item summary:focus-visible { outline: 2px solid var(--c-bianchi); outline-offset: 2px; }
.faq-item p { margin: 12px 0 0; font-size: 15px; line-height: 1.75; color: var(--c-plum-soft); }

/* ===== Footer ===== */
.site-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 9vw, 110px) var(--gutter) 40px;
  color: var(--c-foam);
  background-image: radial-gradient(ellipse 90% 60% at 50% 100%, rgba(223,132,189,0.35), transparent 60%), linear-gradient(180deg, var(--c-abyss), var(--c-deep));
}
.site-footer__stars { position: absolute; inset: 0; pointer-events: none; }
.site-footer__inner { position: relative; max-width: 1180px; margin: 0 auto; display: flex; flex-direction: column; gap: 44px; }
.site-footer__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; }
.site-footer__heading {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(40px, 7vw, 96px);
  line-height: 0.98;
  letter-spacing: -0.035em;
}
.site-footer__heading em { font-style: italic; color: var(--c-couscous); }
.site-footer__contact { display: flex; flex-direction: column; gap: 12px; font-size: 14px; align-items: flex-start; }
.site-footer__contact-eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--c-bianchi); }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.site-footer__links a { color: var(--c-foam); border-bottom: 1px solid rgba(52,200,197,0.5); }
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  padding-top: 22px;
  border-top: 1px solid rgba(253,238,234,0.16);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(253,238,234,0.5);
}
