:root{
  --brand:#0b6f66;
  --brand-2:#08796d;
  --accent:#ff6fa5;
  --accent-green:#00b894;
  --accent-2:#8ddcff;
  --gold:#ffd166;
  --purple:#b197fc;
  --orange:#ffb86b;
  --ink:#243041;
  --muted:#687386;
  --line:#edf1f5;
  --soft:#fffdf7;
  --white:#fff;
  --shadow:0 22px 55px rgba(32,55,80,.11);
  --shadow-sm:0 14px 30px rgba(32,55,80,.08);
  --radius:30px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  font-family:"Cairo",sans-serif!important;
  background:
    radial-gradient(circle at 9% 16%, rgba(141,220,255,.35), transparent 12%),
    radial-gradient(circle at 92% 24%, rgba(255,111,165,.18), transparent 16%),
    radial-gradient(circle at 18% 84%, rgba(255,209,102,.23), transparent 18%),
    linear-gradient(180deg,#fffdf8 0%,#f9fffb 42%,#ffffff 100%)!important;
  color:var(--ink)!important;
  overflow-x:hidden;
  position:relative;
}

/* =========================
   NAVBAR
========================= */

.navbar{
  background:#588b8b!important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 24px rgba(38,54,80,.14)!important;
  position:relative;
  z-index:20;
}

.navbar .container,
.navbar .container-fluid{
  gap:14px;
  flex-wrap:wrap;
}

.navbar-brand,
.navbar-brand *,
.navbar a,
.navbar .nav-link{
  color:#ffffff!important;
  font-weight:900!important;
  letter-spacing:-.4px;
}

.navbar-brand:hover,
.navbar a:hover,
.navbar .nav-link:hover{
  color:#f7ffff!important;
}

.logo-img,
.navbar-logo{
  height:58px!important;
  width:auto!important;
  object-fit:contain!important;
  border-radius:22px;
  background:#ffffff!important;
  box-shadow:0 10px 24px rgba(32,55,80,.16);
  padding:5px;
}

.btn-emp,
.btn-back,
.btn-main,
.service-btn{
  border:0!important;
  text-decoration:none!important;
  border-radius:999px!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  transition:.25s ease!important;
  white-space:nowrap;
}

.btn-emp,
.btn-back{
  background:rgba(255,255,255,.16)!important;
  color:#ffffff!important;
  padding:10px 17px!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:none!important;
}

.btn-emp:hover,
.btn-back:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.28)!important;
  color:#ffffff!important;
}

.btn-main,
.service-btn{
  background:linear-gradient(135deg,#ff6fa5,#ff4f91)!important;
  color:#fff!important;
  padding:13px 25px!important;
  box-shadow:0 14px 28px rgba(255,111,165,.24)!important;
}

.btn-main:hover,
.service-btn:hover{
  transform:translateY(-3px);
  color:#fff!important;
  box-shadow:0 18px 36px rgba(255,111,165,.32)!important;
}

.btn-light-ottu{
  background:#fff!important;
  color:#588b8b!important;
  border:1px solid rgba(255,255,255,.4)!important;
  box-shadow:0 10px 22px rgba(32,55,80,.10)!important;
}

/* =========================
   HERO SECTION
========================= */

.hero{
  position:relative!important;
  isolation:isolate;
  min-height:auto!important;
  padding:100px 0 80px!important;
  text-align:center!important;
  background:#588b8b!important;
  overflow:hidden!important;
}

.hero::before{
  content:"🎈";
  position:absolute;
  top:60px;
  left:80px;
  font-size:100px;
  opacity:.9;
  animation:floatBalloon 5s ease-in-out infinite;
  z-index:1;
}

.hero::after{
  content:"🎈 🎈";
  position:absolute;
  top:120px;
  right:80px;
  font-size:80px;
  opacity:.85;
  animation:floatBalloon 6s ease-in-out infinite;
  z-index:1;
}

.hero .container{
  position:relative;
  z-index:2;
}

.hero-content{
  position:relative!important;
  max-width:760px!important;
  margin:auto!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:38px!important;
  padding:42px 36px!important;
  backdrop-filter:blur(10px);
  box-shadow:0 20px 40px rgba(0,0,0,.12);
  z-index:2;
  text-align:center!important;
}

.hero-content::before{
  content:"مركز صُنّاع الموهوبين";
  display:inline-flex;
  margin-bottom:16px;
  padding:9px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#ffffff;
  font-weight:900;
  font-size:14px;
  border:1px solid rgba(255,255,255,.28);
}

.hero-content::after{
  content:"🎈";
  position:absolute;
  left:25px;
  top:25px;
  font-size:48px;
}

.hero h1{
  font-size:clamp(34px,5vw,62px)!important;
  line-height:1.2!important;
  color:#ffffff!important;
  font-weight:900!important;
  letter-spacing:-1.2px!important;
  margin-bottom:18px!important;
}

.hero h1::first-letter{
  color:#ffd166!important;
}

.hero p{
  font-size:clamp(16px,2vw,22px)!important;
  color:#f4f8f8!important;
  line-height:1.9!important;
  margin-bottom:0!important;
  font-weight:700!important;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:26px;
}

@keyframes floatBalloon{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-18px);}
}

/* =========================
   FEATURES
========================= */

.ottu-feature-strip{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:38px auto 0;
  max-width:1120px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(32,55,80,.06);
  border-radius:28px;
  padding:14px 10px;
  box-shadow:var(--shadow-sm);
}

.ottu-feature{
  background:transparent!important;
  border:0!important;
  border-left:1px dashed #d7dde6;
  border-radius:0!important;
  padding:14px 10px;
  font-weight:900;
  color:var(--brand);
  box-shadow:none!important;
  text-align:center;
}

.ottu-feature:last-child{border-left:0}

.ottu-feature i{
  display:block!important;
  color:var(--accent)!important;
  margin:0 auto 7px!important;
  font-size:28px;
}

.ottu-feature:nth-child(2) i{color:#ffb703!important}
.ottu-feature:nth-child(3) i{color:#7d5fff!important}
.ottu-feature:nth-child(4) i{color:#00b894!important}
.ottu-feature:nth-child(5) i{color:#8ddcff!important}

/* =========================
   SECTIONS
========================= */

.section,
section.py-5{
  padding:82px 0!important;
  position:relative;
  z-index:1;
}

.section-title{
  font-size:clamp(28px,4vw,44px)!important;
  color:var(--brand)!important;
  font-weight:900!important;
  letter-spacing:-.9px!important;
}

.section-title::before,
.section-title::after{
  content:"🌸";
  font-size:26px;
  margin:0 8px;
}

.text-muted{color:var(--muted)!important}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#e8fff8;
  color:var(--brand);
  border-radius:999px;
  padding:8px 15px;
  font-weight:900;
  margin-bottom:12px;
  border:1px solid rgba(0,184,148,.16);
}

/* =========================
   CARDS
========================= */

.service-card,
.kid-card,
.curr-card,
.main-card,
.contact-box{
  background:linear-gradient(180deg,#d8f0ea 0%,#c7e9e0 100%)!important;
  border:1px solid #b5ddd3!important;
  border-radius:var(--radius)!important;
  box-shadow:0 16px 34px rgba(32,55,80,.13)!important;
  overflow:visible!important;
  transition:.28s ease!important;
  height:100%!important;
  position:relative;
}

.service-card:hover,
.kid-card:hover,
.curr-card:hover,
.main-card:hover{
  transform:translateY(-8px)!important;
  box-shadow:0 24px 48px rgba(32,55,80,.18)!important;
}

.service-card::before,
.kid-card::before,
.curr-card::before{
  content:"";
  position:absolute;
  top:0;
  right:18px;
  left:18px;
  height:6px;
  border-radius:0 0 18px 18px;
  background:linear-gradient(90deg,#ff6fa5,#ffd166,#8ddcff,#00b894);
}

.card-image{
  height:210px!important;
  background-size:cover!important;
  background-position:center!important;
  position:relative!important;
  border-radius:26px 26px 0 0!important;
  overflow:hidden;
}

.card-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(255,255,255,.10),transparent 70%);
}

.card-body-custom,
.kid-inner,
.curr-inner,
.card-bodyx{
  padding:30px!important;
}

.service-card h5,
.kid-title,
.curr-title,
.card-title{
  color:var(--brand)!important;
  font-weight:900!important;
  font-size:21px!important;
}

.service-card p,
.kid-note,
.curr-note{
  color:var(--muted)!important;
  line-height:1.85!important;
}

.kid-top,
.curr-top{
  display:none!important;
}

.kid-icon,
.curr-icon,
.icon-box{
  width:68px!important;
  height:68px!important;
  border-radius:24px!important;
  background:#fff0f6!important;
  color:var(--accent)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:26px!important;
  margin:0 auto 16px!important;
  border:1px solid rgba(255,111,165,.16)!important;
  box-shadow:0 10px 24px rgba(255,111,165,.10);
}

.kid-card:nth-child(2n) .kid-icon,
.curr-card:nth-child(2n) .curr-icon{
  background:#fff7db!important;
  color:#ffb703!important;
}

.kid-card:nth-child(3n) .kid-icon,
.curr-card:nth-child(3n) .curr-icon{
  background:#e9fff8!important;
  color:#00a884!important;
}

.badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:16px!important;
  justify-content:center;
}

.badge-item,
.detail-pill{
  background:#ffffff!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  color:#344054!important;
  padding:9px 13px!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(32,55,80,.05)!important;
}

.badge-item i{color:var(--accent-green)!important}

.kid-card,
.curr-card{
  text-align:center;
}

/* =========================
   FORMS
========================= */

.contact-box{
  max-width:760px;
  margin:auto;
  padding:36px!important;
}

.form-control,
.form-select,
textarea{
  border-radius:18px!important;
  border:1px solid #d8e3e0!important;
  padding:12px 15px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.form-control:focus,
.form-select:focus,
textarea:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 .2rem rgba(255,111,165,.12)!important;
}

.form-label{
  font-weight:900!important;
  color:var(--ink)!important;
}

.hint{
  color:var(--muted);
  font-size:13px;
  margin-top:6px;
}

.req{color:var(--accent)}

.details-card,
.bank-note{
  background:#fffaf1!important;
  border:1px solid rgba(255,209,102,.34)!important;
  border-radius:24px!important;
  padding:20px!important;
  margin-top:18px!important;
}

.details-title{
  font-weight:900;
  color:var(--brand);
  font-size:20px;
  margin-bottom:14px;
}

.details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.details-desc{
  margin-top:12px;
  color:var(--muted);
  line-height:1.8;
}

.lbl{
  font-weight:900;
  color:var(--brand);
}

/* =========================
   FOOTER
========================= */

footer{
  background:#0b6f66!important;
  color:#effff9!important;
  padding:24px!important;
  text-align:center!important;
  border-top:1px solid rgba(255,255,255,.08);
  position:relative;
  z-index:2;
}

/* =========================
   SITE STICKERS
========================= */

.sticker{
  position:absolute;
  z-index:3;
  pointer-events:none;
  filter:drop-shadow(0 10px 16px rgba(32,55,80,.10));
  animation:floatSticker 4.5s ease-in-out infinite;
}

.sticker-sun{left:42px;top:56px;font-size:70px;animation-delay:.2s}
.sticker-star{left:34%;top:78px;font-size:58px;animation-delay:.8s}
.sticker-balloon{right:14%;top:78px;font-size:74px;animation-delay:1.2s}
.sticker-bear{left:70px;bottom:32px;font-size:82px;animation-delay:1.8s}
.sticker-plane{right:34%;top:92px;font-size:52px;animation-delay:1.5s}

@keyframes floatSticker{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

.site-stickers{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}

.site-sticker{
  position:absolute;
  display:block;
  font-size:clamp(34px,4vw,62px);
  line-height:1;
  filter:drop-shadow(0 10px 16px rgba(32,55,80,.12));
  opacity:.88;
  animation:stickerFloat 5s ease-in-out infinite;
}

.site-sticker:nth-child(even){animation-delay:1.2s}
.site-sticker:nth-child(3n){animation-delay:2.1s}

.stk-1{top:120px;left:28px}
.stk-2{top:180px;right:34px}
.stk-3{top:460px;left:36px}
.stk-4{top:620px;right:42px}
.stk-5{top:920px;left:30px}
.stk-6{top:1080px;right:34px}
.stk-7{top:1380px;left:50px}
.stk-8{top:1580px;right:50px}
.stk-9{top:1880px;left:36px}
.stk-10{top:2100px;right:42px}
.stk-11{top:2420px;left:48px}
.stk-12{top:2660px;right:48px}
.stk-13{top:2980px;left:34px}
.stk-14{top:3260px;right:34px}

@keyframes stickerFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-12px) rotate(3deg)}
}

.navbar,
.hero,
section,
footer,
.container,
.container-fluid{
  position:relative;
  z-index:2;
}

/* =========================
   DESKTOP
========================= */

@media(min-width:992px){
  body.home-page .hero-content{
    margin-right:auto;
    margin-left:80px;
  }

  .hero-children{
    position:absolute;
    right:8%;
    bottom:0;
    width:min(420px,35vw);
    height:430px;
    background:url('https://images.unsplash.com/photo-1516627145497-ae6968895b74?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
    border-radius:34px 34px 0 0;
    box-shadow:var(--shadow);
    z-index:1;
  }

  .hero-children::before{
    content:"";
    position:absolute;
    inset:-28px;
    background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,0));
    border-radius:45px;
    z-index:-1;
  }

  .hero-children::after{
    content:"🎨";
    position:absolute;
    right:-34px;
    bottom:38px;
    font-size:70px;
    filter:drop-shadow(0 10px 18px rgba(32,55,80,.14));
  }
}

/* =========================
   TABLET
========================= */

@media(max-width:991px){
  .ottu-feature-strip{
    grid-template-columns:repeat(2,1fr);
  }

  .ottu-feature{
    border-left:0;
    border-bottom:1px dashed #d7dde6;
  }

  .hero{
    padding:76px 0 48px!important;
  }

  .hero::before{
    left:20px;
    font-size:70px;
  }

  .hero::after{
    right:20px;
    font-size:60px;
  }

  .navbar .container-fluid{
    justify-content:center!important;
  }

  .navbar-brand{
    width:100%;
    justify-content:center;
  }

  .btn-emp{
    font-size:13px!important;
    padding:9px 12px!important;
  }

  .hero-children{
    display:none;
  }
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){
  .site-sticker{
    font-size:30px;
    opacity:.55;
  }

  .stk-1{top:95px;left:8px}
  .stk-2{top:150px;right:8px}
  .stk-3{top:420px;left:8px}
  .stk-4{top:560px;right:8px}
  .stk-5{top:840px;left:8px}
  .stk-6{top:1000px;right:8px}
  .stk-7{top:1280px;left:8px}
  .stk-8{top:1480px;right:8px}
}

@media(max-width:576px){
  .hero-content{
    padding:28px 22px!important;
    border-radius:26px!important;
  }

  .section,
  section.py-5{
    padding:58px 0!important;
  }

  .details-grid{
    grid-template-columns:1fr;
  }

  .ottu-feature-strip{
    grid-template-columns:1fr;
  }

  .card-image{
    height:180px!important;
  }

  .hero h1{
    font-size:34px!important;
  }
}