/* Every desktop chapter uses the available viewport, including presentation controls. */
.jump-return{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #101011;border-radius:50%;background:var(--accent);color:#101011;box-shadow:0 4px 18px #0003;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.jump-return[hidden]{display:none}
.jump-return svg{width:24px;height:24px;pointer-events:none}
.jump-return-down svg{transform:rotate(180deg)}
.jump-return:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #101011}
body.presenting .jump-return{bottom:calc(82px + env(safe-area-inset-bottom))}
@media(hover:hover){.jump-return:hover{transform:translateY(-3px);box-shadow:0 7px 22px #0004}}
@media(max-width:900px){.jump-return{right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.jump-return{transition:none}}
:root{--header-height:80px;--slide-height:calc(100svh - var(--header-height));--slide-pad:clamp(20px,3svh,36px)}
html:has(body[data-role]){scroll-padding-top:var(--header-height)}
body.presenting{--slide-height:calc(100svh - var(--header-height) - 72px)}
@media(max-width:760px){:root{--header-height:116px}}

/* Compact shared application form. Fields and submission stay fully visible. */
.partner-panel{padding:24px 28px;border-radius:22px}
.partner-form-heading>span{font-size:12px}
.partner-form-heading h3{font-size:24px;color:var(--accent);margin:0 0 22px}
.partner-fields{gap:13px 16px}
.partner-field label{margin-bottom:6px}
.partner-field input,.partner-field textarea{min-height:44px;padding:10px 13px}
.partner-field textarea{display:block;min-height:66px}
.partner-channel legend{margin-bottom:7px}
.partner-channel label>span{padding:8px 4px;font-size:14px}
.partner-contact-hint{margin-top:5px;line-height:1.4}
.partner-consent{line-height:1.5;margin-top:0}
.partner-submit{margin-top:18px;min-height:48px;padding:12px 17px}
.partner-submit-note{margin-top:9px}
.partner-intro h2{font-size:clamp(36px,3.7vw,58px);margin:18px 0 20px}
.partner-intro .lead{font-size:18px;line-height:1.5}
.partner-process{margin:28px 0 20px}
.partner-process li{grid-template-columns:28px 1fr;gap:16px;padding:16px 0}
.partner-process h3{font-size:20px;margin-bottom:7px}
.partner-process p{font-size:16px;line-height:1.45}
.partner-support{margin-top:20px;padding-top:16px}
.partner-success{min-height:0;padding:36px 0}

@media(min-width:901px){
 body[data-role] #main>[data-chapter]{height:var(--slide-height);min-height:0;padding-top:var(--slide-pad)!important;padding-bottom:var(--slide-pad)!important;display:flex;align-items:center;overflow:clip}
 body[data-role] #main>[data-chapter]>.wrap{width:100%;height:100%;min-height:0}
 body[data-role] .co-slide h1{font-size:clamp(40px,min(4.4vw,8.4svh),68px)}
 body[data-role] .co-slide h2{font-size:clamp(34px,min(4.1vw,calc(var(--slide-height) * .078)),58px)}
 body[data-role] .co-slide .eyebrow{font-size:12px;margin-bottom:16px}
 body[data-role] .co-slide .lead{font-size:18px;line-height:1.5}
 body[data-role] .co-slide .screen-figure{max-width:min(280px,calc((var(--slide-height) - 105px)/2.18))}
 body[data-role] .co-slide .hero-phone{max-width:calc((var(--slide-height) - 160px)/2.2)}
 .co-hero-screens{padding:0}
 .co-hero-copy>.lead{margin-top:20px}
 .co-hero-copy .actions{margin-top:22px}
 .co-hero-copy .co-next{margin-top:15px}
 .co-story-copy,.co-reputation-content .co-story-copy,.co-control-content .co-story-copy,.co-level-copy .co-story-copy,.co-formats .co-story-copy{min-height:0;margin-top:20px}
 .co-count{margin-bottom:12px}
 body[data-role] .co-slide .co-story-copy h3{font-size:clamp(26px,2.5vw,34px)}
 .co-story-copy>p{font-size:16px;line-height:1.5;margin-top:14px}
 .co-story-note{margin-top:16px;padding-top:14px}
 .co-reputation>.wrap{grid-template-rows:auto auto;align-content:center;gap:24px 9%}
 .co-reputation-heading .lead{margin-top:18px}
 .co-review-screen{padding:0}
 .co-reputation-content .co-inline-link{margin-top:8px}

 .co-motion-ready:not(.co-revealed)>.wrap{transform:none}
 /* Booking: the three real screens remain together beside the explanation. */
 .co-booking>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);grid-template-rows:auto auto;column-gap:5%;align-content:center;align-items:start}
 .co-booking-intro{grid-column:1;grid-row:1;display:block}
 body[data-role] .co-booking-intro h2{font-size:clamp(32px,2.6vw,44px)}
 .co-booking-intro .lead{margin-top:18px;font-size:16px}
 .co-booking-route{grid-column:1;grid-row:2;display:none;flex-direction:column;align-items:stretch;gap:5px;margin:22px 0 0;padding-top:16px}
 .co-booking-route>span{display:none}
 .co-booking-route button{min-height:36px;gap:12px}
 .co-booking-track{grid-column:2;grid-row:1/3;gap:6%;align-self:center}
 body[data-role] .co-booking-track .screen-figure{max-width:min(210px,calc((var(--slide-height) - 275px)/2.18))}
 .co-booking-track h3{font-size:20px;margin-top:18px}
 .co-booking-track article>p{font-size:16px;line-height:1.45;margin-top:12px}
 .co-booking-track figcaption{margin-top:10px}
 .co-booking-modes{gap:6px;margin-top:18px;flex-wrap:wrap}
 .co-booking-modes button{min-height:40px;padding:9px 12px}
 .co-booking-footer{grid-column:1;grid-row:2;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px;padding-top:16px}
 .co-booking-footer p{font-size:14px;line-height:1.5}
 .co-control>.wrap{display:flex;flex-direction:column;justify-content:center}
 .co-control-stage{margin-top:22px;gap:7%;min-height:0}
 .co-calendar-art{padding:0}
 body[data-role] .co-control-proof .screen-figure{max-width:min(290px,calc((var(--slide-height) - 250px)/2.18))}
 .co-formats>.wrap{display:flex;flex-direction:column;justify-content:center}
 .co-formats-stage{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);margin-top:24px;gap:8%;min-height:0}
 .co-controls-rail{padding-top:0}
 .co-controls-rail button{min-height:58px;padding:14px 10px;font-size:16px}
 body[data-role] .co-formats .screen-figure{max-width:min(250px,calc((var(--slide-height) - 185px)/2.18))}
 .co-formats .phone img{max-height:calc(var(--slide-height) - 200px);object-fit:contain}
 .co-formats .co-story-copy{margin-top:24px}
 .co-formats body[data-role] .co-slide .co-story-copy h3{font-size:26px}
 .co-level-stage{height:100%;min-height:0}
 .co-level-copy .lead{margin-top:18px}
 .co-level-copy .co-controls{margin-top:20px}
 .co-level-visual{padding:0}
 .co-player-art{height:100%;display:flex;align-items:center;justify-content:center}
 .co-player-art>img{height:100%;max-height:calc(var(--slide-height) - 45px);width:115%;object-fit:contain}
 .co-player .lead{margin-top:22px}
 .co-faq>.wrap{align-items:center}
 .co-faq-list{max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8a99ac transparent}
 .co-faq-list summary{padding:15px 35px 15px 0;font-size:16px;line-height:1.4}
 .co-faq-answer{padding-bottom:17px}
 .co-faq-answer p{line-height:1.5}

 body[data-role] .partner-section>.wrap{height:auto;max-height:100%}
 .partner-layout{grid-template-columns:minmax(0,1fr) minmax(450px,.95fr);gap:7%;align-items:center}
 .partner-section .eyebrow{margin-bottom:0}
 .partner-process p{max-width:none}
 .partner-contact-hint{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;margin:0}
 .partner-panel{max-height:calc(var(--slide-height) - 2 * var(--slide-pad));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5e6570 transparent}
 .partner-section .partner-intro h2{font-size:clamp(34px,min(3.5vw,6.5svh),54px)}
 .partner-section .partner-note{font-size:14px;line-height:1.45}

 /* Remove old minimums which made short laptop windows taller than a slide. */
 body[data-role] .pl-slide>.wrap,body[data-role] .club-slide>.wrap{height:100%}
 .pl-faq-questions,.club-faq-grid{max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .club-collection-universe{max-height:100%;min-height:0}
 .pl-awards-actions{margin-top:22px}
 body[data-role] .pl-hero-screens .screen-figure,body[data-role] .club-hero .screen-figure{max-width:calc((var(--slide-height) - 160px)/2.2)}
 .pl-social-stage .pl-visual>.pl-mockup{max-width:calc((var(--slide-height) - 140px)/2.18)}
 .pl-social-favorites{max-width:calc((var(--slide-height) - 160px)/2.18)}
 .presentation-bar{height:52px;bottom:10px;padding:4px;align-items:center}
 .presentation-bar button{min-height:40px;line-height:1;padding:6px 12px}
}

@media(min-width:901px) and (max-height:850px){
 :root{--slide-pad:18px}
 .partner-panel{padding:18px 24px}
 .partner-form-heading h3{margin-bottom:12px}
 .partner-field label{margin-bottom:4px}
 .partner-field textarea{height:56px;min-height:56px}
 .partner-section .partner-intro h2{font-size:36px;margin:14px 0 16px}
 .partner-fields{gap:8px 14px}
 .partner-process{margin:16px 0 12px}
 .partner-process li{padding:8px 0}
 .partner-process h3{font-size:18px}
 .partner-process p{font-size:16px;line-height:1.4}
 .partner-support{margin-top:14px;padding-top:12px}
 .partner-intro .lead{font-size:16px}
 .partner-submit{margin-top:14px}
 .partner-submit-note{margin-top:8px}
 .co-story-copy,.co-reputation-content .co-story-copy,.co-control-content .co-story-copy,.co-level-copy .co-story-copy{margin-top:16px}
 body[data-role] .co-slide .co-story-copy h3{font-size:26px}
 .co-story-copy>p{margin-top:12px}
 .co-story-note{padding-top:12px;margin-top:12px}
 .co-controls button{min-height:42px;padding:10px 14px}
 .co-reputation>.wrap{row-gap:20px}
 .co-level-copy .lead{font-size:16px}
 .co-level-copy .co-controls{margin-top:16px}
 .co-faq-list summary{padding-top:13px;padding-bottom:13px}
}

/* Small screens retain readable type and touch targets rather than shrinking a desktop slide. */
@media(max-width:900px){
 #presentation-toggle,.presentation-bar{display:none!important}
 body.presenting .section{min-height:0}
 #main .text-link,#main .co-inline-link,.partner-support>a{display:inline-flex;align-items:center;min-height:44px}
 [data-pl-review]{min-height:44px}
 dialog .close-dialog{min-width:44px;min-height:44px}
 #screen-flow-tabs button,#screen-flow-prev,#screen-flow-next{min-height:44px;font-size:14px}
 body[data-role] .partner-section{padding:40px 6vw}
 .partner-layout{grid-template-columns:1fr;gap:28px}
 .partner-intro h2{font-size:clamp(32px,6.5vw,44px)}
 .partner-process{margin-top:24px}
 .partner-panel{width:100%;max-width:580px;max-height:none;overflow:visible}
 .partner-success{padding:20px 0}
 body[data-role] #main>[data-chapter]{overflow:clip}
 .mobile-rail{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:stretch;gap:8px!important;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:currentColor transparent;padding:8px 0 12px!important;min-width:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .mobile-rail>button{flex:0 0 auto!important;max-width:85vw;min-height:44px!important;padding:11px 15px!important;font-size:14px!important;line-height:1.35!important;white-space:normal;scroll-snap-align:center;border:1px solid currentColor!important;border-radius:10px!important;display:flex;align-items:center;gap:10px}
 .mobile-rail>button[aria-pressed=true]{border-color:var(--accent)!important}
 .co-reputation-content>.mobile-rail,.co-control-content>.mobile-rail{position:sticky;top:var(--header-height);z-index:5;background:var(--rail-bg,#191b20)}
 .mobile-rail .co-index,.mobile-rail .co-control-arrow,.mobile-rail .pl-step,.mobile-rail .pl-step-arrow,.mobile-rail>button>i{display:none}
 .mobile-rail>button:focus-visible{outline-offset:-4px}
 .co-controls-rail>button{white-space:nowrap}
 .co-formats-stage{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-top:24px}
 .co-formats-detail .co-controls{margin:0 0 20px}
 .co-slide .co-story-copy,.co-reputation-content .co-story-copy,.co-control-content .co-story-copy,.co-formats .co-story-copy,.co-level-copy .co-story-copy{min-height:0}
 .co-reputation-stage{display:flex;flex-direction:column;gap:0}
 .co-reputation-content{display:contents}
 .co-reputation-content>.co-controls{order:1;margin-top:24px}
 .co-review-screen{order:2;margin:20px 0}
 .co-reputation-content>.co-story-copy{order:3;margin-top:8px}
 .co-reputation-content>.co-inline-link{order:4;align-self:flex-start;margin-top:16px}
 .co-control-stage{display:flex;flex-direction:column}
 .co-control-content{display:contents}
 .co-control-content>.co-controls{order:1;margin-bottom:20px}
 .co-control-proof{order:2}
 .co-control-content>.co-story-copy{order:3;margin-top:20px}
 .co-booking-route{position:sticky;top:var(--header-height);z-index:5;background:#edf0f5;margin-top:24px;padding:12px 0;border-bottom:1px solid #b2bdce}
 .co-booking-route button{min-height:52px;font-size:12px;flex:1;gap:7px;border-radius:8px;padding:8px}
 .co-booking-route button span{font-size:13px;line-height:1.4}
 .co-booking-route button[aria-pressed=true]{background:#d8e3f6}
 .co-booking-route>span{display:none}
 .co-booking-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:thin;padding:10px 0 24px}
 .co-booking-track article{display:flex;flex-direction:column;flex:0 0 90%;scroll-snap-align:start;scroll-snap-stop:always}
 .co-booking-track .co-booking-result{order:2}
 .co-booking-track .co-booking-modes{order:1;margin:0 0 16px;justify-content:center}
 .co-booking-track .co-booking-result-copy{order:3}
 .co-booking-track .screen-figure{max-width:min(240px,calc((100svh - var(--header-height) - 200px)/2.18))}
 .co-booking-modes button{min-height:44px;font-size:14px}
 .pl-collection-picks,.org-award-picks{max-width:100%;overflow-x:auto;scrollbar-width:thin;padding:6px 4px}
 .pl-collection-picks button{flex-shrink:0;min-width:44px;min-height:44px}
 .org-award-picks button{flex-shrink:0;min-width:62px;min-height:44px}
 .club-step-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;scrollbar-width:thin;max-width:100%;padding-bottom:10px}
 .club-step-list button{flex:0 0 auto;min-height:44px;padding:10px 12px;font-size:14px;border:1px solid #586347;border-radius:9px;white-space:nowrap}
 .club-step-list button[aria-pressed=true]{background:#ffd235;color:#192116}
 .club-step-list button:before{display:none!important}
 .club-step-list button[aria-pressed=true] span{border-color:currentColor}
 .club-screen-switch button,.club-term-subnav button{min-height:44px;font-size:14px;padding:10px 13px}
 .club-term-detail{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}
 .club-price-table{min-width:520px;font-size:14px}
 .club-price-table thead th{font-size:12px}
 .club-term-detail:has(.club-price-table):before{content:'Прокрутите таблицу →';display:block;font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 12px}
 .club-return-rail,.club-review-index{margin-bottom:22px}
 .org-tournament-steps button span{display:none}
 .org-doubt-controls>button{max-width:280px;text-align:left}
 .partner-field input,.partner-field textarea{font-size:16px}
 .partner-channel label>span{min-height:44px;display:grid;place-items:center;padding:8px 4px}
 .partner-consent{font-size:13px;line-height:1.5;padding:7px 0;min-height:44px}
 .partner-submit{min-height:48px}
}
@media(max-width:760px){
 .header{height:116px;padding:8px 5vw;gap:4px}
 .header .brand{display:flex;align-items:center;min-height:44px}
 .role-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 7px}
 #presentation-toggle{min-height:44px}
}
@media(min-width:761px) and (max-width:900px){body[data-role=organizer] .org-hero>.wrap{display:flex;flex-direction:column}.org-hero .hero-copy{width:100%}}
