/* Approved homepage design, scoped to the 14 localized homepages. */
.home-redesign-page { --home-ink:#122c35; --home-muted:#53666b; --home-paper:#fbfbf7; background:var(--home-paper); color:var(--home-ink); }
.home-redesign-page main { width:100%; max-width:none; margin:0; padding:0; }
.home-redesign-page .site-header.home-page-header { grid-template-columns:auto 1fr auto auto; gap:24px; padding:16px max(24px,calc((100vw - 1200px)/2)); border:0; background:#fbfbf7ed; }
.home-page-header .brand-link { font-size:19px; letter-spacing:-.035em; }
.home-page-nav { display:flex; justify-content:center; gap:28px; color:var(--home-muted); font-size:13px; }
.home-page-nav a { padding-block:10px; }
.home-redesign-page a:focus-visible, .home-redesign-page summary:focus-visible { outline:3px solid #1769ff; outline-offset:5px; border-radius:6px; }
.home-redesign-page .home-header-store .button { min-height:42px; padding:9px 14px; font-size:12px; }
.home-redesign-page .button-primary { border:1px solid #0d2b37; border-radius:11px; background:#0d2b37; color:#fff; box-shadow:none; min-height:56px; gap:11px; padding:15px 22px; font-size:15px; font-weight:650; line-height:1.3; }
.home-redesign-page .button-primary:hover { background:#194353; border-color:#194353; transform:translateY(-1px); }
.home-redesign-page .button-app-icon { width:25px; height:25px; border-radius:6px; box-shadow:none; }
.homepage-redesign { overflow:clip; }
.homepage-redesign h1,.homepage-redesign h2,.homepage-redesign h3,.homepage-redesign p { margin:0; }
.home-main-hero { max-width:1248px; margin:auto; padding:48px 24px 56px; display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); grid-template-areas:'content image'; column-gap:58px; align-items:center; }
.home-hero-left { grid-area:content; min-width:0; }
.home-hero-copy { grid-area:copy; padding-top:24px; }
.home-kicker { color:#567367; font-size:11px; line-height:1.5; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.home-main-hero h1 { margin-top:18px; max-width:10.5ch; font-size:clamp(48px,5.1vw,68px); line-height:1.01; letter-spacing:-.055em; font-weight:760; text-wrap:balance; }
.home-hero-intro { grid-area:intro; max-width:450px; margin-top:23px!important; font-size:17px; line-height:1.65; color:var(--home-muted); }
.home-hero-image { grid-area:image; align-self:stretch; min-width:0; }
.home-hero-image .visual-product-stage { aspect-ratio:1 / 1.07; width:100%; overflow:hidden; border-radius:26px; background:#e8ede9; padding:0; border:0; box-shadow:none; }
.home-hero-image .visual-product-hero,.home-hero-image picture { width:100%; height:100%; margin:0; display:block; }
.home-hero-image img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 50%; }
.home-hero-action { grid-area:action; margin-top:27px; display:grid; justify-items:start; gap:9px; }
.home-device-note { font-size:11px; line-height:1.5; color:var(--home-muted); margin:0; }
.home-text-link { display:inline-flex; gap:12px; align-items:center; color:#46616a; font-size:13px; padding:8px 0; margin-top:3px; text-decoration:underline; text-decoration-color:#b4c6c6; text-underline-offset:5px; }
.home-hero-benefits { grid-area:benefits; list-style:none; display:flex; flex-wrap:wrap; column-gap:18px; row-gap:8px; padding:0; margin:25px 0 0; font-size:11px; color:#526a61; }
.home-hero-benefits li { display:flex; gap:6px; align-items:baseline; }
.home-hero-benefits li>span { color:#4b8062; }
.home-weather-story,.home-trip-story { max-width:1248px; margin:auto; padding:82px 24px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:84px; align-items:center; }
.home-weather-story { border-top:1px solid #dfe6df; }
.home-story-copy h2,.home-plan-copy h2,.home-discovery h2 { margin:18px 0 21px; font-size:clamp(31px,3.5vw,43px); line-height:1.12; font-weight:700; letter-spacing:-.04em; text-wrap:balance; }
.home-story-copy>p:last-child { max-width:440px; color:var(--home-muted); font-size:17px; line-height:1.75; }
.home-story-image,.home-plan-image { min-width:0; }
.homepage-redesign .visual-context-figure { width:100%; max-width:none; margin:0; }
.homepage-redesign .visual-context-figure picture { width:100%; display:block; }
.homepage-redesign .visual-context-figure img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:22px; box-shadow:none; border:0; }
.home-trip-story { grid-template-areas:'image copy'; padding-block:52px 94px; }
.home-plan-copy { grid-area:copy; }
.home-plan-image { grid-area:image; align-self:stretch; display:flex; align-items:center; }
.home-trip-steps { padding:0; margin:28px 0 30px; list-style:none; display:grid; gap:24px; }
.home-trip-steps li { display:flex; gap:16px; }
.home-step-number { font-size:11px; font-weight:650; color:#698376; line-height:28px; font-variant-numeric:tabular-nums; }
.home-trip-steps h3 { font-size:17px; font-weight:650; letter-spacing:-.015em; }
.home-trip-steps p { margin-top:5px; font-size:14px; line-height:1.65; color:var(--home-muted); }
.home-discovery { padding:66px 24px 72px; max-width:1248px; margin:auto; border-top:1px solid #dfe6df; }
.home-discovery h2 { max-width:720px; margin-bottom:14px; }
.home-discovery>p:not(.home-kicker) { font-size:16px; color:var(--home-muted); }
.home-discovery-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.home-discovery-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 0; border-top:1px solid #cfdad3; border-bottom:1px solid #cfdad3; font-size:15px; font-weight:600; }
.home-discovery-links a>span:last-child { color:#698376; font-size:20px; }
.home-library { border:0; border-bottom:1px solid #dfe6df; margin-top:28px; border-radius:0; background:transparent; padding:0; }
.home-library>summary { display:flex; justify-content:space-between; gap:24px; padding:21px 0; list-style:none; cursor:pointer; font-size:13px; color:var(--home-muted); font-weight:500; }
.home-library>summary::-webkit-details-marker { display:none; }
.home-library>summary span { font-size:22px; line-height:1; transition:transform .2s ease; }
.home-library[open]>summary span { transform:rotate(45deg); }
.home-library-content { padding:12px 0 36px; }
.home-library-content .section-block { padding:24px 0; margin:0; box-shadow:none; }
.home-library-content .section-heading { margin-bottom:16px; }
.home-library-content h2 { font-size:24px; }
.home-library-content .intent-grid,.home-library-content .route-grid,.home-library-content .hub-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-final-action { max-width:1200px; margin:0 auto 72px; padding:42px; background:#edf2e9; border-radius:24px; display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:26px; align-items:center; }
.home-final-action>img { border-radius:15px; box-shadow:0 8px 22px #162b3520; }
.home-final-action h2 { max-width:520px; font-size:30px; line-height:1.15; font-weight:700; letter-spacing:-.035em; text-wrap:balance; }
.home-final-action div>p:not(.home-device-note) { max-width:510px; margin-top:11px; font-size:14px; line-height:1.65; color:var(--home-muted); }
.home-final-store { display:grid; gap:9px; justify-items:center; }
.home-redesign-page .site-footer { max-width:1248px; margin:auto; background:transparent; box-shadow:none; padding:24px 24px 40px; border-top:1px solid #dfe6df; display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,1.3fr); gap:40px; align-items:start; }
.home-redesign-page .site-footer>div,.home-redesign-page .site-footer nav { min-width:0; }
.home-redesign-page .site-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px 12px; }
.home-redesign-page .site-footer p { max-width:440px; font-size:11px; line-height:1.6; }
#plan-your-trip,#explore-routes { scroll-margin-top:108px; }
@media(min-width:981px) { .home-hero-image .visual-product-stage { min-height:560px; } }
@media(max-width:1100px) { .home-page-nav { gap:16px; font-size:12px; } .home-redesign-page .site-header.home-page-header { gap:18px; } .home-main-hero { column-gap:36px; } .home-weather-story,.home-trip-story { gap:44px; } .home-final-action { margin-inline:24px; grid-template-columns:minmax(0,1fr) auto; } .home-final-action>img { display:none; } }
@media(max-width:900px) { .home-page-nav { display:none; } .home-redesign-page .site-header.home-page-header { grid-template-columns:1fr auto auto; } .home-main-hero { column-gap:28px; padding-top:28px; } .home-main-hero h1 { font-size:48px; } .home-hero-copy { padding-top:14px; } .home-hero-intro { font-size:16px; margin-top:16px!important; } .home-hero-action { margin-top:18px; } .home-hero-benefits { margin-top:14px; } .home-hero-image { align-self:center; } .home-weather-story,.home-trip-story { padding-block:48px; gap:30px; } .home-story-copy h2,.home-plan-copy h2 { font-size:32px; } .home-final-action h2 { font-size:26px; } .home-final-action { padding:30px; } .home-redesign-page .site-footer { grid-template-columns:minmax(0,1fr); gap:18px; } .home-redesign-page .site-footer nav { justify-content:flex-start; } }
@media(max-width:680px) {
  .home-redesign-page .site-header.home-page-header { grid-template-columns:1fr auto; padding:12px 20px; gap:12px; }
  .home-redesign-page .site-header .language-picker { grid-area:auto; }
  .home-page-header .brand-link { font-size:17px; gap:8px; }
  .home-page-header .brand-link img { width:32px; height:32px; }
  .home-header-store { display:none; }
  .home-main-hero { padding:23px 20px 34px; grid-template-columns:minmax(0,1fr); grid-template-areas:'copy' 'image' 'action' 'intro' 'benefits'; gap:0; }
  .home-hero-left { display:contents; }
  .home-hero-copy { padding:0; }
  .home-main-hero .home-kicker { font-size:9px; letter-spacing:.07em; }
  .home-main-hero h1 { max-width:16ch; margin-top:12px; font-size:clamp(34px,10.25vw,42px); line-height:1.04; letter-spacing:-.045em; }
  .home-hero-image { margin-top:21px; width:100%; }
  .home-hero-image .visual-product-stage { aspect-ratio:1 / 1; min-height:0; border-radius:19px; }
  .home-hero-image .visual-product-stage img { object-position:50% 51%; }
  .home-hero-action { justify-items:stretch; margin-top:20px; gap:7px; }
  .home-hero-action>.button { width:100%; min-height:56px; }
  .home-hero-action .home-device-note { text-align:center; }
  .home-hero-action .home-text-link { justify-self:center; margin-top:0; padding:6px 0; font-size:12px; }
  .home-hero-intro { margin-top:17px!important; font-size:15px; line-height:1.65; }
  .home-hero-benefits { margin-top:17px; gap:9px 15px; font-size:10px; }
  .home-weather-story,.home-trip-story { grid-template-columns:minmax(0,1fr); gap:28px; padding:38px 20px; }
  .home-story-copy h2,.home-plan-copy h2,.home-discovery h2 { font-size:30px; line-height:1.13; margin:14px 0 17px; }
  .home-story-copy>p:last-child { font-size:15px; line-height:1.7; }
  .home-trip-story { grid-template-areas:'image' 'copy'; padding-top:24px; padding-bottom:42px; }
  .home-trip-steps { gap:21px; margin:26px 0; }
  .home-trip-steps h3 { font-size:16px; }
  .home-trip-steps p { font-size:14px; }
  .home-plan-copy>.button { width:100%; }
  .homepage-redesign .visual-context-figure img { border-radius:18px; }
  .home-discovery { padding:38px 20px; }
  .home-discovery>p:not(.home-kicker) { font-size:14px; }
  .home-discovery-links { grid-template-columns:1fr; gap:0; margin-top:25px; }
  .home-discovery-links a { border-bottom:0; padding-block:18px; font-size:14px; }
  .home-discovery-links a:last-child { border-bottom:1px solid #cfdad3; }
  .home-library { margin-top:12px; }
  .home-library>summary { font-size:12px; align-items:center; }
  .home-library-content .intent-grid,.home-library-content .route-grid,.home-library-content .hub-grid { grid-template-columns:1fr; }
  .home-final-action { grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 24px; margin:0 20px 34px; border-radius:20px; text-align:left; }
  .home-final-action h2 { font-size:28px; }
  .home-final-store { justify-items:stretch; }
  .home-final-store .home-device-note { text-align:center; }
  .home-redesign-page .site-footer { padding-inline:20px; }
  #plan-your-trip,#explore-routes { scroll-margin-top:85px; }
}
@media(prefers-reduced-motion:reduce) { .home-redesign-page .button,.home-library>summary span { transition:none; transform:none!important; } }
