/* Motion across the complete page; no scroll interception. */
.motion-ribbon{position:relative;background:var(--red);color:var(--cream);padding:24px 0;overflow:hidden;border-block:1px solid var(--red)}
.ribbon-window{overflow:hidden}.ribbon-track{display:flex;width:max-content;animation:ribbon-travel 36s linear infinite;will-change:transform}.ribbon-track>span{display:flex;align-items:center;white-space:nowrap;gap:32px;padding-right:32px;font-size:44px;line-height:1.3;font-weight:500;letter-spacing:-1.4px}.ribbon-track i{font-style:normal;font-size:25px;color:#dba99b}
.motion-pause{position:absolute;right:16px;bottom:12px;width:31px;height:31px;border-radius:50%;background:var(--cream);color:var(--red);border:1px solid #d6b9a4;display:grid;place-items:center;font-size:12px;z-index:2;box-shadow:0 2px 14px #50152233}
.motion-line{display:block!important;overflow:hidden;color:inherit!important;padding-bottom:.1em;margin-bottom:-.1em}.motion-line-inner{display:block!important;color:inherit!important;transform-origin:left bottom}
.motion-on .rich-title .motion-line-inner{transform:translateY(115%) rotate(2deg);opacity:0;transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .7s ease;transition-delay:var(--line-delay,0ms)}
.motion-on .rich-title.is-seen .motion-line-inner{transform:none;opacity:1}
.motion-on .rich-enter{opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform .95s cubic-bezier(.16,1,.3,1);transition-delay:var(--enter-delay,0ms)}
.motion-on .rich-enter.is-seen{opacity:1;transform:none}
.company-details article{transition:background .35s,padding .35s,border-color .35s}.company-details article::before{transition:width .7s cubic-bezier(.16,1,.3,1)}.company-details article:hover::before{width:100%}.company-details article:hover{background:#eee4d438;padding-inline:14px}
.stats-rail .hero-stat>strong{min-width:126px;font-variant-numeric:tabular-nums}.stats-rail .hero-stat>strong.is-counting{animation:count-glow 1.4s ease both}
.programs-grid{transition:box-shadow .4s}.programs-grid:hover{box-shadow:0 15px 40px #613c2710}
.program-art{overflow:hidden}.program-art::after{content:'';position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 40%,#fff8e655 49%,transparent 59%);transform:translateX(-120%);pointer-events:none;animation:art-shine 9s ease-in-out infinite}
.program-glyph::before{animation:glyph-orbit 16s linear infinite;border-style:dashed}.program-glyph::after{animation:glyph-breathe 5s ease-in-out infinite}
.program-tabs button{transition:background .3s,color .3s,box-shadow .3s,transform .3s}.program-tabs button:hover{transform:translateY(-5px);box-shadow:0 8px 16px #801d2d14}.program-tabs button svg{transition:transform .35s}.program-tabs button:hover svg{transform:translate(3px,-3px) rotate(5deg)}
.btn{position:relative;overflow:hidden;transition:background .25s,box-shadow .35s,transform .3s}.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff24 50%,transparent 75%);transform:translateX(-120%);transition:transform .6s;pointer-events:none}.btn:hover::after{transform:translateX(120%)}.btn:hover{box-shadow:0 8px 20px #801d2d24}.btn svg{transition:transform .3s}.btn:hover svg{transform:translate(3px,-3px)}
.grant-list details,.faq-list details{transition:background .3s,padding .3s}.grant-list details[open],.faq-list details[open]{background:#eee2d33d;padding-inline:13px}.grant-list details[open] p,.faq-list details[open] p{animation:answer-open .4s ease both}.grant-list summary span,.faq-list summary{transition:color .3s}.grant-list summary:hover span,.faq-list summary:hover{color:var(--red)}
.steps article .step-number{transition:background .4s,color .4s,box-shadow .4s,transform .4s}.steps article.step-active .step-number{background:var(--cream);color:var(--red);box-shadow:0 0 0 7px #faf8f30c;transform:scale(1.08)}.steps article.step-active h3{color:#fff3da}
.app-backdrop::after{content:'';position:absolute;width:340px;height:340px;border-radius:50%;border:1px dashed #801d2d25;top:65px;left:-70px;animation:glyph-orbit 35s linear infinite}.app-label{animation:label-float 4.5s ease-in-out infinite}.app-copy li{transition:transform .3s}.app-copy li:hover{transform:translateX(7px)}
.team-portrait-photo>img{transform:scale(var(--portrait-zoom,1.03)) translateY(var(--portrait-y,0px));transition:filter .4s;will-change:transform}.team-portrait-photo:hover>img{filter:contrast(1.035)}.team-grid-photos .team-portrait{box-shadow:0 12px 30px #5433270c;transition:box-shadow .4s}.team-grid-photos .team-card:hover .team-portrait{box-shadow:0 22px 40px #54332720}
.contact-card{overflow:hidden;isolation:isolate}.contact-card::before,.contact-card::after{content:'';position:absolute;width:470px;height:470px;border:1px solid #f2dfc326;border-radius:50%;right:-180px;top:-180px;z-index:-1;pointer-events:none;animation:contact-breathe 11s ease-in-out infinite}.contact-card::after{width:350px;height:350px;right:-120px;top:-120px;animation-delay:-5.5s}.contact-links>a{transition:padding .3s,background .3s}.contact-links>a:hover{padding-inline:12px;background:#ffffff09}.contact-links svg{transition:transform .3s}.contact-links>a:hover svg{transform:rotate(45deg)}
.footer .brand:hover img{animation:logo-nod .55s ease}.back-top:hover>span{animation:back-bounce .6s ease infinite alternate}
.motion-paused .ribbon-track,.motion-paused .chapter-grid::after,.motion-paused .book-cover::before,.motion-paused .scroll-mouse i,.motion-paused .program-art::after,.motion-paused .program-glyph::before,.motion-paused .program-glyph::after,.motion-paused .app-label,.motion-paused .app-backdrop::after,.motion-paused .contact-card::before,.motion-paused .contact-card::after{animation-play-state:paused}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
@keyframes glyph-orbit{to{transform:rotate(360deg)}}
@keyframes glyph-breathe{50%{transform:scale(1.16);opacity:.45}}
@keyframes art-shine{0%,45%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}
@keyframes label-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(-1deg)}}
@keyframes contact-breathe{50%{transform:scale(1.25) translate(-30px,25px);opacity:.4}}
@keyframes answer-open{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@keyframes count-glow{50%{color:#b74356;transform:scale(1.06)}}
@keyframes logo-nod{40%{transform:rotate(-7deg)}75%{transform:rotate(4deg)}}
@keyframes back-bounce{to{transform:translateY(-5px)}}
@media(max-width:800px){.ribbon-track>span{font-size:34px;gap:24px;padding-right:24px}.ribbon-track i{font-size:21px}.motion-ribbon{padding:21px 0}.stats-rail .hero-stat>strong{min-width:99px}}
@media(max-width:600px){.ribbon-track>span{font-size:28px;gap:22px;padding-right:22px;letter-spacing:-.7px}.motion-ribbon{padding:20px 0}.ribbon-track i{font-size:18px}.motion-pause{right:8px;bottom:5px;width:24px;height:24px;font-size:9px}.motion-on .rich-enter{transform:translateY(25px)}.motion-on .rich-enter.is-seen{transform:none}.stats-rail .hero-stat>strong{min-width:116px}.contact-card::before{width:330px;height:330px}.team-portrait-photo>img{will-change:auto}}
@media(prefers-reduced-motion:reduce){.ribbon-track,.program-art::after,.program-glyph::before,.program-glyph::after,.app-label,.app-backdrop::after,.contact-card::before,.contact-card::after{animation:none}.motion-on .rich-enter,.motion-on .rich-title .motion-line-inner{opacity:1;transform:none;transition:none}.team-portrait-photo>img{transform:none}.motion-pause{display:none}.ribbon-track{will-change:auto}}

/* Compact team directory; keep the existing portrait and entrance motion. */
.team-list.team-grid-photos{grid-template-columns:1fr;gap:0;max-width:880px;margin-inline:auto}
.team-list.team-grid-photos .team-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:32px;align-items:center;width:100%;margin:0;padding:24px 8px;border-top:1px solid #dcd1c6}
.team-list.team-grid-photos .team-card:last-child{border-bottom:1px solid #dcd1c6}
.team-list .team-portrait{grid-column:1;grid-row:1;width:108px;transform:translateY(calc(var(--team-shift,0px)*.25)) rotate(calc(var(--team-angle,0deg)*.3))}
.team-person{grid-column:2;grid-row:1;min-width:0}.team-number{display:block;font-size:10px;letter-spacing:.12em;color:var(--red);margin-bottom:9px}.team-person h3{font-size:27px;font-weight:500;line-height:1.25;letter-spacing:-.7px;margin:0 0 7px}.team-description{font-size:13px;color:var(--muted);margin:0;line-height:1.7;max-width:510px}
@media(max-width:600px){.team-list.team-grid-photos .team-card{grid-template-columns:76px minmax(0,1fr);gap:20px;padding:20px 0}.team-list .team-portrait{width:76px}.team-person h3{font-size:19px;letter-spacing:-.4px}.team-description{font-size:11px;line-height:1.65}.team-number{font-size:8px;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.team-list .team-portrait{transform:none}}

.vip-section{padding-block:80px}.vip-card{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:64px;border:1px solid #801d2d30;border-radius:18px;background:linear-gradient(125deg,#f3e8de,#faf8f3 60%);position:relative;overflow:hidden}.vip-card::before{content:'VIP';position:absolute;right:-16px;top:-40px;font-size:210px;font-weight:800;letter-spacing:-15px;color:#801d2d05;pointer-events:none}.vip-copy,.vip-services{position:relative}.vip-copy h2{margin:26px 0;font-size:48px;line-height:1.1;letter-spacing:-2px}.vip-copy h2>span{color:var(--red)}.vip-copy>p{font-size:14px;line-height:1.9;color:var(--muted)}.vip-copy .btn{margin-top:28px}.vip-copy .vip-note{font-size:11px;line-height:1.7;margin-top:20px;max-width:350px}.vip-services article{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #801d2d20}.vip-services article:first-child{padding-top:0}.vip-services article:last-child{border-bottom:0;padding-bottom:0}.vip-services article>span{color:var(--red);font-size:11px;padding-top:5px}.vip-services h3{font-size:19px;font-weight:600;margin:0 0 9px;line-height:1.4}.vip-services p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.vip-services article:hover h3{color:var(--red)}
@media(max-width:1000px){.vip-card{padding:40px;gap:35px}.vip-copy h2{font-size:38px}}
@media(max-width:600px){.vip-section{padding-block:40px}.vip-card{grid-template-columns:1fr;padding:30px 24px;gap:32px;border-radius:12px}.vip-copy .eyebrow{font-size:7px;letter-spacing:1px}.vip-copy h2{font-size:34px;letter-spacing:-1.5px;margin:22px 0}.vip-copy>p{font-size:12px}.vip-copy .btn{font-size:11px;padding:14px 18px;gap:18px}.vip-copy .vip-note{font-size:10px}.vip-services h3{font-size:17px}.vip-services p{font-size:11px}.vip-services article{gap:14px;padding:20px 0}.vip-card::before{font-size:150px;top:-15px}}

.partners-section{padding-block:80px}.partners-section .section-heading{margin-bottom:40px}.partner-cities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 20px}.city-card{min-width:0}.city-photo{overflow:hidden;border-radius:12px;background:#e9dfd3;aspect-ratio:4/3}.city-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.85)}.city-card:hover img{transform:scale(1.09);filter:saturate(1.1)}.city-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 1px 8px;border-bottom:1px solid #801d2d25}.city-caption h3{font-size:19px;line-height:1.35;font-weight:500;margin:0;letter-spacing:-.4px}.city-caption>span{font-size:9px;color:var(--red);letter-spacing:.1em}.desktop-nav{gap:16px}
@media(min-width:801px) and (max-width:1200px){.header-cta{display:none}.desktop-nav{margin-left:auto}}
@media(max-width:1000px){.partner-cities{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.partners-section{padding-block:45px}.partners-section .section-heading{margin-bottom:28px}.partner-cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.city-photo{border-radius:8px;aspect-ratio:1/1}.city-caption{padding:12px 0 8px;gap:5px}.city-caption h3{font-size:16px;letter-spacing:-.3px}.city-caption>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.city-photo img{transition:none}.city-card:hover img{transform:none}}

.consult-messengers{display:grid;gap:12px;margin:25px 0 20px}.consult-messengers .btn{width:100%;justify-content:space-between;text-decoration:none}.consult-messengers .consult-telegram{background:transparent;color:var(--red);border:1px solid var(--red)}.consult-messengers .consult-telegram:hover{background:#801d2d0b}.consult-details-toggle{display:block;background:none;border:0;border-bottom:1px solid #801d2d40;color:var(--muted);padding:4px 0;font:inherit;font-size:12px;cursor:pointer;margin:0 0 20px;text-align:left}.consult-details-toggle:hover{color:var(--red)}.consult-details-toggle[hidden]{display:none}
@media(max-width:600px){.consult-messengers .btn{font-size:12px;gap:15px;padding:16px 18px}.consult-details-toggle{font-size:11px}}

.vip-includes-title{font-size:13px!important;color:var(--red);margin:0 0 22px!important;letter-spacing:.02em}.vip-services ul{padding:0;margin:10px 0 0;list-style:none}.vip-services li{position:relative;padding-left:17px;font-size:12px;color:var(--muted);line-height:1.8;margin-top:9px}.vip-services li::before{content:'';position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--red)}.vip-support{margin-top:32px;padding:22px 0;border-block:1px solid #801d2d20}.vip-support h3{font-size:17px;line-height:1.4;margin:0 0 10px}.vip-support p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}
.attention-cta{animation:cta-buzz 6s ease-in-out infinite;transform-origin:center}.chapter-intro .attention-cta{animation-delay:1.2s}#program-consult.attention-cta{animation-delay:2.4s;border-radius:8px}.attention-cta:hover,.attention-cta:focus-visible,.attention-cta:active{animation:none}.motion-paused .attention-cta{animation-play-state:paused}
@keyframes cta-buzz{0%,15%,100%{transform:translateX(0) rotate(0);box-shadow:0 0 0 0 #801d2d00}2%,6%,10%{transform:translateX(-2px) rotate(-.7deg)}4%,8%,12%{transform:translateX(2px) rotate(.7deg)}14%{transform:translateX(0) rotate(0);box-shadow:0 0 0 7px #801d2d18}26%{box-shadow:0 0 0 13px #801d2d00}}
@media(max-width:600px){.vip-services li{font-size:11px}.vip-support{margin-top:26px;padding-block:18px}.vip-support h3{font-size:15px}.vip-support p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.attention-cta{animation:none}}
