:root{
  --blue:#07539b;
  --blue2:#0879df;
  --deep:#052b5d;
  --orange:#ff8c10;
  --green:#09b95c;
  --text:#082b58;
  --muted:#728399;
  --line:#e2edf6;
  --light:#f5fbff;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
}
*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  font-family:Cairo,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(135deg,#eaf7ff 0%,#f6fbff 42%,#dff2ff 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body,button,input,select,textarea{font-family:Cairo,Arial,sans-serif}
a{text-decoration:none;color:inherit}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
img,svg{max-width:100%}
img{height:auto}
.wrap{width:min(1200px,92%);margin-inline:auto;min-width:0}
.topbar{background:#07539b;color:#fff;font-size:12px}
.topbar-inner{
  min-height:32px;display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-width:0
}
.topbar a{font-weight:800}
.header{
  background:#fff;box-shadow:0 8px 28px #0b3f7412;
  position:sticky;top:0;z-index:100
}
.nav{
  min-height:82px;height:auto;display:flex;align-items:center;gap:18px;
  min-width:0;padding-block:8px
}
.brand{
  display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;
  white-space:nowrap;min-width:0;flex:0 1 auto
}
.brand img{
  width:66px;height:66px;object-fit:contain;flex:0 0 66px;border-radius:50%;
  filter:drop-shadow(0 7px 14px rgba(5,63,120,.14))
}
.brand-name{
  background:linear-gradient(90deg,#062d63 0%,#0782e9 48%,#f59e0b 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;
  overflow:hidden;text-overflow:ellipsis
}
.desktop-nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto;min-width:0}
.desktop-nav a{padding:16px 12px;font-weight:800;font-size:14px;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav .active{background:#edf6ff;color:#0875df;border-radius:16px}
.whatsapp-top{
  background:#ff8d13;color:#fff;padding:13px 17px;border-radius:14px;font-weight:900;
  box-shadow:0 10px 25px #ff8d1330;display:inline-flex;align-items:center;justify-content:center;
  gap:7px;white-space:nowrap;flex:0 0 auto
}
.wa-icon,.btn-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto}
.menu{
  display:none;border:0;background:#eef6ff;color:#0759a7;border-radius:12px;
  padding:9px 12px;font-size:20px;line-height:1;min-width:44px;min-height:44px
}
.mobile-nav{display:none}
.mobile-nav.open{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 4%;
  gap:8px;background:#fff;border-top:1px solid #e8f0f7
}
.mobile-nav a{
  min-height:44px;padding:10px;background:#f4f8fc;border-radius:12px;
  display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:13px
}

.hero{
  min-height:500px;background:linear-gradient(90deg,#fafdff 0%,#eaf7ff 100%);
  display:grid;grid-template-columns:1.04fr .96fr;direction:ltr;overflow:hidden
}
.hero-image{position:relative;min-height:500px;overflow:hidden}
.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff0 55%,#fff 100%)}
.hero-copy{
  direction:rtl;display:flex;flex-direction:column;justify-content:center;
  padding:45px 5% 45px 7%;position:relative;min-width:0
}
.eyebrow,.label{
  display:inline-flex;width:max-content;max-width:100%;background:#edf7ff;color:#0a70d8;
  padding:9px 16px;border-radius:30px;font-weight:800;font-size:14px
}
.hero h1{font-size:clamp(42px,4.2vw,58px);line-height:1.12;margin:16px 0 10px;color:#062d63}
.hero h1 span{color:#0782e9}
.hero-copy p{font-size:17px;line-height:1.9;max-width:590px;margin:0;color:#425b78;font-weight:600}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:25px 0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;
  padding:14px 24px;font-family:inherit;font-weight:900;cursor:pointer;transition:.25s;
  min-height:48px;text-align:center
}
.btn small{font-size:12px;opacity:.9}
.btn:hover{transform:translateY(-2px)}
.call{background:linear-gradient(135deg,#0879df,#0752a2);color:#fff;box-shadow:0 14px 30px #0879df2c}
.wa{background:#09b95c;color:#fff;box-shadow:0 14px 30px #09b95c2c}
.orange{background:#ff8c10;color:#fff;box-shadow:0 12px 25px #ff8c1030}
.hero-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hero-trust div{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:8px;align-items:center;min-width:0}
.hero-trust i{
  grid-row:1/3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:#eaf5ff;color:#086ed1;font-style:normal;box-shadow:0 8px 20px #0b4c9020
}
.hero-trust b{font-size:13px;min-width:0}
.hero-trust span{font-size:11px;color:#7c8da0;min-width:0}
.hero-badge{
  position:absolute;left:30px;background:#fff;padding:10px 18px;border-radius:30px;
  box-shadow:0 8px 24px #164a7a18;font-size:13px;font-weight:900;z-index:3;white-space:nowrap
}
.b1{top:43%}.b2{top:59%}.b3{top:75%}

.section{padding:76px 0}
.section-head{text-align:center;margin-bottom:34px}
.section-head>span{color:#0874dc;font-weight:900}
.section-head h2{font-size:34px;line-height:1.35;margin:5px 0;color:#082e61}
.section-head p{color:#728399;margin:0}
.services,.reviews{background:linear-gradient(180deg,rgba(234,247,255,.72) 0%,rgba(246,251,255,.92) 100%)}
.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.service-card{
  background:#fff;border:1px solid #e3edf7;border-radius:17px;padding:0 0 15px;overflow:hidden;
  box-shadow:0 12px 30px #0a477d0c;transition:.25s;min-width:0
}
.service-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px #0a477d18}
.service-card img{width:100%;height:108px;object-fit:cover;display:block}
.service-card .icon{
  width:38px;height:38px;border-radius:50%;background:#087cf0;color:#fff;display:grid;
  place-items:center;margin:-19px 14px 0 auto;position:relative;border:3px solid #fff;font-size:15px
}
.service-card .green{background:#0bbd64}
.service-card h3{font-size:16px;margin:8px 14px 3px}
.service-card p{font-size:12px;line-height:1.7;color:#728096;min-height:43px;margin:0 14px}
.service-card a{display:flex;justify-content:space-between;align-items:center;color:#0878df;font-weight:900;font-size:12px;margin:10px 14px 0;gap:8px}
.service-card a b{width:23px;height:23px;border-radius:50%;background:#0878df;color:#fff;display:grid;place-items:center;flex:0 0 23px}

.why,.booking,.areas,.contact{background:linear-gradient(135deg,#e5f4ff 0%,#f5fbff 52%,#dff2ff 100%)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.city-card{height:365px;position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #0a42731d}
.city-card img{width:100%;height:100%;object-fit:cover;display:block}
.city-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0068cfdb,#062c64a6)}
.city-text{position:absolute;inset:auto 30px 30px;color:#fff}
.city-text span{font-size:17px}.city-text h2{font-size:50px;line-height:1;margin:2px 0 8px}
.city-text p{max-width:420px}
.why-copy h2{font-size:35px;margin:10px 0 25px}
.why-items{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.why-items div{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:10px;min-width:0}
.why-items i{
  grid-row:1/3;width:48px;height:48px;border-radius:50%;background:#fff;color:#0878df;
  display:grid;place-items:center;font-style:normal;font-size:20px;box-shadow:0 8px 20px #0b4c9020
}
.why-items b{font-size:15px}.why-items p{font-size:12px;color:#718198;margin:2px 0}

.stats{background:linear-gradient(110deg,#052b5d,#0878dd);color:#fff}
.stats-grid{
  min-height:112px;display:grid;grid-template-columns:.8fr .8fr .8fr .9fr 1.7fr;align-items:center
}
.stats-grid>div{padding:12px 18px;border-left:1px solid #ffffff2a;text-align:center}
.stats-grid strong{font-size:29px;display:block}.stats-grid span{font-size:11px;color:#dceeff}
.stats-photo{height:112px;overflow:hidden;padding:0!important}.stats-photo img{width:100%;height:100%;object-fit:cover}
.stats-message{text-align:right!important}.stats-message b{font-size:20px;display:block}.stats-message span{font-size:14px}

.reviews-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:center}
.reviews-heading h2{font-size:32px;line-height:1.3;margin:7px 0}
.stars,.gold{color:#ffad00;letter-spacing:2px}
.review{
  position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;border:1px solid #e3edf6;
  border-radius:18px;padding:22px;box-shadow:0 12px 32px #0b3f7110;min-width:0
}
.review .gold{position:absolute;top:20px;left:20px;font-size:11px}
.review .avatar{width:52px;height:52px;border-radius:50%;background:#eef6ff;color:#0878df;display:grid;place-items:center;font-weight:900}
.review h3{font-size:15px;margin:3px 0}.review small{color:#8493a5}
.review p{grid-column:1/-1;color:#60728a;font-size:13px;line-height:1.8;margin:5px 0 0}

.booking{padding:0 0 70px}
.booking-inner{
  min-height:300px;border-radius:22px;overflow:hidden;background:linear-gradient(115deg,#052d67,#0879e1);
  display:grid;grid-template-columns:1fr 1fr;align-items:center;color:#fff
}
.booking-art{height:300px;overflow:hidden}.booking-art img{width:100%;height:100%;object-fit:cover;object-position:left center;mix-blend-mode:screen;opacity:.9}
.booking-copy{padding:38px}.booking-copy>span{color:#bceaff;font-weight:800}
.booking-copy h2{font-size:35px;line-height:1.35;margin:8px 0}.booking-copy h2 b{color:#83dcff}.booking-copy p{color:#e3f3ff}

.areas{padding-top:0}
.area-box{
  border:1px solid #dce9f5;background:#fff;border-radius:22px;padding:28px 32px;display:flex;
  align-items:center;justify-content:space-between;gap:25px;box-shadow:0 16px 38px rgba(11,76,144,.09)
}
.area-box h2{font-size:30px;margin:6px 0}.area-box p{color:#718197;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.contact-copy h2{font-size:38px;margin:7px 0}.contact-copy p{color:#728399}
.contact-line{margin:12px 0;font-weight:700}.contact-line a{color:#0878df;direction:ltr;display:inline-block}
.form{
  background:#fff;border:1px solid #e2ecf5;border-radius:22px;padding:24px;
  box-shadow:0 16px 38px rgba(11,76,144,.09);min-width:0
}
.form input,.form select,.form textarea{
  width:100%;max-width:100%;border:0;background:#eff5fb;border-radius:11px;padding:13px 14px;
  margin-bottom:12px;font-family:inherit;font-size:16px;outline:none
}
.form input:focus,.form select:focus,.form textarea:focus{box-shadow:0 0 0 2px #0878df33}
.form button{width:100%}

footer{background:#061b35;color:#dbe8f7;padding-top:55px}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1.2fr 1.1fr;gap:35px;padding-bottom:38px}
.footer-brand img{width:68px;height:68px;object-fit:contain;float:right;margin-left:10px;border-radius:50%;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.footer-brand h3{font-size:20px;margin:8px 0}.footer-brand p{clear:both;color:#9fb2c8;font-size:12px;line-height:1.8}
.footer-grid h4{color:#fff;margin:7px 0 14px}
.footer-grid>a,.footer-grid div>a,.footer-grid div>span{display:block;color:#aebfd2;font-size:12px;margin:7px 0}
.socials{display:none!important}
.map{background:#0a2a4b;border-radius:15px;padding:10px}.map img{width:100%;height:115px;object-fit:cover;border-radius:10px;display:block;margin-bottom:8px}
.map a{color:#67caff!important;text-align:center}.copyright{text-align:center;border-top:1px solid #ffffff18;padding:16px;color:#8fa4ba;font-size:11px}

.floating-actions{
  position:fixed;left:20px;bottom:calc(20px + var(--safe-bottom));z-index:9999;
  display:flex;flex-direction:column;align-items:center;gap:10px
}
.floating-actions a{
  position:relative;display:flex;align-items:center;justify-content:center;gap:7px;
  width:58px;height:58px;border-radius:50%;color:#fff;border:4px solid #fff;
  box-shadow:0 15px 35px #0005;text-decoration:none
}
.floating-actions svg{width:27px;height:27px;display:block;flex:0 0 auto}
.floating-call{order:1;background:linear-gradient(135deg,#0879df,#0752a2);font-size:23px}
.floating-wa{order:2;background:#0abd62;font-size:25px;animation:pulse 2.2s infinite}
.floating-call span{
  position:absolute;right:calc(100% + 8px);white-space:nowrap;background:#0752a2;color:#fff;
  border-radius:12px;padding:6px 9px;font:800 11px Cairo,Arial,sans-serif;opacity:0;
  pointer-events:none;transform:translateX(4px);transition:.2s ease
}
.floating-call:hover span,.floating-call:focus-visible span{opacity:1;transform:none}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

@media (max-width:1100px){
  .wrap{width:min(94%,1200px)}
  .desktop-nav{display:none}
  .menu{display:grid;place-items:center;margin-inline-start:auto}
  .nav{gap:10px}
  .brand{flex:1;min-width:0}
  .hero{grid-template-columns:1fr}
  .hero-image{min-height:430px;order:2}
  .hero-copy{order:1;padding:55px 6%}
  .hero-image-shade{background:linear-gradient(0deg,#fff0 50%,#fff 100%)}
  .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-photo{display:none}
  .stats-message{grid-column:1/-1;text-align:center!important}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:700px){
  :root{--mobile-bottom-bar:72px}
  html{scroll-padding-top:76px}
  body{padding-bottom:calc(var(--mobile-bottom-bar) + var(--safe-bottom))}
  .wrap{width:calc(100% - 28px);max-width:none}
  .topbar{font-size:9px}
  .topbar-inner{min-height:28px;padding:5px 0;justify-content:center;gap:7px}
  .topbar-inner div:first-child,.topbar-inner div:last-child{display:none}
  .topbar-inner a{white-space:nowrap}

  .header{top:0}
  .nav{min-height:62px;padding:6px 0;gap:6px}
  .brand{gap:6px;min-width:0;overflow:hidden}
  .brand img{width:46px;height:46px;flex-basis:46px}
  .brand-name{font-size:clamp(11px,3.2vw,14px);line-height:1.2;white-space:nowrap}
  .whatsapp-top{
    display:inline-flex;padding:8px 9px;border-radius:11px;font-size:9px;gap:4px;
    max-width:104px;overflow:hidden
  }
  .whatsapp-top .wa-icon{width:16px;height:16px}
  .menu{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border-radius:11px;font-size:19px}
  .mobile-nav.open{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px;gap:7px}
  .mobile-nav a{min-height:43px;font-size:12px;padding:8px}

  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-copy{order:1;padding:30px 14px 24px;text-align:right}
  .hero-image{order:2;height:270px;min-height:270px}
  .hero-image>img{min-height:270px;height:270px;object-position:center}
  .hero-image-shade{background:linear-gradient(0deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.96) 100%)}
  .hero-badge{left:12px;font-size:9px;padding:7px 9px}
  .b1{top:26%}.b2{top:46%}.b3{top:66%}
  .eyebrow,.label{font-size:10px;padding:7px 10px}
  .hero h1{font-size:clamp(32px,10vw,40px);line-height:1.16;margin:11px 0 8px}
  .hero-copy p{font-size:12px;line-height:1.8}
  .hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}
  .hero-buttons .btn{width:100%;min-width:0;min-height:52px;padding:9px 7px;font-size:11px;border-radius:12px}
  .hero-buttons .btn small{font-size:8px}
  .hero-buttons .btn-icon{width:17px;height:17px}
  .hero-trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .hero-trust div{grid-template-columns:25px minmax(0,1fr);column-gap:4px}
  .hero-trust i{width:25px;height:25px;font-size:11px}
  .hero-trust b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero-trust span{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .section{padding:44px 0}
  .section-head{margin-bottom:22px}
  .section-head h2{font-size:clamp(22px,6.8vw,27px);line-height:1.35}
  .section-head p{font-size:10px;line-height:1.7}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .service-card{border-radius:14px;padding-bottom:12px}
  .service-card img{height:105px}
  .service-card .icon{width:34px;height:34px;margin:-17px 9px 0 auto;font-size:12px}
  .service-card h3{font-size:12px;margin:7px 9px 3px}
  .service-card p{font-size:8.5px;line-height:1.65;min-height:40px;margin:0 9px}
  .service-card a{font-size:9px;margin:8px 9px 0}
  .service-card a b{width:20px;height:20px;flex-basis:20px}

  .why-grid,.contact-grid,.booking-inner{grid-template-columns:1fr!important;gap:18px}
  .city-card{height:245px;border-radius:16px}
  .city-text{inset:auto 16px 16px}
  .city-text span{font-size:12px}.city-text h2{font-size:36px}.city-text p{font-size:10px;line-height:1.6}
  .city-text .btn{font-size:10px;padding:10px 12px}
  .why-copy h2{font-size:24px;margin:0 0 18px}
  .why-items{grid-template-columns:1fr 1fr;gap:13px}
  .why-items div{grid-template-columns:34px minmax(0,1fr);column-gap:6px}
  .why-items i{width:34px;height:34px;font-size:14px}
  .why-items b{font-size:10px}.why-items p{font-size:8px;line-height:1.5}

  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;padding:10px 0}
  .stats-grid>div{padding:8px 4px;border-left:1px solid rgba(255,255,255,.16)}
  .stats-grid strong{font-size:18px}.stats-grid span{font-size:7px}
  .stats-photo{display:none!important}.stats-message{grid-column:1/-1!important;padding-top:10px!important}
  .stats-message b{font-size:15px}.stats-message span{font-size:9px}

  .reviews-grid{grid-template-columns:1fr!important;gap:10px}
  .reviews-heading h2{font-size:24px}
  .review{padding:15px;border-radius:14px;grid-template-columns:42px minmax(0,1fr)}
  .review .avatar{width:42px;height:42px}.review h3{font-size:12px}.review p{font-size:10px;line-height:1.7}
  .review .gold{top:14px;left:14px;font-size:9px}

  .booking{padding-bottom:44px}
  .booking-inner{border-radius:16px}
  .booking-art{height:150px}.booking-copy{padding:21px}
  .booking-copy h2{font-size:23px}.booking-copy p{font-size:10px}
  .booking-copy .btn{width:100%;min-height:48px;font-size:11px}

  .area-box{padding:19px;gap:14px;border-radius:16px;align-items:stretch}
  .area-box h2{font-size:23px}.area-box p{font-size:9px;line-height:1.7}
  .area-box .btn{width:100%;font-size:10px}

  .contact-copy h2{font-size:27px}.contact-copy p,.contact-line{font-size:10px}
  .form{padding:15px;border-radius:16px}
  .form input,.form select,.form textarea{font-size:16px;padding:12px;margin-bottom:9px}
  .form button{min-height:48px;font-size:11px}

  footer{padding-top:38px}
  .footer-grid{grid-template-columns:1fr!important;gap:22px;padding-bottom:27px}
  .footer-brand img{width:58px;height:58px}.footer-brand h3{font-size:17px}.footer-brand p{font-size:9px}
  .footer-grid h4{font-size:13px}.footer-grid>a,.footer-grid div>a,.footer-grid div>span{font-size:9px}
  .map img{height:125px}.copyright{font-size:8px;padding:12px 7px}

  .floating-actions{
    left:10px;right:10px;bottom:var(--safe-bottom);width:auto;
    display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:stretch;
    padding:6px;background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border:1px solid #dce9f5;border-radius:17px;
    box-shadow:0 10px 30px rgba(0,40,80,.20)
  }
  .floating-actions a{
    width:auto;height:48px;min-height:48px;border:0;border-radius:12px;box-shadow:none;
    padding:0 8px;gap:6px
  }
  .floating-actions svg{width:21px;height:21px}
  .floating-call,.floating-wa{font-size:0;animation:none}
  .floating-actions a::after{font:900 10px Cairo,Arial,sans-serif}
  .floating-call::after{content:"اتصال مباشر"}
  .floating-wa::after{content:"واتساب"}
  .floating-call span{display:none}
}

@media (max-width:430px){
  .whatsapp-top{display:none}
  .nav{gap:7px}
  .hero-buttons{grid-template-columns:1fr}
  .hero-buttons .btn{min-height:50px}
}

@media (max-width:380px){
  .wrap{width:calc(100% - 20px)}
  .brand img{width:42px;height:42px;flex-basis:42px}
  .brand-name{font-size:11px}
  .menu{width:40px;height:40px;min-width:40px}
  .hero-copy{padding-inline:10px}
  .hero h1{font-size:31px}
  .hero-image{height:235px;min-height:235px}
  .hero-image>img{height:235px;min-height:235px}
  .services-grid{grid-template-columns:1fr}
  .service-card img{height:135px}
  .why-items{grid-template-columns:1fr}
  .hero-trust b{font-size:7.5px}.hero-trust span{font-size:6.5px}
  .mobile-nav.open{grid-template-columns:1fr 1fr}
}

@media (max-width:340px){
  .hero-copy p{font-size:11px}
  .hero h1{font-size:29px}
  .hero-trust{gap:3px}
  .hero-trust div{grid-template-columns:22px minmax(0,1fr);column-gap:3px}
  .hero-trust i{width:22px;height:22px;font-size:10px}
  .hero-trust b{font-size:7px}.hero-trust span{font-size:6px}
  .floating-actions a{height:46px;min-height:46px}
  .floating-actions a::after{font-size:9px}
}

/* =========================================================
   V10 MOBILE RESPONSIVE HARDENING
   Android + iOS / Safari / Chrome / Samsung Internet
   ========================================================= */
html, body { width:100%; min-width:0; max-width:100%; }
html { overflow-x:hidden; overflow-x:clip; }
body { overflow-x:hidden; overflow-x:clip; }

/* Prevent flex/grid children from forcing the viewport wider */
.wrap, .nav, .brand, .hero-copy, .hero-buttons, .hero-trust,
.services-grid, .why-grid, .why-copy, .why-items, .stats-grid,
.reviews-grid, .review, .booking-inner, .booking-copy, .area-box,
.contact-grid, .contact-copy, .form, .footer-grid, .mobile-nav { min-width:0; }

img, video, iframe, svg { max-width:100%; }
button, input, select, textarea { max-width:100%; }

@media (max-width:1100px){
  .nav { width:94%; }
  .hero-copy { padding-inline:5%; }
  .services-grid { gap:12px; }
}

@media (max-width:700px){
  :root { --mobile-bottom-bar:70px; }
  html {
    scroll-padding-top:calc(70px + var(--safe-top));
    -webkit-text-size-adjust:100%;
  }
  body {
    padding-bottom:calc(var(--mobile-bottom-bar) + var(--safe-bottom));
    font-size:15px;
  }

  /* Slightly larger mobile presentation without causing overflow */
  .wrap { width:calc(100% - 24px); max-width:none; }
  .topbar { font-size:10px; }
  .topbar-inner { min-height:30px; padding:5px 0; gap:8px; }

  .header {
    top:0;
    padding-top:var(--safe-top);
  }
  .nav {
    width:calc(100% - 24px);
    min-height:66px;
    padding:7px 0;
    gap:7px;
  }
  .brand { flex:1 1 auto; min-width:0; gap:7px; }
  .brand img { width:50px; height:50px; flex:0 0 50px; }
  .brand-name {
    font-size:clamp(12px,3.7vw,15px);
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .whatsapp-top {
    flex:0 0 auto;
    max-width:116px;
    min-height:42px;
    padding:9px 10px;
    font-size:10px;
    border-radius:12px;
  }
  .whatsapp-top .wa-icon { width:17px; height:17px; }
  .menu {
    flex:0 0 44px;
    width:44px; height:44px; min-width:44px; min-height:44px;
    padding:0; border-radius:12px; font-size:20px;
    display:grid; place-items:center;
    -webkit-appearance:none; appearance:none;
  }

  .mobile-nav {
    width:100%;
    padding:10px 12px;
    gap:8px;
  }
  .mobile-nav.open { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mobile-nav a {
    width:100%; min-width:0; min-height:46px;
    padding:10px 7px; font-size:12.5px;
    line-height:1.25; white-space:normal;
  }

  .hero { width:100%; max-width:100%; }
  .hero-copy {
    width:100%; max-width:100%;
    padding:34px 16px 28px;
  }
  .hero h1 {
    font-size:clamp(34px,10.5vw,44px);
    line-height:1.16;
  }
  .hero-copy p { font-size:13px; line-height:1.85; }
  .hero-buttons {
    width:100%; max-width:100%;
    gap:9px; margin:19px 0;
  }
  .hero-buttons .btn {
    min-width:0; width:100%; min-height:54px;
    padding:10px 8px; font-size:12px;
  }
  .hero-buttons .btn small { font-size:8.5px; }
  .hero-image { width:100%; max-width:100%; }

  .hero-trust { gap:7px; width:100%; }
  .hero-trust div { min-width:0; grid-template-columns:28px minmax(0,1fr); column-gap:5px; }
  .hero-trust i { width:28px; height:28px; }
  .hero-trust b { font-size:8.5px; }
  .hero-trust span { font-size:7.5px; }

  .section { padding:50px 0; }
  .section-head h2 { font-size:clamp(24px,7.2vw,30px); }
  .section-head p { font-size:11px; }

  .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .service-card { min-width:0; }
  .service-card img { height:116px; }
  .service-card h3 { font-size:13px; }
  .service-card p { font-size:9.5px; line-height:1.7; }
  .service-card a { font-size:10px; }

  .city-card { width:100%; max-width:100%; height:260px; }
  .why-items { gap:15px; }
  .why-items b { font-size:10.5px; }
  .why-items p { font-size:8.5px; }

  .stats-grid { width:100%; max-width:100%; }
  .stats-grid>div { min-width:0; padding-inline:5px; }
  .stats-grid strong { font-size:20px; }
  .stats-grid span { font-size:7.5px; }

  .review { width:100%; max-width:100%; }
  .booking-inner, .area-box, .form { width:100%; max-width:100%; }

  .form input, .form select, .form textarea {
    width:100%; min-width:0; max-width:100%;
    min-height:48px;
    font-size:16px !important;
    -webkit-appearance:none; appearance:none;
  }
  .form textarea { min-height:110px; }
  .form button { min-height:52px; font-size:12px; }

  .footer-grid { width:100%; max-width:100%; }
  .footer-grid>a, .footer-grid div>a, .footer-grid div>span { overflow-wrap:anywhere; }

  /* Fixed actions stay inside the visual viewport on both platforms */
  .floating-actions {
    left:10px; right:10px;
    width:auto; max-width:none;
    bottom:var(--safe-bottom);
    padding:6px;
  }
  .floating-actions a { min-width:0; width:auto; }
}

@media (max-width:480px){
  .wrap, .nav { width:calc(100% - 20px); }
  .nav { gap:6px; }
  .brand img { width:46px; height:46px; flex-basis:46px; }
  .brand-name { font-size:clamp(11.5px,3.8vw,14px); }
  .whatsapp-top { max-width:108px; padding-inline:8px; font-size:9px; }
  .menu { flex-basis:42px; width:42px; min-width:42px; height:42px; min-height:42px; }
  .hero-copy { padding-inline:13px; }
  .hero-buttons { grid-template-columns:1fr 1fr; display:grid; }
  .hero-buttons .btn { min-height:53px; }
  .services-grid { gap:10px; }
  .service-card img { height:110px; }
  .why-items { gap:12px; }
  .floating-actions a { height:50px; min-height:50px; }
}

@media (max-width:430px){
  .whatsapp-top { display:none; }
  .hero-buttons { grid-template-columns:1fr; }
  .hero-buttons .btn { min-height:52px; }
  .mobile-nav.open { grid-template-columns:1fr 1fr; }
}

@media (max-width:390px){
  .wrap, .nav { width:calc(100% - 16px); }
  .nav { min-height:62px; }
  .brand img { width:43px; height:43px; flex-basis:43px; }
  .brand-name { font-size:11.5px; }
  .menu { flex-basis:40px; width:40px; min-width:40px; height:40px; min-height:40px; }
  .hero-copy { padding:29px 10px 24px; }
  .hero h1 { font-size:31px; }
  .hero-copy p { font-size:12px; }
  .hero-trust { gap:4px; }
  .hero-trust div { grid-template-columns:25px minmax(0,1fr); column-gap:4px; }
  .hero-trust i { width:25px; height:25px; }
  .hero-trust b { font-size:8px; }
  .hero-trust span { font-size:7px; }
  .services-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .service-card img { height:100px; }
  .service-card h3 { font-size:12px; }
  .service-card p { font-size:8.5px; }
  .why-items { grid-template-columns:1fr 1fr; }
  .stats-grid strong { font-size:18px; }
}

@media (max-width:350px){
  .services-grid { grid-template-columns:1fr; }
  .service-card img { height:145px; }
  .why-items { grid-template-columns:1fr; }
  .hero-trust b { font-size:7.5px; }
  .hero-trust span { font-size:6.5px; }
  .floating-actions { left:7px; right:7px; }
}

/* Avoid accidental horizontal expansion from long Arabic/Latin strings */
.hero-copy, .section-head, .service-card, .city-text, .why-copy,
.review, .booking-copy, .area-box, .contact-copy, .form, footer {
  overflow-wrap:anywhere;
}
