
    :root{
      --max: 980px;
      --pad: 18px;
      --border: #e7e7e7;
      --muted: #666;
      --bg: #fafafa;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      line-height:1.6;
      color:#111;
      background: var(--bg);
    }
    a{color:inherit}
    .wrap{max-width:var(--max); margin:0 auto; padding: 0 var(--pad)}
    header{
      background:#fff;
      border-bottom:1px solid var(--border);
    }
    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding: 14px 0;
    }
    .brand{
      font-weight:800;
      letter-spacing:.2px;
      text-decoration:none;
    }
    .logo{
    height: 100px;
    width: auto;
    display: block;
    }
    @media (max-width: 480px){
    .logo{height: 36px;}
    }


    .cta{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .btn{
      display:inline-block;
      padding:10px 14px;
      border:1px solid #111;
      text-decoration:none;
      font-weight:600;
      border-radius:10px;
      background:#111;
      color:#fff;
    }
    .btn.outline{
      background:#fff;
      color:#111;
    }
    .hero{
      padding: 18px 0 22px;
    }
    .hero h1{
      margin: 10px 0 6px;
      line-height:1.2;
      font-size: 34px;
    }
    .hero p{
      margin: 0;
      color: var(--muted);
      font-size: 16px;
      max-width: 72ch;
    }
    main{padding: 18px 0 40px;}
    .card{
      background:#fff;
      border:1px solid var(--border);
      border-radius:14px;
      padding: 18px;
      margin: 14px 0;
    }
    .card h2{margin:0 0 10px; font-size:22px; line-height:1.25}
    .card p{margin: 0 0 12px}
    .grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }
    @media (min-width: 900px){
      .grid{grid-template-columns: 2fr 1fr;}
      .hero h1{font-size: 40px;}
    }
    details{
      border:1px solid var(--border);
      border-radius:12px;
      padding: 10px 12px;
      background:#fff;
      margin: 10px 0;
    }
    summary{cursor:pointer; font-weight:700;}
    footer{
      border-top:1px solid var(--border);
      background:#fff;
      padding: 18px 0;
      color: var(--muted);
      font-size: 14px;
    }
    .muted{color:var(--muted)}
    ul{margin: 10px 0 0 18px}


  .gallery{
  margin-top: 14px;
}
.gallery .track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0;
}
.gallery .track::-webkit-scrollbar{height:10px;}
.gallery .track::-webkit-scrollbar-thumb{background:#ddd;border-radius:999px;}

.gallery .slide{
  flex: 0 0 85%;
  scroll-snap-align: start;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
@media (min-width: 900px){
  .gallery .slide{flex-basis: 60%;}
}

.gallery img{
  width:100%;
  height: 280px;
  object-fit: cover;
  display:block;
}
@media (min-width: 900px){
  .gallery img{height: 320px;}
}

.gallery .controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top: 6px;
}
.gallery .arrow{
  border:1px solid #111;
  background:#fff;
  color:#111;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
  font-weight:700;
}
.gallery .arrow:active{transform: translateY(1px);}
.gallery .hint{color: var(--muted); font-size: 13px;}


.card ul{
  margin-left: 0;
  padding-left: 14px;
}

/* =========================
   Dropdown menu (same strategy as your working example)
   ========================= */

.services-nav{
  margin-top: 10px;
  position: relative;
  z-index: 200;
}

.dropdown{
  position: relative;
  display: inline-block;
}

.dropbtn{
  background: #fff;
  color: #111;
  padding: 10px 14px;
  font-size: 15px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  cursor: pointer;
  font-weight: 800;
}

/* ✅ dropdown panel */
.dropdown-content{
  display: none;
  position: absolute;
  left: 0;

  /* ✅ FIX 1: remove the gap so hover doesn't break */
  top: 100%;

  /* optional tiny nudge if you want it slightly closer */
  margin-top: 4px; /* set to 0 if you want it flush */

  min-width: 320px;
  max-width: 92vw;

  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(0,0,0,.14);

  padding: 12px;
}

/* ✅ FIX 2: invisible hover bridge (prevents menu closing on fast mouse moves) */
.dropdown::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 10px;
  /* no background — invisible */
}

/* ✅ OPEN behavior: hover for desktop + focus-within for mobile tap */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{
  display: block;
}

/* group formatting */
.menu-group{
  padding: 8px 6px;
}

.menu-heading{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .65;
  font-weight: 900;
  margin: 0 0 6px 2px;
}

.dropdown-content a{
  color: #111;
  padding: 8px 10px;
  text-decoration: none;
  display: block;
  border-radius: 10px;
  font-weight: 650;
  line-height: 1.2;
}

.dropdown-content a:hover{
  background: rgba(0,0,0,.06);
}

/* MOBILE: overlay so it doesn't push content down */
@media (max-width: 768px){
  .dropdown-content{
    position: fixed;
    left: 12px;
    right: 12px;
    top: 78px;              /* keeps it under your header row */
    min-width: 0;
    max-width: none;

    max-height: 60vh;
    overflow-y: auto;
    margin-top: 0;          /* important for fixed menus */
  }

  /* bridge not needed on mobile (fixed menu) */
  .dropdown::after{
    display: none;
  }

  .dropbtn{
    padding: 9px 12px;
    font-size: 15px;
  }

  .dropdown-content a{
    padding: 7px 9px;
    font-size: 14px;
  }
}
