/* Home — hero from mockup B2 (diagonal cobalt plane with grid, slip on the right). */

.hero { --plane: polygon(60% 0, 100% 0, 100% 100%, 36% 100%); position: relative; isolation: isolate; margin-top: calc((var(--header-h) + 10px) * -1); padding: calc(var(--header-h) + 10px + clamp(40px, 6vw, 80px)) 0 calc(var(--cut) + 90px); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--grad-hero); clip-path: var(--plane); }
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; clip-path: var(--plane);
  background-image: linear-gradient(oklch(100% 0 0 / .07) 1px, transparent 1px), linear-gradient(90deg, oklch(100% 0 0 / .07) 1px, transparent 1px);
  background-size: 44px 44px; -webkit-mask: linear-gradient(180deg, #000, transparent 85%); mask: linear-gradient(180deg, #000, transparent 85%);
}
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); align-items: center; }
.hero__title { font: 800 var(--fs-h1)/var(--lh-tight) var(--font-display); font-stretch: var(--stretch-display); letter-spacing: var(--track-display); margin: 1.1rem 0 1.25rem; }
.hero__cta { display: flex; gap: .6rem; flex-wrap: wrap; }
.hero__stats { margin-top: 2rem; }
.hero .slip { justify-self: end; }

/* limits (mockup .limits) */
.limits { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(24px, 5vw, 80px); align-items: start; }
.limits__h { font: 800 var(--fs-h2)/1 var(--font-display); font-stretch: 112%; letter-spacing: -.04em; margin: .8rem 0 1rem; }
.limits__h span { color: var(--color-calm); }
.limits__p { color: var(--color-text-2); max-width: 44ch; margin: 0 0 1.4rem; }

/* account in four steps — numbered cards, the limit step is the key one */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; }
.step { position: relative; padding: 24px; border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-1); display: grid; gap: .5rem; align-content: start; }
.step__n { font: 800 2.6rem/1 var(--font-display); font-stretch: 125%; letter-spacing: -.04em; color: var(--color-surface-3); }
.step h3 { margin: .4rem 0 0; font: 800 1.3rem/1.05 var(--font-display); font-stretch: 112%; letter-spacing: -.02em; }
.step p { margin: 0; color: var(--color-text-2); font-size: .95rem; }
.step--key { background: var(--grad-brand); color: #fff; border-color: transparent; box-shadow: var(--shadow-brand); }
.step--key .step__n { color: var(--color-sun); }
.step--key p { color: #fff; }

.faq-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 80px); align-items: start; }

@media (max-width: 1100px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero .slip { justify-self: start; }
  .hero { --plane: polygon(0 56%, 100% 40%, 100% 100%, 0 100%); }
  .steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .limits, .faq-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .steps { grid-template-columns: 1fr; }
}
.hero .lead { max-width: 42ch; }
@media (max-width: 560px) { .hero__stats .stat b { font-size: .98rem; white-space: nowrap; } }

/* ── hero: photo in the plane, cursor light, floating family shapes ── */
.hero .plane-photo img { object-position: 70% 60%; filter: grayscale(.2) brightness(1.35) contrast(1.05); }
.hero.has-photo::before { opacity: .82; }
.hero::after { background-image: radial-gradient(22rem 22rem at var(--mx, 80%) var(--my, 40%), oklch(100% 0 0 / .16), transparent 70%), linear-gradient(oklch(100% 0 0 / .07) 1px, transparent 1px), linear-gradient(90deg, oklch(100% 0 0 / .07) 1px, transparent 1px); background-size: auto, 44px 44px, 44px 44px; }
.float { position: absolute; z-index: -1; pointer-events: none; will-change: transform; }
.float--circle { width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, oklch(93% .12 92), var(--color-sun)); right: 6%; top: 14%; box-shadow: 0 20px 50px -20px oklch(30% .1 80 / .5); }
.float--square { width: 70px; height: 70px; border-radius: 16px; background: oklch(100% 0 0 / .12); border: 1.5px solid oklch(100% 0 0 / .45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); right: 2%; bottom: 14%; rotate: 14deg; }
.float--tri { width: 64px; height: 64px; background: linear-gradient(135deg, oklch(72% .17 45), var(--color-signal-shape)); clip-path: polygon(50% 4%, 96% 92%, 4% 92%); left: 3%; top: 58%; opacity: .9; }
.hero__visual { position: relative; justify-self: end; width: 100%; max-width: 500px; }
.hero__visual .slip { max-width: none; }
.draw-pop { position: relative; margin: 14px 0 0 auto; width: max-content; max-width: 100%; z-index: 2; padding: 14px 16px; border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-3); display: grid; gap: 10px; }
.draw-pop .balls { flex-wrap: nowrap; }
.draw-pop .ball { width: 32px; height: 32px; font-size: .8rem; }

/* ── ticker of latest results ── */
.ticker { position: relative; z-index: 2; display: flex; align-items: center; gap: 1rem; margin: 28px auto 0; max-width: var(--container); padding: 0 var(--container-pad); }
.ticker__label { flex: none; display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1rem; border-radius: var(--radius-pill); background: var(--color-text); color: #fff; font: 600 .75rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .04em; }
.ticker__viewport { flex: 1; min-width: 0; overflow: hidden; border-radius: var(--radius-pill); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-2); -webkit-mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.ticker__track { display: flex; width: max-content; }
.ticker__list { display: flex; gap: 2.2rem; margin: 0; padding: 0 1.1rem; list-style: none; min-height: 44px; align-items: center; }
.ticker__list li { white-space: nowrap; font-size: .88rem; color: var(--color-text-2); }
.ticker__list b { color: var(--color-text); font-weight: 600; margin: 0 .3rem; }
.ticker__list .num { font-family: var(--font-mono); font-size: .82rem; }
.ticker__list em { font-style: normal; font: 600 .82rem var(--font-mono); color: oklch(52% .14 75); }

/* ── photo band ── */
.photo-band { position: relative; isolation: isolate; overflow: hidden; min-height: 620px; display: grid; align-items: center; padding-block: calc(var(--cut) + 64px); clip-path: polygon(0 var(--cut), 100% 0, 100% calc(100% - var(--cut)), 0 100%); margin-block: clamp(32px, 4vw, 56px); }
.photo-band__img { position: absolute; inset: 0; z-index: -2; }
.photo-band__img img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 55%; }
.photo-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, oklch(97.5% .006 265 / .92) 0%, oklch(97.5% .006 265 / .55) 42%, transparent 70%); }
.photo-band__card { max-width: 560px; padding: clamp(24px, 3vw, 40px); border-radius: var(--radius-lg); background: color-mix(in oklch, var(--color-surface) 88%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid oklch(100% 0 0 / .7); box-shadow: var(--shadow-3); }
.photo-band__card p { color: var(--color-text-2); margin: 1rem 0 1.4rem; }
.band-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 1.5rem; }
.band-facts div { padding: .8rem .9rem; border-radius: var(--radius-sm); background: var(--color-surface-2); }
.band-facts dt { font-size: .74rem; color: var(--color-muted); order: 2; }
.band-facts dd { margin: 0 0 .25rem; font: 800 1.25rem/1.1 var(--font-display); font-stretch: 112%; color: var(--color-brand); }
.band-facts div { display: flex; flex-direction: column-reverse; }
.float--band { right: 8%; top: 22%; width: 90px; height: 90px; }

@media (max-width: 1100px) {
  .hero__visual { justify-self: start; }
  .float--square { left: auto; right: 10%; bottom: 8%; }
}
@media (max-width: 760px) {
  .ticker { margin-top: 0; }
  .ticker__label { display: none; }
  .photo-band { min-height: 0; }
  .photo-band::before { background: oklch(97.5% .006 265 / .55); }
  .band-facts { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .draw-pop { width: auto; }
  .draw-pop .balls { flex-wrap: wrap; }
  .float { display: none; }
}
.ticker__list li { display: flex; align-items: center; gap: .35rem; }
.ticker__list li > * { display: block; line-height: 20px; height: 20px; margin: 0; }
@media (max-width: 389px) { .draw-pop .balls { flex-wrap: nowrap; gap: 3px; } .draw-pop .ball { width: 26px; height: 26px; font-size: .68rem; } }
