/* Theme: logo green #00b050, mint #aaf0d1, cream #fffac2, text #333 */
:root{--ink:#333333;--muted:#555555;--indigo:#0b7a3b;--border:#d3ebdd;--line:#d3ebdd;--mint:#aaf0d1;--cream:#fffac2;--logo:#00b050;--grad:linear-gradient(135deg,#aaf0d1 0%,#fffac2 100%);--glow:radial-gradient(640px 340px at 92% 0,rgba(0,176,80,.28),transparent 65%)}
body{color:#333333}
h1,h2,h3,h4,h5{color:#333333}
/* former dark surfaces -> light gradient */
.home-cinematic,.dark-story,.cta-panel,.about-poster,.reasoning-board,.announcement,.beta-ribbon,.code-window,.mockup-bar,.navy .story-heading,.navy .project-art,.navy .project-detail-art,.visual-project-card .project-card-cover,.cover-number{background:var(--glow),var(--grad)!important;color:#333333!important;border-color:#00b050}
:is(.home-cinematic,.dark-story,.cta-panel,.about-poster,.reasoning-board,.announcement,.beta-ribbon,.code-window,.mockup-bar) :is(h1,h2,h3,h4,p,span,li,small,strong,em,a,div,dt,dd,label,figcaption){color:#333333!important}
.beta-ribbon strong{background:#00b050!important;color:#333333!important}
footer{background:linear-gradient(180deg,#ffffff 0%,#aaf0d140 60%,#fffac280 100%)!important}
/* buttons: green = #00b050 / white text, hover mint / dark text; mint = #aaf0d1 / dark text, hover green / white text */
.button{background:#00b050!important;background-image:none!important;color:#ffffff!important;border:1px solid #00b050!important;box-shadow:none!important}
.button:hover{background:#aaf0d1!important;color:#333333!important;border-color:#00b050!important}
.button.white,.button.outline{background:#aaf0d1!important;color:#333333!important;border:1px solid #00b050!important}
.button.white:hover,.button.outline:hover{background:#00b050!important;color:#ffffff!important}
.tw-bg-logo{border:1px solid #00b050;color:#ffffff!important}
.tw-bg-logo :is(span,svg,p,b,strong){color:inherit!important}
.tw-bg-logo:hover{background-color:#aaf0d1!important;color:#333333!important}
.tw-bg-cream{background-color:#aaf0d1!important;color:#333333!important}
a.tw-bg-cream:hover,button.tw-bg-cream:hover,.tw-bg-cream:hover{background-color:#00b050!important;color:#ffffff!important}
.beta-ribbon strong{background:#00b050!important;color:#ffffff!important}
.whatsapp-float{background:#00b050!important;color:#ffffff!important;border-color:#aaf0d1!important}
.dki{background-color:#00b050!important;color:#ffffff!important}

/* social links (footer) */
.social-links{list-style:none;margin:14px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.social-links li{margin:0;padding:0}
.social-links a,div>.social-links a:not(.brand){display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;border-radius:50%;background:#aaf0d1;color:#333333;border:1px solid #00b050;transition:background .15s,color .15s,transform .15s}
.social-links a:hover{background:#00b050;color:#ffffff;transform:translateY(-2px)}
.social-links a:focus-visible{outline:2px solid #333;outline-offset:2px}

/* Hero slider: brand gradient surface + eased image fade so photos blend into the text side */
.academy-home-hero{background:linear-gradient(105deg,#e4faf0 0%,#eefbf2 34%,#f9fcdf 72%,#fffbd2 100%)!important;border-color:rgba(0,176,80,.28)!important}
.academy-photo{left:34%!important;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.05) 7%,rgba(0,0,0,.16) 14%,rgba(0,0,0,.34) 22%,rgba(0,0,0,.58) 31%,rgba(0,0,0,.8) 41%,rgba(0,0,0,.94) 53%,#000 66%)!important;mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.05) 7%,rgba(0,0,0,.16) 14%,rgba(0,0,0,.34) 22%,rgba(0,0,0,.58) 31%,rgba(0,0,0,.8) 41%,rgba(0,0,0,.94) 53%,#000 66%)!important}
.academy-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(228,250,240,.55) 0%,rgba(228,250,240,0) 45%)}
@media (width<=850px){.academy-photo{left:auto!important;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 10%,rgba(0,0,0,.75) 22%,#000 38%)!important;mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.35) 10%,rgba(0,0,0,.75) 22%,#000 38%)!important}.academy-photo::after{display:none}}

/* Student Voices: auto-scrolling testimonial strip */
.voices{background:linear-gradient(180deg,#f4fcf8,#fffdea);overflow:hidden}
.voices .section{padding-bottom:8px}
.voice-marquee{position:relative;overflow:hidden;padding:12px 0 56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.voice-track{display:flex;gap:20px;width:max-content;animation:voice-scroll 70s linear infinite}
.voice-marquee:hover .voice-track,.voice-marquee:focus-within .voice-track{animation-play-state:paused}
.voice-card{flex:0 0 340px;margin:0;display:flex;flex-direction:column;background:#fff;border:1px solid #cfeedd;border-radius:16px;padding:22px;box-shadow:0 8px 24px -16px rgba(0,80,40,.35)}
.voice-quote-icon{color:#00b050;opacity:.45;line-height:0}
.voice-card blockquote{margin:10px 0 18px;flex:1;font-size:.88rem;line-height:1.75;color:#333}
.voice-card figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e3e6e4}
.voice-avatar{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#00b050;color:#fff;font-weight:600;font-size:.85rem}
.voice-who strong{display:block;font-size:.84rem;color:#333}
.voice-who small{display:block;font-size:.72rem;color:#555}
.voice-badge{margin-left:auto;border:1px dashed #9bd9b6;border-radius:999px;padding:2px 9px;font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#555}
@keyframes voice-scroll{to{transform:translateX(-50%)}}
@media (width<=560px){.voice-card{flex-basis:285px}}
@media (prefers-reduced-motion:reduce){.voice-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.voice-track{animation:none}.voice-card[aria-hidden=true]{display:none}}
.voice-top{display:flex;align-items:center;justify-content:space-between}
.voice-stars{color:#e8a800;letter-spacing:2px;font-size:.95rem}
.voice-track{animation-duration:110s}

/* Compact "Ready to begin?" strip above the footer */
.rtb{background:linear-gradient(100deg,#aaf0d1 0%,#fffac2 100%);border-top:1px solid rgba(0,176,80,.35);padding:18px 0}
.rtb-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.rtb-eyebrow{margin:0;font-size:.66rem;font-weight:600;letter-spacing:.16em;color:#333}
.rtb-title{margin:2px 0 0;font-size:1.15rem;font-weight:600;line-height:1.25;color:#333}
.rtb-text{margin:2px 0 0;font-size:.86rem;color:#333}
.rtb-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (width<=560px){.rtb-actions{width:100%}.rtb-actions .button{flex:1;justify-content:center}}
