@font-face{font-family:Manrope;src:url('fuentes/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--red:#dc121c;--red-dark:#ad0b14;--ink:#181b21;--muted:#626771;--line:#e2e4e8;--soft:#f3f4f6;--paper:#fff;--header-height:100px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.viewer-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.055em;font-weight:750}h1{font-size:clamp(2.6rem,4.8vw,4.75rem)}h2{font-size:clamp(2.2rem,3.6vw,3.8rem)}h3{font-size:1.15rem;letter-spacing:-.035em;line-height:1.3}ul{list-style:none;margin:0;padding:0}a:focus-visible,button:focus-visible{outline:3px solid #008f9c;outline-offset:5px}::selection{background:var(--red);color:#fff}.container{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:14px 20px;background:#fff}.skip-link:focus{top:10px}
.utility-bar{background:var(--ink);color:#fff;font-size:.74rem;letter-spacing:.02em}.utility-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.utility-inner>span{opacity:.76}.utility-inner>div{display:flex;gap:27px}.utility-inner a{opacity:.86;transition:opacity .2s}.utility-inner a:hover{opacity:1}.site-header{position:sticky;top:0;z-index:30;background:#ffffffee;backdrop-filter:blur(20px);border-bottom:1px solid #181b2112;transition:box-shadow .3s,background .3s}.site-header.is-scrolled{background:#fffffff5;box-shadow:0 12px 36px #181b210d}.nav-shell{min-height:var(--header-height);display:flex;justify-content:space-between;align-items:center;gap:28px}.brand{display:block;flex-shrink:0;padding-block:11px}.brand img{width:112px}.nav-list{display:flex;align-items:center;gap:27px}.nav-link{display:inline-flex;align-items:center;position:relative;gap:9px;padding:17px 0;background:none;font-weight:650;font-size:.88rem;white-space:nowrap}.nav-link:after{content:'';position:absolute;bottom:10px;left:0;width:20px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav-link:hover:after,.nav-link.is-current:after,.submenu-toggle[aria-expanded=true]:after{transform:scaleX(1)}.nav-link:hover,.nav-link.is-current,.submenu-toggle[aria-expanded=true]{color:var(--red)}.nav-contact{display:flex;gap:24px;align-items:center;background:var(--red);color:#fff;border-radius:100px;padding:13px 24px;font-size:.85rem;font-weight:750;transition:background .25s,box-shadow .25s,transform .25s}.nav-contact:hover{background:var(--red-dark);box-shadow:0 8px 23px #dc121c24;transform:translateY(-2px)}.nav-contact>span{transition:transform .3s}.nav-contact:hover>span{transform:translate(3px,-3px)}.nav-dropdown{position:relative}.chevron{width:6px;height:6px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px;transition:transform .25s}.submenu-toggle[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:3px}.submenu{display:none;position:absolute;left:-20px;top:100%;min-width:315px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 22px 60px #181b211c}.nav-dropdown.is-open>.submenu{display:block;animation:menu-in .25s var(--ease)}.submenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:8px;font-size:.875rem;line-height:1.4;transition:background .2s,color .2s,padding .2s}.submenu a:hover,.submenu a:focus-visible{background:#fff0f1;color:var(--red);padding-left:18px}.schools-menu{min-width:190px}.menu-toggle{display:none}.scroll-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{position:relative;padding-top:70px;background:linear-gradient(120deg,#fff 38%,#f1f3f6 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1.17fr;align-items:center;gap:64px;padding-bottom:64px}.hero-copy{min-width:0}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--red);font-size:.71rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;line-height:1.5}.eyebrow:before{content:'';width:25px;height:2px;background:currentColor;flex-shrink:0}.hero h1{max-width:620px}.hero h1>span{display:block;color:var(--red)}.hero-description{max-width:470px;margin-top:27px;font-size:.95rem;line-height:1.9;color:var(--muted)}.hero-cta{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #181b2150;padding:12px 0;font-size:.9rem;font-weight:800;margin-top:23px;transition:color .25s,border-color .25s,gap .25s}.hero-cta>span{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;color:#fff;background:var(--red);font-size:1.1rem;transition:transform .3s var(--ease)}.hero-cta:hover{color:var(--red);border-color:var(--red);gap:36px}.hero-cta:hover>span{transform:rotate(45deg)}.hero-visual{min-width:0;position:relative;background:var(--ink);border-radius:24px;box-shadow:0 28px 70px #141a2324;transform:perspective(1200px) rotateY(var(--tilt-y,0deg)) rotateX(var(--tilt-x,0deg));transition:transform .7s var(--ease);padding:12px 12px 0;will-change:auto}.hero-frame{overflow:hidden;border-radius:14px;background:#e8e9e9}.hero-image{width:100%;height:auto;aspect-ratio:2000/901;object-fit:contain}.hero-bottom{display:flex;align-items:center;gap:20px;min-height:86px;padding:12px 13px;color:#fff}.hero-bottom>span:first-child{font-size:1.35rem;letter-spacing:.08em;font-weight:800}.hero-bottom>span:nth-child(2){font-size:.73rem;color:#b8bdc6;border-left:1px solid #ffffff26;padding-left:20px}.hero-bottom a{margin-left:auto;display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;border:1px solid #ffffff3a;border-radius:50%;transition:background .3s,transform .3s}.hero-bottom a:hover{background:var(--red);border-color:var(--red);transform:translateY(3px)}.hero-visual:after{content:'';position:absolute;z-index:-1;bottom:-18px;left:9%;right:9%;height:32px;border-radius:0 0 22px 22px;background:var(--red)}.hero-footline{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #181b2120;padding-block:23px;font-size:.83rem;font-weight:650}.hero-footline>span:last-child{color:var(--red);font-size:1.35rem}.hero-footline p{max-width:85%}
.courses-section{padding-block:92px 98px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-intro h2{max-width:750px}.section-intro .eyebrow{margin-bottom:16px}.section-index{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;white-space:nowrap}.section-index:before{content:'';width:42px;height:1px;background:var(--line)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.course-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s;scroll-margin-top:calc(var(--header-height) + 25px)}.course-card:hover,.course-card:focus-within{transform:translateY(-7px);box-shadow:0 24px 52px #171c2414;border-color:#dc121c60}.course-head{display:flex;align-items:flex-start;gap:17px;padding:25px 22px;min-height:100px}.course-number{display:grid;place-items:center;flex-shrink:0;font-size:.68rem;font-weight:750;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--red);margin-top:-1px;transition:background .25s,color .25s,border-color .25s}.course-card:hover .course-number,.course-card:focus-within .course-number{background:var(--red);color:#fff;border-color:var(--red)}.poster-button{position:relative;display:block;width:100%;padding:0;background:var(--soft);text-align:left}.poster-button img{width:100%;height:auto;aspect-ratio:1978/2560;object-fit:contain}.course-card>.poster-button{width:calc(100% - 24px);margin:0 12px;border-radius:10px;overflow:hidden;border:1px solid #00000008}.zoom-label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 15px;background:#f3f4f6;border-top:1px solid #00000006;font-size:.71rem;font-weight:650;color:var(--muted);transition:background .3s,color .3s}.zoom-label>span{font-size:1.1rem;line-height:1;color:var(--red)}.poster-button:hover .zoom-label{background:#ebedf0;color:var(--ink)}.course-caption{padding:19px 23px 21px;margin-top:auto}.course-link{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.71rem;letter-spacing:.12em;font-weight:800}.course-link>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font-size:1.05rem;font-weight:500;transition:background .3s,color .3s,transform .3s}.course-link:hover{color:var(--red)}.course-link:hover>span{background:var(--red);color:white;border-color:var(--red);transform:rotate(45deg)}
.gallery-section{position:relative;background:#181d26;color:#fff;padding-block:85px 90px;overflow:hidden}.gallery-section:before{content:'';position:absolute;top:0;left:0;height:4px;background:var(--red);width:22%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:37px}.gallery-section .eyebrow{color:#fa6269;margin-bottom:16px}.section-number{font-size:3.8rem;line-height:1;font-weight:300;color:var(--red)}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.gallery-item{position:relative;display:block;padding:0;background:#ffffff09;border:1px solid #ffffff12;border-radius:12px;overflow:hidden;transition:transform .4s var(--ease),border-color .3s,box-shadow .3s}.gallery-item img{width:100%;height:auto;aspect-ratio:479/340;object-fit:contain}.gallery-item>span{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--ink);font-size:1.1rem;line-height:1;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.gallery-item:hover,.gallery-item:focus-visible{transform:translateY(-5px);border-color:#fff9;box-shadow:0 15px 30px #0003}.gallery-item:hover>span,.gallery-item:focus-visible>span{opacity:1;transform:translateY(0)}
.about-section{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-block:100px;align-items:start}.about-section>div{position:relative}.about-section>p{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.9;letter-spacing:-.018em;color:#565c66;border-left:2px solid var(--red);padding-left:32px}.about-section .eyebrow{margin-bottom:20px}.contact-section{padding-bottom:90px}.contact-section .section-heading{border-top:1px solid var(--line);padding-top:38px;align-items:center}.contact-image{width:100%;height:auto;border-radius:20px}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:.84rem;font-weight:750;color:var(--red);transition:gap .3s}.text-link:hover{gap:32px;text-decoration:underline;text-underline-offset:5px}.contact-section .text-link{background:var(--red);color:#fff;padding:15px 24px;border-radius:100px;box-shadow:0 8px 25px #dc121c14;transition:transform .3s,background .3s}.contact-section .text-link:hover{background:var(--red-dark);text-decoration:none;gap:24px;transform:translateY(-3px)}
.site-footer{position:relative;background:#11151b;color:#c7cbd2;overflow:hidden;border-top:4px solid var(--red)}.footer-grid{position:relative;display:grid;grid-template-columns:1fr 1.6fr .7fr 1fr;gap:55px;padding-block:65px 58px}.footer-brand img{width:125px}.footer-brand p{margin-top:21px;font-size:.77rem;color:#a9afb9}.footer-grid h2{font-size:.85rem;line-height:1.5;letter-spacing:0;margin-bottom:20px;color:#fff;font-weight:750}.news-link{display:block;max-width:310px;font-size:.86rem;line-height:1.85;color:#a9afb9}.footer-grid ul{display:grid;gap:8px;color:#a9afb9;font-size:.87rem}.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.all-news{display:inline-block;margin-top:20px;font-size:.8rem;font-weight:750;color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1a;padding-block:24px;color:#929ba8;font-size:.73rem}.footer-bottom a{display:flex;align-items:center;gap:22px}
.detail-main{padding-block:32px 75px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.77rem;margin-bottom:40px}.breadcrumbs a:hover{color:var(--red)}.detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line);padding-bottom:36px;margin-bottom:40px}.detail-heading h1{max-width:800px;font-size:clamp(2.4rem,5vw,4.5rem)}.detail-heading .text-link{flex-shrink:0;margin-bottom:8px}.detail-poster{max-width:800px;margin-inline:auto;border:1px solid var(--line);padding:12px;border-radius:22px;background:#fff;box-shadow:0 20px 70px #11151b0e}.detail-poster .poster-button{border-radius:12px;overflow:hidden;cursor:zoom-in}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:40px}
.image-viewer{width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff26;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 30px 100px #0007}.image-viewer[open]{animation:viewer-in .25s var(--ease)}.image-viewer::backdrop{background:#0a1019dc;backdrop-filter:blur(10px)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 19px;border-bottom:1px solid var(--line)}.viewer-toolbar p{font-size:.85rem;font-weight:750}.viewer-close{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;background:var(--soft);border-radius:50%;font-size:1.8rem;line-height:1;transition:background .2s,color .2s,transform .2s}.viewer-close:hover{background:var(--red);color:#fff;transform:rotate(90deg)}.viewer-original{margin-left:auto;flex-shrink:0;color:var(--red);font-size:.73rem;font-weight:750}.viewer-original:hover{text-decoration:underline}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;height:calc(100dvh - 190px);min-height:150px;background:#eff0f2;overflow:auto}.viewer-image-wrap img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;font-size:.8rem}.viewer-controls button{background:none;padding:8px;color:var(--red);font-weight:750}.viewer-controls button:disabled{color:#9298a2;cursor:default}#viewer-count{font-size:.75rem;white-space:nowrap;color:var(--muted)}
@keyframes menu-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viewer-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-copy>.eyebrow{animation:hero-in .7s var(--ease) both}.hero-copy>h1{animation:hero-in .85s .08s var(--ease) both}.hero-description{animation:hero-in .85s .16s var(--ease) both}.hero-cta{animation:hero-in .85s .24s var(--ease) both}.hero-visual{animation:hero-in 1s .16s var(--ease) backwards}.hero-footline{animation:hero-in .8s .24s var(--ease) backwards}}
@media(min-width:1600px){.container{width:min(1400px,calc(100% - 140px))}.hero h1{font-size:5.1rem}.hero-grid{gap:80px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.nav-list{gap:18px}.nav-link{font-size:.82rem}.nav-contact{padding:12px 18px;gap:15px;font-size:.81rem}.hero-grid{gap:35px;grid-template-columns:1fr 1fr}.hero{padding-top:54px}.hero h1{font-size:3.7rem}.hero-description{font-size:.9rem}.hero-bottom{gap:14px}.hero-bottom>span:nth-child(2){padding-left:14px;font-size:.65rem}.hero-bottom>span:first-child{font-size:1.1rem}.course-head{gap:12px;padding:21px 17px;min-height:99px}h3{font-size:1.08rem}.course-grid{gap:20px}.gallery-grid{gap:12px}.footer-grid{gap:35px}.about-section{gap:50px}}
@media(max-width:900px){:root{--header-height:84px}.container{width:calc(100% - 48px)}.brand img{width:89px}.menu-toggle{display:flex;align-items:center;gap:16px;padding:11px 16px;border:1px solid var(--line);border-radius:100px;background:#fff;font-size:.85rem;font-weight:750}.menu-icon{display:flex;flex-direction:column;gap:4px;width:18px}.menu-icon i{width:100%;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:14px 24px 22px;background:white;border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header-height) - 15px);overflow-y:auto;box-shadow:0 24px 35px #181b2114}.main-nav.is-open{display:block;animation:menu-in .22s var(--ease)}.nav-list{display:block}.nav-list>li{border-bottom:1px solid var(--line)}.nav-list>li:last-child{padding-top:15px;border:0}.nav-link{display:flex;width:100%;justify-content:space-between;font-size:1rem;text-align:left;padding:15px 4px}.nav-link:after{display:none}.nav-contact{justify-content:space-between;font-size:.95rem;padding:13px 20px}.submenu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--red);border-radius:0;padding:0 5px 0 11px;margin-bottom:14px}.submenu a{font-size:.9rem}.hero-grid{grid-template-columns:1fr;gap:42px;padding-bottom:46px}.hero{padding-top:42px}.hero h1{max-width:650px;font-size:clamp(3.2rem,7.7vw,4.8rem)}.hero-description{max-width:600px;font-size:1rem}.hero-visual{max-width:100%;width:100%;border-radius:21px}.hero-bottom{min-height:78px}.hero-bottom>span:first-child{font-size:1.3rem}.hero-bottom>span:nth-child(2){font-size:.77rem}.hero-footline{padding-block:21px}.courses-section{padding-block:68px 72px}.section-intro{margin-bottom:32px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.course-head{min-height:96px;padding:24px 20px;gap:16px}.course-head h3{font-size:1.15rem}.gallery-section{padding-block:64px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-item:last-child{grid-column:auto}.about-section{padding-block:70px;grid-template-columns:1fr;gap:30px}.about-section>p{font-size:1.2rem;max-width:760px}.contact-section{padding-bottom:65px}.footer-grid{grid-template-columns:1fr 1.5fr;gap:38px}.detail-heading{align-items:flex-start;flex-direction:column;gap:26px}.detail-heading h1{font-size:3.4rem}.detail-heading .eyebrow{margin-bottom:15px}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.utility-inner{min-height:32px;font-size:.66rem;gap:10px}.utility-inner>div{gap:15px}.hero{padding-top:33px}.hero-grid{gap:34px;padding-bottom:38px}.eyebrow{font-size:.65rem;letter-spacing:.12em;margin-bottom:18px;gap:9px}.eyebrow:before{width:19px}.hero h1{font-size:clamp(2.8rem,10.3vw,3.65rem);letter-spacing:-.06em}.hero-description{font-size:.88rem;line-height:1.85;margin-top:23px}.hero-cta{font-size:.83rem;margin-top:16px;padding:9px 0}.hero-cta>span{width:29px;height:29px}.hero-visual{padding:7px 7px 0;border-radius:15px;box-shadow:0 20px 45px #141a2320}.hero-frame{border-radius:9px}.hero-bottom{min-height:65px;gap:12px;padding:10px 7px}.hero-bottom>span:first-child{font-size:1.03rem}.hero-bottom>span:nth-child(2){font-size:.66rem;padding-left:12px}.hero-bottom a{width:29px;height:29px}.hero-visual:after{bottom:-12px;height:20px;border-radius:0 0 13px 13px}.hero-footline{font-size:.72rem;line-height:1.8;padding-block:18px;gap:15px}.hero-footline p{max-width:91%}.hero-footline>span:last-child{font-size:1.15rem}.courses-section{padding-block:53px 56px}.section-intro{align-items:flex-start;margin-bottom:27px;gap:20px}.section-intro h2{font-size:2.2rem;line-height:1.12}.section-intro .eyebrow{margin-bottom:14px}.section-index{display:none}.course-grid{grid-template-columns:1fr;gap:27px}.course-head{min-height:0;padding:23px;align-items:center}.course-head h3{font-size:1.2rem}.course-card{border-radius:16px}.course-number{width:29px;height:29px;font-size:.68rem}.course-caption{padding:16px 23px 20px}.course-link{font-size:.71rem}.zoom-label{font-size:.69rem;padding:10px 13px}.gallery-section{padding-block:48px 53px}.section-heading{gap:25px;margin-bottom:27px}.section-heading h2{font-size:2.2rem;line-height:1.12}.section-number{font-size:2.8rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item{border-radius:9px}.gallery-item>span{opacity:1;transform:none;width:23px;height:23px;right:6px;bottom:6px;font-size:.9rem}.about-section{padding-block:55px;gap:25px}.about-section h2{font-size:2.4rem}.about-section>p{font-size:1rem;line-height:1.95;padding-left:23px}.contact-section{padding-bottom:50px}.contact-section .section-heading{padding-top:29px;align-items:flex-start;flex-direction:column;gap:25px}.contact-section .text-link{padding:12px 20px;font-size:.8rem}.contact-image{border-radius:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 25px;padding-block:43px}.footer-grid>div:nth-child(2){grid-column:1/-1;grid-row:2}.footer-grid>div:nth-child(3){grid-column:2;grid-row:1}.footer-grid>div:nth-child(4){grid-column:1/-1}.footer-brand img{width:110px}.footer-brand p{font-size:.71rem;margin-top:16px}.footer-grid h2{font-size:.81rem;margin-bottom:14px}.news-link{max-width:none;font-size:.84rem}.footer-bottom{font-size:.67rem;gap:12px;padding-block:20px}.footer-bottom a{gap:10px}.detail-main{padding-block:23px 48px}.breadcrumbs{font-size:.68rem;gap:8px;margin-bottom:30px}.detail-heading{gap:22px;margin-bottom:28px;padding-bottom:26px}.detail-heading h1{font-size:2.6rem}.detail-poster{padding:6px;border-radius:14px}.detail-poster .poster-button{border-radius:8px}.detail-bottom{align-items:flex-start;flex-direction:column;gap:23px;margin-top:29px}.detail-bottom .text-link,.detail-heading .text-link{font-size:.8rem}.image-viewer{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.viewer-toolbar{padding:10px 12px;gap:12px}.viewer-toolbar p{font-size:.75rem;line-height:1.4}.viewer-original{font-size:.64rem;max-width:60px;line-height:1.4}.viewer-close{width:34px;height:34px;font-size:1.6rem}.viewer-image-wrap{height:calc(100dvh - 168px)}.viewer-controls{padding:10px 6px;gap:8px;font-size:.69rem}.viewer-controls button{padding:8px 4px}#viewer-count{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-visual,.course-card:hover,.course-card:focus-within,.gallery-item:hover{transform:none!important}}
@media print{.utility-bar,.site-header,.hero-cta,.hero-bottom a,.zoom-label,.image-viewer{display:none}.container{width:100%}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero{padding:0;background:none}.hero-visual{box-shadow:none}.courses-section,.about-section,.gallery-section{padding-block:25px}.course-card{break-inside:avoid;box-shadow:none}.gallery-section,.site-footer{background:white;color:black}.gallery-section h2,.site-footer h2{color:black}}

/* Tamaños de lectura y controles, también en pantallas pequeñas. */
.hero-description{font-size:1rem}.zoom-label,.course-link,.section-index{font-size:.75rem}.utility-bar{font-size:.75rem}@media(max-width:560px){.hero-description{font-size:1rem}.utility-inner{font-size:.75rem}.hero-footline{font-size:.8rem}.course-link,.zoom-label{font-size:.75rem}.footer-bottom{font-size:.75rem}}@media(max-width:400px){.utility-inner>span{display:none}.utility-inner>div{margin-left:auto}.footer-bottom{flex-wrap:wrap}}

/* Contacto directo: todos los enlaces son independientes del dominio del hosting. */
.submenu .school-name{display:block;padding:12px 14px;font-size:.875rem;line-height:1.4;color:var(--muted)}
.footer-grid .school-name{color:#a9afb9}.whatsapp-icon{width:27px;height:27px;display:block;flex-shrink:0}
.contact-section .contact-wa-link{gap:12px;background:#087b45;box-shadow:0 8px 25px #087b4515}
.contact-section .contact-wa-link:hover{gap:12px;background:#056639}
.course-wa-link{gap:10px;color:#087b45}.course-wa-link:hover{gap:10px}
.whatsapp-contact{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:0 0 28px;padding:29px 34px;background:#f0f8f4;border:1px solid #d4e9dd;border-radius:18px}
.whatsapp-contact-label{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#087b45;margin-bottom:5px}
.whatsapp-contact-number{font-weight:750;font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.whatsapp-contact-number:hover{text-decoration:underline;text-decoration-color:#087b45;text-underline-offset:6px}
.whatsapp-contact-cta{display:inline-flex;align-items:center;gap:13px;flex-shrink:0;border-radius:100px;background:#087b45;color:#fff;padding:14px 22px;font-size:.875rem;font-weight:750;transition:background .25s,transform .25s}
.whatsapp-contact-cta:hover{background:#056639;transform:translateY(-2px)}
.whatsapp-contact-cta>span:last-child{margin-left:8px}
.whatsapp-float{position:fixed;right:max(26px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:25;display:flex;align-items:center;gap:11px;padding:8px 17px 8px 8px;border-radius:100px;background:#087b45;color:#fff;border:1px solid #ffffff38;box-shadow:0 9px 28px #005d3438,0 2px 5px #00000012;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.whatsapp-float:hover{transform:translateY(-4px);background:#056639;box-shadow:0 13px 32px #005d3445}
.whatsapp-float:focus-visible{outline-color:#087b45;outline-offset:5px}
.whatsapp-float-icon{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;background:#ffffff16}
.whatsapp-float-icon .whatsapp-icon{width:31px;height:31px}
.whatsapp-float-copy{display:flex;flex-direction:column;line-height:1.35;padding-right:6px}
.whatsapp-float-copy strong{font-size:.85rem;font-weight:800}.whatsapp-float-copy>span{font-size:.7rem;color:#d4efdf;margin-top:2px}
.whatsapp-float-arrow{font-size:1.2rem;padding-left:5px;transition:transform .3s}.whatsapp-float:hover .whatsapp-float-arrow{transform:translate(2px,-2px)}
body.viewer-open .whatsapp-float{visibility:hidden}.footer-bottom{padding-bottom:100px}
@keyframes whatsapp-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.whatsapp-float{animation:whatsapp-in .7s .4s var(--ease) backwards}}
@media(max-width:700px){.whatsapp-contact{align-items:flex-start;flex-direction:column;gap:22px;padding:24px}.whatsapp-contact-cta{padding:12px 20px}.whatsapp-contact-number{font-size:1.6rem}}
@media(max-width:560px){.whatsapp-float{right:max(16px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom));padding:0;width:59px;height:59px;justify-content:center}.whatsapp-float-icon{width:100%;height:100%;background:none}.whatsapp-float-icon .whatsapp-icon{width:34px;height:34px}.whatsapp-float-copy,.whatsapp-float-arrow{display:none}.contact-section .contact-wa-link{font-size:.79rem;padding:12px 18px}.whatsapp-contact-number{font-size:clamp(1.22rem,6vw,1.6rem)}.footer-bottom{padding-bottom:100px}}
@media print{.whatsapp-float{display:none}}
