/* DANZO — dance page design: bright, colourful "festival" theme.
   Loads after country.css (which gives the shared navy header & footer). */
.dance-page{
 --ink:#1c1240;--txt:#4b4566;--mut:#7c7598;
 --pink:#ff3d7f;--orange:#ff8a3d;--sun:#ffc93c;--teal:#14c8b4;--sky:#3aa8ff;--violet:#7b3dff;--grape:#b23dff;
 --rainbow:linear-gradient(90deg,#ff3d7f,#ff8a3d,#ffc93c,#14c8b4,#3aa8ff,#7b3dff);
 --hot:linear-gradient(110deg,#ff8a3d 0%,#ff3d7f 55%,#b23dff 100%);
 --cool:linear-gradient(120deg,#14c8b4,#3aa8ff 55%,#7b3dff);
 background:#fffaf4;color:var(--ink)}
.dance-page [hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dance-page .foot{margin-top:0}
.dance-page h2{font:800 clamp(26px,3vw,40px)/1.12 var(--serif);margin:0;color:var(--ink)}
.dance-page .lead{color:var(--txt);margin:8px 0 0;font-size:16px;max-width:720px}
.kicker{display:inline-block;font:800 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:30px;margin-bottom:12px;color:#fff}
html[lang="fa"] .kicker{letter-spacing:0;font-size:13px}
.k-teal{background:var(--cool)}.k-orange{background:linear-gradient(100deg,#ff8a3d,#ffc93c)}.k-violet{background:linear-gradient(100deg,#7b3dff,#ff3d7f)}
.k-sun{background:linear-gradient(100deg,#ffc93c,#ff8a3d);color:#3b1d00}.k-white{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.5)}

/* buttons & badges */
.grad-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14.5px;padding:13px 26px;border-radius:40px;white-space:nowrap;transition:transform .25s,box-shadow .25s,background .25s;cursor:pointer}
.grad-btn{background:var(--hot);background-size:160% 100%;color:#fff;box-shadow:0 10px 26px -6px rgba(255,61,127,.55)}
.grad-btn:hover{transform:translateY(-3px) scale(1.02);background-position:100% 0;box-shadow:0 16px 34px -6px rgba(178,61,255,.55)}
.ghost-btn{border:2px solid var(--pink);color:var(--pink);padding:10px 20px;font-size:13.5px;background:#fff}
.ghost-btn:hover{background:var(--pink);color:#fff}
.ghost-btn.light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08)}
.ghost-btn.light:hover{background:#fff;color:var(--violet)}
.badge{display:inline-block;font:800 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border-radius:30px}
html[lang="fa"] .badge{letter-spacing:0;font-size:12px}
.badge.hot{background:var(--hot);color:#fff}
.badge.ghost{background:#fff;color:var(--violet);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.badge.sm{font-size:9.5px;padding:5px 9px;margin-bottom:8px;align-self:flex-start}

/* ===== HERO ===== */
.dhero{position:relative;min-height:clamp(440px,40vw,560px);display:flex;align-items:flex-end;overflow:hidden;background:#2a0b5e;color:#fff}
.dhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08)}}
.dhero::after{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(42,11,94,.92) 0%,rgba(90,20,120,.62) 36%,rgba(255,61,127,.08) 72%,transparent),
 linear-gradient(0deg,rgba(28,18,64,.75) 0%,transparent 40%)}
html[dir="rtl"] .dhero::after{background:linear-gradient(270deg,rgba(42,11,94,.92) 0%,rgba(90,20,120,.62) 36%,rgba(255,61,127,.08) 72%,transparent),linear-gradient(0deg,rgba(28,18,64,.75) 0%,transparent 40%)}
html[dir="rtl"] .dhero>img{transform:scaleX(-1);animation:none}
.aurora{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen}
.aurora i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;animation:float 14s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:420px;height:420px;background:#ff3d7f;left:-120px;bottom:-160px}
.aurora i:nth-child(2){width:360px;height:360px;background:#7b3dff;left:28%;top:-180px;animation-delay:-5s}
.aurora i:nth-child(3){width:300px;height:300px;background:#ffc93c;right:8%;bottom:-200px;opacity:.35;animation-delay:-9s}
@keyframes float{to{transform:translate(60px,-30px) scale(1.15)}}
.dhero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--rainbow);z-index:3}
.dhero-in{position:relative;z-index:2;padding:10px 0 34px}
.dance-page .crumbs{color:#efe6ff}.dance-page .crumbs a:hover{color:#fff}.dance-page .crumbs [aria-current]{color:#ffd76a}
.dance-page .crumbs li+li::before{color:#c9b6ff}
.dance-page .share{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:30px;padding:7px 14px;backdrop-filter:blur(6px)}
.dance-page .share:hover{background:#fff;color:var(--violet)}
.dhero .crumbs-row{margin-bottom:clamp(30px,6vw,80px)}
.dcountry{display:inline-flex;align-items:center;gap:12px;font:800 15px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);padding:6px 18px 6px 6px;border-radius:40px}
html[dir="rtl"] .dcountry{padding:6px 6px 6px 18px}
html[lang="fa"] .dcountry{letter-spacing:0}
.dcountry .flag{width:34px;height:34px;border-radius:50%;margin:0;box-shadow:0 0 0 2px #fff}
.dcountry .flag.svg svg{transform:scale(1.3)}
.dcountry:hover{background:rgba(255,255,255,.25)}
.dhero h1{font:800 clamp(56px,8.5vw,112px)/.98 var(--serif);margin:16px 0 8px;letter-spacing:-.01em;
 background:linear-gradient(180deg,#fff 30%,#ffe3f0);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 24px rgba(0,0,0,.35))}
.tagline{font-size:clamp(18px,2vw,24px);margin:0 0 22px;color:#fff;font-weight:500}
.tagline::before{content:"";display:inline-block;width:42px;height:4px;border-radius:4px;background:var(--hot);vertical-align:middle;margin-inline-end:12px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{--c:#ff3d7f;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);color:var(--ink);border-radius:16px;padding:8px 16px 8px 8px;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);transition:transform .2s}
html[dir="rtl"] .chips li{padding:8px 8px 8px 16px}
.chips li:hover{transform:translateY(-3px) rotate(-1deg)}
.chips li:nth-child(6n+2){--c:#ff8a3d}.chips li:nth-child(6n+3){--c:#e0a800}.chips li:nth-child(6n+4){--c:#14b8a6}.chips li:nth-child(6n+5){--c:#3aa8ff}.chips li:nth-child(6n+6){--c:#7b3dff}
.chips .ci{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--c);color:#fff;flex:none}
.chips svg{width:18px;height:18px}
.chips small{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--c)}
html[lang="fa"] .chips small{letter-spacing:0;font-size:12px}
.chips b{display:block;font-size:14px;font-weight:800}

/* ===== jump bar ===== */
.jump{position:sticky;top:var(--head);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 6px 20px -10px rgba(28,18,64,.25)}
.jump #jump{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0}
.jump a{--c:var(--pink);flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:30px;font-size:13.5px;font-weight:700;color:var(--ink)}
.jump a::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c)}
.jump a:nth-child(2){--c:var(--teal)}.jump a:nth-child(3){--c:var(--orange)}.jump a:nth-child(4){--c:var(--violet)}.jump a:nth-child(5){--c:var(--sun)}
.jump a:hover{background:#f6efff}
.jump a:last-child{margin-inline-start:auto;background:var(--hot);color:#fff}.jump a:last-child::before{background:#fff}

/* ===== bands ===== */
.band{padding:clamp(48px,6vw,84px) 0;position:relative}
.dsec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.mini{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin:0 0 18px}
html[lang="fa"] .mini{letter-spacing:0;font-size:14px}

/* intro band: video + text | school ad */
.b-intro{background:radial-gradient(700px 400px at 0% 0%,rgba(255,201,60,.22),transparent 70%),radial-gradient(700px 500px at 100% 30%,rgba(123,61,255,.12),transparent 70%),#fffaf4;padding-top:40px}
.dgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:36px;align-items:start}
.dside{display:grid;gap:22px;position:sticky;top:calc(var(--head) + 70px)}
.player{border-radius:24px;padding:5px;background:var(--rainbow);box-shadow:0 30px 60px -20px rgba(123,61,255,.45)}
.player .vthumb,.player .vframe{border-radius:20px}
.vthumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#2a0b5e;cursor:pointer;overflow:hidden;color:#fff;font:inherit;text-align:start}
.vthumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .3s}
.vthumb:hover img{transform:scale(1.06);filter:saturate(1.2)}
.playbtn{position:absolute;inset:0;display:grid;place-items:center}
.playbtn svg{width:76px;height:54px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));transition:transform .25s}
.vthumb:hover .playbtn svg{transform:scale(1.15)}
.vcard .playbtn svg{width:52px;height:37px}
.vtop{position:absolute;top:0;inset-inline:0;padding:16px 20px 36px;background:linear-gradient(rgba(20,8,50,.75),transparent);font-size:15px}
.vbadge{position:absolute;bottom:16px;inset-inline-start:16px;display:flex;align-items:center;gap:7px;background:#fff;color:var(--ink);padding:9px 16px;border-radius:30px;font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.vbadge svg{width:22px;height:22px;color:#f00}
.dur{position:absolute;bottom:10px;inset-inline-end:10px;background:rgba(20,8,50,.85);padding:4px 9px;border-radius:20px;font:800 12px var(--sans);direction:ltr}
.vframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.summary{font-size:clamp(18px,1.7vw,21px);line-height:1.6;color:var(--ink);margin:28px 0 0}
.summary b{background:linear-gradient(transparent 60%,rgba(255,201,60,.6) 60%);font-weight:800}
.why{position:relative;margin-top:28px;background:#fff;border-radius:24px;padding:30px 30px 30px;box-shadow:0 20px 50px -24px rgba(28,18,64,.35);border-top:6px solid transparent;border-image:var(--rainbow) 1;border-image-slice:1}
.why{border:0;background:linear-gradient(#fff,#fff) padding-box,var(--rainbow) border-box;border-top:6px solid transparent}
.why-ico{position:absolute;top:-24px;inset-inline-end:28px;width:52px;height:52px;border-radius:50%;background:var(--hot);color:#fff;display:grid;place-items:center;font:800 26px var(--serif);box-shadow:0 10px 24px -6px rgba(255,61,127,.6)}
.why h2{font-size:clamp(24px,2.4vw,30px);margin:0 0 12px;background:var(--hot);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.why p{color:var(--txt);line-height:1.8;margin:0;font-size:16px}

/* featured school (paid Spotlight slot) */
.school-ad{position:relative;border-radius:26px;overflow:hidden;background:linear-gradient(140deg,#7b3dff 0%,#c13dff 45%,#ff3d7f 100%);color:#fff;box-shadow:0 30px 60px -22px rgba(123,61,255,.7);display:grid;grid-template-columns:1.1fr .9fr}
.school-ad::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ffc93c;filter:blur(70px);opacity:.45;left:-90px;bottom:-110px}
.school-ad .sa-ph{grid-column:2;grid-row:1;position:relative;min-height:250px}
.school-ad .sa-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 20%;-webkit-mask:linear-gradient(90deg,transparent,#000 35%);mask:linear-gradient(90deg,transparent,#000 35%)}
html[dir="rtl"] .school-ad .sa-ph img{-webkit-mask:linear-gradient(270deg,transparent,#000 35%);mask:linear-gradient(270deg,transparent,#000 35%)}
.sa-body{grid-column:1;grid-row:1;padding:24px 0 24px 24px;position:relative;z-index:1}
html[dir="rtl"] .sa-body{padding:24px 24px 24px 0}
.sa-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.sa-badges .hot{background:#fff;color:#c13dff}
.school-ad h3{font:800 30px/1.1 var(--serif);margin:0 0 8px}.school-ad h3 a:hover{text-decoration:underline}
.rating{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin-bottom:10px}
.stars i{font-style:normal;color:rgba(255,255,255,.35);font-size:18px}.stars i.on{color:#ffd23c}
.school-ad p{color:#fbefff;font-size:14.5px;margin:0 0 18px}
.school-ad .grad-btn{background:#fff;color:#c13dff;box-shadow:0 10px 24px -6px rgba(0,0,0,.3)}
.school-ad .grad-btn:hover{background:#ffd23c;color:#3b1d00}
.sa-tags{grid-column:1/-1;list-style:none;margin:0;padding:16px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:rgba(30,6,70,.35);position:relative}
.sa-tags li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;font-weight:700}
.sa-tags svg{width:24px;height:24px}
.teach{position:relative;border-radius:26px;overflow:hidden;color:#3b1d00;background:linear-gradient(135deg,#ffd23c,#ff9a3d) !important;box-shadow:0 26px 50px -24px rgba(255,138,61,.8)}
.teach::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.28)}
html[dir="rtl"] .teach::after{right:auto;left:-50px}
.teach-in{position:relative;z-index:1;padding:26px}
.teach .mega{float:inline-start;width:50px;height:50px;margin-inline-end:14px;border-radius:16px;background:#fff;display:grid;place-items:center;color:#ff3d7f;box-shadow:0 8px 18px -6px rgba(0,0,0,.25);transform:rotate(-6deg)}
.teach .mega svg{width:30px;height:30px}
.teach h3{font:800 22px/1.25 var(--serif);margin:0 0 14px}
.teach h3 small{display:block;font:inherit}
.teach p{clear:both;font-size:14.5px;margin:0 0 18px;color:#5a3300}
.teach .grad-btn{background:#1c1240;box-shadow:0 10px 24px -8px rgba(28,18,64,.6)}
.teach .grad-btn:hover{background:#7b3dff}

/* videos band */
.b-videos{background:radial-gradient(600px 300px at 90% 0%,rgba(255,61,127,.45),transparent 70%),radial-gradient(600px 400px at 0% 100%,rgba(20,200,180,.35),transparent 70%),linear-gradient(135deg,#2a0b5e,#4b1590 60%,#2a0b5e);color:#fff}
.b-videos h2{color:#fff}
.ico-h{display:flex;align-items:center;gap:14px}
.ico-h .yt{width:44px;height:44px;border-radius:14px;background:#ff0033;position:relative;flex:none;box-shadow:0 8px 20px -4px rgba(255,0,51,.6)}
.ico-h .yt::after{content:"";position:absolute;inset:13px 13px 13px 17px;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
html[dir="rtl"] .ico-h .yt::after{transform:scaleX(-1)}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vcard{--c:#ff3d7f;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:10px 10px 16px;transition:transform .3s,background .3s,box-shadow .3s}
.vcard:nth-child(4n+2){--c:#14c8b4}.vcard:nth-child(4n+3){--c:#ffc93c}.vcard:nth-child(4n+4){--c:#3aa8ff}
.vcard:hover{transform:translateY(-6px);background:rgba(255,255,255,.14);box-shadow:0 20px 40px -14px var(--c)}
.vcard .vthumb{border-radius:16px;aspect-ratio:16/10}
.vcard h3{font-size:15.5px;margin:12px 6px 3px}.vcard h3 a:hover{color:var(--c)}
.vcard p{margin:0 6px;color:var(--c);font-size:13px;font-weight:700}

/* schools band */
.b-schools{background:linear-gradient(180deg,#effffb,#f4f9ff)}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.tabs button{border:2px solid #d5f3ef;background:#fff;color:var(--ink);padding:9px 18px;border-radius:30px;font-weight:800;font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center;transition:all .2s}
.tabs button:hover{border-color:var(--teal)}
.tabs button i{font-style:normal;font-size:11.5px;background:#e6faf7;color:#0f9b8b;border-radius:10px;padding:2px 8px}
.tabs button[aria-selected="true"]{background:var(--cool);color:#fff;border-color:transparent;box-shadow:0 10px 22px -8px rgba(58,168,255,.7)}
.tabs button[aria-selected="true"] i{background:rgba(255,255,255,.25);color:#fff}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.scard{--c:#14c8b4;--c2:#3aa8ff;position:relative;display:flex;gap:14px;background:#fff;border-radius:22px;padding:24px 20px 20px;box-shadow:0 18px 40px -24px rgba(20,60,90,.45);overflow:hidden;transition:transform .25s,box-shadow .25s}
.scard::before{content:"";position:absolute;top:0;inset-inline:0;height:6px;background:linear-gradient(90deg,var(--c),var(--c2))}
.scard:nth-child(4n+2){--c:#7b3dff;--c2:#ff3d7f}.scard:nth-child(4n+3){--c:#ff8a3d;--c2:#ffc93c}.scard:nth-child(4n+4){--c:#3aa8ff;--c2:#7b3dff}
.scard:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px var(--c)}
.scard.feat{outline:3px solid var(--pink);outline-offset:-3px}
.s-ico{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 18px -6px var(--c)}
.s-ico svg{width:26px;height:26px}
.s-ph{width:64px;height:64px;border-radius:16px;overflow:hidden;flex:none}.s-ph img{width:100%;height:100%;object-fit:cover}
.s-body{display:flex;flex-direction:column;min-width:0;flex:1}
.scard h3{font-size:17px;margin:0 0 5px;line-height:1.3;color:var(--ink)}
.scard p{margin:0 0 6px;color:var(--txt);font-size:14px}
.s-city{display:flex;align-items:center;gap:5px;color:var(--c)!important;font-weight:800}
.s-city svg{width:14px;height:14px;flex:none}
.s-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px;padding:0}
.s-tags li{font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:20px;background:#f2eefe;color:#5b2bd6}
.s-tags li:nth-child(2){background:#fff1e6;color:#c25a00}.s-tags li:nth-child(3){background:#e6faf7;color:#0f8a7c}
.s-go{margin-top:auto;font-weight:800;font-size:13.5px;color:var(--c);display:flex;gap:6px}
.scard.empty{background:repeating-linear-gradient(135deg,#fff,#fff 12px,#fff6fb 12px,#fff6fb 24px);border:2px dashed var(--pink);box-shadow:none}
.scard.empty::before{display:none}
.scard.empty .s-ico{background:var(--hot);font:400 32px/1 var(--sans)}.scard.empty .s-go{color:var(--pink)}

/* promotion band — vivid */
.b-promo{background:radial-gradient(500px 300px at 10% 10%,rgba(255,201,60,.55),transparent 70%),radial-gradient(600px 400px at 90% 90%,rgba(58,168,255,.45),transparent 70%),linear-gradient(120deg,#ff3d7f,#b23dff 55%,#7b3dff);color:#fff;overflow:hidden}
.b-promo::before{content:"✦  ✧  ✦";position:absolute;top:30px;right:6%;font-size:34px;letter-spacing:18px;opacity:.35}
.promo-head{text-align:center;margin-bottom:36px}.promo-head h2{color:#fff}.promo-head .lead{margin-inline:auto;color:#ffeaf6;font-size:17px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;max-width:1080px;margin:0 auto}
.plan{position:relative;display:flex;flex-direction:column;background:#fff;color:var(--ink);border-radius:26px;padding:30px 26px 26px;box-shadow:0 30px 60px -30px rgba(30,0,70,.7);transition:transform .3s}
.plan:hover{transform:translateY(-6px)}
.plan::before{content:"";width:46px;height:46px;border-radius:14px;margin-bottom:16px;background:var(--cool)}
.plan:nth-child(3)::before{background:linear-gradient(135deg,#ffc93c,#ff8a3d)}
.plan.pop{background:#1c1240;color:#fff;transform:scale(1.05);box-shadow:0 40px 70px -30px rgba(0,0,0,.8),0 0 0 3px #ffc93c}
.plan.pop:hover{transform:scale(1.05) translateY(-6px)}
.plan.pop::before{background:var(--hot)}
.plan .badge{position:absolute;top:-13px;inset-inline-start:26px;background:linear-gradient(100deg,#ffc93c,#ff8a3d);color:#3b1d00}
.plan h3{font:800 25px var(--serif);margin:0 0 16px}
.plan ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.plan li{display:flex;gap:10px;color:var(--txt);font-size:14.5px}.plan.pop li{color:#e5ddff}
.plan li svg{width:20px;height:20px;flex:none;color:#fff;background:#14c8b4;border-radius:50%;padding:3px;margin-top:1px}
.plan>a{margin-top:auto}
.plan .ghost-btn{border-color:var(--violet);color:var(--violet)}.plan .ghost-btn:hover{background:var(--violet);color:#fff}

/* dancers band */
.b-dancers{background:radial-gradient(500px 300px at 100% 0%,rgba(255,138,61,.18),transparent 70%),#fffaf4}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.pcard{display:flex;align-items:center;gap:16px;background:#fff;border-radius:22px;padding:18px;box-shadow:0 18px 40px -26px rgba(90,40,0,.45);transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 26px 50px -24px rgba(255,61,127,.5)}
.av{position:relative;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;flex:none;font:800 21px var(--sans);color:#fff;background:linear-gradient(135deg,hsl(var(--h,10) 90% 60%),hsl(calc(var(--h,10) + 60) 85% 52%));box-shadow:0 0 0 3px #fff,0 0 0 6px hsl(var(--h,10) 90% 70%)}
.av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.p-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.p-body b{font-size:16.5px;color:var(--ink)}.p-body small{color:var(--mut);font-size:13.5px}
.p-yt{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12.5px;font-weight:800;color:#fff;background:#ff0033;border-radius:20px;padding:4px 11px 4px 8px;margin-top:6px}
.p-yt svg{width:16px;height:16px}
.pcard.empty{background:transparent;border:2px dashed var(--orange);box-shadow:none}
.av.plus{background:linear-gradient(135deg,#ff8a3d,#ffc93c);font:400 32px/1 var(--sans);box-shadow:none}

/* story band */
.b-story{background:linear-gradient(160deg,#f3edff,#fff0f7)}
.story-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:start}
.tl-card{background:#fff;border-radius:26px;padding:30px;box-shadow:0 20px 50px -28px rgba(80,30,160,.45)}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;inset-block:8px;inset-inline-start:9px;width:4px;border-radius:4px;background:linear-gradient(#ff3d7f,#ff8a3d,#ffc93c,#14c8b4,#7b3dff)}
.timeline li{--c:#ff3d7f;position:relative;padding-inline-start:40px;padding-bottom:20px}
.timeline li:nth-child(2){--c:#ff8a3d}.timeline li:nth-child(3){--c:#e0a800}.timeline li:nth-child(4){--c:#14b8a6}.timeline li:nth-child(n+5){--c:#7b3dff}
.timeline li::before{content:"";position:absolute;inset-inline-start:0;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;border:5px solid var(--c);box-sizing:border-box;box-shadow:0 0 0 4px #fff}
.timeline b{display:inline-block;font:800 13px var(--sans);letter-spacing:.04em;color:#fff;background:var(--c);border-radius:20px;padding:4px 12px}
.timeline p{margin:8px 0 0;color:var(--txt);font-size:15.5px}
.dyk{position:relative;background:linear-gradient(150deg,#14c8b4,#3aa8ff);color:#fff;border-radius:26px;padding:30px;box-shadow:0 26px 50px -26px rgba(58,168,255,.8)}
.dyk .mini{color:#fff}
.bulb{position:absolute;top:-22px;inset-inline-end:24px;width:52px;height:52px;border-radius:50%;background:#ffd23c;display:grid;place-items:center;font-size:26px;box-shadow:0 10px 24px -6px rgba(0,0,0,.3)}
.dyk ul{margin:0;padding:0;list-style:none;display:grid;gap:16px}
.dyk li{position:relative;padding-inline-start:30px;font-size:15px;line-height:1.55}
.dyk li::before{content:"★";position:absolute;inset-inline-start:0;color:#ffd23c;font-size:18px;line-height:1.2}

/* events band */
.b-events{background:#fffaf4}
.egrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.ecard{--c:#ff3d7f;--c2:#ff8a3d;display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:22px;padding:22px;box-shadow:0 18px 40px -26px rgba(90,40,0,.5);border-bottom:5px solid var(--c);transition:transform .25s}
.ecard:nth-child(4n+2){--c:#14c8b4;--c2:#3aa8ff}.ecard:nth-child(4n+3){--c:#ffc93c;--c2:#ff8a3d}.ecard:nth-child(4n+4){--c:#7b3dff;--c2:#ff3d7f}
.ecard:hover{transform:translateY(-5px)}
.e-when{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:linear-gradient(100deg,var(--c),var(--c2));padding:7px 13px;border-radius:20px}
html[lang="fa"] .e-when{letter-spacing:0}
.e-when svg,.ecard small svg{width:15px;height:15px;flex:none}
.ecard b{font-size:17px;color:var(--ink);line-height:1.3}.ecard small{display:flex;gap:6px;align-items:center;color:var(--mut);font-size:13.5px}

/* doorway cards */
.b-doors{background:linear-gradient(180deg,#fffaf4,#f3edff);padding-top:10px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.door{--c:#ff3d7f;--c2:#b23dff;position:relative;display:flex;flex-direction:column;background:#fff;border-radius:26px;overflow:hidden;padding:0 26px 26px;box-shadow:0 24px 50px -28px rgba(28,18,64,.5);transition:transform .3s,box-shadow .3s}
.door:nth-child(2){--c:#ff8a3d;--c2:#ffc93c}.door:nth-child(3){--c:#14c8b4;--c2:#3aa8ff}
.door:hover{transform:translateY(-8px);box-shadow:0 34px 60px -28px var(--c)}
.door-ph{position:relative;margin:0 -26px;aspect-ratio:16/9;overflow:hidden}
.door-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--c) 0%,transparent 45%);opacity:.55}
.door-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.door:hover .door-ph img{transform:scale(1.08)}
.door-ico{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;display:grid;place-items:center;margin-top:-30px;position:relative;box-shadow:0 0 0 5px #fff,0 12px 24px -8px var(--c);transform:rotate(-6deg)}
.door-ico svg{width:28px;height:28px;transform:rotate(6deg)}
.door h3{font:800 24px var(--serif);margin:16px 0 8px;color:var(--ink)}
.door p{color:var(--txt);font-size:15px;margin:0 0 20px}
.door .grad-btn{margin-top:auto;background:linear-gradient(110deg,var(--c),var(--c2));box-shadow:0 10px 24px -8px var(--c)}

/* related dances */
.b-related{background:#f3edff}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.rcard{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 16px 30px -18px rgba(28,18,64,.6);transition:transform .3s}
.rcard:hover{transform:translateY(-6px) rotate(-1deg)}
.r-ph{position:absolute;inset:0}.r-ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rcard:hover .r-ph img{transform:scale(1.08)}
.rcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(123,61,255,.9) 0%,rgba(255,61,127,.35) 45%,transparent 70%)}
.rcard:nth-child(3n+2)::after{background:linear-gradient(0deg,rgba(255,138,61,.92) 0%,rgba(255,201,60,.3) 45%,transparent 70%)}
.rcard:nth-child(3n+3)::after{background:linear-gradient(0deg,rgba(20,180,170,.92) 0%,rgba(58,168,255,.3) 45%,transparent 70%)}
.rcard b{position:absolute;z-index:1;bottom:14px;inset-inline:14px;color:#fff;font-size:15.5px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.3)}

/* ===== responsive ===== */
@media(max-width:1100px){.dgrid{grid-template-columns:1fr}.dside{position:static;grid-template-columns:1fr 1fr}.vgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.plans,.cards3,.story-grid{grid-template-columns:1fr}.plan.pop,.plan.pop:hover{transform:none}.dside{grid-template-columns:1fr}}
@media(max-width:640px){
 .dhero{min-height:0}.dhero::after{background:linear-gradient(0deg,rgba(42,11,94,.95) 10%,rgba(90,20,120,.6) 60%,rgba(42,11,94,.35))!important}
 .dhero>img{object-position:70% center}
 .chips{gap:8px}.chips li{padding:6px 12px 6px 6px}.chips .ci{width:28px;height:28px}.chips b{font-size:12.5px}
 .vgrid{gap:12px}.vcard{padding:6px 6px 12px;border-radius:16px}.vcard h3{font-size:13.5px}
 .school-ad{grid-template-columns:1fr 120px}.sa-body{padding:20px 0 20px 20px}.school-ad h3{font-size:24px}
 .vtop{font-size:13px;padding:10px 12px 24px}.vbadge{font-size:12px;padding:6px 11px}
 .why{padding:26px 20px 22px}.tl-card,.dyk{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.dhero>img,.aurora i{animation:none}}

/* ===== how it's danced ===== */
.how{margin-top:28px;background:linear-gradient(140deg,#effffb,#eef6ff);border-radius:24px;padding:28px 30px}
.how h2{font-size:clamp(22px,2.2vw,28px);margin:0 0 18px;color:#0b7f73}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.steps li{--c:#14c8b4;display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:18px;padding:16px;box-shadow:0 12px 28px -20px rgba(20,90,120,.6)}
.steps li:nth-child(2){--c:#3aa8ff}.steps li:nth-child(3){--c:#7b3dff}.steps li:nth-child(4){--c:#ff3d7f}.steps li:nth-child(5){--c:#ff8a3d}
.steps .num{flex:none;width:38px;height:38px;border-radius:12px;background:var(--c);color:#fff;display:grid;place-items:center;font:800 18px var(--sans);box-shadow:0 8px 16px -6px var(--c)}
.steps p{margin:0;color:var(--txt);font-size:14.5px;line-height:1.55}

/* ===== yellow advertising panel ===== */
.teach .perks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}
.teach .perks li{display:flex;gap:10px;font-size:14px;font-weight:600;color:#4a2a00}
.teach .perks svg{width:20px;height:20px;flex:none;color:#fff;background:#1c1240;border-radius:50%;padding:3px}
.teach.big{background:linear-gradient(150deg,#ffe066 0%,#ffb13d 45%,#ff7a3d 100%)!important;box-shadow:0 34px 70px -30px rgba(255,122,61,.9)}
.teach.big::before{content:"";position:absolute;left:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,61,127,.25);filter:blur(10px)}
.teach.big .teach-in{padding:30px 28px}
.badge.spot{background:#1c1240;color:#ffd23c;margin-bottom:14px}
.teach.big h3{font:800 clamp(26px,2.4vw,32px)/1.12 var(--serif);margin:0 0 10px;color:#2a1200}
.teach.big>.teach-in>p{color:#4a2a00;font-size:15px;margin:0 0 18px}
.mock{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.75);border:2px dashed rgba(28,18,64,.35);border-radius:18px;padding:14px;margin-bottom:20px;transition:transform .25s,background .25s}
.mock:hover{transform:scale(1.02);background:#fff}
.mock-ph{width:72px;height:72px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#7b3dff,#ff3d7f)}
.mock-ph svg{width:34px;height:34px}
.mock-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.mock-b b{font:800 18px var(--serif);color:#1c1240}
.mock-b .stars i{font-size:15px;color:#e8b400}
.mock-b small{color:#6b4a1a;font-size:12.5px}
.teach-btns{display:flex;flex-wrap:wrap;gap:10px}
.ghost-btn.dark{border-color:#1c1240;color:#1c1240;background:transparent}.ghost-btn.dark:hover{background:#1c1240;color:#fff}
@media(max-width:640px){.steps{grid-template-columns:1fr}.how{padding:24px 18px}}

/* vacant Spotlight card + add-event card */
.school-ad.vacant .sa-ph img{filter:saturate(1.15)}
.school-ad.vacant h3 a{border-bottom:3px dashed rgba(255,255,255,.6)}
.ecard.empty{background:repeating-linear-gradient(135deg,#fff,#fff 12px,#fff8ec 12px,#fff8ec 24px);border:2px dashed var(--orange);border-bottom-width:2px;box-shadow:none}
.ecard.empty .e-when{background:linear-gradient(100deg,#ff8a3d,#ffc93c);font-size:16px;padding:4px 12px}
