:root{--pink:#ff4f8b;--blue:#168bd2;--green:#37b969;--orange:#ff8a25;--yellow:#ffd447;--ink:#19213a;--soft:#fff7fb;--white:#fff;--radius:28px;--shadow:0 24px 65px rgba(25,33,58,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Nunito,sans-serif;font-size:16px;line-height:1.65;background:#fff}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:12px 18px;z-index:1000}
.skip:focus{top:20px}
.topbar{background:#19213a;color:#fff;font-size:.86rem}
.topbar-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-inner div{display:flex;gap:12px}
.topbar a:hover{color:var(--yellow)}
.site-header{height:92px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;box-shadow:0 8px 30px rgba(25,33,58,.08);backdrop-filter:blur(12px)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand img{width:150px}
.site-header nav{display:flex;align-items:center;gap:25px;font-weight:800}
.site-header nav>a:not(.nav-whatsapp){position:relative}
.site-header nav>a:not(.nav-whatsapp):after{content:"";height:3px;border-radius:3px;background:var(--pink);position:absolute;left:0;right:100%;bottom:-8px;transition:.25s}
.site-header nav>a:hover:after{right:0}
.nav-whatsapp{background:var(--green);color:#fff;padding:11px 19px;border-radius:999px}
.menu-toggle{display:none;border:0;background:transparent;font-weight:900;font-size:1rem}
.hero{height:min(730px,calc(100vh - 80px));min-height:600px;position:relative;overflow:hidden;color:#fff;background:#222}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 3s cubic-bezier(.37,0,.18,1),visibility 3s;background-image:linear-gradient(90deg,rgba(16,22,49,.77) 0%,rgba(16,22,49,.38) 50%,rgba(16,22,49,.08) 100%),var(--bg);background-position:center;background-size:cover}
.hero-slide:after{content:"";position:absolute;inset:auto 0 0;height:7px;background:url('images/rainbowstripe.jpg') repeat-x}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide:nth-child(odd).active{animation:kenIn 10.5s ease-out both}
.hero-slide:nth-child(2).active{animation:kenOut 10.5s ease-out both}
.hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:2}
.hero-copy>p{font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.9rem;color:var(--yellow);margin:0 0 14px}
.hero h1,.hero h2{font:800 clamp(3.2rem,6.4vw,6.4rem)/.9 'Baloo 2',sans-serif;letter-spacing:-.04em;margin:0;max-width:900px;text-shadow:0 5px 20px rgba(0,0,0,.2)}
.actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border:0;border-radius:999px;background:var(--pink);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(25,33,58,.18)}
.button.whatsapp{background:var(--green)}
.button.pink{background:var(--pink)}
.hero-controls{position:absolute;right:max(20px,calc((100vw - 1180px)/2));bottom:42px;z-index:4;display:flex;align-items:center;gap:12px}
.hero-controls button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(20,20,35,.28);color:#fff;font-size:1.8rem}
.hero-dots{display:flex;gap:8px}
.hero-dots button{width:9px;height:9px;padding:0;border:0;background:rgba(255,255,255,.5)}
.hero-dots button.active{background:var(--yellow);transform:scale(1.35)}
.hero-progress{position:absolute;bottom:0;left:0;right:0;height:4px;z-index:5}
.hero-progress i{display:block;height:100%;background:var(--yellow);transform-origin:left;animation:progress 8.5s linear}
.section{padding:110px 0}
.center{text-align:center}
.eyebrow{display:inline-block;color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;margin-bottom:14px}
.eyebrow.light{color:var(--yellow)}
h2,h3,h4{font-family:'Baloo 2',sans-serif}
.section h2,.footer h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1;letter-spacing:-.03em;margin:0 0 22px}
.welcome h2 strong{color:var(--pink)}
.lead{max-width:720px;margin:0 auto 65px;font-size:1.18rem;color:#596078}
.story-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;background:var(--soft);border-radius:40px;overflow:hidden;box-shadow:var(--shadow)}
.story-grid>img{width:100%;height:100%;min-height:420px;object-fit:cover}
.story-grid>div{padding:55px 65px}
.story-grid h3{font-size:2.3rem;margin:2px 0 12px}
.number{font:800 1rem 'Baloo 2';color:var(--pink);border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;width:44px;height:44px}
.story-grid p{color:#596078;margin:0}
.numbers{color:#fff;background:linear-gradient(120deg,rgba(21,126,195,.94),rgba(17,74,140,.96)),url('images/1920x1000_bg1.jpg') center/cover fixed}
.numbers>.container{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stats div{padding:28px 15px;text-align:center;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(255,255,255,.09)}
.stats strong{font:800 3rem/1 'Baloo 2';display:block;color:var(--yellow)}
.stats span{font-weight:800;font-size:.88rem}
.invite{background:#f6fbff}
.invite-card{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border-radius:38px;overflow:hidden;box-shadow:var(--shadow)}
.invite-card>div{padding:75px;align-self:center}
.invite-card>img{height:100%;width:100%;object-fit:cover;min-height:500px}
.invite-card p{color:#596078;font-size:1.1rem;margin-bottom:28px}
.section-head{text-align:center;max-width:750px;margin:0 auto 50px}
.section-head p{color:#667086}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-grid article{padding:40px 28px;border:1px solid #edf0f6;border-radius:25px;text-align:center;transition:.25s}
.service-grid article:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}
.service-grid article>span{width:70px;height:70px;display:grid;place-items:center;border-radius:22px;margin:auto;background:#fff0f6;color:var(--pink);font-size:2rem}
.service-grid article:nth-child(2)>span{background:#fff4e8;color:var(--orange)}
.service-grid article:nth-child(3)>span{background:#eaf9ef;color:var(--green)}
.service-grid article:nth-child(4)>span{background:#e7f5ff;color:var(--blue)}
.service-grid h3{font-size:1.35rem;line-height:1.1;margin:18px 0 8px}
.service-grid p{margin:0;color:#667086}
.gallery{background:linear-gradient(rgba(20,25,55,.87),rgba(20,25,55,.92)),url('images/2103x1000_bg.jpg') center/cover fixed}
.section-head.light{color:#fff}
.section-head.light p{color:#d7dcec}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-grid button{padding:0;border:0;background:#111;border-radius:17px;overflow:hidden;cursor:zoom-in;aspect-ratio:1}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}
.gallery-grid button:hover img{transform:scale(1.07);opacity:.8}
.gallery-grid button:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.gallery-grid button.hidden{display:none}
.gallery-more{display:flex;margin:36px auto 0;background:#fff;color:var(--ink)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}
.plan{border-radius:30px;padding:45px 36px;background:#fff;box-shadow:var(--shadow);border-top:8px solid var(--orange);position:relative}
.plan.top{background:var(--ink);color:#fff;border-color:var(--green);transform:translateY(-14px)}
.plan.loc{border-color:var(--blue)}
.plan>p{text-transform:uppercase;font-weight:900;letter-spacing:.12em;color:#697087;margin:0}
.plan.top>p{color:#aeb8d1}
.plan h3{font-size:3.2rem;line-height:1;margin:0;color:var(--orange)}
.plan.top h3{color:var(--green)}
.plan.loc h3{color:var(--blue)}
.plan h4{font-size:1.4rem;margin:12px 0}
.stars{color:#ffc333;letter-spacing:.08em}
.plan ul{padding:0;list-style:none;margin:28px 0}
.plan li{padding:9px 0;border-bottom:1px solid rgba(130,140,160,.18)}
.plan li:before{content:"✓";color:var(--green);font-weight:900;margin-right:10px}
.badge{position:absolute;right:25px;top:22px;padding:5px 11px;border-radius:99px;background:var(--green);font-size:.72rem;font-weight:900;text-transform:uppercase}
.testimonials{background:linear-gradient(115deg,rgba(255,74,137,.91),rgba(128,40,157,.91)),url('images/1935x1000_bg.jpg') center/cover fixed}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testimonial-grid blockquote{margin:0;padding:30px;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 20px 50px rgba(19,19,39,.16)}
.testimonial-grid img{width:62px;height:62px;object-fit:cover;border-radius:50%;margin-bottom:18px}
.testimonial-grid p{font-size:1.03rem}
.testimonial-grid footer{font-weight:900}
.testimonial-grid footer span{display:block;color:#ffc333;font-size:.85rem}
.contact{background:#f6fbff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-grid>div>p{font-size:1.1rem;color:#667086}
.contact-details{display:grid;gap:16px;margin-top:35px}
.contact-details>*{padding:16px 18px;border-left:4px solid var(--pink);background:#fff;border-radius:0 14px 14px 0}
.contact-details>*:nth-child(2){border-color:var(--orange)}
.contact-details>*:nth-child(3){border-color:var(--green)}
.contact-details>*:nth-child(4){border-color:var(--blue)}
.contact-details b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
form{background:#fff;padding:45px;border-radius:30px;box-shadow:var(--shadow);display:grid;gap:18px}
label{font-weight:900;font-size:.9rem}
input,textarea{display:block;width:100%;margin-top:6px;border:1px solid #dde2ec;border-radius:14px;padding:14px 16px;color:var(--ink);background:#fbfcff}
input:focus,textarea:focus{outline:3px solid rgba(22,139,210,.18);border-color:var(--blue)}
textarea{resize:vertical}
form small{color:#6d7487;text-align:center}
.footer{background:#161c31;color:#fff}
.footer-main{padding:65px 0;display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:40px;align-items:center}
.footer-main>img{width:180px;background:#fff;padding:12px;border-radius:18px}
.footer h3{font-size:1.2rem;margin:0 0 7px}
.footer p{margin:0;color:#c6cbd9}
.footer a:hover{color:var(--yellow)}
.copyright{padding:20px;text-align:center;background:#101525;color:#e9ecf3;font-size:.9rem}
.copyright .heart{color:red}
.copyright>a{color:#F3615A}
.float-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.8rem;font-weight:900;z-index:45;box-shadow:0 10px 30px rgba(20,120,60,.35)}
dialog{padding:0;border:0;background:transparent;max-width:min(1050px,92vw);max-height:92vh;overflow:visible}
dialog::backdrop{background:rgba(8,10,22,.92)}
dialog img{max-height:86vh;border-radius:18px;margin:auto}
dialog>button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:2rem;z-index:2}
dialog>button:first-child{right:-16px;top:-16px}
.light-prev{left:15px;top:50%}
.light-next{right:15px;top:50%}
@keyframes progress{from{transform:scaleX(0)}
to{transform:scaleX(1)}
}
@keyframes kenIn{from{background-size:100% auto;background-position:50% 50%}
to{background-size:108% auto;background-position:52% 49%}
}
@keyframes kenOut{from{background-size:108% auto}
to{background-size:100% auto}
}
@media(max-width:960px){.topbar{display:none}
.site-header{height:78px}
.menu-toggle{display:block}
.site-header nav{display:none;position:fixed;inset:78px 0 0;background:#fff;flex-direction:column;padding:35px;font-size:1.25rem;overflow:auto}
.site-header nav.open{display:flex}
.hero{height:680px}
.story-grid{grid-template-columns:1fr}
.story-grid>img{min-height:330px}
.story-grid>img:nth-of-type(2),.story-grid>img:nth-of-type(4){order:2}
.numbers>.container,.contact-grid{grid-template-columns:1fr}
.stats,.service-grid{grid-template-columns:repeat(2,1fr)}
.invite-card{grid-template-columns:1fr}
.invite-card>div{padding:50px}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.plan-grid{grid-template-columns:1fr}
.plan.top{transform:none}
.testimonial-grid{grid-template-columns:repeat(2,1fr)}
.footer-main{grid-template-columns:1fr 1fr}
.footer-main>.button{justify-self:start}
}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}
.section{padding:78px 0}
.brand img{width:125px}
.hero{min-height:610px;height:calc(100svh - 78px)}
.hero-slide{background-position:center;background-image:linear-gradient(90deg,rgba(16,22,49,.79),rgba(16,22,49,.25)),var(--bg)}
.hero h1,.hero h2{font-size:clamp(2.8rem,15vw,4.3rem)}
.hero-controls{right:14px}
.story-grid>div{padding:35px 28px}
.story-grid>img{min-height:280px}
.stats,.service-grid,.testimonial-grid{grid-template-columns:1fr}
.stats{grid-template-columns:1fr 1fr}
.stats strong{font-size:2.3rem}
.invite-card>div{padding:38px 28px}
.invite-card>img{min-height:330px}
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.gallery-grid button:nth-child(7n+1){grid-column:span 1;grid-row:span 1}
.contact-grid{gap:45px}
form{padding:28px 22px}
.footer-main{grid-template-columns:1fr}
.copyright{font-size:.78rem;padding:18px 12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
.numbers,.gallery,.testimonials{background-attachment:scroll}
}
