:root{
  --brand-900:#0f2b24;
  --brand-800:#12352c;
  --brand-700:#18473a;
  --brand-500:#2a7a62;
  --accent-500:#a8cf28;
  --accent-600:#93b823;
  --text-900:#0b1411;
  --text-700:#2a3b34;
  --surface-0:#ffffff;
  --surface-50:#f6f8f7;
  --border-200:rgba(18,39,32,.12);
  --shadow-sm:0 8px 24px rgba(15,43,36,.12);
  --shadow-md:0 18px 48px rgba(15,43,36,.18);
  --radius:14px;
  --container:1200px;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text-900);
  background:var(--surface-0);
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.container{
  width:min(var(--container),calc(100% - 40px));
  margin-inline:auto;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:12px;
  padding:10px 14px;
  background:var(--surface-0);
  border-radius:999px;
  box-shadow:var(--shadow-sm);
  z-index:999;
}
.skip-link:focus{left:16px;}

/* Top bar */
.topbar{
  background:linear-gradient(90deg,var(--brand-900),#0b221c);
  color:#eaf3f0;
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
}

.topbar__left{display:flex;gap:10px;align-items:center;}
.icon-btn{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  transition:transform .2s ease, background .2s ease;
}
.icon-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.12);}

.topbar__right{display:flex;align-items:center;gap:18px;}
.topbar__item{display:flex;align-items:center;gap:12px;}
.topbar__item i{color:var(--accent-500);}
.topbar__stack{display:flex;flex-direction:column;line-height:1.05;}
.topbar__label{font-size:12px;letter-spacing:.12em;font-weight:700;opacity:.95;}
.topbar__value{font-size:13px;opacity:.9;}
.topbar__value:hover{text-decoration:underline;}
.topbar__divider{
  width:1px;
  height:30px;
  background:rgba(255,255,255,.16);
}

/* Nav */
.nav{
  background:var(--surface-0);
  border-bottom:1px solid var(--border-200);
}
.nav__inner{
  display:flex;
  align-items:center;
  gap:18px;
  padding:14px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:240px;
}
.brand__logo{height:54px;width:auto;}

.nav__menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  flex:1;
}

.nav__link{
  font-weight:700;
  letter-spacing:.06em;
  font-size:14px;
  line-height:1;
  color:rgba(11,20,17,.82);
  position:relative;
  padding:8px 0;
  transition:color .2s ease;
}

.nav__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:2px;
  background:var(--accent-500);
  transition:width .25s ease;
}
.nav__link:hover{color:var(--brand-700);}
.nav__link:hover::after{width:100%;}
.nav__link.is-active{color:var(--accent-600);}
.nav__link.is-active::after{width:100%;}

.nav__actions{display:flex;align-items:center;gap:12px;}
.nav__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid var(--border-200);
  background:var(--surface-0);
  transition:transform .2s ease, box-shadow .2s ease;
}
.nav__icon:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}

.nav__toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--border-200);
  border-radius:12px;
  background:var(--surface-0);
  transition:transform .18s ease, box-shadow .18s ease;
}
.nav__toggle:hover{transform:translateY(-1px); box-shadow:var(--shadow-sm);}
.nav__toggle:active{transform:translateY(0);}
.nav__toggleLines{
  position:relative;
  display:block;
  width:20px;
  height:2px;
  margin:auto;
  background:rgba(11,20,17,.8);
  border-radius:999px;
  transition:background-color .18s ease;
}

.nav__toggleLines::before,
.nav__toggleLines::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:2px;
  background:rgba(11,20,17,.8);
  border-radius:999px;
  transition:transform .22s ease, opacity .18s ease;
}

.nav__toggleLines::before{transform:translateY(-7px);}
.nav__toggleLines::after{transform:translateY(7px);}

.nav.is-open .nav__toggleLines{background:transparent;}
.nav.is-open .nav__toggleLines::before{transform:rotate(45deg);}
.nav.is-open .nav__toggleLines::after{transform:rotate(-45deg);}

/* Hero */
.hero{position:relative;}
.heroSwiper{height:min(72vh,720px);}

.heroSlide{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.heroSlide__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.03);
}

.heroSlide[data-hero="1"] .heroSlide__bg{
  background-image:
    linear-gradient(90deg, rgba(15,43,36,.72) 0%, rgba(15,43,36,.40) 48%, rgba(15,43,36,.08) 100%),
    url("hero1.jpg");
}
.heroSlide[data-hero="2"] .heroSlide__bg{
  background-image:
    linear-gradient(90deg, rgba(15,43,36,.72) 0%, rgba(15,43,36,.40) 48%, rgba(15,43,36,.08) 100%),
    url("hero2.jpg");
}
.heroSlide[data-hero="3"] .heroSlide__bg{
  background-image:
    linear-gradient(90deg, rgba(15,43,36,.72) 0%, rgba(15,43,36,.40) 48%, rgba(15,43,36,.08) 100%),
    url("hero3.jpg");
}

.heroSlide__content{
  position:relative;
  z-index:2;
  padding:48px 0;
}

.hero__title{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(38px,4.3vw,64px);
  line-height:1.05;
  letter-spacing:-.02em;
}

.hero__text{
  margin:0 0 28px;
  max-width:560px;
  color:rgba(255,255,255,.90);
  font-size:16px;
  line-height:1.7;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.06em;
  font-size:12px;
  border:1px solid transparent;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.btn--primary{
  background:var(--accent-500);
  color:#1a2108;
  box-shadow:0 16px 40px rgba(168,207,40,.22);
}
.btn--primary:hover{transform:translateY(-1px);filter:saturate(1.04);box-shadow:0 18px 48px rgba(168,207,40,.26);}

.btn--solid{
  background:var(--brand-700);
  color:#eef6f2;
  border-color:transparent;
  border-radius:10px;
  padding:12px 22px;
  letter-spacing:.04em;
}

.btn--solid:hover{transform:translateY(-1px);box-shadow:0 18px 48px rgba(15,43,36,.18);}

.heroNav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  z-index:5;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.heroNav:hover{transform:translateY(-50%) scale(1.03);background:rgba(255,255,255,.16);}
.heroNav--prev{left:18px;}
.heroNav--next{right:18px;}

/* Info strip (3 cards) */
.infoStrip{
  position:relative;
  z-index:3;
  background:linear-gradient(180deg,var(--surface-0) 0%, var(--surface-50) 100%);
  padding:18px 0 56px;
}

.infoStrip__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:-72px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
}

.infoCard{
  padding:34px 34px 30px;
  min-height:240px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.infoCard--light{
  background:var(--surface-0);
}

.infoCard--dark{
  color:#eef6f2;
  background:
    radial-gradient(680px 240px at 10% 12%, rgba(168,207,40,.18), rgba(168,207,40,0) 60%),
    radial-gradient(680px 240px at 90% 22%, rgba(255,255,255,.06), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(18,53,44,.95), rgba(12,35,29,.96));
  position:relative;
}

.infoCard--dark::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(255,255,255,.05) 1px, rgba(255,255,255,0) 1px);
  background-size:18px 18px;
  opacity:.35;
  pointer-events:none;
}

.infoCard__eyebrow{
  margin:0 0 4px;
  font-size:14px;
  color:rgba(11,20,17,.7);
}

.infoCard--dark .infoCard__eyebrow{color:rgba(238,246,242,.8);}

.infoCard__title{
  position:relative;
  z-index:1;
  margin:0;
  font-size:20px;
  font-weight:600;
}

.infoCard__center{margin:22px 0;}

.infoCard__glyph{
  width:56px;
  height:56px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:var(--accent-500);
  border:2px solid rgba(168,207,40,.55);
}

.infoCard__glyph i{font-size:22px;}

.infoCard__phone{
  font-size:18px;
  font-weight:500;
  color:rgba(11,20,17,.45);
}

.infoCard__topIcon{
  position:relative;
  z-index:1;
  margin-bottom:14px;
}

.ringIcon{
  width:60px;
  height:60px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:2px solid rgba(168,207,40,.60);
  color:var(--accent-500);
  background:rgba(18,39,32,.15);
  animation:ringPulse 4.6s ease-in-out infinite;
}

.ringIcon i{font-size:22px;}

.infoCard__text{
  position:relative;
  z-index:1;
  margin:12px 0 0;
  max-width:320px;
  color:rgba(238,246,242,.70);
  line-height:1.7;
  font-size:14px;
}

/* Services section */
.services{padding:56px 0 90px; background:var(--surface-0);}

.services__grid{
  display:grid;
  grid-template-columns: 360px 1fr 1fr;
  gap:26px;
  align-items:start;
}

.servicesIntro{
  min-height:420px;
  border:2px dashed rgba(11,20,17,.10);
  border-radius:12px;
  padding:34px 34px 28px;
  background:var(--surface-0);
}

.servicesIntro__icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(168,207,40,.14);
  border:1px solid rgba(168,207,40,.28);
  color:var(--brand-700);
}

.servicesIntro__title{
  margin:22px 0 14px;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.02em;
}

.servicesIntro__text{
  margin:0 0 22px;
  color:rgba(11,20,17,.62);
  line-height:1.8;
}

.btn--outline{
  background:transparent;
  color:var(--accent-600);
  border-color:rgba(168,207,40,.75);
}

.btn--outline:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 48px rgba(15,43,36,.10);
}

.serviceCard{
  background:var(--surface-0);
  border:1px solid rgba(11,20,17,.08);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(15,43,36,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}

.serviceCard:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(15,43,36,.14);}

.serviceCard__head{
  position:relative;
  padding:22px 22px 12px;
}

.serviceCard__title{margin:0;font-size:18px;font-weight:600;}

.serviceCard__badge{
  position:absolute;
  right:18px;
  top:14px;
  width:50px;
  height:50px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--accent-500);
  color:#1a2108;
  box-shadow:0 12px 28px rgba(168,207,40,.22);
  overflow:hidden;
}

.serviceCard__badge::after{
  content:"";
  position:absolute;
  inset:-40px;
  background:linear-gradient(120deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 65%);
  transform:translateX(-65%) rotate(18deg);
  opacity:.65;
  animation:badgeShine 5.2s ease-in-out infinite;
}

.serviceCard__badge i{font-size:18px;}

.serviceCard__media{
  height:185px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.18)),
    url("https://images.unsplash.com/photo-1557429287-b2e26467fc2b?auto=format&fit=crop&w=1600&q=80");
  background-size:cover;
  background-position:center;
}

.serviceCard__media--2{
  background:
    linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.18)),
    url("ok.jpg");
  background-size:cover;
  background-position:center;
}

.serviceCard__text{
  margin:0;
  padding:18px 22px 24px;
  color:rgba(11,20,17,.62);
  line-height:1.8;
}

/* About */
.about{
  position:relative;
  background:var(--surface-0);
  padding:56px 0 80px;
  overflow:hidden;
}

.about__inner{position:relative;}

.about__decor{
  position:absolute;
  top:0;
  width:340px;
  height:520px;
  opacity:.55;
  pointer-events:none;
  filter:drop-shadow(0 14px 40px rgba(15,43,36,.10));
}

.about__decor--left{
  left:-110px;
  background:
    url("https://images.unsplash.com/photo-1524594150400-8a0b48d0a7e0?auto=format&fit=crop&w=900&q=60")
      center/cover no-repeat;
  border-radius:28px;
  mask-image:radial-gradient(closest-side, rgba(0,0,0,.95) 0%, rgba(0,0,0,.80) 55%, rgba(0,0,0,0) 78%);
}

.about__decor--right{
  right:-140px;
  top:46px;
  background:
    url("https://images.unsplash.com/photo-1501004318641-b39e6451bec6?auto=format&fit=crop&w=900&q=60")
      center/cover no-repeat;
  border-radius:28px;
  mask-image:radial-gradient(closest-side, rgba(0,0,0,.95) 0%, rgba(0,0,0,.78) 52%, rgba(0,0,0,0) 78%);
}

.about__grid{
  display:grid;
  grid-template-columns:minmax(0,520px) minmax(0,1fr);
  gap:44px;
  align-items:start;
}

.aboutMedia{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 52px rgba(15,43,36,.16);
}

.aboutMedia__frame{
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  z-index:2;
  pointer-events:none;
}

.aboutMedia__img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio: 4 / 5;}

.aboutContent{padding-top:6px;}

.about__title{
  margin:0 0 14px;
  font-size:clamp(30px,3vw,44px);
  line-height:1.12;
  letter-spacing:-.02em;
}

.about__titleAccent{color:var(--brand-500);}

.about__lead{
  margin:0 0 10px;
  color:rgba(11,20,17,.72);
  line-height:1.85;
}

.about__text{
  margin:0 0 18px;
  color:rgba(11,20,17,.62);
  line-height:1.85;
}

.aboutStats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:18px 0 14px;
}

.statCard{
  border:1px dashed rgba(11,20,17,.14);
  border-radius:12px;
  padding:18px 18px 16px;
  background:var(--surface-0);
  box-shadow:0 12px 34px rgba(15,43,36,.06);
}

.statCard__icon{
  width:56px;
  height:56px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:2px dotted rgba(42,122,98,.45);
  color:var(--brand-500);
  margin:0 auto 10px;
}

.statCard__value{
  text-align:center;
  font-weight:800;
  color:var(--brand-500);
  font-size:26px;
  letter-spacing:-.01em;
}

.statCard__label{
  text-align:center;
  color:rgba(11,20,17,.58);
  font-size:13px;
  margin-top:4px;
}

.about__note{
  margin:12px 0 18px;
  color:rgba(11,20,17,.62);
  line-height:1.85;
}

.aboutHelp{
  position:absolute;
  right:8px;
  bottom:-26px;
  width:240px;
  text-align:center;
}

.aboutHelp__card{
  background:var(--surface-0);
  border:1px solid rgba(11,20,17,.08);
  border-radius:12px;
  box-shadow:0 18px 48px rgba(15,43,36,.14);
  padding:14px 14px 12px;
}

.aboutHelp__meta{
  font-size:12px;
  font-weight:700;
  color:rgba(11,20,17,.58);
}

/* Best services */
.bestServices{
  position:relative;
  padding:72px 0 86px;
  color:#eef6f2;
}

.bestServices__bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.64), rgba(0,0,0,.70)),
    url("https://images.unsplash.com/photo-1461354464878-ad92f492a5a0?auto=format&fit=crop&w=2400&q=80")
      center/cover no-repeat;
}

.bestServices__inner{position:relative; z-index:1;}

.bestServices__header{text-align:center; max-width:860px; margin:0 auto 26px;}

.bestServices__title{
  margin:0;
  font-size:clamp(28px,3.2vw,44px);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.bestServices__titleAccent{color:var(--brand-500);}

.bestServices__subtitle{
  margin:10px auto 0;
  max-width:740px;
  color:rgba(238,246,242,.78);
  line-height:1.75;
}

.bestSwiper{padding:18px 0 0;}
.bestSwiper .swiper-wrapper{padding:18px 2px 10px;}
.bestSwiper .swiper-slide{height:auto; display:flex;}

.bestCard{
  width:100%;
  background:#ffffff;
  color:var(--text-900);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 18px 52px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.16);
  position:relative;
  transition:transform .22s ease, box-shadow .22s ease;
}

.bestCard:hover{transform:translateY(-4px);box-shadow:0 26px 72px rgba(0,0,0,.42);}

.bestCard__media{
  height:230px;
  background-size:cover;
  background-position:center;
  position:relative;
  transform:translateZ(0);
  transition:filter .22s ease;
}

.bestCard:hover .bestCard__media{filter:saturate(1.06) contrast(1.02);}

.bestCard__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.30));
}

.bestCard__media[data-img="gardening"]{background-image:url("1.jpg");}
.bestCard__media[data-img="mowing"]{background-image:url("2.jpg");}
.bestCard__media[data-img="waste"]{background-image:url("3.jpg");}
.bestCard__media[data-img="turf"]{background-image:url("4.jpg");}
.bestCard__media[data-img="maintenance"]{background-image:url("5.jpg");}
.bestCard__media[data-img="irrigation"]{background-image:url("6.jpg");}
.bestCard__media[data-img="mulch"]{background-image:url("7.jpg");}
.bestCard__media[data-img="hedge"]{background-image:url("8.jpg");}

.bestCard__pill{
  position:absolute;
  left:50%;
  top:216px;
  transform:translateX(-50%);
  width:calc(100% - 64px);
  background:var(--brand-500);
  color:#eef6f2;
  font-weight:800;
  text-align:center;
  padding:14px 16px;
  border-radius:999px;
  box-shadow:0 18px 44px rgba(15,43,36,.24);
}

.bestCard__body{padding:52px 26px 24px; text-align:center;}

.bestCard__text{
  margin:0 0 18px;
  color:rgba(11,20,17,.58);
  line-height:1.75;
}

.bestCard__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-500);
  color:#eef6f2;
  border-radius:8px;
  padding:10px 18px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.0);
  transition:transform .18s ease, filter .18s ease;
}

.bestCard__btn:hover{transform:translateY(-1px);filter:saturate(1.06);}

.bestServices__controls{display:flex;justify-content:center;margin-top:18px;}

.bestSwiperPagination{
  --swiper-pagination-bullet-size:9px;
  --swiper-pagination-bullet-inactive-color:rgba(255,255,255,.42);
  --swiper-pagination-color:var(--accent-500);
}

.bestSwiperPagination .swiper-pagination-bullet{opacity:1;}
.bestSwiperPagination .swiper-pagination-bullet-active{filter:drop-shadow(0 10px 26px rgba(168,207,40,.26));}

/* Gallery */
.gallery{
  padding:78px 0 90px;
  background:var(--surface-0);
}

.gallery__header{text-align:center; max-width:900px; margin:0 auto;}

.gallery__title{
  margin:0;
  font-size:clamp(28px,3.1vw,44px);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gallery__titleAccent{color:var(--brand-500);}

.gallery__subtitle{
  margin:10px auto 0;
  max-width:760px;
  color:rgba(11,20,17,.62);
  line-height:1.8;
}

.galleryFilters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin:30px 0 34px;
}

.galleryFilter{
  border:1px solid rgba(11,20,17,.12);
  background:var(--text-900);
  color:#ffffff;
  padding:12px 20px;
  border-radius:8px;
  font:inherit;
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease,
    border-color .18s ease;
}

.galleryFilter:hover{transform:translateY(-1px);box-shadow:0 16px 40px rgba(15,43,36,.12);}

.galleryFilter.is-active{
  background:var(--accent-500);
  color:#1a2108;
  border-color:rgba(168,207,40,.85);
  box-shadow:0 16px 40px rgba(168,207,40,.22);
}

.galleryGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0;
  overflow:hidden;
  box-shadow:0 22px 64px rgba(15,43,36,.12);
}

.galleryItem{
  position:relative;
  overflow:hidden;
  background:var(--surface-50);
  transform:translateZ(0);
}

.galleryItem__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  aspect-ratio: 4 / 3;
  transform:scale(1.02);
  transition:transform .42s ease, filter .42s ease;
}

.galleryItem::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,20,17,0) 42%, rgba(11,20,17,.70) 100%);
  opacity:.92;
  pointer-events:none;
}

.galleryItem__cap{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:16px 16px 14px;
  color:#ffffff;
  font-weight:900;
  letter-spacing:.02em;
  transform:translateY(4px);
  transition:transform .26s ease;
}

.galleryItem:hover .galleryItem__img{transform:scale(1.08);filter:saturate(1.06) contrast(1.02);}
.galleryItem:hover .galleryItem__cap{transform:translateY(0);}

/* Why choose us */
.why{
  position:relative;
  padding:78px 0 90px;
  background:var(--surface-0);
}

.why__bg{
  position:absolute;
  inset:0;
  background:#fff;
}

.why__inner{position:relative; z-index:1;}

.why__header{text-align:center; max-width:960px; margin:0 auto 34px;}

.why__title{
  margin:0;
  font-size:clamp(28px,3.2vw,48px);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--brand-700);
}

.why__subtitle{
  margin:12px auto 0;
  max-width:820px;
  color:rgba(11,20,17,.70);
  line-height:1.8;
  font-weight:600;
}

.why__divider{
  width:82px;
  height:2px;
  margin:18px auto 0;
  background:rgba(11,20,17,.22);
  border-radius:99px;
  transform-origin:center;
}

.why__grid{
  display:grid;
  grid-template-columns:minmax(0,520px) minmax(0,1fr);
  gap:54px;
  align-items:center;
}

.whyMedia{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  background:var(--surface-0);
  box-shadow:0 22px 64px rgba(15,43,36,.16);
}

.whySwiper{width:100%; height:100%;}

.whySwiperPagination{
  --swiper-pagination-bullet-size:8px;
  --swiper-pagination-bullet-inactive-color:rgba(255,255,255,.55);
  --swiper-pagination-color:var(--accent-500);
}

.whySwiperPagination{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  z-index:4;
}

.whyMedia__frame{
  position:absolute;
  inset:14px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:8px;
  z-index:2;
  pointer-events:none;
}

.whyMedia__img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio: 4 / 3;}

.whyList{list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:22px;}

.whyItem{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:12px;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.whyItem:hover{
  transform:translateY(-2px);
  background:rgba(42,122,98,.06);
  box-shadow:0 16px 40px rgba(15,43,36,.10);
}

.whyItem__icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(42,122,98,.10);
  border:1px solid rgba(42,122,98,.22);
  color:var(--brand-500);
  flex:0 0 auto;
  margin-top:2px;
  transition:transform .2s ease, box-shadow .2s ease;
}

.whyItem:hover .whyItem__icon{transform:scale(1.04);box-shadow:0 14px 34px rgba(42,122,98,.18);}

.whyItem__head{font-weight:900; color:var(--text-900); margin-bottom:4px;}

.whyItem__text{color:rgba(11,20,17,.70); line-height:1.75;}

.btn--quote{
  background:var(--brand-500);
  color:#eef6f2;
  border-radius:10px;
  padding:14px 22px;
  letter-spacing:.26em;
  font-weight:900;
  box-shadow:0 18px 52px rgba(15,43,36,.16);
  position:relative;
  overflow:hidden;
}

.btn--quote:hover{transform:translateY(-1px);filter:saturate(1.06);}

.btn--quote::after{
  content:"";
  position:absolute;
  inset:-60px;
  background:linear-gradient(120deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.40) 50%, rgba(255,255,255,0) 65%);
  transform:translateX(-65%) rotate(18deg);
  opacity:.65;
  transition:transform .6s ease;
}

.btn--quote:hover::after{transform:translateX(85%) rotate(18deg);}

.btn--booking{
  background:var(--brand-500);
  color:#eef6f2;
  border-radius:6px;
  padding:14px 22px;
  letter-spacing:.04em;
  font-weight:900;
  width:280px;
  max-width:100%;
  justify-content:center;
}

.btn--booking:hover{transform:translateY(-1px);filter:saturate(1.06);}

/* Booking */
.booking{
  position:relative;
  background:var(--surface-0);
  padding:66px 0 64px;
  overflow:hidden;
}

.booking__decor{
  position:absolute;
  top:-30px;
  width:240px;
  height:520px;
  opacity:.55;
  pointer-events:none;
}

.booking__decor--left{
  left:-80px;
  background:
    url("https://images.unsplash.com/photo-1524594150400-8a0b48d0a7e0?auto=format&fit=crop&w=900&q=60")
      center/cover no-repeat;
  border-radius:28px;
  mask-image:radial-gradient(closest-side, rgba(0,0,0,.95) 0%, rgba(0,0,0,.72) 55%, rgba(0,0,0,0) 78%);
}

.booking__decor--right{
  right:-90px;
  top:-40px;
  background:
    url("https://images.unsplash.com/photo-1501004318641-b39e6451bec6?auto=format&fit=crop&w=900&q=60")
      center/cover no-repeat;
  border-radius:28px;
  mask-image:radial-gradient(closest-side, rgba(0,0,0,.95) 0%, rgba(0,0,0,.70) 52%, rgba(0,0,0,0) 78%);
}

.booking__inner{position:relative; z-index:1;}

.booking__grid{
  display:grid;
  grid-template-columns:minmax(0,520px) minmax(0,1fr);
  gap:54px;
  align-items:start;
}

.bookingMedia{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 22px 64px rgba(15,43,36,.14);
  background:var(--surface-0);
}

.bookingMedia__img{width:100%;height:100%;object-fit:cover;aspect-ratio: 4 / 5;}

.booking__title{
  margin:0 0 8px;
  font-size:clamp(28px,3vw,44px);
  letter-spacing:-.02em;
}

.booking__accent{color:var(--brand-500);}

.booking__subtitle{
  margin:0 0 18px;
  color:rgba(11,20,17,.62);
  line-height:1.8;
}

.bookingForm{
  border:1px solid rgba(11,20,17,.10);
  border-radius:12px;
  padding:22px;
  background:var(--surface-0);
  box-shadow:0 18px 54px rgba(15,43,36,.08);
}

.bookingForm__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.field{display:block;}
.field--full{grid-column:1 / -1;}

.field__input{
  width:100%;
  border:1px solid rgba(11,20,17,.12);
  border-radius:6px;
  padding:14px 14px;
  font:inherit;
  color:var(--text-900);
  background:var(--surface-0);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.field__input::placeholder{color:rgba(11,20,17,.46);}

.field__input:focus{
  border-color:rgba(42,122,98,.55);
  box-shadow:0 0 0 4px rgba(42,122,98,.12);
  transform:translateY(-1px);
}

.field__textarea{resize:vertical; min-height:150px;}

/* Testimonials */
.testimonials{
  padding:78px 0 90px;
  background:var(--surface-0);
}

.testimonials__header{text-align:center; max-width:920px; margin:0 auto 34px;}

.testimonials__title{
  margin:0;
  font-size:clamp(28px,3.1vw,44px);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--brand-700);
}

.testimonials__subtitle{
  margin:10px auto 0;
  max-width:760px;
  color:rgba(11,20,17,.62);
  line-height:1.8;
  font-weight:600;
}

.testimonials__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}

.testimonialCard{
  position:relative;
  background:var(--surface-0);
  border:1px solid rgba(11,20,17,.10);
  border-radius:12px;
  box-shadow:0 18px 54px rgba(15,43,36,.10);
  padding:26px 28px 22px;
  transition:transform .22s ease, box-shadow .22s ease;
}

.testimonialCard:hover{transform:translateY(-4px);box-shadow:0 26px 78px rgba(15,43,36,.14);}

.testimonialCard__text{
  margin:0;
  color:rgba(11,20,17,.70);
  line-height:1.9;
}

.testimonialCard__footer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(11,20,17,.08);
}

.testimonialCard__avatar{
  width:52px;
  height:52px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid rgba(11,20,17,.10);
  box-shadow:0 12px 26px rgba(15,43,36,.12);
}

.testimonialCard__name{font-weight:900; color:var(--brand-700);}
.testimonialCard__role{color:rgba(11,20,17,.58); font-weight:600; font-size:13px;}

/* Metrics */
.metrics{
  position:relative;
  padding:54px 0 56px;
  color:#eef6f2;
}

.metrics__bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(42,122,98,.86), rgba(42,122,98,.88)),
    url("https://images.unsplash.com/photo-1523348837708-15d4a09cfac2?auto=format&fit=crop&w=2200&q=70")
      center/cover no-repeat;
}

.metrics__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:26px;
  align-items:center;
}

.metricCard{text-align:center;}

.metricCard__value{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-weight:900;
  font-size:clamp(28px,3.2vw,44px);
  letter-spacing:-.02em;
}

.metricCard__value i{opacity:.95;}

.metricCard__label{
  margin-top:6px;
  color:rgba(238,246,242,.88);
  font-weight:700;
}

.aboutHelp__phone{
  display:block;
  margin-top:4px;
  font-weight:800;
  color:var(--text-900);
  letter-spacing:.02em;
}

.aboutHelp{pointer-events:auto;}

/* Footer */
.footer{
  background:var(--surface-0);
  color:var(--text-900);
  border-top:1px solid var(--border-200);
}

.footer__grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1.2fr;
  gap:34px;
  padding:72px 0 54px;
  align-items:start;
}

.footer__logo{display:inline-flex; align-items:center;}

.footer__logoImg{
  height:54px;
  width:auto;
  filter:drop-shadow(0 14px 34px rgba(15,43,36,.14));
}

.footer__text{
  margin:16px 0 18px;
  color:rgba(11,20,17,.62);
  line-height:1.85;
}

.footer__social{display:flex; gap:10px; align-items:center;}

.footerSocial{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--surface-0);
  border:1px solid rgba(11,20,17,.12);
  color:var(--brand-700);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.footerSocial:hover{
  transform:translateY(-1px);
  background:rgba(42,122,98,.06);
  box-shadow:0 18px 48px rgba(15,43,36,.14);
}

.footer__heading{
  margin:4px 0 14px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--brand-700);
}

.footer__list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}

.footer__link{
  color:rgba(11,20,17,.62);
  transition:color .18s ease, transform .18s ease;
  display:inline-flex;
}

.footer__link:hover{color:var(--brand-500); transform:translateX(2px);}

.footer__muted{color:rgba(11,20,17,.62);}

.footer__list--contact li{display:flex; gap:10px; align-items:flex-start;}
.footer__list--contact i{color:var(--brand-500); margin-top:3px;}

.footer__bottom{
  border-top:1px solid rgba(11,20,17,.10);
  background:var(--surface-50);
}

.footer__bottomInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 0;
}

.footer__copyright,.footer__credit{margin:0; color:rgba(11,20,17,.58);}

/* Responsive */
@media (max-width: 980px){
  .topbar__right{display:none;}
  .brand{min-width:auto;}
  .nav__menu{gap:18px;}

  .aboutHelp{right:0;}
}

@media (max-width: 820px){
  .topbar{position:relative; z-index:30;}

  .nav__toggle{display:inline-grid;place-items:center;}
  .nav__actions{gap:10px;}

  .nav{position:relative; isolation:isolate; z-index:20;}
  .nav__inner{z-index:2;}

  .brand{flex:1 1 auto; min-width:0; max-width:calc(100% - 64px); overflow:hidden;}
  .brand__logo{max-width:100%; width:auto;}
  .nav__toggle{flex:0 0 auto; margin-left:auto; position:relative; z-index:3;}

  .nav__inner{gap:12px; flex-wrap:nowrap;}

  .nav::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(11,20,17,.34);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:1;
    transition:opacity .2s ease, visibility 0s linear .2s;
  }

  .nav.is-open::after{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .2s ease;
  }

  .nav__inner{position:relative; justify-content:space-between;}

  .nav__menu{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:var(--surface-0);
    padding:0 20px;
    gap:8px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    max-height:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    overflow:hidden;
    border-bottom-left-radius:var(--radius);
    border-bottom-right-radius:var(--radius);
    transition:
      max-height .34s ease,
      opacity .2s ease,
      transform .2s ease,
      padding .22s ease,
      visibility 0s linear .2s,
      box-shadow .22s ease;
  }

  .nav.is-open .nav__menu{
    max-height:70vh;
    padding:12px 20px 14px;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
    box-shadow:var(--shadow-sm);
    transition:
      max-height .34s ease,
      opacity .2s ease,
      transform .2s ease,
      padding .22s ease,
      visibility 0s,
      box-shadow .22s ease;
  }

  .nav__link{
    width:100%;
    padding:12px 12px;
    border-radius:12px;
    letter-spacing:.04em;
  }

  .nav__link::after{display:none;}

  .nav__link:hover,
  .nav__link:focus-visible{
    background:var(--surface-50);
    color:var(--brand-700);
  }

  .nav__link.is-active{
    background:var(--surface-50);
    background:color-mix(in srgb, var(--accent-500) 16%, transparent);
    color:var(--brand-700);
  }
  .heroSwiper{height:min(66vh,680px);}

  .infoStrip{padding-top:12px;}
  .infoStrip__grid{grid-template-columns:1fr; margin-top:-28px; border-radius:16px;}
  .infoCard{min-height:auto; padding:30px 24px 28px; gap:12px;}
  .infoCard__center{margin:0;}
  .infoCard__topIcon{margin-bottom:0;}
  .infoCard__title{max-width:28ch; text-wrap:balance;}
  .infoCard__text{max-width:38ch; margin:0; margin-inline:auto;}
  .services__grid{grid-template-columns:1fr;}
  .servicesIntro{min-height:auto;}

  .servicesIntro{ text-align:center; }
  .servicesIntro__icon{ margin-inline:auto; }
  .servicesIntro__text{ margin-inline:auto; }

  .serviceCard__head{ text-align:center; padding-top:72px; }
  .serviceCard__badge{ left:50%; right:auto; top:16px; transform:translateX(-50%); }
  .serviceCard__text{ text-align:center; }

  .about{padding-bottom:110px;}
  .about__grid{grid-template-columns:1fr; gap:22px;}
  .aboutStats{grid-template-columns:1fr;}
  .aboutHelp{position:relative; right:auto; bottom:auto; margin:18px auto 0;}

  .why{padding:58px 0 74px;}
  .why__grid{grid-template-columns:1fr; gap:22px;}

  .booking{padding:56px 0 56px;}
  .booking__grid{grid-template-columns:1fr; gap:20px;}
  .bookingForm__grid{grid-template-columns:1fr;}

  .testimonials{padding:58px 0 74px;}
  .testimonials__grid{grid-template-columns:1fr; gap:18px;}
  .metrics__grid{grid-template-columns:1fr 1fr; gap:20px;}

  .gallery{padding:58px 0 74px;}
  .galleryGrid{grid-template-columns:1fr 1fr;}

  .footer__grid{grid-template-columns:1fr 1fr; padding:58px 0 46px;}
  .footer__bottomInner{flex-direction:column; align-items:flex-start;}
}

@media (max-width: 520px){
  .container{width:calc(100% - 24px);}
  .brand__logo{height:46px;}
  .hero__text{font-size:15px;}
  .heroNav--prev{left:10px;}
  .heroNav--next{right:10px;}

  .metrics__grid{grid-template-columns:1fr;}

  .galleryGrid{grid-template-columns:1fr;}

  .footer__grid{grid-template-columns:1fr; gap:22px;}
}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;}
  .icon-btn,.nav__icon,.btn,.heroNav,.nav__link::after{transition:none !important;}
  .galleryFilter,.galleryItem__img,.galleryItem__cap{transition:none !important;}
  .testimonialCard{transition:none !important;}
  .footerSocial,.footer__link{transition:none !important;}
  .serviceCard__badge::after,.ringIcon{animation:none !important;}
  .btn--quote::after{transition:none !important;}
  .field__input{transition:none !important;}
}

@keyframes badgeShine{
  0%, 64%{transform:translateX(-65%) rotate(18deg);}
  72%{transform:translateX(5%) rotate(18deg);}
  80%{transform:translateX(85%) rotate(18deg);}
  100%{transform:translateX(85%) rotate(18deg);}
}

@keyframes ringPulse{
  0%, 70%, 100%{transform:scale(1);}
  78%{transform:scale(1.03);}
  86%{transform:scale(1);}
}
