@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{--ink:#313139;--accent:#705d8c;--graphite:#35343e;--graphite-hover:#24232c;--muted:#686671;--pale:#ebe5f2;--secondary:#e3e4e9;--line:#e1dce7;--canvas:#faf9fc;--white:#fff;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{color:inherit}p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{font-weight:700}h2{font-size:clamp(34px,3.9vw,60px);letter-spacing:-.048em;line-height:1.14}h3{font-size:23px;letter-spacing:-.035em;line-height:1.3}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a390c2;outline-offset:5px}::selection{background:var(--secondary);color:var(--ink)}[hidden]{display:none!important}.container{width:90%;max-width:1384px;margin-inline:auto}.section{padding-block:100px}.muted{color:var(--muted)}.blue{color:var(--accent)}.small{font-size:14px}.skip-link{position:fixed;top:8px;left:16px;z-index:1000;padding:12px 20px;background:white;border:2px solid var(--accent);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.header{height:86px;background:var(--canvas);position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;gap:40px}.wordmark{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;line-height:1}.wordmark img{display:block;width:178px;height:auto}.footer .wordmark img{width:200px}.desktop-nav{display:flex;gap:26px;align-items:center;font-size:16px}.desktop-nav a{padding-block:10px;transition:color .18s}.desktop-nav a:hover{color:var(--accent)}.header-cta{margin-left:auto}.button{min-height:52px;padding:13px 26px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;font-size:16px;font-weight:700;line-height:1.4;transition:background .18s,transform .18s,color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--graphite);color:#fff}.button-primary:hover{background:var(--graphite-hover)}.button-outline{border-color:var(--accent);color:var(--accent);background:transparent}.button-outline:hover{background:var(--pale)}.button-soft{background:var(--pale);color:var(--accent)}.button-soft:hover{background:#e3dbef}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.text-button{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--accent);font-size:16px}.menu-toggle{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:white;padding:15px 5% 25px;border-bottom:1px solid var(--line);box-shadow:0 12px 15px #3131390a}.mobile-nav a{display:block;padding:12px 0;font-weight:700}
.hero{display:grid;grid-template-columns:1fr 1.06fr;gap:40px;align-items:center;padding-top:4px}.hero-copy{padding-block:25px}.hero h1{font-size:clamp(44px,5.65vw,87px);line-height:1.075;letter-spacing:-.065em;white-space:nowrap}.hero h1 span{color:var(--accent)}.hero-copy>p{font-size:clamp(17px,1.43vw,22px);line-height:1.5;color:var(--muted);max-width:640px;margin-top:24px}.hero-cta{margin-top:36px;min-height:64px;padding:18px 32px;font-size:18px}.hero-note{font-size:14px;color:var(--muted);margin-top:13px;max-width:400px}.hero-media{position:relative;min-width:0}.hero-photo{width:100%;height:auto;aspect-ratio:1.21;object-fit:cover;object-position:60% 45%;border-radius:28px}.hero-score{position:absolute;right:28px;bottom:28px;background:white;padding:20px 22px;border-radius:22px;box-shadow:0 6px 24px #3131390a;width:264px;max-width:calc(100% - 36px)}.hero-score-main{display:flex;align-items:center;gap:12px}.hero-score strong{display:block;color:var(--accent);font-size:56px;font-weight:800;line-height:1;letter-spacing:-.06em;white-space:nowrap}.hero-score-caption{font-size:13px;line-height:1.4}.hero-score-awards{font-size:14px;font-weight:600;line-height:1.45;color:var(--accent);padding-top:12px;margin-top:12px;border-top:1px solid var(--line);text-wrap:pretty}.subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.subject-link{display:flex;align-items:center;gap:24px;background:var(--pale);padding:26px 30px;border-radius:22px;font-size:22px;font-weight:700;letter-spacing:-.03em;transition:transform .2s,box-shadow .2s}.subject-link:hover{transform:translateY(-4px);box-shadow:0 8px 20px #3131390a}.subject-link:nth-child(2){background:var(--secondary)}.subject-symbol{font-size:43px;line-height:1;letter-spacing:-.065em;color:var(--accent);padding-right:22px;border-right:1px solid #cfc7db70;min-width:80px}.code-symbol{font-size:36px}.subject-link>svg{margin-left:auto;width:25px;height:25px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;margin-bottom:36px}.demo-caption{font-size:14px;color:var(--accent);text-align:right;padding-top:9px;line-height:1.5}.demo-caption span{color:var(--muted);font-size:13px}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.teacher-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:border-color .2s,transform .2s}.teacher-card:hover{border-color:#b5a5cc;transform:translateY(-3px)}.portrait-frame{position:relative;aspect-ratio:1.54;overflow:hidden;background:var(--pale);border-radius:23px}.portrait-frame img{position:absolute;max-width:none;width:300%;height:auto;top:50%;transform:translateY(-50%)}.portrait-0 img{left:0}.portrait-1 img{left:-100%}.portrait-2 img{left:-200%}.teacher-info{padding:22px 24px 24px}.teacher-info h3{font-size:27px;margin-bottom:18px}.teacher-facts{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:16px}.teacher-facts li{display:flex;gap:12px;align-items:center}.fact-icon{width:34px;height:34px;display:flex;justify-content:center;align-items:center;border-radius:50%;color:var(--accent);background:var(--pale)}.fact-icon svg{width:18px;height:18px}.fact-score{background:var(--secondary)}.teacher-info .button{width:100%;font-size:14px;margin-top:22px;min-height:48px;padding-inline:10px}.selection{margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}.selection-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:26px}.selection-heading h3{font-size:30px;letter-spacing:-.045em}.selection-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.selection-steps li{padding-right:20px;border-right:1px solid var(--line)}.selection-steps li:last-child{border:0}.step-number{width:42px;height:42px;background:var(--pale);color:var(--accent);display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:19px;margin-bottom:16px}.selection-steps h4{font-size:17px;line-height:1.35;letter-spacing:-.025em;margin-bottom:10px}.selection-steps p{font-size:14px;color:var(--muted);line-height:1.55}.plan-section{background:var(--pale);padding-block:74px}.plan-controls{display:grid;grid-template-columns:1fr .75fr 1.25fr;gap:24px;margin-top:34px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink);font-weight:700;min-width:0}.field input,.field select,select#report-student{width:100%;min-height:52px;padding:12px 16px;border:1px solid #d4cddb;border-radius:10px;background:#fff;color:var(--ink);font-size:16px;font-weight:400;outline-offset:3px}.field input::placeholder{color:#77737e}.field select,select#report-student{padding-right:37px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23686671' stroke-width='1.7'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer}.lesson-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;margin:45px 0 0;padding:0}.lesson-steps li{min-width:0;position:relative}.lesson-top{display:flex;align-items:center;gap:18px;margin-bottom:19px}.lesson-top:after{content:'';height:1px;flex:1;background:#c9bddd}.lesson-steps li:last-child .lesson-top:after{visibility:hidden}.lesson-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border-radius:50%;color:white;background:var(--accent);font-size:17px;font-weight:700}.lesson-steps h3{font-size:21px;margin-bottom:12px}.lesson-steps p{color:#686175;font-size:16px;line-height:1.55}.plan-bottom{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:33px}.plan-bottom .text-button{flex-shrink:0}.practice-section{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.section-description{font-size:20px;color:var(--muted);line-height:1.6;margin-top:24px;max-width:550px}.subject-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.subject-tabs button{border:1px solid transparent;min-height:44px;padding:9px 14px;background:var(--pale);border-radius:9px;font-size:14px;color:#655f6e;transition:background .2s,color .2s}.subject-tabs button[aria-pressed=true]{background:var(--accent);color:white;font-weight:700}.subject-tabs button:hover{border-color:var(--accent)}.puzzle-card{border:1px solid #d7cce4;border-radius:22px;padding:28px;min-width:0}.demo-label,.task-label{display:inline-flex;align-items:center;background:var(--secondary);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}.task-label{font-size:13px;border-radius:30px;padding:6px 14px;margin-bottom:16px}.puzzle-card h3{font-size:20px;letter-spacing:-.02em}.puzzle-expression{background:#f3f0f7;border-radius:12px;padding:22px 15px;text-align:center;font-family:Georgia,serif;font-size:32px;line-height:1.4;margin:20px 0 14px;overflow-wrap:anywhere}.puzzle-expression.is-code{text-align:left;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;font-size:18px;padding:24px 20px}.puzzle-expression.is-russian{font-family:Manrope,Arial,sans-serif;font-size:22px}.answer-options{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.answer-option{position:relative;min-width:0;cursor:pointer}.answer-option input{position:absolute;opacity:0;width:1px;height:1px}.answer-option span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;height:100%;padding:10px 7px;border:1px solid #dcd6e3;border-radius:10px;background:#fff;font-size:15px;line-height:1.4;transition:all .15s}.answer-option input:checked+span{border-color:var(--accent);background:var(--pale);color:var(--accent)}.answer-option input:focus-visible+span{outline:3px solid #a390c2;outline-offset:3px}.puzzle-card .button{width:100%;margin-top:16px}.puzzle-feedback{margin-top:18px;padding:18px;border-radius:12px;background:#eeebf5;font-size:14px;line-height:1.6}.puzzle-feedback.incorrect{background:#f0edf4}.puzzle-feedback strong{display:block;margin-bottom:6px;font-size:16px}.puzzle-solution{font-weight:700;margin-top:10px}.parents-section{background:#f5f2f9;border-block:1px solid #e5dfec}.parents-layout{display:grid;grid-template-columns:.95fr 1.12fr;gap:70px;align-items:center}.parents-copy .button{margin-top:32px;padding:15px 22px}.demo-explanation{margin-top:18px;line-height:1.6}.report-card{background:white;border:1px solid #d7cce4;border-radius:24px;padding:30px;box-shadow:0 12px 35px #35343e04;min-width:0}.report-top{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:24px}.report-top .demo-label{font-size:12px;padding:8px 10px}.report-top select#report-student{font-size:14px;min-height:42px;padding:8px 31px 8px 12px;width:auto;max-width:180px}.report-title{font-size:30px;letter-spacing:-.03em}.report-subtitle{color:var(--muted);font-size:14px;margin-top:4px}.progress-list{display:grid;gap:19px;margin-block:28px}.progress-row{display:grid;grid-template-columns:1.05fr 1fr 38px;gap:14px;align-items:center;font-size:15px}.progress-track{background:#efecf3;border-radius:20px;height:9px;overflow:hidden}.progress-track span{height:100%;display:block;background:var(--accent);border-radius:20px;transition:width .45s}.progress-percent{text-align:right;font-size:14px}.report-insights{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);padding-top:23px}.report-insight{background:#eef0f3;border-radius:15px;padding:17px}.report-insight:nth-child(2){background:var(--pale)}.report-insight h4{display:flex;align-items:center;gap:7px;font-size:16px;line-height:1.4;margin-bottom:9px}.report-insight h4 svg{width:19px;height:19px;color:var(--accent)}.report-insight p{font-size:15px;color:#655f6e;line-height:1.6}.report-footnote{font-size:12px;color:var(--muted);margin-top:15px}.team-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:65px}.team-letter{margin-top:24px}.letter-mark{font-family:Georgia,serif;font-size:78px;line-height:.75;color:var(--accent);display:block;margin-bottom:3px}.team-letter p{font-size:20px;line-height:1.65;max-width:570px}.team-letter>span:last-child{display:block;margin-top:20px}.accountability{display:grid;gap:27px;padding-top:10px}.accountability>div{position:relative;padding-left:63px}.accountability-icon{position:absolute;top:0;left:0;background:var(--pale);color:var(--accent);border-radius:14px;width:45px;height:45px;display:flex;align-items:center;justify-content:center}.accountability h3{font-size:20px;line-height:1.35;margin-bottom:9px}.accountability p{font-size:15px;color:var(--muted);line-height:1.6}.team-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:21px;margin-top:-29px}.faq-section{display:grid;grid-template-columns:.85fr 1.25fr;gap:80px;padding-top:65px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:18px;font-weight:700;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{color:var(--accent);transition:transform .2s}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-answer{font-size:15px;line-height:1.7;color:var(--muted);padding:0 32px 24px 0}.trial-section{background:var(--graphite);color:white;padding-top:76px}.trial-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}.trial-copy h2{font-size:clamp(38px,4.1vw,63px);line-height:1.15;letter-spacing:-.05em}.trial-copy>p{font-size:21px;line-height:1.6;margin-top:26px;color:#e3dbef}.trial-points{list-style:none;display:grid;gap:12px;padding:0;margin:28px 0 0;font-size:15px}.trial-points li{display:flex;align-items:center;gap:12px}.trial-points svg{width:20px;height:20px;color:var(--secondary)}.trial-form{padding:32px;border-radius:24px;background:white;color:var(--ink);display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1.5fr .65fr;gap:14px}.trial-form .button{width:100%;min-height:55px;margin-top:3px}.input-hint{font-size:12px;color:var(--muted);font-weight:400}.form-demo{font-size:12px;line-height:1.6;text-align:center;color:var(--muted);margin-top:-6px}.footer{margin-top:74px;padding-bottom:28px}.footer-top{display:flex;gap:28px;align-items:center;padding-bottom:27px}.footer-top>p{font-size:13px;color:#e3dbef}.footer-top>a:last-child{font-size:14px;display:flex;align-items:center;gap:9px;margin-left:auto}.footer-top>a:last-child svg{width:18px;height:18px}.footer-bottom{border-top:1px solid #ffffff40;padding-top:21px;display:flex;gap:30px;justify-content:space-between;font-size:12px;color:#e3dbef;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{color:var(--ink);font-family:inherit;border:0;padding:42px;width:min(760px,calc(100% - 32px));max-height:88dvh;overflow:auto;border-radius:24px;box-shadow:0 20px 100px #26233030}dialog::backdrop{background:#28243166;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:18px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;background:#f0edf4;border-radius:50%;z-index:1}.dialog-close svg{width:19px;height:19px}#dialog-title{font-size:32px;line-height:1.2;letter-spacing:-.04em;padding-right:20px}.dialog-kicker{color:var(--accent);font-size:13px;font-weight:700;margin-bottom:12px}.profile-top{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}.profile-top .portrait-frame{aspect-ratio:1;border-radius:20px}.profile-top .muted{margin-top:8px;font-size:14px}.profile-quote{font-size:20px;line-height:1.6;margin-block:26px 14px}.profile-about{color:var(--muted);font-size:15px;line-height:1.7}.profile-focus{font-size:13px;background:var(--pale);color:#60546f;padding:12px 16px;border-radius:10px;margin-top:18px}.document-heading{font-size:20px;margin-top:28px}.document-tabs{margin-top:14px}.document-preview{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:23px;margin-top:16px;background:#faf9fc;min-height:200px}.document-preview.is-demo:after{content:'ОБРАЗЕЦ';position:absolute;right:-5px;bottom:12px;font-size:52px;font-weight:800;color:#705d8c12;transform:rotate(-15deg);pointer-events:none}.document-preview h4{font-size:17px;margin-bottom:18px}.document-data{display:grid;grid-template-columns:1fr 1.4fr;gap:10px 15px;font-size:14px}.document-data dt{color:var(--muted)}.document-data dd{margin:0;font-weight:700}.document-note{font-size:12px;color:var(--muted);margin-top:20px;position:relative;z-index:1}.modal-actions{display:flex;gap:14px;align-items:center;margin-top:24px}.modal-actions .button{flex:1}.modal-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}.full-report-title{margin-block:25px 15px;font-size:21px}.report-detail-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.report-detail-section h3{font-size:18px;margin-bottom:10px}.report-detail-section p{font-size:15px;line-height:1.7;color:var(--muted)}.booking-summary{background:var(--pale);border-radius:16px;padding:24px;margin-top:22px;display:grid;gap:12px}.booking-summary div{display:flex;justify-content:space-between;gap:20px;font-size:15px;overflow-wrap:anywhere}.booking-summary span{color:var(--muted)}.booking-summary strong{text-align:right}.booking-success-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--secondary);border-radius:50%;color:var(--ink);margin-bottom:23px}.booking-success-icon svg{width:28px;height:28px}.noscript-message{position:fixed;bottom:0;background:#ebe5f2;width:100%;padding:12px;font-size:14px;text-align:center;z-index:30}
@media(min-width:1600px){.hero{gap:50px}}
.teacher-controls{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;margin-top:30px}.teacher-controls>p{font-size:14px;margin:0}.teacher-control-buttons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px}.teacher-control-buttons .button{padding:13px 25px;min-width:210px}.teacher-card:focus-visible{outline:3px solid #a390c2;outline-offset:5px}.teacher-card{scroll-margin-top:24px}.results-section{background:#f1edf6;border-block:1px solid var(--line)}.results-demo-note{font-size:14px;line-height:1.6;color:var(--muted);max-width:310px}.results-demo-note strong{color:var(--accent);font-weight:700}.result-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px;min-width:0}.result-subject{font-size:14px;color:var(--accent);margin:0 0 12px;font-weight:700}.result-card h3{font-size:24px;line-height:1.3;letter-spacing:-.03em;margin:0}.result-change{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:14px;margin-top:28px}.result-change>div{display:flex;flex-direction:column;gap:6px}.result-change span{font-size:12px;line-height:1.5;color:var(--muted)}.result-change b,.result-change strong{font-size:58px;line-height:1.08;letter-spacing:-.045em;font-weight:700;font-variant-numeric:tabular-nums}.result-change b{color:var(--muted)}.result-change strong{color:var(--accent)}.result-change>svg{width:24px;height:24px;color:var(--accent);margin-top:22px}.result-unit{font-size:14px;color:var(--muted);margin:14px 0 24px}.result-story{border-top:1px solid var(--line);padding-top:20px;margin:0;font-size:16px;line-height:1.65;color:var(--ink)}
@media(max-width:1100px){.result-card{padding:23px}.result-change{gap:9px}.result-change b,.result-change strong{font-size:49px}.result-card h3{font-size:22px}}
@media(max-width:950px){.header-inner{gap:22px}.desktop-nav{gap:18px}.result-card{padding:28px}.result-change{max-width:370px;margin-top:22px}.result-change b,.result-change strong{font-size:56px}.result-card h3{font-size:24px}.result-story{max-width:620px}}
@media(max-width:480px){.teacher-controls{margin-top:24px}.result-card{padding:23px}.result-change{gap:12px}.result-change b,.result-change strong{font-size:52px}.result-story{font-size:15px}.results-demo-note{font-size:13px}}
@media(max-width:1100px){.header-inner{gap:24px}.desktop-nav{gap:18px;font-size:14px}.hero{gap:28px}.hero h1{font-size:5.6vw}.subject-link{padding:22px 20px;gap:16px;font-size:18px}.subject-symbol{font-size:36px;min-width:58px;padding-right:15px}.hero-score{right:18px;bottom:18px;padding:15px 18px;min-width:130px}.hero-score{width:238px}.hero-score strong{font-size:48px}.hero-score-caption{font-size:12px}}
@media(max-width:950px){.subjects{gap:12px}.subject-link{padding-inline:14px;gap:10px}.subject-symbol{min-width:46px;padding-right:8px}}
@media(max-width:800px){html{scroll-padding-top:28px}.header{height:78px}.header-inner{gap:16px}.wordmark img{width:160px}.desktop-nav{display:none}.header-cta{font-size:14px;padding:10px 15px;min-height:43px}.menu-toggle{display:flex}.hero{grid-template-columns:1fr;gap:30px;padding-top:24px}.hero-copy{padding:0}.hero h1{font-size:clamp(43px,8.5vw,67px)}.hero-copy>p{font-size:18px;max-width:620px;margin-top:22px}.hero-cta{margin-top:28px}.hero-note{max-width:100%}.hero-photo{aspect-ratio:1.6;max-height:430px;object-position:50% 43%}.hero-score{right:22px;bottom:22px}.subjects{gap:12px;margin-top:20px}.subject-link{flex-wrap:wrap;gap:10px;padding:20px 16px;font-size:15px;border-radius:17px}.subject-symbol{padding:0;border:0;width:100%;font-size:33px;min-width:0}.subject-link>svg{width:18px;height:18px}.section{padding-block:70px}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.header-inner{gap:10px}.header-cta{font-size:12px;padding:9px 11px}.wordmark img{width:138px}.menu-toggle{width:40px;height:40px}.hero h1{font-size:10vw;white-space:normal;letter-spacing:-.055em}.hero-copy>p{font-size:16px}.hero-cta{width:100%;font-size:16px;min-height:58px}.hero-note{font-size:13px;max-width:270px}.hero-photo{aspect-ratio:1.22;border-radius:22px}.hero-score{right:16px;bottom:16px;border-radius:16px;min-width:122px}.hero-score{width:224px;padding:15px 17px}.hero-score strong{font-size:46px}.hero-score-main{gap:10px}.hero-score-awards{font-size:13px;padding-top:9px;margin-top:9px}.subjects{grid-template-columns:1fr;gap:9px}.subject-link{padding:17px 20px;font-size:18px;gap:20px;flex-wrap:nowrap}.subject-symbol{width:47px;font-size:31px}.subject-link>svg{width:22px;height:22px}.section{padding-block:60px}h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:1200px){.practice-section,.parents-layout{gap:42px}.teacher-grid{gap:20px}.teacher-info{padding:20px}.teacher-info h3{font-size:22px}.report-card{padding:24px}.report-top{align-items:flex-start;flex-wrap:wrap;gap:12px}.progress-row{grid-template-columns:1fr 1fr 35px;gap:10px}.report-insights{gap:10px}.report-insight{padding:14px}.selection-steps{gap:20px}.trial-layout{gap:55px}.team-section{gap:50px}.faq-section{gap:55px}.subject-tabs{gap:6px}.subject-tabs button{font-size:13px;padding-inline:11px}}
@media(max-width:950px){.section-heading{gap:20px}.demo-caption{max-width:205px}.teacher-info h3{font-size:19px}.teacher-info{padding:18px 16px}.teacher-facts{font-size:14px;gap:9px}.teacher-facts li{gap:8px}.teacher-info .button{font-size:12px;padding:10px 6px}.fact-icon{width:29px;height:29px}.selection-heading h3{font-size:25px}.selection-steps{gap:17px}.selection-steps li{padding-right:12px}.selection-steps h4{font-size:15px}.selection-steps p{font-size:13px}.practice-section{gap:30px}.puzzle-card{padding:22px}.subject-tabs button{font-size:12px}.parents-layout{grid-template-columns:.9fr 1.15fr;gap:35px}.report-insights{grid-template-columns:1fr}.report-top .demo-label{font-size:12px}.progress-row{grid-template-columns:1fr 70px 32px;font-size:12px}.trial-form{padding:25px}.trial-layout{gap:40px}.trial-copy h2{font-size:42px}.trial-copy>p{font-size:18px}.form-row{grid-template-columns:1fr}.footer-top{gap:20px}.footer-bottom{font-size:12px}}
@media(max-width:800px){.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.demo-caption{text-align:left;max-width:none;padding:0}.demo-caption br{display:none}.demo-caption span{display:block}.teacher-grid{gap:15px}.teacher-info h3{font-size:17px}.teacher-facts{font-size:13px}.fact-icon{display:none}.teacher-info .button{font-size:12px;min-height:44px}.portrait-frame{aspect-ratio:1.05}.selection-heading{align-items:flex-start;flex-direction:column;gap:10px}.selection-steps{grid-template-columns:1fr 1fr;gap:26px}.selection-steps li:nth-child(2){border:0}.selection-steps h4{font-size:17px}.selection-steps p{font-size:14px}.plan-section{padding-block:60px}.plan-controls{gap:12px;grid-template-columns:1fr .75fr 1.2fr}.field select{font-size:14px;padding-left:12px}.lesson-steps{grid-template-columns:1fr 1fr;gap:30px}.lesson-steps li:nth-child(2) .lesson-top:after{visibility:hidden}.plan-bottom{align-items:flex-start;flex-direction:column;gap:18px}.practice-section,.parents-layout{grid-template-columns:1fr;gap:32px}.section-description{font-size:17px}.subject-tabs button{font-size:14px;padding-inline:17px}.puzzle-card{max-width:620px;padding:27px}.parents-copy .button{margin-top:25px}.report-card{padding:27px;max-width:620px}.report-top{flex-wrap:nowrap;align-items:center}.report-top .demo-label{font-size:12px}.report-insights{grid-template-columns:1fr 1fr}.progress-row{grid-template-columns:1.1fr 1fr 38px;font-size:14px}.report-insight p{font-size:14px}.team-section{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.team-note{margin-top:0}.team-letter p{font-size:18px}.accountability{gap:25px}.faq-section{grid-template-columns:1fr;gap:30px;padding-top:40px}.faq-section h2 br{display:none}.faq-section .section-description{margin-top:16px}.trial-layout{grid-template-columns:1fr;gap:35px}.trial-copy h2{font-size:49px}.trial-copy h2 br:last-child{display:none}.trial-points{gap:10px}.trial-form{max-width:620px;padding:30px}.form-row{grid-template-columns:1.5fr .65fr}.trial-section{padding-top:60px}.footer-top{flex-wrap:wrap}.footer-top>a:last-child{margin-left:0}.footer-top .wordmark{width:100%}.footer-bottom{flex-direction:column;gap:12px;font-size:12px}.footer{margin-top:50px}.selection-heading .small{font-size:13px}}
@media(max-width:560px){.teacher-grid{grid-template-columns:1fr;gap:22px}.portrait-frame{aspect-ratio:1.55}.teacher-info{padding:23px}.teacher-info h3{font-size:25px}.teacher-facts{font-size:16px}.fact-icon{display:flex;width:32px;height:32px}.teacher-facts li{gap:12px}.teacher-info .button{font-size:14px;margin-top:20px;min-height:48px}.selection{margin-top:32px}.selection-heading h3{font-size:25px}.selection-steps{gap:24px 17px}.selection-steps li{padding-right:9px}.selection-steps h4{font-size:16px}.selection-steps p{font-size:13px}.step-number{width:36px;height:36px;font-size:17px}.plan-controls{grid-template-columns:1fr 1fr;gap:15px}.plan-controls .field:last-child{grid-column:1/-1}.plan-controls .field select{font-size:15px}.lesson-steps{grid-template-columns:1fr;gap:23px;margin-top:30px}.lesson-steps li{padding-left:57px;min-height:88px}.lesson-top{position:absolute;left:0;top:0;bottom:-23px;margin:0;display:block}.lesson-top:after{position:absolute;left:19px;top:48px;bottom:0;width:1px;height:auto;display:block}.lesson-steps li:nth-child(2) .lesson-top:after{visibility:visible}.lesson-number{width:39px;height:39px;font-size:14px}.lesson-steps h3{font-size:20px;margin-bottom:8px}.lesson-steps p{font-size:14px}.plan-bottom{margin-top:25px}.plan-bottom .small{font-size:13px}.section-heading{margin-bottom:26px}.practice-section{gap:26px}.subject-tabs{gap:6px}.subject-tabs button{font-size:12px;padding:9px 10px}.puzzle-card{padding:22px 18px}.puzzle-card h3{font-size:19px}.puzzle-expression{font-size:28px}.answer-option span{font-size:13px;padding:9px 5px}.puzzle-expression.is-code{font-size:16px;padding:20px 14px}.puzzle-expression.is-russian{font-size:20px}.report-card{padding:22px 18px}.report-top{flex-wrap:wrap}.report-top select#report-student{font-size:13px}.report-top .demo-label{font-size:12px}.progress-row{grid-template-columns:1fr 80px 33px;font-size:12px;gap:10px}.progress-percent{font-size:13px}.report-insights{grid-template-columns:1fr}.report-title{font-size:24px}.report-insight h4{font-size:14px}.report-insight p{font-size:13px}.report-footnote{font-size:12px}.parents-copy .button{font-size:14px;padding-inline:17px;gap:12px}.team-note{font-size:12px}.accountability h3{font-size:18px}.accountability p{font-size:14px}.faq-list summary{font-size:16px;padding:22px 0;gap:18px}.faq-answer{font-size:14px;padding-right:8px}.trial-copy h2{font-size:37px}.trial-copy h2 br:last-child{display:initial}.trial-copy>p{font-size:17px}.trial-points{font-size:14px}.trial-form{padding:24px 20px;gap:18px}.form-row{grid-template-columns:1.45fr .65fr;gap:10px}.trial-form .field input,.trial-form .field select{font-size:16px}.footer-top>p{font-size:12px}.footer-top>a:last-child{font-size:13px}.footer-bottom{font-size:12px}.footer{margin-top:42px}dialog{padding:32px 22px;border-radius:20px}#dialog-title{font-size:26px}.profile-top{grid-template-columns:84px 1fr;gap:15px}.profile-top .muted{font-size:12px}.profile-quote{font-size:18px;margin-top:24px}.profile-focus{font-size:12px}.document-data{grid-template-columns:1fr;font-size:13px;gap:4px}.document-data dd{margin-bottom:10px}.document-preview{padding:20px}.document-tabs button{font-size:12px}.document-tabs{gap:6px}.modal-actions{flex-direction:column;align-items:stretch}.booking-summary{padding:18px}.booking-summary div{font-size:13px;gap:12px}.dialog-close{right:12px;top:12px}.demo-caption span{font-size:12px}}

/* Results use native horizontal scrolling and snap on touch, mouse and keyboard. */
.results-carousel{min-width:0}
.results-track{--result-gap:24px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--result-gap))/2);gap:var(--result-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:24px}
.results-track::-webkit-scrollbar{display:none}
.results-track:focus-visible{outline:3px solid #a390c2;outline-offset:6px}
.results-track .result-card{scroll-snap-align:start;scroll-snap-stop:always}
.results-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}
.results-count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.results-arrows{display:flex;gap:10px}
.carousel-arrow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;background:var(--graphite);color:white;transition:background .2s,opacity .2s}
.carousel-arrow:hover:not(:disabled){background:var(--accent)}
.carousel-arrow:disabled{background:transparent;border-color:#c8c0d3;color:var(--accent);opacity:.45;cursor:default}
.teacher-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-top:18px;margin-top:20px;border-top:1px solid var(--line)}
.teacher-price strong,.profile-price strong{font-size:24px;letter-spacing:-.035em;white-space:nowrap}
.teacher-price span,.profile-price p>span{font-size:14px;color:var(--muted);white-space:nowrap}
.teacher-info .teacher-price+.button{margin-top:16px}
.profile-price{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-top:22px;padding-block:18px;border-block:1px solid var(--line)}
.profile-price p{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.profile-price>span{font-size:14px;color:var(--accent)}
@media(max-width:950px){.results-track{--result-gap:16px}.results-track .result-card{padding:24px}.results-track .result-change{gap:12px}.results-track .result-change b,.results-track .result-change strong{font-size:52px}}
@media(max-width:700px){.results-track{grid-auto-columns:100%}.results-controls{margin-top:20px}}
@media(max-width:480px){.results-track .result-card{padding:23px}.results-track .result-change{gap:10px}.results-track .result-card h3{font-size:23px}}

/* Author materials: learning cycle with a browsable, interactive sample. */
.method-section{border-bottom:1px solid var(--line)}
.method-eyebrow{font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:20px}
.method-intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:60px;margin-bottom:48px}
.method-intro>div>p:first-child{font-size:18px;line-height:1.65;color:var(--muted)}
.method-demo{font-size:13px;line-height:1.6;color:var(--accent);margin-top:18px;max-width:480px}
.method-workshop{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px}
.method-process{padding-top:20px}
.method-process>h3{font-size:27px;margin-bottom:32px}
.method-steps{list-style:none;padding:0;margin:0;display:grid;gap:32px}
.method-steps>li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:18px}
.method-steps>li:not(:last-child):after{content:'';position:absolute;left:18px;top:49px;bottom:-19px;width:1px;background:var(--line)}
.method-step-number{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #c9bddb;border-radius:50%;color:var(--accent);font-size:14px;font-weight:700}
.method-steps .method-step-label{font-size:13px;color:var(--accent);font-weight:700;margin:6px 0 9px}
.method-steps h4{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin-bottom:12px}
.method-steps li>div>p:last-child{font-size:16px;line-height:1.65;color:var(--muted)}
.method-viewer{min-width:0;background:var(--graphite);border-radius:26px;padding:26px;box-shadow:0 12px 32px #35343e0c}
.method-viewer-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:white;font-size:16px;font-weight:700}
.method-sample-label{font-size:12px;font-weight:400;color:#d5cbe2;white-space:nowrap}
.method-subjects{display:flex;gap:8px;margin:22px 0}
.method-subjects button{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #ffffff40;border-radius:10px;color:#e4ddeb;background:transparent;font-size:14px;transition:background .18s}
.method-subjects button[aria-pressed=true]{background:var(--pale);border-color:var(--pale);color:var(--graphite);font-weight:700}
.method-subjects button:hover{border-color:#c6b7e0}
.material-sheet{background:var(--white);border-radius:18px;padding:26px;min-width:0}
.material-sheet-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--line)}
.material-sheet-top p{font-weight:700;color:var(--ink)}
.material-sheet-top>span{white-space:nowrap;font-variant-numeric:tabular-nums}
.material-progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;margin:22px 0 26px;font-size:12px;color:var(--muted)}
.material-progress li{border-top:3px solid var(--line);padding-top:8px}
.material-progress li[aria-current=step]{border-color:var(--accent);color:var(--accent);font-weight:700}
.material-page{min-height:425px}
.material-page h3{font-size:28px;line-height:1.2;letter-spacing:-.04em;margin-bottom:16px}
.material-page>p{font-size:16px;line-height:1.6;color:var(--muted)}
.material-price-path{margin:22px 0;display:grid;gap:1px;border-block:1px solid var(--line)}
.material-price-path>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0}
.material-price-path dt{font-size:14px;color:var(--muted)}
.material-price-path dd{margin:0;font-size:27px;font-weight:700;line-height:1.3;letter-spacing:-.03em;white-space:nowrap}
.material-price-path>div:last-child dd{color:var(--accent)}
.material-page .material-hint{font-size:14px;line-height:1.6;color:var(--accent)}
.material-calculation{padding:18px 0;border-bottom:1px solid var(--line)}
.material-calculation p{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:10px}
.material-calculation strong{font-size:27px;font-weight:700;letter-spacing:-.035em;color:var(--ink)}
.material-page .material-insight{font-size:15px;line-height:1.6;color:var(--accent);background:var(--pale);border-radius:12px;padding:16px;margin-top:22px}
.material-code{background:#f3f0f7;border-radius:12px;padding:20px 16px;margin:22px 0;font-size:16px;line-height:1.7;overflow-x:auto;color:var(--ink)}
.material-code code,.material-variables code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.material-variables{display:grid;gap:12px;margin:20px 0}
.material-variables>div{display:grid;grid-template-columns:58px 1fr;gap:12px;font-size:14px;line-height:1.5}
.material-variables dt{color:var(--accent);font-weight:700}
.material-variables dd{margin:0;color:var(--muted)}
.material-trace{width:100%;border-collapse:collapse;margin:22px 0;font-size:16px;text-align:left;font-variant-numeric:tabular-nums}
.material-trace caption{text-align:left;font-size:14px;color:var(--muted);margin-bottom:8px}
.material-trace th,.material-trace td{padding:12px 8px;border-bottom:1px solid var(--line)}
.material-trace thead th{font-size:13px;color:var(--muted);font-weight:400}
.material-trace td:last-child{color:var(--accent);font-weight:700}
.material-answers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}
.material-answers button{min-height:48px;padding:10px 6px;font-size:16px;font-weight:700;border:1px solid #cbc0d8;border-radius:10px;background:white;white-space:nowrap}
.material-answers button:hover,.material-answers button[aria-pressed=true]{background:var(--pale);border-color:var(--accent);color:var(--accent)}
.material-feedback{background:#f3f0f7;border-radius:12px;padding:16px;font-size:14px;line-height:1.6;margin-top:18px}
.material-feedback strong{display:block;font-size:16px;margin-bottom:7px}
.material-feedback.is-correct{background:var(--pale)}
.material-explain{border-top:1px solid #cfc4dc;margin-top:12px;padding-top:12px;color:var(--accent)}
.material-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.material-navigation button{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;padding:6px 0;font-size:14px;font-weight:700;color:var(--accent)}
.material-navigation button:disabled{opacity:.4;cursor:default}
.material-navigation svg{width:19px;height:19px}
.material-authors{border-block:1px solid var(--line);margin-top:48px}
.material-authors summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:26px 0}
.material-authors summary::-webkit-details-marker{display:none}
.material-authors summary strong{display:block;font-size:25px;letter-spacing:-.035em;line-height:1.3}
.material-authors summary span>span{display:block;margin-top:8px;font-size:15px;color:var(--muted);line-height:1.6}
.material-authors summary>svg{color:var(--accent);transition:transform .2s}
.material-authors[open] summary>svg{transform:rotate(45deg)}
.material-authors-content{padding-bottom:30px}
.material-authors-note{font-size:13px;color:var(--accent);line-height:1.6;max-width:750px;margin-bottom:26px}
.material-author-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.material-author-grid article{border-left:2px solid #c8b9dc;padding-left:22px}
.material-author-grid .material-author-subject{font-size:14px;font-weight:700;color:var(--accent);margin-bottom:12px}
.material-author-grid h3{font-size:26px;margin-bottom:8px}
.material-author-grid p{font-size:15px;color:var(--muted);line-height:1.65}
.material-author-grid .material-author-role{font-size:14px;color:var(--accent);margin-bottom:16px}
.material-author-grid .material-author-focus{color:var(--ink);margin-top:14px}
@media(max-width:1100px){.method-intro{gap:35px}.method-workshop{gap:35px;grid-template-columns:.85fr 1.15fr}.method-viewer{padding:22px}.material-sheet{padding:22px}.method-steps h4{font-size:20px}.method-process>h3{font-size:24px}.material-page h3{font-size:26px}}
@media(max-width:900px){.method-intro{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.method-intro>div{max-width:670px}.method-workshop{grid-template-columns:1fr;gap:36px}.method-process{padding-top:0}.method-steps{gap:24px}.method-viewer{max-width:660px;width:100%;justify-self:center}.material-page{min-height:390px}.material-author-grid{gap:26px}}
@media(max-width:560px){.method-eyebrow{font-size:13px;margin-bottom:16px}.method-intro>div>p:first-child{font-size:16px}.method-process>h3{font-size:23px;margin-bottom:24px}.method-steps>li{grid-template-columns:32px 1fr;gap:14px}.method-step-number{width:32px;height:32px;font-size:12px}.method-steps>li:not(:last-child):after{left:15px;top:44px}.method-steps h4{font-size:20px}.method-steps li>div>p:last-child{font-size:15px}.method-steps .method-step-label{margin-top:3px}.method-viewer{padding:16px;border-radius:22px}.method-viewer-top{flex-wrap:wrap;gap:6px;font-size:15px}.method-subjects{gap:6px;margin:18px 0}.method-subjects button{font-size:13px;padding:10px 6px}.material-sheet{padding:20px 18px}.material-page{min-height:430px}.material-page h3{font-size:25px}.material-sheet-top{gap:8px;font-size:12px}.material-progress{gap:6px;font-size:12px;margin-bottom:23px}.material-page>p{font-size:15px}.material-code{font-size:14px;padding:17px 12px}.material-calculation strong{font-size:25px}.material-price-path dt{font-size:13px}.material-price-path dd{font-size:25px}.material-answers{gap:6px}.material-answers button{font-size:15px}.material-authors{margin-top:32px}.material-authors summary strong{font-size:22px}.material-authors summary span>span{font-size:14px}.material-author-grid{grid-template-columns:1fr;gap:30px}.material-author-grid article{padding-left:18px}}

[data-cms-block][hidden]{display:none!important}.portrait-frame.portrait-single img{position:static;width:100%;height:100%;object-fit:cover;transform:none;max-width:100%}.cms-preview-banner{position:sticky;top:0;z-index:90;padding:12px 20px;background:#705d8c;color:white;text-align:center;font:13px Manrope,Arial}.cms-preview-banner a{text-decoration:underline;margin-left:16px}.cms-contacts{display:flex;gap:24px;flex-wrap:wrap;padding:20px 0;color:white}.uploaded-docs{display:flex;flex-wrap:wrap;gap:12px}.uploaded-docs a{border:1px solid #c6b6d5;border-radius:10px;padding:15px;display:block}.faq-answer,[data-cms],.profile-about,.profile-quote,.result-story{white-space:pre-line}

.portrait-empty{display:grid;place-items:center;background:#ede7f4;color:#705d8c;font-size:55px;font-weight:600}
.diploma-preview h4,.document-preview h4{overflow-wrap:anywhere}
dialog:has(.document-tabs) .dialog-close{position:sticky;float:right;top:0;margin:-24px -24px 0 0}dialog:has(.document-tabs) .dialog-kicker{padding-right:24px}@media(max-width:560px){dialog:has(.document-tabs) .dialog-close{margin:-20px -10px 0 0}}

/* Teacher feedback */
.teacher-info .teacher-rating{margin:0 0 18px}
#teachers .demo-caption{flex:0 1 430px;max-width:44%;text-align:left;padding-top:8px}
#teachers .demo-caption span{font-size:14px;line-height:1.65;text-wrap:pretty}
#teachers .demo-caption>span{display:block}
#teachers .demo-caption>br{display:none}
#teachers .demo-caption>span+span{margin-top:8px}
@media(max-width:800px){#teachers .demo-caption{flex:auto;max-width:560px;padding-top:0}}
.teacher-rating{display:flex;align-items:center;gap:9px;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#f5f2f9;padding:7px 12px;margin-top:16px;text-align:left;color:var(--accent);transition:background .15s,border-color .15s}
.teacher-rating:hover{background:var(--pale);border-color:#aa9aba}.teacher-rating>svg{width:20px;height:20px;fill:currentColor}.teacher-rating strong{font-size:19px;letter-spacing:-.03em}.teacher-rating>span{font-size:14px}.teacher-rating>span:last-child{margin-left:auto;padding-left:8px}.rating-demo{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}
.reviews-teacher{font-size:16px;color:var(--muted);margin-top:12px;padding-right:12px}.reviews-summary{display:flex;align-items:center;gap:24px;padding:22px 24px;background:#f1edf6;border-radius:18px;margin-top:24px}.reviews-number{font-size:52px;font-weight:700;line-height:1.15;white-space:nowrap;letter-spacing:-.05em}.reviews-number span{font-size:18px;font-weight:400;color:var(--muted);letter-spacing:0}.reviews-summary strong{font-size:17px}.reviews-summary p{font-size:14px;color:var(--muted);margin-top:4px}.reviews-demo-note{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0}.reviews-list{margin-top:22px}.review-item{border-top:1px solid var(--line);padding:24px 0}.review-item header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.review-item h3{font-size:18px;overflow-wrap:anywhere}.review-item header p{font-size:13px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.review-stars{display:flex;gap:3px;color:#d9d2e2;flex-shrink:0}.review-stars svg{width:17px;height:17px;fill:currentColor;stroke:currentColor}.review-stars .filled{color:var(--accent)}.review-text{font-size:15px;line-height:1.8;margin-top:14px;white-space:pre-wrap;overflow-wrap:anywhere}.review-item footer{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:12px;color:var(--muted)}
@media(max-width:560px){.reviews-summary{gap:16px;padding:20px 16px}.reviews-number{font-size:42px}.reviews-summary strong{font-size:16px}.reviews-summary p{font-size:13px}.review-item header{flex-wrap:wrap;gap:10px}.review-text{font-size:15px}.reviews-teacher{font-size:14px}}

dialog:has(.reviews-list) .dialog-close{position:sticky;float:right;top:0;margin:-24px -24px 0 0}dialog:has(.reviews-list) .dialog-kicker{padding-right:24px}@media(max-width:560px){dialog:has(.reviews-list) .dialog-close{margin:-20px -10px 0 0}}

.document-data dd,.document-data dt,.document-description{overflow-wrap:anywhere;white-space:pre-line}.document-description{font-size:15px;line-height:1.7;margin-top:18px;color:var(--muted)}.diploma-preview{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:23px;background:#faf9fc}.diploma-preview h4{font-size:18px;margin-bottom:18px}.diploma-image{display:block}.diploma-image img{display:block;max-width:100%;width:auto;max-height:650px;object-fit:contain;margin:0 auto;border-radius:6px}.diploma-image span{display:block;text-align:center;font-size:14px;color:var(--accent);margin-top:12px}.profile-attachments{margin-top:22px}.profile-attachments h4{font-size:16px;margin-bottom:12px}.uploaded-docs a{overflow-wrap:anywhere;max-width:100%}@media(max-width:560px){.diploma-preview{padding:18px}.diploma-image img{max-height:480px}}

/* Teacher booking: shared footer/modal form, separate from CMS content. */
.teacher-actions{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:10px;margin-top:16px}.teacher-info .teacher-actions .button{margin-top:0;line-height:1.25;min-height:50px}.booking-dialog{width:min(600px,calc(100% - 24px))}.booking-teacher{display:flex;align-items:center;gap:12px;padding:16px;background:var(--pale);border-radius:14px;margin-top:22px}.booking-teacher>div{display:grid;gap:3px}.booking-teacher>div>span{font-size:14px;color:var(--muted)}.booking-intro{font-size:15px;line-height:1.6;color:var(--muted);margin:18px 0}.booking-form{padding:0;border-radius:0;gap:16px}.trial-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:var(--muted)}.trial-consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.trial-error{color:#a02b3f;font-size:14px;line-height:1.5}.trial-error[hidden]{display:none}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.trial-form [disabled]{opacity:.7}.booking-form select:disabled{opacity:1;background-color:var(--paper,#f8f7fb);color:var(--muted)}
@media(max-width:1050px) and (min-width:701px){.teacher-actions{grid-template-columns:1fr}}@media(max-width:380px){.teacher-actions{grid-template-columns:1fr}.booking-form .form-row{grid-template-columns:1fr}.booking-dialog #dialog-title{font-size:27px}}

.achievements-list{margin:0;padding-left:24px;display:grid;gap:12px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.achievements-list li{padding-left:4px}.achievements-list li::marker{color:var(--accent)}

/* Keep prices and actions aligned when tutors have different subject counts. */
.teacher-card{display:flex;flex-direction:column}
.teacher-card>.portrait-frame{flex-shrink:0}
.teacher-info{display:flex;flex-direction:column;flex:1}
.teacher-info .teacher-rating{align-self:flex-start}
.teacher-facts{margin-bottom:auto}

.teacher-math-note,.teacher-exam-label{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:3px}.teacher-math-note{color:var(--accent)}.profile-math-note{font-size:15px;line-height:1.6;color:var(--accent);margin:14px 0}.ege-result{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.ege-result .document-data{margin-bottom:0}

/* Visitor review form */
.review-actions{display:flex;flex-wrap:wrap;gap:12px}.review-actions .button{flex:1;min-width:160px}
.visitor-review-form{display:grid;gap:19px}.visitor-review-form>label:not(.trial-consent){display:grid;gap:8px;font-size:15px;font-weight:600}
.visitor-review-form input:not([type=radio]):not([type=checkbox]),.visitor-review-form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:400 16px/1.6 Manrope,Arial,sans-serif}
.visitor-review-form textarea{resize:vertical;min-height:130px}.visitor-review-form input:focus,.visitor-review-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.review-rating-field{border:0;padding:0;margin:0;min-width:0}.review-rating-field legend{font-size:15px;font-weight:600;margin-bottom:9px}.review-rating-options{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.review-rating-options label{display:grid;place-items:center;position:relative;cursor:pointer;width:44px;height:48px;color:#cfc8db;border-radius:9px;background:var(--pale)}
.review-rating-options label span{font-size:34px;line-height:1}.review-rating-options input{position:absolute;opacity:0;width:1px;height:1px}.review-rating-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.review-rating-options label.is-selected{color:var(--accent)}
#review-rating-caption{color:var(--muted);font-size:13px;margin-left:8px}.review-form-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:-10px 0 0}.visitor-review-form .trial-consent{font-weight:400;margin:0}.review-text{overflow-wrap:anywhere}
@media(max-width:560px){.review-actions{flex-direction:column}.review-actions .button{width:100%;min-width:0}#review-rating-caption{width:100%;margin:5px 0 0}}

.reviews-compose{margin:20px 0 26px}.reviews-compose .button{width:auto}
@media(max-width:560px){.reviews-compose .button{width:100%}}

/* Teaching services and the teacher's own education are separate sections. */
.teacher-sections{display:grid;gap:20px;margin-bottom:auto;min-width:0}
.teacher-section-title{font-size:12px;font-weight:700;line-height:1.5;color:var(--muted);letter-spacing:.025em;margin:0 0 12px}
.teaching-subjects{display:flex;flex-wrap:wrap;gap:9px 18px;list-style:none;padding:0;margin:0;font-size:16px;line-height:1.5}
.teaching-subjects li{display:flex;align-items:center;gap:7px;min-width:0}
.teaching-subject-icon{display:flex;color:var(--accent);flex:none}
.teaching-subject-icon svg{width:19px;height:19px}
.teaching-formats{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:13px 0 0}
.teaching-formats li{padding:5px 9px;background:var(--pale);color:var(--accent);border-radius:7px;font-size:12px;line-height:1.35}
.teaching-math-detail{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.teacher-education{padding-top:18px;border-top:1px solid var(--line);min-width:0}
.teacher-university{display:flex;gap:8px;align-items:flex-start;font-size:15px;line-height:1.5}
.teacher-university>svg{width:21px;height:21px;flex:none;color:var(--accent);margin-top:1px}
.teacher-university span span{color:var(--muted);font-size:13px}
.teacher-faculty{font-size:13px;color:var(--muted);line-height:1.5;margin-top:6px}
.teacher-exam-results{display:grid;gap:10px;margin:16px 0 0}
.teacher-exam-results>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.teacher-exam-results dt{font-size:14px;line-height:1.4}
.teacher-exam-results dt small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.teacher-exam-results dd{display:flex;align-items:baseline;gap:5px;margin:0;white-space:nowrap}
.teacher-exam-results dd strong{font-size:25px;line-height:1.2;letter-spacing:-.04em;color:var(--accent)}
.teacher-exam-results dd span{font-size:11px;color:var(--muted)}
.teacher-exams-empty{font-size:13px;line-height:1.5;color:var(--muted);margin-top:12px}
.profile-sections{grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.profile-sections .teacher-education{padding:0 0 0 24px;border-top:0;border-left:1px solid var(--line)}
.profile-sections .teacher-section-title{font-size:13px}
@media(min-width:561px) and (max-width:1000px){.teaching-subjects{font-size:14px}.teacher-exam-results dd strong{font-size:22px}.teacher-exam-results>div{gap:6px}.teacher-exam-results dd{display:block;text-align:right}.teacher-exam-results dd span{display:block}.teacher-university{font-size:14px}}
@media(max-width:560px){.profile-sections{grid-template-columns:1fr;gap:20px}.profile-sections .teacher-education{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.teacher-exam-results dd strong{font-size:26px}}
