@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 700;font-display:swap;src:url('./assets/fonts/Montserrat-Latin.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/Inter-Regular.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('./assets/fonts/Inter-Medium.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('./assets/fonts/Inter-SemiBold.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('./assets/fonts/Inter-Bold.woff2') format('woff2')}:root{--brand-blue:#1A56A8;--brand-blue-light:#F4F7F9;--brand-blue-dark:#1A56A8;--vibrant-cyan:#009FE3;--vibrant-cyan-light:#F4F7F9;--action-red:#E31C23;--action-red-hover:#E31C23;--whatsapp-green:#25D366;--whatsapp-green-hover:#25D366;--white:#FFFFFF;--off-white:#F4F7F9;--border-gray:#E2E8F0;--text-dark:#1A1D20;--text-muted:#1A1D20;--font-heading:"Montserrat",sans-serif;--font-body:"Inter",sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--shadow-sm:0 1px 3px rgba(26,86,168,0.06);--shadow-md:0 4px 12px rgba(26,86,168,0.08);--shadow-lg:0 10px 24px rgba(26,86,168,0.12);--shadow-float:0 12px 32px -8px rgba(26,86,168,0.25);--shadow-card:0 4px 24px -8px rgba(26,86,168,0.15);--radius-sm:4px;--radius-base:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-card:16px;--radius-pill:9999px;--motion-fast:200ms;--motion-base:300ms;--motion-slow:420ms;--ease-standard:cubic-bezier(0.2,0.8,0.2,1);--ease-smooth:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0,0,0.2,1);--z-base:0;--z-sticky-nav:100;--z-overlay:200;--z-modal:300;--z-toast:500}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--text-dark);background-color:var(--white);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}address{font-style:normal}button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;background:var(--brand-blue);color:var(--white);padding:12px 24px;border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:600;font-size:0.875rem;transition:top var(--motion-fast) var(--ease-standard)}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--vibrant-cyan);outline-offset:2px}.section-label{font-family:var(--font-body);font-size:0.875rem;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--vibrant-cyan);margin-bottom:8px}.section-title{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:var(--text-dark);line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}.section-subtitle{font-size:1rem;color:var(--text-muted);max-width:560px;line-height:1.6}.site-header{position:fixed;top:24px;left:16px;right:16px;margin:0 auto;max-width:1280px;z-index:1000;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-card);border:1px solid var(--border-gray);transition:top var(--motion-base) var(--ease-standard),left var(--motion-base) var(--ease-standard),right var(--motion-base) var(--ease-standard),max-width var(--motion-base) var(--ease-standard),border-radius var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.site-header.scrolled{top:0;left:0;right:0;max-width:100%;border-radius:0;background:rgba(255,255,255,0.98);border-bottom:1px solid var(--border-gray);border-left:none;border-right:none;border-top:none}.site-header.header-hidden{transform:translateY(-120%)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.header__logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-text__top{font-family:var(--font-heading);font-weight:700;font-size:20px;letter-spacing:-0.5px}.logo-text__blue{color:var(--brand-blue)}.logo-text__red{color:var(--action-red)}.logo-text__bottom{font-family:var(--font-heading);font-weight:500;font-size:10px;letter-spacing:1.5px;color:var(--text-muted);margin-top:2px}.header__nav{display:none}.nav__list{display:flex;gap:32px}.nav__link{font-family:var(--font-body);font-size:0.875rem;font-weight:500;color:var(--text-dark);position:relative;padding:4px 0;transition:color var(--motion-fast) var(--ease-standard)}.nav__link::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--brand-blue);transition:width var(--motion-base) var(--ease-smooth)}.nav__link:hover{color:var(--brand-blue)}.nav__link:hover::after{width:100%}.header__cta{display:none}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:12px;position:relative;z-index:1010}.nav-toggle__bar{display:block;width:24px;height:2px;background:var(--text-dark);border-radius:2px;transition:transform var(--motion-base) var(--ease-smooth),opacity var(--motion-fast);transform-origin:center}body.nav-open .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}body.nav-open .nav-toggle__bar:nth-child(2){opacity:0}body.nav-open .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body.nav-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}body.nav-open .site-header::before{content:"";position:fixed;inset:0;background:rgba(26,29,32,0.5);z-index:1004;animation:navFadeIn var(--motion-base) var(--ease-smooth)}body.nav-open .header__nav{display:flex;position:fixed;top:0;right:0;bottom:0;width:300px;max-width:80vw;z-index:1005;background:var(--white);box-shadow:-4px 0 24px rgba(26,29,32,0.1);align-items:flex-start;justify-content:flex-start;padding:100px 32px 32px;animation:slideInRight var(--motion-base) var(--ease-smooth)}body.nav-open .nav__list{flex-direction:column;align-items:flex-start;gap:24px;width:100%}body.nav-open .nav__link{font-size:1.125rem;font-weight:600;width:100%;display:block;padding-bottom:12px;border-bottom:1px solid var(--off-white)}body.nav-open .nav__link::after{display:none}body.nav-open{overflow:hidden}@keyframes navFadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:0.9375rem;padding:14px 28px;border-radius:var(--radius-pill);cursor:pointer;border:1.5px solid transparent;min-height:48px;text-align:center;white-space:nowrap;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.btn:active{transform:translateY(1px)}.btn--whatsapp{background:var(--whatsapp-green);color:var(--text-dark);border-color:var(--whatsapp-green)}.btn--whatsapp:hover{filter:brightness(0.92)}.btn--primary{background:var(--action-red);color:var(--white);border-color:var(--action-red)}.btn--primary:hover{background:var(--action-red-hover);border-color:var(--action-red-hover)}.btn--outline{background:transparent;color:var(--brand-blue);border-color:var(--brand-blue)}.btn--outline:hover{background:var(--brand-blue);color:var(--white)}.btn--large{padding:20px 40px;font-size:1.0625rem}.btn--sm{padding:10px 20px;font-size:0.8125rem;min-height:40px}.hero{min-height:100dvh;display:flex;align-items:center;position:relative;padding-top:120px;padding-bottom:64px;overflow:hidden}.hero--video-bg{justify-content:center}.hero__bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;background-color:var(--text-dark)}.hero__video{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient( to right,rgba(26,29,32,0.5) 0%,rgba(26,29,32,0.15) 100% );z-index:1}.hero__inner{display:flex;flex-direction:column;gap:48px;width:100%;position:relative;z-index:2}.hero__content{max-width:800px}.hero__tagline{font-family:var(--font-body);font-size:0.875rem;font-weight:500;text-transform:uppercase;letter-spacing:3px;color:var(--vibrant-cyan);margin-bottom:16px;text-shadow:0 2px 4px rgba(26,29,32,0.6)}.hero__title{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:0.95;color:var(--white);margin-bottom:16px;letter-spacing:-0.03em;text-shadow:0 4px 16px rgba(26,29,32,0.6)}.hero__title--accent{color:var(--vibrant-cyan)}.hero__subtitle{font-size:1.125rem;color:var(--white);opacity:0.9;margin-bottom:32px;max-width:480px;line-height:1.6;text-shadow:0 2px 8px rgba(26,29,32,0.6)}.hero__actions{display:flex;flex-wrap:wrap;gap:16px}.hero__actions .btn--outline{color:var(--white);border-color:var(--white)}.hero__actions .btn--outline:hover{background:var(--white);color:var(--text-dark)}.hero__scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);color:var(--white);opacity:0.4;animation:scrollBounce 2s var(--ease-smooth) infinite}@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}.about{background:var(--white);padding:clamp(4rem,8vw,8rem) 0}.about__inner{display:flex;flex-direction:column;gap:48px}.about__text{font-size:1rem;line-height:1.6;color:var(--text-muted);margin-bottom:16px;max-width:72ch}.about__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-top:32px}.about__stat{text-align:center;padding:24px 8px;background:var(--white);border-radius:var(--radius-card);border:1px solid var(--border-gray)}.about__stat-number{display:block;font-family:var(--font-heading);font-size:clamp(1.25rem,4vw,1.75rem);font-weight:700;color:var(--brand-blue);line-height:1;margin-bottom:4px}.about__stat-label{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-muted)}.about__visual{position:relative}.about__image{border-radius:var(--radius-card);border:1px solid var(--border-gray)}.anniversary{padding:80px 0;background:var(--brand-blue);color:var(--white);text-align:center}.anniversary__header{margin-bottom:48px}.anniversary__title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--white);margin-bottom:16px}.anniversary__subtitle{font-size:1.125rem;color:var(--off-white);opacity:0.9;max-width:600px;margin:0 auto}.anniversary__videos{display:grid;grid-template-columns:1fr;gap:32px;max-width:1000px;margin:0 auto}@media (min-width:768px){.anniversary__videos{grid-template-columns:1fr 1fr}}.anniversary__video-wrapper{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-lg);background:#1A1D20}.anniversary__video{width:100%;height:100%;object-fit:cover;display:block}.environments{padding:clamp(4rem,8vw,8rem) 0;background:var(--off-white)}.environments__header{margin-bottom:40px}.environments__carousel{position:relative}.environments__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 1.5rem 24px 1.5rem}.environments__track::-webkit-scrollbar{display:none}.env-card{flex:0 0 280px;height:380px;scroll-snap-align:start;border-radius:var(--radius-card);overflow:hidden;position:relative;border:1px solid var(--border-gray);box-shadow:var(--shadow-card);transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard);display:flex;align-items:flex-end}.env-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float)}.env-card__bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-standard);z-index:0}.env-card:hover .env-card__bg{transform:scale(1.05)}.env-card__overlay{position:absolute;inset:0;background:linear-gradient( to top,rgba(26,29,32,0.85) 0%,rgba(26,29,32,0) 50% );z-index:1}.env-card__content{position:relative;z-index:2;padding:24px;width:100%}.env-card__title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:4px;color:var(--white)}.env-card__desc{font-size:0.875rem;color:var(--white);opacity:0.85;line-height:1.4}.environments__scrollbar-container{display:flex;align-items:center;gap:16px;margin-top:16px}.environments__scrollbar{flex:1;height:3px;background:var(--border-gray);border-radius:2px;position:relative;overflow:hidden}.environments__scrollbar-thumb{position:absolute;left:0;top:0;height:100%;width:25%;background:var(--brand-blue);border-radius:2px;transition:transform 0.1s linear}.environments__arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-dark);opacity:0.5;transition:opacity var(--motion-fast)}.environments__arrow:hover{opacity:1}.environments__arrow:disabled{opacity:0.2;cursor:not-allowed}.departments{background:var(--white);padding:clamp(4rem,8vw,8rem) 0}.departments__header{margin-bottom:clamp(3rem,6vw,5rem)}.dept-row{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--border-gray)}.dept-row:last-child{border-bottom:none}.dept-row__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-card);border:1px solid var(--border-gray);background:var(--off-white);margin-bottom:16px}.dept-row__title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:12px;letter-spacing:-0.01em}.dept-row__desc{font-size:1rem;color:var(--text-muted);line-height:1.6;margin-bottom:20px;max-width:48ch}.dept-row__visual{position:relative;overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--border-gray);aspect-ratio:4 / 3}.dept-row__visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-standard)}.dept-row:hover .dept-row__visual img{transform:scale(1.03)}.locations{padding:clamp(4rem,8vw,8rem) 0;background:var(--off-white)}.locations__header{margin-bottom:48px}.location-card--featured{background:var(--white);border-radius:var(--radius-card);border:1px solid var(--border-gray);box-shadow:var(--shadow-card);overflow:hidden;position:relative;margin-bottom:48px;transition:box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.location-card--featured:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.location-card__accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand-blue)}.location-card__content{padding:32px;padding-left:38px}.location-card__title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:12px}.location-card__address{font-size:0.9375rem;color:var(--text-muted);margin-bottom:20px}.location-card__info{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.location-card__hours,.location-card__phone{display:flex;align-items:flex-start;gap:12px}.location-card__hours svg,.location-card__phone svg{flex-shrink:0;margin-top:2px}.location-card__hours p,.location-card__phone p{font-size:0.875rem;line-height:1.6;color:var(--text-muted)}.location-card__actions{display:flex;flex-wrap:wrap;gap:12px}.locations__secondary-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;margin-bottom:24px;color:var(--text-dark)}.locations__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.location-card--compact{background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-card);padding:24px;transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.location-card--compact:hover{border-color:var(--brand-blue);transform:translateY(-2px)}.location-card--compact .location-card__title{font-size:1.5rem;color:var(--brand-blue);margin-bottom:12px}.location-card--compact .location-card__address{margin-bottom:8px;font-size:0.875rem}.location-card__phone-inline{font-size:0.875rem;color:var(--text-muted);margin-bottom:16px}.cta-final{position:relative;padding:clamp(4rem,8vw,8rem) 0;text-align:center;overflow:hidden;min-height:400px;display:flex;align-items:center}.cta-final__bg{position:absolute;inset:0;z-index:0}.cta-final__bg img{width:100%;height:100%;object-fit:cover;object-position:center}.cta-final__bg::after{content:"";position:absolute;inset:0;background:linear-gradient( 135deg,rgba(26,86,168,0.92) 0%,rgba(26,86,168,0.85) 100% )}.cta-final__inner{position:relative;z-index:1}.cta-final__title{font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}.cta-final__subtitle{font-size:1rem;color:var(--white);opacity:0.85;margin-bottom:32px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.6}.site-footer{background:var(--text-dark);color:var(--white);padding-top:64px}.footer__inner{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:48px}.footer__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:700;font-size:1.125rem;color:var(--white);margin-bottom:12px}.footer__logo img{border-radius:4px;object-fit:contain}.footer__tagline{font-size:0.875rem;opacity:0.85;line-height:1.6}.footer__heading{font-family:var(--font-heading);font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;opacity:0.85}.footer__links ul{display:flex;flex-direction:column;gap:10px}.footer__links a{font-size:0.9375rem;opacity:0.85;transition:opacity var(--motion-fast),color var(--motion-fast)}.footer__links a:hover{opacity:1;color:var(--vibrant-cyan)}.footer__contact address{font-size:0.875rem;opacity:0.85;line-height:1.7;margin-bottom:16px}.footer__social-link{display:inline-flex;align-items:center;gap:8px;font-size:0.875rem;font-weight:500;opacity:0.85;transition:opacity var(--motion-fast),color var(--motion-fast)}.footer__social-link:hover{opacity:1;color:var(--vibrant-cyan)}.footer__bottom{border-top:1px solid rgba(255,255,255,0.1);padding:20px 0}.footer__bottom p{font-size:0.8125rem;opacity:0.85;text-align:center}.footer__legal-link{color:var(--off-white);opacity:0.85;text-decoration:none;transition:opacity var(--motion-fast),color var(--motion-fast)}.footer__legal-link:hover{opacity:1;color:var(--vibrant-cyan)}.whatsapp-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:var(--whatsapp-green);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-float);z-index:999;transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast);animation:whatsappBreath 3s ease-in-out infinite}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(37,211,102,0.45)}@keyframes whatsappBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.whatsapp-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.whatsapp-modal[hidden]{display:none}.whatsapp-modal__overlay{position:absolute;inset:0;background:rgba(26,29,32,0.5);animation:modalOverlayIn var(--motion-base) var(--ease-standard)}@keyframes modalOverlayIn{from{opacity:0}to{opacity:1}}.whatsapp-modal__card{position:relative;background:var(--white);border-radius:var(--radius-card);border:1px solid var(--border-gray);padding:32px;max-width:360px;width:100%;box-shadow:var(--shadow-lg);animation:modalSlideUp var(--motion-base) var(--ease-smooth)}@keyframes modalSlideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.whatsapp-modal__close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-dark);opacity:0.5;transition:opacity var(--motion-fast),background var(--motion-fast)}.whatsapp-modal__close:hover{opacity:1;background:var(--off-white)}.whatsapp-modal__title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--text-dark);margin-bottom:20px;padding-right:32px}.whatsapp-modal__option{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border-gray);border-radius:var(--radius-card);transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.whatsapp-modal__option:hover{background:rgba(37,211,102,0.06);border-color:var(--whatsapp-green);transform:translateY(-1px)}.whatsapp-modal__option strong{display:block;font-family:var(--font-heading);font-size:0.9375rem;font-weight:600;color:var(--text-dark);margin-bottom:2px}.whatsapp-modal__option span{font-size:0.8125rem;color:var(--text-muted)}[data-animate]{opacity:0;transition:opacity var(--motion-slow) var(--ease-out),transform var(--motion-slow) var(--ease-out),filter var(--motion-slow) var(--ease-out);transition-delay:var(--delay,0ms);will-change:opacity,transform,filter}[data-animate="fade-up"]{transform:translateY(24px);filter:blur(4px)}[data-animate="fade-right"]{transform:translateX(-24px);filter:blur(4px)}[data-animate="scale-in"]{transform:scale(0.95);filter:blur(4px)}[data-animate].is-visible{opacity:1;transform:translateY(0) translateX(0) scale(1);filter:blur(0)}@media (min-width:768px){.section-title{font-size:clamp(1.75rem,3.5vw,2.5rem)}.about__inner{flex-direction:row;align-items:center;gap:64px}.about__content{flex:1}.about__visual{flex:1}.about__stat-number{font-size:2.25rem}.env-card{flex:0 0 320px}.dept-row{grid-template-columns:1fr 1fr;gap:48px;padding:48px 0}.dept-row--reverse .dept-row__text{order:2}.dept-row--reverse .dept-row__visual{order:1}.location-card__info{flex-direction:row;gap:32px}.locations__grid{gap:20px}.footer__inner{grid-template-columns:1.5fr 1fr 1fr}}@media (min-width:1024px){.container{padding:0 40px}.header__nav{display:block}.header__cta{display:inline-flex}.nav-toggle{display:none}.header__inner{height:72px}.hero{padding-top:140px}.hero__inner{flex-direction:column;align-items:flex-start;gap:64px}.hero__content{flex:0 0 100%;max-width:800px}.dept-row{grid-template-columns:5fr 6fr;gap:64px;padding:56px 0}.environments__carousel{max-width:1280px;margin:0 auto;padding:0 40px}.environments__track{scroll-snap-type:none;padding-left:4px;padding-right:4px}.environments__arrow{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;background:var(--white);border:1px solid var(--border-gray);color:var(--text-dark);transition:opacity var(--motion-fast),transform var(--motion-fast)}.environments__arrow:disabled{opacity:0.3;cursor:not-allowed}.environments__arrow:not(:disabled):hover{border-color:var(--brand-blue);color:var(--brand-blue)}.environments__arrow--prev{left:0}.environments__arrow--next{right:0}.env-card{flex:0 0 340px}.cta-final{padding:clamp(5rem,10vw,10rem) 0}}@media (min-width:1280px){.section-title{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}[data-animate]{opacity:1;transform:none}.hero__scroll-hint{display:none}}.coverage{background:var(--off-white);padding:64px 0}@media (max-width:768px){.coverage{padding:48px 0}}.coverage__inner{max-width:800px;margin:0 auto;text-align:center}.coverage__title{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,1.875rem);font-weight:700;color:var(--brand-blue);margin:0 0 16px 0;line-height:1.2}.coverage__description{font-size:1rem;line-height:1.7;color:var(--text-dark);margin:0 0 32px 0}.coverage__states{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;text-align:left}@media (max-width:480px){.coverage__states{grid-template-columns:1fr}}.coverage__state{background:var(--white);border:1px solid var(--border-gray);border-radius:var(--radius-base);padding:16px}.coverage__state strong{display:block;font-size:0.85rem;font-weight:700;color:var(--brand-blue);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px}.coverage__state span{font-size:0.85rem;color:var(--text-muted);line-height:1.4}.coverage__cta-text{font-size:0.95rem;color:var(--text-muted);margin:0}.coverage__link{color:var(--brand-blue);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.coverage__link:hover,.coverage__link:focus-visible{color:var(--vibrant-cyan);border-color:var(--vibrant-cyan)}.faq{padding:clamp(4rem,8vw,8rem) 0;background:var(--white)}.faq__header{text-align:center;margin-bottom:48px}.faq__list{max-width:800px;margin:0 auto 48px;display:flex;flex-direction:column;gap:16px}.faq__item{border:1px solid var(--border-gray);border-radius:var(--radius-card);background:var(--white);overflow:hidden;transition:box-shadow var(--motion-base) var(--ease-standard)}.faq__item:hover{box-shadow:var(--shadow-sm)}.faq__item.is-open{border-color:var(--brand-blue-light);box-shadow:var(--shadow-md)}.faq__question-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px;background:transparent;text-align:left;gap:16px}.faq__question-btn:focus-visible{outline:2px solid var(--vibrant-cyan);outline-offset:-2px}.faq__question{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--text-dark);margin:0}.faq__item.is-open .faq__question{color:var(--brand-blue)}.faq__icon{flex-shrink:0;color:var(--brand-blue);display:flex;align-items:center;justify-content:center;transition:transform var(--motion-base) var(--ease-standard)}.faq__item.is-open .faq__icon{transform:rotate(45deg)}.faq__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-base) var(--ease-standard);visibility:hidden}.faq__item.is-open .faq__answer{grid-template-rows:1fr;visibility:visible}.faq__answer-inner{overflow:hidden;padding:0 24px;color:var(--text-muted);font-size:1rem;line-height:1.6}.faq__item.is-open .faq__answer-inner{padding-bottom:24px}.faq__answer-inner ul{list-style:disc;margin-left:20px;margin-top:12px;display:flex;flex-direction:column;gap:8px}.faq__answer-inner strong{color:var(--text-dark)}.faq__cta{text-align:center;padding-top:32px;border-top:1px solid var(--border-gray);max-width:800px;margin:0 auto}.faq__cta p{font-size:1.125rem;color:var(--text-dark);font-weight:600;margin-bottom:16px}.offers-banner{background:var(--brand-blue);padding:64px 0;text-align:center;position:relative;overflow:hidden}.offers-banner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(0,159,227,0.15) 0%,rgba(26,86,168,0) 100%);pointer-events:none}.offers-banner__inner{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:1}.offers-banner__content{max-width:600px}.offers-banner__title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.1}.offers-banner__text{color:var(--off-white);font-size:1.125rem;opacity:0.9;max-width:600px;line-height:1.6}.offers-banner__action .btn{background-color:var(--action-red);color:var(--white);border:none;font-weight:700;padding:16px 32px;box-shadow:0 8px 24px rgba(227,28,35,0.3);transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.offers-banner__action .btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(227,28,35,0.5)}@media (min-width:992px){.offers-banner__inner{flex-direction:row;justify-content:space-between;text-align:left}}.offers-page{padding:120px 0 80px;background:var(--off-white);min-height:100vh}.offers-page__header{text-align:center;margin-bottom:64px}.offers-page__title{color:var(--brand-blue);font-size:clamp(2.5rem,5vw,3.5rem);font-family:var(--font-heading);font-weight:700;line-height:1.1}.offers-page__subtitle{color:var(--text-dark);margin-top:16px;font-size:1.125rem;opacity:0.8;max-width:600px;margin-left:auto;margin-right:auto}.store-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:48px;flex-wrap:wrap}.store-tab{padding:12px 32px;border-radius:var(--radius-pill);border:1px solid var(--border-gray);background:var(--white);color:var(--text-dark);font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:all var(--motion-fast) var(--ease-standard);font-size:1rem;min-height:48px}.store-tab:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue)}.store-tab.active{background:var(--brand-blue);color:var(--white);border-color:var(--brand-blue);box-shadow:0 4px 16px rgba(26,86,168,0.2)}.store-tab:disabled{opacity:0.5;cursor:not-allowed}.offers-grid{display:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px}.offers-grid.active{display:grid}.offer-card{background:var(--white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard);display:flex;flex-direction:column}.offer-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float)}.offer-card__image{width:100%;aspect-ratio:1 / 1;object-fit:contain;background:var(--white);padding:16px}.offers-empty{text-align:center;grid-column:1 / -1;color:var(--text-muted);padding:48px 24px;font-size:1.125rem}.modern-offer-card{background:var(--white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard);display:flex;flex-direction:column;text-decoration:none;color:inherit}.modern-offer-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float)}.modern-offer-card__image-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center}.modern-offer-card__image-wrapper img{width:150%;height:150%;object-fit:cover;object-position:center}.badge-oferta{position:absolute;top:16px;left:16px;background-color:var(--action-red);color:var(--white);font-size:0.75rem;font-weight:700;text-transform:uppercase;padding:4px 12px;border-radius:20px;z-index:2;box-shadow:0 4px 12px rgba(227,28,35,0.3)}.modern-offer-card__info{padding:24px;display:flex;flex-direction:column;flex-grow:1;border-top:1px solid var(--border-gray)}.modern-offer-card__brand{font-size:0.875rem;color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:0.5px;margin-bottom:8px}.modern-offer-card__title{font-size:1.125rem;font-weight:700;color:var(--text-dark);line-height:1.4;margin-bottom:24px}.modern-offer-card__prices{margin-top:auto;margin-bottom:24px;display:flex;flex-direction:column;gap:4px}.price-old{font-size:0.875rem;color:var(--text-muted);text-decoration:line-through}.price-new{font-size:1rem;color:var(--action-red);font-weight:600}.price-new strong{font-size:2.25rem;font-weight:800;letter-spacing:-1px}.price-new small{font-size:0.875rem;font-weight:500;color:var(--text-muted)}


/* Shared primitives: keep the inline critical CSS synchronized with this block. */
[hidden] { display: none !important; }
button, summary, .btn, .nav__link { font-family: var(--font-heading); }
.btn { border-radius: 8px; white-space: normal; }
.btn--sm { min-height: 48px; padding: 8px 16px; }
.btn--primary:hover { background: var(--action-red); border-color: var(--action-red); filter: brightness(.92); }
.section-label { color: var(--brand-blue); }
.section-title, .location-card__title { color: var(--brand-blue); }
.whatsapp-modal__close, .environments__arrow { width: 48px; height: 48px; min-width: 48px; min-height: 48px; }
.nav__link { display: inline-flex; align-items: center; min-height: 48px; min-width: 48px; padding: 8px 0; }
.header__inner { gap: 16px; }
.header__logo { gap: 8px; min-width: 0; }
.header__logo .logo-text__top { font-size: clamp(14px, 4.3vw, 20px); }
.footer__links a, .footer__social-link { min-height: 48px; display: inline-flex; align-items: center; }
.hero { padding-bottom: 104px; }
.hero__title { line-height: 1.1; }
.hero__overlay { background: linear-gradient(90deg, rgba(26,29,32,.76), rgba(26,29,32,.32)); }
.hero__tagline { color: var(--white); }
.hero__video-toggle {
  position: absolute; z-index: 3; bottom: 24px;
  left: max(24px, calc((100vw - 1200px) / 2));
  display: inline-flex; gap: 8px; align-items: center; justify-content: center;
  min-width: 48px; min-height: 48px; padding: 8px 16px; border-radius: 8px;
  color: var(--white); background: rgba(26,29,32,.8);
  border: 1px solid rgba(255,255,255,.48); font-size: .8125rem; font-weight: 600;
}
.hero__video-toggle:focus-visible, .campaign-strip a:focus-visible { outline-color: var(--white); }
.campaign-strip {
  display: flex; flex-direction: column; gap: 16px; align-items: stretch;
  max-width: 640px; padding: 16px; margin-bottom: 24px; border-radius: 16px;
  background: var(--brand-blue); color: var(--white); text-shadow: none;
}
.campaign-strip__copy strong { display: block; font: 700 1rem/1.4 var(--font-heading); }
.campaign-strip__copy p { margin: 8px 0 0; font: 400 .875rem/1.5 var(--font-body); }
.campaign-strip__link { font-size: .8125rem; padding: 8px 16px; min-height: 48px; }
@media (max-width: 479px) {
  .site-header .container { padding-inline: 16px; }
}
@media (max-width: 767px) {
  .hero__scroll-hint { display: none; }
}
@media (min-width: 560px) {
  .campaign-strip { flex-direction: row; align-items: center; justify-content: space-between; }
  .campaign-strip__link { flex-shrink: 0; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .nav__list { gap: 16px; }
  .header__cta { max-width: 200px; padding: 8px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-animate] { opacity: 1 !important; transform: none !important; filter: none !important; }
  .whatsapp-float { animation: none; }
}

/* Anniversary: permanent institutional memory with a time-limited invitation. */
.anniversary {
  padding: 64px 0; background: var(--off-white); color: var(--text-dark);
  text-align: left; scroll-margin-top: 104px;
}
.anniversary__intro { display: grid; gap: 32px; align-items: center; }
.anniversary__story { max-width: 600px; }
.anniversary__story .section-label { margin-bottom: 16px; }
.anniversary__title { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; margin-bottom: 24px; }
.anniversary__text { font-size: 1rem; line-height: 1.75; margin-bottom: 24px; max-width: 52ch; }
.anniversary__featured { margin: 0; min-width: 0; }
.anniversary__featured img { width: 100%; height: auto; border-radius: 16px; }
.anniversary__featured figcaption { margin-top: 8px; font-size: .8125rem; line-height: 1.6; }
.anniversary-event {
  display: grid; gap: 32px; margin-top: 48px; padding: 24px;
  border-radius: 16px; background: var(--brand-blue); color: var(--white);
}
.anniversary-event__eyebrow { font-size: .8125rem; margin-bottom: 16px; line-height: 1.6; }
.anniversary-event h3 { font: 700 clamp(1.5rem, 2.4vw, 2rem)/1.25 var(--font-heading); margin-bottom: 16px; }
.anniversary-event__location { font-size: .9375rem; line-height: 1.6; }
.anniversary-event__schedule { display: grid; gap: 16px; margin: 24px 0 8px; }
.anniversary-event__schedule div { padding-left: 16px; border-left: 2px solid var(--vibrant-cyan); }
.anniversary-event dt { font: 600 1rem/1.5 var(--font-heading); }
.anniversary-event dd { margin: 8px 0 0; font-size: 1.25rem; line-height: 1.5; }
.anniversary-event__timezone { font-size: .8125rem; margin-top: 16px; }
.anniversary-event__rates { display: flex; flex-wrap: wrap; gap: 32px; }
.anniversary-event__rates p { display: flex; flex-direction: column; gap: 8px; }
.anniversary-event__rates strong { font: 700 clamp(2.5rem, 5vw, 3.5rem)/1.1 var(--font-heading); }
.anniversary-event__rates span { font-size: 1rem; }
.anniversary-event__scope { margin: 24px 0 16px; font: 700 1.125rem/1.5 var(--font-heading); }
.anniversary-event__fineprint { font-size: .875rem; line-height: 1.7; max-width: 56ch; }
.anniversary-event__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.anniversary-event__actions .btn { flex-grow: 1; }
.anniversary-event__map { color: var(--white); border-color: var(--white); }
.anniversary-event__map:hover { color: var(--brand-blue); background: var(--white); }
.anniversary-event__poster { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin-top: 8px; font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
.anniversary-event a:focus-visible { outline-color: var(--white); }
.anniversary-gallery { margin-top: 64px; min-width: 0; }
.anniversary-gallery__header { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.anniversary-gallery__header h3 { color: var(--brand-blue); font: 700 clamp(1.25rem, 2vw, 1.5rem)/1.4 var(--font-heading); }
.anniversary-gallery__controls { display: flex; gap: 8px; }
.anniversary-gallery__arrow { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--brand-blue); border-radius: 8px; color: var(--brand-blue); background: var(--white); }
.anniversary-gallery__arrow:hover:not(:disabled) { background: var(--brand-blue); color: var(--white); }
.anniversary-gallery__arrow:disabled { opacity: .4; cursor: default; }
.anniversary-gallery__track { display: grid; grid-auto-flow: column; grid-auto-columns: min(84%, 400px); gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--brand-blue) var(--off-white); padding: 0 0 16px; }
.anniversary-gallery__item { margin: 0; min-width: 0; scroll-snap-align: start; }
.anniversary-gallery__item img { width: 100%; height: auto; aspect-ratio: 800 / 449; border-radius: 16px; }
.anniversary-gallery__item figcaption { margin-top: 16px; font-size: .875rem; line-height: 1.6; }
.anniversary-films { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border-gray); }
.anniversary-films summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 8px 0; font-size: 1rem; font-weight: 600; color: var(--brand-blue); cursor: pointer; list-style: none; }
.anniversary-films summary::-webkit-details-marker { display: none; }
.anniversary-films__indicator { font: 400 2rem/1 var(--font-heading); }
.anniversary-films[open] .anniversary-films__indicator { transform: rotate(45deg); }
.anniversary__videos { display: grid; grid-template-columns: 1fr; align-items: start; gap: 32px; max-width: 800px; margin: 24px auto 0; }
.anniversary-film { margin: 0; min-width: 0; width: 100%; max-width: 384px; justify-self: center; }
.anniversary__video-wrapper { aspect-ratio: 404 / 720; background: var(--text-dark); border-radius: 16px; box-shadow: none; }
.anniversary__video { width: 100%; height: 100%; object-fit: contain; }
.anniversary-film figcaption { padding-top: 16px; font-size: .875rem; line-height: 1.6; }
.location-card__anniversary { display: inline-flex; align-items: center; align-self: flex-start; color: var(--brand-blue); background: var(--off-white); font: 600 .75rem/1.5 var(--font-heading); padding: 8px 16px; border-radius: 8px; margin: -8px 0 16px; }
@media (min-width: 560px) {
  .anniversary-event__schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .anniversary { padding: 80px 0; }
  .anniversary__intro { grid-template-columns: 1fr 1fr; gap: 48px; }
  .anniversary-event { grid-template-columns: 1fr 1fr; gap: 48px; padding: 40px; margin-top: 64px; }
  .anniversary-event__schedule { grid-template-columns: 1fr; }
  .anniversary-gallery { margin-top: 80px; }
  .anniversary-gallery__track { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto; gap: 32px 24px; overflow: visible; padding-bottom: 0; }
  .anniversary__videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .anniversary-gallery__track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .anniversary-event__schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.anniversary__video::cue { font-family: Inter, sans-serif; font-size: 1rem; color: #FFFFFF; background-color: #1A1D20; }
html { scroll-padding-bottom: 104px; }
