@media (max-width:767px){
  .wrap{width:calc(100% - 38px)}

  .site-header{
    height:82px;
    padding:12px 18px;
  }
  .brand img.logo-main{height:45px}
  .brand img.logo-x{height:32px}
  .site-nav{display:none}
  .menu-toggle{display:block}
  body.menu-open .site-header{background:var(--blue)}
  body.menu-open .site-nav{
    display:flex;
    position:absolute;
    top:82px;
    left:0;
    right:0;
    min-height:calc(100svh - 82px);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:20px;
    background:var(--blue);
  }
  body.menu-open .site-nav > a,
  body.menu-open .site-nav > span{
    width:100%;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
    font-size:1.55rem;
  }

  /* Home — match supplied mobile reference */
  .home-hero{
    min-height:880px;
    padding:96px 20px 26px;
    background-position:61% center;
  }
  .home-hero::before{
    background:linear-gradient(180deg,rgba(8,44,65,.36) 0%,rgba(8,44,65,.09) 20%,rgba(8,44,65,0) 43%,rgba(8,44,65,0) 78%,rgba(8,44,65,.04) 100%);
  }
  .home-hero-inner{
    position:relative;
    min-height:758px;
  }
  .home-kicker{
    position:absolute;
    top:8px;
    left:0;
    font-size:1.02rem;
  }
  .home-title{
    position:absolute;
    top:44px;
    left:0;
    width:100%;
    font-size:4.55rem;
    line-height:.74;
  }
  .home-title .gold{
    margin-top:3px;
    font-size:1.42em;
    line-height:.70;
  }
  .home-summary{
    position:absolute;
    top:225px;
    left:0;
    width:70%;
    max-width:285px;
    font-size:1.28rem;
    line-height:1.08;
  }
  .home-dates{
    position:absolute;
    top:455px;
    left:0;
    margin:0;
    font-size:1.08rem;
    line-height:1.05;
  }
  .home-dates strong{font-size:1.35rem}

  .home-register{
    padding:34px 20px 28px;
    text-align:center;
  }
  .home-register .eyebrow{font-size:.9rem}
  .home-register h2{
    margin:7px auto 10px;
    font-size:2.65rem;
    line-height:.84;
  }
  .home-register .register-copy{
    max-width:330px;
    margin:0 auto 14px;
    font-size:1.05rem;
  }
  .home-register iframe{height:245px}

  .home-film{
    min-height:790px;
    aspect-ratio:9/16;
  }
  .home-film-overlay{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:30px 20px;
    text-align:center;
    background:linear-gradient(180deg,rgba(7,31,44,.62),rgba(7,31,44,.04) 40%,rgba(7,31,44,.08) 72%,rgba(7,31,44,.48));
  }
  .home-film h2{
    margin:12px 0 0;
    font-size:3.45rem;
    line-height:.82;
  }

  .page-hero{
    min-height:68svh;
    padding:118px 20px 38px;
  }
  .page-hero .inner{width:100%}
  .page-hero h1{font-size:4.3rem}
  .page-hero p{font-size:1.15rem}

  .section{padding:44px 0}
  .feature-grid,.registration-facts,.riders-grid,.route-cards{
    grid-template-columns:1fr;
  }
  .feature,.registration-facts article,.rider-card{padding:22px}

  .photo-text,.long-chapter,.visual-form-section{grid-template-columns:1fr}
  .photo-text .photo,.long-photo,.form-visual-photo{min-height:58vw}
  .photo-text .copy,.long-copy,.form-visual-content{padding:38px 20px}
  .visual-photo-right .form-visual-photo,.visual-photo-right .form-visual-content{order:initial}
  .visual-form-section iframe{height:285px}

  .route-card{min-height:72vw;padding:24px}
  .archive-copy{width:calc(100% - 38px)}
  .archive-edition{padding:42px 0}
  .faq-tabs{overflow:auto}
  .faq-tab{white-space:nowrap}

  .countdown{padding:40px 0}
  .countdown .wrap{grid-template-columns:1fr;gap:24px}
  .countdown-grid{grid-template-columns:repeat(2,1fr)}

  .partners{padding:48px 0}
  .sponsor-row{gap:14px}
  .sponsor-xl,.sponsor-lg,.sponsor-sm{width:calc(50% - 10px)}
  .partner-card{min-height:72px;padding:10px}
  .partner-card img{max-height:54px}

  .site-footer{
    grid-template-columns:1fr;
    padding:34px 20px;
    text-align:center;
  }
  .footer-brand{align-items:center}
  .footer-social{justify-content:center}
  .footer-meta{text-align:center}
}


@media (max-width:767px){
  /* HOME HERO — proportions taken from the supplied 498px-wide mockup.
     The image section is ~1.25 × viewport width, not an 880px-tall poster. */
  .home-hero{
    height:125vw;
    min-height:590px;
    max-height:690px;
    padding:94px 20px 18px;
    background-position:59% center;
  }
  .home-hero-inner{
    position:relative;
    min-height:0;
    height:100%;
  }
  .home-kicker{
    top:20px;
    left:0;
    font-size:1rem;
  }
  .home-title{
    top:53px;
    left:0;
    font-size:clamp(4rem,15vw,4.75rem);
    line-height:.74;
  }
  .home-title .gold{
    margin-top:2px;
    font-size:1.40em;
    line-height:.69;
  }
  .home-summary{
    top:220px;
    left:0;
    width:72%;
    max-width:310px;
    font-size:1.25rem;
    line-height:1.08;
  }
  .home-dates{
    top:318px;
    bottom:auto;
    left:0;
    font-size:1.02rem;
    line-height:1.04;
  }
  .home-dates .starts{margin-bottom:4px}
  .home-dates strong{font-size:1.27rem}

  .home-film-mobile{display:block}
  .home-film-desktop{display:none}

  #home-sponsors.partners{
    padding:48px 0;
    background:var(--blue);
  }
  #home-sponsors .sponsor-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  #home-sponsors .sponsor-row-top,
  #home-sponsors .sponsor-row-mid,
  #home-sponsors .sponsor-row-bottom{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #home-sponsors .partner-card{
    width:100%;
    min-height:82px;
    padding:10px;
    background:#fff;
  }
  #home-sponsors .partner-card img{max-height:54px}

  /* Media Center mobile: compact timeline, video first after edition header. */
  .page-mediacenter .archive-intro{
    padding:44px 0 34px;
  }
  .page-mediacenter .archive-intro .wrap,
  .page-mediacenter .archive-list > .wrap{
    width:calc(100% - 38px);
  }
  .page-mediacenter .archive-intro h1{
    font-size:3.45rem;
    line-height:.86;
    margin-bottom:22px;
  }
  .page-mediacenter .archive-edition{padding:42px 0}
  .page-mediacenter .archive-copy{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .page-mediacenter .archive-copy > h2{
    font-size:5rem;
    margin-bottom:16px;
  }
  .page-mediacenter .archive-actions{
    order:6;
    width:100%;
    margin-top:20px;
  }
  .page-mediacenter .archive-copy > h3{
    max-width:none;
    margin-top:5px;
  }
}


@media (max-width:767px){
  /* Sponsors keep their hierarchy and breathe — no boxes. */
  #home-sponsors .partner-strip{
    margin-top:28px;
  }
  #home-sponsors .sponsor-row{
    display:flex!important;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px 20px!important;
    margin-bottom:22px;
  }
  #home-sponsors .partner-card{
    width:auto!important;
    min-height:0!important;
    padding:4px 8px!important;
  }
  #home-sponsors .sponsor-row-top .partner-card{flex:0 1 42%}
  #home-sponsors .sponsor-row-mid .partner-card{flex:0 1 27%}
  #home-sponsors .sponsor-row-bottom .partner-card{flex:0 1 25%}
  #home-sponsors .partner-card img{max-height:54px}

  /* Route: mobile stacks image above copy, preserving the same card language. */
  .page-theroute .route-cards{
    grid-template-columns:1fr;
    gap:16px;
  }
  .page-theroute .route-card.route-card-side{
    display:block;
    min-height:0;
  }
  .page-theroute .route-card-media{
    min-height:0;
    aspect-ratio:16/10;
  }
  .page-theroute .route-card-copy{
    gap:15px;
    padding:20px 18px 22px;
  }
  .page-theroute .route-card-number{
    font-size:3.9rem;
  }
  .page-theroute .route-card-text h3{
    font-size:1.55rem;
  }
  .page-theroute .route-card-text > p:last-child{
    font-size:1.05rem;
  }
}


@media (max-width:767px){
  /* Sponsor logo hierarchy stays as in the approved mockup,
     but every logo keeps its original colour. */
  #home-sponsors .partner-card img{
    filter:none!important;
    opacity:1!important;
  }

  .page-theroute .route-cards{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .page-theroute .route-card.route-card-editorial{
    display:flex!important;
    min-height:0!important;
  }
  .page-theroute .route-card-heading{
    min-height:0;
    gap:13px;
    margin-bottom:12px;
    align-items:flex-end;
  }
  .page-theroute .route-card-number{
    font-size:4.2rem;
  }
  .page-theroute .route-card-heading h3{
    font-size:1.5rem;
  }
  .page-theroute .route-card-media{
    aspect-ratio:16/10;
  }
  .page-theroute .route-card-description{
    padding-top:12px;
  }
  .page-theroute .route-card-description p{
    font-size:1.04rem;
  }
}


@media (max-width:767px){
  /* Keep vertical mobile film exactly as a full visual block. */
  .home-film{
    display:block!important;
    min-height:790px!important;
    aspect-ratio:9/16!important;
  }
  .home-film-media{
    min-height:790px!important;
    height:100%!important;
  }
  .home-film-copy-panel{display:none!important}

  /* Sponsors: same hierarchy as concept, adapted for narrow screens */
  #home-sponsors.partners{padding:50px 0 56px!important}
  #home-sponsors .partner-strip{margin-top:34px!important}
  #home-sponsors .sponsor-row{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    margin:0 0 28px!important;
  }
  #home-sponsors .sponsor-row-top{gap:34px!important}
  #home-sponsors .sponsor-row-mid{gap:26px!important}
  #home-sponsors .sponsor-row-bottom{gap:24px 18px!important;margin-bottom:0!important}
  #home-sponsors .sponsor-row-top .partner-card{flex:0 1 42%!important}
  #home-sponsors .sponsor-row-mid .partner-card{flex:0 1 27%!important}
  #home-sponsors .sponsor-row-bottom .partner-card{flex:0 1 27%!important}
  #home-sponsors .sponsor-row-top .partner-card img{max-height:62px!important}
  #home-sponsors .sponsor-row-mid .partner-card img{max-height:42px!important}
  #home-sponsors .sponsor-row-bottom .partner-card img{max-height:32px!important}

  /* Route */
  .page-theroute .route-places-section{padding:48px 0!important}
  .page-theroute .route-cards{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .page-theroute .route-card-media{aspect-ratio:16/10!important}
  .page-theroute .route-card-overlay{padding:17px 17px 16px!important}
  .page-theroute .route-card-number{font-size:4rem!important;margin-bottom:7px!important}
  .page-theroute .route-card-heading-copy h3{font-size:1.5rem!important}
  .page-theroute .route-card-description{padding-top:11px!important}
  .page-theroute .route-card-description p{font-size:1.04rem!important}
}


@media (max-width:767px){
  /* HOME HERO — crop closer to the supplied reference:
     rider stays to the right/below the copy instead of under it. */
  .home-hero{
    background-position:48% center!important;
  }

  /* Media Center: one edition per row. */
  .page-mediacenter .archive-list > .wrap{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  .page-mediacenter .archive-video-number{
    left:15px!important;
    bottom:12px!important;
    font-size:4.1rem!important;
  }
  .page-mediacenter .archive-copy > h3{
    font-size:1.45rem!important;
  }
}


@media (max-width:767px){
  .page-hero::after{
    top:92px;
    right:18px;
    font-size:.78rem;
    letter-spacing:.09em;
    padding-top:7px;
  }
}


@media (max-width:767px){
  /* HOME START DATES — match the approved mobile mockup */
  .home-dates{
    top:305px!important;
    left:0!important;
    width:auto!important;
    margin:0!important;
    color:var(--blue)!important;
    font-size:1rem!important;
    line-height:1.02!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-transform:uppercase!important;
  }
  .home-dates .starts{
    display:block!important;
    margin:0 0 6px!important;
    font-size:1.02rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
  }
  .home-dates strong{
    display:block!important;
    margin:0!important;
    font-size:1.24rem!important;
    line-height:1.02!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
}


@media (max-width:767px){
  .page-mediacenter .archive-edition{
    padding:14px!important;
  }

  .page-faq .page-hero p{
    font-size:1.18rem!important;
  }

  .page-registration .countdown{
    padding:48px 0!important;
  }
  .page-registration .countdown .wrap{
    gap:28px!important;
  }
  .page-registration .countdown-urgency{
    width:100%;
    max-width:330px;
  }
  .page-registration .countdown-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px!important;
  }
  .page-registration .countdown-box{
    min-height:118px!important;
    padding:18px 10px!important;
  }
  .page-registration .countdown-box b{
    font-size:3.6rem!important;
  }
}


@media (max-width:767px){
  /* HOME VIDEO — never become narrower/wider than the page. */
  .home-film{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  .home-film-media{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:140vw!important;
    min-height:620px!important;
    max-height:820px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  .home-film-media .home-film-mobile{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    border:0!important;
    margin:0!important;
    padding:0!important;
  }
  .home-film-media .home-film-desktop{
    display:none!important;
  }
  .home-film-media .home-film-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  /* Registration mobile: keep every section in the blue palette. */
  .page-registration .registration-details{
    padding:48px 0!important;
  }
  .page-registration .registration-facts{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .page-registration .registration-facts article{
    padding:24px 22px!important;
  }
}


@media (max-width:767px){
  /* Official logo */
  .site-header{
    background:var(--official-brand-blue)!important;
  }
  .site-header .logo-main{
    height:58px!important;
    max-width:142px!important;
  }

  /* HOME HERO:
     lift summary + dates and keep them clear of the rider. */
  .home-summary{
    top:195px!important;
    width:69%!important;
    max-width:285px!important;
  }
  .home-dates{
    top:276px!important;
    left:0!important;
    max-width:225px!important;
  }
  .home-dates .starts{
    margin-bottom:6px!important;
  }
  .home-dates strong{
    font-size:1.17rem!important;
    white-space:nowrap!important;
  }

  /* Mobile Short: true viewport edge-to-edge. */
  .home-film{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    overflow:hidden!important;
  }
  .home-film-media{
    width:100vw!important;
    max-width:100vw!important;
    height:140vw!important;
    min-height:620px!important;
    max-height:820px!important;
  }
  .home-film-media .home-film-mobile,
  .home-film-media .home-film-overlay{
    width:100vw!important;
    max-width:100vw!important;
  }

  /* Sponsor hierarchy: 2 hero partners, then medium, then supporters. */
  #home-sponsors .sponsor-row-top{
    gap:28px!important;
    margin-bottom:40px!important;
  }
  #home-sponsors .sponsor-row-mid{
    gap:22px!important;
    margin-bottom:34px!important;
  }
  #home-sponsors .sponsor-row-bottom{
    gap:20px 16px!important;
  }
  #home-sponsors .sponsor-row-top .partner-card{
    flex:0 1 45%!important;
  }
  #home-sponsors .sponsor-row-mid .partner-card{
    flex:0 1 27%!important;
  }
  #home-sponsors .sponsor-row-bottom .partner-card{
    flex:0 1 23%!important;
  }
  #home-sponsors .sponsor-row-top .partner-card img{
    max-height:76px!important;
  }
  #home-sponsors .sponsor-row-mid .partner-card img{
    max-height:42px!important;
  }
  #home-sponsors .sponsor-row-bottom .partner-card img{
    max-height:28px!important;
  }

  /* Registration text */
  .page-registration .registration-after > .eyebrow{
    font-size:1rem!important;
  }
  .page-registration .registration-includes li{
    font-size:1.12rem!important;
    line-height:1.4!important;
    margin-bottom:.35em!important;
  }
}


@media (max-width:767px){
  .site-footer .footer-brand > img:first-child{
    height:auto!important;
    width:min(260px,72vw)!important;
    max-width:none!important;
  }

  .home-film-overlay-btn{
    bottom:18px!important;
    min-width:190px!important;
    font-size:1rem!important;
  }

  .page-theroute .route-card-number{
    font-size:4.15rem!important;
  }
  .page-theroute .route-card-heading-copy .eyebrow{
    font-size:.88rem!important;
  }
  .page-theroute .route-card-heading-copy h3{
    font-size:1.62rem!important;
  }

  .home-pillars-v13,
  .home-anniversary-v13,
  .home-map-v13{
    padding:48px 0!important;
  }
  .home-pillars-v13-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:26px!important;
  }
  .home-pillar-card{
    grid-template-columns:72px 1fr!important;
    gap:14px!important;
    padding:18px!important;
  }
  .home-pillar-card img{
    width:72px!important;
    height:60px!important;
  }
  .home-pillar-card h3{
    font-size:1.3rem!important;
  }
  .home-pillar-card p{
    font-size:1rem!important;
  }

  .home-berlin-v13{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .home-berlin-v13-photo{
    min-height:72vw!important;
    order:0!important;
  }
  .home-berlin-v13-copy{
    padding:40px 20px 44px!important;
  }
  .home-berlin-v13-copy h2{
    font-size:3rem!important;
  }

  .home-anniversary-v13 h2{
    font-size:3.2rem!important;
  }

  .home-map-v13-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .home-map-v13 img{
    max-height:none!important;
  }
}


@media (max-width:767px){
  /* Fix title / 4,000 km / STARTS overlap from the supplied screenshot. */
  .home-summary{
    top:365px!important;
    left:0!important;
    width:63%!important;
    max-width:300px!important;
    margin:0!important;
    transform:none!important;
  }
  .home-dates{
    top:455px!important;
    left:0!important;
    bottom:auto!important;
    max-width:230px!important;
  }

  /* Stats = 2 x 2 like supplied landing */
  .home-stats-v15-grid{
    width:100%!important;
    grid-template-columns:repeat(2,1fr)!important;
  }
  .home-stat-v15{
    min-height:145px!important;
    padding:20px 12px!important;
    border-right:1px solid rgba(255,255,255,.16)!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
  }
  .home-stat-v15:nth-child(2n){border-right:0!important}
  .home-stat-v15:nth-last-child(-n+2){border-bottom:0!important}
  .home-stat-v15 svg{
    width:48px!important;
    height:48px!important;
  }
  .home-stat-v15 strong{
    font-size:1.25rem!important;
  }

  .home-anniversary-v15{
    padding:54px 20px!important;
  }
  .home-anniversary-v15 h2{
    font-size:3.05rem!important;
  }
  .home-anniversary-v15 p{
    font-size:1.08rem!important;
  }

  .home-berlin-photo-v15{
    min-height:72vw!important;
  }
  .home-berlin-photo-v15-label{
    left:18px!important;
    bottom:16px!important;
    font-size:.9rem!important;
  }

  .home-ten-years-v15{
    padding:58px 20px!important;
  }
  .home-ten-years-v15-mark strong{
    font-size:5.4rem!important;
  }
  .home-ten-years-v15-mark > span:last-child{
    font-size:2.5rem!important;
  }
  .home-ten-years-v15 p{
    font-size:1.08rem!important;
  }

  .home-map-v15{
    padding:54px 0!important;
  }
  .home-map-v15-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .site-footer{
    background:#064264!important;
  }
}


@media (max-width:767px){
  /* Use the same horizontal tribute as desktop. */
  .home-film{
    width:100vw!important;
    max-width:100vw!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }
  .home-film-media{
    width:100vw!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
  }
  .home-film-media .home-film-mobile{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
  }
  .home-film-media .home-film-desktop{
    display:none!important;
  }

  /* Leave the YouTube title / controls area clear.
     The editorial copy sits lower and stays readable. */
  .home-film-media .home-film-overlay{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:center!important;
    text-align:center!important;
    padding:0 18px 78px!important;
    background:linear-gradient(
      180deg,
      rgba(7,31,44,0) 0%,
      rgba(7,31,44,.02) 34%,
      rgba(7,31,44,.50) 72%,
      rgba(7,31,44,.76) 100%
    )!important;
  }
  .home-film-media .home-film-overlay .eyebrow{
    margin:0 0 7px!important;
    font-size:.78rem!important;
    line-height:1!important;
  }
  .home-film-media .home-film-overlay h2{
    margin:0!important;
    max-width:92%!important;
    font-size:2.05rem!important;
    line-height:.82!important;
  }
  .home-film-overlay-btn{
    bottom:16px!important;
    min-width:188px!important;
    padding:9px 14px!important;
    font-size:.95rem!important;
  }

  /* Keep alternation on mobile too. */
  .home-stats-v15{background:#0f405d!important}
  .home-anniversary-v15{background:#155474!important}
  .home-ten-years-v15{background:#0f405d!important}
  .home-map-v15{background:#155474!important}
}


@media (max-width:767px){
  .home-anniversary-v15{
    padding:58px 18px!important;
  }
  .home-anniversary-v15 h2{
    font-size:3rem!important;
    margin-bottom:26px!important;
  }
  .home-anniversary-v15 p{
    font-size:1.05rem!important;
    line-height:1.42!important;
    margin-bottom:24px!important;
  }

  .home-ten-years-v15{
    padding:58px 18px!important;
  }
  .home-ten-years-v15 p{
    font-size:1.02rem!important;
    line-height:1.42!important;
    margin-bottom:22px!important;
  }

  .home-quotes-v17{
    min-height:330px!important;
    background:#155474!important;
  }
  .home-quotes-v17-space{
    min-height:280px!important;
  }

  .home-heritage-v17{
    padding:60px 18px!important;
  }
  .home-heritage-v17 h2{
    font-size:3rem!important;
    margin-bottom:28px!important;
  }
  .home-heritage-v17 p{
    font-size:1rem!important;
    line-height:1.42!important;
    margin-bottom:22px!important;
  }

  /* Strong mobile sponsor hierarchy matching the original concept. */
  #home-sponsors .sponsor-row-top{
    gap:20px!important;
    margin-bottom:46px!important;
  }
  #home-sponsors .sponsor-row-mid{
    gap:18px!important;
    margin-bottom:40px!important;
  }
  #home-sponsors .sponsor-row-bottom{
    gap:20px 14px!important;
  }
  #home-sponsors .sponsor-row-top .partner-card:nth-child(1){
    flex:0 0 45%!important;
    width:45%!important;
  }
  #home-sponsors .sponsor-row-top .partner-card:nth-child(2){
    flex:0 0 43%!important;
    width:43%!important;
  }
  #home-sponsors .sponsor-row-mid .partner-card:nth-child(1){flex:0 0 27%!important;width:27%!important}
  #home-sponsors .sponsor-row-mid .partner-card:nth-child(2){flex:0 0 24%!important;width:24%!important}
  #home-sponsors .sponsor-row-mid .partner-card:nth-child(3){flex:0 0 28%!important;width:28%!important}
  #home-sponsors .sponsor-row-bottom .partner-card{
    flex:0 0 25%!important;
    width:25%!important;
  }
  #home-sponsors .sponsor-row-top .partner-card img{
    width:100%!important;
    max-height:none!important;
  }
  #home-sponsors .sponsor-row-mid .partner-card img{
    width:100%!important;
    max-height:42px!important;
  }
  #home-sponsors .sponsor-row-bottom .partner-card img{
    width:100%!important;
    max-height:30px!important;
  }
}


@media (max-width:767px){
  .home-berlin-photo-v15{
    min-height:0!important;
  }
  .home-berlin-photo-v15-img{
    width:100%!important;
    height:auto!important;
  }
}


/* =========================================================
   STEP 1 — MOBILE HOME: HERO + REGISTRATION
   Master: NC4K-LANDING-ANNIVERSARY.svg
   ========================================================= */
@media (max-width:767px){

  body.home-page .site-header{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:40!important;
    height:16vw!important;
    min-height:56px!important;
    max-height:68px!important;
    padding:2.5vw 4.2vw!important;
    background:linear-gradient(180deg,rgba(6,66,100,.98),rgba(6,66,100,.80),rgba(6,66,100,0))!important;
  }
  body.home-page .site-header .brand{align-self:flex-start!important}
  body.home-page .site-header .logo-main{
    height:10.3vw!important;
    min-height:38px!important;
    max-height:46px!important;
    width:auto!important;
    object-fit:contain!important;
  }
  body.home-page .menu-toggle{
    margin-top:.9vw!important;
    padding:1.2vw 1.8vw!important;
    border:1px solid rgba(255,255,255,.82)!important;
    color:#fff!important;
    background:transparent!important;
    font-size:3.2vw!important;
    line-height:1!important;
  }

  body.home-page .home-hero{
    position:relative!important;
    min-height:0!important;
    height:112.5vw!important;
    max-height:none!important;
    padding:0!important;
    background-image:url('../shared/images/mobile-final/home-hero-mobile-step1.jpg')!important;
    background-size:100% 100%!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important;
  }
  body.home-page .home-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background:linear-gradient(180deg,
      rgba(6,66,100,.40) 0%,
      rgba(6,66,100,.10) 16%,
      rgba(6,66,100,0) 35%,
      rgba(6,66,100,0) 79%,
      rgba(6,66,100,.10) 100%)!important;
  }
  body.home-page .home-hero-inner{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:0!important;
  }

  body.home-page .home-kicker{
    position:absolute!important;
    top:19vw!important;
    left:2vw!important;
    margin:0!important;
    color:#d6ad52!important;
    font-size:3.3vw!important;
    line-height:1!important;
    letter-spacing:.24em!important;
    font-weight:600!important;
    white-space:nowrap!important;
  }
  body.home-page .home-title{
    position:absolute!important;
    top:24.2vw!important;
    left:1.2vw!important;
    width:98%!important;
    margin:0!important;
    color:#fff!important;
    font-size:13.8vw!important;
    line-height:.78!important;
    letter-spacing:-.035em!important;
    font-weight:800!important;
  }
  body.home-page .home-title .gold{
    display:block!important;
    margin-top:0!important;
    color:#d6ad52!important;
    font-size:1.28em!important;
    line-height:.74!important;
  }
  body.home-page .home-summary{
    position:absolute!important;
    top:50.6vw!important;
    left:1.1vw!important;
    width:66%!important;
    max-width:none!important;
    margin:0!important;
    color:#fff!important;
    font-size:4.1vw!important;
    line-height:1.02!important;
    font-weight:500!important;
  }
  body.home-page .home-dates{
    position:absolute!important;
    top:75.3vw!important;
    left:1.1vw!important;
    margin:0!important;
    color:#064264!important;
    font-size:3.4vw!important;
    line-height:1.02!important;
    text-transform:uppercase!important;
  }
  body.home-page .home-dates .starts{
    display:block!important;
    margin-bottom:.8vw!important;
    font-size:3.4vw!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
  }
  body.home-page .home-dates strong{
    display:block!important;
    font-size:4vw!important;
    line-height:1!important;
    font-weight:700!important;
  }

  body.home-page .home-register{
    padding:8.2vw 2.2vw 6.5vw!important;
    background:#064264!important;
    text-align:left!important;
  }
  body.home-page .home-register .register-inner{
    width:100%!important;
    max-width:none!important;
    display:block!important;
  }
  body.home-page .home-register .register-copy-block{
    width:100%!important;
    max-width:none!important;
    text-align:left!important;
  }
  body.home-page .home-register .eyebrow{
    margin:0 0 1.4vw!important;
    color:#fff!important;
    font-size:3.1vw!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    font-weight:600!important;
  }
  body.home-page .home-register h2{
    margin:0 0 4vw!important;
    color:#d6ad52!important;
    font-size:7.15vw!important;
    line-height:.84!important;
    letter-spacing:-.02em!important;
    font-weight:800!important;
  }
  body.home-page .home-register .register-copy{
    width:100%!important;
    max-width:none!important;
    margin:0 0 2.3vw!important;
    color:#fff!important;
    font-size:3.45vw!important;
    line-height:1.12!important;
  }
  body.home-page .home-register iframe{
    display:block!important;
    width:100%!important;
    height:34vw!important;
    min-height:126px!important;
    max-height:150px!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
}


/* STEP 1B — requested fixes */
@media (max-width:767px){
  /* Move Starts 2027 and the two start dates higher, away from the rider. */
  body.home-page .home-dates{
    top:66.5vw!important;
  }

  /* Registration CTA from the master: red button with the two registration dates. */
  body.home-page .home-register-cta-step1{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:3.2vw 0 3.6vw!important;
    padding:2.7vw 3vw 2.5vw!important;
    background:#e21d2f!important;
    color:#fff!important;
    text-decoration:none!important;
    text-align:center!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.home-page .home-register-cta-step1 strong{
    display:block!important;
    margin:0 0 1.2vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5vw!important;
    line-height:.9!important;
    font-weight:800!important;
    letter-spacing:.035em!important;
  }
  body.home-page .home-register-cta-step1 span{
    display:block!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:2.95vw!important;
    line-height:1.12!important;
    font-weight:600!important;
    letter-spacing:.02em!important;
  }
}


/* STEP 1C — mobile fixed header correction */
@media (max-width:767px){
  :root{
    --site-header-height:64px;
  }

  body{
    padding-top:64px!important;
  }

  body.home-page .site-header,
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9999!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:7px 16px!important;
    background:#064264!important;
    background-image:none!important;
  }

  body.home-page .site-header .logo-main,
  .site-header .logo-main{
    height:48px!important;
    min-height:0!important;
    max-height:48px!important;
    width:auto!important;
  }

  body.home-page .menu-toggle,
  .menu-toggle{
    margin-top:0!important;
  }

  /* Hero starts immediately after the fixed blue menu bar. */
  body.home-page .home-hero{
    margin-top:0!important;
  }
}


/* =========================================================
   STEP 1E — exact SVG hero raster + Registration CTA placement
   ========================================================= */
@media (max-width:767px){

  /* Exact framing from the master SVG raster. */
  body.home-page .home-hero{
    background-image:url('../shared/images/mobile-final/home-hero-mobile-svg-exact.png')!important;
    background-size:100% 100%!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }

  /* Keep the text vertical positions approved in the previous test. */
  body.home-page .home-kicker{top:17.2vw!important}
  body.home-page .home-title{top:22.2vw!important}
  body.home-page .home-summary{top:47.8vw!important}
  body.home-page .home-dates{top:62.2vw!important}

  /* CTA belongs to the Registration block, never to the hero. */
  body.home-page .home-register{
    position:relative!important;
  }
  body.home-page .home-register-cta-step1{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    clear:both!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:none!important;
    margin:3.4vw 0 4vw!important;
    padding:3.2vw 3vw 3vw!important;
    background:#e31b2f!important;
    color:#fff!important;
    text-align:center!important;
    text-decoration:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    z-index:2!important;
  }
  body.home-page .home-register-cta-step1 strong{
    display:block!important;
    margin:0 0 1.2vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5.8vw!important;
    line-height:.9!important;
    font-weight:800!important;
    letter-spacing:.035em!important;
  }
  body.home-page .home-register-cta-step1 span{
    display:block!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:3.25vw!important;
    line-height:1.12!important;
    font-weight:600!important;
    letter-spacing:.015em!important;
  }
}


/* =========================================================
   STEP 1F — Registration CTA ON the hero image
   ========================================================= */
@media (max-width:767px){

  /* CTA is part of the hero, under the start dates. */
  body.home-page .home-hero .home-register-cta-step1{
    position:absolute!important;
    left:1.8vw!important;
    top:78.8vw!important;
    z-index:6!important;
    display:block!important;
    width:35vw!important;
    max-width:142px!important;
    margin:0!important;
    padding:1.7vw 2vw 1.6vw!important;
    background:#e31b2f!important;
    color:#fff!important;
    text-decoration:none!important;
    text-align:left!important;
    border:0!important;
    border-radius:2.3vw!important;
    box-shadow:none!important;
  }

  body.home-page .home-hero .home-register-cta-step1 strong{
    display:block!important;
    margin:0 0 .55vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:3.15vw!important;
    line-height:.95!important;
    font-weight:800!important;
    letter-spacing:.01em!important;
  }

  body.home-page .home-hero .home-register-cta-step1 span{
    display:block!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:2.05vw!important;
    line-height:1.03!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }

  /* Ensure no registration CTA is rendered in the newsletter block. */
  body.home-page .home-register .home-register-cta-step1{
    display:none!important;
  }
}


/* =========================================================
   STEP 1G — top area final corrections
   - Hero registration CTA text no longer clipped
   - Guide copy centered
   - Brevo iframe restored to usable height
   ========================================================= */
@media (max-width:767px){

  /* Hero CTA: wider + taller so all three text lines fit cleanly. */
  body.home-page .home-hero .home-register-cta-step1{
    left:3.2vw!important;
    top:77.5vw!important;
    width:39vw!important;
    max-width:156px!important;
    min-height:0!important;
    padding:2.15vw 2.2vw 2vw!important;
    border-radius:2.6vw!important;
    overflow:visible!important;
  }
  body.home-page .home-hero .home-register-cta-step1 strong{
    margin:0 0 .75vw!important;
    font-size:3.35vw!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.home-page .home-hero .home-register-cta-step1 span{
    font-size:2.05vw!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* Guide / registration block copy is centered in the master. */
  body.home-page .home-register,
  body.home-page .home-register .register-inner,
  body.home-page .home-register .register-copy-block{
    text-align:center!important;
  }
  body.home-page .home-register .eyebrow,
  body.home-page .home-register h2,
  body.home-page .home-register .register-copy{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.home-page .home-register .register-copy{
    max-width:92%!important;
  }

  /* Brevo: remove the short hard cap that was clipping the form. */
  body.home-page .home-register iframe{
    width:100%!important;
    height:205px!important;
    min-height:205px!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* =========================================================
   STEP 1H — exact top alignment / SVG red / video overlay click
   ========================================================= */
@media (max-width:767px){

  /* Align all hero copy to the same left guide as the reference. */
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary,
  body.home-page .home-dates{
    left:3.2vw!important;
  }

  /* Reference is higher and more assertive than previous pass. */
  body.home-page .home-kicker{
    top:12.8vw!important;
    font-size:3.75vw!important;
    letter-spacing:.19em!important;
    line-height:1!important;
  }
  body.home-page .home-title{
    top:18.6vw!important;
    font-size:15.9vw!important;
    line-height:.75!important;
    letter-spacing:-.04em!important;
  }
  body.home-page .home-title .gold{
    font-size:1.31em!important;
    line-height:.73!important;
  }
  body.home-page .home-summary{
    top:45.6vw!important;
    width:69%!important;
    font-size:4.45vw!important;
    line-height:1.02!important;
  }
  body.home-page .home-dates{
    top:62.0vw!important;
  }
  body.home-page .home-dates .starts{
    font-size:3.85vw!important;
  }
  body.home-page .home-dates strong{
    font-size:4.45vw!important;
    line-height:1.02!important;
  }

  /* Registration button: exact SVG red and same left alignment as copy. */
  body.home-page .home-hero .home-register-cta-step1{
    left:3.2vw!important;
    top:78.0vw!important;
    width:44.5vw!important;
    max-width:none!important;
    padding:2.15vw 2.5vw 2vw!important;
    background:#ff0000!important;
    border-radius:2.8vw!important;
    text-align:left!important;
  }
  body.home-page .home-hero .home-register-cta-step1 strong{
    font-size:3.5vw!important;
    line-height:1!important;
  }
  body.home-page .home-hero .home-register-cta-step1 span{
    font-size:2.2vw!important;
    line-height:1.13!important;
  }

  /* Video overlay can be removed by JS after first interaction. */
  body.home-page .home-film-media.video-started .home-film-overlay,
  body.home-page .home-film-media.video-started .home-film-overlay-btn{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease, visibility .22s ease!important;
  }
}


/* =========================================================
   STEP 1I — exact visual corrections requested
   ========================================================= */
@media (max-width:767px){

  /* Blend the top of the hero into the exact menu/logo blue. */
  body.home-page .home-hero::after{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:18vw!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      #064264 0%,
      rgba(6,66,100,.94) 18%,
      rgba(6,66,100,.62) 48%,
      rgba(6,66,100,0) 100%
    )!important;
  }

  /* Upper title group higher, creating the gap visible in the reference. */
  body.home-page .home-kicker{
    top:9.8vw!important;
    font-size:3.85vw!important;
  }
  body.home-page .home-title{
    top:15.2vw!important;
    font-size:16.2vw!important;
  }
  body.home-page .home-title .gold{
    font-size:1.31em!important;
  }

  /* Keep summary clearly separated from NORTH. */
  body.home-page .home-summary{
    top:48.8vw!important;
    width:70%!important;
    font-size:4.45vw!important;
    line-height:1.04!important;
  }

  body.home-page .home-dates{
    top:63.0vw!important;
  }

  /* Guide block: exact hierarchy — title on one line. */
  body.home-page .home-register .eyebrow{
    font-size:2.75vw!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.home-page .home-register h2{
    font-size:5.65vw!important;
    line-height:.95!important;
    white-space:nowrap!important;
    letter-spacing:-.015em!important;
  }
  body.home-page .home-register .register-copy{
    font-size:3.25vw!important;
    line-height:1.10!important;
  }

  /* Brevo is already at minimum spacing internally.
     Scale the remote form slightly to reduce its visual footprint. */
  body.home-page .home-register iframe{
    width:112%!important;
    height:178px!important;
    min-height:178px!important;
    max-height:none!important;
    margin-left:-6%!important;
    transform:scale(.89)!important;
    transform-origin:top center!important;
  }

  /* Once YouTube reports PLAYING, remove all our overlay copy/button. */
  body.home-page .home-film-media.video-started .home-film-overlay,
  body.home-page .home-film-media.video-started .home-film-overlay-btn{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* =========================================================
   STEP 1J — precision corrections from supplied reference
   ========================================================= */
@media (max-width:767px){

  /* Exact red sampled from the supplied reference image. */
  body.home-page .home-hero .home-register-cta-step1{
    background:#aa0000!important;
  }

  /* RIDE TO THE is deliberately smaller than NORTH in the reference. */
  body.home-page .home-title{
    font-size:14.3vw!important;
    line-height:.78!important;
  }
  body.home-page .home-title .gold{
    font-size:1.43em!important;
    line-height:.72!important;
  }

  /* Starts remains bold; Rovereto/Berlin are regular weight. */
  body.home-page .home-dates .starts{
    font-weight:800!important;
  }
  body.home-page .home-dates strong{
    font-weight:400!important;
  }

  /* Do not scale the Brevo iframe: scaling was clipping its contents.
     Give it enough real height; Brevo already uses minimum spacing. */
  body.home-page .home-register iframe{
    width:100%!important;
    height:265px!important;
    min-height:265px!important;
    max-height:none!important;
    margin-left:0!important;
    transform:none!important;
    overflow:visible!important;
  }

  /* Transparent first-tap layer over the YouTube player.
     It disappears immediately, hides the editorial overlay, and
     commands the iframe to start playback. */
  body.home-page .home-film-media{
    position:relative!important;
  }
  body.home-page .home-film-start-capture{
    position:absolute!important;
    inset:0!important;
    z-index:7!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer!important;
  }
  body.home-page .home-film-media.video-started .home-film-overlay{
    display:none!important;
  }
  body.home-page .home-film-media.video-started .home-film-start-capture{
    display:none!important;
  }
}


/* =========================================================
   STEP 1K — Brevo iframe restored to 305px
   ========================================================= */
@media (max-width:767px){
  body.home-page .home-register iframe{
    width:100%!important;
    height:305px!important;
    min-height:305px!important;
    max-height:none!important;
    margin-left:0!important;
    transform:none!important;
    overflow:visible!important;
    border:0!important;
  }
}


/* =========================================================
   STEP 1L — hero typography / registration-label alignment
   Ratios taken from the supplied master SVG.
   ========================================================= */
@media (max-width:767px){

  /* SVG master ratio:
     RIDE TO THE ~15.09 units
     NORTH       ~27.42 units
     => NORTH ≈ 1.82x RIDE TO THE */
  body.home-page .home-title{
    font-size:13.2vw!important;
    line-height:.79!important;
  }
  body.home-page .home-title .gold{
    font-size:1.82em!important;
    line-height:.68!important;
  }

  /* Master uses essentially the same size for STARTS / Rovereto / Berlin.
     Only STARTS is bold. */
  body.home-page .home-dates .starts{
    font-size:3.75vw!important;
    line-height:1.02!important;
    font-weight:800!important;
  }
  body.home-page .home-dates strong{
    font-size:3.75vw!important;
    line-height:1.02!important;
    font-weight:400!important;
  }

  /* Keep the red box position unchanged.
     Align only the REGISTRATION heading within the box. */
  body.home-page .home-hero .home-register-cta-step1 strong{
    padding-left:.85vw!important;
    text-align:left!important;
  }
  body.home-page .home-hero .home-register-cta-step1 span{
    padding-left:0!important;
    text-align:left!important;
  }
}


/* =========================================================
   STEP 1M — exact requested alignment + video copy below
   ========================================================= */
@media (max-width:767px){

  /* RIDE TO THE and NORTH: same visual width, tighter spacing. */
  body.home-page .home-title{
    width:68vw!important;
    font-size:1rem!important;
    line-height:1!important;
  }
  body.home-page .home-title-line{
    display:block!important;
    width:max-content!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:13.15vw!important;
    line-height:.80!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    transform-origin:left center!important;
  }
  body.home-page .home-title .gold{
    display:block!important;
    width:max-content!important;
    margin-top:-.4vw!important;
    color:#d6ad52!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:23.85vw!important;
    line-height:.72!important;
    font-weight:800!important;
    letter-spacing:-.045em!important;
    transform-origin:left center!important;
  }

  /* Registration: move the BOX so its internal heading aligns with all hero copy.
     Do not push the word REGISTRATION to the right. */
  body.home-page .home-hero .home-register-cta-step1{
    left:.7vw!important;
  }
  body.home-page .home-hero .home-register-cta-step1 strong,
  body.home-page .home-hero .home-register-cta-step1 span{
    padding-left:2.5vw!important;
    text-align:left!important;
  }

  /* Remove editorial text from over the video completely. */
  body.home-page .home-film-media .home-film-overlay{
    display:none!important;
  }

  /* Let YouTube receive taps directly; no transparent capture layer. */
  body.home-page .home-film-start-capture{
    display:none!important;
    pointer-events:none!important;
  }

  /* Put the same copy in its own section immediately under the video. */
  body.home-page .home-film-copy-panel{
    display:block!important;
    width:100%!important;
    padding:7vw 5vw 7.5vw!important;
    background:#155474!important;
    color:#fff!important;
    text-align:center!important;
  }
  body.home-page .home-film-copy-panel .eyebrow{
    margin:0 0 1.5vw!important;
    color:#d6ad52!important;
    font-size:3.1vw!important;
    line-height:1!important;
    letter-spacing:.10em!important;
    font-weight:700!important;
  }
  body.home-page .home-film-copy-panel h2{
    margin:0!important;
    color:#fff!important;
    font-size:8vw!important;
    line-height:.84!important;
    font-weight:800!important;
  }
  body.home-page .home-film-copy-panel h2 strong{
    color:#d6ad52!important;
  }
}


/* =========================================================
   LOCAL PORTABLE BUILD — HERO ALIGNMENT FROM SUPPLIED IMAGE
   ========================================================= */
@media (max-width:767px){

  /* Common left guide from the supplied reference image. */
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary,
  body.home-page .home-dates{
    left:4.8vw!important;
  }

  /* Reference: both title lines occupy the same visual width. */
  body.home-page .home-title{
    top:15.2vw!important;
    width:65.5vw!important;
    font-size:1px!important;
    line-height:1!important;
  }
  body.home-page .home-title-line{
    display:block!important;
    width:max-content!important;
    white-space:nowrap!important;
    font-size:13.8vw!important;
    line-height:.78!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    transform:scaleX(.965)!important;
    transform-origin:left top!important;
  }
  body.home-page .home-title .gold{
    display:block!important;
    width:max-content!important;
    white-space:nowrap!important;
    margin-top:.2vw!important;
    font-size:25.15vw!important;
    line-height:.70!important;
    font-weight:800!important;
    letter-spacing:-.045em!important;
    transform:scaleX(.895)!important;
    transform-origin:left top!important;
  }

  /* Registration box deliberately protrudes left;
     its TEXT aligns to the same 4.8vw guide as the other copy. */
  body.home-page .home-hero .home-register-cta-step1{
    left:3.2vw!important;
    width:37.2vw!important;
    padding-left:1.6vw!important;
    padding-right:1.8vw!important;
  }
  body.home-page .home-hero .home-register-cta-step1 strong,
  body.home-page .home-hero .home-register-cta-step1 span{
    padding-left:0!important;
    margin-left:0!important;
    text-align:left!important;
  }

  /* Keep route dates visually lighter/smaller as in the reference. */
  body.home-page .home-dates .starts{
    font-size:3.35vw!important;
    font-weight:800!important;
  }
  body.home-page .home-dates strong{
    font-size:3.35vw!important;
    font-weight:400!important;
  }
}


/* =========================================================
   MOBILE MASTER PASS — HERO TO BERLIN TEMPELHOF
   ========================================================= */
@media (max-width:767px){

  /* Same visual horizontal measure for anniversary line + both title lines. */
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary,
  body.home-page .home-dates{left:4.4vw!important}

  body.home-page .home-kicker{
    top:10.7vw!important;
    width:66vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:3.25vw!important;
    line-height:1!important;
    letter-spacing:.15em!important;
    white-space:nowrap!important;
    transform:scaleX(1.12)!important;
    transform-origin:left center!important;
  }

  body.home-page .home-title{
    top:16.6vw!important;
    width:66vw!important;
    margin:0!important;
    font-size:1px!important;
    line-height:1!important;
  }
  body.home-page .home-title-line{
    display:block!important;
    width:max-content!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:13.2vw!important;
    line-height:.79!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    transform:scaleX(1.02)!important;
    transform-origin:left top!important;
  }
  body.home-page .home-title .gold{
    display:block!important;
    width:max-content!important;
    margin-top:.45vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:800!important;
    font-size:23.9vw!important;
    line-height:.69!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
    transform:scaleX(.93)!important;
    transform-origin:left top!important;
  }

  body.home-page .home-summary{
    top:49.3vw!important;
    width:68vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4.05vw!important;
    line-height:1.08!important;
  }

  body.home-page .home-dates{top:64vw!important}
  body.home-page .home-dates .starts{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:3vw!important;
    line-height:1.05!important;
  }
  body.home-page .home-dates strong{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:3vw!important;
    line-height:1.05!important;
  }

  /* Box protrudes left; REGISTRATION text aligns to the main text guide. */
  body.home-page .home-hero .home-register-cta-step1{
    left:2.6vw!important;
    width:38vw!important;
    padding-left:1.8vw!important;
    padding-right:1.8vw!important;
  }
  body.home-page .home-hero .home-register-cta-step1 strong,
  body.home-page .home-hero .home-register-cta-step1 span{
    padding-left:0!important;
    margin-left:0!important;
  }

  /* Guide section typography */
  body.home-page .home-register .eyebrow{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:500!important;
    font-size:3.55vw!important;
    line-height:1!important;
  }
  body.home-page .home-register h2{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:5.05vw!important;
    line-height:.96!important;
    white-space:nowrap!important;
  }
  body.home-page .home-register .register-copy{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:3.45vw!important;
    line-height:1.08!important;
  }

  /* THIS IS NORTHCAPE4000 appears before the video via flex order. */
  body.home-page .home-film{
    display:flex!important;
    flex-direction:column!important;
    background:#155474!important;
  }
  body.home-page .home-film-copy-panel{
    order:1!important;
    display:block!important;
    padding:7vw 5vw 6vw!important;
    background:#155474!important;
    text-align:center!important;
  }
  body.home-page .home-film-copy-panel .eyebrow{
    margin:0 0 1.4vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:500!important;
    font-size:3.1vw!important;
    line-height:1!important;
    color:#d2af5f!important;
  }
  body.home-page .home-film-copy-panel h2{
    margin:0!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:7.1vw!important;
    line-height:.86!important;
  }
  body.home-page .home-film-copy-panel h2 strong{color:#d2af5f!important}

  body.home-page .home-film-media{
    order:2!important;
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.home-page .home-film-media iframe{
    width:100%!important;
    height:100%!important;
  }
  body.home-page .home-film-media .home-film-overlay,
  body.home-page .home-film-overlay-btn,
  body.home-page .home-film-start-capture{display:none!important}

  /* Four stats: icon artwork extracted from the uploaded SVG master. */
  body.home-page .home-stats-v15{background:#0f405d!important}
  body.home-page .home-stats-v15-grid{grid-template-columns:1fr 1fr!important}
  body.home-page .home-stat-v15{
    min-height:33vw!important;
    padding:4vw 2vw!important;
  }
  body.home-page .home-stat-master-icon{
    display:block!important;
    width:10.8vw!important;
    height:10.8vw!important;
    object-fit:contain!important;
    margin:0 auto 2.7vw!important;
  }
  body.home-page .home-stat-v15 strong{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:4.65vw!important;
    line-height:1!important;
  }
  body.home-page .home-stat-v15 small{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:2.9vw!important;
    line-height:1!important;
  }

  /* Anniversary */
  body.home-page .home-anniversary-v15{
    padding:12vw 7vw 13vw!important;
    background:#155474!important;
  }
  body.home-page .home-anniversary-v15 h2{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:10.3vw!important;
    line-height:.82!important;
    margin-bottom:7vw!important;
  }
  body.home-page .home-anniversary-v15 h2 span{color:#4899ac!important}
  body.home-page .home-anniversary-v15 p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:3.85vw!important;
    line-height:1.28!important;
    max-width:88%!important;
  }
  body.home-page .home-anniversary-v15-close{font-weight:500!important}

  /* Berlin Tempelhof */
  body.home-page .home-berlin-photo-v15{
    margin:0!important;
    padding:0!important;
    background:#0f405d!important;
  }
  body.home-page .home-berlin-photo-v15-img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  body.home-page .home-berlin-photo-v15-label{
    left:4.4vw!important;
    bottom:3vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:500!important;
    font-size:3vw!important;
    letter-spacing:.03em!important;
  }
}


/* =========================================================
   MASTER PRECISION FIX 2 — HERO TO BERLIN TEMPELHOF
   ========================================================= */
@media (max-width:767px){

  /* ---------------------------------------------------------
     HERO: anniversary line, RIDE TO THE and NORTH must occupy
     the same horizontal measure.
     --------------------------------------------------------- */
  body.home-page .home-kicker,
  body.home-page .home-title{
    left:4.2vw!important;
    width:68vw!important;
  }

  body.home-page .home-kicker{
    top:10.6vw!important;
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:3.15vw!important;
    line-height:1!important;
    letter-spacing:.10em!important;
    white-space:nowrap!important;
    text-align:justify!important;
    text-align-last:justify!important;
    text-justify:inter-character!important;
    transform:none!important;
  }

  body.home-page .home-title{
    top:16.4vw!important;
    margin:0!important;
    font-size:1px!important;
    line-height:1!important;
  }

  body.home-page .home-title-line,
  body.home-page .home-title .gold{
    display:block!important;
    width:68vw!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
    text-align:justify!important;
    text-align-last:justify!important;
    text-justify:inter-character!important;
    transform:none!important;
    transform-origin:left top!important;
  }

  body.home-page .home-title-line{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:12.9vw!important;
    line-height:.82!important;
    letter-spacing:-.025em!important;
  }

  body.home-page .home-title .gold{
    margin-top:.35vw!important;
    color:#d2af5f!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:800!important;
    font-size:23.4vw!important;
    line-height:.69!important;
    letter-spacing:-.035em!important;
  }

  /* ---------------------------------------------------------
     GUIDE BLOCK: match supplied reference.
     --------------------------------------------------------- */
  body.home-page .home-register{
    padding:7vw 4vw 6vw!important;
    text-align:center!important;
  }

  body.home-page .home-register .eyebrow{
    margin:0 auto 1.2vw!important;
    width:100%!important;
    max-width:none!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:600!important;
    font-size:3.65vw!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    text-align:center!important;
  }

  body.home-page .home-register h2{
    margin:0 auto 3.2vw!important;
    width:100%!important;
    max-width:none!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:5.55vw!important;
    line-height:.95!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    text-align:center!important;
  }

  body.home-page .home-register .register-copy{
    max-width:94%!important;
    margin:0 auto 2.5vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:3.55vw!important;
    line-height:1.10!important;
    text-align:center!important;
  }

  /* ---------------------------------------------------------
     PRE-VIDEO STATEMENT: more breathing room.
     --------------------------------------------------------- */
  body.home-page .home-film-copy-panel{
    order:1!important;
    display:block!important;
    padding:10vw 5vw 9vw!important;
    background:#155474!important;
    text-align:center!important;
  }

  body.home-page .home-film-copy-panel .eyebrow{
    margin:0 0 2.2vw!important;
    color:#d2af5f!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:500!important;
    font-size:3.4vw!important;
    line-height:1!important;
    letter-spacing:.09em!important;
  }

  body.home-page .home-film-copy-panel h2{
    max-width:90%!important;
    margin:0 auto!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:7.5vw!important;
    line-height:.88!important;
  }

  body.home-page .home-film-copy-panel h2 strong{
    color:#d2af5f!important;
  }

  body.home-page .home-film-media{
    order:2!important;
  }

  /* ---------------------------------------------------------
     STATS: real master icons.
     --------------------------------------------------------- */
  body.home-page .home-stat-master-icon{
    display:block!important;
    width:13vw!important;
    height:13vw!important;
    object-fit:contain!important;
    margin:0 auto 3vw!important;
  }

  body.home-page .home-stat-v15{
    min-height:36vw!important;
    padding:5vw 2vw 4.5vw!important;
  }

  /* ---------------------------------------------------------
     ANNIVERSARY: spacing follows supplied reference.
     --------------------------------------------------------- */
  body.home-page .home-anniversary-v15{
    padding:13vw 5.5vw 14vw!important;
    background:#155474!important;
    text-align:center!important;
  }

  body.home-page .home-anniversary-v15-inner{
    max-width:100%!important;
  }

  body.home-page .home-anniversary-v15 h2{
    margin:0 auto 7.5vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    font-size:10.7vw!important;
    line-height:.82!important;
  }

  body.home-page .home-anniversary-v15 h2 span{
    color:#4899ac!important;
  }

  body.home-page .home-anniversary-v15 p{
    width:100%!important;
    max-width:94%!important;
    margin:0 auto 6vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4.15vw!important;
    line-height:1.30!important;
    text-align:center!important;
  }

  body.home-page .home-anniversary-v15-intro{
    margin-bottom:7vw!important;
  }

  body.home-page .home-anniversary-v15-close{
    margin-top:8vw!important;
    margin-bottom:0!important;
    font-weight:500!important;
    font-size:4.25vw!important;
  }

  /* Tempelhof left unchanged except typography already approved. */
}


/* =========================================================
   ANNIVERSARY TEXT ALIGNMENT FIX
   ========================================================= */
@media (max-width:767px){
  body.home-page .home-anniversary-v15,
  body.home-page .home-anniversary-v15-inner,
  body.home-page .home-anniversary-v15 h2,
  body.home-page .home-anniversary-v15 p{
    text-align:center!important;
    text-align-last:auto!important;
    text-justify:auto!important;
  }

  body.home-page .home-anniversary-v15 p{
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* =========================================================
   STATS + ANNIVERSARY + TEMPELHOF + 10 YEARS
   ========================================================= */
@media (max-width:767px){

  /* Stats icons larger and easier to read, matching master proportions. */
  body.home-page .home-stat-master-icon{
    width:16vw!important;
    height:16vw!important;
    margin:0 auto 3.2vw!important;
  }
  body.home-page .home-stat-v15{
    min-height:38vw!important;
    padding:5.5vw 2vw 4.5vw!important;
  }
  body.home-page .home-stat-v15 strong{
    font-size:4.8vw!important;
  }

  /* Anniversary: three distinct paragraphs, centered, no justification. */
  body.home-page .home-anniversary-v15{
    padding:12vw 5.5vw 13vw!important;
    text-align:center!important;
  }
  body.home-page .home-anniversary-v15 h2{
    margin-bottom:7.5vw!important;
  }
  body.home-page .home-anniversary-v15 p{
    width:100%!important;
    max-width:94%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-align-last:auto!important;
    text-justify:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
  }
  body.home-page .home-anniversary-v15-p1{
    margin-bottom:7vw!important;
  }
  body.home-page .home-anniversary-v15-p2{
    margin-bottom:8vw!important;
  }
  body.home-page .home-anniversary-v15-close{
    margin-bottom:0!important;
    font-size:4.25vw!important;
    line-height:1.25!important;
  }
  body.home-page .home-anniversary-v15-close strong{
    font-weight:700!important;
  }

  /* Tempelhof label larger and more readable. */
  body.home-page .home-berlin-photo-v15-label{
    left:4.4vw!important;
    bottom:3.2vw!important;
    font-size:4vw!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:.02em!important;
  }

  /* 10 Years: real laurel/10 mark taken from the master SVG. */
  body.home-page .home-ten-years-v15{
    padding:10vw 5.5vw 12vw!important;
    background:#0f405d!important;
    text-align:center!important;
  }
  body.home-page .home-ten-years-v15-inner{
    max-width:100%!important;
  }
  body.home-page .home-ten-years-v15-mark{
    margin:0 auto 7vw!important;
    width:90%!important;
    max-width:none!important;
  }
  body.home-page .home-ten-years-master-mark{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  body.home-page .home-ten-years-v15 p{
    width:100%!important;
    max-width:91%!important;
    margin:0 auto 6.5vw!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4vw!important;
    line-height:1.30!important;
    text-align:center!important;
  }
  body.home-page .home-ten-years-v15-intro{
    margin-bottom:7vw!important;
  }
  body.home-page .home-ten-years-v15-close{
    margin-top:8vw!important;
    margin-bottom:0!important;
    font-size:4.45vw!important;
    font-weight:700!important;
    line-height:1.20!important;
  }
}


@media (max-width:767px){
  /* stats icons larger */
  body.home-page .home-stat-master-icon{
    width:19vw!important;
    height:19vw!important;
    margin:0 auto 3vw!important;
  }
  body.home-page .home-stat-v15{
    min-height:41vw!important;
    padding:5vw 2vw 4.5vw!important;
  }

  /* exact supplied 10-years header */
  body.home-page .home-ten-years-v15-mark{
    width:100%!important;
    margin:0 auto 7vw!important;
  }
  body.home-page .home-ten-years-exact-header{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }

  /* remove old placeholder */
  body.home-page .home-quotes-v17{display:none!important}

  /* map from SVG */
  body.home-page .home-map-svg-v2{
    margin:0!important;
    padding:0!important;
    background:#0f405d!important;
  }
  body.home-page .home-map-svg-v2 img{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }

  /* quotes from SVG layout */
  body.home-page .home-quotes-svg-v2{
    background:#f4f4f1!important;
    padding:10vw 6vw 9vw!important;
    color:#064264!important;
  }
  body.home-page .home-quotes-svg-v2 blockquote{
    position:relative!important;
    margin:0 0 8vw!important;
    padding:0 0 0 5.5vw!important;
    border:0!important;
  }
  body.home-page .home-quotes-svg-v2 blockquote:last-child{margin-bottom:0!important}
  body.home-page .home-quotes-svg-v2 .quote-bar{
    position:absolute!important;
    left:0!important;
    top:.5vw!important;
    bottom:.5vw!important;
    width:1.8vw!important;
    background:#4da5bb!important;
  }
  body.home-page .home-quotes-svg-v2 p{
    margin:0!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5.2vw!important;
    line-height:1.16!important;
    font-weight:400!important;
    text-align:left!important;
  }
}


/* =========================================================
   FIX — full bicycle icon + Anniversary line break + 10 Years paragraphs
   ========================================================= */
@media (max-width:767px){

  /* Bicycle icon keeps same displayed size; asset itself is now complete. */
  body.home-page .home-stat-master-icon{
    object-fit:contain!important;
  }

  /* Anniversary final line split cleanly on two lines. */
  body.home-page .home-anniversary-v15-close{
    text-align:center!important;
    line-height:1.28!important;
  }

  /* 10 Years: explicit paragraph rhythm, centered, never justified. */
  body.home-page .home-ten-years-v15{
    text-align:center!important;
  }
  body.home-page .home-ten-years-v15 .home-ten-years-v15-p{
    width:100%!important;
    max-width:91%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-align-last:auto!important;
    text-justify:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4vw!important;
    line-height:1.30!important;
  }
  body.home-page .home-ten-years-v15 .p1{
    margin-bottom:6.5vw!important;
  }
  body.home-page .home-ten-years-v15 .p2{
    margin-bottom:7vw!important;
  }
  body.home-page .home-ten-years-v15 .p2 strong{
    font-weight:700!important;
  }
  body.home-page .home-ten-years-v15 .p3,
  body.home-page .home-ten-years-v15 .p4{
    margin-bottom:6.5vw!important;
  }
  body.home-page .home-ten-years-v15 .p5{
    margin-bottom:8vw!important;
  }
  body.home-page .home-ten-years-v15 .p6{
    margin-bottom:0!important;
    font-size:4.45vw!important;
    line-height:1.18!important;
  }
  body.home-page .home-ten-years-v15 .p6 strong{
    font-weight:700!important;
  }
}


/* =========================================================
   MAP / NEWSLETTER / RIDERS PASS
   ========================================================= */
@media (max-width:767px){

  /* 2x2 stat cards exactly as supplied reference */
  body.home-page .home-stats-v15{
    padding:5vw 5.5vw 6vw!important;
    background:#0f405d!important;
  }
  body.home-page .home-stats-v15-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:3vw!important;
  }
  body.home-page .home-stat-v15{
    min-height:31vw!important;
    padding:4vw 2vw!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:4vw!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.home-page .home-stat-master-icon{
    width:17vw!important;
    height:17vw!important;
    object-fit:contain!important;
    margin:0 auto 2.5vw!important;
  }
  body.home-page .home-stat-v15 strong{
    margin:0!important;
    font-size:4.8vw!important;
    line-height:.92!important;
    text-align:center!important;
  }

  /* exact bicycle icon provided by user */
  body.home-page .home-stat-v15 img[src*="bike-icon-exact"]{
    width:17vw!important;
    height:17vw!important;
    object-fit:contain!important;
  }

  /* Newsletter immediately before map */
  body.home-page .home-map-newsletter-v3{
    background:#0f405d!important;
    padding:6vw 5vw 5vw!important;
    color:#fff!important;
    text-align:center!important;
  }
  body.home-page .home-map-newsletter-v3-inner{
    width:100%!important;
    max-width:none!important;
  }
  body.home-page .home-map-newsletter-v3 h3{
    margin:0 0 1vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4vw!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.01em!important;
  }
  body.home-page .home-map-newsletter-v3 p{
    margin:0 0 1.8vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:3.65vw!important;
    line-height:1.05!important;
    font-weight:400!important;
  }
  body.home-page .home-map-newsletter-v3 iframe{
    display:block!important;
    width:100%!important;
    height:305px!important;
    min-height:305px!important;
    max-height:none!important;
    border:0!important;
    margin:0!important;
    transform:none!important;
  }

  /* exact user-supplied map, no recrop */
  body.home-page .home-map-svg-v2{
    background:#f4f4f1!important;
    padding:0!important;
    margin:0!important;
  }
  body.home-page .home-map-svg-v2 img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0!important;
  }

  /* 2400 Riders normalized to editorial-section typography */
  body.home-page .home-heritage-v17{
    padding:11vw 6vw 12vw!important;
    background:#f4f4f1!important;
    color:#064264!important;
    text-align:center!important;
  }
  body.home-page .home-heritage-v17 h2{
    margin:0 0 6vw!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:9vw!important;
    line-height:.88!important;
    font-weight:700!important;
  }
  body.home-page .home-heritage-v17 h2 span{
    display:block!important;
    color:#4da5bb!important;
    font-size:.72em!important;
    line-height:.92!important;
  }
  body.home-page .home-heritage-v17 p{
    max-width:92%!important;
    margin:0 auto 5.5vw!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.1vw!important;
    line-height:1.30!important;
    font-weight:400!important;
    text-align:center!important;
  }
  body.home-page .home-heritage-v17 .close,
  body.home-page .home-heritage-v17 p:last-child{
    margin-top:7vw!important;
    margin-bottom:0!important;
    font-size:4.7vw!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  /* temporary placeholder requested */
  body.home-page .home-photo-placeholder-v3{
    min-height:55vw!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#155474!important;
    color:#fff!important;
  }
  body.home-page .home-photo-placeholder-v3 span{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:6vw!important;
    font-weight:500!important;
    opacity:.78!important;
  }
}


/* =========================================================
   STATS / NEWSLETTER / 2400 RIDERS / FORMAT
   ========================================================= */
@media (max-width:767px){

  /* Stats: shorter rectangular cards like the reference. */
  body.home-page .home-stats-v15{
    padding:5vw 3.5vw 6vw!important;
  }
  body.home-page .home-stats-v15-grid{
    gap:2.2vw!important;
  }
  body.home-page .home-stat-v15{
    min-height:26vw!important;
    padding:3vw 1.5vw 2.8vw!important;
    border-radius:2.8vw!important;
  }
  body.home-page .home-stat-master-icon{
    width:15vw!important;
    height:12vw!important;
    margin:0 auto 2vw!important;
  }
  /* Bicycle is wider by nature; give it the same visual presence. */
  body.home-page .home-stat-v15 img[src*="bike-icon-exact"]{
    width:21vw!important;
    height:12vw!important;
    object-fit:contain!important;
  }
  body.home-page .home-stat-v15 strong{
    font-size:4.35vw!important;
    line-height:.94!important;
  }

  /* Newsletter uses the same visual language as the upper Guide block. */
  body.home-page .home-map-newsletter-v3{
    background:#064264!important;
    padding:7vw 4vw 4vw!important;
  }
  body.home-page .home-map-newsletter-v3 h3{
    margin:0 auto 1.3vw!important;
    color:#fff!important;
    font-size:3.65vw!important;
    line-height:1!important;
    font-weight:600!important;
    white-space:nowrap!important;
  }
  body.home-page .home-map-newsletter-v3 p{
    margin:0 auto 2vw!important;
    color:#fff!important;
    font-size:3.45vw!important;
    line-height:1.08!important;
    font-weight:400!important;
  }

  /* 2400 Riders: same editorial rhythm as 10 Years. */
  body.home-page .home-heritage-v17{
    padding:11vw 5.5vw 12vw!important;
    text-align:center!important;
  }
  body.home-page .home-heritage-v17 h2{
    margin:0 auto 7vw!important;
    font-size:9.5vw!important;
    line-height:.86!important;
  }
  body.home-page .home-heritage-v17 h2 span{
    display:block!important;
    margin-top:.8vw!important;
    font-size:.72em!important;
    line-height:.9!important;
  }
  body.home-page .home-heritage-v17 .home-heritage-v17-p{
    width:100%!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.05vw!important;
    line-height:1.30!important;
    font-weight:400!important;
    text-align:center!important;
    text-align-last:auto!important;
    text-justify:auto!important;
  }
  body.home-page .home-heritage-v17 .p1{margin-bottom:6vw!important}
  body.home-page .home-heritage-v17 .p2{margin-bottom:6vw!important}
  body.home-page .home-heritage-v17 .p3{margin-bottom:6vw!important}
  body.home-page .home-heritage-v17 .p4{margin-bottom:8vw!important}
  body.home-page .home-heritage-v17 .p5{
    margin-bottom:0!important;
    font-size:4.7vw!important;
    line-height:1.16!important;
  }
  body.home-page .home-heritage-v17 .p5 strong{font-weight:700!important}

  /* FORMAT immediately below the photo-carousel placeholder. */
  body.home-page .home-format-v4{
    background:#0f405d!important;
    color:#fff!important;
    padding:10vw 3vw 11vw!important;
    text-align:center!important;
  }
  body.home-page .home-format-v4 h2{
    margin:0 0 7vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:9.5vw!important;
    line-height:1!important;
    font-weight:700!important;
  }
  body.home-page .home-format-grid-v4{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:2.2vw!important;
  }
  body.home-page .home-format-card-v4{
    min-height:45vw!important;
    padding:4vw 2.2vw 4.5vw!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:3vw!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  body.home-page .home-format-card-v4 img{
    display:block!important;
    width:13vw!important;
    height:13vw!important;
    object-fit:contain!important;
    margin:0 auto 2.5vw!important;
  }
  body.home-page .home-format-card-v4 h3{
    margin:0 auto 2.8vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.25vw!important;
    line-height:.96!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }
  body.home-page .home-format-card-v4 p{
    margin:0!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:3.35vw!important;
    line-height:1.18!important;
    font-weight:400!important;
    text-align:center!important;
  }
}


/* =========================================================
   FORMAT ICONS + EUROPE SECTION
   ========================================================= */
@media (max-width:767px){

  /* New complete FORMAT icons, same visual size. */
  body.home-page .home-format-card-v4 img{
    width:15vw!important;
    height:15vw!important;
    object-fit:contain!important;
    margin:0 auto 2.7vw!important;
  }

  /* Editorial Europe section below FORMAT. */
  body.home-page .home-europe-v5{
    background:#155474!important;
    color:#fff!important;
    padding:11vw 5.5vw 12vw!important;
    text-align:center!important;
  }

  body.home-page .home-europe-v5-inner{
    max-width:100%!important;
  }

  body.home-page .home-europe-v5 h2{
    max-width:92%!important;
    margin:0 auto 8vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:9.2vw!important;
    line-height:.88!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  body.home-page .home-europe-v5-p{
    width:100%!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.05vw!important;
    line-height:1.30!important;
    font-weight:400!important;
    text-align:center!important;
    text-align-last:auto!important;
    text-justify:auto!important;
  }

  body.home-page .home-europe-v5 .p1{
    margin-bottom:6vw!important;
    font-weight:600!important;
  }

  body.home-page .home-europe-v5 .p2,
  body.home-page .home-europe-v5 .p3,
  body.home-page .home-europe-v5 .p4,
  body.home-page .home-europe-v5 .p5{
    margin-bottom:6vw!important;
  }

  body.home-page .home-europe-v5 .p6{
    margin-bottom:0!important;
  }
}


/* =========================================================
   EXACT USER SVG ASSETS + EUROPE QUOTES
   ========================================================= */
@media (max-width:767px){

  /* Use exact uploaded SVGs without cropping. */
  body.home-page .home-stat-master-icon{
    width:17vw!important;
    height:17vw!important;
    object-fit:contain!important;
    margin:0 auto 2.4vw!important;
  }
  body.home-page .home-stat-v15 img[src*="bici.svg"]{
    width:20vw!important;
    height:17vw!important;
    object-fit:contain!important;
  }

  body.home-page .home-ten-years-v15-mark{
    width:100%!important;
    margin:0 auto 7vw!important;
  }
  body.home-page .home-ten-years-exact-svg{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  body.home-page .home-map-svg-v2 img[src*="mappa.svg"]{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  body.home-page .home-format-card-v4 img{
    width:15vw!important;
    height:15vw!important;
    object-fit:contain!important;
    margin:0 auto 2.7vw!important;
  }

  /* Two quotes after Europe, same style as the other quote section. */
  body.home-page .home-europe-quotes-v6{
    background:#f4f4f1!important;
    color:#064264!important;
    padding:10vw 6vw 9vw!important;
  }
  body.home-page .home-europe-quotes-v6-inner{
    width:100%!important;
    max-width:none!important;
  }
  body.home-page .home-europe-quotes-v6 blockquote{
    position:relative!important;
    margin:0 0 8vw!important;
    padding:0 0 0 5.5vw!important;
    border:0!important;
  }
  body.home-page .home-europe-quotes-v6 blockquote:last-child{
    margin-bottom:0!important;
  }
  body.home-page .home-europe-quotes-v6 .quote-bar{
    position:absolute!important;
    left:0!important;
    top:.5vw!important;
    bottom:.5vw!important;
    width:1.8vw!important;
    background:#4da5bb!important;
  }
  body.home-page .home-europe-quotes-v6 p{
    margin:0!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5.2vw!important;
    line-height:1.16!important;
    font-weight:400!important;
    text-align:left!important;
  }
}


/* =========================================================
   CHAPTER PHOTO + CHAPTER TEXT
   ========================================================= */
@media (max-width:767px){

  body.home-page .home-chapter-photo-v7{
    position:relative!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#064264!important;
  }

  body.home-page .home-chapter-photo-v7 img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
  }

  body.home-page .home-chapter-photo-v7-shade{
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,0) 0%,
      rgba(6,66,100,0) 56%,
      rgba(6,66,100,.42) 72%,
      rgba(6,66,100,.88) 90%,
      #064264 100%
    )!important;
  }

  body.home-page .home-chapter-photo-v7 blockquote{
    position:absolute!important;
    top:7vw!important;
    left:4.5vw!important;
    right:5vw!important;
    margin:0!important;
    padding:0 0 0 5.5vw!important;
    border:0!important;
    z-index:2!important;
  }

  body.home-page .home-chapter-photo-v7 .quote-bar{
    position:absolute!important;
    left:0!important;
    top:.5vw!important;
    bottom:.5vw!important;
    width:1.8vw!important;
    background:#4da5bb!important;
  }

  body.home-page .home-chapter-photo-v7 blockquote p{
    margin:0!important;
    color:#064264!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5.2vw!important;
    line-height:1.20!important;
    font-weight:400!important;
    text-align:left!important;
  }

  body.home-page .home-chapter-photo-v7 h2{
    position:absolute!important;
    left:5vw!important;
    right:5vw!important;
    bottom:5vw!important;
    z-index:2!important;
    margin:0!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:7.3vw!important;
    line-height:.92!important;
    font-weight:700!important;
    text-align:center!important;
    text-transform:uppercase!important;
  }

  body.home-page .home-chapter-text-v7{
    background:#064264!important;
    color:#fff!important;
    padding:9vw 5.5vw 12vw!important;
    text-align:center!important;
  }

  body.home-page .home-chapter-text-v7-inner{
    max-width:100%!important;
  }

  body.home-page .home-chapter-text-v7 h2{
    max-width:94%!important;
    margin:0 auto 8vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:8.4vw!important;
    line-height:.90!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  body.home-page .home-chapter-text-v7 .chapter-p{
    max-width:94%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.05vw!important;
    line-height:1.30!important;
    font-weight:400!important;
    text-align:center!important;
  }

  body.home-page .home-chapter-text-v7 .chapter-p.p1,
  body.home-page .home-chapter-text-v7 .chapter-p.p2,
  body.home-page .home-chapter-text-v7 .chapter-p.p3,
  body.home-page .home-chapter-text-v7 .chapter-p.p4,
  body.home-page .home-chapter-text-v7 .chapter-p.p5{
    margin-bottom:6vw!important;
  }

  body.home-page .home-chapter-text-v7 .chapter-p.p6{
    margin-bottom:9vw!important;
    font-size:4.35vw!important;
    line-height:1.18!important;
  }
  body.home-page .home-chapter-text-v7 .chapter-p.p6 strong{
    font-weight:700!important;
  }

  body.home-page .home-chapter-text-v7 h3{
    margin:0 0 7vw!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:10vw!important;
    line-height:.9!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  body.home-page .home-chapter-text-v7 .did-p{
    max-width:94%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    color:#fff!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.05vw!important;
    line-height:1.30!important;
    font-weight:400!important;
    text-align:center!important;
  }

  body.home-page .home-chapter-text-v7 .did-p.p1{
    margin-bottom:7vw!important;
  }

  body.home-page .home-chapter-text-v7 .did-p.p2{
    margin-bottom:0!important;
  }

  body.home-page .home-chapter-text-v7 .did-p strong{
    font-weight:700!important;
  }
}


/* =========================================================
   CHAPTER SECTION FIX — match supplied reference
   ========================================================= */
@media (max-width:767px){

  /* Photo keeps the quote only; no duplicate title on the image. */
  body.home-page .home-chapter-photo-v7 h2{
    display:none!important;
  }

  /* Quote: narrower, upper-left, clear of the rider. */
  body.home-page .home-chapter-photo-v7 blockquote{
    top:7.5vw!important;
    left:7.5vw!important;
    right:auto!important;
    width:70%!important;
    max-width:none!important;
    padding-left:5vw!important;
  }

  body.home-page .home-chapter-photo-v7 .quote-bar{
    width:1.7vw!important;
  }

  body.home-page .home-chapter-photo-v7 blockquote p{
    font-size:4.55vw!important;
    line-height:1.18!important;
    font-weight:400!important;
  }

  /* Stronger fade at the bottom so image flows directly into the title section. */
  body.home-page .home-chapter-photo-v7-shade{
    background:linear-gradient(
      180deg,
      rgba(6,66,100,0) 0%,
      rgba(6,66,100,0) 55%,
      rgba(6,66,100,.28) 68%,
      rgba(6,66,100,.68) 82%,
      #064264 100%
    )!important;
  }

  /* Text section starts immediately after photo; title appears once. */
  body.home-page .home-chapter-text-v7{
    margin-top:0!important;
    padding-top:5.5vw!important;
  }

  body.home-page .home-chapter-text-v7 h2{
    margin-top:0!important;
    margin-bottom:8vw!important;
    font-size:7.5vw!important;
    line-height:.92!important;
  }
}


/* =========================================================
   CHAPTER RIDER — dedicated mobile crop
   ========================================================= */
@media (max-width:767px){
  body.home-page .home-chapter-photo-v7 img{
    content:url('../shared/images/mobile-final/chapter-rider-mobile.jpg')!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}


/* =========================================================
   CHAPTER RIDER — corrected mobile crop + no scrollbars
   ========================================================= */
@media (max-width:767px){

  html,
  body{
    overflow-x:hidden!important;
    max-width:100%!important;
  }

  body.home-page .home-chapter-photo-v7{
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.home-page .home-chapter-photo-v7 img{
    content:url('../shared/images/mobile-final/chapter-rider-mobile.jpg')!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.home-page .home-chapter-photo-v7 blockquote{
    max-width:70%!important;
    box-sizing:border-box!important;
  }
}


@media (max-width:767px){body.home-page .home-chapter-desktop-quotes-v8{display:none!important}}


/* 10 YEARS exact SVG restore — preserve full 2017–2027 artwork */
body.home-page .home-ten-years-v15-mark{
  overflow:visible!important;
}
body.home-page .home-ten-years-v15-mark .home-ten-years-exact-svg{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  clip-path:none!important;
  transform:none!important;
  margin:0 auto!important;
}
@media(max-width:767px){.site-header .brand .logo-main{width:31vw!important;max-width:145px!important}body.home-page .home-register .register-copy-block h2{width:104%!important;margin-left:-2%!important}body.home-page .home-anniversary-v15,body.home-page .home-ten-years-v15,body.home-page .home-heritage-v17,body.home-page .home-europe-v5,body.home-page .home-chapter-text-v7{padding-left:4.5vw!important;padding-right:4.5vw!important}body.home-page .home-ten-years-v15-mark{max-width:88vw!important;gap:5vw!important;margin-bottom:7vw!important}body.home-page .home-ten-years-v15-years span{font-size:7vw!important}body.home-page .home-ten-years-v15-years strong{font-size:11.5vw!important}body.home-page .home-route-carousel{padding:5vw 0 7vw!important}body.home-page .home-route-carousel-head{padding:0 4.5vw 3vw!important}body.home-page .home-route-carousel-track{gap:3vw!important;padding:0 4.5vw!important}body.home-page .home-route-carousel-slide{flex-basis:82vw!important;height:58vw!important}body.home-page .home-route-carousel-cta{margin-top:5vw!important;padding:3.4vw 8vw!important;font-size:4.7vw!important}body.home-page .home-route-carousel-arrow{width:10vw!important;height:10vw!important;font-size:7vw!important}}


/* =========================================================
   MOBILE HERO SAFE RESTORE
   Keep the existing calibrated hero; only requested changes.
   ========================================================= */
@media (max-width:767px){
  body.home-page .site-header .menu-toggle{
    min-width:50px!important;
    height:31px!important;
    padding:0 9px!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.03em!important;
  }

  body.home-page .home-register-cta-step1{
    display:none!important;
  }
}


/* =========================================================
   MOBILE HERO — FINAL TYPO TIGHTENING
   ========================================================= */
@media (max-width:767px){

  /* Tighten only the headline tracking; keep existing scale/position. */
  body.home-page .home-title .home-title-line{
    letter-spacing:-0.045em!important;
  }

  body.home-page .home-title .gold{
    letter-spacing:-0.055em!important;
  }

  /* Slightly larger dates block. */
  body.home-page .home-dates .starts{
    font-size:calc(100% + 2px)!important;
  }

  body.home-page .home-dates strong{
    font-size:calc(100% + 1.5px)!important;
  }
}


/* =========================================================
   MOBILE HERO + GUIDE — TYPOGRAPHIC REFINEMENT
   EN + IT, no structural/layout-height changes
   ========================================================= */
@media (max-width:767px){

  /* MENU: larger text and frame, same header architecture */
  body.home-page .site-header .menu-toggle{
    min-width:58px!important;
    height:35px!important;
    padding:0 11px!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }

  /* Tighten headline further without changing its scale/position */
  body.home-page .home-title .home-title-line{
    letter-spacing:-.060em!important;
  }

  body.home-page .home-title .gold{
    letter-spacing:-.070em!important;
  }

  /*
   * Match the right edge of the description to NORTH.
   * Keep the existing left alignment; only control the measure.
   */
  body.home-page .home-summary{
    width:77.5%!important;
    max-width:77.5%!important;
  }

  /* Dates: retain the slightly larger treatment from the previous pass */
  body.home-page .home-dates .starts{
    font-size:calc(100% + 2px)!important;
  }

  body.home-page .home-dates strong{
    font-size:calc(100% + 1.5px)!important;
  }

  /* ---------------------------------------------------------
     GUIDE SECTION — keep outer section dimensions unchanged
     --------------------------------------------------------- */

  /* Upper white line: lighter/smaller, not visually dominant */
  body.home-page .home-register .register-copy-block .eyebrow{
    font-size:3.75vw!important;
    font-weight:500!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
    margin-bottom:1.4vw!important;
  }

  /* Gold statement: larger, single line */
  body.home-page .home-register .register-copy-block h2{
    width:100%!important;
    margin-left:0!important;
    transform:none!important;
    font-size:6.15vw!important;
    font-weight:700!important;
    line-height:.96!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }

  /* Discover / Scopri paragraph: regular weight */
  body.home-page .home-register .register-copy{
    font-weight:400!important;
    font-size:4.15vw!important;
    line-height:1.12!important;
  }

  /* Brevo form: slightly smaller controls, preserve section footprint */
  body.home-page .home-register .nc4k-brevo--guide{
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-register .nc4k-brevo--guide input[type="email"]{
    min-height:44px!important;
    height:44px!important;
    padding:9px 12px!important;
    font-size:15px!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-form{
    gap:9px!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-optin{
    font-size:12.5px!important;
    line-height:1.18!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    width:88%!important;
    min-height:43px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:9px 14px!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:1!important;
  }
}

/* Narrow iPhones: keep gold statement on one line without touching section size */
@media (max-width:390px){
  body.home-page .home-register .register-copy-block .eyebrow{
    font-size:3.55vw!important;
  }

  body.home-page .home-register .register-copy-block h2{
    font-size:5.85vw!important;
    letter-spacing:-.025em!important;
  }

  body.home-page .home-register .register-copy{
    font-size:4vw!important;
  }

  body.home-page .home-summary{
    width:78%!important;
    max-width:78%!important;
  }
}

/* Larger phones: prevent controls becoming oversized */
@media (min-width:430px) and (max-width:767px){
  body.home-page .home-register .register-copy-block .eyebrow{
    font-size:16px!important;
  }

  body.home-page .home-register .register-copy-block h2{
    font-size:27px!important;
  }

  body.home-page .home-register .register-copy{
    font-size:18px!important;
  }

  body.home-page .home-summary{
    width:330px!important;
    max-width:330px!important;
  }
}


/* =========================================================
   MOBILE MENU — INTERACTION SAFETY
   ========================================================= */
@media (max-width:767px){
  .site-header{
    z-index:10000!important;
  }

  .menu-toggle{
    position:relative!important;
    z-index:10002!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  body.menu-open .site-nav{
    display:flex!important;
    z-index:10001!important;
    pointer-events:auto!important;
    visibility:visible!important;
    opacity:1!important;
  }

  body.menu-open .site-nav a,
  body.menu-open .site-nav span{
    pointer-events:auto!important;
  }
}


/* =========================================================
   HOME POLISH 2 — MOBILE
   ========================================================= */
@media (max-width:767px){

  /* Slightly reduce side padding across editorial text sections. */
  body.home-page .home-anniversary-v15,
  body.home-page .home-ten-years-v15,
  body.home-page .home-heritage-v17,
  body.home-page .home-europe-v5,
  body.home-page .home-chapter-text-v7,
  body.home-page .home-register{
    padding-left:3.5vw!important;
    padding-right:3.5vw!important;
  }

  /* Make the anniversary statement clearly dominant, still one line. */
  body.home-page .home-register .register-copy-block h2{
    font-size:6.9vw!important;
    line-height:.94!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }

  /* Keep upper line lighter/smaller. */
  body.home-page .home-register .register-copy-block .eyebrow{
    font-size:3.55vw!important;
    font-weight:500!important;
    line-height:1.04!important;
  }

  /* Brevo guide: email and button same width, both a little smaller. */
  body.home-page .home-register .nc4k-brevo--guide{
    width:86%!important;
    max-width:86%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-email{
    width:100%!important;
  }

  body.home-page .home-register .nc4k-brevo--guide input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:8px 11px!important;
    font-size:14px!important;
    box-sizing:border-box!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    height:40px!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:8px 12px!important;
    font-size:17px!important;
    font-weight:500!important;
    box-sizing:border-box!important;
  }

  /* Map: show the complete top edge, no clipping. */
  body.home-page .home-map-svg-v2{
    padding-top:0!important;
    overflow:visible!important;
  }
  body.home-page .home-map-svg-v2 img{
    margin-top:0!important;
    object-position:center top!important;
  }

  /* Europe headline cyan, same on EN + IT. */
  body.home-page .home-europe-v5 h2{
    color:#3595aa!important;
  }
}

/* Narrow iPhones: keep NOW IN ITS on one line */
@media (max-width:390px){
  body.home-page .home-register .register-copy-block h2{
    font-size:6.55vw!important;
    letter-spacing:-.03em!important;
  }
}

/* Larger phones */
@media (min-width:430px) and (max-width:767px){
  body.home-page .home-register .register-copy-block h2{
    font-size:29px!important;
  }
  body.home-page .home-register .register-copy-block .eyebrow{
    font-size:15px!important;
  }
}


/* =========================================================
   INCREMENTAL — MOBILE HERO ALIGNMENT + SLIDER
   ========================================================= */
@media (max-width:767px){

  /*
   * One common measure for kicker, title and summary.
   * This keeps the three blocks ending on the same vertical line.
   */
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    width:78vw!important;
    max-width:330px!important;
    box-sizing:border-box!important;
  }

  /* Smaller, tighter hero title. */
  body.home-page .home-title .home-title-line{
    font-size:10.7vw!important;
    letter-spacing:-.067em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-title .gold{
    font-size:17.1vw!important;
    letter-spacing:-.078em!important;
    white-space:nowrap!important;
  }

  /* Summary uses exactly the same measure as the title. */
  body.home-page .home-summary{
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Exact cyan used by FROM 83 NATIONS. */
  body.home-page .home-europe-v5 h2{
    color:#53a7c5!important;
  }

  /* Slider: slightly more compact, controls aligned as a pair. */
  body.home-page .home-route-carousel-head{
    gap:8px!important;
  }

  body.home-page .home-route-carousel-arrow{
    width:48px!important;
    height:36px!important;
  }
}

/* Narrow iPhone widths */
@media (max-width:390px){
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    width:80vw!important;
    max-width:312px!important;
  }

  body.home-page .home-title .home-title-line{
    font-size:10.35vw!important;
  }

  body.home-page .home-title .gold{
    font-size:16.6vw!important;
  }
}

/* Larger modern phones */
@media (min-width:430px) and (max-width:767px){
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    width:330px!important;
    max-width:330px!important;
  }

  body.home-page .home-title .home-title-line{
    font-size:45px!important;
  }

  body.home-page .home-title .gold{
    font-size:72px!important;
  }
}


/* =========================================================
   MOBILE HERO — STABLE CROSS-DEVICE TYPOGRAPHY
   + UNIFIED BREVO GUIDE / NEWSLETTER CONTROLS
   ========================================================= */
@media (max-width:767px){

  /*
   * One stable copy measure for modern phones.
   * Small viewport changes no longer radically rescale the hero.
   */
  body.home-page{
    --hero-copy-width: clamp(292px, 78vw, 326px);
  }

  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    width:var(--hero-copy-width)!important;
    max-width:var(--hero-copy-width)!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /*
   * Narrow ranges: iPhone and Samsung remain visually almost identical.
   * No transform / scaleX tricks.
   */
  body.home-page .home-title,
  body.home-page .home-title .home-title-line,
  body.home-page .home-title .gold{
    transform:none!important;
  }

  body.home-page .home-title .home-title-line{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    font-size:clamp(40px, 10.55vw, 44px)!important;
    line-height:.84!important;
    letter-spacing:-.070em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-title .gold{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    font-size:clamp(65px, 16.95vw, 71px)!important;
    line-height:.79!important;
    letter-spacing:-.082em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-kicker{
    font-size:clamp(12px, 3.05vw, 13px)!important;
    letter-spacing:.18em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-summary{
    font-size:clamp(15px, 3.75vw, 16px)!important;
    line-height:1.08!important;
  }

  /*
   * GUIDE + NEWSLETTER:
   * same form width, same email width, same button width and height.
   */
  body.home-page .nc4k-brevo--guide,
  body.home-page .nc4k-brevo--newsletter{
    width:84%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .nc4k-brevo--guide .nc4k-brevo-form,
  body.home-page .nc4k-brevo--newsletter .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
  }

  body.home-page .nc4k-brevo--guide .nc4k-brevo-email,
  body.home-page .nc4k-brevo--newsletter .nc4k-brevo-email{
    width:100%!important;
    max-width:100%!important;
  }

  body.home-page .nc4k-brevo--guide input[type="email"],
  body.home-page .nc4k-brevo--newsletter input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:8px 11px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:400!important;
  }

  body.home-page .nc4k-brevo--guide input[type="email"]::placeholder,
  body.home-page .nc4k-brevo--newsletter input[type="email"]::placeholder{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:400!important;
  }

  body.home-page .nc4k-brevo--guide .nc4k-brevo-submit,
  body.home-page .nc4k-brevo--newsletter .nc4k-brevo-submit{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    height:40px!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1!important;
  }
}

/* Very narrow current phones: only a tiny reduction, not a new composition. */
@media (max-width:374px){
  body.home-page{
    --hero-copy-width: 286px;
  }

  body.home-page .home-title .home-title-line{
    font-size:39px!important;
  }

  body.home-page .home-title .gold{
    font-size:63px!important;
  }
}

/* Larger phones: cap dimensions instead of continuing to grow. */
@media (min-width:430px) and (max-width:767px){
  body.home-page{
    --hero-copy-width:326px;
  }

  body.home-page .home-title .home-title-line{
    font-size:44px!important;
  }

  body.home-page .home-title .gold{
    font-size:71px!important;
  }
}


/* =========================================================
   MOBILE HERO — SVG TYPOGRAPHIC MATCH
   Supplied reference:
   RIDE TO THE = Bold Condensed 42 pt
   NORTH       = Ultra-Bold Condensed 77 pt
   ========================================================= */
@media (max-width:767px){

  /*
   * Keep the common aligned measure already established.
   * Only change typography/spacing.
   */
  body.home-page .home-title{
    width:var(--hero-copy-width)!important;
    max-width:var(--hero-copy-width)!important;
  }

  body.home-page .home-title .home-title-line{
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:42px!important;
    font-weight:700!important;
    line-height:.86!important;
    letter-spacing:-0.045em!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  body.home-page .home-title .gold{
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:77px!important;
    font-weight:900!important;
    line-height:.78!important;
    letter-spacing:-0.060em!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* Override previous whole-heading cyan: only the span is cyan. */
  body.home-page .home-europe-v5 h2{
    color:#fff!important;
  }
  body.home-page .home-europe-v5 h2 span{
    color:#53a7c5!important;
  }
}

/* Slight proportional reduction only for very narrow phones. */
@media (max-width:374px){
  body.home-page .home-title .home-title-line{
    font-size:40px!important;
  }
  body.home-page .home-title .gold{
    font-size:73px!important;
  }
}

/* Larger phones stay capped instead of scaling up further. */
@media (min-width:430px) and (max-width:767px){
  body.home-page .home-title .home-title-line{
    font-size:42px!important;
  }
  body.home-page .home-title .gold{
    font-size:77px!important;
  }
}


/* =========================================================
   MOBILE HERO — JPG REFERENCE MATCH
   42 pt ≈ 56 px / 77 pt ≈ 103 px
   Stable proportions across modern phones.
   ========================================================= */
@media (max-width:767px){

  body.home-page{
    --hero-copy-width:clamp(300px, 80vw, 338px);
  }

  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    width:var(--hero-copy-width)!important;
    max-width:var(--hero-copy-width)!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* RIDE TO THE — Bold Condensed, visually close to 42 pt reference */
  body.home-page .home-title .home-title-line{
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(54px,14.2vw,56px)!important;
    font-weight:700!important;
    line-height:.83!important;
    letter-spacing:-.070em!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* NORTH — Ultra-Bold Condensed, visually close to 77 pt reference */
  body.home-page .home-title .gold{
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(99px,26vw,103px)!important;
    font-weight:900!important;
    line-height:.76!important;
    letter-spacing:-.085em!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* Keep top and lower copy on the same visual measure. */
  body.home-page .home-kicker{
    font-size:clamp(12px,3.05vw,13px)!important;
    letter-spacing:.17em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-summary{
    font-size:clamp(16px,4.15vw,17px)!important;
    line-height:1.08!important;
  }
}

/* Very narrow phones: only a tiny proportional reduction. */
@media (max-width:374px){
  body.home-page{
    --hero-copy-width:294px;
  }

  body.home-page .home-title .home-title-line{
    font-size:52px!important;
  }

  body.home-page .home-title .gold{
    font-size:95px!important;
  }
}

/* Larger phones: cap instead of continuing to grow. */
@media (min-width:430px) and (max-width:767px){
  body.home-page{
    --hero-copy-width:338px;
  }

  body.home-page .home-title .home-title-line{
    font-size:56px!important;
  }

  body.home-page .home-title .gold{
    font-size:103px!important;
  }
}


/* =========================================================
   INCREMENTAL — SMALLER BREVO CONTROLS
   Guide + Newsletter kept identical.
   ========================================================= */
@media (max-width:767px){

  body.home-page .nc4k-brevo--guide,
  body.home-page .nc4k-brevo--newsletter{
    width:76%!important;
    max-width:320px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .nc4k-brevo--guide input[type="email"],
  body.home-page .nc4k-brevo--newsletter input[type="email"]{
    width:100%!important;
    max-width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 10px!important;
    font-size:13px!important;
  }

  body.home-page .nc4k-brevo--guide input[type="email"]::placeholder,
  body.home-page .nc4k-brevo--newsletter input[type="email"]::placeholder{
    font-size:13px!important;
  }

  body.home-page .nc4k-brevo--guide .nc4k-brevo-submit,
  body.home-page .nc4k-brevo--newsletter .nc4k-brevo-submit{
    width:100%!important;
    max-width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 10px!important;
    font-size:15px!important;
    line-height:1!important;
  }
}


/* =========================================================
   MOBILE HOME — USER-SUPPLIED PNG REWORK
   ========================================================= */
@media (max-width:767px){

  body.home-page .home-header-logo-picture{
    display:block!important;
    line-height:0!important;
  }
  body.home-page .home-header-logo-picture .logo-main{
    width:auto!important;
    height:42px!important;
    max-width:58vw!important;
    object-fit:contain!important;
  }

  body.home-page .site-header .menu-toggle{
    min-width:82px!important;
    height:49px!important;
    padding:0 15px!important;
    font-size:25px!important;
    line-height:1!important;
  }

  body.home-page .home-hero-copy-png{
    display:block!important;
    width:min(82vw,350px)!important;
    height:auto!important;
    margin:0 0 22px 0!important;
    object-fit:contain!important;
  }
  body.home-page .home-kicker,
  body.home-page .home-title,
  body.home-page .home-summary{
    display:none!important;
  }

  body.home-page .home-register .register-copy{
    display:none!important;
  }
  body.home-page .home-register .register-copy-block h2{
    font-size:7.35vw!important;
    line-height:.94!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-anniversary-v15 p,
  body.home-page .home-ten-years-v15 p,
  body.home-page .home-heritage-v17 p,
  body.home-page .home-europe-v5 p,
  body.home-page .home-chapter-text-v7 p{
    font-size:1.33rem!important;
    line-height:1.36!important;
  }

  body.home-page .home-berlin-photo-v15-label{
    font-size:120%!important;
  }

  body.home-page .home-map-newsletter-v3 h3{
    color:#fff!important;
    font-size:4.1vw!important;
    font-weight:500!important;
    line-height:1.05!important;
    margin-bottom:1.4vw!important;
    letter-spacing:.015em!important;
    text-transform:uppercase!important;
  }
  body.home-page .home-map-newsletter-v3 p{
    color:#d6ad52!important;
    font-size:6.6vw!important;
    font-weight:700!important;
    line-height:.96!important;
    letter-spacing:-.02em!important;
    text-transform:uppercase!important;
    margin-bottom:18px!important;
  }

  body.home-page .home-ten-years-v15-mark--png{
    display:block!important;
    width:100%!important;
    margin:0 auto 26px!important;
    text-align:center!important;
  }
  body.home-page .home-ten-years-v15-mark--png img{
    display:block!important;
    width:min(74vw,340px)!important;
    height:auto!important;
    margin:0 auto!important;
  }
}

@media (min-width:430px) and (max-width:767px){
  body.home-page .home-register .register-copy-block h2{font-size:31px!important}
  body.home-page .home-map-newsletter-v3 h3{font-size:17px!important}
  body.home-page .home-map-newsletter-v3 p{font-size:28px!important}
}


/* =========================================================
   MOBILE HOME — CLEANUP PASS
   ========================================================= */
@media (max-width:767px){

  /* Hero supplied PNG: 10% smaller and aligned with STARTS 2027 left edge. */
  body.home-page .home-hero-copy-png{
    width:min(74vw,315px)!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Real pennant logo on mobile. */
  body.home-page .home-header-logo-picture{
    display:block!important;
    width:auto!important;
    max-width:52vw!important;
  }
  body.home-page .home-header-logo-picture source{
    display:none;
  }
  body.home-page .home-header-logo-picture .logo-main{
    height:46px!important;
    width:auto!important;
    max-width:52vw!important;
    object-fit:contain!important;
  }

  /* Give breathing room after removing the pre-video section. */
  body.home-page .home-film{
    margin-top:34px!important;
  }

  /* No route CTA. */
  body.home-page .home-route-carousel-cta{
    display:none!important;
  }

  /* 10 years: smaller image + restored 2017–2027 YEARS alongside. */
  body.home-page .home-ten-years-v15-mark--png{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
    margin:0 auto 24px!important;
  }
  body.home-page .home-ten-years-v15-mark--png img{
    width:min(30vw,128px)!important;
    height:auto!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    margin:0!important;
    line-height:.9!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years span{
    color:#53a7c5!important;
    font-size:clamp(27px,7vw,31px)!important;
    font-weight:700!important;
    letter-spacing:-.02em!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years strong{
    color:#fff!important;
    font-size:clamp(18px,4.8vw,21px)!important;
    font-weight:700!important;
  }

  /* Mobile map SVG replacement. */
  body.home-page .home-map-svg-v2{
    position:relative!important;
    overflow:hidden!important;
    padding:0!important;
    background:#fff!important;
  }
  body.home-page .home-map-picture{
    display:block!important;
    width:100%!important;
  }
  body.home-page .home-map-picture img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    max-height:none!important;
    object-fit:contain!important;
  }

  /* Fade from map white into the next blue section. */
  body.home-page .home-map-svg-v2::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:18%!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(21,84,116,.35) 58%,
      #155474 100%
    )!important;
  }

  /* Quote typography: sentence case is in HTML; never force uppercase here. */
  body.home-page blockquote p{
    text-transform:none!important;
  }
}


/* =========================================================
   MOBILE HOME — FINAL ASSET/VIDEO CORRECTION
   ========================================================= */
@media (max-width:767px){

  body.home-page .home-header-logo-picture{
    display:block!important;
    width:auto!important;
    max-width:58vw!important;
    line-height:0!important;
  }
  body.home-page .home-header-logo-picture .logo-main{
    display:block!important;
    width:auto!important;
    height:50px!important;
    max-width:58vw!important;
    object-fit:contain!important;
  }

  body.home-page .home-hero-copy-png{
    display:block!important;
    width:min(74vw,315px)!important;
    max-width:min(74vw,315px)!important;
    height:auto!important;
    margin-left:0!important;
    margin-right:auto!important;
    transform:none!important;
  }

  body.home-page .home-film{
    display:block!important;
    margin-top:34px!important;
  }
  body.home-page .home-film-media{
    display:block!important;
    position:relative!important;
  }
  body.home-page .home-film-mobile{
    display:block!important;
  }

  body.home-page .home-ten-years-v15-mark--png{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    margin:0 auto 24px!important;
  }
  body.home-page .home-ten-years-v15-mark--png > img{
    display:block!important;
    width:min(23vw,100px)!important;
    height:auto!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years span{
    color:#53a7c5!important;
    font-size:clamp(27px,7vw,31px)!important;
    font-weight:700!important;
  }
  body.home-page .home-ten-years-v15-mark--png .home-ten-years-v15-years strong{
    color:#fff!important;
    font-size:clamp(18px,4.8vw,21px)!important;
    font-weight:700!important;
  }

  body.home-page .home-map-svg-v2{
    position:relative!important;
    overflow:hidden!important;
    padding:0!important;
    background:#155474!important;
  }
  body.home-page .home-map-picture{
    display:block!important;
    width:100%!important;
    background:#155474!important;
  }
  body.home-page .home-map-picture img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    background:#155474!important;
  }
  body.home-page .home-map-svg-v2::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:16%!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(21,84,116,0),#155474 100%)!important;
  }
}


/* =========================================================
   MOBILE HOME — ORDER / ALIGNMENT / TRANSITIONS
   ========================================================= */
@media (max-width:767px){

  /* Pennant: cropped asset, now large enough to read. */
  body.home-page .home-header-logo-picture{
    display:block!important;
    line-height:0!important;
    max-width:58vw!important;
  }
  body.home-page .home-header-logo-picture .logo-main{
    display:block!important;
    width:auto!important;
    height:56px!important;
    max-width:58vw!important;
    object-fit:contain!important;
  }

  /*
   * STARTS 2027 is positioned at left:4.4vw inside .home-hero-inner.
   * Use the exact same offset for the supplied headline PNG.
   */
  body.home-page .home-hero-copy-png{
    display:block!important;
    width:min(74vw,315px)!important;
    height:auto!important;
    margin-left:4.4vw!important;
    margin-right:auto!important;
    transform:none!important;
  }

  /* Guide -> video: less space, no white gap. */
  body.home-page .home-register{
    padding-bottom:4.2vw!important;
    background:#064264!important;
  }
  body.home-page .home-film{
    margin-top:0!important;
    padding-top:14px!important;
    background:#064264!important;
  }

  /* Mobile-only reordered story blocks. */
  body.home-page .home-ten-years-mobile-v1{
    display:block!important;
    background:#0f405d!important;
  }

  body.home-page .home-map-mobile-v1{
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
    background:#f4f4f1!important;
  }
  body.home-page .home-map-mobile-v1 img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    background:#f4f4f1!important;
  }

  /*
   * Original desktop 10-years + map pair stays untouched,
   * but is hidden on mobile because the two sections are now reordered.
   */
  body.home-page .home-ten-map-pair-v9{
    display:none!important;
  }

  /* Newsletter above map is the blue source of the transition. */
  body.home-page .home-map-newsletter-v3{
    margin-bottom:0!important;
    background:#064264!important;
  }

  /* Fade from newsletter blue into the ice map background. */
  body.home-page .home-map-mobile-v1::before{
    content:""!important;
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:18%!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      #064264 0%,
      rgba(6,66,100,.72) 35%,
      rgba(244,244,241,0) 100%
    )!important;
  }

  /* Do NOT fade the bottom of the map: it already meets the ice quote section. */
  body.home-page .home-map-mobile-v1::after{
    content:none!important;
  }

  /* Ice quotes -> rider photo: soft transition at top of rider image. */
  body.home-page .home-chapter-photo-v7::before{
    content:""!important;
    position:absolute!important;
    z-index:3!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:46px!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      #f4f4f1 0%,
      rgba(244,244,241,.68) 38%,
      rgba(244,244,241,0) 100%
    )!important;
  }
  body.home-page .home-chapter-photo-v7 blockquote{
    position:absolute!important;
    z-index:4!important;
  }
}

/* Desktop/tablet: mobile clones never appear. */
@media (min-width:768px){
  body.home-page .home-ten-years-mobile-v1,
  body.home-page .home-map-mobile-v1{
    display:none!important;
  }
}


/* =========================================================
   MOBILE HOME — SPONSORS / ANNIVERSARY / 10Y / HERO / MAP
   ========================================================= */
@media (max-width:767px){

  /* Hero PNG: full artwork restored, move slightly lower, keep STARTS alignment. */
  body.home-page .home-hero-copy-png{
    display:block!important;
    width:min(74vw,315px)!important;
    height:auto!important;
    margin-left:4.4vw!important;
    margin-right:auto!important;
    margin-top:22px!important;
    transform:none!important;
    object-fit:contain!important;
  }

  /* Anniversary section: same blue as the icon/stat section immediately before it. */
  body.home-page .home-anniversary-v15{
    background:#0f405d!important;
  }

  /* 10 YEARS: match supplied reference proportions. */
  body.home-page .home-ten-years-mobile-v1{
    padding:40px 18px 50px!important;
    background:#0f405d!important;
    text-align:center!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-inner{
    width:100%!important;
    max-width:390px!important;
    margin:0 auto!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-mark--png{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    width:100%!important;
    margin:0 auto 28px!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-mark--png > img{
    display:block!important;
    width:min(38vw,155px)!important;
    height:auto!important;
    margin:0!important;
    flex:0 0 auto!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    line-height:.9!important;
    text-align:left!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span{
    color:#53a7c5!important;
    font-size:clamp(25px,7.2vw,31px)!important;
    font-weight:700!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }

  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    color:#fff!important;
    font-size:clamp(35px,9.5vw,42px)!important;
    font-weight:800!important;
    line-height:.9!important;
    white-space:nowrap!important;
  }

  body.home-page .home-ten-years-mobile-v1 p{
    max-width:330px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    font-size:1.18rem!important;
    line-height:1.38!important;
  }

  body.home-page .home-ten-years-mobile-v1 .p2{
    max-width:300px!important;
    margin-top:26px!important;
    font-size:1.18rem!important;
    line-height:1.28!important;
  }

  /*
   * Sponsors: normalize every logo to the same visual box used by Vittoria.
   * White treatment for all logos.
   */
  body.home-page .sponsors-grid img,
  body.home-page .home-sponsors img,
  body.home-page .sponsor-grid img,
  body.home-page .sponsors img{
    width:118px!important;
    height:54px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
    opacity:1!important;
  }

  body.home-page .sponsors-grid a,
  body.home-page .home-sponsors a,
  body.home-page .sponsor-grid a,
  body.home-page .sponsors a{
    min-width:118px!important;
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* More breathing room before the map, and a gentler top fade. */
  body.home-page .home-map-mobile-v1{
    padding-top:34px!important;
    background:#f4f4f1!important;
  }

  body.home-page .home-map-mobile-v1::before{
    height:10%!important;
    background:linear-gradient(
      180deg,
      #064264 0%,
      rgba(6,66,100,.52) 34%,
      rgba(244,244,241,0) 100%
    )!important;
  }
}


/* =========================================================
   MOBILE HOME — COUNTDOWN / SPONSORS / MAP / RIDER / DATES
   ========================================================= */
@media (max-width:767px){

  /* Move STARTS 2027 + dates back upward as one block. */
  body.home-page .home-dates{
    top:57.5vw!important;
  }

  /* 2017–2027 / YEARS: stronger visual scale. */
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span{
    font-size:clamp(34px,8.7vw,39px)!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    font-size:clamp(44px,11vw,50px)!important;
    line-height:.88!important;
  }

  /*
   * Map transition: much deeper vertically.
   * It starts in newsletter blue and reaches the ice tone by roughly
   * three quarters of the map.
   */
  body.home-page .home-map-mobile-v1{
    padding-top:0!important;
    background:#f4f4f1!important;
  }
  body.home-page .home-map-mobile-v1::before{
    content:""!important;
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:75%!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      #064264 0%,
      rgba(6,66,100,.92) 18%,
      rgba(6,66,100,.68) 38%,
      rgba(80,122,141,.42) 56%,
      rgba(244,244,241,.18) 72%,
      rgba(244,244,241,0) 100%
    )!important;
  }

  /* Remove BOTH fades around the rider photo. */
  body.home-page .home-chapter-photo-v7::before{
    content:none!important;
    display:none!important;
  }
  body.home-page .home-chapter-photo-v7-shade{
    display:none!important;
    background:none!important;
  }

  /* Sponsors: every logo uses Vittoria's visual size and is white. */
  body.home-page #home-sponsors .sponsor-row{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:16px!important;
  }
  body.home-page #home-sponsors .partner-card,
  body.home-page #home-sponsors .sponsor-row-top .partner-card,
  body.home-page #home-sponsors .sponsor-row-mid .partner-card,
  body.home-page #home-sponsors .sponsor-row-bottom .partner-card,
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(1),
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(2),
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(3){
    flex:0 0 42%!important;
    width:42%!important;
    min-height:82px!important;
    padding:10px!important;
    background:transparent!important;
  }
  body.home-page #home-sponsors .partner-card img,
  body.home-page #home-sponsors .sponsor-row-top .partner-card img,
  body.home-page #home-sponsors .sponsor-row-mid .partner-card img,
  body.home-page #home-sponsors .sponsor-row-bottom .partner-card img{
    display:block!important;
    width:100%!important;
    height:62px!important;
    max-width:100%!important;
    max-height:62px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
    opacity:1!important;
  }

  /* Registration countdown section on Home. */
  body.home-page .home-countdown-v1{
    display:block!important;
    padding:52px 18px 58px!important;
    background:#064264!important;
    color:#fff!important;
    text-align:center!important;
  }
  body.home-page .home-countdown-v1-inner{
    width:100%!important;
    max-width:390px!important;
    margin:0 auto!important;
  }
  body.home-page .home-countdown-v1-copy{
    margin:0 auto 18px!important;
    color:#fff!important;
    font-size:1.28rem!important;
    line-height:1.3!important;
    font-weight:400!important;
  }
  body.home-page .home-countdown-v1-logo{
    display:block!important;
    width:92px!important;
    height:auto!important;
    margin:0 auto 24px!important;
  }
  body.home-page .home-countdown-v1 .eyebrow{
    margin:0 0 8px!important;
    color:#d6ad52!important;
    font-size:1rem!important;
    font-weight:600!important;
    letter-spacing:.08em!important;
  }
  body.home-page .home-countdown-v1-date{
    margin:0 0 22px!important;
    color:#fff!important;
    font-size:1.5rem!important;
    font-weight:700!important;
    line-height:1!important;
  }
  body.home-page .home-countdown-v1 .countdown-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.home-page .home-countdown-v1 .countdown-box{
    min-width:0!important;
    padding:12px 4px!important;
    border:1px solid rgba(255,255,255,.35)!important;
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
  }
  body.home-page .home-countdown-v1 .countdown-box b{
    display:block!important;
    font-size:clamp(1.9rem,8vw,2.5rem)!important;
    line-height:.9!important;
  }
  body.home-page .home-countdown-v1 .countdown-box span{
    display:block!important;
    margin-top:6px!important;
    font-size:.72rem!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
}

/* Countdown is mobile-only for now. */
@media (min-width:768px){
  body.home-page .home-countdown-v1{
    display:none!important;
  }
}


/* =========================================================
   MOBILE HOME — POLISH FINAL
   ========================================================= */
@media (max-width:767px){

  /* 1) Hero overlay image another 10% smaller. */
  body.home-page .home-hero-copy-png{
    width:min(66.5vw,284px)!important;
    max-width:min(66.5vw,284px)!important;
  }

  /* 2) NOW IN ITS... centered with safe side margins. */
  body.home-page .home-register .register-copy-block h2{
    width:92%!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    font-size:6.65vw!important;
    white-space:nowrap!important;
  }

  /* 3) 2017–2027 / YEARS at least 30% larger. */
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span{
    font-size:clamp(44px,11.3vw,51px)!important;
    line-height:.88!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    font-size:clamp(57px,14.3vw,65px)!important;
    line-height:.84!important;
  }

  /* 4) Long editorial text sizing consistency. */
  body.home-page .home-ten-years-mobile-v1 p,
  body.home-page .home-chapter-text-v7 p{
    font-size:1.33rem!important;
    line-height:1.36!important;
  }

  /* 5) Map fade BELOW the map, not over the top labels. */
  body.home-page .home-map-mobile-v1::before{
    content:none!important;
    display:none!important;
  }
  body.home-page .home-map-mobile-v1::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:42%!important;
    pointer-events:none!important;
    background:linear-gradient(
      180deg,
      rgba(244,244,241,0) 0%,
      rgba(244,244,241,.18) 34%,
      rgba(244,244,241,.56) 62%,
      #f4f4f1 100%
    )!important;
  }

  /* 6) Slider controls centered as a pair. */
  body.home-page .home-route-carousel-head{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
  }
  body.home-page .home-route-carousel-controls{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    gap:10px!important;
  }
  body.home-page .home-route-carousel-prev,
  body.home-page .home-route-carousel-next{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    margin:0!important;
  }

  /* 7) Rider image: direct, absolute existing asset. */
  body.home-page .home-chapter-photo-v7 .home-chapter-rider-img{
    content:normal!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:cover!important;
  }

  /* 8) Countdown: ice background + gold numbers. */
  body.home-page .home-countdown-v1{
    background:#f4f4f1!important;
    color:#064264!important;
  }
  body.home-page .home-countdown-v1-copy,
  body.home-page .home-countdown-v1-date{
    color:#064264!important;
  }
  body.home-page .home-countdown-v1 .eyebrow{
    color:#d6ad52!important;
  }
  body.home-page .home-countdown-v1 .countdown-box{
    background:#fff!important;
    border-color:rgba(6,66,100,.18)!important;
    color:#064264!important;
  }
  body.home-page .home-countdown-v1 .countdown-box b{
    color:#d6ad52!important;
  }
  body.home-page .home-countdown-v1 .countdown-box span{
    color:#064264!important;
  }

  /* 9) Sponsors: strictly two per row, same box. */
  body.home-page #home-sponsors .sponsor-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    width:100%!important;
  }
  body.home-page #home-sponsors .partner-card,
  body.home-page #home-sponsors .sponsor-row-top .partner-card,
  body.home-page #home-sponsors .sponsor-row-mid .partner-card,
  body.home-page #home-sponsors .sponsor-row-bottom .partner-card,
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(1),
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(2),
  body.home-page #home-sponsors .sponsor-row-mid .partner-card:nth-child(3){
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    min-height:82px!important;
    background:transparent!important;
  }
  body.home-page #home-sponsors .partner-card img{
    width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
  }

  /* 10) Explicit mobile pennant, desktop logo hidden on mobile. */
  body.home-page .home-header-brand-assets{
    display:flex!important;
    align-items:center!important;
    height:100%!important;
  }
  body.home-page .home-mobile-gagliardetto{
    display:block!important;
    height:52px!important;
    width:auto!important;
    max-width:58vw!important;
    object-fit:contain!important;
  }
  body.home-page .home-desktop-logo{
    display:none!important;
  }
}

/* Desktop/tablet keep current white logo. */
@media (min-width:768px){
  body.home-page .home-mobile-gagliardetto{
    display:none!important;
  }
  body.home-page .home-desktop-logo{
    display:block!important;
  }
}


/* =========================================================
   MOBILE HOME — HEADER / MAP / PHOTO WEIGHT FINAL
   ========================================================= */
@media (max-width:767px){
  body.home-page .home-countdown-v1-logo{
    display:block!important;
    width:92px!important;
    height:auto!important;
    margin:24px auto 0!important;
  }

  body.home-page .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:10000!important;
    overflow:visible!important;
  }
  body.home-page .home-header-brand-assets{
    position:absolute!important;
    top:0!important;
    left:4.2vw!important;
    z-index:10003!important;
    overflow:visible!important;
  }
  body.home-page .home-mobile-gagliardetto{
    display:block!important;
    height:83px!important;
    width:auto!important;
    max-width:72vw!important;
    margin:0!important;
    object-fit:contain!important;
  }

  body.home-page .home-map-mobile-v1{
    position:relative!important;
    isolation:isolate!important;
    background:#f4f4f1!important;
    overflow:hidden!important;
  }
  body.home-page .home-map-mobile-v1::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:0!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:75%!important;
    background:linear-gradient(180deg,#064264 0%,rgba(6,66,100,.92) 18%,rgba(6,66,100,.68) 38%,rgba(80,122,141,.42) 56%,rgba(244,244,241,.18) 72%,rgba(244,244,241,0) 100%)!important;
    pointer-events:none!important;
  }
  body.home-page .home-map-mobile-v1::after{content:none!important;display:none!important}
  body.home-page .home-map-mobile-v1 > img,
  body.home-page .home-map-mobile-v1 > picture,
  body.home-page .home-map-mobile-v1 > picture img{
    position:relative!important;
    z-index:2!important;
    display:block!important;
  }

  body.home-page .home-mobile-photo-picture{display:block!important;width:100%!important}
  body.home-page .home-mobile-photo-picture img{display:block!important;width:100%!important;height:auto!important}
}


/* =========================================================
   MOBILE HOME — MAP / SPONSORS / SLIDER / EUROPE / HERO
   ========================================================= */
@media (max-width:767px){

  /* Hero overlay another 10% smaller. */
  body.home-page .home-hero-copy-png{
    width:min(60vw,256px)!important;
    max-width:min(60vw,256px)!important;
  }

  /* Pennant pinned to the top edge without clipping. */
  body.home-page .site-header{
    overflow:visible!important;
    padding-top:0!important;
  }
  body.home-page .home-header-brand-assets{
    top:0!important;
    left:4.2vw!important;
    overflow:visible!important;
  }
  body.home-page .home-mobile-gagliardetto{
    display:block!important;
    height:78px!important;
    width:auto!important;
    max-width:72vw!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left top!important;
  }

  /*
   * Map gradient is now baked into the PNG itself.
   * No pseudo-element overlay can obscure labels.
   */
  body.home-page .home-map-mobile-v1{
    background:#f4f4f1!important;
    overflow:hidden!important;
  }
  body.home-page .home-map-mobile-v1::before,
  body.home-page .home-map-mobile-v1::after{
    content:none!important;
    display:none!important;
  }
  body.home-page .home-map-mobile-v1 img{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
  }

  /* Sponsors: one continuous 2-column grid, including the final row. */
  body.home-page #home-sponsors .partner-strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    width:100%!important;
  }
  body.home-page #home-sponsors .sponsor-row,
  body.home-page #home-sponsors .sponsor-row-top,
  body.home-page #home-sponsors .sponsor-row-mid,
  body.home-page #home-sponsors .sponsor-row-bottom{
    display:contents!important;
  }
  body.home-page #home-sponsors .partner-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:82px!important;
    padding:10px!important;
    margin:0!important;
  }
  body.home-page #home-sponsors .partner-card img{
    width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
  }

  /* Slider background matches FORMAT and every image has the same visual height. */
  body.home-page .home-route-carousel{
    background:#0f405d!important;
    padding-bottom:34px!important;
  }
  body.home-page .home-route-carousel-track{
    align-items:stretch!important;
  }
  body.home-page .home-route-carousel-slide{
    height:58vw!important;
    max-height:270px!important;
    overflow:hidden!important;
  }
  body.home-page .home-route-carousel-slide > picture,
  body.home-page .home-route-carousel-slide > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  body.home-page .home-route-carousel-slide picture img,
  body.home-page .home-route-carousel-slide > img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  /* Europe section uses the same blue as the section directly above. */
  body.home-page .home-europe-v5{
    background:#0f405d!important;
  }
}


/* =========================================================
   MOBILE HOME — COUNTDOWN CTA + MAP BACKGROUND RESTORE
   ========================================================= */
@media (max-width:767px){

  /* Registration CTA below countdown/logo. */
  body.home-page .home-countdown-v1-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    margin:20px auto 0!important;
    padding:10px 18px!important;
    background:#b30000!important;
    color:#fff!important;
    border:0!important;
    border-radius:4px!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:17px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
  }

  /*
   * Original map PNG is untouched.
   * Transition belongs to the SECTION BACKGROUND, behind the image.
   */
  body.home-page .home-map-mobile-v1{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    padding:42px 0 54px!important;
    background:linear-gradient(
      180deg,
      #064264 0%,
      #155474 24%,
      #799eae 58%,
      #d5dfe0 78%,
      #f4f4f1 100%
    )!important;
  }

  body.home-page .home-map-mobile-v1::before,
  body.home-page .home-map-mobile-v1::after{
    content:none!important;
    display:none!important;
  }

  body.home-page .home-map-mobile-v1 > img,
  body.home-page .home-map-mobile-v1 > picture,
  body.home-page .home-map-mobile-v1 > picture img{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    background:transparent!important;
  }
}


/* =========================================================
   MOBILE HOME — TEXT SIZE UNIFICATION + HEADER POSITION
   ========================================================= */
@media (max-width:767px){

  /* Pennant: hard top alignment, no negative positioning/transforms. */
  body.home-page .site-header{
    top:0!important;
    overflow:visible!important;
  }
  body.home-page .home-header-brand-assets{
    top:0!important;
    left:4.2vw!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  body.home-page .home-mobile-gagliardetto{
    top:0!important;
    margin:0!important;
    transform:none!important;
    object-position:left top!important;
  }

  /*
   * Editorial long copy: use exactly the same mobile size as
   * NORTHCAPE4000 ANNIVERSARY ("Adesso siediti..." paragraph).
   */
  body.home-page .home-anniversary-v15 p,
  body.home-page .home-ten-years-mobile-v1 p,
  body.home-page .home-heritage-v17 p,
  body.home-page .home-chapter-text-v7 p{
    font-size:1.33rem!important;
    line-height:1.36!important;
  }

  /* Keep bold/close paragraphs on same base text size too. */
  body.home-page .home-ten-years-mobile-v1 .p2,
  body.home-page .home-heritage-v17 .p4{
    font-size:1.33rem!important;
    line-height:1.36!important;
  }

  /* Guide anniversary line: centered and safely inside viewport. */
  body.home-page .home-register .register-copy-block h2{
    width:90%!important;
    max-width:90%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* Italian copy needs a slightly tighter size to remain centered on one line. */
  html[lang="it"] body.home-page .home-register .register-copy-block h2{
    font-size:5.8vw!important;
    letter-spacing:-.025em!important;
  }

  /* Sponsors title: same site font and uppercase in both languages. */
  body.home-page #home-sponsors h2{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.01em!important;
  }
}

@media (min-width:430px) and (max-width:767px){
  html[lang="it"] body.home-page .home-register .register-copy-block h2{
    font-size:25px!important;
  }
}


/* Exact match to current NORTHCAPE4000 ANNIVERSARY long-copy typography */
@media (max-width:767px){
  body.home-page .home-ten-years-mobile-v1 p,
  body.home-page .home-ten-years-mobile-v1 .p2,
  body.home-page .home-heritage-v17 p,
  body.home-page .home-heritage-v17 .p4,
  body.home-page .home-chapter-text-v7 p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:400!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
  }
}


/* =========================================================
   MOBILE HOME — COUNTDOWN LOGO ORDER + PENNANT OFFSET
   ========================================================= */
@media (max-width:767px){

  /* Header itself stays flush with viewport top. */
  body.home-page .site-header{
    top:0!important;
    margin-top:0!important;
    padding-top:0!important;
  }

  /*
   * Pennant moves down a few pixels INSIDE the fixed header.
   * No empty strip appears above because the header background remains at top:0.
   */
  body.home-page .home-header-brand-assets{
    top:6px!important;
    margin-top:0!important;
    transform:none!important;
  }

  body.home-page .home-mobile-gagliardetto{
    margin-top:0!important;
    transform:none!important;
  }

  /* Registration order spacing: CTA first, gold logo below it. */
  body.home-page .home-countdown-v1-cta{
    margin-bottom:0!important;
  }

  body.home-page .home-countdown-v1-logo{
    margin:18px auto 0!important;
  }
}


/* MOBILE HEADER — pennant final vertical nudge */
@media (max-width:767px){
  body.home-page .home-header-brand-assets{
    top:10px!important;
  }
}


/* MOBILE HEADER — new pennant asset, exact zero offset */
@media (max-width:767px){
  body.home-page .home-header-brand-assets{
    top:0!important;
    margin-top:0!important;
    padding-top:0!important;
    transform:none!important;
  }

  body.home-page .home-mobile-gagliardetto{
    top:0!important;
    margin-top:0!important;
    transform:none!important;
    object-position:left top!important;
  }
}


/* =========================================================
   COMPLETE TRIAL V1 — GLOBAL MOBILE HEADER + INTERNAL PAGES
   ========================================================= */
@media (max-width:767px){

  /* Same approved pennant + large MENU on every page. */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:10000!important;
    min-height:64px!important;
    padding:0 4.2vw!important;
    overflow:visible!important;
    background:#064264!important;
  }
  .site-header .brand{
    position:relative!important;
    height:64px!important;
    display:flex!important;
    align-items:flex-start!important;
    overflow:visible!important;
  }
  .site-header .nc4k-header-brand-assets{
    position:relative!important;
    top:0!important;
    left:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    overflow:visible!important;
    line-height:0!important;
  }
  .site-header .nc4k-mobile-gagliardetto{
    display:block!important;
    width:auto!important;
    height:83px!important;
    max-width:72vw!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left top!important;
    transform:none!important;
  }
  .site-header .nc4k-desktop-header-logo{display:none!important}
  .site-header .menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:82px!important;
    height:49px!important;
    padding:0 12px!important;
    margin:7px 0 0 auto!important;
    border:1px solid rgba(255,255,255,.75)!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:25px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:uppercase!important;
  }

  /* Internal page hero only — Home rules stay isolated. */
  body.rebuild:not(.home-page) .page-content{padding-top:64px!important}
  body.rebuild:not(.home-page) .page-hero{
    position:relative!important;
    min-height:420px!important;
    display:flex!important;
    align-items:flex-end!important;
    padding:94px 0 42px!important;
  }
  body.rebuild:not(.home-page) .page-hero .inner{
    width:calc(100% - 38px)!important;
    margin:0 auto!important;
    position:relative!important;
    z-index:2!important;
  }
  body.rebuild:not(.home-page) .page-hero .eyebrow{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.02rem!important;
    font-weight:600!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
  }
  body.rebuild:not(.home-page) .page-hero h1{
    margin:.2em 0 .26em!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(3.65rem,15vw,5.3rem)!important;
    line-height:.84!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    text-transform:uppercase!important;
  }
  body.rebuild:not(.home-page) .page-hero .inner > p:not(.eyebrow):not(.route-coordinates){
    max-width:94%!important;
    margin:0!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.33rem!important;
    line-height:1.32!important;
    font-weight:400!important;
  }
  body.rebuild:not(.home-page) .page-hero::after{
    top:86px!important;
    right:18px!important;
    z-index:3!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:.9rem!important;
  }

  /* Route — overlay numerals/titles +40% and Home-scale editorial copy. */
  .page-theroute .route-card-number{
    font-size:1.4em!important;
  }
  .page-theroute .route-card-heading-copy .eyebrow{
    font-size:1.05rem!important;
  }
  .page-theroute .route-card-heading-copy h3{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(2.25rem,10vw,3rem)!important;
    line-height:.9!important;
    text-transform:uppercase!important;
  }
  .page-theroute .route-card-description p,
  .page-theroute .route-guide-inline .copy > p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
    font-weight:400!important;
  }

  /* FAQ & Rules — readable body copy matching Home long text. */
  .page-faq .faq-panel details p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
    font-weight:400!important;
  }
  .page-faq .faq-panel details summary{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.28rem!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  /* Media Center — larger text + cyan/gold accents. */
  .page-mediacenter .archive-intro h1{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(3rem,12vw,4.2rem)!important;
    line-height:.9!important;
    text-transform:uppercase!important;
  }
  .page-mediacenter .archive-intro > .wrap > p:not(.eyebrow),
  .page-mediacenter .archive-copy .archive-gates,
  .page-mediacenter .archive-copy > h3{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
  }
  .page-mediacenter .archive-intro .eyebrow,
  .page-mediacenter .archive-copy > .eyebrow{color:#53a7c5!important}
  .page-mediacenter .archive-copy > h2,
  .page-mediacenter .archive-video-number{color:#d6ad52!important}
  .page-mediacenter .archive-facts span{
    color:#d6ad52!important;
    border-color:rgba(214,173,82,.45)!important;
  }
  .page-mediacenter .archive-copy > h3{color:#fff!important}
}


/* =========================================================
   HEADER / HOME HERO / ROUTE — refinement after Complete Trial V1
   ========================================================= */
@media (max-width:767px){

  /* Global header: slightly larger pennant, 10px higher, same left guide as Home. */
  .site-header{
    padding-left:4.4vw!important;
    padding-right:4.4vw!important;
  }
  .site-header .nc4k-header-brand-assets{
    top:-10px!important;
    left:0!important;
  }
  .site-header .nc4k-mobile-gagliardetto{
    height:90px!important;
    max-width:74vw!important;
  }

  /* Home headline artwork: a little lower, without moving STARTS/dates. */
  body.home-page .home-hero-copy-png{
    margin-top:30px!important;
    margin-left:4.4vw!important;
  }

  /* Mobile keeps the Watch/copy panel hidden. */
  body.home-page .home-film-copy-panel{
    display:none!important;
  }

  /* ROUTE: first labels unequivocally uppercase. */
  .page-theroute .page-hero .eyebrow,
  .page-theroute .route-places-section > .wrap > .eyebrow{
    text-transform:uppercase!important;
  }
}


/* =========================================================
   MOBILE RECOVERY — FINAL AUTHORITY
   Restores approved Home CSS and only overrides the items below.
   ========================================================= */
@media (max-width:767px){

  /* Global mobile header: deterministic position on every page. */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:#064264!important;
    z-index:10000!important;
  }

  .site-header .brand{
    position:absolute!important;
    top:-10px!important;
    left:4.4vw!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
    transform:none!important;
    z-index:10003!important;
  }

  .site-header .nc4k-header-brand-assets{
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    transform:none!important;
    line-height:0!important;
    overflow:visible!important;
  }

  .site-header .nc4k-mobile-gagliardetto{
    display:block!important;
    width:auto!important;
    height:96px!important;
    max-width:76vw!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left top!important;
    transform:none!important;
  }

  .site-header .nc4k-desktop-header-logo{
    display:none!important;
  }

  .site-header .menu-toggle{
    position:absolute!important;
    top:7px!important;
    right:4.4vw!important;
    left:auto!important;
    margin:0!important;
    min-width:82px!important;
    height:49px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:25px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:uppercase!important;
    z-index:10004!important;
  }

  body.menu-open .site-nav{
    top:64px!important;
    min-height:calc(100svh - 64px)!important;
  }

  /*
   * EN + IT HOME long copy:
   * exactly the same readable scale used for the approved long-copy sections.
   */
  body.home-page .home-ten-years-mobile-v1 p,
  body.home-page .home-format-card-v4 p,
  body.home-page .home-chapter-text-v7 p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:4.15vw!important;
    line-height:1.32!important;
    font-weight:400!important;
  }

  body.home-page .home-ten-years-mobile-v1 p strong,
  body.home-page .home-format-card-v4 p strong,
  body.home-page .home-chapter-text-v7 p strong{
    font-size:inherit!important;
    line-height:inherit!important;
  }

  /* Keep the approved mobile hero/rider composition active. */
  body.home-page .home-hero{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }

  body.home-page .home-hero-copy-png{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin-left:4.4vw!important;
    margin-top:30px!important;
  }

  /* Watch/copy panel remains desktop/tablet only. */
  body.home-page .home-film-copy-panel{
    display:none!important;
  }

  .page-theroute .page-hero .eyebrow,
  .page-theroute .route-places-section > .wrap > .eyebrow{
    text-transform:uppercase!important;
  }
}


/* =========================================================
   MOBILE HOME — TYPOGRAPHY / ICON / HEADER / COUNTDOWN SCALE V3
   One common long-copy class is the authority for EN + IT.
   ========================================================= */
@media (max-width:767px){

  /* ONE shared size for every editorial long-copy paragraph. */
  body.home-page .home-long-copy{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.40rem!important;
    line-height:1.34!important;
    font-weight:400!important;
  }
  body.home-page .home-long-copy strong{
    font-size:inherit!important;
    line-height:inherit!important;
  }

  /* GUIDE — two strong, explicit lines. */
  body.home-page .home-register .register-copy-block{
    width:100%!important;
    max-width:100%!important;
  }
  body.home-page .home-register .register-copy-block .eyebrow{
    width:96%!important;
    max-width:96%!important;
    margin:0 auto 12px!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(18px,4.65vw,21px)!important;
    line-height:1.02!important;
    font-weight:600!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.home-page .home-register .register-copy-block h2,
  html[lang="it"] body.home-page .home-register .register-copy-block h2{
    width:96%!important;
    max-width:96%!important;
    margin:0 auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(30px,8.2vw,36px)!important;
    line-height:.88!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    text-align:center!important;
  }

  /* Main section titles: larger and close to the full mobile measure. */
  body.home-page .home-anniversary-v15 h2,
  body.home-page .home-format-v4 > .wrap > h2,
  body.home-page .home-europe-v5 h2,
  body.home-page .home-chapter-text-v7 h2,
  body.home-page #home-sponsors h2{
    width:94%!important;
    max-width:94%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(42px,11.6vw,52px)!important;
    line-height:.86!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }

  /* FORMAT card labels remain readable below the larger icons. */
  body.home-page .home-format-card-v4 h3{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(24px,6.3vw,29px)!important;
    line-height:.96!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  /* FORMAT icons = exact same displayed box as the 4,000 KM stat icons. */
  body.home-page .home-format-card-v4 img{
    width:17vw!important;
    height:17vw!important;
    object-fit:contain!important;
    margin:0 auto 2.7vw!important;
  }

  /* 2017–2027 now has the same strong treatment as YEARS; YEARS grows too. */
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span,
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    display:block!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-weight:700!important;
    letter-spacing:-.035em!important;
    text-transform:uppercase!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span{
    font-size:clamp(52px,13.8vw,62px)!important;
    line-height:.88!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    font-size:clamp(62px,16.3vw,74px)!important;
    line-height:.82!important;
  }

  /* Larger pennant, top/left aligned. */
  .site-header .brand{
    top:0!important;
    left:4.4vw!important;
  }
  .site-header .nc4k-mobile-gagliardetto{
    height:108px!important;
    max-width:78vw!important;
  }

  /* The supplied hero headline artwork sits lower so the larger pennant never covers it. */
  body.home-page .home-hero-copy-png{
    margin-left:4.4vw!important;
    margin-top:56px!important;
  }

  /* More vertical breathing room in the bottom registration section. */
  body.home-page .home-countdown-v1{
    padding-top:68px!important;
    padding-bottom:78px!important;
  }
  body.home-page .home-countdown-v1-copy{
    margin-bottom:34px!important;
  }
  body.home-page .home-countdown-v1 .eyebrow{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }
  body.home-page .home-countdown-v1-date{
    margin-bottom:28px!important;
  }
  body.home-page .home-countdown-v1-cta{
    margin-top:34px!important;
  }
  body.home-page .home-countdown-v1-logo{
    margin:34px auto 0!important;
  }
}


/* =========================================================
   MOBILE V4 — ROUTE COORDINATES + HOME TYPO / GUIDE POLISH
   ========================================================= */
@media (max-width:767px){

  /* ---------------------------------------------------------
     ONE AND ONLY LONG-COPY SCALE
     Repeated attribute selector gives this common class enough
     specificity to override legacy section-specific rules.
     --------------------------------------------------------- */
  body.home-page p.home-long-copy[class][class]{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.40rem!important;
    line-height:1.34!important;
    font-weight:400!important;
  }
  body.home-page p.home-long-copy[class][class] strong{
    font-size:inherit!important;
    line-height:inherit!important;
  }

  /* Route descriptions follow the same readable Home long-copy size. */
  .page-theroute .route-card-description p,
  .page-theroute .route-guide-inline .copy > p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.40rem!important;
    line-height:1.34!important;
    font-weight:400!important;
  }

  /* ---------------------------------------------------------
     INTERNAL PAGE COORDINATES — Mockup03 treatment
     Every internal hero, never Home.
     --------------------------------------------------------- */
  body.rebuild:not(.home-page) .page-hero::after{
    content:"71.1709° N / 25.7837° E"!important;
    top:auto!important;
    bottom:24px!important;
    left:auto!important;
    right:18px!important;
    padding:0!important;
    border:0!important;
    color:rgba(255,255,255,.42)!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.02rem!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.075em!important;
    white-space:nowrap!important;
    text-shadow:0 1px 5px rgba(0,0,0,.22)!important;
    z-index:3!important;
  }

  /* ROUTE — the gold card numbers need real visual impact. */
  .page-theroute .route-card-number{
    color:#d6ad52!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(5rem,21vw,6.5rem)!important;
    line-height:.72!important;
    font-weight:700!important;
    letter-spacing:-.04em!important;
    margin:0 0 14px!important;
  }

  /* ---------------------------------------------------------
     HOME HERO — STARTS closer to the supplied headline artwork.
     --------------------------------------------------------- */
  body.home-page .home-dates{
    top:53.5vw!important;
  }

  /* ---------------------------------------------------------
     GUIDE — more air, stronger headings, smaller form controls.
     --------------------------------------------------------- */
  body.home-page .home-register .register-copy-block .eyebrow{
    width:98%!important;
    max-width:98%!important;
    margin:0 auto 15px!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.005em!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.home-page .home-register .register-copy-block h2,
  html[lang="it"] body.home-page .home-register .register-copy-block h2{
    width:98%!important;
    max-width:98%!important;
    margin:0 auto 34px!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(31px,8.4vw,37px)!important;
    line-height:.9!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    text-align:center!important;
  }

  /* Email field + CTA around 40% smaller in width than the previous treatment. */
  body.home-page .home-register .nc4k-brevo--guide{
    width:100%!important;
    max-width:100%!important;
  }
  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-email,
  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    width:58%!important;
    max-width:58%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.home-page .home-register .nc4k-brevo--guide input[type="email"]{
    width:100%!important;
    min-height:34px!important;
    height:34px!important;
    padding:6px 10px!important;
    font-size:13px!important;
  }
  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    min-height:34px!important;
    height:auto!important;
    padding:7px 10px!important;
    font-size:13px!important;
    line-height:1!important;
  }

  /* 2017–2027 a touch smaller; YEARS larger, for a more equal visual width. */
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years span{
    font-size:clamp(47px,12.5vw,56px)!important;
    line-height:.88!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-years strong{
    font-size:clamp(68px,18vw,80px)!important;
    line-height:.80!important;
  }

  /* Edition X Anniversary line in cyan, without separator. */
  body.home-page .home-chapter-text-v7 h2 .home-chapter-accent{
    display:block!important;
    color:#53a7c5!important;
  }

  /* Miss Grape canvas is now tightly cropped; same box treatment as RideWithGPS. */
  body.home-page #home-sponsors img[src*="missgrape.png"],
  body.home-page #home-sponsors img[src*="ridewithgps.png"]{
    width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
  }
}


/* =========================================================
   MOBILE V5 — IT HERO / YEARS LOCKUP / BREVO / QUOTE / CHAPTER
   ========================================================= */
@media (max-width:767px){

  /* Supplied 2017–2027 / YEARS artwork, shared by EN + IT.
     Slightly smaller than 10years and vertically centered beside it. */
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-mark--png{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-v15-mark--png > img:first-child{
    width:min(38vw,155px)!important;
    height:auto!important;
    flex:0 0 auto!important;
  }
  body.home-page .home-ten-years-mobile-v1 .home-ten-years-years-lockup{
    display:block!important;
    width:min(34vw,138px)!important;
    height:auto!important;
    margin:0!important;
    flex:0 0 auto!important;
    object-fit:contain!important;
    align-self:center!important;
  }

  /* Guide + Newsletter checkbox: centered group, explicit 2-line copy. */
  body.home-page .nc4k-brevo-optin{
    width:100%!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:7px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  body.home-page .nc4k-brevo-optin > input[type="checkbox"]{
    flex:0 0 auto!important;
    margin:2px 0 0!important;
  }
  body.home-page .nc4k-brevo-optin .nc4k-optin-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.18!important;
  }
  body.home-page .nc4k-brevo-optin .nc4k-optin-copy > span{
    display:block!important;
    white-space:nowrap!important;
  }

  /* Keep compact Guide button, increase only its label size. */
  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    font-size:16px!important;
    font-weight:600!important;
    line-height:1.02!important;
  }

  /* Quote above rider = same typography as the other quote blocks. */
  body.home-page .home-chapter-photo-v7 blockquote p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:5.2vw!important;
    line-height:1.16!important;
    font-weight:400!important;
  }

  /* Requested title breaks, keeping Edition X Anniversary cyan. */
  body.home-page .home-chapter-text-v7 h2{
    line-height:.9!important;
  }
}


/* =========================================================
   MOBILE V6 — LONG COPY + EN CHAPTER LINE
   ========================================================= */
@media (max-width:767px){

  /* Single authoritative long-copy size for every Home editorial paragraph. */
  body.home-page p.home-long-copy[class][class]{
    font-size:1.46rem!important;
    line-height:1.34!important;
  }

  /* Route long descriptions remain locked to the same readable scale. */
  .page-theroute .route-card-description p,
  .page-theroute .route-guide-inline .copy > p{
    font-size:1.46rem!important;
    line-height:1.34!important;
  }

  /* Keep THE MOST BEAUTIFUL together on one line. */
  body.home-page .home-chapter-text-v7 h2 .home-chapter-firstline{
    display:inline-block!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   MOBILE V7 — FINAL GLOBAL POLISH
   All rules below are mobile-only and intentionally scoped.
   ========================================================= */
@media (max-width:767px){

  /* ---------------------------------------------------------
     HEADER — same geometry as V6, only 10px higher.
     --------------------------------------------------------- */
  .site-header .brand{
    top:-10px!important;
    left:4.4vw!important;
  }

  /* ---------------------------------------------------------
     BREVO — one common mobile size everywhere.
     Use the approved Newsletter dimensions for Guide + Newsletter.
     --------------------------------------------------------- */
  .nc4k-brevo--guide,
  .nc4k-brevo--newsletter{
    width:76%!important;
    max-width:320px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .nc4k-brevo--guide .nc4k-brevo-form,
  .nc4k-brevo--newsletter .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
  }

  .nc4k-brevo--guide .nc4k-brevo-email,
  .nc4k-brevo--newsletter .nc4k-brevo-email{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .nc4k-brevo--guide input[type="email"],
  .nc4k-brevo--newsletter input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 10px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:13px!important;
  }

  .nc4k-brevo--guide .nc4k-brevo-submit,
  .nc4k-brevo--newsletter .nc4k-brevo-submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:36px!important;
    height:36px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:6px 10px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
  }

  /* Guide CTA retains the larger label approved in V5. */
  .nc4k-brevo--guide .nc4k-brevo-submit{
    font-size:16px!important;
    font-weight:600!important;
  }

  /* Keep opt-in visually centered across all Guide/Newsletter forms. */
  .nc4k-brevo--guide .nc4k-brevo-optin,
  .nc4k-brevo--newsletter .nc4k-brevo-optin{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Internal Guide blocks use the same clean blue mobile language as Home. */
  body.rebuild:not(.home-page) .guide-block .form-visual-photo,
  body.rebuild:not(.home-page) .route-guide-inline .photo{
    display:none!important;
  }

  body.rebuild:not(.home-page) .guide-block .form-visual-content,
  body.rebuild:not(.home-page) .route-guide-inline .copy.dark{
    background:#064264!important;
    color:#fff!important;
    text-align:center!important;
    padding:42px 18px 46px!important;
  }

  body.rebuild:not(.home-page) .guide-block .form-visual-content > div:first-child,
  body.rebuild:not(.home-page) .route-guide-inline .copy.dark > p,
  body.rebuild:not(.home-page) .route-guide-inline .copy.dark > h2{
    text-align:center!important;
  }

  /* ---------------------------------------------------------
     HOME — a little more blue breathing room before the map.
     --------------------------------------------------------- */
  body.home-page .home-map-newsletter-v3{
    padding-bottom:9vw!important;
  }

  /* FORMAT icons: match the visual footprint of the upper stat icons. */
  body.home-page .home-format-card-v4 img{
    width:17vw!important;
    height:17vw!important;
    object-fit:contain!important;
    transform:scale(1.18)!important;
    transform-origin:center center!important;
    margin:2.2vw auto 4vw!important;
  }

  /* Home registration countdown: same 2x2 treatment as Registration page. */
  body.home-page .home-countdown-v1 .countdown-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.home-page .home-countdown-v1 .countdown-box{
    min-height:118px!important;
    padding:18px 10px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.home-page .home-countdown-v1 .countdown-box b{
    font-size:3.6rem!important;
    line-height:.9!important;
  }

  body.home-page .home-countdown-v1 .countdown-box span{
    margin-top:8px!important;
    font-size:.82rem!important;
  }

  body.home-page .home-countdown-v1-cta{
    font-size:20px!important;
    font-weight:700!important;
    min-height:46px!important;
    padding:11px 20px!important;
  }

  /* ---------------------------------------------------------
     INTERNAL HEROES — move all copy high, same top/left everywhere.
     Home is explicitly excluded.
     --------------------------------------------------------- */
  body.rebuild:not(.home-page) .page-hero{
    position:relative!important;
    align-items:flex-start!important;
  }

  body.rebuild:not(.home-page) .page-hero .inner{
    position:absolute!important;
    top:86px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    z-index:2!important;
  }

  body.rebuild:not(.home-page) .page-hero .inner > *{
    text-align:left!important;
  }

  /* THE ROUTE title is always uppercase. */
  .page-theroute .page-hero h1,
  .page-theroute .page-hero .eyebrow{
    text-transform:uppercase!important;
  }

  /* ---------------------------------------------------------
     MEDIA CENTER — all informational text inside yearly cards larger.
     --------------------------------------------------------- */
  .page-mediacenter .archive-copy > .eyebrow{
    font-size:1.18rem!important;
    line-height:1.1!important;
  }

  .page-mediacenter .archive-copy > h2{
    font-size:clamp(3.8rem,16vw,5rem)!important;
    line-height:.84!important;
  }

  .page-mediacenter .archive-facts span{
    font-size:1.22rem!important;
    line-height:1.18!important;
  }

  .page-mediacenter .archive-copy .archive-gates,
  .page-mediacenter .archive-copy > h3{
    font-size:1.46rem!important;
    line-height:1.34!important;
  }

  .page-mediacenter .archive-action{
    font-size:1.08rem!important;
  }

  /* ---------------------------------------------------------
     RULES & FAQ — same exact scale as Home long copy.
     --------------------------------------------------------- */
  .page-faq .faq-panel details p{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.46rem!important;
    line-height:1.34!important;
    font-weight:400!important;
  }

  /* ---------------------------------------------------------
     FOOTER — substantially larger social symbols on mobile.
     --------------------------------------------------------- */
  .site-footer .footer-social a{
    gap:10px!important;
    min-height:38px!important;
  }

  .site-footer .footer-social-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:34px!important;
    font-size:2rem!important;
    line-height:1!important;
    font-weight:700!important;
  }
}


/* =========================================================
   MOBILE V8 — CANONICAL FORM / LONG-COPY / INTERNAL HERO SYSTEM
   Tune these variables once to update every matching component.
   ========================================================= */
@media (max-width:767px){

  :root{
    --nc4k-mobile-long-copy-size:1.46rem;
    --nc4k-mobile-long-copy-line:1.34;

    --nc4k-mobile-form-width:84%;
    --nc4k-mobile-form-max-width:360px;
    --nc4k-mobile-form-control-height:40px;
    --nc4k-mobile-form-input-font:14px;
    --nc4k-mobile-button-font:20px;
  }

  /* ---------------------------------------------------------
     HOME STARTS — exactly 50px higher than V7.
     --------------------------------------------------------- */
  body.home-page .home-dates{
    top:calc(53.5vw - 50px)!important;
  }

  /* ---------------------------------------------------------
     ONE LONG-COPY SCALE.
     Home, Route, FAQ and Media Center all read from the same variables.
     --------------------------------------------------------- */
  body.home-page p.home-long-copy[class][class],
  .page-theroute .route-card-description p,
  .page-theroute .route-guide-inline .copy > p,
  .page-faq .faq-panel details p,
  .page-mediacenter .archive-intro > .wrap > p:not(.eyebrow),
  .page-mediacenter .archive-copy .archive-gates,
  .page-mediacenter .archive-copy > h3{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:var(--nc4k-mobile-long-copy-line)!important;
    font-weight:400!important;
  }

  /* ---------------------------------------------------------
     ONE BREVO STYLE — Guide + Newsletter, every page, EN + IT.
     Same width, same field height, same CTA typography.
     --------------------------------------------------------- */
  html body .nc4k-brevo--guide,
  html body .nc4k-brevo--newsletter,
  html body.home-page .home-register .nc4k-brevo--guide,
  html body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter{
    width:var(--nc4k-mobile-form-width)!important;
    max-width:var(--nc4k-mobile-form-max-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-form,
  html body .nc4k-brevo--newsletter .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-email,
  html body .nc4k-brevo--newsletter .nc4k-brevo-email,
  html body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-email{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body .nc4k-brevo--guide input[type="email"],
  html body .nc4k-brevo--newsletter input[type="email"],
  html body.home-page .home-register .nc4k-brevo--guide input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--nc4k-mobile-form-control-height)!important;
    height:var(--nc4k-mobile-form-control-height)!important;
    padding:8px 11px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-form-input-font)!important;
    line-height:1!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-submit,
  html body .nc4k-brevo--newsletter .nc4k-brevo-submit,
  html body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--nc4k-mobile-form-control-height)!important;
    height:var(--nc4k-mobile-form-control-height)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-button-font)!important;
    font-weight:700!important;
    line-height:1!important;
  }

  /* Registration CTA uses the same canonical button typography. */
  body.home-page .home-countdown-v1-cta{
    font-size:var(--nc4k-mobile-button-font)!important;
    font-weight:700!important;
  }

  /* ---------------------------------------------------------
     ROUTE — exact requested uppercase section title.
     --------------------------------------------------------- */
  .page-theroute .route-places-section > .wrap > h2{
    text-transform:uppercase!important;
  }

  /* ---------------------------------------------------------
     INTERNAL PAGE HERO COPY — one shared position, close to image top.
     Home is excluded.
     --------------------------------------------------------- */
  body.rebuild:not(.home-page) .page-hero .inner{
    position:absolute!important;
    top:16px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    z-index:2!important;
  }

  /* Media Center intro is now explicitly part of the canonical long-copy system. */
  .page-mediacenter .archive-intro > .wrap > p:not(.eyebrow){
    max-width:100%!important;
  }
}


/* =========================================================
   MOBILE V9 — HOME FORM MATCH + MEDIA CENTER FIXES
   ========================================================= */
@media (max-width:767px){

  /* HOME ONLY:
     Guide and Newsletter must be visually identical.
     Keep the approved Guide geometry and apply it to both forms. */
  body.home-page .home-register .nc4k-brevo--guide,
  body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter{
    width:84%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-email,
  body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter .nc4k-brevo-email,
  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit,
  body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter .nc4k-brevo-submit{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-register .nc4k-brevo--guide input[type="email"],
  body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter input[type="email"]{
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:8px 11px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1!important;
  }

  body.home-page .home-register .nc4k-brevo--guide .nc4k-brevo-submit,
  body.home-page .home-map-newsletter-v3 .nc4k-brevo--newsletter .nc4k-brevo-submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:40px!important;
    height:40px!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:20px!important;
    font-weight:700!important;
    line-height:1!important;
  }

  /* MEDIA CENTER yearly Tribute labels:
     restore their title hierarchy; they are not long-copy text. */
  .page-mediacenter .archive-copy > h3{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:1.75rem!important;
    line-height:1.05!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  /* MEDIA CENTER newsletter editorial treatment. */
  .page-mediacenter .newsletter .form-visual-content > div:first-child > .eyebrow{
    color:#d6ad52!important;
    text-transform:uppercase!important;
  }

  .page-mediacenter .newsletter .form-visual-content > div:first-child > h2{
    text-transform:uppercase!important;
  }

  .page-mediacenter .newsletter .form-visual-content > div:first-child > p:not(.eyebrow){
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:var(--nc4k-mobile-long-copy-line)!important;
    font-weight:400!important;
  }
}


/* =========================================================
   MOBILE V10 — SHARED FORM BLOCK SYSTEM
   One semantic system for Guide + Newsletter everywhere.
   ========================================================= */
@media (max-width:767px){

  :root{
    --nc4k-mobile-long-copy-size:1.46rem;
    --nc4k-mobile-long-copy-line:1.34;

    --nc4k-form-width:84%;
    --nc4k-form-max-width:360px;
    --nc4k-form-control-height:40px;
    --nc4k-form-input-font:14px;
    --nc4k-form-button-font:20px;

    --nc4k-form-kicker-size:1.05rem;
    --nc4k-form-title-size:2rem;
  }

  /* STARTS block: 20px lower than V8. */
  body.home-page .home-dates{
    top:calc(53.5vw - 30px)!important;
  }

  /* ---------------------------------------------------------
     SHARED TYPOGRAPHY FOR ALL GUIDE / NEWSLETTER BLOCKS
     --------------------------------------------------------- */
  .nc4k-form-kicker{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-form-kicker-size)!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }

  .nc4k-form-title{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-form-title-size)!important;
    line-height:.98!important;
    font-weight:700!important;
    letter-spacing:-.015em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }

  .nc4k-form-copy{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:var(--nc4k-mobile-long-copy-line)!important;
    font-weight:400!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Media Center kicker keeps its requested gold accent. */
  .page-mediacenter .newsletter .nc4k-form-kicker{
    color:#d6ad52!important;
  }

  /* ---------------------------------------------------------
     ONE FORM GEOMETRY FOR EVERY BREVO GUIDE / NEWSLETTER
     --------------------------------------------------------- */
  html body .nc4k-brevo--guide,
  html body .nc4k-brevo--newsletter{
    width:var(--nc4k-form-width)!important;
    max-width:var(--nc4k-form-max-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-form,
  html body .nc4k-brevo--newsletter .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    gap:8px!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-email,
  html body .nc4k-brevo--newsletter .nc4k-brevo-email{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body .nc4k-brevo--guide input[type="email"],
  html body .nc4k-brevo--newsletter input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--nc4k-form-control-height)!important;
    height:var(--nc4k-form-control-height)!important;
    padding:8px 11px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-form-input-font)!important;
    line-height:1!important;
  }

  html body .nc4k-brevo--guide .nc4k-brevo-submit,
  html body .nc4k-brevo--newsletter .nc4k-brevo-submit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:var(--nc4k-form-control-height)!important;
    height:var(--nc4k-form-control-height)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-form-button-font)!important;
    font-weight:700!important;
    line-height:1!important;
    text-transform:uppercase!important;
  }

  /* Same button typography for the separate registration CTA. */
  body.home-page .home-countdown-v1-cta{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-form-button-font)!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }

  /* Registration Guide must use exactly the same shared block styling. */
  .page-registration .guide-block .form-visual-content{
    text-align:center!important;
  }
}


/* =========================================================
   MOBILE V11 — EN HERO / SHARED GOLD KICKER / HOME OPT-IN
   ========================================================= */
@media (max-width:767px){

  /* One shared modifier for BE THE FIRST TO KNOW + WANT THE FULL DETAILS. */
  .nc4k-form-kicker--gold{
    color:#d6ad52!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }

  /* Home opt-in returns to one visual line like the other forms. */
  body.home-page .nc4k-brevo-optin .nc4k-optin-copy{
    display:inline!important;
    white-space:nowrap!important;
  }

  body.home-page .nc4k-brevo-optin .nc4k-optin-copy > span{
    display:inline!important;
    white-space:nowrap!important;
  }

  body.home-page .nc4k-brevo-optin .nc4k-optin-copy > span + span{
    margin-left:.28em!important;
  }
}


/* =========================================================
   MOBILE HOTFIX — STARTS POSITION + IT ROUTE TITLE
   ========================================================= */
@media (max-width:767px){
  /* 20px lower than the current V10 position. */
  body.home-page .home-dates{
    top:calc(53.5vw - 10px)!important;
  }

  /* Italian route title stays on one line. */
  html[lang="it"] .page-theroute .route-places-section > .wrap > h2{
    white-space:nowrap!important;
    font-size:clamp(2.05rem,8.5vw,2.75rem)!important;
    letter-spacing:-.025em!important;
  }
}
/* MOBILE V12 — supplied hero lockups include STARTS + departures */
@media (max-width:767px){
  body.home-page .home-dates{display:none!important}
}


/* =========================================================
   MOBILE V13 — INTERNAL HERO ATTACHMENT / SUBTITLE / GRADIENT
   Scope only: Route, Media Center, FAQ, Registration.
   ========================================================= */
@media (max-width:767px){

  /* Let the hero image reach the fixed header, eliminating the detached strip. */
  .page-theroute .page-content,
  .page-mediacenter .page-content,
  .page-faq .page-content,
  .page-registration .page-content{
    padding-top:0!important;
  }

  .page-theroute .page-hero,
  .page-mediacenter .page-hero,
  .page-faq .page-hero,
  .page-registration .page-hero{
    position:relative!important;
    margin-top:0!important;
    padding-top:0!important;
    background-position:center center!important;
  }

  /* Gradient under the fixed header, analogous to the Home transition. */
  .page-theroute .page-hero::before,
  .page-mediacenter .page-hero::before,
  .page-faq .page-hero::before,
  .page-registration .page-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(180deg,
        rgba(6,66,100,.82) 0%,
        rgba(6,66,100,.46) 13%,
        rgba(6,66,100,.08) 33%,
        rgba(7,31,44,.20) 72%,
        rgba(7,31,44,.72) 100%)!important;
    z-index:1!important;
    pointer-events:none!important;
  }

  /* Keep the existing hero copy visually where it was, despite image moving upward. */
  .page-theroute .page-hero .inner,
  .page-mediacenter .page-hero .inner,
  .page-faq .page-hero .inner,
  .page-registration .page-hero .inner{
    top:80px!important;
    left:18px!important;
    right:18px!important;
    z-index:2!important;
  }

  /* Long subtitle: controlled 4/5-word rhythm and slightly lower position. */
  .page-theroute .page-hero .inner > p:not(.eyebrow),
  .page-mediacenter .page-hero .inner > p:not(.eyebrow),
  .page-faq .page-hero .inner > p:not(.eyebrow),
  .page-registration .page-hero .inner > p:not(.eyebrow){
    margin-top:15px!important;
    max-width:92%!important;
    font-size:1.33rem!important;
    line-height:1.28!important;
  }

  .mobile-only-break{
    display:block!important;
  }
}


/* =========================================================
   MOBILE V14 — GLOBAL HEADER FADE ONLY
   Keep all approved mobile layout/typography untouched.
   ========================================================= */
@media (max-width:767px){
  .site-header{
    overflow:visible!important;
  }
  .site-header::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    height:34px!important;
    display:block!important;
    background:linear-gradient(180deg,rgba(6,66,100,.98) 0%,rgba(6,66,100,.56) 44%,rgba(6,66,100,0) 100%)!important;
    pointer-events:none!important;
    z-index:-1!important;
  }
}


/* =========================================================
   MOBILE V15 — GLOBAL HEADER FADE + INTERNAL HERO ATTACHMENT
   + DEDICATED ROUTE CROP
   ========================================================= */
@media (max-width:767px){

  /* Make the global fade visible above every hero/image, not behind the page. */
  .site-header{
    overflow:visible!important;
    isolation:isolate!important;
  }
  .site-header::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    height:36px!important;
    display:block!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,1) 0%,
      rgba(6,66,100,.70) 38%,
      rgba(6,66,100,.28) 72%,
      rgba(6,66,100,0) 100%
    )!important;
    pointer-events:none!important;
    z-index:0!important;
  }
  .site-header > .brand,
  .site-header > .menu-toggle{
    position:relative!important;
    z-index:2!important;
  }

  /* Internal hero images begin immediately below the fixed menu,
     with exactly the same visual attachment used by Home. */
  .page-theroute .page-content,
  .page-mediacenter .page-content,
  .page-faq .page-content,
  .page-registration .page-content{
    padding-top:0!important;
    margin-top:0!important;
  }
  .page-theroute .page-hero,
  .page-mediacenter .page-hero,
  .page-faq .page-hero,
  .page-registration .page-hero{
    margin-top:0!important;
    top:auto!important;
    transform:none!important;
  }

  /* Route gets its own mobile crop from the untouched original image.
     Rider sits around the 2/3 horizontal guide, away from the copy. */
  .page-theroute .page-hero{
    background-image:url("/shared/assets/mobile-route/route-hero-cyclist.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}


/* =========================================================
   MOBILE V16 — CONSOLIDATED HEADER / MENU / INTERNAL HERO
   This block replaces conflicting V8 behavior.
   ========================================================= */
@media (max-width:767px){

  :root{
    --nc4k-mobile-header-height:78px;
  }

  /* Header remains fixed; fade is visible below it on every page. */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:var(--nc4k-mobile-header-height)!important;
    overflow:visible!important;
    isolation:isolate!important;
    z-index:10000!important;
  }

  .site-header::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    height:38px!important;
    display:block!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,1) 0%,
      rgba(6,66,100,.72) 36%,
      rgba(6,66,100,.28) 72%,
      rgba(6,66,100,0) 100%
    )!important;
    pointer-events:none!important;
    z-index:0!important;
  }

  .site-header > .brand,
  .site-header > .menu-toggle{
    z-index:2!important;
  }

  /* MENU: authoritative viewport-safe geometry.
     The earlier broad child positioning rule no longer affects .site-nav. */
  .site-header > .site-nav{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:var(--nc4k-mobile-header-height)!important;
    width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  body:not(.menu-open) .site-header > .site-nav{
    display:none!important;
  }

  body.menu-open .site-header > .site-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    min-height:0!important;
    height:calc(100svh - var(--nc4k-mobile-header-height))!important;
    max-height:calc(100svh - var(--nc4k-mobile-header-height))!important;
    padding:20px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#064264!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:10001!important;
  }

  body.menu-open .site-header > .site-nav > a,
  body.menu-open .site-header > .site-nav > span{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* INTERNAL HEROES:
     beat the old body.rebuild:not(.home-page) .page-content padding rule.
     Result: image starts at exactly the same y-position as Home, directly
     below the 78px fixed menu bar. */
  body.rebuild.page-theroute .page-content,
  body.rebuild.page-mediacenter .page-content,
  body.rebuild.page-faq .page-content,
  body.rebuild.page-registration .page-content{
    padding-top:0!important;
    margin-top:0!important;
  }

  body.rebuild.page-theroute .page-hero,
  body.rebuild.page-mediacenter .page-hero,
  body.rebuild.page-faq .page-hero,
  body.rebuild.page-registration .page-hero{
    margin-top:0!important;
    top:auto!important;
    transform:none!important;
  }

  /* Same blue-to-transparent visual transition as Home,
     while retaining enough lower contrast for the white hero copy. */
  body.rebuild.page-theroute .page-hero::before,
  body.rebuild.page-mediacenter .page-hero::before,
  body.rebuild.page-faq .page-hero::before,
  body.rebuild.page-registration .page-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,.78) 0%,
      rgba(6,66,100,.40) 12%,
      rgba(6,66,100,.08) 28%,
      rgba(7,31,44,.08) 64%,
      rgba(7,31,44,.72) 100%
    )!important;
    z-index:1!important;
    pointer-events:none!important;
  }

  body.rebuild.page-theroute .page-hero .inner,
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    z-index:2!important;
  }

  /* Preserve the dedicated approved Route crop from V8. */
  body.rebuild.page-theroute .page-hero{
    background-image:url("/shared/assets/mobile-route/route-hero-cyclist.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}


/* =========================================================
   MOBILE V17 — EXACT V7 HEADER RESTORE + INTERNAL HERO ALIGNMENT
   Final authority. Do not generalize these selectors.
   ========================================================= */
@media (max-width:767px){

  :root{
    --nc4k-mobile-header-height:64px;
    --nc4k-mobile-left-guide:4.4vw;
  }

  /* EXACT RESTORE of the approved V7 mobile header geometry. */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:#064264!important;
    isolation:auto!important;
    z-index:10000!important;
  }

  .site-header .brand,
  .site-header > .brand{
    position:absolute!important;
    top:-10px!important;
    left:var(--nc4k-mobile-left-guide)!important;
    right:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
    transform:none!important;
    z-index:10003!important;
  }

  .site-header .nc4k-header-brand-assets{
    position:static!important;
    top:auto!important;
    left:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    transform:none!important;
    line-height:0!important;
    overflow:visible!important;
  }

  .site-header .nc4k-mobile-gagliardetto{
    display:block!important;
    width:auto!important;
    height:96px!important;
    max-width:76vw!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left top!important;
    transform:none!important;
  }

  .site-header .nc4k-desktop-header-logo{
    display:none!important;
  }

  /* EXACT V7 MENU BUTTON POSITION: right side, never centered. */
  .site-header .menu-toggle,
  .site-header > .menu-toggle{
    position:absolute!important;
    top:7px!important;
    right:var(--nc4k-mobile-left-guide)!important;
    left:auto!important;
    margin:0!important;
    min-width:82px!important;
    width:auto!important;
    height:49px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.75)!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:25px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:uppercase!important;
    transform:none!important;
    z-index:10004!important;
  }

  /* Menu panel uses the restored 64px header as its origin. */
  .site-header > .site-nav{
    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  body:not(.menu-open) .site-header > .site-nav{
    display:none!important;
  }

  body.menu-open .site-header > .site-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    min-height:calc(100svh - 64px)!important;
    height:calc(100svh - 64px)!important;
    max-height:calc(100svh - 64px)!important;
    padding:20px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#064264!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:10001!important;
  }

  /* Fade starts exactly under the 64px header and stays behind the menu panel. */
  .site-header::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:64px!important;
    height:34px!important;
    display:block!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,.96) 0%,
      rgba(6,66,100,.56) 44%,
      rgba(6,66,100,0) 100%
    )!important;
    pointer-events:none!important;
    z-index:0!important;
  }

  /* INTERNAL PAGES ONLY.
     Image attaches directly to the header; Home remains untouched. */
  body.rebuild.page-theroute .page-content,
  body.rebuild.page-mediacenter .page-content,
  body.rebuild.page-faq .page-content,
  body.rebuild.page-registration .page-content{
    padding-top:0!important;
    margin-top:0!important;
  }

  body.rebuild.page-theroute .page-hero,
  body.rebuild.page-mediacenter .page-hero,
  body.rebuild.page-faq .page-hero,
  body.rebuild.page-registration .page-hero{
    margin-top:64px!important;
    top:auto!important;
    transform:none!important;
  }

  /* Hero copy shares the exact same LEFT GUIDE as the pennant. */
  body.rebuild.page-theroute .page-hero .inner,
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    left:var(--nc4k-mobile-left-guide)!important;
    right:var(--nc4k-mobile-left-guide)!important;
    width:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    z-index:2!important;
  }

  /* Dedicated hero gradient, independent from header/menu positioning. */
  body.rebuild.page-theroute .page-hero::before,
  body.rebuild.page-mediacenter .page-hero::before,
  body.rebuild.page-faq .page-hero::before,
  body.rebuild.page-registration .page-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,.52) 0%,
      rgba(6,66,100,.24) 14%,
      rgba(6,66,100,.04) 30%,
      rgba(7,31,44,.08) 64%,
      rgba(7,31,44,.72) 100%
    )!important;
    pointer-events:none!important;
    z-index:1!important;
  }

  /* Keep the dedicated Route crop already approved in V8. */
  body.rebuild.page-theroute .page-hero{
    background-image:url("/shared/assets/mobile-route/route-hero-cyclist.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}


/* =========================================================
   MOBILE V18 — INTERNAL HERO ATTACHMENT ONLY
   Header / menu / pennant geometry intentionally untouched.
   ========================================================= */
@media (max-width:767px){

  body.rebuild.page-theroute .page-content,
  body.rebuild.page-mediacenter .page-content,
  body.rebuild.page-faq .page-content,
  body.rebuild.page-registration .page-content{
    padding-top:64px!important;
    margin-top:0!important;
  }

  body.rebuild.page-theroute .page-hero,
  body.rebuild.page-mediacenter .page-hero,
  body.rebuild.page-faq .page-hero,
  body.rebuild.page-registration .page-hero{
    margin-top:0!important;
    top:auto!important;
    transform:none!important;
  }

  body.rebuild.page-theroute .page-hero::before,
  body.rebuild.page-mediacenter .page-hero::before,
  body.rebuild.page-faq .page-hero::before,
  body.rebuild.page-registration .page-hero::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:44px!important;
    bottom:auto!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,.94) 0%,
      rgba(6,66,100,.56) 42%,
      rgba(6,66,100,.18) 72%,
      rgba(6,66,100,0) 100%
    )!important;
    pointer-events:none!important;
    z-index:1!important;
  }

  body.rebuild.page-theroute .page-hero .inner,
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    left:var(--nc4k-mobile-left-guide)!important;
    right:var(--nc4k-mobile-left-guide)!important;
    z-index:2!important;
  }
}


/* =========================================================
   MOBILE V19 — INTERNAL HERO FLUSH TO HEADER
   Header/menu/pennant geometry untouched.
   ========================================================= */
@media (max-width:767px){

  body.rebuild.page-theroute .page-content,
  body.rebuild.page-mediacenter .page-content,
  body.rebuild.page-faq .page-content,
  body.rebuild.page-registration .page-content{
    padding-top:0!important;
    margin-top:0!important;
  }

  body.rebuild.page-theroute .page-hero,
  body.rebuild.page-mediacenter .page-hero,
  body.rebuild.page-faq .page-hero,
  body.rebuild.page-registration .page-hero{
    margin-top:0!important;
  }

  /* very short veil: image remains visibly attached to the menu */
  body.rebuild.page-theroute .page-hero::before,
  body.rebuild.page-mediacenter .page-hero::before,
  body.rebuild.page-faq .page-hero::before,
  body.rebuild.page-registration .page-hero::before{
    height:24px!important;
    top:0!important;
    bottom:auto!important;
    background:linear-gradient(
      180deg,
      rgba(6,66,100,.56) 0%,
      rgba(6,66,100,.22) 48%,
      rgba(6,66,100,0) 100%
    )!important;
  }
}


.page-mediacenter .archive-video{
  aspect-ratio:4/3!important;
}
.page-mediacenter .archive-video::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.page-mediacenter .archive-video img{
  object-fit:contain!important;
}


/* =========================================================
   MOBILE V20 — INTERNAL HERO COPY +50PX
   Header/menu/pennant untouched.
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-theroute .page-hero .inner,
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    top:66px!important;
  }
}


/* =========================================================
   MEDIA CENTER V13 — HARD 4:3 / NO IMAGE GRADIENT
   ========================================================= */
body.page-mediacenter .archive-video{
  position:relative!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  overflow:hidden!important;
  background:#082f45!important;
}
body.page-mediacenter .archive-video::before,
body.page-mediacenter .archive-video::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
body.page-mediacenter .archive-video iframe,
body.page-mediacenter .archive-video img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
}
body.page-mediacenter .archive-video img{
  object-fit:contain!important;
  object-position:center center!important;
}


/* =========================================================
   MEDIA CENTER V14 — TRUE 4:3 / NO IMAGE VEIL
   ========================================================= */
body.page-mediacenter .archive-video{
  position:relative!important;
  width:100%!important;
  height:0!important;
  padding-top:75%!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#082f45!important;
}
body.page-mediacenter .archive-video::before,
body.page-mediacenter .archive-video::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
body.page-mediacenter .archive-video iframe,
body.page-mediacenter .archive-video img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border:0!important;
}
body.page-mediacenter .archive-video img{
  object-fit:contain!important;
  object-position:center center!important;
}


/* =========================================================
   V16 — MEDIA CENTER RESTORE + ROUTE 4:3 FINAL AUTHORITY
   ========================================================= */

/* MEDIA CENTER: restore the approved pre-4:3 behavior. */
body.page-mediacenter .archive-video{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#082f45!important;
}
body.page-mediacenter .archive-video::before{
  content:none!important;
  display:none!important;
}
body.page-mediacenter .archive-video::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:1!important;
  pointer-events:none!important;
  opacity:1!important;
  background:linear-gradient(
    180deg,
    rgba(5,26,39,.04) 0%,
    rgba(5,26,39,.06) 48%,
    rgba(5,26,39,.68) 100%
  )!important;
}
body.page-mediacenter .archive-video iframe,
body.page-mediacenter .archive-video img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
}

/* ROUTE: all 15 photo cards are 4:3 and have no gradient veil. */
body.page-theroute .route-card-media{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center center!important;
}
body.page-theroute .route-card-media::before,
body.page-theroute .route-card-media::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
  opacity:0!important;
}
body.page-theroute .route-card-overlay{
  background:none!important;
  background-image:none!important;
}


/* =========================================================
   V25 — FINAL MOBILE COPY / ALIGNMENT POLISH
   Only the explicitly requested mobile adjustments.
   ========================================================= */
@media (max-width:767px){

  /* Home: anniversary registration copy centered on every mobile width. */
  body.home-page .home-countdown-v1-copy{
    width:92%!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-align-last:auto!important;
  }

  /* Home newsletter before the map:
     same typographic scale as the corresponding Guide lines. */
  body.home-page .home-map-newsletter-v3 h3{
    width:98%!important;
    max-width:98%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.005em!important;
    white-space:normal!important;
    text-align:center!important;
  }

  body.home-page .home-map-newsletter-v3 .nc4k-form-copy{
    width:98%!important;
    max-width:98%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(31px,8.4vw,37px)!important;
    line-height:.9!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    text-align:center!important;
  }

  /* Home registration opening: stronger red cue above December 1. */
  body.home-page .home-countdown-v1 .eyebrow{
    color:#b30000!important;
    font-size:clamp(24px,6.4vw,30px)!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.025em!important;
    text-align:center!important;
  }

  /* Route only: move all hero copy 50px lower than the approved V20 position. */
  body.rebuild.page-theroute .page-hero .inner{
    top:116px!important;
  }

  /* Media Center IT/EN accent always occupies its own line on mobile. */
  body.rebuild.page-mediacenter .page-hero h1 .hero-accent{
    display:block!important;
    color:#d6ad52!important;
  }
}


/* =========================================================
   V26 — FINAL MOBILE HOME / ROUTE / REGISTRATION
   ========================================================= */
@media (max-width:767px){

  /* HOME — Priority Access card: dedicated mobile lines only. */
  body.home-page .home-priority-wide{
    display:none!important;
  }
  body.home-page .home-priority-mobile{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    line-height:1.22!important;
  }
  body.home-page .home-priority-mobile strong{
    display:inline-block!important;
    margin-top:8px!important;
    font-weight:700!important;
  }
  body.home-page .home-priority-mobile strong:first-child{
    margin-top:0!important;
  }

  /* ROUTE — restore the Guide photo on mobile, cropped to the previous visual ratio. */
  body.rebuild.page-theroute .route-guide-inline .photo{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1800/1258!important;
    background-image:url("/shared/assets/mobile-route/route-guide-email-mobile.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  /* REGISTRATION — one-line opening date. */
  body.rebuild.page-registration .countdown h2{
    white-space:nowrap!important;
    font-size:clamp(1.2rem,5.2vw,1.7rem)!important;
    line-height:1.05!important;
  }

  /* Registration starts block directly below the limited-spots note. */
  body.rebuild.page-registration .registration-starts-v26{
    margin-top:24px!important;
    text-align:center!important;
  }
  body.rebuild.page-registration .registration-starts-v26 .eyebrow{
    margin:0 0 10px!important;
    color:#d6ad52!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
  body.rebuild.page-registration .registration-starts-v26 > p:not(.eyebrow){
    margin:0!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:1.32!important;
    font-weight:400!important;
  }

  /* Registration newsletter: same gold/white hierarchy as Home Guide. */
  body.rebuild.page-registration .newsletter .nc4k-form-kicker--gold{
    width:98%!important;
    max-width:98%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.005em!important;
    text-align:center!important;
  }
  body.rebuild.page-registration .newsletter .nc4k-form-title{
    width:98%!important;
    max-width:98%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(31px,8.4vw,37px)!important;
    line-height:.9!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
    text-align:center!important;
  }
}


/* =========================================================
   V27 — MOBILE LIVE FINAL
   Only requested final mobile refinements.
   ========================================================= */
@media (max-width:767px){

  /* ROUTE — use the exact route-guide-email image requested. */
  body.rebuild.page-theroute .route-guide-inline .photo{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1800/1258!important;
    background-image:url("/shared/assets/route-2027/route-guide-email.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  /* REGISTRATION — STARTS 2027 and departures aligned left. */
  body.rebuild.page-registration .registration-starts-v26{
    width:100%!important;
    margin-top:24px!important;
    text-align:left!important;
  }
  body.rebuild.page-registration .registration-starts-v26 .eyebrow,
  body.rebuild.page-registration .registration-starts-v26 > p:not(.eyebrow){
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* REGISTRATION OPENS = same size as STARTS 2027. */
  body.rebuild.page-registration .countdown .wrap > div:first-child > .eyebrow,
  body.rebuild.page-registration .registration-starts-v26 .eyebrow{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }

  /* Opening date = same size as Grand Depart / Berlin lines. */
  body.rebuild.page-registration .countdown h2,
  body.rebuild.page-registration .registration-starts-v26 > p:not(.eyebrow){
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:1.32!important;
    font-weight:400!important;
  }

  body.rebuild.page-registration .countdown h2{
    white-space:nowrap!important;
  }
}


/* =========================================================
   V28 — MOBILE REGISTRATION / MEDIA / ROUTE FINAL POLISH
   ========================================================= */
@media (max-width:767px){

  /* Registration SOLD OUT box: same right edge as countdown rectangle. */
  body.rebuild.page-registration .countdown-urgency{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* Media Center hero subtitle: preserve exact three-line mobile rhythm. */
  body.rebuild.page-mediacenter .page-hero .inner > p:not(.eyebrow){
    max-width:100%!important;
  }
}


/* =========================================================
   V31 — REQUESTED MOBILE-ONLY UPDATES
   ========================================================= */
@media (max-width:767px){
  /* DID YOU KNOW / LO SAPEVI: size unchanged, gold only. */
  body.home-page .home-chapter-text-v7 h3{
    color:#d6ad52!important;
  }

  /* New dedicated Route hero image for mobile. */
  body.rebuild.page-theroute .page-hero{
    background-image:url("/shared/assets/mobile-route/route-hero-2027.jpg")!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* =========================================================
   V32 — REGISTRATION MOBILE INFO LAYOUT
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-registration .registration-countdown-v32 .wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:30px!important;
    align-items:stretch!important;
  }
  body.rebuild.page-registration .registration-countdown-panel-v32{
    order:1!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    width:100%!important;
  }
  body.rebuild.page-registration .registration-countdown-panel-v32 .countdown-urgency{
    order:1!important;
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-items:center!important;
    text-align:center!important;
  }
  body.rebuild.page-registration .registration-countdown-panel-v32 .countdown-grid{
    order:2!important;
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.rebuild.page-registration .registration-info-v32{
    order:2!important;
    display:flex!important;
    flex-direction:column!important;
    gap:28px!important;
    width:100%!important;
  }
  body.rebuild.page-registration .registration-info-block{
    width:100%!important;
    text-align:left!important;
  }
  body.rebuild.page-registration .registration-info-block .eyebrow{
    margin:0 0 9px!important;
    color:#d6ad52!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1!important;
    font-weight:700!important;
  }
  body.rebuild.page-registration .registration-info-block p:not(.eyebrow),
  body.rebuild.page-registration .registration-opening-date{
    margin:0!important;
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:1.32!important;
    font-weight:400!important;
    text-align:left!important;
  }
  body.rebuild.page-registration .registration-opening-date{
    color:#fff!important;
    font-size:calc(var(--nc4k-mobile-long-copy-size) * .92)!important;
    line-height:1.18!important;
  }
  body.rebuild.page-registration .registration-opening-v32 .phase-note{
    margin-top:12px!important;
  }
}


/* =========================================================
   V34 — MOBILE ROUTE ALIGNMENT + REGISTRATION DATE
   ========================================================= */
@media (max-width:767px){
  /* The Route hero copy now uses the exact same height as the other internal pages. */
  body.rebuild.page-theroute .page-hero .inner{
    top:16px!important;
  }

  /* Registration opening date stays on one line on mobile. */
  body.rebuild.page-registration .registration-opening-date{
    white-space:nowrap!important;
    font-size:calc(var(--nc4k-mobile-long-copy-size) * .92)!important;
    line-height:1.18!important;
  }
}


/* =========================================================
   V35 — MOBILE ROUTE HERO FINAL ALIGNMENT
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-theroute .page-hero .inner{
    top:66px!important;
  }
}


/* =========================================================
   V36 — MOBILE INTERNAL HERO FINAL POSITION
   All internal pages share the same vertical position.
   ========================================================= */
@media (max-width:767px){
  body.rebuild:not(.home-page) .page-hero .inner{
    top:166px!important;
  }
}


/* =========================================================
   V39 — MOBILE INTERNAL HERO REAL FINAL FIX
   Explicit page selectors, 150px higher than V36.
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-theroute .page-hero .inner,
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    top:16px!important;
  }
}


/* =========================================================
   V40 — MOBILE INTERNAL HERO FINAL REPOSITION
   Standard internal pages back to V36 position.
   The Route deliberately sits 150px lower than the others.
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    top:166px!important;
  }

  body.rebuild.page-theroute .page-hero .inner{
    top:316px!important;
  }
}


/* =========================================================
   V41 — MEDIA CENTER MOBILE HERO POSITION
   Lift Media Center only; FAQ/Registration/Route unchanged.
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-mediacenter .page-hero .inner{
    top:90px!important;
  }
}


/* =========================================================
   V42 — MOBILE HERO TUNING
   Media/FAQ/Registration aligned at 166px.
   The Route slightly lower, but kept safely inside the image.
   ========================================================= */
@media (max-width:767px){
  body.rebuild.page-mediacenter .page-hero .inner,
  body.rebuild.page-faq .page-hero .inner,
  body.rebuild.page-registration .page-hero .inner{
    top:166px!important;
  }

  body.rebuild.page-theroute .page-hero .inner{
    top:200px!important;
  }
}



/* V49 — canonical CTA typography + guide layout (mobile) */
@media (max-width:767px){
  .nc4k-brevo-submit,
  .btn.primary,
  .home-guide-jump .nc4k-brevo-submit{
    font-size:20px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  body.home-page .home-guide-intro .wrap{
    width:calc(100% - 38px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.home-page .home-guide-jump{
    width:min(100%,380px)!important;
    margin:18px auto 0!important;
  }
  body.home-page .home-guide-final .photo{
    display:none!important;
  }
}


/* V50 — HOME GUIDE COPY: keep mobile aligned with Home long text */
@media (max-width:767px){
  body.home-page .home-guide-intro .nc4k-form-copy,
  body.home-page .home-guide-final .nc4k-form-copy{
    font-family:"Barlow Condensed",Arial,sans-serif!important;
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:var(--nc4k-mobile-long-copy-line)!important;
    font-weight:400!important;
    letter-spacing:normal!important;
  }
}


/* V51 — canonical CTA / guide copy (mobile) */
@media (max-width:767px){
  body.rebuild .nc4k-brevo .nc4k-brevo-submit,
  body.rebuild .btn.primary{
    font-size:20px!important;
    font-weight:700!important;
  }
  body.home-page .home-guide-intro .nc4k-form-copy.home-long-copy,
  body.home-page .home-guide-final .nc4k-form-copy.home-long-copy{
    font-size:var(--nc4k-mobile-long-copy-size)!important;
    line-height:var(--nc4k-mobile-long-copy-line)!important;
    font-weight:400!important;
  }
}


/* V53 — keep Home final guide left-aligned and opt-in dark in this viewport */
body.home-page .home-guide-final .copy.dark,
body.home-page .home-guide-final .nc4k-form-kicker,
body.home-page .home-guide-final .nc4k-form-title,
body.home-page .home-guide-final .nc4k-form-copy,
body.home-page .home-guide-final .nc4k-brevo,
body.home-page .home-guide-final .nc4k-brevo-form,
body.home-page .home-guide-final .nc4k-brevo-optin{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.home-page .home-guide-final .nc4k-brevo-optin,
body.home-page .home-guide-final .nc4k-brevo-optin span,
body.home-page .home-guide-final .nc4k-brevo-optin .nc4k-optin-copy,
body.home-page .home-guide-final .nc4k-brevo-optin .nc4k-optin-copy span,
body.home-page .home-guide-final .nc4k-brevo-optin a{
  color:#123b52!important;
}

body.home-page .home-guide-final .nc4k-brevo-submit{
  margin-left:0!important;
  margin-right:0!important;
}


/* V54 — Home final guide, mobile: centered like the rest of the Home */
@media (max-width:767px){
  body.home-page .home-guide-final .copy.dark,
  body.home-page .home-guide-final .nc4k-form-kicker,
  body.home-page .home-guide-final .nc4k-form-title,
  body.home-page .home-guide-final .nc4k-form-copy{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-guide-final .nc4k-brevo{
    width:84%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-self:center!important;
  }

  body.home-page .home-guide-final .nc4k-brevo-form{
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
  }

  body.home-page .home-guide-final .nc4k-brevo-email,
  body.home-page .home-guide-final .nc4k-brevo-submit{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-guide-final .nc4k-brevo-optin{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.home-page .home-guide-final .nc4k-brevo-optin span,
  body.home-page .home-guide-final .nc4k-brevo-optin a{
    color:#123b52!important;
  }
}


/* V55 — Home final guide mobile: center kicker + title */
@media (max-width:767px){
  body.home-page .home-guide-final p.nc4k-form-kicker.nc4k-form-kicker--gold,
  body.home-page .home-guide-final h2.nc4k-form-title{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-align-last:center!important;
  }
}
