/* Image-led campaign scenes. Existing navigation, forms and tracking remain intact. */
.visual-page .poster-scene{padding:0;overflow:hidden;isolation:isolate}
.poster-heading{position:relative;z-index:2;width:calc(100% - 40px);max-width:1080px;margin:0 auto;padding-top:48px;text-align:center}
.poster-heading h2{font-size:32px;line-height:1.4;font-weight:900}
.poster-kicker{font-size:12px;font-weight:700;margin-bottom:14px}
.poster-subcopy{font-size:17px;margin-top:16px}
.poster-image{display:block;width:100%;height:auto}
.visual-page .hero-eyebrow{margin-bottom:20px}
.visual-page .proof-section{background:#102136}
.visual-page .proof-section .poster-kicker{color:var(--yellow)}
.visual-page .calendar-poster{border:0;padding:0;position:relative;max-width:570px;margin:0 auto;aspect-ratio:1122/1402}
.calendar-poster>.poster-image{mask-image:linear-gradient(0deg,transparent,#000 8%,#000 94%,transparent)}
.calendar-first,.calendar-last{position:absolute;display:block;font-size:14px;line-height:1.1;color:#fff;z-index:1}
.calendar-first{top:5%;left:4%}.calendar-last{top:49%;right:7%;text-align:right}
.calendar-first b,.calendar-last b{font-size:40px;display:block;font-weight:900}
.calendar-last{color:var(--yellow)}.calendar-last small{font-size:17px;display:block;margin-top:8px}
.calendar-reward{position:absolute;left:4%;right:4%;bottom:6%;text-align:center;z-index:2}
.calendar-reward>span{display:block;font-size:20px;font-weight:700;margin-bottom:6px}
.calendar-reward>strong{display:block;white-space:nowrap;font-size:54px;line-height:1.25;font-weight:900;color:var(--yellow)}
.calendar-reward strong small{font-size:20px;margin-left:2px}
.poster-footnote{padding:0 20px 40px;font-size:14px;line-height:1.7;color:#ffffffe0;text-align:center}
.visual-page .training-section{background:#14202d;min-height:650px;color:#fff}
.training-backdrop{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:48% bottom;z-index:-2;transform:scale(1.25);transform-origin:center bottom}
.visual-page .training-section::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#091624aa 0%,#09162411 40%,#09162499 100%)}
.visual-page .training-heading{display:block;text-align:left;margin-bottom:0}
.training-heading .poster-kicker{color:#fff}
.field-album{position:relative;width:100%;max-width:1080px;margin:auto;padding:150px 20px 70px}
.album-word{position:absolute;top:22px;left:-8px;font-size:89px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px #ffffffc0;white-space:nowrap}
.visual-page .training-photo{position:relative;max-width:none;margin:0 0 0 3%;padding:10px 10px 0;background:#fff;color:var(--ink);transform:rotate(-5deg);box-shadow:0 20px 35px #0005}
.visual-page .training-image-button{aspect-ratio:1.8}
.visual-page .training-photo figcaption{font-size:13px;padding:15px 2px;line-height:1.5}
.visual-page .training-photo figcaption>span{font-size:10px}
.album-mark{position:absolute;bottom:20px;right:22px;font-size:12px;font-weight:700;line-height:1.4;transform:rotate(8deg);border-block:1px solid #ffffffaa;padding:7px}
.visual-page .beginner-section{background:#fcf1f4}
.visual-page .journey-poster{position:relative;width:100%;max-width:580px;margin:0 auto;aspect-ratio:1122/1402}
.journey-poster>.poster-image{mask-image:linear-gradient(0deg,transparent,#000 6%,#000 95%,transparent)}
.path-label{position:absolute;line-height:1.3;color:var(--wine)}
.path-label>b{display:block;font-size:25px;font-weight:900}.path-label>small{display:block;font-size:14px;font-weight:600;margin:5px 0}
.path-start{left:8%;bottom:30%}.path-talk{left:9%;bottom:53%}.path-practice{left:29%;top:19%}.path-finish{right:32%;top:1%;text-align:right}
.visual-page .choice-section{background:#820b32;text-align:center}
.choice-no{display:block;font-size:82px;line-height:1.2;color:var(--yellow);font-weight:900;margin-top:12px}
.choice-art{position:relative;width:100%;max-width:600px;margin:-50px auto -52px;z-index:-1}
.choice-art .poster-image{mask-image:linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent)}
.visual-page .choice-steps{position:relative;margin:0;padding:0 20px 42px;gap:36px;font-size:23px;align-items:baseline}
.visual-page .choice-steps li:last-child{font-size:38px}.visual-page .choice-steps li+li::before{left:-29px}
.visual-page .why-section{background:#faf8f4}
.meeting-poster{position:relative;max-width:590px;margin:-8px auto -20px;aspect-ratio:1122/1402}
.meeting-poster>.poster-image{mask-image:linear-gradient(0deg,transparent,#000 10%,#000 88%,transparent)}
.meeting-company,.meeting-learner{position:absolute;font-size:16px;font-weight:800;color:var(--wine);top:21%;line-height:1.4}
.meeting-company{left:3%}.meeting-learner{right:3%}
.meeting-days{position:absolute;top:35%;left:39%;width:23%;text-align:center;color:var(--wine);font-size:14px;line-height:1.2}
.meeting-days b{display:block;font-size:48px;font-weight:900}
.why-purpose{font-size:16px;text-align:center;line-height:1.85;padding:0 16px 44px;position:relative}
.visual-page .conditions-section{background:#12243b;color:#fff}
.visual-page .conditions-layout{display:block;width:100%;max-width:none;margin:0;gap:0}
.program-pass{position:relative;width:100%;max-width:540px;margin:14px auto 0;aspect-ratio:3/4;color:var(--ink)}
.program-pass>.poster-image{mask-image:linear-gradient(0deg,transparent,#000 8%,#000 94%,transparent)}
.pass-brand{position:absolute;top:10.5%;left:16%;right:16%;color:#fff;font-size:23px;font-weight:900;line-height:1.4}
.pass-brand>span{display:block;font-size:12px;font-weight:500}
.pass-details{position:absolute;left:17%;right:17%;top:25%;display:flex;flex-direction:column;gap:16px}
.pass-details>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pass-details dt{font-size:14px;white-space:nowrap;color:#54616b}.pass-details dd{font-size:20px;font-weight:800;line-height:1.3;text-align:right;white-space:nowrap}
.pass-details dd small{display:block;font-size:13px;color:#54616b;font-weight:400;margin-top:5px}
.pass-details .pass-days dd{font-size:21px}.pass-days strong{font-size:70px;line-height:1;font-weight:900}
.pass-reward{position:absolute;top:75%;left:17%;right:17%;text-align:center;line-height:1.3}
.pass-reward>span{display:block;font-size:13px}.pass-reward>strong{display:block;font-size:52px;font-weight:900;color:var(--pink);line-height:1.1}.pass-reward strong small{font-size:25px}
.pass-eligibility{font-size:14px;text-align:center;color:#ffffffe0;line-height:1.7;padding:4px 20px 38px}
.visual-page .ending-poster{position:relative;isolation:isolate;overflow:hidden;padding:34px 0 40px;margin:0;background:#860d39;text-align:center}
.ending-ribbon{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:luminosity;opacity:.18}
.ending-copy{position:relative;width:calc(100% - 40px);max-width:600px;margin:auto}
.ending-days{display:block;font-size:26px;font-weight:700;line-height:1}.ending-days b{font-size:150px;font-weight:900}
.ending-arrow{display:block;line-height:1;font-size:46px;margin:6px 0 18px;color:#ffffffc9}
.ending-amount{display:block;font-size:56px;line-height:1.1;font-weight:900;color:var(--yellow);white-space:nowrap}
.ending-amount>span{font-size:22px}.ending-condition{font-size:14px;margin:14px 0;color:#ffffffe0}
.visual-page .final-action{margin-top:26px}.visual-page .final-action h2{font-size:25px;margin-bottom:18px}
.visual-page .final-action p{font-size:14px}.visual-page .final-action .primary{background:#fff;color:var(--wine);box-shadow:0 8px 22px #0002}.visual-page .final-action .primary img{filter:none}.visual-page .final-action .primary:hover{background:var(--yellow)}
.poster-scene .poster-image{mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
@media(max-width:359px){.poster-heading h2{font-size:28px}.calendar-reward>strong{font-size:45px}.calendar-last small{font-size:15px}.pass-details{gap:12px}.pass-details dd{font-size:17px}.pass-days strong{font-size:54px}.pass-reward{top:74%}.pass-reward>strong{font-size:48px}.pass-reward>span{font-size:12px}.pass-brand{font-size:22px;top:9.5%}.choice-no{font-size:72px}.path-label>b{font-size:22px}.path-label>small{font-size:12px}.why-purpose{font-size:14px}.ending-amount{font-size:46px}}
@media(min-width:761px){
 .poster-heading{padding-top:64px}.poster-heading h2{font-size:44px}.poster-kicker{font-size:14px}.poster-subcopy{font-size:21px}
 .visual-page .proof-section{min-height:790px}.proof-section>.poster-heading{position:absolute;top:80px;left:max(40px,calc((100% - 1120px)/2));width:440px;text-align:left;padding:0}
 .visual-page .calendar-poster{width:740px;max-width:none;margin:-10px max(20px,calc((100% - 1260px)/2)) 0 auto}
 .calendar-first{left:7%;top:9%}.calendar-first b,.calendar-last b{font-size:52px}.calendar-last{top:49%;right:9%}.calendar-last small{font-size:24px}.calendar-reward{bottom:10%}.calendar-reward>span{font-size:26px}.calendar-reward>strong{font-size:86px}.calendar-reward strong small{font-size:30px}
 .proof-section>.poster-footnote{position:absolute;bottom:70px;left:max(40px,calc((100% - 1120px)/2));text-align:left;padding:0;font-size:16px}
 .visual-page .training-section{min-height:850px}.visual-page .training-heading{padding-top:65px;max-width:1120px}.training-backdrop{object-position:center 64%}.field-album{max-width:1180px;padding:160px 30px 60px 270px}.album-word{font-size:180px;top:0;left:0}.visual-page .training-photo{max-width:800px;margin:0;transform:rotate(-4deg);padding:18px 18px 0}.visual-page .training-image-button{aspect-ratio:1.85}.visual-page .training-photo figcaption{font-size:17px;padding:20px 5px}.visual-page .training-photo figcaption>span{font-size:13px}.album-mark{right:auto;left:70px;bottom:100px;font-size:19px}
 .visual-page .beginner-section{min-height:850px}.beginner-section>.poster-heading{position:absolute;top:60px;left:max(40px,calc((100% - 1100px)/2));width:440px;text-align:left}.visual-page .journey-poster{width:680px;max-width:none;margin:0 max(24px,calc((100% - 1150px)/2)) 0 auto}.path-label>b{font-size:35px}.path-label>small{font-size:18px}.path-finish{top:5%}
 .visual-page .choice-section{min-height:780px}.choice-section>.poster-heading{position:absolute;top:90px;left:max(40px,calc((100% - 1120px)/2));width:470px;padding:0;text-align:left}.choice-no{font-size:128px;margin-top:24px}.choice-art{width:680px;max-width:none;margin:0 max(20px,calc((100% - 1230px)/2)) 0 auto}.visual-page .choice-steps{position:absolute;left:max(40px,calc((100% - 1120px)/2));bottom:100px;padding:0;gap:52px;font-size:26px}.visual-page .choice-steps li:last-child{font-size:48px}.visual-page .choice-steps li+li::before{left:-34px}
 .visual-page .why-section{min-height:820px}.why-section>.poster-heading{position:absolute;top:55px;left:max(40px,calc((100% - 1120px)/2));width:450px;padding:0;text-align:left}.meeting-poster{width:700px;max-width:none;margin:-40px max(20px,calc((100% - 1260px)/2)) -10px auto}.meeting-company,.meeting-learner{font-size:21px}.meeting-days{font-size:19px}.meeting-days b{font-size:72px}.why-purpose{position:absolute;left:max(40px,calc((100% - 1120px)/2));bottom:100px;padding:0;text-align:left;font-size:18px;line-height:1.9}
 .visual-page .conditions-layout{position:relative;min-height:830px}.conditions-layout>.poster-heading{position:absolute;top:95px;left:max(40px,calc((100% - 1050px)/2));width:400px;padding:0;text-align:left}.program-pass{max-width:570px;margin:0 max(30px,calc((100% - 1100px)/2)) 0 auto}.pass-brand{font-size:36px}.pass-brand>span{font-size:16px}.pass-details{gap:25px}.pass-details dt{font-size:18px}.pass-details dd{font-size:29px}.pass-details dd small{font-size:17px}.pass-days strong{font-size:96px}.pass-reward>strong{font-size:80px}.pass-reward strong small{font-size:34px}.pass-reward>span{font-size:17px}.pass-eligibility{position:absolute;left:max(40px,calc((100% - 1050px)/2));bottom:200px;padding:0;text-align:left;font-size:17px}
 .visual-page .ending-poster{padding:60px 0 70px}.ending-copy{width:calc(100% - 80px);max-width:1100px;display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.ending-days,.ending-arrow,.ending-amount,.ending-condition{grid-column:1}.ending-days b{font-size:190px}.ending-arrow{font-size:50px}.ending-amount{font-size:76px}.ending-amount>span{font-size:25px}.ending-condition{font-size:16px}.visual-page .final-action{grid-column:2;grid-row:1/5;align-self:center;margin:0}.visual-page .final-action h2{font-size:33px}.visual-page .final-action p{font-size:16px}.ending-ribbon{object-position:center 58%;opacity:.2}
}
@media(min-width:761px) and (max-width:1100px){
 .proof-section>.poster-heading,.beginner-section>.poster-heading,.choice-section>.poster-heading,.why-section>.poster-heading,.conditions-layout>.poster-heading{left:28px;width:350px}
 .poster-heading h2{font-size:34px}.visual-page .calendar-poster{width:620px;margin-right:-45px;margin-top:110px}.proof-section>.poster-footnote{left:28px;bottom:40px}.calendar-reward>strong{font-size:72px}
 .visual-page .journey-poster{width:580px;margin-right:-15px;margin-top:100px}.visual-page .beginner-section{min-height:825px}.beginner-section>.poster-heading{top:0}
 .choice-art{width:600px;margin-right:-70px;margin-top:90px}.choice-no{font-size:98px}.visual-page .choice-steps{left:28px;bottom:55px;gap:35px}.visual-page .choice-steps li:last-child{font-size:40px}
 .meeting-poster{width:600px;margin-right:-55px;margin-top:80px}.why-purpose{left:28px;bottom:55px;font-size:16px}.why-section>.poster-heading{top:35px}
 .program-pass{width:500px;margin-right:-15px;margin-top:130px}.conditions-layout>.poster-heading{top:45px}.pass-details{gap:18px}.pass-details dd{font-size:24px}.pass-details dt{font-size:16px}.pass-days strong{font-size:80px}.pass-reward>strong{font-size:66px}.pass-reward>span{font-size:15px}.pass-eligibility{left:28px;bottom:45px;font-size:15px}
 .field-album{padding-left:160px}.album-word{font-size:140px}.album-mark{left:25px}.ending-copy{column-gap:35px}.ending-amount{font-size:53px}.visual-page .final-action h2{font-size:27px}
}
