/* T01 page layout (migrated from v2-preview prototype). Tokens only - no hard-coded colours except SVG art. */
/* page-specific layout only; all visual tokens come from css/v2 */
.home-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; padding: 56px 0 72px; }
.home-hero h1 { font-size: clamp(3.5rem, 2rem + 6vw, 8.25rem); line-height: .95; color: var(--text-display); }
.home-hero .psb-lead { max-width: 560px; margin: 24px 0 28px; }
.home-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.home-hero__trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.home-hero__trust span { padding: 6px 12px; border: 1.5px solid var(--border-ink); border-radius: var(--radius-pill); font-size: var(--fs-body-s); font-weight: 600; }
.home-hero__art { position: relative; aspect-ratio: 1; max-width: 600px; justify-self: end; width: 100%; }
.home-hero__art svg { width: 100%; height: auto; }
.home-hero__art .psb-sticker { position: absolute; top: 0; right: 0; }
.quiz { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.quiz h2 { color: var(--cream-50); font-size: var(--fs-h2); }
.quiz__opts { display: flex; flex-wrap: wrap; gap: 12px; }
.quiz__opts a { padding: 14px 22px; border: var(--stroke); border-radius: var(--radius-pill); box-shadow: var(--shadow-row); background: var(--media-bg); color: var(--ink-900); font-weight: 700; text-decoration: none; }
.research-band { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.research-band ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.research-band a { display: block; padding: 10px 16px; border: 1.5px solid var(--research-accent); border-radius: var(--radius-pill); background: var(--bg-surface); color: var(--research-accent); font-weight: 600; font-size: var(--fs-body-s); text-decoration: none; }
.newsletter { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.newsletter form { display: flex; gap: 10px; flex-wrap: wrap; }
.newsletter input { min-width: 300px; padding: 14px 20px; border: var(--stroke); border-radius: var(--radius-pill); font: inherit; background: var(--bg-surface); color: var(--text-primary); }
.seasonal { display: grid; grid-template-columns: 420px 1fr; gap: 48px; align-items: center; }
/* Tablet (Figma 06b): text + smaller art side by side */
@media (min-width: 701px) and (max-width: 1100px) {
    .home-hero { grid-template-columns: 1.25fr 1fr; gap: 24px; padding-block: 40px 48px; }
    .home-hero h1 { font-size: clamp(3.25rem, 1rem + 5vw, 4.5rem); }
    .home-hero__art { max-width: 340px; }
    .home-hero__art .psb-sticker { width: 104px; font-size: 14px; }
}
@media (max-width: 700px) {
    .home-hero, .seasonal { grid-template-columns: 1fr; }
    .home-hero__art { justify-self: center; max-width: 420px; }
}

/* Round 3 (Figma 86:1423, 86:1464): Start-here strip + trust band */
.home-start { padding: 28px 0; background: var(--bg-subtle); border-top: var(--stroke); }
.home-start__row { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 2fr); gap: 32px; align-items: center; }
.home-start h2 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
.home-start__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-start__list a { grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; text-decoration: none; }
.home-start__list .psb-icon { width: 26px; height: 26px; color: var(--text-brand); }
.home-start__list span { display: grid; gap: 2px; }
.home-start__list strong { color: var(--text-primary); }
.home-start__list small { font-size: 13px; color: var(--text-secondary); }
.home-start__list b { color: var(--text-brand); }
.home-trust__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home-trust__stats .psb-stat { flex-direction: column; align-items: flex-start; gap: 6px; font-weight: 600; font-size: var(--fs-body-s); }
.home-trust__note { margin-top: 18px !important; font-weight: 700; font-size: var(--fs-body-s); }
@media (max-width: 1100px) { .home-start__row { grid-template-columns: 1fr; gap: 16px; } .home-trust__stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .home-start__list { grid-template-columns: 1fr; gap: 10px; } }
