
:root{--green:#0e6b44;--dark:#0b1b1d;--text:#1f2a2e;--muted:#5b6b70;--bg:#f7faf9;--white:#fff;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);}
a{color:var(--green);text-decoration:none} a:hover{text-decoration:underline}
.container{max-width:1140px;margin:0 auto;padding:16px}
.header{position:sticky;top:0;background:var(--white);border-bottom:1px solid #e6eeea;z-index:50}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:72px;width:auto} @media(max-width:640px){.logo img{height:56px}}
.nav-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.nav-links a{padding:10px 12px;border-radius:10px} .nav-links a:hover{background:#eef6f2}
.cta-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.btn{display:inline-block;padding:12px 16px;border-radius:12px;border:1px solid var(--green);background:var(--green);color:var(--white);font-weight:600}
.btn.outline{background:transparent;color:var(--green)}
.hero{display:grid;gap:18px;padding:36px 0}
.hero h1{font-size:clamp(28px,3.5vw,44px);line-height:1.1;margin:0}
.hero p.lede{font-size:clamp(16px,2.2vw,20px);color:var(--muted);margin:0}
.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--white);border:1px solid #e6eeea;border-radius:18px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.badge{background:#eef6f2;color:var(--green);padding:6px 10px;border-radius:999px;font-size:13px;border:1px solid #d9ede3}
.section{padding:28px 0} .section h2{margin:0 0 10px 0;font-size:24px}
.footer{background:var(--dark);color:#cfe1d9;margin-top:36px}
.footer a{color:#cfe1d9}
.footer .cols{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.small{font-size:13px;color:#758782}
.sticky-mobile{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:var(--white);border:1px solid #e6eeea;box-shadow:0 6px 24px rgba(0,0,0,.08);border-radius:16px;padding:8px;display:flex;gap:8px;z-index:60}
.hide-mobile{display:none} @media(min-width:760px){.sticky-mobile{display:none}.hide-mobile{display:block}}
.kicker{color:var(--green);font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:12px}
.list{padding-left:18px} figure{margin:0} header .cta-bar .btn{padding:10px 12px}

.reg-logos{display:flex;gap:12px;align-items:center;margin:8px 0 6px 0;flex-wrap:wrap}
.reg-logos img{max-height:48px;width:auto;display:block}
/* mobile polish */
@media(max-width:640px){.btn{padding:14px 16px;font-size:16px}.nav-links a{padding:12px 10px}body{font-size:16px;line-height:1.6}}

/* service page heading sizing */
main h1{font-size:clamp(22px,3vw,30px);line-height:1.25;margin:0 0 10px}

/* hero image for service pages (simple fallback-friendly) */
.hero-img{width:100%;height:220px;object-fit:cover;border-radius:12px;display:block;margin:8px 0 12px}

/* Normalize service images */
.services-section img,
.services img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

/* === Services image normalization (final override) === */
:where(.services-section, .services, .section, .container) :is(img.service-img, .service-card img) {
  width: 100% !important;
  height: auto !important;           /* neutralize fixed heights like 180px/220px */
  aspect-ratio: 16 / 9 !important;   /* consistent shape */
  object-fit: cover !important;      /* tidy crop */
  display: block;
  border-radius: 12px;               /* match main page rounded style */
  margin-bottom: 8px;                /* maintain spacing */
}

:where(.services-section, .services, .faq, .faq-section, .faq-page) :is(img.service-img, .service-card img, .faq img) {
  width: 100% !important;
  height: 180px !important;        /* match main page */
  object-fit: cover !important;
  display: block;
  border-radius: 12px;
  margin-bottom: 8px;
}

/* === Canonical service image style (matches main page) === */
.service-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  margin-bottom: 8px;
}

/* === FAQ images normalized to match cards === */
.faq img, .faq-section img, .faq-page img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  margin-bottom: 8px;
}

/* === Global image reset (safe defaults) === */
img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}


/* === Card typography & spacing tune after image removal === */
.card h2 {
  margin: 0 0 8px 0;
  line-height: 1.25;
}
.card p {
  margin: 8px 0 0 0;
  line-height: 1.6;
}
/* Ensure cards fill evenly without image blocks */
.grid.cards {
  grid-auto-rows: 1fr;
}
/* Remove stray spacing from empty logo/image containers */
.card .image, .card .media, .reg-logos:empty {
  display: none;
}


/* === Tidy FAQ/detail pages after image removal === */
.hero img, .hero .hero-img { display: none !important; }
.hero { padding-top: 12px; padding-bottom: 12px; }
.hero h1 { margin-bottom: 8px; }


/* === Mobile formatting for service cards (including Fly) === */
@media (max-width: 640px) {
  .grid.cards { 
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .card, .service-card { 
    padding: 14px; 
    border-radius: 16px;
  }
  .service-card picture, .card picture { display:block; margin:0 0 10px 0; }
  .service-card img.service-img, .card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
  }
  .service-card h2, .service-card h3, .card h2, .card h3 {
    font-size: 1.125rem;
    line-height: 1.3;
    margin: 6px 0 0 0;
  }
  .service-card p, .card p { 
    font-size: 0.95rem;
    line-height: 1.55;
  }
  .service-card a, .card a.learn-more { 
    display: inline-block;
    margin-top: 8px;
  }
}
