/* Original art direction. Native controls and data retain their own contract. */
:root{--paper:#f5f4fc;--paper-2:#e9e7f7;--card:#fff;--card-2:#fff;--ink:#232348;--ink-2:#353557;--muted:#575771;--line:#cfccdf;--line-2:#a6a0bd;--ctl:#8b84a5;--bar:#262148;--bar-ink:#f6f3ff;--stage-accent:#bda5ff}
html[data-niche=kids]{--acc:#5740c3;--acc-ink:#fff;--acc-text:#4932a6;--acc-soft:#eae4fb;--band:#f5f4fc;--band-ink:#232348;--band-muted:#575771}
html{scroll-behavior:auto}body{line-height:1.55}.demo-bar{font-size:12px;padding:7px 16px}.masthead{max-width:1360px;padding:22px 40px}.brand-name{letter-spacing:-.8px}.brand-name:before{border-radius:50%;background:linear-gradient(135deg,#edb6ff,#7743e3)}
.band{position:relative;overflow:clip}.band:before{display:block;inset:0;background:radial-gradient(ellipse at 91% 35%,#ddd1ff 0,transparent 55%);opacity:.8}.band .wrap{max-width:1360px;padding:38px 40px 52px;grid-template-columns:.93fr 1.07fr;gap:44px;align-items:center}.hero-main{position:relative;z-index:2}.kind{font-size:15px;letter-spacing:0;color:var(--muted)}h1{font-size:clamp(52px,5.6vw,80px);max-width:none;min-height:0;margin:20px 0 22px;line-height:1.02;letter-spacing:-.062em}.poster-lead{font-size:18px;max-width:430px;line-height:1.65}.hero-action{background:var(--acc);border-radius:100px;min-height:56px;padding:13px 25px;box-shadow:0 10px 25px -15px #6c4cc0}.hero-help{display:block;font-size:13px;max-width:340px;line-height:1.6}
.interest-stage{position:relative;height:540px;isolation:isolate;min-width:0;border-radius:50%;background:radial-gradient(ellipse at 40% 32%,#f2d9ff 3%,#beadf6 40%,#6456bf 72%,transparent 73%)}.interest-stage:before{content:'';position:absolute;inset:12% 3%;border:1px solid #ffffffa6;border-radius:50%;transform:rotate(-27deg);pointer-events:none}.interest-stage:after{content:'';position:absolute;inset:4% 12%;border:1px solid #fff8;border-radius:50%;transform:rotate(25deg);pointer-events:none}.stage-light{position:absolute;inset:5% 10%;border-radius:50%;background:radial-gradient(ellipse at 30% 25%,#ffe9b7 2%,#d2b8ff 42%,transparent 69%);filter:blur(12px);z-index:-1;transition:background .4s}.interest-object{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;color:#262148;width:49%;z-index:2;touch-action:manipulation;transform-origin:center;transition:transform .4s var(--eo)}.interest-object img{width:100%;height:auto;display:block;pointer-events:none}.interest-object>span{position:absolute;left:18%;bottom:3%;background:#fcf8ff;color:#292347;padding:8px 13px;font-size:14px;font-weight:800;border-radius:6px;box-shadow:0 6px 18px -12px #2b255e;text-align:left;white-space:nowrap;line-height:1.3;min-height:48px}.interest-object small{display:block;font-size:12px;font-weight:500}.object-football{left:-5%;top:8%;transform:rotate(-14deg)}.object-dance{right:-2%;top:-3%;transform:rotate(11deg)}.object-english{left:2%;bottom:0;transform:rotate(-7deg)}.object-chess{right:-5%;bottom:2%;transform:rotate(10deg)}.interest-object[aria-pressed=true]{transform:translateY(-9px) scale(1.05);z-index:4}.interest-object[aria-pressed=true]>span{background:#262148;color:#fff;box-shadow:0 0 0 3px #fff6}.interest-object:focus-visible{outline:3px solid #262148;outline-offset:0;border-radius:25px}.interest-object:hover{transform:translateY(-5px) scale(1.02)}.stage-caption{position:absolute;left:39%;top:43%;z-index:1;font-size:13px;font-weight:700;color:#fff;text-align:center;line-height:1.5;transform:rotate(-8deg);margin:0}
.activity-line{max-width:1280px;padding:18px 0;display:flex;justify-content:space-between;gap:20px;margin:0 auto 52px;border-bottom:1px solid var(--line);border-top:0}.activity-line p{margin:0;font-size:15px;color:var(--muted)}.activity-line p+p:before{content:'✦';margin-right:25px;color:var(--acc-text);font-size:15px}.grid{max-width:1360px;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:34px 42px;grid-template-areas:'book next' 'book chat';margin-top:0;padding-bottom:70px}#book{border:0;padding:0}.booking-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.booking-kicker{font-size:14px;color:var(--muted);margin:0 0 14px}#book h2{font-size:52px;line-height:1.06;letter-spacing:-.055em;margin:0}.booking-heading+.lead{margin:20px 0 0;font-size:14px;color:var(--muted);max-width:430px}.next{border-radius:20px;background:linear-gradient(140deg,#fbebc7,#f4d7c0);padding:26px;border:1px solid #d5bda2;color:#352943;align-self:start;border-left:0}.next .eyebrow{font-weight:700;color:#5c4662}.next-time{font-size:28px;line-height:1.22;min-height:1.3em;color:#352943}.next-svc{color:#5c4662;font-size:14px}.next .btn{background:#5740c3;color:white}
#form{margin-top:22px}.step{padding-top:24px;border-top:1px solid var(--line);margin-top:26px}.num{display:none}.step-h{font-size:21px;line-height:1.25;letter-spacing:-.03em}.hint{font-size:14px;line-height:1.6;margin:9px 0 17px}.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.svc .box{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;min-height:260px;padding:150px 20px 20px;border-radius:18px;background:linear-gradient(140deg,#e6eafc,#d0d9f7);color:#272a50;box-shadow:inset 0 0 0 1px #b1bad9;overflow:hidden}.svc .box:before{content:'';position:absolute;top:-14px;right:-16px;width:200px;height:168px;background:url('assets/football-object.svg') center/contain no-repeat;pointer-events:none}.svc .opt:nth-child(2) .box{background:linear-gradient(140deg,#fbe4de,#f4cadb)}.svc .opt:nth-child(2) .box:before{background-image:url('assets/dance-object.svg')}.svc .opt:nth-child(3) .box{background:linear-gradient(140deg,#fff4c7,#f4e097)}.svc .opt:nth-child(3) .box:before{background-image:url('assets/english-object.svg')}.svc .opt:nth-child(4) .box{background:linear-gradient(140deg,#ede1fc,#d4c2ec)}.svc .opt:nth-child(4) .box:before{background-image:url('assets/chess-object.svg')}.svc .svc-name{font-size:24px;line-height:1.15;font-weight:800;letter-spacing:-.035em;margin-bottom:6px}.svc .svc-meta{font-size:13px;color:#494665;line-height:1.5;margin:0}.svc .svc-price{font-size:14px;font-weight:800;color:#302451;margin-top:11px}.svc input:checked+.box{box-shadow:inset 0 0 0 3px #5740c3;color:#272a50}.svc input:checked+.box:after{content:'Выбрано';position:absolute;top:14px;left:14px;padding:5px 10px;color:#fff;background:#5740c3;border-radius:99px;font-size:12px;font-weight:700}.svc input:checked+.box .svc-meta{color:#494665}.svc input:checked+.box .svc-price{color:#302451}.svc .opt:focus-within .box{outline:3px solid var(--ink);outline-offset:3px}
.age .box{border-radius:99px;min-height:52px;padding:12px 19px}.ins-list{display:grid;grid-template-columns:1fr;gap:10px}.ins .box{border-radius:14px;padding:18px;min-height:96px;background:var(--card);grid-template-columns:44px minmax(0,1fr)}.ins .ava{border-radius:50%;background:var(--acc-soft);color:var(--acc-text);font-weight:700}.ins .svc-name{font-size:16px}.ins .svc-meta{font-size:14px}.day .box{border-radius:12px;min-height:100px}.rem .box{border-radius:10px}.btn{border-radius:99px;min-height:54px}.btn.wide{margin-top:27px}.log{border-radius:16px;background:var(--paper-2);padding:16px}.chat{position:static;border-top:1px solid var(--line);padding-top:25px}.chat h2{font-size:22px;letter-spacing:-.03em}.chat .lead{font-size:14px}.msg{font-size:14px}.chip{font-size:13px;min-height:44px}.tbtn{min-height:44px}.inp{border-radius:100px}.trial-ticket{flex:0 0 240px;max-width:46%;border-radius:10px;position:relative;padding:20px;background:#fff5d4;color:#352d42;border:1px solid #e1c685;box-shadow:0 9px 19px -17px #5740c3;transform:rotate(2deg);font-size:13px}.trial-ticket[hidden]{display:none}.ticket-label{font-size:12px;color:#5e4d53;margin:0 0 9px}.trial-ticket strong{font-size:21px;line-height:1.15;letter-spacing:-.035em;display:block}.trial-ticket p{margin:8px 0}.ticket-places{display:flex;gap:4px;margin-top:14px;flex-wrap:wrap}.place{width:11px;height:11px;border-radius:50%;border:1px solid #886e6b;background:#e1cfb3}.place.available{background:#5740c3;border-color:#5740c3;box-shadow:0 0 6px #926bdd55}.ticket-honesty{font-size:11px;line-height:1.45;color:#66535b;border-top:1px dashed #c7aa83;padding-top:10px}.done-head h3{font-size:36px;line-height:1.1;letter-spacing:-.04em}.done-note{font-size:14px}.done-list{padding-top:10px}.done-list>div{padding:17px 0;font-size:16px}.done-busy{padding:16px 19px;border-radius:12px;background:var(--acc-soft);color:var(--ink);font-size:15px}.done .mock{margin-top:22px}.done .tgm{border-radius:16px}.foot{background:linear-gradient(150deg,#493382,#282344);color:#d9cdea;border:0;padding:55px 0}.foot .sig{font-size:32px;line-height:1.2;font-weight:800;letter-spacing:-.035em;color:#fff;max-width:620px}.foot .wrap>p:nth-child(2){font-size:15px;color:#e3d5ff;margin:17px 0}.foot .small{color:#d9cdea;font-size:13px}
.stage-caption{color:#292347;background:#ffffffd9;padding:9px 12px;border-radius:6px;left:35%;top:42%}
.group-places{display:flex;gap:5px;grid-column:2;flex-wrap:wrap;margin:7px 0 1px}.group-place{display:block;width:10px;height:10px;border-radius:2px;background:var(--paper-2);border:1px solid var(--ctl)}.group-place.free{background:var(--acc);border-color:var(--acc);box-shadow:0 0 5px #a490dc55}.ins input:checked+.box .group-place.free{background:var(--acc-ink);border-color:var(--acc-ink)}
body[data-art-direction=dance]{--stage-accent:#ffaece}body[data-art-direction=english]{--stage-accent:#ffe799}body[data-art-direction=chess]{--stage-accent:#b79dfa}body[data-art-direction] .stage-light{background:radial-gradient(ellipse at 30% 25%,#ffeec4 2%,var(--stage-accent) 42%,transparent 69%)}
html.m .interest-stage{animation:stage-arrive .65s var(--eo) both}@keyframes stage-arrive{from{transform:translateY(20px) rotate(2deg)}to{transform:none}}
@media(prefers-color-scheme:dark){:root{--paper:#211f38;--paper-2:#2e2949;--card:#282442;--card-2:#302b4b;--ink:#f6f1ff;--ink-2:#e0d5ed;--muted:#c9bfd8;--line:#58506b;--line-2:#9d8ab7;--ctl:#a490bb;--bar:#151225;--bar-ink:#e1d7f2}html[data-niche=kids]{--acc:#c4aaff;--acc-ink:#292044;--acc-text:#d3bdff;--acc-soft:#3f335b;--band:#211f38;--band-ink:#f6f1ff;--band-muted:#c9bfd8}.band:before{background:radial-gradient(ellipse at 85% 35%,#493871 0,transparent 56%);opacity:1}.interest-stage{background:radial-gradient(ellipse at 40% 32%,#e2bdff 3%,#9075cc 40%,#4b346f 72%,transparent 73%)}.next{background:linear-gradient(140deg,#e7c89f,#d2a5bc)}.svc input:checked+.box{box-shadow:inset 0 0 0 3px #b782ec,inset 0 0 0 5px #fff8}.ins .opt:nth-child(2n) .ava{background:var(--acc-soft);color:var(--acc-text)}.svc .opt:focus-within .box{outline-color:#f4dbff}}
@media(max-width:1099px){.band .wrap{gap:20px;padding:28px 28px 38px}h1{font-size:58px}.interest-stage{height:430px}.grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr);gap:28px}.booking-heading{display:block}.trial-ticket{max-width:none;width:100%;transform:none;margin-top:22px}.svc .svc-name{font-size:21px}.stage-caption{font-size:11px}}
@media(max-width:899px){.masthead{padding:16px 24px}.band .wrap{grid-template-columns:1fr 1fr;padding:24px;gap:16px}h1{font-size:48px}.poster-lead{font-size:16px;line-height:1.6}.interest-stage{height:330px}.interest-object>span{font-size:12px;padding:6px 9px;left:9%;bottom:0}.interest-object small{font-size:11px}.stage-caption{display:none}.activity-line{margin:0 24px 40px;gap:16px}.activity-line p{font-size:13px}.activity-line p+p:before{margin-right:10px}.grid{grid-template-columns:1fr;grid-template-areas:'next' 'book' 'chat';max-width:760px;gap:36px}.next{padding:24px;display:grid;grid-template-columns:1fr auto;column-gap:24px}.next .eyebrow{grid-column:1}.next-time,.next-svc{grid-column:1}.next .btn{grid-column:2;grid-row:1/4;align-self:center}.booking-heading{display:flex}.trial-ticket{flex-basis:240px;max-width:46%;margin:0;transform:rotate(2deg)}#book h2{font-size:44px}.svc .box{min-height:248px}}
@media(max-width:599px){.demo-bar{font-size:11px;padding:6px 12px}.masthead{padding:10px 20px}.masthead>a:last-child{font-size:13px}.band .wrap{display:grid;grid-template-columns:1fr;gap:22px;padding:24px 24px 34px}.hero-main h1{font-size:45px;margin:13px 0 18px;line-height:1.02;max-width:none}.kind{font-size:13px}.poster-lead{font-size:15px;line-height:1.55;margin-bottom:18px;max-width:340px}.hero-action{font-size:14px;min-height:50px;padding:12px 22px}.hero-help{display:none}.interest-stage{height:280px;width:100%;max-width:370px;justify-self:center}.interest-object{width:48%}.interest-object>span{min-height:44px;font-size:12px;left:11%;padding:6px 9px}.interest-object small{font-size:11px}.object-football{top:-7%;left:-2%}.object-dance{top:-12%;right:-1%}.object-english{bottom:0;left:0}.object-chess{bottom:0;right:0}.activity-line{display:none}.grid{padding:0 24px 52px;gap:36px}.next{margin-top:0;display:block;padding:20px;border-radius:16px}.next .btn{width:100%;margin-top:12px}.next-svc{min-height:0}.next-time{font-size:27px}.booking-kicker{font-size:13px;margin:0 0 13px}.booking-heading{display:block}#book h2{font-size:43px}.booking-heading+.lead{font-size:13px;line-height:1.55}.trial-ticket{max-width:none;width:100%;margin-top:22px;transform:none;padding:17px}.trial-ticket strong{font-size:23px}.trial-ticket p{font-size:13px}.trial-ticket .ticket-honesty{font-size:12px}.ticket-places{flex-wrap:nowrap}.place{width:13px;height:13px}.svc{gap:10px}.svc .box{min-height:224px;padding:119px 13px 15px;border-radius:14px}.svc .box:before{width:148px;height:125px;top:-3px;right:-10px}.svc .svc-name{font-size:19px;letter-spacing:-.035em;line-height:1.2}.svc .svc-meta{font-size:12px}.svc .svc-price{font-size:13px;margin-top:9px}.svc input:checked+.box:after{top:10px;left:10px;font-size:11px;padding:4px 8px}.step{padding-top:21px}.step-h{font-size:19px}.hint{font-size:13px}.ins .box{padding:14px;min-height:92px}.ins .svc-name{font-size:15px}.ins .svc-meta{font-size:13px}.age .box{padding:12px 17px}.done-head h3{font-size:30px}.done-list>div{font-size:15px}.foot{padding:36px 0 44px}.foot .sig{font-size:30px}.foot .small{font-size:12px}}
@media(max-width:359px){.band .wrap{padding-left:20px;padding-right:20px}.hero-main h1{font-size:39px}.interest-stage{height:250px}.grid{padding-left:20px;padding-right:20px}.svc .box{padding-left:11px;padding-right:11px}.svc .svc-name{font-size:17px}.svc .svc-meta{font-size:11px}.svc .svc-price{font-size:12px}.interest-object>span{font-size:11px}.next-time{font-size:24px}#book h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html.m .interest-stage{animation:none}.interest-object,.stage-light{transition:none}}

/* Scoped correction: retain the four pictorial service backgrounds when selected.
   Native .opt input:checked+.box otherwise overrides Football with --acc-soft. */
.svc .opt:nth-child(1) input:checked+.box{background:linear-gradient(140deg,#e6eafc,#d0d9f7)}
.svc .opt:nth-child(2) input:checked+.box{background:linear-gradient(140deg,#fbe4de,#f4cadb)}
.svc .opt:nth-child(3) input:checked+.box{background:linear-gradient(140deg,#fff4c7,#f4e097)}
.svc .opt:nth-child(4) input:checked+.box{background:linear-gradient(140deg,#ede1fc,#d4c2ec)}

/* R5: cards share row height; title reserves two lines without shrinking text. */
@media(max-width:599px){.svc .opt{display:flex;min-width:0}.svc .box{width:100%;height:100%}.svc .svc-name{min-height:2.4em}.svc .svc-price{margin-top:auto;padding-top:9px}}
