/* Ticket-led campaign identity, with one shared left edge and an open campus view. */
.hero .hero-inner{display:grid;grid-template-columns:1.18fr 1fr;gap:72px;align-items:center;height:auto;min-height:500px;padding:88px 0 44px}
.hero .hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hero .hero-copy h1.hero-accessible-title{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero .hero-copy .eyebrow{margin:0 0 26px;font-size:14px}
.hero .hero-ticket{position:relative;left:auto;top:auto;order:initial;width:100%;max-width:650px;margin:0 0 22px;animation:none!important;transform:rotate(-1.5deg);align-self:auto}
.hero .hero-details{display:block;order:initial;width:100%;max-width:455px}
.hero .hero-copy .hero-details p{font-size:21px;line-height:1.45;text-wrap:pretty}
.hero .hero-foundation-link{margin-top:16px}
.hero{padding-bottom:75px}
.hero .hero-waves{height:90px}
@media(max-width:1000px) and (min-width:681px){.hero .hero-inner{gap:38px;padding:55px 32px 35px;min-height:440px}.hero .hero-copy .hero-details p{font-size:18px}}
@media(max-width:680px){.hero .hero-inner{display:flex;flex-direction:column;gap:28px;padding:38px 22px 30px;min-height:0;align-items:stretch}.hero .hero-copy{display:flex}.hero .hero-copy .eyebrow{margin-bottom:22px;font-size:12px}.hero .hero-ticket{width:100%;margin:0 0 26px;transform:rotate(-1deg)}.hero .hero-copy .hero-details p{font-size:19px}.hero .hero-details{max-width:100%}.hero{padding-bottom:45px}.hero .hero-waves{height:60px}}

.hero .hero-inner{width:calc(100% - 136px);max-width:1600px;margin-inline:auto;grid-template-columns:1.1fr 1fr}
.hero .hero-ticket{width:100%;margin-left:-8px}
@media(max-width:1000px) and (min-width:681px){.hero .hero-inner{width:100%;padding-inline:40px}}
@media(max-width:680px){.hero .hero-inner{width:100%;padding-inline:24px}}

/* A distant prop plane tows the supporting headline through the campus sky. */
.hero-flyby{position:absolute;left:100%;top:50px;width:410px;pointer-events:none;opacity:.92;--flight-cycle:194s;--flight-offset:-20s;animation:campaign-flyby var(--flight-cycle) linear infinite;animation-delay:var(--flight-offset);will-change:transform}
.hero-plane{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 1px 1px #12334b33)}
/* Swap artwork only while completely offscreen; never mirror printed lettering. */
.hero-plane-outbound{animation:outbound-art calc(var(--flight-cycle) * 2) steps(1,end) infinite;animation-delay:var(--flight-offset)}
.hero-plane-return{position:absolute;inset:0;animation:return-art var(--flight-cycle) steps(1,end) infinite;animation-delay:var(--flight-offset)}
@keyframes campaign-flyby{0%{transform:translate(0,0) rotate(-2deg)}43.81443299%,50%{transform:translate(calc(-100vw - 470px),-18px) rotate(-2deg)}93.81443299%,100%{transform:translate(0,0) rotate(-2deg)}}
@keyframes outbound-art{0%{opacity:1}25%{opacity:0}100%{opacity:1}}
@keyframes return-art{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
@keyframes campaign-flyby-mobile{0%{transform:translate(0,0) rotate(-2deg)}39.47368421%,50%{transform:translate(calc(-100vw - 470px),-18px) rotate(-2deg)}89.47368421%,100%{transform:translate(0,0) rotate(-2deg)}}
.hero.is-offscreen .hero-flyby,.hero.is-offscreen .hero-flyby *{animation-play-state:paused}
@media(max-width:680px){.hero-flyby{width:320px;top:26px;}}
@media(prefers-reduced-motion:reduce){.hero-flyby{animation:none;left:auto;right:3%;transform:none}.hero-flyby *{animation:none}}
.motion-off .hero-flyby{animation:none;left:auto;right:3%;transform:none}.motion-off .hero-flyby *{animation:none}

@media(max-width:680px){.hero .hero-inner{padding-top:70px}}

@media(max-width:680px){.hero .hero-ticket{margin-left:0}}

@media(prefers-reduced-motion:reduce){.hero-plane-return{display:none}}
.motion-off .hero-plane-return{display:none}

.hero-plane-giving{position:absolute;inset:0;animation:giving-art calc(var(--flight-cycle) * 2) steps(1,end) infinite;animation-delay:var(--flight-offset)}
@keyframes giving-art{0%{opacity:0}50%{opacity:1}75%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-plane-giving{display:none}}
.motion-off .hero-plane-giving{display:none}

/* One invitation group: shared print edge, close outside spacing, generous paper margins. */
.hero .hero-inner{grid-template-columns:1.3fr 1fr;gap:56px}
.hero .hero-copy{gap:16px}
.hero .hero-copy .eyebrow{margin:0;padding-left:28px}
.hero .hero-ticket{margin:0;max-width:650px;transform:rotate(-.75deg)}
.hero .hero-details{padding-left:28px;max-width:520px}
.hero .hero-copy .hero-details p{font-size:20px;line-height:1.45}
.hero .hero-foundation-link{margin-top:10px}
@media(max-width:680px){
 .hero .hero-copy{gap:14px}
 .hero .hero-copy .eyebrow{margin:0;padding-left:20px}
 .hero .hero-ticket{margin:0;transform:rotate(-.5deg)}
 .hero .hero-details{padding-left:20px;padding-right:12px;max-width:100%}
 .hero .hero-copy .hero-details p{font-size:18px;line-height:1.45}
}

.hero .hero-ticket picture{margin-block:-3%;clip-path:inset(10% 0)}
@media(max-width:680px){.hero .hero-ticket picture{clip-path:inset(4.5% 0 2% 0)}}
.hero .hero-copy .eyebrow{padding-left:0;margin-left:58px}
.hero .hero-details{padding-left:58px}
@media(max-width:680px){.hero .hero-copy .eyebrow{padding-left:0;margin-left:52px}.hero .hero-details{padding-left:52px}}

.hero .hero-copy .eyebrow{margin-left:74px}
.hero .hero-details{padding-left:74px}
@media(max-width:680px){.hero .hero-copy .eyebrow{margin-left:60px}.hero .hero-details{padding-left:60px}}

/* Shallow aerodynamic corrections, separate from constant forward travel. */
.hero-flight-attitude{position:relative;transform-origin:50% 44%;animation:flight-attitude 19s ease-in-out infinite;animation-delay:-4s;will-change:transform}
@keyframes flight-attitude{
 0%,100%{transform:perspective(900px) translateY(0) rotateX(2deg) rotateY(0deg) rotateZ(0deg)}
 19%{transform:perspective(900px) translateY(-5px) rotateX(-5deg) rotateY(.8deg) rotateZ(.65deg)}
 43%{transform:perspective(900px) translateY(-2px) rotateX(3deg) rotateY(-.4deg) rotateZ(-.35deg)}
 71%{transform:perspective(900px) translateY(4px) rotateX(6deg) rotateY(-.7deg) rotateZ(-.65deg)}
 87%{transform:perspective(900px) translateY(2px) rotateX(-2deg) rotateY(.3deg) rotateZ(.2deg)}
}
@media(prefers-reduced-motion:reduce){.hero-flight-attitude{animation:none;transform:none}}
.motion-off .hero-flight-attitude{animation:none;transform:none}

.hero .hero-copy .eyebrow{margin-left:64px}
.hero .hero-details{padding-left:64px}
@media(max-width:680px){.hero .hero-copy .eyebrow{margin-left:60px}.hero .hero-details{padding-left:60px}}

@media(max-width:680px){.hero .hero-ticket picture{clip-path:inset(1.5% 0 1% 0)}}
@media(max-width:680px){.hero .hero-ticket picture{margin-top:0}}
