/* Identity, editorial photography and motion — Fundación COACEHL */
.identity{display:flex;align-items:center;gap:28px}.identity a{display:flex;align-items:center;justify-content:center}.identity img{object-fit:contain;width:170px;height:62px}.identity a:nth-child(2):not(:last-child) img{width:125px;height:76px}.identity a:last-child img{width:155px;height:62px}.header-identity{gap:19px;flex-shrink:0}.header-identity img{width:166px;height:53px}.header-identity a+a{padding-left:19px;border-left:1px solid #d5dfd4}.header-identity a+a img{width:112px;height:46px}.navigation{gap:20px;min-height:92px}nav{gap:19px;font-size:.74rem}.institution-band{background:white;border-bottom:1px solid var(--line)}.institution-band>.wrap{display:flex;align-items:center;justify-content:space-between;padding-block:27px;gap:30px}.institution-band p{margin:0;font-size:.83rem}.institution-band strong{color:var(--deep);font-size:1.05rem}.footer-identity{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:40px;border-bottom:1px solid #ffffff24}.footer-identity .identity{background:white;border-radius:12px;padding:15px 22px}.footer-identity>p{color:#dbeadc;margin:0;font-size:.9rem}.reading-progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);width:100%;transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}
.home-hero{background:radial-gradient(circle at 90% 20%,#498c393b,transparent 38%),linear-gradient(125deg,#123a25,#005831)}.hero-layout{grid-template-columns:1fr 1.12fr;gap:55px;min-height:650px;padding-block:66px 52px}.hero-copy h1{font-size:clamp(3rem,4.3vw,5.3rem)}.hero-signature{border-left:3px solid var(--orange);padding-left:18px;font-size:.9rem}.hero-glow{animation:ambient-drift 12s ease-in-out infinite alternate}.brand-ribbon i{display:block;width:32px;height:1px;background:currentColor;opacity:.5}.brand-ribbon>.wrap{font-size:.85rem;letter-spacing:.14em}.home-hero:before,.experience-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(black,transparent);pointer-events:none}
.experience-carousel{min-width:0;position:relative;--slide-duration:6500ms}.slide-stage{position:relative;aspect-ratio:1.22;overflow:hidden;border-radius:28px 28px 100px 28px;background:#174833;isolation:isolate;box-shadow:0 28px 65px #001a2025}.hero-slide{position:absolute;inset:0;height:100%!important;width:100%;margin:0;border-radius:0!important;opacity:0;visibility:hidden;transition:opacity 1.15s ease,visibility 1.15s;animation:none!important;overflow:hidden}.hero-slide.active{opacity:1;visibility:visible;z-index:1;animation:none!important}.hero-slide:after{display:none}.hero-slide>img{height:100%;width:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.09);transition:none;filter:none}.hero-slide.active>img{animation:photo-drift 8s ease-out both}.slide-stage{transform:translateY(var(--parallax,0px));will-change:transform}.carousel-meta{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;margin-top:22px;min-height:54px}.carousel-meta>p{font-size:.78rem;color:#e2eddf;line-height:1.5;margin:0;max-width:260px}.slide-controls{position:static;display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:0;background:none;border-radius:0;color:white}.slide-controls button{width:32px;height:32px;border:1px solid #ffffff55;background:transparent;border-radius:50%;display:grid;place-items:center;padding:0;color:inherit;font-size:.9rem}.slide-controls button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--deep)}.slide-controls [data-slide-count]{font-size:.65rem;min-width:46px;text-align:center;letter-spacing:.03em}.slide-progress{height:2px;margin-top:16px;background:#ffffff24;overflow:hidden}.slide-progress>span{display:block;width:100%;height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;animation:slide-time var(--slide-duration) linear infinite}.carousel-paused .slide-progress>span{animation-play-state:paused}.carousel-paused .hero-slide.active>img{animation-play-state:paused}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.experience-hero{background:radial-gradient(circle at 80% 20%,#ffcb2720,transparent 38%),linear-gradient(120deg,#123a25,#184329 48%,#0d5a32);color:white;position:relative;overflow:hidden}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;position:relative;padding-block:76px}.experience-copy .eyebrow{color:#ffe299}.experience-copy h1{font-size:clamp(3rem,5.3vw,5.5rem);line-height:1.04;margin-bottom:25px;overflow-wrap:anywhere}.experience-copy>p{color:#e0eadf;max-width:560px;font-size:.98rem}.experience-copy .experience-tagline{font:600 clamp(1.4rem,2.4vw,2.2rem)/1.2 var(--heading);color:var(--yellow)}.experience-copy .actions{margin-block:30px 22px}.experience-copy .experience-place{font-size:.73rem;color:#bdd6bf;margin-bottom:0}.experience-hero .slide-stage{aspect-ratio:1.12;border-radius:30px}.ecos-wordmark{display:inline-block;background:#fffdf5;padding:24px 30px;border-radius:16px;width:min(340px,90%)}.ecos-wordmark img{width:100%;height:auto}.ecos-hero .experience-copy .experience-tagline{font-size:2.3rem}.ecos-stats{background:white;position:relative;z-index:2;padding-block:40px}.experience-mosaic{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:230px 230px;gap:22px}.experience-mosaic figure{position:relative;margin:0;overflow:hidden;border-radius:20px}.experience-mosaic figure:first-child{grid-row:1/3}.experience-mosaic img{height:100%;width:100%;object-fit:cover;transform:translateY(var(--parallax,0px)) scale(1.08)}.experience-mosaic figcaption{position:absolute;bottom:0;padding:40px 24px 18px;background:linear-gradient(transparent,#002718d9);color:white;width:100%;font-family:var(--heading);font-size:1.2rem}.ecosystem-band{background:#e7f0dd}.method-row{display:flex;gap:22px;border-bottom:1px solid #adc4a0;padding-block:25px}.method-row span{color:#a74916;font-weight:700}.method-row h3{margin:0}.ecosystem-band .method-row:last-of-type{margin-bottom:25px}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid figure{transition:transform .45s}.gallery-grid figure:nth-child(3n+2){transition-delay:80ms}.gallery-grid figure:nth-child(3n+3){transition-delay:160ms}.photo-zoom{border-radius:18px}.photo-zoom>img{height:280px;transition:transform 1.1s cubic-bezier(.2,.65,.3,1),filter .6s}.photo-zoom:hover>img{transform:scale(1.06);filter:saturate(1.08)}.photo-zoom>span{transition:transform .3s}.photo-zoom:hover>span{transform:rotate(45deg)}.program-card{transition:transform .45s,box-shadow .45s}.program-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px #173e2417}.program-card:hover .card-photo img{transform:scale(1.06)}.program-card .card-photo img{transition:transform 1s}.module{transition:border-color .3s,background .3s}.module:hover{background:#e7f0de;border-color:#6b9a6b}.photo-triptych img{transition:transform 1s;transform:translateY(var(--parallax,0px))}.venue-panorama{overflow:hidden}.venue-panorama>img,.recreation-banner>img,.photo-heading-bg>img{transform:translateY(var(--parallax,0px)) scale(1.12);will-change:transform}.motion-ready .reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(35px)}.hero-copy,.experience-copy{animation:copy-enter .85s both}.experience-carousel{animation:copy-enter 1s .12s both}.lightbox-prev,.lightbox-next{position:absolute;top:50%;width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;background:#003e25e8;color:white;z-index:2}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-count{display:block;font-size:.75rem;text-align:center;color:var(--muted)}
@keyframes photo-drift{from{transform:scale(1.09)}to{transform:scale(1.015)}}@keyframes slide-time{to{transform:scaleX(1)}}@keyframes ambient-drift{to{transform:translate3d(-30px,25px,0) scale(1.1)}}@keyframes copy-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.header-identity img{width:145px}.header-identity a+a img{width:95px}.header-identity{gap:12px}.header-identity a+a{padding-left:12px}nav{gap:13px;font-size:.68rem}.hero-layout,.experience-grid{gap:35px}.carousel-meta{grid-template-columns:1fr}.carousel-meta>p{max-width:none}.slide-controls{justify-content:flex-start}.slide-stage{aspect-ratio:1.1}.identity img{width:155px}.institution-band .identity{gap:22px}}
@media(max-width:960px){.navigation{flex-wrap:wrap;gap:0;min-height:88px}.menu-toggle{display:block;border:1px solid #8fac91;background:transparent;border-radius:25px;padding:8px 15px;font-size:.75rem}.menu-toggle span{margin-left:9px}nav{display:none;width:100%;padding-block:10px 20px;gap:0;flex-direction:column;align-items:stretch;font-size:.9rem;max-height:calc(100dvh - 100px);overflow:auto}nav.open{display:flex}nav a{padding:12px!important}nav .nav-contact{margin-top:10px;text-align:center}.institution-band>.wrap{flex-direction:column;align-items:flex-start;gap:20px}.institution-band p br{display:none}.institution-band p strong{margin-left:8px}.footer-identity{flex-direction:column;align-items:flex-start}.hero-copy h1{font-size:3.3rem}.experience-copy h1{font-size:3.7rem}.experience-grid{gap:30px;padding-block:55px}.experience-mosaic{grid-template-rows:180px 180px}}
@media(max-width:720px){.header-identity img{width:145px;height:48px}.header-identity a+a img{width:95px;height:42px}.hero-layout,.experience-grid{grid-template-columns:1fr;gap:36px;padding-block:42px 38px}.hero-copy h1{font-size:clamp(2.8rem,9vw,4.1rem);line-height:1.08}.hero-copy .actions{flex-direction:row}.hero-signature{margin-top:25px}.slide-stage,.experience-hero .slide-stage{aspect-ratio:1.45;border-radius:20px 20px 55px 20px}.carousel-meta{grid-template-columns:1fr auto;gap:10px;min-height:50px;margin-top:16px}.carousel-meta>p{font-size:.72rem}.slide-controls{gap:6px}.slide-controls button{width:28px;height:28px}.slide-controls [data-slide-count]{min-width:39px;font-size:.58rem}.slide-progress{margin-top:12px}.hero-slide>img{object-position:50% 45%}.institution-band .identity{width:100%;justify-content:space-between;gap:15px}.identity img{width:125px;height:49px}.identity a:nth-child(2):not(:last-child) img{width:88px;height:58px}.identity a:last-child img{width:105px;height:46px}.institution-band p{font-size:.8rem}.institution-band strong{font-size:.9rem}.institution-band p br{display:block}.institution-band p strong{margin-left:0}.brand-ribbon>.wrap{font-size:.65rem;gap:10px;letter-spacing:.06em}.brand-ribbon i{width:16px}.footer-identity .identity{width:100%;padding:18px 12px;gap:12px;justify-content:space-between}.footer-identity .identity img{width:125px}.footer-identity .identity a:nth-child(2) img{width:80px}.footer-identity .identity a:last-child img{width:100px}.experience-copy h1{font-size:clamp(2.8rem,10vw,4.5rem)}.experience-copy .experience-tagline{font-size:1.7rem}.ecos-wordmark{width:265px;padding:16px 24px}.ecos-hero .experience-tagline{font-size:1.9rem}.experience-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:280px 180px;gap:14px}.experience-mosaic figure:first-child{grid-column:1/3;grid-row:auto}.experience-mosaic figcaption{font-size:1rem;padding:25px 14px 12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-zoom>img{height:215px}.gallery-grid figcaption{line-height:1.5}.program-gallery .gallery-grid figure:first-child{grid-column:1/-1}.program-gallery .gallery-grid figure:first-child img{height:290px}}
@media(max-width:420px){.header-identity{gap:8px}.header-identity img{width:128px}.header-identity a+a{padding-left:8px}.header-identity a+a img{width:83px}.navigation .menu-toggle{padding:7px 11px;font-size:.68rem}.identity img{width:112px}.identity a:nth-child(2):not(:last-child) img{width:78px}.identity a:last-child img{width:94px}.footer-identity .identity img{width:104px}.footer-identity .identity a:nth-child(2) img{width:67px}.footer-identity .identity a:last-child img{width:90px}.carousel-meta{grid-template-columns:1fr}.carousel-meta .slide-controls{justify-content:flex-end}.carousel-meta>p{min-height:21px}.gallery-grid{grid-template-columns:1fr}.photo-zoom>img{height:255px}.program-gallery .gallery-grid figure:first-child{grid-column:auto}}
.no-motion .slide-stage,.no-motion .photo-triptych img{transform:none!important}.no-motion .hero-slide>img,.no-motion .experience-mosaic img,.no-motion .venue-panorama>img,.no-motion .recreation-banner>img,.no-motion .photo-heading-bg>img{transform:none!important}.no-motion .slide-progress>span{transform:scaleX(0)}
@media(prefers-reduced-motion:reduce){.slide-stage,.photo-triptych img,.hero-slide>img,.experience-mosaic img,.venue-panorama>img,.recreation-banner>img,.photo-heading-bg>img{transform:none!important}}
.article-kind{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#776339;margin-bottom:12px}.article-source{display:block;font-size:.75rem;color:var(--green);line-height:1.6;margin-bottom:22px}.prose .photo-credit{font-size:.75rem;font-weight:400;border-bottom:1px solid var(--line);padding-bottom:18px;color:var(--muted)}.article-related{margin-top:30px}.news-card .card-category{max-width:90%}
.kinetic-background{position:absolute;inset:0;width:100%;height:100%;color:#d3eeb0;opacity:.13;pointer-events:none;overflow:hidden}.flow-path{stroke-width:1.3;stroke-dasharray:18 14;animation:flow-line 26s linear infinite}.flow-two{animation-direction:reverse;animation-duration:34s}.orbit{stroke-width:1;transform-origin:1170px 300px;animation:orbit-turn 50s linear infinite}.orbit-two{animation-direction:reverse;animation-duration:70s}.kinetic-nodes{animation:nodes-breathe 6s ease-in-out infinite alternate}.hero-layout,.experience-grid{perspective:1200px}.slide-stage{transform:translateY(var(--parallax,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out}.button{position:relative;overflow:hidden;isolation:isolate}.button:before{content:'';position:absolute;inset:0;transform:translateX(-105%);background:linear-gradient(100deg,transparent,#ffffff30,transparent);transition:transform .65s;z-index:-1}.button:hover:before,.button:focus-visible:before{transform:translateX(105%)}.button>span{display:grid;place-items:center;transition:transform .35s}.button:hover>span,.button:focus-visible>span{transform:translate(3px,-3px) rotate(5deg)}.click-wave{position:absolute;pointer-events:none;width:30px;height:30px;margin:-15px;border-radius:50%;background:#ffffff55;animation:click-wave .6s ease-out forwards;z-index:-1}.contact-symbol{transition:transform .4s,box-shadow .4s}.contact-grid article:hover .contact-symbol{transform:rotate(-9deg) translateY(-5px);box-shadow:8px 8px 0 #ffc52b66}.page-arrival{position:fixed;z-index:90;top:0;left:0;right:0;height:4px;pointer-events:none;animation:arrival-away 1.1s .15s forwards}.page-arrival>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange),var(--yellow),var(--green));transform-origin:left;animation:arrival-line .85s ease-out both}.floating-contact>span:first-child{display:inline-grid;place-items:center;animation:contact-pulse 4s ease-in-out infinite}.no-motion .kinetic-background{opacity:.09}.no-motion .page-arrival{display:none}.no-motion .click-wave{display:none}.no-motion .slide-stage{transform:none!important}@keyframes flow-line{to{stroke-dashoffset:-600}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes nodes-breathe{to{opacity:.3;transform:translateY(-12px)}}@keyframes click-wave{to{opacity:0;transform:scale(14)}}@keyframes arrival-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes arrival-away{to{opacity:0;visibility:hidden}}@keyframes contact-pulse{0%,75%,100%{transform:scale(1)}85%{transform:scale(1.16)}}@media(prefers-reduced-motion:reduce){.page-arrival{display:none}.slide-stage{transform:none!important}}
.experience-carousel .slide-stage{transform:translateY(var(--parallax,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.no-motion .experience-carousel .slide-stage{transform:none!important}@media(prefers-reduced-motion:reduce){.experience-carousel .slide-stage{transform:none!important}}
.cta:after{display:none;content:none}
