/* Homepage composition. Shared identity is supplied by tokens.css and site.css. */
.home-page { background:linear-gradient(180deg,#f3faff 35%,#e9f7fc 80%,#f8fbfd) }
.home-page svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.home-page .page { max-width:1440px; padding:0 var(--space-2xl) 48px }
.home-hero { position:relative; isolation:isolate; padding:44px var(--space-sm) 52px; min-height:310px; margin:0 calc(var(--space-sm) * -1) }
.hero-scene { position:absolute; z-index:-2; inset:0 calc((min(100vw, 1440px) - 100vw) / 2 - 28px) 0 28%; overflow:hidden; mask-image:linear-gradient(to right,transparent 0%,#000 48%) }
.hero-scene::after { content:""; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#f3faff) }
.hero-scene img { width:100%; height:100%; object-fit:cover; object-position:60% 60%; display:block }
.home-page .hero-trail { position:absolute; z-index:-1; top:12px; right:-20px; width:62%; height:270px; stroke:none; pointer-events:none }
.hero-copy { max-width:760px }
.hero-copy h1 { font-size:var(--text-display); letter-spacing:-.04em; margin-bottom:var(--space-sm); text-wrap:initial }
.hero-copy h1 span,.simulator-copy h2 span { color:var(--brand-display) }
.hero-copy .lead { max-width:460px; font-size:1.1rem; line-height:1.55; margin-bottom:var(--space-lg) }
.hero-benefits { display:flex; gap:30px; padding:0; margin:0; list-style:none }
.hero-benefits li { display:flex; align-items:center; gap:10px; font-size:.78rem; color:#415b78; line-height:1.55 }
.hero-benefits strong { font-weight:600 }
.hero-benefits svg { width:40px; height:40px; padding:9px; border-radius:50%; background:var(--paper); color:#0088cb; box-shadow:0 3px 9px #177dac12 }
.hero-benefits li:nth-child(2) svg { color:#b17800 }
.hero-benefits li:nth-child(3) svg { color:#078463 }
.home-page .simulator-intro { position:relative; display:grid; grid-template-columns:140px minmax(0,1fr) auto; column-gap:28px; row-gap:var(--space-sm); margin-top:20px; padding:var(--space-lg) 30px 18px 18px; border:1px solid #e1eef3; border-radius:var(--radius-lg); background:linear-gradient(110deg,#dff6fb 0%,var(--paper) 32%,var(--paper) 86%,#fff9df); box-shadow:0 8px 28px #215f790a }
.bill-art { width:140px; height:auto; grid-row:span 2 }
.simulator-copy h2 { font-size:1.65rem; margin-bottom:var(--space-sm); line-height:1.25 }
.simulator-copy p { font-size:.85rem; color:var(--muted); margin:0; max-width:58ch }
.home-page .simulator-action { text-align:center; min-width:245px }
.home-page .simulator-action .button { width:100% }
.simulator-action .text-link { font-size:.8rem; margin-top:var(--space-sm); padding:5px }
.home-page .simulator-scope { grid-column:2/-1; font-size:.68rem; margin:0; max-width:none }
.home-unavailable { padding:var(--space-lg) var(--space-md) 20px; max-width:650px }
.home-unavailable>svg { width:32px; height:32px; color:var(--accent); margin-bottom:var(--space-sm) }
.home-unavailable h3 { font-size:1.25rem }
.home-unavailable p { color:var(--muted); font-size:.9rem }
.home-page .home-news { margin-top:36px }
.home-page .home-news .section-title h2 { font-size:1.5rem }
@media(min-width:1441px) {
.hero-scene { right:-28px }

}
@media(max-width:1150px) {
.hero-copy { max-width:650px }
.hero-copy h1 { max-width:600px }
.hero-benefits { gap:18px }
.home-page .simulator-intro { grid-template-columns:110px minmax(0,1fr) auto; gap:var(--space-md) }
.bill-art { width:110px }
.home-page .simulator-action { min-width:210px }

}
@media(max-width:900px) {
.home-page .page { padding:0 var(--space-lg) 36px }
.home-hero { padding:var(--space-xl) var(--space-sm) var(--space-2xl) }
.hero-copy h1 { max-width:500px; font-size:2.55rem }
.hero-copy .lead { max-width:420px; font-size:1rem }
.hero-scene { left:25%; right:-12px; opacity:.8; mask-image:linear-gradient(to right,transparent,#000) }
.home-page .hero-trail { opacity:.65; right:-12px }
.home-page .simulator-intro { grid-template-columns:95px minmax(0,1fr); padding:20px; gap:var(--space-md) }
.bill-art { width:95px; grid-row:1 }
.home-page .simulator-action { grid-column:2; min-width:0; display:flex; align-items:center; gap:20px; text-align:left }
.home-page .simulator-action .button { width:auto; font-size:.9rem; padding:var(--space-sm) 18px }
.simulator-action .text-link { margin:0 }
.home-page .simulator-scope { grid-column:1/-1 }

}
@media(max-width:600px) {
.home-page .page { padding:0 var(--space-md) 28px }
.home-hero { margin:0 calc(var(--space-md) * -1); padding:28px 20px 28px; min-height:initial; overflow:hidden }
.hero-copy h1 { font-size:2.1rem; max-width:310px; line-height:1.14; margin-bottom:var(--space-sm) }
.hero-copy .lead { font-size:.86rem; max-width:310px; line-height:1.65; margin-bottom:20px }
.hero-scene { left:20%; right:0; opacity:.23; mask-image:linear-gradient(to right,transparent,#000); }
.hero-scene img { object-position:68% 60% }
.home-page .hero-trail { top:30px; right:-80px; width:90%; opacity:.35 }
.hero-benefits { gap:var(--space-sm); justify-content:space-between; max-width:420px }
.hero-benefits li { gap:6px; font-size:.68rem; line-height:1.6 }
.hero-benefits svg { width:28px; height:28px; padding:6px }
.home-page .simulator-intro { grid-template-columns:68px minmax(0,1fr); padding:20px var(--space-md); gap:14px 10px; border-radius:18px }
.bill-art { width:75px; margin-left:-7px }
.simulator-copy h2 { font-size:1.3rem; margin-bottom:var(--space-xs) }
.simulator-copy p { font-size:var(--text-caption) }
.home-page .simulator-action { grid-column:1/-1; display:block; text-align:center }
.home-page .simulator-action .button { width:100%; border-radius:var(--radius); font-size:1rem }
.simulator-action .text-link { margin-top:10px; padding:var(--space-xs) }
.home-page .simulator-scope { font-size:.7rem }

}
@media(prefers-reduced-motion:reduce) {
.home-page * { scroll-behavior:auto }
 }
