@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url('/_optimized/onest-cyrillic-c3f4223046fb9623a0e9.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url('/_optimized/onest-latin-cc61cbd632bb677cd55f.woff2') format('woff2')}
/* Self-contained native dialogs shared by the homepage, guide and articles. */
dialog,dialog *{box-sizing:border-box;font-family:Onest,Arial,sans-serif}dialog button,dialog input,dialog select{font:inherit}dialog button{cursor:pointer}dialog a{color:inherit}dialog .button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:10px;background:#1a1a1a;color:#fff;padding:12px 20px;font-size:20px;cursor:pointer}
.modal-open{
  overflow:hidden
}
dialog{
  border:0;
  color:#1a1a1a;
  padding:0;
  max-height:calc(100dvh - 40px);
  overflow:auto;
  overscroll-behavior:contain
}
dialog::backdrop{
  background:#0009
}
/* Keep a block-level sticky control: the shared icon treatment uses inline-grid,
   which makes auto margins ineffective and sends this button to the left. */
html body dialog>button.dialog-close{
  position:sticky;
  top:16px;
  margin:16px 16px -60px auto;
  display:grid;
  z-index:1;
  width:44px;
  height:44px;
  font-size:36px;
  line-height:1;
  border:0;
  background:transparent;
  color:#1a1a1a
}
.callback-dialog{
  width:560px;
  max-width:calc(100% - 40px);
  border-radius:30px
}
.callback-image{
  display:block;
  width:100%;
  height:auto
}
.callback-content{
  padding:40px 45px 30px;
  text-align:center
}
.callback-content h2{
  font-size:36px;
  line-height:1.23;
  margin:0 0 16px;
  font-weight:600
}
.callback-content>p{
  font-size:16px;
  line-height:1.55;
  margin:0 0 24px
}
.callback-content form{
  display:flex;
  flex-direction:column;
  gap:24px
}
.callback-content input{
  width:100%;
  min-width:0;
  background:#f0f0f0;
  border:0;
  border-radius:20px;
  color:#222;
  padding:0 20px;
  height:60px;
  font-size:16px
}
.phone-field{
  display:flex;
  background:#f0f0f0;
  border-radius:20px;
  align-items:center
}
.phone-field select{
  border:0;
  background:transparent;
  width:85px;
  max-width:30%;
  padding-left:12px;
  font-size:14px
}
.phone-field input{
  padding-left:0
}
.callback-content .button{
  height:60px;
  font-size:20px
}
.callback-content .form-policy{
  color:#888;
  font-size:14px;
  margin:20px 0 0
}
.form-policy a{
  text-decoration:underline
}
.form-status{
  padding:20px;
  background:#e1f2e7;
  border-radius:16px;
  color:#163d24;
  font-size:16px;
  line-height:1.5
}
.license-dialog{
  width:900px;
  max-width:calc(100% - 40px);
  border-radius:20px
}
.license-dialog iframe{
  display:block;
  border:0;
  width:100%;
  height:80dvh
}
.notice-dialog{
  width:440px;
  max-width:calc(100% - 40px);
  padding:32px;
  border-radius:20px;
  box-shadow:0 10px 60px #0005;
  font-size:18px;
  line-height:1.5
}
.notice-dialog h2{
  font-size:24px;
  margin:0 0 16px
}
.notice-dialog .button{
  font-size:18px;
  margin-top:20px
}

.phone-field .phone-code{
  font-size:16px;
  padding-right:4px;
  white-space:nowrap
}.phone-field select{
  width:44px;
  max-width:44px;
  padding-left:8px
}.phone-field select{
  position:absolute;
  left:0;
  top:0;
  width:44px;
  height:60px;
  opacity:0;
  cursor:pointer
}.phone-field{
  position:relative
}.country-flag{
  width:44px;
  flex:none;
  text-align:center;
  font-size:16px
}.phone-field:focus-within{
  outline:2px solid #978aff;
  outline-offset:2px
}
@media(max-width:640px){.callback-dialog{
    max-width:calc(100% - 20px);
    max-height:calc(100dvh - 20px)
  }.callback-content{
    padding:24px 20px
  }.callback-content h2{
    font-size:28px
  }.callback-content form{
    gap:20px
  }}

.callback-dialog{width:460px}.callback-content h2{font-size:32px;margin-bottom:11px}.callback-content>p{font-size:14px;margin-bottom:24px}.callback-content form{gap:25px}.callback-content{padding:40px 45px}.callback-image{margin-top:-1px}.callback-content input,.phone-field{background:var(--ds-field-bg,#fff)}
.callback-dialog{background:var(--school-card-bg,#f5f5f5)}
.callback-content input,.phone-field{height:var(--ds-field-height);border:var(--ds-field-border-width) solid var(--ds-field-border);border-radius:var(--ds-field-radius);background:var(--ds-field-bg);color:var(--ds-field-text);font-size:14px;outline:0;box-shadow:none;transition:background-color .15s,border-color .15s}
.callback-content input::placeholder{color:var(--ds-field-placeholder);opacity:1}
.callback-content input:hover,.phone-field:hover{background:var(--ds-field-bg-hover);border-color:var(--ds-field-border-hover)}
.callback-content input:focus-visible,.phone-field:focus-within{background:var(--ds-field-bg);border-color:var(--ds-field-border-focus);outline:0}
.phone-field input{flex:1;min-width:0;width:0;height:100%;border:0;padding-left:0;background:transparent}
.phone-field select{height:100%}
@media(max-width:640px){.callback-content{padding:24px 20px}.callback-content h2{font-size:28px}.callback-content form{gap:20px}.callback-content input{font-size:16px}}

/* A country is selected by its dial code, without flag imagery. */
.phone-field{padding-left:16px}
.phone-field .phone-code{position:relative;z-index:1;pointer-events:none;padding-right:10px}
.phone-field select{width:54px;max-width:54px;z-index:2}

.callback-content form{gap:7px}

.phone-field select[hidden]{display:none!important}
.phone-field .phone-code{font:400 14px/1.5 Onest,Arial,sans-serif;color:var(--ds-field-text)}
@media(max-width:640px){.phone-field .phone-code{font-size:16px}}
.phone-field .phone-code{display:block;align-self:center;height:auto;margin:0;padding-top:0;padding-bottom:0;color:var(--ds-field-placeholder);line-height:1.5}

.license-document{padding:32px;max-height:80vh;overflow:auto;background:var(--school-card-bg);color:var(--school-ink);font-family:var(--school-font)}
.license-document h2{margin:0 40px 24px 0;font-size:26px;line-height:1.3;font-weight:500}
.license-document p{font-size:18px;margin:0 0 24px}
.license-document img{display:block;width:100%;height:auto;margin:20px 0}
@media(max-width:600px){.license-document{padding:24px 16px}.license-document h2{font-size:22px}}

/* Pair the original vector contours with the dark dialog surface. */
html[data-learning-theme=dark] .callback-image{content:url("/_optimized/callback-dark-6a1f34b41a8f2d1b3f4b.svg")}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--school-page-bg);color:var(--school-ink);font-family:var(--school-font)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--school-link);outline-offset:4px}.public-main{width:var(--school-content-width);max-width:100%;margin:0 auto;padding:24px 0 80px}.public-title{max-width:1000px;margin:48px auto;font-size:var(--school-type-section);font-weight:500;line-height:1.2;letter-spacing:-.03em;text-align:center}.native-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 28px;border:0;border-radius:16px;background:var(--school-ink);color:#fff;text-decoration:none;font-size:20px;line-height:1.4}.test-heading{max-width:900px;margin:64px auto;font-size:var(--school-type-section);font-weight:500;line-height:1.1;letter-spacing:-.03em;text-align:center}.native-test{width:min(760px,100%);margin:0 auto 48px;padding:45px;border-radius:32px;background:var(--school-card-bg);scroll-margin-top:120px}.test-intro{text-align:center}.test-intro>p:first-child{margin:0 0 20px;color:#777}.test-intro h2{font-size:30px;line-height:1.3;font-weight:600;margin:0 0 24px}.test-start-image{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:32px;margin-bottom:28px}.test-intro>p{font-size:20px;line-height:1.55;margin:24px 0}.native-test fieldset{margin:0;border:0;padding:0;min-width:0}.native-test legend{width:100%;padding:0;font-size:22px;line-height:1.5;font-weight:500;overflow-wrap:anywhere;outline:none}.native-test [data-quiz-progress]{text-align:right;color:#777;font-size:18px;margin:0 0 24px}.test-answers{display:flex;flex-direction:column;gap:12px;margin:36px 0 20px}.test-answers label{display:flex;align-items:flex-start;gap:14px;min-height:50px;padding:12px;border-radius:14px;cursor:pointer;font-size:20px;line-height:1.5;overflow-wrap:anywhere}.test-answers input{flex:0 0 auto;width:22px;height:22px;margin:4px 0;accent-color:#1a1a1a}.test-answers label:hover{background:var(--school-page-bg)}.test-answers label.is-correct{background:#e2f2df}.test-answers label.is-wrong{background:#f9dfdc}.test-question-image{display:block;max-width:100%;max-height:380px;width:auto;height:auto;margin:24px auto;object-fit:contain;border-radius:16px}.native-test [data-quiz-feedback]{font-size:20px;line-height:1.5;min-height:30px;margin:16px 0}.test-result{text-align:center}.test-result-image{display:block;width:100%;height:260px;object-fit:cover;border-radius:24px}.test-result [data-quiz-score]{font-size:40px;font-weight:600;margin:24px 0}.test-result h2{font-size:30px;line-height:1.3;font-weight:500;outline:none}.test-result>div{font-size:20px;line-height:1.6;margin-bottom:24px}.legal-top{display:flex;align-items:center;gap:16px;margin:32px 0 44px;font-size:24px;font-weight:500}.legal-tools{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.legal-tools button{border:0;border-radius:14px;padding:12px 16px;min-height:48px;background:var(--school-card-bg);font-size:18px}.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}.legal-document{min-width:0;--legal-size:20px;font-size:var(--legal-size);line-height:1.75;overflow-wrap:anywhere}.legal-document h1{font-size:42px;font-weight:500;line-height:1.15;letter-spacing:-.03em;margin:0 0 32px}.legal-document h2{font-size:28px;font-weight:500;line-height:1.3;margin:42px 0 22px}.legal-document h3{font-size:24px;font-weight:500}.legal-document p{margin:0 0 22px}.legal-document ul,.legal-document ol{padding-left:26px}.legal-document li{margin-bottom:12px}.legal-document a{color:inherit;text-decoration-color:var(--school-link);text-underline-offset:4px}.legal-toc{position:sticky;top:130px;border-radius:20px;background:var(--school-card-bg);padding:24px}.legal-toc summary{font-size:20px;font-weight:500;cursor:pointer}.legal-toc nav{display:flex;flex-direction:column;gap:16px;max-height:65vh;overflow:auto;padding-top:24px}.legal-toc a{font-size:18px;line-height:1.45;text-decoration:none}.legal-toc a:hover{color:var(--school-link)}.license-scan{display:block;width:100%;height:auto;margin:24px 0;border-radius:12px}.disclosures{max-width:1000px;margin:auto}.disclosures details{border-radius:20px;background:var(--school-card-bg);margin:16px 0;padding:26px}.disclosures summary{font-size:24px;line-height:1.4;font-weight:500;cursor:pointer}.disclosures details>div{padding-top:24px;font-size:20px;line-height:1.75;overflow-wrap:anywhere}.disclosures a{color:inherit;text-underline-offset:4px}.payment-page input:not([type=checkbox]){width:100%;border:2px solid var(--ds-field-border);border-radius:var(--ds-field-radius);padding:14px 18px;min-height:56px;background:var(--ds-field-bg);color:var(--ds-field-text)}.status-page{min-height:60vh;text-align:center;padding-top:100px}.status-page h1{font-size:48px;font-weight:500;line-height:1.2;letter-spacing:-.03em}.status-page p{font-size:22px;line-height:1.6;max-width:760px;margin:28px auto}.status-page>a{margin:20px auto}.payment-page{padding-top:56px;font-size:20px;line-height:1.6}.payment-page h1{font-size:40px;font-weight:500}.payment-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.payment-page .card{border-radius:24px;background:var(--school-card-bg);padding:32px}.payment-page label{display:block;margin:20px 0 8px}.payment-page input[type=checkbox]{width:22px;height:22px;accent-color:#1a1a1a;margin-right:10px}.payment-page button{margin-top:24px;border:0;border-radius:16px;padding:16px 24px;background:#1a1a1a;color:#fff;font-size:20px}.payment-page .muted{font-size:18px;color:#666}
@media(max-width:1023px){.legal-layout{grid-template-columns:1fr;gap:32px}.legal-toc{position:static;grid-row:1}.legal-toc nav{max-height:300px}.test-heading{margin:40px auto}.legal-document h1{font-size:38px}.legal-top{flex-wrap:wrap}.legal-tools{margin-left:0}.payment-page .grid{grid-template-columns:1fr}}
@media(max-width:767px){html{scroll-padding-top:var(--school-public-header-clearance,80px)}.public-main{padding-top:var(--school-public-header-clearance,80px)}.public-main:has(.school-breadcrumbs){padding-top:0}.test-heading{font-size:30px;margin:32px auto}.native-test{padding:24px 20px;border-radius:24px;scroll-margin-top:120px}.test-intro h2{font-size:26px}.test-start-image{border-radius:24px}.test-intro>p{font-size:18px}.native-test legend{font-size:22px}.test-answers label{font-size:18px;padding:10px 8px}.test-answers{margin-top:28px}.native-button{font-size:18px;width:100%}.legal-top{gap:12px;font-size:22px;margin:28px 0}.legal-top>span{flex:1}.legal-tools{width:100%;justify-content:flex-start}.legal-document{font-size:var(--legal-size,18px)}.legal-document h1{font-size:34px}.legal-document h2{font-size:26px}.legal-document h3{font-size:22px}.disclosures details{padding:22px}.disclosures summary{font-size:22px}.disclosures details>div{font-size:18px}.status-page h1{font-size:36px}.status-page p{font-size:20px}.payment-page .card{padding:24px}.payment-page h1{font-size:34px}.payment-page input{min-width:0;max-width:100%}}
@media print{[data-school-shell],.legal-tools,.legal-toc{display:none!important}.public-main{width:100%;padding:0}.legal-layout{display:block}.legal-document{font-size:12pt}.legal-document h1{font-size:24pt}body{background:#fff;color:#000}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.legal-tools button:has(.school-icon){display:flex;gap:10px;align-items:center}
.status-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;font-size:20px}
.public-page-list{max-width:1000px;margin:0 auto;padding-left:24px;font-size:20px;line-height:1.6}.public-page-list li{margin:20px 0}

/* Shared pack chevron replaces browser disclosure triangles on public documents. */
:is(.legal-toc,.disclosures details)>summary{display:flex;align-items:center;gap:12px;list-style:none}
:is(.legal-toc,.disclosures details)>summary::-webkit-details-marker{display:none}
:is(.legal-toc,.disclosures details)>summary::marker{content:""}
:is(.legal-toc,.disclosures details)>summary>.school-icon{width:24px;height:24px;flex:0 0 24px;fill:none;transition:transform .18s ease}
:is(.legal-toc,.disclosures details)[open]>summary>.school-icon{transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){:is(.legal-toc,.disclosures details)>summary>.school-icon{transition:none}}

/* Maps-style reviews use the footer container and two equal-height surfaces. */
.reviews-page{width:var(--school-footer-width);max-width:100%;margin:24px auto 50px;color:var(--school-ink)}
.reviews-page-heading{text-align:center;margin:8px 0 36px}
.reviews-page-heading h1{font-size:40px;font-weight:500;line-height:1.15;letter-spacing:-.03em;margin:0 0 14px}
.reviews-page-heading p{font-size:18px;line-height:1.5;color:var(--school-muted);margin:0}
.reviews-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:40px;align-items:stretch;height:660px}
.reviews-photo{margin:0;min-width:0;min-height:0;height:100%;border-radius:28px;overflow:hidden;background:#e6dbc4}
.reviews-photo img{display:block;width:100%;height:100%;object-fit:cover}
.reviews-panel{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}
.reviews-widget{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%;padding:20px;border:0;box-shadow:none;background:var(--school-card-bg);border-radius:28px;text-align:left}
.reviews-svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.reviews-widget-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;font-size:16px;line-height:1.3}
.reviews-widget-heading>a{flex:none;font-size:12px;color:var(--school-muted);text-decoration:none;white-space:nowrap}
.reviews-rating{display:flex;gap:12px;align-items:center;margin:14px 0 20px}
.reviews-rating>span{font-size:44px;line-height:1;letter-spacing:-.04em}
.reviews-rating small{display:block;font-size:12px;line-height:1.5;color:var(--school-muted);margin-top:4px}
.reviews-stars{display:flex;gap:0;color:#ffcc00}
.reviews-stars svg{display:block;width:18px;height:18px;flex:none}
.reviews-write{display:flex;gap:12px;align-items:center;justify-content:center;border-radius:8px;padding:12px;background:var(--school-page-bg);font-size:13px;font-weight:500}
.reviews-blue-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:7px;background:#258bff;color:white;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.reviews-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:6px}
.reviews-entry{padding:20px 0;border-bottom:1px solid var(--ds-field-border,#eee)}
.reviews-entry:last-child{border:0}
.reviews-entry header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.reviews-entry header img,.reviews-avatar{display:grid;place-items:center;width:40px;height:40px;object-fit:cover;border-radius:50%;background:#e3f5f1;flex:none}
.reviews-entry h2{font-size:14px;font-weight:600;line-height:1.4;margin:0}
.reviews-entry time{font-size:12px;color:var(--school-muted)}
.reviews-entry p{font-size:14px;line-height:1.45;margin:8px 0 0;white-space:pre-line}
.reviews-excerpt:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.reviews-expand,.reviews-original{display:inline-block;font-size:12px;line-height:1.4;color:var(--school-muted);background:none;border:0;padding:4px 0;text-decoration:none;cursor:pointer}
.reviews-original{color:#258bff;margin-inline-start:8px}
.reviews-more-button,.reviews-maps-button{display:block;text-align:center;border:0;border-radius:8px;padding:12px 14px;font:600 13px/1.4 Onest,Arial,sans-serif;color:#258bff;background:var(--school-page-bg);text-decoration:none;cursor:pointer}
.reviews-more-button{width:100%;margin:12px 0 8px}
.reviews-maps-button{background:transparent}
.reviews-widget-heading,.reviews-rating,.reviews-write,.reviews-more-button,.reviews-maps-button{flex:none}
.reviews-page>.reviews-source{text-align:center;font-size:11px;line-height:1.5;color:var(--school-muted);margin:18px 0 0}
@media(max-width:1100px) and (min-width:901px){.reviews-split{gap:24px}.reviews-widget-heading{font-size:14px}}
@media(max-width:900px){.reviews-page{margin-top:var(--school-public-header-clearance,80px)}.reviews-split{height:auto;grid-template-columns:1fr;grid-template-rows:auto auto;gap:28px}.reviews-photo{height:auto;aspect-ratio:4/3}.reviews-panel{height:660px}.reviews-page-heading h1{font-size:34px}.reviews-page-heading{margin-bottom:28px}}
@media(max-width:479px){.reviews-page-heading h1{font-size:28px}.reviews-page-heading p{font-size:16px}.reviews-panel{height:640px}.reviews-widget,.reviews-photo{border-radius:24px}.reviews-widget{padding:18px}.reviews-widget-heading{font-size:14px;gap:10px}.reviews-widget-heading>a{font-size:10px}.reviews-write{flex-wrap:wrap;gap:8px}.reviews-entry header{gap:10px}}
