@layer components {
	.hero::before { background-position:center calc(40% + var(--hero-shift, 0px)); will-change:background-position; }
	.hero-copy::before { content:"29 AÑOS FORMANDO FUTURO"; position:absolute; left:-78px; top:7px; color:rgba(255,255,255,.34); font-size:8px; font-weight:800; letter-spacing:.22em; writing-mode:vertical-rl; transform:rotate(180deg); }
	.hero-grid { grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr); gap:72px; }
	.hero-admissions { position:relative; z-index:3; align-self:end; padding:28px; color:#03142f; background:rgba(251,250,247,.96); border:1px solid rgba(255,255,255,.65); box-shadow:0 30px 90px rgba(0,0,0,.32); backdrop-filter:blur(18px); }
	.hero-admissions::before { content:""; position:absolute; left:0; top:0; width:82px; height:5px; background:#efd080; }
	.admissions-top { display:flex; align-items:center; gap:9px; color:#075fe4; font-size:9px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
	.live-dot { width:8px; height:8px; background:#18a957; border-radius:50%; box-shadow:0 0 0 5px rgba(24,169,87,.12); animation:live-pulse 1.8s ease-in-out infinite; }
	@keyframes live-pulse { 50% { box-shadow:0 0 0 9px rgba(24,169,87,0); } }
	.admissions-year { position:absolute; right:18px; top:14px; margin:0; color:rgba(3,20,47,.08); font-family:"DM Serif Display",serif; font-size:48px; line-height:1; }
	.hero-admissions h2 { max-width:340px; margin:34px 0 25px; color:#03142f; font-family:"DM Serif Display",serif; font-size:35px; font-weight:400; letter-spacing:-.03em; line-height:1.02; }
	.admissions-options { border-top:1px solid rgba(3,20,47,.13); }
	.admissions-options a { min-height:47px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; color:#1c304c; border-bottom:1px solid rgba(3,20,47,.13); font-size:11px; font-weight:800; text-decoration:none; }
	.admissions-options a span { color:#075fe4; font-size:9px; }
	.admissions-options a b { color:#075fe4; font-size:15px; transition:transform .2s ease; }
	.admissions-options a:hover b { transform:translate(3px,-3px); }
	.admissions-cta { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; padding:13px 15px; color:#fff; background:#075fe4; font-size:10px; font-weight:900; text-decoration:none; letter-spacing:.02em; }
	.admissions-cta:hover { background:#03142f; }
	.editorial-marquee { position:relative; z-index:3; overflow:hidden; padding:17px 0; color:#03142f; background:#efd080; border-block:1px solid rgba(3,20,47,.18); }
	.editorial-track { width:max-content; display:flex; align-items:center; gap:30px; animation:editorial-flow 24s linear infinite; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
	.editorial-track span { white-space:nowrap; }
	.editorial-track i { color:#075fe4; font-size:15px; font-style:normal; }
	@keyframes editorial-flow { to { transform:translateX(-50%); } }
	.premium-reveal { opacity:0; transform:translateY(32px); transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms); }
	.premium-reveal.is-visible { opacity:1; transform:none; }
	.path-card,.career-card,.course-card { isolation:isolate; }
	.path-card::after,.career-card::after,.course-card::after { content:""; position:absolute; z-index:4; inset:0; pointer-events:none; opacity:0; background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(239,208,128,.18),transparent 70%); transition:opacity .3s ease; }
	.path-card:hover::after,.career-card:hover::after,.course-card:hover::after { opacity:1; }
	.career-card,.course-card { position:relative; }
	.career-card::before { content:""; position:absolute; z-index:5; left:0; bottom:0; width:0; height:3px; background:#d9ad50; transition:width .45s cubic-bezier(.2,.7,.2,1); }
	.career-card:hover::before { width:100%; }
	.career-whatsapp span,.text-link,.course-copy span { transition:letter-spacing .25s ease,transform .25s ease; }
	.career-whatsapp:hover span,.path-card:hover .text-link,.course-card:hover .course-copy span { letter-spacing:.08em; }
	.section-heading h2,.institution-lead h2,.validation-copy h2 { text-wrap:balance; }
	.section-heading h2::selection,.hero h1::selection { color:#03142f; background:#efd080; }
	@media (max-width:1080px) {
		.hero-grid { grid-template-columns:1.25fr .75fr; gap:35px; }
		.hero-admissions { padding:23px; }
		.hero-admissions h2 { font-size:29px; }
	}
	@media (max-width:860px) {
		.hero-copy::before { display:none; }
		.hero-grid { display:grid; grid-template-columns:1fr; align-content:end; gap:35px; min-height:940px; }
		.hero-copy { align-self:end; }
		.hero-admissions { width:min(100%,560px); align-self:start; }
		.editorial-track { animation-duration:20s; }
	}
	@media (max-width:560px) {
		.hero,.hero-grid { min-height:auto; }
		.hero-grid { padding-top:70px; padding-bottom:48px; }
		.hero-admissions { padding:22px 20px; }
		.hero-admissions h2 { margin-top:30px; font-size:30px; }
		.admissions-year { font-size:40px; }
	}
	@media (prefers-reduced-motion:reduce) {
		.editorial-track,.live-dot { animation:none; }
		.premium-reveal { opacity:1; transform:none; }
	}
}

/* Mobile composition — kept unlayered so it always wins over generated utilities. */
.mobile-whatsapp,.mobile-socials { display:none; }
.topbar-actions { display:flex; align-items:center; gap:17px; }
.social-links { display:flex; align-items:center; gap:6px; }
.social-links a { width:24px; height:24px; display:grid; place-items:center; color:#dce8f8; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:9px; font-weight:900; line-height:1; text-decoration:none; transition:color .2s ease,background .2s ease,border-color .2s ease; }
.social-links a:hover { color:#03142f; background:#efd080; border-color:#efd080; }
.topbar-whatsapp { padding-left:16px; border-left:1px solid rgba(255,255,255,.18); }
.nav-dropdown { position:relative; }
.nav-dropdown-trigger { display:flex; align-items:center; gap:5px; }
.nav-dropdown-trigger span { font-size:12px; transition:transform .2s ease; }
.nav-dropdown-menu { position:absolute; z-index:80; left:50%; top:calc(100% + 18px); width:245px; padding:9px; opacity:0; visibility:hidden; transform:translate(-50%,10px); background:#fff; border:1px solid #dce5f0; box-shadow:0 22px 55px rgba(3,20,47,.16); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
.nav-dropdown-menu::before { content:""; position:absolute; left:0; right:0; top:-19px; height:20px; }
.nav-dropdown-menu a { display:block; padding:12px 13px; color:#203651; font-size:11px; text-decoration:none; }
.nav-dropdown-menu a:hover { color:#075fe4; background:#f1f6fd; }
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-dropdown:hover .nav-dropdown-trigger span { transform:rotate(180deg); }
.hero-mobile-photo { display:none; }
.hero::after { text-shadow:0 2px 12px rgba(0,0,0,.45); }
.hero-admissions { transform:translateY(16px); }
html,body { overflow-x:clip; }
@media (max-width:860px) {
	.topbar { background:#03142f; }
	.topbar-inner { min-height:42px; justify-content:center; padding-block:8px; text-align:center; }
	.topbar-inner span { display:block !important; max-width:620px; color:#f3f6fb; font-size:9px; font-weight:700; line-height:1.45; letter-spacing:.12em; text-transform:uppercase; }
	.topbar-inner a { display:none; }
	.mobile-whatsapp { width:44px; height:44px; display:grid; place-items:center; margin-left:auto; color:#fff; background:#20bd63; border-radius:12px; box-shadow:0 8px 20px rgba(32,189,99,.22); text-decoration:none; }
	.mobile-whatsapp svg { width:23px; height:23px; }
	.menu-toggle { margin-left:0 !important; }
	.mobile-nav { top:118px; }
	.mobile-socials { display:flex; gap:9px; padding:18px 5px 3px; }
	.mobile-socials a { width:38px; height:38px; display:grid; place-items:center; padding:0 !important; color:#075fe4 !important; background:#eef5ff; border:1px solid #d8e5f5 !important; border-radius:50%; font-size:12px !important; font-weight:900; text-decoration:none; }
	.mobile-ilades-group { margin-top:4px; padding:13px 0 7px; border-bottom:1px solid #eef2f7; }
	.mobile-ilades-group > span { display:block; padding:0 5px 8px; color:#075fe4; font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
	.mobile-nav .mobile-ilades-group a { margin-left:15px; padding:10px 8px; color:#52657e; border-bottom:0; font-size:13px; }
	.mobile-nav .mobile-ilades-group a::before { content:"—"; margin-right:8px; color:#d9ad50; }
	.hero-mobile-photo { position:relative; display:block; margin:0 0 34px; padding:0 12px 12px 0; }
	.hero-mobile-photo::before { content:""; position:absolute; right:0; bottom:0; width:76%; height:72%; border:1px solid rgba(239,208,128,.75); }
	.hero-mobile-photo img { position:relative; z-index:1; width:100%; height:320px; object-fit:cover; object-position:62% center; filter:saturate(.9) contrast(1.05); box-shadow:0 24px 55px rgba(0,0,0,.38); }
	.hero-mobile-photo::after { content:"ILADES · QUITO"; position:absolute; z-index:2; left:14px; top:14px; padding:7px 9px; color:#03142f; background:#efd080; font-size:8px; font-weight:900; letter-spacing:.15em; }
	.hero-mobile-photo figcaption { position:absolute; z-index:3; right:0; bottom:25px; min-width:145px; padding:13px 15px; color:#03142f; background:#fff; box-shadow:0 13px 34px rgba(0,0,0,.22); }
	.hero-mobile-photo figcaption strong,.hero-mobile-photo figcaption span { display:block; }
	.hero-mobile-photo figcaption strong { font-family:"DM Serif Display",serif; font-size:25px; font-weight:400; }
	.hero-mobile-photo figcaption span { margin-top:2px; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
	.hero .hero-grid { width:min(100% - 28px,720px); min-height:auto; display:flex !important; flex-direction:column; align-items:stretch; gap:38px; padding-top:68px; padding-bottom:50px; }
	.hero .hero-copy,.hero .hero-admissions { width:100%; min-width:0; max-width:none; }
	.hero .hero-copy { padding-bottom:0; }
	.hero .hero-admissions { align-self:stretch; box-sizing:border-box; margin:0; padding:28px 24px; }
	.hero .hero-admissions h2 { max-width:480px; }
	.hero .hero-visual { display:none !important; }
	.hero .hero-trust { width:100%; }
}
@media (max-width:560px) {
	.hero::before { background:radial-gradient(circle at 80% 8%,rgba(7,95,228,.34),transparent 34%),linear-gradient(145deg,#03142f 0%,#06285a 100%); }
	.hero-mobile-photo { position:relative; display:block; margin:0 0 34px; padding:0 12px 12px 0; }
	.hero-mobile-photo::before { content:""; position:absolute; right:0; bottom:0; width:76%; height:72%; border:1px solid rgba(239,208,128,.75); }
	.hero-mobile-photo img { position:relative; z-index:1; width:100%; height:270px; object-fit:cover; object-position:62% center; filter:saturate(.9) contrast(1.05); box-shadow:0 24px 55px rgba(0,0,0,.38); }
	.hero-mobile-photo::after { content:"ILADES · QUITO"; position:absolute; z-index:2; left:14px; top:14px; padding:7px 9px; color:#03142f; background:#efd080; font-size:8px; font-weight:900; letter-spacing:.15em; }
	.hero-mobile-photo figcaption { position:absolute; z-index:3; right:0; bottom:25px; min-width:145px; padding:13px 15px; color:#03142f; background:#fff; box-shadow:0 13px 34px rgba(0,0,0,.22); }
	.hero-mobile-photo figcaption strong,.hero-mobile-photo figcaption span { display:block; }
	.hero-mobile-photo figcaption strong { font-family:"DM Serif Display",serif; font-size:25px; font-weight:400; }
	.hero-mobile-photo figcaption span { margin-top:2px; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
	.hero .eyebrow { margin-bottom:24px; }
	.hero .hero-admissions { transform:none; }
	.hero .hero-grid { gap:34px; padding-top:54px; padding-bottom:38px; }
	.hero h1 { max-width:100%; font-size:clamp(49px,14vw,64px); line-height:.89; overflow-wrap:anywhere; }
	.hero h1 span { display:block; }
	.hero-lead { max-width:100%; padding-left:18px; font-size:15px; }
	.hero-actions { grid-template-columns:1fr; }
	.hero .btn { width:100%; box-sizing:border-box; }
	.hero-trust { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
	.hero-trust div { min-width:0; padding-right:8px; }
	.hero-trust strong { font-size:19px; }
	.hero-trust span { font-size:7px; letter-spacing:.08em; }
	.hero .hero-admissions { padding:26px 20px 20px; border-radius:0; }
	.hero .hero-admissions h2 { max-width:300px; margin:34px 0 22px; font-size:34px; }
	.admissions-year { right:14px; top:14px; font-size:44px; }
	.admissions-options a { min-height:54px; grid-template-columns:28px minmax(0,1fr) auto; }
	.admissions-cta { min-height:54px; }
	.editorial-marquee { padding:14px 0; }
}