:root{
  --primary:#0B3C5D;
  --secondary:#00AEEF;
  --accent:#28C76F;
  --bg:#F4FAFF;
  --soft:#F5F9FC;
  --text:#0f172a;
  --muted:#475569;
  --border:rgba(15,23,42,.12);
  --shadow:0 18px 50px rgba(2, 18, 35, .12);
  --shadowSoft:0 10px 30px rgba(2, 18, 35, .10);
  --radius:16px;
  --radiusSm:12px;
  --container:1160px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}

.skip-link{
  position:absolute;left:-999px;top:10px;
  background:var(--primary);color:#fff;
  padding:10px 12px;border-radius:10px;
  z-index:1000;
}
.skip-link:focus{left:10px}

.container{
  width:min(var(--container), calc(100% - 40px));
  margin-inline:auto;
}

.section{padding:90px 0}
.section--soft{background:var(--soft)}

.sectionHead{max-width:760px}
.sectionHead__title{
  margin:0 0 10px;
  font-size:clamp(1.55rem, 2.2vw, 2.2rem);
  letter-spacing:-.02em;
}
.sectionHead__subtitle{margin:0;color:var(--muted)}

.header{position:sticky;top:0;z-index:999}
.nav{
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid rgba(15,23,42,.06);
  transition:box-shadow .25s ease, background .25s ease;
}
.nav.is-scrolled{
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 30px rgba(2, 18, 35, .10);
}
.nav__inner{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.brand{display:flex;align-items:center;gap:10px}
.brand__mark{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, var(--secondary), var(--primary));
  color:#fff;font-weight:700;
  box-shadow:0 12px 24px rgba(0, 174, 239, .18);
}
.brand__name{font-weight:700;letter-spacing:-.01em}
.brand--footer .brand__mark{width:42px;height:42px}

.nav__menu{display:flex;align-items:center;gap:18px}
.nav__link{
  font-weight:500;
  color:rgba(15,23,42,.78);
  padding:10px 10px;
  border-radius:12px;
  transition:background .2s ease,color .2s ease;
}
.nav__link:hover{background:rgba(0,174,239,.10);color:var(--primary)}
.nav__link--cta{
  background:linear-gradient(135deg, rgba(0,174,239,.16), rgba(40,199,111,.12));
  border:1px solid rgba(0,174,239,.20);
}
.nav__link--cta:hover{background:rgba(0,174,239,.14)}

.nav__toggle{
  display:none;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.7);
}
.nav__toggleLines{
  display:block;width:18px;height:12px;margin:auto;
  background:
    linear-gradient(#0f172a,#0f172a) 0 0/100% 2px,
    linear-gradient(#0f172a,#0f172a) 0 50%/100% 2px,
    linear-gradient(#0f172a,#0f172a) 0 100%/100% 2px;
  background-repeat:no-repeat;
  opacity:.86;
}

/* HERO */
.hero{
  padding:110px 0 90px;
  position:relative;
  overflow:hidden;
  background-color:var(--bg);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('./images/background.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}

/* Different hero background images per page so pages don't look like each other */
.hero[aria-label="Housekeeping Hero"]::before{
  background-image:url('./images/housekeeping.avif');
  background-position:center;
}

.hero[aria-label="Choose Service"]::before{
  background-image:url('./images/indexbackground.png');
  background-position:center;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 10% 10%, rgba(0,174,239,.18), transparent 60%),
    radial-gradient(900px 420px at 90% 10%, rgba(40,199,111,.14), transparent 55%),
    linear-gradient(180deg, rgba(11,60,93,.10), transparent 55%),
    linear-gradient(180deg, rgba(0,174,239,.10), rgba(244,250,255,.55));
  z-index:1;
  pointer-events:none;
}

/* Slightly different tint for Housekeeping hero to avoid nursing-like feel */
.hero[aria-label="Housekeeping Hero"]::after{
  background:
    radial-gradient(900px 420px at 10% 10%, rgba(40,199,111,.22), transparent 60%),
    radial-gradient(900px 420px at 90% 10%, rgba(0,174,239,.18), transparent 55%),
    linear-gradient(180deg, rgba(0,174,239,.08), transparent 55%),
    linear-gradient(180deg, rgba(40,199,111,.08), rgba(244,250,255,.68));
}

/* Medical-style theme for Choose Service page */
.hero[aria-label="Choose Service"]::after{
  background:
    radial-gradient(900px 420px at 10% 10%, rgba(0,174,239,.28), transparent 60%),
    radial-gradient(900px 420px at 90% 10%, rgba(11,60,93,.18), transparent 55%),
    linear-gradient(180deg, rgba(11,60,93,.14), transparent 55%),
    linear-gradient(180deg, rgba(0,174,239,.10), rgba(244,250,255,.78));
}

.hero[aria-label="Choose Service"] .pill{
  background:rgba(0,174,239,.10);
  border-color:rgba(0,174,239,.22);
  color:rgba(11,60,93,.92);
}

.hero[aria-label="Choose Service"] .hero__title{
  font-size:clamp(2.2rem, 3.6vw, 3.6rem);
  line-height:1.1;
}

.hero[aria-label="Choose Service"] .hero__subtitle{
  max-width:70ch;
  font-size:1.02rem;
}

.hero[aria-label="Choose Service"] .chooseOptions,
#choose .chooseOptions{
  margin-top:18px;
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  padding:14px 14px;
  border-radius:24px;
  border:1px solid rgba(0,174,239,.22);
  background:linear-gradient(180deg, rgba(0,174,239,.08), rgba(244,250,255,.78));
  box-shadow:0 18px 40px rgba(2,18,35,.06);
}

#choose .chooseOptions .btn,
.hero[aria-label="Choose Service"] .chooseOptions .btn{
  padding:14px 20px;
  border-radius:18px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

#choose .chooseOptions .btn:hover,
.hero[aria-label="Choose Service"] .chooseOptions .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(2,18,35,.12);
}

@media (max-width: 520px){
  #choose .chooseOptions,
  .hero[aria-label="Choose Service"] .chooseOptions{
    padding:12px;
  }
  #choose .chooseOptions .btn,
  .hero[aria-label="Choose Service"] .chooseOptions .btn{
    width:100%;
  }
}

.hero .hero__grid{
  position:relative;
  z-index:2;
}
.hero__grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:center;
}
.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 26px rgba(2, 18, 35, .06);
  color:rgba(15,23,42,.76);
  font-weight:500;
}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(40,199,111,.18)}
.hero__title{
  margin:16px 0 10px;
  font-size:clamp(2.0rem, 3.2vw, 3.3rem);
  line-height:1.12;
  letter-spacing:-.03em;
}
.hero__subtitle{margin:0 0 22px;color:var(--muted);max-width:54ch}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid transparent;
  font-weight:600;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  cursor:pointer;
  user-select:none;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background:linear-gradient(135deg, var(--secondary), #1b83ff);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,174,239,.22);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,174,239,.28)}
.btn--ghost{
  background:rgba(255,255,255,.72);
  border-color:rgba(15,23,42,.10);
  color:rgba(15,23,42,.82);
}
.btn--ghost:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(2, 18, 35, .10)}
.btn--dark{
  background:rgba(11,60,93,.92);
  color:#fff;
  box-shadow:0 14px 28px rgba(11,60,93,.22);
}
.btn--dark:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(11,60,93,.28)}
.btn--accent{
  background:linear-gradient(135deg, var(--accent), #1fbf86);
  color:#08311c;
  box-shadow:0 14px 28px rgba(40,199,111,.22);
}
.btn--accent:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(40,199,111,.26)}
.btn--full{width:100%}

.hero__trust{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:12px}
.trustItem{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px 12px;border-radius:16px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(15,23,42,.08);
}
.trustItem__icon{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(11,60,93,.12);
  color:var(--primary);font-weight:700;
}
.trustItem__icon--blue{background:rgba(0,174,239,.16);color:#056b9b}
.trustItem__icon--green{background:rgba(40,199,111,.18);color:#0a6a3b}

.trustItem__icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.trustItem__text strong{display:block;font-size:.95rem}
.trustItem__text span{display:block;color:var(--muted);font-size:.82rem}

.heroCard{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.heroCard__bg{
  position:absolute;inset:-40% -40%;
  background:
    radial-gradient(circle at 35% 25%, rgba(0,174,239,.40), transparent 56%),
    radial-gradient(circle at 70% 65%, rgba(40,199,111,.28), transparent 62%);
  filter:blur(20px);
}
.heroCard__img{position:relative;aspect-ratio:4/3;object-fit:cover;transform:scale(1.03)}
.heroCard__badge{
  position:absolute;left:18px;bottom:18px;
  display:flex;gap:10px;align-items:center;
  padding:10px 12px;border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.10);
  backdrop-filter:blur(10px);
  box-shadow:0 18px 40px rgba(2,18,35,.12);
}
.heroCard__badge--right{left:auto;right:18px;bottom:auto;top:18px}
.heroCard__badgeIcon{
  width:38px;height:38px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(0,174,239,.14);
}
.heroCard__badgeIcon--green{background:rgba(40,199,111,.18)}
.heroCard__badgeText strong{display:block}
.heroCard__badgeText span{display:block;font-size:.82rem;color:var(--muted)}

.glassRow{
  margin-top:14px;
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.glassStat{
  padding:14px 14px;border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.glassStat__label{color:var(--muted);font-size:.82rem}
.glassStat__value{font-weight:700;letter-spacing:-.02em}

/* SERVICES */
.servicesSplit{
  margin-top:28px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.svcPane{
  border-radius:24px;
  padding:26px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadowSoft);
  border:1px solid rgba(15,23,42,.08);
}
.svcPane::before{
  content:"";
  position:absolute;inset:-40% -40%;
  background:radial-gradient(circle at 25% 25%, rgba(255,255,255,.9), transparent 55%);
  opacity:.6;
  pointer-events:none;
}
.svcPane--light{
  background:linear-gradient(180deg, rgba(0,174,239,.14), rgba(245,249,252,1));
}
.svcPane--dark{
  background:linear-gradient(180deg, rgba(11,60,93,1), rgba(9,45,70,1));
  border-color:rgba(255,255,255,.10);
}
.svcPane__head{position:relative}
.svcPane__title{margin:0;font-size:1.35rem;letter-spacing:-.02em}
.svcPane__desc{margin:10px 0 0;color:var(--muted)}
.svcPane--dark .svcPane__title{color:#fff}
.svcPane--dark .svcPane__desc{color:rgba(255,255,255,.72)}

.svcGrid{
  position:relative;
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.svcCard{
  border-radius:var(--radiusSm);
  padding:14px 14px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(10px);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  min-height:120px;
}
.svcCard:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(2,18,35,.12);
  border-color:rgba(0,174,239,.30);
}
.svcCard__icon{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(0,174,239,.16);
  margin-bottom:10px;
}

.svcCard__icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.svcCard__title{margin:0 0 6px;font-size:1.02rem;letter-spacing:-.01em}
.svcCard__text{margin:0;color:var(--muted);font-size:.88rem}

.svcCard--dark{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.12);
}
.svcCard--dark:hover{
  border-color:rgba(40,199,111,.35);
  box-shadow:0 22px 44px rgba(0,0,0,.22);
}
.svcCard--dark .svcCard__icon{background:rgba(40,199,111,.16)}
.svcCard--dark .svcCard__title{color:#fff}
.svcCard--dark .svcCard__text{color:rgba(255,255,255,.74)}

.svcPane__actions{position:relative;margin-top:16px}

/* WHY + STATS */
.whyGrid{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}
.featureCard{
  border-radius:20px;
  padding:18px 18px;
  background:var(--bg);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.featureCard:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(2,18,35,.12)}
.featureCard__icon{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(11,60,93,.12);
  color:var(--primary);
  margin-bottom:12px;
  font-weight:700;
}
.featureCard__icon--blue{background:rgba(0,174,239,.16);color:#056b9b}
.featureCard__icon--green{background:rgba(40,199,111,.18);color:#0a6a3b}

.featureCard__icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.featureCard__title{margin:0 0 8px;letter-spacing:-.02em}
.featureCard__text{margin:0;color:var(--muted)}

.statsRow{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.statCard{
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(245,249,252,1));
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.statCard__value{
  font-size:2rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--primary);
}
.statCard__suffix{opacity:.8;font-weight:800}
.statCard__label{color:var(--muted);margin-top:4px}

/* FORMS */
.twoCol{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}
.twoCol__title{margin:0 0 10px;font-size:1.8rem;letter-spacing:-.02em}
.twoCol__text{margin:0;color:var(--muted);max-width:52ch}
.contactStrip{margin-top:18px;display:grid;gap:12px}
.contactStrip__item{
  display:flex;gap:12px;align-items:center;
  padding:14px;border-radius:18px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.contactStrip__icon{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(11,60,93,.12);
}
.contactStrip__icon--blue{background:rgba(0,174,239,.16)}

.contactStrip__icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.contactStrip__label{color:var(--muted);font-size:.82rem}
.contactStrip__value{font-weight:700}

.formCard{
  border-radius:24px;
  padding:22px;
  background:var(--bg);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadowSoft);
}
.formCard__head{margin-bottom:14px}
.formCard__title{margin:0;letter-spacing:-.02em}
.formCard__sub{margin:6px 0 0;color:var(--muted)}

.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field__label{font-size:.86rem;color:rgba(15,23,42,.72);font-weight:500}
.field__input{
  height:46px;
  border-radius:14px;
  padding:10px 12px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(245,249,252,.7);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
select.field__input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, rgba(15,23,42,.62) 50%),linear-gradient(135deg, rgba(15,23,42,.62) 50%, transparent 50%);background-position:calc(100% - 18px) 20px, calc(100% - 12px) 20px;background-size:6px 6px, 6px 6px;background-repeat:no-repeat;padding-right:34px}
.field__input:focus{
  border-color:rgba(0,174,239,.55);
  box-shadow:0 0 0 5px rgba(0,174,239,.14);
  background:var(--bg);
}
.field__file{padding:10px 12px;height:auto}
.field__help{color:var(--muted);font-size:.82rem}
.formHint{margin:12px 0 0;color:var(--muted);font-size:.86rem}
.formAlert{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(40,199,111,.14);
  border:1px solid rgba(40,199,111,.24);
  color:#06341d;
  display:none;
}
.formAlert.is-error{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.25);
  color:#3a0b0b;
}
.formAlert.is-show{display:block}

/* CAREER */
.careerGrid{
  margin-top:24px;
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap:18px;
  align-items:start;
}
.careerPitch__card{
  border-radius:24px;
  padding:22px;
  background:linear-gradient(135deg, rgba(11,60,93,1), rgba(0,174,239,.18));
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 54px rgba(2,18,35,.18);
}
.careerPitch__title{margin:0 0 10px;letter-spacing:-.02em}
.careerPitch__text{margin:0 0 14px;color:rgba(255,255,255,.78)}
.ticks{margin:0;padding-left:18px;color:rgba(255,255,255,.88)}
.ticks li{margin:10px 0}

/* TESTIMONIALS */
.tGrid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.tCard{
  border-radius:22px;
  padding:18px;
  background:var(--bg);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.tCard__top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.tStars{color:#f59e0b;font-weight:800;letter-spacing:.1em}
.tPerson strong{display:block}
.tPerson span{display:block;font-size:.85rem;color:var(--muted)}
.tCard__text{margin:0;color:rgba(15,23,42,.78)}

.videoRow{
  margin-top:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.videoCard{
  border-radius:22px;
  overflow:hidden;
  background:var(--bg);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.videoCard__frame{aspect-ratio:16/9}
.videoCard__frame iframe{width:100%;height:100%;border:0}
.videoCard__frame video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.videoCard__meta{padding:14px 16px}
.videoCard__meta span{display:block;color:var(--muted);font-size:.86rem}

/* LOCATION */
.locGrid{
  margin-top:24px;
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap:14px;
  align-items:stretch;
}
.locCard{
  border-radius:24px;
  padding:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,249,252,1));
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
}
.locCard__title{margin:0 0 10px;letter-spacing:-.02em}
.locCard__text{margin:8px 0;color:rgba(15,23,42,.80)}
.locActions{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}
.mapCard{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(2,18,35,.08);
  background:var(--bg);
  height:100%;
  min-height:320px;
}
.mapCard iframe{width:100%;height:100%;border:0}

/* ABOUT (Founder) */
.founderPhotoWrap{margin-top:12px}
.founderPhoto{
  width:100%;
  max-width:320px;
  height:auto;
  border-radius:18px;
  box-shadow:0 16px 34px rgba(2,18,35,.10);
  object-fit:cover;
}
.founderName{
  margin:10px 0 6px;
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.founderCaption{margin-top:10px}

/* FOOTER */
.footer{
  background:linear-gradient(180deg, rgba(11,60,93,1), rgba(9,45,70,1));
  color:rgba(255,255,255,.86);
  padding:60px 0 26px;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.35fr .8fr 1.05fr;
  gap:24px;
}
.footer__text{color:rgba(255,255,255,.72);margin:12px 0 14px}
.footer__title{margin:0 0 12px;color:#fff}
.footer__col a{display:block;padding:8px 0;color:rgba(255,255,255,.76)}
.footer__col a:hover{color:#fff}
.footer__meta{display:grid;gap:10px;color:rgba(255,255,255,.76)}
.social{display:flex;gap:10px;flex-wrap:wrap}
.social__link{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  transition:transform .2s ease, background .2s ease;
}
.social__link:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.footer__bottom{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.70);
  font-size:.92rem;
}
.footer__top{color:#fff}
.footer__top:hover{text-decoration:underline}

/* FLOATING WHATSAPP */
.fab{
  position:fixed;
  right:18px;
  bottom:18px;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid rgba(40,199,111,.28);
  background:linear-gradient(135deg, rgba(40,199,111,1), rgba(0,174,239,.55));
  color:#072a18;
  font-weight:700;
  box-shadow:0 22px 46px rgba(2,18,35,.18);
  cursor:pointer;
  z-index:998;
}
.fab:hover{transform:translateY(-2px)}

/* REVEAL ANIMATIONS */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
  will-change:opacity, transform;
}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none;transform:none;opacity:1}
  .btn,.featureCard,.svcCard,.social__link,.fab{transition:none}
}

/* RESPONSIVE */
@media (max-width: 980px){
  .hero__grid{grid-template-columns:1fr;gap:24px}
  .hero__trust{grid-template-columns:1fr;gap:10px}
  .servicesSplit{grid-template-columns:1fr}
  .whyGrid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .twoCol{grid-template-columns:1fr}
  .careerGrid{grid-template-columns:1fr}
  .tGrid{grid-template-columns:1fr}
  .videoRow{grid-template-columns:1fr}
  .locGrid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
}

@media (max-width: 860px){
  .nav__toggle{display:inline-grid;place-items:center}
  .nav__menu{
    position:fixed;
    inset:72px 14px auto 14px;
    border-radius:22px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    border:1px solid rgba(15,23,42,.10);
    box-shadow:0 30px 70px rgba(2,18,35,.18);
    padding:12px;
    display:grid;
    gap:4px;
    transform:translateY(-14px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav__menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}
  .nav__link{padding:12px 12px}
}

@media (max-width: 520px){
  .section{padding:78px 0}
  .hero{padding:96px 0 78px}
  .hero::before{background-position:center top}
  .svcPane{padding:18px}
  .svcGrid{gap:10px}
  .formCard{padding:18px}
  .formGrid{grid-template-columns:1fr}
  .glassRow{grid-template-columns:1fr}
}
