@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper: #F5F2EC;--card: #ECE6DC;--ink: #1F2420;--ink-soft: #525850;--olive: #36483B;--olive-deep: #2B3A30;--sand: #DDD4C6;--sand-line: #D3C9B9;--rule-dark: rgba(31, 36, 32, .18);--accent: #9E4B28;--accent-dot: #C0683F;--on-olive-soft: #D9DED3;--shade: 20, 24, 21;--sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-hero: clamp(2.75rem, 1.3rem + 4.4vw, 5.25rem);--fs-page: clamp(2.5rem, 1.4rem + 3.3vw, 4.25rem);--fs-title: clamp(2rem, 1.4rem + 1.9vw, 3rem);--fs-item: 1.25rem;--fs-lead: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .75rem;--max: 1320px;--gutter: clamp(16px, 4vw, 48px);--page-pad: max(var(--gutter), calc((100vw - var(--max)) / 2));--space-block: clamp(64px, 8vw, 112px);--space-compact: clamp(56px, 6vw, 88px);--radius: 4px;--radius-card: 12px;--header-h: 76px;--ease: cubic-bezier(.2, .7, .2, 1);--dur: .2s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit}em{font-style:normal}::selection{background:var(--olive);color:var(--paper)}:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;padding:12px 18px;border-radius:var(--radius);background:var(--olive);color:var(--paper);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.wrap{padding-inline:var(--page-pad)}h1,h2,h3,p,li,dd,dt,summary{overflow-wrap:break-word}:lang(de),:lang(fi),:lang(nl),:lang(sv),:lang(da),:lang(pl),:lang(ga){hyphens:auto}.btn,.tag,.eyebrow,.sample-badge,.site-nav__list a{hyphens:manual}.title-2{font-size:var(--fs-title);font-weight:600;line-height:1.1;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--ink-soft);text-wrap:pretty}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.eyebrow--rule:before{content:"";width:28px;height:1px;background:currentColor}.tag{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid currentColor;border-radius:3px;font-size:var(--fs-label);font-weight:600;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.sample-badge{display:inline-flex;align-items:center;margin-left:10px;padding:3px 8px;border:1px dashed currentColor;border-radius:3px;color:var(--accent);font-size:var(--fs-label);font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.sample-note{margin-top:16px;font-size:.875rem;color:var(--ink-soft)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.button-row--center{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid transparent;border-radius:var(--radius);font-family:var(--sans);font-size:var(--fs-small);font-weight:600;letter-spacing:.01em;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--olive);color:var(--paper)}.btn--primary:hover{background:var(--olive-deep)}.btn--secondary{border-color:var(--ink);color:var(--ink);background:transparent}.btn--secondary:hover{background:var(--ink);color:var(--paper)}.btn--light{background:var(--paper);color:var(--olive)}.btn--light:hover{background:#e9e3d8}.btn--outline-light{border-color:#ffffffbf;color:#fff;background:transparent}.btn--outline-light:hover{background:#ffffff24;border-color:#fff}.btn--compact{min-height:44px;padding:0 20px}.btn--small{min-height:44px;padding:0 18px;font-size:.875rem}.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--olive);font-family:var(--sans);font-size:var(--fs-small);font-weight:600;text-decoration:none;cursor:pointer}.link-arrow span{padding-bottom:2px;background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;transition:background-size var(--dur) var(--ease)}.link-arrow svg{flex:none;width:18px;height:18px;transition:transform var(--dur) var(--ease)}.link-arrow:hover span{background-size:0 1px;background-position:100% 100%}.link-arrow:hover svg{transform:translate(4px)}.concept-bar{background:var(--sand);color:var(--ink);font-size:.875rem;line-height:1.4}.concept-bar__inner{display:flex;align-items:center;gap:12px;min-height:40px;padding-block:6px}.concept-bar__text{flex:1;min-width:0}.concept-bar__short{display:none}.concept-bar__link{font-weight:600;text-underline-offset:3px;white-space:nowrap}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;background:var(--paper);transition:border-color var(--dur) var(--ease)}.site-header.is-scrolled{border-bottom-color:var(--sand)}.site-header__inner{display:flex;align-items:center;gap:24px;height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand__mark{flex:none;width:12px;height:12px;border-radius:50%;background:var(--accent-dot)}.brand__name{font-size:1.125rem;font-weight:700;line-height:1;letter-spacing:.2em;text-transform:uppercase}.brand__sub{padding-left:10px;border-left:1px solid var(--sand-line);font-size:var(--fs-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.brand--light,.brand--light .brand__sub{color:var(--paper)}.brand--light .brand__sub{border-left-color:#f5f2ec4d}.site-nav{margin-left:auto}.site-nav__list{display:flex;gap:32px}.site-nav__list a{position:relative;display:inline-block;padding-block:10px;font-size:var(--fs-small);font-weight:500;text-decoration:none}.site-nav__list a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur) var(--ease)}.site-nav__list a:hover:after,.site-nav__list a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.site-header__actions{display:flex;align-items:center;gap:8px}.label-short{display:none}.menu-toggle{display:none;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--sand-line);border-radius:var(--radius);background:transparent;cursor:pointer}.menu-toggle__bars{display:grid;gap:6px;width:18px}.menu-toggle__bars span{display:block;height:1.5px;background:var(--ink);transition:transform var(--dur) var(--ease)}.menu-toggle[aria-expanded=true] .menu-toggle__bars span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__bars span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu{border-top:1px solid var(--sand);background:var(--paper);opacity:0;transform:translateY(-6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.mobile-menu.is-open{opacity:1;transform:none}.mobile-menu .wrap{padding-block:8px 28px}.mobile-menu__list li{border-bottom:1px solid var(--sand)}.mobile-menu__list a{display:block;padding:16px 0;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;text-decoration:none}.mobile-menu__list a[aria-current=page]{color:var(--accent)}.mobile-menu__heading{margin-top:24px;font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.mobile-menu__langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 4px;margin-top:8px}.mobile-menu__note{margin-top:20px;font-size:var(--fs-small);color:var(--ink-soft)}.lang-switch{position:relative}.lang-switch__toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius);background:none;font-size:.875rem;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:border-color var(--dur) var(--ease)}.lang-switch__toggle:hover,.lang-switch__toggle[aria-expanded=true]{border-color:var(--sand-line)}.lang-switch__toggle svg{width:18px;height:18px}.lang-switch__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;display:grid;grid-template-columns:repeat(2,minmax(9.5rem,1fr));gap:2px;padding:8px;border:1px solid var(--sand);border-radius:8px;background:var(--paper);box-shadow:0 18px 48px #1f242024}.lang-switch__menu[hidden]{display:none}.lang-switch__link,.mobile-menu__lang{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--radius);font-size:var(--fs-small);text-decoration:none;transition:background-color var(--dur) var(--ease)}.mobile-menu__lang{padding:0 8px}.lang-switch__link:hover,.mobile-menu__lang:hover{background:var(--card)}.lang-switch__link[aria-current],.mobile-menu__lang[aria-current]{color:var(--accent);font-weight:600}.lang-switch__link[aria-current]:before,.mobile-menu__lang[aria-current]:before{content:"";width:6px;height:6px;margin-right:10px;border-radius:50%;background:currentColor}.image-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:rgb(var(--shade));color:#fff}.image-hero--home{min-height:clamp(560px,calc(100svh - var(--header-h) - 40px),820px)}.image-hero--page{min-height:clamp(440px,58vh,620px)}.image-hero--short{min-height:clamp(360px,44vh,480px)}.image-hero__media{position:absolute;inset:0}.image-hero__media img{width:100%;height:100%;object-fit:cover}.image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--shade),.74),rgba(var(--shade),.64) 38%,rgba(var(--shade),.3) 62%,rgba(var(--shade),.04) 82%),linear-gradient(0deg,rgba(var(--shade),.35),rgba(var(--shade),0) 40%)}.image-hero__inner{position:relative;z-index:1;width:100%;padding-block:clamp(40px,6vw,88px)}.image-hero__inner>*{max-width:40rem}.image-hero__label{margin-bottom:16px;font-size:.8125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffffe0}.image-hero__title{font-size:var(--fs-page);font-weight:600;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}.image-hero--home .image-hero__title{font-size:var(--fs-hero);max-width:12ch}.image-hero__lead{margin-top:20px;font-size:var(--fs-lead);line-height:1.5;color:#ffffffeb;text-wrap:pretty}.image-hero .button-row{margin-top:32px}.image-hero :focus-visible{outline-color:#fff}.image-hero .breadcrumb ol{color:#ffffffd9}.image-hero .breadcrumb li+li:before{color:#ffffff80}.image-hero .breadcrumb [aria-current=page]{color:#fff}.facts-strip{border-bottom:1px solid var(--sand)}.facts-strip__list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 36px;padding-block:20px;font-size:var(--fs-small);font-weight:500}.facts-strip__list li{display:flex;align-items:center;gap:12px}.facts-strip__list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-dot)}.block{padding-block:var(--space-block)}.block--compact{padding-block:var(--space-compact)}.block--flush{padding-block:0}.section--sand{background:var(--sand)}.section--sand p,.section--sand dd{color:var(--ink)}.block-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(28px,3.5vw,44px)}.block-head__lead{max-width:52ch;color:var(--ink-soft)}.section-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin-bottom:clamp(28px,3.5vw,44px)}.section-bar__lead{margin-top:10px;max-width:52ch;color:var(--ink-soft)}.class-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}.class-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-card);background:var(--card)}.class-card__media{position:relative;aspect-ratio:5 / 4;overflow:hidden;background:var(--sand)}.class-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.class-card:hover .class-card__media img{transform:scale(1.03)}.class-card__flag{position:absolute;top:14px;left:14px;padding:5px 10px;border-radius:3px;background:var(--paper);color:var(--accent);font-size:var(--fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.class-card__body{display:flex;flex:1;flex-direction:column;gap:6px;padding:22px 24px 20px}.class-card__level{font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.class-card__name{font-size:1.5rem;font-weight:600;line-height:1.2;letter-spacing:-.02em}.class-card__facts{font-size:var(--fs-small);font-weight:500}.class-card__text{margin-top:4px;color:var(--ink-soft)}.class-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:auto;padding-top:16px}.timetable__head{margin-bottom:20px}.timetable__lead{margin-top:10px;max-width:52ch}.timetable__tabs{display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.timetable__tabs::-webkit-scrollbar{display:none}.timetable__tabs[hidden]{display:none}.timetable__tab{flex:1 0 auto;min-width:64px;min-height:48px;padding:0 14px;border:1px solid var(--rule-dark);border-radius:8px;background:transparent;font-size:var(--fs-small);font-weight:600;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.timetable__tab:hover{border-color:var(--ink)}.timetable__tab[aria-selected=true]{border-color:var(--olive);background:var(--olive);color:var(--paper)}.timetable__day+.timetable__day{margin-top:20px}.timetable__day-name{margin-bottom:8px;font-size:1.125rem;font-weight:600}.timetable.is-tabbed .timetable__day{margin-top:0}.timetable.is-tabbed .timetable__day:not(.is-active){display:none}.timetable.is-tabbed .timetable__day-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.timetable__list{display:grid;gap:8px}.timetable__row{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:8px 20px;padding:14px 16px 14px 22px;border-radius:10px;background:var(--paper)}.timetable__time{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.timetable__class{display:flex;flex-direction:column}.timetable__class strong{font-weight:600}.timetable__class span{font-size:var(--fs-small);color:var(--ink-soft)!important}.timetable__note{margin-top:16px;font-size:var(--fs-small)}.timetable .link-arrow{margin-top:8px}.price-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}.price-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 24px 24px;border:1px solid var(--sand-line);border-radius:var(--radius-card);background:var(--paper)}.price-card__flag{align-self:flex-start;margin-bottom:4px;padding:4px 9px;border-radius:3px;background:var(--paper);color:var(--accent);font-size:var(--fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.price-card__name{font-size:1.125rem;font-weight:600}.price-card__price{font-size:clamp(2rem,1.6rem + 1vw,2.5rem);font-weight:600;line-height:1.1;letter-spacing:-.03em}.price-card__detail{color:var(--ink-soft);font-size:var(--fs-small)}.price-card .btn{align-self:flex-start;margin-top:auto}.price-card__detail{margin-bottom:12px}.price-card--featured{border-color:var(--olive);background:var(--olive);color:var(--paper)}.price-card--featured .price-card__detail{color:var(--on-olive-soft)}.price-card--featured .btn--primary{background:var(--paper);color:var(--olive)}.price-card--featured .btn--primary:hover{background:#e9e3d8}.price-card--featured :focus-visible{outline-color:var(--paper)}.new-here{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:40px clamp(40px,6vw,96px);align-items:center}.new-here__media{aspect-ratio:4 / 4.4;overflow:hidden;border-radius:var(--radius-card);background:var(--sand)}.new-here__media img{width:100%;height:100%;object-fit:cover}.new-here__copy .block-head__lead{margin-top:12px}.offer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-block:24px 8px;padding:18px 20px;border-radius:10px;background:var(--card)}.offer__label{font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.offer__label .sample-badge{margin-left:6px}.offer__text{margin-top:4px}.offer__text strong{font-size:1.25rem;font-weight:600}.steps{margin-top:24px;border-top:1px solid var(--rule-dark)}.step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding-block:18px;border-bottom:1px solid var(--rule-dark)}.step__num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--olive);color:var(--paper);font-size:.875rem;font-weight:600}.step__title{margin-bottom:2px;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.step p{max-width:52ch;color:var(--ink-soft)}.step .link-arrow{margin-top:2px}.split-section .steps{margin-top:0}.photo-pair{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(12px,2vw,24px)}.photo-pair figure{position:relative;overflow:hidden;border-radius:var(--radius-card);background:var(--sand)}.photo-pair__wide{aspect-ratio:16 / 10}.photo-pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery__title{margin-bottom:clamp(24px,3vw,36px)}.photo-wide{position:relative;aspect-ratio:21 / 9;overflow:hidden;border-radius:var(--radius-card);background:var(--sand)}.photo-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.faq-block{padding-top:0}.faq__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(40px,7vw,120px);padding-top:clamp(48px,5vw,72px);border-top:1px solid var(--sand)}.faq__note{margin-top:16px;max-width:34ch;color:var(--ink-soft)}.faq__note a{color:var(--olive);text-underline-offset:3px}.faq__list{border-top:1px solid var(--sand-line)}.faq-item{border-bottom:1px solid var(--sand-line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding-block:18px;font-size:1.125rem;font-weight:600;line-height:1.4;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--olive)}.faq-item__icon{position:relative;flex:none;width:32px;height:32px;border:1px solid var(--sand-line);border-radius:50%;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.faq-item__icon:before,.faq-item__icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease)}.faq-item__icon:after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item[open] .faq-item__icon{border-color:var(--olive);background:var(--olive)}.faq-item[open] .faq-item__icon:before,.faq-item[open] .faq-item__icon:after{background:var(--paper)}.faq-item[open] .faq-item__icon:after{transform:translate(-50%,-50%) rotate(0)}.faq-item__body{padding:0 56px 24px 0;color:var(--ink-soft)}.faq-item__body .link-arrow{margin-top:8px}.faq-item[open] .faq-item__body{animation:faq-in var(--dur) var(--ease)}@keyframes faq-in{0%{opacity:0;transform:translateY(-4px)}}.cta{padding-block:clamp(72px,9vw,120px);background:var(--olive);color:var(--paper);text-align:center}.cta__title{margin-bottom:14px;font-size:clamp(2.25rem,1.5rem + 2.4vw,3.5rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:var(--paper);text-wrap:balance}.cta__lead{max-width:40ch;margin:0 auto 32px;font-size:var(--fs-lead);color:var(--on-olive-soft)}.cta :focus-visible{outline-color:var(--paper)}.cta .btn--outline-light{border-color:#f5f2ecb3;color:var(--paper)}.breadcrumb{margin-bottom:clamp(20px,3vw,32px)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--fs-small);color:var(--ink-soft)}.breadcrumb li+li:before{content:"/";margin-right:8px;color:var(--sand-line)}.breadcrumb a{text-decoration:none;text-underline-offset:3px}.breadcrumb a:hover{text-decoration:underline}.chooser{border-top:1px solid var(--sand-line)}.chooser__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 32px;padding-block:22px;border-bottom:1px solid var(--sand-line);text-decoration:none}.chooser__quote{font-size:var(--fs-item);font-weight:500;line-height:1.35;transition:color var(--dur) var(--ease)}.chooser__answer{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-small);font-weight:600;color:var(--olive);white-space:nowrap}.chooser__answer svg{width:18px;height:18px;transition:transform var(--dur) var(--ease)}.chooser__row:hover .chooser__quote{color:var(--olive)}.chooser__row:hover .chooser__answer svg{transform:translate(4px)}.class-detail{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:40px clamp(40px,6vw,96px);align-items:center;padding-block:clamp(48px,6vw,88px);border-top:1px solid var(--sand-line)}.class-detail--reverse .class-detail__media{order:2}.class-detail__media{aspect-ratio:5 / 4;overflow:hidden;border-radius:var(--radius-card);background:var(--sand)}.class-detail__media img{width:100%;height:100%;object-fit:cover}.class-detail .title-2{margin-bottom:14px}.class-detail__facts{margin-bottom:14px;font-weight:500}.class-detail__facts .sample-badge{margin-left:8px}.class-detail__intro{max-width:50ch;color:var(--ink-soft)}.class-detail__subhead{margin-block:24px 8px;font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.class-detail .button-row{margin-top:28px}.class-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.class-meta li{padding:4px 10px;border:1px solid var(--sand-line);border-radius:3px;font-size:.8125rem;line-height:1.4}.class-meta .class-meta__badge{border-color:var(--olive);background:var(--olive);color:var(--paper);font-weight:600}.check-list li{position:relative;padding:6px 0 6px 28px}.check-list li:before{content:"";position:absolute;left:0;top:1.05em;width:14px;height:1.5px;background:var(--accent-dot)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:24px;border-top:1px solid var(--sand-line)}.facts div{padding-top:14px}.facts dt{font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.facts dd{margin-top:4px}.glance{width:100%;border-collapse:collapse}.glance th,.glance td{padding:18px 24px 18px 0;border-bottom:1px solid var(--rule-dark);text-align:left;vertical-align:top}.glance thead th{padding-block:0 12px;font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.glance tbody th{font-size:var(--fs-item);font-weight:600}.glance-note{margin-top:18px;font-size:var(--fs-small)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,4vw,56px)}.principle{padding-top:20px;border-top:2px solid var(--ink)}.principle h3{margin-bottom:8px;font-size:var(--fs-item);font-weight:600;line-height:1.3}.principle p{color:var(--ink-soft)}.equipment{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,5vw,80px);align-items:center}.diagram{padding:clamp(16px,2.5vw,32px);border-radius:var(--radius-card);background:var(--paper)}.diagram__svg{display:block;width:100%;height:auto;color:var(--ink)}.diagram__marker circle{fill:var(--accent)}.diagram__marker text{fill:#fff;font-family:var(--sans);font-size:14px;font-weight:700}.diagram__caption{margin-top:12px;font-size:.875rem;color:var(--ink-soft)!important}.parts{border-top:1px solid var(--rule-dark)}.parts>div{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:6px 20px;padding-block:14px;border-bottom:1px solid var(--rule-dark)}.parts dt{display:flex;align-items:baseline;gap:10px;font-weight:600}.parts__num{display:inline-grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.8125rem;font-weight:700;transform:translateY(-1px)}.split-section{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(40px,7vw,120px);align-items:start}.split-section__head{position:sticky;top:calc(var(--header-h) + 32px)}.split-section__head .block-head__lead{margin-top:12px}.prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.prep-card{padding:24px;border-radius:var(--radius-card);background:var(--paper)}.prep-card h3{margin-bottom:8px;font-size:var(--fs-item);font-weight:600}.glossary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}.glossary>div{padding-block:20px 24px;border-top:1px solid var(--sand-line)}.glossary dt{margin-bottom:6px;font-size:1.125rem;font-weight:600}.glossary dd{color:var(--ink-soft)}.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}.route{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--radius-card);background:var(--card)}.route h2{font-size:var(--fs-item);font-weight:600;line-height:1.3}.route p{color:var(--ink-soft)}.route .link-arrow{margin-top:auto;padding-top:8px}.concept-panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(32px,6vw,96px);padding:clamp(28px,4.5vw,64px);border-radius:var(--radius-card);background:var(--sand)}.concept-panel .tag{margin-bottom:16px}.concept-panel .title-2{margin-bottom:12px}.concept-panel p{max-width:44ch}.concept-panel__list{border-top:1px solid var(--rule-dark)}.concept-panel__list li{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:4px 24px;padding-block:16px;border-bottom:1px solid var(--rule-dark)}.concept-panel__list strong{font-weight:600}.map-placeholder{position:relative;margin-top:24px;overflow:hidden;border-radius:8px;background:#e8e1d5;color:var(--olive)}.map-placeholder svg{display:block;width:100%;height:auto}.map-placeholder__pin path{fill:var(--accent)}.map-placeholder__pin circle{fill:var(--paper)}.map-placeholder figcaption{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:3px;background:var(--paper);font-size:.8125rem;font-weight:600}.site-footer{padding-block:clamp(56px,6vw,88px) 32px;background:var(--olive-deep);color:var(--on-olive-soft);font-size:var(--fs-small)}.site-footer :focus-visible{outline-color:var(--paper)}.site-footer a{color:var(--paper);text-underline-offset:3px}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.4fr);gap:40px clamp(24px,4vw,64px);padding-bottom:48px;border-bottom:1px solid rgba(245,242,236,.16)}.site-footer__brand p{margin-top:16px}.site-footer__brand .brand{text-decoration:none}.site-footer__heading{margin-bottom:16px;font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--paper)}.tag--light{color:var(--paper)}.site-footer__concept p{max-width:52ch}.site-footer__col p+p{margin-top:12px}.site-footer__col ul li+li{margin-top:2px}.site-footer__col ul a,.footer-link{display:inline-block;padding-block:8px;text-decoration:none}.site-footer__col ul a:hover,.footer-link:hover{text-decoration:underline}.footer-link{padding-inline:0;border:0;background:none;color:var(--paper);font-size:inherit;text-underline-offset:3px;cursor:pointer}.site-footer__langs{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 32px;padding-block:24px;border-bottom:1px solid rgba(245,242,236,.16)}.site-footer__langs .site-footer__heading{margin:0}.site-footer__langs ul{display:flex;flex-wrap:wrap;gap:0 20px}.site-footer__lang{display:inline-block;padding-block:8px;text-decoration:none}.site-footer__lang:hover,.site-footer__lang[aria-current]{text-decoration:underline;text-underline-offset:4px}.site-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-top:24px;font-size:.875rem}.site-footer__bottom p:last-child{max-width:72ch}.sticky-book{display:none}.booking-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:0;border-radius:var(--radius-card);background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #1f242047}.booking-dialog::backdrop{background:#1f24208c}.booking-dialog[open]{animation:dialog-in .22s var(--ease)}.booking-dialog[open]::backdrop{animation:fade-in .22s var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}}@keyframes fade-in{0%{opacity:0}}.booking-dialog__inner{padding:clamp(28px,5vw,48px)}.booking-dialog__title{margin-bottom:16px;font-size:clamp(1.625rem,1.35rem + 1.1vw,2.125rem);font-weight:600;line-height:1.2;letter-spacing:-.025em}.booking-dialog p{color:var(--ink-soft)}.booking-dialog__selected{margin-bottom:12px;padding:10px 14px;border-left:2px solid var(--accent);background:var(--card);color:var(--ink)!important}.booking-dialog__note{margin-block:24px 32px;padding-top:20px;border-top:1px solid var(--sand)}.booking-dialog__note h3{margin-bottom:6px;font-size:var(--fs-small);font-weight:600}.booking-dialog__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color var(--dur) var(--ease)}.booking-dialog__close:hover{background:var(--sand)}.booking-dialog__close svg{width:20px;height:20px}.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .25s var(--ease),transform .25s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:none}@media(max-width:1100px){.site-nav__list{gap:22px}.price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.glossary{grid-template-columns:repeat(2,minmax(0,1fr))}.split-section__head{position:static}.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__concept{grid-column:1 / -1}.class-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:899px){:root{--header-h: 64px}.site-nav,.lang-switch{display:none}.site-header__actions{margin-left:auto}.menu-toggle{display:grid}.concept-bar__long{display:none}.concept-bar__short{display:inline}.image-hero--home{min-height:clamp(520px,78svh,680px)}.image-hero--page{min-height:440px}.image-hero:after{background:linear-gradient(0deg,rgba(var(--shade),.82),rgba(var(--shade),.62) 45%,rgba(var(--shade),.2) 80%,rgba(var(--shade),.1))}.block-head,.new-here,.photo-pair,.faq__grid,.class-detail,.equipment,.split-section,.concept-panel,.principles,.routes{grid-template-columns:minmax(0,1fr)}.new-here__media,.class-detail__media{aspect-ratio:4 / 3}.class-detail--reverse .class-detail__media{order:0}.photo-pair__narrow,.photo-wide{aspect-ratio:4 / 3}.sticky-book{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--sand);background:#f5f2ecf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(110%);visibility:hidden;transition:transform .22s var(--ease),visibility 0s linear .22s}.sticky-book.is-visible{transform:none;visibility:visible;transition:transform .22s var(--ease),visibility 0s}.sticky-book .btn{width:auto;min-height:44px;padding:0 20px}.sticky-book__link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-small);font-weight:600;color:var(--olive);text-underline-offset:4px}}@media(max-width:640px){.concept-bar{font-size:.8125rem}.concept-bar__inner{gap:10px}.concept-bar__link{display:none}.concept-bar .tag{padding:2px 7px;letter-spacing:.06em}.brand__sub{display:none}.btn{width:100%}.btn--compact,.btn--small{width:auto}.button-row .link-arrow{width:100%;justify-content:center}.faq-item__body{padding-right:0}.site-footer__grid{grid-template-columns:minmax(0,1fr)}.facts-strip__list{justify-content:flex-start;gap:6px 20px}.class-cards,.price-cards{grid-template-columns:minmax(0,1fr)}.timetable__tabs{gap:4px}.timetable__tab{flex:1 0 auto;min-width:0;padding:0 5px;font-size:.8125rem}.timetable__row{grid-template-columns:4.75rem minmax(0,1fr) auto;gap:6px 12px;padding:12px 12px 12px 14px}.timetable__time{font-size:1rem}.chooser__row,.facts,.prep-grid,.glossary{grid-template-columns:minmax(0,1fr)}.parts>div,.concept-panel__list li{grid-template-columns:minmax(0,1fr)}.glance thead{display:none}.glance tr{display:block;padding-block:18px;border-bottom:1px solid var(--rule-dark)}.glance th,.glance td{display:block;padding:4px 0;border:0}.glance tbody th{margin-bottom:6px}.glance td:before{content:attr(data-label);display:block;font-size:var(--fs-label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}}@media(max-width:420px){.btn--compact .label-long{display:none}.btn--compact .label-short{display:inline}.timetable__row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.timetable__time,.timetable__class{grid-column:1}.timetable__row .btn{grid-column:2;grid-row:1 / span 2}}@media(max-width:380px){.brand__name{font-size:1rem;letter-spacing:.16em}.btn--compact{padding:0 12px;font-size:.875rem}.site-header__inner{gap:12px}}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}}