/* Approved responsive refinements, scoped to the illustrated partner page. */
body.tss-partner-journey .journey-page .mobile-hero,
body.tss-partner-journey .journey-page .mobile-route,
body.tss-partner-journey .journey-page .welcome-scene,
body.tss-partner-journey .journey-page .mobile-returning{display:none}
body.tss-partner-journey .journey-page .application-group{border:0;padding:0;margin:0;min-width:0;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
body.tss-partner-journey .journey-page .application-group legend{padding:0 0 15px;font-size:20px;font-weight:750;letter-spacing:-.03em}
body.tss-partner-journey .journey-page .application-group label{margin:0;display:block;font-size:17.5px;font-weight:600;grid-column:1/-1}
body.tss-partner-journey .journey-page .application-group label:has([name=tss_partner_contact_name]),body.tss-partner-journey .journey-page .application-group label:has([name=tss_partner_contact_email]){grid-column:auto}
body.tss-partner-journey .journey-page .application-reassurance{grid-column:1/-1;margin:0;font-size:17px;line-height:1.5;color:#535343}
@media(min-width:901px){
 body.tss-partner-journey .journey-page .hero{padding-top:clamp(40px,6.8svh,76px)}
 body.tss-partner-journey .journey-page .hero-copy{width:53%;max-width:670px}
 body.tss-partner-journey .journey-page .hero h1{max-width:12em;font-size:clamp(38px,4.1vw,62px);line-height:1.045;letter-spacing:-.055em;margin-bottom:20px}
 body.tss-partner-journey .journey-page .hero-lead{max-width:535px;font-size:18px;line-height:1.45}
 body.tss-partner-journey .journey-page .hero-actions{margin:23px 0 21px;gap:25px}
 body.tss-partner-journey .journey-page .hero-terms{font-size:14px;line-height:1.45;max-width:530px}
 body.tss-partner-journey .journey-page .hero-terms p{margin-bottom:5px}
 body.tss-partner-journey .journey-page .hero-terms .any-order{margin-top:10px}
}
@media(min-width:901px) and (max-height:760px){
 body.tss-partner-journey .journey-page .hero{padding-top:30px}
 body.tss-partner-journey .journey-page .hero h1{font-size:clamp(36px,3.7vw,53px);margin-bottom:14px}
 body.tss-partner-journey .journey-page .hero-lead{font-size:17px}
 body.tss-partner-journey .journey-page .hero-actions{margin:18px 0 16px}
}
@media(max-width:900px){
 body.tss-partner-journey .journey-page .opening{display:block;height:auto;min-height:0;max-height:none;padding-bottom:25px;overflow:hidden}
 body.tss-partner-journey .journey-page .opening>.hero-art,body.tss-partner-journey .journey-page .opening>.hero-canopy,body.tss-partner-journey .journey-page .opening>.hero{display:none}
 body.tss-partner-journey .journey-page .mobile-hero{display:block;max-width:540px;margin:auto;padding:30px 24px 0;position:relative}
 body.tss-partner-journey .journey-page .mobile-hero .eyebrow{font-size:10px;letter-spacing:.095em;margin:0 0 18px;line-height:1.4}
 body.tss-partner-journey .journey-page .mobile-hero h1{font-size:clamp(30px,8.2vw,44px);line-height:1.06;letter-spacing:-.055em;max-width:none;margin:0 0 17px}
 body.tss-partner-journey .journey-page .mobile-hero-lead{font-size:16px;line-height:1.45;margin:0;max-width:32ch;position:relative;z-index:2}
 body.tss-partner-journey .journey-page .mobile-hero-moment{position:relative;height:265px;margin:0 -24px;isolation:isolate;overflow:hidden}
 body.tss-partner-journey .journey-page .mobile-hero-moment>img{position:absolute;bottom:-8px;right:0;width:100%;height:auto;max-width:none;z-index:-1;mask-image:linear-gradient(90deg,transparent 32%,#000 55%)}
 body.tss-partner-journey .journey-page .mobile-offer{padding:30px 0 0 24px;width:47%;font-size:13px;line-height:1.4}
 body.tss-partner-journey .journey-page .mobile-offer p{font-size:inherit;line-height:inherit;margin:0}
 body.tss-partner-journey .journey-page .mobile-offer .mobile-rate{font-weight:800;font-size:56px;letter-spacing:-.07em;line-height:.95;margin-bottom:8px}
 body.tss-partner-journey .journey-page .mobile-rate span{font-size:.55em;letter-spacing:-.04em}
 body.tss-partner-journey .journey-page .mobile-offer .mobile-minimum{margin-top:16px}
 body.tss-partner-journey .journey-page .mobile-minimum strong{font-size:17px;line-height:1.15;display:inline-block;margin-bottom:5px;letter-spacing:-.035em}
 body.tss-partner-journey .journey-page .mobile-apply{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:52px;font-size:18px;padding:12px 18px;margin-top:-2px;position:relative;z-index:3}
 body.tss-partner-journey .journey-page .mobile-qualification{font-size:12px;line-height:1.4;color:#4b493f;margin:15px 0 8px;max-width:310px}
 body.tss-partner-journey .journey-page .mobile-partner-login{font-size:14px;display:inline-flex;align-items:center;min-height:44px}
}
@media(min-width:540px) and (max-width:900px){
 body.tss-partner-journey .journey-page .mobile-hero-moment{height:320px}
 body.tss-partner-journey .journey-page .mobile-hero-moment>img{width:88%;}
 body.tss-partner-journey .journey-page .mobile-offer{padding-top:48px;font-size:16px}
 body.tss-partner-journey .journey-page .mobile-offer .mobile-rate{font-size:70px}
 body.tss-partner-journey .journey-page .mobile-minimum strong{font-size:22px}
}
@media(max-width:360px){
 body.tss-partner-journey .journey-page .mobile-hero{padding-inline:20px;padding-top:24px}
 body.tss-partner-journey .journey-page .mobile-hero h1{font-size:29px}
 body.tss-partner-journey .journey-page .mobile-hero h1 br{display:none}
 body.tss-partner-journey .journey-page .mobile-hero-moment{margin-inline:-20px;height:235px}
 body.tss-partner-journey .journey-page .mobile-offer{padding-left:20px;padding-top:23px;width:49%;font-size:12px}
 body.tss-partner-journey .journey-page .mobile-offer .mobile-rate{font-size:48px}
 body.tss-partner-journey .journey-page .mobile-minimum strong{font-size:16px}
}
@media(max-width:800px){
 body.tss-partner-journey .journey-page .targeted-body{zoom:1;font-size:16px}
 body.tss-partner-journey .journey-page .targeted-body .chapter{padding:65px 24px 45px;scroll-margin-top:70px}
 body.tss-partner-journey .journey-page .targeted-body .chapter::before{height:90px;top:-36px}
 body.tss-partner-journey .journey-page .targeted-body h2{font-size:32px;letter-spacing:-.05em;line-height:1.08;margin:0 0 14px}
 body.tss-partner-journey .journey-page .targeted-body .eyebrow{font-size:11px;margin-bottom:15px}
 body.tss-partner-journey .journey-page .targeted-body .section-lead{font-size:16px;line-height:1.5;margin-bottom:0}
 body.tss-partner-journey .journey-page .process .process-map,body.tss-partner-journey .journey-page .process .stage-detail{display:none}
 body.tss-partner-journey .journey-page .mobile-route{display:block;list-style:none;padding:0;margin:28px 0 0;position:relative}
 body.tss-partner-journey .journey-page .mobile-route::before{content:'';position:absolute;left:19px;top:22px;bottom:30px;width:2px;background:#a5b097}
 body.tss-partner-journey .journey-page .route-stop{padding:0 0 14px;position:relative;margin:0}
 body.tss-partner-journey .journey-page .route-stop>button{display:grid;grid-template-columns:40px 1fr 22px;gap:16px;align-items:center;justify-content:start;text-align:left;background:transparent;border:0;box-shadow:none;padding:0;min-height:48px;width:100%;font-size:20px;font-weight:700;line-height:1.2}
 body.tss-partner-journey .journey-page .stop-number{width:40px;height:40px;display:grid;place-items:center;border:2px solid #101010;background:var(--cream);border-radius:50%;font-size:14px;z-index:1}
 body.tss-partner-journey .journey-page .is-open .stop-number{background:var(--yellow);box-shadow:0 3px 0 #101010}
 body.tss-partner-journey .journey-page .stop-toggle{font-size:22px;font-weight:400}
 body.tss-partner-journey .journey-page .route-answer{padding:12px 0 14px 56px}
 body.tss-partner-journey .journey-page .route-answer h3{font-size:20px;line-height:1.2;letter-spacing:-.03em;margin:0 0 10px}
 body.tss-partner-journey .journey-page .route-answer p{font-size:16px;line-height:1.5;margin:0 0 13px}
 body.tss-partner-journey .journey-page .route-answer .route-fact{padding-top:12px;border-top:1px solid #10101026;font-size:14px;font-weight:700;margin-bottom:5px}
 body.tss-partner-journey .journey-page .route-answer .route-note{font-size:13px;line-height:1.45;color:#4f5346;margin:0}
 body.tss-partner-journey .journey-page .route-car{display:block;width:45px;position:absolute;top:90px;left:-2px;transform:rotate(90deg)}
 body.tss-partner-journey .journey-page .route-car svg{width:45px;height:auto;display:block}
 body.tss-partner-journey .journey-page .application{display:block;max-width:570px;margin:auto}
 body.tss-partner-journey .journey-page .application-intro{position:relative;min-height:0;margin-bottom:24px}
 body.tss-partner-journey .journey-page .application-intro h2{max-width:240px;padding-right:12px;margin-bottom:14px}
 body.tss-partner-journey .journey-page .application-intro .section-lead{max-width:100%;font-size:16px}
 body.tss-partner-journey .journey-page .application-intro .arrival-scene,
 body.tss-partner-journey .journey-page .application-intro>p:not(.eyebrow):not(.section-lead):not(.mobile-returning),
 body.tss-partner-journey .journey-page .application-intro .returning-partner{display:none}
 body.tss-partner-journey .journey-page .mobile-returning{display:block;margin:12px 0 0;font-size:14px;line-height:1.5}
 body.tss-partner-journey .journey-page .mobile-returning a{display:inline-flex;min-height:44px;align-items:center;margin-left:4px}
 body.tss-partner-journey .journey-page .welcome-scene{display:block;position:absolute;right:-14px;top:0;width:116px;height:124px;padding:0;background:none;border:0;box-shadow:none;cursor:pointer}
 body.tss-partner-journey .journey-page .welcome-host,body.tss-partner-journey .journey-page .welcome-goose{position:absolute;display:block;background-size:400% 100%;background-repeat:no-repeat;aspect-ratio:3/4;animation:arrival-poses 8s steps(1,end) infinite}
 body.tss-partner-journey .journey-page .welcome-host{width:77px;left:0;top:0;background-image:url('assets/arrival-host.webp')}
 body.tss-partner-journey .journey-page .welcome-goose{width:54px;right:0;bottom:0;background-image:url('assets/arrival-goose.webp');animation-delay:-2s}
 body.tss-partner-journey .journey-page .welcome-scene[aria-pressed=true] span,body.tss-partner-journey .journey-page .application:focus-within .welcome-scene span{animation-play-state:paused}
 body.tss-partner-journey .journey-page .application-form{padding:0;margin:0}
 body.tss-partner-journey .journey-page .native-partner form{display:flex;flex-direction:column;gap:24px}
 body.tss-partner-journey .journey-page .application-group{display:flex;flex-direction:column;gap:17px;width:100%}
 body.tss-partner-journey .journey-page .application-group legend{font-size:18px;padding-bottom:16px;line-height:1.2}
 body.tss-partner-journey .journey-page .application-group label{font-size:15px;font-weight:600;line-height:1.45}
 body.tss-partner-journey .journey-page .application-form input:not([type=checkbox]),body.tss-partner-journey .journey-page .application-form select,body.tss-partner-journey .journey-page .application-form textarea{font-size:16px;line-height:1.4;min-height:50px;padding:12px;margin-top:7px;border-radius:4px;background:#fffdf7}
 body.tss-partner-journey .journey-page .application-form textarea{min-height:126px}
 body.tss-partner-journey .journey-page .native-partner details{margin:0;padding:16px 0}
 body.tss-partner-journey .journey-page .native-partner details label{font-size:15px;margin-top:16px}
 body.tss-partner-journey .journey-page .native-partner .tss-partner-checkbox{font-size:13px;font-weight:400;line-height:1.5;gap:12px}
 body.tss-partner-journey .journey-page .native-partner .tss-partner-checkbox input{flex:0 0 20px;width:20px;height:20px}
 body.tss-partner-journey .journey-page .application-reassurance{font-size:14px;margin:-8px 0 0;line-height:1.5}
 body.tss-partner-journey .journey-page .native-partner button[type=submit]{width:100%;font-size:18px;min-height:52px}
}
@media(max-width:350px){
 body.tss-partner-journey .journey-page .targeted-body .chapter{padding-inline:20px}
 body.tss-partner-journey .journey-page .application-intro h2{font-size:29px;max-width:195px}
 body.tss-partner-journey .journey-page .welcome-scene{right:-20px;width:95px;transform:scale(.85);transform-origin:right top}
}
@media(prefers-reduced-motion:reduce){body.tss-partner-journey .journey-page .welcome-scene span{animation:none!important}}
body.tss-partner-journey .journey-page .mobile-application-lead{display:none}
@media(max-width:800px){
 body.tss-partner-journey .journey-page .application-intro>.section-lead{display:none}
 body.tss-partner-journey .journey-page .application-intro>.mobile-application-lead{display:block!important;font-size:16px;line-height:1.5;margin:0}
 body.tss-partner-journey .journey-page .application-intro{margin-bottom:16px}
 body.tss-partner-journey .journey-page .application-group legend{padding-bottom:12px}
}
@media(max-width:900px){
 body.tss-partner-journey .journey-page .mobile-hero-moment>img{height:100%;width:100%;bottom:0;object-fit:cover;object-position:right bottom;mask-image:linear-gradient(transparent,#000 24px)}
 body.tss-partner-journey .journey-page .mobile-offer{font-size:14px;padding-top:26px;width:47%}
 body.tss-partner-journey .journey-page .mobile-qualification{font-size:13px}
 body.tss-partner-journey .journey-page .mobile-hero-moment{height:265px}
}
@media(max-width:360px){body.tss-partner-journey .journey-page .mobile-offer{font-size:12px;width:48%}body.tss-partner-journey .journey-page .mobile-hero-moment{height:235px}}
@media(min-width:540px) and (max-width:900px){body.tss-partner-journey .journey-page .mobile-hero-moment{height:320px}body.tss-partner-journey .journey-page .mobile-offer{font-size:16px;padding-top:44px}}
/* Tablet has a compact panoramic composition, distinct from the close-up on phones. */
@media(min-width:601px) and (max-width:1199px){
 body.tss-partner-journey .journey-page .opening{display:block;height:calc(100svh - var(--journey-chrome-height,108px));min-height:540px;max-height:620px;padding-bottom:0;position:relative}
 body.tss-partner-journey .journey-page .opening>.mobile-hero{display:none}
 body.tss-partner-journey .journey-page .opening>.hero{display:block;padding:48px 5vw 0;position:relative;z-index:2}
 body.tss-partner-journey .journey-page .hero-copy{width:62%;max-width:620px;margin:0;padding:0}
 body.tss-partner-journey .journey-page .hero h1{font-size:clamp(32px,4.4vw,46px);line-height:1.06;letter-spacing:-.05em;margin-bottom:18px;max-width:12em}
 body.tss-partner-journey .journey-page .hero .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:16px}
 body.tss-partner-journey .journey-page .hero-lead{font-size:17px;line-height:1.45;max-width:435px;margin:0}
 body.tss-partner-journey .journey-page .hero-actions{display:flex;flex-direction:row;align-items:center;gap:24px;margin:22px 0 20px}
 body.tss-partner-journey .journey-page .hero-actions .button{font-size:17px;padding:11px 18px;min-height:48px;gap:22px}
 body.tss-partner-journey .journey-page .hero-actions .text-link{font-size:15px;white-space:nowrap}
 body.tss-partner-journey .journey-page .hero-terms{font-size:13px;line-height:1.5;width:100%;max-width:435px;margin-left:0}
 body.tss-partner-journey .journey-page .hero-terms p{margin-bottom:5px}
 body.tss-partner-journey .journey-page .hero-terms .any-order{margin-top:11px}
 body.tss-partner-journey .journey-page .opening>.hero-art{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;z-index:0;mask-image:url('assets/hero-edge.svg');mask-size:100% 100%}
 body.tss-partner-journey .journey-page .hero-art img{position:absolute;inset:auto 0 0 auto;width:110%;height:auto;max-width:none;max-height:none;object-fit:contain;object-position:right bottom;mask-image:linear-gradient(transparent,#000 40px)}
 body.tss-partner-journey .journey-page .hero-art::after{content:none}
 body.tss-partner-journey .journey-page .opening>.hero-canopy{display:block;position:absolute;inset:0 0 0 auto;width:37%;height:100%;z-index:1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 92%,transparent)}
 body.tss-partner-journey .journey-page .hero-canopy img{width:100%;height:100%;max-width:none;object-fit:fill;object-position:right top}
}
@media(min-width:601px) and (max-width:1199px) and (max-height:760px){
 body.tss-partner-journey .journey-page .opening{min-height:510px}
 body.tss-partner-journey .journey-page .opening>.hero{padding-top:28px}
 body.tss-partner-journey .journey-page .hero h1{font-size:clamp(30px,4vw,42px);margin-bottom:14px}
 body.tss-partner-journey .journey-page .hero-lead{font-size:16px;max-width:440px}
 body.tss-partner-journey .journey-page .hero-actions{margin:16px 0 14px}
 body.tss-partner-journey .journey-page .hero-terms{font-size:12.5px}
}
