@font-face{font-family:GolosText;src:url("assets/fonts/GolosText-Regular.ttf?v=62") format("truetype");font-weight:400 500;font-display:swap}
@font-face{font-family:GolosText;src:url("assets/fonts/GolosText-Medium.ttf?v=62") format("truetype");font-weight:600 900;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;overflow-x:hidden}body{margin:0;width:100%;min-width:0;font-family:GolosText,system-ui,sans-serif;background:#fbfbfb;color:#171717;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}
:root{--ink:#171717;--muted:#666;--line:#dedede;--blue:#0B84F3;--topbar-h:74px}
.gridBg{background-image:linear-gradient(to right,rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.08) 1px,transparent 1px);background-size:260px 260px}
body{padding-top:var(--topbar-h)}
.topbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:200;height:var(--topbar-h);padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(251,251,251,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;font-weight:900;font-size:20px}.brand img{height:38px}
.topnav{display:flex;gap:28px;color:#4a4a4a;font-size:15px;font-weight:700}.topnav a:hover{color:#000}.navCta{background:#171717;color:#fff;border-radius:999px;padding:13px 22px;font-weight:900;display:inline-flex;align-items:center;gap:8px}.lucideArrow{display:inline-block;flex:0 0 auto;vertical-align:-.18em}
.hero{position:relative;min-height:calc(100vh - 74px);padding:clamp(46px,7vw,92px) clamp(18px,5vw,70px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:44px;align-items:center;overflow:hidden}
.homeHero:after,.subjectHero:after{content:"";position:absolute;right:-120px;bottom:-170px;width:520px;height:520px;background:var(--c,#0B84F3);opacity:.09;border-radius:50%;pointer-events:none}
h1{font-size:clamp(54px,8.6vw,132px);line-height:.86;letter-spacing:-.04em;margin:0 0 36px;font-weight:900;max-width:1150px}h1 span{color:var(--c,#0B84F3)}
.subjectList{display:grid;gap:6px;margin:0 0 34px;max-width:900px}.subjectLine{display:flex;align-items:center;gap:16px;transition:.2s transform}.subjectLine:hover{transform:translateX(12px)}.subjectLine b{font-size:clamp(38px,5.8vw,88px);line-height:.9;color:var(--c);letter-spacing:-.04em}
.heroDates{display:flex;align-items:center;gap:14px;font-size:clamp(34px,5vw,72px);line-height:1;margin:26px 0}.olympTags{display:flex;align-items:center;gap:16px;margin:20px 0 30px}.olympTags span{display:inline-flex;background:var(--c,#0B84F3);color:#fff;padding:13px 26px;font-size:clamp(30px,4vw,68px);font-weight:900;line-height:1}.olympTags strong{font-size:clamp(28px,4vw,56px)}
.heroActions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:16px 28px;font-weight:900;border:2px solid #171717;transition:.18s transform,.18s box-shadow}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--c,#0B84F3);border-color:var(--c,#0B84F3);color:#fff}.btn.ghost,.btn.white{background:#fff;color:#171717}.btn.white{border-color:#fff}
.heroProof,.subjectPoster{background:#fff;border:2px solid #171717;padding:28px;border-radius:6px;box-shadow:14px 14px 0 #171717;position:relative;z-index:1}.heroProof img{width:230px;margin-bottom:26px}.heroProof ul{list-style:none;margin:0;padding:0;display:grid;gap:16px;font-size:clamp(22px,2.2vw,34px);font-weight:700;line-height:1.05}.heroProof li:before{content:"";display:inline-block;width:34px;height:24px;background:#0B84F3;clip-path:polygon(0 34%,62% 34%,62% 0,100% 50%,62% 100%,62% 66%,0 66%);margin-right:10px}
.section{padding:clamp(66px,9vw,116px) clamp(18px,5vw,70px);max-width:1540px;margin:0 auto}.sectionHead{max-width:920px;margin-bottom:42px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:#555;margin-bottom:14px}.eyebrow.invert{color:#fff}.sectionHead h2,.contactSection h2{font-size:clamp(44px,6.3vw,104px);line-height:.89;letter-spacing:-.045em;margin:0;font-weight:900}.sectionHead p,.lead,.contactSection p{font-size:clamp(18px,2vw,28px);line-height:1.18;color:#333;max-width:900px}.courseCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.courseCard{background:#fff;border:2px solid var(--c);padding:24px;min-height:360px;min-width:0;display:flex;flex-direction:column;transition:.2s transform,.2s box-shadow;overflow:hidden}.courseCard:hover{transform:translateY(-6px);box-shadow:10px 10px 0 var(--c)}.cardTop{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.cardTop svg{width:44px;height:44px}.cardTop span,.miniFacts span{font-size:13px;font-weight:900;color:var(--c)}.cardTop span{min-width:0;text-align:right;line-height:1.05}.courseCard h3{font-size:clamp(28px,2.45vw,44px);line-height:.95;margin:28px 0 18px;color:var(--c);overflow-wrap:anywhere;word-break:break-word;hyphens:auto}.courseCard p{font-size:18px;line-height:1.15;overflow-wrap:break-word}.courseCard strong{display:inline-flex;align-items:center;gap:4px;font-size:19px}.miniFacts{display:grid;gap:7px;margin:auto 0 24px}.miniFacts span{background:var(--soft);padding:8px 10px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trustSection,.reviewSection,.scheduleSection,.homeworkSection{max-width:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trustGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid #171717}.trustBox{background:#fff;padding:30px;border-right:2px solid #171717}.trustBox:last-child{border-right:0}.trustBox b{display:block;font-size:clamp(46px,5vw,78px);line-height:.9}.trustBox span{font-size:20px;font-weight:700}
.resultGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resultTile{position:relative;background:#fff;color:#171717;border:2px solid var(--c);padding:28px;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.resultTileBody{position:relative;z-index:2;min-width:0;width:100%;padding-right:var(--art-zone,0%);box-sizing:border-box}.resultTile b{display:block;font-size:44px;line-height:.9;color:var(--c);margin:0 0 18px}.resultTile p{font-size:clamp(20px,2vw,32px);line-height:.9;margin:0;font-weight:900;text-wrap:balance}.resultTile span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;font-weight:900;color:var(--c)}.resultTileArt{position:absolute;right:0;bottom:0;width:auto;height:var(--art-h,0%);max-width:var(--art-w,100%);object-fit:contain;object-position:right bottom;pointer-events:none;z-index:1}.photoStrip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:18px}.subjectPhotoStrip{grid-template-columns:repeat(4,1fr)}.photoStrip img{height:var(--photo-h,170px);width:100%;object-fit:cover;border:2px solid var(--c,#0B84F3)}
@media(min-width:1101px){.resultsSectionSociety .resultTile p{font-size:clamp(18px,1.65vw,27px)}}
.uniLogos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 26px}.uniLogo{border:2px solid var(--c);background:#fff;border-radius:999px;min-height:92px;padding:14px 18px;display:flex;align-items:center;gap:14px}.uniLogo b{width:64px;height:64px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;letter-spacing:-.04em}.uniLogo span{font-size:16px;font-weight:900;line-height:1}.admissionGrid{columns:2;column-gap:18px}.admission{break-inside:avoid;background:#fff;border:2px solid #171717;margin:0 0 12px;padding:16px 18px;font-size:19px;font-weight:700}.admission span{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:#171717;color:#fff;margin-right:10px;font-size:14px}
.reviewMarquee{width:100%;overflow:hidden;padding:10px 0 18px}.reviewTrack{display:flex;gap:18px;width:max-content;animation:reviewsMove 72s linear infinite}.reviewMarquee:hover .reviewTrack{animation-play-state:paused}@keyframes reviewsMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}blockquote{width:min(430px,84vw);margin:0;background:#fff;border:2px solid var(--c);padding:24px;min-height:320px;transform:none!important;flex:0 0 auto;display:flex;flex-direction:column;gap:18px}blockquote:nth-child(even){transform:none!important}.reviewStars{font-size:22px;line-height:1;color:#F5C542;letter-spacing:2px}blockquote p{font-size:clamp(19px,1.5vw,25px);line-height:1.24;margin:0;font-weight:700}blockquote cite{font-style:normal;color:var(--c);font-weight:900}.reviewMeta{margin-top:auto;display:flex;align-items:center;gap:14px}.reviewAvatar{width:56px;height:56px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;flex:0 0 auto}.reviewByline{display:grid;gap:4px}.reviewByline cite{font-size:22px;line-height:1}.reviewByline small{font-size:16px;line-height:1.15;font-weight:700;color:#666}
.contactSection{max-width:none;background:#171717;color:#fff;display:grid;grid-template-columns:1fr .55fr;gap:32px;align-items:center}.contactSection p{color:rgba(255,255,255,.72)}.contactActions{display:grid;gap:12px}.contactActions small{color:rgba(255,255,255,.62)}.callBtn{background:#08C84B;color:#fff;border-color:#08C84B;display:inline-flex;align-items:center;justify-content:center;gap:10px}.callBtn:hover{background:#08C84B;color:#fff;box-shadow:8px 8px 0 rgba(8,200,75,.22)}
.footer{position:relative;background:#171717!important;color:#fff;display:block;padding:34px clamp(18px,5vw,70px) 46px;font-weight:800;overflow:hidden;background-image:none!important}.footerTop{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.footerMeta{display:flex;flex-direction:column;gap:6px;max-width:760px}.footerMeta span{line-height:1.15}.footerLinks{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.footerMegaLogo{width:min(100%,1200px);height:auto;margin:0 auto;filter:none}
.licenseBtn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;border:2px solid #171717;background:#fff;color:#171717;font-size:16px;font-weight:900;line-height:1;transition:.18s transform,.18s box-shadow}.licenseBtn:hover{transform:translateY(-2px);box-shadow:8px 8px 0 rgba(23,23,23,.12)}.aboutText .licenseBtn{margin-top:10px}.footerLicenseBtn{margin-left:auto;border-color:#fff;background:transparent;color:#fff}.footerLicenseBtn:hover{box-shadow:none}.policyPage{background:#f6f0e8;color:#171717}.policyWrap{padding:28px 16px 0}.policyCard{max-width:980px;margin:0 auto 48px;background:#fff;border:3px solid #171717;border-radius:30px;padding:clamp(24px,4vw,48px);box-shadow:14px 14px 0 #171717}.policyLead{margin-bottom:30px}.policyKicker{display:inline-block;margin:0 0 14px;padding:8px 14px;border-radius:999px;background:#08C84B;color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.policyBack{display:inline-flex;margin:0 auto 18px;max-width:980px;padding:12px 16px;border:3px solid #171717;border-radius:999px;background:#fff;color:#171717;font-weight:900;text-decoration:none;box-shadow:8px 8px 0 rgba(23,23,23,.08)}.policyBack:hover{transform:translateY(-2px)}.policyCard h1{font-size:clamp(40px,6vw,72px);line-height:.94;letter-spacing:-.04em;margin:0 0 18px}.policyCard h2{font-size:clamp(28px,3vw,38px);line-height:1;margin:38px 0 16px}.policyCard p,.policyCard li{font-size:18px;line-height:1.55}.policyCard ul{margin:14px 0 0;padding-left:24px}.policyCard strong{font-weight:900}
.subjectHero{--c:#0B84F3}.subjectMeta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.subjectMeta b{background:#fff;border:2px solid var(--c);color:var(--c);padding:10px 14px}.subjectPoster{border-color:var(--c);box-shadow:14px 14px 0 var(--c)}.subjectPoster img,.posterPlaceholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft);display:flex;align-items:center;justify-content:center;text-align:center;font-size:36px;font-weight:900;color:var(--c)}.subjectPoster h3{font-size:clamp(34px,3.4vw,58px);line-height:.9;margin:20px 0 10px;color:var(--c)}.subjectPoster p{font-size:18px;font-weight:700;line-height:1.15}
.includeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.include{background:#fff;border:2px solid var(--c);padding:20px;min-height:145px;display:flex;gap:14px;align-items:flex-start;font-size:21px;font-weight:800;line-height:1.05}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day{background:#fff;border:2px solid var(--c);aspect-ratio:4/3;padding:10px;overflow:hidden;display:flex;flex-direction:column}.day b{font-size:30px;line-height:.9;flex:0 0 auto}.day span{display:block;margin-top:8px;font-size:clamp(11px,1vw,15px);line-height:.96;font-weight:800;overflow:hidden}.day.active{background:var(--soft)}.schedulePdf{margin-top:22px;background:var(--c);border-color:var(--c);color:#fff}.calendarClaim{font-size:clamp(32px,4vw,62px);line-height:.94;margin:34px 0 0;max-width:1000px}.calendarClaim::first-letter{color:var(--c)}
.demoGrid,.teamGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.demoCard,.teamCard{background:#fff;border:2px solid var(--c);padding:24px;min-height:210px}.demoCard b{display:inline-flex;background:var(--c);color:#fff;padding:7px 12px;margin-bottom:30px}.demoCard h3,.teamCard h3{font-size:clamp(28px,3vw,46px);line-height:.92;margin:0 0 14px;color:var(--c)}.demoCard p,.teamCard p{font-size:18px;font-weight:700}.avatar{width:90px;height:90px;border-radius:50%;background:var(--soft);border:3px solid var(--c);color:var(--c);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;margin-bottom:18px}
.homeworkCards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 42px}.homeworkCard{background:#fff;border:2px solid var(--c);padding:22px;min-height:190px}.homeworkCard b{display:block;color:var(--c);font-size:42px;line-height:1;margin-bottom:18px}.homeworkCard p{font-size:18px;font-weight:800;line-height:1.08;margin:0}.flow{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.flowStep{width:260px;aspect-ratio:1;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:32px;font-weight:900;line-height:.95}
.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.tariff{background:#fff;border:3px solid var(--c);padding:28px;position:relative;display:flex;flex-direction:column}.tariff.premium{background:var(--c);color:#fff}.tariff h3{font-size:48px;line-height:.9;margin:0 0 18px;color:var(--c)}.tariff.premium h3{color:#fff}.tariff em{align-self:flex-start;background:#08C84B;color:#fff;padding:9px 16px;font-style:normal;font-weight:900;transform:rotate(-3deg);margin:0 0 22px;font-size:20px;line-height:1}.tariff ul{list-style:none;padding:0;margin:0;display:grid;gap:13px;font-size:22px;font-weight:800;line-height:1}.tariff li{display:grid;grid-template-columns:1.15em 1fr;gap:.42em;align-items:start}.tariff li:before{content:"";width:1.08em;height:.68em;background:currentColor;clip-path:polygon(0 34%,62% 34%,62% 0,100% 50%,62% 100%,62% 66%,0 66%);margin-top:.12em}.tariff strong{display:block;color:var(--c);font-size:64px;line-height:1;margin-top:auto;padding-top:36px}.tariff.premium strong{color:#fff}.tariffButtons{display:grid;grid-template-columns:1fr;gap:9px;margin-top:18px}.tariffBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--c);color:#fff;border:2px solid var(--c);padding:13px 16px;border-radius:999px;font-weight:900}.tariffBtn.secondary{background:#fff;color:var(--c)}.premium .tariffBtn{background:#fff;color:var(--c);border-color:#fff}.premium .tariffBtn.secondary{background:transparent;color:#fff;border-color:#fff}
.faqList{display:grid;gap:10px;max-width:980px}.faqList details{background:#fff;border:2px solid #171717;padding:20px}.faqList summary{font-size:24px;font-weight:900;cursor:pointer}.faqList p{font-size:19px;line-height:1.3;color:#444}.communityGrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.communityGrid img{width:100%;height:280px;object-fit:cover;border:2px solid #FF3EAB}.communityGrid img:first-child{grid-row:span 2;height:572px}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.courseCards{grid-template-columns:repeat(2,1fr)}.trustGrid,.includeGrid,.reviews,.demoGrid,.teamGrid,.tariffs{grid-template-columns:1fr 1fr}.resultGrid{grid-template-columns:1fr 1fr}.topnav{display:none}.photoStrip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.topbar{height:auto;min-height:66px}.navCta{display:none}.hero,.section{padding-left:16px;padding-right:16px}.hero{gap:26px;min-height:auto;padding-top:54px}.homeHero h1{font-size:clamp(40px,11.8vw,48px);line-height:.98;max-width:100%;margin-bottom:30px}.homeHero h1 span{display:block}.subjectHero h1{font-size:clamp(44px,13.6vw,56px);line-height:.96;letter-spacing:-.035em;overflow-wrap:anywhere}.subjectHero h1 span{display:block}.subjectLine{min-width:0;max-width:100%;gap:10px;overflow:hidden}.subjectLine svg{width:40px;height:40px}.subjectLine b{display:block;min-width:0;max-width:calc(100vw - 82px);font-size:30px;line-height:.94;letter-spacing:-.035em;overflow-wrap:anywhere;word-break:break-word}.heroActions{display:grid;grid-template-columns:1fr;max-width:100%}.btn{width:100%;padding-left:18px;padding-right:18px;white-space:normal;text-align:center}.subjectMeta b{font-size:15px}.courseCards,.trustGrid,.includeGrid,.reviews,.demoGrid,.teamGrid,.tariffs,.contactSection,.uniLogos,.homeworkCards{grid-template-columns:1fr}.resultGrid{grid-template-columns:1fr}.trustBox{border-right:0;border-bottom:2px solid #171717}.trustBox:last-child{border-bottom:0}.calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.day{min-height:0;padding:7px}.day b{font-size:22px}.day span{font-size:9.5px}.admissionGrid{columns:1}.photoStrip{grid-template-columns:1fr 1fr}.photoStrip img{height:140px}.olympTags{gap:8px}.olympTags span{padding:10px 14px}.heroProof,.subjectPoster{box-shadow:7px 7px 0 #171717}.heroProof ul{font-size:22px}.heroProof li{overflow-wrap:anywhere}.subjectPoster{box-shadow:7px 7px 0 var(--c)}.communityGrid{grid-template-columns:1fr}.communityGrid img,.communityGrid img:first-child{height:260px}.footer{flex-direction:column;align-items:flex-start}}

/* Final production pass */
.section{position:relative;width:100%}.section:after{content:"";position:absolute;right:clamp(18px,5vw,70px);top:52px;width:44px;height:44px;background:var(--c,#0B84F3);clip-path:polygon(50% 0,60% 32%,94% 22%,70% 48%,100% 66%,64% 66%,62% 100%,45% 70%,15% 92%,28% 58%,0 42%,36% 38%);opacity:.16;pointer-events:none}.section:nth-of-type(3n):after{border-radius:50%;clip-path:none}.section:nth-of-type(3n+1):after{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.section:nth-of-type(3n+2):after{border-radius:60% 35% 55% 40%;clip-path:none;transform:rotate(18deg)}.heroProof li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.heroProof li:before{width:34px;height:34px;border-radius:50%;background:#0B84F3;clip-path:none;margin:0}.heroProof li:after{content:"";position:absolute;left:9px;top:10px;width:15px;height:15px;border-right:5px solid #fff;border-top:5px solid #fff;transform:rotate(45deg)}.courseCard strong{color:var(--c)}.courseCard h3{font-size:clamp(28px,2.35vw,42px);word-break:normal;hyphens:none}.calendar{grid-template-columns:repeat(7,86px);justify-content:start;overflow-x:auto;padding-bottom:8px}.day{width:86px;height:86px;aspect-ratio:auto;padding:8px}.day b{font-size:27px}.day span{font-size:10.5px}.uniLogos{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:28px}.uniLogo{border:0;background:transparent;border-radius:0;min-height:0;padding:0;display:grid;justify-items:center;gap:8px;width:118px;overflow:visible}.uniLogo img{width:76px;height:76px;flex:0 0 auto;border-radius:50%;object-fit:contain;padding:10px;background:#fff;border:3px solid var(--c);box-shadow:0 0 0 7px color-mix(in srgb,var(--c) 10%,transparent)}.uniLogo b{display:none}.uniLogo span{font-size:13px;min-width:0;text-align:center;line-height:.95}.subjectPoster img,.posterPlaceholder{width:min(100%,360px);border-radius:50%;border:3px solid var(--c);margin:0 auto}.teamCard{border-radius:26px 26px 6px 6px;overflow:hidden}.teacherPhoto{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:4px solid var(--c);background:var(--soft);margin:0 auto 18px;max-width:260px;box-shadow:0 0 0 16px var(--soft)}.avatar{width:120px;height:120px;margin:0 auto 18px}.tariff{overflow:hidden}.tariff:before{content:"";position:absolute;right:-48px;top:-48px;width:120px;height:120px;border-radius:50%;background:var(--soft,#eaf4ff);z-index:0}.tariff>*{position:relative;z-index:1}.tariff em{padding:8px 12px;font-size:18px;max-width:100%;white-space:normal}.tariff li{position:relative}.tariff li:before{width:1.05em;height:1.05em;border-radius:50%;background:var(--c);clip-path:none;margin-top:-.05em}.tariff li:after{content:"";position:absolute;left:.26em;top:.18em;width:.45em;height:.45em;border-right:.17em solid #fff;border-top:.17em solid #fff;transform:rotate(45deg)}.tariff.premium li:before{background:#fff}.tariff.premium li:after{border-color:var(--c)}.priceCompare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.priceCompare div{border:2px solid var(--c);border-radius:14px;padding:10px;background:#fff;color:var(--c)}.priceCompare span{display:block;font-size:12px;font-weight:900;opacity:.8}.priceCompare b{display:block;font-size:20px;line-height:1}.priceCompare .discountPrice{background:var(--c);color:#fff;position:relative}.priceCompare em{position:absolute;right:8px;top:-12px;background:#08C84B;color:#fff;border-radius:999px;padding:5px 8px;font-size:13px;transform:rotate(-4deg)}.premium .priceCompare div{border-color:#fff}.premium .priceCompare .discountPrice{background:#fff;color:var(--c)}.extraPay{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.aboutLayout{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.aboutText{background:#fff;border:2px solid #171717;padding:28px;box-shadow:10px 10px 0 #171717}.aboutText p{font-size:clamp(22px,2vw,32px);line-height:1.04;font-weight:900;margin:0 0 18px}.aboutPhotos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.aboutPhotos img{height:240px;width:100%;object-fit:cover;border:2px solid #171717}.aboutPhotos img:nth-child(2n){transform:translateY(28px)}.introGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.introGrid article{background:#fff;border:2px solid #171717;padding:24px}.introGrid b{font-size:clamp(34px,3.5vw,58px);line-height:.9;color:#0B84F3}.introGrid p{font-size:20px;font-weight:800;line-height:1.08}.appScreens{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.appScreens img{width:100%;height:auto;object-fit:contain;border:2px solid #171717;border-radius:26px;box-shadow:8px 8px 0 #A23DF2}.olympiadCards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.olympiadCard{background:#fff;border:2px solid var(--c);padding:22px;min-height:250px;display:flex;flex-direction:column}.olympiadCard b{color:var(--c);font-size:34px;line-height:1}.olympiadCard h3{font-size:28px;line-height:.95;margin:20px 0 12px;color:var(--c)}.olympiadCard p{font-size:17px;font-weight:800;line-height:1.08;margin:0}.olympiadCard span{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:var(--c);font-weight:900}
@media(max-width:1100px){.introGrid,.olympiadCards{grid-template-columns:1fr 1fr}.aboutLayout{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{width:100%;padding-left:14px;padding-right:14px}.brand img{max-width:170px;height:auto}.hero,.section{width:100%;max-width:100vw}.hero{grid-template-columns:minmax(0,1fr)}.homeHero h1{font-size:clamp(42px,12vw,56px);line-height:.94;letter-spacing:-.035em}.homeHero h1 span,.subjectHero h1 span{display:inline}.subjectHero h1{font-size:clamp(38px,11.5vw,52px);line-height:.96;overflow-wrap:normal;word-break:normal}.calendar{grid-template-columns:repeat(7,78px)}.day{width:78px;height:78px}.day b{font-size:22px}.day span{font-size:9.3px}.introGrid,.appScreens,.olympiadCards{grid-template-columns:minmax(0,1fr)}.aboutPhotos{grid-template-columns:1fr 1fr}.aboutPhotos img{height:170px}.aboutPhotos img:nth-child(2n){transform:none}.appScreens img{height:auto}.olympTags{max-width:100%;overflow-x:auto}.uniLogo{width:86px}.uniLogo img{width:58px;height:58px;flex-basis:auto}.uniLogo span{font-size:11px}.priceCompare{grid-template-columns:1fr}}

/* Patch: clean labels, logos, olympiad grid, mobile flow */
.eyebrow{color:var(--c,#171717);border:2px solid var(--c,#171717);border-radius:999px;background:#fff;padding:7px 13px;gap:0}.eyebrow svg{display:none}.uniLogos{align-items:start}.uniLogo{width:112px;align-content:start}.uniLogo img{width:82px;height:82px;padding:0;object-fit:contain;transform:scale(1.42);background:#fff;box-shadow:none}.uniLogo span{min-height:42px;display:flex;align-items:flex-start;justify-content:center;text-wrap:balance}.olympiadCards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.olympiadCard{min-height:180px;padding:14px}.olympiadCard b{font-size:24px}.olympiadCard h3{font-size:20px;margin:12px 0 8px}.olympiadCard p{font-size:14px}.olympiadCard span{font-size:13px}.flow{display:grid;grid-template-columns:260px 32px 260px 32px 260px;justify-content:center}.flow>svg{align-self:center}.flowStep{max-width:100%;font-size:clamp(24px,3vw,32px)}
@media(max-width:680px){.flow{grid-template-columns:1fr;gap:12px}.flow>svg{justify-self:center;transform:rotate(90deg)}.flowStep{width:100%;aspect-ratio:auto;min-height:116px}.uniLogos{justify-content:center}.uniLogo{width:90px}.uniLogo img{width:66px;height:66px;transform:scale(1.45)}.uniLogo span{font-size:11px;min-height:34px}.olympiadCards{grid-template-columns:repeat(2,minmax(0,1fr))}.olympiadCard{min-height:160px;padding:12px}.olympiadCard h3{font-size:18px}.olympiadCard p{font-size:13px}}

/* Patch: plain bullets and redesigned price cards */
.heroProof li:before,.heroProof li:after,.tariff li:before,.tariff li:after{display:none}.heroProof li{display:list-item;list-style:disc;margin-left:1.1em}.tariff ul{list-style:disc;padding-left:1.15em}.tariff li{display:list-item}.priceCompare{grid-template-columns:1.25fr .9fr;margin-top:auto;padding-top:24px}.priceCompare a{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;text-decoration:none}.priceCompare b{font-size:clamp(42px,4.3vw,68px);letter-spacing:-.04em}.priceCompare b small{font-size:.32em;margin-left:4px}.priceCompare i{font-style:normal;font-size:13px;font-weight:900;margin-top:10px}.priceCompare .discountPrice{order:-1}.tariff strong,.tariffButtons{display:none}.uniLogos{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;gap:22px 24px;align-items:start}.uniLogo{width:auto}.uniLogo span{width:100%;min-height:44px}.uniLogo img{margin:0 auto}.footer .brand,.footer>span{display:none}
@media(max-width:680px){.uniLogos{grid-template-columns:repeat(2,1fr)}.priceCompare{grid-template-columns:1fr}.priceCompare a{min-height:150px}.footerTop{flex-direction:column;align-items:flex-start}.footerMegaLogo{width:130vw;max-width:none;margin-left:-15vw}.policyCard{border-radius:22px;box-shadow:8px 8px 0 #171717;padding:24px 18px}.policyCard h1{font-size:clamp(30px,10vw,42px)}.policyCard p,.policyCard li{font-size:16px}.policyBack{display:inline-flex;margin-bottom:14px}}

/* Patch v5: clean blue bullets, price composition, university pills */
.heroProof li{list-style:none;margin-left:0;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.heroProof li:before{display:block;width:34px;height:34px;border-radius:50%;background:#0B84F3;content:""}.heroProof li:after{display:none}.tariff ul{list-style:none;padding-left:0}.tariff li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;list-style:none}.tariff li:before{display:block;content:"";width:22px;height:22px;border-radius:50%;background:var(--c);margin-top:.08em}.tariff.premium li:before{background:#fff}.tariff li:after{display:none}.tariff{padding-top:30px}.tariff h3{display:inline-block;margin-right:150px}.tariff em{position:absolute;right:26px;top:34px;margin:0;z-index:3;transform:rotate(-2deg);max-width:140px;text-align:center}.tariff:before{z-index:0;pointer-events:none}.priceCompare{display:grid;grid-template-columns:1.15fr .85fr;gap:0;margin-top:auto;padding-top:28px;align-items:stretch}.priceCompare a{display:flex;flex-direction:column;justify-content:space-between;min-height:230px;border-radius:0;text-decoration:none;overflow:hidden}.priceCompare .discountPrice{background:var(--c);color:#fff;border:0;padding:16px 18px;position:relative}.priceCompare a:not(.discountPrice){background:#fff;color:#171717;border:0;padding:16px 18px}.tariff.premium .priceCompare .discountPrice{background:#fff;color:var(--c)}.tariff.premium .priceCompare a:not(.discountPrice){background:transparent;color:#fff;outline:2px solid rgba(255,255,255,.65);outline-offset:-2px}.priceCompare span{font-size:18px;line-height:1;font-weight:900;opacity:.9}.priceCompare b{font-size:clamp(46px,4.8vw,74px);line-height:.86;letter-spacing:-.045em;white-space:normal}.priceCompare b small{font-size:.32em;margin-left:5px;letter-spacing:0}.priceCompare i{font-size:16px;line-height:1.05;font-weight:900;font-style:normal}.priceCompare em{position:absolute;right:14px;top:14px;background:#08C84B;color:#fff;border-radius:999px;padding:7px 10px;font-size:18px;line-height:1;transform:rotate(-4deg)}.uniLogos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:16px;align-items:stretch}.uniLogo{width:auto;min-height:96px;border:3px solid var(--c);border-radius:999px;background:#fff;padding:12px 18px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;justify-items:start;overflow:hidden}.uniLogo img{width:64px;height:64px;transform:none;object-fit:contain;padding:7px;border:2px solid var(--c);border-radius:50%;box-shadow:none}.uniLogo span{font-size:18px;font-weight:500;line-height:1.02;text-align:left;min-height:0;display:block}.posterTeachers{display:flex;align-items:center;justify-content:center;padding:28px 0 18px}.posterTeachers img{width:42%;max-width:240px;margin-left:-8%;border-radius:50%;border:3px solid var(--c);aspect-ratio:1/1;object-fit:cover;background:var(--soft)}.posterTeachers img:first-child{margin-left:0}.footerMegaLogo{max-width:100%;object-fit:contain}
@media(max-width:1100px){.uniLogos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.courseCard h3{hyphens:auto;word-break:normal}.tariff h3{margin-right:0;display:block}.tariff em{position:static;display:inline-flex;margin:-6px 0 18px}.priceCompare{grid-template-columns:1fr}.priceCompare a{min-height:170px}.uniLogos{grid-template-columns:1fr}.uniLogo{min-height:84px;grid-template-columns:56px 1fr}.uniLogo img{width:56px;height:56px}.uniLogo span{font-size:16px}.posterTeachers img{width:48%;margin-left:-16%}.footerMegaLogo{width:100%;max-width:100%;margin:0}}

/* Patch v6: restore tariff readability */
.courseCard h3{overflow-wrap:normal;word-break:normal;hyphens:auto}.tariff strong{display:block;color:var(--c);font-size:64px;line-height:1;margin-top:22px;padding-top:0}.tariff.premium strong{color:#fff}.priceCompare{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:18px!important;padding-top:0!important}.priceCompare a{position:relative;display:grid!important;grid-template-rows:auto 1fr auto;min-height:178px!important;border-radius:18px!important;padding:16px 18px 18px!important;text-decoration:none!important;overflow:hidden}.priceCompare a:after{content:"";position:absolute;left:18px;bottom:16px;width:28px;height:28px;border-radius:50%;background:currentColor;opacity:.18}.priceCompare a:before{content:"";position:absolute;left:26px;bottom:24px;width:9px;height:9px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg);z-index:2}.priceCompare .discountPrice{background:var(--c)!important;color:#fff!important;border:0!important;order:0}.priceCompare a:not(.discountPrice){background:#fff!important;color:#171717!important;border:2px solid var(--c)!important}.tariff.premium .priceCompare .discountPrice{background:#fff!important;color:var(--c)!important}.tariff.premium .priceCompare a:not(.discountPrice){background:transparent!important;color:#fff!important;border:2px solid #fff!important;outline:0!important}.priceCompare span{font-size:20px!important;font-weight:900!important;line-height:1!important;opacity:.95!important}.priceCompare b{align-self:center;font-size:clamp(44px,4.6vw,66px)!important;line-height:.86!important;letter-spacing:-.04em!important;white-space:normal!important}.priceCompare b small{font-size:.34em!important;letter-spacing:0!important;margin-left:5px!important}.priceCompare i{font-size:15px!important;line-height:1.05!important;font-weight:900!important;font-style:normal!important;margin-left:40px}.priceCompare em{right:14px!important;top:14px!important;font-size:16px!important;padding:7px 11px!important;z-index:3}.tariffButtons{display:none!important}.footer:before,.footer:after{display:none!important}.footer .section:after{display:none!important}
@media(max-width:680px){.tariff strong{font-size:54px}.priceCompare a{min-height:160px!important}.priceCompare em{position:absolute!important;right:12px!important;top:12px!important}.priceCompare b{font-size:50px!important}.priceCompare span{font-size:18px!important}}

/* Patch v7: remove duplicated big price, move click arrows right */
.tariff strong{display:none!important}.priceCompare{margin-top:auto!important;padding-top:28px!important}.priceCompare a:after{left:auto!important;right:18px!important;bottom:16px!important;width:30px!important;height:30px!important}.priceCompare a:before{left:auto!important;right:28px!important;bottom:25px!important;width:12px!important;height:12px!important;border-top:3px solid currentColor!important;border-right:3px solid currentColor!important}

/* Patch v8: tariff badge and real arrow icons */
.tariff h3{display:block!important;margin-right:170px!important}.tariff em:not(.priceCompare em){position:absolute!important;right:26px!important;top:30px!important;margin:0!important;z-index:5!important;max-width:150px!important}.priceCompare a{position:relative!important}.priceCompare a:before,.priceCompare a:after{display:none!important}.priceCompare i{margin-left:0!important;align-self:start!important}.priceCompare svg{position:absolute;right:18px;bottom:16px;width:36px;height:36px}.priceCompare .discountPrice svg circle{fill:rgba(255,255,255,.24)}.priceCompare .discountPrice svg path{fill:#fff}.priceCompare a:not(.discountPrice) svg circle{fill:var(--c)}.priceCompare a:not(.discountPrice) svg path{fill:#fff}.tariff.premium .priceCompare .discountPrice svg circle{fill:var(--c)}.tariff.premium .priceCompare .discountPrice svg path{fill:#fff}
@media(max-width:680px){.tariff h3{margin-right:0!important}.tariff em:not(.priceCompare em){position:static!important;margin:-4px 0 16px!important}.priceCompare svg{right:14px;bottom:14px}}

/* Patch v10: graduates and reviews */
.graduateRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,420px);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;padding:6px 0 18px;scroll-snap-type:x proximity}.graduateCard{scroll-snap-align:start;background:#fff;border:2px solid var(--c);display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px;min-height:210px}.graduateCard img{width:150px;height:178px;object-fit:contain;background:var(--soft,#f3f3f3);border:2px solid var(--c)}.graduateCard span{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:var(--c);color:#fff;font-weight:900;margin-bottom:12px}.graduateCard h3{font-size:28px;line-height:.95;margin:0 0 10px;color:var(--c)}.graduateCard b{display:block;font-size:18px;line-height:1.05}.graduateCard p{font-size:17px;line-height:1.05;margin:8px 0 0}.reviewGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}blockquote{width:auto;min-height:0;transform:none!important;border-radius:0;display:flex;flex-direction:column;gap:18px}blockquote p{font-size:clamp(18px,1.45vw,24px);line-height:1.08;margin:0}blockquote cite{font-size:22px}blockquote span{align-self:flex-start;margin-top:auto;background:var(--c);color:#fff;padding:8px 12px;border-radius:999px;font-weight:900;font-size:14px;line-height:1}.reviewsMore{margin-top:18px;border-color:var(--c,#171717);color:var(--c,#171717)}.reviewMarquee,.reviewTrack{animation:none}.admissionGrid{display:none}
@media(max-width:1100px){.reviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.graduateRail{grid-auto-columns:minmax(280px,86vw)}.graduateCard{grid-template-columns:1fr}.graduateCard img{width:100%;height:220px}.reviewGrid{grid-template-columns:1fr}}

/* Patch v11: real carousel cards and strict moving reviews */
.graduateCarousel{position:relative}.graduateRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(330px,390px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 54px 22px}.graduateRail::-webkit-scrollbar{display:none}.graduateCard{scroll-snap-align:center;background:#fff;border:2px solid var(--c);display:grid;grid-template-columns:1fr;gap:0;padding:0;min-height:0;overflow:hidden}.graduateCard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--soft,#f3f3f3);border:0;border-bottom:2px solid var(--c)}.graduateCard>div{padding:20px 22px 24px}.graduateCard span{display:none}.graduateCard h3{font-size:clamp(30px,2.5vw,42px);line-height:.9;margin:0 0 14px;color:var(--c)}.graduateCard b{display:block;font-size:22px;line-height:1.02}.graduateCard p{font-size:20px;line-height:1.05;margin:10px 0 0}.carouselBtn{position:absolute;top:42%;z-index:5;border:0;background:transparent;padding:0;cursor:pointer}.carouselBtn.prev{left:4px;transform:rotate(180deg)}.carouselBtn.next{right:4px}.graduateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reviewGrid{display:none}.reviewMarquee{width:100%;overflow:hidden;padding:10px 0 18px}.reviewTrack{display:flex;gap:16px;width:max-content;animation:reviewsMove 76s linear infinite}.reviewMarquee:hover .reviewTrack{animation-play-state:paused}blockquote{width:min(520px,82vw);flex:0 0 auto;transform:none!important;border-radius:0;min-height:260px}blockquote p{font-size:clamp(18px,1.45vw,24px);line-height:1.08;margin:0 0 18px}blockquote cite{font-size:22px}blockquote span{display:inline-flex;margin-top:auto;background:var(--c);color:#fff;padding:8px 12px;border-radius:999px;font-weight:900;font-size:14px;line-height:1}.artUniLogos{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.artUniLogos .uniLogo{border-radius:36px;min-height:150px;grid-template-columns:1fr;justify-items:start;align-items:start;padding:18px}.artUniLogos .uniLogo img{width:54px;height:54px;margin:0;transform:none;padding:6px}.artUniLogos .uniLogo span{font-size:18px;font-weight:500;text-align:left;line-height:1.05}.artUniLogos .uniLogo span b{display:block;font-size:24px;font-weight:900;margin-bottom:8px}.artUniLogos .uniLogo span small{display:block;font-size:17px;font-weight:500;line-height:1.08}
@media(max-width:1100px){.graduateGrid{grid-template-columns:1fr 1fr}.artUniLogos{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.graduateRail{grid-auto-columns:minmax(280px,84vw);padding-left:44px;padding-right:44px}.graduateCard img{height:auto}.graduateCard>div{padding:18px}.graduateGrid{grid-template-columns:1fr}.artUniLogos{grid-template-columns:1fr}.carouselBtn{top:38%}}

/* Patch v12: production cleanup for materials, universities, graduates and reviews */
.demoCard{position:relative;overflow:hidden;border-radius:0;display:grid;gap:12px;align-content:start}.demoCard:after{content:"";position:absolute;right:-36px;bottom:-36px;width:150px;height:150px;border-radius:50%;background:var(--soft);z-index:0}.demoCard>*{position:relative;z-index:1}.demoIcon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--soft);border:2px solid var(--c);margin-bottom:12px}.demoIcon svg{width:42px;height:42px}.demoCard b{justify-self:start;margin:0 0 4px}.demoCard h3{margin-top:0}
.tariff:before{display:none!important}
.uniLogo span b{display:block!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;color:#171717!important;font-size:20px!important;line-height:1!important;letter-spacing:0!important;text-align:left!important}.uniLogo span small{display:block;font-size:15px;line-height:1.05;font-weight:500;color:#171717;margin-top:6px}.uniLogo span{overflow:visible!important}.uniLogo{overflow:visible}
.artUniLogos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}.artUniLogos .uniLogo{border-radius:22px!important;min-height:160px!important;display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;align-items:start!important;justify-items:start!important;padding:18px!important;background:#fff!important}.artUniLogos .uniLogo img{grid-column:1!important;width:64px!important;height:64px!important;margin:0!important;transform:none!important;padding:7px!important}.artUniLogos .uniLogo span{grid-column:2!important;text-align:left!important;display:block!important;min-height:0!important}.artUniLogos .uniLogo span b{font-size:24px!important;font-weight:900!important;color:#171717!important;margin-bottom:8px!important}.artUniLogos .uniLogo span small{font-size:18px!important;line-height:1.08!important}
.graduateRail{cursor:grab;touch-action:auto;-webkit-overflow-scrolling:touch;user-select:none;scroll-behavior:smooth}.graduateRail.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.graduateRail.dragging *{pointer-events:none}.graduateRail{grid-auto-columns:minmax(310px,360px)!important}.graduateCard{border:2px solid var(--c)!important;background:#fff!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;overflow:hidden!important;padding:0!important}.graduateCard img{width:100%!important;aspect-ratio:3/4!important;height:auto!important;object-fit:cover!important;object-position:center!important;border:0!important;border-bottom:2px solid var(--c)!important;background:var(--soft,#f3f3f3)!important}.graduateCard>div{padding:22px 24px 26px!important}.graduateCard h3{font-size:clamp(32px,2.6vw,46px)!important;line-height:.9!important}.graduateCard b{font-size:23px!important;line-height:1.02!important}.graduateCard p{font-size:20px!important;line-height:1.05!important}.graduateGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}.graduateGrid .graduateCard img{aspect-ratio:3/4!important}
.reviewTrack{animation:reviewsMove 78s linear infinite!important}.reviewMarquee.dragging .reviewTrack{animation-play-state:paused!important}.reviewMarquee{overflow-x:auto!important;scrollbar-width:none;cursor:grab;touch-action:auto;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none}.reviewMarquee::-webkit-scrollbar{display:none}.reviewMarquee.dragging{cursor:grabbing}.reviewMarquee.dragging *{pointer-events:none}blockquote{transform:none!important;border-radius:0!important;background:#fff!important;display:flex!important;flex-direction:column!important;user-select:none;-webkit-user-select:none}.reviewsMore{width:auto!important}
@media(max-width:1100px){.graduateGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.artUniLogos{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.graduateRail{grid-auto-columns:minmax(270px,84vw)!important;padding-left:42px!important;padding-right:42px!important}.graduateGrid{grid-template-columns:1fr!important}.artUniLogos{grid-template-columns:1fr!important}.artUniLogos .uniLogo{grid-template-columns:62px 1fr!important;min-height:132px!important}.artUniLogos .uniLogo img{width:54px!important;height:54px!important}.artUniLogos .uniLogo span b{font-size:22px!important}.artUniLogos .uniLogo span small{font-size:16px!important}.demoIcon{width:62px;height:62px}.demoIcon svg{width:36px;height:36px}}

/* Patch v13: lucide material icons, slower reviews, stable non-art university pills */
.reviewTrack{animation-duration:150s!important}
.demoIcon svg *{fill:none!important}
.demoIcon svg path,.demoIcon svg rect{stroke-linecap:round;stroke-linejoin:round}
.uniLogos:not(.artUniLogos){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
.uniLogos:not(.artUniLogos) .uniLogo{height:116px!important;min-height:116px!important;border:3px solid var(--c)!important;border-radius:999px!important;background:#fff!important;padding:16px 26px!important;display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;justify-items:start!important;overflow:hidden!important}
.uniLogos:not(.artUniLogos) .uniLogo img{width:64px!important;height:64px!important;grid-column:1!important;margin:0!important;transform:none!important;padding:7px!important;border:2px solid var(--c)!important;border-radius:50%!important;object-fit:contain!important;align-self:center!important;justify-self:center!important}
.uniLogos:not(.artUniLogos) .uniLogo span{grid-column:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:0!important;width:100%!important;text-align:left!important;line-height:1!important;overflow:hidden!important}
.uniLogos:not(.artUniLogos) .uniLogo span b{display:block!important;font-size:clamp(18px,1.26vw,24px)!important;line-height:1!important;font-weight:500!important;color:#171717!important;text-align:left!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
@media(max-width:1100px){.uniLogos:not(.artUniLogos){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.uniLogos:not(.artUniLogos){grid-template-columns:1fr!important;gap:12px!important}.uniLogos:not(.artUniLogos) .uniLogo{height:92px!important;min-height:92px!important;grid-template-columns:58px 1fr!important;padding:12px 18px!important}.uniLogos:not(.artUniLogos) .uniLogo img{width:52px!important;height:52px!important}.uniLogos:not(.artUniLogos) .uniLogo span b{font-size:19px!important}}

/* Patch v16: slower homepage reviews, wider subject poster, non-art universities rebuilt */
.homeReviews .reviewTrack{animation-duration:420s!important}
.homeReviews blockquote{border-color:#171717!important}
.homeReviews blockquote cite{color:#171717!important}
.subjectPoster{min-width:0!important;overflow:hidden!important}
.subjectPosterSociety{transform:none!important}
.subjectHero .subjectAutoHyphen{hyphens:auto;-webkit-hyphens:auto;word-break:normal;overflow-wrap:normal}
.subjectPoster h3{display:block!important;width:auto!important;max-width:none!important;font-size:clamp(34px,3vw,52px)!important;line-height:.92!important;letter-spacing:-.035em!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;-webkit-hyphens:none!important}
.subjectPosterTitle{font-size:clamp(32px,3.2vw,56px)!important;line-height:.88!important;letter-spacing:-.045em!important}
.subjectPosterTitle span{display:block}
.subjectPosterTitle span + span{margin-top:.08em}
.uniLogos:not(.artUniLogos){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 20px!important;align-items:stretch!important}
.uniLogos:not(.artUniLogos) .uniLogo{min-width:0!important;height:auto!important;min-height:154px!important;padding:22px 24px!important;grid-template-columns:76px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;border-radius:32px!important;overflow:hidden!important}
.uniLogos:not(.artUniLogos) .uniLogo img{width:68px!important;height:68px!important;padding:8px!important;transform:none!important;margin:0!important}
.uniLogos:not(.artUniLogos) .uniLogo span{min-width:0!important;display:grid!important;grid-template-rows:auto auto!important;align-content:center!important;gap:8px!important;align-items:start!important;justify-content:start!important;padding:0!important;overflow:visible!important}
.uniLogos:not(.artUniLogos) .uniLogo span b{display:block!important;font-size:clamp(24px,2.05vw,34px)!important;line-height:.9!important;font-weight:900!important;letter-spacing:-.04em!important;white-space:normal!important;overflow:visible!important}
.uniLogos:not(.artUniLogos) .uniLogo span small{display:block!important;font-size:clamp(16px,1.12vw,20px)!important;line-height:1.08!important;font-weight:500!important;color:#171717!important;white-space:normal!important}
@media(max-width:900px){.uniLogos:not(.artUniLogos){grid-template-columns:1fr!important}.uniLogos:not(.artUniLogos) .uniLogo{min-height:142px!important}}
@media(max-width:680px){.subjectPosterSociety{transform:none!important}.subjectPoster h3,.subjectPosterTitle{font-size:clamp(32px,9.2vw,44px)!important;line-height:.9!important}.uniLogos:not(.artUniLogos) .uniLogo{min-height:124px!important;padding:18px 18px!important;grid-template-columns:60px minmax(0,1fr)!important;gap:14px!important}.uniLogos:not(.artUniLogos) .uniLogo img{width:56px!important;height:56px!important}.uniLogos:not(.artUniLogos) .uniLogo span b{font-size:26px!important}.uniLogos:not(.artUniLogos) .uniLogo span small{font-size:15px!important}}

/* Patch v17: review marquee swipe and anchored author line */
blockquote cite{margin-top:auto!important;padding-top:8px!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
blockquote span{align-self:flex-start!important}

/* Patch v18: static review mosaic */
.teamCard .teacherPhoto{display:block!important;width:220px!important;height:220px!important;max-width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:50%!important;margin:0 auto 18px!important;flex:0 0 auto!important}
.reviewSection{background:#f7f7f4}
.reviewMosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;margin-bottom:28px}
.reviewMosaic>*{min-width:0}
.reviewPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0;align-items:stretch}
.reviewPair.isFlipped .reviewPhoto{order:2}
.reviewPair.isFlipped .reviewCard{order:1}
.reviewPhoto{position:relative;margin:0;height:520px;min-height:520px;border:2px solid #171717;border-radius:28px;overflow:hidden;background:#e9e9e4;box-shadow:none;line-height:0}
.reviewPhoto img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.reviewCard{height:520px;min-height:520px;border:2px solid #171717;border-radius:28px;background:#fff;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:none;overflow:hidden}
.reviewCard header{display:grid;gap:6px}
.reviewCard h3{margin:0;color:#171717;font-size:28px;line-height:.95;letter-spacing:0}
.reviewCard header p{margin:0;color:#747474;font-size:17px;line-height:1.12;font-weight:700}
.reviewTags{display:flex;flex-wrap:wrap;gap:8px}
.reviewTags span{display:inline-flex;align-items:center;min-height:36px;border-radius:999px;background:var(--soft,#eef4ff);border:2px solid var(--c,#171717);color:#171717;padding:7px 13px;font-size:15px;line-height:1;font-weight:900}
.reviewText{margin:0;color:#242424;font-size:16.2px;line-height:1.12;font-weight:750;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none;text-wrap:balance}
.reviewSection .reviewMarquee{margin-top:0}
.reviewSection .reviewMarquee blockquote{border-radius:28px!important;overflow:hidden}
.reviewsMoreWrap{display:flex;justify-content:center;margin-top:28px}
.reviewsMoreWrap .reviewsMore{width:auto!important;min-width:min(100%,320px);justify-content:center;background:#171717!important;border-color:#171717!important;color:#fff!important;box-shadow:none!important}
.reviewsMoreWrap .reviewsMore:hover{transform:translateY(-2px);box-shadow:none!important}
@media(max-width:1180px){.reviewMosaic{grid-template-columns:1fr}.reviewPair{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewPhoto,.reviewCard{height:460px;min-height:460px}}
@media(max-width:680px){.contactSection:after{display:none}.reviewMosaic{grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:16px;width:100%;overflow:hidden}.reviewMosaic>.reviewPair{grid-area:auto!important}.reviewPair{grid-column:auto!important;grid-template-columns:minmax(0,1fr);gap:0;width:100%;max-width:100%;border:2px solid #171717;border-radius:22px;background:#fff;overflow:hidden}.reviewPair.isFlipped .reviewPhoto{order:1}.reviewPair.isFlipped .reviewCard{order:2}.reviewPhoto{height:auto;min-height:0;aspect-ratio:4/5;border:0;border-bottom:2px solid #171717;border-radius:0}.reviewPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.reviewCard{height:auto;min-height:0;border:0;border-radius:0;padding:20px;overflow:visible}.reviewCard h3{font-size:26px}.reviewCard header p{font-size:16px}.reviewText{font-size:15.3px;line-height:1.14;text-wrap:auto}.reviewSection .reviewMarquee blockquote{border-radius:22px!important}.reviewsMoreWrap .reviewsMore{width:100%!important;min-width:0}.footerLinks{width:100%;align-items:stretch}.footerLicenseBtn{width:100%!important;margin-left:0!important;justify-content:center}}

/* Patch v19: fix subject poster teacher photo shape */
.subjectPoster > img{
  display:block!important;
  width:min(100%,360px)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:50%!important;
  margin:0 auto!important;
}

/* Patch v20: journalism/economy launch */
@media(min-width:1101px){
  .courseCards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
.tariffs.tariffCount2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px}
.priceTimer{display:grid;gap:14px;margin:0 0 24px;max-width:760px}
.priceTimerCompact{margin:-16px 0 30px}
.priceTimerLabel{font-size:clamp(18px,2vw,28px);line-height:1;font-weight:900;color:#171717}
.priceTimerBoxes{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.priceTimerBox{min-width:92px;background:#fff;border:2px solid var(--c,#0B84F3);padding:10px 12px;display:grid;gap:3px;text-align:center;box-shadow:none}
.priceTimerBox b{font-size:clamp(28px,3vw,46px);line-height:.9;color:var(--c,#0B84F3);font-weight:900;letter-spacing:0}
.priceTimerBox small{font-size:13px;line-height:1;text-transform:uppercase;font-weight:900;color:#171717}
.priceCompare a i .priceAfterLabel{display:block!important;color:inherit!important;font-size:20px!important;line-height:1!important;margin:0 0 2px!important;padding:0!important;background:transparent!important;opacity:1!important}
.priceCompare .monthlyPriceIncrease b{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.priceCompare .priceArrow{font-size:.78em!important;color:var(--c);font-weight:900;margin:0}
.premium .priceCompare .priceArrow{color:#08C84B}
.priceCompare .priceIncreaseFull{min-height:166px!important;padding:18px 20px!important;background:var(--c)!important;color:#fff!important;border:0!important;display:flex!important;justify-content:flex-start!important;gap:8px!important}
.priceCompare .priceIncreaseFull .priceBeforePill{display:grid!important;justify-items:start!important;align-self:start!important;width:min(100%,330px)!important;background:#08C84B!important;color:#fff!important;border-radius:13px!important;padding:9px 14px 8px!important;font-size:clamp(20px,1.55vw,26px)!important;line-height:.94!important;font-weight:900!important;letter-spacing:-.02em!important;opacity:1!important}
.priceCompare .priceIncreaseFull .priceBeforePill strong{display:block!important;color:#fff!important;background:transparent!important;font-size:.72em!important;line-height:.88!important;letter-spacing:0!important;margin:0 0 2px!important;padding:0!important}
.priceCompare .priceIncreaseFull i{display:block!important;margin:0!important;padding-left:14px!important;padding-right:46px!important;color:#fff!important;font-size:clamp(20px,1.55vw,26px)!important;line-height:.94!important;letter-spacing:-.02em!important;text-align:left!important}
.priceCompare .priceIncreaseFull i .priceAfterLabel{font-size:.72em!important;line-height:.9!important;margin:0 0 2px!important;color:#fff!important}
.priceCompare .priceIncreaseFull em{display:none!important}
.priceCompare .monthlyPriceIncrease{min-height:160px!important;border:2px solid var(--c)!important;background:#fff!important;color:#171717!important}
.priceCompare .monthlyPriceIncrease b{align-self:center!important;display:flex!important;align-items:center!important;gap:5px!important;font-size:clamp(32px,2.75vw,46px)!important;line-height:.9!important;flex-wrap:nowrap!important;white-space:nowrap!important}
.priceCompare .monthlyPriceIncrease .priceInlineArrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;flex:0 0 28px!important;margin:0 -1px!important;transform:rotate(-15deg)!important}
.priceCompare .monthlyPriceIncrease .priceInlineArrow svg{position:static!important;display:block!important;width:100%!important;height:100%!important}
.priceCompare .monthlyPriceIncrease .priceInlineArrow svg circle{fill:var(--c)!important}
.priceCompare .monthlyPriceIncrease .priceInlineArrow svg path{fill:#fff!important}
.priceCompare .monthlyPriceIncrease .monthlyNewPrice{color:var(--c)!important;font:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important;opacity:1!important}
.tariff.premium .priceCompare .priceIncreaseFull{background:#fff!important;color:var(--c)!important}
.tariff.premium .priceCompare .priceIncreaseFull i{color:var(--c)!important}
.tariff.premium .priceCompare .priceIncreaseFull i .priceAfterLabel{color:var(--c)!important}
.tariff.premium .priceCompare .monthlyPriceIncrease{background:transparent!important;color:#fff!important;border-color:#fff!important}
.tariff.premium .priceCompare .monthlyPriceIncrease .priceInlineArrow svg circle{fill:#08C84B!important}
.tariff.premium .priceCompare .monthlyPriceIncrease .monthlyNewPrice{color:#fff!important}
.nextResultCta{display:inline-flex;align-items:center;gap:14px;margin-top:26px;color:var(--c,#0B84F3);font-size:clamp(34px,4vw,62px);line-height:.9;font-weight:900;letter-spacing:-.04em}
.nextResultCta svg{flex:0 0 auto}
.olympiadLogoSlots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}
.olympiadLogoSlot{aspect-ratio:1/1;min-height:0;border:2px solid var(--c);border-radius:28px;background:#fff;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.olympiadLogoSlot img{width:100%;height:100%;object-fit:contain}
.courseTimeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 24px}
.timelineItem{position:relative;min-height:290px;background:#fff;border:2px solid var(--c);padding:20px;display:flex;flex-direction:column;overflow:hidden}
.timelineItem:after{content:"";position:absolute;right:-42px;bottom:-42px;width:140px;height:140px;border-radius:50%;background:var(--soft);z-index:0}
.timelineItem>*{position:relative;z-index:1}
.timelineItem b{display:inline-flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;background:var(--c);color:#fff;font-size:21px;line-height:1;margin-bottom:18px}
.timelineItem h3{font-size:clamp(28px,2.8vw,44px);line-height:.9;margin:0 0 14px;color:var(--c)}
.timelineItem p{font-size:17px;line-height:1.08;font-weight:800;margin:0}
.teamGrid:has(.teamCard:only-child){grid-template-columns:minmax(280px,520px);justify-content:start}
.teamCard h3{overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}
.materialShowcase{display:block}
.materialList{display:grid;gap:34px;max-width:1120px}
.materialBlock{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1fr);gap:18px;align-items:stretch;min-height:0;overflow:visible}
.materialBlockIntro{padding:0 18px 0 0}
.materialBlockIntro h3{font-size:clamp(44px,5vw,88px);line-height:.88;letter-spacing:-.045em;margin:0 0 18px;color:var(--c)}
.materialHeroLine{display:flex;align-items:center;gap:18px}
.materialHeroLine svg{flex:0 0 auto;width:clamp(44px,4.2vw,68px);height:clamp(44px,4.2vw,68px)}
.materialHeroLine span{display:block;color:var(--c)}
.materialBlockIntro p{font-size:clamp(22px,2vw,34px);line-height:1.05;font-weight:800;margin:0;max-width:620px}
.materialPdfCard{min-height:260px;color:#171717}
.materialPdfCard h3{font-size:clamp(32px,3vw,52px)}
.materialPdfCard svg.lucideArrow{margin-top:auto;color:var(--c)}
.supplementalDemoGrid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;margin-top:48px;padding-top:34px;border-top:2px solid var(--c)}
@media(min-width:681px){
  .calendar{grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%;overflow:visible!important}
  .day{width:auto!important;height:clamp(118px,9.5vw,160px)!important}
  .day span{font-size:clamp(13px,1vw,17px)!important;line-height:1!important}
}
@media(max-width:1100px){
  .tariffs.tariffCount2{grid-template-columns:1fr 1fr}
  .olympiadLogoSlots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .courseTimeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .materialBlock{grid-template-columns:1fr}
}
@media(max-width:680px){
  .courseCards{grid-template-columns:1fr!important}
  .courseCard h3{font-size:clamp(24px,7.4vw,34px)!important;line-height:.94!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;-webkit-hyphens:none!important}
  .tariffs.tariffCount2,.olympiadLogoSlots,.courseTimeline{grid-template-columns:1fr}
  .priceTimer{margin-bottom:22px}
  .priceTimerCompact{margin:-8px 0 24px}
  .priceTimerBoxes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}
  .priceTimerBox{min-width:0;padding:8px 4px;box-shadow:none}
  .priceTimerBox b{font-size:clamp(24px,8vw,34px)}
  .priceTimerBox small{font-size:10px}
  .nextResultCta{width:100%;justify-content:space-between;font-size:clamp(32px,10vw,44px)}
  .olympiadLogoSlot{min-height:120px}
  .timelineItem{min-height:0}
  .materialHeroLine{gap:10px}
  .materialHeroLine svg{width:42px;height:42px}
  .includeGrid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .include{min-height:0!important;border:0!important;background:transparent!important;padding:0!important;gap:12px!important;align-items:flex-start!important;font-size:clamp(24px,7.2vw,34px)!important;line-height:.98!important;font-weight:800!important}
  .include svg{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .teamCard h3{font-size:clamp(34px,9.2vw,42px)!important;line-height:.9!important;white-space:normal!important}
}

/* Patch v21: GeoIP VPN payment dialogs */
.paymentVpnNote{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin:-10px 0 26px;padding:14px 18px;background:#fff;border:3px solid var(--c,#0B84F3);border-radius:999px;color:#171717}
.paymentVpnNote span{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;background:var(--c,#0B84F3);color:#fff;font-size:28px;line-height:1;font-weight:900}
.paymentVpnNote p{margin:0;font-size:clamp(18px,1.7vw,26px);line-height:1;font-weight:900;color:#171717}
.paymentDialogLayer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}
.paymentDialogBackdrop{position:absolute;inset:0;background:rgba(23,23,23,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.paymentDialog{position:relative;z-index:1;width:min(100%,560px);background:#fff;border:3px solid var(--c,#0B84F3);border-radius:28px;padding:30px;box-shadow:none;color:#171717;overflow:hidden}
.paymentDialog:before{content:"";position:absolute;right:-48px;top:-48px;width:132px;height:132px;border-radius:50%;background:var(--soft,#eaf4ff);z-index:0}
.paymentDialogDanger:before{background:rgba(226,48,48,.1)}
.paymentDialog>*{position:relative;z-index:1}
.paymentDialog h2{margin:0 0 14px;color:var(--c,#0B84F3);font-size:clamp(38px,4.6vw,62px);line-height:.9;letter-spacing:-.04em;font-weight:900}
.paymentDialog p{margin:0;color:#171717;font-size:clamp(20px,2vw,28px);line-height:1.04;font-weight:800}
.paymentDialogSupport{margin-top:16px!important;font-size:clamp(17px,1.45vw,22px)!important;line-height:1.08!important}
.paymentDialogSupport a{color:var(--c,#E23030);font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.paymentDialogActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.paymentDialogBtn{appearance:none;border:2px solid var(--c,#0B84F3);border-radius:999px;min-height:54px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:18px;line-height:1;font-weight:900;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}
.paymentDialogBtn:hover{transform:translateY(-2px)}
.paymentDialogBtnDanger{background:#E23030;border-color:#E23030;color:#fff}
.paymentDialogBtnWhite{background:#fff;border-color:#E23030;color:#E23030}
.paymentDialogBtn svg{flex:0 0 auto}
@media(max-width:680px){
  .paymentVpnNote{width:100%;align-items:flex-start;border-radius:22px;margin:-4px 0 20px;padding:14px}
  .paymentVpnNote span{width:32px;height:32px;flex-basis:32px;font-size:24px}
  .paymentVpnNote p{font-size:18px;line-height:1.05}
  .paymentDialogLayer{place-items:center;padding:14px}
  .paymentDialog{width:100%;border-radius:22px;padding:24px 18px;box-shadow:none}
  .paymentDialogActions{display:grid;grid-template-columns:1fr;gap:10px}
  .paymentDialogBtn{width:100%;min-height:52px}
}

/* Patch v22: shared payment mode picker */
.paymentModePicker{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:0;width:min(100%,720px);margin:0 0 22px;border:3px solid var(--c,#0B84F3);background:#fff;color:#171717;overflow:hidden}
.paymentModePicker button{appearance:none;border:0;border-right:3px solid var(--c,#0B84F3);background:#fff;color:#171717;min-height:46px;padding:7px 11px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;font:inherit;cursor:pointer;min-width:0}
.paymentModePicker button:last-child{border-right:0}
.paymentModePicker button.active{background:var(--c,#0B84F3);color:#fff}
.paymentModePicker span{font-size:clamp(20px,1.9vw,29px);line-height:.9;font-weight:900;letter-spacing:-.035em;white-space:nowrap;min-width:max-content;flex:0 0 auto}
.paymentModePicker b{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:20px;border-radius:999px;background:#08C84B;color:#fff;padding:4px 7px;font-size:clamp(9px,.78vw,12px);line-height:1;font-weight:900;text-align:center;letter-spacing:0;white-space:nowrap;flex:0 1 auto}
.paymentModePicker button:not(.active) b{color:#fff}
.priceCompare{grid-template-columns:1fr!important}
.priceCompare .selectedPrice{width:100%;min-height:190px!important;background:var(--c)!important;color:#fff!important;border:0!important}
.priceCompare .selectedPrice svg circle{fill:rgba(255,255,255,.24)!important}
.priceCompare .selectedPrice svg path{fill:#fff!important}
.priceCompare .selectedPrice em{position:static!important;justify-self:start;align-self:start;max-width:100%;white-space:normal;text-align:center;margin:6px 0 0!important;transform:rotate(-2deg)!important}
.priceCompare .selectedPrice.monthlyPrice,.priceCompare .selectedPrice.monthlyPriceIncrease{background:var(--c)!important;color:#fff!important;border:0!important}
.priceCompare .selectedPrice.monthlyPrice .monthlyNewPrice,.priceCompare .selectedPrice.monthlyPriceIncrease .monthlyNewPrice{color:#fff!important}
.priceCompare .selectedPrice.monthlyPrice .priceInlineArrow svg circle,.priceCompare .selectedPrice.monthlyPriceIncrease .priceInlineArrow svg circle{fill:rgba(255,255,255,.24)!important}
.tariff.premium .priceCompare .selectedPrice,.tariff.premium .priceCompare .selectedPrice.monthlyPrice,.tariff.premium .priceCompare .selectedPrice.monthlyPriceIncrease{background:#fff!important;color:var(--c)!important;border:0!important}
.tariff.premium .priceCompare .selectedPrice svg circle{fill:var(--c)!important}
.tariff.premium .priceCompare .selectedPrice svg path{fill:#fff!important}
@media(max-width:680px){
  .paymentVpnNote{align-items:center!important}
  .paymentModePicker{grid-template-columns:1fr 1fr;margin-bottom:18px;width:100%}
  .paymentModePicker button{min-height:48px;border-right:3px solid var(--c,#0B84F3);border-bottom:0;padding:7px 5px;gap:3px;overflow:hidden}
  .paymentModePicker button:last-child{border-right:0}
  .paymentModePicker span{font-size:clamp(19px,5.2vw,22px);letter-spacing:-.04em}
  .paymentModePicker b{display:inline-flex!important;background:#08C84B!important;color:#fff!important;padding:4px 6px;font-size:10px}
  .priceCompare .selectedPrice{min-height:168px!important}
  .priceCompare .selectedPrice em{position:static!important;justify-self:start;max-width:100%;font-size:13px!important;margin:4px 0 0!important;transform:rotate(-2deg)!important}
  .priceCompare .selectedPrice b{font-size:48px!important}
}

/* Patch v23: payment support explanation */
.extraPay{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:26px!important;width:min(100%,1040px);padding:22px 24px;border:3px solid var(--c,#0B84F3);background:linear-gradient(135deg,#fff 0%,#fff 62%,var(--soft,#eaf4ff) 100%);color:#171717;overflow:hidden}
.extraPayText{display:grid;gap:8px;min-width:0}
.extraPayText h3{margin:0;color:var(--c,#0B84F3);font-size:clamp(28px,3vw,48px);line-height:.92;letter-spacing:-.035em;font-weight:900}
.extraPayText p{margin:0;max-width:760px;color:#171717;font-size:clamp(18px,1.55vw,24px);line-height:1.08;font-weight:800}
.extraPayActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.extraPayActions .btn{width:auto;white-space:nowrap;background:var(--c,#0B84F3)!important;border-color:var(--c,#0B84F3)!important;color:#fff!important;box-shadow:none}
.extraPayActions .btn:nth-child(2){background:#fff!important;color:var(--c,#0B84F3)!important}
@media(max-width:900px){
  .extraPay{grid-template-columns:1fr;align-items:start}
  .extraPayActions{justify-content:start}
}
@media(max-width:680px){
  .extraPay{margin-top:18px!important;padding:18px;border-radius:0;background:#fff}
  .extraPayText h3{font-size:30px}
  .extraPayText p{font-size:17px}
  .extraPayActions{display:grid;width:100%;grid-template-columns:1fr;gap:9px}
  .extraPayActions .btn{width:100%;justify-content:space-between}
}

/* Patch v24: history teachers section */
.historyTeamSection{max-width:1210px}
.historyTeamSection:after{display:none}
.historyTeamHead{max-width:760px;margin:0 0 42px}
.historyTeamHead h2{margin:0;color:#171717;font-size:86px;line-height:.92;font-weight:900;letter-spacing:0}
.historyTeamHead p{max-width:640px;margin:22px 0 0;color:#555;font-size:20px;line-height:1.28;font-weight:700}
.historyTeacherGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.historyTeacherCard{min-width:0;display:flex;flex-direction:column;opacity:1;transform:none}
@keyframes historyTeacherRise{to{opacity:1;transform:none}}
.historyTeacherAvatar{position:relative;aspect-ratio:1/1;border:2px solid var(--c,#0B84F3);border-radius:22px;background:#fff;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;box-shadow:none;transition:none}
.historyTeacherCard:hover .historyTeacherAvatar{transform:none;box-shadow:none}
.historyTeacherShine{display:none}
.historyTeacherAvatar img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:none}
.historyTeamSection:not(.historyTeamSection-history) .historyTeacherAvatar img{object-position:center top}
.historyTeacherGrid:has(.historyTeacherCard:only-child){grid-template-columns:minmax(0,380px);justify-content:start}
.historyTeacherCard:nth-child(2) .historyTeacherAvatar img{height:96%;width:96%}
.historyTeamSection-history .historyTeacherCard:nth-child(3) .historyTeacherAvatar img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center top}
.historyTeacherCard h3{margin:22px 0 16px;text-align:center;color:#171717;font-size:28px;line-height:1.05;font-weight:900;letter-spacing:0}
.historyTeacherStats{flex:1;display:flex;flex-direction:column;padding:24px;border:2px solid var(--c,#0B84F3);border-radius:22px;background:#fff;backdrop-filter:none;transition:border-color .2s}
.historyTeacherCard:hover .historyTeacherStats{border-color:var(--c,#0B84F3);box-shadow:none}
.historyTeacherStat{padding:13px 0;border-top:1px solid color-mix(in srgb,var(--c,#0B84F3) 18%,transparent)}
.historyTeacherStat:first-child{padding-top:0;border-top:0}
.historyTeacherStat p,.historyTeacherStat strong{display:block;margin:0;color:#5a6273;font-size:15px;line-height:1.38;font-weight:700}
.historyTeacherStat strong{color:var(--c,#0B84F3);font-size:17px;line-height:1.25;font-weight:900}
.histTeacherNum{color:var(--c,#0B84F3);font-weight:900}
.historyTeamBand{position:relative;overflow:hidden;margin:54px 0 0;padding:48px 40px;border-radius:30px;background:var(--c,#0B84F3);color:#fff}
.historyTeamBand:after{display:none}
.historyTeamBand h3{position:relative;z-index:1;max-width:620px;margin:0 0 32px;color:#fff;font-size:34px;line-height:1.02;font-weight:900;letter-spacing:0}
.historyTeamBand div{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.historyTeamBand span{display:grid;gap:8px;min-width:0}
.historyTeamBand b{font-size:64px;line-height:1;font-weight:900;letter-spacing:0}
.historyTeamBand small{color:rgba(255,255,255,.84);font-size:15px;line-height:1.25;font-weight:700}
@media(max-width:1100px){
  .historyTeacherGrid{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .historyTeamBand div{grid-template-columns:1fr;gap:24px;text-align:center}
  .historyTeamBand h3{text-align:center;margin-left:auto;margin-right:auto}
}
@media(max-width:680px){
  .historyTeamSection{padding-top:72px}
  .historyTeamHead{margin-bottom:32px}
  .historyTeamHead h2{font-size:40px;line-height:.96}
  .historyTeamHead p{font-size:17px;line-height:1.22}
  .historyTeacherGrid{max-width:100%;gap:34px}
  .historyTeacherAvatar{border-radius:18px}
  .historyTeacherCard h3{font-size:26px;margin:18px 0 14px}
  .historyTeacherStats{border-radius:18px;padding:20px}
  .historyTeamBand{margin-top:42px;border-radius:22px;padding:36px 24px}
  .historyTeamBand h3{font-size:28px;line-height:1.05;margin-bottom:28px}
  .historyTeamBand b{font-size:52px}
}
@media(prefers-reduced-motion:reduce){
  .historyTeacherCard{animation:none;opacity:1;transform:none}
}

/* Patch v30: embedded application demo */
.appSection{scroll-margin-top:calc(var(--topbar-h) + 18px)}
.appDemo{width:100%}
.appDemoPrompt{margin:0 0 22px;color:var(--c,#0B84F3);text-align:left}
.appDemoPrompt h3{display:inline;margin:0;font-size:clamp(34px,4.2vw,66px);line-height:.82;letter-spacing:-.04em;font-weight:900}
.appDemoLastLine{display:inline-flex;align-items:center;gap:.18em;white-space:nowrap}
.appDemoArrow{display:inline-flex;width:1em;height:1em;flex:0 0 1em}
.appDemoArrow svg{display:block;width:100%;height:100%;transform:rotate(90deg)}
.appDemoDevice{--demo-scale:1;position:relative;width:min(100%,390px,calc(85dvh * 9 / 20));aspect-ratio:9/20;border-radius:26px;background:#fff;overflow:hidden}
.appDemoDevice:after{content:"";position:absolute;inset:0;z-index:3;border:2px solid #171717;border-radius:inherit;pointer-events:none}
.appDemoFrame{position:absolute;left:0;top:0;display:block;width:390px;height:866.6667px;border:0;background:#fff;transform:scale(var(--demo-scale));transform-origin:left top}
.appDemoLoading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(225,225,225,.92);opacity:1;transition:opacity .45s ease;pointer-events:auto}
.appDemoLoading.isLeaving{opacity:0;pointer-events:none}
.appDemoLoadingTrack{display:block;width:min(72%,240px);height:10px;border-radius:999px;background:rgba(255,255,255,.78);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(23,23,23,.08)}
.appDemoLoadingTrack i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--c,#0B84F3);transform:scaleX(0);transform-origin:left center}
.appDemoLoading.isActive .appDemoLoadingTrack i{animation:appDemoLoad 3s cubic-bezier(.22,.7,.2,1) both}
@keyframes appDemoLoad{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1100px) and (min-width:681px){
  .appDemoPrompt{width:100%}
}
@media(max-width:680px){
  .appDemoPrompt{width:100%;margin-bottom:18px;text-align:left}
  .appDemoPrompt h3{font-size:clamp(31px,10.5vw,44px);line-height:.82}
  .appDemoDevice{width:min(calc(100vw - 32px),390px,calc(85dvh * 9 / 20));margin-left:auto;margin-right:auto;border-radius:22px}
}

/* Patch v25: remove subject poster shadows and crop history poster photo */
.subjectPoster{box-shadow:none!important}
.posterTeachers img:nth-child(3){object-fit:cover!important;object-position:center top!important}

/* Patch v26: app screenshots mobile density */
.appScreens img{box-shadow:none!important}
.teamSection:not(.historyTeamSection):after{display:none!important}
.teamSection .teacherPhoto{box-shadow:none!important}
@media(max-width:680px){
  .appScreens{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"screen1 screen2" "screen3 screen2"!important;grid-auto-rows:auto!important;gap:10px!important;align-items:start!important}
  .appScreens img{width:100%!important;height:auto!important;border-radius:18px!important}
  .appScreens img:nth-child(1){grid-area:screen1!important}
  .appScreens img:nth-child(2){grid-area:screen2!important}
  .appScreens img:nth-child(3){grid-area:screen3!important}
  .olympiadLogoSlots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .olympiadLogoSlot{border-radius:18px!important;padding:16px!important}
}

/* Patch v27: subject hero portraits, launch notice, motion */
.subjectHero{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;isolation:isolate}
.subjectHero .heroCopy{position:relative;z-index:3;max-width:920px}
.subjectHero h1{font-size:clamp(56px,6.35vw,116px);line-height:.9;letter-spacing:-.035em;max-width:930px}
.subjectHeroFigure{position:relative;z-index:2;align-self:stretch;min-height:620px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;overflow:visible}
.subjectHeroFigure:before{content:"";position:absolute;right:2%;bottom:7%;width:min(52vw,760px);height:58%;background:#fff;box-shadow:0 0 0 1px rgba(23,23,23,.02);z-index:0}
.subjectHeroFigure:after{content:"";position:absolute;left:12%;bottom:9%;width:48%;height:42%;border:2px solid var(--c,#0B84F3);border-radius:999px;background:var(--soft,#eaf4ff);opacity:.36;z-index:0;transform:rotate(-8deg)}
.subjectHeroFigure img{position:relative;z-index:1;width:min(45vw,640px);max-width:none;height:min(70vh,760px);min-height:470px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 26px 28px rgba(23,23,23,.08));transform:translateX(2%)}
.subjectPosterMobile{display:none!important}
.courseStartedNotice{display:inline-flex;align-items:center;max-width:100%;margin:0 0 24px;padding:14px 18px;border:3px solid var(--c,#0B84F3);border-radius:999px;background:var(--c,#0B84F3);color:#fff;font-size:clamp(22px,2.35vw,38px);line-height:.96;font-weight:900;letter-spacing:-.025em;box-shadow:8px 8px 0 color-mix(in srgb,var(--c,#0B84F3) 18%,transparent)}
.motionReveal{opacity:0;transform:translateY(34px);transition:opacity .62s cubic-bezier(.2,.8,.2,1),transform .62s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--reveal-i,0) * 34ms);will-change:opacity,transform}
.motionReveal.isVisible{opacity:1;transform:none}
.subjectHero .heroCopy > .motionReveal{transform:translateY(20px)}
.subjectHero .heroCopy > .motionReveal.isVisible{transform:none}
.btn,.licenseBtn,.paymentDialogBtn,.paymentModePicker button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.btn:hover,.licenseBtn:hover,.paymentDialogBtn:hover{transform:translateY(-3px);box-shadow:0 10px 0 color-mix(in srgb,var(--c,#171717) 20%,transparent)}
.btn:active,.licenseBtn:active,.paymentDialogBtn:active,.paymentModePicker button:active{transform:translateY(0)}
.courseCard,.olympiadCard,.include,.timelineItem,.demoCard,.teamCard,.homeworkCard,.tariff,.extraPay,.reviewCard,.reviewPhoto,.uniLogo{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background-color .22s ease}
.courseCard:hover,.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.teamCard:hover,.homeworkCard:hover,.tariff:hover,.uniLogo:hover{transform:translateY(-5px)}
.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.homeworkCard:hover,.uniLogo:hover{box-shadow:8px 8px 0 color-mix(in srgb,var(--c,#0B84F3) 24%,transparent)}
.tariff:hover{box-shadow:10px 10px 0 color-mix(in srgb,var(--c,#0B84F3) 20%,transparent)}
.reviewCard:hover,.reviewPhoto:hover{transform:translateY(-4px)}
.priceCompare a{transition:transform .18s ease,filter .18s ease}
.priceCompare a:hover{transform:translateY(-3px);filter:saturate(1.08)}
.subjectMeta b,.eyebrow{transition:transform .18s ease,background-color .18s ease,color .18s ease}
.subjectMeta b:hover,.eyebrow:hover{transform:translateY(-2px);background:var(--c,#0B84F3);color:#fff}
@media(max-width:1280px){
  .subjectHero{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important}
  .subjectHero h1{font-size:clamp(54px,6vw,92px);max-width:780px}
  .subjectHeroFigure{min-height:520px}
  .subjectHeroFigure img{width:min(42vw,520px);height:min(68vh,650px);min-height:430px}
}
@media(max-width:1100px){
  .subjectHero{grid-template-columns:minmax(0,1fr)!important}
  .subjectHeroFigure{display:none!important}
  .subjectPosterMobile{display:block!important}
}
@media(max-width:680px){
  .courseStartedNotice{display:flex;width:100%;border-radius:22px;margin:0 0 18px;padding:14px 16px;font-size:clamp(24px,7vw,32px);box-shadow:none}
  .motionReveal{opacity:1;transform:none;transition:none}
  .courseCard:hover,.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.teamCard:hover,.homeworkCard:hover,.tariff:hover,.uniLogo:hover,.reviewCard:hover,.reviewPhoto:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
  .motionReveal{opacity:1!important;transform:none!important;transition:none!important}
  .reviewTrack{animation:none!important}
  *{scroll-behavior:auto!important}
}

/* Patch v28: no offset shadows, edge-mounted hero portraits, useful motion */
*{box-shadow:none!important}
.subjectHero{
  grid-template-columns:minmax(0,1fr)!important;
  min-height:calc(100vh - 74px)!important;
  padding:clamp(28px,4.2vw,56px) 0 0 clamp(18px,5vw,70px)!important;
  align-items:end!important;
}
.subjectHero .heroCopy{
  width:min(55vw,820px)!important;
  max-width:none!important;
  padding:0 0 clamp(34px,5vw,72px)!important;
}
.subjectHero h1{
  font-size:clamp(46px,5.25vw,92px)!important;
  line-height:.91!important;
  max-width:780px!important;
  margin-bottom:24px!important;
}
.subjectHero .lead{font-size:clamp(18px,1.65vw,25px)!important;max-width:720px!important}
.subjectHeroFigure{
  position:absolute!important;
  inset:auto 0 0 auto!important;
  width:min(47vw,760px)!important;
  height:calc(100% - 1px)!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.subjectHeroFigure:before{display:none!important}
.subjectHeroFigure:after{
  left:10%!important;
  bottom:12%!important;
  width:54%!important;
  height:38%!important;
  background:color-mix(in srgb,var(--soft,#eaf4ff) 64%,transparent)!important;
  opacity:1!important;
}
.subjectHeroFigure img{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  height:min(86vh,100%)!important;
  min-height:0!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  filter:none!important;
  transform:none!important;
}
.courseStartedNotice{box-shadow:none!important}
.btn:hover,.licenseBtn:hover,.paymentDialogBtn:hover{box-shadow:none!important;transform:scale(1.025)}
.courseCard:hover,.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.teamCard:hover,.historyTeacherCard:hover,.homeworkCard:hover,.tariff:hover,.uniLogo:hover,.resultTile:hover,.photoStrip img:hover{
  transform:scale(1.018)!important;
  box-shadow:none!important;
  outline:3px solid var(--c,#0B84F3);
  outline-offset:3px;
}
.historyTeacherCard:hover .historyTeacherAvatar,.teamCard:hover .teacherPhoto{transform:scale(1.035)!important}
.reviewCard:hover,.reviewPhoto:hover{transform:scale(1.012)!important;box-shadow:none!important}
.priceCompare a:hover{transform:scale(1.018)!important;filter:saturate(1.08)}
.nextResultCta{transition:transform .22s ease,color .22s ease}
.nextResultCta svg{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.nextResultCta:hover{transform:translateX(8px)}
.nextResultCta:hover svg{transform:rotate(90deg) scale(1.05)}
.faqContact{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:980px;
  margin:18px 0 0;
  padding:22px 0 0;
  color:#171717;
}
.faqContact h3{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  color:var(--c,#0B84F3);
  font-size:clamp(30px,3.4vw,54px);
  line-height:.92;
  font-weight:900;
  letter-spacing:-.035em;
}
.faqContactTail{display:inline-block;white-space:nowrap}
.faqContactTitleArrow{display:inline-flex;margin-left:.12em;vertical-align:-.08em}
.faqContactTitleArrow svg{display:block;width:.82em;height:.82em}
.faqContact svg{flex:0 0 auto;color:var(--c,#0B84F3);transition:transform .22s ease}
.faqContact:hover svg{transform:translateX(6px)}
.faqContact .btn{width:auto;background:var(--c,#0B84F3);border-color:var(--c,#0B84F3);white-space:nowrap}
@media(max-width:1280px){
  .subjectHero .heroCopy{width:min(57vw,740px)!important}
  .subjectHero h1{font-size:clamp(42px,5vw,74px)!important}
  .subjectHeroFigure{width:min(45vw,620px)!important}
}
@media(max-width:1100px){
  .subjectHero{padding:54px 16px 0!important;min-height:auto!important}
  .subjectHero .heroCopy{width:100%!important;padding:0!important}
  .subjectHero h1{font-size:clamp(38px,11.5vw,52px)!important;line-height:.96!important}
  .subjectHeroFigure{display:none!important}
}
@media(max-width:680px){
  .courseCard:hover,.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.teamCard:hover,.historyTeacherCard:hover,.homeworkCard:hover,.tariff:hover,.uniLogo:hover,.resultTile:hover,.photoStrip img:hover,.reviewCard:hover,.reviewPhoto:hover{
    transform:none!important;
    outline:0!important;
  }
  .faqContact{display:grid;grid-template-columns:1fr auto;gap:14px;padding-top:16px}
  .faqContact .btn{grid-column:1/-1;width:100%}
}

/* Patch v29: scale-only hover, no payment badge, mobile reveals */
.tariffSection .eyebrow{display:none!important}
.courseCard:hover,.olympiadCard:hover,.include:hover,.timelineItem:hover,.demoCard:hover,.teamCard:hover,.historyTeacherCard:hover,.homeworkCard:hover,.tariff:hover,.uniLogo:hover,.resultTile:hover,.photoStrip img:hover{
  outline:0!important;
  outline-offset:0!important;
  transform:scale(1.018)!important;
}
@media(max-width:680px){
  .motionReveal{
    opacity:0!important;
    transform:translateY(26px)!important;
    transition:opacity .48s cubic-bezier(.2,.8,.2,1),transform .48s cubic-bezier(.2,.8,.2,1)!important;
  }
  .motionReveal.isVisible{
    opacity:1!important;
    transform:none!important;
  }
  .faqContact svg{
    transform:rotate(90deg)!important;
    justify-self:end;
  }
  .faqContact:hover svg{transform:rotate(90deg) translateX(4px)!important}
}
@media(max-width:680px){
  :root{--topbar-h:66px}
  .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding-left:16px!important;padding-right:16px!important}
  .topbar .topnav{display:none!important}
  .topbar .brand{min-width:0}
  .topbar .brand img{max-width:156px!important}
  .topbar .navCta{display:inline-flex!important;width:auto!important;min-width:0!important;padding:10px 13px!important;font-size:14px!important;line-height:1!important;gap:5px!important;white-space:nowrap}
  .topbar .navCta svg{width:16px!important;height:16px!important}
  .calendar{grid-template-columns:repeat(7,74px)!important;gap:6px!important}
  .day{width:74px!important;height:86px!important;padding:7px!important}
  .day b{font-size:17px!important;line-height:1!important}
  .day span{margin-top:5px!important;font-size:9px!important;line-height:.92!important}
}
@media(min-width:681px){
  .day b{font-size:22px!important;line-height:1!important}
  .day span{margin-top:6px!important}
}
.tariff li.guaranteeFeature{
  display:block!important;
  grid-template-columns:none!important;
  margin-top:4px!important;
  padding:13px 14px!important;
  border:3px solid #08C84B!important;
  border-radius:16px!important;
  background:#E8FFE9!important;
  color:#067A2F!important;
  font-weight:900!important;
  line-height:1.02!important;
}
.tariff li.guaranteeFeature:before,
.tariff li.guaranteeFeature:after{display:none!important}
.tariff.premium li.guaranteeFeature{
  background:#08C84B!important;
  border-color:#fff!important;
  color:#fff!important;
}
/* Course-colored guarantee card and readable black text on green badges for dark courses. */
:is(body.course-physics,body.course-astronomy) .tariff em,
:is(body.course-physics,body.course-astronomy) .priceCompare em,
:is(body.course-physics,body.course-astronomy) .soonPriceNote{color:#101010!important}
:is(body.course-physics,body.course-astronomy) .tariff li.guaranteeFeature,
:is(body.course-physics,body.course-astronomy) .tariff.premium li.guaranteeFeature{background:var(--c)!important;border-color:#101010!important;color:#101010!important}
.priceCompare .priceLabelSpacer{visibility:hidden!important}

/* Patch v34: keep desktop hero portraits inside the viewport on narrow desktop scales */
@media(min-width:1101px){
  .subjectHeroFigure{
    overflow:visible!important;
    width:min(42vw,700px)!important;
    right:0!important;
  }
  .subjectHeroFigure img{
    max-width:100%!important;
    height:min(82vh,100%)!important;
    object-fit:contain!important;
    object-position:right bottom!important;
  }
}

/* Patch v35: normalize home hero scale and match history July calendar mockup */
.homePage h1{font-size:clamp(46px,5.4vw,78px);line-height:.94;max-width:820px}
.homePage .subjectLine b{font-size:clamp(38px,5.2vw,72px);line-height:.92}
.calendarBox{background:#fff;border:2px solid var(--c,#0B84F3);border-radius:12px;padding:30px 32px 56px;overflow-x:auto}
.calendarMonth{margin:0 0 20px;color:#242424;font-size:clamp(36px,4vw,56px);line-height:.9;font-weight:900;letter-spacing:-.035em}
.calendarWeekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0 0 8px;color:#8a8a8a;font-size:24px;line-height:1;font-weight:900;text-transform:uppercase}
.calendarWeekdays span{padding:0 0 0 2px}
.calendarBox .calendar{gap:12px;min-width:860px}
.calendarBox .day{border-radius:5px;aspect-ratio:1.2/1;padding:10px 9px 8px;background:#fff;border-color:var(--c,#0B84F3)}
.calendarBox .day.active{background:#D7EAFB}
.calendarBox .day.day--strong{background:#93C8F5}
.calendarBox .day.day--accent{background:#449CF2;color:#07121f}
.calendarBox .day b{font-size:clamp(24px,2.1vw,34px)!important;line-height:.9!important;color:#050505;font-weight:900}
.calendarBox .day span{margin-top:12px!important;color:#101010;font-size:clamp(12px,1.18vw,18px)!important;line-height:.88!important;font-weight:800;letter-spacing:-.045em;overflow:visible}
@media(max-width:680px){
  .homePage h1{font-size:clamp(36px,9.8vw,46px)}
  .homePage .subjectLine b{font-size:clamp(34px,9.2vw,44px)}
  .calendarBox{padding:22px 18px 28px;border-radius:10px}
  .calendarWeekdays{grid-template-columns:repeat(7,74px)!important;gap:6px!important;font-size:16px!important;min-width:554px}
  .calendarBox .calendar{min-width:554px;gap:6px!important}
  .calendarBox .day{width:74px!important;height:86px!important;padding:7px!important}
  .calendarBox .day b{font-size:17px!important}
  .calendarBox .day span{margin-top:5px!important;font-size:9px!important;line-height:.92!important;letter-spacing:-.04em}
}

/* Patch v36: force equal home hero typography and use subject colors for calendars */
.homeHero h1,.homeHero .subjectLine b{font-size:clamp(38px,5.2vw,72px)!important;line-height:.92!important;letter-spacing:-.04em!important}
.homeHero h1{max-width:720px!important;margin-bottom:28px!important}
.calendarBox .day.active{background:color-mix(in srgb,var(--c,#0B84F3) 14%,#fff)!important}
.calendarBox .day.day--soft{background:color-mix(in srgb,var(--c,#0B84F3) 14%,#fff)!important}
.calendarBox .day.day--strong{background:color-mix(in srgb,var(--c,#0B84F3) 42%,#fff)!important}
.calendarBox .day.day--accent{background:color-mix(in srgb,var(--c,#0B84F3) 76%,#fff)!important;color:#050505!important}
@media(max-width:680px){.homeHero h1,.homeHero .subjectLine b{font-size:clamp(34px,9.2vw,44px)!important}}

/* Patch v37: tighten home hero heading-to-subject spacing */
.homeHero h1{margin-bottom:10px!important}
.homeHero .subjectList{margin-top:0!important}

/* Patch v38: society teachers and closed enrollment */
.disabledPrice{cursor:not-allowed!important;pointer-events:none!important;opacity:.94}
.selectedPrice.enrollmentSoonPrice{position:relative!important;overflow:hidden!important}
.enrollmentSoonOverlay{
  position:absolute!important;
  inset:0!important;
  z-index:8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  background:rgba(23,23,23,.72)!important;
  color:#fff!important;
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1.05!important;
  font-weight:900!important;
  text-align:center!important;
  letter-spacing:-.03em!important;
  backdrop-filter:blur(2px);
}
.soonPriceNote{display:block;margin-top:10px;padding:8px 10px;border-radius:999px;background:#fff;color:var(--c,#08C84B);font-size:13px;font-weight:900;line-height:1;text-align:center}
.premium .soonPriceNote{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.5)}
.courseSoonNotice{background:#fff!important;color:var(--c,#08C84B)!important;border-color:var(--c,#08C84B)!important}
.historyTeamSection[style*="08C84B"] .historyTeacherGrid{grid-template-columns:minmax(0,380px);justify-content:start}
.historyTeamSection[style*="08C84B"] .historyTeacherAvatar img{width:100%;height:100%;object-fit:contain;object-position:center top}
@media(min-width:1101px){
  .subjectHeroFigure img[src$="hero-soc.png"]{object-position:right top!important}
}
@media(max-width:1100px){
  .historyTeamSection[style*="08C84B"] .historyTeacherGrid{grid-template-columns:1fr;max-width:460px;margin:0 auto}
}

/* Patch v39: history modules and society-only pricing badges/hero title */
.courseTimeline{grid-template-columns:repeat(6,minmax(0,1fr))}
.timelineItem{min-height:210px}
.timelineItem p{font-size:clamp(24px,2.2vw,36px);line-height:.96;color:#171717}
.subjectHero .societyHeroTitle{font-size:clamp(46px,5.35vw,88px);line-height:.9;max-width:1180px}
.subjectHero .societyHeroTitle .subjectAutoHyphen{white-space:nowrap;hyphens:none;-webkit-hyphens:none;word-break:keep-all;overflow-wrap:normal}
.tariffSection-society .tariff em,
.tariffSection-society .priceCompare em,
.tariffSection-society .priceIncreaseFull .priceBeforePill{background:#0B84F3!important;color:#fff!important}
.tariffSection-society .premium .priceCompare .monthlyPriceIncrease .priceInlineArrow svg circle{fill:#0B84F3!important}
@media(max-width:1100px){.courseTimeline{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.courseTimeline{grid-template-columns:1fr}.timelineItem{min-height:150px}.subjectHero .societyHeroTitle{font-size:clamp(34px,9.3vw,46px);line-height:.95}}

/* Patch v40: society teacher placeholders and two-teacher layout */
.posterTeacherPlaceholder,.historyTeacherPlaceholder{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:50%;border:3px dashed var(--c,#08C84B);background:var(--soft,#D9FADF);color:var(--c,#08C84B);font-size:clamp(36px,4vw,64px);font-weight:900;line-height:1}
.posterTeacherPlaceholder{width:42%;max-width:240px;margin-left:-8%;flex:0 0 auto}
.historyTeacherPlaceholder{position:relative;z-index:1;width:100%;height:100%}
.historyTeamSection[style*="08C84B"] .historyTeacherGrid{grid-template-columns:repeat(2,minmax(0,380px));justify-content:start}
@media(max-width:1100px){.historyTeamSection[style*="08C84B"] .historyTeacherGrid{grid-template-columns:1fr;max-width:460px;margin:0 auto}.posterTeacherPlaceholder{width:48%;margin-left:-16%}}
.posterTeacherPlaceholder:first-child{margin-left:0}

/* Patch v41: society schedule, teacher photos and safe text wrapping */
.calendarBox .day,
.timelineItem{box-sizing:border-box;min-width:0;contain:paint}
.calendarBox .day span,
.day span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty;white-space:normal;box-sizing:border-box}
.calendarBox .day span{display:block;overflow:hidden;font-size:clamp(9px,1.02vw,15px)!important;line-height:.98!important;letter-spacing:-.035em;max-height:calc(100% - 34px);padding-right:1px}
.timelineItem h3,
.timelineItem p{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;-webkit-hyphens:auto;white-space:normal;box-sizing:border-box}
.timelineItem p{font-size:clamp(15px,1.45vw,23px)!important;line-height:1.02!important;overflow:hidden}
.posterTeachers img{object-fit:contain;object-position:center top}
.subjectPosterSociety .posterTeachers img{object-position:center top}
.historyTeamSection[style*="08C84B"] .historyTeacherAvatar img{object-position:center top!important}
@media(max-width:680px){
  .calendarBox .day span{font-size:clamp(7.6px,2.05vw,9px)!important;line-height:.98!important;max-height:calc(100% - 22px);margin-top:4px!important}
  .timelineItem{min-height:0!important;padding:18px}
  .timelineItem p{font-size:clamp(15px,4vw,19px)!important;line-height:1.05!important}
  .subjectPosterSociety p{color:#171717!important;margin-top:0}
  .subjectPosterSociety .posterTeachers img{object-position:center top}
}

/* Patch v42: hide society poster name everywhere */
.subjectPosterSociety h3{display:none}
.subjectPosterSociety p{color:#171717!important;margin-top:0}

/* Patch v43: readable price increase cards */
.priceCompare .priceIncreaseFull,
.priceCompare .monthlyPriceIncrease{
  min-height:236px!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr!important;
  align-content:start!important;
  gap:11px!important;
  overflow:hidden!important;
}
.priceCompare .monthlyPriceIncrease>span:first-child{
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
  opacity:.9!important;
}
.priceCompare .priceIncreaseFull .priceBeforePill,
.priceCompare .monthlyPriceIncrease .monthlyBeforePill{
  width:100%!important;
  max-width:none!important;
  min-height:98px!important;
  padding:15px 18px 14px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:start!important;
  gap:5px!important;
  border-radius:16px!important;
  background:#08C84B!important;
  color:#fff!important;
  font-size:clamp(38px,3.7vw,56px)!important;
  line-height:.86!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  opacity:1!important;
}
.priceCompare .priceIncreaseFull .priceBeforePill strong,
.priceCompare .monthlyPriceIncrease .monthlyBeforePill strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:900!important;
}
.priceAmountLine{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.priceCompare .selectedPrice.priceIncreaseFull .priceBeforePill,
.priceCompare .selectedPrice.monthlyPriceIncrease .monthlyBeforePill{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
}
.priceCompare .selectedPrice .priceAmountLine{
  font-size:inherit!important;
  line-height:.86!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
}
.priceAmountLine>span{
  min-width:0!important;
  max-width:100%!important;
  font:inherit!important;
  font-size:inherit!important;
  line-height:.86!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}
.priceAmountLine small{
  display:inline-block!important;
  flex:0 0 auto!important;
  margin:0!important;
  color:inherit!important;
  font-family:inherit!important;
  font-size:.28em!important;
  line-height:1!important;
  letter-spacing:0!important;
  font-weight:900!important;
}
.priceCompare .priceIncreaseFull i,
.priceCompare .monthlyPriceIncrease .monthlyAfterPrice{
  display:grid!important;
  justify-items:start!important;
  align-self:start!important;
  margin:0!important;
  padding:0 52px 0 2px!important;
  color:inherit!important;
  font-style:normal!important;
  font-size:clamp(26px,2.35vw,38px)!important;
  line-height:.9!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
}
.priceCompare .priceIncreaseFull i .priceAfterLabel,
.priceCompare .monthlyPriceIncrease .monthlyAfterPrice .priceAfterLabel{
  display:block!important;
  margin:0 0 4px!important;
  padding:0!important;
  color:inherit!important;
  background:transparent!important;
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:0!important;
  opacity:.88!important;
}
.priceCompare .monthlyPriceIncrease .monthlyBeforePill .priceAmountLine{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  white-space:nowrap!important;
}
.priceCompare .monthlyPriceIncrease .monthlyBeforePill .priceAmountLine small{
  font-size:16px!important;
  line-height:1!important;
  margin-top:0!important;
}
.priceCompare .monthlyPriceIncrease .monthlyAfterPrice .priceAmountLine{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  white-space:nowrap!important;
}
.priceCompare .monthlyPriceIncrease .monthlyAfterPrice .priceAmountLine small{
  font-size:13px!important;
  margin-top:0!important;
}
.priceCompare .monthlyPriceIncrease>i:not(.monthlyAfterPrice){
  margin-top:2px!important;
  padding-right:52px!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
  opacity:.92!important;
}
.priceCompare .priceIncreaseFull>svg,
.priceCompare .monthlyPriceIncrease>svg{
  right:18px!important;
  bottom:18px!important;
}
.tariff.premium .priceCompare .priceIncreaseFull .priceBeforePill,
.tariff.premium .priceCompare .monthlyPriceIncrease .monthlyBeforePill{
  background:#08C84B!important;
  color:#fff!important;
}
.tariff.premium .priceCompare .priceIncreaseFull i,
.tariff.premium .priceCompare .monthlyPriceIncrease .monthlyAfterPrice{
  color:var(--c)!important;
}
.tariffSection-society .priceCompare .priceIncreaseFull .priceBeforePill,
.tariffSection-society .priceCompare .monthlyPriceIncrease .monthlyBeforePill{
  background:#0B84F3!important;
}
@media(max-width:680px){
  .priceCompare .priceIncreaseFull,
  .priceCompare .monthlyPriceIncrease{
    min-height:226px!important;
    padding:16px!important;
    gap:10px!important;
  }
  .priceCompare .priceIncreaseFull .priceBeforePill,
  .priceCompare .monthlyPriceIncrease .monthlyBeforePill{
    min-height:88px!important;
    width:100%!important;
    padding:13px 14px 12px!important;
    font-size:clamp(34px,9.6vw,43px)!important;
  }
  .priceCompare .priceIncreaseFull .priceBeforePill strong,
  .priceCompare .monthlyPriceIncrease .monthlyBeforePill strong{
    font-size:14px!important;
  }
  .priceCompare .priceIncreaseFull i,
  .priceCompare .monthlyPriceIncrease .monthlyAfterPrice{
    padding-right:48px!important;
    font-size:clamp(24px,7.2vw,34px)!important;
  }
  .priceCompare .priceIncreaseFull i .priceAfterLabel,
  .priceCompare .monthlyPriceIncrease .monthlyAfterPrice .priceAfterLabel{
    font-size:13px!important;
  }
  .priceCompare .monthlyPriceIncrease>i:not(.monthlyAfterPrice){
    padding-right:48px!important;
    font-size:16px!important;
  }
}

/* Patch v44: final price pill width and lower label cleanup */
.priceCompare .selectedPrice.priceIncreaseFull .priceBeforePill,
.priceCompare .selectedPrice.monthlyPriceIncrease .monthlyBeforePill{
  justify-self:stretch!important;
  inline-size:100%!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.priceCompare .selectedPrice.priceIncreaseFull i{
  font-size:clamp(28px,2.4vw,40px)!important;
}
@media(max-width:680px){
  .priceCompare .selectedPrice.priceIncreaseFull .priceBeforePill,
  .priceCompare .selectedPrice.monthlyPriceIncrease .monthlyBeforePill{
    inline-size:100%!important;
    width:100%!important;
  }
}

/* Patch v45: society keeps all current-price pills blue, including premium */
.tariffSection-society .priceCompare .selectedPrice.priceIncreaseFull .priceBeforePill,
.tariffSection-society .priceCompare .selectedPrice.monthlyPriceIncrease .monthlyBeforePill,
.tariffSection-society .tariff.premium .priceCompare .selectedPrice.priceIncreaseFull .priceBeforePill,
.tariffSection-society .tariff.premium .priceCompare .selectedPrice.monthlyPriceIncrease .monthlyBeforePill{
  background:#0B84F3!important;
  color:#fff!important;
}

/* Patch v46: art teacher portrait keeps the face pinned to the top of the frame */
.historyTeamSection-art .historyTeacherAvatar img{
  object-fit:cover!important;
  object-position:center top!important;
}
.subjectPoster-art > img{
  object-position:center top!important;
}

/* Patch v46: stable teacher-card hover without nested image jumps */
.historyTeacherCard{
  transition:transform .22s cubic-bezier(.2,.8,.2,1)!important;
  transform-origin:center center;
}
.historyTeacherAvatar{
  transition:none!important;
}
.historyTeacherCard:hover{
  transform:scale(1.018)!important;
  outline:0!important;
  box-shadow:none!important;
}
.historyTeacherCard:hover .historyTeacherAvatar{
  transform:none!important;
  box-shadow:none!important;
}

/* Patch v46: compact arrow-only payment CTA in tariff price cards */
.payArrowCta{
  position:absolute;
  right:18px;
  bottom:16px;
  display:inline-flex!important;
  align-items:center;
  z-index:4;
}
.priceCompare .payArrowCta>svg{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  width:36px!important;
  height:36px!important;
  flex:0 0 auto;
}
.priceCompare .priceIncreaseFull i,
.priceCompare .monthlyPriceIncrease .monthlyAfterPrice,
.priceCompare .monthlyPriceIncrease>i:not(.monthlyAfterPrice){
  padding-right:58px!important;
}
@media(max-width:680px){
  .payArrowCta{
    right:14px;
    bottom:14px;
  }
  .priceCompare .payArrowCta>svg{
    width:34px!important;
    height:34px!important;
  }
  .priceCompare .priceIncreaseFull i,
  .priceCompare .monthlyPriceIncrease .monthlyAfterPrice,
  .priceCompare .monthlyPriceIncrease>i:not(.monthlyAfterPrice){
    padding-right:52px!important;
  }
}

/* Patch v47: temporarily pause enrollment without removing tariff prices */
.priceCompare .enrollmentPausedPrice{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  min-height:190px!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
.priceCompare .enrollmentPausedPrice .hiddenPriceContent{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.priceCompare .enrollmentPausedPrice .soonPriceNote{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,460px)!important;
  min-height:72px!important;
  margin:0!important;
  padding:14px 20px!important;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:clamp(26px,2.7vw,42px)!important;
  line-height:.95!important;
  font-weight:900!important;
  text-align:center!important;
}
.tariff.premium .priceCompare .enrollmentPausedPrice .soonPriceNote{
  background:color-mix(in srgb,var(--c,#0B84F3) 10%,#fff)!important;
  color:var(--c,#0B84F3)!important;
}
@media(max-width:680px){
  .priceCompare .enrollmentPausedPrice{
    min-height:168px!important;
  }
  .priceCompare .enrollmentPausedPrice .soonPriceNote{
    min-height:64px!important;
    border-radius:16px!important;
    padding:12px 16px!important;
    font-size:clamp(24px,8vw,34px)!important;
  }
}

/* Patch v47: 2026/27 hero system and multi-month schedules */
.subjectHeroTitle{position:relative;margin:0 0 28px!important;max-width:900px!important;font-size:clamp(48px,5.45vw,98px)!important;line-height:.84!important;font-weight:900!important;letter-spacing:-.055em!important;text-transform:none}
.subjectHeroTitle .subjectHeroKicker{display:block!important;color:#171717!important}
.subjectHeroTitle .subjectHeroSubject{display:inline!important;color:var(--c,#0B84F3)!important}
.subjectHeroTitle em{display:inline-block;margin-left:.16em;color:#171717;font-size:.48em;line-height:1;font-style:normal;font-weight:900;letter-spacing:-.035em;transform:rotate(-5deg) translateY(-.12em);transform-origin:center}
@media(min-width:1101px){
  .subjectHeroFigure .subjectHeroTeacher{position:absolute!important;right:0!important;bottom:0!important;z-index:3!important;width:auto!important;max-width:86%!important;height:min(78vh,91%)!important;min-height:0!important;object-fit:contain!important;object-position:right bottom!important;transform:none!important}
}
.scheduleMonthPicker{display:flex;gap:8px;width:100%;margin:0 0 18px;padding:0 0 4px;overflow-x:auto;scrollbar-width:thin}
.scheduleMonthPicker button{appearance:none;flex:0 0 auto;border:2px solid var(--c,#0B84F3);border-radius:999px;background:#fff;color:var(--c,#0B84F3);padding:11px 18px;font:inherit;font-size:18px;line-height:1;font-weight:900;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease}
.scheduleMonthPicker button:hover{transform:none;background:var(--soft,#eef6ff)}
.scheduleMonthPicker button.active{background:var(--c,#0B84F3);color:#fff}
.scheduleLegend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;color:#171717;font-size:14px;line-height:1;font-weight:800}
.scheduleLegend span{display:inline-flex;align-items:center;gap:8px}
.legendTone{width:28px;height:18px;border:2px solid var(--c,#0B84F3);border-radius:5px;background:#fff;flex:0 0 auto}
.legendTone--lecture,.calendarBox .day.day--lecture{background:color-mix(in srgb,var(--c,#0B84F3) 15%,#fff)!important}
.legendTone--practice,.calendarBox .day.day--practice{background:color-mix(in srgb,var(--c,#0B84F3) 43%,#fff)!important}
.legendTone--special,.calendarBox .day.day--special{background:color-mix(in srgb,var(--c,#0B84F3) 78%,#fff)!important}
.legendTone--mentor,.calendarBox .day.day--mentor{background:color-mix(in srgb,#2AA3F4 92%,#fff)!important}
.calendarBox .day.day--special,.calendarBox .day.day--mentor{color:#07121f!important}
body.course-physics .legendTone--lecture,
body.course-physics .calendarBox .day.day--lecture{background:#1298F3!important;border-color:#087CDD!important;color:#fff!important}
body.course-physics .legendTone--practice,
body.course-physics .calendarBox .day.day--practice{background:#0868CA!important;border-color:#075DB5!important;color:#fff!important}
body.course-physics .legendTone--special,
body.course-physics .calendarBox .day.day--special{background:#2F83CF!important;border-color:#2376C2!important;color:#fff!important}
@media(max-width:1100px){
  .subjectHero{padding-bottom:0!important;overflow:hidden}
  .subjectHeroTitle{font-size:clamp(44px,10vw,72px)!important;line-height:.86!important}
}
@media(max-width:680px){
  .subjectHeroTitle{font-size:clamp(42px,12.2vw,58px)!important;line-height:.87!important;letter-spacing:-.05em!important;margin-bottom:22px!important}
  .subjectHeroTitle em{font-size:.45em;margin-left:.1em}
  .subjectHero .lead{font-size:17px!important}
  .scheduleMonthPicker{margin-left:0;margin-right:0;width:100%}
  .scheduleMonthPicker button{padding:10px 15px;font-size:16px}
  .scheduleLegend{font-size:12px;gap:8px 12px}
  .legendTone{width:24px;height:16px}
}

/* v65: calendar containment and the shared dark skin for olympiad informatics */
.scheduleMonthPicker{box-sizing:border-box;max-width:100%;padding:8px 2px 10px;margin-left:-2px!important;margin-right:-2px!important;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:2px}
.scheduleMonthPicker button,
.scheduleMonthPicker button:hover,
.scheduleMonthPicker button:focus,
.scheduleMonthPicker button:focus-visible,
.scheduleMonthPicker button:active{transform:none!important;box-shadow:none!important}
.scheduleMonthPicker button:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
.scheduleLegend{box-sizing:border-box;display:flex;width:100%;max-width:100%;min-width:0;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0;justify-content:flex-start;overflow-wrap:anywhere}
.scheduleLegend span{min-width:0;max-width:100%}

body.course-dark{--line:#292929;background:#101010;color:#f7f7f5}
body.course-dark .gridBg,
body.course-dark .subjectHero,
body.course-dark .section,
body.course-dark .topbar,
body.course-dark .footer{background-color:#101010;background-image:none!important}
body.course-dark .subjectHero:before,
body.course-dark .subjectHero:after,
body.course-dark .section:before,
body.course-dark .section:after{background:none!important;display:none!important}
body.course-dark .topbar{border-bottom-color:#292929;backdrop-filter:none}
body.course-dark .brandCs{display:flex;align-items:center;background:transparent;padding:0}
body.course-dark .brandCs img{display:block;width:154px;height:auto}
@media(min-width:681px){
  body.course-dark .topbar{position:fixed}
  body.course-dark .topnav{position:absolute;left:50%;transform:translateX(-50%)}
}
body.course-dark .topnav a,
body.course-dark .subjectHeroTitle,
body.course-dark .subjectHeroKicker,
body.course-dark .subjectHeroSubject,
body.course-dark .sectionHead h2,
body.course-dark .sectionHead p,
body.course-dark .lead,
body.course-dark .calendarClaim{color:#f7f7f5}
body.course-dark .subjectHeroTitle .subjectHeroKicker{color:#f7f7f5!important}
body.course-dark .subjectHeroTitle em{color:#4da3ff}
body.course-dark .subjectMeta b,
body.course-dark .olympTags span{background:#171717;color:#f7f7f5;border-color:#4da3ff}
body.course-dark .subjectHeroFigure{background:#171717;border-color:#303030}
body.course-dark .csHeroCode{position:absolute;left:5%;top:8%;width:58%;padding:20px;border:1px solid #3a3a3a;border-radius:18px;background:#0d0d0d;color:#d7e9ff;z-index:1;overflow:hidden}
body.course-dark .csHeroCode code{display:block;white-space:pre-wrap;font:700 13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace}
body.course-dark .csHeroCode code span,body.course-dark .csHeroCode code b{color:#4da3ff}
body.course-dark .csHeroCode img{position:absolute;right:8px;bottom:4px;width:54px}
body.course-dark .subjectHeroTeacher{z-index:2}
body.course-dark .olympiadCard,
body.course-dark .include,
body.course-dark .calendarBox,
body.course-dark .teamCard,
body.course-dark .historyTeacherCard,
body.course-dark .homeworkCard,
body.course-dark .resultTile,
body.course-dark .reviewCard,
body.course-dark .tariff,
body.course-dark .faqItem,
body.course-dark .contactCard{background:#181818;color:#f7f7f5;border-color:#343434;box-shadow:none}
body.course-dark .olympiadCard h3,
body.course-dark .olympiadCard p,
body.course-dark .include span,
body.course-dark .teamCard h3,
body.course-dark .teamCard p,
body.course-dark .homeworkCard p,
body.course-dark .reviewCard h3,
body.course-dark .reviewCard p,
body.course-dark .tariff h3,
body.course-dark .tariff li,
body.course-dark .faqItem,
body.course-dark .calendarMonth,
body.course-dark .scheduleLegend{color:#f7f7f5}
body.course-dark .calendarWeekdays span{color:#9b9b98}
body.course-dark .day{background:#151515;color:#8f8f8c;border-color:#303030}
body.course-dark .day.active{background:#202a35;color:#f7f7f5;border-color:#4da3ff}
body.course-dark .scheduleMonthPicker button{background:#101010;color:#4da3ff;border-color:#4da3ff}
body.course-dark .scheduleMonthPicker button:hover{background:#202a35}
body.course-dark .scheduleMonthPicker button.active{background:#4da3ff;color:#080808}
body.course-dark .resultTile{background:#4da3ff;color:#080808;border-color:#4da3ff}
body.course-dark .resultTile p,body.course-dark .resultTile span{color:#080808}
body.course-dark .photoStrip img,body.course-dark .reviewPhoto{border-color:#343434}
body.course-dark .reviewPair{background:#181818;border-color:#343434}
body.course-dark .reviewTags span{background:#4da3ff;color:#080808}
body.course-dark .reviewSection blockquote{background:#181818!important;color:#f7f7f5!important;border-color:#343434!important}
body.course-dark .reviewSection blockquote p,
body.course-dark .reviewSection blockquote cite{color:#f7f7f5!important}
body.course-dark .reviewSection blockquote span{background:#4da3ff!important;color:#080808!important}
body.course-dark .tariff.premium{background:#202a35}
body.course-dark .paymentModePicker{background:#181818;border-color:#343434}
body.course-dark .paymentModePicker button{background:#181818!important;color:#f7f7f5!important}
body.course-dark .paymentModePicker button.active{background:#4da3ff!important;color:#080808!important}
body.course-dark .extraPay{background:#181818!important;color:#f7f7f5;border-color:#343434}
body.course-dark .extraPay h3,body.course-dark .extraPay p{color:#f7f7f5}
body.course-dark .paymentVpnNote{background:#181818!important;color:#f7f7f5!important;border-color:#4da3ff!important}
body.course-dark .paymentVpnNote span{background:#4da3ff!important;color:#101010!important}
body.course-dark .paymentVpnNote p{color:#f7f7f5!important}
body.course-dark .faqSection details,
body.course-dark .faqContact{background:#181818;color:#f7f7f5;border-color:#343434}
body.course-dark .faqSection summary,body.course-dark .faqSection details p,
body.course-dark .faqContact h3{color:#f7f7f5}
body.course-dark .contactSection{background:#4da3ff;color:#080808}
body.course-dark .contactSection h2,body.course-dark .contactSection p{color:#080808}
body.course-dark .footerMeta,body.course-dark .footerLinks a{color:#f7f7f5}

@media(max-width:760px){
  body.course-dark .brandCs img{width:120px}
  body.course-dark .csHeroCode{left:14px;top:14px;width:70%;padding:12px}
  body.course-dark .csHeroCode code{font-size:10px}
  body.course-dark .csHeroCode img{width:38px}
}

/* CS editorial code details: the original inf-ext hero, teacher and runnable labs. */
.subjectHeroMobileLogos{display:none}
@keyframes csDinoBob{0%,100%{margin-top:0}50%{margin-top:-12px}}
body.course-dark .subjectHeroFigure{background:#171717!important;border:1px solid #303030;border-radius:22px;overflow:visible!important}
body.course-dark .subjectHeroFigure>.subjectHeroTeacher{position:absolute!important;right:-2%!important;bottom:0!important;z-index:3!important;width:88%!important;height:96%!important;min-height:0!important;object-fit:contain!important;object-position:right bottom!important;filter:none!important;transform:none!important}
body.course-dark .csHeroCode{left:4%!important;top:14%!important;width:72%!important;padding:0!important;overflow:visible!important;z-index:1!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
body.course-dark .csHeroCode code{padding:22px;min-height:280px;color:#d8dee9;background:#1d1d1f;border-radius:0 0 16px 16px}
body.course-dark .csCodeBar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid #303030;background:#1d1d1f;border-radius:16px 16px 0 0}
body.course-dark .csCodeBar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
body.course-dark .csCodeBar i:nth-child(2){background:#febc2e}
body.course-dark .csCodeBar i:nth-child(3){background:#28c840}
body.course-dark .csCodeBar span{margin-left:7px;color:#838890;font:600 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
body.course-dark .csHeroCode>.csHeroDino{position:absolute!important;right:5px!important;top:-72px!important;bottom:auto!important;z-index:5!important;width:76px!important;height:auto!important;min-height:0!important;object-fit:contain!important;filter:none!important;image-rendering:pixelated;animation:csDinoBob 2.8s ease-in-out infinite}

body.course-dark .csSectionLabel{margin:0 0 32px;color:#898b8e;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body.course-dark .csTeacherLayout{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);gap:56px;align-items:center;max-width:1080px}
body.course-dark .csTeacherPortrait{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#222;border:1px solid #303030}
body.course-dark .csTeacherPortrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
body.course-dark .csTeacherCopy h2{margin:0 0 30px;color:#f7f7f5;font-size:clamp(38px,4.6vw,68px);line-height:.95;letter-spacing:-.04em}
body.course-dark .csTeacherCopy p{margin:0;padding:16px 0;border-top:1px solid #303030;color:#d7d7d4;font-size:clamp(17px,1.6vw,21px);font-weight:600;line-height:1.3}

body.course-dark .csCodeLab{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:54px;align-items:start;border-top:1px solid #292929}
body.course-dark .csCodeTask h2{margin:0 0 20px;color:#f7f7f5;font-size:clamp(38px,4.8vw,70px);line-height:.94;letter-spacing:-.04em}
body.course-dark .csCodeTask>p:last-child{margin:0;color:#a9aaa8;font-size:19px;font-weight:600;line-height:1.45}
body.course-dark .csRunner{overflow:hidden;border:1px solid #343434;border-radius:16px;background:#1d1d1f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
body.course-dark .csRunnerBar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:1px solid #343434;color:#898b8e;font-size:12px;font-weight:700}
body.course-dark .csRunnerBar button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:9px 14px;background:#4da3ff;color:#080808;font:800 13px/1 inherit;cursor:pointer;transition:background .2s,transform .2s}
body.course-dark .csRunnerBar button:hover{background:#70b5ff;transform:translateY(-1px)}
body.course-dark .csRunner pre{margin:0;padding:22px;overflow:auto;color:#d8dee9;font:600 13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}
body.course-dark .csRunnerOutput{display:grid;gap:6px;min-height:68px;padding:14px 22px;border-top:1px solid #343434;background:#151515;color:#686b70}
body.course-dark .csRunnerOutput span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
body.course-dark .csRunnerOutput b{font-size:13px;color:#767a80}
body.course-dark .csRunnerOutput.isRan b{color:#98c379;animation:csOutputIn .25s ease both}
@keyframes csOutputIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
body.course-dark .csCodeLabFooter{margin-bottom:0;border-bottom:1px solid #292929}

@media(max-width:760px){
  .subjectHeroMobileLogos{display:block;grid-column:1/-1;width:calc(100% + 32px);max-width:none;height:auto;margin:14px -16px 0;align-self:end;object-fit:contain}
  body.course-dark .csTeacherLayout,body.course-dark .csCodeLab{grid-template-columns:1fr;gap:28px}
  body.course-dark .csTeacherPortrait{max-width:430px}
  body.course-dark .csTeacherCopy h2{font-size:42px}
  body.course-dark .csRunner pre{font-size:11px;padding:16px}
  body.course-dark .csRunnerBar{padding:10px 12px}
}

/* v66: complete CS dark theme — shared components, no light-theme leakage */
body.course-dark .eyebrow,
body.course-dark .eyebrow.invert{
  background:#181818!important;
  color:#4da3ff!important;
  border-color:#4da3ff!important;
}
body.course-dark .eyebrow:hover{
  background:#4da3ff!important;
  color:#101010!important;
}
body.course-dark .courseStartedNotice,
body.course-dark .courseSoonNotice{
  background:#181818!important;
  color:#4da3ff!important;
  border:2px solid #4da3ff!important;
}

body.course-dark .calendarBox{background:#181818!important;border-color:#343434!important}
body.course-dark .calendarBox .day{
  background:#141414!important;
  color:#8f8f8c!important;
  border-color:#303030!important;
}
body.course-dark .calendarBox .day b,
body.course-dark .calendarBox .day span{color:inherit!important}
body.course-dark .calendarBox .day.active,
body.course-dark .calendarBox .day.day--soft,
body.course-dark .calendarBox .day.day--lecture{
  background:#18222d!important;
  color:#dcecff!important;
  border-color:#315f8d!important;
}
body.course-dark .calendarBox .day.day--strong,
body.course-dark .calendarBox .day.day--practice{
  background:#1d3349!important;
  color:#eef7ff!important;
  border-color:#4388cb!important;
}
body.course-dark .calendarBox .day.day--accent,
body.course-dark .calendarBox .day.day--special{
  background:#285f92!important;
  color:#fff!important;
  border-color:#4da3ff!important;
}
body.course-dark .calendarBox .day.day--mentor{
  background:#357fbd!important;
  color:#fff!important;
  border-color:#65b5ff!important;
}
body.course-dark .legendTone--lecture{background:#18222d!important;border-color:#315f8d!important}
body.course-dark .legendTone--practice{background:#1d3349!important;border-color:#4388cb!important}
body.course-dark .legendTone--special{background:#285f92!important;border-color:#4da3ff!important}
body.course-dark .legendTone--mentor{background:#357fbd!important;border-color:#65b5ff!important}

body.course-dark .tariff,
body.course-dark .tariff.premium{background:#181818!important;color:#f7f7f5!important;border-color:#343434!important}
body.course-dark .tariff em:not(.priceCompare em){background:#4da3ff!important;color:#101010!important}
body.course-dark .tariff li:before{background:#4da3ff!important}
body.course-dark .paymentModePicker{background:#181818!important;border-color:#4da3ff!important}
body.course-dark .paymentModePicker button{background:#181818!important;color:#f7f7f5!important;border-color:#4da3ff!important}
body.course-dark .paymentModePicker button.active{background:#4da3ff!important;color:#101010!important}
body.course-dark .priceCompare .selectedPrice.enrollmentPausedPrice,
body.course-dark .tariff.premium .priceCompare .selectedPrice.enrollmentPausedPrice{
  background:#202a35!important;
  color:#4da3ff!important;
  border:2px solid #4da3ff!important;
}
body.course-dark .priceCompare .enrollmentPausedPrice .soonPriceNote,
body.course-dark .tariff.premium .priceCompare .enrollmentPausedPrice .soonPriceNote{
  background:#18222d!important;
  color:#4da3ff!important;
  border:1px solid #315f8d!important;
}
body.course-dark .extraPay .btn,
body.course-dark .faqContact .btn{background:#4da3ff!important;color:#101010!important;border-color:#4da3ff!important}
body.course-dark .extraPay .btn:hover,
body.course-dark .faqContact .btn:hover{background:#65b5ff!important;color:#101010!important;border-color:#65b5ff!important}

body.course-dark .faqContact{
  background:transparent!important;
  color:#f7f7f5!important;
  border-color:transparent!important;
}
body.course-dark .faqContact h3,
body.course-dark .faqContact svg{color:#4da3ff!important}

/* Consultation offers and standalone /consult page */
.arrowDownIcon{display:inline-flex;transform:rotate(90deg);flex:0 0 auto}
.consultationOffer{max-width:980px;margin:34px 0 0;padding:0;border:0;background:transparent}
.consultationOfferTitle{display:block;margin:0;color:var(--c);font-size:clamp(30px,3.4vw,54px);line-height:.92;font-weight:900;letter-spacing:-.035em}
.consultationOfferTitle .arrowDownIcon{display:inline-flex;margin-left:.12em;vertical-align:-.14em}
.consultationLead{max-width:850px;font-size:clamp(19px,1.8vw,25px);line-height:1.18;font-weight:800;margin:24px 0 18px}
.consultationOffer ul{display:grid;gap:11px;margin:0 0 26px;padding:0;list-style:none;max-width:880px}
.consultationOffer li{font-size:clamp(17px,1.45vw,21px);line-height:1.18;font-weight:700;padding-left:28px;position:relative}
.consultationOffer li:before{content:"";position:absolute;left:0;top:.35em;width:13px;height:13px;border-radius:50%;background:var(--c)}
.consultationOffer .btn{background:var(--c);border-color:var(--c)}
.consultPage{--c:#0B84F3}
.consultHero{min-height:calc(100vh - var(--topbar-h));padding:clamp(56px,8vw,110px) clamp(18px,5vw,70px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:center;gap:48px;overflow:hidden}
.consultHero h1{font-size:clamp(58px,8vw,124px);line-height:.86;margin:18px 0 32px;max-width:1100px}
.consultHero>div>p{font-size:clamp(20px,2vw,30px);line-height:1.17;max-width:880px;margin:0 0 30px}
.consultKicker{display:inline-flex;padding:9px 14px;border:2px solid #08C84B;color:#08C84B;font-weight:900;text-transform:uppercase}
.consultHeroCard{background:#fff;border:3px solid #171717;padding:30px;box-shadow:14px 14px 0 #171717}
.consultHeroCard b{display:block;font-size:clamp(32px,3.2vw,54px);line-height:.93;margin-bottom:20px;color:#08C84B}
.consultHeroCard p{font-size:clamp(18px,1.55vw,24px);line-height:1.2;font-weight:700;margin:0}
.consultDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid #171717}
.consultDetailGrid article{padding:28px;background:#fff;border-right:2px solid #171717;border-bottom:2px solid #171717;min-height:260px}
.consultDetailGrid article:nth-child(2n){border-right:0}.consultDetailGrid article:nth-last-child(-n+2){border-bottom:0}
.consultDetailGrid b{font-size:42px;color:#08C84B}.consultDetailGrid h3{font-size:clamp(28px,2.7vw,44px);line-height:.95;margin:22px 0 14px}.consultDetailGrid p{font-size:19px;line-height:1.2;margin:0}
.consultSubjects{border-top:1px solid var(--line)}
.consultCourseCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:1120px}
@media(max-width:900px){.consultHero{grid-template-columns:1fr}.consultHeroCard{max-width:700px}.consultCourseCards{grid-template-columns:1fr!important}.consultCourseCards .courseCard{min-height:310px}}
@media(max-width:680px){.consultationOfferTitle{font-size:31px}.consultationOfferTitle .arrowDownIcon svg{width:31px;height:31px}.consultDetailGrid{grid-template-columns:1fr}.consultDetailGrid article,.consultDetailGrid article:nth-child(2n),.consultDetailGrid article:nth-last-child(-n+2){border-right:0;border-bottom:2px solid #171717}.consultDetailGrid article:last-child{border-bottom:0}.consultHero{padding-top:52px}.consultHero h1{font-size:clamp(48px,15vw,68px)}.consultHeroCard{box-shadow:8px 8px 0 #171717}}

body.course-dark .contactSection{background:#181818!important;color:#f7f7f5!important;border-color:#343434!important}
body.course-dark .contactSection h2{color:#f7f7f5!important}
body.course-dark .contactSection p{color:#bdbdb9!important}
body.course-dark .contactSection .btn.primary{background:#4da3ff!important;color:#101010!important;border-color:#4da3ff!important}
body.course-dark .contactSection .btn.white{background:#f7f7f5!important;color:#101010!important;border-color:#f7f7f5!important}
body.course-dark .contactSection .callBtn{background:#08c84b!important;color:#fff!important;border-color:#08c84b!important}
body.course-dark .contactSection .btn:hover{box-shadow:none!important;filter:brightness(1.08)}
body.course-dark .footer{background:#101010!important;color:#f7f7f5!important;border-top:1px solid #292929}
body.course-dark .footerLicenseBtn{background:#181818!important;color:#4da3ff!important;border-color:#4da3ff!important}
body.course-dark .footerLicenseBtn:hover{background:#4da3ff!important;color:#101010!important}

/* v68: CS hero — original intensive code window and exact dino motion. */
@keyframes csDinoBob{0%,100%{margin-top:0}50%{margin-top:-12px}}
@media(min-width:1101px){
  body.course-dark .subjectHeroFigure{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  body.course-dark .csHeroCode{
    left:2%!important;
    top:17%!important;
    width:76%!important;
    height:64%!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:14px!important;
    background:#1d1d1f!important;
    overflow:visible!important;
    transform:rotate(2.25deg)!important;
    transform-origin:50% 50%!important;
    box-shadow:0 28px 70px rgba(0,0,0,.36)!important;
    z-index:1!important;
  }
  body.course-dark .csCodeBar{
    height:42px!important;
    padding:0 16px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    background:#1d1d1f!important;
    border-radius:14px 14px 0 0!important;
  }
  body.course-dark .csHeroCode code{
    display:block!important;
    height:calc(100% - 42px)!important;
    min-height:0!important;
    margin:0!important;
    padding:18px!important;
    overflow:hidden!important;
    white-space:pre!important;
    border-radius:0 0 14px 14px!important;
    background:#1d1d1f!important;
    color:#cbd5e1!important;
    font:600 clamp(9px,.66vw,12.5px)/1.43 'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace!important;
  }
body.course-dark .csHeroCode>.csHeroDino{
    position:absolute!important;
    top:-48px!important;
    right:8px!important;
    bottom:auto!important;
    width:84px!important;
    height:auto!important;
    min-height:0!important;
    z-index:5!important;
    image-rendering:pixelated!important;
    filter:none!important;
    animation:csDinoBob 2.8s ease-in-out infinite!important;
  }
  body.course-dark .subjectHeroFigure>.subjectHeroTeacher{
    right:-1%!important;
    bottom:0!important;
    width:88%!important;
    height:96%!important;
    z-index:3!important;
  }
}

/* v69: readable C++ syntax and light home-card facts for the dark CS course. */
.courseCard-cs .miniFacts span{background:color-mix(in srgb,var(--c) 18%,#fff)!important;color:var(--c)!important}
.csHeroCode .tok-preprocessor,.csRunner .tok-preprocessor{color:#c678dd!important}
.csHeroCode .tok-keyword,.csRunner .tok-keyword{color:#56b6c2!important}
.csHeroCode .tok-type,.csRunner .tok-type{color:#61afef!important}
.csHeroCode .tok-string,.csRunner .tok-string{color:#98c379!important}
.csHeroCode .tok-number,.csRunner .tok-number{color:#d19a66!important}
.csHeroCode .tok-comment,.csRunner .tok-comment{color:#7f848e!important;font-style:italic}
.csHeroCode .tok-operator,.csRunner .tok-operator{color:#e06c75!important}


/* July 2026: allow only the society title to wrap at its manual soft hyphen. */
@media(max-width:680px){
  body.course-society .subjectHeroTitle .subjectHeroSubject{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:manual;
  }
}


/* v72: responsive phone label, contained desktop calendars and CS premium price treatment */
.callBtnMobile{display:none}
@media(max-width:680px){
  .callBtnDesktop{display:none}
  .callBtnMobile{display:inline}
}
@media(min-width:681px){
  .scheduleSection .scheduleMonthPicker,
  .scheduleSection .scheduleLegend,
  .scheduleSection .calendarBox,
  .scheduleSection .schedulePdf,
  .scheduleSection .calendarClaim{
    width:100%;
    max-width:1180px;
    margin-right:auto;
  }
  .scheduleSection .calendarBox .calendar{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
}
body.course-dark .legendTone--homework{
  background:#202020!important;
  border-color:#555!important;
}
body.course-dark .tariff.premium .selectedPrice{
  background:#090b0e!important;
  color:#4da3ff!important;
  border:2px solid #315f8d!important;
}
body.course-dark .tariff.premium .selectedPrice b,
body.course-dark .tariff.premium .selectedPrice i,
body.course-dark .tariff.premium .selectedPrice small,
body.course-dark .tariff.premium .selectedPrice span{
  color:#4da3ff!important;
}
body.course-dark .tariff.premium .selectedPrice em{
  background:#151b22!important;
  color:#4da3ff!important;
  border-color:#315f8d!important;
}


/* v73: CS schedule legend matches every calendar tone */
body.course-dark .calendarBox .day.day--homework{
  background:#202020!important;
  border-color:#555!important;
  color:#f2f2f2!important;
}
body.course-dark .calendarBox .day.day--homework b,
body.course-dark .calendarBox .day.day--homework span{
  color:#f2f2f2!important;
}


/* v74: calendar cards must fit their grid tracks without overlap */
@media(min-width:681px){
  .scheduleSection .calendarBox .calendar{
    gap:12px!important;
  }
  .scheduleSection .calendarWeekdays{
    gap:12px!important;
  }
  .scheduleSection .calendarBox .day{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.2/1!important;
  }
}


/* v75: CS Premium price cards are dark in both payment modes; gift badge stays green */
body.course-dark .tariff.premium .priceCompare .selectedPrice,
body.course-dark .tariff.premium .priceCompare .selectedPrice.monthlyPrice,
body.course-dark .tariff.premium .priceCompare .selectedPrice.monthlyPriceIncrease{
  background:#090b0e!important;
  color:#4da3ff!important;
  border:2px solid #315f8d!important;
}
body.course-dark .tariff.premium .priceCompare .selectedPrice em{
  background:#08c84b!important;
  color:#fff!important;
  border-color:#08c84b!important;
}

/* v76: art Premium is charcoal, with a pink course-price card */
body.course-art .tariff.premium{
  background:#242424!important;
  border-color:#242424!important;
  color:#fff!important;
}
body.course-art .tariff.premium h3{color:#fff!important}
body.course-art .tariff.premium .priceCompare .selectedPrice,
body.course-art .tariff.premium .priceCompare .selectedPrice.monthlyPrice,
body.course-art .tariff.premium .priceCompare .selectedPrice.monthlyPriceIncrease{
  background:#ff3eab!important;
  color:#fff!important;
  border:0!important;
}
body.course-art .tariff.premium .priceCompare .selectedPrice b,
body.course-art .tariff.premium .priceCompare .selectedPrice i,
body.course-art .tariff.premium .priceCompare .selectedPrice span,
body.course-art .tariff.premium .priceCompare .selectedPrice small{color:#fff!important}
body.course-art .tariff.premium .priceCompare .selectedPrice svg circle{fill:rgba(255,255,255,.24)!important}
body.course-art .tariff.premium .priceCompare .selectedPrice svg path{fill:#fff!important}


/* v107: keep pre-increase prices readable on dark CS premium cards */
body.course-dark .tariff.premium .selectedPrice .priceBeforePill,
body.course-dark .tariff.premium .selectedPrice .priceBeforePill *,
body.course-dark .tariff.premium .selectedPrice .monthlyBeforePill,
body.course-dark .tariff.premium .selectedPrice .monthlyBeforePill *{
  color:#fff!important;
}


/* v108: dark countdown theme for olympiad informatics */
body.course-dark .priceTimerLabel{
  color:#f7f7f5!important;
}
body.course-dark .priceTimerBox{
  background:#181818!important;
  border-color:#315f8d!important;
  color:#f7f7f5!important;
}
body.course-dark .priceTimerBox b{
  color:#4da3ff!important;
}
body.course-dark .priceTimerBox small{
  color:#d7dde5!important;
}

/* v110: responsive consultations and homepage consultation section */
.homeConsultations{border-top:1px solid var(--line)}
.homeConsultIntro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;margin-bottom:34px;align-items:stretch}
.homeConsultIntro>div,.homeConsultIntro aside{border:2px solid #171717;background:#fff;padding:28px}
.homeConsultIntro h3,.homeConsultSubjectsHead h3{font-size:clamp(32px,3.5vw,56px);line-height:.94;letter-spacing:-.035em;margin:0 0 18px}
.homeConsultIntro p,.homeConsultSubjectsHead p{font-size:clamp(18px,1.6vw,24px);line-height:1.2;margin:0}
.homeConsultIntro aside{background:#171717;color:#fff}.homeConsultIntro aside b{display:block;color:#08C84B;font-size:clamp(28px,2.7vw,44px);line-height:.94;margin-bottom:16px}.homeConsultIntro aside p{color:#fff}
.homeConsultDetailGrid{margin-bottom:48px}.homeConsultSubjectsHead{margin:0 0 28px;max-width:900px}.homeConsultMore{margin-top:24px}
@media(max-width:900px){
  .topnav{gap:16px;font-size:13px}
  .consultHero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:auto!important;gap:28px!important;padding:52px 18px 64px!important;overflow:hidden!important}
  .consultHero>div{min-width:0!important}.consultHero h1{font-size:clamp(42px,11.8vw,62px)!important;line-height:.91!important;overflow-wrap:anywhere!important;word-break:normal!important;margin:16px 0 24px!important}
  .consultHero>div>p{font-size:19px!important;line-height:1.22!important}.consultHero .btn{width:100%!important}
  .consultHeroCard{min-width:0!important;max-width:none!important;margin:0!important;padding:22px!important;box-shadow:7px 7px 0 #171717!important}
  .consultHeroCard b{font-size:34px!important}.consultHeroCard p{font-size:18px!important}
  .consultDetails,.consultSubjects{padding-left:18px!important;padding-right:18px!important}
  .consultDetailGrid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .consultDetailGrid article,.consultDetailGrid article:nth-child(2n),.consultDetailGrid article:nth-last-child(-n+2){min-width:0!important;min-height:0!important;border-right:0!important;border-bottom:2px solid #171717!important;padding:22px!important}
  .consultDetailGrid article:last-child{border-bottom:0!important}.consultDetailGrid h3{font-size:30px!important;overflow-wrap:anywhere!important}
  .consultCourseCards{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important}.consultCourseCards .courseCard{width:100%!important;min-height:300px!important}
  .homeConsultIntro{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:680px){
  .consultPage{width:100%;overflow:hidden}.consultKicker{font-size:13px}
  .consultDetails .sectionHead h2,.consultSubjects .sectionHead h2{font-size:42px!important;overflow-wrap:anywhere!important}
  .consultDetails .sectionHead p,.consultSubjects .sectionHead p{font-size:18px!important}
  .homeConsultations{padding-left:18px!important;padding-right:18px!important}.homeConsultations .sectionHead h2{font-size:43px!important;overflow-wrap:anywhere!important}
  .homeConsultIntro>div,.homeConsultIntro aside{padding:20px!important}.homeConsultMore{width:100%!important;text-align:center}
}


/* v112: final dark overrides for physics-only sections */
body.course-dark .demoCard,
body.course-dark .materialBlock,
body.course-dark .timelineItem,
body.course-dark .flowStep,
body.course-dark .subjectPoster,
body.course-dark .graduateCard,
body.course-dark .uniLogos:not(.artUniLogos) .uniLogo{background:#181818!important;color:#f7f7f5!important;border-color:#343434!important;box-shadow:none!important}
body.course-dark .demoCard h3,
body.course-dark .demoCard p,
body.course-dark .materialBlock h3,
body.course-dark .materialBlock p,
body.course-dark .timelineItem h3,
body.course-dark .timelineItem p,
body.course-dark .graduateCard b,
body.course-dark .graduateCard p,
body.course-dark .uniLogo span b,
body.course-dark .uniLogo span small{color:#f7f7f5!important}
body.course-dark .graduateCard>div{background:#181818!important}
body.course-dark .uniLogo img{background:#fff!important}
body.course-dark .carouselBtn{color:#4da3ff!important}
body.course-dark .nextResultCta{border-color:#343434!important}


/* v114: complete dark theme for physics */
body.course-dark .topnav a,
body.course-dark .historyTeamHead h2,
body.course-dark .historyTeacherCard h3,
body.course-dark .appDemoPrompt h3{color:#f7f7f5!important}
body.course-dark .historyTeamHead p,
body.course-dark .historyTeacherStat p{color:#d7dde5!important}
body.course-dark .historyTeacherStat strong{color:#4da3ff!important}
body.course-dark .historyTeacherAvatar,
body.course-dark .historyTeacherStats{background:#181818!important;border-color:#4da3ff!important;color:#f7f7f5!important}
body.course-dark .historyTeacherStat{border-color:#343434!important}
body.course-dark .historyTeacherAvatar img{background:transparent!important}
body.course-dark .uniLogos:not(.artUniLogos) .uniLogo span b,
body.course-dark .uniLogos:not(.artUniLogos) .uniLogo span small{color:#f7f7f5!important}
body.course-dark .demoIcon,
body.course-dark .demoCard:after{background:#202a35!important}
body.course-dark .btn.ghost{background:#181818!important;color:#4da3ff!important;border-color:#4da3ff!important}
body.course-dark .appDemoDevice,
body.course-dark .appDemoFrame{background:#181818!important}
body.course-dark .appDemoDevice:after{border-color:#343434!important}
body.course-dark .appDemoLoading{background:rgba(24,24,24,.94)!important}
body.course-dark .appDemoLoadingTrack{background:#303030!important;box-shadow:inset 0 0 0 1px #4a4a4a!important}


/* v115: single-course journalism tariff */
:is(.tariffSection-journalism,.tariffSection-fingram) .tariffs.tariffCount1{grid-template-columns:minmax(0,900px);justify-content:start}
:is(.tariffSection-journalism,.tariffSection-fingram) .tariffs.tariffCount1 .priceCompare{grid-template-columns:1fr}
:is(.tariffSection-journalism,.tariffSection-fingram) .tariffs.tariffCount1 .tariff{min-height:0}
@media(max-width:680px){:is(.tariffSection-journalism,.tariffSection-fingram) .tariffs.tariffCount1{grid-template-columns:1fr}}


/* Physics-only class programs and lesson details */
.course-physics .physicsProgramChoice{margin:0 0 28px;padding:22px;border:2px solid var(--c);background:#171717;color:#fff}
.course-physics .physicsProgramChoice__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.course-physics .physicsProgramChoice__heading b{font-size:clamp(22px,2vw,32px)}
.course-physics .physicsProgramChoice__heading span{color:var(--c);font-weight:900}
.course-physics .physicsProgramPicker{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.course-physics .physicsProgramPicker button{appearance:none;border:2px solid var(--c);background:#171717;color:var(--c);padding:15px 20px;font:inherit;font-weight:900;cursor:pointer;transition:.18s ease}
.course-physics .physicsProgramPicker button:hover,.course-physics .physicsProgramPicker button.active{background:var(--c);color:#08111c}
.course-physics .physicsProgramChoice p{margin:14px 0 0;color:#d8dde5;font-weight:700;max-width:820px}
:is(.course-physics,.course-astronomy,.course-fingram) .physicsLesson{position:relative;cursor:pointer}
:is(.course-physics,.course-astronomy,.course-fingram) .physicsLesson:focus-visible{outline:3px solid var(--c);outline-offset:2px;z-index:5}
:is(.course-physics,.course-astronomy) .physicsLessonDetail{display:none;position:absolute;left:50%;bottom:calc(100% + 12px);z-index:30;width:min(340px,72vw);transform:translateX(-50%);padding:16px;background:#fff;color:#171717;border:2px solid var(--c);box-shadow:10px 10px 0 rgba(0,0,0,.28);font-size:15px;line-height:1.3;font-weight:700;text-align:left}
:is(.course-physics,.course-astronomy) .physicsLessonDetail::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:9px solid transparent;border-top-color:var(--c)}
:is(.course-physics,.course-astronomy) .physicsLessonDetail strong{display:block;color:var(--c);font-size:17px;margin-bottom:6px}
.physicsLessonDetail>span{display:block;color:inherit!important;font:inherit!important;margin:0!important;max-height:none!important;overflow:visible!important}
.physicsLessonClose{position:absolute;top:7px;right:9px;width:30px;height:30px;border:0;background:transparent;color:inherit;font:900 28px/1 inherit;cursor:pointer}
.scheduleLegendHint{flex-basis:100%;margin-top:4px;color:#9b9b98;font-size:13px;font-weight:800}
@media (hover:hover) and (pointer:fine){:is(.course-physics,.course-astronomy) .physicsLesson:hover{z-index:20}:is(.course-physics,.course-astronomy) .physicsLesson:hover .physicsLessonDetail{display:block}}
:is(.course-physics,.course-astronomy) .physicsLesson.isLessonOpen{z-index:20}
:is(.course-physics,.course-astronomy) .physicsLesson.isLessonOpen .physicsLessonDetail{display:block}
@media(max-width:700px){
.course-physics .physicsProgramChoice{padding:16px;margin-bottom:20px}
.course-physics .physicsProgramChoice__heading{align-items:flex-start;flex-direction:column;gap:4px}
.course-physics .physicsProgramPicker{grid-template-columns:1fr}
.course-physics .physicsProgramPicker button{padding:13px 14px}
:is(.course-physics,.course-astronomy) .physicsLessonDetail{position:fixed;left:16px;right:16px;bottom:18px;width:auto;transform:none;max-height:42vh;overflow:auto;border-radius:14px;box-shadow:0 12px 50px rgba(0,0,0,.55);font-size:16px}
:is(.course-physics,.course-astronomy) .physicsLessonDetail::after{display:none}
.physicsLessonDetail{padding-right:46px!important}
}

/* Astronomy tariffs: orange price cards in both modes, with explicit readable text. */
body.course-astronomy .tariffSection .priceCompare .selectedPrice,
body.course-astronomy .tariffSection .priceCompare .selectedPrice.discountPrice,
body.course-astronomy .tariffSection .priceCompare .selectedPrice.monthlyPrice,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice.discountPrice,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice.monthlyPrice{
  background:#FF6428!important;
  color:#101010!important;
  border:0!important;
}
body.course-astronomy .tariffSection .priceCompare .selectedPrice>span:not(.payArrowCta),
body.course-astronomy .tariffSection .priceCompare .selectedPrice>b,
body.course-astronomy .tariffSection .priceCompare .selectedPrice>i,
body.course-astronomy .tariffSection .priceCompare .selectedPrice .priceAmountLine,
body.course-astronomy .tariffSection .priceCompare .selectedPrice .priceAmountLine span,
body.course-astronomy .tariffSection .priceCompare .selectedPrice .priceAmountLine small,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice>span:not(.payArrowCta),
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice>b,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice>i{
  color:#101010!important;
}
body.course-astronomy .tariffSection .priceCompare .selectedPrice>em,
body.course-astronomy .tariffSection .tariff.premium .priceCompare .selectedPrice>em{
  background:#08C84B!important;
  color:#101010!important;
  border-color:#08C84B!important;
}
body.course-astronomy .tariffSection .priceCompare .selectedPrice>em *{color:#101010!important}
body.course-astronomy .tariffSection .priceCompare .selectedPrice .payArrowCta svg circle{fill:rgba(255,255,255,.24)!important}
body.course-astronomy .tariffSection .priceCompare .selectedPrice .payArrowCta svg path{fill:#fff!important}

/* Limited-time full-width tariff gift for history and society. */
.giftCourseOffer{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:430px;
  margin-top:24px;
  padding:clamp(28px,4vw,58px) clamp(24px,4.5vw,68px);
  overflow:hidden;
  border:3px solid #171717;
  border-radius:30px;
  background:var(--c);
  color:#171717;
}
.giftCourseOffer:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(105deg,rgba(255,255,255,.96) 0 59%,rgba(255,255,255,.7) 72%,transparent 100%)}
.giftCourseOfferCopy{position:relative;z-index:2;width:min(68%,850px)}
.giftCourseOfferKicker{display:inline-flex;margin-bottom:20px;padding:9px 14px;border:2px solid #171717;border-radius:999px;background:#08C84B;color:#101010;font-size:14px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.giftCourseOffer h3{max-width:820px;margin:0 0 22px;color:#171717;font-size:clamp(42px,5vw,76px);line-height:.88;letter-spacing:-.055em}
.giftCourseOffer p{max-width:790px;margin:0 0 12px;color:#171717;font-size:clamp(17px,1.45vw,22px);line-height:1.2;font-weight:750}
.giftCourseOffer>img{position:absolute;right:-1%;bottom:0;z-index:1;width:min(38%,520px);height:94%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 18px 24px rgba(23,23,23,.16));pointer-events:none}
.giftCourseCountdown{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.giftCourseCountdown>span{display:grid;min-width:86px;padding:10px 12px;border:2px solid #171717;background:#fff;text-align:center}
.giftCourseCountdown b{font-size:clamp(27px,3vw,42px);line-height:.84;color:var(--c)}
.giftCourseCountdown small{margin-top:6px;color:#171717;font-size:11px;line-height:1;font-weight:900;text-transform:uppercase}
.giftCourseHeroPromo{position:relative;display:grid;grid-template-columns:80px minmax(180px,1fr) auto;align-items:center;gap:13px;width:min(100%,690px);min-height:90px;margin:18px 0;padding:5px 12px 5px 5px;border:2px solid var(--c);border-radius:18px;background:#fff;color:#171717;overflow:hidden}
.giftCourseHeroPromo>img{width:80px;height:80px;border-radius:13px;background:#fff;object-fit:contain;object-position:center bottom}
.giftCourseHeroPromoCopy{display:grid;gap:3px;min-width:0}
.giftCourseHeroPromoCopy>b{font-size:17px;line-height:1.02;color:#171717}
.giftCourseHeroPromoCopy>span{font-size:12px;line-height:1.05;font-weight:800;color:#171717;opacity:.66}
.giftCourseHeroTimer{display:flex;gap:5px}
.giftCourseHeroTimer>span{display:grid;justify-items:center;min-width:44px;padding:6px 5px;border-radius:9px;background:var(--c);color:#fff}
.giftCourseHeroTimer b{font-size:18px;line-height:.9}
.giftCourseHeroTimer small{margin-top:4px;font-size:8px;line-height:1;text-transform:uppercase;font-weight:900}
@media(max-width:900px){
  .giftCourseOffer{padding-bottom:310px}
  .giftCourseOfferCopy{width:100%}
  .giftCourseOffer>img{right:0;width:min(72%,470px);height:300px}
}
@media(max-width:680px){
  .giftCourseOffer{min-height:0;margin-top:18px;padding:24px 18px 250px;border-radius:22px}
  .giftCourseOfferKicker{font-size:11px;line-height:1.15}
  .giftCourseOffer h3{font-size:42px}
  .giftCourseOffer p{font-size:16px}
  .giftCourseCountdown{flex-wrap:nowrap;gap:6px;max-width:100%;overflow:visible}
  .giftCourseCountdown>span{flex:0 0 64px;min-width:64px;padding:8px 4px}
  .giftCourseCountdown b{font-size:27px}
  .giftCourseCountdown small{font-size:9px}
  .giftCourseOffer>img{width:88%;height:240px}
  .giftCourseHeroPromo{grid-template-columns:minmax(0,1fr) clamp(76px,24vw,96px);grid-template-rows:auto auto;align-items:start;gap:5px 6px;min-height:0;margin:14px 0;padding:5px;border-radius:14px}
  .giftCourseHeroPromo>img{grid-column:2;grid-row:1/3;align-self:stretch;width:100%;height:100%;min-height:0;max-height:92px;border-radius:10px;object-fit:contain;object-position:center top}
  .giftCourseHeroPromoCopy{grid-column:1;grid-row:1;align-self:start;padding:3px 3px 0}
  .giftCourseHeroPromoCopy>b{font-size:14px}
  .giftCourseHeroPromoCopy>span{font-size:10px}
  .giftCourseHeroTimer{grid-column:1;grid-row:2;justify-self:start;align-self:start;width:auto;gap:4px;padding:2px 3px 3px}
  .giftCourseHeroTimer>span{flex:0 0 clamp(43px,12vw,52px);min-width:clamp(43px,12vw,52px);padding:6px 2px}
  .giftCourseHeroTimer b{font-size:15px}
  .giftCourseHeroTimer small{font-size:7px}
}

/* Astronomy: dark course theme with an orange schedule palette. */
body.course-astronomy .legendTone--lecture,
body.course-astronomy .calendarBox .day.day--lecture{background:#FF8A61!important;border-color:#FF6428!important;color:#fff!important}
body.course-astronomy .legendTone--practice,
body.course-astronomy .calendarBox .day.day--practice{background:#FF4F12!important;border-color:#FF6428!important;color:#fff!important}
body.course-astronomy .legendTone--special,
body.course-astronomy .calendarBox .day.day--special{background:#F86A2B!important;border-color:#FF8A00!important;color:#fff!important}
body.course-astronomy .subjectHeroFigure img,
body.course-astronomy .teamCard img{background:#171717!important}
body.course-astronomy .physicsLessonDetail{background:#202020;color:#fff;border-color:#FF6428;box-shadow:10px 10px 0 rgba(255,100,40,.22)}
body.course-astronomy .physicsLessonDetail strong{color:#FF6428}

/* Astronomy uses one accent token. Keep the shared dark-course layer from leaking physics blue. */
body.course-astronomy{--c:#FF6428;--soft:#FFD9C8}
body.course-astronomy .eyebrow,
body.course-astronomy .courseStartedNotice,
body.course-astronomy .courseSoonNotice{color:#FF6428!important;border-color:#FF6428!important}
body.course-astronomy .subjectHeroTitle em,
body.course-astronomy .olympTags span,
body.course-astronomy .scheduleMonthPicker button{color:#FF6428!important;border-color:#FF6428!important}
body.course-astronomy .scheduleMonthPicker button.active,
body.course-astronomy .eyebrow:hover{background:#FF6428!important;color:#101010!important}
body.course-astronomy .calendarBox .day.day--lecture{background:#FF8A61!important;border-color:#FF6428!important;color:#fff!important}
body.course-astronomy .calendarBox .day.day--practice{background:#FF4F12!important;border-color:#FF6428!important;color:#fff!important}
body.course-astronomy .calendarBox .day.day--special{background:#F86A2B!important;border-color:#FF8A00!important;color:#fff!important}
body.course-astronomy .legendTone--lecture{background:#FF8A61!important;border-color:#FF6428!important}

/* v109: Informatics uses the shared dark calendar with a blue-only tone scale. */
body.course-cs .calendarBox{border-color:#292929!important}
body.course-cs .calendarBox .day{border-color:#315f8d!important;color:#fff!important}
body.course-cs .calendarBox .day.day--lecture,
body.course-cs .legendTone--lecture{background:#1677C8!important;border-color:#3B9BF0!important;color:#fff!important}
body.course-cs .calendarBox .day.day--homework,
body.course-cs .legendTone--homework{background:#24599A!important;border-color:#4D83C4!important;color:#fff!important}
body.course-cs .calendarBox .day.day--practice,
body.course-cs .legendTone--practice{background:#0D4B82!important;border-color:#2E79B9!important;color:#fff!important}
body.course-cs .calendarBox .day.day--special,
body.course-cs .legendTone--special{background:#333F8F!important;border-color:#5E72D6!important;color:#fff!important}
body.course-cs .calendarBox .dayTopic{color:rgba(255,255,255,.94)!important}

/* v110: Calendar labels wrap by whole words; JavaScript no longer cuts titles mid-word. */
.calendarBox .dayTopic{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

@media(max-width:680px){
  body.course-cs .calendarBox{overflow-x:auto;padding:22px 14px 34px}
  body.course-cs .calendarBox .calendar{min-width:554px!important}
  body.course-cs .calendarBox .day{width:74px!important;height:86px!important;min-height:86px!important;overflow:hidden!important}
  body.course-cs .calendarBox .dayTopic{-webkit-line-clamp:3!important;max-height:42px!important;font-size:9px!important;line-height:1.02!important;word-break:normal!important;overflow-wrap:normal!important}
}
body.course-astronomy .legendTone--practice{background:#FF4F12!important;border-color:#FF6428!important}
body.course-astronomy .legendTone--special{background:#F86A2B!important;border-color:#FF8A00!important}
body.course-astronomy .resultTile,
body.course-astronomy .reviewTags span,
body.course-astronomy .reviewSection blockquote span{background:#FF6428!important;border-color:#FF6428!important;color:#101010!important}
body.course-astronomy .contactSection{background:#FF6428!important;color:#101010!important}
body.course-astronomy .contactSection h2,
body.course-astronomy .contactSection p{color:#101010!important}
body.course-astronomy .teamCard{border-color:#FF6428!important}
.teacherFacts{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none;text-align:left}
.teacherFacts li{padding:13px 15px;border:1px solid var(--c,#0B84F3);border-radius:10px;font-weight:700;line-height:1.25}
body.course-astronomy .teacherFacts li{border-color:#FF6428;background:#202020;color:#f7f7f5}
body.course-astronomy .calendarBox .day span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-height:1.05!important}
/* Astronomy keeps the physics-style review rail and uses orange for every pricing accent. */
body.course-astronomy .tariffSection .paymentModePicker{border-color:#FF6428!important}
body.course-astronomy .tariffSection .paymentModePicker button{border-color:#FF6428!important}
body.course-astronomy .tariffSection .paymentModePicker button.active{background:#FF6428!important;color:#101010!important}
body.course-astronomy .tariffSection .tariff{border-color:#343434!important}
body.course-astronomy .tariffSection .tariff h3,
body.course-astronomy .tariffSection .tariff strong{color:#FF6428!important}
body.course-astronomy .tariffSection .tariff li:before{background:#FF6428!important}
body.course-astronomy .tariffSection .tariff em:not(.priceCompare em),
body.course-astronomy .tariffSection .priceBeforePill,
body.course-astronomy .tariffSection .monthlyBeforePill{background:#FF6428!important;color:#101010!important}
body.course-astronomy .tariffSection .priceCompare .discountPrice{background:#FF6428!important;color:#fff!important}
body.course-astronomy .tariffSection .priceCompare a:not(.discountPrice){border-color:#FF6428!important;color:#FF6428!important}

/* Dark subjects: green savings badges use dark text for accessible contrast. */
body.course-dark .paymentModePicker b,
body.course-dark .priceCompare em{color:#101010!important}
body.course-astronomy .tariffSection .priceCompare .monthlyPriceIncrease{border-color:#FF6428!important;color:#FF6428!important}
body.course-astronomy .tariffSection .priceInlineArrow svg circle{fill:#FF6428!important}
body.course-astronomy .tariffSection .priceInlineArrow svg path{fill:#fff!important}
body.course-astronomy .tariffSection .soonPriceNote{background:#FF6428!important;color:#101010!important}
.lessonDialogLayer{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.lessonDialog{position:relative;width:min(760px,100%);max-height:min(82vh,760px);overflow:auto;padding:clamp(30px,5vw,64px);border:3px solid var(--c,#FF6428);border-radius:24px;background:#202020;color:#fff;box-shadow:0 24px 100px rgba(0,0,0,.75)}
.lessonDialog .physicsLessonClose{top:18px;right:20px;width:42px;height:42px;color:#fff;font-size:38px}
.lessonDialogKicker{margin:0 0 18px;color:var(--c,#FF6428);font-size:14px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.lessonDialog h2{margin:0 0 22px;color:#fff;font-size:clamp(30px,5vw,58px);line-height:.95;letter-spacing:-.04em}
.lessonDialog>p:last-child{margin:0;color:#f3f3f0;font-size:clamp(18px,2.3vw,28px);line-height:1.2;font-weight:700}
body.lessonDialogOpen{overflow:hidden}
body.course-fingram .lessonDialog{background:#fff;color:#171717;box-shadow:0 24px 100px rgba(0,0,0,.35)}
body.course-fingram .lessonDialog .physicsLessonClose,body.course-fingram .lessonDialog h2{color:#171717}
body.course-fingram .lessonDialog>p:last-child{color:#343434}
body.course-fingram .historyTeacherAvatar img{object-fit:cover!important;object-position:center top!important}
@media(max-width:680px){.lessonDialogLayer{padding:12px}.lessonDialog{max-height:88vh;padding:48px 24px 30px;border-radius:18px}.lessonDialog h2{font-size:34px}.lessonDialog>p:last-child{font-size:19px}}
/* Softer calendar chrome on dark physics/astronomy pages. */
:is(body.course-physics,body.course-astronomy) .calendarBox{border-color:#343434!important}
:is(body.course-physics,body.course-astronomy) .calendarBox .day{border-color:color-mix(in srgb,var(--c) 58%,#343434)!important}
:is(body.course-physics,body.course-astronomy) .calendarBox .dayTopic{color:rgba(255,255,255,.9)!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo{min-height:164px!important;height:auto!important;padding:22px 16px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:14px!important;border:2px solid #343434!important;border-radius:24px!important;background:#181818!important;text-align:center!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo img{width:88px!important;height:88px!important;margin:0!important;padding:8px!important;border:2px solid #FF6428!important;border-radius:50%!important;object-fit:contain!important;flex:0 0 auto!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo span{display:block!important;width:100%!important;text-align:center!important;min-height:0!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo span b{display:block!important;font-size:clamp(22px,2vw,30px)!important;line-height:1!important;text-align:center!important;color:#f7f7f5!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo span small{display:block!important;margin-top:6px!important;font-size:14px!important;line-height:1.1!important;text-align:center!important;color:#aaa!important}
@media(max-width:900px){body.course-astronomy #admissions .uniLogos:not(.artUniLogos){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){body.course-astronomy #admissions .uniLogos:not(.artUniLogos){grid-template-columns:1fr!important}body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo{min-height:142px!important}}
/* Lesson details are a real overlay, never trapped inside the calendar cell. */
:is(body.course-physics,body.course-astronomy) .physicsLessonDetail{
  position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  width:min(680px,calc(100vw - 32px))!important;max-height:min(78vh,720px)!important;
  transform:translate(-50%,-50%)!important;overflow:auto!important;z-index:1000!important;
  padding:38px 48px 36px 30px!important;border:2px solid var(--c)!important;border-radius:18px!important;
  background:#202020!important;color:#fff!important;box-shadow:0 20px 80px rgba(0,0,0,.7),0 0 0 100vmax rgba(0,0,0,.68)!important;
  font-size:clamp(17px,2vw,24px)!important;line-height:1.35!important
}

/* Astronomy layout parity and restrained dark-course chrome. */
body.course-astronomy .subjectHeroFigure{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.course-astronomy .subjectHeroFigure .subjectHeroTeacher,
body.course-astronomy .historyTeacherAvatar img{background:transparent!important}
@media(min-width:1101px){
  body.course-astronomy .subjectHeroFigure>.subjectHeroTeacher{
    width:auto!important;
    height:70vh!important;
    max-height:70%!important;
    right:0!important;
    bottom:0!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:right bottom!important;
  }
}
body.course-astronomy .historyTeacherAvatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center bottom!important;
}
body.course-astronomy .historyTeamHead h2,
body.course-astronomy .historyTeacherCard h3{color:#f7f7f5!important}
body.course-astronomy .historyTeamHead p,
body.course-astronomy .historyTeacherStat p{color:#d4d4d0!important}
body.course-astronomy .historyTeacherStat strong{color:#FF6428!important}
body.course-astronomy .historyTeacherAvatar,
body.course-astronomy .historyTeacherStats{background:#181818!important;border-color:#FF6428!important;color:#f7f7f5!important}
body.course-astronomy .historyTeacherStat{border-color:#292929!important}
:is(body.course-physics,body.course-astronomy) .calendarBox{border-color:#292929!important}
:is(body.course-physics,body.course-astronomy) .calendarBox .day{border-color:color-mix(in srgb,var(--c) 28%,#292929)!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo{border-color:#292929!important}
body.course-astronomy #admissions .uniLogos:not(.artUniLogos) .uniLogo span b{
  font-size:clamp(24px,2.2vw,34px)!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
@media(min-width:681px){
  body.course-astronomy .olympiadLogoSlots{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:10px!important;align-items:stretch!important}
  body.course-astronomy .olympiadLogoSlot{height:180px!important;aspect-ratio:auto!important}
}
body.course-astronomy .olympiadLogoSlot{padding:4px!important}
body.course-astronomy .olympiadLogoSlot img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}
:is(body.course-physics,body.course-astronomy) .physicsLessonDetail::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(0,0,0,.68)}
:is(body.course-physics,body.course-astronomy) .physicsLessonDetail strong{font-size:clamp(22px,3vw,34px)!important;line-height:1.05!important;margin-bottom:16px!important;color:var(--c)!important}
:is(body.course-physics,body.course-astronomy) .physicsLessonClose{top:10px;right:14px;width:38px;height:38px;font-size:34px;color:#fff}
@media(max-width:700px){
  :is(body.course-physics,body.course-astronomy) .calendarBox{overflow-x:auto;padding:22px 14px 34px}
  :is(body.course-physics,body.course-astronomy) .calendarBox .calendar{min-width:554px!important}
  :is(body.course-physics,body.course-astronomy) .calendarBox .day{width:74px!important;height:86px!important;min-height:86px!important;overflow:hidden!important}
  :is(body.course-physics,body.course-astronomy) .calendarBox .dayTopic{-webkit-line-clamp:3!important;max-height:42px!important;font-size:9px!important;line-height:1.02!important;word-break:normal!important;overflow-wrap:normal!important}
  :is(body.course-physics,body.course-astronomy) .physicsLessonDetail{width:calc(100vw - 20px)!important;max-height:80vh!important;padding:42px 42px 28px 22px!important;border-radius:14px!important}
}


/* Temporarily hide the call button while phone consultations are unavailable. */
.navActions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.navConsultCta,.navActions .navCta{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;font:900 16px/1 GolosText,system-ui,sans-serif;white-space:nowrap}.navConsultCta{padding:0 16px;border-radius:999px;background:#08C84B;color:#fff;transition:transform .18s ease,box-shadow .18s ease}.navActions .navCta{padding-top:0;padding-bottom:0}.navConsultCta:hover{transform:translateY(-2px);box-shadow:5px 5px 0 rgba(8,200,75,.22)}
.coursesConsultationNote{max-width:900px;margin:-18px 0 30px 4px;color:#414141}.coursesConsultationNote p{margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.25;font-weight:700}.coursesConsultationNote a{color:#08A845;font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.courseCardActions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;margin-top:auto}.courseConsultLink,.courseMoreLink{display:inline-flex;align-items:center;gap:4px;color:var(--c);font-size:19px;font-weight:900;line-height:1.1;white-space:nowrap}.courseConsultLink{justify-self:start;min-width:0;padding:6px 8px;border:2px solid var(--c);border-radius:999px;background:var(--c);color:#fff;font-size:13px}.courseMoreLink{grid-column:2;justify-self:end}.courseConsultLink:hover,.courseMoreLink:hover{text-decoration:underline;text-underline-offset:3px}
.courseConsultLink svg{transform:rotate(-45deg);flex:none}
.consultationHeroCta{position:relative;background:#08C84B;border-color:#08C84B;color:#fff}
.consultationHeroCta span{display:block;width:100%;padding:0 28px;text-align:center}
.consultationHeroCta svg{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
@media(max-width:1100px) and (min-width:681px){.navConsultCta{position:absolute;visibility:hidden;pointer-events:none}.navConsultCta.isVisible{position:static;visibility:visible;pointer-events:auto}}
@media(max-width:680px){.navConsultCta{display:none!important}.navActions .navCta{height:auto;padding-top:10px;padding-bottom:10px}.coursesConsultationNote{margin:-20px 0 26px}.coursesConsultationNote p{font-size:16px}.courseCardActions{gap:6px}.courseConsultLink{padding:6px 8px;font-size:13px}.courseMoreLink{font-size:17px}.courseMoreLink svg{width:19px;height:19px}}



/* Law calendar: four purple tones for lesson types. */
body.course-law .calendarBox .day.day--lecture,
body.course-law .legendTone--lecture{background:#A23DF2!important;border-color:#7A2CBF!important;color:#fff!important}
body.course-law .calendarBox .day.day--practice,
body.course-law .legendTone--practice{background:#7A2CBF!important;border-color:#5D1F98!important;color:#fff!important}
body.course-law .calendarBox .day.day--special,
body.course-law .legendTone--special{background:#55208E!important;border-color:#3E146D!important;color:#fff!important}
body.course-law .calendarBox .day.day--homework,
body.course-law .legendTone--homework{background:#C877FF!important;border-color:#A23DF2!important;color:#171717!important}
body.course-law .lessonDialog{background:#fff;color:#171717;box-shadow:0 24px 100px rgba(0,0,0,.35)}
body.course-law .lessonDialog .physicsLessonClose,
body.course-law .lessonDialog h2{color:#171717}
body.course-law .lessonDialog>p:last-child{color:#343434}


/* Whole course card links to the subject page; diagnostics stays above the overlay. */
.courseCard{position:relative;cursor:pointer}
.courseCardMainLink{position:absolute;inset:0;z-index:1;border-radius:inherit}
.courseCardMainLink:focus-visible{outline:4px solid var(--c);outline-offset:5px}
.courseCardActions{position:relative;z-index:2;pointer-events:none}
.courseConsultLink{position:relative;z-index:3;pointer-events:auto}
.courseCard:hover{transform:translateY(-3px)}
