/* Fiesta Kids: confetti, balloons and bounce. Glossy pill buttons, wavy section edges, springy motion.
   Colours are in :root; --theme changes when a party theme is picked. Logical properties keep Arabic mirrored. */
@font-face{font-family:"Fredoka";src:url(../fonts/fredoka-latin-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Fredoka";src:url(../fonts/fredoka-latin-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito";src:url(../fonts/nunito-latin-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito";src:url(../fonts/nunito-latin-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Changa";src:url(../fonts/changa-arabic-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC,U+200C-200E}
@font-face{font-family:"Changa";src:url(../fonts/changa-arabic-800.woff2) format("woff2");font-weight:700 800;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC,U+200C-200E}
@font-face{font-family:"Changa";src:url(../fonts/changa-latin-800.woff2) format("woff2");font-weight:500 800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}

:root{
  --grape:#4B1FB8; --violet:#7B3FF2; --coral:#FF5A5F; --sun:#FFC400; --sky:#28B5FF; --lime:#8BE04A; --pink:#FF7AC8; --ink:#24124A;
  --theme:#8BE04A; --theme-fg:#24124A; --dir:1;
  --f-head:"Fredoka","Changa",system-ui,sans-serif; --f-body:"Nunito","Changa",system-ui,sans-serif;
  --spring:cubic-bezier(.34,1.56,.64,1); --shade:0 7px 0 rgba(36,18,74,.28);
  --wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v18c-120 30-240 30-360 0S840-12 720 18 480 48 360 18 120-12 0 18z'/%3E%3C/svg%3E");
}
[dir=rtl]{--dir:-1}
[data-lang=ar]{--f-head:"Changa","Fredoka",sans-serif;--f-body:"Changa","Nunito",sans-serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--f-body);font-weight:700;font-size:1.1rem;line-height:1.5;overflow-x:clip}
[data-lang=ar] body{font-weight:500;font-size:1.08rem;line-height:1.7}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
img.noimg{visibility:hidden}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select{font:inherit;color:inherit}
[data-lang=ar] *{letter-spacing:0!important}
.sprite{position:absolute;width:0;height:0}
.c-coral{color:var(--coral)}
:focus-visible{outline:4px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px #fff}
.skip{position:absolute;inset-inline-start:10px;top:-80px;background:var(--sun);padding:10px 16px;border-radius:999px;z-index:300;font-family:var(--f-head)}
.skip:focus{top:10px}
.wrap{width:min(1160px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px)}
.hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;opacity:0}
.small{font-size:.95rem;opacity:.9;margin-top:14px;font-weight:500}
#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:120}

/* header: floating pill + hanging bunting */
.top{position:relative;height:0;z-index:70}
.bunting{position:absolute;top:0;inset-inline:0;width:100%;height:56px;pointer-events:none;transform-origin:top;animation:sway 5s ease-in-out infinite alternate}
@keyframes sway{from{transform:skewX(-1.5deg)}to{transform:skewX(1.5deg)}}
.pill{position:fixed;top:10px;inset-inline:0;margin-inline:auto;width:min(1100px,100% - 20px);background:rgba(255,255,255,.96);border-radius:30px;box-shadow:0 8px 0 rgba(36,18,74,.18);display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:8px 14px;z-index:70}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--f-head);font-weight:700;font-size:1.5rem;line-height:1;margin-inline-end:auto}
.nav{display:flex;gap:2px;order:3;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.nav::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap;text-decoration:none;padding:6px 14px;border-radius:999px;font-family:var(--f-head);font-weight:500;font-size:1.05rem;transition:transform .25s var(--spring),background .2s}
.nav a:hover,.nav a:focus-visible{background:var(--sun);transform:scale(1.08) rotate(-2deg)}
.lang{border:0;background:var(--violet);color:#fff;border-radius:999px;padding:8px 18px;font-family:var(--f-head);font-weight:700;cursor:pointer;box-shadow:0 4px 0 var(--grape);transition:transform .2s var(--spring)}
.lang:hover{transform:scale(1.08)}.lang:active{transform:translateY(3px);box-shadow:0 1px 0 var(--grape)}
@media(min-width:900px){.pill{border-radius:999px;flex-wrap:nowrap}.nav{order:0;width:auto;margin-inline-end:8px}}

/* glossy buttons */
.bubble-btn{display:inline-block;border:0;cursor:pointer;text-decoration:none;text-align:center;font-family:var(--f-head);font-weight:700;font-size:1.35rem;line-height:1.1;padding:15px 30px;border-radius:999px;color:var(--ink);
  box-shadow:0 7px 0 rgba(36,18,74,.35),inset 0 -5px 0 rgba(0,0,0,.12),inset 0 5px 0 rgba(255,255,255,.4);transition:transform .25s var(--spring),box-shadow .2s}
[data-lang=ar] .bubble-btn{font-size:1.2rem}
.bubble-btn.sun{background:var(--sun)}.bubble-btn.coral{background:var(--coral)}.bubble-btn.white{background:#fff}.bubble-btn.big{font-size:1.5rem;width:100%}
.bubble-btn:hover{transform:translateY(-4px) scale(1.05) rotate(-1deg)}
.bubble-btn:active{transform:translateY(5px) scale(1.02,.92);box-shadow:0 2px 0 rgba(36,18,74,.35),inset 0 -5px 0 rgba(0,0,0,.12),inset 0 5px 0 rgba(255,255,255,.4)}

.rv-on .rv:not(.in){opacity:0;transform:translateY(34px) scale(.96)}
.rv{transition:opacity .5s ease,transform .8s var(--spring)}

/* hero */
.hero{position:relative;background:linear-gradient(160deg,#4B1FB8 0%,#6A33E0 55%,#8F52FF 100%);color:#fff;padding:140px 0 120px;overflow:hidden}
.balloons{position:absolute;inset:0;pointer-events:none}
.fl{position:absolute;bottom:-120px;width:46px;height:78px;opacity:.9;animation:rise var(--d,14s) linear var(--w,0s) infinite}
@keyframes rise{to{transform:translate(var(--x,20px),-125vh) rotate(var(--r,12deg))}}
.hero-grid{position:relative;display:grid;gap:44px;align-items:center}
.chip-k{display:inline-block;background:var(--sun);color:var(--ink);font-family:var(--f-head);font-weight:700;padding:6px 18px;border-radius:999px;transform:rotate(-3deg);box-shadow:0 4px 0 rgba(36,18,74,.35)}
.hero h1{font-family:var(--f-head);font-weight:700;font-size:clamp(3.6rem,17vw,8.4rem);line-height:.98;margin:20px 0 14px;text-shadow:0 7px 0 rgba(36,18,74,.35)}
[data-lang=ar] .hero h1{line-height:1.2}
.w{display:inline-block;white-space:nowrap}
.ch{display:inline-block;animation:hop 4.5s var(--spring) infinite;animation-delay:calc(var(--i) * 70ms)}
.ch:nth-child(5n+1){color:var(--sun)}.ch:nth-child(5n+2){color:#fff}.ch:nth-child(5n+3){color:var(--pink)}.ch:nth-child(5n+4){color:#7EDCFF}.ch:nth-child(5n){color:var(--lime)}
@keyframes hop{0%,28%,100%{transform:none}10%{transform:translateY(-.22em) rotate(-6deg)}20%{transform:translateY(0) scale(1.08,.9)}}
.lead{font-size:1.3rem;max-width:30em}
[data-lang=ar] .lead{font-size:1.15rem}
.cta{display:flex;flex-wrap:wrap;gap:16px;margin:26px 0 22px}
.trust{display:flex;flex-wrap:wrap;gap:10px}
.trust li{background:rgba(255,255,255,.16);border-radius:999px;padding:6px 16px;font-size:1rem}
.hero-art{position:relative;max-width:520px;width:100%;justify-self:center;padding:10px}
.blob{overflow:hidden;border:10px solid #fff;aspect-ratio:1;border-radius:60% 40% 55% 45% / 50% 55% 45% 50%;box-shadow:0 14px 0 rgba(36,18,74,.3);animation:morph 9s ease-in-out infinite alternate;background:var(--coral)}
.blob img{width:100%;height:100%;object-fit:cover;filter:saturate(1.15) contrast(1.03)}
@keyframes morph{to{border-radius:45% 55% 40% 60% / 60% 45% 55% 40%}}
.sticker{position:absolute;display:grid;place-content:center;text-align:center;width:112px;height:112px;border-radius:50%;font-family:var(--f-head);font-weight:700;line-height:1.1;padding:10px;color:var(--ink);box-shadow:0 6px 0 rgba(36,18,74,.35);animation:bob 3.4s ease-in-out infinite alternate}
.s1{background:var(--sun);inset-inline-start:-4px;top:6px;--rt:-10deg}.s2{background:var(--pink);inset-inline-end:-2px;bottom:10px;--rt:8deg;animation-delay:-1.4s}
@keyframes bob{from{transform:translateY(0) rotate(var(--rt))}to{transform:translateY(-12px) rotate(calc(var(--rt) * -1))}}
.wave{position:absolute;inset-inline:0;bottom:-1px;width:100%;height:70px}
.wave path{fill:#fff}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr}.hero{padding-top:160px}}

.ribbon-wrap{position:relative;z-index:3;overflow:hidden;margin-top:-34px;padding-block:14px}
.ribbon{margin-inline:-20px;background:var(--sun);color:var(--ink);transform:rotate(-1.6deg);overflow:hidden;white-space:nowrap;box-shadow:0 6px 0 rgba(36,18,74,.2)}
.ribbon-track{display:inline-flex;width:max-content;animation:mq 34s linear infinite;padding:12px 0}
[dir=rtl] .ribbon-track{animation-name:mq-r}
.ribbon-track span{font-family:var(--f-head);font-weight:700;font-size:1.4rem;padding-inline:20px;display:inline-flex;align-items:center;gap:40px}
.ribbon-track span::after{content:"";width:16px;height:16px;background:var(--coral);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}@keyframes mq-r{to{transform:translateX(50%)}}

/* sections with wavy tops */
.sec{position:relative;padding:92px 0 80px;--prev:#fff}
.sec::before{content:"";position:absolute;inset-inline:0;top:-1px;height:38px;background:var(--prev);-webkit-mask:var(--wave) 0 0/100% 100% no-repeat;mask:var(--wave) 0 0/100% 100% no-repeat}
.themes{background:#fff;padding-top:80px}.themes::before{display:none}
.build{background:#E6F6FF}.build::before{--prev:#fff}
.invite{background:#FFE6F4}.invite::before{--prev:#E6F6FF}
.moments{background:#FFF6CC}.moments::before{--prev:#FFE6F4}
.faq{background:#EFE7FF}.faq::before{--prev:#FFF6CC}
.head{display:grid;gap:12px;margin-bottom:34px;justify-items:start}
.head h2,.invite h2{font-family:var(--f-head);font-weight:700;font-size:clamp(2.2rem,7.4vw,4rem);line-height:1.05;color:var(--grape)}
[data-lang=ar] .head h2,[data-lang=ar] .invite h2{line-height:1.3}

/* themes: balloon cards */
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
.tcard{position:relative;display:block}
.tcard input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.tcard .b{display:grid;justify-items:center;align-content:center;gap:6px;min-height:200px;padding:20px 10px 30px;text-align:center;background:var(--c);color:var(--fg);border-radius:50% 50% 46% 46% / 58% 58% 42% 42%;box-shadow:inset -14px -14px 0 rgba(0,0,0,.1),inset 10px 10px 0 rgba(255,255,255,.28),var(--shade);transition:transform .35s var(--spring)}
.tcard .b::after{content:"";position:absolute;bottom:-26px;inset-inline-start:50%;height:30px;border-inline-start:3px solid rgba(36,18,74,.45)}
.tcard svg{width:64px;height:64px;color:var(--fg)}
.tcard b{font-family:var(--f-head);font-size:1.3rem;line-height:1.1}
.tcard:hover .b{transform:translateY(-8px) rotate(-3deg) scale(1.04)}
.tcard input:checked + .b{transform:translateY(-10px) scale(1.08);outline:6px solid var(--ink);outline-offset:4px;animation:wob .6s var(--spring)}
.tcard input:focus-visible + .b{outline:6px solid var(--ink);outline-offset:4px}
@keyframes wob{30%{transform:translateY(-10px) scale(1.12) rotate(5deg)}60%{transform:translateY(-10px) scale(1.04) rotate(-4deg)}}
.theme-info{margin-top:44px;display:grid;gap:12px 24px;align-items:center;background:color-mix(in srgb,var(--theme) 22%,#fff);border-radius:34px;padding:26px 24px;box-shadow:var(--shade)}
.theme-info h3{font-family:var(--f-head);font-size:2rem;line-height:1.1}
.theme-info ul{display:grid;gap:6px}
.theme-info li{display:flex;gap:10px;align-items:center}
.theme-info li::before{content:"";width:18px;height:18px;flex:none;background:var(--ink);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
.theme-info .big-i{width:96px;height:96px;color:var(--theme)}
.theme-info .ti-ic{background:var(--ink);border-radius:50%;padding:14px;width:110px;height:110px}
@media(min-width:760px){.theme-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 14px}.tcard .b{min-height:190px}.theme-info{grid-template-columns:auto 1fr 1fr}.tcard b{font-size:1.1rem}}

/* builder */
.build-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}
.steps{display:grid;gap:20px;min-width:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
.card{background:#fff;border-radius:30px;padding:22px 20px 24px;box-shadow:var(--shade)}
.card legend{display:flex;align-items:center;gap:12px;font-family:var(--f-head);font-weight:700;font-size:1.5rem;line-height:1.1;padding:0;margin-bottom:16px;float:left;width:100%}
[dir=rtl] .card legend{float:right}
.card legend + *{clear:both}
.n{display:inline-grid;place-content:center;width:40px;height:40px;border-radius:50%;background:var(--sun);font-family:var(--f-head);flex:none;box-shadow:0 3px 0 rgba(36,18,74,.3)}
.kids{display:flex;align-items:center;gap:20px}
.kids-b{flex:none;display:grid;place-content:center;width:84px;height:100px;background:var(--coral);color:var(--ink);font-family:var(--f-head);font-weight:700;font-size:2.4rem;border-radius:50% 50% 46% 46% / 58% 58% 42% 42%;box-shadow:inset -8px -8px 0 rgba(0,0,0,.1),inset 6px 6px 0 rgba(255,255,255,.3)}
.kids-b.pop{animation:wob2 .4s var(--spring)}
@keyframes wob2{40%{transform:scale(1.18) rotate(-6deg)}}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;border-radius:999px;background:linear-gradient(90deg,var(--sun),var(--coral),var(--pink),var(--violet));padding:0;border:0;min-height:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:40px;border-radius:50%;background:#fff;border:7px solid var(--violet);box-shadow:0 4px 0 rgba(36,18,74,.3);cursor:grab}
input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:7px solid var(--violet);cursor:grab}
.hint{margin-top:10px;font-weight:500}
.opts{display:grid;gap:12px}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt .o{display:grid;gap:2px;padding:14px 18px;border-radius:24px;background:#F3EEFF;font-family:var(--f-head);font-size:1.2rem;transition:transform .3s var(--spring),background .2s}
.opt .o small{font-family:var(--f-body);font-size:.95rem;font-weight:500;line-height:1.35}
.opt .o i{font-style:normal;color:var(--grape)}
.opt:hover .o{transform:scale(1.02)}
.opt input:checked + .o{background:var(--sun);transform:scale(1.03);box-shadow:0 5px 0 rgba(36,18,74,.3)}
.opt input:focus-visible + .o{outline:4px solid var(--ink);outline-offset:3px}
.addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.add{position:relative;display:block}
.add input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.add .a{display:grid;justify-items:center;text-align:center;gap:2px;height:100%;padding:14px 8px;border-radius:24px;background:#F3EEFF;transition:transform .3s var(--spring),background .2s}
.add .ic{display:grid;place-content:center;width:54px;height:54px;border-radius:50%;background:var(--violet);color:#fff;margin-bottom:4px}
.add .ic svg{width:30px;height:30px;color:#fff}
.add b{font-family:var(--f-head);font-size:1.1rem;line-height:1.1}
.add small{font-weight:500;font-size:.9rem;line-height:1.25}
.add em{font-style:normal;font-family:var(--f-head);color:var(--grape)}
.add:hover .a{transform:translateY(-4px) rotate(-1deg)}
.add input:checked + .a{background:var(--sun);box-shadow:0 5px 0 rgba(36,18,74,.3);animation:wob2 .4s var(--spring)}
.add input:checked + .a .ic{background:var(--coral)}
.add input:checked + .a .ic svg{color:var(--ink)}
.add input:focus-visible + .a{outline:4px solid var(--ink);outline-offset:3px}
.fields{display:grid;gap:14px}
label{display:grid;gap:5px;font-family:var(--f-head);font-weight:500;font-size:1.05rem}
input:not([type=radio]):not([type=checkbox]):not([type=range]),select{border:3px solid #D9CCFF;background:#fff;border-radius:18px;padding:11px 14px;font-weight:700;font-size:1.1rem;width:100%;min-height:50px}
[data-lang=ar] input,[data-lang=ar] select{font-weight:500}
input:focus,select:focus{outline:4px solid var(--violet);outline-offset:2px;border-color:var(--violet)}
@media(min-width:560px){.fields{grid-template-columns:1fr 1fr}.fields .wide{grid-column:1/-1}.opts{grid-template-columns:repeat(3,1fr)}#venues{grid-template-columns:1fr 1fr}.addons{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ticket{position:sticky;top:96px;background:#fff;border-radius:30px;box-shadow:var(--shade);padding:0 0 22px;overflow:hidden}
.ticket-top{display:flex;align-items:center;gap:14px;background:var(--theme);color:var(--theme-fg);padding:20px 20px 24px}
.ticket-top svg{color:var(--theme-fg);flex:none}
.ticket-k{font-family:var(--f-head);font-size:.95rem}
.ticket-top h3{font-family:var(--f-head);font-size:1.7rem;line-height:1.05}
.sleeps{background:var(--coral);color:var(--ink);font-family:var(--f-head);font-weight:700;text-align:center;padding:8px 12px;margin:0;animation:wob2 .6s var(--spring)}
.lines{padding:14px 20px 4px;border-top:4px dotted #E6F6FF;display:grid;gap:4px}
.lines li{display:flex;justify-content:space-between;gap:10px;font-size:1rem;border-bottom:2px dashed #E3D9FF;padding:4px 0}
.lines li b{white-space:nowrap}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 20px 0;font-family:var(--f-head);font-size:1.3rem}
.total b{font-size:2.5rem;color:var(--grape);line-height:1}
.per{padding:0 20px 14px;font-weight:500}
.ticket .bubble-btn{width:calc(100% - 40px);margin-inline:20px;font-size:1.25rem}
.ticket .err,.ticket .done{margin:12px 20px 0}
.err{background:#fff;border:3px solid #B3122F;color:#8A0F2E;border-radius:16px;padding:8px 12px}
.done{background:var(--lime);border-radius:16px;padding:8px 12px}
@media(min-width:1000px){.build-grid{grid-template-columns:minmax(0,1fr) 380px;gap:34px}}

/* invitation */
.invite-grid{display:grid;gap:40px;align-items:center}
.invite-copy{display:grid;gap:18px;justify-items:start}
.copied{background:var(--lime);border-radius:999px;padding:4px 16px}
.card-wrap{justify-self:center;width:min(380px,100%);perspective:900px}
.invite-card{position:relative;text-align:center;padding:30px 22px 28px;border-radius:30px;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.5) 0 9px,transparent 10px),radial-gradient(circle at 88% 12%,var(--sun) 0 8px,transparent 9px),radial-gradient(circle at 80% 82%,rgba(255,255,255,.5) 0 12px,transparent 13px),radial-gradient(circle at 16% 86%,var(--coral) 0 8px,transparent 9px),var(--theme);color:var(--theme-fg);box-shadow:0 14px 0 rgba(36,18,74,.22);transform:rotate(-2.5deg);transition:transform .6s var(--spring);display:grid;gap:10px;justify-items:center;border:8px solid #fff}
.invite-card:hover{transform:rotate(1deg) scale(1.03)}
.ic-top{font-family:var(--f-head);font-weight:700;font-size:1.15rem}
.invite-card h3{font-family:var(--f-head);font-size:2.5rem;line-height:1.05;word-break:break-word}
.ic-icon{color:var(--theme-fg);background:rgba(255,255,255,.35);border-radius:50%;padding:14px;width:120px;height:120px}
.ic-when{font-family:var(--f-head);font-weight:700;font-size:1.3rem}
.ic-where{font-weight:700}
.ic-rsvp{background:#fff;color:var(--ink);padding:6px 20px;border-radius:999px;font-family:var(--f-head);font-weight:700}
@media(min-width:860px){.invite-grid{grid-template-columns:1.1fr .9fr}}

/* moments */
.bubbles{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin-bottom:56px}
.bub{position:relative;padding:0;border:8px solid #fff;background:var(--coral);border-radius:50%;overflow:hidden;cursor:pointer;box-shadow:var(--shade);animation:bobb 5s ease-in-out var(--dl,0s) infinite alternate;transition:transform .5s var(--spring);width:var(--sz)}
.bub.l{--sz:min(44vw,260px)}.bub.m{--sz:min(38vw,200px)}.bub.s{--sz:min(31vw,150px)}
.bub{aspect-ratio:1}
.bub img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12)}
.bub span{position:absolute;inset-inline:10%;bottom:10%;background:#fff;color:var(--ink);font-family:var(--f-head);font-size:.95rem;line-height:1.1;border-radius:999px;padding:5px 8px;transform:translateY(160%);transition:transform .4s var(--spring)}
.bub:hover,.bub:focus-visible,.bub.pop{transform:scale(1.16);z-index:5;animation-play-state:paused}
.bub:hover span,.bub:focus-visible span,.bub.pop span{transform:none}
@keyframes bobb{to{transform:translateY(-12px)}}
.quotes{display:grid;gap:34px}
.quote{position:relative;background:var(--q);border-radius:30px;padding:22px 22px 18px;box-shadow:var(--shade);font-size:1.15rem}
.quote::after{content:"";position:absolute;bottom:-18px;inset-inline-start:46px;border:14px solid transparent;border-top:20px solid var(--q);border-bottom:0}
.quote b{display:block;margin-top:10px;font-family:var(--f-head);font-size:1rem}
.quote.sun{--q:var(--sun)}.quote.sky{--q:#8BDCFF}.quote.pink{--q:#FFA6DA}
.quote:nth-child(2){transform:rotate(1.2deg)}.quote:nth-child(1){transform:rotate(-1deg)}
@media(min-width:800px){.quotes{grid-template-columns:repeat(3,1fr)}}

/* faq */
.safe{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.safe li{background:#fff;border-radius:999px;padding:8px 18px 8px 14px;display:flex;gap:8px;align-items:center;box-shadow:0 4px 0 rgba(36,18,74,.18)}
.safe li::before{content:"";width:18px;height:18px;background:var(--coral);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
details{background:#fff;border-radius:26px;padding:6px 22px;margin-bottom:14px;box-shadow:var(--shade)}
summary{cursor:pointer;list-style:none;font-family:var(--f-head);font-weight:700;font-size:1.35rem;line-height:1.2;padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";display:grid;place-content:center;width:36px;height:36px;border-radius:50%;background:var(--sun);font-size:1.7rem;line-height:1;flex:none;transition:transform .35s var(--spring)}
details[open] summary::after{transform:rotate(135deg);background:var(--coral)}
details p{padding-bottom:16px;font-weight:500}

/* footer */
.foot{position:relative;background:var(--grape);color:#fff;padding:110px 0 40px;margin-top:0}
.foot .top-w{position:absolute;top:-1px;inset-inline:0;width:100%;height:60px;transform:scaleY(-1)}
.foot .top-w path{fill:#EFE7FF}
.foot-grid{display:grid;gap:34px;align-items:center}
.foot-big{font-family:var(--f-head);font-weight:700;font-size:clamp(2.6rem,9vw,4.6rem);line-height:1;margin-bottom:20px;color:var(--sun)}
[data-lang=ar] .foot-big{line-height:1.3}
.info h3{font-family:var(--f-head);font-size:1.4rem;margin-bottom:8px}
.info li{display:flex;justify-content:space-between;gap:14px;border-bottom:2px dashed rgba(255,255,255,.35);padding:4px 0;max-width:420px}
.info p{margin-top:8px}
#tel{font-family:var(--f-head);font-size:2rem;color:var(--sun);text-decoration:none}
@media(min-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}
.toast{position:fixed;inset-inline:16px;bottom:20px;z-index:130;background:var(--ink);color:#fff;border-radius:999px;padding:10px 20px;text-align:center;max-width:380px;margin-inline:auto}
[dir=rtl] input[inputmode=tel]{text-align:right}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv-on .rv:not(.in){opacity:1;transform:none}
  #confetti{display:none}
}
