/* Readability refinements for the shared inner-page shell. */
.page-content :is(.page-head,.ribbon,.sec-ribbon,.offer,.quest,.ach-body,.rh-left,.rp-plate,.calc-step,.calc-result,.invite-form){min-inline-size:0}
.page-content :is(h1,h2,h3,h4,.ach-body>b,.quest>b){max-inline-size:100%;line-height:1.25;overflow-wrap:break-word;text-wrap:balance}
.page-content :is(.page-head .sub,.bio,.rh-note){max-inline-size:72ch}
.page-content :is(.kicker,.tier,.rh-kicker){max-inline-size:100%;overflow-wrap:anywhere;line-height:1.7}
.page-content :is(.cat-grid,.quest-grid,.ach-grid,.roster,.calc-wrap,.lobby-grid)>*{min-inline-size:0}
.page-content :is(.btn,.btn-launch){max-inline-size:100%;line-height:1.25;text-align:center}
.page-content .btn>span{max-inline-size:100%}
.page-toolbar{gap:14px}
.page-toolbar>a{min-inline-size:0;line-height:1.6}
.language-toggle{flex:none;min-height:36px}

/* Give labels their own space instead of placing them over titles or art. */
.page-content .quest .q-tag{position:static;align-self:flex-start;font-size:10px;line-height:1.5;letter-spacing:.04em;margin:0 0 7px}
.page-content .locked-stamp{position:static;align-self:flex-start;transform:none;box-shadow:none;padding:4px 10px;font-size:10px;letter-spacing:.12em}
.page-content .ladder .lock-pip{position:static;align-self:flex-start;line-height:1}
.page-content .ladder .ln{line-height:1.25;text-wrap:balance}
.page-content .ladder .lp{line-height:1.3}
.page-content .ladder .ld{font-size:12px;line-height:1.7}
.page-content .ladder .lp small{display:inline-block;white-space:nowrap}
.page-content .stage{padding:58px 24px 26px;align-self:start;min-height:420px}
.page-content .stage .tag{inset:22px 24px auto;font-size:10px;line-height:1.6;letter-spacing:.07em;max-inline-size:calc(100% - 48px)}
.page-content .stage img{max-height:350px}
.page-content .tags{gap:7px}
.page-content .tags span,.page-content .duo-badges i{max-inline-size:100%;transform:none;font-size:10px;line-height:1.6;letter-spacing:.035em}
.page-content .tags span b{transform:none}
.page-content .duo-badges{flex-wrap:wrap}
.page-content .perks li{min-inline-size:0;font-size:13px;line-height:1.75;gap:9px}
.page-content .perks li>*{min-inline-size:0}
.page-content .price-block{gap:10px 16px;padding:16px}
.page-content .price{transform:none;text-shadow:none}
.page-content .price small{display:inline-block;line-height:1.5;letter-spacing:.02em;white-space:nowrap}
.page-content .power-badge{max-inline-size:100%;transform:none;animation:none;box-shadow:none;font-size:10px;line-height:1.6;letter-spacing:.04em}
.page-content .cta-note{max-inline-size:100%;font-size:11px;line-height:1.7;letter-spacing:0}
.page-content .chat .cl{min-inline-size:0;font-size:12px;line-height:1.75}
.page-content .chat .cl>span:last-child{min-inline-size:0}
.page-content .chat .who{transform:none;font-size:9px;letter-spacing:.025em}

/* Timeline cards grow with copy; the year controls reserve their own row. */
.page-content .ach-body{inline-size:100%}
.page-content .ach-body b{display:block;line-height:1.25}
.page-content .ach-body p{font-size:13px;line-height:1.75}
.page-content .ach-body .rar-txt{line-height:1.7}
.page-content .trophy-strip .lbl{font-size:11px;line-height:1.65}
.page-content .season-row{align-items:stretch;scroll-padding-inline:4px}
.page-content .season-card{height:auto;min-height:250px;filter:none}
.page-content .season-inner{height:100%;min-height:250px;overflow:visible;padding:24px}
.page-content .season-inner .headline{line-height:1.3;overflow-wrap:break-word}
.page-content .season-inner p{font-size:12px;line-height:1.75}
.page-content .timeline-rail{height:auto;min-height:36px;background:none;align-items:center;gap:8px}
.page-content .timeline-rail button{min-height:36px;min-width:44px}
.page-content .career-cta{flex-wrap:wrap}

/* Keep option labels and result values readable without widening the wizard. */
.page-content .calc-step>h3{align-items:flex-start;gap:10px}
.page-content .calc-step>h3 .n{margin-top:3px}
.page-content .calc-step>h3>span:not(.n){min-inline-size:0}
.page-content .calc-rail .st{min-inline-size:0}
.page-content .calc-rail .lbl{white-space:normal;line-height:1.5}
.page-content .calc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-content .calc-fields.one{grid-template-columns:minmax(0,1fr)}
.page-content .opt{min-inline-size:0;padding:13px 10px;min-height:70px}
.page-content .opt .t{max-inline-size:100%;font-size:12px;line-height:1.5}
.page-content .mf label{line-height:1.6;letter-spacing:.04em}
.page-content .mf .hint{font-size:12px;line-height:1.7}
.page-content .cr-row{align-items:flex-start;gap:14px}
.page-content .cr-row .k{min-inline-size:0;font-size:11px;letter-spacing:.035em;line-height:1.7}
.page-content .cr-row .v{max-inline-size:58%;line-height:1.65}
.page-content .cr-plan .nm{font-size:23px;line-height:1.3}
.page-content .cr-plan .why,.page-content .cr-note,.page-content .cr-fine{font-size:11px;line-height:1.75}
.page-content .cr-deal .dl{align-items:flex-start}
.page-content .cr-deal .dl>span{min-inline-size:0}
.page-content .cr-deal .dl>span:last-child{text-align:right}
.page-content .calc-nav .btn{min-inline-size:0}

/* Contact fields and decorative slots stay within the actual content column. */
.page-content .lobby-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px}
.page-content .slot{transform:none;gap:12px;padding:18px}
.page-content .slot>*{transform:none}
.page-content .slot .s-info i{display:block;font-size:10px;line-height:1.6;letter-spacing:.04em}
.page-content .slot .ready{flex:none;font-size:12px;letter-spacing:.02em}
.page-content .match-settings .ms-row{gap:15px;align-items:flex-start}
.page-content .match-settings .ms-row .v{text-align:right;line-height:1.7;letter-spacing:0}
.page-content .terms-panel h4{font-size:14px;line-height:1.5;letter-spacing:0}
.page-content .terms-panel dt{line-height:1.6;letter-spacing:0}
.page-content .terms-panel dd{font-size:12px;line-height:1.8}
.page-content .email-chip{max-inline-size:100%;flex-wrap:wrap;font-size:12px;line-height:1.7}
.page-content .field :is(input,select,textarea){min-inline-size:0;max-inline-size:100%;line-height:1.5}
.page-content .field select{padding-right:36px}
.page-content .field-consent label{min-inline-size:0;font-size:12px;line-height:1.7}
.page-content .form-hint{font-size:11px;line-height:1.75}
.page-content .form-hint .kbd{margin-right:5px}

/* Bio overlays can scroll inside a portrait rather than cutting off paragraphs. */
.page-content .rp-over{max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#165674 transparent;padding:20px}
.page-content .rp-desc{font-size:12px;line-height:1.75}
.page-content .rp-plate{padding-inline-end:26px}
.page-content .rp-plate h3{line-height:1.22}
.page-content .rp-num{top:18px;right:8px;font-size:11px}
.page-content .rp-role{font-size:11px;line-height:1.65}
.page-content .rp-tags i{font-size:9px;line-height:1.6;letter-spacing:.02em}
.page-content .rh-stats{flex-wrap:wrap}
.page-content .rh-stat span{font-size:10px;line-height:1.7;letter-spacing:.04em}

@media(max-width:1020px){
  .page-content .lobby-grid{grid-template-columns:minmax(0,1fr)}
  .page-content .stage{min-height:370px}
  .page-content .stage img{max-height:310px}
}
@media(max-width:760px){
  .page-content .page-head h1,.page-content .ribbon h2,.page-content #hero-select .ribbon h2{font-size:clamp(30px,7vw,38px);line-height:1.2}
  .page-content :is(.sec-ribbon h2,.offer h3){font-size:clamp(27px,6.2vw,32px);line-height:1.25}
  .page-content .page-head .sub{line-height:1.85}
  .page-content .stage{min-height:0;padding:54px 22px 24px}
  .page-content .stage img{max-height:270px}
  .page-content .ladder .ld{font-size:11px;line-height:1.75}
  .page-content .price.range{font-size:clamp(29px,7.4vw,40px)}
  .page-content .chat .cl{flex-direction:column;gap:4px}
  .page-content .chat .who{margin-top:0}
  .page-content .rp-over{padding:15px}
  .page-content .rp-desc{font-size:12px;line-height:1.65}
  .page-content .rp-role{font-size:10px;line-height:1.6}
  .page-content .rp-plate h3{font-size:26px}
  .page-content .rp-num{top:17px}
  .page-content .field :is(input,select,textarea),.page-content .mf input{font-size:16px}
  .page-content .field input,.page-content .field select{min-height:50px}
  .page-content .opt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-content .opt{min-height:68px;padding:12px 9px}
  .page-content .calc-step>h3{font-size:23px}
  .page-content .calc-nav .btn{font-size:22px;padding-inline:10px}
  .page-content .trophy-strip .lbl{font-size:11px}
}
@media(max-width:420px){
  .page-content .roster-head h2{font-size:34px;line-height:1.2}
  .page-content .rp-over{padding:22px}
  .page-content .rp-desc{font-size:13px;line-height:1.75}
  .page-content .rp-plate h3{font-size:30px}
  .page-content .rp-role{font-size:11px}
  .page-content .calc-fields{grid-template-columns:minmax(0,1fr)}
  .page-content .calc-rail{gap:5px}
  .page-content .slot .ready{font-size:10px}
  .page-content .slot .s-avatar,.page-content .slot.empty .plus{width:36px;height:42px}
}
