/* Speekset Studio: warm paper, clear type, real learning scenes. */
:root {
  --paper: #f6f3ec;
  --ink: #20342c;
  --green: #233e31;
  --muted: #626b61;
  --line: #d4d8ce;
  --orange: #b95f40;
  --lime: #e2e8d9;
  --serif: 'Manrope', 'DM Sans', Arial, sans-serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --heading: 'Manrope', 'DM Sans', Arial, sans-serif;
}
body { background: var(--paper); color: var(--ink); }
.studio-theme .wrap { width: min(1240px, calc(100% - 96px)); }
.studio-theme h1, .studio-theme h2, .studio-theme h3 { font-family: var(--heading); }
.studio-theme h2 { font-size: 46px; font-weight: 650; line-height: 1.15; letter-spacing: -1.8px; }
.studio-theme h2 em { font-family: inherit; font-style: normal; font-weight: inherit; }
.studio-theme .eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 1.6px; line-height: 1.8; }
.studio-theme .site-header { height: 100px; gap: 24px; border-color: var(--line); }
.studio-theme .brand { font-family: var(--heading); font-size: 39px; font-weight: 750; letter-spacing: -2.7px; }
.studio-theme .brand-period { color: var(--orange); }
.studio-theme nav { margin: 0; gap: 25px; }
.studio-theme nav a { font-size: 13px; }
.studio-theme .header-actions { gap: 21px; }
.studio-theme .language-switch { border: 1px solid #cdd3c6; border-radius: 4px; padding: 3px; background: transparent; box-shadow: none; gap: 2px; }
.studio-theme .language-switch button, .studio-theme .language-switch a { border-radius: 2px; font-size: 11px; padding: 9px 11px; min-height: 33px; box-shadow: none; }
.studio-theme .language-switch button[aria-pressed=true], .studio-theme .language-switch a[aria-current=page] { background: var(--green); color: #fff; box-shadow: none; }
.studio-theme .button { min-height: 54px; border-radius: 4px; padding-inline: 23px; font-size: 14px; font-weight: 550; gap: 22px; box-shadow: none; }
.studio-theme .button-dark { background: var(--green); color: #fff; }
.studio-theme .button-dark:hover { background: #355541; }
.studio-theme .button-outline { border: 1px solid #a7b39f; background: transparent; color: var(--ink); }
.studio-theme .button-small { min-height: 44px; font-size: 12px; padding-inline: 17px; gap: 13px; }
.studio-theme .button:hover { transform: translateY(-1px); }
.studio-theme .text-link { color: var(--ink); font-weight: 550; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.studio-theme .hero { grid-template-columns: 1.04fr 1fr; gap: 76px; padding: 88px 0 100px; align-items: center; }
.studio-theme .hero-copy { max-width: 570px; }
.studio-theme .hero h1 { font-size: 72px; line-height: 1.06; font-weight: 700; letter-spacing: -3.7px; margin: 20px 0 26px; }
.studio-theme .hero h1 em { font-family: var(--heading); font-style: normal; color: var(--orange); font-weight: inherit; }
.studio-theme .hero h1 em:after { display: none; }
.studio-theme .hero-description { font-size: 17px; line-height: 1.8; max-width: 480px; margin: 0 0 30px; color: #566353; }
.studio-theme .hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 17px; }
.studio-theme .hero-actions .tour-button { border: 0; border-radius: 0; background: none; font-size: 13px; padding: 12px 0; min-height: 48px; gap: 8px; }
.studio-theme .tour-button .play-circle { border: 0; width: 23px; height: 23px; background: none; }
.studio-theme .tour-button .play-circle svg { width: 17px; height: 17px; }
.studio-theme .hero-note { max-width: none; margin-top: 23px; font-size: 11px; line-height: 1.8; color: #65705f; }
.studio-theme .tiny-spark { display: none; }
.studio-theme .studio-hero-art { margin: 0; height: 475px; position: relative; min-width: 0; }
.studio-theme .hero-art .photo-frame { position: absolute; inset: 0 25px 15px 0; border: 0; border-radius: 5px; background: #e0e4db; box-shadow: none; transform: none; overflow: hidden; }
.studio-theme .photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 50%; }
.studio-teacher-inset { width: 174px; height: 229px; border: 6px solid var(--paper); position: absolute; right: -13px; bottom: -4px; border-radius: 6px; background: var(--green); overflow: hidden; }
.studio-teacher-inset img { width: 100%; height: calc(100% - 34px); object-fit: cover; object-position: 50% 29%; }
.studio-teacher-inset>span { display: flex; align-items: center; justify-content: center; gap: 6px; height: 34px; font-size: 7px; letter-spacing: .7px; font-weight: 550; color: #f4f3ea; }
.studio-teacher-inset i { width: 5px; height: 5px; border-radius: 50%; background: #b9d7a9; }
.studio-hero-art>figcaption { position: absolute; left: 0; bottom: -22px; font-size: 9px; line-height: 1.6; color: #697361; max-width: 65%; }
.studio-theme .language-bar, .studio-theme .hu-context { margin-bottom: 0; border-color: var(--line); padding-block: 22px; }
.studio-theme .course-switch { gap: 25px; }
.studio-theme .course-switch button { font-size: 11px; }
.studio-theme .language-bar .small-label { font-size: 9px; letter-spacing: 1.2px; }
.studio-theme .section-heading { align-items: flex-start; gap: 50px; margin-bottom: 35px; }
.studio-theme .section-description { font-size: 14px; line-height: 1.8; max-width: 350px; }

/* The three-step explanation is intentionally concrete and self-contained. */
.studio-how { padding: 80px 0; background: #eeeee6; border-bottom: 1px solid var(--line); }
.studio-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; margin-bottom: 35px; }
.studio-section-heading h2 { margin: 10px 0 0; }
.studio-section-heading>p { max-width: 315px; font-size: 15px; line-height: 1.8; color: var(--muted); margin: 0; }
.how-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.how-card { display: flex; flex-direction: column; padding: 27px 26px 20px; background: #fbfaf5; border: 1px solid #aeb9a8; border-radius: 4px; min-width: 0; }
.step-index { display: grid; place-items: center; width: 36px; height: 36px; font: 700 20px var(--heading); border-radius: 3px; margin-bottom: 22px; }
.step-1 { background: #bddacc; }.step-2 { background: #e9d38d; }.step-3 { background: #dfb6a1; }
.how-card h3 { font: 650 27px/1.2 var(--heading); letter-spacing: -1px; min-height: 66px; margin: 0 0 17px; }
.how-card>p { font-size: 14px; line-height: 1.75; min-height: 123px; color: #5a6556; margin: 0; }
.how-card>.text-link { margin-top: auto; min-height: 48px; justify-content: space-between; gap: 12px; font-size: 12px; }
.how-plan, .how-photo, .how-routine { margin: 22px 0 17px; height: 225px; border: 1px solid #cbd1c2; border-radius: 3px; background: #f0f1e7; overflow: hidden; }
.how-plan { padding: 17px; }
.how-plan figcaption { font-size: 9px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; color: #65715b; }
.how-plan>div { padding: 10px 0; border-top: 1px solid #d4d9ca; }
.how-plan span { display: block; font-size: 10px; color: #6c765f; }
.how-plan strong { display: block; font-size: 12px; line-height: 1.5; font-weight: 500; margin-top: 3px; }
.how-photo { position: relative; }
.how-photo img { width: 100%; height: 100%; object-fit: cover; }
.how-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 10px; font-size: 8px; background: #f7f4eae8; color: #58674f; }
.how-routine { padding: 17px; }
.how-routine>small { font-size: 9px; letter-spacing: .5px; color: #65715b; }
.how-routine>div { display: flex; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid #d4d9ca; }
.how-routine>div>span { font-size: 10px; color: #a15f43; }
.how-routine strong { font-size: 12px; line-height: 1.5; font-weight: 500; }
.how-routine>p { font-size: 11px; margin: 14px 0 0; color: #69735d; }

.studio-theme .teacher-section { grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 90px; }
.studio-theme .teacher-copy h2 { font-size: 45px; line-height: 1.17; letter-spacing: -1.8px; }
.studio-theme .teacher-description { font-size: 15px; line-height: 1.85; color: #5b6756; }
.studio-theme .teacher-benefits { margin: 27px 0; gap: 15px; }
.studio-theme .teacher-benefits li { font-size: 13px; line-height: 1.7; }
.studio-theme .teacher-benefits li svg { width: 17px; height: 17px; padding: 0; background: none; border-radius: 0; color: #7d8c69; }
.studio-theme .contact-note { font-size: 11px; line-height: 1.8; }
.studio-theme .teacher-conversation { background: #e9ecdf; transform: none; border: 1px solid #c6cfba; border-radius: 4px; box-shadow: none; padding: 30px; margin: 0; }
.studio-theme .teacher-conversation:before, .studio-theme .teacher-conversation:after { content: none; }
.studio-topic-panel h3 { font: 600 30px/1.2 var(--heading); letter-spacing: -1px; margin: 15px 0 22px; }
.conversation-topics>div { display: flex; gap: 17px; border-top: 1px solid #cad3bf; padding: 22px 0; }
.conversation-topics>div>span { font-size: 10px; padding-top: 4px; color: #8d654c; }
.conversation-topics small { font-size: 10px; color: #65715b; }
.conversation-topics p { font-family: var(--heading); font-size: 20px; line-height: 1.4; margin: 8px 0 0; letter-spacing: -.5px; }
.studio-topic-panel .topic-note { font-size: 10px; line-height: 1.8; margin: 0; color: #6d785f; }
.studio-theme .plans-section { padding: 0 0 80px; }
.studio-theme .plans-grid { gap: 20px; }
.studio-theme .plans-disclaimer, .studio-theme .hu-price-note { font-size: 13px; line-height: 1.8; border-color: #b47a5a; max-width: 350px; }
.studio-theme .plans-grid .plan-card { border: 1px solid #c9d0bf; border-radius: 4px; box-shadow: none; background: #fbfaf4; padding: 29px 27px; }
.studio-theme .plans-grid .plan-featured { background: #e4eadb; border: 2px solid #70865f; padding: 28px 26px; }
.studio-theme .plan-label { font-size: 9px; font-weight: 550; letter-spacing: 1px; line-height: 1.7; min-height: 31px; margin: 0 0 15px; color: #5f7053; }
.studio-theme .plan-card h3 { font-size: 25px; font-weight: 650; letter-spacing: -.9px; line-height: 1.25; min-height: 62px; margin-bottom: 17px; }
.studio-theme .plan-description { font-size: 13px; line-height: 1.8; min-height: 75px; margin-bottom: 25px; }
.studio-theme .plan-price { font-family: var(--heading); font-size: 42px; letter-spacing: -1.5px; font-weight: 600; }
.studio-theme .plan-price>span { font-family: var(--sans); font-size: 11px; margin-top: 10px; }
.studio-theme .plan-card ul { font-size: 12px; gap: 13px; line-height: 1.7; padding-block: 20px; border-color: #cbd3bf; }
.studio-theme .plan-card>.button { min-height: 49px; font-size: 12px; gap: 12px; padding-inline: 17px; }
.studio-theme .level-invitation { background: #fbfaf5; border: 1px solid #cbd2c1; border-radius: 4px; padding: 33px 36px; grid-template-columns: 1.5fr 1fr; gap: 35px; margin-bottom: 85px; }
.studio-theme .level-invitation h2 { font-size: 33px; letter-spacing: -1.2px; }
.studio-theme .level-invitation-copy>p:last-child { font-size: 13px; line-height: 1.8; }
.studio-theme .test-number { display: none; }
.studio-theme .level-invitation-action .button { background: transparent; border: 1px solid #7c8e6c; color: var(--ink); }
.studio-theme .level-invitation-action small { font-size: 10px; }
.studio-theme .moments-section { padding-top: 0; padding-bottom: 70px; border-top: 0; }
.studio-theme .filters { gap: 5px; }
.studio-theme .filters button { font-size: 11px; padding: 9px 13px; border-radius: 3px; }
.studio-theme .lesson-grid { gap: 18px; }
.studio-theme .lesson-card { border: 1px solid #d0d5c8; background: #faf9f3; border-radius: 4px; box-shadow: none; }
.studio-theme .lesson-card:hover { box-shadow: none; border-color: #8a9a7a; transform: translateY(-3px); }
.studio-theme .lesson-visual { background: transparent !important; height: 85px; border-bottom: 0; }
.studio-theme .lesson-visual .scene { width: 67px; height: 58px; left: auto; right: 23px; top: 13px; transform: none; opacity: .8; }
.studio-theme .lesson-number { top: 24px; left: 25px; font-size: 11px; color: #8b684c; }
.studio-theme .lesson-tag { left: 25px; right: auto; top: 47px; border-radius: 0; background: transparent; color: #6d7b5a; padding: 0; font-size: 7px; }
.studio-theme .lesson-content { padding: 12px 25px 23px; }
.studio-theme .lesson-content h3 { font-family: var(--heading); font-size: 22px; font-weight: 600; letter-spacing: -.6px; }
.studio-theme .lesson-content>p { font-size: 12px; line-height: 1.8; min-height: 43px; }
.studio-theme .lesson-meta { font-size: 10px; margin-top: 24px; }
.studio-theme .lesson-arrow { background: transparent; border: 1px solid #ccd4c1; width: 31px; height: 31px; border-radius: 50%; }
.studio-theme .hu-scene { position: absolute; right: 25px; top: 22px; transform: none; }
.studio-theme .hu-scene>svg { width: 39px; height: 39px; stroke-width: 1.2; }
.studio-theme .certificate-invitation { padding-block: 32px; margin-bottom: 75px; gap: 60px; }
.studio-theme .certificate-invitation h2 { font-size: 32px; letter-spacing: -1.1px; }
.studio-theme .certificate-invitation p:not(.eyebrow) { font-size: 13px; }
.studio-theme .daily-section { padding-bottom: 0; margin-bottom: 85px; gap: 75px; }
.studio-theme .daily-intro>p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.studio-theme .daily-card { background: #e8ecdf; border: 1px solid #c9d1be; border-radius: 4px; box-shadow: none; padding: 32px; transform: none; }
.studio-theme .daily-phrase { font-family: var(--heading); font-size: 29px; line-height: 1.35; font-style: normal; letter-spacing: -.8px; }
.studio-theme .daily-translation, .studio-theme .daily-context { font-size: 12px; line-height: 1.8; }

/* Teacher recruitment is a separate conversation from student enrolment. */
.studio-teach { margin-block: 0 90px; }
.teach-panel { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #bdcbb8; border-radius: 4px; overflow: hidden; background: #dfe8d8; }
.teach-photo { position: relative; margin: 0; min-height: 570px; }
.teach-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 50% 35%; }
.teach-photo figcaption { position: absolute; bottom: 14px; left: 17px; background: #f5f3e8e8; color: #52644e; padding: 5px 8px; border-radius: 2px; font-size: 9px; }
.teach-copy { padding: 51px 48px; }
.studio-theme .teach-copy h2 { font-size: 54px; line-height: 1.07; letter-spacing: -2.2px; margin: 15px 0 25px; }
.teach-description { font-size: 16px; line-height: 1.8; color: #4d6149; margin: 0 0 25px; }
.teach-copy ul { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 12px; }
.teach-copy li { padding-left: 17px; position: relative; font-size: 13px; line-height: 1.7; }
.teach-copy li:before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: #8c5e40; border-radius: 50%; }
.teach-copy>.button { width: 100%; justify-content: space-between; }
.teach-note { font-size: 11px; line-height: 1.8; color: #66765a; margin: 16px 0; }
.teach-secondary { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.studio-theme .faq-section { padding-block: 0; margin-bottom: 80px; grid-template-columns: .8fr 1.4fr; gap: 80px; }
.studio-theme .faqs details { border-color: #d0d6c8; }
.studio-theme .faqs summary { font-size: 15px; padding-block: 21px; line-height: 1.6; }
.studio-theme .faqs details>p { font-size: 13px; line-height: 1.9; }
.studio-theme .hungarian-entry { padding-block: 28px; margin-bottom: 65px; gap: 60px; }
.studio-theme .hungarian-entry h2 { font-size: 28px; }
.studio-theme .closing-section { border-radius: 4px; background: var(--green); color: #f7f4eb; padding: 64px 40px; margin-bottom: 75px; }
.studio-theme .closing-section h2 { font-size: 58px; line-height: 1.12; max-width: 760px; margin: 15px auto 26px; }
.studio-theme .closing-section .button { background: #eff0e4; color: var(--ink); }
.studio-theme .closing-section .eyebrow, .studio-theme .closing-section>p:last-of-type { color: #cbd6c1; }
.studio-theme .closing-section>p:last-of-type { font-size: 12px; line-height: 1.8; }
.studio-theme .closing-star, .studio-theme .closing-flower { display: none; }
.studio-theme .site-footer { border-color: var(--line); }
.studio-theme .footer-top { gap: 30px; padding-bottom: 32px; }
.studio-theme .footer-top>p { font-size: 12px; line-height: 1.8; max-width: 220px; }
.studio-theme .footer-bottom { display: flex; flex-wrap: wrap; gap: 20px; padding-block: 23px; font-size: 10px; }
.studio-theme .footer-bottom .nav-plain { font-size: 10px; }
.studio-theme .footer-contact { font-size: 11px; }
.studio-theme dialog { background: #faf8f1; border-color: #bbc6b0; border-radius: 7px; }
.studio-theme .modal-title { font-family: var(--heading); font-size: 30px; font-weight: 650; letter-spacing: -1.1px; }
.studio-theme .modal-description { font-size: 13px; line-height: 1.8; }
.studio-theme .question-prompt { font-family: var(--sans); font-style: normal; font-size: 20px; line-height: 1.55; border-radius: 4px; }
.studio-theme .quiz-option { border-radius: 4px; font-size: 13px; }
.studio-theme .level-result { border-radius: 4px; }
.studio-theme .result-plan { border-radius: 4px; }
.studio-theme .goal-choices button { border-radius: 4px; }
.studio-theme .learning-next-step h3 { font-size: 17px; }
.teaching-form { display: grid; gap: 8px; }
.teaching-form label { margin-top: 17px; font-size: 13px; font-weight: 550; line-height: 1.6; }
.teaching-form label small { font-size: 10px; font-weight: 400; color: #6c765e; }
.teaching-form input, .teaching-form textarea { font: inherit; font-size: 13px; line-height: 1.7; width: 100%; border: 1px solid #b7c2a9; border-radius: 4px; background: #fffdf7; color: var(--ink); padding: 12px; }
.teaching-form textarea { resize: vertical; min-height: 118px; max-width: 100%; }
.teaching-form>.button { margin-top: 20px; justify-content: space-between; }
.teaching-form>.assessment-limit { margin-bottom: 0; }

@media(max-width:1150px) {
  .studio-theme .wrap { width: calc(100% - 64px); }
  .studio-theme .hero { gap: 47px; }
  .studio-theme .hero h1 { font-size: 61px; letter-spacing: -3px; }
  .studio-theme .hero-description { font-size: 16px; }
  .studio-theme .studio-hero-art { height: 440px; }
  .studio-theme .header-actions { gap: 15px; }
  .studio-theme nav { gap: 18px; }
  .studio-theme nav a { font-size: 12px; }
  .studio-theme .teacher-section { gap: 50px; }
  .studio-theme .teacher-copy h2 { font-size: 39px; }
  .how-card { padding: 23px 20px 17px; }
  .how-card h3 { font-size: 24px; min-height: 62px; }
  .how-card>p { font-size: 13px; min-height: 138px; }
  .how-plan, .how-photo, .how-routine { height: 225px; }
  .how-plan, .how-routine { padding: 14px; }
  .teach-copy { padding: 40px 35px; }
  .studio-theme .teach-copy h2 { font-size: 47px; }
  .studio-theme .plan-card h3 { font-size: 22px; }
  .studio-theme .plans-grid .plan-card { padding: 25px 21px; }
  .studio-theme .plans-grid .plan-featured { padding: 24px 20px; }
}
@media(max-width:1000px) {
  .studio-theme .header-cta { display: none; }
  .studio-theme .hero-actions .button { font-size: 12px; padding-inline: 18px; gap: 15px; }
  .studio-theme .hero-actions .tour-button { font-size: 12px; }
  .studio-theme .hero h1 { font-size: 55px; }
  .studio-theme .studio-hero-art { height: 400px; }
  .studio-teacher-inset { width: 145px; height: 194px; }
  .studio-theme h2 { font-size: 39px; }
  .studio-theme .teacher-copy h2 { font-size: 35px; }
  .studio-theme .teacher-section { gap: 35px; }
  .studio-theme .teacher-conversation { padding: 24px; }
  .studio-topic-panel h3 { font-size: 26px; }
  .conversation-topics p { font-size: 18px; }
  .how-card h3 { font-size: 23px; min-height: 83px; }
  .how-card>p { min-height: 158px; }
  .how-card>.text-link { font-size: 11px; }
  .how-plan strong, .how-routine strong { font-size: 11px; }
  .teach-description { font-size: 14px; }
  .teach-copy li { font-size: 12px; }
  .studio-theme .teach-copy h2 { font-size: 40px; }
  .studio-theme .plans-grid { gap: 14px; }
  .studio-theme .plans-grid .plan-card { padding: 23px 17px; }
  .studio-theme .plans-grid .plan-featured { padding: 22px 16px; }
  .studio-theme .plan-card h3 { font-size: 21px; min-height: 58px; }
  .studio-theme .plan-description { font-size: 12px; min-height: 92px; }
  .studio-theme .plan-price { font-size: 35px; }
  .studio-theme .plan-card>.button { font-size: 11px; padding-inline: 12px; }
  .studio-theme .daily-section { gap: 40px; }
  .studio-theme .faq-section { gap: 45px; }
}
@media(max-width:760px) {
  .how-grid { grid-template-columns: 1fr; }
  .how-card { padding: 27px; }
  .how-card h3 { font-size: 28px; min-height: 0; margin-bottom: 15px; }
  .how-card>p { min-height: 0; font-size: 14px; }
  .how-plan, .how-photo, .how-routine { height: 245px; margin-block: 23px 16px; }
  .how-plan, .how-routine { padding: 22px; }
  .how-plan>div { padding-block: 11px; }
  .how-plan strong, .how-routine strong { font-size: 13px; }
  .how-card>.text-link { font-size: 13px; }
  .teach-panel { grid-template-columns: 1fr; }
  .teach-photo { height: 380px; min-height: 0; }
  .teach-photo img { object-position: 50% 28%; }
  .teach-copy { padding: 37px; }
  .studio-theme .teach-copy h2 { font-size: 46px; }
  .teach-description { font-size: 16px; }
  .teach-copy li { font-size: 13px; }
}
@media(max-width:680px) {
  .studio-theme .wrap { width: calc(100% - 40px); }
  .studio-theme .site-header { height: 82px; gap: 12px; }
  .studio-theme .brand { font-size: 34px; }
  .studio-theme .language-switch { padding: 2px; }
  .studio-theme .language-switch button, .studio-theme .language-switch a { padding: 0 8px; min-width: 34px; min-height: 32px; font-size: 10px; }
  .studio-theme .hero { grid-template-columns: 1fr; gap: 45px; padding: 49px 0 72px; }
  .studio-theme .hero h1 { font-size: 49px; letter-spacing: -2.5px; margin: 18px 0 23px; }
  .studio-theme .hero-copy { max-width: none; }
  .studio-theme .hero-description { font-size: 16px; line-height: 1.8; max-width: none; margin-bottom: 27px; }
  .studio-theme .hero .eyebrow { font-size: 8px; letter-spacing: 1.2px; }
  .studio-theme .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; width: 100%; }
  .studio-theme .hero-actions .button, .studio-theme .hero-actions .tour-button { min-height: 54px; width: 100%; justify-content: space-between; font-size: 13px; padding: 0 19px; border-radius: 4px; }
  .studio-theme .hero-actions .tour-button { border: 1px solid #bfc9b3; background: transparent; flex-direction: row; }
  .studio-theme .hero-note { margin-top: 17px; font-size: 10px; max-width: 100%; }
  .studio-theme .studio-hero-art { height: 355px; width: 100%; max-width: none; }
  .studio-theme .hero-art .photo-frame { inset: 0 18px 20px 0; border-radius: 4px; }
  .studio-teacher-inset { width: 129px; height: 171px; border-width: 5px; right: 0; bottom: 0; }
  .studio-teacher-inset img { height: calc(100% - 29px); }
  .studio-teacher-inset>span { height: 29px; font-size: 6px; letter-spacing: .3px; gap: 4px; }
  .studio-hero-art>figcaption { bottom: -22px; font-size: 8px; max-width: 75%; }
  .studio-theme .language-bar { padding-block: 20px; flex-wrap: wrap; gap: 15px; }
  .studio-theme .language-bar .small-label { font-size: 8px; }
  .studio-theme .course-switch { gap: 20px; }
  .studio-theme .course-switch button { font-size: 10px; }
  .studio-theme .course-next .soon { font-size: 7px; }
  .studio-how { padding-block: 53px; }
  .studio-section-heading { display: block; margin-bottom: 27px; }
  .studio-section-heading h2 { font-size: 36px; letter-spacing: -1.3px; }
  .studio-section-heading>p { margin-top: 18px; font-size: 14px; max-width: none; }
  .how-card { padding: 25px 23px 18px; }
  .step-index { margin-bottom: 19px; }
  .how-card h3 { font-size: 27px; }
  .how-card>p { font-size: 13px; }
  .how-plan, .how-photo, .how-routine { height: 229px; }
  .how-plan, .how-routine { padding: 18px; }
  .studio-theme h2 { font-size: 36px; letter-spacing: -1.3px; }
  .studio-theme .teacher-section { grid-template-columns: 1fr; gap: 32px; padding-block: 55px; }
  .studio-theme .teacher-copy h2 { font-size: 36px; }
  .studio-theme .teacher-description { font-size: 14px; }
  .studio-theme .teacher-benefits li { font-size: 12px; }
  .studio-theme .teacher-conversation { padding: 25px; }
  .studio-topic-panel h3 { font-size: 28px; }
  .conversation-topics p { font-size: 20px; }
  .studio-theme .section-heading { gap: 20px; margin-bottom: 28px; }
  .studio-theme .plans-section { padding-bottom: 45px; }
  .studio-theme .plans-disclaimer, .studio-theme .hu-price-note { max-width: none; font-size: 12px; margin-top: 23px; }
  .studio-theme .plans-grid { gap: 16px; }
  .studio-theme .plans-grid .plan-card { padding: 28px 25px; }
  .studio-theme .plans-grid .plan-featured { padding: 27px 24px; order: -1; }
  .studio-theme .plan-label { min-height: 0; margin-bottom: 18px; font-size: 9px; }
  .studio-theme .plan-card h3 { min-height: 0; font-size: 26px; margin-bottom: 17px; }
  .studio-theme .plan-description { min-height: 0; font-size: 13px; margin-bottom: 26px; }
  .studio-theme .plan-price { font-size: 43px; }
  .studio-theme .plan-card ul { font-size: 12px; }
  .studio-theme .plan-card>.button { font-size: 13px; min-height: 52px; padding-inline: 17px; }
  .studio-theme .level-invitation { grid-template-columns: 1fr; padding: 28px 24px; gap: 24px; margin-bottom: 55px; }
  .studio-theme .level-invitation h2 { font-size: 30px; }
  .studio-theme .level-invitation-copy>p:last-child { font-size: 12px; }
  .studio-theme .level-invitation .eyebrow { font-size: 7px; }
  .studio-theme .level-invitation-action .button { font-size: 12px; }
  .studio-theme .moments-section { padding-bottom: 45px; }
  .studio-theme .lesson-grid { gap: 15px; }
  .studio-theme .lesson-content h3 { font-size: 24px; }
  .studio-theme .lesson-content>p { min-height: 0; font-size: 12px; }
  .studio-theme .lesson-visual { height: 78px; }
  .studio-theme .certificate-invitation { grid-template-columns: 1fr; gap: 16px; margin-bottom: 52px; padding-block: 29px; }
  .studio-theme .certificate-invitation h2 { font-size: 31px; margin-bottom: 7px; }
  .studio-theme .certificate-invitation p:not(.eyebrow) { font-size: 12px; }
  .studio-theme .daily-section { margin-bottom: 55px; gap: 25px; }
  .studio-theme .daily-card { padding: 26px; }
  .studio-theme .daily-phrase { font-size: 27px; }
  .studio-theme .studio-teach { margin-bottom: 55px; }
  .teach-photo { height: 350px; }
  .teach-copy { padding: 31px 25px; }
  .studio-theme .teach-copy h2 { font-size: 42px; letter-spacing: -1.7px; margin: 14px 0 20px; }
  .teach-description { font-size: 14px; }
  .teach-copy li { font-size: 12px; }
  .teach-copy>.button { font-size: 12px; gap: 12px; padding-inline: 17px; }
  .studio-theme .faq-section { grid-template-columns: 1fr; gap: 23px; margin-bottom: 50px; }
  .studio-theme .faqs summary { font-size: 14px; padding-block: 19px; }
  .studio-theme .faqs details>p { font-size: 12px; }
  .studio-theme .hungarian-entry { grid-template-columns: 1fr; gap: 15px; margin-bottom: 48px; }
  .studio-theme .hungarian-entry h2 { font-size: 28px; }
  .studio-theme .closing-section { padding: 42px 24px; margin-bottom: 48px; }
  .studio-theme .closing-section h2 { font-size: 43px; line-height: 1.15; }
  .studio-theme .closing-section .eyebrow { font-size: 8px; }
  .studio-theme .closing-section .button { width: 100%; padding-inline: 17px; font-size: 13px; justify-content: space-between; }
  .studio-theme .footer-top { gap: 23px; padding-bottom: 26px; }
  .studio-theme .footer-bottom { font-size: 9px; gap: 15px; }
  .studio-theme .mobile-enquiry { background: #f7f4eb; border-color: #c6d0bc; box-shadow: none; }
  .studio-theme .mobile-enquiry .button { min-height: 45px; font-size: 12px; padding-inline: 15px; gap: 12px; }
  .studio-theme .modal-title { font-size: 27px; }
  .studio-theme .question-prompt { font-size: 18px; }
  .studio-theme .quiz-option { font-size: 12px; }
  .teaching-form label { font-size: 12px; }
  .teaching-form>.button { font-size: 12px; padding-inline: 16px; gap: 12px; }
}
@media(max-width:370px) {
  .studio-theme .wrap { width: calc(100% - 32px); }
  .studio-theme .site-header { gap: 8px; }
  .studio-theme .brand { font-size: 30px; }
  .studio-theme .language-switch button, .studio-theme .language-switch a { min-width: 30px; padding-inline: 6px; }
  .studio-theme .hero h1 { font-size: 43px; letter-spacing: -2.2px; }
  .studio-theme .hero .eyebrow { font-size: 6.5px; letter-spacing: 1px; }
  .studio-theme .hero-description { font-size: 14px; }
  .studio-theme .hero-actions .button, .studio-theme .hero-actions .tour-button { font-size: 12px; }
  .studio-theme .studio-hero-art { height: 298px; }
  .studio-teacher-inset { width: 113px; height: 153px; }
  .studio-theme .studio-section-heading h2 { font-size: 33px; }
  .how-card { padding-inline: 21px; }
  .how-card h3 { font-size: 25px; }
  .studio-theme .plan-card h3 { font-size: 24px; }
  .studio-theme .plan-price { font-size: 39px; }
  .studio-theme .plan-card>.button { font-size: 12px; }
  .studio-theme .teach-copy h2 { font-size: 38px; }
  .studio-theme .teach-copy>.button { font-size: 11px; }
  .studio-theme .closing-section h2 { font-size: 37px; }
  .studio-theme .mobile-enquiry>span { font-size: 9px; max-width: 95px; }
  .studio-theme .mobile-enquiry .button { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-theme .button, .studio-theme .lesson-card { transition: none; transform: none; }
}
.teaching-form textarea:focus-visible { outline: 3px solid #b76a43; outline-offset: 3px; }

.studio-theme .hero-actions .tour-button { display: inline-flex; flex-direction: row; }
.studio-theme .hero-actions .tour-button .play-circle { order: 2; }

/* Current direction: warm coral, clear words, live English lessons. */
:root {
  --paper:#fff; --ink:#17151b; --green:#17151b; --muted:#57535d;
  --line:#d5d2da; --orange:#B84A27; --lime:#FFF0EB;
  --pink:#F4845F; --pale-pink:#FFF0EB; --mint:#95e5d1; --yellow:#ffe55b;
}
.vivid-theme { background:#fff; color:var(--ink); }
.vivid-theme .wrap { width:min(1320px,calc(100% - 96px)); }
.vivid-theme .site-header { background:var(--pink); width:100%; margin:0; padding:0 max(32px,calc((100% - 1320px)/2)); height:94px; border:0; gap:26px; }
.vivid-theme .brand { color:var(--ink); font-size:40px; font-weight:750; letter-spacing:-2.8px; }
.vivid-theme .brand-mark i { background:var(--ink); }
.vivid-theme .brand-period { color:var(--ink); }
.vivid-theme nav { gap:25px; }
.vivid-theme nav a { color:var(--ink); font-size:14px; font-weight:650; }
.vivid-theme .language-switch { border:1px solid #17151b; padding:3px; border-radius:6px; }
.vivid-theme .language-switch button,.vivid-theme .language-switch a { font-size:12px; color:var(--ink); min-height:36px; }
.vivid-theme .language-switch [aria-pressed=true],.vivid-theme .language-switch [aria-current=page] { background:var(--ink); color:#fff; }
.vivid-theme .button { border-radius:7px; font-size:15px; min-height:56px; font-weight:650; }
.vivid-theme .button-dark { background:#17151b; border-color:#17151b; color:#fff; }
.vivid-theme .button-dark:hover { background:#38323e; border-color:#38323e; transform:translateY(-2px); }
.vivid-theme .button-outline { background:transparent; color:#17151b; border:1px solid #17151b; }
.vivid-theme .header-cta { background:transparent; color:#17151b; min-height:45px; font-size:12px; padding:0 17px; }
.vivid-theme .header-cta:hover { background:#17151b; color:#fff; }
.vivid-theme .hero { width:100%; margin:0; padding:54px max(48px,calc((100% - 1320px)/2)) 82px; background:var(--pink); display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; min-height:650px; }
.vivid-theme .hero-copy { max-width:640px; }
.vivid-theme .hero .eyebrow { font-size:11px; font-weight:750; letter-spacing:1.1px; color:#17151b; margin-bottom:24px; }
.vivid-theme .status-dot { background:#17151b; }
.vivid-theme .hero h1 { font-size:clamp(55px,5vw,76px); line-height:1.04; font-weight:750; letter-spacing:-3.7px; margin:0 0 27px; }
.vivid-theme .hero h1 em { color:#17151b; font-style:normal; }
.vivid-theme .hero-description { color:#29212b; font-size:18px; line-height:1.55; max-width:520px; margin:0 0 28px; }
.vivid-theme .hero-actions { gap:15px; flex-wrap:wrap; }
.vivid-theme .hero-actions .button { min-height:59px; padding:0 25px; gap:30px; }
.vivid-theme .hero-actions .tour-button { font-size:14px; font-weight:650; border:0; padding:12px 0; min-height:45px; gap:9px; color:#17151b; }
.vivid-theme .hero-actions .tour-button .play-circle { width:20px; height:20px; border:0; }
.vivid-theme .hero-note { color:#352430; font-size:12px; margin-top:18px; line-height:1.6; }
.vivid-theme .studio-hero-art { height:500px; margin:0; position:relative; isolation:isolate; width:100%; max-width:none; }
.vivid-theme .hero-art .photo-frame { position:absolute; inset:30px 65px 56px 30px; border-radius:13px; overflow:hidden; border:1px solid rgba(23,21,27,.12); background:#d9c7bd; transform:rotate(-3deg); }
.vivid-theme .hero-art .photo-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 67%; }
.scene-role { position:absolute; top:15px; left:15px; color:#17151b; font-size:12px; font-weight:700; background:#fff; border-radius:4px; padding:6px 10px; }
.vivid-theme .studio-teacher-inset { position:absolute; inset:0 -3px auto auto; width:176px; height:194px; border:3px solid #fff; border-radius:10px; transform:rotate(5deg); box-shadow:0 10px 25px #4b123b1c; background:#fff; overflow:hidden; z-index:2; }
.vivid-theme .studio-teacher-inset img { width:100%; height:100%; object-fit:cover; object-position:43% 40%; }
.vivid-theme .studio-teacher-inset>span { position:absolute; left:10px; top:10px; padding:4px 8px; width:auto; height:auto; background:#17151b; color:#fff; font-size:11px; letter-spacing:0; text-transform:none; border-radius:4px; }
.scene-phrase { position:absolute; bottom:6px; left:-13px; width:249px; border:1px solid #17151b; background:#fff; color:#17151b; border-radius:10px; padding:18px 20px; z-index:3; box-shadow:5px 6px 0 #17151b; transform:rotate(-3deg); }
.scene-phrase small { display:block; color:#66616b; font-size:10px; margin-bottom:7px; }
.scene-phrase strong { display:block; font-size:18px; letter-spacing:-.4px; }
.scene-phrase p { font-size:17px; font-weight:550; line-height:1.4; margin:12px 0; }
.scene-wave { display:flex; gap:4px; height:22px; align-items:center; }
.scene-wave i { display:block; width:4px; height:9px; border-radius:3px; background:#D95D39; }
.scene-wave i:nth-child(2n) { height:18px; }.scene-wave i:nth-child(3n) { height:13px; }.scene-wave i:nth-child(5n) { height:22px; }
.scene-test { position:absolute; display:flex; text-align:left; gap:12px; align-items:center; right:-11px; bottom:77px; max-width:260px; background:var(--yellow); border:1px solid #17151b; padding:16px; border-radius:9px; color:#17151b; transform:rotate(4deg); box-shadow:4px 5px 0 #17151b; z-index:4; cursor:pointer; font-family:var(--sans); }
.scene-test:hover { transform:rotate(1deg) translateY(-3px); }
.scene-ring { display:grid; place-items:center; width:46px; height:46px; border:5px solid #17151b; border-left-color:#c4a700; border-radius:50%; font-size:15px; font-weight:750; flex-shrink:0; }
.scene-test strong { display:block; font-size:15px; letter-spacing:-.4px; line-height:1.3; }
.scene-test small { display:block; font-size:10px; margin-block:5px; }
.scene-test b { display:block; font-size:11px; }
.vivid-theme .studio-hero-art>figcaption { position:absolute; bottom:-35px; left:0; font-size:9px; color:#382732; }
.vivid-theme .language-bar { padding-block:29px; gap:35px; border-color:var(--line); align-items:center; }
.course-summary { max-width:470px; display:block!important; }
.course-summary strong { font-size:12px; font-weight:750; letter-spacing:.8px; }
.course-summary p { font-size:12px; line-height:1.6; color:var(--muted); margin-top:7px; }
.course-facts { display:flex; flex-wrap:wrap; gap:26px; font-size:14px; font-weight:650; }
.course-facts span:before { content:'✓'; margin-right:8px; }
.vivid-theme .hu-context { padding-block:30px; border-color:var(--line); }
.vivid-theme .hu-context p { font-size:14px; color:var(--muted); }
.vivid-theme .studio-how { background:#fff; padding-block:76px; }
.vivid-theme h2 { font-size:48px; line-height:1.1; letter-spacing:-2px; font-weight:750; color:#17151b; }
.vivid-theme h2 em { color:inherit; }
.vivid-theme .eyebrow { color:#615866; font-weight:650; letter-spacing:1.2px; }
.studio-section-heading>p { font-size:17px; line-height:1.6; color:var(--muted); }
.vivid-theme .how-card { border:1px solid #17151b; border-radius:8px; background:#fff; padding:29px 26px 23px; }
.vivid-theme .how-card h3 { color:#17151b; font-size:29px; font-weight:750; letter-spacing:-1px; min-height:70px; }
.vivid-theme .how-card>p { color:#49424d; font-size:15px; line-height:1.65; min-height:143px; }
.vivid-theme .step-index { border-radius:5px; color:#17151b; font-size:28px; width:45px; height:45px; font-weight:750; }
.vivid-theme .step-1 { background:var(--mint); }.vivid-theme .step-2 { background:var(--yellow); }.vivid-theme .step-3 { background:var(--pink); }
.vivid-theme .how-plan,.vivid-theme .how-routine { background:var(--pale-pink); border-color:#EED2C8; border-radius:6px; }
.vivid-theme .how-card .text-link { color:#17151b; font-size:13px; font-weight:700; }
.vivid-theme .how-plan strong,.vivid-theme .how-routine strong { color:#17151b; }
.how-video { height:245px; margin:25px 0 21px; border-radius:6px; background:#ece9f4; padding:18px; border:1px solid #d6d1df; }
.how-video>small { font-size:10px; color:#655c70; }
.video-tiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; height:142px; margin-block:12px; }
.video-tiles>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; background:#d2c6ee; border-radius:5px; }
.video-tiles>span:last-child { background:#FFE4DA; }.video-tiles svg { width:51px; height:51px; fill:#17151b; }.video-tiles strong { font-size:11px; }
.video-controls { display:flex; justify-content:center; align-items:center; gap:10px; }.video-controls i { font-style:normal; display:grid; place-items:center; width:25px; height:21px; border-radius:20px; background:#fff; line-height:1; }.video-controls .call-end { background:#e04058; color:#fff; width:40px; }
.vivid-theme .teacher-section { padding-top:22px; padding-bottom:75px; }
.vivid-theme .teacher-copy h2 { font-size:46px; font-weight:750; }
.vivid-theme .teacher-description { color:#49424d; font-size:17px; line-height:1.65; }
.vivid-theme .teacher-benefits li { color:#49424d; font-size:14px; }
.vivid-theme .teacher-conversation { background:#eee8ff; border:1px solid #17151b; border-radius:8px; }
.vivid-theme .studio-topic-panel h3 { font-size:31px; color:#17151b; font-weight:750; }
.vivid-theme .conversation-topics>div { border-color:#c8bfdc; }
.vivid-theme .conversation-topics p { color:#17151b; }
.vivid-theme .plans-section { padding-top:30px; }
.vivid-theme .plans-note,.vivid-theme .plans-disclaimer { color:#49424d; font-size:16px; line-height:1.65; }
.vivid-theme .plans-grid .plan-card { border:1px solid #17151b; border-radius:8px; background:#fff; }
.vivid-theme .plans-grid .plan-featured { background:var(--pale-pink); border:2px solid #17151b; box-shadow:5px 6px 0 #17151b; }
.vivid-theme .plan-card h3 { color:#17151b; font-weight:750; }
.vivid-theme .plan-description { font-size:14px; color:#49424d; min-height:76px; line-height:1.6; }
.vivid-theme .plan-price { color:#17151b; }.vivid-theme .plan-price span { color:#615866; }
.vivid-theme .plan-label { color:#B84A27; font-weight:750; }
.vivid-theme .plan-card li { color:#49424d; }
.vivid-theme .level-invitation { background:var(--yellow); border:1px solid #17151b; border-radius:8px; }
.vivid-theme .level-invitation h2 { font-size:38px; font-weight:750; }.vivid-theme .test-number { color:#17151b; }
.vivid-theme .moments-section { padding-top:20px; }
.vivid-theme .section-description { color:#49424d; font-size:16px; }
.vivid-theme .filters button { border-radius:5px; font-size:13px; color:#49424d; }.vivid-theme .filters [aria-pressed=true] { color:#fff; background:#17151b; }
.vivid-theme .lesson-card { border:1px solid #b9b4c0; border-radius:8px; background:#fff; }.vivid-theme .lesson-card:hover { border-color:#17151b; box-shadow:4px 5px 0 #17151b; }
.vivid-theme .lesson-content h3 { color:#17151b; font-weight:750; }.vivid-theme .lesson-content>p { font-size:14px; color:#57505d; }
.vivid-theme .certificate-invitation { border-color:#17151b; }
.vivid-theme .certificate-invitation h2 { font-size:35px; }.vivid-theme .certificate-invitation .certificate-scope { color:#615866; }
.vivid-theme .daily-card { background:var(--pale-pink); border:1px solid #17151b; border-radius:8px; }.vivid-theme .daily-phrase { color:#17151b; }
.vivid-theme .teach-panel { border:1px solid #17151b; border-radius:8px; background:var(--mint); }
.vivid-theme .teach-photo { background:#b6b9c8; min-height:530px; }.vivid-theme .teach-photo img { object-position:50% 70%; }
.vivid-theme .teach-copy h2 { font-size:56px; font-weight:750; }.vivid-theme .teach-description { color:#252a2a; font-size:17px; line-height:1.6; }.vivid-theme .teach-copy li { color:#252a2a; font-size:15px; }.vivid-theme .teach-note,.vivid-theme .teach-secondary { color:#333a38; }
.vivid-theme .faq-section summary { color:#17151b; font-size:17px; }.vivid-theme .faqs details>p { color:#49424d; font-size:15px; line-height:1.7; }
.vivid-theme .hungarian-entry { border-color:var(--line); }
.vivid-theme .closing-section { background:var(--pink); border:1px solid #17151b; border-radius:8px; color:#17151b; }
.vivid-theme .closing-section h2 { color:#17151b; font-weight:750; }.vivid-theme .closing-section .eyebrow,.vivid-theme .closing-section>p { color:#382732; }
.vivid-theme .closing-section .button { background:#17151b; color:#fff; }
.vivid-theme .mobile-enquiry { background:#fff; border-color:#17151b; }
.vivid-theme dialog { background:#fff; border:1px solid #17151b; border-radius:9px; }
.vivid-theme .modal-description,.vivid-theme .assessment-limit { color:#57505d; }
.vivid-theme .level-result { background:#f6effb; }.vivid-theme .result-featured { color:#B84A27; }.vivid-theme .result-plan.selected { border-color:#17151b; background:var(--pale-pink); }
.vivid-theme .goal-choices [aria-pressed=true] { background:#17151b; color:#fff; border-color:#17151b; }
.vivid-theme .question-prompt { background:#f4effa; color:#17151b; }.vivid-theme .quiz-option { background:#fff; color:#17151b; border-color:#b9b4c0; font-size:15px; }.vivid-theme .quiz-option:hover { background:#FFF0EB; border-color:#17151b; }
.vivid-theme .teaching-form input,.vivid-theme .teaching-form textarea { background:#fff; border-color:#a69fac; }
.vivid-theme :focus-visible { outline:3px solid #762dbe; outline-offset:4px; }
@media(max-width:1150px) {
 .vivid-theme .wrap { width:calc(100% - 64px); }.vivid-theme .site-header { padding-inline:32px; gap:18px; }.vivid-theme .hero { width:100%; padding-inline:32px; gap:40px; min-height:625px; }
 .vivid-theme nav { gap:17px; }.vivid-theme nav a { font-size:12px; }.vivid-theme .header-actions { gap:15px; }
 .vivid-theme .hero h1 { font-size:61px; letter-spacing:-3px; }.vivid-theme .hero-description { font-size:17px; }.vivid-theme .studio-hero-art { height:475px; }
 .vivid-theme .studio-teacher-inset { width:153px; height:172px; }.scene-phrase { width:218px; padding:16px; }.scene-test { max-width:224px; right:0; padding:13px; gap:9px; }.scene-test strong { font-size:13px; }
 .vivid-theme .how-card { padding:25px 20px; }.vivid-theme .how-card h3 { font-size:26px; }.vivid-theme .how-card>p { min-height:160px; font-size:14px; }
 .course-facts { gap:15px; font-size:12px; }.vivid-theme .plan-description { min-height:90px; }
}
@media(max-width:900px) {
 .vivid-theme .hero { gap:32px; }.vivid-theme .hero h1 { font-size:52px; letter-spacing:-2.6px; }.vivid-theme .hero-description { font-size:16px; }.vivid-theme .hero .eyebrow { font-size:9px; }
 .vivid-theme .studio-hero-art { height:440px; }.vivid-theme .studio-teacher-inset { width:138px; height:151px; }.vivid-theme .hero-art .photo-frame { left:12px; right:24px; bottom:64px; }
 .scene-phrase { left:0; width:205px; bottom:0; }.scene-phrase p { font-size:15px; }.scene-test { bottom:125px; right:-7px; max-width:192px; }.scene-ring { width:33px; height:33px; font-size:12px; border-width:4px; }
 .vivid-theme .language-bar { flex-direction:column; align-items:flex-start; gap:16px; }.course-summary { max-width:none; }
 .vivid-theme .how-card h3 { font-size:24px; }.vivid-theme .how-card>p { min-height:185px; }.vivid-theme .how-plan strong { font-size:11px; }
}
@media(max-width:760px) {
 .vivid-theme .how-card h3,.vivid-theme .how-card>p { min-height:0; }.vivid-theme .how-card h3 { font-size:30px; }.vivid-theme .how-card>p { font-size:16px; }.vivid-theme .how-plan strong { font-size:14px; }
 .vivid-theme .teach-photo { min-height:0; height:390px; }.vivid-theme .teach-copy h2 { font-size:46px; }
}
@media(max-width:680px) {
 .vivid-theme .wrap { width:calc(100% - 40px); }.vivid-theme .site-header { width:100%; padding-inline:20px; height:78px; gap:12px; }.vivid-theme .brand { font-size:34px; }
 .vivid-theme .language-switch button,.vivid-theme .language-switch a { min-height:34px; padding-inline:8px; min-width:32px; font-size:11px; }
 .vivid-theme .hero { width:100%; grid-template-columns:1fr; min-height:0; gap:36px; padding:39px 20px 70px; }
 .vivid-theme .hero .eyebrow { font-size:9px; letter-spacing:.8px; margin-bottom:20px; }.vivid-theme .hero h1 { font-size:52px; letter-spacing:-2.7px; margin-bottom:24px; }
 .vivid-theme .hero-description { font-size:17px; line-height:1.55; margin-bottom:25px; }.vivid-theme .hero-actions { display:flex; flex-direction:column; align-items:stretch; gap:7px; }
 .vivid-theme .hero-actions .button { min-height:58px; font-size:15px; width:100%; padding:0 20px; }.vivid-theme .hero-actions .tour-button { justify-content:center; min-height:43px; font-size:14px; width:100%; background:transparent; }
 .vivid-theme .hero-note { font-size:11px; margin-top:12px; }.vivid-theme .studio-hero-art { width:100%; height:370px; max-width:470px; margin:0 auto; }
 .vivid-theme .hero-art .photo-frame { top:17px; left:13px; right:45px; bottom:39px; }.vivid-theme .studio-teacher-inset { width:131px; height:145px; right:3px; }
 .scene-role { font-size:10px; padding:5px 8px; }.vivid-theme .studio-teacher-inset>span { font-size:10px; padding:4px 6px; }
 .scene-phrase { left:0; bottom:-4px; width:199px; padding:13px 15px; }.scene-phrase strong { font-size:17px; }.scene-phrase p { font-size:15px; margin-block:9px; }.scene-phrase small { font-size:9px; }.scene-wave { height:16px; transform:scaleY(.7); transform-origin:left center; }
 .scene-test { right:1px; bottom:111px; width:179px; padding:11px; gap:8px; }.scene-test strong { font-size:12px; }.scene-test small { font-size:9px; }.scene-test b { font-size:10px; }.scene-ring { width:31px; height:31px; }
 .vivid-theme .studio-hero-art>figcaption { font-size:8px; bottom:-31px; max-width:100%; }
 .vivid-theme .language-bar { padding-block:24px; gap:18px; }.course-summary strong { font-size:11px; }.course-summary p { font-size:12px; }.course-facts { font-size:12px; gap:12px 17px; }
 .vivid-theme .studio-how { padding-block:50px; }.vivid-theme h2,.vivid-theme .studio-section-heading h2,.vivid-theme .teacher-copy h2 { font-size:37px; letter-spacing:-1.6px; }.studio-section-heading>p { font-size:16px; }
 .vivid-theme .how-card { padding:26px; }.vivid-theme .how-card h3 { font-size:29px; }.vivid-theme .how-card>p { font-size:15px; }
 .how-video { height:235px; }.video-tiles { height:132px; }.vivid-theme .how-card .text-link { font-size:14px; }
 .vivid-theme .teacher-description { font-size:16px; }.vivid-theme .teacher-benefits li { font-size:14px; }.vivid-theme .teacher-section { padding-bottom:46px; }
 .vivid-theme .plans-section { padding-top:15px; }.vivid-theme .plans-disclaimer { font-size:15px; }.vivid-theme .plan-description { min-height:0; font-size:15px; }.vivid-theme .plan-card ul { font-size:14px; }.vivid-theme .plan-card>.button { font-size:14px; }
 .vivid-theme .level-invitation h2 { font-size:33px; }.vivid-theme .level-invitation-copy>p:last-child { font-size:15px; }.vivid-theme .level-invitation .eyebrow { font-size:9px; }.vivid-theme .level-invitation-action .button { font-size:14px; }
 .vivid-theme .certificate-invitation h2 { font-size:32px; }.vivid-theme .certificate-invitation p:not(.eyebrow) { font-size:15px; }.vivid-theme .certificate-invitation .certificate-scope { font-size:12px; }
 .vivid-theme .lesson-content>p { font-size:14px; }.vivid-theme .teach-description { font-size:16px; }.vivid-theme .teach-copy li { font-size:14px; }.vivid-theme .teach-copy>.button { font-size:14px; }
 .vivid-theme .teach-photo { height:350px; }.vivid-theme .teach-copy h2 { font-size:42px; }.vivid-theme .faqs summary { font-size:16px; }.vivid-theme .faqs details>p { font-size:15px; }
 .vivid-theme .closing-section h2 { font-size:44px; }.vivid-theme .closing-section .button { font-size:14px; }
 .vivid-theme .modal-description { font-size:15px; }.vivid-theme .quiz-option { font-size:14px; }.vivid-theme .assessment-limit { font-size:12px; line-height:1.6; }
}
@media(max-width:370px) {
 .vivid-theme .wrap { width:calc(100% - 32px); }.vivid-theme .site-header { width:100%; padding-inline:16px; gap:8px; }.vivid-theme .brand { font-size:30px; }
 .vivid-theme .language-switch button,.vivid-theme .language-switch a { padding-inline:6px; min-width:29px; }
 .vivid-theme .hero { width:100%; padding-inline:16px; }.vivid-theme .hero h1 { font-size:45px; letter-spacing:-2.3px; }.vivid-theme .hero .eyebrow { font-size:8px; }.vivid-theme .hero-description { font-size:16px; }
 .vivid-theme .hero-actions .button { font-size:14px; }.vivid-theme .hero-actions .tour-button { font-size:13px; }.vivid-theme .studio-hero-art { height:325px; }.vivid-theme .studio-teacher-inset { width:113px; height:126px; }
 .scene-phrase { width:177px; padding:12px; }.scene-phrase p { font-size:14px; }.scene-test { width:166px; bottom:113px; padding:10px; }.scene-ring { display:none; }.scene-test strong { font-size:13px; }
 .vivid-theme .hero-note { font-size:10px; }.vivid-theme .how-card { padding:23px; }.vivid-theme .how-card h3 { font-size:27px; }.vivid-theme .how-plan strong { font-size:12px; }
 .vivid-theme .teach-copy h2 { font-size:36px; }.vivid-theme .teach-copy>.button { font-size:12px; }.vivid-theme .closing-section h2 { font-size:37px; }
}
@media(prefers-reduced-motion:reduce) { .vivid-theme .button:hover,.scene-test:hover { transform:none; } }
/* Shorter copy needs less reserved space in the three-step cards. */
@media(min-width:901px) {
 .vivid-theme .how-card h3 { min-height:40px; }
 .vivid-theme .how-card>p { min-height:112px; }
}
.how-video { height:225px; margin:22px 0 17px; }
.video-tiles { height:122px; }
.vivid-theme .how-plan figcaption,.vivid-theme .how-plan span,.vivid-theme .how-routine>small,.vivid-theme .how-routine>p,.vivid-theme .conversation-topics small,.vivid-theme .topic-note { color:#625968; }
@media(max-width:680px) {
 .vivid-theme .language-full { display:inline; }
 .vivid-theme .language-short { display:none; }
 .vivid-theme .language-switch button,.vivid-theme .language-switch a { font-size:10px; padding-inline:6px; min-width:0; letter-spacing:0; }
 .vivid-theme .site-header { gap:10px; }.vivid-theme .header-actions { gap:0; }
 .vivid-theme .header-cta { display:none; }
 .how-video { height:235px; }.video-tiles { height:132px; }
}
@media(max-width:370px) { .vivid-theme .brand { font-size:27px; gap:7px; letter-spacing:-1.8px; }.vivid-theme .brand-mark { gap:3px; }.vivid-theme .brand-mark i { width:10px; height:16px; } }
.vivid-theme .closing-section>p:last-of-type { color:#382732; font-size:14px; }
.vivid-theme .certificate-progress>span { background:#EED2C8; }
.vivid-theme .certificate-progress>span:before { background:#B84A27; }
.vivid-theme .teach-copy li:before { background:#17151b; }
.vivid-theme .conversation-topics>div>span { color:#6d537b; }

/* Audit follow-up: paid classes first, compact explanations, clear free area. */
.vivid-theme .plans-section { padding-top:55px; }
.vivid-theme .studio-how { padding-top:0; }
.free-practice-area { background:#f7f4fc; border-block:1px solid #e1dbe9; padding:55px 0 10px; margin:0 0 60px; }
.free-practice-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:38px; }
.free-practice-heading h2 { font-size:39px; margin:12px 0 18px; }
.free-practice-heading p:not(.eyebrow) { max-width:640px; color:#57505f; font-size:16px; line-height:1.65; margin:0; }
.free-practice-heading .text-link { font-size:13px; flex-shrink:0; }
.vivid-theme .free-practice-area .level-invitation { margin-bottom:55px; }
.vivid-theme .free-practice-area .daily-section { margin-bottom:45px; }
.vivid-theme .free-practice-area .certificate-invitation { border-bottom:0; }
.vivid-theme .teach-panel-compact { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:45px; background:#f2faf7; border-color:#b6ccc3; }
.vivid-theme .teach-panel-compact .teach-copy { padding:30px 0 30px 35px; }
.vivid-theme .teach-panel-compact h2 { font-size:31px; letter-spacing:-1px; margin:8px 0 12px; }
.vivid-theme .teach-panel-compact .teach-description { font-size:14px; margin:0; max-width:520px; }
.vivid-theme .teach-contact { padding:30px 35px 30px 0; }
.vivid-theme .teach-contact .button { min-height:48px; font-size:13px; width:100%; gap:20px; justify-content:space-between; }
.vivid-theme .teach-contact .teach-note { margin:12px 0 0; font-size:11px; }
.vivid-theme .studio-teach { margin-bottom:45px; }
.saved-level-note { border:1px solid #ded8e6; background:#f8f5fb; border-radius:6px; margin:18px 0 23px; padding:12px 14px; font-size:12px; color:#5d5366; }
.saved-level-note summary { cursor:pointer; min-height:24px; line-height:1.8; font-weight:550; }
.saved-level-note p { font-size:12px; line-height:1.6; margin:10px 0; }
.saved-level-note .nav-plain { font-size:12px; text-decoration:underline; }
.vivid-theme .teacher-profile.wrap { margin-bottom:50px; }
@media(max-width:760px) {
 .free-practice-heading { flex-direction:column; align-items:flex-start; gap:22px; }
 .vivid-theme .teach-panel-compact { grid-template-columns:1fr; gap:0; }
 .vivid-theme .teach-panel-compact .teach-copy { padding:26px 26px 0; }
 .vivid-theme .teach-contact { padding:22px 26px 26px; }
}
@media(max-width:680px) {
 .vivid-theme .plans-section { padding-top:37px; padding-bottom:50px; }
 .vivid-theme .studio-how { padding:0 0 45px; }
 .vivid-theme .studio-section-heading { margin-bottom:23px; }
 .vivid-theme .studio-section-heading h2 { font-size:33px; }
 .vivid-theme .studio-section-heading>p { font-size:15px; margin-top:14px; }
 .vivid-theme .how-grid { gap:12px; }
 .vivid-theme .how-card { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:14px; padding:21px; }
 .vivid-theme .how-card .step-index { grid-row:1/3; width:33px; height:35px; font-size:22px; margin:0; }
 .vivid-theme .how-card h3 { grid-column:2; font-size:23px; min-height:0; margin:1px 0 12px; letter-spacing:-.8px; }
 .vivid-theme .how-card>p { grid-column:2; font-size:14px; line-height:1.65; min-height:0; }
 .vivid-theme .how-card .how-plan,.vivid-theme .how-card .how-video,.vivid-theme .how-card .how-routine { display:none; }
 .vivid-theme .how-card>.text-link { grid-column:2; margin-top:12px; min-height:36px; font-size:12px; }
 .vivid-theme .teacher-section { padding-top:0; padding-bottom:45px; gap:25px; }
 .vivid-theme .teacher-conversation { padding:23px; }
 .vivid-theme .conversation-topics>div { padding-block:15px; }
 .vivid-theme .studio-topic-panel h3 { font-size:26px; margin:12px 0 15px; }
 .vivid-theme .conversation-topics p { font-size:19px; margin-top:5px; }
 .free-practice-area { padding-top:37px; margin-bottom:45px; }
 .free-practice-heading { margin-bottom:28px; }
 .free-practice-heading h2 { font-size:33px; }
 .free-practice-heading p:not(.eyebrow) { font-size:15px; }
 .free-practice-heading .text-link { font-size:12px; }
 .vivid-theme .teach-panel-compact h2 { font-size:29px; }
 .vivid-theme .teach-panel-compact .eyebrow { font-size:9px; }
 .vivid-theme .teach-panel-compact .teach-description { font-size:14px; }
 .vivid-theme .studio-teach { margin-bottom:35px; }
 .vivid-theme .hero { padding-bottom:60px; }
 .vivid-theme .language-bar { padding-block:21px; }
}
/* Global launch: explicit currencies and two clear audience paths. */
.recruit-banner { display:block; background:#17151b; color:#fff; text-align:center; padding:9px 20px; font-size:12px; line-height:1.5; font-weight:550; }
.recruit-banner:hover { background:#352a38; text-decoration:underline; text-underline-offset:3px; }
.vivid-theme nav .nav-teach { font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.pricing-controls { display:flex; justify-content:space-between; gap:30px; align-items:center; padding:20px 0 26px; margin-top:-10px; }
.currency-field { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.currency-field label { font-size:13px; font-weight:650; }
.currency-field select { font:inherit; font-size:13px; border:1px solid #17151b; border-radius:6px; padding:10px 32px 10px 12px; min-height:44px; background:#fff; color:#17151b; max-width:100%; }
.pricing-controls>p { font-size:12px; color:#5b5261; line-height:1.6; max-width:440px; margin:0; }
.modal-currency { padding:15px 0 22px; border-bottom:1px solid #ded8e6; margin-bottom:22px; }
.timezone-choice { margin-top:20px; }
.timezone-choice input { font:inherit; font-size:13px; width:100%; min-height:46px; border:1px solid #b9b1c1; border-radius:6px; padding:12px; margin-top:9px; }
.teacher-page .teacher-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:28px; }
.teacher-header nav { gap:18px; }.teacher-header nav a { font-size:12px; }.teacher-header nav [aria-current=page] { text-decoration:underline; text-underline-offset:5px; }
.teacher-home { font-size:13px; }
.teacher-hero { background:#95e5d1; padding:60px 0; }
.teacher-hero-grid { display:grid; grid-template-columns:1.1fr .8fr; align-items:center; gap:95px; }
.teacher-hero h1 { font:750 66px/1.06 var(--heading); letter-spacing:-3px; margin:20px 0 27px; max-width:660px; }
.teacher-hero p:not(.eyebrow) { font-size:20px; line-height:1.6; margin:0 0 29px; max-width:620px; }
.teacher-hero figure { margin:0; position:relative; height:420px; border:1px solid #17151b; border-radius:10px; overflow:hidden; transform:rotate(3deg); box-shadow:6px 7px 0 #17151b; }
.teacher-hero img { width:100%; height:100%; object-fit:cover; object-position:50% 73%; }
.teacher-hero figcaption { position:absolute; bottom:12px; left:12px; background:#fff; padding:5px 8px; border-radius:3px; font-size:9px; }
.teacher-steps { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:65px; border-bottom:1px solid #ded8e6; }
.teacher-steps h2 { font-size:37px; margin:0 0 25px; }
.teacher-steps ol { padding-left:22px; margin:0; }.teacher-steps li { font-size:16px; line-height:1.65; margin-bottom:13px; }.teacher-steps ul { padding-left:20px; margin-top:0; }.teacher-steps p { font-size:13px; line-height:1.75; color:#5b5261; }
.application-section { display:grid; grid-template-columns:.8fr 1.4fr; gap:85px; padding-block:65px 80px; }
.application-section h2 { font-size:43px; margin:15px 0 24px; }.application-section>div>p { font-size:15px; line-height:1.75; color:#5b5261; }
.application-grid { display:grid; grid-template-columns:1fr 1fr; gap:23px 20px; margin-bottom:27px; }.field-wide { grid-column:1/-1; }
.application-field label { display:block; font-size:13px; font-weight:650; line-height:1.6; margin-bottom:9px; }
.application-field input,.application-field select,.application-field textarea,#application-preview textarea { width:100%; font:inherit; font-size:14px; line-height:1.65; border:1px solid #aaa0b3; border-radius:6px; padding:12px; background:#fff; color:#17151b; min-height:48px; }
.application-field textarea { resize:vertical; }.application-field input::placeholder,.application-field textarea::placeholder { color:#777079; opacity:1; }
#application-preview h3 { font:700 25px/1.3 var(--heading); margin:0 0 20px; }#application-preview textarea { background:#f7f4fc; resize:vertical; }#application-preview>p { font-size:13px; color:#5b5261; line-height:1.65; }
.application-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }.application-actions .text-link { font-size:13px; }
.teacher-footer { border-top:1px solid #ded8e6; padding-block:25px; display:flex; justify-content:space-between; gap:20px; font-size:12px; line-height:1.7; }
@media(max-width:1180px){.vivid-theme .header-cta{display:none}.vivid-theme nav{gap:16px}.vivid-theme nav a{font-size:12px}}
@media(max-width:760px){.teacher-hero-grid{gap:40px}.teacher-hero h1{font-size:50px}.teacher-steps,.application-section{gap:40px}.teacher-hero figure{height:340px}}
@media(max-width:680px){
 .recruit-banner{font-size:11px;padding:8px 14px}.pricing-controls{flex-direction:column;align-items:flex-start;gap:15px;padding:12px 0 24px}.pricing-controls>p{font-size:12px}.currency-field{gap:9px}.currency-field label{font-size:12px}.currency-field select{font-size:12px}.modal-currency{gap:10px}
 .vivid-theme .teacher-header{padding-block:20px;gap:15px;flex-wrap:wrap}.teacher-header nav{margin:0;gap:14px}.teacher-home{width:100%;font-size:12px}.teacher-header .brand{font-size:34px}
 .teacher-hero{padding:35px 0 43px}.teacher-hero-grid{grid-template-columns:1fr;gap:35px}.teacher-hero h1{font-size:46px;letter-spacing:-2px}.teacher-hero p:not(.eyebrow){font-size:17px}.teacher-hero figure{height:290px;max-width:400px}.teacher-hero .button{width:100%;font-size:14px;justify-content:space-between}
 .teacher-steps,.application-section{grid-template-columns:1fr;gap:28px;padding-block:40px}.teacher-steps h2{font-size:32px}.teacher-steps li{font-size:15px}.application-section h2{font-size:35px}.application-grid{grid-template-columns:1fr;gap:20px}.field-wide{grid-column:auto}.application-section .button{width:100%;font-size:14px}.teacher-footer{flex-wrap:wrap;font-size:11px}
}
.teacher-page .teacher-header nav { display:flex; position:static; flex-direction:row; align-items:center; flex-wrap:wrap; padding:0; margin:0; background:transparent; border:0; box-shadow:none; }

/* Mobile navigation uses the same charcoal as the main action. */
@media(max-width:680px) {
 .vivid-theme .site-header { position:relative; }
 .vivid-theme .site-header #navigation { top:100%; padding:8px 20px; gap:0; background:#17151b; border:0; border-bottom:3px solid var(--pink); box-shadow:0 12px 24px #17151b24; }
 .vivid-theme .site-header #navigation a { display:flex; align-items:center; min-height:52px; padding:14px 12px; font-size:15px; line-height:1.4; color:#fff; border-bottom:1px solid #ffffff26; text-decoration:none; }
 .vivid-theme .site-header #navigation a:last-child { border-bottom:0; }
 .vivid-theme .site-header #navigation a:hover { color:#17151b; background:var(--pink); }
 .vivid-theme .site-header #navigation a:focus-visible { outline:2px solid var(--pink); outline-offset:-3px; }
}

/* A compact native currency control, with a familiar keyboard/touch menu. */
.currency-select-wrap { position:relative; display:inline-flex; align-items:center; max-width:100%; }
.currency-select-wrap .currency-globe { position:absolute; left:14px; width:18px; height:18px; pointer-events:none; color:#6c5b66; }
.currency-select-wrap .currency-chevron { position:absolute; right:14px; width:17px; height:17px; pointer-events:none; }
.vivid-theme .currency-field select { appearance:none; -webkit-appearance:none; border:1px solid #DFC8BF; border-radius:999px; padding:12px 40px 12px 42px; min-height:46px; background:#fff; font-size:13px; font-weight:600; box-shadow:0 2px 0 #17151b08; max-width:100%; cursor:pointer; }
.vivid-theme .currency-field select:hover { border-color:#B84A27; }
.vivid-theme .currency-field select:focus-visible { outline:2px solid #B84A27; outline-offset:3px; }
.vivid-theme .currency-field label { font-size:11px; color:#625653; letter-spacing:.3px; }
.vivid-theme .hero-art .photo-frame img { object-position:48% 50%; }
@media(max-width:370px) { .currency-select-wrap { width:100%; }.vivid-theme .currency-field select { width:100%; font-size:12px; } }

/* Clear, persistent answer selection for touch, mouse and keyboard. */
.vivid-theme .quiz-option { transition:background-color .16s ease,border-color .16s ease; }
.vivid-theme .quiz-option.selected,.vivid-theme .quiz-option[data-learning-answer][aria-pressed="true"] { background:#FFF0EB; border-color:#D95D39; box-shadow:none; }
.vivid-theme .quiz-option.selected>span,.vivid-theme .quiz-option[data-learning-answer][aria-pressed="true"]>span { background:#FFD1C1; color:#521E0E; border-color:#EA9072; }
.vivid-theme .quiz-option:focus-visible { outline:3px solid #B84A27; outline-offset:3px; }
.vivid-theme .studio-teacher-inset img { object-position:55% 40%; }
@media(prefers-reduced-motion:reduce) { .vivid-theme .quiz-option { transition:none; } }

.vivid-theme .quiz-option.correct { background:#e0f5e8; border-color:#276242; box-shadow:inset 0 0 0 1px #276242; }
.vivid-theme .quiz-option.incorrect { background:#fff0ee; border-color:#a43c34; box-shadow:inset 0 0 0 1px #a43c34; }
.vivid-theme .quiz-option.correct>span { background:#276242; color:#fff; border-color:#276242; }
.vivid-theme .quiz-option.incorrect>span { background:#a43c34; color:#fff; border-color:#a43c34; }
