:root{--blue:#2787b2;--deep:#17516a;--ink:#213e49;--muted:#526e78;--pale:#f6f1e9;--line:#e5ddd0;--sand:#ded1bc;--olive:#827b64;--header-height:78px;--gold:#f8d36b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}a{color:var(--deep);text-underline-offset:5px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0 0 20px}h1,h2,h3{font-weight:400;line-height:1.2}h1{font-size:clamp(36px,4.8vw,66px);letter-spacing:-1.6px}h2{font-size:clamp(30px,3.2vw,43px);letter-spacing:-1px}h3{font-size:25px}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 4%;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{flex-shrink:0}.brand img{width:210px;height:auto}nav{display:flex;gap:25px;align-items:center}nav a{font-size:13px;text-decoration:none;text-transform:uppercase;letter-spacing:.7px;color:var(--deep)}nav a:hover{color:var(--blue)}.menu{display:none}.skip{position:fixed;top:-90px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}.hero{min-height:620px;height:calc(100svh - 87px);max-height:850px;position:relative;overflow:hidden;background:var(--pale)}.hero-video,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#ffffffd6 0%,#ffffff50 48%,#153e4612 100%)}.hero-copy{position:relative;text-align:center;padding:60px 20px 100px;max-width:850px;margin:auto}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--blue);margin-bottom:18px}.hero-line{font-size:25px;font-weight:300}.button{display:inline-flex;gap:26px;align-items:center;justify-content:center;padding:13px 23px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:3px;text-decoration:none;font-size:15px;min-height:50px;transition:background .2s}.button:hover{background:var(--deep);border-color:var(--deep)}.hero .button{margin-top:8px}.video-toggle{position:absolute;bottom:18px;right:20px;padding:7px 12px;background:#ffffffd9;border:0;border-radius:3px;color:var(--deep);font-size:12px}.section{max-width:1180px;margin:0 auto;padding:90px 40px}.section-heading{text-align:center;margin-bottom:52px}.class-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;align-items:center}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.schedule p{font-size:15px}.schedule strong{display:block;color:var(--blue);font-size:24px;font-weight:400;margin-top:8px}.prices{margin:0 0 30px}.prices div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);gap:15px}.prices dd{margin:0;color:var(--deep);font-weight:600}.featured{margin:0}.featured img{width:100%;height:480px;object-fit:cover;border-radius:160px 160px 4px 4px}.featured figcaption{font-size:13px;color:var(--muted);margin-top:15px;text-align:center}.gallery-section{background:radial-gradient(ellipse at 15% 0%,#e6d8c48c,transparent 60%),linear-gradient(135deg,#faf7f1,#efe7d9);padding:65px 0 28px}.gallery{display:flex;gap:18px;overflow-x:auto;padding:0 max(24px,calc((100vw - 1100px)/2)) 20px;min-height:280px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#aa9473 #e9dfcf}.gallery button{padding:0;border:0;background:none;flex:0 0 330px;scroll-snap-align:center}.gallery img{width:330px;height:240px;object-fit:cover;border-radius:4px}.gallery-hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 20px}.director{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.portrait img{width:100%;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 16px 40px #6a563018}.portrait{align-self:center}.director p{font-size:16px}.accreditations{display:flex;gap:25px;align-items:center;margin:30px 0}.accreditations img{max-width:110px;max-height:65px;object-fit:contain}.text-link{font-size:15px}.vision-banner{padding:80px 25px;background:linear-gradient(110deg,#165979f5,#1d729ecf),url('/assets/vision.webp') center/cover;color:white;text-align:center}.vision-banner>div{max-width:730px;margin:auto}.vision-banner .eyebrow{color:var(--gold)}.vision-banner p{font-weight:300}.light{background:white;color:var(--deep);border-color:white}.light:hover{background:var(--pale);color:var(--deep)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.address{margin-bottom:28px}.address p{font-size:14px;color:var(--muted);margin-bottom:5px}.address strong{display:block;font-size:17px;font-weight:500}.address a{font-size:13px}.contact-links{display:flex;flex-direction:column;gap:8px}form{padding:32px;background:linear-gradient(145deg,#faf7f1,#f0e8da);border:1px solid #e7dccb;border-radius:12px;box-shadow:0 12px 34px #715c3210}form h3{margin-bottom:8px}form p{font-size:14px;color:var(--muted)}label{display:block;font-size:14px;margin:15px 0 6px}input,textarea{display:block;width:100%;border:1px solid #d8cbb8;background:white;padding:10px;border-radius:2px;color:var(--ink)}textarea{resize:vertical}form button{margin-top:20px;width:100%}.form-note{font-size:12px;margin:15px 0 0}footer{background:linear-gradient(120deg,#ede4d5,#f6f1e8 55%,#eae5d8);border-top:1px solid var(--line);padding:40px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between}footer img{height:auto}footer p{font-size:12px;margin:0}.social{display:flex;gap:20px;font-size:13px}dialog{padding:50px 18px 12px;border:0;border-radius:5px;max-width:95vw;max-height:94svh;background:#faf7f1}dialog::backdrop{background:#102b36d9}dialog img{max-height:73svh;width:auto;max-width:85vw;object-fit:contain;margin:auto}dialog p{font-size:13px;margin:8px 0;text-align:center}.close-photo{position:absolute;right:15px;top:10px;background:none;border:0;color:var(--deep)}:focus-visible{outline:3px solid #d19722;outline-offset:5px}.article{max-width:900px}.article p{margin-bottom:26px}.article .section-heading{margin-top:20px}.article-image{width:100%;max-height:360px;object-fit:cover;margin:40px 0}.article h2{font-size:31px;margin-top:45px}
@media(max-width:1000px){nav{gap:14px}nav a{font-size:11px}.brand img{width:170px}.class-grid{gap:35px}.contact-grid{gap:45px}.director{gap:40px}footer{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:var(--header-height)}header{padding:13px 20px}.brand img{width:170px}.menu{display:block;background:none;color:var(--deep);border:1px solid var(--line);border-radius:3px;padding:5px 10px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:20px}nav.open{display:flex}nav a{font-size:13px}.hero{min-height:620px;height:83svh;max-height:820px}.hero-copy{padding-top:45px}.hero-video{object-position:65% center}.hero-line{font-size:22px}.hero .eyebrow{font-size:10px;letter-spacing:1.8px}.section{padding:60px 24px}.section-heading{margin-bottom:35px}.class-grid,.director,.contact-grid{grid-template-columns:1fr;gap:35px}.schedule{gap:15px}.schedule strong{font-size:22px}.featured img{height:340px;border-radius:100px 100px 4px 4px}.gallery button{flex-basis:280px}.gallery img{width:280px;height:210px}.portrait{max-width:330px;margin:auto}.portrait img{height:auto}.accreditations{gap:22px}.accreditations img{max-width:85px}.vision-banner{padding:60px 24px}form{padding:24px}.contact-links a{overflow-wrap:anywhere}footer{flex-direction:column;text-align:center;padding:35px 20px;gap:20px}.social{gap:22px}.article h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero{background:url('/assets/portada.webp') center 65%/cover}.video-toggle{display:none}*{transition:none!important}}

/* La galería conserva una barra discreta de tonos arena. */
.gallery::-webkit-scrollbar{height:8px}
.gallery::-webkit-scrollbar-track{background:#e9dfcf;border-radius:8px}
.gallery::-webkit-scrollbar-thumb{background:#aa9473;border:2px solid #e9dfcf;border-radius:8px}
.gallery::-webkit-scrollbar-thumb:hover{background:#8d785b}

@media(max-width:760px){.gallery{min-height:250px}}
