@font-face{font-family:Lora;src:url('assets/fonts/lora/lora-cyrillic.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Lora;src:url('assets/fonts/lora/lora-latin.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Lora;src:url('assets/fonts/lora/lora-cyrillic-italic.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{color-scheme:light;--paper:#f5faff;--ink:#202c3c;--muted:#566274;--blue:#315a91;--line:#c4d5e9;--dark:#151c26;--serif:Lora,Georgia,serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p,figure,blockquote{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #608cc9;outline-offset:6px}img{display:block;max-width:100%;height:auto}.shell{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:500}.skip-link{position:fixed;top:-90px;left:20px;padding:12px;background:var(--blue);color:#fff;z-index:100}.skip-link:focus{top:10px}
.header{height:105px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:40px}.wordmark{font:500 46px/1 var(--serif);letter-spacing:-5px}.wordmark span{color:var(--blue)}.header nav{display:flex;align-items:center;gap:36px;margin-left:auto;font-size:13px}.header nav button{border:0;background:none;padding:10px 0;font-size:13px}.header nav a:hover,.header nav button:hover{color:var(--blue)}.cabinet-link{font-size:12px;border-left:1px solid var(--line);padding-left:32px;display:flex;align-items:center;gap:24px}.cabinet-link span{font-size:22px}
.hero{padding-top:32px}.hero-eyebrow{color:var(--muted)}h1{font:400 clamp(90px,14.6vw,222px)/1.13 var(--serif);letter-spacing:-.065em;margin:0 0 6px -7px;position:relative;z-index:2;white-space:nowrap}h1>span{color:var(--blue)}.hero-body{display:grid;grid-template-columns:.88fr 1.5fr;gap:58px;align-items:stretch}.hero-copy{padding:25px 0 0;display:flex;flex-direction:column;align-items:start}.teacher-name{font:400 clamp(36px,3.8vw,58px)/1.15 var(--serif);letter-spacing:-1.8px}.teacher-name em{font-weight:400;color:var(--blue)}.hero-description{font-size:14px;line-height:1.9;color:var(--muted);margin-top:25px}.hero-action{margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:17px 22px;min-height:60px;border:0;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button>span{font-size:25px;line-height:1}.primary{background:var(--blue);color:#fff}.primary:hover{background:#23436e}.hero-action>p{font-size:11px;color:var(--muted);margin-top:11px}.scroll-link{display:flex;align-items:center;gap:14px;font-size:11px;margin-top:auto;padding-top:35px;color:var(--muted)}.scroll-link>span{font-size:24px;color:var(--blue)}.hero-photo{background:#e2eeff;overflow:hidden;min-width:0;aspect-ratio:1.35/1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;animation:portrait-in 1.1s ease-out both}.hero-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:18px 0 44px;letter-spacing:.4px}.hero-copy{animation:copy-in .7s ease-out both}@keyframes portrait-in{from{opacity:.4;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.review-band{background:var(--dark);color:var(--paper);padding:65px 0}.review-layout{display:grid;grid-template-columns:1fr 3fr;gap:0 55px;position:relative}.review-label .eyebrow{color:#b4bfce;font-size:10px}.quote-mark{font:100px/1.1 var(--serif);color:#9bbbe8;display:block;margin-top:15px;height:70px}.review-layout figure{min-width:0}.review-layout blockquote{font:400 clamp(25px,2.75vw,40px)/1.42 var(--serif);letter-spacing:-.7px;min-height:4.3em;max-width:1000px}.review-layout figcaption{font-size:12px;color:#b4bfce;margin-top:25px}.review-controls{grid-column:1;grid-row:2;display:flex;align-items:center;gap:13px;align-self:end;margin-top:-26px}.review-controls button{border:0;background:transparent;color:#b4bfce;font-size:23px;width:35px;height:40px;padding:0}.review-controls button:hover{color:white}.review-controls>span{font-size:10px;color:#b4bfce;white-space:nowrap}
.lessons{display:grid;grid-template-columns:1fr 1.75fr;gap:80px;padding-block:108px 96px}.lessons-intro .eyebrow{color:var(--muted)}h2{font:400 clamp(36px,4vw,60px)/1.14 var(--serif);letter-spacing:-2px}h2 em{color:var(--blue);font-weight:400}.lessons h2{margin-top:20px}.lessons-intro>p:last-child{font-size:13px;color:var(--muted);line-height:1.9;margin-top:28px}.lesson-list{border-top:1px solid var(--ink);min-width:0}.lesson-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:22px 1fr auto 20px;align-items:center;gap:17px;padding:25px 0;min-height:98px}summary::-webkit-details-marker{display:none}.lesson-number{font-size:9px;color:var(--muted);align-self:start;padding-top:8px}.lesson-title{font:400 clamp(20px,2vw,28px)/1.25 var(--serif);letter-spacing:-.6px}.lesson-title small{display:block;font:10px/1.5 var(--sans);color:var(--muted);margin-top:5px;letter-spacing:0}.lesson-price{font-size:15px;white-space:nowrap;text-align:right}.lesson-price small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:2px}.plus{font-size:25px;font-weight:300;color:var(--blue);transition:transform .2s;text-align:right}.lesson-list details[open] .plus{transform:rotate(45deg)}summary:hover .lesson-title{color:var(--blue)}.lesson-body{padding:0 46px 28px 39px;max-width:620px}.lesson-body p{font-size:14px;color:var(--muted);line-height:1.9}.text-button{display:inline-flex;align-items:center;gap:30px;background:none;border:0;border-bottom:1px solid #acbacb;font-size:12px;padding:7px 0;color:var(--blue);margin-top:15px}.text-button span{font-size:19px}.practical-link{display:flex;align-items:center;justify-content:space-between;gap:25px;text-align:left;font-size:11px;line-height:1.6;color:var(--muted);border:0;background:none;width:100%;padding:22px 0}.practical-link span{font-size:21px}.practical-link:hover{color:var(--blue)}
.footer{border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-block:33px 25px}.footer>p{font:400 clamp(24px,3vw,40px)/1.3 var(--serif);letter-spacing:-1px}.footer>a{display:flex;align-items:center;gap:35px;font-size:13px;color:var(--blue)}.footer>a>span{font-size:25px}.footer-bottom{width:100%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:34px}.footer a:hover{text-decoration:underline;text-underline-offset:5px}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);max-width:580px;width:calc(100% - 32px);max-height:calc(100dvh - 36px);padding:48px;box-shadow:0 30px 120px #0003}dialog::backdrop{background:#151c26b8;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:10px;right:12px;width:40px;height:40px;background:none;border:0;font-size:30px;color:var(--muted)}dialog h2{font-size:42px;margin-top:20px}dialog>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:23px}dialog .button{width:100%;margin-top:27px}.dialog-email{display:block;text-align:center;font-size:12px;color:var(--blue);margin-top:20px}dialog .dialog-note{font-size:11px;text-align:center;margin-top:19px}#chosen-course{border-left:2px solid var(--blue);padding-left:13px}#chosen-course[hidden]{display:none}.science-link{margin-top:25px}.practical-copy h3{font-size:15px;font-weight:600;margin-top:27px}.practical-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}
@media(min-width:1600px){h1{font-size:228px}.hero-description{font-size:17px}.hero-copy{padding-top:38px}.hero-action{margin-top:45px}.hero-photo{aspect-ratio:1.45}.hero-foot{padding-bottom:60px}}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.header{height:87px}.hero{padding-top:25px}.hero-body{gap:32px;grid-template-columns:.9fr 1.4fr}.teacher-name{font-size:42px}.hero-description{font-size:12px;margin-top:21px}.hero-action{margin-top:24px}.button{padding:15px 19px;min-height:56px;gap:30px;font-size:13px}.hero-photo{aspect-ratio:1.15/1}.hero-copy{padding-top:18px}.scroll-link{padding-top:24px}.review-layout{gap:0 35px}.review-layout blockquote{font-size:29px;min-height:5.7em}.lessons{gap:45px;grid-template-columns:.85fr 1.65fr;padding-block:85px}.lessons h2{font-size:43px}summary{gap:12px;grid-template-columns:18px 1fr auto 18px}.lesson-title{font-size:22px}.lesson-body{padding-left:30px}}
@media(max-width:800px){.shell{width:calc(100% - 48px)}.header{gap:24px}.header nav{gap:23px}.cabinet-link{padding-left:24px;gap:14px;font-size:11px}.hero-body{grid-template-columns:.9fr 1.3fr;gap:25px}.teacher-name{font-size:36px}.hero-description{font-size:11px}.hero-photo{aspect-ratio:.94}.hero-action{margin-top:22px}.hero-action>p{font-size:10px}.review-layout{grid-template-columns:.7fr 2fr;gap:0 28px}.review-layout blockquote{font-size:27px}.lessons{grid-template-columns:1fr 1.65fr;gap:30px}.lessons h2{font-size:36px}.lessons-intro>p:last-child{font-size:11px}.lesson-title{font-size:20px}.lesson-price{font-size:13px}summary{min-height:94px}}
@media(max-width:680px){.shell{width:calc(100% - 40px)}.header{height:76px;gap:18px}.wordmark{font-size:38px}.header nav{gap:18px;font-size:11px}.header nav button{font-size:11px}.cabinet-link{border:0;padding:0;font-size:0;gap:0}.cabinet-link span{font-size:24px}.hero{padding-top:26px}.hero-eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:15.1vw;letter-spacing:-.065em;margin:7px 0 19px -3px}.hero-body{grid-template-columns:1fr;gap:28px}.hero-copy{display:grid;grid-template-columns:1fr auto;gap:20px 18px;padding:0;align-items:center}.teacher-name{font-size:34px;letter-spacing:-1.2px}.hero-description{grid-column:1/3;grid-row:2;font-size:12px;line-height:1.8;margin:0}.hero-action{margin:0;grid-column:2;grid-row:1}.hero-action .button{padding:12px 15px;font-size:11px;gap:16px;min-height:48px}.hero-action .button>span{font-size:20px}.hero-action>p{font-size:8px;margin-top:8px}.scroll-link{display:none}.hero-photo{aspect-ratio:1.16}.hero-photo img{object-position:center 42%}.hero-foot{font-size:8px;gap:18px;padding:14px 0 30px}.hero-foot>span:last-child{text-align:right}.review-band{padding:38px 0}.review-layout{grid-template-columns:1fr;gap:0}.review-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.quote-mark{font-size:60px;margin:0;height:36px;order:2}.review-label .eyebrow{font-size:9px}.review-layout blockquote{font-size:27px;line-height:1.45;min-height:7.25em;letter-spacing:-.6px}.review-layout figcaption{font-size:11px;margin-top:22px;padding-right:135px;min-height:30px;display:flex;align-items:center}.review-controls{grid-column:1;grid-row:3;justify-self:end;margin-top:-36px;gap:10px}.review-controls button{font-size:22px}.lessons{grid-template-columns:1fr;gap:30px;padding-block:55px}.lessons h2{font-size:40px;margin-top:12px}.lessons h2 br{display:none}.lessons-intro>p:last-child{font-size:12px;margin-top:18px}.lessons-intro>p:last-child br{display:none}.lessons-intro .eyebrow{font-size:9px}.lesson-title{font-size:23px}.lesson-price{font-size:14px}summary{min-height:91px;gap:12px;grid-template-columns:18px 1fr auto 18px;padding-block:23px}.lesson-body{padding:0 30px 26px}.lesson-body p{font-size:13px}.practical-link{font-size:10px;gap:20px}.footer{padding-block:26px 22px;gap:22px;align-items:start}.footer>p{font-size:28px}.footer>a{font-size:12px;gap:24px}.footer-bottom{font-size:9px;margin-top:16px;gap:15px}dialog{padding:38px 27px}dialog h2{font-size:35px}dialog>p:not(.eyebrow){font-size:13px}}
@media(max-width:380px){.shell{width:calc(100% - 32px)}.header{gap:15px}.header nav{gap:15px;font-size:10px}.header nav button{font-size:10px}.teacher-name{font-size:29px}.hero-copy{column-gap:10px}.hero-action .button{font-size:10px;padding-inline:11px;gap:10px}.hero-action>p{font-size:7px}.hero-description{font-size:11px}.hero-foot{font-size:7px}.review-layout blockquote{font-size:24px;min-height:8.7em}.lessons h2{font-size:34px}.lesson-title{font-size:20px}.lesson-price{font-size:12px}summary{column-gap:9px}.footer>p{font-size:25px}.footer-bottom{flex-direction:column;gap:8px}.science-link{font-size:11px;gap:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep supporting copy readable while the composition stays sparse. */
@media(min-width:681px) and (max-width:1100px){.hero-description{font-size:14px}.hero-action .button{font-size:14px}.hero-action>p{font-size:11px}}
@media(min-width:381px) and (max-width:680px){.hero-description{font-size:14px}.hero-action .button{font-size:12px}.hero-action>p{font-size:9px}}
@media(max-width:380px){.hero-description{font-size:13px}.hero-action>p{font-size:8px}}

/* Cabinet presentation belongs to the public page; the cabinet itself stays separate. */
.platform{background:#e9eef3;padding:88px 0 46px;overflow:hidden}.platform-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:44px}.platform-heading .eyebrow{color:var(--muted);margin-bottom:19px}.platform-heading h2{font-size:clamp(42px,4.5vw,67px)}.platform-heading>p{max-width:410px;font-size:15px;line-height:1.9;color:var(--muted);padding-bottom:4px}.platform-tour{display:grid;grid-template-columns:.82fr 2fr;gap:52px;align-items:center}.platform-tour>*{min-width:0}.platform-tabs{display:flex;flex-direction:column;border-top:1px solid #b7c4d3}.platform-tab{background:none;border:0;border-bottom:1px solid #b7c4d3;display:grid;grid-template-columns:22px 1fr 20px;gap:14px;text-align:left;padding:28px 0;align-items:start;transition:color .2s}.tour-number{font-size:10px;padding-top:7px;color:#64758a}.platform-tab strong{font:400 25px/1.3 var(--serif);letter-spacing:-.6px;display:block}.platform-tab small{display:block;font-size:12px;color:var(--muted);line-height:1.8;margin-top:13px;max-width:215px}.tour-arrow{font-size:24px;opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}.platform-tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.platform-tab[aria-selected=true] .tour-arrow{opacity:1;transform:none}.platform-tab:hover strong{color:var(--blue)}.screen-frame{padding:0 8px 8px;background:#151c26;border:1px solid #516176;border-radius:15px;box-shadow:0 24px 48px -25px #1a35535c;transform:rotate(-1deg);transition:transform .3s}.screen-frame:hover{transform:rotate(0)}.screen-chrome{height:45px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 12px;color:#a8b7ca}.screen-chrome>span:last-child{font-size:9px}.screen-chrome img{width:105px;height:auto}.screen-dots{display:flex;gap:5px}.screen-dots i{display:block;border:1px solid #67798c;width:5px;height:5px;border-radius:50%}.screen-enlarge{position:relative;display:block;width:100%;height:clamp(370px,38vw,540px);border:0;border-radius:7px;background:#202b39;padding:0;overflow:hidden;text-align:left;cursor:zoom-in}.screen-enlarge>img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}.screen-enlarge:hover>img{transform:scale(1.015)}.screen-zoom{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:25px;color:#edf0f4;background:#151c26ed;border:1px solid #6b7d92;padding:10px 14px;font-size:11px;box-shadow:0 3px 20px #0003}.screen-zoom>span{font-size:20px}.platform-figure figcaption{display:flex;justify-content:space-between;gap:30px;font-size:10px;line-height:1.7;color:var(--muted);padding:24px 6px 0}.platform-figure figcaption>span:last-child{white-space:nowrap;font-size:9px}.platform-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid #bcc9d8;margin-top:45px;padding-top:24px}.platform-bottom p{font-size:12px;color:var(--muted);max-width:470px}.platform-bottom .text-button{margin:0;white-space:nowrap}.screen-viewer{width:calc(100% - 32px);max-width:1280px;padding:0;background:#151c26;color:#edf0f4;border-color:#53677e}.viewer-heading{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#151c26f5;z-index:2;padding:16px 25px;border-bottom:1px solid #3c4a5b}.viewer-heading h2{font:400 23px/1.4 var(--serif);letter-spacing:-.3px;margin:0}.viewer-heading .dialog-close{position:static;color:#edf0f4}.screen-viewer>img{width:100%;height:auto}.screen-viewer>p{padding:15px 25px!important;margin:0!important;font-size:11px!important;color:#b4bfce!important}.screen-viewer::backdrop{background:#09111aeb}
@media(max-width:1100px){.platform-tour{gap:32px;grid-template-columns:.85fr 1.85fr}.platform-heading{gap:40px}.platform-heading>p{max-width:340px;font-size:14px}.platform-tab{gap:9px;grid-template-columns:19px 1fr 18px;padding-block:23px}.platform-tab strong{font-size:21px}.platform-tab small{font-size:11px}.screen-enlarge{height:400px}.platform-figure figcaption{flex-direction:column;gap:4px}.platform-bottom p{max-width:370px}}
@media(max-width:800px){.platform{padding-top:65px}.platform-heading{gap:30px}.platform-heading h2{font-size:43px}.platform-heading>p{font-size:13px;max-width:300px}.platform-tour{grid-template-columns:.8fr 1.6fr;gap:25px}.platform-tab strong{font-size:19px}.platform-tab{grid-template-columns:15px 1fr;gap:10px}.tour-arrow{display:none}.platform-tab small{font-size:10px}.screen-enlarge{height:350px}.screen-chrome{padding-inline:7px}.screen-chrome>span:last-child{display:none}.platform-bottom{gap:25px}.platform-bottom p{font-size:11px}.platform-bottom .text-button{font-size:11px;gap:18px}}
@media(max-width:680px){.header{gap:13px}.header nav{gap:13px;font-size:10px}.header nav button{font-size:10px}.platform{padding:46px 0 30px}.platform-heading{display:block;margin-bottom:28px}.platform-heading h2{font-size:43px}.platform-heading .eyebrow{font-size:9px;margin-bottom:13px}.platform-heading>p{font-size:14px;max-width:420px;margin-top:24px;line-height:1.85}.platform-tour{grid-template-columns:1fr;gap:29px}.platform-tabs{flex-direction:row;border:0;gap:0}.platform-tab{display:block;flex:1;min-width:0;padding:13px 10px 16px 0;border-top:1px solid #b7c4d3;border-bottom:2px solid #bdc8d5}.platform-tab strong{font:500 11px/1.55 var(--sans);letter-spacing:0;margin-top:8px}.platform-tab small{display:none}.tour-number{font-size:9px}.platform-tab[aria-selected=true]{border-bottom:2px solid var(--blue)}.screen-frame{border-radius:10px;padding:0 5px 5px;transform:none}.screen-chrome{height:36px}.screen-chrome img{width:94px}.screen-enlarge{height:315px;border-radius:5px}.screen-enlarge>img{object-fit:cover}.screen-zoom{bottom:10px;right:10px;font-size:10px;gap:17px;padding:7px 10px}.platform-figure figcaption{padding:17px 0 0;font-size:11px;line-height:1.7;gap:8px}.platform-figure figcaption>span:last-child{font-size:9px}.platform-bottom{display:block;margin-top:28px;padding-top:21px}.platform-bottom p{font-size:12px;max-width:350px}.platform-bottom .text-button{font-size:12px;margin-top:13px}.viewer-heading{padding:10px 15px}.viewer-heading h2{font-size:20px}.screen-viewer{width:calc(100% - 16px)}}
@media(max-width:380px){.header{gap:10px}.header nav{gap:11px;font-size:9px}.header nav button{font-size:9px}.wordmark{font-size:32px}.cabinet-link span{font-size:20px}.platform-heading h2{font-size:37px}.platform-heading>p{font-size:13px}.platform-tab strong{font-size:10px}.screen-enlarge{height:280px}}
@media(prefers-reduced-motion:reduce){.screen-frame,.screen-frame:hover,.screen-enlarge:hover>img{transform:none}}
.viewer-heading>a{margin-left:auto;margin-right:22px;font-size:12px;color:#b8cdec;white-space:nowrap;border-bottom:1px solid #6d849f}.viewer-heading h2{margin-right:15px}
@media(max-width:680px){.viewer-heading h2{font-size:17px}.viewer-heading>a{font-size:10px;margin-right:12px}.viewer-heading .dialog-close{flex-shrink:0}}

/* Published-review carousel. Photo URLs point to review snapshots, not profiles. */
.review-carousel{padding:55px 0;background:var(--dark)}.reviews-surface{padding:36px 40px 25px;background:#202b39;border:1px solid #39495c;border-radius:24px}.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.reviews-heading h2{font:500 29px/1.4 var(--serif);letter-spacing:-.6px}.reviews-heading>span{font-size:11px;color:#b4bfce;border:1px solid #3d4c5f;border-radius:30px;padding:6px 12px;white-space:nowrap}.testimonial-slider{position:relative}.testimonial-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;padding:0 14% 5px 0;overscroll-behavior-x:contain}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-card{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:1px solid #3c4a5c;border-radius:18px;background:#172130;padding:24px;color:#edf0f4}.testimonial-author{display:flex;align-items:center;gap:15px;margin-bottom:18px}.testimonial-avatar{width:60px;height:60px;flex:0 0 60px;border-radius:16px;object-fit:cover;border:1px solid #526075}.testimonial-author>div{min-width:0}.testimonial-author strong{font:600 17px/1.4 var(--serif)}.testimonial-author p{font:13px/1.6 var(--serif);color:#b4bfce;margin-top:4px}.testimonial-stars{margin-left:auto;white-space:nowrap;color:#9bbbe8;font-size:16px;letter-spacing:1px}.testimonial-text{font:400 19px/1.65 var(--serif);letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere}.testimonial-text.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.testimonial-more{border:0;background:none;color:#9bbbe8;font:600 14px/1.5 var(--serif);padding:10px 0 0;margin-top:8px;min-height:44px;text-align:left}.testimonial-more:hover{color:#d1e1f7;text-decoration:underline;text-underline-offset:4px}.testimonial-arrow{position:absolute;top:145px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#202b39;border:1px solid #48576a;color:#edf0f4;font:300 32px/1 var(--sans);padding:0 0 4px;z-index:2}.testimonial-arrow.prev{left:-21px}.testimonial-arrow.next{right:-21px}.testimonial-arrow:hover{background:#315a91}.testimonial-dots{display:flex;justify-content:center;gap:3px;margin-top:9px}.testimonial-dots button{border:0;background:none;width:34px;height:36px;display:grid;place-items:center;padding:0}.testimonial-dots button::after{content:'';width:8px;height:8px;border-radius:10px;background:#4f6074;transition:width .2s,background .2s}.testimonial-dots button[aria-current=true]::after{width:25px;background:#9bbbe8}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:940px){.reviews-surface{padding:30px 28px 20px}.testimonial-card{padding:22px}.testimonial-text{font-size:18px}.testimonial-author{gap:12px}.testimonial-author p{font-size:11px}.testimonial-stars{font-size:14px}.testimonial-avatar{width:52px;height:52px;flex-basis:52px}.testimonial-author strong{font-size:16px}}
@media(max-width:680px){.review-carousel{padding:30px 0}.reviews-surface{padding:24px 17px 13px;border-radius:18px}.reviews-heading{gap:15px;margin-bottom:20px}.reviews-heading h2{font-size:23px}.reviews-heading>span{font-size:9px;padding:5px 8px}.testimonial-track{gap:12px;padding-right:6%}.testimonial-card{padding:18px 16px;border-radius:13px}.testimonial-author{gap:10px;flex-wrap:wrap;margin-bottom:15px}.testimonial-avatar{width:45px;height:45px;flex-basis:45px;border-radius:12px}.testimonial-author>div{flex:1}.testimonial-author strong{font-size:14px}.testimonial-author p{font:10px/1.6 var(--sans)}.testimonial-stars{font-size:12px;letter-spacing:2px;flex-basis:100%;margin:0 0 0 55px}.testimonial-text{font-size:16px;line-height:1.75}.testimonial-more{font-size:13px}.testimonial-arrow{width:36px;height:44px;font-size:27px;top:180px}.testimonial-arrow.prev{left:-18px}.testimonial-arrow.next{right:-18px}}
@media(max-width:380px){.reviews-surface{padding-inline:14px}.reviews-heading h2{font-size:21px}.testimonial-card{padding:17px 14px}.testimonial-author strong{font-size:13px}.testimonial-author p{font-size:9px}.testimonial-text{font-size:15px}}

/* Personal introduction with the shared blue identity. */
.header .wordmark{display:block;line-height:1;flex-shrink:0}.header .wordmark img{width:185px;height:auto}.personal-hero{padding-block:66px 76px}.personal-hero .hero-body{grid-template-columns:.92fr 1.08fr;gap:75px;align-items:center}.personal-hero .hero-copy{display:block;padding:0;animation:none}.personal-hero h1{font:400 clamp(68px,7.1vw,108px)/1.06 var(--serif);letter-spacing:-4px;margin:0;white-space:normal}.personal-hero .hero-description{font-size:21px;line-height:1.65;max-width:410px;color:var(--muted);margin-top:29px}.personal-hero .hero-action{margin-top:34px}.personal-hero .button{min-width:190px;font-size:15px;padding:17px 23px}.personal-hero .hero-photo{aspect-ratio:1.05;padding:10px;background:#f3f8ff;border:1px solid #acb8c7;border-radius:13px;box-shadow:0 18px 45px -30px #263c555c;overflow:hidden}.personal-hero .hero-photo img{object-fit:cover;object-position:center 45%;border-radius:5px;animation:none}.about-section{display:grid;grid-template-columns:1fr 1.75fr;gap:80px;padding-block:75px 90px;border-top:1px solid var(--line)}.about-section h2{font-size:clamp(36px,4vw,55px)}.about-section-copy p{font-size:17px;line-height:1.85;color:var(--muted);max-width:720px}.about-section-copy p+p{margin-top:22px}.about-section .science-link{margin-top:25px}
@media(max-width:1100px){.header .wordmark img{width:165px}.header{gap:27px}.header nav{gap:25px}.personal-hero .hero-body{gap:42px}.personal-hero h1{font-size:80px;letter-spacing:-3px}.personal-hero .hero-description{font-size:18px}.personal-hero .hero-photo{aspect-ratio:.93}.about-section{gap:45px}}
@media(max-width:800px){.header .wordmark img{width:145px}.header{gap:20px}.header nav{gap:17px;font-size:11px}.cabinet-link{padding-left:18px}.personal-hero{padding-block:48px 56px}.personal-hero .hero-body{gap:30px}.personal-hero h1{font-size:67px;letter-spacing:-2.5px}.personal-hero .hero-description{font-size:17px;margin-top:25px}.personal-hero .hero-photo{padding:8px;aspect-ratio:.86}.about-section{grid-template-columns:1fr 1.7fr;gap:32px;padding-block:60px}.about-section-copy p{font-size:15px}}
@media(max-width:680px){.header{height:auto;min-height:105px;display:grid;grid-template-columns:1fr auto;gap:18px 20px;padding-block:20px 16px}.header .wordmark img{width:155px}.header .cabinet-link{grid-column:2;grid-row:1;font-size:11px;padding:0;gap:12px}.header .cabinet-link span{font-size:21px}.header nav{grid-column:1/3;grid-row:2;margin:0;justify-content:space-between;gap:24px;font-size:12px}.personal-hero{padding-block:38px 46px}.personal-hero .hero-body{grid-template-columns:1fr;gap:34px}.personal-hero .hero-copy{display:block}.personal-hero h1{font-size:clamp(61px,14vw,86px);line-height:1.07;letter-spacing:-2.5px}.personal-hero .hero-description{font-size:18px;line-height:1.65;max-width:340px;margin-top:22px}.personal-hero .hero-action{margin-top:26px}.personal-hero .button{font-size:14px;min-width:170px;min-height:54px;padding:15px 20px}.personal-hero .hero-photo{aspect-ratio:1.1;padding:8px;border-radius:11px}.about-section{grid-template-columns:1fr;gap:25px;padding-block:45px 55px}.about-section h2{font-size:38px}.about-section-copy p{font-size:16px;line-height:1.85}}
@media(max-width:380px){.header .wordmark img{width:135px}.header .cabinet-link{font-size:10px;gap:8px}.header nav{font-size:11px;gap:15px}.personal-hero h1{font-size:61px}.personal-hero .hero-description{font-size:17px}.about-section .science-link{font-size:11px;gap:16px}}

/* Platform overview: quiet navigation to a separate informational page. */
.platform{padding-top:72px}.platform-heading{margin-bottom:38px}.platform .screen-frame,.platform .screen-frame:hover{transform:none}.platform-detail-card{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:38px;padding:29px 30px;border:1px solid #b8c5d3;background:transparent;transition:border-color .2s,background-color .2s}.platform-detail-card h3{font:400 27px/1.35 var(--serif);letter-spacing:-.5px}.platform-detail-card p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}.platform-detail-card>span{display:flex;align-items:center;gap:20px;white-space:nowrap;color:var(--blue);font-size:13px}.platform-detail-card>span>span{font-size:21px}.platform-detail-card:hover{border-color:var(--blue);background:#ffffff38}.platform-detail-card:hover>span{text-decoration:underline;text-underline-offset:5px}.platform-document{padding-bottom:70px}.platform-document-intro{padding-block:65px 60px;max-width:950px}.platform-document-intro h1{font:400 clamp(56px,7vw,100px)/1.15 var(--serif);letter-spacing:-3px;white-space:normal;margin:0}.platform-document-intro p{font-size:19px;color:var(--muted);max-width:660px;line-height:1.8;margin-top:25px}.platform-document-section{display:grid;grid-template-columns:1fr 1.8fr;gap:65px;padding-block:55px;border-top:1px solid var(--line);align-items:start}.platform-document-section>*{min-width:0}.platform-document-section h2{font-size:38px;line-height:1.25;letter-spacing:-1px;margin-top:17px}.platform-document-section p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:22px}.platform-document-section img{width:100%;height:auto;border:1px solid #bac5d1;border-radius:8px}.platform-document-section figcaption{font-size:11px;color:var(--muted);margin-top:13px}.platform-material-details{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:0 0 60px}.platform-material-details h3{font:400 26px/1.4 var(--serif);margin:0 0 14px}.platform-material-details p{font-size:15px;line-height:1.85;color:var(--muted);max-width:480px}.platform-material-details img{width:100%;max-width:440px;height:auto;border-radius:8px;margin-top:25px}.platform-material-details p+h3{margin-top:36px}
@media(max-width:940px){.platform-detail-card{gap:28px;padding:26px}.platform-detail-card h3{font-size:24px}.platform-detail-card p{font-size:12px}.platform-detail-card>span{font-size:12px;gap:13px}.platform-document-section{gap:30px;grid-template-columns:1fr 1.5fr}.platform-document-section h2{font-size:30px}.platform-material-details{gap:35px}}
@media(max-width:680px){.platform{padding-top:42px}.platform-heading{margin-bottom:28px}.platform-detail-card{display:block;margin-top:28px;padding:24px 20px}.platform-detail-card h3{font-size:24px}.platform-detail-card p{font-size:13px;margin-top:12px}.platform-detail-card>span{margin-top:23px;justify-content:space-between;font-size:12px}.platform-document-intro{padding-block:40px}.platform-document-intro h1{font-size:53px;letter-spacing:-2px}.platform-document-intro p{font-size:16px;margin-top:20px}.platform-document-section{grid-template-columns:1fr;gap:25px;padding-block:36px}.platform-document-section h2{font-size:34px;margin-top:12px}.platform-document-section p{margin-top:16px}.platform-material-details{grid-template-columns:1fr;gap:35px;padding-bottom:38px}.platform-document{padding-bottom:30px}}

/* Shared public-site navigation and a separate student sign-in entry. */
.header nav a{white-space:nowrap}.header nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.header .login-link{font-size:13px;gap:18px}
@media(min-width:681px) and (max-width:900px){.header{gap:18px}.header nav{gap:18px;font-size:11px}.header .wordmark img{width:140px}.header .login-link{padding-left:18px;font-size:11px;gap:12px}}
@media(max-width:680px){.header nav{gap:12px;font-size:11px}.header .login-link{font-size:12px;gap:12px}}
@media(max-width:380px){.header nav{gap:8px;font-size:10px}}

/* Separate public pages share navigation and keep their own content. */
.cabinet-page .platform{background:var(--paper);padding-bottom:65px}
.platform-heading h1{font:400 clamp(42px,4.5vw,67px)/1.14 var(--serif);letter-spacing:-2px;white-space:normal;margin:0}
.platform-heading h1 em{color:var(--blue);font-weight:400}
.about-page .about-section{border-top:0;grid-template-columns:1fr 1.1fr;gap:90px;padding-block:65px 85px;align-items:start}
.about-page h1{font:400 clamp(56px,7vw,100px)/1.15 var(--serif);letter-spacing:-3px;white-space:normal;margin:0 0 38px}
.about-page .about-section-copy{padding-top:24px}
.about-page .about-section-copy p{font-size:19px;line-height:1.9}
.about-portrait{border:1px solid #acb8c7;padding:8px;border-radius:10px;max-width:450px;background:#f3f8ff}
.about-portrait img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:4px}
@media(max-width:800px){.platform-heading h1{font-size:43px}.about-page .about-section{gap:40px}.about-page .about-section-copy p{font-size:16px}}
@media(max-width:680px){.cabinet-page .platform{padding-bottom:40px}.about-page .about-section{grid-template-columns:1fr;gap:30px;padding-block:40px 50px}.about-page h1{font-size:53px;letter-spacing:-2px;margin-bottom:28px}.about-page .about-section-copy{padding-top:0}.about-portrait{max-width:none}}
@media(max-width:380px){.platform-heading h1{font-size:37px}}

/* Introductory copy stays with the teacher portrait in the first section. */
.hero-introduction{margin-bottom:34px;max-width:490px}
.hero-quote{font:400 clamp(25px,2.25vw,34px)/1.35 var(--serif);letter-spacing:-.7px;color:var(--blue)}
.hero-introduction-text{font-size:15px;line-height:1.85;color:var(--muted);margin-top:16px}
@media(max-width:800px){.hero-quote{font-size:26px}.hero-introduction-text{font-size:14px}.hero-introduction{margin-bottom:28px}}
@media(max-width:680px){.hero-quote{font-size:28px}.hero-introduction-text{font-size:15px}.hero-introduction{max-width:440px;margin-bottom:32px}}
@media(max-width:380px){.hero-quote{font-size:25px}}

/* Editorial illustrations and an unnumbered learning carousel. */
.help-section{background:var(--dark);color:var(--paper);padding:78px 0 62px}
.help-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.help-heading h2{font-size:clamp(36px,4vw,60px);line-height:1.16;max-width:720px}
.help-controls{display:flex;gap:10px;padding-bottom:5px;flex-shrink:0}
.help-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #67768a;background:transparent;color:var(--paper);border-radius:50%;font-size:25px;transition:background .2s,border-color .2s}
.help-controls button:hover:not(:disabled){background:#2b3e57;border-color:#a9c5e8}
.help-controls button:disabled{opacity:.3;cursor:default}
.help-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0 14px;align-items:stretch}
.help-track::-webkit-scrollbar{display:none}
.help-track:focus-visible{outline:2px solid #9bbbe8;outline-offset:7px}
.help-card{flex:0 0 calc((100% - 48px)/3);min-width:0;background:var(--paper);color:var(--ink);border:1px solid #d9dce0;border-radius:7px;overflow:hidden;scroll-snap-align:start;transition:transform .2s,box-shadow .2s}
.help-card img{width:100%;height:auto;object-fit:contain;background:var(--paper)}
.help-card-copy{padding:23px 23px 29px;border-top:1px solid #e0e2e3}
.help-card h3{font:400 clamp(22px,1.9vw,29px)/1.27 var(--serif);letter-spacing:-.6px}
.help-card p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:15px}
.help-position{height:2px;background:#364355;margin-top:25px;overflow:hidden}
.help-position span{display:block;height:100%;width:38%;background:#9bbbe8;transform-origin:left}
@media(hover:hover){.help-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0002}}
@media(max-width:1100px){.help-card{flex-basis:calc((100% - 40px)/2.15)}.help-card h3{font-size:27px}}
@media(max-width:680px){.help-section{padding:46px 0 38px}.help-heading{align-items:end;gap:14px;margin-bottom:24px}.help-heading h2{font-size:34px;letter-spacing:-1.2px}.help-controls{gap:7px}.help-controls button{width:36px;height:36px;font-size:21px}.help-track{gap:16px}.help-card{flex-basis:87%}.help-card-copy{padding:21px 20px 26px}.help-card h3{font-size:26px}.help-card p{font-size:14px;margin-top:13px}.help-position{margin-top:17px}}
@media(max-width:380px){.help-heading{flex-wrap:wrap}.help-heading h2{font-size:33px}.help-controls{margin-left:auto}.help-card h3{font-size:24px}}

.help-image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.help-image-button:focus-visible{outline-offset:-5px;outline:3px solid var(--blue)}
.help-controls[hidden],.help-position[hidden]{display:none}

.personal-hero .hero-action .button{font-size:28px;line-height:1.3;justify-content:center;min-width:220px;padding:18px 30px}
@media(max-width:680px){.personal-hero .hero-action .button{font-size:26px;min-width:200px;padding:16px 26px}}

/* Cabinet overview copy on the homepage. */
.platform-summary{max-width:440px;flex:0 1 440px;padding-bottom:4px}
.platform-summary>p{font-size:15px;line-height:1.85;color:var(--muted)}
.platform-summary .text-button{font-size:13px;margin-top:18px}
/* A separate, alternating feature story. */
.cabinet-story{overflow:clip}
.cabinet-story-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end;padding-block:68px 52px}
.cabinet-story-intro .eyebrow{color:var(--muted);margin-bottom:19px}
.cabinet-story-intro h1{font:400 clamp(54px,5.5vw,84px)/1.12 var(--serif);letter-spacing:-3px;white-space:normal;margin:0}
.cabinet-story-intro h1 em{color:var(--blue);font-weight:400}
.cabinet-story-intro>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:470px;padding-bottom:6px}
.cabinet-roadmap{position:relative}
.roadmap-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#d6dee7;pointer-events:none;overflow:hidden}
.roadmap-line>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleY(0);transform-origin:top}
.cabinet-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:center;padding-block:68px;scroll-margin-top:35px}
.cabinet-step-copy{grid-column:3;grid-row:1;max-width:440px;padding-inline:4px 0;justify-self:center}
.cabinet-step-visual{grid-column:1;grid-row:1;min-width:0;width:100%}
.cabinet-step:nth-of-type(even) .cabinet-step-copy{grid-column:1;padding-inline:0 4px}
.cabinet-step:nth-of-type(even) .cabinet-step-visual{grid-column:3}
.cabinet-step-copy .eyebrow{color:var(--blue);margin-bottom:19px;font-size:10px;letter-spacing:1.6px}
.cabinet-step-copy h2{font:400 clamp(29px,3vw,44px)/1.2 var(--serif);letter-spacing:-1.2px;text-wrap:balance}
.cabinet-step-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9;margin-top:24px}
.cabinet-step-copy>.cabinet-step-note{border-top:1px solid var(--line);padding-top:17px;font-size:13px!important;line-height:1.8!important;margin-top:24px!important}
.roadmap-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;background:var(--paper);border:1px solid #9aaec5;border-radius:50%;box-shadow:0 0 0 8px var(--paper);z-index:1;transition:background .5s,border-color .5s}
.cabinet-step.is-visible .roadmap-dot{background:var(--blue);border-color:var(--blue)}
.cabinet-image-button{display:block;width:100%;padding:0;border:1px solid #c6d5e4;border-radius:10px;overflow:hidden;background:#eaf3fc;cursor:zoom-in;position:relative;box-shadow:0 20px 45px -32px #274a7659;transition:box-shadow .3s,transform .3s}
.cabinet-image-button img{display:block;width:100%;height:auto}
.cabinet-image-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--paper);border:1px solid #b7c9dd;color:var(--blue);font:20px/1 var(--sans);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.cabinet-image-button:hover,.cabinet-image-button:focus-visible{box-shadow:0 25px 50px -27px #274a7659}
.cabinet-image-button:hover .cabinet-image-zoom,.cabinet-image-button:focus-visible .cabinet-image-zoom{opacity:1;transform:none}
.cabinet-story-end{padding-block:10px 70px}
.cabinet-story-end .platform-detail-card{margin-top:25px}
@media(prefers-reduced-motion:no-preference){
 .cabinet-step-copy,.cabinet-step-visual{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.65,.25,1)}
 .cabinet-step-copy{transition-delay:.1s}
 .cabinet-step.is-pending .cabinet-step-copy{opacity:0;transform:translate(25px,16px)}
 .cabinet-step.is-pending .cabinet-step-visual{opacity:0;transform:translate(-25px,26px) scale(.985)}
 .cabinet-step:nth-of-type(even).is-pending .cabinet-step-copy{transform:translate(-25px,16px)}
 .cabinet-step:nth-of-type(even).is-pending .cabinet-step-visual{transform:translate(25px,26px) scale(.985)}
}
@media(max-width:1100px){.cabinet-story-intro{gap:48px}.cabinet-step{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);padding-block:54px}.cabinet-step-copy h2{font-size:32px}.cabinet-step-copy>p:not(.eyebrow){font-size:14px}.platform-summary{max-width:360px}.platform-summary>p{font-size:14px}}
@media(max-width:800px){.cabinet-story-intro{gap:30px;padding-block:48px 35px}.cabinet-story-intro h1{font-size:55px;letter-spacing:-2px}.cabinet-story-intro>p{font-size:15px}.cabinet-step{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.cabinet-step-copy h2{font-size:28px}.cabinet-step-copy .eyebrow{font-size:9px}.cabinet-step-copy>p:not(.eyebrow){font-size:13px}.platform-summary{max-width:300px}.platform-summary>p{font-size:13px}}
@media(max-width:680px){
 .platform-summary{max-width:440px;margin-top:24px}.platform-summary>p{font-size:14px}
 .cabinet-story-intro{grid-template-columns:1fr;gap:24px;padding-block:40px 35px}.cabinet-story-intro h1{font-size:50px;letter-spacing:-2px}.cabinet-story-intro>p{font-size:16px;padding:0}
 .roadmap-line{left:5px}
 .cabinet-step{grid-template-columns:1fr;gap:24px;padding:28px 0 40px 27px;scroll-margin-top:20px}
 .cabinet-step .cabinet-step-copy,.cabinet-step:nth-of-type(even) .cabinet-step-copy{grid-column:1;grid-row:1;padding:0;max-width:none;justify-self:stretch}
 .cabinet-step .cabinet-step-visual,.cabinet-step:nth-of-type(even) .cabinet-step-visual{grid-column:1;grid-row:2}
 .cabinet-step-copy h2{font-size:32px;letter-spacing:-1px}.cabinet-step-copy .eyebrow{font-size:9px;margin-bottom:14px}.cabinet-step-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:20px}.cabinet-step-copy>.cabinet-step-note{font-size:12px!important;margin-top:19px!important;padding-top:14px}
 .roadmap-dot{left:5px;top:34px;width:9px;height:9px;box-shadow:0 0 0 5px var(--paper)}
 .cabinet-image-button{border-radius:7px}.cabinet-image-zoom{opacity:1;transform:none;width:28px;height:28px;right:8px;bottom:8px;font-size:18px}
 .cabinet-story-end{padding-block:0 40px}
}
@media(max-width:380px){.cabinet-story-intro h1{font-size:42px}.cabinet-step-copy h2{font-size:28px}.cabinet-step{padding-left:23px}}

/* Centered homepage platform presentation. */
.platform-home{padding-block:72px}
.platform-home-intro{text-align:center;margin:0 auto 54px;max-width:830px}
.platform-home-intro h2{font:400 clamp(36px,4.3vw,62px)/1.18 var(--serif);letter-spacing:-1.8px;text-wrap:balance}
.platform-home-intro>p{font:400 18px/1.85 var(--sans);color:#495b70;max-width:780px;margin:26px auto 0;text-wrap:pretty}
.platform-cabinet-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:76px;margin-top:30px;padding:18px 26px;background:var(--paper);border:1px solid #9aafc8;border-radius:7px;box-shadow:0 5px 15px -10px #24446b42;transition:background .2s,border-color .2s,transform .2s}
.platform-cabinet-button>img{width:122px;height:auto;flex-shrink:0}
.platform-cabinet-button>span{font:500 17px/1.4 var(--sans);color:var(--blue);padding-left:25px;border-left:1px solid #c0cbd8;text-align:left}
.platform-cabinet-button:hover{background:#fff;border-color:var(--blue);transform:translateY(-2px)}
.platform-home .platform-tour{grid-template-columns:240px minmax(0,1fr);gap:46px;align-items:center}
.platform-home .platform-tabs{border:0;gap:12px}
.platform-home .platform-tab{display:block;padding:22px 20px;text-align:left;border:1px solid transparent;border-left:3px solid #c4ceda;border-radius:0 7px 7px 0;transition:background .2s,border-color .2s}
.platform-home .platform-tab strong{font:500 18px/1.4 var(--sans);letter-spacing:0;margin:0;color:var(--ink)}
.platform-home .platform-tab small{font:400 13px/1.7 var(--sans);color:var(--muted);margin-top:9px;max-width:none}
.platform-home .platform-tab[aria-selected=true]{border-color:#c3cfdd;border-left-color:var(--blue);background:#f7f9fc}
.platform-home .platform-tab[aria-selected=true] strong{color:var(--blue)}
.platform-home .platform-tab:hover{background:#ffffff70}
.platform-home .screen-frame{padding:0;border:1px solid #9bafc6;border-radius:12px;overflow:hidden;box-shadow:0 22px 45px -30px #19375366}
.platform-home .screen-enlarge{height:auto;aspect-ratio:4/3;border-radius:0;display:flex;align-items:center;justify-content:center;background:#101e30}
.platform-home .screen-enlarge>img{width:100%;height:100%;object-fit:contain;transform:none}
.platform-home .screen-zoom{font-size:12px;padding:9px 13px;bottom:13px;right:13px}
@media(max-width:1000px){.platform-home .platform-tour{grid-template-columns:205px minmax(0,1fr);gap:28px}.platform-home .platform-tab{padding:20px 15px}.platform-home .platform-tab strong{font-size:16px}.platform-home .platform-tab small{font-size:12px}.platform-home-intro>p{font-size:17px;max-width:720px}}
@media(max-width:680px){.platform-home{padding-block:44px}.platform-home-intro{margin-bottom:32px}.platform-home-intro h2{font-size:37px;letter-spacing:-1.2px}.platform-home-intro>p{font-size:16px;line-height:1.85;margin-top:21px}.platform-cabinet-button{width:100%;gap:16px;padding:17px;min-height:70px;margin-top:25px}.platform-cabinet-button>img{width:95px}.platform-cabinet-button>span{font-size:15px;padding-left:16px}.platform-home .platform-tour{grid-template-columns:1fr;gap:23px}.platform-home .platform-tabs{flex-direction:row;gap:7px}.platform-home .platform-tab{flex:1;padding:13px 7px;border:1px solid #c4ceda;border-bottom:3px solid #c4ceda;border-radius:5px;text-align:center}.platform-home .platform-tab strong{font-size:12px;line-height:1.5}.platform-home .platform-tab small{display:none}.platform-home .platform-tab[aria-selected=true]{border-color:#b6c7dc;border-bottom-color:var(--blue)}.platform-home .screen-frame{border-radius:8px}.platform-home .screen-zoom{font-size:10px;bottom:8px;right:8px;gap:14px;padding:6px 9px}}
@media(max-width:380px){.platform-home-intro h2{font-size:33px}.platform-home-intro>p{font-size:15px}.platform-cabinet-button{gap:12px;padding:15px 12px}.platform-cabinet-button>img{width:84px}.platform-cabinet-button>span{font-size:14px;padding-left:12px}.platform-home .platform-tab strong{font-size:11px}}

/* Separate pricing page and complete contact directory. */
.prices-page .lessons{padding-block:72px 88px}
.prices-page h1{font:400 clamp(60px,7vw,96px)/1.1 var(--serif);letter-spacing:-3px;margin:0;white-space:normal}
.prices-page .lessons-intro>p{font-size:15px;line-height:1.85;color:var(--muted);margin-top:26px}
.prices-page .lessons-intro>.pricing-age{font-size:13px;margin-top:18px}
.contacts-footer{padding-block:62px 26px;border-top:1px solid var(--line)}
.contacts-footer h2{font-size:clamp(30px,3.1vw,45px);letter-spacing:-1.2px;line-height:1.25;margin-bottom:34px}
.contacts-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:60px;align-items:center}
.contacts-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.contacts-links>a{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:5px 15px;border-bottom:1px solid var(--line);padding:19px 0;transition:color .2s,border-color .2s}
.contacts-links>a>span:first-child{font-size:11px;letter-spacing:.9px;color:var(--muted)}
.contacts-links strong{grid-column:1;font-size:16px;font-weight:500;overflow-wrap:anywhere}
.contacts-links>a>span:last-child{grid-row:1/3;grid-column:2;align-self:center;font-size:22px;color:var(--blue)}
.contacts-links>a:hover{color:var(--blue);border-bottom-color:var(--blue)}
.contacts-qr{border-left:1px solid var(--line);padding-left:35px;text-align:center}
.contacts-qr img{width:144px;height:144px;background:white;padding:7px;border:1px solid var(--line);border-radius:7px;margin:auto}
.contacts-qr figcaption{margin-top:13px;display:grid;gap:7px}
.contacts-qr strong{font-size:12px;font-weight:500}
.contacts-qr figcaption>span{font-size:11px;color:var(--muted);line-height:1.65}
.contacts-footer .footer-bottom{margin-top:42px}
@media(min-width:821px) and (max-width:1100px){.header{gap:20px}.header nav{gap:19px;font-size:11px}.header .wordmark img{width:145px}.header .login-link{font-size:11px;padding-left:18px;gap:10px}}
@media(max-width:820px){.header{height:auto;min-height:105px;display:grid;grid-template-columns:1fr auto;gap:18px 20px;padding-block:20px 16px}.header .wordmark img{width:155px}.header .login-link{grid-column:2;grid-row:1;padding:0;border:0;font-size:12px}.header nav{grid-column:1/3;grid-row:2;margin:0;justify-content:space-between;gap:12px;font-size:12px}.contacts-layout{gap:28px;grid-template-columns:minmax(0,1fr) 175px}.contacts-qr{padding-left:22px}.contacts-links{gap:0 20px}.contacts-links strong{font-size:14px}}
@media(max-width:680px){.header nav{font-size:11px;gap:9px}.prices-page .lessons{padding-block:42px 50px}.prices-page h1{font-size:58px;letter-spacing:-2px}.prices-page .lessons-intro>p{font-size:14px;margin-top:22px}.contacts-footer{padding-top:42px}.contacts-footer h2{font-size:31px;margin-bottom:21px}.contacts-layout{grid-template-columns:1fr;gap:30px}.contacts-links{grid-template-columns:1fr}.contacts-links strong{font-size:16px}.contacts-links>a{padding-block:17px}.contacts-qr{border:0;padding:0;display:flex;align-items:center;gap:22px;text-align:left}.contacts-qr img{margin:0;width:120px;height:120px}.contacts-qr figcaption{margin:0;max-width:180px}.contacts-footer .footer-bottom{flex-direction:row;margin-top:30px}}
@media(max-width:380px){.header nav{font-size:10px;gap:7px}.header .wordmark img{width:135px}.contacts-links strong{font-size:15px}.contacts-qr{gap:16px}.contacts-qr img{width:105px;height:105px}}

/* Cool white and blue backgrounds across the public site. */
body{background:radial-gradient(ellipse 85% 850px at 95% 0%,#c9e3ff 0%,#e7f2ff 48%,transparent 78%),linear-gradient(115deg,#fafdff 0%,#edf5ff 55%,#dcecff 100%);background-color:#f5faff}
.platform-home{background:linear-gradient(125deg,#f2f8ff 0%,#dcecff 54%,#c9e1ff 100%)}
.personal-hero .hero-photo,.about-portrait{background:#f3f8ff;border-color:#adc6e4}
.platform-cabinet-button{background:#f8fbff;border-color:#99b7dd}
.platform-home .platform-tab[aria-selected=true]{background:#f6faff;border-color:#afc8e7;border-left-color:var(--blue)}
@media(max-width:680px){.platform-home .platform-tab[aria-selected=true]{border-left-color:#afc8e7;border-bottom-color:var(--blue)}}

/* Homepage contacts: QR and compact social links, matching the original card. */
.contact-section{padding-block:48px 24px}
.contact-card{padding:42px 44px;background:#ffffff;border:1px solid #dbe5ef;border-radius:28px;box-shadow:0 8px 36px #244c7610}
.contact-card h2{font:600 clamp(22px,2.1vw,28px)/1.4 var(--serif);letter-spacing:-.45px;margin:0 0 34px}
.contact-grid{display:grid;grid-template-columns:32% minmax(0,1fr);align-items:center;gap:40px}
.contact-telegram{margin:0;padding:0 34px 0 0;border-right:1px solid #e8eef5;text-align:center}
.contact-qr-link{display:block;width:172px;margin:0 auto;padding:10px;background:white;border:1px solid #e8eef5;border-radius:18px;transition:border-color .2s}
.contact-qr-link img{display:block;width:100%;height:auto}
.contact-telegram figcaption{display:grid;justify-items:center;gap:6px;margin-top:14px}
.contact-handle{font:600 14px/1.5 var(--serif)}
.contact-telegram figcaption>span{font-size:12px;line-height:1.65;color:var(--muted)}
.contact-telegram-direct{font-size:12px;line-height:1.6;color:var(--blue);text-decoration:underline;text-decoration-color:#bed0e5;text-underline-offset:4px;margin-top:3px}
.contact-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
.contact-item{display:flex;align-items:center;gap:16px;min-width:0;padding:14px 10px;border-radius:14px;transition:background .2s,color .2s}
.contact-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;border:1px solid #dce6ef;background:#edf4fa;color:var(--blue)}
.contact-icon svg{display:block;width:22px;height:22px;fill:currentColor}
.contact-icon svg[fill=none]{fill:none}
.contact-copy{display:grid;gap:8px;min-width:0}
.contact-label{font:600 12px/1.3 var(--serif);letter-spacing:1.2px;text-transform:uppercase;color:#5c6979}
.contact-value{font:500 15px/1.5 var(--serif);overflow-wrap:anywhere;color:var(--ink)}
.contact-item:hover{background:#f0f6fc}.contact-item:hover .contact-value{color:var(--blue)}
.contact-section a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.contact-qr-link:hover{border-color:#8daed5}
.contact-section .footer-bottom{margin-top:24px;padding-inline:8px}
@media(max-width:1050px){.contact-card{padding:32px}.contact-grid{grid-template-columns:28% minmax(0,1fr);gap:24px}.contact-telegram{padding-right:24px}.contact-socials{gap:18px 14px}.contact-item{gap:11px;padding:12px 4px}.contact-icon{width:40px;height:40px;flex-basis:40px}.contact-value{font-size:13px}.contact-qr-link{width:150px}}
@media(max-width:760px){.contact-section{padding-block:32px 22px}.contact-card{padding:28px 24px;border-radius:22px}.contact-card h2{text-align:center;font-size:24px;margin-bottom:26px}.contact-grid{grid-template-columns:1fr;gap:22px}.contact-telegram{border-right:0;border-bottom:1px solid #e8eef5;padding:0 0 24px}.contact-qr-link{width:164px}.contact-socials{gap:12px 20px}.contact-item{padding:12px 4px}.contact-value{font-size:14px}.contact-section .footer-bottom{flex-direction:row}}
@media(max-width:480px){.contact-card{padding:26px 20px}.contact-card h2{font-size:22px}.contact-socials{grid-template-columns:1fr;gap:5px}.contact-item{gap:16px;padding:13px 8px}.contact-icon{width:44px;height:44px;flex-basis:44px}.contact-value{font-size:15px}.contact-copy{gap:6px}.contact-label{font-size:11px}.contact-telegram figcaption>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.contact-item,.contact-qr-link{transition:none}}

/* Hero actions: one clear booking action with two equal page links. */
.personal-hero .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:408px;width:100%;margin-top:30px}
.hero-cta{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:58px;padding:15px 20px;border:1px solid #9eb7d4;border-radius:12px;font:500 20px/1.3 var(--sans,system-ui,sans-serif);text-align:center;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.hero-cta-book{grid-column:1/-1;min-height:64px;background:var(--blue);border-color:var(--blue);color:white;font-weight:600;box-shadow:0 6px 16px -8px #23436e66}
.hero-cta-book svg{width:23px;height:23px;flex:0 0 23px}
.hero-cta-secondary{background:#ffffffa6;color:#2e507d}
.hero-cta:focus-visible{outline:3px solid #7098cb;outline-offset:4px}
@media(hover:hover){.hero-cta:hover{transform:translateY(-2px)}.hero-cta-book:hover{background:#234670;border-color:#234670;box-shadow:0 10px 20px -10px #23436e99}.hero-cta-secondary:hover{background:white;border-color:var(--blue);box-shadow:0 5px 14px -10px #23436e88}}
.hero-cta:active{transform:translateY(0);box-shadow:none}
@media(min-width:681px) and (max-width:900px){.hero-cta{font-size:17px;padding-inline:14px}.hero-cta-book{gap:9px}}
@media(max-width:680px){.personal-hero .hero-actions{margin-top:26px;max-width:408px;gap:10px}.hero-cta{min-height:56px;padding:14px 16px;font-size:19px}.hero-cta-book{min-height:62px;font-size:20px}}
@media(max-width:360px){.hero-cta{font-size:18px}.hero-cta-book{font-size:18px;gap:9px}}
@media(prefers-reduced-motion:reduce){.hero-cta{transition:none}.hero-cta:hover{transform:none}}

/* Shared floating navigation, with a single moving highlight. */
html{scroll-padding-top:128px}
.site-header{position:sticky;top:16px;z-index:40;display:flex;align-items:center;gap:24px;min-height:86px;padding:17px 24px;margin-top:24px;background:rgba(250,253,255,.94);border:1px solid #e2ebf6;border-radius:18px;box-shadow:0 5px 24px #294f7b0a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .35s ease,background .35s ease,border-color .35s ease}
.site-header.is-scrolled{background:rgba(250,253,255,.97);border-color:#cdddf0;box-shadow:0 10px 35px #294f7b17}
.site-brand{display:block;flex:0 0 auto;border-radius:6px}
.site-brand img{width:185px;height:auto}
.site-nav-drawer{flex:1;margin-left:clamp(12px,3vw,40px);min-width:0}
.site-nav{display:flex;position:relative;align-items:center;justify-content:space-between;gap:4px;isolation:isolate}
.site-nav-link{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;min-height:48px;border-radius:11px;white-space:nowrap;color:#445469;font-size:13px;font-weight:500;line-height:1.5;transition:color .2s,background .2s}
.site-nav-link svg{width:20px;height:20px;flex:0 0 20px;transform-origin:50% 65%;transition:transform .32s cubic-bezier(.2,.75,.25,1),color .2s}
.site-nav-link[aria-current=page]{color:#28578f;background:#e4effc}
.site-nav-link:hover,.site-nav-link:focus-visible{color:#28578f;background:#e4effc}
.site-nav-login{margin-left:20px;padding-inline:18px}
.site-nav-login::before{content:"";position:absolute;width:1px;height:30px;left:-12px;top:50%;transform:translateY(-50%);background:#c9d7e8}
.site-nav-login svg{order:2}
.site-nav-indicator{display:none;position:absolute;left:0;top:0;z-index:-1;border-radius:11px;background:#e0ecfc;box-shadow:inset 0 0 0 1px #d6e6fa;pointer-events:none;opacity:0}
.menu-ready .site-nav-indicator{display:block}
.menu-ready .site-nav-link{background:transparent}
.nav-motion-ready .site-nav-indicator{transition:transform .38s cubic-bezier(.22,.8,.25,1),width .38s cubic-bezier(.22,.8,.25,1),opacity .18s}
.site-header a:focus-visible,.site-menu-toggle:focus-visible{outline:2px solid #4776af;outline-offset:3px}
.site-menu-toggle{display:none;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 13px;border:1px solid #cbdcee;border-radius:11px;background:#eff5fd;color:#315a91;font-size:13px;font-weight:600}
.site-menu-toggle[hidden]{display:none}
.site-menu-glyph{position:relative;width:19px;height:16px}
.site-menu-glyph i{display:block;position:absolute;left:0;width:19px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .3s cubic-bezier(.22,.8,.25,1),top .3s cubic-bezier(.22,.8,.25,1)}
.site-menu-glyph i:first-child{top:4px}.site-menu-glyph i:last-child{top:11px}
.is-menu-open .site-menu-glyph i:first-child{top:8px;transform:rotate(45deg)}
.is-menu-open .site-menu-glyph i:last-child{top:8px;transform:rotate(-45deg)}
@media(hover:hover){.site-nav-link:hover svg{transform:translateY(-2px) rotate(-4deg)}.site-nav-login:hover svg{transform:translateX(3px)}.site-menu-toggle:hover{background:#e1edfc;border-color:#9dbbdd}}
@media(min-width:1001px) and (max-width:1250px){.site-header{gap:14px;padding-inline:18px}.site-brand img{width:158px}.site-nav-link{padding-inline:11px;gap:8px;font-size:12px}.site-nav-login{margin-left:12px}.site-nav-login::before{left:-8px}.site-nav-link svg{width:18px;height:18px;flex-basis:18px}}
@media(max-width:1000px){
  .site-header{display:grid;grid-template-columns:1fr auto;gap:0;min-height:78px;top:12px;margin-top:16px;padding:14px 18px;border-radius:16px}
  .site-brand{justify-self:start}.site-brand img{width:165px}
  .site-menu-toggle:not([hidden]){display:flex}
  .site-nav-drawer{grid-column:1/-1;display:grid;grid-template-rows:1fr;margin:0;opacity:1;visibility:visible}
  .site-nav-clip{overflow:hidden;min-height:0}
  .site-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:16px;margin-top:14px;border-top:1px solid #dfE8f4}
  .site-nav-link{justify-content:flex-start;padding:14px 16px;min-height:52px;white-space:normal}
  .site-nav-login{margin:0}.site-nav-login::before{display:none}.site-nav-login svg{order:0}
  .menu-ready .site-nav-indicator{display:none}
  .menu-ready .site-nav-link[aria-current=page]{background:#e0ecfc}
  .menu-ready .site-nav-link:hover{background:#edf4fd}
  .menu-ready .site-nav-drawer{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .34s cubic-bezier(.22,.8,.25,1),opacity .2s ease,visibility .34s}
  .menu-ready .site-nav-link{opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .25s cubic-bezier(.22,.8,.25,1),background .2s,color .2s}
  .is-menu-open .site-nav-drawer{grid-template-rows:1fr;opacity:1;visibility:visible}
  .is-menu-open .site-nav-link{opacity:1;transform:none;transition-delay:calc(var(--nav-order)*22ms)}
}
@media(max-width:600px){.site-header{width:calc(100% - 28px);padding:12px 14px;min-height:72px;top:10px;margin-top:12px}.site-brand img{width:150px}.site-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.site-nav-link{font-size:13px;padding:13px 12px;gap:11px}.site-menu-toggle{min-height:44px}.site-nav-link svg{width:19px;height:19px;flex-basis:19px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-nav-indicator,.site-nav-link,.site-nav-link svg,.site-menu-glyph i,.menu-ready .site-nav-drawer,.menu-ready .site-nav-link,.nav-motion-ready .site-nav-indicator{transition:none!important}.site-nav-link:hover svg,.menu-ready .site-nav-link{transform:none}}

/* Compact scroll state: less space above, substantially smaller floating bar. */
html{scroll-padding-top:76px}
.site-header{top:8px;margin-top:8px;transition:top .42s cubic-bezier(.22,.8,.25,1),min-height .42s cubic-bezier(.22,.8,.25,1),padding .42s cubic-bezier(.22,.8,.25,1),width .42s cubic-bezier(.22,.8,.25,1),max-width .42s cubic-bezier(.22,.8,.25,1),border-radius .42s cubic-bezier(.22,.8,.25,1),box-shadow .35s,background .35s,border-color .35s}
.site-brand img{transition:width .42s cubic-bezier(.22,.8,.25,1)}
.site-nav-link{transition:padding .42s cubic-bezier(.22,.8,.25,1),min-height .42s cubic-bezier(.22,.8,.25,1),font-size .42s cubic-bezier(.22,.8,.25,1),gap .42s cubic-bezier(.22,.8,.25,1),color .2s,background .2s}
.site-nav-link svg{transition:width .42s,height .42s,flex-basis .42s,transform .32s cubic-bezier(.2,.75,.25,1),color .2s}
.site-nav-login::before{transition:height .42s}
.site-header.nav-is-resizing .site-nav-indicator{transition:none}
@media(min-width:1001px){
  .site-header.is-scrolled{top:4px;min-height:52px;padding:6px 18px;max-width:1080px;width:calc(100% - 144px);border-radius:13px}
  .site-header.is-scrolled .site-brand img{width:124px}
  .site-header.is-scrolled .site-nav-link{min-height:38px;padding:8px 11px;font-size:12px;gap:8px}
  .site-header.is-scrolled .site-nav-link svg{width:17px;height:17px;flex-basis:17px}
  .site-header.is-scrolled .site-nav-login::before{height:23px}
}
@media(max-width:1000px){
  .site-header{top:6px;margin-top:6px}
  .site-header.is-scrolled{top:4px;min-height:50px;padding:2px 12px;border-radius:12px}
  .site-header.is-scrolled .site-brand img{width:114px}
  .site-menu-toggle{transition:background .2s,padding .42s,min-height .42s,font-size .42s}
  .site-header.is-scrolled .site-menu-toggle{min-height:44px;padding:8px 11px;font-size:12px;background:transparent;border-color:transparent}
  .site-header.is-scrolled.is-menu-open{padding-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.site-brand img,.site-nav-login::before,.site-menu-toggle{transition:none!important}}

/* Platform editorial layout: larger imagery and clearer heading hierarchy. */
.cabinet-story-intro{align-items:center;padding-block:62px 34px;gap:72px}
.cabinet-story-intro h1{font-size:clamp(54px,5.7vw,86px);line-height:1.08;letter-spacing:-2.8px}
.cabinet-story-intro>p{font-size:18px;line-height:1.8;max-width:500px;padding:0}
.cabinet-roadmap{width:calc(100% - 64px);max-width:1600px}
.cabinet-roadmap .roadmap-line,.cabinet-roadmap .roadmap-dot{display:none}
.cabinet-step{grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr);gap:clamp(32px,4vw,64px);padding:62px 0;align-items:center;border-bottom:1px solid #c9d9eb;scroll-margin-top:74px}
.cabinet-step:last-child{border-bottom:0}
.cabinet-step:nth-of-type(even){grid-template-columns:minmax(280px,1fr) minmax(0,2.15fr)}
.cabinet-step .cabinet-step-copy{grid-column:2;grid-row:1;padding:0;max-width:390px;justify-self:center}
.cabinet-step .cabinet-step-visual{grid-column:1;grid-row:1}
.cabinet-step:nth-of-type(even) .cabinet-step-copy{grid-column:1;padding:0}
.cabinet-step:nth-of-type(even) .cabinet-step-visual{grid-column:2}
.cabinet-step-copy .eyebrow{display:flex;align-items:center;gap:11px;color:#406694;font:600 11px/1.5 var(--sans);letter-spacing:1.1px;margin-bottom:18px}
.cabinet-step-copy .eyebrow::before{content:"";width:24px;height:1px;background:#648cba;flex:0 0 24px}
.cabinet-step-copy h2{font:400 clamp(34px,3.3vw,49px)/1.12 var(--serif);letter-spacing:-1.3px;text-wrap:initial}
.cabinet-step-copy h2 em{font-weight:400;color:#315a91}
.cabinet-step-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#4c5e74;margin-top:24px}
.cabinet-step-copy>.cabinet-step-note{border-top:0;border-left:2px solid #99b8db;padding:2px 0 2px 15px;font-size:14px!important;line-height:1.7!important;margin-top:22px!important;color:#365579}
.cabinet-image-button{border-radius:18px;border-color:#c7d9ee;box-shadow:0 18px 50px -32px #274a764d}
.cabinet-image-zoom{width:38px;height:38px;right:14px;bottom:14px;background:#f8fbfff2}
.cabinet-enroll{display:flex;justify-content:center;padding-block:24px 36px}
.cabinet-enroll .hero-cta{width:100%;max-width:360px;min-height:66px;font-size:21px}
.cabinet-page .contact-section{padding-top:26px}
@media(max-width:1100px){.cabinet-step,.cabinet-step:nth-of-type(even){grid-template-columns:1fr;gap:28px;padding-block:48px}.cabinet-step .cabinet-step-copy,.cabinet-step:nth-of-type(even) .cabinet-step-copy{grid-column:1;grid-row:1;max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}.cabinet-step-copy .eyebrow{grid-column:1;grid-row:1}.cabinet-step-copy h2{grid-column:1;grid-row:2/4;font-size:42px}.cabinet-step-copy>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0;font-size:16px}.cabinet-step-copy>p.cabinet-step-note{grid-row:3;margin-top:16px!important}.cabinet-step .cabinet-step-visual,.cabinet-step:nth-of-type(even) .cabinet-step-visual{grid-column:1;grid-row:2}.cabinet-story-intro{gap:36px;padding-top:44px}.cabinet-story-intro>p{font-size:16px}}
@media(max-width:680px){.cabinet-story-intro{padding-block:36px 18px;gap:22px}.cabinet-story-intro h1{font-size:clamp(45px,10.8vw,62px);letter-spacing:-1.8px}.cabinet-story-intro>p{font-size:16px;line-height:1.8}.cabinet-roadmap{width:calc(100% - 28px)}.cabinet-step,.cabinet-step:nth-of-type(even){padding:34px 0 38px;gap:24px}.cabinet-step .cabinet-step-copy,.cabinet-step:nth-of-type(even) .cabinet-step-copy{display:block;padding-inline:8px}.cabinet-step-copy .eyebrow{font-size:10px;margin-bottom:14px}.cabinet-step-copy h2{font-size:38px;letter-spacing:-1px}.cabinet-step-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:20px}.cabinet-step-copy>.cabinet-step-note{font-size:14px!important;margin-top:18px!important;padding:0 0 0 14px}.cabinet-image-button{border-radius:12px}.cabinet-image-zoom{width:32px;height:32px;right:8px;bottom:8px}.cabinet-enroll{padding-block:22px 20px}.cabinet-enroll .hero-cta{min-height:62px;font-size:20px}.cabinet-page .contact-section{padding-top:18px}}
.site-header{background:linear-gradient(110deg,#174e82,#10365e);border-color:#245886;box-shadow:0 8px 26px #173f6b24;color:#e6f1ff}
.site-header.is-scrolled{background:linear-gradient(110deg,#174e82,#10365e);border-color:#2a5d8c;box-shadow:0 8px 26px #10365e30}
.site-header .site-brand img{filter:brightness(0) invert(1)}
.site-header .site-nav-link{color:#e2edfa}
.site-header .site-nav-link svg{color:#bfd9f4}
.site-header .site-nav-link[aria-current=page],.site-header .site-nav-link:hover,.site-header .site-nav-link:focus-visible{color:#fff;background:#ffffff18}
.site-header .site-nav-link[aria-current=page] svg,.site-header .site-nav-link:hover svg{color:#fff}
.site-header.menu-ready .site-nav-link{background:transparent}
.site-header .site-nav-indicator{background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff24}
.site-header .site-nav-login::before{background:#ffffff35}
.site-header a:focus-visible,.site-header .site-menu-toggle:focus-visible{outline-color:#a5d7ff}
.site-header .site-menu-toggle{color:#edf6ff;background:#ffffff0d;border-color:#ffffff38}
.site-header .site-menu-toggle:hover{background:#ffffff1c;border-color:#ffffff59}
@media(max-width:1000px){.site-header .site-nav{border-top-color:#ffffff26}.site-header.menu-ready .site-nav-link[aria-current=page]{background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff24}.site-header.menu-ready .site-nav-link:hover{background:#ffffff12}.site-header.is-scrolled .site-menu-toggle{color:#edf6ff}}
.page-back{display:flex;align-items:center;margin-top:24px;margin-bottom:0}
.page-back .back-button{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:6px 18px 6px 7px;border:1px solid #b9cfe6;border-radius:12px;background:#f9fcff;color:#174e82;font:600 13px/1.5 var(--sans);text-decoration:none;box-shadow:0 3px 10px #174e8208,inset 0 1px 0 #fff;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.back-button-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:#e2eefb;color:#174e82;transition:background .25s}
.back-button-icon svg{width:20px;height:20px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.page-back .back-button:focus-visible{outline:3px solid #5a98ce;outline-offset:4px}
.page-back .back-button:active{transform:translateY(1px);box-shadow:none}
@media(hover:hover){.page-back .back-button:hover{background:#edf5ff;border-color:#7ea6ce;box-shadow:0 5px 16px #174e8214}.back-button:hover .back-button-icon{background:#d3e5f9}.back-button:hover svg{transform:translateX(-3px)}}
.page-back+main.about-profile{padding-top:28px}
.page-back+main.legacy-content{padding-top:26px}
.page-back+main .pricing-layout{padding-top:28px}
.page-back+main .platform-document-intro{padding-top:28px}
@media(max-width:680px){.page-back{margin-top:18px}.page-back .back-button{font-size:13px;padding-right:15px}.page-back+main.about-profile,.page-back+main.legacy-content{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.page-back .back-button,.back-button-icon,.back-button-icon svg{transition:none}}

/* A quiet, clearly actionable companion to the deep-blue navigation. */
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:35;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #41729f;border-radius:15px;background:linear-gradient(135deg,#174e82,#10365e);color:#fff;box-shadow:0 7px 22px #10365e29,inset 0 1px 0 #ffffff1c;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,visibility .25s,transform .3s cubic-bezier(.22,.8,.25,1),box-shadow .25s,border-color .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top svg{width:24px;height:24px;transition:transform .25s cubic-bezier(.22,.8,.25,1)}
.back-to-top:focus-visible{outline:3px solid #6fa9df;outline-offset:4px}
.back-to-top:active{transform:translateY(1px);box-shadow:0 3px 10px #10365e29}
@media(hover:hover){.back-to-top:hover{border-color:#8ab8e2;box-shadow:0 10px 26px #10365e38}.back-to-top:hover svg{transform:translateY(-3px)}}
body:has(dialog[open]) .back-to-top{visibility:hidden;pointer-events:none;opacity:0}
.contact-section .footer-bottom{padding-right:70px;min-height:28px;align-items:center}
@media(max-width:680px){.back-to-top{width:48px;height:48px;border-radius:14px;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top svg{transition:none;transform:none}}
