body.jp-site{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP","Segoe UI",sans-serif}
html{scroll-padding-top:64px}
body.jp-site section{scroll-margin-top:0}
body.jp-site #app-flow{scroll-margin-top:0}
body.jp-site h1,body.jp-site h2,body.jp-site h3,body.jp-site .section-heading p,body.jp-site .rp-promo-guide-card h2{word-break:keep-all;overflow-wrap:normal}
body.jp-site .site-header .nav{max-width:min(1760px,100%);height:64px;padding:0 clamp(20px,3.2vw,48px);display:grid;grid-template-columns:auto minmax(320px,1fr) auto auto;align-items:center;column-gap:clamp(14px,1.4vw,24px)}
body.jp-site .site-header .nav-links{justify-self:center;gap:clamp(16px,1.4vw,30px)}
body.jp-site .site-header .nav-link{padding:0;font-size:14px;font-weight:750;white-space:nowrap}
body.jp-site .brand small{font-size:13px}
body.jp-site .nav-cta{min-width:136px}
.rp-language-switcher{position:relative;z-index:90;flex:0 0 auto;font-family:inherit}
.rp-locale-static{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;border-radius:999px;color:#111827;font-size:13px;font-weight:850;white-space:nowrap}
.rp-locale-static .rp-language-icon{color:#111827}
.rp-language-switcher summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 8px;border-radius:999px;color:#111827;font-size:13px;font-weight:800;line-height:1;cursor:pointer;outline:none;user-select:none;white-space:nowrap}
.rp-language-switcher summary::-webkit-details-marker{display:none}
.rp-language-summary-main{display:inline-flex;align-items:center;gap:7px}
.rp-language-icon,.rp-language-chevron{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center}
.rp-language-icon svg,.rp-language-chevron svg{display:block;width:100%;height:100%;stroke:currentColor}
.rp-language-chevron{transition:transform .18s ease}
.rp-language-switcher[open] .rp-language-chevron{transform:rotate(180deg)}
.rp-language-menu{position:absolute;right:0;top:calc(100% + 10px);width:230px;max-height:min(70vh,540px);overflow:auto;padding:10px 0;background:#fff;color:#111827;border:1px solid rgba(17,24,39,.12);border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.18)}
.rp-language-switcher:not([open]) .rp-language-menu{display:none}
.rp-language-menu a{display:flex;align-items:center;gap:11px;min-height:38px;padding:8px 18px;text-decoration:none;color:#111827;background:transparent;font-size:15px;font-weight:600;line-height:1.25;white-space:nowrap;text-align:left}
.rp-language-menu a:hover,.rp-language-menu a:focus{background:#f6f7f9}
.rp-language-menu a[aria-current=true]{color:#eb0028;font-weight:850}
.rp-language-code{width:28px;flex:0 0 28px;color:#6b7280;font-size:12px;font-weight:900}
.rp-language-menu a[aria-current=true] .rp-language-code{color:#eb0028}
.rp-language-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rp-language-switcher-mobile{display:none}
.jp-nowrap{white-space:nowrap}
.rp-title-line{display:block}
.jp-hero .hero-bg img{object-position:center center}
.jp-hero .hero-content{padding-bottom:96px}
.jp-hero h1{max-width:690px}
.jp-hero .lead{max-width:640px}
.jp-breadcrumb{max-width:1180px;margin:0 auto;padding:92px 24px 0;color:#667085;font-size:13px;font-weight:750}
.jp-breadcrumb a{text-decoration:none;color:#475467}
.jp-breadcrumb a:hover{color:#eb0028}
.jp-page-main{padding-top:64px}
.jp-page-hero{padding:68px 24px 42px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.jp-page-hero-inner{max-width:1180px;margin:0 auto}
.jp-page-hero h1{max-width:880px;margin:0 0 16px;color:#10141b;font-size:clamp(38px,5vw,68px);line-height:1.03;font-weight:900;letter-spacing:0;text-wrap:balance}
.jp-page-hero p{max-width:760px;margin:0;color:#4b5563;font-size:18px;line-height:1.72;text-wrap:pretty}
.jp-answer{max-width:980px;margin:28px 0 0;padding:20px 22px;border:1px solid rgba(235,0,40,.18);border-radius:18px;background:linear-gradient(135deg,#fff,#fff7f8);box-shadow:0 20px 55px rgba(16,19,32,.08)}
.jp-answer strong{display:block;margin-bottom:8px;color:#10141b;font-size:17px}
.jp-answer p{margin:0;color:#4b5563;font-size:15.5px;line-height:1.68}
.jp-section{max-width:1180px;margin:0 auto;padding:76px 24px}
.jp-section.narrow{max-width:980px}
.jp-section h2{margin:0 0 16px;color:#10141b;font-size:clamp(28px,3vw,42px);line-height:1.14;font-weight:900;letter-spacing:0;text-wrap:balance}
.jp-section h3{margin:26px 0 10px;color:#10141b;font-size:22px;line-height:1.25;font-weight:900}
.jp-section p,.jp-section li{color:#3f4856;font-size:16.5px;line-height:1.78;text-wrap:pretty}
.jp-section ul{margin:16px 0 0;padding-left:20px}
.jp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.jp-info-card{padding:20px;border:1px solid #e6e8ec;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(16,20,27,.055)}
.jp-info-card strong{display:block;margin-bottom:8px;color:#10141b;font-size:17px;line-height:1.32}
.jp-info-card span{display:block;color:#566071;font-size:14px;line-height:1.62}
.jp-table-wrap{overflow:auto;border:1px solid #e6e8ec;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(16,20,27,.05)}
.jp-table{width:100%;border-collapse:collapse;min-width:720px}
.jp-table th,.jp-table td{padding:14px 16px;border-bottom:1px solid #e6e8ec;text-align:left;vertical-align:top}
.jp-table th{background:#101820;color:#fff;font-size:13px;line-height:1.35}
.jp-table td{color:#3f4856;font-size:15px;line-height:1.58}
.jp-table tr:last-child td{border-bottom:0}
.jp-code-inline{font-family:"SFMono-Regular","Roboto Mono",Consolas,monospace;color:#eb0028;font-weight:950;letter-spacing:0}
.jp-faq{background:#101820;color:#fff;padding:86px 24px}
.jp-faq .section-heading h2{color:#fff}
.jp-faq .section-heading p{color:rgba(255,255,255,.72)}
.jp-faq-list{max-width:920px;margin:0 auto;display:grid;gap:10px}
.jp-faq details{border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);padding:18px}
.jp-faq summary{cursor:pointer;color:#fff;font-weight:900;line-height:1.45}
.jp-faq p{margin:12px 0 0;color:rgba(255,255,255,.76);font-size:15.5px;line-height:1.7}
.jp-final-cta{max-width:1180px;margin:0 auto 86px;padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#101820;color:#fff;border-radius:12px}
.jp-final-cta h2{margin:0 0 10px;color:#fff;font-size:30px;line-height:1.2}
.jp-final-cta p{margin:0;color:rgba(255,255,255,.72)}
.jp-final-cta .final-actions{display:flex;gap:12px;flex-wrap:wrap}
.jp-direct-note{font-size:13px!important;color:#6b7280!important}
.premium-code-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:28px auto 0}
.premium-code-strip div{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px;background:rgba(255,255,255,.06)}
.premium-code-strip span{display:block;color:#cbd5e1;font-size:13px;font-weight:850}
.premium-code-strip code{display:block;margin-top:8px;color:#fff;font-family:"SFMono-Regular","Roboto Mono",Consolas,monospace;font-size:clamp(22px,2.4vw,32px);font-weight:950;letter-spacing:0}
.home-seo-count{margin:20px auto 0;max-width:760px;color:#667085;text-align:center;font-size:14px;line-height:1.6}
.jp-promo-on-page{margin-top:28px}
.rp-go-page{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",system-ui,sans-serif}
.rp-go-card .rp-promo-code-grid{margin-top:20px}
.rp-go-card .rp-promo-code-value{font-size:clamp(25px,6vw,34px)}
body.jp-site .benefit-carousel-stage{height:568px!important;overflow:visible}
body.jp-site .benefit-card{top:36px!important}
body.jp-site .benefit-dots{position:relative;z-index:8;width:max-content;max-width:calc(100vw - 48px);margin:34px auto 0!important;padding:10px 14px!important;border:1px solid rgba(17,24,39,.10);border-radius:999px;background:#fff;box-shadow:0 18px 44px rgba(17,24,39,.10)}
body.jp-site .benefit-arrow,body.jp-site .benefit-pause,body.jp-site .benefit-dot{box-shadow:none!important}
body.jp-site .premium-card-section{padding:clamp(82px,6vw,108px) 24px clamp(92px,7vw,124px)!important}
body.jp-site .premium-card-section{overflow:hidden!important;contain:paint!important}
body.jp-site .premium-card-copy{max-width:880px!important;margin-bottom:34px!important}
body.jp-site .premium-card-section h2{max-width:860px;margin-left:auto!important;margin-right:auto!important;font-size:clamp(34px,3.25vw,48px)!important;line-height:1.16!important;text-wrap:balance}
body.jp-site .premium-card-section p:not(.section-kicker){max-width:780px!important;font-size:17px!important;line-height:1.72!important}
body.jp-site .premium-code-strip{max-width:820px!important;gap:16px!important;margin-top:30px!important}
body.jp-site .premium-code-strip div{min-height:132px;padding:22px 24px!important;display:grid;align-content:center}
body.jp-site .premium-code-strip code{font-size:clamp(25px,2.35vw,34px)!important}
body.jp-site .premium-card-actions{justify-content:center!important;gap:14px!important;margin-top:34px!important}
body.jp-site .premium-card-actions .btn{min-width:210px!important;min-height:58px!important;border-radius:999px!important}
body.jp-site .premium-card-visual{width:min(100%,980px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden!important}
body.jp-site .premium-card-visual img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}
body.jp-site .rp-promo-page-shell{max-width:1140px!important;padding-top:clamp(54px,6vw,86px)!important;padding-bottom:clamp(54px,6vw,86px)!important}
body.jp-site .rp-promo-page-hero{grid-template-columns:minmax(0,.94fr) minmax(380px,.78fr)!important;gap:clamp(34px,5vw,64px)!important;align-items:start!important}
body.jp-site .rp-promo-page h1{max-width:660px!important;font-size:clamp(38px,3.45vw,52px)!important;line-height:1.1!important;text-wrap:balance}
body.jp-site .rp-promo-lead{max-width:650px!important;margin-top:20px!important;font-size:clamp(17px,1.25vw,20px)!important;line-height:1.64!important}
body.jp-site .rp-promo-answer{max-width:650px!important;margin-top:30px!important;padding:22px 24px!important;border-radius:18px!important}
body.jp-site .rp-promo-page-hero>.rp-promo-panel{width:100%!important;max-width:470px!important;justify-self:end!important}
body.jp-site .rp-promo-panel{border-radius:24px!important;padding:clamp(24px,2.5vw,32px)!important}
body.jp-site .rp-promo-panel-head{margin-bottom:24px!important}
body.jp-site .rp-promo-panel h2{font-size:clamp(29px,2.45vw,36px)!important;line-height:1.13!important;text-wrap:balance}
body.jp-site .rp-promo-panel p{font-size:15.5px!important;line-height:1.68!important}
body.jp-site .rp-promo-badge{min-height:36px;padding:8px 14px!important;font-size:12.5px!important}
body.jp-site .rp-promo-code-grid{gap:16px!important}
body.jp-site .rp-promo-code-card{gap:12px!important;padding:22px!important;border-radius:18px!important}
body.jp-site .rp-promo-code-value{font-size:clamp(29px,2.35vw,36px)!important;line-height:1.06!important}
body.jp-site .rp-promo-copy{min-height:48px!important;border-radius:12px!important;font-size:16px!important}
body.jp-site .rp-promo-actions{justify-content:center!important;align-items:center!important;gap:14px!important;margin-top:30px!important}
body.jp-site .rp-promo-action{min-width:180px!important;min-height:54px!important;padding:0 24px!important;border-radius:999px!important;font-size:16px!important}
body.jp-site .rp-promo-panel.compact{max-width:1050px!important;margin-left:auto!important;margin-right:auto!important}
body.jp-site .rp-promo-panel.compact .rp-promo-panel-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:18px!important}
body.jp-site .rp-promo-panel.compact .rp-promo-actions{display:flex!important;justify-content:center!important}
body.jp-site .rp-promo-page-hero .rp-promo-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.jp-site .rp-promo-page-hero .rp-promo-action{width:100%!important;min-width:0!important}
body.jp-site .jp-final-cta{margin:clamp(58px,7vw,94px) auto clamp(82px,8vw,124px)!important;padding:38px 42px!important;border-radius:14px!important;box-shadow:0 28px 70px rgba(16,24,32,.16)}
body.jp-site .jp-final-cta .final-actions{justify-content:center!important;align-items:center!important}
body.jp-site .jp-final-cta .btn{min-width:176px!important;min-height:54px!important;border-radius:999px!important}
body.jp-site .partner-benefit-section{padding:clamp(92px,7vw,122px) 24px clamp(96px,7vw,128px)!important;background:#fff!important;overflow:hidden!important}
body.jp-site .partner-benefit-stage{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(360px,.82fr)!important;gap:clamp(58px,7vw,96px)!important;align-items:start!important;width:min(1180px,100%)!important;max-width:1180px!important;margin:0 auto!important}
body.jp-site .partner-benefit-panels{grid-column:1!important;grid-row:1!important;width:auto!important;padding:0!important}
body.jp-site .partner-phone-column{grid-column:2!important;grid-row:1!important;position:sticky!important;top:44px!important;right:auto!important;width:auto!important;height:auto!important;z-index:2!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body.jp-site .partner-phone-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;filter:drop-shadow(0 34px 58px rgba(16,20,27,.18))!important}
body.jp-site .partner-scroll-panel,
body.jp-site .partner-scroll-panel[data-step="1"],
body.jp-site .partner-scroll-panel.compact{min-height:0!important;padding:0 0 clamp(76px,8vw,116px)!important;display:flex!important;align-items:flex-start!important}
body.jp-site .partner-scroll-panel:first-child{padding-top:clamp(34px,3.4vw,50px)!important}
body.jp-site .partner-scroll-panel:last-child{padding-bottom:0!important}
body.jp-site .partner-benefit-copy{max-width:560px!important}
body.jp-site .partner-benefit-copy h2{max-width:560px!important;font-size:clamp(39px,3.35vw,52px)!important;line-height:1.12!important}
body.jp-site .partner-benefit-lead{max-width:500px!important;font-size:17px!important;line-height:1.72!important}
body.jp-site .phone-logo-mark{background:#fff!important;color:#eb0028!important}
body.jp-site .phone-logo-mark svg{display:block;width:21px!important;height:22px!important}
body.jp-site .phone-logo-mark svg path{fill:#eb0028!important}
body.jp-site .rp-go-card{max-width:720px!important;padding:clamp(24px,4.2vw,42px)!important}
body.jp-site .rp-go-card h1{font-size:clamp(31px,4.6vw,48px)!important;line-height:1.08!important}
body.jp-site .rp-go-code-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:22px 0 14px!important}
body.jp-site .rp-go-trust{display:grid!important;gap:6px!important;margin-top:16px!important;padding:16px!important;border:1px solid rgba(16,24,32,.1)!important;border-radius:16px!important;background:#f8fafc!important;color:#4b5563!important;font-size:13.5px!important;line-height:1.62!important}
body.jp-site .rp-go-trust strong{color:#101820!important;font-size:14px!important}
body.jp-site .guide-directory{max-width:none!important;padding:clamp(84px,7vw,114px) 24px!important;background:linear-gradient(180deg,#fff 0%,#f6f7fa 100%)!important}
body.jp-site .guide-directory .section-heading{max-width:860px!important;margin:0 auto 42px!important;text-align:center!important}
body.jp-site .guide-directory .section-heading h2{font-size:clamp(34px,3.2vw,48px)!important;line-height:1.12!important}
body.jp-site .guide-directory .section-heading p{font-size:17px!important;line-height:1.72!important;color:#667085!important}
body.jp-site .guide-directory .guide-groups{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(410px,auto)!important;gap:20px!important;align-items:stretch!important;max-width:1180px!important;margin:0 auto!important}
body.jp-site .guide-directory .guide-group{grid-column:auto!important;display:flex!important;flex-direction:column!important;height:100%!important;min-height:410px!important;padding:24px!important;border:1px solid rgba(16,20,27,.08)!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 18px 46px rgba(16,20,27,.065)!important}
body.jp-site .guide-group-head{grid-template-columns:42px minmax(0,1fr)!important;gap:14px!important;margin-bottom:18px!important}
body.jp-site .guide-number{width:42px!important;height:42px!important;border-radius:14px!important;background:#fff1f3!important;color:#eb0028!important;font-size:12px!important}
body.jp-site .guide-directory .guide-group h3{font-size:21px!important;line-height:1.18!important;margin:0 0 5px!important}
body.jp-site .guide-group-head p{font-size:13px!important;color:#98a2b3!important}
body.jp-site .guide-directory .guide-links{display:grid!important;gap:6px!important}
body.jp-site .guide-directory .guide-preview-links{flex:0 0 auto!important}
body.jp-site .guide-directory .guide-links a{min-height:34px!important;padding:7px 10px 7px 18px!important;border-radius:10px!important;color:#344054!important;font-size:13.5px!important;line-height:1.34!important;font-weight:780!important}
body.jp-site .guide-directory .guide-links a:before{left:6px!important;width:4px!important;height:4px!important;background:#d0d5dd!important}
body.jp-site .guide-more{margin-top:auto!important;padding-top:14px!important;border-top:1px solid rgba(16,20,27,.08)!important}
body.jp-site .guide-more summary{min-height:40px!important;padding:0 12px!important;border-radius:999px!important;background:#101820!important;color:#fff!important;font-size:13px!important;font-weight:900!important;list-style:none!important}
body.jp-site .guide-more summary:focus{outline:none!important}
body.jp-site .guide-more summary:focus-visible{box-shadow:0 0 0 3px rgba(235,0,40,.24)!important}
body.jp-site .guide-more summary::-webkit-details-marker{display:none!important}
body.jp-site .guide-more summary:after{content:"+"!important;margin-left:auto!important;display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important}
body.jp-site .guide-more[open] summary:after{content:"-"!important}
body.jp-site .guide-more .guide-links{padding-top:12px!important}
body.jp-site .home-seo-count{max-width:1180px!important;margin:28px auto 0!important;text-align:center!important;color:#98a2b3!important;font-size:13.5px!important;line-height:1.55!important;white-space:nowrap!important}
body.jp-site .related .related-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:1fr!important;gap:16px!important;align-items:stretch!important}
body.jp-site .related .related-card{display:flex!important;flex-direction:column!important;min-height:178px!important;padding:24px!important;border-radius:16px!important}
body.jp-site .related .related-card strong{font-size:18px!important;line-height:1.28!important}
body.jp-site .related .related-card span{margin-top:auto!important;padding-top:12px!important;font-size:14.5px!important;line-height:1.58!important}
body.jp-site .serp-opportunity-section .home-action-grid{grid-auto-rows:1fr!important}
body.jp-site .serp-opportunity-section .intent-card{display:flex!important;flex-direction:column!important;min-height:148px!important}
body.jp-site .serp-opportunity-section .intent-card span{margin-top:auto!important;padding-top:10px!important}
@media(min-width:981px){
  body.jp-site .rp-promo-page-hero{grid-template-columns:minmax(0,1fr) 520px!important}
  body.jp-site .rp-promo-page-hero>.rp-promo-panel{max-width:520px!important}
  body.jp-site .rp-promo-page-hero .rp-promo-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.jp-site .rp-promo-page-hero .rp-promo-code-card{padding:16px!important}
  body.jp-site .rp-promo-page-hero .rp-promo-code-value{font-size:clamp(22px,1.55vw,25px)!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
  body.jp-site .rp-promo-page-hero .rp-promo-code-use{min-height:42px!important;font-size:13.5px!important}
}
@media(max-width:1180px){
  body.jp-site .site-header .nav{grid-template-columns:auto auto auto;display:flex}
  body.jp-site .site-header .nav-links{gap:12px}
  body.jp-site .benefit-carousel-stage{height:530px!important}
  body.jp-site .benefit-card[data-position=prev] .benefit-card-content,
  body.jp-site .benefit-card[data-position=next] .benefit-card-content{opacity:0!important}
}
@media(max-width:980px){
  body.jp-site .site-header .nav{display:flex;height:64px}
  body.jp-site .nav-links,body.jp-site .nav-cta,.rp-language-switcher-desktop{display:none!important}
  body.jp-site .mobile-menu,.rp-language-switcher-mobile{display:block!important}
  .rp-language-switcher-mobile summary{width:100%;min-height:46px;justify-content:space-between;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:15px}
  .rp-language-switcher-mobile .rp-language-menu{position:static;width:100%;max-height:430px;margin-top:8px;padding:4px 0;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit}
  .rp-language-switcher-mobile .rp-language-menu a{min-height:36px;padding:7px 8px;color:#6b7280;font-size:15px}
  .jp-card-grid{grid-template-columns:1fr}
  .jp-final-cta{align-items:flex-start;flex-direction:column;margin-left:20px;margin-right:20px}
  body.jp-site .benefit-carousel-stage{height:505px!important}
  body.jp-site .benefit-dots{margin-top:30px!important}
  body.jp-site .rp-promo-page-hero{grid-template-columns:1fr!important}
  body.jp-site .rp-promo-page-hero>.rp-promo-panel{max-width:720px!important;justify-self:stretch!important}
  body.jp-site .rp-promo-page h1{max-width:720px!important;font-size:clamp(36px,6vw,48px)!important;line-height:1.12!important}
  body.jp-site .rp-promo-panel.compact .rp-promo-panel-head{grid-template-columns:1fr!important}
  body.jp-site .rp-promo-panel.compact .rp-promo-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.jp-site .partner-benefit-section{padding:78px 20px 92px!important;overflow:hidden!important}
  body.jp-site .partner-benefit-stage{grid-template-columns:1fr!important;gap:44px!important;max-width:720px!important;width:min(720px,100%)!important}
  body.jp-site .partner-benefit-panels{grid-column:1!important;grid-row:1!important}
  body.jp-site .partner-phone-column{grid-column:1!important;grid-row:2!important;position:relative!important;top:auto!important;width:100%!important}
  body.jp-site .partner-phone-sticky{height:auto!important}
  body.jp-site .app-phone-shell{transform:scale(.78)!important;transform-origin:top center!important}
  body.jp-site .partner-scroll-panel,
  body.jp-site .partner-scroll-panel[data-step="1"],
  body.jp-site .partner-scroll-panel.compact{padding:0 0 34px!important}
  body.jp-site .partner-scroll-panel:first-child{padding-top:0!important}
  body.jp-site .guide-directory .guide-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.jp-site .related .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  body.jp-site .brand small{display:none}
  .jp-page-hero{padding:52px 18px 34px}
  .jp-page-hero h1{font-size:36px;line-height:1.08}
  .jp-page-hero p{font-size:16px;line-height:1.66}
  .jp-section{padding:64px 18px}
  .jp-section h2{font-size:29px}
  .jp-table{min-width:0}
  .jp-table thead{display:none}
  .jp-table tr,.jp-table td{display:block;width:100%}
  .jp-table tr{border-bottom:1px solid #e6e8ec}
  .jp-table tr:last-child{border-bottom:0}
  .jp-table td{border-bottom:0}
  .jp-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#10141b;font-size:12px;font-weight:900}
  .jp-faq{padding:70px 18px}
  .jp-final-cta{margin:0 18px 70px;padding:26px 20px}
  .jp-final-cta .final-actions{display:grid;width:100%}
  .jp-final-cta .btn{width:100%}
  .premium-code-strip{grid-template-columns:1fr}
  .home-seo-count{text-align:left}
  body.jp-site .benefit-carousel-stage{height:386px!important}
  body.jp-site .benefit-dots{max-width:calc(100vw - 36px);margin-top:28px!important;padding:8px 10px!important;gap:4px!important}
  body.jp-site .benefit-arrow,body.jp-site .benefit-pause,body.jp-site .benefit-dot{width:40px!important;height:40px!important;min-height:40px!important}
  body.jp-site .premium-card-section{padding:72px 18px 84px!important}
  body.jp-site .premium-card-section h2{font-size:31px!important;line-height:1.18!important}
  body.jp-site .premium-card-section p:not(.section-kicker){font-size:15.5px!important}
  body.jp-site .premium-code-strip div{min-height:104px!important;padding:18px!important}
  body.jp-site .premium-card-actions{display:grid!important;grid-template-columns:1fr!important}
  body.jp-site .premium-card-actions .btn{width:100%!important;min-width:0!important}
  body.jp-site .rp-promo-page-shell{padding-top:42px!important;padding-bottom:46px!important}
  body.jp-site .rp-promo-page h1{font-size:34px!important;line-height:1.14!important}
  body.jp-site .rp-promo-lead{font-size:16px!important}
  body.jp-site .rp-promo-answer{padding:18px!important}
  body.jp-site .rp-promo-panel{padding:20px!important}
  body.jp-site .rp-promo-panel h2{font-size:28px!important}
  body.jp-site .rp-promo-code-card{padding:18px!important}
  body.jp-site .rp-promo-code-value{font-size:28px!important}
  body.jp-site .rp-promo-page-hero .rp-promo-actions,
  body.jp-site .rp-promo-panel.compact .rp-promo-actions{grid-template-columns:1fr!important}
  body.jp-site .rp-promo-action{width:100%!important;min-width:0!important}
  body.jp-site .rp-go-code-row{grid-template-columns:1fr!important}
  body.jp-site .rp-go-card{padding:24px 18px!important}
  body.jp-site .jp-final-cta{margin:48px 18px 78px!important;padding:28px 22px!important}
  body.jp-site .jp-final-cta .final-actions{display:grid!important;width:100%!important}
  body.jp-site .jp-final-cta .btn{width:100%!important;min-width:0!important}
  body.jp-site .partner-benefit-section{padding:66px 18px 78px!important}
  body.jp-site .partner-benefit-stage{width:100%!important;max-width:100%!important;gap:30px!important}
  body.jp-site .partner-benefit-copy h2{font-size:32px!important;line-height:1.16!important}
  body.jp-site .partner-benefit-lead{font-size:15.5px!important;line-height:1.66!important}
  body.jp-site .app-phone-shell{transform:scale(.62)!important;transform-origin:top center!important}
  body.jp-site .partner-phone-sticky{height:404px!important}
  body.jp-site .guide-directory{padding:72px 18px!important}
  body.jp-site .guide-directory .section-heading{text-align:left!important;margin-bottom:30px!important}
  body.jp-site .guide-directory .section-heading h2{font-size:30px!important}
  body.jp-site .guide-directory .section-heading p{font-size:15.5px!important}
  body.jp-site .guide-directory .guide-groups{grid-template-columns:1fr!important;gap:14px!important}
  body.jp-site .related .related-grid{grid-template-columns:1fr!important}
  body.jp-site .related .related-card{min-height:0!important;padding:18px!important}
  body.jp-site .serp-opportunity-section .intent-card{min-height:128px!important}
  body.jp-site .guide-directory .guide-group{padding:18px!important;border-radius:18px!important}
  body.jp-site .guide-group-head{grid-template-columns:36px minmax(0,1fr)!important}
  body.jp-site .guide-number{width:36px!important;height:36px!important;border-radius:12px!important}
  body.jp-site .guide-directory .guide-group h3{font-size:19px!important}
  body.jp-site .home-seo-count{max-width:100%!important;text-align:left!important;white-space:normal!important}
}

/* Japan final responsive QA overrides */
@media(max-width:980px){
  body.jp-site .partner-benefit-stage{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:34px!important;
  }
  body.jp-site .partner-phone-column{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.jp-site .partner-benefit-panels{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.jp-site .partner-phone-sticky{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
}

@media(max-width:640px){
  html,body.jp-site{max-width:100%;overflow-x:hidden}
  body.jp-site h1,
  body.jp-site h2,
  body.jp-site h3,
  body.jp-site .section-heading p,
  body.jp-site .rp-promo-guide-card h2{
    word-break:normal!important;
    overflow-wrap:normal!important;
    line-break:strict!important;
  }
  body.jp-site .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.jp-site .hero-actions .btn{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
  }
  body.jp-site .benefits-carousel,
  body.jp-site .benefit-carousel-stage{
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.jp-site .jp-final-cta{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  body.jp-site .jp-final-cta>div,
  body.jp-site .jp-final-cta h2,
  body.jp-site .jp-final-cta p{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.jp-site .jp-final-cta .final-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body.jp-site .jp-final-cta .btn{
    width:100%!important;
    min-width:0!important;
  }
}

/* Japan launch QA refinements */
body.jp-site .home-hero{min-height:88svh!important}
body.jp-site .rp-promo-disclosure{margin:14px 0 0!important;color:#7a8291!important;font-size:12.5px!important;line-height:1.55!important;text-align:center!important}
body.jp-site .rp-promo-final-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:24px;align-items:center;padding:clamp(24px,4vw,40px);border:1px solid rgba(16,19,32,.10);border-radius:24px;background:linear-gradient(135deg,#101820 0%,#0b1118 58%,#1b0d12 100%);color:#fff;box-shadow:0 26px 76px rgba(16,24,32,.18)}
body.jp-site .rp-promo-final-strip h2{margin:0 0 10px;color:#fff;font-size:clamp(26px,3vw,40px);line-height:1.14}
body.jp-site .rp-promo-final-strip p:not(.rp-promo-kicker){margin:0;color:rgba(255,255,255,.74);line-height:1.72}
body.jp-site .rp-promo-strip-grid{display:grid;gap:10px}
body.jp-site .rp-promo-strip-grid span{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.07);color:#f8fafc;font-weight:850}
body.jp-site .rp-promo-strip-grid code{color:#fff;font-family:"SFMono-Regular","Roboto Mono",Consolas,monospace;font-weight:950}
body.jp-site .jp-product-hero{background:linear-gradient(180deg,#fff 0%,#f5f7fb 100%)}
body.jp-site .jp-product-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:clamp(32px,5vw,72px);align-items:center}
body.jp-site .jp-product-visual{position:relative;overflow:hidden;border-radius:26px;background:#050607;box-shadow:0 36px 92px rgba(16,24,32,.18)}
body.jp-site .jp-product-visual img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}
body.jp-site .jp-product-visual-dark img{filter:saturate(1.04) contrast(1.04)}
body.jp-site .jp-stat-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
body.jp-site .jp-stat-row span{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(235,0,40,.16);border-radius:999px;background:#fff;color:#101820;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(16,24,32,.06)}
body.jp-site .jp-official-facts{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:24px;align-items:start;padding:clamp(24px,4vw,38px);border:1px solid rgba(16,24,32,.09);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff7f8 100%);box-shadow:0 24px 64px rgba(16,24,32,.08)}
body.jp-site .jp-official-facts h2{font-size:clamp(26px,2.7vw,38px)!important}
body.jp-site .jp-official-facts p{margin:0;color:#556070}
body.jp-site .jp-fact-grid{display:grid;gap:12px}
body.jp-site .jp-fact-card{padding:18px;border:1px solid rgba(16,24,32,.09);border-radius:16px;background:#fff}
body.jp-site .jp-fact-card strong{display:block;margin-bottom:7px;color:#101820;font-size:15px}
body.jp-site .jp-fact-card span{display:block;color:#4b5563;font-size:14px;line-height:1.62}
body.jp-site .jp-intent-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);gap:22px;align-items:stretch;padding:clamp(24px,4vw,38px);border:1px solid rgba(16,24,32,.09);border-radius:24px;background:#101820;color:#fff;box-shadow:0 24px 64px rgba(16,24,32,.16)}
body.jp-site .jp-intent-panel h2{color:#fff!important}
body.jp-site .jp-intent-panel p{color:rgba(255,255,255,.76)!important}
body.jp-site .jp-intent-mini{display:grid;gap:12px;align-content:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
body.jp-site .jp-intent-mini strong{color:#fff;font-size:15px}
body.jp-site .jp-intent-mini span{color:rgba(255,255,255,.78);font-size:14px;line-height:1.58}
body.jp-site .jp-source-section{padding-top:34px!important}
body.jp-site .jp-source-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:24px;align-items:start;padding:clamp(22px,4vw,34px);border:1px solid rgba(16,24,32,.09);border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(16,24,32,.055)}
body.jp-site .jp-source-box h2{font-size:clamp(24px,2.4vw,34px)!important}
body.jp-site .jp-source-links{display:grid;gap:8px}
body.jp-site .jp-source-links a{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid rgba(16,24,32,.09);border-radius:12px;text-decoration:none;color:#344054;background:#f8fafc;font-weight:850;font-size:13.5px}
body.jp-site .jp-source-links a:hover{color:#eb0028;background:#fff5f6}
body.jp-site .rp-go-page{display:block!important;min-height:100vh!important;padding:clamp(22px,5vw,54px)!important}
body.jp-site .rp-go-shell{width:min(1120px,100%);min-height:calc(100vh - clamp(44px,10vw,108px));margin:0 auto;display:grid;align-content:center;gap:22px}
body.jp-site .rp-go-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#101820}
body.jp-site .rp-go-brand strong{font-size:17px}
body.jp-site .rp-go-brand a{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;background:#fff;color:#101820;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 10px 28px rgba(16,24,32,.08)}
body.jp-site .rp-go-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);gap:22px;align-items:stretch}
body.jp-site .rp-go-card{max-width:none!important;width:100%!important}
body.jp-site .rp-go-side{padding:clamp(22px,4vw,34px);border:1px solid rgba(16,19,32,.12);border-radius:28px;background:#101820;color:#fff;box-shadow:0 34px 95px rgba(16,19,32,.14)}
body.jp-site .rp-go-side h2{margin:0 0 14px;color:#fff;font-size:clamp(24px,3vw,34px);line-height:1.14}
body.jp-site .rp-go-side ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
body.jp-site .rp-go-side li{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.82);font-weight:800;line-height:1.45}
body.jp-site .benefit-arrow,body.jp-site .benefit-pause,body.jp-site .benefit-dot{width:44px!important;height:44px!important;min-height:44px!important}
body.jp-site .footer-group a{min-height:44px!important}

/* Launch QA pass: premium weight, less blank fold, stronger mobile structure */
body.jp-site .home-hero+.benefits-carousel{padding-top:42px!important}
body.jp-site .rp-promo-page h1,
body.jp-site .rp-promo-panel h2,
body.jp-site .rp-go-card h1{font-weight:950!important;letter-spacing:0!important}
body.jp-site .rp-promo-mobile-preview{display:none}
body.jp-site .partner-mobile-heading{display:none}
body.jp-site .jp-deep-intent .section-heading{text-align:left!important;max-width:900px!important}
body.jp-site .jp-check-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:28px!important}
body.jp-site .jp-check-card{padding:20px!important;border:1px solid rgba(16,24,32,.09)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 14px 38px rgba(16,24,32,.055)!important}
body.jp-site .jp-check-card strong{display:block;margin-bottom:8px;color:#101820;font-size:15px;font-weight:950}
body.jp-site .jp-check-card span{display:block;color:#4b5563;font-size:14px;line-height:1.62;font-weight:720}
body.jp-site .jp-decision-table{margin-top:28px}
body.jp-site .jp-decision-table h3,
body.jp-site .jp-misconception-list h3{font-size:24px!important;line-height:1.22!important}
body.jp-site .jp-misconception-list{display:grid!important;gap:12px!important;margin-top:28px!important}
body.jp-site .jp-misconception-list>div{padding:18px 20px;border:1px solid rgba(16,24,32,.09);border-radius:16px;background:#f8fafc}
body.jp-site .jp-misconception-list strong{display:block;color:#101820;font-size:15px;font-weight:950}
body.jp-site .jp-misconception-list p{margin:7px 0 0!important;color:#4b5563!important;font-size:14.5px!important;line-height:1.64!important;font-weight:700!important}
@media(max-width:980px){
  body.jp-site .home-hero{min-height:92svh!important}
  body.jp-site .jp-product-hero-grid,
  body.jp-site .jp-official-facts,
  body.jp-site .jp-intent-panel,
  body.jp-site .jp-source-box,
  body.jp-site .rp-promo-final-strip,
  body.jp-site .rp-go-layout{grid-template-columns:1fr!important}
  body.jp-site .jp-product-visual{max-width:560px}
  body.jp-site .partner-mobile-heading{display:block!important;max-width:720px;margin:0 auto 24px;text-align:left}
  body.jp-site .partner-mobile-heading h2{margin:0;color:#101820;font-size:clamp(30px,5vw,42px);line-height:1.14;font-weight:950}
  body.jp-site .partner-mobile-heading p:not(.section-kicker){margin:10px 0 0;color:#667085;font-size:16px;line-height:1.62;font-weight:700}
  body.jp-site .partner-benefit-section{overflow:visible!important}
  body.jp-site .partner-phone-column{position:sticky!important;top:78px!important}
  body.jp-site .jp-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:640px){
  body.jp-site .home-hero{min-height:calc(100svh - 20px)!important}
  body.jp-site .home-hero+.benefits-carousel{padding-top:34px!important}
  body.jp-site .hero h1{font-size:clamp(36px,10vw,44px)!important;line-height:1.06!important}
  body.jp-site .rp-promo-page-shell{padding-top:30px!important}
  body.jp-site .rp-promo-page h1{font-size:31px!important;line-height:1.12!important;font-weight:950!important}
  body.jp-site .rp-promo-mobile-preview{display:grid!important;grid-template-columns:1fr!important;gap:8px;margin:16px 0 0}
  body.jp-site .rp-promo-mobile-preview span{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border:1px solid rgba(235,0,40,.16);border-radius:12px;background:#fff7f8;color:#101820;font-size:13.5px;font-weight:900}
  body.jp-site .rp-promo-mobile-preview code{color:#eb0028;font-family:"SFMono-Regular","Roboto Mono",Consolas,monospace;font-weight:950}
  body.jp-site .rp-promo-answer{margin-top:16px!important;padding:16px!important}
  body.jp-site .rp-promo-panel{padding:20px!important;border-radius:20px!important}
  body.jp-site .rp-promo-panel h2{font-size:27px!important;font-weight:950!important}
  body.jp-site .jp-product-hero{padding-top:44px!important}
  body.jp-site .jp-product-visual img{min-height:240px}
  body.jp-site .jp-stat-row{display:grid;grid-template-columns:1fr}
  body.jp-site .jp-stat-row span{justify-content:center;text-align:center}
  body.jp-site .jp-official-facts,
  body.jp-site .jp-intent-panel,
  body.jp-site .jp-source-box,
  body.jp-site .rp-promo-final-strip{padding:20px!important;border-radius:18px!important}
  body.jp-site .rp-promo-strip-grid span{display:grid;justify-content:stretch;text-align:left}
  body.jp-site .rp-go-page{padding:18px!important}
  body.jp-site .rp-go-brand{align-items:flex-start;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
  body.jp-site .rp-go-brand a{grid-column:1/-1;justify-content:center;width:100%}
  body.jp-site .rp-go-side{border-radius:22px}
  body.jp-site .benefit-arrow,body.jp-site .benefit-pause,body.jp-site .benefit-dot{width:44px!important;height:44px!important;min-height:44px!important}
  body.jp-site .benefit-card h3{font-size:22px!important;line-height:1.18!important}
  body.jp-site .benefit-card[data-position=prev],
  body.jp-site .benefit-card[data-position=next]{opacity:0!important;pointer-events:none!important}
  body.jp-site .benefit-dots{width:auto!important;max-width:max-content!important;padding:6px 8px!important;gap:3px!important}
  body.jp-site .benefit-arrow,
  body.jp-site .benefit-pause{display:none!important}
  body.jp-site .benefit-dot{width:24px!important;height:24px!important;min-height:24px!important}
  body.jp-site .benefit-dot:before{width:7px!important;height:7px!important}
  body.jp-site .benefit-dot[aria-current=true]:before{width:18px!important}
  body.jp-site .jp-check-grid{grid-template-columns:1fr!important;gap:10px!important}
}

/* JP app flow final pass: stable phone start point and premium compact steps */
body.jp-site .partner-benefit-section{
  padding:clamp(86px,7vw,118px) 24px clamp(96px,8vw,132px)!important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  overflow:visible!important;
}
body.jp-site .partner-benefit-stage{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,520px) minmax(330px,440px)!important;
  gap:clamp(46px,7vw,92px)!important;
  align-items:start!important;
  width:min(1120px,100%)!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
body.jp-site .partner-benefit-panels{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  gap:14px!important;
  width:100%!important;
  max-width:520px!important;
  padding:0!important;
}
body.jp-site .partner-scroll-panel,
body.jp-site .partner-scroll-panel[data-step="1"],
body.jp-site .partner-scroll-panel.compact{
  display:block!important;
  min-height:0!important;
  padding:0!important;
}
body.jp-site .partner-benefit-copy{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  padding:22px 24px!important;
  border:1px solid rgba(16,24,32,.085)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 48px rgba(16,24,32,.055)!important;
}
body.jp-site .partner-scroll-panel:first-child .partner-benefit-copy{
  border-color:rgba(235,0,40,.2)!important;
  box-shadow:0 22px 58px rgba(235,0,40,.075),0 18px 48px rgba(16,24,32,.045)!important;
}
body.jp-site .partner-benefit-copy .section-kicker{
  margin:0 0 8px!important;
  color:#eb0028!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:950!important;
}
body.jp-site .partner-benefit-copy h2{
  max-width:100%!important;
  margin:0!important;
  color:#070a12!important;
  font-size:clamp(24px,2vw,32px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-wrap:balance!important;
}
body.jp-site .partner-benefit-lead{
  max-width:100%!important;
  margin:10px 0 0!important;
  color:#667085!important;
  font-size:15px!important;
  line-height:1.64!important;
  font-weight:720!important;
}
body.jp-site .btn.partner-start{
  min-width:112px!important;
  min-height:42px!important;
  margin-top:16px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#080a0f!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(16,24,32,.12)!important;
  font-size:13.5px!important;
}
body.jp-site .partner-benefit-offer{
  max-width:100%!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  background:#fff7f8!important;
  box-shadow:none!important;
}
body.jp-site .partner-phone-column{
  grid-column:2!important;
  grid-row:1!important;
  position:sticky!important;
  top:96px!important;
  align-self:start!important;
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:2!important;
}
body.jp-site .partner-phone-sticky{
  position:relative!important;
  top:auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  filter:drop-shadow(0 34px 62px rgba(16,24,32,.2))!important;
}
body.jp-site .app-phone-shell{
  width:min(100%,318px)!important;
  height:648px!important;
  transform:none!important;
  transform-origin:top center!important;
}

@media(max-width:980px){
  body.jp-site .partner-benefit-section{
    padding:76px 20px 92px!important;
    overflow:hidden!important;
  }
  body.jp-site .partner-benefit-stage{
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
    width:min(720px,100%)!important;
    max-width:720px!important;
  }
  body.jp-site .partner-phone-column{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    top:auto!important;
    margin-top:4px!important;
  }
  body.jp-site .partner-benefit-panels{
    grid-column:1!important;
    grid-row:2!important;
    max-width:100%!important;
  }
  body.jp-site .app-phone-shell{
    width:318px!important;
    height:648px!important;
    transform:scale(.76)!important;
  }
  body.jp-site .partner-phone-sticky{
    height:500px!important;
  }
}

@media(max-width:640px){
  body.jp-site .partner-benefit-section{
    padding:66px 18px 80px!important;
  }
  body.jp-site .partner-benefit-stage{
    gap:22px!important;
  }
  body.jp-site .partner-phone-column{
    margin-top:32px!important;
  }
  body.jp-site .partner-phone-sticky{
    height:414px!important;
  }
  body.jp-site .app-phone-shell{
    transform:scale(.6)!important;
  }
  body.jp-site .partner-benefit-panels{
    gap:12px!important;
  }
  body.jp-site .partner-benefit-copy{
    padding:18px!important;
    border-radius:16px!important;
  }
  body.jp-site .partner-benefit-copy h2{
    font-size:25px!important;
    line-height:1.2!important;
  }
  body.jp-site .partner-benefit-lead{
    font-size:14.5px!important;
    line-height:1.62!important;
  }
  body.jp-site .btn.partner-start{
    min-height:40px!important;
    margin-top:14px!important;
  }
}

/* JP deployment QA: touch targets, one-line directory rhythm, narrow viewport overflow */
body.jp-site .jp-faq summary{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
}
body.jp-site .guide-more summary{
  min-height:44px!important;
}
body.jp-site .guide-more-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#101820!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:900!important;
}
body.jp-site .guide-directory .guide-links a{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.jp-site .guide-directory .section-heading{
  max-width:1180px!important;
}
body.jp-site .guide-directory .section-heading p{
  max-width:1180px!important;
  white-space:nowrap!important;
  font-size:15.5px!important;
}
body.jp-site .benefit-dot{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
}
body.jp-site .benefit-dot:before{
  width:7px!important;
  height:7px!important;
}
body.jp-site .benefit-dot[aria-current=true]:before{
  width:18px!important;
}

@media(max-width:640px){
  body.jp-site .guide-directory .section-heading p{
    white-space:normal!important;
    font-size:15px!important;
  }
  body.jp-site .guide-directory .guide-links a{
    min-height:44px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  body.jp-site .benefit-dots{
    max-width:calc(100vw - 36px)!important;
    padding:6px 8px!important;
    gap:3px!important;
  }
  body.jp-site .benefit-dot{
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}

@media(max-width:360px){
  body.jp-site .jp-page-hero h1 .jp-nowrap,
  body.jp-site .hero h1 .jp-nowrap{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.jp-site h1,
  body.jp-site h2,
  body.jp-site h3{
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
}

@media(min-width:641px){
  body.jp-site .jp-final-cta .final-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:364px!important;
  }
}

/* JP hard QA: no heading/text clipping across two-column premium blocks */
body.jp-site,
body.jp-site *{
  box-sizing:border-box;
}
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site h4,
body.jp-site p,
body.jp-site li,
body.jp-site strong,
body.jp-site span{
  min-width:0;
}
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site .section-heading p,
body.jp-site .rp-promo-guide-card h2{
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
}
body.jp-site .jp-official-facts,
body.jp-site .jp-intent-panel,
body.jp-site .jp-source-box,
body.jp-site .jp-product-hero-grid,
body.jp-site .rp-promo-final-strip,
body.jp-site .rp-go-layout{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  overflow:visible!important;
}
body.jp-site .jp-official-facts>div,
body.jp-site .jp-intent-panel>div,
body.jp-site .jp-source-box>div,
body.jp-site .jp-product-hero-grid>div,
body.jp-site .rp-promo-final-strip>div{
  min-width:0!important;
}
body.jp-site .jp-official-facts h2,
body.jp-site .jp-intent-panel h2,
body.jp-site .jp-source-box h2{
  max-width:100%!important;
  font-size:clamp(28px,2.15vw,36px)!important;
  line-height:1.18!important;
}
body.jp-site .jp-official-facts p,
body.jp-site .jp-intent-panel p,
body.jp-site .jp-source-box p{
  max-width:100%!important;
}
body.jp-site .jp-official-facts,
body.jp-site .jp-source-box{
  grid-template-columns:1fr!important;
}
body.jp-site .jp-official-facts>div:first-child,
body.jp-site .jp-source-box>div:first-child{
  max-width:980px!important;
}
body.jp-site .jp-official-facts h2,
body.jp-site .jp-source-box h2{
  max-width:860px!important;
}
body.jp-site .jp-fact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.jp-site .guide-directory .guide-links a{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-height:44px!important;
}
body.jp-site .site-header .nav-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:48px!important;
  min-height:44px!important;
}
body.jp-site .btn.partner-start{
  min-height:48px!important;
}
body.jp-site .home-seo-count a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
}
@media(max-width:1180px){
  body.jp-site .jp-official-facts,
  body.jp-site .jp-intent-panel,
  body.jp-site .jp-source-box,
  body.jp-site .rp-promo-final-strip{
    grid-template-columns:1fr!important;
  }
  body.jp-site .jp-fact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:980px){
  body.jp-site .jp-product-hero-grid,
  body.jp-site .rp-go-layout{
    grid-template-columns:1fr!important;
  }
  body.jp-site .guide-directory .section-heading p,
  body.jp-site .home-seo-count{
    white-space:normal!important;
  }
}
@media(max-width:640px){
  body.jp-site .jp-fact-grid{
    grid-template-columns:1fr!important;
  }
  body.jp-site p,
  body.jp-site li,
  body.jp-site a,
  body.jp-site strong,
  body.jp-site span{
    overflow-wrap:anywhere!important;
  }
}

/* JP desktop polish: compact hero, balanced source/footer grids */
@media(min-width:981px){
  body.jp-site .jp-source-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-content:start!important;
  }
  body.jp-site .footer-links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px 28px!important;
  }
}

@media(min-width:981px) and (max-width:1100px){
  body.jp-site .rp-promo-page-hero{
    gap:28px!important;
  }
  body.jp-site .rp-promo-page h1{
    max-width:520px!important;
    font-size:clamp(32px,3.25vw,36px)!important;
    line-height:1.16!important;
  }
  body.jp-site .rp-promo-lead{
    font-size:16.5px!important;
    line-height:1.58!important;
  }
}

@media(min-width:981px) and (max-height:760px){
  body.jp-site .rp-promo-page-shell{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  body.jp-site .rp-promo-lead{
    margin-top:14px!important;
  }
  body.jp-site .rp-promo-answer{
    margin-top:20px!important;
    padding:18px 20px!important;
  }
  body.jp-site .rp-promo-panel{
    padding:20px!important;
  }
  body.jp-site .rp-promo-panel-head{
    margin-bottom:16px!important;
  }
  body.jp-site .rp-promo-panel h2{
    font-size:clamp(26px,2.2vw,30px)!important;
  }
  body.jp-site .rp-promo-code-grid{
    gap:12px!important;
  }
  body.jp-site .rp-promo-code-card{
    gap:8px!important;
    padding:16px!important;
  }
  body.jp-site .rp-promo-code-value{
    font-size:clamp(24px,2vw,29px)!important;
  }
  body.jp-site .rp-promo-actions{
    margin-top:18px!important;
  }
  body.jp-site .rp-promo-action{
    min-height:48px!important;
  }
  body.jp-site .rp-promo-disclosure{
    margin-top:10px!important;
    line-height:1.42!important;
  }
}

/* JP go page hard stop: keep referral preflight text inside cards */
body.jp-site .rp-go-shell{
  width:min(1220px,100%)!important;
  overflow:visible!important;
}
body.jp-site .rp-go-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
body.jp-site .rp-go-card,
body.jp-site .rp-go-side{
  min-width:0!important;
  overflow:hidden!important;
}
body.jp-site .rp-go-card h1,
body.jp-site .rp-go-side h2{
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
  text-wrap:balance!important;
}
body.jp-site .rp-go-card h1{
  font-size:clamp(34px,3vw,48px)!important;
  line-height:1.14!important;
}
body.jp-site .rp-go-side h2{
  font-size:clamp(28px,2.35vw,36px)!important;
  line-height:1.16!important;
}
body.jp-site .rp-go-card p,
body.jp-site .rp-go-side li,
body.jp-site .rp-go-trust span{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
body.jp-site .rp-go-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.jp-site .rp-go-actions .rp-promo-action{
  min-width:0!important;
  width:100%!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
body.jp-site .rp-go-brand a{
  min-height:44px!important;
}
@media(max-width:980px){
  body.jp-site .rp-go-layout{
    grid-template-columns:1fr!important;
  }
  body.jp-site .rp-go-card h1{
    font-size:clamp(32px,6.8vw,44px)!important;
  }
}
@media(max-width:640px){
  body.jp-site .rp-go-actions,
  body.jp-site .rp-go-code-row{
    grid-template-columns:1fr!important;
  }
  body.jp-site .rp-go-card h1{
    font-size:clamp(30px,8.2vw,38px)!important;
  }
  body.jp-site .rp-go-side h2{
    font-size:clamp(27px,7vw,34px)!important;
  }
}

/* Final JP visitor-facing polish: full hero, clean copy rhythm, hard overflow guard */
body.jp-site,
body.jp-site *{
  letter-spacing:0!important;
}
body.jp-site .jp-title-line{
  display:block;
}
body.jp-site .jp-nowrap{
  white-space:nowrap;
}
body.jp-site .home-hero.jp-hero{
  min-height:100svh!important;
  background:#080b10!important;
}
body.jp-site .jp-hero .hero-bg,
body.jp-site .jp-hero .hero-bg img{
  width:100%!important;
  height:100%!important;
}
body.jp-site .jp-hero .hero-bg img{
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.03) contrast(1.03)!important;
}
body.jp-site .jp-hero .hero-bg:after{
  background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.70) 42%,rgba(0,0,0,.42) 72%,rgba(0,0,0,.22) 100%)!important;
}
body.jp-site .jp-hero .hero-content{
  max-width:1240px!important;
  padding-top:clamp(104px,13vh,148px)!important;
  padding-bottom:clamp(64px,9vh,96px)!important;
}
body.jp-site .jp-hero h1{
  max-width:980px!important;
  margin-bottom:22px!important;
  font-size:clamp(44px,5.2vw,78px)!important;
  line-height:1.06!important;
  font-weight:950!important;
  text-wrap:balance!important;
}
body.jp-site .jp-hero .lead{
  max-width:820px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(18px,1.55vw,23px)!important;
  line-height:1.62!important;
  font-weight:850!important;
  text-wrap:pretty!important;
}
body.jp-site .jp-hero .hero-actions{
  max-width:980px!important;
  gap:14px!important;
  margin-top:30px!important;
}
body.jp-site .jp-hero .hero-actions .btn{
  min-height:58px!important;
  min-width:190px!important;
  padding:0 26px!important;
  font-size:clamp(15px,1.22vw,18px)!important;
  font-weight:950!important;
  box-shadow:none!important;
}
body.jp-site .jp-hero .hero-actions .btn.primary{
  box-shadow:0 18px 44px rgba(235,0,40,.32)!important;
}
body.jp-site .jp-hero .cta-note{
  max-width:760px!important;
  margin-top:18px!important;
  color:rgba(255,255,255,.74)!important;
  font-size:14px!important;
  line-height:1.58!important;
  font-weight:800!important;
}
body.jp-site .jp-section,
body.jp-site .jp-section *,
body.jp-site .guide-directory,
body.jp-site .guide-directory *,
body.jp-site .home-action-flow,
body.jp-site .home-action-flow *,
body.jp-site .serp-opportunity-section,
body.jp-site .serp-opportunity-section *,
body.jp-site .rp-promo-page,
body.jp-site .rp-promo-page *,
body.jp-site .rp-go-page,
body.jp-site .rp-go-page *{
  min-width:0!important;
}
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site p,
body.jp-site a,
body.jp-site span,
body.jp-site strong,
body.jp-site button,
body.jp-site summary{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
}
body.jp-site .jp-official-facts{
  grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr)!important;
  overflow:hidden!important;
}
body.jp-site .jp-official-facts h2{
  font-size:clamp(24px,2.05vw,34px)!important;
  line-height:1.18!important;
  text-wrap:balance!important;
}
body.jp-site .jp-official-facts p{
  font-size:clamp(15px,1.15vw,17px)!important;
  line-height:1.75!important;
}
body.jp-site .jp-fact-card{
  min-width:0!important;
  overflow:hidden!important;
}
body.jp-site .jp-fact-card span,
body.jp-site .jp-source-box p,
body.jp-site .jp-source-links a,
body.jp-site .intent-card span,
body.jp-site .guide-links a{
  white-space:normal!important;
}
body.jp-site .section-heading p:not(.section-kicker){
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  white-space:normal!important;
  text-wrap:pretty!important;
}
@media(max-width:980px){
  body.jp-site .home-hero.jp-hero{
    min-height:100svh!important;
  }
  body.jp-site .jp-hero .hero-content{
    padding-top:clamp(92px,12vh,118px)!important;
    padding-bottom:clamp(52px,8vh,74px)!important;
  }
  body.jp-site .jp-hero h1{
    max-width:760px!important;
    font-size:clamp(40px,7.8vw,64px)!important;
    line-height:1.08!important;
  }
  body.jp-site .jp-hero .hero-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(760px,100%)!important;
  }
  body.jp-site .jp-hero .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    padding:0 16px!important;
  }
  body.jp-site .jp-official-facts{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:640px){
  body.jp-site .home-hero.jp-hero{
    min-height:100svh!important;
  }
  body.jp-site .jp-hero .hero-bg img{
    object-position:72% center!important;
  }
  body.jp-site .jp-hero .hero-content{
    padding:96px 18px 44px!important;
  }
  body.jp-site .jp-hero h1{
    max-width:100%!important;
    font-size:clamp(30px,8.6vw,36px)!important;
    line-height:1.1!important;
  }
  body.jp-site .jp-hero .jp-nowrap{
    white-space:nowrap!important;
  }
  body.jp-site .jp-hero .lead{
    font-size:15.5px!important;
    line-height:1.62!important;
    font-weight:800!important;
  }
  body.jp-site .jp-hero .hero-actions{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:24px!important;
  }
  body.jp-site .jp-hero .hero-actions .btn{
    min-height:52px!important;
    font-size:15px!important;
  }
  body.jp-site .jp-hero .cta-note{
    font-size:13px!important;
    line-height:1.55!important;
  }
  body.jp-site .jp-nowrap{
    white-space:normal;
  }
}

/* Japan final polish: official-style first view and hard layout containment */
body.jp-site .home-hero.jp-hero{
  min-height:100svh!important;
}
body.jp-site .jp-hero .hero-content{
  max-width:1180px!important;
  padding-top:clamp(116px,14vh,160px)!important;
  padding-bottom:clamp(64px,9vh,96px)!important;
}
body.jp-site .jp-hero h1{
  max-width:920px!important;
  font-size:clamp(42px,4.75vw,68px)!important;
  line-height:1.08!important;
}
body.jp-site .jp-hero .lead{
  max-width:800px!important;
  font-size:clamp(17px,1.45vw,21px)!important;
  line-height:1.68!important;
  font-weight:820!important;
}
body.jp-site .jp-hero .hero-actions{
  width:min(520px,100%)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.jp-site .jp-hero .hero-actions .btn{
  min-width:0!important;
  width:100%!important;
  justify-content:center!important;
}
body.jp-site .guide-directory .guide-group{
  overflow:hidden!important;
}
body.jp-site .guide-directory .guide-preview-links{
  flex:1 1 auto!important;
  align-content:start!important;
}
body.jp-site .guide-directory .guide-more{
  margin-top:auto!important;
}
body.jp-site .guide-directory .guide-more summary,
body.jp-site .guide-directory .guide-more-link{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
body.jp-site .jp-official-facts,
body.jp-site .jp-source-box,
body.jp-site .jp-intent-panel,
body.jp-site .rp-go-layout,
body.jp-site .rp-go-card,
body.jp-site .rp-go-side,
body.jp-site .rp-promo-panel{
  overflow:hidden!important;
}
body.jp-site .rp-go-side h2{
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.14!important;
  overflow-wrap:anywhere!important;
}
body.jp-site .rp-go-card h1,
body.jp-site .jp-official-facts h2,
body.jp-site .jp-source-box h2,
body.jp-site .jp-intent-panel h2,
body.jp-site .rp-promo-panel h2{
  overflow-wrap:anywhere!important;
}
@media(max-width:980px){
  body.jp-site .jp-hero .hero-content{
    padding-top:clamp(104px,13vh,132px)!important;
  }
  body.jp-site .jp-hero h1{
    max-width:720px!important;
    font-size:clamp(38px,7vw,58px)!important;
  }
  body.jp-site .guide-directory .guide-group{
    min-height:0!important;
  }
}
@media(max-width:640px){
  body.jp-site .home-hero.jp-hero{
    min-height:100svh!important;
  }
  body.jp-site .jp-hero .hero-content{
    padding:92px 18px 40px!important;
  }
  body.jp-site .jp-hero h1{
    font-size:clamp(30px,8.3vw,36px)!important;
    line-height:1.12!important;
  }
  body.jp-site .jp-hero .lead{
    font-size:15px!important;
    line-height:1.68!important;
  }
  body.jp-site .jp-hero .hero-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body.jp-site .guide-directory .guide-groups{
    grid-auto-rows:auto!important;
  }
  body.jp-site .guide-directory .guide-group{
    height:auto!important;
    min-height:0!important;
  }
}

/* JP final QA lock: visitor copy, natural Japanese line breaks, stable cards */
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site h4,
body.jp-site .section-heading h2,
body.jp-site .jp-page-hero h1,
body.jp-site .jp-hero h1,
body.jp-site .rp-promo-page h1,
body.jp-site .rp-promo-panel h2,
body.jp-site .rp-go-card h1,
body.jp-site .rp-go-side h2{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
}
body.jp-site p,
body.jp-site li,
body.jp-site a,
body.jp-site span,
body.jp-site strong,
body.jp-site summary,
body.jp-site button{
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
}
body.jp-site .jp-page-hero h1{
  max-width:980px!important;
  font-size:clamp(34px,4.35vw,60px)!important;
  line-height:1.12!important;
}
body.jp-site .jp-page-hero p{
  max-width:880px!important;
}
body.jp-site .jp-product-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,450px)!important;
  align-items:center!important;
}
body.jp-site .jp-product-visual img{
  min-height:300px!important;
}
body.jp-site .guide-directory .section-heading{
  max-width:1120px!important;
}
body.jp-site .guide-directory .section-heading p{
  max-width:1120px!important;
  white-space:nowrap!important;
  font-size:15px!important;
  line-height:1.62!important;
}
body.jp-site .guide-directory .guide-groups{
  grid-auto-rows:minmax(390px,auto)!important;
}
body.jp-site .guide-directory .guide-group{
  min-height:390px!important;
}
body.jp-site .guide-directory .guide-more summary{
  outline:none!important;
  border:0!important;
}
body.jp-site .guide-directory .guide-more[open] .guide-links{
  max-height:min(54vh,520px)!important;
  overflow-y:auto!important;
  padding-right:4px!important;
}
body.jp-site .related .related-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.jp-site .related .related-card{
  min-height:170px!important;
}
body.jp-site .rp-go-layout{
  grid-template-columns:minmax(0,1fr) minmax(280px,.46fr)!important;
  align-items:stretch!important;
}
body.jp-site .rp-go-card h1{
  max-width:820px!important;
  font-size:clamp(34px,3.1vw,46px)!important;
  line-height:1.14!important;
}
body.jp-site .rp-go-precheck{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:22px 0 18px!important;
}
body.jp-site .rp-go-precheck span{
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border:1px solid rgba(16,24,32,.1)!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
body.jp-site .rp-go-code-row{
  margin-top:12px!important;
}
body.jp-site .rp-go-side h2{
  font-size:clamp(25px,2.05vw,32px)!important;
  line-height:1.18!important;
}
body.jp-site .rp-go-side li{
  font-size:14px!important;
  line-height:1.5!important;
}
body.jp-site .jp-official-facts,
body.jp-site .jp-source-box,
body.jp-site .jp-intent-panel,
body.jp-site .rp-promo-final-strip{
  overflow:hidden!important;
}
body.jp-site .jp-official-facts h2,
body.jp-site .jp-source-box h2,
body.jp-site .jp-intent-panel h2,
body.jp-site .rp-promo-final-strip h2{
  font-size:clamp(26px,2.4vw,38px)!important;
  line-height:1.18!important;
  max-width:100%!important;
}
body.jp-site .home-action-grid{
  align-items:stretch!important;
}
body.jp-site .home-action-grid .intent-card{
  min-width:0!important;
  overflow:hidden!important;
}
body.jp-site .jp-nowrap,
body.jp-site .rp-title-line .jp-nowrap{
  white-space:nowrap!important;
}
@media(max-width:1180px){
  body.jp-site .related .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.jp-site .guide-directory .section-heading p{
    white-space:normal!important;
  }
}
@media(max-width:980px){
  body.jp-site .jp-product-hero-grid,
  body.jp-site .rp-go-layout{
    grid-template-columns:1fr!important;
  }
  body.jp-site .jp-product-visual{
    max-width:520px!important;
    justify-self:center!important;
  }
  body.jp-site .rp-go-precheck{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  body.jp-site .jp-hero h1{
    font-size:clamp(30px,8vw,36px)!important;
    line-height:1.14!important;
  }
  body.jp-site .jp-page-hero h1{
    font-size:clamp(29px,8vw,36px)!important;
    line-height:1.16!important;
  }
  body.jp-site .rp-promo-page h1{
    font-size:clamp(29px,8vw,35px)!important;
    line-height:1.16!important;
  }
  body.jp-site .rp-go-card h1{
    font-size:clamp(28px,7.8vw,34px)!important;
    line-height:1.16!important;
  }
  body.jp-site .rp-go-side h2{
    font-size:clamp(25px,7vw,32px)!important;
  }
  body.jp-site .related .related-grid,
  body.jp-site .rp-go-precheck{
    grid-template-columns:1fr!important;
  }
  body.jp-site .jp-product-visual{
    max-height:220px!important;
  }
  body.jp-site .jp-product-visual img{
    min-height:220px!important;
  }
  body.jp-site .guide-directory .guide-groups{
    grid-auto-rows:auto!important;
  }
  body.jp-site .guide-directory .guide-group{
    min-height:0!important;
  }
}
@media(max-width:360px){
  body.jp-site .jp-page-hero h1,
  body.jp-site .jp-hero h1,
  body.jp-site .rp-promo-page h1,
  body.jp-site .rp-go-card h1{
    font-size:29px!important;
  }
}

/* JP deploy QA: no clipped Japanese headings or card text */
body.jp-site,
body.jp-site *{
  min-width:0;
}
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site h4,
body.jp-site .section-heading h2,
body.jp-site .jp-page-hero h1,
body.jp-site .jp-section h2,
body.jp-site .jp-final-cta h2,
body.jp-site .benefit-card h3,
body.jp-site .related-card h3,
body.jp-site .guide-group h3,
body.jp-site .rp-go-side h2,
body.jp-site .rp-go-card h1{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-break:loose!important;
  text-wrap:wrap!important;
  max-width:100%!important;
}
body.jp-site p,
body.jp-site li,
body.jp-site a,
body.jp-site span,
body.jp-site strong,
body.jp-site summary,
body.jp-site button,
body.jp-site td,
body.jp-site th{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-break:loose!important;
}
body.jp-site .benefit-card,
body.jp-site .related-card,
body.jp-site .guide-group,
body.jp-site .home-action-grid .intent-card,
body.jp-site .jp-official-facts,
body.jp-site .jp-source-box,
body.jp-site .jp-intent-panel,
body.jp-site .rp-promo-final-strip,
body.jp-site .rp-go-card,
body.jp-site .rp-go-side{
  min-width:0!important;
}
body.jp-site .rp-go-card h1,
body.jp-site .rp-go-side h2{
  min-height:0!important;
}
@media(max-width:640px){
  body.jp-site .jp-nowrap,
  body.jp-site .rp-title-line .jp-nowrap,
  body.jp-site .jp-title-line,
  body.jp-site .rp-title-line{
    white-space:normal!important;
    display:inline!important;
  }
  body.jp-site .jp-page-hero h1,
  body.jp-site .jp-section h2,
  body.jp-site .jp-final-cta h2,
  body.jp-site .benefits-carousel .section-heading h2,
  body.jp-site .partner-benefit-copy h2,
  body.jp-site .guide-directory .section-heading h2{
    font-size:clamp(27px,7.4vw,34px)!important;
    line-height:1.18!important;
  }
  body.jp-site .benefit-card h3,
  body.jp-site .related-card h3,
  body.jp-site .guide-group h3{
    font-size:clamp(20px,5.6vw,25px)!important;
    line-height:1.25!important;
  }
}

/* JP visual QA: carousel titles must stay premium and one-line on mobile. */
@media(max-width:640px){
  body.jp-site .benefit-card-content h3,
  body.jp-site .benefit-card h3{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    line-break:strict!important;
    text-wrap:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:clamp(18px,5.1vw,22px)!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
}

@media(max-width:360px){
  body.jp-site .benefit-card-content h3,
  body.jp-site .benefit-card h3{
    font-size:15px!important;
  }
}

body.jp-site .guide-directory .guide-links a,
body.jp-site .jp-final-cta .btn,
body.jp-site .rp-promo-action,
body.jp-site .rp-promo-copy{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
}

/* JP deployment QA: promo and go pages must not create orphan mobile wraps. */
@media(max-width:640px){
  body.jp-site .rp-promo-page-hero .rp-title-line{
    display:block!important;
  }
  body.jp-site .rp-promo-page-hero .rp-title-line .jp-nowrap{
    display:inline-block!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  body.jp-site .rp-promo-page-hero h1{
    font-size:clamp(30px,9.4vw,42px)!important;
    line-height:1.02!important;
  }
  body.jp-site .rp-promo-page-hero .rp-code-title{
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    font-size:clamp(18px,5.45vw,24px)!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    max-width:100%!important;
  }
  body.jp-site .rp-promo-page-hero .rp-code-title .jp-nowrap,
  body.jp-site .rp-promo-page-hero .rp-title-sep{
    display:inline!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  body.jp-site .rp-go-side li{
    font-size:clamp(14px,4.15vw,16px)!important;
    line-height:1.42!important;
  }
}

body.jp-site .home-hero.jp-hero{
  min-height:94svh!important;
}

@media(max-width:640px){
  body.jp-site .home-hero.jp-hero{
    min-height:94svh!important;
  }
  body.jp-site .home-hero.jp-hero .hero-bg img{
    object-position:82% center!important;
  }
}

@media(max-width:360px){
  body.jp-site .home-hero.jp-hero .hero-bg img{
    object-position:84% center!important;
  }
}

body.jp-site .related .related-card strong{
  font-size:clamp(15px,1.05vw,17px)!important;
  line-height:1.34!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
}

@media(max-width:640px){
  body.jp-site .related .related-card strong{
    font-size:clamp(15px,4.2vw,16px)!important;
  }
}

html:has(body.jp-site),
body.jp-site{
  overflow-x:hidden!important;
}

/* JP mobile hero QA: keep the face in frame and keep the caution line compact. */
@media(max-width:640px){
  body.jp-site .home-hero.jp-hero .hero-bg img{
    object-position:86% center!important;
  }
  body.jp-site .home-hero.jp-hero .cta-note{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    line-break:strict!important;
    text-wrap:nowrap!important;
    overflow:visible!important;
    font-size:clamp(11.5px,3.25vw,13px)!important;
    line-height:1.38!important;
  }
}

@media(max-width:360px){
  body.jp-site .home-hero.jp-hero .hero-bg img{
    object-position:88% center!important;
  }
  body.jp-site .home-hero.jp-hero .cta-note{
    font-size:11px!important;
  }
}

/* JP final QA: avoid one-character Japanese heading wraps. */
body.jp-site h1,
body.jp-site h2,
body.jp-site h3,
body.jp-site h4,
body.jp-site .section-heading h2,
body.jp-site .jp-page-hero h1,
body.jp-site .jp-section h2,
body.jp-site .jp-final-cta h2,
body.jp-site .related h2,
body.jp-site .rp-go-side h2,
body.jp-site .rp-go-card h1{
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
}

body.jp-site .benefit-card-content h3,
body.jp-site .benefit-card h3{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:nowrap!important;
  font-size:clamp(18px,1.45vw,22px)!important;
}

@media(max-width:360px){
  body.jp-site .benefit-card-content h3,
  body.jp-site .benefit-card h3{
    font-size:15px!important;
  }
}
