@font-face{font-family:"Instrument Sans";src:url("instrument-sans.woff2") format("woff2");font-weight:100 900;font-display:swap}
/* Approved departure-board illustration; all controls and offer terms remain real text. */
.tss-japan-dialog{padding:0;border:2px solid #171813;border-radius:15px;background:#fff9e9;color:#171813;width:min(1120px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;margin:auto;font-family:"Instrument Sans",Arial,sans-serif;overscroll-behavior:contain;box-shadow:5px 6px 0 #17181330}.tss-japan-dialog::backdrop{background:#17181370}.tss-japan-popup{position:relative}.tss-japan-dialog [hidden],.tss-japan-launcher[hidden],.tss-japan-promo[hidden]{display:none!important}.tss-japan-main{display:grid;grid-template-columns:minmax(0,61%) minmax(0,39%);align-items:stretch}.tss-japan-scene{display:flex;align-items:center;min-width:0;overflow:hidden;background:#fff9e9}.tss-japan-scene img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}.tss-japan-form-panel{position:relative;min-width:0;padding:30px 28px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}.tss-japan-logo{width:130px;height:115px;object-fit:contain;margin:0 auto 20px}.tss-japan-dialog h2{font-size:clamp(32px,3.4vw,44px);font-weight:750;line-height:1.08;letter-spacing:-1.4px;margin:0 0 15px;color:#101010}.tss-japan-dialog p{font-size:17px;line-height:1.45;margin:0 0 22px}.tss-japan-dialog label{display:block;font-weight:650;font-size:16px;margin-bottom:7px}.tss-japan-dialog input[type=email]{width:100%;height:52px;background:#fff;border:1.5px solid #9ba3a8;border-radius:6px;padding:12px;font:inherit;color:#171813}.tss-japan-button{display:flex!important;justify-content:center;align-items:center;gap:15px;border:2px solid #171813!important;border-radius:7px!important;background:#ffda32!important;color:#171813!important;font:700 18px/1.25 "Instrument Sans",Arial,sans-serif!important;text-decoration:none!important;padding:15px 12px!important;box-shadow:0 3px 0 #171813!important;cursor:pointer}.tss-japan-button:active,.tss-japan-copy:active{transform:translate(1px,1px);box-shadow:none!important}.tss-japan-dialog form .tss-japan-button{width:100%;margin-top:16px}.tss-japan-button:disabled{opacity:.65;cursor:wait}.tss-japan-dialog .tss-japan-privacy{font-size:12px;text-align:center;margin:19px 0 0}.tss-japan-privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}.tss-japan-close{position:absolute!important;top:8px;right:10px;background:#fff9e9!important;color:#171813!important;border:0!important;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font:400 36px/1 Arial;padding:0!important;z-index:5;cursor:pointer}.tss-japan-hp{position:absolute!important;width:1px!important;height:1px!important;opacity:0;overflow:hidden;pointer-events:none}.tss-japan-footer{display:flex;flex-wrap:wrap;align-items:center;gap:20px;border-top:1.5px solid #171813;padding:17px 26px;background:#fffef8}.tss-japan-footer>img{flex-shrink:0;width:124px;height:65px;object-fit:contain;padding-right:16px;border-right:1px solid #b4b3ad}.tss-japan-footer>p{font-size:19px;font-weight:750;letter-spacing:-.5px;white-space:normal;flex:1;min-width:190px;margin:0;line-height:1.4}.tss-japan-footer mark,.tss-japan-promo mark{display:inline-block;white-space:nowrap;background:#e3cef2;color:#59317c;padding:2px 5px;border-radius:3px;border-bottom:3px solid #b58fc8;line-height:1.2}.tss-japan-footer>small{border-left:1px solid #b4b3ad;padding-left:20px;font-size:12px;line-height:1.5}.tss-japan-ticket{border:2px solid #171813;border-radius:9px;background:#fffef8;text-align:center;padding:16px 14px 12px}.tss-japan-ticket>span{font-size:12px;font-weight:700;display:block}.tss-japan-code{font-size:clamp(24px,2.5vw,34px);font-weight:800;display:block;line-height:1.5;white-space:nowrap;user-select:all;letter-spacing:-.7px}.tss-japan-copy{background:#fffef8;border:1.5px solid #171813;border-radius:5px;font-family:inherit;font-weight:700;font-size:16px;line-height:1.2;padding:10px 20px;margin:10px 0 0;min-height:44px;cursor:pointer;color:#171813}.tss-japan-dialog .tss-japan-instruction{font-size:14px;text-align:center;margin:14px 0}.tss-japan-dialog .tss-japan-success-message{font-size:16px;line-height:1.4} .tss-japan-celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.tss-japan-bowl,.tss-japan-confetti{position:absolute;pointer-events:none;animation:tss-japan-burst var(--duration,2600ms) cubic-bezier(.12,.65,.25,1) both;will-change:transform,opacity}.tss-japan-bowl{object-fit:contain}.tss-japan-confetti{border-radius:1px}.tss-japan-bowl.is-static{width:48px;height:48px;animation:none;will-change:auto}@keyframes tss-japan-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(0)}5%{opacity:1}45%{opacity:1;transform:translate(calc(-50% + var(--mx)),calc(-50% + var(--my))) scale(1) rotate(calc(var(--spin)*.5))}82%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.8) rotate(var(--spin))}}.tss-japan-launcher{position:fixed;bottom:24px;left:22px;z-index:990;background:#ffda32;border:2px solid #171813;border-radius:7px;padding:10px 16px;font:700 15px/1.3 "Instrument Sans",Arial,sans-serif;color:#171813;box-shadow:2px 3px 0 #171813;cursor:pointer}.tss-japan-dialog :is(button,a,input):focus-visible,.tss-japan-promo :is(button,a):focus-visible,.tss-japan-launcher:focus-visible{outline:3px solid #754896;outline-offset:3px}.tss-japan-dialog #tss-japan-error{color:#962c20;font-size:14px;margin:12px 0 0}.tss-japan-promo{max-width:1180px;margin:40px auto 30px;display:grid;grid-template-columns:minmax(220px,35%) 1fr;border:2px solid #171813;background:#fff9e9;color:#171813;border-radius:13px;overflow:hidden;font-family:"Instrument Sans",Arial,sans-serif}.tss-japan-promo>img{width:100%;height:100%;object-fit:cover;max-height:430px}.tss-japan-promo>div{padding:30px 36px;align-self:center}.tss-japan-promo h2{font-size:38px;line-height:1.1;letter-spacing:-1px;margin:0 0 15px;color:#171813}.tss-japan-promo p{margin:0 0 14px;line-height:1.45;font-size:17px}.tss-japan-promo .tss-japan-eyebrow{font-size:13px;font-weight:700}.tss-japan-promo .tss-japan-button{display:inline-flex!important;margin-right:20px}.tss-japan-promo small{display:block;font-size:12px;margin-top:16px;line-height:1.5}.tss-japan-plans{display:inline-block;margin-top:14px;text-decoration:underline;color:#171813!important}.tss-japan-body-lock{overflow:hidden!important}
@media(max-width:950px){.tss-japan-main{grid-template-columns:minmax(0,55%) minmax(0,45%)}.tss-japan-form-panel{padding:40px 22px 25px}.tss-japan-logo{width:95px;height:85px;margin-bottom:15px}.tss-japan-footer{gap:13px;padding:14px 18px}.tss-japan-footer>p{font-size:16px}.tss-japan-footer>img{width:105px;height:55px}.tss-japan-footer>small{font-size:10px;padding-left:13px}.tss-japan-dialog p{font-size:16px}.tss-japan-dialog h2{font-size:34px}.tss-japan-promo{margin-left:16px;margin-right:16px}}
@media(max-width:650px){.tss-japan-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.tss-japan-main{display:block}.tss-japan-scene{height:auto;aspect-ratio:1.12;border-bottom:1.5px solid #171813}.tss-japan-scene img{object-fit:cover;object-position:center bottom}.tss-japan-form-panel{padding:21px 20px}.tss-japan-logo{display:none}.tss-japan-dialog h2{font-size:34px;margin-bottom:10px}.tss-japan-dialog p{font-size:16px;margin-bottom:16px}.tss-japan-dialog input[type=email]{height:47px}.tss-japan-button{font-size:16px!important;padding:12px 10px!important}.tss-japan-dialog form .tss-japan-button{margin-top:12px}.tss-japan-dialog .tss-japan-privacy{margin-top:14px;font-size:11px}.tss-japan-close{width:36px;height:36px;font-size:30px;right:5px;top:5px}.tss-japan-footer{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 10px;padding:12px 14px}.tss-japan-footer>img{width:80px;height:55px;padding-right:10px}.tss-japan-footer>p{min-width:0;white-space:normal;font-size:16px;line-height:1.3}.tss-japan-footer>p>span,.tss-japan-footer mark{display:table}.tss-japan-footer mark{margin:2px 0}.tss-japan-footer>small{grid-column:1/-1;border:0;padding:0;font-size:10px;text-align:center}.tss-japan-footer>small br{display:none}.tss-japan-code{font-size:28px}.tss-japan-launcher{position:static;margin:15px auto;display:block;width:max-content;max-width:calc(100% - 24px);font-size:14px}.tss-japan-promo{grid-template-columns:105px 1fr;margin:24px 12px;align-items:start}.tss-japan-promo>img{height:160px;object-fit:cover;object-position:left bottom}.tss-japan-promo>div{padding:18px 14px}.tss-japan-promo h2{font-size:27px}.tss-japan-promo p{font-size:14px}.tss-japan-promo .tss-japan-button{width:100%;font-size:14px!important}.tss-japan-promo small{font-size:10px}.tss-japan-promo .tss-japan-plans{font-size:13px}.tss-japan-bowl{width:54px;height:54px}.tss-japan-dialog.is-success .tss-japan-scene{aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){.tss-japan-bowl,.tss-japan-confetti{animation:none!important;will-change:auto}.tss-japan-confetti{display:none}}

/* Owner refinement: centred form copy and the approved ticket construction. */
.tss-japan-dialog{overflow:hidden}.tss-japan-popup{overflow-y:auto;max-height:calc(100dvh - 36px);overscroll-behavior:contain}.tss-japan-form-panel>h2,.tss-japan-form-panel #tss-japan-consent,.tss-japan-success-message{text-align:center}.tss-japan-dialog .tss-japan-ticket{position:relative;container-type:inline-size;border:2.5px solid #171813;border-radius:10px;padding:17px 20px 14px;background:#fffef8}.tss-japan-ticket:before,.tss-japan-ticket:after{content:"";position:absolute;top:53px;width:18px;height:25px;background:#fff9e9;border:2.5px solid #171813;border-radius:50%;z-index:1}.tss-japan-ticket:before{left:-12px;clip-path:inset(0 0 0 50%)}.tss-japan-ticket:after{right:-12px;clip-path:inset(0 50% 0 0)}.tss-japan-copy{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-size:18px;font-weight:750;min-height:46px;margin-top:12px;padding:9px 14px}.tss-japan-code:after{content:"";display:block;border-top:2px dashed #c5c4ba;margin-top:10px}.tss-japan-code{font-size:clamp(18px,10cqi,34px);line-height:1.5;padding:4px 0 0}.tss-japan-promo>img{object-fit:contain;background:#fff9e9}.tss-japan-open-error{display:block;font-size:13px;color:#962c20;margin-top:8px}
@media(max-width:650px){.tss-japan-popup{max-height:calc(100dvh - 28px)}.tss-japan-scene,.tss-japan-dialog.is-success .tss-japan-scene{aspect-ratio:1}.tss-japan-scene img{object-fit:contain}.tss-japan-dialog .tss-japan-ticket{padding:15px 16px 12px}.tss-japan-promo{grid-template-columns:110px 1fr}.tss-japan-promo>img{height:auto;aspect-ratio:1;align-self:start}.tss-japan-form-panel>h2{font-size:32px}}
.tss-japan-dialog *, .tss-japan-promo * { box-sizing: border-box; }
.tss-japan-dialog .tss-japan-hp{left:0;top:0;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%)}
@media(min-width:951px) and (max-height:820px){.tss-japan-form-panel{padding:22px}.tss-japan-logo{width:95px;height:85px;margin-bottom:14px}.tss-japan-dialog h2{font-size:36px}.tss-japan-dialog p{font-size:16px}}

/* Keep the entire square campaign artwork visible when the form grows. The popup scrolls vertically on short screens instead of narrowing its content. */

/* Mobile homepage uses the welcome popup; keep its hero free of a launcher, including after resizing. */
@media(max-width:650px){body.home .tss-japan-launcher{display:none!important}}

/* Keep page context around the offer and let the success burst escape the card. */
.tss-japan-dialog{width:min(940px,calc(100vw - 64px));max-height:calc(100dvh - 80px);overflow:visible}
.tss-japan-popup{max-height:calc(100dvh - 84px);border-radius:13px}
.tss-japan-main{grid-template-columns:minmax(0,54%) minmax(0,46%)}
.tss-japan-form-panel{padding:32px 26px 24px}
.tss-japan-logo{width:100px;height:90px;margin-bottom:14px}
.tss-japan-dialog h2{font-size:36px}
.tss-japan-dialog p{font-size:16px}
.tss-japan-footer{padding:14px 22px;gap:16px}
.tss-japan-footer>p{font-size:17px}
.tss-japan-footer>img{width:110px;height:58px}
.tss-japan-footer>small{font-size:11px;padding-left:16px}
@media(max-width:950px){.tss-japan-dialog{width:calc(100vw - 48px)}.tss-japan-form-panel{padding:40px 22px 24px}.tss-japan-dialog h2{font-size:32px}.tss-japan-footer>p{font-size:16px}}
@media(max-width:650px){.tss-japan-dialog{width:calc(100vw - 40px);max-height:calc(100dvh - 72px)}.tss-japan-popup{max-height:calc(100dvh - 76px);border-radius:10px}.tss-japan-scene,.tss-japan-dialog.is-success .tss-japan-scene{height:clamp(180px,28dvh,240px);aspect-ratio:auto;justify-content:center}.tss-japan-scene img{width:auto;max-width:100%;height:100%;object-fit:contain}.tss-japan-form-panel{padding:18px 18px 20px}.tss-japan-dialog h2{font-size:30px}.tss-japan-footer{padding:12px 12px;gap:8px}.tss-japan-footer>img{width:80px;height:50px}.tss-japan-footer>p{font-size:15px}.tss-japan-footer>small{font-size:10px;padding:0}}

/* Mobile art direction: a wide illustration fills the panel without cropping. */
.tss-japan-scene picture{display:block;width:100%;min-width:0}
#tss-japan-consent strong{display:block;font-weight:750;line-height:1.35}
#tss-japan-consent>span{display:block;margin-top:7px;font-size:14px;line-height:1.4}
.tss-japan-footer>small>span{display:block}
@media(max-width:650px){
 .tss-japan-scene,.tss-japan-dialog.is-success .tss-japan-scene{height:auto;aspect-ratio:auto}
 .tss-japan-scene img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:3/2;object-fit:contain;border-radius:0}
 .tss-japan-form-panel{padding:19px 18px 20px}
 .tss-japan-dialog h2{font-size:clamp(25px,6.6vw,30px);line-height:1.12;letter-spacing:-1px;text-wrap:balance}
 .tss-japan-footer{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px}
 .tss-japan-footer>img{width:64px;height:46px;padding:0;border:0}
 .tss-japan-footer>p{font-size:clamp(12px,3.5vw,16px);letter-spacing:-.25px;line-height:1.4}
 .tss-japan-footer>p>span{display:block}
 .tss-japan-footer>p>.tss-japan-unlimited{white-space:nowrap}
 .tss-japan-footer mark{display:inline-block;margin:3px 2px 0 0;padding:2px 4px}
 .tss-japan-footer>small{border-top:1px solid #dedbd0;padding-top:9px;font-size:11px;line-height:1.5}
 .tss-japan-footer>small>span{display:inline-block;margin:0 3px}
}

/* Fit the complete mobile offer into the usable browser height before scrolling.
   Keep overflow available for enlarged text, errors and the on-screen keyboard. */
@media(max-width:650px){
 .tss-japan-dialog{max-height:calc(100svh - 24px)}
 .tss-japan-popup{max-height:calc(100svh - 28px)}
 .tss-japan-form-panel{padding:12px 16px}
 .tss-japan-dialog h2{font-size:clamp(23px,6.2vw,28px);margin-bottom:8px}
 .tss-japan-dialog #tss-japan-consent{margin-bottom:10px}
 #tss-japan-consent strong{line-height:1.25}
 #tss-japan-consent>span{font-size:13px;line-height:1.3;margin-top:4px}
 .tss-japan-dialog label{font-size:14px;line-height:1.25;margin-bottom:4px}
 .tss-japan-dialog input[type=email]{height:44px;font-size:16px;line-height:1.25;padding:10px}
 .tss-japan-dialog .tss-japan-button{min-height:44px;padding:10px!important}
 .tss-japan-dialog form .tss-japan-button{margin-top:10px}
 .tss-japan-dialog .tss-japan-privacy{margin-top:8px;line-height:1.3}
 .tss-japan-dialog .tss-japan-privacy+.tss-japan-privacy{margin-top:5px}
 .tss-japan-footer{padding:8px 12px;gap:5px 10px}
 .tss-japan-dialog .tss-japan-footer>p{margin:0}
 .tss-japan-footer>img{height:36px}
 .tss-japan-footer>small{padding-top:5px;line-height:1.3}
 .tss-japan-dialog .tss-japan-success-message{font-size:14px;margin:0 0 8px}
 .tss-japan-dialog .tss-japan-ticket{padding:10px 14px 9px}
 .tss-japan-copy{margin-top:8px;min-height:44px;font-size:16px;padding:8px}
 .tss-japan-code{line-height:1.3;padding-top:2px}
 .tss-japan-code:after{margin-top:6px}
 .tss-japan-dialog .tss-japan-instruction{margin:8px 0;font-size:12px}
}
@media(max-width:650px) and (max-height:620px){
 .tss-japan-form-panel{padding:9px 14px}
 .tss-japan-dialog h2{font-size:23px;margin-bottom:6px}
 .tss-japan-dialog #tss-japan-consent{font-size:15px;margin-bottom:7px}
 #tss-japan-consent>span{font-size:12px;margin-top:3px}
 .tss-japan-dialog .tss-japan-privacy{margin-top:6px;font-size:10px}
 .tss-japan-dialog .tss-japan-privacy+.tss-japan-privacy{margin-top:3px}
 .tss-japan-footer{padding:6px 10px;gap:4px 8px}
 .tss-japan-footer>small{font-size:10px;padding-top:4px}
 .tss-japan-footer>img{height:32px}
 .tss-japan-dialog .tss-japan-footer>p{font-size:12px;line-height:1.25}
 .tss-japan-footer mark{margin-top:2px}
}
@media(max-width:650px){.tss-japan-dialog{max-width:420px}}
@media(max-width:650px) and (max-height:620px){.tss-japan-dialog{max-width:320px}}
@media(max-width:650px) and (max-height:560px){
 .tss-japan-form-panel{padding-top:7px;padding-bottom:7px}
 .tss-japan-dialog h2{font-size:21px}
 .tss-japan-footer{padding-top:4px;padding-bottom:4px;row-gap:2px}
 .tss-japan-footer>img{height:28px}
}
@media(max-width:650px) and (max-height:620px){
 .tss-japan-dialog .tss-japan-success-message{font-size:12px;line-height:1.3;margin-bottom:5px}
 .tss-japan-dialog .tss-japan-ticket{padding:6px 12px}
 .tss-japan-ticket>span{font-size:10px;line-height:1.2}
 .tss-japan-code{font-size:25px;line-height:1.1}
 .tss-japan-code:after{margin-top:4px}
 .tss-japan-copy{margin-top:5px}
 .tss-japan-dialog .tss-japan-instruction{margin:5px 0;font-size:11px;line-height:1.3}
}
@media(max-width:650px) and (max-height:560px){
 .tss-japan-dialog{max-width:300px}
 .tss-japan-form-panel{padding-top:4px;padding-bottom:4px}
 .tss-japan-dialog #tss-japan-consent{margin-bottom:4px}
 .tss-japan-dialog form .tss-japan-button{margin-top:6px}
}
