:root{
    --teal-deep:#17454f;
    --teal:#209bb6;
    --teal-bright:#5ac2d8;
    --pink:#ed219a;
    --pink-deep:#a50d67;
    --mint:#f2f9fa;
    --mint-2:#e5f2f5;
    --ink:#0e2b27;
    --ink-soft:#4b6a65;
    --white:#ffffff;
    --line:#d9edf1;
    --shadow: 0 20px 45px -20px rgba(10,60,55,.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--mint); color:var(--ink); font-family:'Cairo',sans-serif; -webkit-font-smoothing:antialiased;}
  body.lang-en{font-family:'Manrope',sans-serif;}
  h1,h2,h3,.display{font-family:'Tajawal',sans-serif; font-weight:800;}
  body.lang-en h1, body.lang-en h2, body.lang-en h3, body.lang-en .display{font-family:'Space Grotesk',sans-serif; font-weight:700;}
  img{max-width:100%; display:block;}
  a{color:inherit;}
  button{font-family:inherit;}

  [data-en]{display:none;}
  body.lang-en [data-ar]{display:none;}
  body.lang-en [data-en]{display:revert;}

  .wrap{max-width:1120px; margin:0 auto; padding:0 24px;}

  .page{display:none;}
  .page.active{display:block;}

  /* Header */
  header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  .nav{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; flex-wrap:wrap;}
  .brand{display:flex; align-items:center; gap:10px; cursor:pointer;}
  .brand-mark{width:42px; height:42px; border-radius:50%; background:conic-gradient(from 200deg, var(--teal-bright), var(--pink), var(--teal-bright)); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); flex-shrink:0;}
  .brand-mark span{width:32px; height:32px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; font-size:16px;}
  .brand-name{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; color:var(--teal-deep); line-height:1;}
  .brand-name small{display:block; font-family:'Cairo',sans-serif; font-weight:500; font-size:11px; color:var(--pink); letter-spacing:.5px; margin-top:3px;}
  body.lang-en .brand-name small{font-family:'Manrope',sans-serif;}

  .nav-links{display:flex; align-items:center; gap:26px; font-weight:700; font-size:14px;}
  .nav-link{text-decoration:none; color:var(--ink-soft); padding-bottom:4px; border-bottom:2px solid transparent; transition:.2s; cursor:pointer; background:none; border-top:none; border-left:none; border-right:none; font-size:14px; font-family:inherit; font-weight:700;}
  .nav-link:hover{color:var(--teal-deep);}
  .nav-link.active{color:var(--teal-deep); border-bottom:2px solid var(--teal);}

  .nav-actions{display:flex; align-items:center; gap:10px;}
  .lang-toggle{border:1.5px solid var(--teal); background:var(--white); color:var(--teal-deep); border-radius:999px; padding:9px 16px; font-weight:700; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:6px; transition:.2s;}
  .lang-toggle:hover{background:var(--teal); color:var(--white);}
  .btn-wa{background:var(--pink); color:var(--white); border:none; border-radius:999px; padding:10px 18px; font-weight:700; font-size:13px; cursor:pointer; text-decoration:none; display:flex; align-items:center; gap:8px; box-shadow:0 10px 25px -8px rgba(224,28,120,.55); transition:.2s;}
  .btn-wa:hover{background:var(--pink-deep); transform:translateY(-1px);}

  /* Hero */
  .hero{position:relative; overflow:hidden; background:linear-gradient(160deg, var(--teal-deep), var(--teal) 55%, var(--teal-bright)); color:var(--white); padding:64px 0 0;}
  .hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;}
  .eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:700; letter-spacing:.3px; margin-bottom:18px;}
  .eyebrow .dot{width:7px; height:7px; border-radius:50%; background:#ffe14d; box-shadow:0 0 0 4px rgba(255,225,77,.25);}
  .hero h1{font-size:clamp(30px,4.2vw,48px); line-height:1.18; margin:0 0 16px;}
  .hero p.lead{font-size:16.5px; line-height:1.75; color:rgba(255,255,255,.88); max-width:480px; margin:0 0 32px;}
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px;}
  .btn-light{background:var(--white); color:var(--teal-deep); border:none; border-radius:999px; padding:13px 22px; font-weight:800; font-size:14.5px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px;}
  .btn-outline-light{background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.6); border-radius:999px; padding:13px 22px; font-weight:700; font-size:14.5px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px;}

  .porthole-wrap{position:relative; display:flex; align-items:center; justify-content:center; padding:20px;}
  .porthole{position:relative; width:min(380px,90%); aspect-ratio:1/1; border-radius:50%; background:radial-gradient(circle at 32% 28%, #ffffff, #eafffc 40%, var(--mint-2) 100%); box-shadow: inset 0 0 0 14px rgba(255,255,255,.5), inset 0 0 0 18px var(--teal-bright), 0 30px 60px -15px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .porthole::before{content:''; position:absolute; inset:0; background: radial-gradient(circle at 20% 80%, rgba(224,28,120,.14), transparent 40%), radial-gradient(circle at 80% 20%, rgba(31,194,180,.18), transparent 45%);}
  .porthole-ring{position:absolute; inset:34px; border-radius:50%; border:2px dashed rgba(15,143,134,.35); animation:spin 22s linear infinite;}
  @keyframes spin{ to{ transform:rotate(360deg);} }
  .bubble{position:absolute; border-radius:50%; background:radial-gradient(circle at 30% 30%, #ffffff, #bdeee8 70%); opacity:.85;}
  .porthole-core{position:relative; z-index:2; text-align:center; padding:20px;}
  .porthole-core .big{font-family:'Tajawal',sans-serif; font-weight:800; font-size:15px; color:var(--teal-deep); line-height:1.5;}
  body.lang-en .porthole-core .big{font-family:'Space Grotesk',sans-serif;}
  .porthole-core .small{font-size:11.5px; color:var(--ink-soft); margin-top:6px; font-weight:600;}
  .badge-1hr{position:absolute; top:8px; inset-inline-end:8px; background:var(--pink); color:#fff; border-radius:50%; width:78px; height:78px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:10.5px; font-weight:800; line-height:1.3; box-shadow:0 10px 25px -8px rgba(0,0,0,.4); transform:rotate(8deg); border:3px solid #fff;}

  .wave{display:block; width:100%; margin-top:40px;}

  section{padding:72px 0;}
  .section-head{max-width:640px; margin:0 auto 40px;}
  .section-head.center{text-align:center; margin-inline:auto;}
  .section-head h2{font-size:clamp(24px,3vw,34px); margin:0 0 12px; color:var(--teal-deep);}
  .section-head p{color:var(--ink-soft); font-size:15.5px; line-height:1.75; margin:0;}

  /* Services */
  .services-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px;}
  .service-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:22px; display:flex; flex-direction:column; gap:12px; transition:.25s;}
  .service-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent;}
  .service-icon{width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--mint-2); font-size:22px; flex-shrink:0;}
  .service-card h3{margin:0; font-size:16px; color:var(--ink);}
  .service-card p{margin:0; font-size:13px; color:var(--ink-soft); line-height:1.6;}

  /* Offers */
  .offers{background:linear-gradient(120deg, var(--pink-deep), var(--pink)); border-radius:24px; padding:36px; color:#fff; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px 22px;}
  .offer-item{display:flex; gap:13px; align-items:flex-start;}
  .offer-item .icon{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0;}
  .offer-item .content b{display:block; font-size:14px; font-weight:800; margin-bottom:4px;}
  .offer-item .content p{margin:0; font-size:12.5px; line-height:1.65; color:rgba(255,255,255,.85);}

  /* Menu CTA */
  .menu-cta{background:var(--white); border:1.5px solid var(--teal-bright); border-radius:24px; padding:36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; box-shadow:var(--shadow);}
  .menu-cta-copy{display:flex; align-items:center; gap:18px;}
  .menu-cta-icon{width:58px; height:58px; border-radius:50%; background:var(--mint-2); display:flex; align-items:center; justify-content:center; font-size:26px; flex-shrink:0;}
  .menu-cta h3{margin:0 0 6px; font-size:19px; color:var(--teal-deep);}
  .menu-cta p{margin:0; font-size:13.5px; color:var(--ink-soft); max-width:360px; line-height:1.6;}
  .btn-teal{background:var(--teal); color:#fff; border:none; border-radius:999px; padding:13px 24px; font-weight:800; font-size:14px; text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; cursor:pointer;}

  /* Branches */
  .branch-grid{display:flex; justify-content:center;}
  .branch-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:28px; max-width:380px; width:100%;}
  .branch-card h3{margin:0 0 4px; font-size:17px; color:var(--teal-deep);}
  .branch-card .tag{font-size:11.5px; color:var(--pink); font-weight:700; margin-bottom:14px; display:block;}
  .branch-line{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink-soft); margin-bottom:8px;}
  .branch-line a{color:var(--ink); text-decoration:none; font-weight:600;}
  .branch-line a:hover{color:var(--teal);}
  .icon-dot{width:26px; height:26px; border-radius:50%; background:var(--mint-2); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;}

  /* WhatsApp */
  .wa-section{background:linear-gradient(150deg, var(--teal-deep), var(--teal)); border-radius:28px; overflow:hidden; color:#fff; padding:56px 40px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px;}
  .wa-icon{width:68px; height:68px; border-radius:50%; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); display:flex; align-items:center; justify-content:center; font-size:30px; margin-bottom:6px;}
  .wa-section h2{margin:0; font-size:clamp(22px,3vw,30px);}
  .wa-section p{margin:0; color:rgba(255,255,255,.85); font-size:14.5px; line-height:1.75; max-width:440px;}
  .wa-section .btn-light{margin-top:10px;}

  /* Reviews */
  .review-card{background:var(--white); border:1px solid var(--line); border-radius:24px; padding:36px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px;}
  .rating-block{text-align:center;}
  .rating-icon{font-size:40px; margin-bottom:8px; line-height:1;}
  .rating-count{font-size:13.5px; color:var(--teal-deep); font-weight:800;}
  .review-text p{margin:0; color:var(--ink-soft); font-size:14px; line-height:1.75;}
  .review-actions{display:flex; flex-direction:column; gap:10px;}
  .btn-ghost{background:transparent; color:var(--teal-deep); border:1.5px solid var(--line); border-radius:999px; padding:11px 20px; font-weight:700; font-size:13px; text-decoration:none; text-align:center; white-space:nowrap;}

  /* Menu page banner */
  .menu-hero{background:linear-gradient(160deg, var(--teal-deep), var(--teal) 60%, var(--teal-bright)); color:#fff; padding:52px 0 46px; text-align:center;}
  .menu-hero .eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:700; margin-bottom:16px;}
  .menu-hero h1{font-size:clamp(26px,4vw,38px); margin:0 0 10px;}
  .menu-hero p{margin:0; color:rgba(255,255,255,.85); font-size:15px; max-width:520px; margin-inline:auto;}
  .back-link{display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.85); text-decoration:none; font-size:13px; font-weight:700; margin-bottom:18px; cursor:pointer; background:none; border:none; font-family:inherit;}
  .back-link:hover{color:#fff;}

  .menu-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px;}
  .tab-btn{border:1.5px solid var(--line); background:var(--white); color:var(--ink-soft); border-radius:999px; padding:9px 18px; font-size:13.5px; font-weight:700; cursor:pointer; transition:.2s;}
  .tab-btn.active{background:var(--teal); border-color:var(--teal); color:#fff;}
  .menu-table-wrap{background:var(--white); border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow);}
  table{width:100%; border-collapse:collapse; font-size:13.5px;}
  thead th{background:var(--mint-2); color:var(--teal-deep); font-weight:800; text-align:start; padding:13px 16px; font-size:12px; letter-spacing:.2px; border-bottom:2px solid var(--line);}
  thead th.num, tbody td.num{text-align:center;}
  tbody td{padding:11px 16px; border-bottom:1px solid var(--line); color:var(--ink);}
  tbody td.num{text-align:center; color:var(--ink-soft); font-weight:600; font-family:'Space Grotesk',sans-serif;}
  tbody td.dash{color:#c3d6d2;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr:hover{background:var(--mint);}
  .menu-note{font-size:12.5px; color:var(--ink-soft); margin-top:14px; line-height:1.7;}
  .menu-hint{font-size:12px; color:var(--ink-soft); padding:14px 16px 0;}

  .wa-strip{margin-top:44px; background:var(--white); border:1.5px solid var(--teal-bright); border-radius:22px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;}
  .wa-strip p{margin:0; font-size:14px; color:var(--ink-soft); max-width:420px;}
  .wa-strip h3{margin:0 0 4px; font-size:16.5px; color:var(--teal-deep);}

  footer{padding:36px 0; text-align:center; color:var(--ink-soft); font-size:12.5px; border-top:1px solid var(--line);}
  footer .brand-name{display:inline-flex; margin-bottom:6px;}

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr; text-align:center;}
    .hero p.lead{margin-inline:auto;}
    .hero-ctas{justify-content:center;}
    .wa-section{padding:44px 24px;}
    .review-card{grid-template-columns:1fr; text-align:center;}
    .review-actions{flex-direction:row; justify-content:center;}
    .menu-cta{justify-content:center; text-align:center;}
    .menu-cta-copy{flex-direction:column;}
  }
  @media (max-width:600px){
    .nav-links{order:3; width:100%; justify-content:center; padding-top:8px; border-top:1px solid var(--line);}
  }
  @media (prefers-reduced-motion:reduce){
    .porthole-ring{animation:none;}
    html{scroll-behavior:auto;}
  }
