:root{--sky:#c8102e;--blue:#8f0a1f;--navy:#5b0a16;--teal:#d4213d;--ink:#2a1c1f;--bg:#fdf4f5;--card:#fff;--sh:0 18px 40px -18px rgba(90,10,22,.28)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Cairo',Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.85;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:auto;padding:0 22px}
h1,h2,h3{line-height:1.35;font-weight:700}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 30px;border-radius:50px;font:inherit;font-weight:600;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.b1{background:var(--sky);color:#fff}.b2{background:var(--navy);color:#fff}.b3{background:#fff;color:var(--ink)}.b4{background:var(--teal);color:#fff}
.eyebrow{color:var(--sky);font-weight:600;font-size:1rem}
.h2{font-size:clamp(2rem,4.2vw,3.3rem)}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(200,16,46,.96);backdrop-filter:blur(10px);transition:box-shadow .3s}
header.s{box-shadow:0 6px 24px rgba(120,10,25,.25)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
header img{height:64px;width:auto}
nav{display:flex;gap:34px;color:#fff;font-weight:500}
nav a{position:relative;padding:4px 0}nav a:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#fff;transform:scaleX(0);transition:.25s}
nav a:hover:after,nav a.on:after{transform:scaleX(1)}nav a.on{color:var(--navy)}nav a.on:after{background:var(--navy)}
.menu{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
/* hero */
.hero{position:relative;overflow:hidden;padding:70px 0 0;background:radial-gradient(circle at 15% 30%,#ffe1e5 0,transparent 40%)}
.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}
.hero small{font-size:1.2rem;color:var(--navy);font-weight:500}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:1.15;margin:8px 0 22px}
.hero h1 span{display:block;color:var(--sky)}
.hero p.lead{font-size:1.15rem;max-width:520px;margin-bottom:28px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.trust{display:flex;gap:30px;margin:38px 0 60px;flex-wrap:wrap}
.trust div{border-right:3px solid var(--sky);padding-right:14px}.trust b{display:block;font-size:1.8rem;line-height:1.2}.trust span{font-size:.95rem}
.vis{position:relative;align-self:end;margin-bottom:0}
.vis .frame{border-radius:46% 46% 0 0/32% 32% 0 0;overflow:hidden;background:linear-gradient(160deg,#fbd3d8,#e0334f);aspect-ratio:350/330;display:flex;align-items:flex-end}
.vis .frame img{width:100%;height:100%;object-fit:cover;object-position:bottom}
.badge{position:absolute;background:#fff;border-radius:22px;padding:14px 22px;box-shadow:var(--sh);font-size:.9rem;text-align:center}
.badge b{display:block;font-size:1.7rem;color:var(--sky);line-height:1.2}
.badge.a{top:30px;left:-22px}.badge.b{bottom:50px;right:-18px;display:flex;gap:10px;align-items:center;text-align:right}.badge.b i{font-style:normal;font-size:1.6rem}
/* strip */
.strip{background:var(--navy);color:#fff}
.strip .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 22px;font-weight:500}
.strip span:before{content:"✓";color:#ffb3bd;margin-left:8px}
/* services */
.sec{padding:96px 0}
.head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.head p{font-size:1.08rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:var(--card);border-radius:30px;padding:32px 26px;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -18px rgba(90,10,22,.38)}
.ic{width:60px;height:60px;border-radius:18px;background:#fde6e9;display:grid;place-items:center;font-size:1.8rem;margin-bottom:24px}
.card h3{font-size:1.15rem;margin-bottom:10px}.card p{font-size:.93rem}
.card.hl{background:linear-gradient(170deg,var(--sky),#a60c22);color:#fff}.card.hl .ic{background:rgba(255,255,255,.2)}
.card.wide{grid-column:span 2}
/* about */
.about{background:linear-gradient(135deg,#e0334f,#c8102e);border-radius:60px;margin:0 16px;overflow:hidden}
.about .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;min-height:560px}
.about h2{color:var(--navy);font-size:clamp(2.4rem,5vw,4rem);margin-bottom:10px}.about p{max-width:480px;margin-bottom:26px}
.about img{border-radius:30px 30px 0 0;align-self:end;width:100%;max-height:520px;object-fit:cover;object-position:top}
/* video */
.vid{padding:20px 0 96px}.vid .t{text-align:center;margin-bottom:36px}
.vbox{position:relative;max-width:960px;margin:auto}
.vbox:before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:34px;background:linear-gradient(135deg,var(--sky),var(--teal));opacity:.35}
.vbox video{position:relative;display:block;width:100%;max-height:80vh;background:var(--navy);border-radius:30px;box-shadow:var(--sh);object-fit:contain}
.vbox video:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s;margin-top:50px}
.step{background:#fff;border-radius:26px;padding:28px 24px;box-shadow:var(--sh);position:relative}
.step:before{counter-increment:s;content:counter(s);position:absolute;top:-20px;right:24px;width:42px;height:42px;border-radius:50%;background:var(--sky);color:#fff;font-weight:700;display:grid;place-items:center}
.step h3{font-size:1.1rem;margin:8px 0 6px}.step p{font-size:.92rem}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.gal img{border-radius:20px;box-shadow:var(--sh);transition:transform .3s;width:100%}
.gal img:hover{transform:scale(1.025)}
/* packages */
.pk{background:var(--navy);border-radius:50px;color:#fff;text-align:center;padding:80px 22px;margin:0 16px;position:relative;overflow:hidden}
.pk:before,.pk:after{content:"";position:absolute;top:-70px;width:420px;height:150px;border:34px solid rgba(255,255,255,.18);border-radius:50%}
.pk:before{left:-120px}.pk:after{right:-120px}
.pk small{color:#f8c9cf;position:relative}.pk h2{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:50px;position:relative}
.pkg{display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:34px;justify-content:center;position:relative}
.pkc{background:linear-gradient(180deg,var(--sky),var(--blue));border-radius:34px;padding:38px 28px;display:flex;flex-direction:column;transition:transform .3s}
.pkc:hover{transform:translateY(-6px)}.pkc.pop{box-shadow:0 0 0 4px #ffb3bd}
.pkc h3{color:#fff0f2;font-size:1.5rem;margin-bottom:22px}
.pkc ul{list-style:none;text-align:right;flex:1;margin-bottom:28px}.pkc li{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.15)}.pkc li:before{content:"✓";color:#ffb3bd;margin-left:10px}
.pkc .btn{background:#fff0f2;color:var(--ink);justify-content:center}
.pk>p{margin-top:40px;font-size:1.15rem;position:relative}
/* reviews */
.rv{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.rc{background:#fff;border-radius:30px;padding:30px;box-shadow:var(--sh)}
.who{display:flex;align-items:center;gap:14px;margin-bottom:16px}.who img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fde6e9}.who i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;color:#fff;background:var(--teal);font-size:1.3rem}
.who small{display:block;color:#7a5a5e;line-height:1.4}.st{color:#f0a45c;letter-spacing:3px}.rc h3{margin:8px 0 6px;font-size:1.15rem}
/* faq */
.faq{max-width:820px;margin:44px auto 0}
details{background:#fff;border-radius:18px;margin-bottom:12px;box-shadow:var(--sh);overflow:hidden}
summary{cursor:pointer;padding:20px 24px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:14px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--sky);font-size:1.5rem;line-height:1;transition:transform .25s}
details[open] summary:after{transform:rotate(45deg)}details p{padding:0 24px 22px}
/* cta */
.cta{background:linear-gradient(270deg,var(--sky),var(--blue));border-radius:34px;padding:56px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;flex-direction:row}
.cta h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}.cta p{margin-top:8px;font-weight:300;font-size:1.1rem;max-width:760px}
/* contact */
.ct{display:grid;grid-template-columns:1fr 440px;gap:50px;align-items:start}
.ct h2{color:var(--teal);margin-bottom:18px}.ct .info p{margin-bottom:8px}
form{background:var(--teal);border-radius:24px;padding:30px;box-shadow:var(--sh)}
label{display:block;color:#fff;font-weight:600;font-size:.92rem;margin:12px 0 6px}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid transparent;border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(91,10,22,.3)}
form button{width:100%;margin-top:18px;justify-content:center;background:var(--navy);color:#fff;border-radius:12px}
/* footer */
footer{background:linear-gradient(180deg,var(--sky),var(--blue));color:#fff;padding:90px 0 36px;margin-top:70px;border-radius:50% 50% 0 0/50px 50px 0 0}
.fn{display:flex;justify-content:space-between;align-items:center;margin-bottom:56px;flex-wrap:wrap;gap:20px}
.fn nav{gap:28px}.soc{display:flex;gap:12px;direction:ltr}.soc a{width:38px;height:38px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:600;transition:.2s}.soc a:hover{background:#fff;color:var(--blue)}
.fg{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.fg img{height:150px;width:auto;margin-bottom:16px}.fg h4{font-size:1.2rem;margin-bottom:12px}.fg p{font-size:.95rem;margin-bottom:10px;overflow-wrap:anywhere}
.copy{border-top:1px solid rgba(255,255,255,.25);margin-top:46px;padding-top:20px;font-size:.88rem;text-align:center;opacity:.9}
@media(max-width:960px){
.hero .wrap,.head,.about .wrap,.ct,.fg,.rv{grid-template-columns:1fr}
.cards,.steps{grid-template-columns:1fr 1fr}.card.wide{grid-column:span 2}
.gal{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gal img{scroll-snap-align:center}
.pkg{grid-template-columns:1fr}.cta{flex-direction:column;text-align:center;padding:40px 24px}
.menu{display:block}header nav{position:absolute;top:84px;inset-inline:0;background:var(--sky);flex-direction:column;gap:0;padding:8px 22px 20px;display:none}
header nav.o{display:flex}header nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}header .btn{display:none}
.sec{padding:70px 0}.about,.pk{border-radius:36px}.badge.a{left:6px}.badge.b{right:6px}.about .wrap{padding-top:44px;min-height:0}.vis{max-width:420px;margin:auto}
}
@media(max-width:580px){.cards,.steps{grid-template-columns:1fr}.card.wide{grid-column:auto}.strip .wrap{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* floating */
.fab{position:fixed;bottom:22px;z-index:60;height:58px;min-width:58px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 12px 28px -8px rgba(0,0,0,.45);transition:transform .25s,padding .3s}
.fab svg{width:30px;height:30px;fill:currentColor;flex:none}
.fab span{max-width:0;overflow:hidden;white-space:nowrap;font-weight:600;font-size:.95rem;transition:max-width .35s,margin .35s}
.fab:hover,.fab:focus-visible{transform:translateY(-3px);padding:0 20px}
.fab:hover span,.fab:focus-visible span{max-width:170px;margin-inline-start:10px}
.fab.wa{right:20px;background:linear-gradient(135deg,#2be074,#0e9e5e)}.fab.ph{left:20px;background:linear-gradient(135deg,var(--sky),var(--blue))}
.fab.wa:before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25d366;animation:ring 2.4s ease-out infinite;pointer-events:none}
@keyframes ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.45,1.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.fab.wa:before{animation:none}}
/* why + posts */
.why{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.why ul{list-style:none;margin:22px 0 28px}.why li{padding:10px 0;font-weight:500;display:flex;gap:12px}.why li:before{content:"✓";flex:none;width:28px;height:28px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font-size:.85rem}
.collage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.collage img{border-radius:28px;box-shadow:var(--sh);width:100%;object-fit:cover}
.collage img:first-child{aspect-ratio:3/4}.collage img:last-child{aspect-ratio:3/3.7;margin-bottom:46px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .3s}
.post:hover{transform:translateY(-6px)}.post img{aspect-ratio:16/10;width:100%;object-fit:cover}
.post .b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.tag{align-self:flex-start;background:#fde6e9;color:var(--blue);border-radius:30px;padding:2px 14px;font-size:.82rem;font-weight:600}
.post h3{font-size:1.15rem}.post p{font-size:.93rem}.more{margin-top:auto;color:var(--blue);font-weight:700;background:none;border:0;font:inherit;font-weight:700;cursor:pointer;text-align:right;padding:6px 0}
.bh{background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;padding:64px 0 84px;border-radius:0 0 50% 50%/0 0 44px 44px}
.bh h1{font-size:clamp(2.4rem,5vw,4rem)}.bc{font-size:.92rem;opacity:.9;margin-bottom:10px}.bh p{max-width:560px;font-size:1.1rem}
dialog{border:0;border-radius:30px;max-width:720px;width:calc(100% - 28px);padding:0;margin:auto;max-height:90vh;overflow:auto;color:var(--ink);font-family:inherit}
dialog::backdrop{background:rgba(40,5,12,.6);backdrop-filter:blur(4px)}
dialog img{width:100%;aspect-ratio:16/8;object-fit:cover}.dg{padding:28px 32px 34px}.dg h2{font-size:1.6rem;margin:10px 0 14px}.dg p{margin-bottom:12px}
.x{position:absolute;top:14px;left:14px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.note{font-size:.85rem;color:#7a5a5e;border-top:1px solid #f0d9dc;padding-top:12px;margin-top:16px}
@media(max-width:960px){.why{grid-template-columns:1fr}.posts{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.posts{grid-template-columns:1fr}.fab{bottom:16px;height:54px;min-width:54px}.fab.wa{right:14px}.fab.ph{left:14px}}
/* poster style */
.eyebrow{display:inline-block;background:#fde6e9;padding:1px 18px;border-radius:30px;margin-bottom:10px}
.hero small{display:inline-block;background:var(--sky);color:#fff;padding:4px 22px;border-radius:30px;font-size:1.05rem}
.ic{border-radius:50%;background:var(--sky);box-shadow:0 8px 18px -6px rgba(200,16,46,.6)}.ic i{font-style:normal;filter:brightness(0) invert(1)}.card.hl .ic{box-shadow:none}
.sl{position:relative;background:linear-gradient(135deg,#fde6e9,#fff);border-radius:40px;padding:30px 78px;box-shadow:var(--sh)}
.tr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.tr::-webkit-scrollbar{display:none}.tr:focus-visible{outline:3px solid var(--navy);outline-offset:6px}
.sd{flex:0 0 100%;scroll-snap-align:center;display:grid;place-items:center}
.sd img{max-height:min(84vh,860px);width:auto;max-width:100%;border-radius:22px;box-shadow:0 26px 54px -22px rgba(90,10,22,.55);cursor:zoom-in}
.ar{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:var(--sky);color:#fff;font-size:1.6rem;cursor:pointer;box-shadow:0 10px 22px -8px rgba(90,10,22,.6);transition:background .2s}.ar:hover{background:var(--blue)}.ar.n{left:12px}.ar.p{right:12px}
.th{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}.th button{width:54px;height:76px;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;opacity:.55;background:none;transition:.2s}.th button.on{border-color:var(--sky);opacity:1;transform:translateY(-3px)}.th img{width:100%;height:100%;object-fit:cover}
.cnt{text-align:center;margin-top:14px;font-weight:700;color:var(--sky)}
#lb{max-width:min(94vw,820px);background:transparent;overflow:visible}#lb img{aspect-ratio:auto;object-fit:contain;max-height:92vh;border-radius:18px;background:#fff}#lb .x{top:8px}
@media(max-width:640px){.sl{padding:16px 10px;border-radius:28px}.ar{width:42px;height:42px;font-size:1.2rem}.ar.n{left:4px}.ar.p{right:4px}.th button{width:40px;height:58px}}

.post img,dialog:not(#lb) img{object-position:center 25%}
