/* Variant 2 — website booking and Telegram cabinet. Kept separate from the published R03 styles. */
[hidden]{display:none!important}

/* From a single result to a measurable development path. */
.development-section{background:#e9e9e4!important;border-top:1px solid #d0d1cb;border-bottom:1px solid #cfd0ca}
.development-title{align-items:flex-end}
.development-title>div{max-width:880px}
.development-title>p{max-width:410px!important;color:#555852!important}
.development-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid #bfc1bb;border-bottom:1px solid #bfc1bb}
.development-step{position:relative;min-height:310px;padding:26px 24px 30px;border-right:1px solid #c8cac4}
.development-step:last-child{border-right:0}
.development-step::before{content:"";position:absolute;left:0;top:-2px;width:0;height:3px;background:var(--red);transition:width .35s var(--ease)}
.development-step:hover::before{width:100%}
.development-number{font-size:11px;letter-spacing:.12em;color:#777a74}
.development-kicker{margin-top:48px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#555852}
.development-step h3{margin-top:14px;font-size:27px;line-height:1.18;color:#171918}
.development-step>p:last-child{margin-top:18px;font-size:14px;line-height:1.75;color:#656862}
.development-note{display:flex;align-items:flex-start;gap:12px;max-width:none;margin-top:24px;font-size:13px;line-height:1.7;color:#5a5d57}
.development-note span{flex:0 0 auto;color:var(--red);font-size:9px;margin-top:7px}

/* A truthful, anonymised explanation of the working rider cabinet. */
.cabinet-section{border-color:#313131;padding-bottom:118px}
.cabinet-intro{align-items:flex-end;margin-bottom:44px}
.cabinet-heading{max-width:820px}
.cabinet-lead{max-width:760px;margin-top:26px;font-size:17px;line-height:1.8;color:#bcbdb7}
.cabinet-intro>.text-link{flex:0 0 auto;margin-bottom:5px}
.cabinet-showcase{border:1px solid #333634;background:#0d0e0e;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.cabinet-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #343735;background:#111212}
.cabinet-tabs button{position:relative;display:flex;align-items:center;gap:13px;min-height:68px;padding:17px 22px;border:0;border-right:1px solid #343735;background:transparent;color:#aeb0aa;text-align:left;font-size:14px;font-weight:500}
.cabinet-tabs button:last-child{border-right:0}
.cabinet-tabs button::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:3px;background:var(--red);transition:right .25s var(--ease)}
.cabinet-tabs button:hover{background:#171818;color:#fff}
.cabinet-tabs button[aria-selected=true]{background:#181919;color:#fff}
.cabinet-tabs button[aria-selected=true]::after{right:0}
.cabinet-tabs button span{font-size:10px;letter-spacing:.12em;color:#7f817c}
.cabinet-tabs button[aria-selected=true] span{color:#d8d9d4}
.cabinet-panel{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(0,1.72fr);min-height:535px}
.cabinet-panel-copy{display:flex;flex-direction:column;padding:46px 38px 38px;border-right:1px solid #343735;background:#0b0c0c}
.cabinet-demo-label{font-size:10px;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:#858781}
.cabinet-panel-copy>.eyebrow{margin-top:54px;color:#aaaca6}
.cabinet-panel-copy h3{margin-top:16px;font-size:37px;line-height:1.16}
.cabinet-panel-copy>p:not(.eyebrow):not(.cabinet-demo-label){margin-top:21px;font-size:15px;line-height:1.8;color:#b6b8b2}
.cabinet-facts{margin:auto 0 0;padding-top:34px;border-top:1px solid #303230}
.cabinet-facts>div{display:grid;grid-template-columns:94px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #242625}
.cabinet-facts>div:last-child{border-bottom:0}
.cabinet-facts dt{font-size:11px;color:#777a74}
.cabinet-facts dd{margin:0;font-size:12px;color:#d4d5d0}
.cabinet-visual{min-width:0}
.cabinet-panel .cabinet-image{display:flex;flex-direction:column;justify-content:center;margin:0;padding:34px;background:#141616;border:0}
.cabinet-panel .cabinet-image img{width:100%;height:auto;max-height:395px;object-fit:contain}
.cabinet-panel .cabinet-image figcaption{margin-top:18px;color:#afb1ab}
.cabinet-demo-window{display:flex;flex-direction:column;margin:32px;padding:0 32px 28px;border:1px solid #384047;background:linear-gradient(180deg,#171d21 0%,#101518 100%);color:#f1f3f2;box-shadow:0 22px 55px rgba(0,0,0,.3)}
.demo-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin:0 -32px;padding:0 25px;border-bottom:1px solid #343c41;color:#b9c0c3;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.demo-toolbar span:last-child{color:#f0f2ef;border:1px solid #545e63;padding:4px 7px;font-size:9px}
.demo-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:32px 0 25px}
.demo-history-head>div:first-child span{display:block;font-size:12px;color:#929da2}
.demo-history-head>div:first-child strong{display:block;margin-top:8px;font:500 28px/1.2 Oswald,Arial,sans-serif}
.demo-score{display:flex;align-items:flex-end;gap:7px}
.demo-score b{font:500 54px/.9 Oswald,Arial,sans-serif}
.demo-score span{font-size:11px;color:#9ba5aa;padding-bottom:4px}
.demo-session-list{border-top:1px solid #3b4449}
.demo-session{display:grid;grid-template-columns:100px 1fr 42px;align-items:center;gap:15px;min-height:60px;border-bottom:1px solid #30383d;color:#bac2c5}
.demo-session span{font-size:11px;color:#858f94}
.demo-session strong{font-size:13px;font-weight:500}
.demo-session em{font:500 22px/1 Oswald,Arial,sans-serif;text-align:right;font-style:normal}
.demo-session.active{color:#fff}
.demo-session.active strong::before{content:"";display:inline-block;width:13px;height:2px;margin:0 10px 4px 0;background:var(--red)}
.demo-chart{height:92px;display:flex;align-items:flex-end;gap:17px;margin-top:25px;padding:0 24px 0 8px;border-bottom:1px solid #586269;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,rgba(131,143,149,.15) 30px)}
.demo-chart i{display:block;flex:1;height:var(--value);min-height:18px;border:1px solid #728087;border-bottom:0;background:#333d42}
.demo-chart i.current{border-color:#c0c8cb;background:linear-gradient(180deg,#7a878d,#364148);box-shadow:inset 0 3px 0 var(--red)}
.demo-footnote{margin-top:auto;padding-top:21px;font-size:11px;line-height:1.6;color:#929da2}
.guidance-window,.materials-window{padding-bottom:32px}
.guidance-scoreline{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border:1px solid #3d464b}
.guidance-scoreline>div{padding:22px;border-right:1px solid #3d464b}
.guidance-scoreline>div:last-child{border-right:0}
.guidance-scoreline span{display:block;font-size:11px;color:#909a9f}
.guidance-scoreline strong{display:block;margin-top:8px;font:500 34px/1 Oswald,Arial,sans-serif}
.guidance-card{display:grid;grid-template-columns:34px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid #31393e}
.guidance-card>span{font-size:10px;color:#aeb7ba;padding-top:3px}
.guidance-card strong{font-size:14px;font-weight:500}
.guidance-card p{margin-top:7px;font-size:12px;line-height:1.65;color:#9ba5aa}
.material-file{display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:18px;min-height:102px;border-bottom:1px solid #354046}
.material-type{display:grid;place-items:center;width:46px;height:46px;border:1px solid #657177;color:#e7eae8;font-size:10px;letter-spacing:.08em}
.material-file strong{font-size:15px;font-weight:500}
.material-file p{margin-top:6px;font-size:12px;color:#929da2}
.material-file>span:last-child{font-size:18px;color:#aeb8bc;text-align:right}
.material-availability{display:flex;align-items:flex-start;gap:12px;margin-top:auto;padding-top:26px;color:#9aa4a8}
.material-availability>span{color:var(--red);font-size:8px;margin-top:7px}
.material-availability p{font-size:12px;line-height:1.65}
.cabinet-benefits{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:0;border:1px solid #333634;border-top:0}
.cabinet-benefits article{min-height:180px;padding:25px 21px;border-right:1px solid #333634}
.cabinet-benefits article:last-child{border-right:0}
.cabinet-benefits article>span{font-size:10px;letter-spacing:.12em;color:#777a74}
.cabinet-benefits h3{margin-top:24px;font-size:15px!important}
.cabinet-benefits p{margin-top:12px!important;font-size:13px!important;line-height:1.7!important;color:#aeb0aa!important}
/* Direct contact: one clear phone action, then a choice of messengers. */
.contact-block{padding-block:104px}
.contact-grid{grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:96px;align-items:start}
.contact-heading h2{max-width:8.5ch}
.contact-heading .contact-intro{max-width:430px;margin-top:26px;font-size:16px;line-height:1.75;opacity:.92}
.contact-panel{border-top:1px solid rgba(255,255,255,.72)}
.contact-label{font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
.contact-phone{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label arrow" "number arrow" "note arrow";align-items:center;min-height:158px;padding:23px 24px 24px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.contact-phone .contact-label{grid-area:label;opacity:.78}
.contact-phone strong{grid-area:number;margin-top:10px;font:500 clamp(30px,3vw,43px)/1.12 Oswald,Arial,sans-serif;letter-spacing:-.015em}
.contact-phone small{grid-area:note;margin-top:7px;font-size:12px;opacity:.76}
.contact-phone .contact-arrow{grid-area:arrow;font-size:27px;transition:transform .2s var(--ease)}
.contact-phone:hover .contact-arrow{transform:translate(4px,-4px)}
.contact-write-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 14px}
.contact-write-head small{font-size:11px;opacity:.74}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.48)}
.contact-channels a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:120px;padding:18px 38px 17px 17px;border-right:1px solid rgba(255,255,255,.38);transition:background .2s,color .2s}
.contact-channels a:last-child{border-right:0}
.contact-channels a:hover{background:#fff;color:#111}
.contact-channels strong{font-size:13px;font-weight:600;line-height:1.35}
.contact-channels small{margin-top:8px;font-size:10px;line-height:1.45;opacity:.74}
.contact-channels a>span{position:absolute;right:15px;top:14px;font-size:17px}
.contact-booking{display:flex;align-items:center;gap:20px;margin-top:24px}
.contact-booking .button{flex:0 0 auto;margin:0}
.contact-booking>p{max-width:210px;font-size:11px;line-height:1.55;opacity:.76}
.contact-block .price-note{margin-top:20px;font-size:13px;line-height:1.65;color:#fff;opacity:1}
.contact-block .price-note+.fine{margin-top:8px}
.footer-links{flex-wrap:wrap}
.contact-block .fine a{border-bottom:1px solid rgba(255,255,255,.72)}
.contact-block .fine a:hover{border-bottom-color:#fff}

/* Variant 2: the site selects a real open day; Telegram verifies the phone and keeps the cabinet. */
.booking-section{background:#e9e9e4!important;color:#151716;border-top:1px solid #cbccc6;border-bottom:1px solid #c6c8c1}
.booking-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(540px,1.14fr);gap:88px;align-items:start}
.booking-intro h2{max-width:720px;margin-top:18px;font-size:clamp(48px,5vw,72px)}
.booking-lead{max-width:570px;margin-top:28px;font-size:16px;line-height:1.8;color:#5b5e58}
.booking-public-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px;border-top:1px solid #bfc1bb;border-bottom:1px solid #bfc1bb}
.booking-public-conditions article{display:flex;min-width:0;flex-direction:column;padding:20px 22px 21px 0}
.booking-public-conditions article+article{padding-left:22px;border-left:1px solid #c7c9c2}
.booking-public-conditions span{font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#747771}
.booking-public-conditions strong{margin-top:8px;font:500 27px/1.2 Oswald,Arial,sans-serif;color:#171918}
.booking-public-conditions small{margin-top:7px;font-size:12px;line-height:1.55;color:#666963}
.booking-steps{margin:44px 0 0;padding:0;list-style:none;border-top:1px solid #bfc1bb}
.booking-steps li{display:grid;grid-template-columns:42px 1fr;gap:4px 16px;padding:19px 0;border-bottom:1px solid #c7c9c2}
.booking-steps li>span{grid-row:1/3;padding-top:3px;font-size:10px;letter-spacing:.12em;color:var(--red)}
.booking-steps strong{font-size:14px;font-weight:600}
.booking-steps small{font-size:12px;line-height:1.6;color:#696c66}
.booking-existing{margin-top:24px;font-size:12px;color:#62655f}
.booking-existing a{border-bottom:1px solid #777a74;color:#202321}
.booking-card{position:relative;overflow:hidden;border:1px solid #323533;background:#0d0e0e;color:#f6f6f3;box-shadow:0 28px 70px rgba(0,0,0,.18)}
.booking-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red)}
.booking-public-copy{padding:34px 28px 31px}
.booking-public-copy h3{max-width:560px;margin-top:9px;font-size:36px;line-height:1.18}
.booking-public-copy>p:not(.booking-step-label):not(.booking-local-note){max-width:520px;margin-top:20px;font-size:14px;line-height:1.75;color:#b8bbb5}
.booking-public-actions{display:grid;gap:18px;margin-top:28px}
.booking-public-actions .button{width:100%}
.booking-public-actions .text-link{width:max-content;max-width:100%;color:#fff}
.booking-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 28px 22px;border-bottom:1px solid #343735}
.booking-card-head>div>span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#92958f}
.booking-card-head>div>strong{display:block;margin-top:7px;font:500 27px/1.15 Oswald,Arial,sans-serif}
.booking-required{padding-top:2px;font-size:10px;color:#a7aaa4}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-bottom:1px solid #343735;background:#111212}
.booking-progress li{position:relative;display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 13px;border-right:1px solid #343735;color:#9a9d97;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.booking-progress li:last-child{border-right:0}
.booking-progress li::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--red);transition:right .25s var(--ease)}
.booking-progress li span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #555954;font-size:9px}
.booking-progress li[aria-current=step]{background:#181919;color:#f2f3ef}
.booking-progress li[aria-current=step]::after{right:0}
.booking-progress li[aria-current=step] span{border-color:#f2f3ef}
#booking-form{padding:28px}
.booking-form-step h3{margin-top:7px;font-size:34px;line-height:1.15}
.booking-step-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#888c86}
.booking-days{display:grid;gap:8px;margin-top:24px}
.booking-day-option{position:relative;display:block;min-width:0}
.booking-day-option>input{position:absolute;opacity:0;pointer-events:none}
.booking-day{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:0;padding:18px;border:1px solid #4a4e4a;background:#151716;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
.booking-day-option:hover .booking-day{border-color:#858a84;background:#181a19}
.booking-day-option>input:checked+.booking-day{border-color:#f1f2ee;background:#191b1a;box-shadow:inset 3px 0 0 var(--red)}
.booking-day-option>input:focus-visible+.booking-day{outline:2px solid var(--red);outline-offset:2px}
.booking-loading,.booking-closed{margin:0;padding:19px;border:1px solid #464a46;background:#151716;color:#aeb1ab;font-size:12px;line-height:1.7}
.booking-closed{border-left:2px solid var(--red)}
.booking-day-date{display:flex;align-items:center;gap:10px;padding-right:18px;border-right:1px solid #414440}
.booking-day-date>span{font:500 38px/1 Oswald,Arial,sans-serif;color:#fff}
.booking-day-date small{font-size:9px;line-height:1.45;letter-spacing:.07em;text-transform:uppercase;color:#9a9d97}
.booking-day-copy strong,.booking-day-copy span,.booking-day-copy small{display:block}
.booking-day-copy strong{font-size:14px;font-weight:600}
.booking-day-copy span{margin-top:5px;font-size:11px;color:#aaaDA7}
.booking-day-copy small{margin-top:8px;font-size:10px;color:#d7d9d4}
.booking-day-status{align-self:start;padding:5px 7px;border:1px solid #5a625b;color:#cfd5cf;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.booking-time-choice,.booking-bike-choice{margin:25px 0 0;padding:0;border:0}
.booking-time-choice legend{font-size:12px;font-weight:600;color:#e7e8e4}
.booking-time-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}
.booking-time-options label{position:relative;min-width:0}
.booking-time-options input,.booking-bike-choice input{position:absolute;opacity:0;pointer-events:none}
.booking-time-options span{display:grid;place-items:center;min-height:46px;border:1px solid #474b47;background:#141615;color:#c7cac4;font-size:13px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.booking-time-options label:hover span{border-color:#858a84;color:#fff}
.booking-time-options input:checked+span{border-color:#f1f2ee;background:#f1f2ee;color:#111}
.booking-time-options input:focus-visible+span,.booking-bike-choice input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.booking-time-options:not(.is-expanded) label:nth-child(n+16){display:none}
.booking-time-more{margin-top:12px;padding:0;border:0;border-bottom:1px solid #676c66;background:transparent;color:#c9ccc6;font:500 11px/1.6 Inter,Arial,sans-serif;cursor:pointer}
.booking-time-more:hover{border-color:#fff;color:#fff}
.booking-field-note{margin-top:12px;font-size:13px;line-height:1.6;color:#c3c6c0}
.booking-bike-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.booking-bike-choice label{position:relative;min-width:0}
.booking-bike-choice label>span{display:flex;flex-direction:column;justify-content:flex-end;min-height:116px;padding:18px;border:1px solid #484c48;background:#141615;color:#aeb1ab;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.booking-bike-choice label:hover>span{border-color:#858a84;color:#fff}
.booking-bike-choice b{font-size:14px;font-weight:600}
.booking-bike-choice small{margin-top:8px;font-size:10px;line-height:1.55;color:#858982}
.booking-bike-choice input:checked+span{border-color:#f1f2ee;background:#f1f2ee;color:#111}
.booking-bike-choice input:checked+span small{color:#555954}
.booking-bike-choice input:disabled+span{opacity:.42;cursor:not-allowed}
.booking-own-bike{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;margin-top:22px;padding-top:22px;border-top:1px solid #343735}
.booking-own-bike .booking-field{margin:0}
.booking-own-bike .booking-field:last-child{grid-column:1/-1;max-width:210px}
.booking-diagnostic-note{margin-top:22px;padding:17px 18px;border-left:2px solid var(--red);background:#171918;color:#b8bbb5;font-size:11px;line-height:1.7}
.booking-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.booking-name-grid .booking-field{margin:0}
.booking-field{display:block;margin-top:22px}
.booking-field:first-child{margin-top:0}
.booking-field>span{display:block;margin-bottom:9px;font-size:12px;font-weight:600;color:#e7e8e4}
.booking-field input,.booking-field select{display:block;width:100%;height:54px;padding:0 15px;border:1px solid #4b4f4c;border-radius:0;background:#151716;color:#fff;font:400 16px/1.5 Inter,Arial,sans-serif;transition:border-color .2s,background .2s}
.booking-field select{appearance:auto;color-scheme:dark}
.booking-field input::placeholder{color:#7e817b}
.booking-field input:focus,.booking-field select:focus{border-color:#d5d7d1;background:#191b1a;outline:2px solid transparent}
.booking-field input[aria-invalid=true],.booking-field select[aria-invalid=true]{border-color:#ff5a62}
.booking-field input:disabled,.booking-field select:disabled{opacity:.52;cursor:not-allowed}
.booking-field>small{display:block;margin-top:7px;font-size:10px;line-height:1.55;color:#92958f}
.booking-error,.booking-step-error{display:block;margin-top:10px;color:#ff9ba0;font-size:13px;line-height:1.6;font-style:normal}
.booking-step-error:focus{outline:2px solid var(--red);outline-offset:4px}
.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:24px;border:1px solid #444844;background:#131514}
.booking-summary>div{padding:14px 15px}
.booking-summary>div+div{border-left:1px solid #444844}
.booking-summary small,.booking-summary strong{display:block}
.booking-summary small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#7f837d}
.booking-summary strong{margin-top:7px;font-size:12px;line-height:1.55;font-weight:600;color:#ebebe7}
.booking-consent{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;margin-top:23px;color:#c8cbc5;font-size:13px;line-height:1.65;cursor:pointer}
.booking-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--red)}
.booking-consent a{border-bottom:1px solid #8f938c;color:#fff}
.booking-form-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:24px}
.booking-form-step>.booking-next{width:100%;margin-top:24px}
.booking-form-actions .button{width:100%;margin:0}
.booking-form-actions .button:disabled,.booking-next:disabled{opacity:.52;cursor:wait}
.booking-back{min-width:96px;border:1px solid #494d49;background:transparent;color:#c1c4be;font:500 11px/1 Inter,Arial,sans-serif;cursor:pointer}
.booking-back:hover{border-color:#8b9089;color:#fff}
.booking-local-note{max-width:none;margin-top:12px;font-size:13px;line-height:1.6;color:#b7bab4}
.booking-success{min-height:545px;padding:68px 44px 48px}
.booking-success:focus{outline:0}
.booking-success-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #737871;color:#fff;font-size:24px}
.booking-success .eyebrow{margin-top:48px;color:#979a94}
.booking-success h3{max-width:420px;margin-top:13px;font-size:42px}
.booking-success>p:not(.eyebrow){margin-top:19px;font-size:14px;line-height:1.75;color:#afb2ac}
.booking-success .booking-telegram{width:100%;margin-top:27px}
.booking-success .text-link{margin-top:25px;color:#fff}

/* R07: Telegram identifies the rider before the motorcycle is selected. */
.booking-auth-copy{max-width:480px;margin-top:16px;font-size:13px;line-height:1.72;color:#aeb1ab}
.booking-auth-state{display:grid;grid-template-columns:12px 1fr;gap:14px;align-items:center;margin-top:24px;padding:18px;border:1px solid #464a46;background:#141615}
.booking-auth-state>span{width:10px;height:10px;border:1px solid #8c918a;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.03)}
.booking-auth-state strong,.booking-auth-state small{display:block}
.booking-auth-state strong{font-size:12px;font-weight:600;color:#f2f3ef}
.booking-auth-state small{margin-top:5px;font-size:12px;line-height:1.55;color:#b0b3ad}
.booking-auth-state[data-state=starting]>span,.booking-auth-state[data-state=awaiting_phone]>span{border-color:var(--red);background:var(--red);box-shadow:0 0 0 5px rgba(227,6,19,.13)}
.booking-auth-state[data-state=ready]{border-color:#d7dad4;background:#191b1a}
.booking-auth-state[data-state=ready]>span{border-color:#f2f3ef;background:#f2f3ef;box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.booking-form-step>.booking-telegram{width:100%;margin-top:16px}
.booking-form-step>.booking-telegram[aria-disabled=true]{opacity:.5;pointer-events:none}
.booking-auth-check{margin-top:17px;color:#f4f4f1}
.booking-auth-actions{grid-template-columns:1fr}
.booking-auth-actions .booking-back{min-height:44px}
.booking-cabinet-found{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:start;margin-top:23px;padding:18px;border:1px solid #535752;background:#171918}
.booking-cabinet-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #dddeda;color:#fff;font-size:17px}
.booking-cabinet-found small,.booking-cabinet-found strong{display:block}
.booking-cabinet-found small{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#969a93}
.booking-cabinet-found strong{margin-top:5px;font:500 22px/1.2 Oswald,Arial,sans-serif;color:#fff}
.booking-cabinet-found p{margin-top:8px;font-size:13px;line-height:1.6;color:#c0c3bd}
.booking-new-person{margin-top:22px;padding:18px;border-left:2px solid var(--red);background:#151716}
.booking-new-person>p{font-size:13px;line-height:1.65;color:#c8cbc5}
.booking-new-person .booking-name-grid{margin-top:17px}
.booking-no-saved-bikes{margin-top:16px;padding:14px 16px;border-left:2px solid var(--red);background:#151716;font-size:13px;line-height:1.65;color:#d0d3cd}
.booking-saved-bikes{margin:24px 0 0;padding:0;border:0}
.booking-saved-bikes>legend{font-size:12px;font-weight:600;color:#e7e8e4}
.booking-saved-bike-options{display:grid;gap:8px;margin-top:12px}
.booking-saved-bike{position:relative;display:block}
.booking-saved-bike>input{position:absolute;opacity:0;pointer-events:none}
.booking-saved-bike>span{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:73px;padding:15px 17px;border:1px solid #484c48;background:#141615;color:#b5b8b2;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.booking-saved-bike b,.booking-saved-bike small{display:block}
.booking-saved-bike b{font-size:13px;font-weight:600;color:#eceeE9}
.booking-saved-bike small{margin-top:6px;font-size:9px;line-height:1.45;color:#888c85}
.booking-saved-bike i{font-size:9px;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#949891}
.booking-saved-bike>input:checked+span{border-color:#f1f2ee;background:#f1f2ee;color:#111;box-shadow:inset 3px 0 0 var(--red)}
.booking-saved-bike>input:checked+span b,.booking-saved-bike>input:checked+span small,.booking-saved-bike>input:checked+span i{color:#202220}
.booking-saved-bike>input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.booking-bike-after-auth{margin-top:12px}

/* One exercise, one field: light route followed by two dark charts. */
#report-dialog.report-dialog[open]{width:min(1480px,calc(100vw - 32px));height:fit-content;min-height:0;max-height:calc(100dvh - 32px)}
#report-dialog .exercise-goal-line{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:start;flex:0 0 auto;padding:12px 20px 13px;border-bottom:1px solid #343735;background:#191a1a}
#report-dialog .exercise-goal-line>span{width:max-content;padding:2px 0 4px;border-bottom:2px solid var(--red);font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:#a3a59f}
#report-dialog .exercise-goal-line>p{max-width:none;font-size:13px;line-height:1.65;color:#dedfda}
#report-dialog .report-scroll.exercise-plots{display:grid;grid-template-columns:minmax(310px,.92fr) minmax(0,2.08fr);flex:0 1 auto;min-height:0;max-height:calc(100dvh - 205px)!important;padding:0!important;background:#101418;overflow:auto;text-align:left}
#report-dialog .exercise-route-panel{display:flex;flex-direction:column;min-width:0;padding:17px 20px 14px;background:#f5f6f4;color:#272a2f;border-right:1px solid #cfd3d4}
#report-dialog .exercise-route-panel .plot-image{display:flex;align-items:center;flex:1;min-height:176px}
#report-dialog .exercise-route{width:100%;max-height:235px;margin:auto;object-fit:contain}
#report-dialog .route-caption{width:100%;margin-top:auto;padding-top:8px;border-top:1px solid #d8dcda}
#report-dialog .route-caption .plot-jump{display:none}
#report-dialog .exercise-graphs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;padding:0;background:#101418}
#report-dialog .exercise-chart{display:flex;flex-direction:column;min-width:0;padding:20px 20px 16px;border-right:1px solid #343c41}
#report-dialog .exercise-chart:last-child{border-right:0}
#report-dialog .exercise-chart .plot-image{display:flex;align-items:center;flex:1;min-height:178px}
#report-dialog .exercise-chart img{width:100%;height:auto;max-height:235px;object-fit:contain}
#report-dialog .exercise-chart figcaption{margin-top:10px}
#report-dialog .exercise-chart .chart-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:7px;font-size:12px;line-height:1.55;color:#aab4b9}
#report-dialog .report-controls{min-height:46px;padding-block:8px}

@media(max-width:1180px){
 .development-track{grid-template-columns:repeat(3,1fr)}
 .development-step{min-height:280px;border-bottom:1px solid #c8cac4}
 .development-step:nth-child(3){border-right:0}
 .development-step:nth-child(n+4){border-bottom:0}
 .cabinet-panel{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)}
 .cabinet-benefits{grid-template-columns:repeat(3,1fr)}
 .cabinet-benefits article:nth-child(3){border-right:0}
 .cabinet-benefits article:nth-child(n+4){border-top:1px solid #333634}
 .booking-layout{grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr);gap:54px}
 .contact-grid{grid-template-columns:minmax(0,.75fr) minmax(520px,1.25fr);gap:52px}
}

@media(max-width:900px){
 #report-dialog .report-scroll.exercise-plots{grid-template-columns:1fr}
 #report-dialog .exercise-route-panel{border-right:0;border-bottom:1px solid #cfd3d4}
 #report-dialog .exercise-route-panel .plot-image{min-height:190px}
 #report-dialog .exercise-route{max-height:245px}
}

@media(max-width:800px){
 .development-title>p{max-width:100%!important}
 .development-track{grid-template-columns:1fr 1fr}
 .development-step{min-height:250px;border-right:1px solid #c8cac4;border-bottom:1px solid #c8cac4!important}
 .development-step:nth-child(2n){border-right:0}
 .development-step:last-child{grid-column:1/-1;min-height:220px;border-bottom:0!important}
 .cabinet-intro{display:block}
 .cabinet-intro>.text-link{margin-top:28px}
 .cabinet-panel{grid-template-columns:1fr}
 .cabinet-panel-copy{min-height:440px;border-right:0;border-bottom:1px solid #343735}
 .cabinet-demo-window{min-height:500px}
 .cabinet-benefits{grid-template-columns:1fr 1fr}
 .cabinet-benefits article:nth-child(odd){border-right:1px solid #333634}
 .cabinet-benefits article:nth-child(even){border-right:0}
 .cabinet-benefits article:nth-child(n+3){border-top:1px solid #333634}
 .cabinet-benefits article:last-child{grid-column:1/-1}
 .booking-layout{grid-template-columns:1fr;gap:44px}
 .booking-intro h2{max-width:13ch}
 .booking-lead{max-width:640px}
 .booking-card{width:min(620px,100%)}
 .contact-grid{grid-template-columns:1fr;gap:42px}
 .contact-heading h2{max-width:11ch}
 .contact-heading .contact-intro{max-width:620px}
}

@media(max-width:620px){
 .development-title{margin-bottom:36px}
 .development-track{grid-template-columns:1fr}
 .development-step,.development-step:last-child{grid-column:auto;min-height:0;padding:22px 4px 25px 52px;border-right:0!important;border-bottom:1px solid #c8cac4!important}
 .development-step:last-child{border-bottom:0!important}
 .development-number{position:absolute;left:4px;top:25px}
 .development-kicker{margin-top:0}
 .development-step h3{margin-top:9px;font-size:25px}
 .development-step>p:last-child{margin-top:11px;font-size:14px}
 .development-note{margin-top:20px;font-size:12px}
 .cabinet-section{padding-bottom:74px}
 .cabinet-lead{font-size:16px;line-height:1.75;margin-top:22px}
 .cabinet-tabs{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
 .cabinet-tabs button{flex:0 0 auto;min-height:58px;padding:14px 16px;font-size:13px}
 .cabinet-panel{min-height:0}
 .cabinet-panel-copy{min-height:0;padding:30px 21px 28px}
 .cabinet-panel-copy>.eyebrow{margin-top:34px}
 .cabinet-panel-copy h3{font-size:31px}
 .cabinet-panel-copy>p:not(.eyebrow):not(.cabinet-demo-label){font-size:14px}
 .cabinet-facts{margin-top:32px}
 .cabinet-facts>div{grid-template-columns:82px 1fr}
 .cabinet-panel .cabinet-image{padding:16px 12px}
 .cabinet-panel .cabinet-image img{max-width:100%;width:100%;max-height:none}
 .cabinet-panel .cabinet-image figcaption{display:block}
 .cabinet-panel .cabinet-image figcaption .zoom-link{margin-top:8px}
 .cabinet-demo-window{min-height:440px;margin:12px;padding:0 18px 22px}
 .demo-toolbar{margin:0 -18px;padding:0 16px}
 .demo-history-head{padding-top:25px}
 .demo-history-head>div:first-child strong{font-size:23px}
 .demo-score b{font-size:45px}
 .demo-session{grid-template-columns:78px 1fr 34px;gap:10px}
 .guidance-scoreline>div{padding:16px 13px}
 .guidance-scoreline strong{font-size:27px}
 .material-file{grid-template-columns:47px 1fr 18px;gap:12px}
 .material-type{width:41px;height:41px}
 .cabinet-benefits{grid-template-columns:1fr}
 .cabinet-benefits article,.cabinet-benefits article:nth-child(odd),.cabinet-benefits article:nth-child(even){min-height:0;padding:22px 20px;border-right:0;border-top:1px solid #333634}
 .cabinet-benefits article:first-child{border-top:0}
 .cabinet-benefits article:last-child{grid-column:auto}
 .cabinet-benefits h3{margin-top:14px}
 .booking-layout{gap:34px}
 .booking-intro h2{font-size:clamp(36px,9.7vw,40px)}
 .booking-lead{margin-top:21px;font-size:15px;line-height:1.7}
 .booking-public-conditions{grid-template-columns:1fr;margin-top:26px}
 .booking-public-conditions article{padding:18px 0}
 .booking-public-conditions article+article{padding-left:0;border-left:0;border-top:1px solid #c7c9c2}
 .booking-public-conditions strong{font-size:25px}
 .booking-steps{margin-top:30px}
 .booking-card-head{padding:23px 20px 19px}
 .booking-progress li{min-height:48px;padding:10px 8px;gap:6px;font-size:11px}
 #booking-form{padding:22px 20px 24px}
 .booking-form-step h3{font-size:31px}
 .booking-day{grid-template-columns:auto 1fr;gap:14px;padding:15px}
 .booking-day-date{padding-right:14px}
 .booking-day-status{display:none}
 .booking-time-options{grid-template-columns:repeat(4,minmax(0,1fr))}
 .booking-time-options:not(.is-expanded) label:nth-child(n+13){display:none}
 .booking-bike-choice{grid-template-columns:1fr}
 .booking-bike-choice label>span{min-height:92px}
 .booking-own-bike,.booking-name-grid{grid-template-columns:1fr}
 .booking-own-bike .booking-field:last-child{grid-column:auto;max-width:none}
 .booking-cabinet-found{grid-template-columns:36px 1fr;padding:16px}
 .booking-cabinet-mark{width:34px;height:34px}
 .booking-cabinet-found strong{font-size:20px}
 .booking-saved-bike>span{min-height:68px;padding:14px}
 .booking-summary{grid-template-columns:1fr}
 .booking-summary>div+div{border-left:0;border-top:1px solid #444844}
 .booking-success{min-height:460px;padding:48px 24px 38px}
 .booking-success h3{font-size:36px}
 .booking-public-copy{padding:29px 20px 27px}
 .booking-public-copy h3{font-size:31px}
 .booking-public-actions .text-link{font-size:13px}
 .contact-block{padding-block:68px}
 .contact-grid{gap:34px}
 .contact-heading .contact-intro{margin-top:20px;font-size:15px}
 .contact-phone{min-height:142px;padding-right:4px}
 .contact-phone strong{font-size:34px}
 .contact-write-head{display:block;padding-top:18px}
 .contact-write-head small{display:block;margin-top:5px}
 .contact-channels{grid-template-columns:1fr}
 .contact-channels a{min-height:80px;border-right:0;border-bottom:1px solid rgba(255,255,255,.38)}
 .contact-channels a:last-child{border-bottom:0}
 .contact-booking{display:block;margin-top:22px}
 .contact-booking .button{width:100%}
 .contact-booking>p{max-width:none;margin-top:10px}
 .contact-block .price-note{font-size:13px;margin-top:16px}
 #report-dialog.report-dialog[open]{width:calc(100vw - 16px)}
 #report-dialog .exercise-goal-line{display:block;padding:11px 14px 12px}
 #report-dialog .exercise-goal-line>span{display:block;margin-bottom:4px;font-size:9px}
 #report-dialog .exercise-goal-line>p{font-size:12px;line-height:1.6}
 #report-dialog .report-scroll.exercise-plots{display:block}
 #report-dialog .exercise-route-panel{padding:14px 14px 15px}
 #report-dialog .exercise-route-panel .plot-image{min-height:155px}
 #report-dialog .exercise-route{max-height:210px}
 #report-dialog .route-caption{display:block}
 #report-dialog .route-caption .zoom-link{margin-top:4px}
 #report-dialog .exercise-graphs{grid-template-columns:1fr}
 #report-dialog .exercise-chart{padding:18px 14px;border-right:0;border-bottom:1px solid #343c41}
 #report-dialog .exercise-chart:last-child{border-bottom:0}
 #report-dialog .exercise-chart .plot-image{min-height:0}
 #report-dialog .exercise-chart img{max-height:none}
}
