/* ============ Serenne Beauty — luxury edition ============ */
:root{
  --cream:#FBF5F0;
  --sand:#F3E7DC;
  --blush:#F7E9E2;
  --rose:#D8A39B;
  --rose-deep:#B26A61;
  --ink:#3A272C;            /* deeper, clearer heading ink */
  --ink-soft:#6B4E54;       /* clearer body text */
  --noir:#241A1D;           /* luxury dark sections */
  --noir-2:#3B2A2F;
  --gold:#C9A25B;
  --gold-bright:#E4C687;
  --white:#fff;
  --radius:22px;
  --shadow:0 22px 54px -24px rgba(46,28,32,.45);
  --font-display:'Playfair Display',serif;
  --font-body:'Montserrat',sans-serif;
}
html[dir="rtl"]{
  --font-display:'El Messiri',serif;
  --font-body:'Tajawal',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:
    radial-gradient(1100px 520px at 15% -8%, #F5DCCE 0%, transparent 55%),
    radial-gradient(900px 640px at 108% 22%, #F0DFCB 0%, transparent 50%),
    var(--cream);
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.14;color:var(--ink)}
h2{font-size:clamp(27px,4vw,40px);text-align:center;margin:8px 0 12px}
.sub{color:var(--ink-soft);font-weight:400;font-size:15px}
.sub.center{text-align:center;max-width:580px;margin:0 auto 8px}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;text-align:center}
html[dir="rtl"] .eyebrow{letter-spacing:.05em}
.tiny{font-size:11.5px;color:var(--ink-soft);font-weight:400}

/* gold divider */
.gold-line{width:54px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:14px auto 0}

/* buttons */
.btn{
  display:inline-block;border:none;cursor:pointer;font-family:var(--font-body);
  font-weight:600;font-size:14px;letter-spacing:.04em;border-radius:100px;
  padding:15px 28px;background:var(--ink);color:#FBF5F0;
  text-decoration:none;text-align:center;position:relative;overflow:hidden;
  transition:transform .18s ease, box-shadow .25s ease;
}
.btn::after{ /* gold shimmer sweep */
  content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(228,198,135,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:hover::after{left:130%}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn-gold{background:linear-gradient(135deg,#C9A25B,#A87F41);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid #D9C2B6}
.btn-ghost::after{display:none}
.btn-small{padding:10px 18px;font-size:12.5px}
.btn-wa{background:#1FA855;width:100%}

/* ============ header ============ */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(251,245,240,.85);backdrop-filter:blur(12px);
  border-bottom:1px solid #EFDCCF;
}
.header-inner{display:flex;align-items:center;gap:22px;height:68px}
.logo{
  font-family:var(--font-display);font-size:22px;color:var(--ink);
  text-decoration:none;letter-spacing:.06em;
}
.logo span{color:var(--gold);font-style:italic}
.nav{display:flex;gap:22px;margin-inline-start:auto}
.nav a{color:var(--ink-soft);text-decoration:none;font-size:13px;font-weight:600}
.nav a:hover{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;background:var(--white);border:1px solid #E3CDBF;border-radius:100px;padding:3px;gap:2px}
.lang button{border:none;background:none;font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--ink-soft);padding:6px 12px;border-radius:100px;cursor:pointer}
.lang button.on{background:var(--ink);color:var(--cream)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.menu-toggle span{width:22px;height:2px;background:var(--ink);display:block}

/* ============ hero — photo in glowing arch ============ */
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:44px;
  max-width:1080px;margin:0 auto;padding:70px 22px 96px;perspective:1000px;
}
.hero-arch{
  position:relative;height:520px;display:grid;place-items:center;order:2;
  transform-style:preserve-3d;
}
.arch-glow{
  position:absolute;inset:2% 8%;
  background:radial-gradient(closest-side, rgba(233,203,158,.75), rgba(233,203,158,0) 72%);
  filter:blur(10px);
  animation:glowpulse 6s ease-in-out infinite;
}
@keyframes glowpulse{0%,100%{opacity:.75}50%{opacity:1}}
.hero-photo-frame{
  position:relative;width:min(80%,330px);aspect-ratio:0.62;
  border-radius:999px 999px 28px 28px;
  padding:8px;
  background:linear-gradient(160deg, rgba(228,198,135,.9), rgba(178,144,80,.55), rgba(228,198,135,.9));
  box-shadow:0 0 60px 10px rgba(233,203,158,.55), 0 30px 60px -20px rgba(46,28,32,.5);
  animation:floaty 7s ease-in-out infinite;
  will-change:transform;
}
@keyframes floaty{0%,100%{transform:translateY(0) rotateX(0deg)}50%{transform:translateY(-10px) rotateX(1.5deg)}}
.hero-photo{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  border-radius:992px 992px 22px 22px;
}
.hero-badge{
  position:absolute;bottom:26px;inset-inline-start:50%;transform:translateX(-50%);
  background:rgba(36,26,29,.82);backdrop-filter:blur(6px);color:var(--gold-bright);
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;
  padding:9px 18px;border-radius:100px;border:1px solid rgba(228,198,135,.4);white-space:nowrap;
}
html[dir="rtl"] .hero-badge{letter-spacing:.06em;transform:translateX(50%)}
.hero-copy{order:1}
.hero-copy .eyebrow{text-align:start}
.hero-copy h1{font-size:clamp(38px,5.6vw,62px);margin:14px 0 18px}
.hero-copy h1 em{font-style:italic;color:var(--gold);white-space:nowrap}
.hero-copy .sub{max-width:450px;margin-bottom:28px;font-size:15.5px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{margin-top:18px;font-size:12.5px;color:var(--rose-deep);font-weight:600}

/* ============ scroll reveal ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.12s}
.reveal-d2{transition-delay:.24s}
.reveal-d3{transition-delay:.36s}

/* ============ 3D tilt cards ============ */
.tilt{transform-style:preserve-3d;transition:transform .25s ease, box-shadow .25s ease;will-change:transform}

/* ============ sections ============ */
.section{padding:84px 0}
.section-tint{background:linear-gradient(180deg, var(--sand), var(--blush))}
.section-dark{
  background:
    radial-gradient(800px 400px at 80% 0%, rgba(201,162,91,.14), transparent 60%),
    linear-gradient(165deg, var(--noir), var(--noir-2));
}
.section-dark h2{color:#F7ECE0}
.section-dark .sub{color:#CBB3A8}
.section-dark .eyebrow{color:var(--gold-bright)}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.step-card{
  background:var(--white);border:1px solid #EFDCCF;border-radius:var(--radius);
  overflow:hidden;box-shadow:0 8px 30px -18px rgba(46,28,32,.25);
}
.step-photo{height:240px;overflow:hidden}
.step-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .6s ease}
.step-photo img.pos-1{object-position:center 38%}
.step-photo img.pos-2{object-position:center 30%}
.step-photo img.pos-3{object-position:center 42%}
.step-card:hover .step-photo img{transform:scale(1.06)}
.step-body{padding:22px 22px 26px;text-align:center}
.step-num{font-family:var(--font-display);font-size:15px;color:var(--gold);letter-spacing:.2em}
.step-card h3{font-size:21px;margin:6px 0 8px}
.step-card p{font-size:13.5px;color:var(--ink-soft)}

/* ============ tips — luxury animated cards ============ */
.tip-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:24px 0 30px}
.chip{
  border:1px solid #DCC3B4;background:var(--white);color:var(--ink-soft);
  font-family:var(--font-body);font-size:12px;font-weight:600;
  border-radius:100px;padding:9px 18px;cursor:pointer;transition:.2s;
}
.chip:hover{border-color:var(--gold)}
.chip.on{background:linear-gradient(135deg,#C9A25B,#A87F41);border-color:transparent;color:#fff}
.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tip-card{
  background:var(--white);border:1px solid #EFDCCF;border-radius:20px;padding:22px;
  display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;
  animation:tipIn .5s ease both;
}
@keyframes tipIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.tip-card::before{ /* gold corner glow */
  content:"";position:absolute;top:-40px;inset-inline-end:-40px;width:110px;height:110px;
  background:radial-gradient(circle, rgba(201,162,91,.18), transparent 70%);
}
.tip-art{
  height:86px;display:grid;place-items:center;
}
.tip-art svg{height:80px;filter:drop-shadow(0 8px 14px rgba(46,28,32,.18));transition:transform .4s ease}
.tip-card:hover .tip-art svg{transform:translateY(-6px) rotate(-3deg) scale(1.05)}
.tip-card .cat b{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink)}
.tip-card p{font-size:12.5px;color:var(--ink-soft);flex:1}
.tip-picks{display:flex;flex-wrap:wrap;gap:6px}
.tip-picks span{font-size:10.5px;font-weight:600;padding:6px 11px;border-radius:100px}
.tip-picks .lux{background:linear-gradient(135deg,#F3E4C6,#EAD3A6);color:#7C5E24}
.tip-picks .smart{background:var(--blush);color:var(--rose-deep)}

/* ============ glam banner (photo strip) ============ */
.glam-banner{
  position:relative;height:380px;overflow:hidden;
}
.glam-banner img{
  width:100%;height:130%;object-fit:cover;object-position:center 20%;
  will-change:transform;
}
.glam-overlay{
  position:absolute;inset:0;display:grid;place-items:center;text-align:center;
  background:linear-gradient(180deg, rgba(36,26,29,.35), rgba(36,26,29,.62));
  padding:0 22px;
}
.glam-overlay h2{color:#F9EFE2;font-size:clamp(26px,4vw,42px);text-shadow:0 2px 26px rgba(0,0,0,.4)}
.glam-overlay .eyebrow{color:var(--gold-bright)}

/* packages */
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px;align-items:stretch}
.pack{
  background:var(--white);border:1px solid #E3CDBF;border-radius:var(--radius);
  padding:30px 26px;display:flex;flex-direction:column;gap:12px;position:relative;
}
.pack-feat{
  border:1px solid rgba(201,162,91,.65);
  background:
    radial-gradient(400px 200px at 100% 0%, rgba(201,162,91,.16), transparent 60%),
    linear-gradient(165deg,#FDF6EA,#F8EADA);
  box-shadow:var(--shadow);
}
.flag{
  position:absolute;top:-13px;inset-inline-end:22px;
  background:linear-gradient(135deg,#C9A25B,#A87F41);color:#fff;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  padding:7px 14px;border-radius:100px;box-shadow:0 8px 18px -8px rgba(168,127,65,.7);
}
html[dir="rtl"] .flag{letter-spacing:.03em}
.pack h3{font-size:24px}
.pack p{font-size:13px;color:var(--ink-soft)}
.pack ul{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1;margin:6px 0 12px}
.pack li{font-size:12.5px;display:flex;gap:9px;font-weight:500;color:var(--ink)}
.pack li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:8px;flex-shrink:0}

/* testimonials — dark luxury */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.quotes blockquote{
  background:rgba(255,255,255,.05);border:1px solid rgba(228,198,135,.22);
  border-radius:18px;padding:26px 24px;backdrop-filter:blur(4px);
}
.quotes p{font-size:13.5px;color:#EFDFD2;font-style:italic;margin-bottom:14px;font-weight:300}
.quotes cite{font-style:normal;font-size:12px;color:var(--gold-bright);font-weight:600;letter-spacing:.05em}

/* vip */
.vip{background:linear-gradient(160deg,#2E2023,#4A3237);position:relative;overflow:hidden}
.vip::before{
  content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:520px;height:320px;background:radial-gradient(closest-side, rgba(201,162,91,.22), transparent);
}
.vip h2{color:#F7ECE0}
.vip .sub{color:#CBB3A8}
.vip-inner{text-align:center;max-width:640px;position:relative}
.vip-form{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap;justify-content:center}
.vip-form input{
  flex:1;min-width:200px;border:1px solid rgba(228,198,135,.35);background:rgba(255,255,255,.08);
  color:#F7ECE0;border-radius:100px;padding:15px 22px;font-family:var(--font-body);font-size:14px;outline:none;
  text-align:start;
}
.vip-form input::placeholder{color:rgba(247,236,224,.5)}
.vip-form input:focus{border-color:var(--gold-bright)}
.vip .btn{background:linear-gradient(135deg,#C9A25B,#A87F41)}
.form-msg{margin-top:14px;font-size:13px;color:var(--gold-bright);min-height:1.4em;font-weight:600}

/* footer */
.site-footer{padding:50px 0 36px;text-align:center;background:var(--noir)}
.footer-inner{display:flex;flex-direction:column;gap:12px;align-items:center}
.site-footer .logo{color:#F7ECE0}
.site-footer p{font-size:12.5px;color:#A88E95}
.socials{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.socials a{color:var(--gold-bright);font-size:13px;font-weight:600;text-decoration:none}
.socials a:hover{text-decoration:underline}
.copyright{font-size:11px;opacity:.55}

/* whatsapp float */
.wa-float{
  position:fixed;bottom:22px;inset-inline-end:22px;z-index:70;
  width:56px;height:56px;border-radius:50%;background:#1FA855;color:#fff;
  display:grid;place-items:center;font-size:25px;text-decoration:none;
  box-shadow:0 14px 30px -8px rgba(31,168,85,.6);
  animation:wapulse 3s ease-in-out infinite;
}
@keyframes wapulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

/* ============ overlays / modals ============ */
.overlay{
  position:fixed;inset:0;z-index:90;background:rgba(30,20,23,.6);backdrop-filter:blur(6px);
  display:grid;place-items:center;padding:18px;overflow-y:auto;
}
.overlay[hidden]{display:none}
.modal{
  position:relative;background:var(--cream);border-radius:26px;max-width:450px;width:100%;
  padding:40px 32px 34px;box-shadow:0 40px 90px -24px rgba(20,12,14,.65);
  max-height:92vh;overflow-y:auto;
  animation:modalIn .35s cubic-bezier(.2,.9,.3,1.2) both;
}
@keyframes modalIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}
.modal-close{
  position:absolute;top:14px;inset-inline-end:16px;border:none;background:var(--blush);
  width:36px;height:36px;border-radius:50%;font-size:19px;color:var(--ink);cursor:pointer;
}
.modal .eyebrow{text-align:start;margin-bottom:6px}
.modal h3{font-size:25px;margin-bottom:10px}

/* quiz */
.q-screen{display:none;flex-direction:column;gap:14px}
.q-screen.active{display:flex}
.q-badge{width:60px;height:60px;border-radius:50%;background:linear-gradient(155deg,#E4C687,#C9A25B);display:grid;place-items:center;font-size:27px;box-shadow:0 14px 30px -10px rgba(168,127,65,.6)}
.q-progress{height:4px;background:var(--sand);border-radius:4px;overflow:hidden}
.q-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-bright),var(--gold));border-radius:4px;transition:width .4s}
.q-opts{display:flex;flex-direction:column;gap:10px}
.q-opts button{
  border:1px solid #E3CDBF;background:var(--white);border-radius:16px;padding:15px 17px;
  cursor:pointer;text-align:start;font-family:var(--font-body);transition:.18s;
  display:flex;flex-direction:column;gap:2px;
}
.q-opts button:hover{border-color:var(--gold);background:#FDF6EA;transform:translateX(4px)}
html[dir="rtl"] .q-opts button:hover{transform:translateX(-4px)}
.q-opts b{font-size:13.5px;color:var(--ink);font-weight:600}
.q-opts small{font-size:11px;color:var(--ink-soft)}
.result-card{
  background:linear-gradient(160deg,#FDF6EA,#F6E6D2);border:1px solid rgba(201,162,91,.45);
  border-radius:20px;padding:22px;text-align:center;
}
.result-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
html[dir="rtl"] .result-label{letter-spacing:.04em}
.result-card h3{font-size:31px;margin:6px 0}
.result-routine h4{font-family:var(--font-display);font-weight:500;font-size:17px;margin-bottom:8px}
.result-routine ol{padding-inline-start:20px;display:flex;flex-direction:column;gap:6px}
.result-routine li{font-size:12.5px;color:var(--ink-soft)}
.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}

/* booking */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.field > span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
html[dir="rtl"] .field > span{letter-spacing:.03em}
.field input{
  border:1px solid #E3CDBF;background:var(--white);border-radius:14px;padding:13px 15px;
  font-family:var(--font-body);font-size:14px;color:var(--ink);outline:none;
}
.field input:focus{border-color:var(--gold)}
.day-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.day-row button{
  flex:0 0 auto;min-width:58px;border:1px solid #E3CDBF;background:var(--white);border-radius:14px;
  padding:9px 8px;cursor:pointer;font-family:var(--font-body);text-align:center;transition:.15s;
}
.day-row button small{display:block;font-size:9.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}
.day-row button b{display:block;font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--ink)}
.day-row button.sel{background:var(--ink);border-color:var(--ink)}
.day-row button.sel small,.day-row button.sel b{color:var(--cream)}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.time-grid button{
  border:1px solid #E3CDBF;background:var(--white);border-radius:12px;padding:10px 6px;
  font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;
}
.time-grid button.sel{background:linear-gradient(135deg,#C9A25B,#A87F41);border-color:transparent;color:#fff}
.time-grid button:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through}

/* ============ responsive ============ */
@media (max-width: 900px){
  .steps,.packs,.quotes,.tips-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .hero{grid-template-columns:1fr;padding:36px 22px 60px;gap:10px;text-align:center}
  .hero-copy{order:2}
  .hero-arch{order:1;height:430px}
  .hero-copy .eyebrow{text-align:center}
  .hero-copy .sub{margin-inline:auto}
  .hero-actions{justify-content:center}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);
    flex-direction:column;padding:18px 22px;border-bottom:1px solid #EFDCCF;gap:14px}
  .nav.open{display:flex}
  .menu-toggle{display:flex}
  .header-actions .btn-small{display:none}
  .glam-banner{height:280px}
}
@media (max-width: 560px){
  .steps,.packs,.quotes,.tips-grid{grid-template-columns:1fr}
  .section{padding:60px 0}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
