:root{color:#1b1c1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf9f5;--paper-low:#f5f3ef;--ink:#1b1c1a;--muted:#474741;--rule:#c8c7bf;--accent:#ad321f;--highlight:#f3d278;--accent-soft:#f5d7c7;--sage-soft:#dce8cd;--sky-soft:#e2ebf5;--radius:12px;--serif:"Newsreader", "Times New Roman", serif;background:#fbf9f5;font-family:Hanken Grotesk,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--rule) var(--paper);scroll-padding-top:100px}body{min-width:320px;margin:0;font-size:15px;line-height:1.6}button,input,select{font:inherit;border-radius:0}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}a{color:inherit;text-underline-offset:.2em;text-decoration:none}button{color:inherit}button:disabled{cursor:default}input,select{accent-color:var(--accent);caret-color:var(--accent)}input::placeholder{color:#686861;opacity:1}h1,h2,h3{text-wrap:balance}p{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}h1{letter-spacing:-.02em;font-size:56px}h2{letter-spacing:-.015em;font-size:40px}h3{font-size:26px}p{color:var(--muted)}::selection{color:var(--ink);background:#ffdad3}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.container{width:100%;max-width:1440px;margin-inline:auto;padding-inline:56px}.section{border-bottom:1px solid var(--rule);padding-block:80px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font:600 11px/1.5 Hanken Grotesk,Arial,sans-serif}.accent{color:var(--accent)}.button{background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);color:#fff;text-align:center;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 24px;font-size:14px;font-weight:500;line-height:20px;transition:background .15s,border-color .15s,transform .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.button:hover,.button-accent{background:var(--accent);border-color:var(--accent)}.button-accent:hover{background:var(--ink);border-color:var(--ink)}.skip-link{z-index:100;background:var(--paper);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:auto;padding:16px 56px;display:flex}.wordmark{line-height:1.1;font-family:var(--serif);letter-spacing:-.4px;white-space:nowrap;flex-direction:column;flex-shrink:0;font-size:22px;font-weight:500;display:inline-flex}.wordmark-name{letter-spacing:.02em;color:var(--muted);margin-top:5px;font:400 12px/1.4 Hanken Grotesk,Arial,sans-serif}.brand-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:0 0 3px 8px;display:inline-block;position:relative}.brand-dot:after{content:"";background:var(--accent);border-radius:50%;width:100%;height:100%;position:absolute;left:9px}.navigation,.header-actions{align-items:center;gap:25px;display:flex}.navigation a{white-space:nowrap;padding-block:10px;font-size:14px}.navigation a:hover,.site-footer a:hover{color:var(--accent)}.header-actions{white-space:nowrap;gap:18px}.header-actions .button{min-height:44px;padding:10px 20px}.cabinet{color:var(--muted);font-size:13px}.menu-toggle{border:1px solid var(--rule);background:0 0;min-height:44px;padding:8px 12px;display:none}.hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:64px;padding-block:64px;display:grid}.hero-copy{max-width:680px}.hero-copy h1{max-width:19ch;line-height:1.08}.headline-highlight{color:var(--accent);background:linear-gradient(transparent 56%, var(--highlight) 56%, var(--highlight) 97%, transparent 97%);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-style:italic}.hero-grid>.portrait{background:var(--highlight);justify-self:end;width:100%;max-width:420px;transform:rotate(2deg)}.hero-edition{align-items:center;gap:12px;margin-bottom:24px;font-size:12px;display:flex}.edition-tag{background:var(--highlight);letter-spacing:.08em;white-space:nowrap;border:1px solid #777771;padding:3px 8px;font-size:10px;transform:rotate(-2deg)}.edition-line{background:var(--rule);flex-shrink:0;width:32px;height:1px}.hero-description{max-width:54ch;margin-block:28px 36px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.hero-actions .button{padding:16px 32px}.editorial-link{border-bottom:1px solid var(--ink);letter-spacing:.03em;padding-bottom:4px;font-size:13px;font-weight:500}.editorial-link span{margin-left:8px;transition:transform .15s;display:inline-block}.editorial-link:hover{color:var(--accent);border-color:var(--accent)}.editorial-link:hover span{transform:translate(4px)}.portrait{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-low);padding:12px}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center;filter:saturate(.65)contrast(1.02);border-radius:3px;width:100%;height:auto;display:block}.portrait figcaption{border-top:1px solid var(--rule);margin-top:12px;padding:16px 8px 8px}.portrait-labels{letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:10px;display:flex}.portrait-labels span:first-child{color:var(--accent)}.portrait figcaption p{margin-top:8px;font-size:13px;line-height:1.5}.facts-strip{border-block:1px solid var(--rule);background:var(--sage-soft)}.facts-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-block:20px;display:grid}.facts-grid>div{border-left:1px solid var(--rule);align-items:center;gap:12px;padding-left:24px;font-size:13px;display:flex}.facts-grid>div:first-child{border:0;padding-left:0}.facts-grid .accent{font-size:11px}.section-heading{max-width:800px;margin-bottom:36px}.section-heading h2{margin:8px 0 16px}.section-heading p{max-width:740px}.filter-console{border:1px solid var(--rule);background:var(--paper-low);margin-bottom:16px;padding:28px 32px 32px}.filter-hint{margin-bottom:24px;font-size:13px}fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}fieldset:not(:last-child){border-bottom:1px solid var(--rule);padding-bottom:28px}fieldset:last-child{margin-bottom:0}legend{letter-spacing:.06em;color:var(--muted);padding:0 0 14px;font-size:12px}.level-options{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.level-option{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);text-align:left;padding:16px;transition:border-color .15s,background .15s,color .15s}.level-option strong{font-size:14px;font-weight:600;display:block}.level-option span{margin-top:4px;font-size:12px;display:block}.filter-options{flex-wrap:wrap;gap:10px;display:flex}.filter-tag{border:1px solid var(--rule);border-radius:var(--radius);background:0 0;min-height:44px;padding:10px 16px;font-size:13px;transition:border-color .15s,background .15s,color .15s}.level-option:hover,.filter-tag:hover{border-color:var(--ink)}.selected{background:var(--ink);border-color:var(--ink);color:#fff}.selected-accent{background:var(--accent);border-color:var(--accent);color:#fff}.results-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;font-size:13px;display:flex}.text-button{min-height:44px;color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:10px 0;font-size:13px;text-decoration:underline}.text-button:hover:not(:disabled){color:var(--accent)}.text-button:disabled{color:#777771;text-decoration:none}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);flex-direction:column;min-width:0;padding:24px;display:flex}.course-card[data-level=A1]{background:#fbf0cb}.course-card[data-level=A2]{background:#f9e5d9}.course-card[data-level=B1]{background:#e9efdf}.course-card[data-level=B2]{background:var(--sky-soft)}.course-card.featured{border:2px solid var(--accent);padding:23px}.course-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.tag{border:1px solid var(--accent);background:var(--paper);color:var(--accent);letter-spacing:.07em;border-radius:999px;padding:3px 10px;font-size:10px}.availability{color:var(--accent);font-size:12px}.course-card h3{margin-bottom:14px;font-size:25px;line-height:1.2}.course-card>p{flex:1;font-size:14px;line-height:1.65}.course-details{font-variant-numeric:tabular-nums;border-block:1px solid var(--rule);margin:24px 0;padding-block:14px;font-size:13px}.course-details>div{justify-content:space-between;gap:12px;padding-block:4px;display:flex}dt{color:var(--muted)}dd{text-align:right;margin:0}.course-includes ul{color:var(--muted);margin:12px 0 28px;padding-left:15px;font-size:13px}.course-includes li{margin-block:6px;padding-left:2px}.course-includes li::marker{color:var(--accent)}.course-bottom{margin-top:auto}.price{align-items:baseline;gap:6px;margin-bottom:18px;display:flex}.price strong{font:500 32px/1.2 var(--serif)}.price span{color:var(--muted);font-size:13px}.course-card .button{width:100%;padding-inline:10px;font-size:13px}.empty-state{border:1px solid var(--rule);background:var(--paper-low);padding:32px}.empty-state p{margin:12px 0 24px}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.principle{border:1px solid var(--rule);border-radius:var(--radius) var(--radius) 32px var(--radius);background:#fbf0cb;flex-direction:column;padding:32px;display:flex}.principle:nth-child(2){background:var(--sage-soft)}.principle h3{margin-bottom:16px;font-size:28px}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px;display:grid}.about-grid .portrait{padding:16px}.about-grid .portrait img{aspect-ratio:3/4;object-position:top}.about-copy h2{margin:8px 0 28px}.about-copy>p{max-width:65ch;margin-bottom:22px;font-size:17px}.about-copy .editorial-text{font:italic 19px/1.5 var(--serif)}.credentials{border-top:1px solid var(--rule);margin-top:32px;padding-top:28px}.credentials>h3{margin-bottom:22px}.credential{border:1px solid var(--rule);background:var(--paper-low);grid-template-columns:40px minmax(0,1fr);gap:16px;margin-top:14px;padding:14px;display:grid}.credential h4{font-size:14px;font-weight:600}.credential p{margin-top:4px;font-size:13px}.faq-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:48px;display:grid}.faq-list{border-top:1px solid var(--rule)}.faq-list details{border-bottom:1px solid var(--rule);padding-block:24px}.faq-list summary{min-height:44px;font:400 22px/1.4 var(--serif);justify-content:space-between;align-items:center;gap:24px;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-symbol{color:var(--accent);flex-shrink:0}.faq-symbol:after{content:"+";font-size:20px}.faq-list details[open] .faq-symbol:after{content:"−"}.faq-list details p{margin-top:16px}.registration{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-low);min-width:0;padding:32px;scroll-margin-top:100px}.registration h3{margin:12px 0;font-size:28px}.registration>p{margin-bottom:24px}.registration label{letter-spacing:.06em;margin:20px 0 8px;font-size:11px;line-height:1.5;display:block}.registration input,.registration select{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);width:100%;color:var(--ink);min-height:48px;padding:11px 14px;font-size:16px;transition:border-color .15s;display:block}.registration input:hover,.registration select:hover{border-color:var(--muted)}.registration input:focus,.registration select:focus{border-color:var(--accent)}.registration .button{width:100%;margin-top:24px}.form-note{text-align:center;margin-top:14px;font-size:12px}.form-status{border-top:1px solid var(--rule);margin-top:16px;padding-top:16px;font-size:14px}.form-status:empty{display:none}.site-footer{background:var(--paper-low);padding-block:48px}.footer-grid{justify-content:space-between;align-items:start;gap:40px;display:flex}.site-footer p{max-width:400px;margin:14px 0;font-size:12px}.site-footer nav a{align-items:center;min-height:44px;display:inline-flex}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;font-size:12px;display:flex}.site-footer .eyebrow{font-size:9px}@media (width<=1350px){.header-inner,.navigation{gap:18px}.cabinet{display:none}}@media (width<=1100px){.navigation{background:var(--paper);border-bottom:1px solid var(--rule);padding:24px 32px;display:none;position:absolute;top:100%;left:0;right:0}.navigation.is-open{flex-wrap:wrap;display:flex}.menu-toggle{display:block}.container,.header-inner{padding-inline:32px}.hero-grid{gap:32px;padding-block:48px}.section{padding-block:64px}h1{font-size:48px}.hero-edition{flex-wrap:wrap}.hero-description{font-size:17px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.about-grid,.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facts-grid>div{gap:8px;padding-left:14px;font-size:12px}.about-grid,.faq-grid{gap:32px}.registration{padding:24px}}@media (width<=767px){.container{padding-inline:20px}.header-inner{gap:12px;padding:14px 20px}.wordmark{font-size:22px}.wordmark-name{font-size:11px}.header-actions>.button{display:none}.header-actions{gap:0}.brand-dot{width:5px;height:5px;margin-left:5px}.navigation.is-open{flex-direction:column;align-items:flex-start;gap:16px;padding-inline:20px}.section{padding-block:44px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-block:40px}.hero-edition{gap:8px;margin-bottom:20px;font-size:10px}.edition-line{display:none}.edition-tag{font-size:9px}h1{font-size:38px}.hero-copy h1{line-height:1.16}h2{font-size:30px}.hero-description{margin-block:24px 28px;font-size:16px}.hero-actions{gap:20px}.hero-actions .button{padding:14px 24px}.hero-grid>.portrait{justify-self:center;width:100%;max-width:420px;margin:auto;transform:none}.facts-grid{grid-template-columns:repeat(2,1fr);gap:16px}.facts-grid>div{border:0;align-items:baseline;padding:0}.section-heading{margin-bottom:32px}.filter-console{padding:20px}.level-options{grid-template-columns:repeat(2,minmax(0,1fr))}.level-option{padding:12px}.level-option strong{font-size:13px}.level-option span{font-size:12px}.filter-tag{padding:8px 10px}.course-grid{grid-template-columns:1fr}.results-heading{align-items:flex-start}.results-heading>p{padding-top:10px}.text-button{flex-shrink:0;font-size:12px}.course-card{padding:24px}.course-card.featured{padding:23px}.principles-grid{grid-template-columns:1fr}.principle{padding:24px}.principle h3{font-size:25px}.about-grid,.faq-grid{grid-template-columns:1fr;gap:36px}.about-grid .portrait{width:100%;max-width:480px;margin:auto}.about-copy>p{font-size:16px}.faq-list summary{font-size:21px}.footer-grid{flex-direction:column;gap:28px}.site-footer nav{justify-content:flex-start}}@media (width<=400px){.hero-edition{flex-direction:column;align-items:flex-start}}.class-calendar{border:1px solid var(--rule);margin-top:40px;padding:32px;scroll-margin-top:100px}.calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.calendar-heading h3{margin-bottom:8px;font-size:30px}.calendar-heading p{font-size:13px}.calendar-navigation{align-items:center;gap:16px;display:flex}.calendar-navigation button{border:1px solid var(--rule);background:var(--paper);width:44px;min-height:44px}.calendar-navigation button:disabled{color:#777771;border-color:#0000}.calendar-navigation span{font-variant-numeric:tabular-nums;font-size:14px}.calendar-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:12px;font-size:12px;display:grid}.calendar-days{border-block:1px solid var(--rule);grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:24px;display:grid}.calendar-days button{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:86px;display:flex}.calendar-days button.calendar-day-active{outline:1px solid var(--accent);outline-offset:-1px}.calendar-days button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.calendar-days button.selected{background:var(--accent);color:#fff;border-radius:var(--radius)}.calendar-days button span{font-size:12px}.calendar-days button strong{font:400 28px/1.2 var(--serif)}.calendar-slots{gap:12px;display:grid}.calendar-slot{border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);text-align:left;align-items:center;gap:24px;width:100%;padding:20px;display:flex}.calendar-slot time{font-variant-numeric:tabular-nums;font-size:20px}.calendar-slot>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.calendar-slot strong{font-size:15px;font-weight:500}.calendar-slot>span>span{color:var(--muted);font-size:12px}.calendar-slot .slot-action{color:var(--accent);margin-left:auto;font-size:13px}.calendar-slot:disabled{background:var(--paper-low);color:#686861}.calendar-slot:disabled time{text-decoration:line-through}.calendar-slot:disabled .slot-action{color:#686861}.calendar-slot.is-selected{border-color:var(--accent);background:var(--accent-soft)}.calendar-slot:hover:not(:disabled),.calendar-navigation button:hover:not(:disabled){border-color:var(--accent)}.calendar-days button:hover:not(.selected){background:var(--paper-low)}.calendar-empty{padding:24px 0;font-size:14px}.calendar-selection{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:24px;display:flex}.calendar-selection p{font-size:14px}.booking-selection{border-block:1px solid var(--rule);margin-block:24px;padding-block:16px}.booking-selection p{margin-bottom:6px;font-size:12px}.booking-selection strong{margin-bottom:6px;font-size:16px;display:block}.booking-selection a{color:var(--accent);padding-block:10px;font-size:13px;text-decoration:underline;display:inline-block}@media (width<=767px){.class-calendar{margin-top:32px;padding:20px}.calendar-navigation{justify-content:space-between;gap:8px;width:100%}.calendar-navigation span{text-align:center;font-size:12px}.calendar-days button{min-height:60px;padding-inline:0}.calendar-days .calendar-occurrence{font-size:10px}.calendar-days button strong{font-size:24px}.calendar-slot{gap:16px;padding:16px 12px}.calendar-slot time{font-size:18px}.calendar-slot .slot-action{display:none}.calendar-selection .button{width:100%}}.button:disabled{background:var(--muted);border-color:var(--muted);cursor:wait}.class-calendar>.registration{max-width:640px;margin-top:24px}.registration select:disabled{opacity:1;color:var(--muted);cursor:default}.faq-grid.faq-only{grid-template-columns:minmax(0,800px)}.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:48px 0 0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;padding:24px;display:flex}.step-number{background:var(--highlight);width:68px;height:68px;font:400 32px/1 var(--serif);color:var(--ink);border-radius:42% 58% 53% 47%;justify-content:center;align-items:center;margin-bottom:28px;display:flex;transform:rotate(-7deg)}.step:nth-child(2) .step-number{background:var(--sage-soft);transform:rotate(7deg)}.step:nth-child(3) .step-number{background:var(--accent-soft)}.step:nth-child(4) .step-number{background:var(--sky-soft);transform:rotate(7deg)}.step h3{margin-bottom:16px;font-size:23px;line-height:1.3}.step p{margin-bottom:28px;font-size:13px;line-height:1.8}.step-note{border-top:1px solid var(--rule);color:var(--muted);margin-top:auto;padding-top:24px}@media (width<=1100px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.class-calendar>.registration{border:0;border-top:1px solid var(--rule);background:0 0;padding:24px 0 0}}@media (width<=480px){.steps-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(1px)}}
