@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--yellow:#ffbd00;--ink:#161616;--paper:#f5f3eb;--line:#d3d0c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b16b00;outline-offset:7px}.skip{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:14px;z-index:9}.skip:focus{top:10px}.nav{height:106px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:32px;font-weight:800;letter-spacing:-2px;display:inline-flex;align-items:baseline}.brand-dot{display:inline-block;width:8px;height:8px;background:var(--yellow);border-radius:50%;margin-left:4px}.nav-caption,.nav-link,.eyebrow,.side-note,.section-label,footer>span{font-size:11px;font-weight:700;letter-spacing:1.6px}.nav-link{border:1px solid var(--ink);border-radius:30px;padding:13px 20px;letter-spacing:0}.nav-link span{margin-left:24px;font-size:20px}.hero{position:relative;padding:45px 5% 26px;min-height:780px;overflow:hidden}.eyebrow{display:flex;align-items:center;gap:10px}.status-dot{height:7px;width:7px;background:var(--ink);border-radius:50%;box-shadow:0 0 0 5px #ffbd0030}h1{position:relative;z-index:2;font-size:clamp(70px,8.8vw,150px);font-weight:800;letter-spacing:-.075em;line-height:.99;margin:39px 0 25px;max-width:80%;pointer-events:none}.line{display:block}.together{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.68em;line-height:.91;letter-spacing:-.025em;font-weight:900}.period{color:var(--yellow)}.emblem{position:absolute;width:49vw;max-width:700px;aspect-ratio:1;right:-1%;top:45px;--px:0deg;--py:0deg;perspective:1000px}.coin{width:100%;height:auto;position:absolute;inset:0;object-fit:contain;filter:drop-shadow(16px 30px 13px #74510022);transform:rotate(-15deg) rotateX(var(--py)) rotateY(var(--px));animation:float 7s ease-in-out infinite;will-change:transform}.orbit{position:absolute;border:1px solid #b5ad98;border-radius:50%;inset:8%;transform:rotate(-30deg) scaleX(1.14) scaleY(.64)}.orbit-two{transform:rotate(57deg) scaleX(1.1) scaleY(.64)}.spark{position:absolute;z-index:3;font-size:105px;width:1em;height:1em;line-height:1}.spark-one{top:2%;right:8%;animation:spin 24s linear infinite}.spark-two{bottom:12%;left:5%;font-size:65px;color:var(--ink)}.sticker{position:absolute;right:9%;bottom:1%;z-index:3;padding:18px 23px;background:var(--ink);color:var(--paper);font-size:11px;line-height:1.7;font-weight:800;letter-spacing:1px;transform:rotate(-8deg);border-radius:3px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:4;margin-top:32px}.hero-bottom p{font-size:14px;line-height:1.7}.round-link{width:60px;height:60px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:28px;transition:background .2s,transform .2s}.round-link:hover{background:var(--yellow);transform:translateY(4px)}.side-note{line-height:1.7;text-align:right}.marquee{background:var(--yellow);padding:20px 0;overflow:hidden;border-block:1px solid var(--ink)}.marquee div{display:flex;align-items:center;gap:30px;width:max-content;white-space:nowrap;font-family:'Barlow Condensed',Impact,sans-serif;font-size:48px;font-weight:800;animation:marquee 35s linear infinite}.marquee span{font-family:Arial,sans-serif;font-size:40px}.coming{background:var(--ink);color:var(--paper);padding:65px 5% 90px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.section-label{padding-top:12px;color:#b5b3ab}.coming-body{position:relative}.asterisk{position:absolute;right:3%;top:5px;color:var(--yellow);font-size:80px;width:1em;height:1em}.coming h2{font-size:clamp(38px,5vw,76px);line-height:1.08;letter-spacing:-.06em;font-weight:600;margin:0 80px 25px 0}.coming h2 em{font-style:normal;color:var(--yellow)}.coming p{color:#b5b3ab;font-size:16px;line-height:1.6}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:25px;border-bottom:1px solid #78766f;padding-bottom:10px}.back-link span{margin-left:70px}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:9px}footer .brand{font-size:27px}@keyframes float{0%,100%{transform:translateY(0) rotate(-15deg) rotateX(var(--py)) rotateY(var(--px))}50%{transform:translateY(-18px) rotate(-9deg) rotateX(var(--py)) rotateY(var(--px))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(min-width:1600px){.hero{min-height:930px}.emblem{right:4%;top:50px}}@media(max-width:900px){.nav-caption{display:none}.hero{min-height:auto;padding-top:35px}h1{font-size:11vw;max-width:90%;margin-top:40px}.emblem{top:150px;right:-9%;width:58vw}.hero-bottom{margin-top:60px}.coming{grid-template-columns:1fr;gap:40px}.spark-one{font-size:65px}.sticker{font-size:8px;padding:10px 14px}.coin{filter:drop-shadow(10px 17px 8px #74510022)}}@media(max-width:600px){.nav{height:84px;margin:0 6%}.nav-link{font-size:10px;padding:9px 14px}.nav-link span{margin-left:10px}.hero{padding:30px 6% 26px;min-height:0}.eyebrow{font-size:9px}h1{font-size:13.2vw;max-width:100%;margin-top:34px}.line{white-space:nowrap}.together{font-size:1.95em}.emblem{position:relative;top:auto;right:auto;width:100%;max-width:390px;margin:12px auto 0}.spark-one{font-size:56px}.spark-two{font-size:42px}.sticker{bottom:7%;right:3%}.hero-bottom{margin-top:20px;gap:20px}.hero-bottom p{font-size:12px}.side-note{display:none}.round-link{width:50px;height:50px}.marquee{padding:13px 0}.marquee div{font-size:35px;gap:22px}.marquee span{font-size:28px}.coming{padding:42px 6% 55px;gap:32px}.coming h2{font-size:39px;margin-right:15px}.asterisk{position:relative;display:block;right:auto;top:auto;font-size:56px;margin-bottom:22px}.coming p{font-size:14px}footer{padding:25px 6%;flex-wrap:wrap}footer>span:last-child{display:none}footer>span{font-size:8px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.coin{will-change:auto}}

.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle}
.spark>.icon,.asterisk>.icon{display:block;width:100%;height:100%}
.round-link .icon{display:block;width:26px;height:26px}
.nav-link{display:inline-flex;align-items:center;min-height:44px}
.nav-link span,.back-link span{display:inline-flex;align-items:center}
.marquee span{display:inline-flex;align-items:center}
footer>span>.icon{margin-left:5px}
@media(max-width:600px){.coin{animation-name:float-mobile}.sticker{bottom:5%;right:0}.hero-bottom{padding-top:4px}h1{margin-bottom:12px}.coming-body{min-width:0}.coming h2{font-size:clamp(31px,9.5vw,39px)}}
@keyframes float-mobile{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-10px) rotate(-7deg)}}
@media(min-width:601px) and (max-width:900px){.hero{min-height:calc(50vw + 170px)}h1{font-size:7.5vw;max-width:60%}.line{white-space:nowrap}.emblem{top:100px;right:2%;width:48vw}.hero-bottom{max-width:50%;margin-top:90px}.side-note{display:none}}

/* Coin reveal, kinetic type and a repeatable energy burst. */
.hero{isolation:isolate}
.emblem{transform-style:preserve-3d}
.coin-rig{position:absolute;inset:0;transform-style:preserve-3d;animation:coin-arrive 1.8s cubic-bezier(.16,1,.3,1) both}
.coin{backface-visibility:visible}
.coin-glint{position:absolute;inset:9%;border-radius:50%;pointer-events:none;overflow:hidden;transform:rotate(-15deg);mix-blend-mode:screen}
.coin-glint::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 38%,#fff9 46%,#fffd 49%,transparent 56%);transform:translateX(-120%);animation:coin-shine 7s ease-in-out 1.2s infinite}
.energy-halo{position:absolute;inset:1%;border-radius:50%;background:radial-gradient(circle,#ffbd0055 0%,#ffbd0025 40%,transparent 69%);transform:scale(1.25);opacity:.65;animation:halo-breathe 5s ease-in-out infinite;pointer-events:none}
.energy-wave{position:absolute;inset:10%;border:2px solid var(--yellow);border-radius:50%;pointer-events:none;opacity:0;animation:energy-wave 1.9s cubic-bezier(.12,.7,.25,1) .25s both}
.wave-two{animation-delay:.45s;border-width:1px}
.energy-rays{position:absolute;inset:0;pointer-events:none;z-index:4}
.energy-rays i{position:absolute;left:50%;top:50%;width:2px;height:21px;background:var(--yellow);border-radius:3px;opacity:0;--angle:calc(var(--ray)*30deg);animation:energy-ray 1.4s ease-out .5s both}
.emblem-trigger{position:absolute;inset:9%;z-index:5;border:0;background:transparent;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.emblem-trigger:focus-visible{outline:2px dashed var(--ink);outline-offset:12px}
.sticker{pointer-events:none}
.hero h1 .line,.hero h1 .together{animation:type-arrive 1.15s cubic-bezier(.16,1,.3,1) both;transform-origin:left bottom}
.hero h1 .line:nth-child(2){animation-delay:.12s}
.hero h1 .together{animation-delay:.25s}
.hero .eyebrow,.hero-bottom{animation:detail-arrive 1s ease .6s both}
.orbit-one{animation:orbit-drift-one 16s ease-in-out infinite}
.orbit-two{animation:orbit-drift-two 19s ease-in-out infinite}
.emblem.is-energized .coin-rig{animation:coin-energize 1.6s cubic-bezier(.22,1,.36,1) both}
.emblem.is-energized .energy-wave{animation:energy-wave 1.8s cubic-bezier(.12,.7,.25,1) both}
.emblem.is-energized .wave-two{animation-delay:.18s}
.emblem.is-energized .energy-rays i{animation:energy-ray 1.25s ease-out .12s both}
.emblem.is-energized .coin-glint::after{animation:coin-shine 1.6s ease both}
@keyframes type-arrive{from{opacity:0;transform:translate3d(0,70px,0) rotate(4deg);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(-15% -5% -15% -5%)}}
@keyframes detail-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes coin-arrive{0%{opacity:0;transform:translate3d(0,80px,-220px) rotateY(-255deg) rotateZ(25deg) scale(.4)}35%{opacity:1}75%{transform:translate3d(0,-10px,0) rotateY(12deg) rotateZ(-3deg) scale(1.025)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}}
@keyframes coin-energize{0%{transform:rotateY(0) scale(1)}18%{transform:rotateY(-24deg) scale(.92)}72%{transform:rotateY(370deg) scale(1.06)}100%{transform:rotateY(360deg) scale(1)}}
@keyframes energy-wave{0%{opacity:0;transform:scale(.6)}12%{opacity:.8}100%{opacity:0;transform:scale(1.55)}}
@keyframes energy-ray{0%{opacity:0;transform:rotate(var(--angle)) translateY(-90px) scaleY(.3)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-290px) scaleY(.1)}}
@keyframes coin-shine{0%,8%{transform:translateX(-120%)}28%,100%{transform:translateX(120%)}}
@keyframes halo-breathe{0%,100%{opacity:.4;transform:scale(1.15)}50%{opacity:.8;transform:scale(1.35)}}
@keyframes orbit-drift-one{0%,100%{transform:rotate(-30deg) scaleX(1.14) scaleY(.64)}50%{transform:rotate(-14deg) scaleX(1.08) scaleY(.8)}}
@keyframes orbit-drift-two{0%,100%{transform:rotate(57deg) scaleX(1.1) scaleY(.64)}50%{transform:rotate(76deg) scaleX(1.14) scaleY(.76)}}
@media(max-width:600px){.energy-rays i{height:15px}.coin-glint{inset:10%}.energy-halo{inset:5%}@keyframes energy-ray{0%{opacity:0;transform:rotate(var(--angle)) translateY(-70px) scaleY(.3)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-170px) scaleY(.1)}}}
@media(prefers-reduced-motion:reduce){.coin-rig,.hero h1 .line,.hero h1 .together,.hero .eyebrow,.hero-bottom{opacity:1;transform:none;clip-path:none}.energy-rays,.energy-wave,.coin-glint{display:none}.energy-halo{animation:none!important;opacity:.3}.emblem-trigger{cursor:default}}
.emblem.is-ready .coin-rig,.emblem.is-ready .energy-wave,.emblem.is-ready .energy-rays i{animation:none}
.emblem.is-ready.is-energized .coin-rig{animation:coin-energize 1.6s cubic-bezier(.22,1,.36,1) both}
.emblem.is-ready.is-energized .energy-wave{animation:energy-wave 1.8s cubic-bezier(.12,.7,.25,1) both}
.emblem.is-ready.is-energized .wave-two{animation-delay:.18s}
.emblem.is-ready.is-energized .energy-rays i{animation:energy-ray 1.25s ease-out .12s both}
.coin-rig,.coin,.orbit,.spark{pointer-events:none}

/* Full-screen intro stays separate from the presentation's design system. */
[hidden]{display:none!important}
.intro-pending{background:#17130b}
.intro-pending body{overflow:hidden}
.site-shell{transform-origin:50% 10%}
.intro-pending .site-shell{visibility:hidden;opacity:0}
.intro-pending .hero *,.intro-pending .hero *::after,.intro-pending .hero *::before{animation-play-state:paused!important}
.intro-overlay{position:fixed;inset:0;z-index:1000;background:#ffbd00;overflow:hidden;isolation:isolate;clip-path:inset(0 0 0 0 round 0);transition:clip-path 1.15s cubic-bezier(.76,0,.24,1)}
.intro-overlay iframe{display:block;width:100%;height:100%;border:0;background:#17130b;transition:opacity .7s ease,transform 1.15s cubic-bezier(.76,0,.24,1)}
.intro-overlay.is-leaving{clip-path:inset(0 0 100% 0 round 0 0 32% 32%);pointer-events:none}
.intro-overlay.is-leaving iframe{opacity:.15;transform:translateY(-5%)}
.intro-revealing .site-shell{animation:site-arrive 1.3s cubic-bezier(.16,1,.3,1) both}
@keyframes site-arrive{from{opacity:.35;transform:translateY(65px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.intro-overlay,.intro-overlay iframe{transition:none}.intro-revealing .site-shell{animation:none;opacity:1;transform:none}}
#hero-title:focus{outline:none}

/* Custom UniDos illustrations replace the placeholder ornaments. */
.coming{display:block;padding:64px 7% 70px;overflow:hidden}
.coming>.section-label{margin-bottom:28px}
.coming-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:4%;align-items:center}
.coming h2{font-size:clamp(38px,4.8vw,74px);margin-right:0}
.coming-art{min-width:0;width:100%;max-width:440px;justify-self:end}
.coming-art img{display:block;width:100%;height:auto;animation:art-drift 7s ease-in-out -2s infinite}
.hero .coin{filter:drop-shadow(10px 22px 18px #7451001a)}
@keyframes art-drift{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@media(max-width:900px){.unity{padding:50px 6%;gap:3%}.unity h2{font-size:clamp(38px,5.6vw,56px)}.coming-layout{grid-template-columns:1.1fr .9fr;gap:3%}.coming h2{font-size:clamp(36px,4.7vw,48px)}}
@media(max-width:600px){.unity{padding:36px 6% 48px;grid-template-columns:1fr;gap:12px}.unity-art{max-width:340px}.unity-copy{padding-top:8px;width:100%}.unity .section-label{margin-bottom:20px}.unity h2{font-size:clamp(38px,10.5vw,52px)}.unity-copy p{margin-top:20px;font-size:14px}.coming{padding:42px 6% 48px}.coming>.section-label{margin-bottom:16px}.coming-layout{display:flex;flex-direction:column-reverse;gap:26px;align-items:stretch}.coming-art{max-width:300px;width:88%;align-self:center}.coming h2{font-size:clamp(31px,9.5vw,39px)}.coming-body p{font-size:14px}.hero .coin{filter:drop-shadow(7px 12px 10px #7451001a)}}
@media(prefers-reduced-motion:reduce){.unity-art img,.coming-art img{animation:none}}
/* Presentation content */
.nav{position:relative;z-index:10}.nav-links{display:flex;gap:26px;align-items:center}.nav-links a{font-size:12px;font-weight:700;padding:12px 0}.nav-links a:hover{color:#946700}.menu-toggle{display:none}.eyebrow{line-height:1.6}
.content-section{padding:88px 7%;scroll-margin-top:24px}.content-section .section-label{margin-bottom:48px;color:#797363}.content-section h2{font-size:clamp(42px,5.2vw,80px);line-height:1.04;font-weight:700;letter-spacing:-.065em;margin:0}.content-section h2 em{font-style:normal;color:#956800}.content-section p{line-height:1.8}.mission{background:var(--paper)}.mission-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:start}.mission-copy{max-width:620px}.mission-copy p{font-size:16px;margin:0 0 24px;color:#625e54}.mission-copy .lead{font-size:21px;line-height:1.65;color:var(--ink)}
.objectives-header{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:70px;padding-bottom:22px;border-bottom:1px solid var(--line)}.objectives-header h3{font-size:23px;letter-spacing:-.04em;margin:0}.objectives-header>span{font-size:11px;color:#706b60}.objectives{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.objectives li{display:flex;gap:22px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}.objective-number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;line-height:1;color:#9a6d00}.objectives h4{font-size:16px;margin:0 0 8px;letter-spacing:-.025em}.objectives p{font-size:13px;line-height:1.7;margin:0;color:#6b655a}
.projects{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.projects .section-label{color:#b6ac95}.anchor-target{position:absolute;top:0;scroll-margin-top:24px}.projects h2 em{color:var(--yellow)}.projects-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:5%;align-items:center}.projects-intro>div{min-width:0}.projects-intro>img{width:100%;max-width:310px;justify-self:end;height:auto;animation:art-drift 7s ease-in-out infinite}.projects-intro p{font-size:15px;color:#beb8aa;max-width:470px;margin:24px 0 0}.project-tools{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid #49463e;margin-top:40px;padding-bottom:24px}.project-filters{display:flex;gap:8px;flex-wrap:wrap}.project-filters button{font:600 11px Manrope,Arial,sans-serif;padding:11px 17px;min-height:44px;border:1px solid #666055;border-radius:30px;background:transparent;color:var(--paper);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.project-filters button[aria-pressed=true],.project-filters button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.project-filters button:focus-visible{outline:2px solid var(--paper);outline-offset:4px}#project-count{white-space:nowrap;font-size:11px;color:#c5beaf;margin:0}.project-list{display:grid;grid-template-columns:1fr 1fr;column-gap:6%;align-items:start}.project{border-bottom:1px solid #49463e;min-width:0}.project summary{display:flex;align-items:center;gap:18px;padding:26px 0;cursor:pointer;list-style:none;min-height:112px}.project summary::-webkit-details-marker{display:none}.project summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.project-number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;color:var(--yellow);line-height:1;min-width:38px}.project-heading{flex:1;min-width:0}.project-category{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#bcb5a7}.project h3{font-size:22px;line-height:1.2;letter-spacing:-.04em;margin:7px 0 0}.project-plus{position:relative;width:22px;height:22px;flex-shrink:0}.project-plus::before,.project-plus::after{content:"";position:absolute;top:10px;left:3px;width:16px;height:1px;background:var(--yellow)}.project-plus::after{transform:rotate(90deg);transition:transform .2s}.project[open] .project-plus::after{transform:rotate(0)}.project-content{padding:0 0 28px 56px}.project-content>p{color:#d1cbbd;font-size:14px;margin:0 0 22px}.project-goal{border-left:2px solid var(--yellow);padding-left:17px}.project-goal h4{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--yellow);margin:0 0 8px}.project-goal p{font-size:13px;color:#c3bcae;margin:0}
.section-heading{display:flex;justify-content:space-between;gap:9%;align-items:end;margin-bottom:50px}.section-heading>p{font-size:14px;color:#756e61;max-width:300px;margin:0;flex:1}.section-heading h2{flex:2}.team{background:#eeeae0}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}.team-member{padding:28px 0;border-top:1px solid #cec7b9;min-width:0}.member-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.member-initials{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-size:48px;line-height:1;color:#a27300}.member-index{font-size:10px;color:#8e8472}.member-role{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#6e6555;margin:0 0 12px;min-height:33px}.team-member h3{font-size:23px;letter-spacing:-.04em;line-height:1.2;font-weight:700;margin:0 0 14px;max-width:280px}.member-career{font-size:12px;color:#746b5c;margin:0;line-height:1.6!important}.member-semester{font-size:10px;color:#8b7b60;margin:6px 0 0}
.action{background:var(--yellow);color:var(--ink)}.action .section-label{color:#5b4511}.action h2 em{color:var(--paper)}.action-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin-top:55px}.action-steps article{border-top:1px solid #8f6d26;padding-top:24px}.action-steps article>span{font-family:'Barlow Condensed',Impact,sans-serif;font-size:44px;line-height:1;color:#8c660b}.action-steps h3{font-size:22px;letter-spacing:-.04em;margin:24px 0 14px}.action-steps p{font-size:13px;line-height:1.8;margin:0;color:#4f3c11}
.partners{background:var(--paper)}.partner-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}.partner-list li{display:flex;align-items:center;font-size:20px;font-weight:700;letter-spacing:-.04em;min-height:105px;padding:24px 0;border-top:1px solid var(--line)}.partner-note{font-size:11px;color:#857866;margin:25px 0 0}.closing{background:var(--ink);color:var(--paper);text-align:center;padding-block:85px}.closing>span{font-size:10px;letter-spacing:2px;color:#c8beaa}.closing h2{font-size:clamp(55px,8vw,116px);margin:32px 0}.closing h2 em{color:var(--yellow)}.closing>a{font-size:12px;display:inline-flex;align-items:center;gap:26px;min-height:44px;border-bottom:1px solid #746950}.closing>a .icon{width:20px;height:20px}footer>span{max-width:50%;line-height:1.7}
@media(max-width:1050px){.nav-links{gap:18px}.nav-links a{font-size:11px}.nav-link{padding:11px 16px}.nav-link span{margin-left:14px}.content-section{padding:65px 6%}.mission-layout{gap:6%}.mission-copy .lead{font-size:18px}.content-section h2{font-size:clamp(39px,5.2vw,64px)}.team-grid{gap:0 24px}.team-member h3{font-size:21px}.member-role{font-size:8px;letter-spacing:.7px}.project h3{font-size:20px}}
@media(max-width:760px){.nav-links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;padding:15px 22px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 35px #16161618;align-items:stretch;gap:0;flex-direction:column}.nav-links.is-open{display:flex}.nav-links a{font-size:14px;min-height:48px;padding:15px 0;border-bottom:1px solid var(--line)}.nav-links a:last-child{border:0}.nav>.nav-link{display:none}.menu-toggle{display:flex;width:46px;height:46px;border-radius:50%;border:1px solid var(--ink);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{display:block;width:18px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.menu-toggle:focus-visible{outline:3px solid #a57500;outline-offset:4px}.mission-layout{grid-template-columns:1fr;gap:32px}.mission-layout h2 br:nth-of-type(1){display:block}.mission-copy .lead{font-size:19px}.objectives{column-gap:5%}.objectives li{gap:14px}.objectives p{font-size:12px}.projects-intro{grid-template-columns:1fr .5fr;gap:4%}.projects-intro p{font-size:13px}.project-list{grid-template-columns:1fr}.project-tools{display:block}.project-filters{gap:6px}#project-count{margin-top:15px}.project summary{min-height:100px}.project h3{font-size:23px}.team-grid{grid-template-columns:1fr 1fr;gap:0 24px}.section-heading{display:block}.section-heading>p{margin-top:24px;max-width:500px}.action-steps{gap:25px}.action-steps h3{font-size:19px}.partner-list{grid-template-columns:1fr 1fr;gap:0 25px}.partner-list li{font-size:18px}}
@media(max-width:520px){.content-section{padding:48px 6%}.content-section .section-label{margin-bottom:30px}.content-section h2{font-size:clamp(36px,10.5vw,48px)}.mission-layout h2 br:nth-of-type(1){display:block}.mission-copy .lead{font-size:17px}.mission-copy p{font-size:14px}.objectives-header{display:block;margin-top:34px}.objectives-header h3{font-size:22px}.objectives-header>span{display:block;margin-top:10px}.objectives{grid-template-columns:1fr}.objectives li{padding:20px 0;gap:22px}.objectives p{font-size:13px}.objective-number{min-width:28px}.projects-intro{grid-template-columns:1fr;gap:25px}.projects-intro>img{max-width:210px;justify-self:center;order:-1}.project-tools{margin-top:28px}.project-filters button{padding:10px 12px;font-size:10px}.project summary{gap:12px}.project h3{font-size:22px}.project-number{font-size:32px;min-width:30px}.project-content{padding-left:42px}.project-content>p{font-size:13px}.project-goal p{font-size:12px}.team-grid{gap:0 20px}.member-initials{font-size:39px}.team-member h3{font-size:19px}.member-role{min-height:42px;font-size:8px}.member-career{font-size:11px}.member-top{margin-bottom:18px}.member-index{display:none}.action-steps{grid-template-columns:1fr;gap:32px;margin-top:35px}.action-steps article{display:grid;grid-template-columns:40px 1fr;gap:10px 20px}.action-steps article>span{grid-row:1/3;font-size:38px}.action-steps h3{margin:0;font-size:22px}.action-steps p{grid-column:2;font-size:13px}.partner-list{gap:0 24px}.partner-list li{font-size:17px;min-height:100px}.partner-note{font-size:10px}.closing h2{font-size:clamp(48px,13vw,67px)}.closing{padding-block:60px}.hero .eyebrow{font-size:9px;letter-spacing:1.2px}footer>span{font-size:7px}}
.member-portrait{aspect-ratio:4/4.5;width:100%;overflow:hidden;background:#fff;margin-bottom:24px;border-radius:3px}
.member-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 0;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.team-member:hover .member-portrait img{transform:scale(1.035)}
.member-portrait--initials{display:grid;place-items:center;background:#e6d6a6}
.member-portrait--initials span{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(70px,9vw,140px);font-weight:800;letter-spacing:-.05em;color:#a67b12}
@media(max-width:520px){.member-portrait{margin-bottom:18px}.member-portrait--initials span{font-size:70px}}
@media(prefers-reduced-motion:reduce){.member-portrait img{transition:none}.team-member:hover .member-portrait img{transform:none}}

/* Large brand illustrations and motion follow the same editorial rhythm. */
.vision{background:#eae6db;overflow:hidden}.vision>h2{max-width:900px;margin-bottom:58px}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.vision-scene{position:relative;display:block;min-width:0;padding:30px 34px 34px;overflow:hidden;background:var(--paper);isolation:isolate;transition:background .4s,color .4s;perspective:1000px}.vision-scene--bienestar,.vision-scene--campus{background:var(--ink);color:var(--paper)}.vision-index{position:relative;z-index:2;font-size:10px;letter-spacing:1.8px;font-weight:700}.vision-art{width:90%;max-width:390px;margin:0 auto;transform:rotate(var(--art-rotation,-5deg));transition:transform .65s cubic-bezier(.2,.8,.2,1)}.vision-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 24px #16161615)}.vision-scene--bienestar{--art-rotation:5deg}.vision-scene--campus{--art-rotation:4deg}.vision-copy{position:relative;padding-right:45px}.vision-copy h3{font-size:clamp(30px,3.8vw,55px);line-height:1.05;letter-spacing:-.065em;margin:0 0 15px}.vision-copy p{font-size:13px;line-height:1.6;margin:0;max-width:290px;opacity:.75}.vision-arrow{position:absolute;right:0;top:5px;width:32px;height:32px;transition:transform .35s}.vision-arrow svg{width:100%;height:100%}.vision-scene:hover .vision-arrow{transform:translate(4px,-4px)}.vision-scene:focus-visible{outline:3px solid #976300;outline-offset:5px}.project-content>p:last-child{margin-bottom:0}.team-member{transition:transform .4s}.team-member:hover{transform:translateY(-6px)}.member-portrait img{transition:transform .7s cubic-bezier(.2,.8,.2,1)}.team-member:hover .member-portrait img{transform:scale(1.035)}.content-section h2 em{display:inline-block}.project[open] .project-number{transform:translateX(5px);transition:transform .3s}.objectives li{transition:background .35s}.objectives li:hover{background:#ffbd000c}
@media(hover:hover) and (pointer:fine){.vision-scene:hover .vision-art{transform:translateY(-15px) rotate(0deg) scale(1.045)}}
@media(max-width:760px){.vision-grid{gap:18px}.vision-scene{padding:24px}.vision-copy p{font-size:12px}.vision-art{width:100%}.vision-copy h3{font-size:34px}.vision-copy{padding-right:28px}.vision-arrow{width:23px;height:23px}}
@media(max-width:520px){.vision-grid{grid-template-columns:1fr;gap:18px}.vision>h2{margin-bottom:32px}.vision-scene{padding:25px 26px 30px}.vision-art{max-width:265px;width:92%}.vision-copy h3{font-size:40px}.vision-copy p{font-size:13px}.vision-index{font-size:9px}.vision-arrow{width:28px;height:28px}.vision-scene--ideas{background:var(--ink);color:var(--paper)}.vision-scene--campus{background:var(--paper);color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.vision-art,.vision-scene,.vision-arrow,.team-member,.member-portrait img,.project-number,.objectives li{transition:none!important;animation:none!important}.vision-scene:hover .vision-art,.vision-scene:hover .vision-arrow,.team-member:hover,.team-member:hover .member-portrait img{transform:none}}

.partner-list--logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 35px;margin-top:50px}.partner-list--logos li{display:block;min-width:0;min-height:0;padding:0 0 26px;border-bottom:1px solid var(--line)}.partner-list--logos figure{margin:0}.partner-logo{height:180px;display:flex;align-items:center;justify-content:center;background:#fff;padding:22px;overflow:hidden}.partner-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.partner-list--logos figcaption{font-size:16px;line-height:1.35;font-weight:700;letter-spacing:-.025em;margin-top:20px}.partner-list--logos li:hover img{transform:scale(1.05)}
@media(max-width:760px){.partner-list--logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.partner-logo{height:170px;padding:18px}.partner-list--logos figcaption{font-size:15px}}
@media(max-width:520px){.partner-list--logos{gap:25px 20px;margin-top:30px}.partner-logo{height:138px;padding:14px}.partner-list--logos figcaption{font-size:14px;margin-top:14px}.partners .section-label{font-size:9px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.partner-logo img{transition:none}.partner-list--logos li:hover img{transform:none}}

/* Editorial poster layer: condensed display type, giant words and kinetic reveals. */
:root{--display:'Anton','Barlow Condensed',Impact,sans-serif}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.content-section h2,.poster-title,.vision-copy h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0;line-height:.98}
.content-section h2{font-size:clamp(54px,7.4vw,124px)}
.content-section h2 em,.poster-title em,.projects h2 em,.closing h2 em,.campus h2 em,.year-title em{display:inline;font-style:normal;color:var(--ink);padding:0 .07em;background:linear-gradient(var(--yellow),var(--yellow)) no-repeat 0 49%/100% 64%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s cubic-bezier(.76,0,.24,1) calc(var(--n,0)*22ms + .15s)}
.action h2 em,.poster-title em{color:var(--paper);background-image:linear-gradient(var(--ink),var(--ink))}
.split:not(.is-in) em{background-size:0 64%}

/* Split characters: rise from a mask, drop like stamps, or scatter and assemble with scroll. */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block;will-change:transform}
.split--rise .w{overflow:hidden;padding:.22em .05em .14em;margin:-.22em -.05em -.14em;vertical-align:bottom}
.split--rise .c{transform:translateY(150%) rotate(calc(var(--r)*16deg));transition:transform 1.05s cubic-bezier(.16,1,.3,1) calc(var(--i)*24ms)}
.split--rise.is-in .c{transform:none}
.split--drop .c{opacity:0;transform:translateY(-55%) rotate(calc(var(--r)*24deg)) scale(1.3);transition:transform 1.1s cubic-bezier(.34,1.56,.64,1) calc(var(--i)*85ms),opacity .35s calc(var(--i)*85ms)}
.split--drop.is-in .c{opacity:1;transform:none}
.split--scatter .c{--k:calc(1 - var(--e,1));opacity:calc(.2 + .8*var(--e,1));transform:translate(calc(var(--s)*1.6em*var(--k)),calc(var(--r)*1.2em*var(--k))) rotate(calc(var(--r)*80deg*var(--k))) scale(calc(1 + var(--k)*.35));transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}

/* Giant poster words are sized by script to fill their stage. */
.giant-word{display:block;width:max-content;white-space:nowrap;font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.84;letter-spacing:-.005em;font-size:var(--fs,30vw);user-select:none;pointer-events:none}

/* Crossed tapes */
.tapes{position:relative;height:190px;background:linear-gradient(var(--paper) 50%,var(--yellow) 50%);overflow:hidden}
.tapes .tape{position:absolute;left:-6%;right:-6%;top:50%}
.tape--yellow{z-index:1;transform:translateY(-50%) rotate(-3deg);box-shadow:0 14px 30px #16161626}
.tape--ink{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-50%) rotate(2.4deg)}
.tape--ink>div{animation-direction:reverse;animation-duration:42s}
.tape--ink span{color:var(--yellow)}

/* Poster: UNIDOS */
.poster{position:relative;display:flex;flex-direction:column;gap:30px;padding:46px 5% 52px;background:var(--yellow);color:var(--ink);overflow:hidden;scroll-margin-top:24px}
.poster .section-label{color:#5b4511;margin-bottom:16px}
.poster-top{display:flex;justify-content:space-between;align-items:start;gap:30px}
.micro-lines{margin:0;font-size:13px;font-weight:800;line-height:1.5;text-transform:uppercase;letter-spacing:.4px}
.poster-note{max-width:250px;margin:0;font-size:13px;font-weight:600;line-height:1.6}
.poster-stage{position:relative;display:grid;place-items:center}
.poster-stage>*{grid-area:1/1}
.poster-word{color:var(--ink);transform:translateY(calc((var(--p,.5) - .5)*-110px))}
.poster-art{position:relative;z-index:1;width:calc(var(--fs,30vw)*1.15);max-width:640px;height:auto;filter:drop-shadow(0 34px 30px #5a3c0040);transform:translateY(calc((var(--p,.5) - .5)*70px)) rotate(calc((var(--p,.5) - .5)*-50deg));animation:poster-float 7s ease-in-out infinite}
.poster-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr) auto;gap:44px;align-items:end}
.poster-title{font-size:clamp(46px,5.2vw,88px);margin:0}
.poster-tags{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.poster-tags li{padding:0 16px;border-left:1.5px solid var(--ink);font-size:12px;font-weight:600;line-height:1.55}
.poster-tags b{display:block;margin-bottom:6px;font-family:var(--display);font-weight:400;font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.poster-issue{display:flex;align-items:end;gap:12px}
.poster-no{font-family:var(--display);font-size:clamp(76px,7.4vw,124px);line-height:.78}
.poster-issue span:last-child{border-left:1.5px solid var(--ink);padding-left:12px;font-size:11px;font-weight:800;line-height:1.5;letter-spacing:1.3px}
@keyframes poster-float{0%,100%{translate:0 0}50%{translate:0 -16px}}

/* Vision cards as posters */
.vision-scene{display:flex;flex-direction:column;container-type:inline-size;padding:26px 30px 30px}
.vision-scene--ideas{background:var(--ink);color:var(--paper)}
.vision-scene--campus{background:var(--paper);color:var(--ink)}
.vision-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:20px}
.vision-lines{font-size:10px;font-weight:800;line-height:1.55;letter-spacing:.6px;text-align:right;text-transform:uppercase;opacity:.75}
.vision-stage{position:relative;display:grid;margin:22px 0 8px}
.vision-stage>*{grid-area:1/1}
.vision-word{align-self:start;color:var(--ink);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.vision-scene--bienestar .vision-word,.vision-scene--ideas .vision-word{color:var(--paper)}
.vision-stage .vision-art{position:relative;z-index:1;width:76%;max-width:none;margin:calc(var(--fs,40cqi)*.34) auto 0}
.vision-copy{margin-top:auto;padding-right:50px}
.vision-copy h3{width:min-content;font-size:clamp(42px,13cqi,86px);line-height:.92;margin:0 0 14px}
.vision-arrow{top:auto;bottom:4px}
@media(hover:hover) and (pointer:fine){.vision-scene:hover .vision-word{transform:scale(1.05) translateY(-2%)}}

/* Counters */
.projects-intro{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.projects-stage{display:grid;place-items:center;justify-self:end;width:100%;max-width:440px}
.projects-stage>*{grid-area:1/1}
.big-count{font-family:var(--display);font-size:clamp(170px,19vw,320px);line-height:.8;color:var(--yellow);letter-spacing:-.01em}
.projects-stage img{position:relative;width:58%;height:auto;align-self:end;justify-self:end;translate:6% 22%;rotate:8deg;animation:art-drift 7s ease-in-out infinite}
.stage-caption{grid-area:2/1;justify-self:end;margin-top:26px;border-left:2px solid var(--yellow);padding-left:10px;font-size:10px;font-weight:800;line-height:1.6;letter-spacing:1.4px;color:var(--paper)}
.section-heading>.stat{display:flex;align-items:end;gap:16px;max-width:430px}
.stat-num{font-family:var(--display);font-size:clamp(110px,11vw,180px);line-height:.78;color:var(--ink)}
.stat-copy{border-left:2px solid var(--yellow);padding-left:12px}

/* Ribbon that draws itself through the action steps */
.ribbon{position:relative;height:170px;margin:46px 0 0}
.ribbon svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;clip-path:inset(-40px calc((1 - var(--e,1))*100%) -40px -40px)}
.ribbon path{fill:none;stroke:var(--ink);stroke-width:30;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ribbon i{position:absolute;left:var(--x);top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--paper);border:5px solid var(--ink);transform:scale(clamp(0,(var(--e,1) - var(--t))*10,1));transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.ribbon+.action-steps{margin-top:16px}

/* Mission and closing typography */
.mission-layout{grid-template-columns:auto minmax(0,1fr);gap:7%}
.closing{padding-block:100px 110px;overflow:hidden}
.closing h2{font-size:clamp(64px,13.5vw,236px);line-height:.94;margin:36px 0 48px}

@media(max-width:1050px){.poster-bottom{grid-template-columns:1fr 1fr;gap:34px}.poster-issue{grid-column:1/-1}.vision-scene{padding:24px}}
@media(max-width:760px){
  .content-section h2{font-size:clamp(40px,11.5vw,72px)}
  .mission-layout{grid-template-columns:1fr}
  .tapes{height:130px}
  .poster{gap:24px;padding:36px 6% 42px}
  .poster-top{flex-direction:column;gap:18px}
  .poster-note{max-width:none}
  .poster-art{width:calc(var(--fs,30vw)*1.5)}
  .poster-bottom{grid-template-columns:1fr;gap:28px}
  .poster-title{font-size:clamp(44px,13vw,64px)}
  .poster-tags li{padding:0 10px;font-size:11px}
  .poster-tags b{font-size:16px}
  .vision-lines{font-size:9px}
  .vision-copy h3{font-size:clamp(38px,14cqi,64px)}
  .projects-intro{grid-template-columns:minmax(0,1fr) minmax(0,.6fr)}
  .ribbon{height:110px;margin-top:30px}
  .ribbon path{stroke-width:20}
  .ribbon i{width:20px;height:20px;margin:-10px 0 0 -10px;border-width:4px}
}
@media(max-width:520px){
  .content-section h2{font-size:clamp(38px,12.4vw,60px)}
  .vision-scene--ideas{background:var(--ink);color:var(--paper)}
  .vision-scene--campus{background:var(--paper);color:var(--ink)}
  .vision-stage .vision-art{max-width:none;width:80%}
  .projects-intro{grid-template-columns:1fr}
  .projects-stage{order:-1;justify-self:center;max-width:320px}
  .big-count{font-size:clamp(150px,48vw,220px)}
  .section-heading>.stat{margin-top:24px}
  .stat-num{font-size:110px}
  .closing h2{font-size:clamp(56px,17vw,90px)}
}
@media(prefers-reduced-motion:reduce){.poster-word,.poster-art,.vision-word{animation:none!important;transform:none!important}.projects-stage img{animation:none!important}.ribbon svg{clip-path:none}.ribbon i{transform:none}}

/* Campus: the photo lives inside BAJÍO, then the letters zoom until the photo fills the screen. */
.campus{position:relative;background:var(--yellow);--zp:clamp(0,calc(var(--s,1)/.55),1)}
.campus.is-scrolly{height:320vh}
.campus-sticky{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden}
.campus.is-scrolly .campus-sticky{position:sticky;top:0}
.campus-photo{position:absolute;inset:0}
.campus-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 70%;filter:grayscale(1) contrast(1.25) brightness(1.08);transform:scale(calc(1.3 - var(--s,1)*.3))}
.campus-photo::before{content:"";position:absolute;inset:0;z-index:1;background:var(--yellow);mix-blend-mode:multiply}
.campus-photo::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(transparent 38%,#161616e6),radial-gradient(circle,#16161650 1px,transparent 1.7px) 0 0/6px 6px}
.campus-knockout{position:absolute;inset:0;z-index:2;background:#fff;mix-blend-mode:screen;opacity:calc(1 - clamp(0,(var(--s,1) - .4)*7,1))}
.campus-mask{position:absolute;left:5%;right:5%;top:0;bottom:0;display:grid;place-items:center}
.campus-word{color:#000;padding-top:.2em;transform-origin:47% 62%;transform:scale(calc(1 + var(--zp)*var(--zp)*var(--zp)*14));will-change:transform}
.campus-corners{position:absolute;z-index:3;inset:30px 5% auto;display:flex;justify-content:space-between;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:1.4px;line-height:1.6}
.campus-corners span:last-child{text-align:right}
.campus-card{position:absolute;z-index:3;left:5%;bottom:7%;width:min(640px,90%);color:var(--paper);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1)}
.campus.is-scrolly:not(.is-late) .campus-card{opacity:0;transform:translateY(60px)}
.campus .section-label{color:var(--yellow);margin-bottom:20px}
.campus h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(48px,6.2vw,104px);line-height:.98;margin:0}
.campus-card p{max-width:460px;font-size:15px;line-height:1.7;color:#e9e4d6;margin:20px 0 0}
.campus-logo{position:absolute;z-index:3;top:30px;left:5%;width:clamp(170px,17vw,260px);height:auto;filter:drop-shadow(0 2px 14px #fff6)}
.campus-corners span:first-child{visibility:hidden}

/* 2027 in extruded 3D digits that tumble into place with scroll. */
.year{position:relative;background:var(--ink);color:var(--paper)}
.year.is-scrolly{height:260vh}
.year-sticky{height:100vh;height:100svh;min-height:560px;display:flex;flex-direction:column;justify-content:space-between;padding:46px 5% 52px;overflow:hidden;background:radial-gradient(ellipse 60% 45% at 50% 52%,#ffbd0024,transparent 70%)}
.year.is-scrolly .year-sticky{position:sticky;top:0}
.year-top{display:flex;justify-content:space-between;gap:20px}
.year .section-label{color:#b6ac95}
.year-note{font-size:11px;font-weight:800;letter-spacing:1.3px;line-height:1.6;text-align:right}
.year-digits{display:flex;justify-content:center;gap:.03em;font-family:var(--display);font-size:min(27vw,46vh);line-height:.9;perspective:1500px}
.d3{--l:clamp(0,calc(var(--s,1)*2.3 - var(--d)*.24),1);position:relative;display:inline-block;transform-style:preserve-3d;opacity:clamp(0,calc(var(--l)*3),1);transform:translateY(calc((1 - var(--l))*55vh)) rotateX(calc((1 - var(--l))*-120deg + 14deg)) rotateY(calc((1 - var(--l))*200deg - 20deg + (var(--s,1) - .7)*46deg)) rotateZ(calc((1 - var(--l))*-35deg))}
.d3 i{position:absolute;inset:0;font-style:normal;color:color-mix(in srgb,#ffbd00,#2c1e00 calc(var(--z)*3.4%));transform:translateZ(calc(var(--z)*-.011em));backface-visibility:hidden}
.d3 i:last-child{position:relative;color:var(--yellow)}
.year-title{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(44px,5.4vw,90px);line-height:.98;margin:0;max-width:900px}

/* Images react to scroll in 3D. */
.vision-art img{transform:perspective(900px) rotateY(calc((var(--p,.5) - .5)*-46deg)) rotateX(calc((var(--p,.5) - .5)*18deg));transition:transform .2s linear}
.projects-stage .big-count{transform:perspective(700px) rotateY(calc((var(--p,.5) - .5)*-50deg));transform-origin:50% 50%}
.footer-logo{width:120px;height:auto}

@media(max-width:760px){
  .campus.is-scrolly{height:280vh}
  .campus-card{left:6%;right:6%;width:auto;bottom:5%}
  .campus h2{font-size:clamp(40px,11vw,56px)}
  .campus-card p{font-size:13px;margin:14px 0 16px}
  .campus-logo{top:22px;left:6%;width:150px}
  .campus-corners{font-size:9px;top:20px}
  .year-sticky{padding:36px 6% 42px}
  .year-digits{font-size:min(36vw,40vh)}
  .year-note{font-size:9px}
  .year-title{font-size:clamp(40px,11.5vw,60px)}
  footer{gap:14px}
  .footer-logo{width:96px}
}
@media(prefers-reduced-motion:reduce){.vision-art img,.projects-stage .big-count{transform:none}}

/* President poster: giant word behind, cutout in front, name on a black band. */
.president{position:relative;height:clamp(660px,62vw,940px);margin:0 0 70px;background:var(--yellow);color:var(--ink);overflow:hidden;isolation:isolate}
.president-bar{position:absolute;z-index:4;top:28px;left:5%;right:5%;display:flex;align-items:center;gap:24px;font-size:12px;font-weight:800;letter-spacing:.32em}
.president-brand{font-size:30px;letter-spacing:-.04em}
.president-bar i{flex:1;height:2px;background:var(--ink)}
.president-stage{position:absolute;z-index:1;top:76px;left:5%;right:5%}
.president-word{color:var(--paper);transform:translateY(calc((var(--p,.5) - .5)*-80px))}
.president .president-slogan{position:absolute;z-index:4;left:5%;bottom:calc(var(--band) + 40px);margin:0;font-family:var(--display);font-size:clamp(58px,7.4vw,124px);line-height:.92;text-transform:uppercase;padding-bottom:22px;border-bottom:2px solid var(--ink)}
.president-slogan .slogan-accent{color:var(--paper)}
.president-arrow{position:absolute;z-index:2;right:5%;bottom:calc(var(--band) + 50px);width:clamp(64px,7vw,110px)}
.president-arrow svg{display:block;width:100%}
.president-photo{position:absolute;z-index:3;bottom:0;right:9%;height:93%;width:auto;filter:drop-shadow(-18px 10px 30px #5a3c0030);transform-origin:50% 100%;transform:translateY(calc((1 - var(--e,1))*14%)) scale(calc(.94 + var(--e,1)*.06))}
.president{--band:clamp(170px,15vw,220px)}
.president::before{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:var(--band);background:var(--ink)}
.president-band{position:absolute;z-index:4;left:0;right:0;bottom:0;height:var(--band);padding:0 5%;display:flex;flex-direction:column;justify-content:center;color:var(--paper);pointer-events:none}
.president-band h3{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,58px);line-height:.98;text-transform:uppercase;margin:0}
.president .president-role{line-height:1.4;margin:12px 0 0;color:var(--yellow);font-size:clamp(15px,1.5vw,22px);font-weight:800;letter-spacing:.32em;text-transform:uppercase}
.president .president-meta{line-height:1.4;margin:8px 0 0;font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#e9e4d6}
.president-star{position:absolute;left:calc(5% + clamp(330px,33vw,520px));top:50%;width:34px;margin-top:-17px;color:var(--yellow);animation:star-spin 9s linear infinite}
.president-star svg{display:block;width:100%}
@keyframes star-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .president{height:auto;min-height:780px;margin:0 0 50px;--band:170px}
  .president-bar{top:20px;left:6%;right:6%;gap:12px;font-size:8px;letter-spacing:.2em}
  .president-brand{font-size:22px}
  .president-stage{top:58px;left:6%;right:6%}
  .president .president-slogan{left:6%;top:calc(80px + 32vw);bottom:auto;font-size:clamp(40px,11.5vw,58px);padding-bottom:14px}
  .president-arrow{display:none}
  .president-photo{right:-16%;height:58%}
  .president-band{padding:0 6%}
  .president-band h3{font-size:clamp(30px,8.6vw,40px)}
  .president .president-role{font-size:14px}
  .president .president-meta{font-size:10px;letter-spacing:.2em}
  .president-star{display:none}
}
@media(prefers-reduced-motion:reduce){.president-word,.president-photo{transform:none}.president-star{animation:none}}

/* ProcesaLab credit: large in the sponsors section, footer size at the bottom. */
.partners-credit{margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.partners-credit .pl-credito{font-size:15px;font-weight:600}
.partners-credit .pl-credito .pl-logo{font-size:16px}
footer .pl-credito{flex-basis:100%;color:#5e594f}
footer{flex-wrap:wrap}

/* Team cutouts stand in an arch with their member number behind them, like the president's poster. */
.team-grid{counter-reset:member 1}
.team-member{counter-increment:member}
.member-portrait,.member-portrait--initials{position:relative;isolation:isolate;background:none;border-radius:0}
.member-portrait::before{content:"";position:absolute;z-index:-2;left:7%;right:7%;top:15%;bottom:0;border-radius:999px 999px 0 0;background:var(--yellow);transition:transform .7s cubic-bezier(.2,.8,.2,1);transform-origin:50% 100%}
.member-portrait::after{content:counter(member,decimal-leading-zero);position:absolute;z-index:1;left:0;top:0;font-family:var(--display);font-size:clamp(52px,5.4vw,86px);line-height:.9;color:var(--ink);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.team-member:nth-child(even) .member-portrait::before{background:var(--ink)}
.member-portrait img{object-fit:contain;object-position:50% 100%;transform-origin:50% 100%}
.member-portrait--initials{place-items:end center}
.member-portrait--initials span{padding-bottom:18%;color:var(--ink)}
.team-member:nth-child(even) .member-portrait--initials span{color:var(--yellow)}
@media(hover:hover) and (pointer:fine){.team-member:hover .member-portrait::before{transform:scaleY(1.04)}.team-member:hover .member-portrait::after{transform:translateX(6%)}.team-member:hover .member-portrait img{transform:translateY(-3%) scale(1.03)}}
@media(max-width:760px){.member-portrait::after{font-size:clamp(40px,11vw,56px)}}
@media(prefers-reduced-motion:reduce){.member-portrait::before,.member-portrait::after{transition:none}}

/* Share: native share sheet on phones, copy the link elsewhere. */
.closing-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 34px}
.share-button{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 28px;border:0;border-radius:40px;background:var(--yellow);color:var(--ink);font:800 14px/1 Manrope,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.share-button .icon{width:20px;height:20px}
.share-button:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:0 14px 30px #ffbd0040}
.share-button:focus-visible{outline:3px solid var(--paper);outline-offset:4px}
.share-status{flex-basis:100%;min-height:1.4em;margin:0;font-size:12px;letter-spacing:.12em;color:#c8beaa}
@media(prefers-reduced-motion:reduce){.share-button{transition:none}.share-button:hover{transform:none}}

/* Launch polish: scroll progress, floating dock, project ticker and tilting vision cards. */
.scroll-progress{position:fixed;inset:0 0 auto;height:4px;z-index:60;pointer-events:none}
.scroll-progress span{display:block;height:100%;background:var(--yellow);transform-origin:0 50%;transform:scaleX(var(--progress,0));box-shadow:0 0 12px #ffbd0080}
.dock{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:55;display:flex;align-items:center;gap:6px;padding:6px 6px 6px 20px;background:#161616eb;color:var(--paper);border-radius:40px;box-shadow:0 18px 40px #16161659;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s;pointer-events:none}
.dock.is-shown{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.dock-brand{font-size:20px;font-weight:800;letter-spacing:-1px;display:inline-flex;align-items:baseline;margin-right:8px}
.dock-links{display:flex}
.dock-links a{padding:12px 14px;font-size:12px;font-weight:700;border-radius:30px;transition:background .2s,color .2s}
.dock-links a:hover,.dock-links a:focus-visible{background:#ffffff1a;outline:none}
.dock-share{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:0;border-radius:30px;background:var(--yellow);color:var(--ink);font:800 12px/1 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.dock-share .icon{width:16px;height:16px}
.dock-share:focus-visible,.dock-brand:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.ticker{overflow:hidden;background:var(--yellow);color:var(--ink);border-block:2px solid var(--ink);padding:18px 0}
.ticker-track{display:flex;align-items:center;gap:26px;width:max-content;white-space:nowrap;font-family:var(--display);font-size:clamp(34px,4vw,56px);line-height:1;text-transform:uppercase;animation:marquee 60s linear infinite}
.ticker-star{font-family:Arial,sans-serif;font-size:.6em}
.ticker:hover .ticker-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.vision-scene{transform:perspective(1100px) rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),background .4s,color .4s}.vision-scene.is-tilting{transition:transform .08s linear,background .4s,color .4s}}
@media(max-width:760px){.dock{gap:4px;padding:5px 5px 5px 16px}.dock-links{display:none}.dock-brand{font-size:18px}.ticker{padding:12px 0}}
@media(prefers-reduced-motion:reduce){.dock{transition:none}.ticker-track{animation:none}.vision-scene{transform:none!important}}

/* Hero with oversized display type: Anton lines and a near full-width UNIDOS. */
.hero h1{max-width:none;margin:30px 0 12px;font-family:var(--display);font-weight:400;letter-spacing:0;text-transform:uppercase}
.hero h1 .line{font-size:clamp(64px,8.6vw,150px);line-height:.92}
.hero h1 .together{font-family:var(--display);font-weight:400;font-size:clamp(150px,24.5vw,430px);line-height:.84;letter-spacing:-.005em;margin-top:.04em}
.hero .emblem{z-index:3;width:27vw;max-width:440px;top:50px;right:2%}
.hero .sticker{bottom:4%;right:5%}
@media(min-width:1600px){.hero{min-height:960px}}
@media(max-width:900px){.hero h1 .line{font-size:10.5vw}.hero h1 .together{font-size:25vw}.hero .emblem{top:96px;width:30vw}}
@media(max-width:600px){.hero h1{margin-top:28px}.hero h1 .line{font-size:13.5vw}.hero h1 .together{font-size:29vw}.hero .emblem{top:auto;width:100%;max-width:360px}}

/* Transparent sponsor PNGs: preserve brand colours and give white marks a dark stage. */
.partner-list--logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 28px}
.partner-logo{height:184px;padding:18px;background:transparent}
.partner-logo--inverse{background:var(--ink)}
.partner-list--logos figcaption{min-height:44px;margin-top:16px}
@media(max-width:1050px){.partner-list--logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}.partner-logo{height:190px}}
@media(max-width:520px){.partner-list--logos{gap:24px 18px}.partner-logo{height:148px;padding:12px}.partner-list--logos figcaption{min-height:38px;margin-top:12px}}

/* A single golden light sweep accompanies each sponsor's entrance. */
.partner-list--logos > li{perspective:900px}
.partner-logo{position:relative;isolation:isolate;overflow:hidden}
.partner-logo::after{content:"";position:absolute;inset:-35%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 35%,#ffbd0040 46%,#fff8 50%,transparent 62%);transform:translateX(-110%) rotate(-10deg)}
.partner-logo.is-revealing::after{animation:sponsor-spotlight 1.25s cubic-bezier(.2,.7,.2,1) var(--spotlight-delay,0ms) both}
@keyframes sponsor-spotlight{0%,12%{opacity:0;transform:translateX(-110%) rotate(-10deg)}30%{opacity:.8}100%{opacity:0;transform:translateX(110%) rotate(-10deg)}}
@media(prefers-reduced-motion:reduce){.partner-logo::after{display:none}}

/* Sponsor ribbon: two identical half-tracks make the loop seamless. */
.partner-marquee{margin-top:36px;min-width:0}
.partner-marquee__viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--yellow) transparent;border-block:1px solid var(--line);padding:24px 0 8px;overscroll-behavior-x:contain}
.partner-marquee__viewport:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.partner-marquee__track{display:flex;width:max-content;animation:sponsor-ribbon 42s linear infinite}
.partner-marquee .partner-list--logos{display:flex;flex:none;width:max-content;margin:0;padding:0 28px 0 0;gap:28px;list-style:none}
.partner-marquee .partner-list--logos>li{flex:none;width:232px}
.partner-marquee .partner-logo{height:184px}
.partner-marquee .partner-list--logos figcaption{min-height:44px}
.partner-marquee.is-paused .partner-marquee__track,.partner-marquee__viewport:focus-within .partner-marquee__track{animation-play-state:paused}
.partner-marquee__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px}
.partner-marquee__controls>span{font-size:10px;font-weight:800;letter-spacing:1.4px}
.partner-marquee__controls button{min-height:44px;padding:10px 20px;border:1px solid var(--ink);border-radius:28px;background:var(--yellow);color:var(--ink);font:700 12px Manrope,Arial,sans-serif;cursor:pointer}
.partner-marquee__controls button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@keyframes sponsor-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(hover:hover){.partner-marquee:hover .partner-marquee__track{animation-play-state:paused}}
@media(max-width:520px){.partner-marquee .partner-list--logos{gap:18px;padding-right:18px}.partner-marquee .partner-list--logos>li{width:180px}.partner-marquee .partner-logo{height:160px}.partner-marquee__controls>span{max-width:140px;line-height:1.6;font-size:9px}.partner-marquee__track{animation-duration:38s}}
@media(prefers-reduced-motion:reduce){.partner-marquee__track{animation:none!important}.partner-marquee .partner-list--copy{display:none}.partner-marquee__controls>span{max-width:none}}
