/* Campaign refresh: four full-height views, retaining the existing animated player. */
:root{--purple:#4c418b;--purple-dark:#403678;--pale:#fbf8ff;--line:#b5aed4}
body[data-view='home'] .site-footer,body[data-view='prizes'] .site-footer{display:none}
body[data-view='prizes'] .site-header .brand{display:none!important}
body[data-view='prizes'] .progress-nav{display:none}

/* The first artboard keeps the paired lamp images and their existing blink. */
.home-view{padding-top:clamp(78px,12vh,124px);padding-bottom:clamp(28px,4vh,40px)}
.home-view>.hero{max-height:136vw}
.campaign-title{line-height:1.32}
.campaign-action{box-shadow:none}

/* New prize artboard: decorative image cards have descriptive image alternatives. */
.prizes-view{background:#fff;color:var(--purple)}
.prizes-layout.container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.9vh,20px);width:min(calc(100% - 2*var(--gutter)),620px);min-height:100%;margin-block:auto;padding:clamp(20px,4vh,42px) 0}
.gift-stamp{display:block;flex:none;width:clamp(115px,19vh,164px);height:auto;aspect-ratio:1266/1256;object-fit:contain;animation:vp-stamp-arrive .8s ease both}
.prizes-heading{text-align:center;direction:rtl}.prizes-heading h1{font-size:clamp(31px,5.7vh,47px);line-height:1.23}.prizes-heading p{max-width:560px;margin:clamp(6px,1.4vh,15px) auto 0;color:var(--ink);font-size:clamp(17px,3.15vh,26px);font-weight:var(--font-bold);line-height:1.44;text-wrap:balance}
.new-prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:clamp(8px,1.4vh,14px);width:min(100%,50vh);height:auto}
.new-prize-card{display:block;min-width:0;min-height:0;overflow:hidden;border-radius:clamp(12px,2.4vw,22px);background:var(--purple);aspect-ratio:1108/958}
.new-prize-card--scooter{grid-column:1/-1;aspect-ratio:2300/956}.new-prize-card img{display:block;width:100%;height:100%;object-fit:fill}
.prizes-action{width:92%;min-height:clamp(47px,7vh,62px);margin-top:clamp(3px,.8vh,10px);background:#f8f2fc;color:var(--purple);font-size:clamp(21px,3.5vh,29px)}.prizes-action:hover{background:#eee5f7;color:var(--purple-dark)}
@keyframes vp-stamp-arrive{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}

/* Form artboard: same three fields and same Gravity Forms submission pipeline. */
body[data-view='register'],body[data-view='register'] .site-header,body[data-view='register'] .site-footer{background:var(--pale)}
.aside-title{color:var(--purple);letter-spacing:0;word-spacing:normal}
.registration-view .privacy-assurance{color:var(--ink)}
.registration-view .input-wrap{border-color:#b4acd4}
.registration-view .input-icon{color:var(--purple)}
.registration-view .route-decoration--register{stroke:var(--purple);opacity:.8}

/* The audio waveform, play/pause, seek and download keep their original CSS/JS. */
.music-heading p{font-weight:var(--font-medium)}
.music-view .media-secondary{display:none}
.music-view .media-layout{display:block}
.music-view .media-primary{display:flex;flex-direction:column}
.music-view .steps-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));direction:ltr;gap:0;margin-top:clamp(9px,1.6vh,18px);border-color:var(--line);border-radius:18px}
.music-view .step-card{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;min-height:clamp(63px,9.2vh,94px);padding:8px 7px;direction:rtl;text-align:right}
.music-view .step-card:nth-child(1),.music-view .step-card:nth-child(2){border-bottom:1px solid var(--line)}
.music-view .step-card:nth-child(1),.music-view .step-card:nth-child(3){border-left:0;border-right:1px solid var(--line)}
.music-view .step-card:nth-child(2){border-left:0}
.music-view .step-card__number{display:block;flex:none;align-self:flex-start;color:var(--ink);font-size:clamp(10px,1.8vh,15px);font-weight:var(--font-black)}
.music-view .step-card__copy{flex:1;min-width:0}.music-view .step-card__copy h3{font-size:clamp(10px,1.75vh,17px);line-height:1.35;color:var(--ink);text-align:right}
.music-view .step-card__action{order:0;flex:none;display:grid;place-items:center;width:clamp(24px,4vh,35px);height:clamp(24px,4vh,35px);padding:0;color:var(--ink)}
.music-view .step-card__action .icon{width:100%;height:100%}.music-view .step-card__at{font:bold clamp(23px,4vh,35px)/1 Arial,sans-serif}
.icon--camera{--icon-url:url('../icons/camera-movie.svg')}
.follow-condition{order:3;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:clamp(36px,5.7vh,55px);margin-top:clamp(10px,1.7vh,18px);padding:7px 10px;border-radius:12px;background:var(--purple);color:#fff;text-align:center;font-size:clamp(11px,1.8vh,17px);font-weight:var(--font-black);line-height:1.35}
.follow-condition .icon{width:clamp(20px,3.2vh,29px);height:clamp(20px,3.2vh,29px);color:#fff}
.music-view .instagram-action{order:4;min-height:clamp(43px,6.5vh,58px);margin-top:clamp(7px,1.4vh,14px);background:#faf3fc;color:var(--purple);font-size:clamp(18px,3.2vh,28px)}.music-view .instagram-action:hover{background:#eee4f6;color:var(--purple-dark)}
.music-route{position:absolute;z-index:0;right:0;bottom:30px;left:0;height:clamp(55px,10vh,90px);pointer-events:none}.music-route .route-decoration--music{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:.72}.music-route__scooter,.music-route__flag{position:absolute;z-index:1;width:clamp(37px,7vh,60px);height:auto;object-fit:contain}.music-route__scooter{bottom:4px;left:6%;transform:rotate(-22deg)}.music-route__flag{top:3px;right:15%}

/* The reference artboards show a single support action on mobile. */
@media(max-width:699px){
  body[data-view='register'] .site-footer .footer-links>a:not([data-info='support']),body[data-view='music'] .site-footer .footer-links>a:not([data-info='support']),body[data-view='register'] .site-footer .footer-links>span,body[data-view='music'] .site-footer .footer-links>span{display:none}
  .site-footer .footer-links a[data-info='support']{color:var(--purple);font-size:clamp(12px,2.1vh,16px);font-weight:var(--font-bold)}
  .site-footer .footer-links a[data-info='support']::after{content:'◫';display:inline-block;margin-inline-start:5px;font:18px/1 Arial,sans-serif}
  .prizes-layout.container{width:min(calc(100% - 2*clamp(32px,10vw,60px)),520px)}
  .music-view .audio-player{min-height:clamp(120px,18vh,165px)}
}
@media(min-width:700px){
  .prizes-layout.container{width:min(calc(100% - 2*var(--gutter)),720px);gap:clamp(13px,2.1vh,24px)}
  .gift-stamp{width:clamp(145px,21vh,205px)}
  .new-prize-grid{width:min(100%,50vh)}
  .music-view .media-layout{width:min(100%,730px)}
  .music-view .step-card{min-height:clamp(85px,12vh,118px);padding:14px 18px}
  .music-view .step-card__copy h3{font-size:clamp(15px,2.4vh,22px)}
}
@media(max-height:690px){
  .prizes-layout.container{gap:7px;padding-block:12px}.gift-stamp{width:clamp(110px,20vh,135px)}.prizes-heading h1{font-size:clamp(26px,5vh,38px)}.prizes-heading p{font-size:clamp(15px,2.7vh,21px);margin-top:3px}.prizes-action{min-height:43px;font-size:20px;margin-top:2px}
  .music-route{opacity:.45}.music-view .step-card{min-height:54px}.follow-condition{min-height:33px}
}
@media(max-height:570px){.music-route{display:none}.music-view .step-card{min-height:45px}.music-view .audio-player{min-height:105px}}
@media(prefers-reduced-motion:reduce){.gift-stamp{animation:none!important}}
.new-prize-grid{direction:ltr}
.music-route__flag{top:auto;right:13%;bottom:-2px;width:clamp(32px,6vh,52px)}
.site-footer .footer-links a[data-info='support']{display:inline-flex;align-items:center;gap:5px}
.site-footer .footer-links a[data-info='support']::after{content:none}
.site-footer .support-icon{width:18px;height:18px;flex:none}

/* Illustrator's 1179pt mobile artboard maps to a 393px CSS viewport. Text sizes below
   use the source type sizes divided by three and scale with device width. */
@media(max-width:699px){
  .campaign-title{font-size:clamp(20px,6.25vw,29px);line-height:1.36}
  .campaign-action{font-size:clamp(16px,5.073vw,23px)}
  .prizes-heading h1{font-size:clamp(34px,12.5vw,54px)}
  .prizes-heading{position:relative;top:clamp(7px,3vw,13px);width:min(79vw,340px)}
  .prizes-heading p{width:100%;max-width:none;font-size:clamp(20px,6.276vw,28px);line-height:1.22;text-align:center;text-wrap:wrap}
  .prizes-action{position:relative;top:clamp(9px,4.07vw,18px);height:clamp(42px,12.72vw,55px);min-height:clamp(42px,12.72vw,55px);padding:0;font-size:clamp(19px,6.276vw,28px)}
  .english-kicker strong{font-size:clamp(22px,6.735vw,31px)}
  .english-kicker span{font-size:clamp(12px,3.766vw,18px)}
  .aside-title{font-size:clamp(23px,7.04vw,32px);line-height:1.32;text-align:justify;text-align-last:center;text-justify:inter-word;text-wrap:normal}
  .input-wrap input{font-size:clamp(11px,3.308vw,15px)}
  .privacy-assurance{font-size:clamp(11px,3.647vw,16px);text-align:justify;text-align-last:right;text-justify:inter-word}
  .registration-submit{font-size:clamp(16px,5.073vw,23px)}
  .music-heading h1{font-size:clamp(24px,7.634vw,35px)}
  .music-heading p{width:min(74vw,330px);font-size:clamp(17px,5.429vw,25px);line-height:1.35;text-align:justify;text-align-last:center;text-justify:inter-word}
  .music-view .step-card__copy h3{font-size:clamp(8px,2.375vw,11px);line-height:1.4;text-align:justify;text-align-last:right;text-justify:inter-word}
  .follow-condition{font-size:clamp(9px,2.884vw,13px);text-align:justify;text-align-last:center;text-justify:inter-word}
  .music-view .instagram-action{font-size:clamp(16px,5.073vw,23px)}
}
@media(max-width:699px) and (min-height:740px){
  .site-header .brand{width:min(49.5vw,220px);margin-top:9vh}
  .home-view>.hero{width:100vw;max-width:100vw;top:14px}
  .home-view>.campaign-layout{transform:translateY(-37px)}
  .campaign-title{line-height:1.2}
  .campaign-action{min-height:clamp(43px,12.72vw,56px);padding-block:0}
  .registration-layout.container{gap:clamp(20px,3vh,30px);padding-top:clamp(55px,10vh,84px)}
  .registration-submit{position:relative;top:-12px;min-height:clamp(45px,12.98vw,56px);padding-block:0}
}

/* Mobile artboard alignment. The audio-player rules above remain untouched. */
.route-decoration--register-mobile,.route-decoration--music-mobile{display:none}
.steps-list .icon--video{--step-icon-image:url('../images/step-video.png')}
.steps-list .icon--instagram{--step-icon-image:url('../images/step-instagram.png')}
.steps-list .icon--screenshot{--step-icon-image:url('../images/step-screenshot.png')}
.music-view .steps-list .step-card__action .icon{mask:none;-webkit-mask:none;background:var(--step-icon-image) center/contain no-repeat}
.music-view .steps-list .step-card__at{font-size:0;background:url('../images/step-mention.png') center/contain no-repeat}
.music-view .step-card__copy .step-card__number{display:inline;font:inherit}
@media(max-width:699px){
  .campaign-action,.prizes-action,.registration-submit,.music-view .instagram-action{background-image:none!important;box-shadow:none;transition:none}
  .campaign-action,.registration-submit{background-color:var(--purple);color:#fff}
  .prizes-action,.music-view .instagram-action{background-color:#f4f1ff;color:var(--purple)}
  .campaign-action:is(:hover,:active),.registration-submit:is(:hover,:active){background-color:var(--purple);color:#fff;transform:none}
  .prizes-action:is(:hover,:active),.music-view .instagram-action:is(:hover,:active){background-color:#f4f1ff;color:var(--purple);transform:none}
  .campaign-action::before,.prizes-action::before,.registration-submit::before,.music-view .instagram-action::before{content:none!important;animation:none!important}
  .campaign-action.is-tapped,.prizes-action.is-tapped,.registration-submit.is-tapped,.music-view .instagram-action.is-tapped{animation:none!important}
  .ambient-enabled body[data-view='home'] .campaign-action,.ambient-enabled body[data-view='music'] .instagram-action{animation:none!important}
  .home-view .campaign-action{width:min(71vw,340px);align-self:center}
  .prizes-layout.container{width:min(78vw,520px)}
  .registration-layout.container{width:min(71vw,360px)}
  .registration-aside .aside-title{width:calc(100% + 18px);max-width:none;margin-right:-9px;margin-left:-9px}
  .registration-aside .road-art{width:calc(100% + 14.5vw);margin-right:-14.5vw;overflow:visible}
  .registration-submit{width:100%;margin-inline:auto}
  body[data-view='register'] .site-footer.container,body[data-view='music'] .site-footer.container{bottom:7vh}
  .registration-view .route-decoration--register,.music-route .route-decoration--music{display:none}
  .registration-view .route-decoration--register-mobile{position:absolute;z-index:0;right:0;bottom:5vh;left:0;display:block;width:100%;height:19vh;margin:0;opacity:.95;stroke:var(--purple);stroke-width:1.4;stroke-dasharray:5 5}
  .music-route{right:0;bottom:7vh;left:0;height:12vh;opacity:1}
  .music-route .route-decoration--music-mobile{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;opacity:1;stroke:var(--purple);stroke-width:1.4;stroke-dasharray:5 5}
  .music-route__scooter{bottom:10px;left:12%;width:clamp(38px,13vw,55px)}
  .music-route__flag{top:clamp(43px,5.7vh,51px);right:15%;bottom:auto;width:clamp(30px,10vw,42px)}
  .music-view .steps-list,.follow-condition,.music-view .instagram-action{width:min(70vw,330px);margin-right:auto;margin-left:auto}
  .music-view .step-card{min-height:clamp(52px,15.5vw,66px);padding:4px 5px;gap:3px}
  .music-view .step-card__action{width:clamp(20px,6vw,26px);height:clamp(20px,6vw,26px)}
  .music-view .step-card__copy h3{line-height:1.25;text-align:right;text-align-last:right}
  .music-view .step-card__at{font-size:clamp(17px,5vw,22px)}
  .follow-condition{min-height:39px;margin-top:9px;padding:5px 7px;border-radius:9px;font-size:clamp(9px,2.55vw,11px)}
  .follow-condition .icon{width:16px;height:16px}
  .music-view .instagram-action{min-height:clamp(45px,12.7vw,55px);margin-top:6px}
}
@media(max-width:699px) and (max-height:739px){
  .registration-view .route-decoration--register-mobile{position:relative;right:auto;bottom:auto;left:auto;display:block;width:100%;height:145px;margin-top:16px}
  .music-view.container{padding-bottom:20px}
  .music-route{position:relative;right:auto;bottom:auto;left:auto;display:block;flex:none;width:calc(100% + 2*var(--gutter));height:102px;margin:14px calc(-1*var(--gutter)) 0;opacity:1}
  .music-route__flag{top:20px}
}

/* Detail crops supplied from the Illustrator artboards. */
@media(max-width:699px){
  .campaign-title span:first-child{font-size:6.53vw;line-height:1.18}
  .campaign-title span:last-child{font-size:7.76vw;line-height:1.18}
  .home-view .campaign-action{font-size:5.073vw;font-weight:var(--font-bold);min-height:12.98vw;margin-top:3.3vw}
  .registration-aside .road-art{height:17.8vw;left:-1.27vw}
  .registration-aside .road-art__chevrons{top:8vw;bottom:auto;left:0;width:10.7vw;height:7.1vw;direction:ltr;letter-spacing:normal}
  .road-art__chevrons img{display:block;width:100%;height:100%}
  .registration-aside .road-art__scooter{top:1.5vw;left:12.2vw;width:17.3vw;height:14vw}
  .registration-aside .road-art>svg{top:9.6vw;right:auto;left:31vw;width:56vw;height:16vw;stroke-width:2.3;stroke-dasharray:11 11}
  .registration-aside .english-kicker strong{font-size:6.735vw}
  .registration-aside .english-kicker span{font-size:3.766vw}
  .music-view .steps-list{aspect-ratio:232/105;height:auto;grid-template-rows:repeat(2,minmax(0,1fr));padding:3.3vw 4.1vw;border-radius:3.3vw}
  .music-view .step-card{min-height:0;padding:2px 4px;gap:3px;align-items:center}
  .music-view .step-card__action{order:-1;width:4.8vw;height:4.8vw;align-self:center}
  .music-view .step-card__copy{direction:rtl}
  .music-view .step-card__copy h3{font-size:2.375vw;line-height:1.18;direction:rtl;text-align:right;text-align-last:right;font-weight:var(--font-black)}
  .music-view .step-card__copy .step-card__number{direction:rtl;unicode-bidi:isolate;white-space:nowrap}
  .music-view .step-card__at{font-size:4.8vw;line-height:1}
  .ambient-enabled body[data-view='music'] .steps-list .step-card__action .icon{animation:none}
}

/* Keep the complete mobile ending together, using the supplied crop's proportions. */
.music-support{display:none}
@media(max-width:699px){
  .music-view .media-layout{margin-bottom:0}
  .music-view .follow-condition{height:10.5vw;min-height:10.5vw;margin-top:9.1vw;padding:0 2vw;gap:1.3vw;background:#50468a;border-radius:3vw;font-size:2.7vw;line-height:1.2;white-space:nowrap}
  .music-view .follow-condition .icon{width:5vw;height:5.3vw;mask:none;-webkit-mask:none;background:url('../images/follow-badge.png') center/contain no-repeat}
  .music-view .instagram-action{height:12.7vw;min-height:12.7vw;margin-top:1.5vw;padding:0;font-size:5.073vw;line-height:1.2}
  .music-view .music-route{position:relative;inset:auto;display:block;flex:none;width:100vw;height:24.8vw;margin:6vw calc(-1*var(--gutter)) 0;overflow:visible}
  .music-view .music-route__scooter{top:4vw;bottom:auto;left:11%;width:14vw;transform:rotate(-42deg)}
  .music-view .music-route__flag{top:0;bottom:auto;right:16%;width:10.8vw}
  .music-view .music-route .route-decoration--music-mobile{height:100%;stroke-width:1.35}
  .music-view .music-support{position:relative;z-index:1;display:flex;flex:none;align-items:center;justify-content:center;gap:1vw;align-self:center;min-height:5.4vw;margin-top:-6.8vw;color:var(--purple);font-size:3.4vw;font-weight:var(--font-bold)}
  .music-support .support-icon{width:3.8vw;height:3.8vw}
  body[data-view='music'] .site-footer.container{display:none}
}

/* Motorcycles and their ground paths share one SVG coordinate system. */
.registration-aside .road-art{overflow:visible}
.registration-aside .road-art>.road-art__scene{position:absolute;top:0;left:0;right:auto;width:100%;height:auto;aspect-ratio:340/100;overflow:visible;fill:none;stroke:var(--purple);stroke-width:1.3;stroke-dasharray:5 5}
.music-route .music-route__scene{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--purple);stroke-width:1.35;stroke-dasharray:5 5}
.road-art__scene image,.music-route__scene image{stroke:none}
@media(max-width:699px){
  .registration-aside .road-art>.road-art__scene{top:1.5vw}
}
@media(min-width:700px){
  .music-view .media-layout{margin-bottom:0}
  .music-view .music-route{position:relative;inset:auto;flex:none;height:110px;margin:20px 0 18px}
}
