/* Mobile composition from Figma 1:489; phone-only portrait video at this breakpoint. */
.mobile-only{display:block}span.mobile-only{display:inline}.mobile-break{display:initial}.desktop-only,.desktop-break{display:none!important}
.wrap{width:calc(100% - 40px);max-width:560px}
.hero{aspect-ratio:440/957}.hero-speedmark{top:4.7%}.hero-artura{top:50%;transform:translate(-50%,-50%)}.hero-mclaren{bottom:2.3%}
.opening:before{inset:0 0 auto;height:1687px;background:linear-gradient(to bottom,transparent 76.76%,#000),url('lp26-mobile-glow.webp') calc(50% - 25px) -316px/1771px 3174px no-repeat}
.intro{padding-top:119px;width:100%}.intro h1{font-size:25px;line-height:33px;width:calc(100% - 68px)}
.intro-sub{font-size:20px;line-height:28px;letter-spacing:0;margin-top:18px}
.intro-date{font-size:18px;line-height:25px;letter-spacing:0;margin-top:11px}.intro-date+.intro-date{margin-top:7px}
.divider{margin:62px auto 61px;transform:scaleY(.78);transform-origin:top;margin-bottom:50px}
.first-colour{font-size:22px;line-height:30px;letter-spacing:0}
.intro-copy{font-size:19px;line-height:28px;margin-top:13px}
.closing-divider{margin-top:54px;margin-bottom:34px}
.program{padding-bottom:23px}.section-title{height:119px;padding:16px 0 15px}
.section-title [lang=en]{font-size:23px;line-height:27px;letter-spacing:4.6px;margin-bottom:8px}
.section-title span{font-size:18px;line-height:25px;letter-spacing:0}
.program-grid{grid-template-columns:1fr;gap:17px;margin-top:17px}
.program article{min-height:295px;padding:26px 16px 18px 26px}.program article:nth-child(2){min-height:290px}
.program article:nth-child(2){padding-left:27px;padding-right:28px}.program article:nth-child(3){padding-left:30px;padding-right:27px}
.number{font-size:70px;line-height:70px;margin-bottom:13px}
.program h3{font-size:20px;line-height:28px;letter-spacing:0;font-weight:700;min-height:56px}
.program article:nth-child(2) h3{font-size:20px;line-height:28px;min-height:78px;letter-spacing:0;max-width:340px}
.program p{font-family:CampaignNoto,sans-serif;font-size:19px;line-height:28px;letter-spacing:0;font-weight:400;margin-top:21px}
.program article:first-child p{font-size:18px}.program article:nth-child(2) p{margin-top:23px}
.overview{display:block;width:100%;max-width:none}.overview-photo{height:auto;aspect-ratio:440/453;margin:0}
.overview-photo img{width:235.35%;height:144.1%;left:-77.77%;top:-37.23%}
.overview-copy{width:calc(100% - 40px);max-width:560px;margin:27px auto 0;font-size:19px;line-height:30px}
.overview-copy>.orange-heading{font-size:25px;line-height:28px;margin-bottom:23px;letter-spacing:2.5px}
.overview h3,.application h3{font-size:19px;line-height:28px;margin-bottom:6px}.event-location h4{font-size:19px;line-height:28px}
.event-location p{line-height:30px}.event-location+.event-location{margin-top:17px}
.overview-detail{margin-top:22px}.overview-detail h3{margin-bottom:0}.overview-detail p{font-size:19px;line-height:30px;font-weight:350}
.overview-detail+.overview-detail{margin-top:25px}
.application{display:block;margin-top:41px;font-size:19px;line-height:30px}
.application .orange-heading{font-size:25px;line-height:28px;margin-bottom:13px}.application h3{margin-top:10px;margin-bottom:6px}.application-photo{display:none}
.owners{padding-top:44px;padding-bottom:55px}.owners h2{text-align:center;font-size:22px;line-height:28px;letter-spacing:2.2px}.owners h2 span{display:block}
.quote-carousel{--quote-width:308px;--quote-gap:16px;margin-top:14px}
.quotes blockquote{font-family:CampaignLatin,CampaignNoto,sans-serif;min-height:324px;padding:30px 19px 64px;opacity:.65;transform:scale(.91);transform-origin:center}
.quotes blockquote.is-current{transform:none;opacity:1}.quotes h3{font-size:20px;line-height:30px;letter-spacing:0;margin-bottom:25px}.quotes p{font-size:19px;line-height:28px;letter-spacing:1.9px}
.quote-controls{height:324px}.quote-controls button{width:36px;height:68px;padding:4px 7px}.quote-prev{left:0}.quote-next{right:0}.quote-chevron{width:20px;height:60px;background-size:1033px 60px}
.quote-dots{position:relative;width:180px;margin:-64px auto 0;gap:2px;height:64px;align-items:center}.quote-dot{width:28px;height:44px}.quote-dot span{width:12px;height:12px}
.cta{margin-top:69px}.reserve{width:min(100%,300px);height:50px;font-size:22px;border-radius:4px}
.cta p{font-size:19px;line-height:25px;letter-spacing:1.9px;margin-top:6px}
.feature-artura{aspect-ratio:440/784;background:#000}.feature-background{opacity:.4}
.feature-background img{width:454.6%;height:170.1%;left:-130.76%;top:-15.61%}
.feature-photo{width:90.6818%;height:19.0051%;left:4.7727%;top:40.4337%}
.feature-photo img{width:99.97%;height:178.1%;left:.03%;top:-46.84%}
.feature-speedmark{top:2.93%;transform:translateX(-50%) scale(.783)}.feature-logo{bottom:1.4%}
.plans-background:before{display:none}.plans{width:100%;max-width:none;padding-top:78px}.plans>h2{font-size:30px;line-height:40px;height:104px;letter-spacing:6px;margin-bottom:78px}.plans>h2>span{font-size:60px;line-height:64px}
.plan{padding-bottom:30px}.plan header{height:100px}.plan h3{font-size:30px;line-height:35px;letter-spacing:6px}
.plan-description{font-size:20px;line-height:28px;letter-spacing:1.6px;margin:36px 20px 0}
.price{height:56px;width:400px;margin-top:7px;font-size:16px}.price h4{width:66px;font-size:16px}.price p{padding:0 6px 0 9px;gap:5px}
.price-notes{text-align:left;font-size:14px;line-height:20px;margin:8px 20px 0}
.itinerary{max-width:none;margin:50px 12px 47px}.itinerary ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:10px}
.itinerary li{font-size:16px;line-height:23px;font-weight:500;gap:6px}.itinerary li>span{min-height:46px;white-space:nowrap;max-width:none}
.itinerary li:not(:nth-child(3n)):after{content:'';position:absolute;left:calc(100% - 14px);top:22px;width:27px;height:15px;background:url('lp26-mobile-premium-arrow.svg') center no-repeat}
.itinerary li:nth-child(4)>span{max-width:138px}
.location-title{font-size:40px;line-height:57px;letter-spacing:16px;gap:15px}.location-title span{padding-left:16px}.location-date{font-size:19px;line-height:28px;margin-top:0}
.schedule{flex-direction:column;margin-top:30px;padding:0;gap:0}
.schedule p{height:38px;font-size:20px;flex:none}
/* Keep the 22px step spacing, with 5px of clear space below every arrowhead. */
.schedule-arrow{width:12px;height:22px}.schedule-arrow:before{inset:3px auto auto -2.5px;width:17px;height:11px;transform:rotate(-90deg)}
.hotel{display:block;margin:43px 20px 0}.hotel-photos{aspect-ratio:400/291}
.hotel-coast{width:54.52%}.hotel-coast img{width:129.31%;height:129.57%;left:-22.47%;top:-11.34%}
.hotel-room{width:50.742%;height:48.794%}.hotel-room img{width:117.26%;height:113.4%;left:-8.88%;top:-5.64%}
.hotel-pool img{width:109.38%;height:112.09%;left:-4.94%;top:-4.0%}
.hotel-copy{padding:22px 18px 31px}.hotel-copy h5{font-size:20px;line-height:27px;height:35px;letter-spacing:2.2px}
.hotel-name{font-size:30px;line-height:56px;margin-top:14px}
.hotel-copy p:last-child{font-size:19px;line-height:28px;font-weight:500;max-width:none}
.plan .cta{margin:34px 20px 0}.plan .cta p{font-size:19px;line-height:25px;letter-spacing:1.9px;margin-top:10px}
.premium-hakone{margin-top:65px}.coming-soon{font-size:40px;line-height:48px;margin-top:83px}
.plan-policy{font-size:16px;line-height:24px;margin:99px 25px 0}.plan-policy h4{font-size:16px;line-height:24px;margin-top:4px}
.day{margin-top:0;padding-bottom:27px}.day .plan-description{font-size:20px;line-height:28px;margin-top:38px}
.day-itinerary{margin:45px 12px 43px}.day-itinerary ol{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:13px}
.day-itinerary li{grid-column:span 2;font-size:16px;letter-spacing:0;gap:6px}
.day-itinerary li:nth-child(4){grid-column:2/span 2}.day-itinerary li:nth-child(5){grid-column:4/span 2}
.day-itinerary li:nth-child(5):after{display:none}.day .day-itinerary li:after{background-image:url('lp26-mobile-day-arrow.svg')}
.day .location-title{letter-spacing:14px}.day .location-date{line-height:27px}
.day .schedule{margin-top:35px}.schedule-note{font-size:15px;font-weight:500;line-height:22px;letter-spacing:-.3px;width:calc(100% - 40px);margin-top:20px;text-align:left;max-width:none}
.day .cta{margin-top:24px}.day .reserve{width:min(100%,291px);height:48.5px}.day .cta p{font-size:19px;line-height:28px;letter-spacing:1.9px;margin-top:5.5px}
.day-location+.day-location{margin-top:46px}.day-location+.day-location .location-title{letter-spacing:25.2px}.day-location+.day-location .schedule{margin-top:28px}
.day-location+.day-location .schedule-note{margin-top:22px;letter-spacing:0}.day-location+.day-location .cta{margin-top:25px}
.day-disclaimer{font-size:15px;line-height:23px;min-height:54px;margin:46px 28px 0;width:min(325px,calc(100% - 56px))}
.registration{margin-top:55px;padding:28px 20px}
.registration .reserve{font-size:17px;letter-spacing:3px;min-height:50px}
.registration h2{font-size:25px;letter-spacing:1px}.eyebrow{font-size:11px;letter-spacing:1.3px}.form-grid{grid-template-columns:1fr;gap:20px}.field.full{grid-column:auto}.field label{font-size:14px}
.terms{width:100%;max-width:none;margin-top:68px;font-size:14px;line-height:20px}
.terms summary{font-size:18px;line-height:24px;letter-spacing:9px;padding:20px 35px 15px 20px}.terms-content{padding:0 20px 30px}
.footer{padding-top:55px;padding-bottom:73px}.socials{gap:42px;margin-bottom:42px}.socials img{width:47px;height:47px}
@media(max-width:420px){
 .intro-sub{font-size:18px}.intro h1{font-size:22px}.first-colour{font-size:20px}.intro-copy{font-size:17px}
 .section-title [lang=en]{font-size:21px}.section-title span{font-size:15px}
 .program article{padding-inline:23px}.program h3,.program article:nth-child(2) h3{font-size:18px}.program p{font-size:17px}.program article:first-child p{font-size:17px}
 .overview-copy,.application{font-size:17px}.overview-detail p{font-size:17px}.overview-copy>.orange-heading{font-size:23px}
 .quote-carousel{--quote-width:calc(100vw - 112px)}.quotes blockquote{padding-inline:17px}.quotes h3{font-size:17px}.quotes p{font-size:17px;letter-spacing:1px}
 .plan h3{font-size:26px;letter-spacing:4px}.plan-description{font-size:17px;letter-spacing:.8px}
 .price{font-size:13px}.price h4{width:56px;font-size:14px}.price-notes{font-size:12px}
 .itinerary li{font-size:13px}.itinerary li:nth-child(4)>span{max-width:114px}
 .hotel-name{font-size:27px}.hotel-copy p:last-child{font-size:17px}
 .schedule-note{font-size:13px}.owners h2{font-size:20px;letter-spacing:1.5px}.socials{gap:32px}
}
