.brand__logo { object-fit: cover; background: #fff; }
.hero__image { background: linear-gradient(90deg, rgba(4,25,43,.90), rgba(4,25,43,.42)), url('assets/colegio.png') center / cover; }
.statement { position: relative; overflow: hidden; }
.statement__inner { position: relative; z-index: 1; }
.statement__saint { position: absolute; z-index: 0; right: 5%; bottom: -150px; width: 370px; opacity: .19; filter: grayscale(.15); }
.news__image { background: url('assets/colegio.png') center / cover; }
.program-card--one { background-image: url('assets/aprendizaje-inicial.jpeg'); background-position: center; background-size: 100% 100%; }
.program-card--two { background-image: url('assets/aula-digital.jpeg'); background-position: center; background-size: 100% 100%; }
.program-card--three { background-image: url('assets/patio-central.jpeg'); background-position: center; background-size: 100% 100%; }
.campus { background: #fff; }
.campus__gallery { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-auto-rows: 220px; gap: 15px; }
.campus__gallery figure { margin: 0; position: relative; overflow: hidden; background: #dfe6e9; }
.campus__gallery figure:first-child { grid-row: span 2; }
.campus__gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.campus__gallery figure:hover img { transform: scale(1.05); }
.campus__gallery figcaption { position: absolute; inset: auto 0 0; padding: 36px 18px 16px; color: #fff; font-size: 13px; font-weight: 600; background: linear-gradient(transparent, rgba(5,24,40,.86)); }
.campus__gallery .campus__feature figcaption { padding: 65px 25px 24px; }
.campus__gallery figcaption span, .campus__gallery figcaption b { display: block; }
.campus__gallery figcaption span { font-size: 10px; text-transform: uppercase; letter-spacing: 1.6px; color: #f0bd61; margin-bottom: 5px; }
.campus__gallery figcaption b { font: 600 26px/1.15 var(--serif); }
.identity { background: #f8f6f1; }
.identity__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.identity__cards article { background: #fff; padding: 36px; border-top: 4px solid var(--gold); }
.identity__cards h3, .authorization h3 { font: 600 31px/1.15 var(--serif); margin: 12px 0; }
.identity__cards p { margin: 0; color: #52626d; font-size: 15px; }
.identity__number { color: #b8771f; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; }
.authorization { margin-top: 18px; display: grid; grid-template-columns: 44px 1.2fr 1fr 1.2fr; align-items: center; gap: 22px; padding: 27px 30px; background: var(--navy); color: #fff; }
.authorization__icon { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #e9c17d; border-radius: 50%; color: #e9c17d; }
.authorization .tag { color: #e9c17d; margin-bottom: 5px; }.authorization h3 { font-size: 23px; margin: 0; }.authorization > p { color: #c4d0d7; font-size: 13px; line-height: 1.55; }.authorization__levels { display: flex; gap: 14px; font-size: 11px; text-transform: uppercase; color: #e9c17d; }.authorization__levels span { border-left: 1px solid #53687a; padding-left: 12px; }.authorization__levels b { color: #c4d0d7; font-size: 9px; font-weight: 500; letter-spacing: .2px; white-space: nowrap; }
.pillars { background: #e8edef; }.pillars__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 95px; }.pillars h2 { font-size: 43px; }.pillars__grid > div > p:not(.eyebrow) { color: #53636d; }.pillars__list { border-top: 1px solid rgba(16,38,58,.15); }.pillars__list article { display: flex; gap: 23px; padding: 17px 0; border-bottom: 1px solid rgba(16,38,58,.15); }.pillars__list b { color: #b8771f; font-size: 12px; }.pillars__list strong, .pillars__list small { display: block; }.pillars__list strong { font: 600 22px var(--serif); }.pillars__list small { color: #596872; font-size: 13px; margin-top: 3px; }
.services { background: var(--blue); color: #fff; padding: 55px 0; }.services .eyebrow { color: #f0bd61; }.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.26); }.services__grid span { padding: 16px 12px 16px 0; font: 600 18px var(--serif); border-bottom: 1px solid rgba(255,255,255,.26); }.services__grid span::before { content: '✦'; color: #f0bd61; font: 12px var(--sans); margin-right: 9px; }
@media (max-width: 800px) { .statement__saint { width: 270px; right: -35px; bottom: -110px; } }
@media (max-width: 800px) { .campus__gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 190px; } .campus__gallery figure:first-child { grid-column: span 2; grid-row: span 2; } }
@media (max-width: 800px) { .identity__cards,.pillars__grid { grid-template-columns: 1fr; }.authorization { grid-template-columns: 40px 1fr; }.authorization > p,.authorization__levels { grid-column: 2; }.services__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .campus__gallery { grid-template-columns: 1fr; grid-auto-rows: 230px; } .campus__gallery figure:first-child { grid-column: auto; grid-row: span 1; } }
@media (max-width: 480px) { .identity__cards article { padding: 25px; }.authorization { padding: 24px 20px; gap: 15px; }.authorization__levels { flex-direction: column; gap: 8px; }.services__grid { grid-template-columns: 1fr; } }

/* Motion system: polished entrance choreography without sacrificing accessibility. */
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 78% 28%, rgba(236,179,75,.23), transparent 22%); animation: heroGlow 6s ease-in-out infinite; }
.hero__content > * { animation: heroReveal .8s cubic-bezier(.2,.8,.2,1) both; }.hero__content .eyebrow { animation-delay: .08s; }.hero__content h1 { animation-delay: .18s; }.hero__content .hero__copy { animation-delay: .31s; }.hero__content .hero__actions { animation-delay: .43s; }.hero__notice { animation: heroReveal .75s .6s both, noticePulse 2s 1.4s ease-in-out infinite; }
.brand__logo { transition: transform .35s ease, box-shadow .35s ease; }.brand:hover .brand__logo { transform: rotate(-7deg) scale(1.07); box-shadow: 0 7px 17px rgba(215,154,60,.35); }
.quick-links a { transition: background .25s ease, transform .25s ease, box-shadow .25s ease; }.quick-links a:hover { transform: translateY(-5px); box-shadow: 0 9px 0 rgba(4,23,38,.18); }.quick-links__icon { transition: transform .3s ease; }.quick-links a:hover .quick-links__icon { transform: rotate(14deg) scale(1.16); }
.button, .nav__cta, .arrow-link { transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }.button:hover, .nav__cta:hover { box-shadow: 0 9px 20px rgba(0,0,0,.19); }.arrow-link:hover { transform: translateX(5px); }
.program-card::after { content: ''; position: absolute; inset: 0; opacity: 0; background: linear-gradient(135deg, rgba(234,181,85,.32), transparent 55%); transition: opacity .35s ease; pointer-events: none; }.program-card:hover::after { opacity: 1; }.program-card > * { transition: transform .35s ease; }.program-card:hover > * { transform: translateY(-7px); }.program-card:hover a { transform: translateY(-7px) rotate(-25deg); }
.program-card { transition: background-size .7s cubic-bezier(.2,.8,.2,1), transform .35s ease, box-shadow .35s ease; }.program-card:hover { background-size: 112% 112%; transform: translateY(-6px); box-shadow: 0 18px 30px rgba(8,31,48,.22); }
.button, .nav__cta { position: relative; overflow: hidden; }.button::after, .nav__cta::after { content: ''; position: absolute; inset: 0 auto 0 -120%; width: 70%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); transition: left .65s ease; }.button:hover::after, .nav__cta:hover::after { left: 140%; }
.quick-links a, .identity__cards article, .news__featured { will-change: transform; }
.campus__gallery figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.24) 47%, transparent 61%); transform: translateX(-130%); transition: transform .7s ease; pointer-events: none; }.campus__gallery figure:hover::after { transform: translateX(130%); }
.identity__cards article, .news__featured, .contact__card { transition: transform .3s ease, box-shadow .3s ease; }.identity__cards article:hover, .news__featured:hover { transform: translateY(-7px); box-shadow: 0 16px 28px rgba(12,45,68,.12); }
.services__grid span { transition: color .25s ease, transform .25s ease; }.services__grid span:hover { color: #f1c56e; transform: translateX(7px); }
body.js-motion .reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms), transform .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }body.js-motion .reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes heroReveal { from { opacity: 0; transform: translateY(25px); } to { opacity: 1; transform: translateY(0); } }@keyframes heroGlow { 0%,100% { opacity: .45; transform: scale(.98); } 50% { opacity: 1; transform: scale(1.06); } }@keyframes noticePulse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
