*{box-sizing:border-box}:root{color-scheme:light;--font-base:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#fff;--text:#111;--soft-bg:#f5f5f5;--border:#e6e6e6;--accent:#3b82f6;--accent-hover:#2563eb;.sub-hero--centered .stack{text-align:center;align-items:center}--surface:#fff;--surface-strong:#eef2ff;--muted:#475467;--space-xs:0.5rem;--space-sm:0.875rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--radius-sm:0.6rem;--radius-md:1rem;--radius-lg:2.5rem;--shadow-soft:0 20px 40px rgba(15,23,42,.08);--scrollbar-track:var(--soft-bg);--scrollbar-thumb:linear-gradient(140deg,var(--accent),var(--accent-hover));--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-strong:var(--surface-strong);--color-border:var(--border);--color-text:var(--text);--color-muted:var(--muted);--color-primary:var(--accent);--color-primary-strong:var(--accent-hover);--color-accent:var(--accent);--color-accent-strong:var(--accent-hover);background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-base)}:root[data-theme=dark]{color-scheme:dark;--bg:#040714;--text:#f4f7fb;--soft-bg:#0b1021;--border:hsla(0,0%,100%,.12);--accent:#7c5dff;--accent-hover:#6a46ff;--surface:hsla(0,0%,100%,.06);--surface-strong:rgba(10,12,24,.85);--muted:#9ea8c2;--shadow-soft:0 20px 40px rgba(5,10,35,.55);--scrollbar-track:hsla(0,0%,100%,.04);--scrollbar-thumb:linear-gradient(140deg,#7c5dff,#38f2ff);--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-strong:var(--surface-strong);--color-border:var(--border);--color-text:var(--text);--color-muted:var(--muted);--color-primary:var(--accent);--color-primary-strong:var(--accent-hover);--color-accent:#38f2ff;--color-accent-strong:#38f2ff}html{scrollbar-color:var(--color-primary) var(--scrollbar-track);scrollbar-width:thin;scroll-behavior:smooth}body{margin:0;font-size:1rem;line-height:1.6;background:linear-gradient(180deg,var(--soft-bg),var(--color-bg));min-height:100vh;color:var(--color-text)}::selection{background:color-mix(in srgb,var(--color-accent) 75%,transparent);color:#05070f}:root[data-theme=dark] ::selection{background:color-mix(in srgb,var(--color-accent) 65%,rgba(12,20,50,.4));color:#f8fbff}body.custom-cursor-enabled,body.custom-cursor-enabled *{cursor:none!important}.custom-cursor{position:fixed;top:0;left:0;width:22px;height:22px;border-radius:999px;border:2px solid color-mix(in srgb,var(--color-accent) 80%,hsla(0,0%,100%,.5));background:color-mix(in srgb,var(--color-surface-strong) 50%,hsla(0,0%,100%,.08));box-shadow:0 12px 30px rgba(5,10,35,.25);pointer-events:none;z-index:9999;opacity:.85;transform-origin:center;transition:opacity .25s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.custom-cursor--hidden{opacity:0}.custom-cursor--interactive{background:color-mix(in srgb,var(--color-accent) 35%,color-mix(in srgb,var(--color-surface-strong) 50%,transparent));border-color:color-mix(in srgb,var(--color-accent) 90%,hsla(0,0%,100%,.8));box-shadow:0 18px 40px rgba(59,130,246,.35)}.custom-cursor--pressed{background:color-mix(in srgb,var(--color-accent) 55%,rgba(5,7,15,.5))}.modal__dialog::-webkit-scrollbar,body::-webkit-scrollbar{width:.6rem}.modal__dialog::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-lg)}.modal__dialog::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-lg);border:2px solid color-mix(in srgb,var(--border) 50%,transparent);box-shadow:inset 0 0 6px rgba(0,0,0,.1)}.modal__dialog::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{filter:brightness(1.1)}a{color:inherit;text-decoration:none}a:focus-visible,a:hover{color:var(--color-accent)}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}h1,h2,h3,h4,p{margin:0 0 var(--space-sm)}button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:none}button{cursor:pointer}.container{width:min(1100px,90vw);margin:0 auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--soft-bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.nav-container{display:flex;justify-content:space-between;padding:var(--space-sm) 0}.nav-actions,.nav-container{align-items:center;gap:var(--space-sm)}.nav-actions{display:none}.nav-icon-button{width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--color-text);transition:background .2s ease,color .2s ease}.nav-icon-button:hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface))}.nav-icon-button svg{width:22px;height:22px}.nav-icon-button rect{stroke:currentColor}.nav-icon-button path{fill:currentColor}.nav-cta-mobile,.nav-lang-mobile{margin-top:var(--space-sm)}.nav-lang-mobile{display:flex;gap:var(--space-sm);align-items:center}.brand{gap:var(--space-xs);font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-text)}.brand,.brand__mark{display:inline-flex;align-items:center}.brand__mark{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--color-surface-strong) 70%,transparent);justify-content:center;padding:.2rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-border) 70%,transparent)}.brand__mark img{width:100%;height:100%;object-fit:contain}.brand__text{line-height:1}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface)}.nav-toggle span{display:block;height:2px;width:22px;background:var(--color-text)}.site-nav{position:absolute;inset:calc(100% + 8px) 0 auto;margin:0;padding:var(--space-md);background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-md);transform-origin:top;transform:scaleY(.7);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease}.site-nav.open{opacity:1;transform:scaleY(1);visibility:visible}.site-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.site-nav a[aria-current=page]{color:var(--color-accent)}.nav-cta{display:none}.hero{padding:var(--space-xl) 0 var(--space-lg);position:relative}.hero:after{content:"";position:absolute;inset:20% 10% auto;height:60%;background:radial-gradient(circle,rgba(56,242,255,.2),transparent 65%);z-index:-1;filter:blur(40px)}.hero-content{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;margin-bottom:var(--space-xs)}.eyebrow,.lead{color:var(--color-muted)}.lead{font-size:1.2rem;max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.hero-panel{border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-md);background:linear-gradient(140deg,rgba(124,93,255,.15),rgba(56,242,255,.08));max-width:420px}.hero-panel ul{list-style:none;margin:0;padding:0}.hero-panel li{display:flex;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border)}.hero-panel li:last-child{border-bottom:0}.hero-panel span{color:var(--color-accent);font-weight:600}.section-heading{text-align:start;margin-bottom:var(--space-md)}.featured{padding:var(--space-lg) 0}.featured-grid{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.glass-card{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:transform .3s ease,border-color .3s ease}.glass-card:focus-within,.glass-card:hover{transform:translateY(-6px);border-color:var(--color-primary)}.split{padding:var(--space-lg) 0}.split-grid{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.stat-card{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-md);background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary) 18%,var(--color-surface)),var(--color-surface))}.stat-card ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.stat-card strong{font-size:1.5rem;color:var(--color-accent)}.sub-hero{padding:var(--space-lg) 0 var(--space-md)}.stack{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);max-width:720px}.courses{padding:0 0 var(--space-xl)}.course-promos{padding:0 0 var(--space-lg)}.promo-grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.promo-card{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:color-mix(in srgb,var(--color-surface-strong) 60%,transparent);padding:var(--space-lg);box-shadow:0 30px 50px rgba(5,10,35,.12)}.promo-badge-row{display:flex;align-items:center;gap:var(--space-sm);justify-content:space-between;flex-wrap:wrap}.promo-badge{padding:.35rem 1rem;border-radius:999px;background:linear-gradient(120deg,var(--color-primary),var(--color-accent));color:#05070f;font-weight:600;font-size:.85rem}.promo-content{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.promo-tagline{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--color-muted);margin:0}.promo-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.promo-chips span{padding:.3rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);background:color-mix(in srgb,var(--color-surface) 80%,transparent);font-size:.9rem}.promo-highlights{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.promo-highlights li{padding:.7rem 1rem;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--color-accent) 35%,var(--color-border));background:color-mix(in srgb,var(--color-surface) 70%,transparent)}.promo-footer{font-size:.9rem;color:var(--color-muted)}.promo-cta,.promo-footer{margin-top:var(--space-xs)}.promo-cta{justify-self:start}.course-card,.courses-grid{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.course-card{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-md);background:var(--color-surface-strong);position:relative;overflow:hidden}.course-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);color:var(--color-muted)}.course-meta span{padding:.25rem .75rem;border-radius:999px;border:1px solid var(--color-border)}.contact{padding:0 0 var(--space-xl)}.contact-grid{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}form{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);border:1px solid var(--color-border);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface)}.form-field{display:grid;grid-gap:.35rem;gap:.35rem}.form-helper{color:var(--color-muted);font-size:.9rem;margin-bottom:var(--space-sm)}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem .75rem;background:var(--color-surface)}textarea{resize:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-error{min-height:1rem;font-size:.85rem;color:#ff6b6b}.form-success{min-height:1.2rem;color:var(--color-accent)}.social-row{display:flex;gap:var(--space-sm)}.social-row a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface)}.social-row svg{width:24px;height:24px;fill:var(--color-text)}.bookings{padding:var(--space-md) 0 var(--space-xl)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;min-width:600px}table td,table th{padding:.875rem 1rem;border-bottom:1px solid var(--color-border)}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-lg) 0 var(--space-md);background:var(--soft-bg)}.footer-grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.small{font-size:.85rem;color:var(--color-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;border-radius:999px;border:1px solid transparent;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-primary{background:linear-gradient(120deg,var(--color-primary),var(--color-accent));color:#05070f;box-shadow:var(--shadow-soft)}.btn-primary:hover{transform:translateY(-2px)}.btn-outline{border-color:var(--color-border);color:var(--color-text);background:transparent}.site-footer a{color:var(--color-muted)}.portfolio{padding:0 0 var(--space-xl)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.portfolio-card{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);cursor:zoom-in;transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;position:relative}.portfolio-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 25px 40px rgba(8,12,30,.45)}.portfolio-card:active{transform:translateY(-2px) scale(.98)}.portfolio-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.portfolio-card figcaption{padding:var(--space-sm)}.modal--portfolio .modal__backdrop{background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--color-accent) 40%,transparent),transparent 55%),rgba(2,5,21,.85)}.modal__dialog--portfolio{width:min(1000px,94vw);padding:clamp(1.5rem,2vw,2.6rem);background:linear-gradient(135deg,rgba(7,11,32,.95),rgba(13,21,50,.9))}.modal__dialog--portfolio .modal__content{margin-top:0;animation:portfolio-lightbox-pop .35s cubic-bezier(.16,1,.3,1)}.portfolio-lightbox{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}@media (min-width:768px){.portfolio-lightbox{grid-template-columns:minmax(0,3fr) minmax(0,2.25fr);align-items:center}}.portfolio-lightbox__media{position:relative;border-radius:calc(var(--radius-md) + 6px);overflow:hidden;aspect-ratio:4/3;background:radial-gradient(circle at top,color-mix(in srgb,var(--color-accent) 30%,transparent),transparent 60%),rgba(2,6,24,.9);box-shadow:0 25px 60px rgba(2,4,20,.65)}.portfolio-lightbox__media img{object-fit:cover}@keyframes portfolio-lightbox-pop{0%{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.modal__dialog--portfolio .modal__content,.portfolio-card{transition:none;animation:none}}.portfolio-lightbox__body{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.portfolio-lightbox__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:color-mix(in srgb,var(--color-accent) 55%,var(--color-muted))}.portfolio-lightbox__body h2{margin:0;font-size:clamp(1.5rem,2vw,2.2rem)}.portfolio-lightbox__caption{color:color-mix(in srgb,var(--color-text) 85%,var(--color-muted));line-height:1.6}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;visibility:hidden;opacity:0;transition:opacity .2s ease}.modal.open{visibility:visible;opacity:1}.modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at top,color-mix(in srgb,var(--color-accent) 30%,transparent),transparent 60%),color-mix(in srgb,#020515 75%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}:root:not([data-theme=dark]) .modal__backdrop{background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--color-accent) 22%,transparent),transparent 55%),color-mix(in srgb,var(--soft-bg) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.modal__dialog{position:relative;width:min(500px,92vw);max-height:90vh;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--color-surface-strong) 85%,transparent),rgba(15,23,42,.9));padding:var(--space-lg);box-shadow:0 30px 80px rgba(3,6,25,.8);overflow-y:auto}.modal__dialog--confirm{width:min(420px,90vw);min-width:min(90vw,320px);min-height:clamp(300px,42vh,420px);display:flex;padding:0;background:linear-gradient(140deg,rgba(124,93,255,.22),rgba(56,242,255,.14));border:1px solid color-mix(in srgb,var(--color-border) 35%,transparent);box-shadow:0 50px 100px rgba(5,10,35,.45)}.modal--confirm .modal__backdrop{background:linear-gradient(145deg,rgba(2,6,23,.8),rgba(15,23,42,.85))}:root:not([data-theme=dark]) .modal--confirm .modal__backdrop{background:linear-gradient(145deg,rgba(15,23,42,.55),rgba(15,23,42,.8))}:root:not([data-theme=dark]) .modal__dialog{background:linear-gradient(150deg,color-mix(in srgb,var(--color-surface) 95%,hsla(0,0%,100%,.6)),color-mix(in srgb,var(--color-surface-strong) 70%,rgba(59,130,246,.12)));border:1px solid color-mix(in srgb,var(--color-border) 70%,#dbeafe);box-shadow:0 25px 70px rgba(15,23,42,.16)}.modal__close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);background:rgba(0,0,0,.25);color:var(--color-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal__content{margin-top:var(--space-sm)}.modal__dialog--confirm .modal__content{margin:0;padding:var(--space-lg);flex:1 1}.confirm-dialog{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg);height:100%}.confirm-dialog__body h2{margin:0 0 var(--space-sm);font-size:clamp(1.5rem,3vw,2.2rem)}.confirm-dialog__body p{color:var(--color-muted)}.confirm-dialog__actions{display:flex;gap:var(--space-sm);justify-content:flex-end;flex-wrap:wrap}@media (max-width:768px){.modal__dialog--confirm{width:calc(100% - var(--space-md));min-height:auto}.modal__dialog--confirm .modal__content{padding:var(--space-lg)}.confirm-dialog__actions{flex-direction:column}}.booking-form{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.booking-form h2{margin:0}.booking-form .form-field label{color:var(--color-muted)}.booking-form input,.booking-form select{background:color-mix(in srgb,var(--color-surface) 95%,rgba(11,17,42,.04));border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);color:var(--color-text);box-shadow:inset 0 1px 2px rgba(15,23,42,.08)}:root[data-theme=dark] .booking-form input,:root[data-theme=dark] .booking-form select{background:rgba(15,23,42,.85);border-color:color-mix(in srgb,var(--color-border) 70%,transparent);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.04)}.booking-form input:focus-visible,.booking-form select:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 40%,transparent)}.toast-stack{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,90vw);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);z-index:200;pointer-events:none}.toast{padding:1rem 1.25rem;border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface-strong) 80%,transparent),color-mix(in srgb,var(--soft-bg) 70%,transparent));border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);box-shadow:0 25px 60px rgba(5,10,35,.15);font-weight:600;text-align:center;color:var(--color-text);animation:toast-pop .25s ease,fade-out .2s ease 3.6s forwards;pointer-events:auto}.toast-success{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);box-shadow:0 30px 70px rgba(59,130,246,.25)}.toast-info{border-color:color-mix(in srgb,#38f2ff 55%,transparent)}.toast-error{border-color:color-mix(in srgb,#f87171 60%,transparent)}@keyframes toast-pop{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-out{to{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-hidden=true]{display:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (min-width:640px){.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.courses-grid,.portfolio-grid,.promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:900px){.nav-toggle{display:none}.nav-actions{display:flex}.site-nav{position:static;opacity:1;visibility:visible;transform:none;padding:0;border:none;background:transparent}.site-nav ul{flex-direction:row;gap:var(--space-md)}.nav-cta-mobile,.nav-lang-mobile{display:none}.nav-cta{display:inline-flex}.hero-content{grid-template-columns:2fr 1fr;align-items:center}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-grid,.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1200px){.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.courses-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.modal{align-items:flex-end;padding:0}.modal__dialog{width:100%;max-height:100vh;border:none;border-radius:2rem 2rem 0 0;padding:var(--space-lg) var(--space-lg) var(--space-xl);background:linear-gradient(180deg,var(--color-surface),var(--soft-bg));box-shadow:0 -20px 60px rgba(5,10,35,.25);display:flex;flex-direction:column;align-items:center}.modal__dialog:before{content:"";position:absolute;top:.75rem;left:50%;transform:translateX(-50%);width:52px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--color-border) 60%,transparent)}.modal__close{top:1rem;right:1rem;width:32px;height:32px;border:none;background:color-mix(in srgb,var(--color-surface) 80%,rgba(0,0,0,.05));box-shadow:0 6px 16px rgba(15,23,42,.15)}.booking-form{border:none;padding:0;background:transparent;gap:var(--space-sm);width:min(420px,100%);margin:0 auto}.booking-form .form-field{background:color-mix(in srgb,var(--color-surface-strong) 80%,transparent);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent)}.booking-form .form-field label{font-size:.85rem;color:var(--color-muted)}.booking-form input,.booking-form select{border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-surface) 92%,transparent);padding:.5rem .75rem;box-shadow:inset 0 1px 2px rgba(15,23,42,.06)}.booking-form .btn-primary{width:100%;justify-content:center;margin-top:var(--space-sm)}}