:root{
    --red: #EE3B4D;
    --red-dark: #D62E40;
    --black: #0B0B0C;
    --off-black: #151517;
    --white: #FFFFFF;
    --gray-50: #F7F7F8;
    --gray-100: #F1F1F3;
    --gray-300: #D9D9DE;
    --gray-500: #8B8B93;
    --gray-700: #4A4A52;
    --radius: 14px;
    --shadow-lg: 0 20px 50px rgba(0,0,0,0.18);
    --shadow-sm: 0 4px 14px rgba(0,0,0,0.08);
  }
  *{margin:0;padding:0;box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth; scroll-padding-top:100px; -webkit-tap-highlight-color:transparent;}
  body{
    font-family:'Inter', sans-serif;
    color: var(--black);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    overflow-x:hidden;
    -webkit-tap-highlight-color:transparent;
  }
  h1,h2,h3,h4{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  .container{
    max-width:1600px;
    margin:0 auto;
    padding:0 16px;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 26px;
    border-radius:10px;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    border:2px solid transparent;
    transition: box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background: var(--red);
    color:#fff;
    box-shadow: 0 10px 24px rgba(238,59,77,0.35);
  }
  .btn-primary:hover{ background:var(--red-dark); box-shadow:0 14px 30px rgba(238,59,77,0.42);}
  .btn-outline{
    background:transparent;
    border-color: var(--gray-300);
    color: var(--black);
  }
  .btn-outline:hover{ background:var(--black); border-color: var(--black); color:#fff; }
  .btn-outline.on-dark{ border-color: rgba(255,255,255,0.35); color:#fff; }
  .btn-outline.on-dark:hover{ background:#fff; border-color:#fff; color:var(--black); }
  .btn-block{ background: var(--off-black); color:#fff; }
  .btn-block:hover{ background:#000; }
  .btn-on-white{ background:#fff; color:var(--red); }
  .btn-on-white:hover{ background:var(--black); color:#fff; }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color: var(--red);
  }

  /* ===== HEADER ===== */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background: var(--black);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 16px;
    max-width:1600px;
    margin:0 auto;
  }
  .logo-block{ display:flex; align-items:center; gap:10px; }
  .logo-block img{ height:58px; width:auto; }
  nav.links{ display:flex; gap:22px; }
  nav.links a{
    font-size:13.5px;
    font-weight:500;
    color: rgba(255,255,255,0.7);
    position:relative;
    padding:6px 0;
    white-space:nowrap;
    transition: color .15s ease;
  }
  nav.links a:hover{ color:#fff; }
  nav.links a::after{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:0%; height:2px;
    background:var(--red);
    transition:width .2s ease;
  }
  nav.links a:hover::after{ width:100%; }
  nav.links a.active{ color:#fff; }
  nav.links a.active::after{ width:100%; }
  .nav-actions{ display:flex; align-items:center; gap:12px; }
  .nav-actions .btn{ padding:11px 20px; font-size:14px; }
  .burger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:38px; height:38px;
    background:transparent;
    border:1px solid rgba(255,255,255,0.15);
    border-radius:8px;
    cursor:pointer;
    padding:0;
    flex:none;
  }
  .burger span{
    display:block;
    width:18px; height:2px;
    margin:0 auto;
    background:#fff;
    border-radius:2px;
    transition: transform .25s ease, opacity .25s ease;
  }
  .burger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .burger.open span:nth-child(2){ opacity:0; }
  .burger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

  .mobile-menu{
    display:none;
    max-height:0;
    overflow:hidden;
    background: var(--black);
    border-top:1px solid rgba(255,255,255,0.08);
    transition: max-height .3s ease;
  }
  .mobile-menu.open{ max-height:520px; }
  .mobile-menu .container{ padding:8px 16px 20px; }
  .mobile-menu a{
    display:block;
    padding:13px 4px;
    font-size:15px;
    font-weight:500;
    color: rgba(255,255,255,0.8);
    border-bottom:1px solid rgba(255,255,255,0.07);
  }
  .mobile-menu a:hover{ color:#fff; }
  .mobile-menu a.active{ color:var(--red); }
  .mobile-menu .btn{ width:100%; margin-top:16px; }
  .mobile-menu a.btn{
    display:flex;
    justify-content:center;
    text-align:center;
    border-bottom:none;
    padding:14px 26px;
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:var(--white);
    overflow:hidden;
    padding-top:24px;
  }
  .hero .container{
    display:grid;
    grid-template-columns: 1fr 1fr;
    align-items:start;
    gap:20px;
    position:relative;
    z-index:2;
  }
  .hero-copy{ align-self:center; margin-top:-36px; }
  @keyframes heroFadeUp{
    from{ opacity:0; transform:translateY(24px); }
    to{ opacity:1; transform:translateY(0); }
  }
  @keyframes heroFadeScale{
    from{ opacity:0; transform:scale(.96); }
    to{ opacity:1; transform:scale(1); }
  }
  .hero-copy h1{
    font-size:clamp(34px, 4.2vw, 52px);
    margin-bottom:20px;
    opacity:0;
    animation: heroFadeUp .7s ease .1s forwards;
  }
  .hero-copy h1 .accent{ color:var(--red); }
  .hero-eyebrow{
    margin-bottom:14px;
    opacity:0;
    animation: heroFadeUp .7s ease .02s forwards;
  }
  .hero-copy p.lead{
    font-size:17px;
    color:var(--gray-700);
    max-width:460px;
    margin-bottom:30px;
    line-height:1.6;
    opacity:0;
    animation: heroFadeUp .7s ease .22s forwards;
  }
  .hero-cta{
    display:flex; gap:14px; margin-bottom:34px; flex-wrap:wrap;
    opacity:0;
    animation: heroFadeUp .7s ease .34s forwards;
  }
  .hero-badges{
    display:flex; gap:26px; flex-wrap:wrap;
    opacity:0;
    animation: heroFadeUp .7s ease .46s forwards;
  }
  .hero-badge{ display:flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600; color:var(--gray-700); }
  .hero-badge .dot{
    width:30px;height:30px;border-radius:50%;
    background:var(--gray-100);
    display:flex;align-items:center;justify-content:center;
    color:var(--red); flex:none;
  }

  .hero-visual{
    position:relative;
    display:flex;
    justify-content:flex-start;
    align-items:flex-end;
    height:540px;
    z-index:2;
    align-self:end;
    opacity:0;
    animation: heroFadeScale .8s ease .15s forwards;
  }
  .hero-blob{
    position:absolute;
    top:0; right:0; bottom:0;
    left:60%;
    background: var(--red);
    border-radius: 55% 0 0 55% / 62% 0 0 62%;
    z-index:0;
    overflow:hidden;
  }
  .hero-blob::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(160deg, rgba(238,59,77,0.82), rgba(160,25,38,0.9)),
      url('../assets/beirut-buildings.webp');
    background-size:cover;
    background-position:center;
    border-radius: inherit;
  }
  .hero-photo{
    position:relative;
    z-index:1;
    width:140%;
    max-width:700px;
    margin-left:-20%;
  }
  .hero-photo img{
    width:100%; height:auto; display:block;
    filter: drop-shadow(0 26px 34px rgba(0,0,0,0.4));
  }

  .compare-stack{
    position:absolute;
    z-index:3;
    right:0;
    top:16px;
    width:190px;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .compare-card{
    position:static;
    width:100%;
    background:#fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding:11px 14px;
    font-size:12px;
  }
  .compare-card .row{ display:flex; justify-content:space-between; padding:3px 0; color:var(--gray-700); }
  .compare-card .row.total{ font-weight:700; color:var(--black); padding-top:6px; margin-top:5px; border-top:1px dashed var(--gray-300); }
  .compare-card .label{ font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--gray-500); margin-bottom:5px; }

  .compare-card.dark{
    background: var(--black);
    color:#fff;
  }
  .compare-card.dark .row{ color: rgba(255,255,255,0.65); }
  .compare-card.dark .row.total{ color:#fff; border-top-color: rgba(255,255,255,0.15); }
  .compare-card.dark .row.total .amount{ color: var(--red); }
  .compare-card .label.dark-label{ color: rgba(255,255,255,0.5); }

  .curve-arrow{
    position:absolute;
    z-index:2;
    right:20px;
    top:-18px;
    color:#fff;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
  }
  .save-tag{
    position:absolute;
    right:22px;
    top:290px;
    z-index:4;
    background:#fff;
    border-radius:11px;
    padding:8px 12px;
    box-shadow: var(--shadow-lg);
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:7px;
    max-width:190px;
  }
  .save-tag svg{ color:var(--red); flex:none; width:14px; height:14px; }

  /* ===== CALCULATOR ===== */
  .calc{
    background: var(--black);
    color:#fff;
    padding:80px 0;
    margin-top:-90px;
    position:relative;
    z-index:5;
  }
  .calc .head{ max-width:560px; margin-bottom:44px; }
  .calc h2{ font-size:clamp(26px,3vw,36px); margin-bottom:14px; }
  .calc h2 .accent{ color:var(--red); }
  .calc p{ color: rgba(255,255,255,0.6); font-size:15.5px; line-height:1.6; }

  .calc-grid{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:16px;
    align-items:stretch;
  }
  .calc-input{
    background: rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    padding:20px 22px;
  }
  .calc-input label{
    display:block;
    font-size:12.5px;
    font-weight:600;
    color: rgba(255,255,255,0.55);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:14px;
  }
  .stepper{ display:flex; align-items:center; justify-content:space-between; }
  .stepper .val{ font-size:28px; font-weight:700; font-family:'Poppins',sans-serif; }
  .stepper .val small{ font-size:15px; font-weight:600; color:rgba(255,255,255,0.5); }
  .stepper .controls{ display:flex; flex-direction:column; gap:4px; }
  .stepper button{
    width:30px;height:24px;
    border-radius:7px;
    border:1px solid rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.06);
    color:#fff;
    cursor:pointer;
    font-size:14px;
    display:flex;align-items:center;justify-content:center;
    transition: background .15s ease;
  }
  .stepper button:hover{ background: rgba(255,255,255,0.16); }

  .calc-result{
    border-radius: var(--radius);
    padding:20px 22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .calc-result .label{ font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px; }
  .calc-result .amount{ font-size:30px; font-weight:800; font-family:'Poppins',sans-serif; }
  .calc-result.current{ background: rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); }
  .calc-result.current .label{ color: rgba(255,255,255,0.5); }
  .calc-result.frontride{ background: rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14); }
  .calc-result.frontride .label{ color: rgba(255,255,255,0.5); }
  .calc-result.save{ background: var(--red); }
  .calc-result.save .label{ color: rgba(255,255,255,0.85); }
  .calc-result.save .amount{ font-size:34px; }

  /* ===== SECTION GENERIC ===== */
  section{ padding:96px 0; }
  .section-head{ text-align:center; max-width:620px; margin:0 auto 56px; }
  .section-head h2{ font-size:clamp(26px,3.2vw,38px); margin-bottom:14px; }
  .section-head h2 .accent{ color:var(--red); }
  .section-head p{ color:var(--gray-700); font-size:16px; line-height:1.6; }

  /* WHO FOR */
  .who-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .who-card{
    background: var(--gray-50);
    border:1px solid var(--gray-100);
    border-radius: var(--radius);
    padding:34px 28px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .who-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-sm); border-color:transparent; }
  .who-icon{
    width:52px;height:52px;
    border-radius:14px;
    background: var(--red);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:20px;
  }
  .who-card h3{ font-size:19px; margin-bottom:10px; }
  .who-card p{ color:var(--gray-700); font-size:14.5px; line-height:1.6; }

  /* MORE THAN REGULAR DELIVERY */
  .services-grid{
    display:grid;
    grid-template-columns: 1fr 1.28fr 1fr;
    gap:24px;
    align-items:stretch;
  }
  .service-card{
    background:#fff;
    border:1px solid var(--gray-100);
    border-radius: var(--radius);
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    position:relative;
    min-width:0;
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); }
  .service-card.featured{
    background: linear-gradient(180deg, rgba(238,59,77,0.05), rgba(238,59,77,0.02));
    border:1.5px solid rgba(238,59,77,0.35);
    box-shadow: var(--shadow-lg);
    padding:38px 32px;
  }
  .service-card.featured:hover{ transform:translateY(-6px); }
  .service-num{
    width:32px; height:32px;
    border-radius:50%;
    background: var(--gray-100);
    color: var(--gray-700);
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:13px;
    display:flex; align-items:center; justify-content:center;
    flex:0 0 auto;
  }
  .service-card.featured .service-num{ background: var(--red); color:#fff; }
  .service-top{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
  }
  .fulfillment-badge{
    display:inline-flex;
    background: var(--red);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    padding:5px 12px;
    border-radius:999px;
  }
  .service-card h3{
    font-size:20px;
    line-height:1.25;
    margin-bottom:12px;
  }
  .service-card.featured h3{ font-size:23px; }
  .service-desc{ color:var(--gray-700); font-size:14.5px; line-height:1.6; margin-bottom:18px; }
  .service-label{
    display:inline-block;
    font-size:12.5px;
    font-weight:600;
    color:var(--red);
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .service-note{
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--gray-100);
    font-size:13px;
    color:var(--gray-500);
    font-weight:500;
  }

  .service-flow{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:6px;
    margin-bottom:20px;
    min-width:0;
  }
  .flow-node{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    flex:1 1 76px;
    min-width:0;
    max-width:76px;
    text-align:center;
  }
  .flow-icon{
    width:44px; height:44px;
    border-radius:12px;
    background: var(--gray-50);
    border:1px solid var(--gray-100);
    color: var(--black);
    display:flex; align-items:center; justify-content:center;
    flex:none;
  }
  .service-card.featured .flow-icon{ background:#fff; border-color: rgba(238,59,77,0.25); color: var(--red); }
  .flow-node span{ font-size:10.5px; font-weight:600; color: var(--gray-700); line-height:1.25; overflow-wrap:break-word; word-break:break-word; }
  .flow-node.skip{ opacity:.4; }
  .flow-node.skip .flow-icon{ background:transparent; border-style:dashed; }
  .flow-node.skip span{ text-decoration: line-through; }
  .flow-line{
    flex:1;
    height:2px;
    min-width:14px;
    background: repeating-linear-gradient(90deg, var(--gray-300) 0 6px, transparent 6px 12px);
    position:relative;
  }
  .service-card.featured .flow-line{ background: repeating-linear-gradient(90deg, rgba(238,59,77,0.5) 0 6px, transparent 6px 12px); }
  .flow-line::after{
    content:'';
    position:absolute;
    right:-1px; top:50%;
    width:7px; height:7px;
    border-top:2px solid var(--gray-300);
    border-right:2px solid var(--gray-300);
    transform: translateY(-50%) rotate(45deg);
  }
  .service-card.featured .flow-line::after{ border-color: rgba(238,59,77,0.6); }

  .benefit-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid rgba(238,59,77,0.15);
  }
  .benefit-item{ display:flex; gap:10px; align-items:flex-start; }
  .benefit-icon{
    width:30px; height:30px;
    border-radius:9px;
    background:#fff;
    border:1px solid rgba(238,59,77,0.25);
    color:var(--red);
    display:flex; align-items:center; justify-content:center;
    flex:none;
  }
  .benefit-item h4{ font-size:13px; font-weight:700; font-family:'Poppins',sans-serif; margin-bottom:3px; }
  .benefit-item p{ font-size:12px; color:var(--gray-700); line-height:1.5; }

  /* HOW IT WORKS */
  .how-wrap{ position:relative; }
  .how-track{
    display:grid;
    grid-template-columns: repeat(4,1fr);
    gap:0;
    position:relative;
  }
  .how-track::before{
    content:'';
    position:absolute;
    top:26px; left:60px; right:60px;
    height:2px;
    background: repeating-linear-gradient(90deg, var(--gray-300) 0 8px, transparent 8px 16px);
    z-index:0;
  }
  .how-step{ text-align:center; padding:0 14px; position:relative; z-index:1; }
  .how-num{
    width:52px;height:52px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--red);
    color:var(--red);
    font-family:'Poppins',sans-serif;
    font-weight:700;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 18px;
    font-size:16px;
  }
  .how-step h3{ font-size:17px; margin-bottom:8px; }
  .how-step p{ font-size:14px; color:var(--gray-700); line-height:1.55; }

  /* PRICING */
  .pricing-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .price-card{
    border-radius: 20px;
    padding:40px 36px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .price-card.red{ background: var(--red); color:#fff; }
  .price-card.dark{ background: var(--black); color:#fff; }
  .price-tag-icon{
    width:54px;height:54px;
    border-radius:50%;
    background: rgba(255,255,255,0.18);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:24px;
  }
  .price-card .kicker{ font-size:13px; font-weight:600; opacity:.85; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px;}
  .price-card h3{ font-size:24px; margin-bottom:18px; }
  .price-amount{ font-family:'Poppins',sans-serif; font-size:44px; font-weight:800; margin-bottom:4px; }
  .price-amount span{ font-size:16px; font-weight:500; opacity:.75; }
  .price-card p.desc{ font-size:14.5px; opacity:.8; margin-top:10px; margin-bottom:22px;}
  .price-card .btn{ margin-top:auto; align-self:flex-start; }

  /* WHY CHOOSE */
  .why-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; text-align:center; }
  .why-item .why-icon{
    width:56px;height:56px;
    border-radius:50%;
    border:1.5px solid var(--gray-300);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 16px;
    color:var(--red);
    transition: border-color .2s ease, background .2s ease;
  }
  .why-item:hover .why-icon{ background:var(--red); border-color:var(--red); color:#fff; }
  .why-item h3{ font-size:15px; font-family:'Poppins',sans-serif; font-weight:600; margin-bottom:6px; }
  .why-item p{ font-size:13px; color:var(--gray-700); line-height:1.5; }

  /* EVERYDAY */
  .everyday{ background: var(--off-black); color:#fff; padding:0; overflow:hidden; }
  .everyday .grid2{
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items:stretch;
    padding-left: max(16px, calc((100vw - 1600px) / 2 + 16px));
  }
  .everyday-copy{ padding:110px 40px 110px 0; max-width:540px; }
  .everyday-copy .eyebrow{ margin-bottom:14px; display:inline-block; }
  .everyday h2{ font-size:clamp(26px,3.2vw,36px); margin-bottom:22px; }
  .everyday h2 .accent{ color:var(--red); }
  .everyday p.lead{ color: rgba(255,255,255,0.6); font-size:15.5px; margin-bottom:40px; line-height:1.65; }
  .check-list{ display:grid; grid-template-columns:1fr 1fr; row-gap:22px; column-gap:14px; margin-bottom:46px; }
  .check-item{ display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:500; }
  .check-item .tick{
    width:20px;height:20px;border-radius:50%;
    background: var(--red);
    display:flex;align-items:center;justify-content:center;
    flex:none;
  }
  .everyday-visual{
    position:relative;
    background: var(--red);
    display:flex;
    align-items:flex-end;
    justify-content:center;
    min-height:560px;
    overflow:hidden;
  }
  .everyday-visual::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(160deg, rgba(238,59,77,0.82), rgba(160,25,38,0.9)),
      url('../assets/beirut-buildings.webp');
    background-size:cover;
    background-position:center;
    z-index:0;
  }
  .everyday-visual .package-cut{
    position:relative;
    z-index:1;
    width:140%;
    max-width:760px;
    margin:0 auto;
    transform: translateX(-8%);
  }
  .everyday-visual .package-cut img{
    width:100%; display:block;
    filter: drop-shadow(0 24px 30px rgba(0,0,0,0.35));
  }

  /* SERVING BEIRUT */
  .serve-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
  .serve-copy{ order:2; }
  .map-card{ order:1; }
  .serve-copy h2{ font-size:clamp(26px,3vw,34px); margin-bottom:16px; }
  .serve-copy h2 .accent{ color:var(--red); }
  .serve-copy p{ color:var(--gray-700); font-size:15.5px; line-height:1.65; margin-bottom:14px; }
  .map-card{
    background: var(--gray-50);
    border:1px solid var(--gray-100);
    border-radius:20px;
    height:460px;
    position:relative;
    overflow:hidden;
  }
  .map-card img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
  }
  .map-badge{
    position:absolute;
    top:16px; left:16px;
    z-index:2;
    display:flex; align-items:center; gap:8px;
    background:#fff;
    padding:8px 14px 8px 8px;
    border-radius:999px;
    box-shadow: var(--shadow-lg);
  }
  .map-badge .pin-icon{
    width:30px;height:30px;border-radius:50% 50% 50% 0;
    background:var(--red);
    transform:rotate(-45deg);
    display:flex;align-items:center;justify-content:center;
    flex:none;
  }
  .map-badge .pin-icon svg{ transform:rotate(45deg); color:#fff; }
  .map-badge span{ font-weight:700; font-family:'Poppins',sans-serif; font-size:14px; color:var(--black); }

  /* FAQ */
  .faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
  .faq-item{
    border:1px solid var(--gray-100);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
  }
  .faq-item h3{ margin:0; font-size:inherit; font-weight:inherit; }
  .faq-q{
    display:flex; align-items:center; justify-content:space-between;
    width:100%;
    padding:20px 22px;
    background:none;
    border:none;
    font-family:inherit;
    color:inherit;
    text-align:left;
    cursor:pointer;
    font-weight:600;
    font-size:15px;
  }
  .faq-q .chev{ transition: transform .25s ease; flex:none; color:var(--red); }
  .faq-item.open .faq-q .chev{ transform: rotate(180deg); }
  .faq-a{
    max-height:0;
    overflow:hidden;
    transition: max-height .3s ease, padding .3s ease;
    padding:0 22px;
    color:var(--gray-700);
    font-size:14.5px;
    line-height:1.6;
  }
  .faq-item.open .faq-a{ max-height:200px; padding:0 22px 20px; }

  /* FOOTER */
  footer{ background: var(--black); color:#fff; padding:70px 0 26px; }
  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; margin-bottom:50px; }
  .footer-logo img{ height:56px; width:auto; margin-bottom:14px; }
  .footer-grid p{ color: rgba(255,255,255,0.55); font-size:14px; line-height:1.6; max-width:280px; }
  .footer-grid h5{ font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,0.45); margin-bottom:16px; font-weight:600; }
  .footer-grid li{ margin-bottom:10px; font-size:14.5px; color: rgba(255,255,255,0.8); }
  .footer-grid li strong{ display:block; color:#fff; font-size:15px; margin-bottom:2px; }
  .social-row{ display:flex; gap:10px; margin-top:6px; }
  .social-row a{
    width:36px;height:36px;border-radius:50%;
    background: rgba(255,255,255,0.08);
    display:flex;align-items:center;justify-content:center;
    transition: background .2s ease;
  }
  .social-row a:hover{ background: var(--red); }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1);
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    font-size:13px;
    color: rgba(255,255,255,0.45);
    flex-wrap:wrap;
    gap:10px;
  }

  /* WhatsApp float */
  .wa-float{
    position:fixed;
    right:26px; bottom:26px;
    width:58px;height:58px;
    border-radius:50%;
    background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow: 0 10px 26px rgba(37,211,102,0.45);
    z-index:200;
    transition: transform .2s ease;
  }
  .wa-float:hover{ transform: scale(1.08); }

  /* ===== SCROLL REVEAL ===== */
  .reveal{
    opacity:0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  }
  .reveal.in-view{
    opacity:1;
    transform: translateY(0);
  }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    .hero-copy h1, .hero-copy p.lead, .hero-cta, .hero-badges, .hero-visual{
      opacity:1; animation:none; transform:none;
    }
  }

  /* ===== PARTNERSHIP MODAL ===== */
  .pf-overlay{
    position:fixed;
    inset:0;
    background: rgba(11,11,12,0.6);
    backdrop-filter: blur(3px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:1000;
    opacity:0;
    pointer-events:none;
    transition: opacity .25s ease;
  }
  .pf-overlay.open{ opacity:1; pointer-events:auto; }
  .pf-modal{
    background:#fff;
    border-radius:20px;
    width:100%;
    max-width:620px;
    max-height:88vh;
    overflow-y:auto;
    box-shadow: var(--shadow-lg);
    position:relative;
    transform: translateY(18px) scale(.98);
    transition: transform .28s cubic-bezier(.22,.61,.36,1);
    -webkit-overflow-scrolling: touch;
  }
  .pf-overlay.open .pf-modal{ transform: translateY(0) scale(1); }
  .pf-modal-head{
    padding:28px 60px 8px 28px;
    position:sticky;
    top:0;
    background:#fff;
    z-index:2;
    border-radius:20px 20px 0 0;
  }
  .pf-modal-head h3{
    font-size:22px;
    margin-bottom:8px;
  }
  .pf-modal-head p{
    font-size:14px;
    color: var(--gray-700);
    line-height:1.55;
  }
  .pf-close{
    position:absolute;
    top:20px; right:20px;
    width:36px; height:36px;
    border-radius:50%;
    border:1px solid var(--gray-300);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color: var(--gray-700);
    transition: background .15s ease, color .15s ease, border-color .15s ease;
    flex:none;
    z-index:3;
  }
  .pf-close:hover{ background:var(--black); border-color:var(--black); color:#fff; }
  .pf-form{ padding:16px 28px 28px; }
  .pf-cancel-btn{
    width:100%;
    margin-top:10px;
    background:transparent;
    border:1.5px solid var(--gray-300);
    color: var(--gray-700);
    border-radius:10px;
    padding:13px 26px;
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:14.5px;
    cursor:pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
  }
  .pf-cancel-btn:hover{ background:var(--gray-50); border-color:var(--black); color:var(--black); }
  .pf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .pf-field{ margin-bottom:14px; display:flex; flex-direction:column; gap:6px; }
  .pf-field.pf-span2{ grid-column:1/-1; }
  .pf-field label{
    font-size:13px;
    font-weight:600;
    color: var(--black);
  }
  .pf-field label .req{ color:var(--red); }
  .pf-field input,
  .pf-field select,
  .pf-field textarea{
    font-family:'Inter', sans-serif;
    font-size:14.5px;
    padding:11px 14px;
    border-radius:10px;
    border:1.5px solid var(--gray-300);
    background: var(--gray-50);
    color: var(--black);
    outline:none;
    transition: border-color .15s ease, background .15s ease;
    width:100%;
  }
  .pf-field textarea{ resize:vertical; min-height:80px; max-height:220px; }
  .pf-checkbox-group{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:12px 14px;
    border-radius:10px;
    border:1.5px solid var(--gray-300);
    background: var(--gray-50);
  }
  .pf-checkbox-item{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13.5px;
    font-weight:500;
    color: var(--black);
    cursor:pointer;
  }
  .pf-checkbox-item input[type="checkbox"]{
    width:18px; height:18px;
    accent-color: var(--red);
    cursor:pointer;
    flex:none;
  }
  .pf-field input:focus,
  .pf-field select:focus,
  .pf-field textarea:focus{
    border-color: var(--red);
    background:#fff;
  }
  .pf-field input[aria-invalid="true"],
  .pf-field select[aria-invalid="true"],
  .pf-field textarea[aria-invalid="true"]{
    border-color:#E0555F;
    background:#FFF6F6;
  }
  .pf-error{
    font-size:12.5px;
    color:#D62E40;
    min-height:15px;
    display:none;
  }
  .pf-error.show{ display:block; }
  .pf-honeypot{
    position:absolute !important;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .pf-status{
    font-size:13.5px;
    padding:12px 14px;
    border-radius:10px;
    margin-bottom:16px;
    display:none;
  }
  .pf-status.show{ display:block; }
  .pf-status.error{ background:#FFF1F1; color:#B4212F; border:1px solid #F3C6C9; }
  .pf-submit-row{ margin-top:6px; }
  .pf-submit-row .btn{ width:100%; }
  .pf-submit-row .btn:disabled{ opacity:.7; cursor:not-allowed; }
  .pf-fineprint{
    font-size:12px;
    color: var(--gray-500);
    text-align:center;
    margin-top:12px;
  }

  .pf-success{ padding:44px 28px 36px; text-align:center; display:none; }
  .pf-success.show{ display:block; }
  .pf-success .pf-success-icon{
    width:64px; height:64px;
    border-radius:50%;
    background: var(--red);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 20px;
  }
  .pf-success h3{ font-size:22px; margin-bottom:10px; }
  .pf-success p{ font-size:14.5px; color: var(--gray-700); line-height:1.6; margin-bottom:6px; }
  .pf-success .pf-success-actions{
    display:flex; flex-direction:column; gap:10px;
    max-width:280px; margin:26px auto 0;
  }
  .pf-success .pf-wa-link{
    font-size:13.5px; font-weight:600; color: var(--gray-700);
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
  }
  .pf-success .pf-wa-link:hover{ color: var(--black); }

  @media (max-width: 560px){
    .pf-grid{ grid-template-columns:1fr; }
    .pf-modal{ max-height:92vh; border-radius:18px; }
    .pf-modal-head{ padding:22px 54px 6px 20px; }
    .pf-form{ padding:14px 20px 24px; }
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 1180px){
    nav.links{ display:none; }
    .burger{ display:flex; }
    .mobile-menu{ display:block; }
  }
  @media (max-width: 980px){
    nav.links{ display:none; }
    .hero .container{ grid-template-columns:1fr; }
    .hero-copy{ align-self:auto; margin-top:0; }
    .hero-visual{
      height:420px; margin-top:40px;
      border-radius:24px;
      overflow:hidden;
      background: linear-gradient(160deg, var(--red), #A01926);
      justify-content:center;
      align-self:auto;
    }
    .hero-photo{ width:auto; max-width:none; height:88%; margin-left:0; transform:translateX(-14%); }
    .hero-photo img{ width:auto; height:100%; display:block; }
    .hero-visual::before{
      content:'';
      position:absolute;
      inset:0;
      background:
        linear-gradient(160deg, rgba(238,59,77,0.82), rgba(160,25,38,0.9)),
        url('../assets/beirut-buildings.webp');
      background-size:cover;
      background-position:center;
      z-index:0;
    }
    .hero-blob{ display:none; }
    .curve-arrow{ display:none; }
    .compare-stack{ right:16px; left:16px; top:20px; width:auto; max-width:210px; margin-left:auto; }
    .save-tag{ right:16px; left:16px; width:auto; max-width:230px; margin-left:auto; top:auto; bottom:20px; }
    .calc-grid{ grid-template-columns:1fr; }
    .who-grid{ grid-template-columns:1fr; }
    .services-grid{ grid-template-columns:1fr; gap:20px; }
    .service-card.featured{ padding:32px 24px; }
    .flow-node{ flex-basis:56px; max-width:56px; gap:5px; }
    .flow-icon{ width:32px; height:32px; border-radius:9px; }
    .flow-icon svg{ width:17px; height:17px; }
    .flow-node span{ font-size:9px; }
    .service-flow{ gap:4px; }
    .benefit-grid{ grid-template-columns:1fr; }
    .how-track{ grid-template-columns:1fr; gap:34px; }
    .how-track::before{ display:none; }
    .pricing-grid{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:repeat(2,1fr); row-gap:34px; }
    .everyday .grid2{ grid-template-columns:1fr; padding-left:0; }
    .everyday-copy{ margin:0; padding:60px 16px 48px 16px; max-width:none; }
    .everyday-visual{ min-height:320px; }
    .serve-grid{ grid-template-columns:1fr; }
    .serve-copy{ order:1; }
    .map-card{ height:300px; order:2; }
    .faq-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 560px){
    .logo-block img{ height:38px; }
    .nav-actions .btn-outline{ display:none; }
    .hero-badges{ flex-direction:column; gap:12px; }
    .check-list{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:1fr 1fr; }
    .footer-grid{ grid-template-columns:1fr; }
    .compare-stack{ max-width:170px; }
    .compare-card{ padding:12px 14px; font-size:11.5px; }
    .save-tag{ max-width:190px; font-size:11.5px; }
    .flow-node{ flex-basis:34px; max-width:34px; gap:3px; }
    .flow-line{ min-width:5px; }
    .flow-icon{ width:22px; height:22px; border-radius:7px; }
    .flow-icon svg{ width:13px; height:13px; }
    .flow-node span{ font-size:7px; }
    .service-flow{ gap:2px; margin-bottom:16px; }
    .service-card{ padding:20px 16px; }
    .service-card.featured{ padding:22px 16px; }
    .service-top{ gap:6px; margin-bottom:12px; }
    .service-num{ width:24px; height:24px; font-size:11px; }
    .fulfillment-badge{ font-size:9px; padding:3px 8px; }
  }