:root{--bg:#05070b;--panel:#0b0e14;--text:#f5f6f8;--muted:#9399a6;--line:rgba(255,255,255,.11);--red:#ff2d2d;--blue:#5577ff;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:#fff;color:#000;padding:12px 18px}.skip-link:focus{top:20px}.noise{position:fixed;inset:0;opacity:.025;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.intro{position:fixed;inset:0;background:#030408;z-index:100;display:grid;place-items:center;transition:opacity .7s,visibility .7s}.intro.done{opacity:0;visibility:hidden}.intro:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 90px 30px #ff000066;animation:pulse 1.4s infinite}.intro-core{text-align:center;z-index:1;opacity:0;animation:introIn 2.3s .25s both}.intro-mark{display:inline-grid;place-items:center;width:58px;height:58px;border:1px solid #ffffff2e;color:var(--red);font:800 16px var(--display);margin-bottom:28px}.intro p{font:600 clamp(15px,2vw,22px) var(--display);letter-spacing:.18em}.intro i,.brand i,.overline i{font-style:normal;color:var(--red)}.intro small{color:#8e939f;letter-spacing:.12em}.intro-skip{position:absolute;right:30px;bottom:30px;background:none;border:0;color:#aaa;cursor:pointer;z-index:2}.site-header{height:84px;display:flex;align-items:center;padding:0 clamp(22px,5vw,78px);position:absolute;top:0;width:100%;z-index:30;border-bottom:1px solid var(--line);gap:40px}.brand{display:flex;align-items:center;gap:14px;margin-right:auto}.brand>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff30;font:800 11px var(--display);color:var(--red)}.brand b{font:700 11px var(--display);letter-spacing:.09em;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{font-size:13px;color:#9da1a9;transition:.25s}.site-header nav a:hover,.site-header nav a:focus,.site-header nav a.active{color:white}.header-cta{border-left:1px solid var(--line);padding-left:32px;font-size:13px;font-weight:600}.header-cta span,.text-link span,.practice-card a span,.course-card a span{color:var(--red)}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px}.menu-toggle span{display:block;height:1px;background:#fff;margin:7px}.section{padding:130px clamp(24px,7vw,110px);position:relative}.hero{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding-top:130px;overflow:hidden}.hero-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(#6682a20e 1px,transparent 1px),linear-gradient(90deg,#6682a20e 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 90%)}.orb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.26}.orb-a{width:520px;height:520px;background:radial-gradient(circle,#263881,transparent 65%);right:0;top:15%}.hero-copy{z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:99px;padding:9px 14px;color:#b5bac4;font-size:11px;letter-spacing:.06em}.live-dot{width:6px;height:6px;background:var(--red);border-radius:50%;box-shadow:0 0 12px red;animation:pulse 1.5s infinite}.overline,.section-index{font:600 10px var(--display);letter-spacing:.22em;color:#a4a8b1}.hero .overline{margin-top:42px}h1,h2,h3{font-family:var(--display);margin:0}h1{font-size:clamp(52px,7vw,104px);line-height:.91;letter-spacing:-.06em;font-weight:600}h1 em,h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #80858e}.hero-lede{max-width:590px;color:#a7abb3;font-size:clamp(16px,1.4vw,20px);line-height:1.65;margin:30px 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{padding:16px 23px;border:1px solid var(--line);font-size:13px;font-weight:600;display:inline-flex;gap:38px;align-items:center;transition:.3s}.button.primary{background:var(--red);border-color:var(--red)}.button.primary:hover{background:#ff4545;box-shadow:0 0 35px #ff2d2d33;transform:translateY(-2px)}.button.ghost:hover{border-color:#ffffff77;background:#ffffff08}.hero-visual{height:600px;display:grid;place-items:center;z-index:2}.trajectory{width:min(42vw,540px);aspect-ratio:1;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #ffffff18;border-radius:50%;inset:8%}.o2{inset:20%;border-style:dashed;animation:spin 25s linear infinite}.o3{inset:33%;border-color:#ff2d2d3b;box-shadow:0 0 50px #ff2d2d12}.score{text-align:center;z-index:3}.score small,.score span{display:block;font:600 9px var(--display);letter-spacing:.2em;color:#979ca7}.score strong{display:block;font:500 clamp(64px,8vw,112px) var(--display);line-height:1;color:#fff;text-shadow:0 0 45px #6684ff55}.portrait-space{position:absolute;width:112px;height:160px;right:2%;bottom:10%;background:linear-gradient(160deg,#151a25,#080a0f);border:1px solid var(--line);border-radius:60px 60px 10px 10px;display:grid;place-items:center;text-align:center;overflow:hidden}.portrait-glow{position:absolute;width:80px;height:80px;background:#ed25255c;filter:blur(30px)}.portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;z-index:1;filter:saturate(.96) contrast(1.03)}.portrait-space:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(5,7,11,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.portrait-monogram{font:700 32px var(--display);z-index:1;color:#ffffff42}.portrait-space small{font-size:7px;letter-spacing:.15em;color:#777;z-index:1}.signal{position:absolute;background:#0a0d13cc;backdrop-filter:blur(10px);border:1px solid var(--line);padding:12px 15px;font:600 8px var(--display);letter-spacing:.15em}.signal b{color:#78e5bd;margin-left:15px}.s1{left:0;top:28%}.s2{right:3%;top:18%}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font:600 8px var(--display);letter-spacing:.18em;color:#737985}.scroll-cue span{display:block;width:1px;height:30px;background:linear-gradient(var(--red),transparent);margin:12px auto 0}.section-head,.about{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw}.section-head{align-items:end;margin-bottom:65px}.section-head>p{color:var(--muted);line-height:1.7;max-width:430px}.section-index{color:#737985;margin:0 0 25px}.section h2,.final-cta h2{font-size:clamp(42px,5.2vw,78px);line-height:1;letter-spacing:-.05em;font-weight:500}.about{border-top:1px solid var(--line)}.about-copy{padding-top:32px}.statement{font:500 clamp(23px,2.4vw,35px)/1.4 var(--display);margin-top:0}.about-copy>p:not(.statement){color:var(--muted);line-height:1.8}.credentials{margin:40px 0}.credentials>div{display:flex;gap:20px;border-top:1px solid var(--line);padding:18px 0}.credentials span,.course-card>span{color:var(--red);font:600 9px var(--display);letter-spacing:.15em}.credentials p{margin:0;color:#9297a0;font-size:13px;line-height:1.6}.credentials b{color:#fff}.text-link{font-size:13px;border-bottom:1px solid #ffffff33;padding-bottom:7px}.practice{background:#080a0f}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.practice-card{min-height:320px;padding:34px;display:grid;grid-template-columns:auto 1fr;gap:35px;background:#090c11;position:relative;transition:.35s}.practice-card:hover{background:#0d1119}.card-num{position:absolute;right:25px;top:25px;font-size:9px;color:#5e626c}.skill-icon{width:62px;height:62px;border:1px solid #ffffff20;display:grid;place-items:center;font:500 24px var(--display);position:relative}.skill-icon span{position:absolute;inset:-1px;border-top:1px solid var(--red);transform:scaleX(.45)}.tag{font:600 8px var(--display);letter-spacing:.18em;color:#6ee3b6}.practice-card h3{font-size:30px;font-weight:500;margin:17px 0}.practice-card div>p:not(.tag){color:var(--muted);font-size:14px;line-height:1.7;max-width:360px}.practice-card a,.soon{display:inline-block;margin-top:25px;font-size:12px;font-weight:600}.practice-card.muted{opacity:.56}.practice-card.muted .tag{color:#a1a5ae}.soon{border:1px solid var(--line);padding:10px 14px}.system{overflow:hidden}.system-orb{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,#21358e22,transparent 65%);left:-20%;top:10%}.feature-list{border-top:1px solid var(--line)}.feature-list>div{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:26px 0}.feature-list span{color:var(--red);font-size:10px}.feature-list h3{font-size:20px;font-weight:500}.feature-list p{color:var(--muted);font-size:13px;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border:1px solid var(--line)}.stats>div{padding:35px;border-right:1px solid var(--line);display:flex;align-items:end;gap:17px}.stats>div:last-child{border:0}.stats strong{font:500 clamp(36px,4vw,60px) var(--display)}.stats sup{color:var(--red);font-size:.3em}.stats span{font:600 8px/1.5 var(--display);letter-spacing:.14em;color:#777d88}.results{background:#080a0f;overflow:hidden}.results-stage{min-height:610px;position:relative;display:grid;place-items:center;isolation:isolate;padding:35px 0 70px}.results-stage:before{content:"";position:absolute;width:min(920px,92vw);height:430px;background:radial-gradient(ellipse at center,#33459a2b 0,#151b3a16 38%,transparent 72%);filter:blur(16px);z-index:-3}.certificate-stack{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:-1}.certificate-sheet{position:absolute;width:305px;aspect-ratio:900/1272;margin:0;background:#f6f6f4;border:1px solid #ffffff26;box-shadow:0 42px 95px #000c,0 0 0 1px #0004;overflow:hidden;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s,opacity .55s}.certificate-sheet:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#070a1008 35%,#070a1057 100%);pointer-events:none}.certificate-sheet img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) contrast(1.03) saturate(.65)}.certificate-sheet>span{position:absolute;left:18px;bottom:15px;z-index:2;font:700 7px var(--display);letter-spacing:.18em;color:#fff;background:#090c11b8;border:1px solid #ffffff1d;padding:7px 9px;backdrop-filter:blur(8px)}.cert-left{transform:translate(-300px,20px) rotate(-9deg);opacity:.78}.cert-center{transform:translate(0,52px) rotate(1.7deg);opacity:.55}.cert-right{transform:translate(300px,14px) rotate(8deg);opacity:.8}.results-stage:hover .cert-left{transform:translate(-335px,3px) rotate(-11deg)}.results-stage:hover .cert-center{transform:translate(0,65px) rotate(2deg)}.results-stage:hover .cert-right{transform:translate(335px,-2px) rotate(10deg)}.result-card{width:350px;min-height:420px;background:linear-gradient(145deg,#111620f5,#090b10f8);border:1px solid #ffffff24;padding:31px;box-shadow:0 45px 110px #000,0 0 70px #223c8b1c;transform:rotate(-2.4deg);z-index:3;backdrop-filter:blur(12px);position:relative}.result-card:before{content:"";position:absolute;inset:0;border-top:1px solid #ffffff24;background:linear-gradient(135deg,#ffffff09,transparent 36%);pointer-events:none}.result-card>span{font:600 8px var(--display);letter-spacing:.18em;color:#63deb1}.result-card strong{display:block;font:500 124px var(--display);letter-spacing:-.08em;margin:36px 0 0}.result-card>p{font-size:10px;letter-spacing:.15em;color:#aaa}.mini-scores{display:flex;gap:6px;margin:27px 0}.mini-scores i{font-style:normal;font-size:9px;padding:8px;border:1px solid var(--line);background:#080b1080}.result-card small{font:600 7px var(--display);letter-spacing:.1em;color:#777d87}.verified-card{animation:resultFloat 6s ease-in-out infinite}.results-proofline{position:absolute;bottom:10px;display:flex;align-items:center;gap:18px;color:#6e747e}.results-proofline span{display:block;width:80px;height:1px;background:linear-gradient(90deg,transparent,#ffffff2f)}.results-proofline span:last-child{transform:scaleX(-1)}.results-proofline p{font:600 7px var(--display);letter-spacing:.19em;white-space:nowrap}@keyframes resultFloat{0%,100%{transform:translateY(0) rotate(-2.4deg)}50%{transform:translateY(-8px) rotate(-1.8deg)}}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.course-card{border:1px solid var(--line);padding:32px;min-height:480px;position:relative;transition:.3s}.course-card:hover{transform:translateY(-5px);border-color:#ffffff35}.course-card.featured{background:linear-gradient(145deg,#151016,#090b10);border-color:#ff2d2d49}.popular{position:absolute;right:25px;top:25px;background:var(--red);padding:7px 10px;font-size:7px;letter-spacing:.15em}.course-card h3{font-size:29px;font-weight:500;margin:45px 0 20px}.course-card p{color:var(--muted);line-height:1.7;font-size:14px}.course-card ul{list-style:none;padding:0;margin:38px 0}.course-card li{border-top:1px solid var(--line);padding:12px 0;color:#b6bac2;font-size:12px}.course-card a{position:absolute;bottom:30px;font-size:12px;font-weight:600}.journey{background:#080a0f}.journey-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:100px}.path-line{position:absolute;height:1px;background:linear-gradient(90deg,var(--red),#5365d7);left:8%;right:8%;top:40px}.journey-track>div:not(.path-line){position:relative}.journey-track span{font:600 8px var(--display);color:#717781;letter-spacing:.15em}.journey-track i{display:block;width:12px;height:12px;background:#0a0c11;border:2px solid var(--red);border-radius:50%;margin:25px 0 34px;box-shadow:0 0 22px #f22}.journey-track h3{font-size:18px}.journey-track p{font-size:12px;color:var(--muted)}.final-cta{min-height:650px;display:grid;place-content:center;text-align:center;padding:100px 24px;position:relative;overflow:hidden}.final-cta h2{max-width:1000px;margin:20px auto 38px}.final-cta .actions{justify-content:center}.cta-orbit{position:absolute;width:800px;height:800px;border:1px solid #ffffff0b;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 200px #2740a21c inset}footer{border-top:1px solid var(--line);padding:70px clamp(24px,7vw,110px) 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr .6fr .6fr;gap:40px;align-items:start}.footer-main p{color:var(--muted);font-size:12px;line-height:1.8}.footer-main>div{display:flex;flex-direction:column;gap:15px}.footer-main>div a{font-size:12px;color:#a7abb3}.footer-bottom{border-top:1px solid var(--line);margin-top:60px;padding-top:22px;display:flex;justify-content:space-between;color:#646a74;font-size:8px;letter-spacing:.15em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;border-radius:50%;z-index:90;display:none}.cursor-dot{width:5px;height:5px;background:var(--red)}.cursor-ring{width:28px;height:28px;border:1px solid #ffffff66;transition:width .2s,height .2s}.inner-hero{min-height:58vh;padding-top:180px;display:flex;flex-direction:column;justify-content:end;border-bottom:1px solid var(--line);overflow:hidden}.inner-hero h1{font-size:clamp(52px,8vw,110px);margin:25px 0}.inner-hero>p:last-child{color:var(--muted);max-width:600px;font-size:18px;line-height:1.7}.test-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.test-card{border:1px solid var(--line);padding:28px;min-height:320px;display:flex;flex-direction:column}.test-card .meta{font-size:9px;color:#7d838e;letter-spacing:.12em}.test-card h3{font-size:26px;margin:35px 0 15px}.test-card p{color:var(--muted);line-height:1.6;font-size:14px}.test-card .button{margin-top:auto;align-self:flex-start}.test-card.locked{opacity:.5}.content-copy{max-width:850px}.content-copy h2{margin-bottom:35px}.content-copy p{font-size:18px;line-height:1.8;color:#a7abb3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-panel{border:1px solid var(--line);padding:40px}.contact-panel a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:14px}.contact-panel a span{color:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}@keyframes introIn{0%{opacity:0;transform:scale(.98)}25%,75%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.02)}}
@media(pointer:fine){
.cursor-dot,.cursor-ring{display:none}
body{cursor:auto}
a,button,[role="link"],.test-card.live-test{cursor:pointer}
body.has-custom-cursor{cursor:none}
body.has-custom-cursor a,
body.has-custom-cursor button,
body.has-custom-cursor [role="link"]{cursor:none}
body.has-custom-cursor .cursor-dot,
body.has-custom-cursor .cursor-ring{display:block}
}
@media(max-width:900px){.site-header{height:72px;padding:0 22px}.site-header nav{position:fixed;inset:72px 0 0;background:#07090e;display:flex;flex-direction:column;align-items:flex-start;padding:50px 30px;gap:28px;transform:translateX(100%);transition:.35s}.site-header nav.open{transform:none}.site-header nav a{font:500 26px var(--display)}.header-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:130px}.hero-visual{height:430px}.trajectory{width:85vw}.s1{left:3%}.section{padding:90px 24px}.section-head,.about{grid-template-columns:1fr;gap:35px}.practice-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.course-grid,.test-list{grid-template-columns:1fr}.journey-track{grid-template-columns:1fr}.path-line{left:5px;top:0;bottom:0;width:1px;height:auto}.journey-track>div:not(.path-line){padding-left:42px;min-height:110px}.journey-track i{position:absolute;left:0;top:0;margin:0}.results-stage{min-height:560px;padding:30px 10px 65px}.result-card{width:min(330px,82vw);min-height:390px}.certificate-sheet{width:235px}.cert-left{transform:translate(-105px,45px) rotate(-8deg);opacity:.52}.cert-center{transform:translate(0,65px) rotate(1deg);opacity:.34}.cert-right{transform:translate(105px,40px) rotate(8deg);opacity:.54}.results-stage:hover .cert-left{transform:translate(-105px,45px) rotate(-8deg)}.results-stage:hover .cert-center{transform:translate(0,65px) rotate(1deg)}.results-stage:hover .cert-right{transform:translate(105px,40px) rotate(8deg)}.footer-main{grid-template-columns:1fr 1fr}.footer-main>.brand{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}.intro-skip{right:20px;bottom:20px}}
@media(max-width:560px){h1{font-size:52px}.hero{padding-inline:20px}.hero-visual{height:360px}.portrait-space{width:82px;height:120px}.signal{padding:9px;font-size:6px}.hero .actions .button{width:100%;justify-content:space-between}.feature-list>div{grid-template-columns:35px 1fr}.feature-list p{grid-column:2}.stats>div{padding:22px;display:block}.stats span{display:block;margin-top:8px}.practice-card{grid-template-columns:1fr;gap:20px;padding:25px}.course-card{min-height:450px}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:12px}.brand b{font-size:9px}.result-card strong{font-size:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.intro{display:none}.reveal{opacity:1;transform:none}.o2{animation:none}.cursor-dot,.cursor-ring{display:none!important}body,a,button{cursor:auto}}


/* Student results — editorial certificate gallery */
.results{overflow:hidden}.results-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:72px;perspective:1400px}.result-showcase{position:relative;min-width:0;border:1px solid #ffffff14;border-radius:28px;padding:22px 22px 20px;background:radial-gradient(circle at 20% 3%,rgba(255,53,53,.20),transparent 30%),radial-gradient(circle at 95% 96%,rgba(65,91,255,.16),transparent 33%),linear-gradient(145deg,#11151e 0%,#090b11 72%);box-shadow:0 35px 90px rgba(0,0,0,.42);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s;isolation:isolate;overflow:hidden}.result-showcase:before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 210deg,transparent,rgba(255,255,255,.06),transparent 26%);transform:rotate(10deg);z-index:-1}.result-showcase:hover{transform:translateY(-11px) rotateX(1.2deg);border-color:#ffffff2d;box-shadow:0 48px 120px rgba(0,0,0,.58),0 0 55px rgba(255,38,38,.08)}.result-a{transform:rotate(-1.6deg)}.result-b{transform:translateY(-18px)}.result-c{transform:rotate(1.6deg)}.result-a:hover,.result-b:hover,.result-c:hover{transform:translateY(-12px) rotate(0deg)}.result-document{position:relative;aspect-ratio:9/11.9;border-radius:18px;overflow:hidden;background:#f3f3f0;box-shadow:0 24px 50px rgba(0,0,0,.40);border:1px solid rgba(255,255,255,.34)}.result-document:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.10),inset 0 -80px 90px rgba(7,9,14,.12);pointer-events:none}.result-document img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s;filter:saturate(.86) contrast(1.01) brightness(.98)}.result-showcase:hover .result-document img{transform:scale(1.018);filter:saturate(1) contrast(1.02)}.result-summary{display:grid;grid-template-columns:136px 1fr;gap:18px;align-items:end;margin-top:-56px;position:relative;z-index:3;padding:0 8px}.result-summary>div{background:linear-gradient(145deg,#ff3a34,#d81721);border-radius:20px;padding:16px 15px 14px;box-shadow:0 15px 36px rgba(198,15,26,.35);min-height:138px;display:flex;flex-direction:column;justify-content:flex-end}.result-summary>div span{font:700 8px var(--display);letter-spacing:.18em;color:#ffd7d4}.result-summary>div strong{font:600 72px/ .9 var(--display);letter-spacing:-.075em;color:#fff;margin-top:9px}.result-summary dl{margin:0;padding:16px 17px 14px;background:rgba(8,10,15,.88);border:1px solid #ffffff18;border-radius:18px;backdrop-filter:blur(14px);display:grid;gap:6px}.result-summary dl div{display:flex;justify-content:space-between;align-items:center;gap:10px}.result-summary dt{font-size:10px;color:#9ca2ad}.result-summary dd{margin:0;font:700 11px var(--display);color:#f6f7f9}.result-name{margin:17px 8px 2px;font:700 8px var(--display);letter-spacing:.13em;color:#d8dbe0}.result-name span{font-weight:500;color:#6f7580}.results-note{margin:42px auto 0;display:flex;align-items:center;justify-content:center;gap:16px;font:600 7px var(--display);letter-spacing:.16em;color:#6f7580;text-align:center}.results-note span{height:1px;width:70px;background:linear-gradient(90deg,transparent,#ffffff25)}.results-note span:last-child{transform:scaleX(-1)}
@media(max-width:1050px){.results-gallery{grid-template-columns:repeat(2,1fr)}.result-c{grid-column:1/-1;width:min(500px,100%);justify-self:center}.result-b{transform:none}.result-a,.result-c{transform:none}}
@media(max-width:720px){.results-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:-24px;padding:5px 24px 30px;scrollbar-width:none}.results-gallery::-webkit-scrollbar{display:none}.result-showcase{flex:0 0 min(84vw,390px);scroll-snap-align:center;border-radius:23px;padding:16px}.result-summary{grid-template-columns:116px 1fr;gap:10px;margin-top:-44px}.result-summary>div{min-height:116px;border-radius:16px;padding:13px}.result-summary>div strong{font-size:60px}.result-summary dl{padding:13px;border-radius:15px}.result-name{font-size:7px}.results-note{margin-top:15px}.results-note span{width:28px}}

/* Horizontal student results carousel */
.results-carousel{position:relative;margin-top:72px;padding:0 58px}.results-gallery{display:flex!important;grid-template-columns:none!important;gap:22px!important;margin-top:0!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:22px 5px 42px;scrollbar-width:none;overscroll-behavior-inline:contain}.results-gallery::-webkit-scrollbar{display:none}.result-showcase{flex:0 0 min(390px,34vw);scroll-snap-align:start;transform:none!important}.result-showcase:nth-child(2n){margin-top:18px}.result-showcase:nth-child(3n){margin-top:4px}.results-arrow{position:absolute;top:43%;z-index:7;width:50px;height:50px;border-radius:50%;border:1px solid #ffffff24;background:rgba(7,9,14,.78);backdrop-filter:blur(14px);color:#fff;font-size:22px;display:grid;place-items:center;cursor:pointer;transition:.25s}.results-arrow:hover{background:#fff;color:#05070b;transform:scale(1.06)}.results-prev{left:0}.results-next{right:0}.results-controls{display:flex;justify-content:space-between;align-items:center;margin:2px 58px 0;color:#666d78;font:600 8px var(--display);letter-spacing:.18em}.results-count{color:#aeb3bc}.results-gallery.is-dragging{cursor:grabbing;scroll-snap-type:none}.results-gallery{cursor:grab}
@media(max-width:1050px){.results-carousel{padding:0 52px}.result-showcase{flex-basis:min(380px,58vw)}}
@media(max-width:720px){.results-carousel{margin-top:50px;padding:0 0}.results-gallery{margin-inline:-24px!important;padding:10px 24px 32px!important;gap:14px!important}.result-showcase{flex:0 0 min(84vw,390px)!important;margin-top:0!important}.results-arrow{width:42px;height:42px;top:44%;background:rgba(5,7,11,.88)}.results-prev{left:-8px}.results-next{right:-8px}.results-controls{margin:0; padding:0 2px}.results-controls span:first-child{display:none}}

/* Legacy paper IELTS certificates: keep original document content intact, but give grayscale scans a subtle colour treatment in-browser. */
.legacy-result{--legacy-accent:#ff3a34}
.legacy-result .result-document{position:relative;background:#f5f0e7}
.legacy-result .result-document img{filter:sepia(.28) saturate(1.42) hue-rotate(338deg) contrast(1.04) brightness(1.03)}
.legacy-result .result-document:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,color-mix(in srgb,var(--legacy-accent) 16%,transparent),transparent 38%,rgba(80,122,255,.08) 74%,transparent);mix-blend-mode:color;opacity:.72}
.legacy-result{border-color:color-mix(in srgb,var(--legacy-accent) 35%,rgba(255,255,255,.12));box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 42px color-mix(in srgb,var(--legacy-accent) 10%,transparent)}
.legacy-result .result-summary>div{background:linear-gradient(145deg,color-mix(in srgb,var(--legacy-accent) 92%,#fff 8%),color-mix(in srgb,var(--legacy-accent) 72%,#05070b 28%));box-shadow:0 15px 36px color-mix(in srgb,var(--legacy-accent) 32%,transparent)}
.legacy-red{--legacy-accent:#ff3a34}.legacy-blue{--legacy-accent:#4b7cff}.legacy-violet{--legacy-accent:#9a5cff}.legacy-green{--legacy-accent:#39c678}.legacy-cyan{--legacy-accent:#36b9cf}.legacy-gold{--legacy-accent:#e7a62b}.legacy-pink{--legacy-accent:#e44f8f}.legacy-orange{--legacy-accent:#ee7441}.legacy-indigo{--legacy-accent:#6870e8}
@supports not (color:color-mix(in srgb,red,blue)){.legacy-result{border-color:#ffffff22}.legacy-result .result-summary>div{background:linear-gradient(145deg,#ff3a34,#a91520)}}


/* Personal photography — restrained academic/educator treatment */
.educator-intro{min-width:0}
.educator-photo{
  position:relative;
  margin:48px 0 0;
  width:min(100%,620px);
  aspect-ratio:16/10;
  overflow:hidden;
  border:1px solid var(--line);
  background:#090c11;
}
.educator-photo:after,.about-photo:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(5,7,11,.78));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.educator-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 31%;
  display:block;
  filter:saturate(.94) contrast(1.03);
  transition:transform .7s ease;
}
.educator-photo:hover img{transform:scale(1.025)}
.educator-photo figcaption,.about-photo figcaption{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:17px;
  margin:0;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#fff;
  font:600 9px var(--display);
  letter-spacing:.13em;
}
.educator-photo figcaption span,.about-photo figcaption span{color:var(--red)}

.about-photo-gallery{
  display:grid;
  grid-template-columns:1.35fr .8fr .8fr;
  gap:12px;
  margin:70px 0 40px;
}
.about-photo{
  position:relative;
  margin:0;
  min-height:360px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#090c11;
}
.about-photo-main{min-height:520px}
.about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.93) contrast(1.04);
  transition:transform .7s ease;
}
.about-photo-main img{object-position:center 47%}
.about-photo:nth-child(2) img{object-position:center 27%}
.about-photo:nth-child(3) img{object-position:center center}
.about-photo:hover img{transform:scale(1.025)}

@media(max-width:900px){
  .educator-photo{margin-top:30px}
  .about-photo-gallery{grid-template-columns:1fr 1fr;margin-top:50px}
  .about-photo-main{grid-column:1/-1;min-height:500px}
  .about-photo{min-height:320px}
}
@media(max-width:560px){
  .educator-photo{aspect-ratio:4/3}
  .about-photo-gallery{grid-template-columns:1fr}
  .about-photo-main{grid-column:auto;min-height:430px}
  .about-photo{min-height:360px}
}


/* Final layout polish requested by Murod */

/* Center the hero portrait horizontally inside the trajectory visual. */
.hero .portrait-space{
  left:50%;
  right:auto;
  bottom:7%;
  transform:translateX(-50%);
  width:126px;
  height:178px;
}
.hero .portrait-photo{
  object-position:center 26%;
}

/* Show the graduation/professor photo in full rather than cropping the hat/head. */
.educator-photo{
  width:min(100%,560px);
  aspect-ratio:auto;
  overflow:hidden;
  margin-top:48px;
  background:#090c11;
}
.educator-photo img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  display:block;
}
.educator-photo:after{
  background:linear-gradient(180deg,transparent 72%,rgba(5,7,11,.82));
}

/* Slightly stronger public-facing results proof line. */
.results-note{
  color:#8f96a3;
  font-size:8px;
  letter-spacing:.18em;
}

@media(max-width:900px){
  .hero .portrait-space{
    left:50%;
    right:auto;
    bottom:5%;
    transform:translateX(-50%);
  }
  .educator-photo{
    width:min(100%,520px);
  }
}

@media(max-width:560px){
  .hero .portrait-space{
    left:50%;
    right:auto;
    bottom:3%;
    width:92px;
    height:132px;
    transform:translateX(-50%);
  }
  .educator-photo{
    width:100%;
    aspect-ratio:auto;
  }
  .educator-photo img{
    height:auto;
    object-fit:contain;
  }
}


/* Hero portrait: return card to original position; crop the photo slightly closer
   and keep Murod centered inside the frame. */
.hero .portrait-space{
  left:auto;
  right:2%;
  bottom:10%;
  transform:none;
  width:112px;
  height:160px;
}
.hero .portrait-photo{
  object-position:center 30%;
  transform:scale(1.07);
  transform-origin:center center;
}

/* Educator photo: restore the original horizontal treatment,
   but shift crop upward enough to keep the graduation cap visible. */
.educator-photo{
  width:min(100%,620px);
  aspect-ratio:16/10;
  overflow:hidden;
  margin-top:48px;
}
.educator-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 12%;
  transform:none;
}
.educator-photo:hover img{
  transform:scale(1.02);
}

@media(max-width:900px){
  .hero .portrait-space{
    left:auto;
    right:2%;
    bottom:10%;
    transform:none;
    width:112px;
    height:160px;
  }
}

@media(max-width:560px){
  .hero .portrait-space{
    left:auto;
    right:2%;
    bottom:10%;
    transform:none;
    width:82px;
    height:120px;
  }
  .educator-photo{
    aspect-ratio:4/3;
  }
  .educator-photo img{
    object-position:center 10%;
  }
}


/* Tiny final adjustment: give the graduation photo a little more headroom,
   so both people sit slightly lower in the horizontal frame. */
.educator-photo img{
  object-position:center 5%;
}
@media(max-width:560px){
  .educator-photo img{
    object-position:center 4%;
  }
}


/* Graduation photo: keep it landscape-ish, but show much more of the body
   (roughly down toward the knees) instead of the tight upper-body crop. */
.educator-photo{
  width:min(100%,620px);
  aspect-ratio:11/10;
}
.educator-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

@media(max-width:560px){
  .educator-photo{
    aspect-ratio:1/1;
  }
  .educator-photo img{
    object-position:center top;
  }
}

/* Reading module card is fully clickable */
.reading-card-link{cursor:pointer}
.reading-card-link:focus-visible{outline:2px solid #ff3b37;outline-offset:-4px}
.reading-card-link a{position:relative;z-index:2}


/* ===== GLOBAL CURSOR FIX =====
   Use the native system cursor everywhere.
   Hand pointer only on interactive elements.
*/
html, body, body * {
  cursor: default;
}

a,
button,
[role="button"],
[role="link"],
input[type="button"],
input[type="submit"],
input[type="reset"],
label[for],
select,
summary,
.test-card.live-test,
.reading-card-link,
.practice-card[role="link"] {
  cursor: pointer !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
.editor {
  cursor: text !important;
}

.divider {
  cursor: col-resize !important;
}

/* Disable the decorative custom cursor completely */
.cursor-dot,
.cursor-ring {
  display: none !important;
  pointer-events: none !important;
}

body.has-custom-cursor,
body.has-custom-cursor *,
body.has-custom-cursor a,
body.has-custom-cursor button,
body.has-custom-cursor [role="link"] {
  cursor: revert !important;
}

/* Re-apply intended pointer types after revert */
body.has-custom-cursor a,
body.has-custom-cursor button,
body.has-custom-cursor [role="button"],
body.has-custom-cursor [role="link"],
body.has-custom-cursor .test-card.live-test,
body.has-custom-cursor .reading-card-link,
body.has-custom-cursor .practice-card[role="link"] {
  cursor: pointer !important;
}
body.has-custom-cursor input,
body.has-custom-cursor textarea,
body.has-custom-cursor .editor {
  cursor: text !important;
}
body.has-custom-cursor .divider {
  cursor: col-resize !important;
}

.auth-header-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;font:700 10px/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;white-space:nowrap}
.auth-header-link:hover{border-color:rgba(255,255,255,.35)}
.auth-header-link.logged-in{border-color:rgba(71,220,137,.36);color:#83efae}


/* FINAL ABOUT PHOTO GALLERY — equal cards, full photos visible */
.about-photo-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin:70px 0 40px !important;
}
.about-photo,
.about-photo-main{
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:4/5 !important;
  background:#090c11 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.about-photo img,
.about-photo-main img,
.about-photo:nth-child(2) img,
.about-photo:nth-child(3) img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.about-photo:hover img{transform:none !important}
@media(max-width:900px){
  .about-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .about-photo-main{grid-column:auto !important}
}
@media(max-width:700px){
  .about-photo-gallery{grid-template-columns:1fr !important}
  .about-photo,.about-photo-main{aspect-ratio:4/5 !important}
}


/* EN / RU / UZ language selector */
.language-switcher{display:flex;align-items:center;gap:3px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px;background:rgba(10,13,17,.72);margin-left:8px}
.lang-btn{border:0;background:transparent;color:#7f8a95;font:800 9px/1 Manrope,Arial;padding:7px 8px;border-radius:999px;letter-spacing:.05em}
.lang-btn.active{background:#fff;color:#0a0d11}
@media(max-width:980px){.language-switcher{margin-left:auto;margin-right:8px}.lang-btn{padding:7px 7px}}

/* FINAL FOUR COURSE GRID */
.section.courses .course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.section.courses .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.section.courses .course-grid{grid-template-columns:1fr}}

/* HOME COURSE CARDS — equal resting state, interactive hover */
.section.courses .course-card,
.section.courses .course-card.featured{
  position:relative;
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(8,11,15,.72)!important;
  box-shadow:none!important;
  transform:translateY(0);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.section.courses .course-card.featured .popular{
  opacity:.72;
}
.section.courses .course-card:hover{
  transform:translateY(-8px);
  border-color:rgba(239,64,59,.72)!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(239,64,59,.12),transparent 34%),
    rgba(12,15,20,.96)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 0 1px rgba(239,64,59,.08)!important;
}
.section.courses .course-card:hover .popular{
  opacity:1;
}
.section.courses .course-card:hover h3,
.section.courses .course-card:hover > span,
.section.courses .course-card:hover > a{
  transition:color .22s ease;
}
.section.courses .course-card:hover h3{color:#fff}
.section.courses .course-card:hover > span,
.section.courses .course-card:hover > a{color:#ff4f49}
@media (hover:none){
  .section.courses .course-card:hover{transform:none}
}

/* Make language selector unmistakably visible on the homepage */
body[data-page="home"] .language-switcher{
  display:flex!important;
  flex:0 0 auto;
}

/* MOBILE HEADER — restore hamburger menu after adding language selector */
.mobile-auth-nav{display:none}

@media(max-width:900px){
  .site-header{
    gap:10px!important;
    padding:0 14px!important;
    width:100%;
    box-sizing:border-box;
  }

  .site-header .brand{
    margin-right:auto!important;
    min-width:0;
    flex:1 1 auto;
    gap:9px;
  }

  .site-header .brand>span{
    flex:0 0 34px;
  }

  .site-header .brand b{
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:8px;
    letter-spacing:.055em;
  }

  .site-header>.language-switcher{
    flex:0 0 auto;
    margin:0!important;
  }

  .site-header>.auth-header-link{
    display:none!important;
  }

  .site-header>.menu-toggle{
    display:block!important;
    flex:0 0 38px;
    width:38px;
    height:38px;
    padding:6px;
    position:relative;
    z-index:42;
  }

  .site-header nav .mobile-auth-nav{
    display:block;
    margin-top:12px;
    padding-top:24px;
    width:100%;
    border-top:1px solid rgba(255,255,255,.12);
    color:#79d99a;
  }
}

@media(max-width:390px){
  .site-header{padding:0 10px!important;gap:7px!important}
  .site-header .brand b{font-size:7.5px}
  .language-switcher{gap:1px!important;padding:2px!important}
  .lang-btn{padding:6px 6px!important;font-size:8px!important}
  .site-header>.menu-toggle{flex-basis:34px;width:34px}
}

/* FINAL HOMEPAGE POLISH */
html{scroll-behavior:smooth;overflow-x:hidden}
#platform{scroll-margin-top:86px}

.home-trust{
  width:min(1380px,calc(100% - 64px));
  margin:-18px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(9,12,16,.86);
  position:relative;
  z-index:3;
}
.home-trust .trust-item{
  min-height:96px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  gap:5px 14px;
  align-content:center;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.1);
  transition:background .2s ease,border-color .2s ease;
}
.home-trust .trust-item:last-child{border-right:0}
.home-trust .trust-item>span{
  grid-row:1/3;color:#ef403b;font:800 10px/1 Manrope;letter-spacing:.08em;padding-top:3px
}
.home-trust .trust-item b{color:#fff;font:800 12px/1.2 Manrope;letter-spacing:.06em}
.home-trust .trust-item small{color:#7f8994;font-size:11px}
.home-trust .trust-item:hover{background:rgba(239,64,59,.06)}

.platform-card{
  cursor:pointer!important;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.platform-card:hover{
  transform:translateY(-7px);
  border-color:rgba(239,64,59,.62)!important;
  background:radial-gradient(circle at 82% 12%,rgba(239,64,59,.1),transparent 34%),rgba(12,15,20,.96)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.progress-callout{
  margin-top:26px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(110deg,rgba(239,64,59,.055),rgba(255,255,255,.018));
  padding:28px 30px;
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between;
}
.progress-callout>div{max-width:720px}
.progress-kicker{display:block;color:#ef403b;font:800 9px/1 Manrope;letter-spacing:.15em;margin-bottom:10px}
.progress-callout h3{margin:0 0 8px;color:#fff;font:800 clamp(24px,3vw,36px)/1 Manrope;letter-spacing:-.03em}
.progress-callout p{margin:0;color:#88939e;line-height:1.65}
.progress-account-link{flex:0 0 auto}

@media(max-width:900px){
  .home-trust{width:calc(100% - 28px);grid-template-columns:1fr;margin:0 auto}
  .home-trust .trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);min-height:76px;padding:17px 18px}
  .home-trust .trust-item:last-child{border-bottom:0}
  .progress-callout{display:grid;padding:22px}
  .progress-account-link{width:100%;box-sizing:border-box;text-align:center}
}

/* 2026-08-20 SMALL PHONE ACCESSIBILITY FIX
   Keep account/login reachable on iPhone 13 and smaller devices. */
@media(max-width:560px){
  .site-header{
    min-height:68px;
    height:68px;
    gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  /* Keep a direct account/login action visible instead of forcing users
     to scroll to the bottom of the hamburger menu. */
  .site-header>.auth-header-link{
    display:inline-flex!important;
    flex:0 0 auto;
    min-width:0;
    padding:8px 9px!important;
    font-size:8px!important;
    letter-spacing:.04em!important;
    white-space:nowrap;
    position:relative;
    z-index:43;
  }

  .site-header .brand{
    min-width:0;
    gap:6px!important;
  }
  .site-header .brand>span{
    flex:0 0 31px!important;
    width:31px!important;
    height:31px!important;
  }
  .site-header .brand b{
    font-size:7px!important;
    letter-spacing:.025em!important;
    max-width:94px;
  }

  .site-header>.language-switcher{
    gap:0!important;
    padding:1px!important;
  }
  .site-header>.language-switcher .lang-btn{
    padding:5px 4px!important;
    font-size:7px!important;
  }

  .site-header>.menu-toggle{
    flex:0 0 32px!important;
    width:32px!important;
    height:34px!important;
    padding:4px!important;
  }

  /* Menu must scroll on short phone screens; login remains available both
     in the header and inside the menu. */
  .site-header nav{
    inset:68px 0 0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:30px 24px calc(42px + env(safe-area-inset-bottom))!important;
    gap:21px!important;
  }
  .site-header nav a{
    font-size:22px!important;
    flex:0 0 auto;
  }
  .site-header nav .mobile-auth-nav{
    margin-top:2px!important;
    padding-top:18px!important;
  }
}

@media(max-width:390px){
  /* On 390px-class phones, prioritize access over the long wordmark. */
  .site-header .brand b{display:none!important}
  .site-header>.auth-header-link{padding:8px 8px!important;font-size:7.5px!important}
}

@media(max-width:350px){
  /* Keep EN / RU / UZ available even on very narrow phones. */
  .site-header{padding:0 7px!important;gap:5px!important}
  .site-header>.language-switcher{display:flex!important;gap:0!important;padding:1px!important}
  .site-header>.language-switcher .lang-btn{padding:5px 3px!important;font-size:7px!important}
  .site-header>.menu-toggle{flex-basis:30px!important;width:30px!important;padding:3px!important}
}


/* RICHMOND COURSE CARDS — PROFESSIONAL 2026 */
.course-grid-pro{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;background:transparent!important;border:0!important}
.course-card-pro{min-height:430px!important;padding:28px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(15,18,24,.94),rgba(8,10,14,.98))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;isolation:isolate!important;position:relative!important}
.course-card-pro:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 220px at 100% 0%,rgba(239,64,59,.08),transparent 55%);opacity:.9}
.course-card-pro:hover{transform:translateY(-7px)!important;border-color:rgba(255,77,70,.55)!important;box-shadow:0 26px 70px rgba(0,0,0,.34)!important}
.course-card-pro .course-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}
.course-card-pro .course-top>span:first-child{color:#ff514b;font:700 9px var(--display);letter-spacing:.16em}
.course-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#aeb4be;font:700 8px var(--display);letter-spacing:.12em;background:rgba(255,255,255,.025);white-space:nowrap}
.course-badge-red{color:#fff;border-color:rgba(239,64,59,.55);background:rgba(239,64,59,.14)}
.course-card-pro h3{font-size:clamp(26px,2.2vw,36px)!important;line-height:1.06!important;letter-spacing:-.045em!important;font-weight:600!important;margin:0 0 16px!important;color:#fff!important}
.course-card-pro .course-desc{margin:0 0 24px!important;color:#929aa6!important;font-size:13px!important;line-height:1.7!important;max-width:38ch}
.course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.course-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#afb5bf;font-size:10px;line-height:1;background:rgba(255,255,255,.025)}
.course-price{margin-top:auto;padding:22px 0 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:baseline;gap:9px}
.course-price b{font:700 clamp(27px,2.3vw,37px)/1 var(--display);letter-spacing:-.045em;color:#fff}
.course-price span{font-size:10px;color:#757d88;letter-spacing:.04em}
.course-card-pro>a{margin-top:0!important;min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;display:flex!important;align-items:center;justify-content:space-between;color:#fff!important;font-size:12px!important;font-weight:700!important;transition:.22s!important}
.course-card-pro>a:hover{background:#ef403b;border-color:#ef403b;color:#fff!important}
.course-card-pro>a span{color:inherit!important}
.course-featured-pro{border-color:rgba(239,64,59,.34)!important;background:linear-gradient(180deg,rgba(24,15,17,.98),rgba(9,10,14,.98))!important}
.course-featured-pro:after{content:"";position:absolute;right:-85px;top:-110px;width:240px;height:240px;border-radius:50%;background:rgba(239,64,59,.13);filter:blur(24px);z-index:-1}
@media(max-width:1100px){.course-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.course-grid-pro{grid-template-columns:1fr!important;gap:12px!important}.course-card-pro{min-height:390px!important;padding:23px!important;border-radius:18px!important}.course-card-pro .course-top{margin-bottom:25px}.course-card-pro h3{font-size:30px!important}.course-price b{font-size:32px}}

/* Course page: reset the legacy absolutely-positioned card CTA. */
.course-card-pro>a{
  position:static!important;
  inset:auto!important;
  width:100%;
  flex:0 0 auto;
}

/* FINAL MOCK EXAMS HOMEPAGE ENTRY */
.mock-home-card{grid-column:auto;background:radial-gradient(circle at 82% 8%,rgba(239,64,59,.15),transparent 34%),linear-gradient(145deg,rgba(18,21,28,.98),rgba(8,10,14,.98))!important;border-color:rgba(239,64,59,.34)!important}
.mock-home-card .skill-icon{color:#ff514b}.mock-home-card .tag{color:#ff514b!important}
@media(max-width:900px){.mock-home-card{grid-column:auto}}

/* AI Speaking home module */
.speaking-home-card{position:relative;overflow:hidden}.speaking-home-card:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-110px;top:-120px;background:radial-gradient(circle,rgba(239,64,59,.2),transparent 68%);pointer-events:none}.speaking-home-card .tag{color:#ff5752}.speaking-home-card .skill-icon{box-shadow:0 0 0 1px rgba(239,64,59,.08),0 18px 50px rgba(239,64,59,.08)}

/* 2026-08-26 DESKTOP HEADER WIDTH FIX
   Speaking added one more primary navigation item. Keep EN / RU / UZ and
   account actions fully inside the viewport without changing the mobile menu. */
@media (min-width:901px) and (max-width:1800px){
  .site-header{
    padding-left:clamp(18px,2.2vw,36px)!important;
    padding-right:clamp(18px,2.2vw,36px)!important;
    gap:16px!important;
  }
  .site-header .brand{gap:11px!important}
  .site-header .brand b{font-size:10px!important;letter-spacing:.065em!important}
  .site-header nav{gap:18px!important;min-width:0;flex:0 1 auto}
  .site-header nav a{font-size:12px!important;white-space:nowrap}
  .site-header>.language-switcher{margin-left:0!important;flex:0 0 auto}
  .site-header>.auth-header-link{padding:9px 11px!important;font-size:9px!important;flex:0 0 auto}
  .site-header>.header-cta{padding-left:18px!important;font-size:12px!important;white-space:nowrap;flex:0 0 auto}
}

@media (min-width:901px) and (max-width:1500px){
  .site-header{padding-left:20px!important;padding-right:20px!important;gap:12px!important}
  .site-header nav{gap:12px!important}
  .site-header nav a{font-size:11px!important}
  .site-header .brand b{font-size:9px!important}
  .site-header>.auth-header-link{padding:8px 9px!important;font-size:8.5px!important}
  .site-header>.header-cta{padding-left:12px!important;font-size:11px!important}
}

@media (min-width:901px) and (max-width:1250px){
  .site-header{padding-left:16px!important;padding-right:16px!important;gap:10px!important}
  .site-header .brand b{display:none!important}
  .site-header nav{gap:10px!important}
  .site-header nav a{font-size:10.5px!important}
  /* Register already has a dedicated desktop CTA, so remove only the duplicate
     nav copy at tighter desktop widths. It remains present in the mobile menu. */
  .site-header nav>a[href*="register"]{display:none!important}
  .site-header>.header-cta{padding-left:10px!important;font-size:10.5px!important}
}

/* Keep the closed mobile drawer inside the viewport so it cannot create
   horizontal page scrolling on touch devices. */
@media(max-width:900px){
  .site-header nav{
    transform:none!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease!important;
  }
  .site-header nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

/* MK brand mark — 2026-08-29 */
.brand>span{
  width:38px!important;
  height:38px!important;
  border:0!important;
  color:transparent!important;
  font-size:0!important;
  background:url('/assets/mk-mark.png') center/contain no-repeat!important;
  flex:0 0 38px;
  filter:drop-shadow(0 0 10px rgba(255,45,45,.08));
}
.intro:before{display:none!important}
.intro-mark{
  width:86px!important;
  height:86px!important;
  border:0!important;
  color:transparent!important;
  font-size:0!important;
  margin-bottom:28px!important;
  background:url('/assets/mk-mark.png') center/contain no-repeat!important;
  filter:drop-shadow(0 0 20px rgba(255,45,45,.12));
  animation:mkBrandIntro 1.15s cubic-bezier(.2,.75,.2,1) .2s both;
}
@keyframes mkBrandIntro{
  from{opacity:0;transform:scale(.88)}
  to{opacity:1;transform:scale(1)}
}
@media(max-width:560px){
  .brand>span{width:34px!important;height:34px!important;flex-basis:34px}
  .intro-mark{width:72px!important;height:72px!important}
}

/* MK final identity — clearer M + K geometry, 2026-08-29 */
.brand>span{
  width:40px!important;
  height:34px!important;
  flex:0 0 40px!important;
  border:0!important;
  color:transparent!important;
  font-size:0!important;
  background:url('/assets/mk-mark.png') center/contain no-repeat!important;
  filter:drop-shadow(0 0 8px rgba(255,45,45,.08));
}
.intro-mark{
  width:104px!important;
  height:82px!important;
  border:0!important;
  color:transparent!important;
  font-size:0!important;
  margin-bottom:26px!important;
  background:url('/assets/mk-mark.png') center/contain no-repeat!important;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.5));
}
@media(max-width:900px){
  .brand>span{width:36px!important;height:31px!important;flex-basis:36px!important}
  .intro-mark{width:92px!important;height:74px!important}
}
@media(max-width:560px){
  .brand>span{width:34px!important;height:29px!important;flex-basis:34px!important}
  .intro-mark{width:84px!important;height:68px!important}
}

/* Exact approved MK identity — unified header + intro */
.brand>span{background-image:url('/assets/mk-mark.png')!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;border:0!important;color:transparent!important;width:43px!important;height:34px!important;flex:0 0 43px!important}
.intro-mark{background-image:url('/assets/mk-mark.png')!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;border:0!important;color:transparent!important;width:138px!important;height:92px!important;margin-bottom:28px!important}
@media(max-width:900px){.brand>span{width:39px!important;height:31px!important;flex-basis:39px!important}.intro-mark{width:124px!important;height:83px!important}}
@media(max-width:560px){.brand>span{width:36px!important;height:29px!important;flex-basis:36px!important}.intro-mark{width:112px!important;height:76px!important}}


/* === 2026-09 English Foundation / compact navigation === */
.site-header nav .nav-group{position:relative;display:flex;align-items:center}
.site-header nav .nav-group-btn{
  appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;
  cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap
}
.site-header nav .nav-group-btn:after{
  content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.65
}
.site-header nav .nav-group-btn.active{color:#fff}
.site-header nav .nav-submenu{
  position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%,8px);
  min-width:205px;padding:8px;background:#0b0e14f7;border:1px solid #ffffff18;
  box-shadow:0 18px 45px #0009;opacity:0;visibility:hidden;pointer-events:none;
  transition:.2s;backdrop-filter:blur(16px)
}
.site-header nav .nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.site-header nav .nav-submenu a{
  display:flex!important;padding:12px 13px!important;font-size:11px!important;
  border-bottom:1px solid #ffffff0d;color:#aeb4bd!important
}
.site-header nav .nav-submenu a:last-child{border-bottom:0}
.site-header nav .nav-submenu a:hover,.site-header nav .nav-submenu a.active{color:#fff!important;background:#ffffff08}
.site-header nav .nav-group:hover .nav-submenu,
.site-header nav .nav-group:focus-within .nav-submenu,
.site-header nav .nav-group.open .nav-submenu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
}

@media(max-width:900px){
  .site-header nav .nav-group{display:block;width:100%}
  .site-header nav .nav-group-btn{
    width:100%;justify-content:space-between;font:500 26px var(--display);color:#fff
  }
  .site-header nav .nav-submenu{
    position:static;transform:none!important;min-width:0;padding:0 0 0 16px;margin-top:0;
    background:transparent;border:0;box-shadow:none;backdrop-filter:none;
    max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:auto;transition:max-height .25s,margin .25s
  }
  .site-header nav .nav-group.open .nav-submenu{max-height:260px;margin-top:14px}
  .site-header nav .nav-submenu a{
    font:500 17px var(--display)!important;padding:9px 0!important;border:0!important;color:#8e949e!important
  }
}

.site-header nav .compact-register-link{display:none!important}
@media(max-width:900px){.site-header nav .compact-register-link{display:block!important}}


/* === 2026-09-14 NAV DROPDOWN HOTFIX === */
.site-header nav .nav-group-btn{
  -webkit-appearance:none!important;appearance:none!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;color:#9da1a9!important;
}
.site-header nav .nav-submenu{
  display:block!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  z-index:1000!important;
}
.site-header nav .nav-group:hover .nav-submenu,
.site-header nav .nav-group:focus-within .nav-submenu,
.site-header nav .nav-group.open .nav-submenu{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
@media(max-width:900px){
  .site-header nav .nav-submenu{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    max-height:0!important;
  }
  .site-header nav .nav-group:hover .nav-submenu,
  .site-header nav .nav-group:focus-within .nav-submenu{
    max-height:0!important;
  }
  .site-header nav .nav-group.open .nav-submenu{max-height:280px!important}
}


/* === 2026-09-14 FINAL MOBILE NAV + FOUNDATION ALIGNMENT HOTFIX === */

/* Foundation reading text: cleaner straight visual edges on desktop/tablet */
@media (min-width:701px){
  .reader-page .passage-card{
    text-align:justify!important;
    text-justify:inter-word!important;
  }
}
.reader-page .passage-card,
.reader-page .qa-grid,
.reader-page .questions-card,
.reader-page .vocab-card{
  box-sizing:border-box!important;
}
.reader-page .qa-grid{align-items:stretch!important}
.reader-page .questions-card,
.reader-page .vocab-card{height:100%!important}

/* Mobile menu: keep submenu fully inside the viewport and show it ONLY after tap */
@media(max-width:900px){
  .site-header nav{
    overflow-x:hidden!important;
  }

  .site-header nav .nav-group{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .site-header nav .nav-group-btn{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .site-header nav .nav-group-btn:after{
    flex:0 0 auto!important;
    margin-left:16px!important;
    transition:transform .18s ease!important;
  }
  .site-header nav .nav-group.open .nav-group-btn:after{
    transform:rotate(225deg) translateY(-1px)!important;
  }

  .site-header nav .nav-group .nav-submenu,
  .site-header nav .nav-group:hover .nav-submenu,
  .site-header nav .nav-group:focus-within .nav-submenu{
    display:none!important;
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:12px 0 2px 18px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  .site-header nav .nav-group.open .nav-submenu{
    display:block!important;
  }

  .site-header nav .nav-submenu:before{
    display:none!important;
  }

  .site-header nav .nav-submenu a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    padding:10px 0!important;
    margin:0!important;
    font:500 17px var(--display)!important;
    line-height:1.25!important;
    color:#8e949e!important;
    background:transparent!important;
    border:0!important;
  }

  .site-header nav .nav-submenu a:hover,
  .site-header nav .nav-submenu a.active{
    color:#fff!important;
    background:transparent!important;
  }
}
