:root{--red:#f5254b;--red2:#ff5a3c;--bg:#eaf0fa;--navy:#14214f;--tx:#4a5878;--r:9px 9px 20px rgba(163,177,205,.55),-9px -9px 20px rgba(255,255,255,.95);--rs:5px 5px 12px rgba(163,177,205,.5),-5px -5px 12px #fff;--p:inset 5px 5px 11px rgba(163,177,205,.55),inset -5px -5px 11px #fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,video{max-width:100%}.wrap{max-width:1200px;margin:auto;padding:0 22px}.narrow{max-width:860px}
h1,h2,h3,h4{color:var(--navy);line-height:1.22;font-weight:800;margin:0 0 14px}h1{font-size:clamp(32px,5.4vw,60px)}h2{font-size:clamp(26px,3.6vw,42px)}h3{font-size:19px}h2 em{font-style:normal;color:var(--red)}
#prog{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--red2));transform:scaleX(0);transform-origin:left;z-index:99;display:none}@supports(animation-timeline:scroll()){#prog{display:block;animation:pg linear;animation-timeline:scroll()}@keyframes pg{to{transform:scaleX(1)}}}
.top{font-size:13px;font-weight:600;padding:9px 0;color:var(--navy)}.top .wrap,.ph{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between}.tl{color:var(--red)}
header{position:sticky;top:0;z-index:90;background:var(--bg);transition:box-shadow .3s}header.sk{box-shadow:0 6px 18px rgba(163,177,205,.5)}.bar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px}
.logo strong{font:italic 800 30px Georgia,serif;color:var(--red);display:block;line-height:1}.logo small{font-size:10px;font-weight:700;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase}
nav ul{list-style:none;display:flex;gap:10px;margin:0;padding:0;align-items:center}nav a,.ddb{display:block;padding:9px 18px;border-radius:30px;font:600 14px Poppins;color:var(--navy);background:var(--bg);border:0;cursor:pointer;box-shadow:var(--rs);transition:box-shadow .25s}nav a:hover,.ddb:hover,nav a:active{box-shadow:var(--p)}
nav a.cta,.cta{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff!important;box-shadow:0 8px 18px rgba(245,37,75,.4)}.dd{position:relative}.sub{position:absolute;top:100%;left:0;min-width:240px;background:var(--bg);box-shadow:var(--r);border-radius:18px;padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s;margin-top:8px}.sub ul{display:block}.sub li{margin-bottom:6px}.dd:hover .sub,.dd.open .sub{opacity:1;visibility:visible;transform:none}
.tg{display:none;background:var(--bg);border:0;padding:10px 12px;border-radius:12px;box-shadow:var(--rs)}.tg i{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;transition:transform .3s,opacity .3s}.tg.on i:nth-child(1){transform:translateY(7px) rotate(45deg)}.tg.on i:nth-child(2){opacity:0}.tg.on i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{padding:18px 0 10px}.hf{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--r);background:#0b1226;min-height:min(78vh,620px);display:flex;align-items:center;border:8px solid var(--bg)}.hf video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,38,.88),rgba(10,16,38,.35) 70%,rgba(10,16,38,.15))}.hc{position:relative;padding:50px clamp(24px,5vw,64px);max-width:760px}.hc h1{color:#fff}.hc p{color:#dbe3f5;font-size:18px;max-width:520px}.hc .tag{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.3)}
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.wd>span{display:inline-block;transition:transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.15s + var(--i)*.08s)}.js .wd>span{transform:translateY(110%)}.js.ld .wd>span,.js .ld .wd>span{transform:none}
.js [data-r]{opacity:0;transform:translate3d(0,34px,0);transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--d,0s),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0s)}.js [data-r=l]{transform:translate3d(-40px,0,0)}.js [data-r].in{opacity:1;transform:none}.js .ld .hero [data-r]{opacity:1;transform:none}
.tag{display:inline-block;background:var(--bg);box-shadow:var(--p);color:var(--red);font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;padding:7px 18px;border-radius:30px;margin-bottom:16px}
.btn{display:inline-block;padding:14px 32px;border-radius:40px;font:700 14px Poppins;border:0;cursor:pointer;margin:10px 12px 0 0;transition:transform .2s,box-shadow .25s;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-red{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 10px 22px rgba(245,37,75,.4)}.btn-red::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}.btn-red:hover::after{left:140%}.btn-soft,.btn-ghost{background:var(--bg);color:var(--navy);box-shadow:var(--rs)}.btn-soft:hover,.btn-ghost:hover{box-shadow:var(--p)}
.mq{overflow:hidden;margin:34px 0 0;padding:14px 0;white-space:nowrap;box-shadow:var(--p)}.mq div{display:inline-block;animation:mq 30s linear infinite;will-change:transform}.mq span{color:var(--navy);font-weight:700;letter-spacing:1px;margin:0 28px;text-transform:uppercase;font-size:13px}@keyframes mq{to{transform:translate3d(-50%,0,0)}}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-top:56px;padding-bottom:20px;text-align:center}.sg>div{padding:26px 10px;border-radius:22px;box-shadow:var(--p)}.sg b{display:block;font-size:clamp(30px,4.4vw,48px);font-weight:800;color:var(--red);line-height:1.1}.sg span{font-size:13px;font-weight:600;color:var(--navy)}
.sec{padding:90px 0;content-visibility:auto;contain-intrinsic-size:auto 700px}.hd{text-align:center;max-width:700px;margin:0 auto 50px}.spc{text-align:center;margin-top:44px}
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card,.fc,.st,.rc,.ci,.box,.cta-b,.long{background:var(--bg);box-shadow:var(--r);border-radius:24px;padding:26px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.card:hover,.fc:hover,.st:hover,.rc:hover,.ci:hover{transform:translateY(-6px)}.fc h3{font-size:17px}.fc p,.st p{font-size:14px;margin:0}
.grid,.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card .pic{display:block;border-radius:18px;overflow:hidden;aspect-ratio:4/3;margin-bottom:18px;box-shadow:var(--p);padding:6px;background:var(--bg)}.card img{width:100%;height:100%;object-fit:cover;border-radius:13px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.card:hover img{transform:scale(1.07)}.card h3 a:hover{color:var(--red)}.sc{font-size:14px;max-height:92px;overflow:hidden}.sc p{margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.st b{font-size:48px;font-weight:800;color:var(--red);display:block;line-height:1;opacity:.9}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gi{margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--r);padding:7px;background:var(--bg);cursor:zoom-in}.gi img,.gi video{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:14px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.gi:hover img{transform:scale(1.06)}
#lb{position:fixed;inset:0;background:rgba(10,16,38,.92);z-index:1000;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s;cursor:zoom-out;padding:20px}#lb.on{opacity:1;visibility:visible}#lb img{max-height:90vh;border-radius:16px}
.rv{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:14px 14px 28px}.rv::-webkit-scrollbar{display:none}.rc{flex:0 0 min(380px,86%);scroll-snap-align:start}.rc p{font-size:15px}.stars{color:#f5a623;letter-spacing:3px;font-size:18px}.rc b{color:var(--navy);display:block}.rc small{color:var(--tx)}
.fq{border-radius:20px;margin-bottom:18px;background:var(--bg);box-shadow:var(--r);overflow:hidden}.fq.open{box-shadow:var(--p)}.fq button{width:100%;text-align:left;background:none;border:0;color:var(--navy);font:700 16px Poppins;padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}.fq i{width:14px;height:14px;position:relative;flex:none}.fq i::before,.fq i::after{content:"";position:absolute;background:var(--red);left:0;top:6px;width:14px;height:2px;transition:transform .3s}.fq i::after{transform:rotate(90deg)}.fq.open i::after{transform:rotate(0)}
.fa{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1)}.fa p{overflow:hidden;margin:0;padding:0 24px;font-size:15px}.fq.open .fa{grid-template-rows:1fr}.fq.open .fa p{padding-bottom:22px}
.cta-b{text-align:center;padding:64px 24px;background:linear-gradient(135deg,var(--bg),#dfe8f7)}
footer{margin-top:40px;background:var(--navy);color:#b9c4e0;padding:70px 0 0;border-radius:40px 40px 0 0}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}footer h4{font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:#fff}footer .logo small{color:#b9c4e0}footer a{display:block;font-size:14px;margin-bottom:8px;transition:color .2s,transform .2s}footer a:hover{color:#fff;transform:translateX(4px)}footer p{font-size:14px}.soc{display:flex;flex-wrap:wrap;gap:8px}.soc a{border:1px solid rgba(255,255,255,.2);padding:6px 14px;border-radius:20px;margin:0;font-size:12px}.cp{margin-top:50px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:13px}
.wa{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;padding:13px 20px;border-radius:40px;font-weight:700;font-size:14px;z-index:80;box-shadow:0 10px 24px rgba(37,211,102,.45)}
.pb{padding:70px 0 50px;text-align:center}.pb h1{font-size:clamp(30px,5vw,52px);margin:0 0 10px}.pb p{max-width:620px;margin:0 auto}.bc{font-size:13px;margin-bottom:14px}.bc a{color:var(--red)}
.pcard{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.pcard .shot{border-radius:26px;overflow:hidden;box-shadow:var(--r);padding:8px}.pcard .shot img{display:block;border-radius:20px;width:100%}.long img{height:auto;border-radius:14px}.long a{color:var(--red)}
.ci h3{font-size:15px;text-transform:uppercase;letter-spacing:1.5px;color:var(--red)}.ci address{font-style:normal}.map iframe{width:100%;height:400px;border:0;border-radius:26px;margin-top:28px;box-shadow:var(--r)}
/* admin */
.adm .wrap{max-width:1100px}.adm h2{font-size:26px}.adm label{display:block;font-weight:600;margin:14px 0 6px;color:var(--navy)}.adm input:not([type=file]),.adm textarea{width:100%;padding:12px 16px;border:0;border-radius:14px;background:var(--bg);box-shadow:var(--p);font:14px Poppins;color:var(--navy)}.adm .anav{display:flex;flex-wrap:wrap;gap:12px;padding:22px 0}.adm .anav a{padding:9px 18px;border-radius:30px;box-shadow:var(--rs);font-weight:600;font-size:14px;color:var(--navy)}.adm .anav a.cta{color:#fff}.adm .tb{width:100%;margin:24px 0;border-collapse:collapse}.adm .tb td,.adm .tb th{padding:12px;text-align:left;border-bottom:1px solid #d5ddef}.adm .btn-red{margin-top:18px}.ok{color:#18a058}.red{color:var(--red)}
@media(max-width:991px){.grid,.cg{grid-template-columns:1fr 1fr}.about,.fg,.pcard{grid-template-columns:1fr 1fr}.pcard{grid-template-columns:1fr}.steps,.gal,.sg{grid-template-columns:1fr 1fr}.tg{display:block}nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);padding:0 22px;max-height:0;overflow:hidden;transition:max-height .45s}nav.open{max-height:80vh;overflow:auto;padding:14px 22px 22px}nav ul{flex-direction:column;align-items:stretch}.sub{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:var(--p)}.dd.open .sub{display:block}.sec{padding:64px 0}}
@media(max-width:600px){.grid,.cg,.about,.fg,.steps,.fgrid{grid-template-columns:1fr}.gal{gap:12px}.hf{min-height:70vh;border-width:5px;border-radius:26px}.hc p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js [data-r]{opacity:1;transform:none}.js .wd>span{transform:none}}

/* Gallery, mobile navigation and testimonial slider fixes */
.review-slider{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;position:relative}
.review-slider .rv{min-width:0;width:100%;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.review-slider .rc{flex:0 0 min(380px,calc(50% - 12px));min-width:0}
.review-arrow{width:42px;height:42px;border:0;border-radius:50%;background:var(--bg);color:var(--navy);box-shadow:var(--rs);font-size:19px;cursor:pointer;display:grid;place-items:center;z-index:2}
.review-arrow:hover,.review-arrow:focus-visible{box-shadow:var(--p);outline:2px solid var(--red);outline-offset:2px}
@media(max-width:991px){header{position:sticky}header .bar{position:relative}header nav#menu{position:absolute;left:0;right:0;top:100%;z-index:95;background:var(--bg);padding:0 22px;max-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:max-height .3s ease,opacity .2s,visibility .2s;border-radius:0 0 20px 20px;box-shadow:0 12px 20px rgba(20,33,79,.08)}header nav#menu.open{max-height:calc(100vh - 70px);overflow-y:auto;visibility:visible;opacity:1;padding:14px 22px 22px}header nav#menu ul{display:flex;flex-direction:column;align-items:stretch;gap:10px}header nav#menu li{width:100%}header nav#menu a,header nav#menu .ddb{width:100%;text-align:left}header nav#menu .sub{width:100%;max-height:45vh;overflow:auto}.review-slider{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.review-arrow{width:34px;height:34px}.review-slider .rc{flex-basis:85%}}
@media(max-width:600px){.review-slider .rc{flex-basis:100%}.review-slider{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.review-arrow{width:29px;height:29px;font-size:15px}.adm .upload-panel{padding:16px}.adm .gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
