/* ============================================
   Benchmark Academy — Playful overlay (flyer rainbow energy)
   ============================================ */

/* Scribble highlights & accents on text */
.h-pink{color:var(--pink)!important}
.h-yellow{color:var(--yellow)!important}
.h-green{color:var(--green)!important}
.h-teal{color:var(--teal)!important}
.h-purple{color:var(--purple)!important}
.h-orange{color:var(--orange)!important}
.h-red{color:var(--red)!important}
.h-gold{color:var(--gold)!important}

/* Wavy underline for accent words */
.scribble{position:relative;display:inline-block;color:var(--red);font-style:italic}
.scribble svg{position:absolute;left:-4%;right:-4%;bottom:-14px;width:108%;height:18px;color:var(--yellow);overflow:visible}
.scribble.pink svg{color:var(--pink)}
.scribble.purple svg{color:var(--purple)}
.scribble.green svg{color:var(--green)}
.scribble.teal svg{color:var(--teal)}
.scribble.gold svg{color:var(--gold)}
.scribble.orange svg{color:var(--orange)}

/* Highlight marker (chunky brush behind word) */
.hilite{position:relative;display:inline-block;z-index:0;color:var(--navy)}
.hilite::before{content:"";position:absolute;left:-6px;right:-6px;top:18%;bottom:8%;background:var(--yellow);z-index:-1;border-radius:6px;transform:rotate(-1.5deg)}
.hilite.pink::before{background:var(--pink-s)}
.hilite.green::before{background:var(--green-s)}
.hilite.teal::before{background:var(--teal-s)}
.hilite.purple::before{background:var(--purple-s)}
.hilite.orange::before{background:var(--orange-s)}

/* Floating doodles */
.doodle{position:absolute;pointer-events:none;z-index:0;color:var(--gold);animation:floatY 5s ease-in-out infinite}
.doodle.d2{animation-delay:-1.4s;animation-duration:6s}
.doodle.d3{animation-delay:-2.6s;animation-duration:7s}
.doodle.d4{animation-delay:-3.2s;animation-duration:5.5s}
@keyframes floatY{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(8deg)}}

/* Confetti dots pattern */
.confetti{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:
  radial-gradient(circle,var(--pink) 4px,transparent 5px),
  radial-gradient(circle,var(--yellow) 3px,transparent 4px),
  radial-gradient(circle,var(--teal) 4px,transparent 5px),
  radial-gradient(circle,var(--purple) 3px,transparent 4px),
  radial-gradient(circle,var(--green) 3px,transparent 4px);
  background-size:340px 340px,260px 260px,420px 420px,300px 300px,380px 380px;
  background-position:20px 40px,180px 220px,300px 60px,80px 280px,360px 320px;
  opacity:.55}

/* Wavy dividers between sections */
.wave-divider{position:relative;height:60px;background:var(--cream-2);margin:0;overflow:hidden}
.wave-divider svg{position:absolute;inset:0;width:100%;height:100%}

/* HERO additions — colorful rainbow ribbon strip */
.hero h1 .accent{color:var(--yellow)!important}
.hero h1 .underline::after{background:var(--pink)!important;height:.18em!important}
.hero .badge{background:linear-gradient(90deg,rgba(255,79,138,.2),rgba(255,201,60,.18))!important;border-color:rgba(255,201,60,.35)!important}
.hero .badge .pulse{background:var(--yellow)!important}
.hero .badge-est{border-color:var(--yellow)!important;color:var(--yellow)!important}
.hero .badge-est .yr{color:var(--yellow)!important}
.hero .quick .num .pl{color:var(--yellow)!important}
.hero .dots button.active{background:var(--pink)!important}
.hero .video-cta .play{border-color:var(--yellow)!important}
.hero::after{background:linear-gradient(125deg,rgba(6,26,71,.78) 0%,rgba(142,91,232,.35) 45%,rgba(0,0,0,.45) 100%)!important}

/* Hero floating doodles */
.hero .hero-doodles{position:absolute;inset:0;z-index:3;pointer-events:none}
.hero .hero-doodles svg{position:absolute;animation:floatY 5s ease-in-out infinite}
.hero .hero-doodles .d-a{top:18%;left:6%;width:70px;color:var(--yellow);opacity:.8}
.hero .hero-doodles .d-b{top:38%;right:10%;width:50px;color:var(--pink);opacity:.8;animation-delay:-2s}
.hero .hero-doodles .d-c{bottom:24%;left:12%;width:60px;color:var(--teal);opacity:.85;animation-delay:-3s}
.hero .hero-doodles .d-d{bottom:36%;right:18%;width:46px;color:var(--green);opacity:.85;animation-delay:-1s}

/* Rainbow ribbon strip removed */
.rainbow-strip{display:none!important}

/* Values marquee — rainbow tinted stars */
.values-mq{background:linear-gradient(90deg,var(--navy-900),var(--navy) 50%,var(--navy-900))!important}
.values-mq .track .star:nth-child(2n){color:var(--pink)!important}
.values-mq .track .star:nth-child(3n){color:var(--purple)!important}
.values-mq .track .star:nth-child(4n){color:var(--pink)!important}
.values-mq .track .star:nth-child(5n){color:var(--purple)!important}

/* WELCOME — colorful blobs + doodles */
.welcome .deco-blob{background:radial-gradient(circle,var(--yellow) 0%,transparent 70%)!important;opacity:.45!important}
.welcome .deco-blob.b{background:radial-gradient(circle,var(--pink) 0%,transparent 70%)!important;opacity:.35!important}
.welcome .image-stack .stamp{background:var(--pink)!important;border-color:var(--yellow)!important;border-width:6px}
.welcome .image-stack .scribble-deco{position:absolute;color:var(--purple);z-index:5}
.welcome .image-stack .scribble-deco.s1{top:-14px;right:18%;width:80px;animation:floatY 4s ease-in-out infinite}
.welcome .image-stack .scribble-deco.s2{bottom:18%;right:-20px;width:54px;color:var(--green);animation:floatY 5s ease-in-out infinite;animation-delay:-2s}
.welcome .image-stack img.a{border:8px solid var(--yellow)!important}
.welcome .image-stack img.b{border-color:var(--pink)!important}
.welcome .image-stack img.c{border-color:var(--teal)!important}
.welcome h2 .accent{color:var(--pink)!important}
.feat-list .tick{background:var(--green)!important}
.feat-list li:nth-child(2) .tick{background:var(--pink)!important}
.feat-list li:nth-child(3) .tick{background:var(--yellow)!important;color:var(--navy)!important}
.feat-list li:nth-child(4) .tick{background:var(--teal)!important}
.feat-list li:nth-child(5) .tick{background:var(--purple)!important}
.feat-list li:nth-child(6) .tick{background:var(--orange)!important}

/* PILLARS — each pillar gets its own color */
.pillars{background:linear-gradient(180deg,#fff 0%,var(--cream-2) 100%)!important}
.pillars .head h2 .accent{color:var(--purple)!important}
.pillar:nth-child(1){--c:var(--pink);--cs:var(--pink-s)}
.pillar:nth-child(2){--c:var(--yellow);--cs:var(--yellow-s)}
.pillar:nth-child(3){--c:var(--teal);--cs:var(--teal-s)}
.pillar:nth-child(4){--c:var(--purple);--cs:var(--purple-s)}
.pillar .ring{background:linear-gradient(135deg,var(--cs) 0%,#fff 100%)!important;border:3px solid var(--c)!important;box-shadow:0 16px 40px color-mix(in srgb,var(--c) 30%,transparent)}
.pillar .ring::before{background:conic-gradient(from 0deg,transparent 0%,var(--c) 30%,transparent 60%)!important}
.pillar .num{color:var(--c)!important}
.pillar h3 .it{color:var(--c)!important}
/* Floating dots/stars between pillars */
.pillars .doodle.d1{top:8%;left:4%;width:60px;color:var(--yellow)}
.pillars .doodle.d2{top:14%;right:6%;width:54px;color:var(--pink)}
.pillars .doodle.d3{bottom:8%;left:8%;width:48px;color:var(--teal)}
.pillars .doodle.d4{bottom:12%;right:10%;width:64px;color:var(--green)}

/* PHASES — colorful tints */
.phases .head h2 .accent{color:var(--orange)!important}
.phase:nth-child(1){--c:var(--pink)}
.phase:nth-child(2){--c:var(--teal)}
.phase:nth-child(3){--c:var(--orange)}
.phase::after{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 30%,transparent) 0%,color-mix(in srgb,var(--c) 50%,rgba(11,42,107,.7)) 60%,rgba(6,26,71,.95) 100%)!important}
.phase .num span{color:var(--c)!important;filter:brightness(1.4)}
.phase ul li::before{background:var(--c)!important}
.phase .more{border-color:var(--c)!important;color:#fff}

/* WHY — keep navy but add colorful stat numbers */
.why h2 .accent{color:var(--yellow)!important}
.why .stat:nth-child(1) .num{color:var(--yellow-s)!important}
.why .stat:nth-child(2) .num{color:var(--pink-s)!important}
.why .stat:nth-child(3) .num{color:var(--teal-s)!important}
.why .stat:nth-child(4) .num{color:var(--green-s)!important}
.why .stat:nth-child(5) .num{color:var(--purple-s)!important}
.why .stat:nth-child(6) .num{color:var(--orange-s)!important}
.why .stat:nth-child(1)::before{background:var(--yellow)!important}
.why .stat:nth-child(2)::before{background:var(--pink)!important}
.why .stat:nth-child(3)::before{background:var(--teal)!important}
.why .stat:nth-child(4)::before{background:var(--green)!important}
.why .stat:nth-child(5)::before{background:var(--purple)!important}
.why .stat:nth-child(6)::before{background:var(--orange)!important}

/* TS EDGE — colorful columns */
.edge .head h2 .accent{color:var(--green)!important}
.edge-col:nth-child(1){--c:var(--pink)}
.edge-col:nth-child(2){--c:var(--green)}
.edge-col:nth-child(3){--c:var(--orange)}
.edge-col:nth-child(4){--c:var(--purple)}
.edge-col:hover{background:color-mix(in srgb,var(--c) 8%,transparent)!important}
.edge-col .num{color:var(--c)!important}
.edge-col .img .badge{background:var(--c)!important;color:#fff!important}
.edge-col .more{color:var(--c)!important}

/* PROGRAMS — colorful */
.programs .head h2 .accent{color:var(--teal)!important}
.programs .deco-blob{background:radial-gradient(circle,var(--pink) 0%,transparent 70%)!important;opacity:.35!important}
.prog:nth-child(1){--c:var(--pink)}
.prog:nth-child(2){--c:var(--green)}
.prog:nth-child(3){--c:var(--purple)}
.prog:nth-child(4){--c:var(--orange)}
.prog .img .tag{background:var(--c)!important;color:#fff!important}
.prog h3{color:var(--navy)}
.prog .more{color:var(--c)!important}
.prog{border-top:4px solid var(--c)!important}

/* Programs floating doodles */
.programs .doodle.d1{top:10%;left:3%;width:60px;color:var(--yellow);opacity:.5}
.programs .doodle.d2{bottom:10%;right:4%;width:70px;color:var(--teal);opacity:.5}

/* BEYOND — colorful */
.beyond .head h2 .accent{color:var(--pink)!important}
.b-card:nth-child(1){--c:var(--pink)}
.b-card:nth-child(2){--c:var(--yellow)}
.b-card:nth-child(3){--c:var(--teal)}
.b-card:nth-child(4){--c:var(--green)}
.b-card .arr{background:color-mix(in srgb,var(--c) 90%,transparent)!important;color:#fff!important;border:0!important}
.b-card:hover .arr{background:#fff!important;color:var(--c)!important}
.b-card::after{background:linear-gradient(180deg,rgba(0,0,0,0) 30%,color-mix(in srgb,var(--c) 60%,#0097B2) 100%)!important}

/* INSPIRE */
.inspire .head h2 .accent{color:var(--orange)!important}
.inspire{background:linear-gradient(135deg,var(--cream-2) 0%,var(--yellow-s) 50%,var(--pink-s) 100%)!important}
.inspire .stage .play-big{border-color:var(--yellow)!important;background:rgba(255,201,60,.25)!important}

/* TESTIMONIALS — each card colored */
.testi .head h2 .accent{color:var(--purple)!important}
.testi-card:nth-child(1){--c:var(--pink);--cs:var(--pink-s)}
.testi-card:nth-child(2){--c:var(--teal);--cs:var(--teal-s)}
.testi-card:nth-child(3){--c:var(--orange);--cs:var(--orange-s)}
.testi-card{background:linear-gradient(180deg,var(--cs) 0%,#fff 100%)!important;border:0!important;border-top:4px solid var(--c)!important}
.testi-card .qmark{color:var(--c)!important}
.testi-card .stars{color:var(--c)!important}
.testi-card .who .av{background:var(--c)!important;color:#fff!important}

/* GALLERY filters get color */
.gallery .head h2 .accent{color:var(--pink)!important}
.gallery .filters button:nth-child(2):hover,.gallery .filters button:nth-child(2).active{background:var(--pink)!important;border-color:var(--pink)!important}
.gallery .filters button:nth-child(3):hover,.gallery .filters button:nth-child(3).active{background:var(--green)!important;border-color:var(--green)!important;color:#0E1530!important}
.gallery .filters button:nth-child(4):hover,.gallery .filters button:nth-child(4).active{background:var(--orange)!important;border-color:var(--orange)!important;color:#0E1530!important}
.gallery .filters button:nth-child(5):hover,.gallery .filters button:nth-child(5).active{background:var(--purple)!important;border-color:var(--purple)!important}

/* TOPPERS — colorful */
.toppers .head h2 .accent{color:var(--yellow)!important}
.toppers{background:linear-gradient(180deg,var(--cream-2) 0%,#fff 100%)!important}
.topper:nth-child(1){--c:var(--pink)}
.topper:nth-child(2){--c:var(--teal)}
.topper:nth-child(3){--c:var(--yellow)}
.topper:nth-child(4){--c:var(--purple)}
.topper:nth-child(5){--c:var(--green)}
.topper .photo{border-color:var(--c)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 18%,#fff) 0%,#fff 100%)!important;color:var(--c)!important}
.topper .photo::after{background:var(--c)!important}
.topper .pct{color:var(--c)!important}
.topper::before{background:var(--c)!important}

/* PRINCIPAL */
.principal h2 .accent{color:var(--yellow)!important}
.principal .photo-frame::before{border-color:var(--pink)!important;border-width:3px!important}
.principal .photo .stamp-mini{background:var(--yellow)!important;color:var(--navy-900)!important}

/* AFFILIATIONS - rainbow border tops */
.affil .badge-a:nth-child(1){border-top:3px solid var(--pink)!important}
.affil .badge-a:nth-child(2){border-top:3px solid var(--yellow)!important}
.affil .badge-a:nth-child(3){border-top:3px solid var(--green)!important}
.affil .badge-a:nth-child(4){border-top:3px solid var(--teal)!important}
.affil .badge-a:nth-child(5){border-top:3px solid var(--purple)!important}
.affil .badge-a:nth-child(1) .ic{background:var(--pink)!important;color:#fff!important}
.affil .badge-a:nth-child(2) .ic{background:var(--yellow)!important;color:var(--navy)!important}
.affil .badge-a:nth-child(3) .ic{background:var(--green)!important;color:#fff!important}
.affil .badge-a:nth-child(4) .ic{background:var(--teal)!important;color:#fff!important}
.affil .badge-a:nth-child(5) .ic{background:var(--purple)!important;color:#fff!important}

/* NEWS */
.news .head h2 .accent{color:var(--green)!important}
.news-card:nth-child(1){--c:var(--pink)}
.news-card:nth-child(2){--c:var(--orange)}
.news-card:nth-child(3){--c:var(--purple)}
.news-card{border-top:4px solid var(--c)!important}
.news-card .date .mon{color:var(--c)!important}
.news-card .meta{color:var(--c)!important}
.news-card .more{color:var(--c)!important}

/* ADMIT */
.admit .head h2 .accent,.admit h2 .accent{color:var(--pink)!important}
.admit .deco-blob{background:radial-gradient(circle,var(--yellow) 0%,transparent 70%)!important;opacity:.4!important}
.admit .step:nth-child(1) .n{background:var(--pink)!important}
.admit .step:nth-child(2) .n{background:var(--green)!important}
.admit .step:nth-child(3) .n{background:var(--orange)!important}
.admit .step:nth-child(4) .n{background:var(--purple)!important}
.admit .form-card::before{background:var(--np-purple,var(--purple))!important;height:6px!important}

/* Eyebrow color override on per-section */
.welcome .eyebrow{color:var(--pink)!important}
.welcome .eyebrow::before{background:var(--pink)!important}
.pillars .eyebrow{color:var(--purple)!important}
.pillars .eyebrow::before{background:var(--purple)!important}
.phases .eyebrow{color:var(--pink)!important}
.phases .eyebrow::before{background:var(--pink)!important}
.edge .eyebrow{color:var(--pink)!important}
.edge .eyebrow::before{background:var(--pink)!important}
.programs .eyebrow{color:var(--pink)!important}
.programs .eyebrow::before{background:var(--pink)!important}
.testi .eyebrow{color:var(--yellow)!important}
.testi .eyebrow::before{background:var(--yellow)!important}
.gallery .eyebrow{color:var(--pink)!important}
.gallery .eyebrow::before{background:var(--pink)!important}
.toppers .eyebrow{color:var(--pink)!important}
.toppers .eyebrow::before{background:var(--pink)!important}
.news .eyebrow{color:var(--pink)!important}
.news .eyebrow::before{background:var(--pink)!important}
.admit .eyebrow{color:var(--pink)!important}
.admit .eyebrow::before{background:var(--pink)!important}
.inspire .eyebrow{color:var(--orange)!important}
.inspire .eyebrow::before{background:var(--orange)!important}

/* Buttons get a touch of warmth on hover */
.btn-primary{background:var(--red)!important}
.btn-primary:hover{background:var(--pink)!important;box-shadow:0 12px 28px rgba(255,79,138,.4)!important}

/* Footer rainbow strip on top */
.footer{background:var(--navy-900)!important;position:relative}
.footer::before{display:none!important}
.footer .brand-blk .tg{color:var(--yellow)!important}

/* Section headings — bigger and italic flair on accent */
section h2 .accent{position:relative}
section h2 .accent::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.16em;background:currentColor;opacity:.18;border-radius:6px;z-index:-1}

/* Hide decorative scribble elements on mobile — prevent overflow */
@media (max-width:880px){
  .welcome .image-stack .scribble-deco{display:none}
}
