/* Home-only refinement. Shared public shell and other routes stay on public.css. */
.miles-home .gtsb-public-hero::before { display: none; }
.miles-home .gtsb-public-hero-grid { min-height: 540px; }
.miles-home .gtsb-public-hero-copy { padding-block: 56px; padding-right: 40px; }
.miles-home .gtsb-public-hero h1 { margin-top: 0; font-size: clamp(2.8rem, 4.4vw, 4.3rem); line-height: 1.04; }
.miles-home .gtsb-public-hero-copy > .miles-home-lead { margin-bottom: 18px; color: #fff; font-size: 1.35rem; line-height: 1.4; }
.miles-home .gtsb-public-hero-copy > p { max-width: 460px; font-size: 1rem; }
.miles-home .gtsb-public-hero-media > img { min-height: 540px; }
.miles-home .gtsb-public-course-device { right: 0; bottom: 26px; width: 235px; }
.miles-home .gtsb-public-section { padding-block: 64px; scroll-margin-top: 96px; }
.miles-home .gtsb-public-section-heading { max-width: none; }
.miles-home .gtsb-public-section-heading h2 { margin: 0 0 30px; font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.15; }
.miles-home-comparison { display: grid; grid-template-columns: 1fr 32px 1fr; gap: 20px; align-items: stretch; }
.miles-home-compare-panel { display: flex; flex-direction: column; padding: 32px; background: #eaf3fc; border-radius: 10px; color: #0b1f3a; }
.miles-home-compare-icon { display: block; margin-bottom: 16px; font-size: 44px; line-height: 1; }
.miles-home-compare-label { font-size: 1rem; font-weight: 750; }
.miles-home-compare-panel h3 { margin: 6px 0 16px; color: inherit; font-weight: 800; letter-spacing: -.025em; font-size: clamp(1.65rem, 2.3vw, 2.1rem); line-height: 1.18; }
.miles-home-compare-panel p { margin-bottom: 22px; font-size: 1rem; line-height: 1.65; }
.miles-home-compare-panel > a { margin-top: auto; width: fit-content; }
.miles-home-compare-panel.is-registration { background: #0b1f3a; color: #fff; }
.miles-home-compare-panel.is-registration p { color: #e1e8f0; }
.miles-home-compare-panel.is-registration a { color: #ffd400; }
.miles-home-compare-arrow { align-self: center; font-size: 30px; color: #0b1f3a; }
.miles-home-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.miles-home-steps li { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 22px; border: 1px solid #e1e7ee; border-radius: 8px; background: #fff; color: #0b1f3a; }
.miles-home-steps span { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #ffd400; font-weight: 800; font-size: .85rem; }
.miles-home-steps strong { font-size: 1rem; line-height: 1.45; }
.miles-home .gtsb-public-language-grid { margin-top: 0; gap: 12px; }
.miles-home .gtsb-public-language { justify-content: center; min-height: 48px; padding: 12px; }
.miles-home .miles-home-faq { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; border-top: 1px solid #e1e7ee; padding-top: 48px; }
.miles-home #faq { padding-top: 0; }
.miles-home .miles-home-faq h2 { max-width: 280px; margin-bottom: 20px; }
.miles-home .gtsb-public-faq-preview { width: 100%; margin: 0; }
.miles-home .gtsb-public-faq-preview summary { min-height: 64px; padding-block: 16px; font-size: 1rem; }
.miles-home .gtsb-public-faq-preview summary i { flex-shrink: 0; font-size: 20px; }
.miles-home .gtsb-public-faq-preview details p { font-size: 1rem; }
.miles-home :is(a, button, summary):focus-visible { outline: 3px solid #ab8500; outline-offset: 5px; }
@media (max-width: 1199px) {
    .miles-home .gtsb-public-hero-copy { padding-right: 0; }
    .miles-home .gtsb-public-hero-media, .miles-home .gtsb-public-hero-media > img { min-height: 350px; height: 350px; }
    .miles-home .gtsb-public-hero-media > img { object-position: center 35%; }
}
@media (max-width: 767px) {
    .miles-home .gtsb-public-hero-copy { padding-block: 40px 32px; }
    .miles-home .gtsb-public-hero h1 { font-size: clamp(2.5rem, 10.8vw, 3.3rem); }
    .miles-home .gtsb-public-hero-copy > .miles-home-lead { font-size: 1.15rem; margin-bottom: 14px; }
    .miles-home .gtsb-public-course-device { display: none; }
    .miles-home .gtsb-public-hero-media, .miles-home .gtsb-public-hero-media > img { height: 280px; min-height: 280px; }
    .miles-home .gtsb-public-hero-media > img { object-position: center 33%; }
    .miles-home .gtsb-public-hero-media::after { background: linear-gradient(180deg, #0b1f3a 0%, transparent 18%); }
    .miles-home .gtsb-public-section { padding-block: 44px; }
    .miles-home .gtsb-public-section-heading.is-centered { text-align: left; }
    .miles-home .gtsb-public-section-heading h2 { margin-bottom: 24px; font-size: 1.9rem; }
    .miles-home-comparison { grid-template-columns: 1fr; gap: 12px; }
    .miles-home-compare-panel { padding: 26px; }
    .miles-home-compare-panel h3 { font-size: 1.75rem; }
    .miles-home-compare-arrow { justify-self: center; transform: rotate(90deg); }
    .miles-home-steps { grid-template-columns: 1fr; gap: 8px; }
    .miles-home-steps li { flex-direction: row; align-items: center; gap: 16px; padding: 16px; }
    .miles-home .miles-home-faq { grid-template-columns: 1fr; gap: 26px; padding-top: 36px; }
    .miles-home .miles-home-faq h2 { max-width: none; }
    .miles-home .gtsb-public-language-grid { gap: 8px; }
    .miles-home .gtsb-public-faq-preview details p { padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .miles-home [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

.miles-home [data-aos]:not(.aos-init) { opacity: 1; transform: none; }
