/* First visual increment: home only. Existing journey and MVC hooks stay intact. */
.kiosk:has([data-screen="home"].active) { width:min(100%, 1440px); background:#081a36; box-shadow:none; }
body:has([data-screen="home"].active) { background:#081a36; }
.kiosk:has([data-screen="home"].active) .topbar { height:100px; padding:24px 6%; grid-template-columns:1fr auto; }
.kiosk:has([data-screen="home"].active) .brand { grid-column:1; justify-self:start; color:#fff; }
.kiosk:has([data-screen="home"].active) .brand-copy small { color:#a8c8ef; font-size:9px; }
.kiosk:has([data-screen="home"].active) .brand-copy small i { background:#56b6ff; box-shadow:none; animation:none; }
.kiosk:has([data-screen="home"].active) .brand-mark svg { stroke:#68bbff; }
.kiosk:has([data-screen="home"].active) .brand-mark circle { fill:#f3ce70; }
.kiosk:has([data-screen="home"].active) .brand-mark .milie-spark { stroke:#f3ce70; }
.kiosk:has([data-screen="home"].active) .help-button { grid-column:2; border-color:#365071; background:#122948; }
.kiosk:has([data-screen="home"].active) .help-button svg { stroke:#fff; }
.kiosk:has([data-screen="home"].active) .back-button[hidden] { display:none; }
[data-screen="home"] { color:#fff; padding:26px 6% 24px; min-height:calc(100svh - 100px); background:radial-gradient(ellipse at 80% 28%, #12376580, transparent 49%); }
[data-screen="home"] .home-intro { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:24px; flex:1; padding:22px 0 48px; }
[data-screen="home"] .hero-copy { padding:0; }
[data-screen="home"] .eyebrow { display:flex; align-items:center; gap:10px; color:#a8c8ef; font-size:11px; line-height:1.6; letter-spacing:.12em; }
[data-screen="home"] .eyebrow > span { flex:none; width:7px; height:7px; border-radius:50%; background:#f3ce70; }
[data-screen="home"] h1 { font:700 clamp(64px, 6.7vw, 96px)/1.02 var(--sans); letter-spacing:-.055em; margin:24px 0; }
[data-screen="home"] h1 em { font:inherit; color:#65b8ff; }
.home-invitation { font-size:clamp(21px, 2vw, 27px); line-height:1.4; font-weight:600; max-width:410px; margin:0; }
[data-screen="home"] .hero-subtitle { color:#b4c4da; font-size:17px; line-height:1.65; max-width:450px; margin:16px 0 28px; }
[data-screen="home"] .home-actions { max-width:365px; }
[data-screen="home"] .primary-button { background:#f3ce70; color:#10213b; min-height:64px; border-radius:12px; font-size:17px; justify-content:space-between; box-shadow:0 8px 28px #0002; }
[data-screen="home"] .primary-button:hover { background:#ffdf8e; transform:translateY(-2px); }
[data-screen="home"] .primary-button:active { transform:translateY(0); }
[data-screen="home"] .home-actions p { color:#a8bbd3; font-size:12px; text-align:left; margin-top:14px; }
.home-companion { position:relative; width:min(100%, 460px); aspect-ratio:1; justify-self:center; display:grid; place-items:center; }
.home-orbit { position:absolute; border:1px solid #547cad55; border-radius:50%; }
.home-orbit-outer { inset:4%; transform:rotate(-24deg); }
.home-orbit-inner { inset:15%; border-color:#6cafff55; transform:rotate(38deg); }
.home-orbit i { position:absolute; width:11px; height:11px; border-radius:50%; background:#f3ce70; top:12%; left:13%; box-shadow:0 0 20px #f3ce7033; }
.home-orbit-inner i { background:#69bbff; width:8px; height:8px; left:82%; top:12%; }
.home-core { display:grid; place-items:center; width:45%; aspect-ratio:1; border-radius:38%; background:linear-gradient(145deg,#244d80,#102c52); border:1px solid #699dd875; box-shadow:0 0 80px #3188f02b, inset 0 1px 20px #9dceff12; transform:rotate(-8deg); }
.home-core svg { width:80%; stroke:#a7dbff; stroke-width:3; transform:rotate(8deg); }
.home-core circle { fill:#65b8ff; stroke:none; }
.home-core .home-spark { stroke:#f3ce70; stroke-linecap:round; }
.home-companion-caption { position:absolute; bottom:0; text-align:center; padding:15px 22px; border:1px solid #42628b; border-radius:14px; background:#102542; box-shadow:0 12px 32px #0002; }
.home-companion-caption span { display:block; font-size:17px; font-weight:600; }
.home-companion-caption small { display:block; margin-top:6px; color:#b4c4da; font-size:12px; }
.home-guide { padding-top:25px; border-top:1px solid #ffffff20; }
.home-guide-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.home-guide-heading p { margin:0; font-size:19px; font-weight:600; }
.home-guide-heading > span { color:#9eb4d0; font-size:10px; letter-spacing:.12em; }
.home-guide-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.home-guide-cards article { background:#f6f9fe; border:1px solid #fff; color:#10213b; border-radius:16px; padding:23px; }
.home-card-number { display:inline-grid; place-items:center; width:32px; height:32px; background:#e3edfb; color:#245991; font-size:12px; font-weight:700; border-radius:9px; margin-bottom:16px; }
[data-screen="home"] .home-guide-cards h2 { font:700 20px/1.3 var(--sans); letter-spacing:-.02em; }
.home-guide-cards p { font-size:14px; line-height:1.6; color:#506078; margin:10px 0 0; }
.home-signature { display:flex; justify-content:space-between; gap:16px; padding-top:24px; color:#98adc8; font-size:11px; line-height:1.5; }
.home-signature > span:first-child { font-weight:700; letter-spacing:.16em; color:#d4e2f4; }
.home-signature b { color:#f3ce70; margin:0 8px; }
.kiosk:has([data-screen="home"].active) :is(button,a):focus-visible { outline:3px solid #76c6ff; outline-offset:5px; }
@media (max-width:700px) {
  .kiosk:has([data-screen="home"].active) .topbar { height:84px; padding:18px 6%; }
  [data-screen="home"] { min-height:calc(100svh - 84px); padding-top:12px; }
  [data-screen="home"] .home-intro { grid-template-columns:1fr; gap:26px; padding:12px 0 30px; }
  [data-screen="home"] h1 { font-size:64px; margin:20px 0; }
  [data-screen="home"] .eyebrow { font-size:9px; }
  [data-screen="home"] .hero-subtitle { font-size:16px; }
  [data-screen="home"] .home-actions { max-width:none; }
  .home-companion { width:250px; }
  .home-companion-caption { bottom:-3px; padding:10px 18px; }
  .home-companion-caption span { font-size:14px; }
  .home-companion-caption small { font-size:10px; }
  .home-guide-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .home-guide-cards { grid-template-columns:1fr; gap:10px; }
  .home-guide-cards article { padding:20px; display:grid; grid-template-columns:32px 1fr; gap:4px 14px; }
  .home-card-number { grid-row:1 / 3; margin:0; }
  .home-guide-cards p { grid-column:2; margin:0; }
  .home-signature { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  [data-screen="home"].active { animation:none; }
  [data-screen="home"] .primary-button { transition:none; }
}
