/* Festive party palette: fuchsia + sunshine + turquoise + grape, playful Arabic display face */
:root{
  --ink:#2b1b3d; --muted:#6c5f7d; --line:#f0e3ef; --bg:#fffaf6; --card:#ffffff;
  --pink:#e8457f; --pink-d:#c42d66; --sun:#ffc23d; --teal:#17b3a6; --grape:#7a4fd6; --wa:#1fa855;
  --brand:var(--pink); --brand-d:var(--pink-d);
  --tint-pink:#fff0f5; --tint-sun:#fff8e6; --tint-teal:#ebfaf8; --tint-grape:#f4efff;
  --display:"Baloo Bhaijaan 2","Tajawal",system-ui,sans-serif;
  --r:18px; --max:1120px;
  --bunting:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='22'%3E%3Cpath d='M0 2 Q80 7 160 2' stroke='%23c9b6d6' fill='none' stroke-width='1.5'/%3E%3Cpath d='M4 3 L20 3 L12 20Z' fill='%23e8457f'/%3E%3Cpath d='M44 4 L60 4 L52 21Z' fill='%23ffc23d'/%3E%3Cpath d='M84 4 L100 4 L92 21Z' fill='%2317b3a6'/%3E%3Cpath d='M124 3 L140 3 L132 20Z' fill='%237a4fd6'/%3E%3C/svg%3E");
  --confetti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Ccircle cx='20' cy='30' r='4' fill='%23ffc23d'/%3E%3Crect x='70' y='18' width='12' height='5' rx='2' fill='%2317b3a6' transform='rotate(30 76 20)'/%3E%3Ccircle cx='150' cy='60' r='3' fill='%23fff'/%3E%3Crect x='200' y='40' width='12' height='5' rx='2' fill='%23ffc23d' transform='rotate(-25 206 42)'/%3E%3Ccircle cx='40' cy='130' r='3' fill='%23e8457f'/%3E%3Crect x='110' y='120' width='12' height='5' rx='2' fill='%23fff' transform='rotate(60 116 122)'/%3E%3Ccircle cx='190' cy='150' r='5' fill='%2317b3a6'/%3E%3Crect x='20' y='200' width='12' height='5' rx='2' fill='%23e8457f' transform='rotate(-40 26 202)'/%3E%3Ccircle cx='120' cy='210' r='4' fill='%23ffc23d'/%3E%3Crect x='210' y='205' width='12' height='5' rx='2' fill='%237a4fd6' transform='rotate(15 216 207)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Tajawal",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.85;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--pink-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
h1,h2,h3,.logo b,.cta h2{font-family:var(--display);text-wrap:balance}

/* header with bunting */
.top{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 0 var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:22px;background:var(--bunting) repeat-x;background-size:160px 22px;pointer-events:none}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);line-height:1.15}
.logo::before{content:"";width:34px;height:42px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 42'%3E%3Cellipse cx='12' cy='13' rx='9' ry='11' fill='%23e8457f'/%3E%3Cellipse cx='23' cy='16' rx='9' ry='11' fill='%23ffc23d'/%3E%3Cpath d='M12 24 Q14 33 17 41 M23 27 Q20 34 17 41' stroke='%237a4fd6' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.logo>*{display:block}
.logo b{font-size:25px;color:var(--pink)}
.logo span{font-size:12.5px;color:var(--muted);font-family:"Tajawal",sans-serif}
.nav{display:flex;gap:2px;flex-wrap:wrap}
.nav a{padding:7px 11px;border-radius:30px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500}
.nav a:hover{background:var(--tint-pink);color:var(--pink-d)}
.nav a.on{background:var(--pink);color:#fff}
.menu-btn{display:none;background:var(--tint-pink);color:var(--pink-d);border:0;border-radius:30px;padding:7px 14px;font:inherit;font-weight:700;cursor:pointer}
@media (max-width:1020px){
  .nav{display:none;position:absolute;top:68px;right:0;left:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:26px 14px 14px;z-index:2}
  .nav.open{display:flex}
  .menu-btn{display:block}
}

/* hero: photo + festive gradient + confetti + wave */
.hero{position:relative;color:#fff;background:linear-gradient(120deg,var(--grape),var(--pink));overflow:hidden}
.hero img{width:100%;height:460px;object-fit:cover;opacity:.38;mix-blend-mode:luminosity}
.hero::before{content:"";position:absolute;inset:0;background:var(--confetti);background-size:240px;opacity:.9;pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:46px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46 L0 22 Q150 0 300 22 T600 22 T900 22 T1200 22 L1200 46Z' fill='%23fffaf6'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero .in{position:absolute;inset:0;display:flex;align-items:center;z-index:1;padding-bottom:30px}
.hero h1{font-size:46px;line-height:1.3;margin:0 0 10px;max-width:780px;text-shadow:0 2px 14px rgba(60,10,60,.25)}
.hero h1::after{content:"";display:block;width:90px;height:8px;margin-top:10px;border-radius:8px;background:linear-gradient(90deg,var(--sun) 0 33%,var(--teal) 33% 66%,#fff 66%)}
.hero p{font-size:19px;max-width:640px;margin:0 0 22px;color:#fff6fb}
@media (max-width:640px){.hero img{height:430px}.hero h1{font-size:31px}.hero p{font-size:16.5px}}

.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:40px;text-decoration:none;font-weight:700;font-size:16px;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,.nav a:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn.wa{background:var(--wa);color:#fff;box-shadow:0 6px 16px rgba(31,168,85,.3)}
.btn.call{background:var(--sun);color:var(--ink)}
.btn.ghost{border:2px solid var(--pink);color:var(--pink-d);background:#fff}
.btn.ghost:hover{background:var(--tint-pink)}

/* sections: alternating soft festive tints */
main section{padding:46px 0}
main>section:nth-of-type(even){background:var(--tint-sun)}
main>section:nth-of-type(4n){background:var(--tint-teal)}
h2{font-size:31px;line-height:1.35;margin:0 0 14px;color:var(--grape)}
h3{font-size:22px;margin:22px 0 8px;color:var(--pink-d)}
.lead{font-size:18.5px;color:#43365a}
ul li::marker{color:var(--pink)}

/* cards with rotating party colors */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(122,79,214,.10);border-top:6px solid var(--pink);transition:transform .2s ease,box-shadow .2s ease}
.card:nth-child(4n+2){border-top-color:var(--sun)}
.card:nth-child(4n+3){border-top-color:var(--teal)}
.card:nth-child(4n+4){border-top-color:var(--grape)}
.card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 12px 28px rgba(232,69,127,.18)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card .b{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{margin:0;font-size:21px;color:var(--ink)}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.card a.more{margin-top:auto;font-weight:700;text-decoration:none;color:var(--pink-d)}

.two{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.two img{border-radius:28px 28px 28px 6px;aspect-ratio:3/2;object-fit:cover;box-shadow:12px 12px 0 var(--sun)}
@media (max-width:640px){.two img{box-shadow:8px 8px 0 var(--sun)}}

.pill-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.pill-list li{background:#fff;border:2px solid var(--line);border-radius:30px;padding:4px 14px;font-size:15px;font-weight:500}
.pill-list li:nth-child(4n+1){border-color:#f7c3d6}
.pill-list li:nth-child(4n+2){border-color:#ffe2a0}
.pill-list li:nth-child(4n+3){border-color:#a9e6df}
.pill-list li:nth-child(4n+4){border-color:#d5c6f5}

.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{background:#fff;border-radius:var(--r);padding:16px;box-shadow:0 4px 16px rgba(122,79,214,.08)}
.steps li::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;font-weight:800;margin-left:8px;font-family:var(--display)}
.steps li:nth-child(4n+2)::before{background:var(--sun);color:var(--ink)}
.steps li:nth-child(4n+3)::before{background:var(--teal)}
.steps li:nth-child(4n+4)::before{background:var(--grape)}

table.t{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;font-size:16px;box-shadow:0 4px 16px rgba(122,79,214,.08)}
.t th,.t td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
.t th{background:var(--grape);color:#fff;font-weight:700}
.t tr:nth-child(odd) td{background:#fdf9ff}
.note{background:var(--tint-sun);border:2px dashed var(--sun);border-radius:var(--r);padding:12px 16px;font-size:15.5px}

.faq details{background:#fff;border-radius:14px;padding:12px 16px;margin-bottom:10px;box-shadow:0 3px 12px rgba(122,79,214,.07);border-right:5px solid var(--teal)}
.faq details:nth-child(odd){border-right-color:var(--pink)}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin:8px 0 0}

.cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--pink),var(--grape));color:#fff;border-radius:28px;padding:30px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cta::before{content:"";position:absolute;inset:0;background:var(--confetti);background-size:200px;opacity:.7;pointer-events:none}
.cta>*{position:relative}
.cta h2{color:#fff;margin:0 0 4px;font-size:27px}
.cta p{margin:0;color:#fdeef6}
main>section:has(.cta){background:transparent}

.crumbs{font-size:14px;color:var(--muted);padding:14px 18px 0}
.crumbs a{color:var(--muted)}
.article{max-width:820px}
.article img{border-radius:24px;margin:10px 0 18px;aspect-ratio:3/2;object-fit:cover}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gallery figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 4px 16px rgba(122,79,214,.10)}
.gallery figure:nth-child(odd){transform:rotate(-.6deg)}
.gallery figure:nth-child(even){transform:rotate(.6deg)}
.gallery img{aspect-ratio:3/2;object-fit:cover;width:100%}
.gallery figcaption{padding:8px 12px;font-size:14.5px;color:var(--muted)}

/* footer */
footer{position:relative;background:#2d1a4a;color:#e7dcf5;padding:52px 0 90px;margin-top:30px;font-size:15.5px}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:22px;background:var(--bunting) repeat-x;background-size:160px 22px}
footer a{color:#fff;text-decoration:none}
footer .cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
footer h4{color:var(--sun);margin:0 0 8px;font-size:18px;font-family:var(--display)}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:4px 0}
.small{font-size:13px;color:#b9a8d3;margin-top:22px}

/* floating buttons */
.float{position:fixed;bottom:16px;left:16px;right:16px;display:flex;gap:10px;justify-content:flex-start;z-index:30;pointer-events:none}
.float a{pointer-events:auto;box-shadow:0 6px 18px rgba(0,0,0,.18)}
@media (min-width:900px){.float{right:auto}}

.two>*,.grid>*{min-width:0}
.two img,.article img,.hero img{width:100%}
@media (max-width:640px){table.t{display:block;overflow-x:auto;white-space:normal}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.card:hover,.btn:hover{transform:none}}
.logo b,.menu-btn,.nav a{white-space:nowrap}
.nav a{padding:7px 9px;font-size:14.5px}
@media (max-width:1400px){.logo span{display:none}}
.nav{flex-wrap:nowrap}.nav a{padding:7px 8px;font-size:14px}
.toc{background:#fff;border-radius:var(--r);padding:12px 18px;margin:18px 0 0;box-shadow:0 4px 16px rgba(122,79,214,.08);border-right:5px solid var(--sun)}
.toc summary{cursor:pointer;font-weight:700;color:var(--grape)}
.toc summary small{font-weight:400;color:var(--muted)}
.toc ol{margin:8px 0 0;padding-right:22px;columns:2 260px;column-gap:28px}
.toc a{text-decoration:none}
h2[id]{scroll-margin-top:90px}
