@charset "UTF-8";:root{--color-primary:#47a0ff;--color-primary-light:#6db4ff;--color-primary-dark:#1565c0;--color-secondary:#c2185b;--color-secondary-dark:#a31550;--color-secondary-darker:#880e4f;--color-secondary-light:#e8678f;--color-btn-fg:#ffffff;--color-on-primary:#111827;--color-bg:#ffffff;--color-bg-alt:#f6f6f6;--color-bg-card:#ffffff;--color-text:#333333;--color-text-muted:#666666;--color-text-light:#ffffff;--on-surface-variant:#666666;--color-border:#b0b0b0;--color-overlay:rgba(0, 20, 50, 0.55);--page-hero-height:300px;--legal-hero-gap:var(--space-10);--color-header-bg:#ffffff;--color-header-border:#47a0ff;--border:1px solid var(--color-border);--shadow-sm:0 1px 4px rgba(0, 0, 0, 0.06);--shadow-md:0 2px 10px rgba(0, 0, 0, 0.10);--shadow-lg:0 4px 20px rgba(0, 0, 0, 0.14);--shadow-xl:0 8px 32px rgba(0, 0, 0, 0.18);--color-white:#ffffff;--color-star:#fbbc05;--color-success:#4caf50;--color-success-dark:#27ae60;--color-success-border:#86efac;--color-success-bg:#dcfce7;--color-success-text:#14532d;--color-error:#e74c3c;--color-error-border:#f87171;--color-error-bg:#fee2e2;--color-error-text:#7f1d1d;--color-info:#0077b3;--color-info-border:#93c5fd;--color-info-bg:#eff6ff;--color-info-text:#1e40af;--color-cta-bg:#2a5c7a;--color-cta-overlay:rgba(0, 60, 100, 0.55);--color-quote-overlay:rgba(30, 20, 5, 0.60);--color-quote-bg:#3a2e1e;--color-bg-icon-dark:#2f4d73;--color-sale:#e91e8c;--color-sale-dark:#c4166f;--color-gallery-overlay:rgba(0, 30, 55, 0.45);--color-gallery-from:#003a5c;--color-gallery-to:#0077b3;--color-notice-bg:rgba(194, 24, 91, 0.06);--color-notice-border:rgba(194, 24, 91, 0.30);--color-notice-title:#880e4f;--color-bg-input:#f9f9f9;--color-border-input:#d8d8d8;--color-placeholder:#aaaaaa;--color-footer-text:#9a9a9a;--color-footer-separator:#e8e8e8;--color-cookie-bg:#2b2b2b;--color-cookie-text:#f0f0f0;--color-cookie-link:#7bbfff;--color-cookie-hover:#2e8ff0;--color-white-alpha-10:rgba(255, 255, 255, 0.10);--color-white-alpha-12:rgba(255, 255, 255, 0.12);--color-white-alpha-15:rgba(255, 255, 255, 0.15);--color-white-alpha-20:rgba(255, 255, 255, 0.20);--color-white-alpha-40:rgba(255, 255, 255, 0.40);--color-white-alpha-50:rgba(255, 255, 255, 0.50);--color-white-alpha-55:rgba(255, 255, 255, 0.55);--color-white-alpha-60:rgba(255, 255, 255, 0.60);--color-white-alpha-80:rgba(255, 255, 255, 0.80);--color-white-alpha-88:rgba(255, 255, 255, 0.88);--color-white-alpha-90:rgba(255, 255, 255, 0.90);--color-white-alpha-95:rgba(255, 255, 255, 0.95);--color-black-alpha-06:rgba(0, 0, 0, 0.06);--color-black-alpha-09:rgba(0, 0, 0, 0.09);--color-black-alpha-12:rgba(0, 0, 0, 0.12);--color-black-alpha-15:rgba(0, 0, 0, 0.15);--color-black-alpha-20:rgba(0, 0, 0, 0.20);--color-black-alpha-25:rgba(0, 0, 0, 0.25);--color-black-alpha-30:rgba(0, 0, 0, 0.30);--color-black-alpha-32:rgba(0, 0, 0, 0.32);--color-black-alpha-35:rgba(0, 0, 0, 0.35);--color-black-alpha-40:rgba(0, 0, 0, 0.40);--color-black-alpha-45:rgba(0, 0, 0, 0.45);--color-black-alpha-50:rgba(0, 0, 0, 0.50);--color-black-alpha-55:rgba(0, 0, 0, 0.55);--color-black-alpha-92:rgba(0, 0, 0, 0.92);--color-primary-alpha-10:rgba(0, 95, 142, 0.10);--color-primary-alpha-12:rgba(0, 95, 142, 0.12);--color-primary-alpha-20:rgba(0, 95, 142, 0.20);--color-secondary-alpha-06:rgba(194, 24, 91, 0.06);--color-secondary-alpha-08:rgba(194, 24, 91, 0.08);--color-secondary-alpha-30:rgba(194, 24, 91, 0.30);--color-secondary-alpha-35:rgba(194, 24, 91, 0.35);--color-dark-alpha-55:rgba(30, 30, 30, 0.55);--color-dark-alpha-80:rgba(30, 30, 30, 0.80);--font-sans:'Oxygen',Helvetica,Arial,Verdana,sans-serif;--font-display:'Kaushan Script',var(--font-sans);--font-size-3xs:0.70rem;--font-size-2xs:0.75rem;--font-size-xs-b:0.80rem;--font-size-xs:0.85rem;--font-size-sm:0.90rem;--font-size-sm-b:0.95rem;--font-size-base:1rem;--font-size-body:1.05rem;--font-size-md:1.1rem;--font-size-lg-b:1.2rem;--font-size-lg:1.25rem;--font-size-xl-b:1.3rem;--font-size-xl-c:1.4rem;--font-size-xl:1.5rem;--font-size-2xl:1.8rem;--font-size-2xl-b:2.2rem;--font-size-3xl:2rem;--font-size-3xl-b:2.5rem;--font-size-4xl:2.6rem;--font-size-4xl-b:2.8rem;--font-size-5xl:3.2rem;--font-size-giant:5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--line-height-tight:1.1;--line-height-snug:1.2;--line-height-snug-b:1.3;--line-height-normal:1.4;--line-height-medium:1.5;--line-height-relaxed:1.6;--line-height-loose:1.7;--line-height-base:1.65;--line-height-reset:1;--letter-spacing-none:0;--letter-spacing-sm:0.03em;--letter-spacing-md:0.06em;--letter-spacing-lg:0.08em;--letter-spacing-xl:0.1em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius:10px;--radius-sm:4px;--radius-md:var(--radius);--radius-lg:var(--radius);--radius-xl:var(--radius);--radius-full:9999px;--transition-fast:0.15s ease;--transition:0.25s ease;--transition-slow:0.4s ease;--container-max:1200px;--container-pad:clamp(1rem, 5vw, 2rem);--z-base:1;--z-nav:100;--z-header:200;--z-modal:300;--z-cookie:400}[data-theme=dark]{--color-primary:#5aadff;--color-primary-light:#7bbeff;--color-primary-dark:#1565c0;--color-secondary:#c2185b;--color-secondary-dark:#a31550;--color-btn-fg:var(--color-bg);--color-bg:#0f0f1a;--color-bg-alt:#181824;--color-bg-card:#1e1e2e;--color-text:#e0e0f0;--color-text-muted:#9090b0;--on-surface-variant:#c0c0d0;--color-border:#52527a;--color-overlay:rgba(0, 0, 20, 0.65);--color-header-bg:#0f0f1a;--color-header-border:#5aadff;--shadow-sm:0 1px 4px rgba(0, 0, 0, 0.3);--shadow-md:0 2px 10px rgba(0, 0, 0, 0.4);--shadow-lg:0 4px 20px rgba(0, 0, 0, 0.5);--shadow-xl:0 8px 32px rgba(0, 0, 0, 0.6);--color-bg-input:#19192a;--color-border-input:#34344c;--color-placeholder:#7f7fa1;--color-notice-bg:rgba(194, 24, 91, 0.08);--color-notice-border:rgba(194, 24, 91, 0.35);--color-notice-title:#f48fb1;--color-success-bg:#14532d;--color-success-text:#dcfce7;--color-success-border:#16a34a;--color-error-bg:#7f1d1d;--color-error-text:#fee2e2;--color-error-border:#b91c1c;--color-footer-text:var(--color-text-muted);--color-footer-separator:var(--color-border);--color-quote-bg:#2a1f10;--color-cta-bg:#1a3c5a;--color-secondary-darker:#f06292;--color-secondary-light:#f48fb1;--color-success-dark:#4ade80}*,::after,::before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.no-transitions body{transition:none!important}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important}ol,ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);color:var(--color-text)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.4rem)}h4{font-size:var(--font-size-md)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-xs)}p{font-size:var(--font-size-body);margin-bottom:var(--space-4);color:var(--color-text)}p:last-child{margin-bottom:0}strong{font-weight:var(--font-weight-bold)}em{font-style:italic}small{font-size:var(--font-size-xs);color:var(--color-text-muted)}.section-title{font-family:var(--font-sans);font-weight:var(--font-weight-bold);text-align:center;color:var(--color-text)}.section-title--light{color:var(--color-text-light)}.section-subtitle{font-family:var(--font-display);font-weight:var(--font-weight-normal);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-lg);margin-top:var(--space-3);max-width:640px;margin-left:auto;margin-right:auto}.eyebrow{display:block;font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);color:var(--color-text-muted);margin-bottom:var(--space-2);letter-spacing:var(--letter-spacing-none);text-transform:none}.divider{background-color:var(--color-primary);margin:var(--space-4) auto 0;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.container--narrow{max-width:760px}.container--wide{max-width:1400px}.section{padding-block:var(--space-8)}.section--flush-top{padding-top:0}.section--alt{background-color:var(--color-bg-alt)}.section--dark{background-color:var(--color-primary-dark);color:var(--color-text-light)}.grid-2{display:grid;gap:var(--space-6)}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{display:grid;gap:var(--space-6)}@media (min-width:576px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.section{padding-block:var(--space-12)}.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{display:grid;gap:var(--space-5)}@media (min-width:576px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.section-header{text-align:center;margin-bottom:var(--space-6)}.skip-to-content{position:fixed;top:var(--space-3);left:50%;transform:translateX(-50%) translateY(-200%);padding:var(--space-3) var(--space-6);background:var(--color-primary-dark);color:var(--color-btn-fg);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);z-index:9999;transition:transform var(--transition-fast);white-space:nowrap}.skip-to-content:focus{transform:translateX(-50%) translateY(0)}@media (max-width:767px){.course-hero+.section{padding-top:0}.sticky-header-wrap{position:sticky;top:0;z-index:var(--z-header)}}.site-header{position:relative;background-color:var(--color-header-bg);border-bottom:3px solid var(--color-primary);box-shadow:0 2px 3px var(--color-black-alpha-09);transition:background-color var(--transition)}@media (min-width:768px){.section-header{margin-bottom:var(--space-12)}.sticky-header-wrap{display:contents}.site-header{position:sticky;top:0;z-index:var(--z-header)}.about__grid{grid-template-columns:1fr 1fr}}.site-header .container{display:flex;align-items:center;gap:var(--space-4);height:68px}.site-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;margin-top:8px;margin-bottom:8px}.site-logo__img{width:233px;height:60px;-o-object-fit:contain;object-fit:contain;display:block}@media (max-width:767px){.site-header .container{height:50px}.site-logo{margin-top:4px;margin-bottom:4px}.site-logo__img{width:160px;height:42px}}.site-logo__img--dark{display:none}.site-logo__img--light{display:block}[data-theme=dark] .site-logo__img--light{display:none}[data-theme=dark] .site-logo__img--dark{display:block}.site-nav{display:none;flex:1;align-items:center;justify-content:center}@media (min-width:1024px){.site-nav{display:flex}}.nav-list{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.nav-item{position:relative}.nav-item:focus-within .nav-dropdown,.nav-item:hover .nav-dropdown{display:block;animation:.2s forwards fadeDown}.nav-link{display:block;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);text-transform:uppercase;color:var(--color-text);border-radius:var(--radius-md);position:relative;transition:color var(--transition);white-space:nowrap}.nav-link.active,.nav-link:hover{color:var(--color-primary)}.nav-link.active:not(.nav-link--has-dropdown)::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:28px;height:3px;background-color:var(--color-primary);border-radius:0}.nav-link--has-dropdown{display:flex;align-items:center;gap:var(--space-1)}.nav-link--has-dropdown::after{content:"";display:inline-block;width:8px;height:5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%235c7a9a'/%3E%3C/svg%3E");background-repeat:no-repeat;transition:transform var(--transition-fast)}.nav-dropdown{display:none;position:absolute;top:100%;left:0;width:auto;white-space:nowrap;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);margin-top:8px;z-index:var(--z-nav)}.nav-dropdown::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.nav-dropdown a,.nav-dropdown span{display:block;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;color:var(--color-text);border-radius:var(--radius-md);transition:color var(--transition),background-color var(--transition)}.nav-dropdown a:hover,.nav-dropdown span:hover{color:var(--color-primary);background-color:var(--color-bg-alt)}.nav-dropdown a.active,.nav-dropdown span.active{color:var(--color-primary);font-weight:var(--font-weight-bold)}.nav-dropdown__group{position:relative}.nav-dropdown__group .nav-dropdown__parent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer}.nav-dropdown__group .nav-dropdown__parent::after{content:"";display:inline-block;width:5px;height:8px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 8'%3E%3Cpath d='M0 0l5 4-5 4z' fill='%235c7a9a'/%3E%3C/svg%3E");background-repeat:no-repeat}.nav-dropdown__group .nav-dropdown__sub{display:none;position:absolute;left:100%;top:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);min-width:140px;white-space:nowrap}.nav-dropdown__group:hover .nav-dropdown__sub{display:block;animation:.2s forwards fadeDown}@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.lang-switcher{display:none}@media (min-width:1024px){.lang-switcher{display:flex;align-items:center}}.lang-switcher .nav-dropdown a.is-active{color:var(--color-primary);font-weight:var(--font-weight-bold)}.lang-switcher .lang-switcher__btn{color:var(--color-text)!important}.lang-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;padding:3px 24px 3px 8px;height:28px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:border-color var(--transition),color var(--transition)}.lang-select:focus,.lang-select:hover{border-color:var(--color-primary);color:var(--color-primary);outline:0}[data-theme=dark] .lang-select{background-color:var(--color-bg-alt);color:var(--color-text);border-color:var(--color-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23aaa' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E")}.lang-link{display:flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs-b);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color var(--transition),background-color var(--transition)}.lang-link:hover{color:var(--color-primary);background-color:var(--color-bg-alt)}.lang-link.active{color:var(--color-primary);background-color:var(--color-bg-alt);font-weight:800}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-muted);transition:color var(--transition),background-color var(--transition)}.theme-toggle:hover{color:var(--color-primary);background-color:var(--color-bg-alt)}.theme-toggle svg{width:18px;height:18px;fill:currentColor}.theme-toggle .icon-moon{display:block}.theme-toggle .icon-sun,[data-theme=dark] .theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;gap:5px;border-radius:var(--radius-md);color:var(--color-text);transition:background-color var(--transition);margin-left:auto}.nav-toggle:hover{background-color:var(--color-bg-alt)}.nav-toggle span{display:block;width:22px;height:2px;background-color:currentColor;border-radius:2px;transition:transform var(--transition),opacity var(--transition);transform-origin:center}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;top:68px;background-color:var(--color-bg);z-index:calc(var(--z-header) - 1);padding:var(--space-2) 0 var(--space-10);overflow-y:auto;transform:translateX(100%);transition:transform var(--transition)}@media (min-width:1024px){.mobile-nav,.nav-toggle{display:none}}.mobile-nav.is-open{transform:translateX(0)}.mobile-nav .nav-mobile-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;width:100%}.mobile-nav .nav-mobile-item{width:100%;border-bottom:1px solid var(--color-border)}.mobile-nav details{width:100%}.mobile-nav .nav-mobile-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) var(--container-pad);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text);transition:color var(--transition);text-align:left;list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobile-nav .nav-mobile-link::-webkit-details-marker{display:none}.mobile-nav .nav-mobile-link::marker{display:none}.mobile-nav .nav-mobile-link.is-active,.mobile-nav .nav-mobile-link:hover{color:var(--color-primary)}.mobile-nav .nav-mobile-link .nav-chevron{flex-shrink:0;width:18px;height:18px;opacity:.45;transition:transform .25s}.mobile-nav details[open]>summary.nav-mobile-link .nav-chevron{transform:rotate(180deg);opacity:.8}.mobile-nav .nav-mobile-sub{list-style:none;margin:0;padding:var(--space-1) 0;background-color:color-mix(in srgb,var(--color-border) 30%,var(--color-bg))}.mobile-nav .nav-mobile-sub li a{display:block;padding:var(--space-3) calc(var(--container-pad) + var(--space-4));font-size:var(--font-size-sm-b);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:color var(--transition);text-align:left}.mobile-nav .nav-mobile-sub li a.is-active,.mobile-nav .nav-mobile-sub li a:hover{color:var(--color-primary)}.topbar{background-color:var(--color-bg);color:var(--on-surface-variant);font-size:var(--font-size-xs-b);padding:4px 0 0}.topbar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;white-space:nowrap;position:relative;padding-bottom:6px}.topbar .container::after{content:"";position:absolute;bottom:0;left:var(--container-pad);right:var(--container-pad);border-bottom:var(--border)}.topbar a{color:var(--on-surface-variant);transition:color var(--transition-fast)}.topbar a:hover{color:var(--color-text)}@media (max-width:700px){.topbar__item--schedule{display:none!important}}.topbar__left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.topbar__item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;line-height:var(--line-height-normal);overflow:hidden;text-overflow:ellipsis}.topbar__item svg{flex-shrink:0}.topbar__right{display:flex;align-items:center;flex-shrink:0;margin-left:var(--space-4)}.topbar__social{display:flex;align-items:center;gap:var(--space-2)}.topbar__social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--on-surface-variant);opacity:.85;transition:color var(--transition-fast),opacity var(--transition-fast)}.topbar__social a:hover{color:var(--color-primary);opacity:1}.topbar__social a svg{width:20px;height:20px;fill:currentColor}.hero{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg)}@media (max-width:767px){.hero{display:none}}.hero__video-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero__video-bg iframe,.hero__video-bg video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,177.78vh);height:max(56.25vw,100%);border:0;-o-object-fit:cover;object-fit:cover}@media (prefers-reduced-motion:reduce){.hero__video-bg{display:none}}.hero__mute-btn{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-white-alpha-50);background:var(--color-black-alpha-30);color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.hero__mute-btn:hover{background:var(--color-black-alpha-55)}.hero__mute-btn svg{width:16px;height:16px;flex-shrink:0}.hero__mute-btn .icon-unmuted,.hero__mute-btn.is-unmuted .icon-muted{display:none}.hero__mute-btn.is-unmuted .icon-unmuted{display:block}@media (prefers-reduced-motion:reduce){.hero__mute-btn{display:none}}.hero__content{position:relative;z-index:2;text-align:center;color:var(--color-white);padding:var(--space-8) var(--container-pad);max-width:780px;margin:0 auto;animation:.8s both heroFadeIn;will-change:opacity,transform}.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4);opacity:.95}.hero__headline{font-family:var(--font-display);font-size:clamp(2.2rem,7vw,4.5rem);font-weight:var(--font-weight-black);line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--color-white);margin-bottom:var(--space-6);text-shadow:0 2px 20px var(--color-black-alpha-30)}.hero__headline span{color:var(--color-secondary)}.hero__subheadline{font-size:clamp(1rem,2.5vw,1.25rem);line-height:var(--line-height-relaxed);color:var(--color-white-alpha-88);margin-bottom:var(--space-10);max-width:600px;margin-inline:auto}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;align-items:center}.hero__scroll{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-white-alpha-60);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;z-index:2;animation:2s infinite bounce;cursor:default}.hero__scroll svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}@keyframes heroFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}.page-hero{padding-block:var(--space-8) 0;text-align:center}.page-hero__title{font-family:var(--font-display);font-weight:var(--font-weight-black);color:var(--color-text);margin-bottom:0}.page-hero__subtitle{color:var(--color-text-muted);font-size:var(--font-size-md)}.page-hero__breadcrumb{font-size:var(--font-size-xs-b);margin-top:var(--space-2);color:var(--color-text-muted)}.page-hero__breadcrumb a{color:inherit;text-decoration:none}.page-hero__breadcrumb a:hover{opacity:.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.75rem 1.75rem;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);border-radius:var(--radius-full);cursor:pointer;transition:filter var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;border:2px solid transparent;text-decoration:none}.btn svg{width:1.1rem;height:1.1rem;flex-shrink:0}.btn--primary{background-color:var(--color-primary-dark);color:var(--color-btn-fg);border-color:var(--color-primary-dark);text-transform:uppercase;border-radius:var(--radius-md)}.btn--primary:hover{background-color:var(--color-primary-dark);filter:brightness(.88);border-color:transparent;color:var(--color-btn-fg)}.btn--primary:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(.4);background-color:var(--color-border);border-color:var(--color-border);color:var(--on-surface-variant)}.btn .btn__spinner{display:none;width:1rem;height:1rem;border:2px solid var(--color-white-alpha-20);border-top-color:currentColor;border-radius:50%}.btn[aria-busy=true]{pointer-events:none;cursor:wait}.btn[aria-busy=true] svg{display:none}.btn[aria-busy=true] .btn__spinner{display:block;animation:.65s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--reserve{background-color:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary);text-transform:uppercase;border-radius:var(--radius-md)}.btn--reserve:hover{background-color:color-mix(in srgb,var(--color-secondary) 82%,#000);border-color:color-mix(in srgb,var(--color-secondary) 82%,#000);color:var(--color-white)}.btn--outline{background-color:transparent;border-color:var(--color-white);color:var(--color-white)}.btn--outline:hover{background-color:var(--color-white-alpha-12);border-color:var(--color-white)}.btn--outline-primary{background-color:transparent;border-color:var(--color-primary-dark);color:var(--color-primary-dark);text-transform:uppercase;border-radius:var(--radius-md)}.btn--outline-primary:hover{background-color:var(--color-primary-dark);color:var(--color-btn-fg)}.btn--ghost{background-color:transparent;border-color:transparent;color:var(--color-primary-dark);padding-inline:0;border-radius:0}.btn--ghost:hover{color:var(--color-primary-dark);filter:brightness(.8);transform:none;box-shadow:none}.btn--sm{padding:.5rem 1.25rem;font-size:var(--font-size-xs)}.btn--lg{padding:1rem 2.5rem;font-size:var(--font-size-base)}.features{background-color:var(--color-bg-alt)}.features__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8)}@media (max-width:767px){.features{padding-block:var(--space-5)}.features .section-header{display:none}.features__grid{gap:var(--space-5)}}.features__grid .feature-card{width:100%}@media (min-width:576px){.features__grid .feature-card{width:calc(50% - var(--space-8)/ 2)}}.feature-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.feature-card__icon{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-dark);border-radius:50%;flex-shrink:0;color:var(--color-white);margin-bottom:var(--space-5)}.feature-card__icon::before{content:"";position:absolute;inset:4px;border-radius:50%;border:2px dashed var(--color-white-alpha-55);pointer-events:none}.feature-card__icon svg{width:34px;height:34px;fill:currentColor}[data-theme=dark] .feature-card__icon{background-color:var(--color-bg-icon-dark)}.feature-card__body{flex:1}.feature-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-3)}.feature-card__text{font-size:var(--font-size-body);color:var(--color-text-muted);line-height:var(--line-height-normal);margin:0}.feature-card__text a{color:var(--color-primary);text-decoration:none}.feature-card__text a:hover{opacity:.75}@media (max-width:767px){.feature-card{flex-direction:row;align-items:flex-start;text-align:left;gap:var(--space-3)}.feature-card__icon{width:42px;height:42px;margin-bottom:0}.feature-card__icon::before{display:none}.feature-card__icon svg{width:18px;height:18px}.feature-card__title{margin-bottom:.15rem}.feature-card__text{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.location__form .divider,.location__form .eyebrow,.location__form h2{text-align:center;margin-left:auto;margin-right:auto}.location__form .divider--left{margin-left:auto;margin-right:auto}}.cta-banner{background-color:var(--color-cta-bg);background-image:url(../images/bg-reservas.jpg);background-image:-webkit-image-set(url("../images/bg-reservas.webp") type('image/webp'), url("../images/bg-reservas.jpg") type('image/jpeg'));background-image:image-set(url("../images/bg-reservas.webp") type('image/webp'), url("../images/bg-reservas.jpg") type('image/jpeg'));background-size:cover;background-position:center;background-attachment:fixed;color:var(--color-white);text-align:center;padding-block:var(--space-12);position:relative}.cta-banner::before{content:"";position:absolute;inset:0;background-color:var(--color-cta-overlay)}.cta-banner .container{position:relative}.cta-banner__title{font-family:var(--font-sans);font-size:clamp(1.4rem,3vw,2rem);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:var(--space-3)}.cta-banner__text{color:var(--color-white-alpha-90);font-size:var(--font-size-base);max-width:560px;margin-inline:auto;margin-bottom:var(--space-6)}.cta-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}.about__grid{display:grid;gap:var(--space-10);align-items:center}.about__image{border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4/3;background-color:var(--color-bg-alt);box-shadow:var(--shadow-lg)}.about__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.about__image--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#003a5c,#0077b3);color:var(--color-white-alpha-50);font-size:var(--font-size-giant)}.about__content .eyebrow{margin-bottom:var(--space-3)}.about__content h2{margin-bottom:var(--space-5)}.about__content p{margin-bottom:var(--space-4);color:var(--color-text-muted)}.about__stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.about__stat{text-align:center}.about__stat-number{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--color-primary);line-height:var(--line-height-tight)}.about__stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.location__grid{display:grid;gap:var(--space-10);margin-bottom:var(--space-10)}@media (min-width:768px){.location__grid{grid-template-columns:2fr 3fr;align-items:start;gap:8rem}}.location__info-group{display:flex;flex-direction:column;gap:var(--space-8)}@media (min-width:768px){.location__info-group{flex-direction:row;gap:0}.location__info-group .location__address-block{flex:1 1 0;min-width:0}.location__form{position:sticky;top:var(--space-10)}}.location__address-block h2{font-size:var(--font-size-md);font-weight:var(--font-weight-black);letter-spacing:.02em;margin-bottom:var(--space-3)}.location__detail{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.location__detail svg{width:20px;height:20px;fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}.location__detail-text{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.location__detail-text a{color:var(--color-text);font-weight:var(--font-weight-semibold)}.location .location__maps-cta{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-2);padding:8px 14px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-md);text-decoration:none}.location .location__maps-cta svg{width:14px;height:14px;flex-shrink:0}.location .location__maps-cta:hover{opacity:.75}.location__form h2{font-size:var(--font-size-md);font-weight:var(--font-weight-black);letter-spacing:.02em;margin-bottom:var(--space-3)}.location__collaborators{text-align:center}.location__collabs-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-xl);color:var(--color-text-muted);margin-bottom:var(--space-5);text-align:center}.collabs-logos{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:var(--space-5) var(--space-6)}.collabs-logos__item{display:flex;align-items:center;justify-content:center;flex-shrink:1;height:48px;opacity:.4;transition:opacity var(--transition)}.collabs-logos__item:hover{opacity:.7}.collabs-logos__item img{height:54px;width:auto;-o-object-fit:contain;object-fit:contain}.collabs-logos__item:first-child .collabs-logos__img{height:22px}.collabs-logos__item:nth-child(2) .collabs-logos__img{height:40px}.collabs-logos__item:nth-child(3) .collabs-logos__img{height:50px}.collabs-logos__img{height:48px;width:auto;max-width:100%;-o-object-fit:contain;object-fit:contain}.collabs-logos__img--dark{display:none}.collabs-logos__img--light{display:block}@media (max-width:767px){.collabs-logos{justify-content:space-between;gap:var(--space-3)}.collabs-logos__item{flex:1;justify-content:center}.collabs-logos__img,.collabs-logos__item img{height:auto;max-height:40px;width:100%;max-width:100%}.collabs-logos__item:first-child .collabs-logos__img{max-height:18px}}[data-theme=dark] .collabs-logos .collabs-logos__img--light{display:none}[data-theme=dark] .collabs-logos .collabs-logos__img--dark{display:block}.eyebrow--script{font-family:var(--font-display);font-size:var(--font-size-xl);text-transform:none;letter-spacing:var(--letter-spacing-none);color:var(--color-text-muted);font-weight:var(--font-weight-normal);display:block;margin-bottom:var(--space-2)}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width:480px){.contact-form__row{grid-template-columns:1fr}}.contact-form__input,.contact-form__textarea{width:100%;padding:.65rem var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-bg-input);border:1px solid var(--color-border-input);border-radius:var(--radius-md);transition:border-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.contact-form__input::-moz-placeholder,.contact-form__textarea::-moz-placeholder{color:var(--color-placeholder)}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--color-placeholder)}.contact-form__input:focus,.contact-form__textarea:focus{outline:0;border-color:var(--color-primary);background-color:var(--color-bg)}[data-theme=dark] .contact-form__input,[data-theme=dark] .contact-form__textarea{background-color:var(--color-bg-input);border-color:var(--color-border-input);color:var(--color-text)}[data-theme=dark] .contact-form__input::-moz-placeholder,[data-theme=dark] .contact-form__textarea::-moz-placeholder{color:var(--color-placeholder)}[data-theme=dark] .contact-form__input::placeholder,[data-theme=dark] .contact-form__textarea::placeholder{color:var(--color-placeholder)}[data-theme=dark] .contact-form__input:focus,[data-theme=dark] .contact-form__textarea:focus{background-color:var(--color-bg);border-color:var(--color-primary)}.contact-form__input--full{width:100%}.contact-form__textarea{min-height:130px;resize:vertical}.contact-form__recaptcha-note{font-size:var(--font-size-2xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.contact-form__recaptcha-note a{color:var(--color-primary)}.contact-form__recaptcha-note a:hover{opacity:.75}.contact-form__privacy{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer}.contact-form__privacy input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:2px;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.contact-form__privacy input[type=checkbox]::before{content:"";width:5px;height:10px;border-right:2px solid var(--color-white);border-bottom:2px solid var(--color-white);transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .12s}.contact-form__privacy input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.contact-form__privacy input[type=checkbox]:checked::before{transform:rotate(45deg) scale(1)}.contact-form__privacy input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[data-theme=dark] .contact-form__privacy input[type=checkbox]{background-color:var(--color-bg-input);border:1px solid var(--color-border)}.contact-form__privacy a{color:var(--color-primary)}.contact-form__privacy a:hover{opacity:.75}@media (max-width:767px){.contact-form .btn[type=submit]{width:100%;justify-content:center;margin-top:var(--space-4)}}.quote-banner{background-color:var(--color-quote-bg);background-image:url(../images/bg-lema.jpg);background-image:-webkit-image-set(url("../images/bg-lema.webp") type('image/webp'), url("../images/bg-lema.jpg") type('image/jpeg'));background-image:image-set(url("../images/bg-lema.webp") type('image/webp'), url("../images/bg-lema.jpg") type('image/jpeg'));background-size:cover;background-position:center;background-attachment:fixed;padding-block:var(--space-16);text-align:center;position:relative}.quote-banner::before{content:"";position:absolute;inset:0;background-color:var(--color-quote-overlay)}.quote-banner__text{position:relative;font-family:var(--font-display);font-size:clamp(1.3rem,3vw,2rem);color:var(--color-white);line-height:var(--line-height-relaxed);max-width:1100px;margin-inline:auto;padding-inline:var(--container-pad)}@supports (-webkit-touch-callout:none){.courses,.cta-banner,.quote-banner{background-attachment:scroll}}.collaborators__grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-8) var(--space-12);margin-top:var(--space-8)}.collaborators__item{display:flex;align-items:center;justify-content:center;height:48px;opacity:.5;transition:opacity var(--transition)}.collaborators__item:hover{opacity:1}.collaborators__logo{height:100%;width:auto;max-width:160px;-o-object-fit:contain;object-fit:contain}.collaborators__logo--dark{display:none}.collaborators__logo--light{display:block}[data-theme=dark] .collaborators .collaborators__logo--light{display:none}[data-theme=dark] .collaborators .collaborators__logo--dark{display:block}.faq-group{margin-bottom:var(--space-10)}.faq-group:last-child{margin-bottom:0}.faq-group__title{font-size:var(--font-size-3xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:2px solid var(--color-primary)}.faq-list{display:flex;flex-direction:column;gap:var(--space-2)}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-card);overflow:hidden}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:0;color:var(--color-text);transition:color var(--transition-fast),background-color var(--transition-fast)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"";display:inline-flex;width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath stroke='%235c7a9a' stroke-width='2' stroke-linecap='round' fill='none' d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;flex-shrink:0;transition:transform var(--transition)}.faq-item summary:hover{color:var(--color-primary)}.faq-item[open] summary::after{transform:rotate(180deg)}.faq-item__answer{padding:0 var(--space-6) var(--space-5);font-size:var(--font-size-body);color:var(--color-text-muted);line-height:var(--line-height-loose)}.contact-info{display:grid;gap:var(--space-6)}@media (min-width:768px){.contact-info{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features__grid .feature-card{width:calc(33.333% - var(--space-8) * 2 / 3)}.contact-info{grid-template-columns:repeat(4,1fr)}}.contact-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);text-decoration:none;color:var(--color-text)}.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.contact-card__icon{width:56px;height:56px;border-radius:var(--radius-full);background-color:var(--color-primary-alpha-10);display:flex;align-items:center;justify-content:center}.contact-card__icon svg{width:24px;height:24px;fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.contact-card__label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-lg);color:var(--color-text-muted)}.contact-card__value{font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-sm)}.includes-list{display:grid;gap:var(--space-3)}@media (min-width:576px){.includes-list{grid-template-columns:repeat(2,1fr)}}.includes-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-alt);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text)}.includes-list li::before{content:"";display:inline-block;width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23005f8e' opacity='.15'/%3E%3Cpath stroke='%23005f8e' stroke-width='2' stroke-linecap='round' fill='none' d='M6 10l3 3 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;flex-shrink:0}.level-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.level-chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-4);background-color:var(--color-primary-alpha-10);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);border:1.5px solid var(--color-primary-alpha-20)}.legal-content{max-width:760px;margin-inline:auto}.legal-content h2{margin-top:var(--space-10);margin-bottom:var(--space-4);font-size:var(--font-size-lg);color:var(--color-text)}.legal-content h2:first-child{margin-top:0}.legal-content h3{margin-top:var(--space-6);margin-bottom:var(--space-3);font-size:var(--font-size-base)}.legal-content h3:first-child{margin-top:0}.legal-content li,.legal-content p{font-size:var(--font-size-body);color:var(--color-text-muted);line-height:var(--line-height-loose);margin-bottom:var(--space-3)}.legal-content ul{list-style:disc;padding-left:var(--space-6);margin-bottom:var(--space-4)}.legal-content a{color:var(--color-primary)}.legal-content a:hover{opacity:.75}.legal-content hr{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-8)}.section.section--legal{padding-top:var(--legal-hero-gap)}.legal-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body);margin-bottom:var(--space-8)}.legal-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top;line-height:var(--line-height-relaxed);color:var(--color-text-muted)}.legal-table td:first-child{white-space:nowrap;color:var(--color-text);width:160px}.courses{background-image:url(../images/courses-bg.jpg);background-image:-webkit-image-set(url("../images/courses-bg.webp") type('image/webp'), url("../images/courses-bg.jpg") type('image/jpeg'));background-image:image-set(url("../images/courses-bg.webp") type('image/webp'), url("../images/courses-bg.jpg") type('image/jpeg'));background-size:cover;background-position:center;background-attachment:fixed;position:relative}.courses::before{content:"";position:absolute;inset:0;background:var(--color-black-alpha-12);pointer-events:none}.courses .section-header{margin-bottom:var(--space-10);position:relative}.courses .section-header .section-title{color:var(--color-white)}.courses .section-header .eyebrow{color:var(--color-white-alpha-90)}.courses .section-header .divider{background-color:var(--color-primary)}.courses .grid-3{position:relative}.course-card{display:flex;flex-direction:column;background-color:var(--color-bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 3px var(--color-black-alpha-09);margin:5px;transition:box-shadow var(--transition)}[data-theme=dark] .course-card{box-shadow:0 2px 10px var(--color-black-alpha-30)}.course-card:hover{box-shadow:0 2px 10px var(--color-black-alpha-20)}.course-card__header{padding:16px 16px 12px;text-align:center;border-bottom:1px solid var(--color-black-alpha-06)}.course-card__title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-snug);margin:0 0 4px}.course-card__subtitle{font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0}.course-card__img{position:relative;overflow:hidden;height:200px;background-color:var(--color-bg-alt);flex-shrink:0;margin:0 12px}.course-card__img-inner{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md)}.course-card__body{padding:14px 16px 10px;text-align:center;flex:1}.course-card__description{font-size:var(--font-size-body);color:var(--color-text-muted);line-height:var(--line-height-medium);margin:0}.course-card__footer{padding:10px 16px 16px;margin-top:auto}.course-card__footer .btn{display:flex;width:100%;justify-content:center}.course-hero{height:var(--page-hero-height,350px);background-size:cover;background-position:center;display:flex;align-items:stretch}.course-hero__overlay{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 2.5rem;background:var(--color-black-alpha-32);color:var(--color-white)}.course-hero__overlay h1{font-family:var(--font-display);font-size:var(--font-size-5xl);font-weight:var(--font-weight-normal);color:var(--color-white);margin:0 0 .5rem;line-height:var(--line-height-tight);text-shadow:0 2px 10px var(--color-black-alpha-50)}.course-hero__overlay p{font-family:var(--font-display);font-style:italic;color:var(--color-white-alpha-95);margin:0;font-size:var(--font-size-xl-c);font-weight:var(--font-weight-normal);text-shadow:0 1px 6px var(--color-black-alpha-40)}.course-hero__overlay .page-hero__breadcrumb{margin-top:var(--space-3);font-size:var(--font-size-xs-b);opacity:.75}@media (max-width:767px){.section.section--legal{padding-top:var(--space-6)}.course-hero{height:auto;background-image:none!important}.course-hero__overlay{background:0 0;padding:1.5rem var(--container-pad) .5rem}.course-hero__overlay h1{color:var(--color-text);text-shadow:none;font-size:var(--font-size-3xl)}.course-hero__overlay p{display:none}}.course-hero--sm{--page-hero-height:250px}.course-hero--md{--page-hero-height:350px}.course-hero--lg{--page-hero-height:480px}.course-hero--xl{--page-hero-height:600px}.course-hero--curso-surf{background-image:url(../images/hero-curso-surf.jpg);background-image:-webkit-image-set(url("../images/hero-curso-surf.webp") type('image/webp'), url("../images/hero-curso-surf.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-curso-surf.webp") type('image/webp'), url("../images/hero-curso-surf.jpg") type('image/jpeg'));background-position:bottom}.course-hero--curso-privado{background-image:url(../images/hero-curso-privado.jpg);background-image:-webkit-image-set(url("../images/hero-curso-privado.webp") type('image/webp'), url("../images/hero-curso-privado.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-curso-privado.webp") type('image/webp'), url("../images/hero-curso-privado.jpg") type('image/jpeg'));background-position:center 60%}.course-hero--surfhouse{background-image:url(../images/hero-surfhouse.jpg);background-image:-webkit-image-set(url("../images/hero-surfhouse.webp") type('image/webp'), url("../images/hero-surfhouse.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-surfhouse.webp") type('image/webp'), url("../images/hero-surfhouse.jpg") type('image/jpeg'));background-position:center}.course-hero--kitesurf{background-image:url(../images/hero-kitesurf.jpg);background-image:-webkit-image-set(url("../images/hero-kitesurf.webp") type('image/webp'), url("../images/hero-kitesurf.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-kitesurf.webp") type('image/webp'), url("../images/hero-kitesurf.jpg") type('image/jpeg'));background-position:center top}.course-hero--contacto{background-image:url(../images/hero-contacto.jpg);background-image:-webkit-image-set(url("../images/hero-contacto.webp") type('image/webp'), url("../images/hero-contacto.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-contacto.webp") type('image/webp'), url("../images/hero-contacto.jpg") type('image/jpeg'));background-position:center top}.course-hero--privacidad{background-image:url(../images/hero-privacidad.jpg);background-image:-webkit-image-set(url("../images/hero-privacidad.webp") type('image/webp'), url("../images/hero-privacidad.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-privacidad.webp") type('image/webp'), url("../images/hero-privacidad.jpg") type('image/jpeg'));background-position:center top}.course-hero--faq{background-image:url(../images/hero-faq.jpg);background-image:-webkit-image-set(url("../images/hero-faq.webp") type('image/webp'), url("../images/hero-faq.jpg") type('image/jpeg'));background-image:image-set(url("../images/hero-faq.webp") type('image/webp'), url("../images/hero-faq.jpg") type('image/jpeg'));background-position:center top}.course-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-8);align-items:start}@media (max-width:900px){.course-layout{grid-template-columns:1fr}.course-sidebar{order:-1}}.course-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:0}.course-tab{padding:1rem 1.4rem;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:.06em;text-transform:uppercase;background:var(--color-bg-card);border:1px solid var(--color-border);border-right:none;cursor:pointer;color:var(--color-text);transition:background var(--transition),color var(--transition),border-color var(--transition);flex:1;text-align:center;white-space:nowrap;border-radius:var(--radius-md) var(--radius-md) 0 0}@media (max-width:767px){.course-tab{padding:.55rem .5rem;font-size:var(--font-size-3xs);letter-spacing:.03em}}.course-tab:last-child{border-right:1px solid var(--color-border)}.course-tab.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.course-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.course-tab:hover:not(.is-active){background:var(--color-bg-alt)}.course-tab-border{height:3px;background:var(--color-primary);margin-bottom:2rem}.tab-panel{visibility:hidden;pointer-events:none;height:0;overflow:hidden}.tab-panel.is-active{visibility:visible;pointer-events:auto;height:auto;overflow:visible}.tab-section-title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:var(--letter-spacing-none);color:var(--color-text);text-align:center;margin:1.5rem 0}.price-cards{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}@media (max-width:767px){.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}}.price-cards--kite{display:grid;grid-template-columns:repeat(5,1fr)}.price-cards--kite .price-card{min-width:0}.price-card{flex:1;min-width:0;border:var(--border);border-radius:var(--radius-lg);padding:1.5rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.price-card__person-row{display:flex;align-items:center;justify-content:center;gap:.35rem}.price-card__label{font-size:var(--font-size-lg-b);font-weight:var(--font-weight-extrabold);color:var(--color-secondary)}.price-card__icon{width:40px;height:40px;color:var(--color-text)}.price-card__persons{font-size:var(--font-size-lg-b);font-weight:var(--font-weight-bold);color:var(--color-secondary)}.price-card__surf-icon{width:48px;height:48px;opacity:.3;color:var(--color-text)}.price-card__days{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.price-card__price{font-size:var(--font-size-4xl);font-weight:var(--font-weight-normal);color:var(--color-primary-dark);line-height:var(--line-height-reset);margin-top:.25rem}@media (max-width:767px){.price-cards--kite{grid-template-columns:repeat(6,1fr)}.price-cards--kite .price-card:nth-child(1){grid-column:1/3}.price-cards--kite .price-card:nth-child(2){grid-column:3/5}.price-cards--kite .price-card:nth-child(3){grid-column:5/7}.price-cards--kite .price-card:nth-child(4){grid-column:2/4}.price-cards--kite .price-card:nth-child(5){grid-column:4/6}.price-card{padding:.9rem .5rem;gap:.3rem}.price-card__icon{width:28px;height:28px}.price-card__surf-icon{width:32px;height:32px}.price-card__persons{font-size:var(--font-size-xs)}.price-card__days{font-size:var(--font-size-xs-b)}.price-card__price{font-size:var(--font-size-2xl)}.price-card__label{font-size:var(--font-size-sm)}}.course-details-image{margin:1.5rem 0;border-radius:var(--radius-md);overflow:hidden}.course-details-image img{width:100%;height:auto;display:block}.course-intro{font-size:var(--font-size-body);line-height:var(--line-height-loose);color:var(--color-text);margin-bottom:2rem}.course-intro strong{font-weight:var(--font-weight-bold);color:var(--color-text)}.course-features-grid{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:2rem}.course-features-grid .feature-card{width:100%}@media (min-width:576px){.course-features-grid .feature-card{width:calc(50% - var(--space-8)/ 2)}}@media (min-width:1024px){.course-features-grid .feature-card{width:calc(33.333% - var(--space-8) * 2 / 3)}}.course-callout{display:block;border-left:4px solid var(--color-primary-dark);padding:.5rem 1rem;margin:0 0 1.5rem;font-size:var(--font-size-body);color:var(--color-text);line-height:var(--line-height-relaxed)}.course-checklist{border-left:4px solid var(--color-primary-dark);padding:.75rem 1rem;margin-bottom:1.5rem}.course-checklist__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:.75rem}.course-checklist__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem}.course-checklist__list li{padding-left:1.6rem;position:relative;font-size:var(--font-size-body);color:var(--color-text)}.course-checklist__list li::before{content:"✔";position:absolute;left:0;color:var(--color-success)}.course-house-desc{margin:2rem 0}.course-house-desc__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);color:var(--color-text);margin-bottom:1rem}.course-house-desc p{font-size:var(--font-size-body);line-height:var(--line-height-loose);color:var(--color-text);margin-bottom:.6rem}.course-house-desc p strong{font-weight:var(--font-weight-bold)}.course-how-to-get{margin:2rem 0}.course-how-to-get__section-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);color:var(--color-text);margin-bottom:.5rem}.course-how-to-get__title{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:var(--font-weight-bold);text-transform:none;color:var(--color-text);margin-bottom:1rem}.course-how-to-get__intro{font-size:var(--font-size-body);color:var(--color-text-muted);margin-bottom:1rem}.course-how-to-get__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.course-how-to-get__list li{border-left:4px solid var(--color-primary-dark);padding:.5rem 1rem;font-size:var(--font-size-body);color:var(--color-text);line-height:var(--line-height-relaxed)}.course-how-to-get__list li strong{font-weight:var(--font-weight-bold)}.course-how-to-get__list li a{color:var(--color-primary-dark)}.days-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:2rem}.days-card{min-width:0;border:var(--border);border-radius:var(--radius-lg);padding:1rem 1rem .9rem;text-align:center;background:var(--color-surface)}@media (max-width:767px){.days-cards{display:flex;flex-wrap:wrap;gap:.5rem}.days-cards>*{width:calc(33.333% - .34rem)}.days-cards>:nth-last-child(1):nth-child(3n+2),.days-cards>:nth-last-child(2):nth-child(3n+1){width:calc(50% - .25rem)}.days-card{max-width:none;padding:.7rem .4rem}.days-card__icons svg{width:14px;height:14px}.days-card__title{font-size:var(--font-size-xs);margin-bottom:.5rem}.days-card__row{font-size:var(--font-size-2xs)}.days-card__row strong{font-size:var(--font-size-xs-b);white-space:nowrap}.days-card__row .days-card__person-icons svg{width:12px;height:12px}.days-card__extra-label{font-size:var(--font-size-3xs)}.days-card__extra-row{font-size:var(--font-size-2xs)}.days-card__extra-row svg{width:14px;height:14px}}.days-card__icons{display:flex;justify-content:center;gap:4px;margin-bottom:.6rem;color:var(--color-text);opacity:.55}.days-card__icons svg{width:20px;height:20px}.days-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-primary-dark);margin:0 0 .75rem}.days-card__divider{border:none;border-top:var(--border);margin:0 0 .75rem}.days-card__rows{list-style:none;padding:0;margin:0 0 .9rem;display:flex;flex-direction:column;gap:.45rem}.days-card__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:var(--font-size-body)}.days-card__row .days-card__person-icons{display:flex;align-items:center;gap:3px;color:var(--color-text)}.days-card__row .days-card__person-icons svg{width:16px;height:16px;opacity:.7}.days-card__row .days-card__person-icons .days-card__person-count{font-size:var(--font-size-xs-b);font-weight:var(--font-weight-bold);color:var(--color-secondary);line-height:var(--line-height-reset)}.days-card__row strong{font-weight:var(--font-weight-bold);color:var(--color-text);font-size:var(--font-size-base)}.days-card__extra-sep{border:none;border-top:1px dashed var(--color-border);margin:.5rem 0 .6rem}.days-card__extra-label{font-size:var(--font-size-xs-b);color:var(--color-text-muted);margin-bottom:.35rem;text-align:center}.days-card__extra-row{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:var(--font-size-body)}.days-card__extra-row svg{width:18px;height:18px;color:var(--color-text);opacity:.65}.days-card__extra-row strong{font-weight:var(--font-weight-bold);color:var(--color-text)}.course-notice{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}[data-theme=dark] .course-notice{background:var(--color-notice-bg);border-color:var(--color-notice-border)}.course-notice__icon{width:32px;height:32px;flex-shrink:0;margin-top:2px;color:var(--color-secondary)}.course-notice strong{display:block;font-size:var(--font-size-lg-b);font-weight:var(--font-weight-bold);margin-bottom:.4rem;color:var(--color-notice-title)}.course-notice p{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-relaxed);color:var(--color-text)}@media (max-width:767px){.course-notice{padding:.75rem 1rem;gap:.6rem}.course-notice__icon{width:22px;height:22px}.course-notice__section-title>strong{font-size:var(--font-size-xs-b);margin-bottom:.25rem}.course-notice p{font-size:var(--font-size-xs-b);line-height:var(--line-height-medium)}}.course-info-list{list-style:none;padding:0;margin:0 0 1.75rem}.course-info-list li{border-left:3px solid var(--color-primary-dark);padding:.45rem .75rem;margin-bottom:.5rem;font-size:var(--font-size-body);color:var(--color-text);line-height:var(--line-height-relaxed)}@media (max-width:767px){.course-info-list li{font-size:var(--font-size-xs-b);padding:.35rem .6rem;margin-bottom:.35rem;line-height:var(--line-height-medium)}}.course-table{width:100%;border-collapse:collapse;margin-bottom:2rem;font-size:var(--font-size-body)}.course-table td,.course-table th{padding:.75rem;vertical-align:top;border-bottom:1px solid var(--color-border);text-align:left}.course-table th{font-weight:var(--font-weight-bold);white-space:nowrap;width:30%;color:var(--color-text)}.course-table td{color:var(--color-text)}.table-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.table-list li{padding:.3rem 0;font-size:var(--font-size-body);display:flex;align-items:baseline;gap:.5rem;line-height:var(--line-height-medium)}.table-list li::before{flex-shrink:0;font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.table-list--includes li::before{content:"✓";color:var(--color-success-dark)}.table-list--not-included li::before{content:"✕";color:var(--color-error)}.course-quote-figure{margin:0 0 1.5rem}.course-quote-figure img{width:100%;border-radius:var(--radius-lg);display:block}.course-philosophy-list{list-style:none;padding:0;margin:0}.course-philosophy-list li{border-left:3px solid var(--color-primary-dark);padding:.5rem .75rem;margin-bottom:.75rem;font-size:var(--font-size-body);line-height:var(--line-height-base);color:var(--color-text)}.course-philosophy-list li:first-child{font-style:italic;font-weight:var(--font-weight-medium)}.levels-timeline{list-style:none;padding:0;margin:0}.levels-timeline__item{display:flex;gap:1.25rem;align-items:flex-start;position:relative;padding-bottom:2.5rem}.levels-timeline__item::before{content:"";position:absolute;left:27px;top:60px;bottom:0;border-left:2px dashed var(--color-primary-dark)}.levels-timeline__num{position:relative;width:56px;height:56px;min-width:56px;border-radius:50%;background:var(--color-primary-dark);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);line-height:var(--line-height-reset);flex-shrink:0;margin-top:0}.levels-timeline__num::before{content:"";position:absolute;inset:4px;border-radius:50%;border:2px dashed var(--color-white-alpha-60);pointer-events:none}.levels-timeline__content{flex:1;padding-top:10px}.levels-timeline__title{font-size:var(--font-size-xl-b);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 .5rem;line-height:var(--line-height-snug-b)}.levels-timeline__desc{font-size:var(--font-size-body);color:var(--color-text);line-height:var(--line-height-base);margin:0 0 .75rem}.levels-timeline__bullets{list-style:disc;padding-left:1.4rem;margin:0}.levels-timeline__bullets li{font-size:var(--font-size-body);color:var(--color-text);line-height:var(--line-height-relaxed);padding:.15rem 0}@media (max-width:767px){.levels-timeline__item{gap:.85rem;padding-bottom:1.75rem}.levels-timeline__item::before{left:15px;top:36px}.levels-timeline__num{width:32px;height:32px;min-width:32px;font-size:var(--font-size-xs)}.levels-timeline__num::before{display:none}.levels-timeline__content{padding-top:6px}.levels-timeline__title{font-size:var(--font-size-base)}.levels-timeline__bullets li,.levels-timeline__desc{font-size:var(--font-size-sm)}}.reviews-layout{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:center}@media (max-width:600px){.reviews-layout{grid-template-columns:1fr}}.reviews-aggregate{text-align:center;padding:.5rem}.reviews-aggregate__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text);margin:0 0 .2rem}.reviews-aggregate__rating-num{font-size:var(--font-size-4xl-b);font-weight:var(--font-weight-black);color:var(--color-text);line-height:var(--line-height-reset);margin:0 0 .2rem}.reviews-aggregate__stars{color:var(--color-star);font-size:var(--font-size-2xl-b);line-height:var(--line-height-tight);margin:0 0 .4rem}.reviews-aggregate__count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 .75rem}.reviews-aggregate__google{display:block;margin:0 auto}.reviews-aggregate__see-all{display:block;margin-top:.6rem;font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none;text-align:center;transition:color var(--transition)}.reviews-aggregate__see-all:hover{color:var(--color-primary-dark)}.reviews-panel{display:flex;align-items:center;gap:.5rem}.reviews-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--transition),color var(--transition)}.reviews-nav:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.reviews-carousel{flex:1;position:relative;min-height:300px;overflow:hidden}.review-card{position:absolute;inset:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;background:var(--color-bg-card);opacity:0;pointer-events:none;transform:translateX(0);transition:opacity .7s,transform .75s cubic-bezier(.25,.46,.45,.94);overflow-y:auto}.review-card.is-visible{opacity:1;pointer-events:auto;transform:translateX(0)}.review-card.is-enter-right{transform:translateX(60%);opacity:0}.review-card.is-enter-left{transform:translateX(-60%);opacity:0}.review-card.is-exit-left{transform:translateX(-60%);opacity:0;pointer-events:none;transition:opacity .7s,transform .75s cubic-bezier(.25,.46,.45,.94)}.review-card.is-exit-right{transform:translateX(60%);opacity:0;pointer-events:none;transition:opacity .7s,transform .75s cubic-bezier(.25,.46,.45,.94)}.review-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.review-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);flex-shrink:0;-o-object-fit:cover;object-fit:cover}.review-card__avatar--photo{display:block;-o-object-fit:cover;object-fit:cover;background:0 0}.review-card__name{font-weight:var(--font-weight-bold);display:block;font-size:var(--font-size-sm-b)}.review-card__date{font-size:var(--font-size-2xs);color:var(--color-text-muted)}.review-card__google-logo{margin-left:auto;flex-shrink:0}.review-card__stars{color:var(--color-star);font-size:var(--font-size-md);margin-bottom:.75rem;letter-spacing:.05em}.review-card__text{font-size:var(--font-size-body);line-height:var(--line-height-base);color:var(--color-text);margin:0}.booking-widget{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;position:sticky;top:100px;background:var(--color-bg-card)}.booking-widget__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .5rem;color:var(--color-text)}.booking-widget__divider{width:40px;height:3px;background:var(--color-primary);margin:0 auto 1rem;border:none}.booking-widget__text{font-size:var(--font-size-body);margin-bottom:1.25rem;color:var(--color-text-muted);line-height:var(--line-height-medium)}.btn--booking{display:block;width:100%;padding:.9rem 1rem;background:var(--color-sale);color:var(--color-white)!important;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-sm-b);border-radius:var(--radius-md);text-align:center;text-decoration:none;transition:background var(--transition)}.btn--booking:hover{background:var(--color-sale-dark);color:var(--color-white)!important}#courseGallery .gallery-grid__item,#courseGallery .gallery-grid__sizer{width:calc(33.333% - 6px)}.reviews-list{margin-top:2.5rem;border-top:1px solid var(--color-border);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.reviews-list__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 1rem}.reviews-list__item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;background:var(--color-bg-card)}.reviews-list__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.reviews-list__avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0;-o-object-fit:cover;object-fit:cover}.reviews-list__avatar--photo{display:block;-o-object-fit:cover;object-fit:cover;background:0 0}.reviews-list__meta{flex:1;min-width:0}.reviews-list__name{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);display:block}.reviews-list__date{font-size:var(--font-size-2xs);color:var(--color-text-muted)}.reviews-list__stars{color:var(--color-star);font-size:var(--font-size-sm-b);letter-spacing:.02em;flex-shrink:0}.reviews-list__text{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-medium);margin:0}.gallery-section{margin-top:var(--space-6)}@media (max-width:767px){.gallery-section{margin-top:var(--space-3)}}.gallery-grid__sizer{width:calc(50% - 4px)}@media (min-width:576px){.gallery-grid__sizer{width:calc(33.333% - 6px)}}@media (min-width:768px){.gallery-grid__sizer{width:calc(25% - 6px)}}.gallery-grid__gutter{width:8px}.gallery-grid__item{display:block;position:relative;width:calc(50% - 4px);margin-bottom:8px;overflow:hidden;background-color:var(--color-bg-alt);cursor:pointer;background-color:var(--color-bg-alt)}@media (min-width:576px){.gallery-grid__item{width:calc(33.333% - 6px)}}@media (min-width:768px){.gallery-grid__item{width:calc(25% - 6px)}}.gallery-grid__item img{display:block;width:100%;height:auto;opacity:0;transition:opacity .25s}.gallery-grid__item::after{content:"";position:absolute;inset:0;background:var(--color-black-alpha-25);opacity:0;transition:opacity .2s}.gallery-grid__item.is-loaded:hover::after{opacity:1}.gallery-grid__item:not(.is-loaded){cursor:default;pointer-events:none}body.gallery-is-loading .site-header::before,body.video-is-loading .site-header::before{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:3px;background:var(--color-border);z-index:1;pointer-events:none}body.gallery-is-loading .site-header::after,body.video-is-loading .site-header::after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:3px;background:var(--color-primary);transform-origin:left center;transform:scaleX(0);animation:1.8s cubic-bezier(.4,0,.2,1) infinite gallery-indet-fill;z-index:2;pointer-events:none}@keyframes gallery-indet-fill{0%{transform:scaleX(0);opacity:1}85%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}.gallery-grid__item.is-loaded{background-color:transparent}.gallery-grid__item.is-loaded img{opacity:1}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:1/1;background-color:var(--color-bg-alt);cursor:pointer}.gallery-item--wide{grid-column:span 2;aspect-ratio:2/1}.gallery-item--tall{grid-row:span 2;aspect-ratio:1/2}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slow)}.gallery-item__overlay{position:absolute;inset:0;background-color:var(--color-gallery-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition)}.gallery-item__overlay svg{width:32px;height:32px;fill:none;stroke:var(--color-white);stroke-width:2}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:hover .gallery-item__overlay{opacity:1}.gallery-item--placeholder{background:linear-gradient(135deg,var(--color-gallery-from),var(--color-gallery-to));display:flex;align-items:center;justify-content:center;color:var(--color-white-alpha-20);font-size:var(--font-size-3xl-b);text-decoration:none}.gallery-lightbox{display:none;position:fixed;inset:0;z-index:var(--z-modal);background-color:var(--color-black-alpha-92);align-items:center;justify-content:center;padding:var(--space-6)}.gallery-lightbox:target{display:flex}.gallery-lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--color-white-alpha-10);color:var(--color-white);text-decoration:none;font-size:var(--font-size-xl);line-height:var(--line-height-reset);transition:background-color var(--transition-fast)}.gallery-lightbox__close:hover{background-color:var(--color-white-alpha-20)}.gallery-lightbox__img{max-width:90vw;max-height:85vh;border-radius:var(--radius-md);-o-object-fit:contain;object-fit:contain}.form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:.02em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-sm-b);color:var(--color-text);background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::-moz-placeholder,.form-select::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-text-muted);opacity:.7}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-primary-dark);box-shadow:0 0 0 3px var(--color-primary-alpha-12)}.form-textarea{resize:vertical;min-height:120px}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-primary);margin-top:2px;cursor:pointer}.form-checkbox__label{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-medium)}.form-checkbox__label a{color:var(--color-primary-dark)}.form-checkbox__label a:hover{opacity:.75}.form-note{font-size:var(--font-size-xs-b);color:var(--color-text-muted);margin-top:var(--space-2);font-style:italic}.newsletter-form{display:flex;gap:var(--space-2);max-width:360px}.newsletter-form .form-input{flex:1;background-color:var(--color-white-alpha-10);border-color:var(--color-white-alpha-20);color:var(--color-white)}.newsletter-form .form-input::-moz-placeholder{color:var(--color-white-alpha-50)}.newsletter-form .form-input::placeholder{color:var(--color-white-alpha-50)}.newsletter-form .form-input:focus{border-color:var(--color-white-alpha-50);box-shadow:none}.contact-form__status{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--font-size-sm)}.contact-form__status--ok{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text);font-weight:var(--font-weight-semibold)}.contact-form__status--error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);font-weight:var(--font-weight-semibold)}.contact-form__status--info{background-color:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);font-weight:var(--font-weight-normal)}@media (prefers-color-scheme:dark){.contact-form__status--ok{background-color:var(--color-success-text);border-color:var(--color-success-border);color:var(--color-success-bg)}.contact-form__status--error{background-color:var(--color-error-text);border-color:var(--color-error-border);color:var(--color-error-bg)}.contact-form__status--info{background-color:#1e3a5f;border-color:#3b82f6;color:#bfdbfe}}.site-footer{background-color:var(--color-bg);color:var(--on-surface-variant)}.site-footer a{color:var(--on-surface-variant);transition:color var(--transition-fast)}.site-footer a:hover{color:var(--color-text)}.footer-grid{display:grid;gap:var(--space-10);grid-template-columns:1fr;padding-block:var(--space-10);padding-inline:var(--space-6);max-width:560px;margin-inline:auto}.footer-col__title{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);margin-bottom:var(--space-5)}.footer-col__text{font-size:var(--font-size-base);color:var(--color-footer-text);line-height:var(--line-height-loose);margin:0}.footer-contact{display:flex;flex-direction:column;gap:var(--space-4)}.footer-contact__item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-base);color:var(--color-footer-text);line-height:var(--line-height-medium)}.footer-contact__icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--color-footer-separator);display:inline-flex;align-items:center;justify-content:center;margin-top:1px;background-repeat:no-repeat;background-position:center;background-size:14px}.footer-contact__icon--pin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}.footer-contact__icon--phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2' ry='2'/%3E%3Cline x1='12' y1='18' x2='12.01' y2='18'/%3E%3C/svg%3E")}.footer-contact__icon--email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E")}.footer-bottom{background-color:var(--color-bg);color:var(--on-surface-variant)}.footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);padding-block:var(--space-3);position:relative}.footer-bottom__inner::before{content:"";position:absolute;top:0;left:var(--container-pad);right:var(--container-pad);border-top:var(--border)}.footer-bottom__left,.footer-bottom__right{font-size:var(--font-size-xs-b)}.footer-bottom__left a,.footer-bottom__right a{color:var(--on-surface-variant);transition:color var(--transition-fast)}.footer-bottom__left a:hover,.footer-bottom__right a:hover{color:var(--color-text)}.footer-bottom__left a.is-active,.footer-bottom__right a.is-active{color:var(--color-primary-dark)}.footer-bottom__email-icon{display:none}@media (max-width:599px){.footer-bottom__inner{flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.footer-bottom__inner::before,.footer-bottom__left{display:none}.footer-bottom__right{order:2;width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-1) var(--space-2)}.footer-bottom__right a{white-space:nowrap}}.back-to-top{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:200;display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--color-black-alpha-15);background:var(--color-white-alpha-55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-text);box-shadow:0 4px 16px var(--color-black-alpha-12);transition:background .2s,transform .15s}.back-to-top.is-visible{display:flex}.back-to-top:hover{background:var(--color-white-alpha-80);transform:translateY(-2px)}@media (prefers-color-scheme:dark){.back-to-top{background:var(--color-dark-alpha-55);border-color:var(--color-white-alpha-15);color:var(--color-white)}.back-to-top:hover{background:var(--color-dark-alpha-80)}}@media (max-width:767px){.back-to-top{display:none!important}}.cookie-banner{bottom:var(--space-4);transform:translateX(-50%);width:calc(100% - 2 * var(--container-pad));max-width:680px;background-color:var(--color-text);color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);z-index:var(--z-cookie);transition:transform var(--transition),opacity var(--transition)}.cookie-banner.is-hidden{transform:translateX(-50%) translateY(200%);opacity:0;pointer-events:none;display:none}.cookie-banner__text{font-size:var(--font-size-sm);flex:1;min-width:200px}.cookie-banner__text a{color:var(--color-secondary);color:var(--color-primary)}.cookie-banner__text a:hover{opacity:.75;color:var(--color-cookie-hover)}.cookie-banner__btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);transition:background-color var(--transition-fast);border:none}.cookie-banner__btn--accept{background-color:var(--color-secondary);color:var(--color-white)}.cookie-banner__btn--accept:hover{background-color:var(--color-secondary-dark)}.cookie-banner__btn--more{color:inherit;border:1.5px solid var(--color-white-alpha-20)}.cookie-banner__btn--more:hover{background-color:var(--color-white-alpha-10);background:var(--color-white-alpha-10)}.cookie-banner{position:fixed;bottom:var(--space-4);left:0;right:0;transform:none;margin-inline:auto;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:nowrap;width:min(860px,100% - var(--space-8));padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background-color:var(--color-cookie-bg);color:var(--color-cookie-text);box-shadow:0 4px 24px var(--color-black-alpha-35)}.cookie-banner__text{flex:1;font-size:var(--font-size-xs);line-height:var(--line-height-medium);color:var(--color-cookie-text);margin:0}.cookie-banner__actions{display:flex;gap:var(--space-2);flex-shrink:0}.cookie-banner__btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color .15s,color .15s}.cookie-banner__btn--more{background:0 0;border:1px solid var(--color-white-alpha-40);color:var(--color-cookie-text)}.cookie-banner__btn--accept{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-white)}.cookie-banner__btn--accept:hover{background:var(--color-primary-dark)}@media (max-width:767px){.cookie-banner{left:var(--container-pad);right:var(--container-pad);width:auto;padding:var(--space-4);flex-wrap:wrap;justify-content:center;text-align:center}.cookie-banner__text{min-width:0}.cookie-banner__actions{width:100%;justify-content:center}}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary-dark)}.text-white{color:var(--color-white)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0!important}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.img-fluid{max-width:100%;height:auto}.img-cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.ratio-16-9{aspect-ratio:16/9}.ratio-4-3{aspect-ratio:4/3}.ratio-1-1{aspect-ratio:1/1}.d-flex{display:flex}.align-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:var(--space-4)}.divider{width:48px;height:4px;background-color:var(--color-secondary);border-radius:var(--radius-full);margin:var(--space-4) auto}.divider--left{margin-left:0}