@font-face {
  font-family: 'Amasis';
  src: url('/Fonts/Amasis MT Regular.ttf');
}

:root{
  /* ===== Base ===== */
  --font-site: Amasis, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --radius: 14px;

  /* ===== Core background / text ===== */
  --bg0: #0b0f0c;
  --bg1: #0f1511;

  --text: #e9efe9;

  /* Your originals (you had them as white) */
  --muted: #ffffff;
  --muted2: #ffffff;

  /* ===== Brand green ===== */
  --green: #5ab401;
  --green2: #5ab401;
  --greenGlow: rgba(90, 180, 1, .30);

  /* ===== Neutrals & alphas ===== */
  --white: #ffffff;
  --black: #000000;

  /* Panels */
  --panel: rgba(255,255,255,.06);
  --panel2: rgba(255,255,255,.08);

  /* Lines / borders */
  --line: rgba(255,255,255,.14);
  --line-soft: rgba(255,255,255,.10);
  --line-softer: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.12);
  --line-stronger: rgba(255,255,255,.18);
  --line-strongest: rgba(255,255,255,.28);

  /* Shadows */
  --shadow: 0 16px 40px rgba(0,0,0,.45);
  --shadow-soft: 0 8px 18px rgba(0,0,0,.25);
  --shadow-deep: 0 14px 26px rgba(0,0,0,.35);

  /* ===== Common surfaces ===== */
  --topbar-bg: rgba(10,14,11,.74);
  --topbar-bg-mobile: rgba(10,14,11,.92);

  --footer-bg: rgba(10,14,11,.65);

  --infobar-bg: rgba(8,12,9,.85);
  --infobar-phone: rgba(233,239,233,.75);
  --infobar-phone-hover: color-mix(in srgb, var(--green) 80%, white);

  /* ===== Page background gradients ===== */
  --page-radial: radial-gradient(1200px 700px at 50% -200px, rgba(90,140,100,.25), transparent 60%);
  --page-linear: linear-gradient(180deg, var(--bg0), var(--bg1));
  --page-bg: var(--page-radial), var(--page-linear);

  /* ===== Nav ===== */
  --nav-link: var(--white);
  --nav-link-hover-bg: rgba(255,255,255,.06);
  --nav-link-hover-text: rgba(233,239,233,.95);
  --nav-link-active-text: rgba(233,239,233,.98);
  --nav-active-underline: linear-gradient(90deg, transparent, var(--green), transparent);

  /* ===== Buttons ===== */
  --btn-bg: rgba(255,255,255,.05);
  --btn-border: rgba(255,255,255,.14);
  --btn-text: rgba(233,239,233,.92);

  --btn-primary-bg: linear-gradient(180deg, var(--green), color-mix(in srgb, var(--green) 85%, black));
	--btn-primary-border: color-mix(in srgb, var(--green) 50%, white);
	--btn-primary-ring: 0 0 0 6px var(--greenGlow);

  --btn-ghost-bg: rgba(255,255,255,.08);

  --btn-light-bg: rgba(255,255,255,.92);
  --btn-light-text: #111111;
  --btn-light-border: rgba(255,255,255,.65);

  /* ===== Hero ===== */
  --hero-slide-scale: 1.03;
  --hero-overlay-a: rgba(8,12,9,.10);
  --hero-overlay-b: rgba(8,12,9,0.4);
  --hero-overlay-c: rgba(8,12,9,.05);
  --hero-overlay-d: rgba(8,12,9,0);

  --hero-overlay-top: linear-gradient(
    90deg,
    var(--hero-overlay-a) 0%,
    var(--hero-overlay-b) 30%,
    var(--hero-overlay-c) 60%,
    var(--hero-overlay-d) 100%
  );
  --hero-overlay-darken: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.15));
  --hero-overlay: var(--hero-overlay-top), var(--hero-overlay-darken);

  --hero-eyebrow: color-mix(in srgb, var(--green) 80%, white);

  --hero-arrow-bg: rgba(0,0,0,.35);
  --hero-arrow-bg-hover: rgba(0,0,0,.50);
  --hero-arrow-border: var(--line-stronger);
  --hero-arrow-text: rgba(233,239,233,.95);

  --hero-dot-bg: rgba(255,255,255,.12);
  --hero-dot-border: var(--line-strongest);
  --hero-dot-active-border: color-mix(in srgb, var(--green) 70%, white);

  /* ===== Card / tile / stat ===== */
  --card-bg: var(--panel);
  --card-border: var(--line-strong);

  --tile-bg: rgba(255,255,255,.04);
  --tile-border-base: rgba(85,85,85,1);
  --tile-border-soft: var(--line-strong);

  --tile-img-filter: saturate(1.05) contrast(1.02);
  --tile-overlay: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.72));

  /* ===== Band ===== */
  --band-top: var(--line-softer);
  --band-bottom: var(--line-softer);
  --band-overlay: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.70)),
                 radial-gradient(900px 400px at 50% 20%, rgba(70,170,95,.15), transparent 60%);

  /* ===== Misc accents ===== */
  --focus-ring: 0 0 0 5px color-mix(in srgb, var(--green) 35%, transparent);

  /* keep Amasis as your site font */
  font-family: Amasis;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: var(--font-site);
  color:var(--text);
  background: var(--page-bg);
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.container{
  width:min(1440px, calc(100% - 40px));
  margin:0 auto;
}

/* Top bar */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background: var(--topbar-bg);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line-soft);
}

.topbar__inner{
  display:flex;
  align-items:center;
  gap:18px;
  padding:14px 0;
  flex-wrap: wrap;
}

/* Page scroll area */
.page{
  width: 100%;
  height: 88%;
  overflow-y: scroll;
  scrollbar-color: rgba(255, 255, 255, .5) rgba(0, 0, 0, 0);
  scrollbar-width: thin;
  scroll-behavior: smooth;
}
.page.page--short{ height: 79%; }

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:170px;
}

.brand__logo{ width:28px; height:28px; object-fit:contain; }

.brand__text{
  font-weight:700;
  letter-spacing:.2px;
  color:rgba(233,239,233,.92);
}

.nav{
  display:flex;
  gap:18px;
  align-items:center;
  flex:1;
  justify-content:center;
}

.nav__link{
  font-size:14px;
  color: var(--nav-link);
  padding:8px 10px;
  border-radius:10px;
  transition: background .15s ease, color .15s ease;
}

.nav__link:hover{
  background: var(--nav-link-hover-bg);
  color: var(--nav-link-hover-text);
}

.nav__link.is-active{
  color: var(--nav-link-active-text);
  position:relative;
}

.nav__link.is-active::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:4px;
  height:2px;
  background: var(--nav-active-underline);
  opacity:.8;
}

.topbar__cta{ white-space:nowrap; }

.navToggle{
  display:none;
  width:44px;
  height:38px;
  border-radius:12px;
  border:1px solid var(--btn-border);
  background: var(--btn-bg);
  cursor:pointer;
}

.navToggle span{
  display:block;
  height:2px;
  width:18px;
  background:rgba(233,239,233,.9);
  margin:5px auto;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:12px;
  border:1px solid var(--btn-border);
  background: var(--btn-bg);
  color: var(--btn-text);
  font-weight:650;
  box-shadow: var(--shadow-soft);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.btn:hover{ transform: translateY(-1px); }

.btn--primary{
  background: var(--btn-primary-bg);
  border-color: var(--btn-primary-border);
  box-shadow: var(--shadow-deep), var(--btn-primary-ring);
}

.btn--ghost{ background: var(--btn-ghost-bg); }

.btn--light{
  background: var(--btn-light-bg);
  color: var(--btn-light-text);
  border-color: var(--btn-light-border);
}

.btn--pill{ border-radius:999px; }
.btn--wide{ padding:12px 22px; }
.btn__arrow{ opacity:.85; }

/* Hero */
.hero{
  position:relative;
  min-height:560px;
  border-bottom:1px solid var(--line-softer);
}

.carousel__track{
  display:flex;
  gap:24px;
}

.hero__carousel{
  position:relative;
  min-height:560px;
  overflow:hidden;
}

.hero__slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform: scale(var(--hero-slide-scale));
  transition: opacity .55s ease, transform 1.8s ease;
  will-change: opacity, transform;
}

.hero__slide.is-active{
  opacity:1;
  transform: scale(1.0);
}

.hero__overlay{
  position:relative;
  min-height:560px;
  background: var(--hero-overlay);
}

.hero__content{
  min-height:560px;
  display:flex;
  align-items:center;
}

.hero__copy{
  max-width:560px;
  padding:36px 0;
}

.hero__eyebrow{
  color: var(--hero-eyebrow);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:12px;
  min-height:16px;
}

.hero__title{
  margin:0 0 12px 0;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height:1.04;
  letter-spacing:-.02em;
  text-shadow: 0 10px 30px rgba(0,0,0,.55);
  color: var(--green);
}

.hero__subtitle{
  margin:0 0 22px 0;
  font-size:16px;
  color:var(--muted);
  max-width:520px;
  line-height:1.6;
}

.hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.hero__arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid var(--hero-arrow-border);
  background: var(--hero-arrow-bg);
  color: var(--hero-arrow-text);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:28px;
  box-shadow: var(--shadow);
  transition: background .15s ease, transform .15s ease;
}

.hero__arrow:hover{
  background: var(--hero-arrow-bg-hover);
  transform: translateY(-50%) scale(1.03);
}

.hero__arrow--prev{ left:18px; }
.hero__arrow--next{ right:18px; }

.hero__dots{
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  display:flex;
  justify-content:center;
  gap:10px;
  z-index:3;
}

.hero__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid var(--hero-dot-border);
  background: var(--hero-dot-bg);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.hero__dot.is-active{
  background: var(--green);
  border-color: var(--hero-dot-active-border);
  transform: scale(1.15);
}

/* Sections */
.section{
  padding:62px 0;
  position:relative;
}

.section__head{
  text-align:center;
  margin-bottom:28px;
}

.section__title{
  margin:0;
  font-size: clamp(26px, 2.4vw, 36px);
  letter-spacing:-.01em;
  color: var(--green);
}

.section__subtitle{
  margin:10px 0 0 0;
  color:var(--muted);
}

.section__micro{
  margin:10px auto 0;
  max-width:650px;
  color:var(--muted2);
  font-size:14px;
  line-height:1.6;
}

.section__rule{
  height:1px;
  margin:18px auto 0;
  width:min(720px, 92%);
  background:linear-gradient(90deg, transparent, var(--line), transparent);
}

.section__cta{
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.cards{
  display:grid;
  gap:16px;
  margin-top:18px;
}

.cards--3{ grid-template-columns: repeat(3, 1fr); }

.card{
  background: var(--card-bg);
  border:1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:18px 18px 16px;
  min-height:140px;
  margin: 12px;
}

.card--icon{
  text-align:center;
  padding-top:22px;
}

.card__icon{
  width:52px;
  height:52px;
  margin:0 auto 12px;
  border-radius:999px;
  background: var(--btn-primary-bg);
  box-shadow: 0 10px 22px rgba(0,0,0,.35), 0 0 0 6px rgba(70,170,95,.18);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.card__icon img{ width:26px; height:26px; object-fit:contain; }

.card__title{
  margin:0 0 8px 0;
  font-size:16px;
  letter-spacing:-.01em;
  color: var(--green);
  font-weight: 850;
}

.card__text{
  margin:0;
  color:var(--muted2);
  font-size:13px;
  line-height:1.55;
}

/* Services tiles */
.section--services{ padding-top:56px; }

.tiles{
  display:grid;
  gap:18px;
  margin-top:26px;
}

.tiles--3{ grid-template-columns: repeat(3, 1fr); }

.tile{
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid var(--tile-border-base);
  background: var(--tile-bg);
  box-shadow: var(--shadow);
  position:relative;
  min-height:220px;
  display:flex;
  align-items:flex-end;
}

.tile.tile--softBorder{ border:1px solid var(--tile-border-soft); }

.tile__img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter: var(--tile-img-filter);
  transform: scale(1.01);
}

.tile::after{
  content:"";
  position:absolute;
  inset:0;
  background: var(--tile-overlay);
}

.tile__label{
  position:relative;
  z-index:2;
  width:100%;
  padding:14px 14px;
  font-weight:750;
  letter-spacing:.2px;
  text-shadow: 0 10px 26px rgba(0,0,0,.55);
}

/* Research band */
.band{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border-top:1px solid var(--band-top);
  border-bottom:1px solid var(--band-bottom);
}

.band__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform: scale(1.02);
}

.band__overlay{
  position:absolute;
  inset:0;
  background: var(--band-overlay);
}

.band__content{
  position:relative;
  z-index:2;
  padding:62px 0;
  text-align:center;
}

.band__title{
  margin:0;
  font-size: clamp(26px, 2.6vw, 40px);
  color: var(--green);
}

.band__subtitle{
  margin:8px 0 0;
  color:var(--muted);
}

.stats{
  display:grid;
  gap:18px;
  margin:26px auto 20px;
  width:min(980px, 100%);
}

.stats--3{ grid-template-columns: repeat(3, 1fr); }

.stat{
  background: var(--card-bg);
  border:1px solid var(--card-border);
  border-radius: var(--radius);
  padding:18px 14px;
  box-shadow: var(--shadow);
}

.stat__big{
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight:800;
  letter-spacing:-.02em;
}

.stat__small{
  margin-top:6px;
  color:var(--muted2);
  font-size:13px;
}

.band__cta{ margin-top:8px; display:flex; justify-content:center; }

/* Contact */
.section--contact{
  padding:56px 0 62px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
}

.contactActions{
  display:flex;
  gap:24px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:18px;
}

/* Footer */
.footer{
  padding:16px 0;
  border-top:1px solid var(--line-soft);
  background: var(--footer-bg);
}

.footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.footer__trust{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--white);
  font-size:13px;
}

.footer__trust img{ width:22px; height:22px; object-fit:contain; opacity:.9; }

.footer__right{
  display:flex;
  gap:10px;
  align-items:center;
}

.social{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid var(--btn-border);
  background: var(--btn-bg);
  display:grid;
  place-items:center;
}

.social img{ width:16px; height:16px; opacity:.9; }

/* Info Bar */
.infobar{
  background: var(--infobar-bg);
  border-bottom:1px solid var(--line-softer);
  padding:8px 0;
}

.infobar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.infobar__phones{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.infobar__phone{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color: var(--infobar-phone);
  transition: color .15s ease;
}

.infobar__phone:hover{ color: var(--infobar-phone-hover); }
.infobar__phone svg{ opacity:.8; }

.infobar__login{
  display:flex;
  align-items:center;
  gap:8px;
}

.infobar__input{
  padding:6px 12px;
  border-radius:8px;
  border:1px solid var(--btn-border);
  background: var(--panel);
  color:var(--text);
  font-size:13px;
  width:120px;
  transition: border-color .15s ease, background .15s ease;
}

.infobar__input::placeholder{ color:rgba(233,239,233,.45); }

.infobar__input:focus{
  outline:none;
  border-color:rgba(95,205,124,.35);
  background: var(--panel2);
}

.infobar__btn{
  padding:6px 16px;
  border-radius:8px;
  border:1px solid var(--btn-primary-border);
  background: var(--btn-primary-bg);
  color:var(--btn-text);
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

.infobar__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
}

/* --- about/team (merged) --- */
.aboutIntro__media{
  display: flex;
  justify-content: center;
}

article.teamCard{
  padding: 16px;
  margin: 32px 0;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display: flex;
  gap: 8px;
}

.teamCard__top{
  flex: 0 0;
  min-width: 256px;
  box-sizing: border-box;
  padding: 8px;
  overflow: hidden;
}

.teamCard__body{
  flex: 1 1 auto;
  box-sizing: border-box;
  padding: 8px;
  overflow: hidden;
}

.teamCard__img{
  width: 100%;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.teamCard__img--fixed{ width:256px; }

.aboutIntro__img{
  box-shadow: var(--shadow);
  border-radius: 12px;
  margin: 24px 0px;
  width: 80%;
  min-width: 300px;
}

.teamCard__name{ color: var(--green2); }
.sectionHead__title{ color: var(--green); }

@media (max-width: 512px){
  article.teamCard{ flex-direction: column; }
  .teamCard__top,
  .teamCard__body{ width: 100%; }
}

/* --- Mission card --- */
.missionCard{
  position: relative;
  width: 100%;
  height: 75%;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.mission__bg{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
}

.mission__shade{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.58) 45%,
      rgba(0,0,0,.30) 100%
    );
}

.mission__content{
  position: relative;
  z-index: 2;
  height: 100%;
  width: min(1080px, 92%);
  padding: clamp(18px, 3.5vw, 36px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: rgba(255,255,255,.92);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.mission__title{
  margin: 0 0 14px 0;
  font-size: clamp(22px, 3.2vw, 42px);
  letter-spacing: 0.06em;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.05;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
  color: var(--green2);
}

.mission__content p{
  margin: 0 0 12px 0;
  font-size: clamp(13px, 1.35vw, 16px);
  line-height: 1.55;
  color: rgba(255,255,255,1);
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

.mission__tagline{
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-size: clamp(18px, 2.6vw, 34px);
  font-weight: 700;
  line-height: 1.15;
  font-family: "Segoe Script", "Brush Script MT", cursive, system-ui;
  color: rgba(255,255,255,.95);
  text-shadow: 0 2px 16px rgba(0,0,0,.55);
}

/* --- Directory layout --- */
.siteDir{
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 26px 34px;
}

.siteDir__cat{
  margin-bottom: 10px;
  font-weight: 850;
  letter-spacing: -.01em;
  color: rgba(233,239,233,.96);
  font-size: 15px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line-soft);
}

.siteDir__col{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.siteDir__link{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 10px;
  color: var(--white);
  font-size: 13px;
  transition: color .15s ease, background .15s ease, transform .15s ease;
}

.siteDir__link::before{
  content:"";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.20);
  box-shadow: 0 0 0 4px rgba(70,170,95,.10);
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.siteDir__link:hover{
  color: rgba(233,239,233,.98);
  background: rgba(255,255,255,.05);
  transform: translateY(-1px);
}

.siteDir__link:hover::before{
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(70,170,95,.18);
  transform: scale(1.05);
}

.siteDir__link:focus{ outline: none; }

.siteDir__link:focus-visible{
  background: rgba(255,255,255,.06);
  box-shadow: var(--focus-ring);
  color: rgba(233,239,233,.98);
}

@media (max-width: 980px){
  .siteDir{ grid-template-columns: repeat(2, minmax(200px, 1fr)); }
}

@media (max-width: 520px){
  .siteDir{ grid-template-columns: 1fr; }
}

/* --- Subnav --- */
.subnav{
  flex-basis: 100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding: 12px 24px;

  flex-wrap: nowrap;
  overflow-x: auto;

  animation: subnavIn .42s ease-out both;
  transform-origin: top center;

  scrollbar-width: none;

  -webkit-mask-image: linear-gradient(90deg, transparent, #000 22px, #000 calc(100% - 22px), transparent);
          mask-image: linear-gradient(90deg, transparent, #000 22px, #000 calc(100% - 22px), transparent);
}

.subnav__link{
  flex: 0 0 auto;
  font-size: 13px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255,255,255,.04);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  white-space: nowrap;
}

.subnav__link:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.07);
  border-color: rgba(120, 220, 145, .22);
  color: rgba(233,239,233,.92);
}

.subnav__link.is-active{
  background: linear-gradient(180deg, rgba(64,150,82,.22), rgba(255,255,255,.04));
  border-color: rgba(95,205,124,.22);
  color: rgba(233,239,233,.96);
}

/* also support old class name */
.subnav__link.active{ background-color: var(--green); }

@keyframes subnavIn{
  from{
    opacity: 0;
    transform: translateY(-8px) scale(.98);
    filter: blur(4px);
  }
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* --- Soft section + action cards --- */
.section--soft{
  background:
    radial-gradient(900px 500px at 50% 0px, rgba(110,170,120,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
}

.program__title {
	color: var(--green);
}

.bottomLine__title {
	color: var(--green);
}

.cards--action{ margin-top: 18px; }

.card--action{
  display:block;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.card--action::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(520px 170px at 50% 0px, rgba(70,170,95,.14), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  opacity:.85;
  pointer-events:none;
}

.card--action > *{ position:relative; z-index:1; }

.card--action:hover{
  transform: translateY(-2px);
  border-color: rgba(120, 220, 145, .22);
  background: rgba(255,255,255,.07);
}

.card--accent{
  background:
    linear-gradient(180deg, rgba(64,150,82,.16), rgba(255,255,255,.04));
  border-color: rgba(95,205,124,.22);
}

.card--accent::before{
  background:
    radial-gradient(560px 190px at 50% 0px, rgba(120, 220, 145, .22), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}

.card__kicker {
	color: var(--green);
}

/* ===== Locations ===== */
.locationBlock{ margin-top: 32px; }

.locationBlock__title{
  text-align: center;
  margin: 0 0 16px;
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -.01em;
  color: var(--green);
}

.locationGrid{
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
}

.locationCard{
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px 18px;
}

.locationCard.head{
  background: linear-gradient(160deg, rgba(64, 150, 82, 0.4), rgba(64, 150, 82, 0.15));
}

.locationCard h4{
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.locationCard p{
  margin: 0;
  color: var(--muted2);
  font-size: 13px;
  line-height: 1.55;
}

@media (min-width: 900px){
  .locationGrid{ grid-template-columns: repeat(3, 1fr); }
}

/* Responsive (single @media, no nesting/duplicates) */
@media (max-width: 980px){
  .infobar__inner{
    flex-direction:column;
    gap:12px;
  }
  .infobar__phones{
    gap:12px;
    font-size:12px;
  }
  .infobar__login{
    width:100%;
    justify-content:center;
  }
  .infobar__input{
    flex:1;
    max-width:140px;
  }

  .cards--3, .tiles--3, .stats--3{ grid-template-columns: 1fr; }

  .nav{
    display:none;
    position:absolute;
    left:20px;
    right:20px;
    top:64px;
    background: var(--topbar-bg-mobile);
    border:1px solid var(--line-strong);
    border-radius: 16px;
    padding:10px;
    box-shadow: var(--shadow);
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }

  .nav.is-open{ display:flex; }
  .nav__link{ padding:12px 12px; }
  .navToggle{ display:inline-block; margin-left:auto; }
  .topbar__cta{ display:none; }

  .hero__arrow{ display:none; }
  .hero__overlay{
    background: linear-gradient(180deg, rgba(8,12,9,.65), rgba(8,12,9,.75));
  }
}


/* ===== Services carousel (scoped) ===== */
#servicesCarousel{
  position: relative;
}

/* viewport hides overflow; track moves */
#servicesCarousel .carousel__viewport{
  overflow: hidden;
}

/* turn the grid into a horizontal track ONLY inside the carousel */
#servicesCarousel .carousel__track{
  display: flex;                 /* overrides .tiles grid */
  gap: 18px;                     /* reuse your tile gap */
  margin-top: 26px;              /* match .tiles margin-top */
  padding: 0;                    /* keep clean */
  transform: translateX(0);
  transition: transform .35s ease;
  will-change: transform;
}

/* each "page" shows 3 tiles across on desktop */
#servicesCarousel .carousel__slide{
  flex: 0 0 calc((100% - (18px * 2)) / 3); /* 3-wide with 2 gaps */
  min-height: 220px;                       /* keep your existing tile height */
}

/* arrows match your hero vibe, but scoped */
#servicesCarousel .carousel__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--hero-arrow-border);
  background: var(--hero-arrow-bg);
  color: var(--hero-arrow-text);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 28px;
  box-shadow: var(--shadow);
  transition: background .15s ease, transform .15s ease;
  z-index: 5;
}

#servicesCarousel .carousel__arrow:hover{
  background: var(--hero-arrow-bg-hover);
  transform: translateY(-50%) scale(1.03);
}

#servicesCarousel .carousel__arrow--prev{ left: 10px; }
#servicesCarousel .carousel__arrow--next{ right: 10px; }

/* dots match hero, but scoped */
#servicesCarousel .carousel__dots{
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

#servicesCarousel .carousel__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--hero-dot-border);
  background: var(--hero-dot-bg);
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

#servicesCarousel .carousel__dot.is-active{
  background: var(--green);
  border-color: var(--hero-dot-active-border);
  transform: scale(1.15);
}

/* responsive: 1 wide on mobile */
@media (max-width: 980px){
  #servicesCarousel .carousel__slide{
    flex: 0 0 100%;
  }
  #servicesCarousel .carousel__arrow{
    display: none; /* matches your hero behavior */
  }
}