:root{
  --bg:#0b1210;
  --card:#0f1a16;
  --text:#0e1512;
  --muted:#6b7a74;
  --white:#ffffff;
  --glass: rgba(255,255,255,.10);

  --primary:#20c997;
  --primary2:#2dd4bf;

  --soft:#f6f8f7;
  --line:rgba(0,0,0,.08);
  --shadow: 0 16px 50px rgba(0,0,0,.12);
  --radius:18px;
  --radius2:24px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family:"Tajawal",system-ui,-apple-system; background:var(--soft); color:#111; }
a{ text-decoration:none; color:inherit; }
.container{ width:min(1100px, 92%); margin-inline:auto; }

/* Fix for anchor offset */
#home,#services,#gallery,#location,#contact{ scroll-margin-top: 78px; }

@media (max-width: 768px) {
  #home,#services,#gallery,#location,#contact{ scroll-margin-top: 64px; }
}

@media (max-width: 480px) {
  #home,#services,#gallery,#location,#contact{ scroll-margin-top: 60px; }
}

/* TOPBAR */
.topbar{
  position:sticky; top:0;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  z-index: 9999;
  transition: all .3s ease;
}
.topbar__inner{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding: 0 20px;
  max-width: 1100px;
  margin: 0 auto;
}
.brand{ display:flex; align-items:center; gap:12px; height:100%; }
.brand__logo{
  width:46px; height:46px;
  border-radius:14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(32,201,151,.18), rgba(45,212,191,.18));
  border:1px solid rgba(32,201,151,.22);
  color:#0a3a2c;
  font-weight:800;
  font-size:20px;
  transition: all .3s ease;
}

.brand__logo:hover{
  transform: scale(1.1);
  background: linear-gradient(135deg, rgba(32,201,151,.25), rgba(45,212,191,.25));
}

.brand__logo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
.brand__name{ font-weight:800; line-height:1; }
.brand__sub{ font-size:12px; color:var(--muted); margin-top:3px; }

.top-actions{ display:flex; gap:8px; align-items:center; }
.cta-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color:#fff;
  font-weight:800;
  font-size:15px;
  transition:.2s ease;
  box-shadow: 0 10px 28px rgba(32,201,151,.18);
  border:none;
}
.cta-btn:hover{ 
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(32,201,151,.25);
}

/* HAMBURGER MENU */
.hamburger{
  display: none;
  flex-direction: column;
  gap: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  z-index: 10002;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 50px;
  position: relative;
  transition: all .3s ease;
}
.hamburger:hover span{
  background: var(--primary);
}
.hamburger span{
  width: 24px;
  height: 2.5px;
  background: #1b2a24;
  border-radius: 999px;
  transition: all .3s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: block;
  margin: 3px 0;
}
.hamburger.active span:nth-child(1){
  transform: rotate(45deg) translate(10px, 10px);
  background: var(--primary);
}
.hamburger.active span:nth-child(2){
  opacity: 0;
  transform: translateX(-10px);
}
.hamburger.active span:nth-child(3){
  transform: rotate(-45deg) translate(10px, -10px);
  background: var(--primary);
}

/* NAV */
.nav{
  position:relative;
  display:flex;
  gap:6px;
  padding:8px;
  border-radius:999px;
  background: rgba(255,255,255,.86);
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: all .3s ease;
}
.nav__link{
  position:relative;
  padding:10px 16px;
  border-radius:999px;
  color:#1b2a24;
  font-weight:700;
  font-size:14px;
  transition: all .2s ease;
  outline: none;
  display: flex;
  align-items: center;
}
.nav__link:hover{ 
  color:#0b3327;
  transform: translateY(-2px);
}
.nav__link.active{ color:#083a2c; }

.nav__indicator{
  position:absolute;
  inset:auto;
  height:40px;
  border-radius:999px;
  background: linear-gradient(135deg, rgba(32,201,151,.16), rgba(45,212,191,.16));
  border:1px solid rgba(32,201,151,.20);
  box-shadow: 0 10px 26px rgba(32,201,151,.12);
  transition: all .25s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events:none;
  z-index:0;
}
.nav__link span{ position:relative; z-index:1; }

/* MOBILE RESPONSIVE */
@media (max-width: 1024px) {
  .topbar__inner {
    padding: 0 16px;
  }
  .brand__sub {
    display: none;
  }
}

@media (max-width: 768px) {
  .topbar__inner {
    position: relative;
    height: 70px;
    gap: 0;
    padding: 0 12px;
  }
  
  .brand {
    height: 100%;
    align-items: center;
    gap: 0;
    margin-right: 20px;
  }
  
  .brand__text {
    display: none;
  }
  
  .brand__logo {
    width: 42px;
    height: 42px;
    font-size: 18px;
    margin: 0;
  }
  
  .hamburger {
    position: absolute;
    left: 12px;
    top: 0;
    display: flex;
    margin: 0;
    padding: 0;
    height: 70px;
    width: 50px;
    flex-shrink: 0;
  }
  
  .hamburger span {
    margin: 3px 0;
  }
  
  .top-actions {
    display: none;
  }
  
  .nav {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    width: 100vw;
    max-width: 280px;
    flex-direction: column;
    gap: 8px;
    padding: 16px 12px;
    border-radius: 0 0 16px 0;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(0,0,0,.08);
    border-top: none;
    backdrop-filter: blur(15px);
    box-shadow: 0 20px 50px rgba(0,0,0,.15);
    opacity: 0;
    transform: translateY(-16px) scale(0.95);
    pointer-events: none;
    transition: all .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 10001;
  }
  
  .nav.active {
    display: flex;
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }
  
  .nav__link {
    padding: 12px 14px;
    font-size: 15px;
    border-radius: 12px;
    width: 100%;
    justify-content: flex-start;
  }
  
  .nav__link:hover {
    background: rgba(32,201,151,.1);
    transform: translateX(4px);
  }
  
  .nav__indicator {
    display: none;
  }
}

@media (max-width: 480px) {
  .topbar__inner {
    height: 64px;
    padding: 0 12px;
  }
  
  .brand {
    gap: 10px;
  }
  
  .brand__logo {
    width: 38px;
    height: 38px;
    font-size: 16px;
    padding: 6px;
  }
  
  .brand__name {
    font-size: 14px;
    font-weight: 700;
  }
  
  .hamburger {
    padding: 6px;
  }
  
  .hamburger span {
    width: 20px;
    height: 2px;
  }
}

@media (max-width: 360px) {
  .brand__logo {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  
  .hamburger {
    padding: 6px;
  }
  
  .hamburger span {
    width: 20px;
    height: 2px;
  }
}

/* HERO */
.hero{
  position:relative;
  min-height: 100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  background: url("Media/hero.jpg");
  background-size:cover;
  background-position:center;
  transform: scale(1.03);
  filter: saturate(1.05);
}
.hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,.55), rgba(0,0,0,.45));
}
.hero__content{
  position:relative;
  padding: 60px 0 50px;
  color:#fff;
}
.pill{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.2);
  font-weight:700;
  margin-bottom:16px;
}
.hero__title{
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 900;
  margin: 0 0 14px;
  letter-spacing:.2px;
  line-height: 1.2;
}
.hero__desc{
  margin: 0 0 28px;
  max-width: 600px;
  line-height: 1.8;
  color: rgba(255,255,255,.88);
  font-weight:500;
  font-size:16px;
}

.hero__cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 13px 24px;
  border-radius: 999px;
  border:1px solid transparent;
  font-weight:800;
  font-size:15px;
  font-family: inherit;
  transition:.2s ease;
  cursor:pointer;
  user-select:none;
}
.btn.primary{
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color:#062016;
  box-shadow: 0 14px 30px rgba(32,201,151,.18);
}
.btn.primary:hover{ transform: translateY(-2px); }
 
.contact #contactForm .btn.primary{
  color:#fff;
  font-weight:900;
  font-family: "Tajawal",system-ui,-apple-system;
}
 
.contact #contactForm .btn.primary i{
  color:#fff;
}
.btn.ghost{
  background: rgba(0,0,0,.25);
  border-color: rgba(255,255,255,.3);
  color:#fff;
}
.btn.ghost:hover{ transform: translateY(-2px); background: rgba(0,0,0,.35); }
.btn-full{ width:100%; justify-content:center; }

.hero__cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top: 28px;
}
.mini-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius: var(--radius);
  background: rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.2);
  transition:.2s ease;
}
.mini-card:hover{
  background: rgba(0,0,0,.3);
  transform: translateY(-2px);
}
.mini-card i{ font-size:20px; }
.mini-card__t{ font-weight:900; font-size:15px; }
.mini-card__s{ font-size:13px; opacity:.85; margin-top:3px; }

/* SECTION */
.section{
  position:relative;
  padding: 70px 0;
}
.section__head{
  text-align:center;
  margin-bottom: 28px;
  position: relative;
}
.section__title{
  font-size: 30px;
  margin: 0;
  font-weight: 900;
  display: inline-block;
  position: relative;
  padding: 0 10px 10px;
}
.section__title::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 84px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  box-shadow: 0 10px 22px rgba(32,201,151,.18);
}
.section__sub{
  margin: 10px auto 0;
  color: var(--muted);
  font-weight: 700;
  max-width: 680px;
  line-height: 1.8;
}

/* SERVICES background + animation */
.services{
  overflow:hidden;
}
.services__bg{
  position:absolute; inset:-40% -30%;
  background:
    radial-gradient(700px 380px at 20% 30%, rgba(32,201,151,.18), transparent 60%),
    radial-gradient(700px 380px at 80% 60%, rgba(45,212,191,.16), transparent 60%),
    linear-gradient(180deg, #f7faf9, #f3f7f6);
  filter: blur(0px);
  animation: floatBG 10s ease-in-out infinite alternate;
}
@keyframes floatBG{
  from{ transform: translateY(-8px); }
  to{ transform: translateY(8px); }
}

/* cards */
.cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:24px;
}
.card{
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
  border:2px solid rgba(32,201,151,.15);
  border-radius:24px;
  padding:36px;
  box-shadow: 0 10px 40px rgba(0,0,0,.08);
  transition:.35s cubic-bezier(.34,.1,.64,.1);
  position:relative;
  overflow:hidden;
}
.card:before{
  content:"";
  position:absolute; 
  inset:-50% -50%;
  width:200px;
  height:200px;
  background: radial-gradient(circle, rgba(32,201,151,.12), transparent 70%);
  top:-30%;
  right:-20%;
}
.card:hover{ 
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 25px 60px rgba(32,201,151,.15);
  border-color: rgba(32,201,151,.3);
}
.card__icon{
  width:64px; height:64px;
  border-radius:18px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color:#fff;
  margin-bottom:20px;
  position:relative;
  font-size:28px;
  box-shadow: 0 8px 20px rgba(32,201,151,.2);
}
.card__t{ 
  margin:0 0 10px; 
  font-weight:900; 
  position:relative; 
  font-size:20px;
  color:#0c1512;
}
.card__p{ 
  margin:0 0 16px; 
  color:#4a5a54; 
  line-height:1.75; 
  font-weight:600; 
  position:relative; 
  font-size:15px;
}
.card__list{ 
  margin:0; 
  padding:0; 
  color:#4a5a54; 
  line-height:2; 
  font-weight:600; 
  position:relative;
  list-style:none;
}
.card__list li{ 
  margin:10px 0;
  padding-left:28px;
  position:relative;
  font-size:14px;
}
.card__list li:before{
  content:"→";
  position:absolute;
  left:0;
  color:var(--primary);
  font-weight:900;
  font-size:16px;
}

/* CONTACT background */
.contact{
  overflow:hidden;
}
.contact__bg{
  position:absolute; inset:-30% -30%;
  background:
    radial-gradient(800px 420px at 30% 30%, rgba(32,201,151,.12), transparent 60%),
    radial-gradient(700px 380px at 80% 70%, rgba(45,212,191,.10), transparent 60%),
    linear-gradient(180deg, #ffffff, #f6faf8);
  animation: floatBG 11s ease-in-out infinite alternate;
}
.contact__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:16px;
  align-items:start;
}
.contact-card, .form{
  background: rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.06);
  border-radius: var(--radius2);
  padding:18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}
.contact-card__t{ margin:0 0 8px; font-weight:900; }
.contact-card__p{ margin:0 0 14px; color:#3f504a; font-weight:600; line-height:1.8; }
.link{ color:#0b6b54; font-weight:900; text-decoration:underline; }

.contact-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }

.note{
  display:flex; gap:10px; align-items:center;
  padding:12px;
  border-radius: 16px;
  background: rgba(32,201,151,.10);
  border:1px solid rgba(32,201,151,.16);
  color:#0b4a3a;
  font-weight:700;
}

.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.field span{ font-weight:800; color:#22312b; }
.field input, .field select, .field textarea{
  width:100%;
  padding: 12px 14px;
  border-radius: 16px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  outline:none;
  font-family: inherit;
  font-weight:700;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: rgba(32,201,151,.40);
  box-shadow: 0 0 0 4px rgba(32,201,151,.12);
}

/* FOOTER */
.footer{
  background:#0c1512;
  color:rgba(255,255,255,.86);
  padding: 18px 0;
}
.footer__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.footer__links{ opacity:.85; display:flex; gap:10px; align-items:center; }

/* Floating WhatsApp */
.wa-float{
  position:fixed;
  left:18px;
  bottom:18px;
  width:70px;
  height:70px;
  border-radius:18px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow: 0 18px 40px rgba(32,201,151,.22);
  z-index: 9999;
  transition:.2s ease;
  font-size:32px;
}
.wa-float:hover{ transform: translateY(-3px); }

 /* GALLERY */
 .gallery{
   overflow:hidden;
 }
 .gallery__bg{
   position:absolute; inset:-40% -30%;
   background:
     radial-gradient(700px 380px at 20% 30%, rgba(32,201,151,.16), transparent 60%),
     radial-gradient(700px 380px at 80% 60%, rgba(45,212,191,.14), transparent 60%),
     linear-gradient(180deg, #f7faf9, #f3f7f6);
   animation: floatBG 12s ease-in-out infinite alternate;
 }

 .gallery-grid{
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
 }

 @media (max-width: 768px){
   .gallery-grid{
     grid-template-columns: repeat(2, 1fr);
     gap: 16px;
   }
 }

 @media (max-width: 480px){
   .gallery-grid{
     grid-template-columns: 1fr;
     gap: 12px;
   }
 }

 .gallery-item{
   border-radius: var(--radius2);
   overflow:hidden;
   box-shadow: 0 12px 30px rgba(0,0,0,.06);
   transition:.3s ease;
   cursor:pointer;
 }

 .gallery-item:hover{
   transform: translateY(-6px);
   box-shadow: 0 18px 45px rgba(0,0,0,.12);
 }

 .gallery-img-wrapper{
   position:relative;
   overflow:hidden;
   height:240px;
 }

 .gallery-img{
   width:100%;
   height:100%;
   object-fit:cover;
   transition:.3s ease;
 }

 .gallery-item:hover .gallery-img{
   transform: scale(1.05);
 }

 .gallery-overlay{
   position:absolute; inset:0;
   background: linear-gradient(135deg, rgba(32,201,151,.0), rgba(32,201,151,.2));
   display:flex;
   align-items:flex-end;
   padding:16px;
   opacity:0;
   transition:.3s ease;
 }

 .gallery-item:hover .gallery-overlay{
   opacity:1;
 }

 .gallery-tag{
   display:inline-block;
   padding:6px 12px;
   background: rgba(32,201,151,.95);
   color:#fff;
   border-radius:999px;
   font-weight:800;
   font-size:12px;
 }

 .gallery-info{
   padding:16px;
   background: rgba(255,255,255,.92);
 }

 .gallery-info h3{
   margin:0 0 6px;
   font-weight:900;
   color:#111;
 }

 .gallery-info p{
   margin:0;
   color:var(--muted);
   font-weight:600;
   font-size:14px;
 }

/* LOCATION */
.location{
  overflow:hidden;
}

.location__bg{
  position:absolute; inset:-30% -30%;
  background:
    radial-gradient(800px 420px at 30% 30%, rgba(32,201,151,.10), transparent 60%),
    radial-gradient(700px 380px at 80% 70%, rgba(45,212,191,.08), transparent 60%),
    linear-gradient(180deg, #ffffff, #f6faf8);
  animation: floatBG 13s ease-in-out infinite alternate;
}

.location__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap:24px;
  align-items:stretch;
}

.location-map-wrapper{
  border-radius: var(--radius2);
  overflow:hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,.10);
  height:420px;
}

.location-map{
  width:100%;
  height:100%;
  border:none;
}

.location-info{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.info-card{
  background: rgba(255,255,255,.85);
  border:1px solid rgba(0,0,0,.06);
  border-radius: var(--radius2);
  padding:20px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  transition:.2s ease;
}

.info-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

.info-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(32,201,151,.18), rgba(45,212,191,.18));
  border:1px solid rgba(32,201,151,.20);
  color:#0b6b54;
  margin-bottom:12px;
  font-size:18px;
}

.info-card h3{
  margin:0 0 8px;
  font-weight:900;
  color:#111;
}

.info-card p{
  margin:0 0 4px;
  color:#3f504a;
  font-weight:600;
  line-height:1.7;
}

.info-card a{
  color:#0b6b54;
  font-weight:900;
  text-decoration:none;
}

.btn-small{
  padding: 10px 14px;
  font-size:14px;
  margin-top:8px;
}

/* Responsive */
@media (max-width: 1200px){
  .container{ width:min(900px, 94%); }
  .cards{ grid-template-columns: 1fr; }
  .gallery-item{ flex-basis: calc((100% - 16px) / 2); }
}

@media (max-width: 980px){
  .container{ width:min(800px, 94%); }
  .topbar__inner{ height:auto; padding: 14px 0; flex-wrap:wrap; }
  .brand__text{ flex:1; }
  .nav{ width:100%; order:3; margin-top:12px; flex-wrap:wrap; }
  .top-actions{ margin-top:12px; }
  .cta-btn{ padding:11px 18px; font-size:14px; }
  
  .hero__title{ font-size: clamp(28px, 4vw, 40px); }
  .hero__content{ padding: 50px 0 40px; }
  .hero__cards{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; margin-top:24px; }
  .mini-card{ padding:14px; gap:12px; }
  .mini-card__t{ font-size:14px; }
  
  .cards{ grid-template-columns: 1fr; }
  .card{ padding:24px; }
  .card__icon{ width:52px; height:52px; font-size:22px; }
  .card__t{ font-size:18px; }
  
  .gallery-track{ gap:14px; }
  .gallery-item{ flex-basis: calc((100% - 14px) / 2); }
  .gallery-img-wrapper{ height:200px; }
  .gallery-info{ padding:14px; }
  .gallery-info h3{ font-size:16px; }
  
  .location__grid{ grid-template-columns: 1fr; }
  .location-map-wrapper{ height:350px; }
  .location-info{ gap:14px; }
  .info-card{ padding:18px; }
  
  .contact__grid{ grid-template-columns: 1fr; }
  .contact-card{ padding:16px; }
  .form{ padding:16px; }
  .field input, .field select, .field textarea{ padding: 10px 12px; font-size:14px; }
  .btn{ padding: 12px 18px; font-size:14px; }
  .btn-full{ font-size:14px; }
}

@media (max-width: 640px){
  .container{ width:min(600px, 96%); }
  
  .topbar__inner{ flex-direction:column; gap:12px; }
  .brand{ flex:1; width:100%; }
  .nav{ width:100%; justify-content:center; }
  .nav__link{ padding:8px 12px; font-size:13px; }
  .top-actions{ justify-content:center; width:100%; }
  .cta-btn{ flex:1; max-width:280px; }
  
  .hero{ min-height:auto; }
  .hero__content{ padding: 40px 0 30px; }
  .pill{ margin-bottom:12px; font-size:13px; }
  .hero__title{ font-size: clamp(24px, 6vw, 32px); margin:0 0 10px; }
  .hero__desc{ font-size:14px; margin:0 0 20px; }
  .hero__cards{ grid-template-columns: 1fr; gap:10px; margin-top:16px; }
  .mini-card{ padding:12px; gap:10px; }
  .mini-card i{ font-size:16px; }
  .mini-card__t{ font-size:13px; }
  .mini-card__s{ font-size:11px; }
  .hero__cta{ gap:8px; }
  .btn{ padding: 11px 16px; font-size:13px; gap:6px; }
  .btn i{ font-size:14px; }
  
  .section { padding: 40px 0; }
  .section__title{ font-size: 24px; }
  .section__sub{ font-size:13px; }
  
  .cards{ gap:14px; }
  .card{ padding:20px; }
  .card__icon{ width:48px; height:48px; font-size:20px; margin-bottom:14px; }
  .card__t{ font-size:16px; margin-bottom:6px; }
  .card__p{ font-size:14px; margin-bottom:12px; }
  .card__list li{ font-size:13px; }
  
  .gallery-track{ gap:12px; }
  .gallery-item{ flex-basis: 100%; }
  .gallery-item{ border-radius: 16px; }
  .gallery-img-wrapper{ height:180px; }
  .gallery-info{ padding:12px; }
  .gallery-info h3{ font-size:15px; margin:0 0 4px; }
  .gallery-info p{ font-size:12px; }
  .gallery-tag{ font-size:11px; padding:5px 10px; }
  
  .location__grid{ gap:16px; }
  .location-map-wrapper{ height:280px; }
  .info-card{ padding:16px; }
  .info-card h3{ font-size:16px; }
  .info-card p{ font-size:13px; }
  .info-icon{ width:40px; height:40px; font-size:16px; }
  
  .contact-card, .form{ padding:14px; }
  .contact-card__t{ font-size:16px; }
  .contact-card__p{ font-size:13px; }
  .field span{ font-size:13px; }
  .field input, .field select, .field textarea{ padding: 9px 10px; font-size:13px; }
  
  .footer__inner{ flex-direction:column; gap:8px; font-size:12px; }
  .footer__links{ font-size:12px; }
}

@media (max-width: 380px){
  .container{ width:min(500px, 98%); }
  
  .brand__logo{ width:40px; height:40px; font-size:18px; }
  .brand__name{ font-size:13px; }
  .brand__sub{ display:none; }
  
  .nav{ gap:4px; padding:6px; }
  .nav__link{ padding:6px 10px; font-size:11px; }
  
  .cta-btn{ padding:10px 14px; font-size:12px; }
  
  .hero__title{ font-size: 22px; }
  .hero__desc{ font-size:13px; }
  .pill{ padding:8px 10px; font-size:12px; }
  
  .hero__cta{ gap:6px; }
  .btn{ padding: 10px 14px; font-size:12px; }
  .btn i{ font-size:12px; }
  
  .section { padding: 40px 0; }
  .section__title{ font-size: 20px; }
  
  .card{ padding:16px; }
  .card__icon{ width:44px; height:44px; font-size:18px; }
  .card__t{ font-size:15px; }
  .card__p{ font-size:13px; }
  
  .gallery-img-wrapper{ height:150px; }
  
  .location-map-wrapper{ height:240px; }
}

