/* EastTech site shell: white canvas, shared tokens, focus and motion. */
:root {
  /* Default shell: one step darker than legacy slate-700/500 for sharper body + captions */
  --et-color-text: #1e293b;
  --et-color-text-muted: #475569;
  --et-color-primary: #1e40af;
  --et-color-accent: #06b6d4;
  --et-color-surface: #ffffff;
  --et-color-border: #cbd5e1;
  --et-radius-sm: 0.5rem;
  --et-radius-md: 0.75rem;
  --et-radius-lg: 1rem;
  /* 8px layout grid — use for spacing in this file (Tailwind pages use 4/8-based scale in parallel) */
  --et-grid-unit: 8px;
  --et-space-1: calc(var(--et-grid-unit) * 1);
  --et-space-2: calc(var(--et-grid-unit) * 2);
  --et-space-3: calc(var(--et-grid-unit) * 3);
  --et-space-4: calc(var(--et-grid-unit) * 4);
  --et-space-5: calc(var(--et-grid-unit) * 5);
  --et-space-6: calc(var(--et-grid-unit) * 6);
  --et-space-8: calc(var(--et-grid-unit) * 8);
  /* Fluid gutter aligned to grid (pairs with max-w-7xl + px-6 in HTML) */
  --et-shell-gutter: clamp(var(--et-space-3), 3.5vw, var(--et-space-6));
  --et-touch-min: calc(var(--et-grid-unit) * 5.5);
  --et-focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #1d4ed8, 0 0 0 6px rgba(29, 78, 216, 0.22);
  --et-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --et-shadow-md: 0 4px 20px rgba(15, 23, 42, 0.08);
  /* Trusted Hardware strip — premium depth (ambient + hairline + lift) */
  --et-trusted-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --et-trusted-tile-dark-shadow:
    0 1px 0 rgba(255, 255, 255, 0.09) inset,
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 3px 8px rgba(0, 0, 0, 0.38),
    0 22px 48px -18px rgba(0, 0, 0, 0.62),
    0 0 40px -18px rgba(6, 182, 212, 0.08);
  --et-trusted-tile-dark-hover:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 0 0 1px rgba(6, 182, 212, 0.22) inset,
    0 8px 20px rgba(0, 0, 0, 0.42),
    0 26px 56px -14px rgba(6, 182, 212, 0.22),
    0 28px 52px -20px rgba(0, 0, 0, 0.58),
    0 0 52px -8px rgba(6, 182, 212, 0.18);
  --et-trusted-tile-light-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 0 0 1px rgba(15, 23, 42, 0.05) inset,
    0 2px 4px rgba(15, 23, 42, 0.05),
    0 18px 42px -16px rgba(15, 23, 42, 0.16),
    0 0 48px -24px rgba(37, 99, 235, 0.12);
  --et-trusted-tile-light-hover:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 0 0 1px rgba(37, 99, 235, 0.12) inset,
    0 10px 28px -8px rgba(37, 99, 235, 0.14),
    0 22px 48px -18px rgba(15, 23, 42, 0.14),
    0 0 56px -12px rgba(37, 99, 235, 0.16);
  /* Sitewide motion + depth (pairs with transitionTimingFunction.et-out in Tailwind) */
  --et-premium-ease: cubic-bezier(0.16, 1, 0.3, 1);
  /* Homepage-aligned premium theme (inner pages + utilities — same values as #root [data-et-page='home']) */
  --et-theme-navy: #07111f;
  --et-theme-navy-mid: #0f172a;
  --et-theme-cyan: #00c8e8;
  --et-theme-cyan-line: #7aeefc;
  --et-theme-blue: #2448d8;
  --et-theme-body-on-dark: #e2e9f2;
  --et-theme-muted-on-dark: #9aa8bc;
  --et-theme-r-btn: 14px;
  --et-theme-r-card: 18px;
  --et-theme-section-y: clamp(3.5rem, 6vw, 5rem);
}

/* Desktop (lg+): shared vertical-rhythm steps — used by site-issues desktop pass */
@media (min-width: 1024px) {
  :root {
    --et-desktop-section-12: 3.5rem;
    --et-desktop-section-14: 4.25rem;
    --et-desktop-section-16: 5rem;
    --et-desktop-section-18: 5.5rem;
    --et-desktop-section-20: 6rem;
    --et-desktop-section-24: 7rem;
    --et-desktop-section-32: 8.5rem;
    --et-desktop-hero-y: 6.75rem;
    --et-theme-section-y: clamp(4rem, 5.5vw, 5.75rem);
  }
}

@media (prefers-contrast: more) {
  :root {
    --et-color-text: #0f172a;
    --et-color-text-muted: #334155;
    --et-color-border: #94a3b8;
    --et-focus-ring: 0 0 0 3px #ffffff, 0 0 0 5px #1e3a8a, 0 0 0 7px rgba(30, 58, 138, 0.35);
  }
}

html {
  overflow-x: clip;
  min-height: 100%;
  background-color: #ffffff;
  background-image: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* Fixed header + in-page anchors — comfortable offset on tall UHD viewports */
  scroll-padding-top: clamp(4.25rem, 8vh + 1rem, 7.5rem);
}

body {
  overflow-x: clip;
  min-height: 100dvh;
  background-color: #ffffff;
  background-image: none;
  color: var(--et-color-text);
  color-scheme: only light;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings:
    'kern' 1,
    'liga' 1,
    'calt' 1;
  font-synthesis: none;
}

/* Inner pages ship `body.text-slate-700` — align default ink with shell tokens for clarity */
body.text-slate-700 {
  color: var(--et-color-text) !important;
}

#root ::selection {
  background-color: rgba(37, 99, 235, 0.2);
  color: #0f172a;
}

#root {
  min-height: 100%;
  background-color: #fafbfc;
  background-image:
    radial-gradient(ellipse 85% 55% at 50% -18%, rgba(37, 99, 235, 0.055), transparent 58%),
    radial-gradient(ellipse 50% 42% at 100% 8%, rgba(6, 182, 212, 0.04), transparent 52%),
    radial-gradient(ellipse 45% 35% at 0% 75%, rgba(37, 99, 235, 0.025), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 36%, #fbfcfd 100%);
}

@media (min-width: 1920px) {
  #root {
    background-image:
      radial-gradient(ellipse 92% 58% at 50% -16%, rgba(37, 99, 235, 0.065), transparent 60%),
      radial-gradient(ellipse 58% 48% at 100% 6%, rgba(6, 182, 212, 0.048), transparent 54%),
      radial-gradient(ellipse 52% 40% at 0% 72%, rgba(37, 99, 235, 0.034), transparent 58%),
      linear-gradient(180deg, #f6f8fc 0%, #ffffff 38%, #fafcfd 100%),
      radial-gradient(ellipse 140% 90% at 50% 108%, rgba(37, 99, 235, 0.03), transparent 56%);
  }
}

@media (min-width: 2560px) {
  #root {
    background-image:
      radial-gradient(ellipse 98% 62% at 50% -14%, rgba(37, 99, 235, 0.072), transparent 62%),
      radial-gradient(ellipse 62% 52% at 100% 4%, rgba(6, 182, 212, 0.052), transparent 56%),
      radial-gradient(ellipse 56% 44% at 0% 70%, rgba(37, 99, 235, 0.038), transparent 60%),
      linear-gradient(180deg, #f4f7fb 0%, #ffffff 40%, #f8fafc 100%),
      radial-gradient(ellipse 150% 95% at 50% 110%, rgba(37, 99, 235, 0.034), transparent 58%);
  }
}

@media (min-width: 3840px) {
  #root {
    background-image:
      radial-gradient(ellipse 100% 64% at 50% -12%, rgba(37, 99, 235, 0.078), transparent 64%),
      radial-gradient(ellipse 68% 56% at 100% 2%, rgba(6, 182, 212, 0.055), transparent 58%),
      radial-gradient(ellipse 60% 48% at 0% 68%, rgba(37, 99, 235, 0.042), transparent 62%),
      linear-gradient(180deg, #f2f6fb 0%, #ffffff 42%, #f7fafc 100%),
      radial-gradient(ellipse 160% 100% at 50% 112%, rgba(37, 99, 235, 0.038), transparent 60%);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

[data-static-shell="true"] {
  width: 100%;
  /* 100% avoids horizontal scrollbar from vw + vertical scrollbar (mobile + some desktop) */
  max-width: 100%;
  margin-inline: auto;
  background-color: #ffffff;
}

/* -------------------------------------------------------------------------- */
/* Ultra-wide & 4K UHD — wider shell rails, editorial max width, crisp type */
/* Tailwind max-w-7xl = 80rem (1280px); below scales shell without stretching prose columns that use max-w-3xl/4xl */
/* -------------------------------------------------------------------------- */
@media (min-width: 1536px) {
  #root .max-w-7xl {
    max-width: min(94vw, 90rem) !important;
  }

  #root .max-w-6xl {
    max-width: min(90vw, 80rem) !important;
  }

  #root .max-w-5xl {
    max-width: min(86vw, 72rem) !important;
  }
}

@media (min-width: 1920px) {
  #root .max-w-7xl {
    max-width: min(93vw, 100rem) !important;
  }

  #root .max-w-6xl {
    max-width: min(90vw, 88rem) !important;
  }

  #root .max-w-5xl {
    max-width: min(87vw, 80rem) !important;
  }

  .et-minimal-site-header__inner {
    max-width: min(93vw, 100rem);
  }

  header[data-site-header='true'] > div.max-w-7xl {
    padding-inline: max(2rem, env(safe-area-inset-left, 0px)) max(2rem, env(safe-area-inset-right, 0px));
  }

  #root footer.et-site-footer > .max-w-7xl {
    padding-inline: clamp(1.35rem, 2.6vw, 2.35rem);
  }
}

@media (min-width: 2560px) {
  #root .max-w-7xl {
    max-width: min(92vw, 112rem) !important;
  }

  #root .max-w-6xl {
    max-width: min(89vw, 96rem) !important;
  }

  #root .max-w-5xl {
    max-width: min(86vw, 88rem) !important;
  }

  .et-minimal-site-header__inner {
    max-width: min(92vw, 112rem);
  }

  header[data-site-header='true'] > div.max-w-7xl {
    padding-inline: max(2.5rem, env(safe-area-inset-left, 0px)) max(2.5rem, env(safe-area-inset-right, 0px));
  }

  #root footer.et-site-footer > .max-w-7xl {
    padding-inline: clamp(1.5rem, 2.4vw, 2.75rem);
  }
}

@media (min-width: 3840px) {
  #root .max-w-7xl {
    max-width: min(90vw, 120rem) !important;
  }

  #root .max-w-6xl {
    max-width: min(88vw, 104rem) !important;
  }

  #root .max-w-5xl {
    max-width: min(85vw, 96rem) !important;
  }

  .et-minimal-site-header__inner {
    max-width: min(90vw, 120rem);
  }

  header[data-site-header='true'] > div.max-w-7xl {
    padding-inline: max(3rem, env(safe-area-inset-left, 0px)) max(3rem, env(safe-area-inset-right, 0px));
  }

  #root footer.et-site-footer > .max-w-7xl {
    padding-inline: clamp(1.75rem, 2.2vw, 3.25rem);
  }
}

/* -------------------------------------------------------------------------- */
/* Alignment baseline — 8px grid (:root --et-space-*). Main prose start-aligned */
/* HTML templates: header py-4, logo column w-44/md:w-56, footer CTA px-8/md:py-6 */
/* Pass 2: gap-3→gap-4, space-y-3/5, py-5/px-7, py-3.5, scroll-mt-28, max-height 72px */
/* Pass 3: text-[8–10px]→text-xs, footer wordmark max-height 96px, md:text-[1.65rem]→md:text-2xl */
/* Pass 4 (final): trusted strip span transitions target direct child label (not text-[10px] substring) */
/* Pass 5: HTML parity — theme-color + application-name + site.webmanifest + scroll-smooth + et-skip on every page */
/* Pass 6: site-wide perfection — prose tables/print, skip z-index, inert drawer, security headers (vercel.json) */
/* Pass 7: strict global theme QA — data-et-page slugs, hero/main offset, CTAs, cards, forms, blog, footer tablet */
/* URL policy: no trailing slash on paths (canonical + Vercel trailingSlash:false); forms post to /thanks */
/* Headings: balanced wraps where supported. Verify at 100% zoom + breakpoints */
/* -------------------------------------------------------------------------- */

#root [data-static-shell='true'] #main,
#root [data-static-shell='true'] main#main {
  text-align: start;
}

@supports (text-wrap: balance) {
  #root [data-static-shell='true'] main#main :where(h1, h2, h3) {
    text-wrap: balance;
  }
}

/* Consistent media in the app shell — avoid mushy scaling on HiDPI / 4K */
#root img,
#root video {
  max-width: 100%;
  height: auto;
  image-rendering: auto;
}

@supports (image-rendering: high-quality) {
  #root img,
  #root video {
    image-rendering: high-quality;
  }
}

/* About page ASIAL membership raster: fill card width (landscape artwork; avoid thumbnail-in-box look).
   ID-level #root img beats utility h-* — drive scale from width instead. */
#root img.et-asial-membership-logo,
#root img[src*='asial-official'] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-width: 0;
  object-fit: contain;
  object-position: center;
}

/* Contact page: native select with Tailwind appearance-none — custom chevron */
#contact-message select[name='topic'] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.125rem;
  padding-right: 2.75rem;
}

/* Contact page: OSM embed — focus ring for keyboard users tabbing into the iframe */
.et-contact-map:focus-within {
  outline: 2px solid rgb(59 130 246);
  outline-offset: 3px;
}

.et-contact-map__frame:focus {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .et-contact-map iframe.et-contact-map__frame {
    display: none !important;
  }

  .et-contact-map .et-contact-map__fallback {
    display: flex !important;
  }
}

/* Skip link (paired with href="#main") */
.et-skip {
  position: absolute;
  left: 0.75rem;
  top: 0.75rem;
  z-index: 200;
  padding: 0.5rem 0.9rem;
  background: #0f172a;
  color: #fff;
  font-weight: 600;
  font-size: 0.875rem;
  border-radius: var(--et-radius-sm);
  text-decoration: none;
  box-shadow: var(--et-shadow-md);
  transform: translateY(-120%);
  transition: transform 0.2s ease;
}

.et-skip:focus,
.et-skip:focus-visible {
  transform: translateY(0);
}

.et-skip:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

@media (prefers-reduced-motion: reduce) {
  .et-skip {
    transition: none;
  }
}

/* Skip-link target — visible focus when landing on main (tabindex=-1 on minimal pages) */
body.et-page-thanks #root > main#main:focus,
body.et-page-thanks #root > main#main:focus-visible,
body.et-page-404 #root main#main:focus,
body.et-page-404 #root main#main:focus-visible,
main#main[tabindex='-1']:focus,
main#main[tabindex='-1']:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

/* -------------------------------------------------------------------------- */
/* Minimal header — /thanks + 404 (logo home · phone · contact)              */
/* -------------------------------------------------------------------------- */

.et-minimal-site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  border-bottom: 1px solid rgb(226 232 240);
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  backdrop-filter: blur(12px) saturate(1.05);
}

.et-minimal-site-header__inner {
  box-sizing: border-box;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: var(--et-shell-gutter);
  padding-block: 0;
  min-height: calc(var(--et-grid-unit) * 7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--et-space-2);
}

@media (min-width: 640px) {
  .et-minimal-site-header__inner {
    padding-inline: clamp(var(--et-space-4), 4vw, var(--et-space-8));
  }
}

.et-minimal-site-header__brand {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 0;
  text-decoration: none;
  min-width: var(--et-touch-min);
  min-height: var(--et-touch-min);
}

.et-minimal-site-header__logo {
  display: block;
  height: auto;
  width: auto;
  max-height: 72px;
  max-width: min(420px, 88vw);
  object-fit: contain;
  object-position: left center;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: contrast(1.045) brightness(1.018);
  image-rendering: auto;
}

@supports (image-rendering: high-quality) {
  .et-minimal-site-header__logo {
    image-rendering: high-quality;
  }
}

.et-minimal-site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--et-space-1);
  flex-shrink: 0;
}

.et-minimal-site-header__tel,
.et-minimal-site-header__cta {
  box-sizing: border-box;
  min-height: var(--et-touch-min);
  min-width: var(--et-touch-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.85rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    border-color 0.15s ease,
    background-color 0.15s ease;
}

.et-minimal-site-header__tel {
  color: rgb(30 64 175);
  background: #fff;
  border: 1px solid rgb(199 210 254);
}

.et-minimal-site-header__cta {
  color: #fff;
  border: 1px solid transparent;
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
  box-shadow: 0 8px 22px -12px rgba(37, 99, 235, 0.45);
}

.et-minimal-site-header a:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

@media (hover: hover) and (pointer: fine) {
  .et-minimal-site-header__tel:hover {
    border-color: rgb(165 180 252);
    background: rgb(248 250 252);
  }

  .et-minimal-site-header__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px -12px rgba(37, 99, 235, 0.5);
  }
}

body.et-page-404 #root > div.flex.flex-col.min-h-screen > .et-minimal-site-header {
  flex-shrink: 0;
}

/* Keyboard focus (does not affect mouse clicks) */
#root a:focus-visible,
#root button:focus-visible,
#root summary:focus-visible,
#root input:focus-visible,
#root textarea:focus-visible,
#root select:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

#scroll-to-top:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

/* Mobile drawer + scroll FAB — JS toggles `.is-open` / `.is-visible` over Tailwind utilities (all inner pages). */
html.menu-open {
  overflow: hidden;
  height: 100%;
}

body.menu-open {
  overflow: hidden;
}

#mobile-menu {
  transition:
    opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.32s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.32s;
}

#mobile-menu.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

#scroll-to-top {
  box-sizing: border-box;
  min-width: var(--et-touch-min);
  min-height: var(--et-touch-min);
  border-radius: 999px;
  transition:
    opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.22s ease,
    background-color 0.2s ease;
}

#scroll-to-top.is-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  box-shadow:
    0 10px 28px -10px rgba(37, 99, 235, 0.55),
    0 4px 14px -6px rgba(15, 23, 42, 0.12);
}

@media (hover: hover) and (pointer: fine) {
  #scroll-to-top.is-visible:hover {
    transform: translateY(-3px) !important;
    box-shadow:
      0 14px 36px -12px rgba(37, 99, 235, 0.48),
      0 6px 18px -8px rgba(6, 182, 212, 0.14);
  }

  #scroll-to-top.is-visible:active {
    transform: translateY(-1px) !important;
  }
}

[data-town-pill='true'] {
  transition:
    transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background-color 0.22s ease,
    color 0.22s ease;
}

[data-town-pill='true'].is-active {
  background: #06b6d4 !important;
  color: #ffffff !important;
  border-color: #06b6d4 !important;
  box-shadow: 0 12px 28px -14px rgba(6, 182, 212, 0.68) !important;
  transform: translateY(-2px);
}

[data-town-pill='true'].is-active svg {
  color: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* -------------------------------------------------------------------------- */
/* EastTech wordmark — PNG in .easttech-logo-panel (transparent shell)        */
/* -------------------------------------------------------------------------- */

.easttech-logo-panel {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 0;
  isolation: isolate;
  overflow: visible;
  border-radius: 0.75rem;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: transparent;
  box-shadow: none;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.easttech-logo-panel::before {
  display: none;
}

.easttech-logo-panel::after {
  display: none;
}

.easttech-logo-panel img {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: contrast(1.045) brightness(1.018);
  image-rendering: auto;
}

@supports (image-rendering: high-quality) {
  .easttech-logo-panel img,
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'],
  body.et-page-service-safety [data-never-alone-logo='true'] img {
    image-rendering: high-quality;
  }
}

/* Homepage (/) — typographic scale & vertical rhythm (index.html only) */
[data-et-page='home'] main#main {
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Section seams — clear stack between hero → about → stats */
[data-et-page='home'] main#main > section[data-et-home-about='true'] {
  border-top: 1px solid rgba(226, 232, 240, 0.92);
  box-shadow: 0 -12px 36px -28px rgba(15, 23, 42, 0.12);
}

/* Stats section border comes from Tailwind on the section (border-t border-white/10). */

/* In-page anchor (#about) clears the fixed header */
section#about[data-et-home-about='true'] {
  scroll-margin-top: clamp(5.5rem, 12vw, 7.5rem);
}

/* Home: clear gap so the white “Trusted Experts” block never rides up into the navy hero */
[data-et-page='home'] section#about[data-et-home-about='true'] {
  margin-top: clamp(1.25rem, 3vw, 2rem);
  position: relative;
  z-index: 1;
  padding-top: clamp(4rem, 8vw, 6rem);
  padding-bottom: clamp(3.5rem, 7vw, 5.75rem);
}

@media (min-width: 640px) {
  [data-et-page='home'] section#about[data-et-home-about='true'] {
    padding-top: clamp(4.5rem, 7vw, 6.5rem);
    padding-bottom: clamp(4rem, 6.5vw, 6rem);
  }
}

@media (min-width: 1024px) {
  [data-et-page='home'] section#about[data-et-home-about='true'] {
    padding-top: clamp(5rem, 6vw, 6.75rem);
    padding-bottom: clamp(4.5rem, 5.5vw, 6.25rem);
  }
}

/* Hero — padding clears fixed header; height follows content (no full-viewport min-height) */
section[data-et-home-hero='true'] {
  position: relative;
  z-index: 0;
  min-height: 0;
  text-rendering: optimizeLegibility;
  padding-top: max(12rem, calc(env(safe-area-inset-top, 0px) + 9.75rem));
  padding-bottom: clamp(2.75rem, 4.75vw, 4rem);
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] {
    padding-top: max(12.5rem, calc(env(safe-area-inset-top, 0px) + 10.25rem));
    padding-bottom: clamp(3rem, 4.25vw, 4.5rem);
  }
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] {
    /* Generous offset below fixed header */
    padding-top: max(clamp(9.25rem, 2.5vw + 7.5rem, 11rem), calc(env(safe-area-inset-top, 0px) + 9rem));
    padding-bottom: clamp(3rem, 3.75vw, 4.75rem);
  }
}

/* Two-column hero: balanced columns + gap; top-aligned to avoid a large empty band below */
section[data-et-home-hero='true'] .et-home-hero__layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1.75rem, 4vw, 2.25rem);
  width: 100%;
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__layout {
    display: grid;
    /* Wider copy column for cleaner headline wraps */
    grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
    column-gap: clamp(2.25rem, 3.25vw, 3.25rem);
    row-gap: 1.25rem;
    align-items: start;
  }
}

section[data-et-home-hero='true'] .et-home-hero__copy {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: min(100%, 36rem);
  padding-top: 0.375rem;
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__copy {
    padding-top: 0;
    max-width: none;
  }
}

section[data-et-home-hero='true'] .et-home-hero__copy h1,
section[data-et-home-hero='true'] .et-home-hero__copy h1.et-home-hero__headline {
  line-height: 1.12;
  letter-spacing: -0.026em;
  margin-top: 0;
  margin-bottom: 0;
  text-wrap: balance;
}

section[data-et-home-hero='true'] .et-home-hero__headline {
  margin-top: 1.125rem;
  font-size: clamp(1.625rem, 2.4vw + 1rem, 2.375rem);
  line-height: 1.12;
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__headline {
    font-size: clamp(1.9375rem, 1.05vw + 1.38rem, 2.7rem);
    line-height: 1.08;
    /* Wide enough for “CCTV, Starlink & Site Security” on one line */
    max-width: 44ch;
  }
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] .et-home-hero__headline {
    margin-top: 1.25rem;
  }
}

@media (max-width: 639px) {
  section[data-et-home-hero='true'] .et-home-hero__headline {
    font-size: clamp(1.375rem, 4.2vw + 0.65rem, 1.75rem);
    line-height: 1.18;
  }
}

section[data-et-home-hero='true'] .et-home-hero__copy h1 span.block.text-accent {
  display: block;
  margin-top: 0.4375rem;
  line-height: 1.18;
  letter-spacing: -0.014em;
  max-width: min(100%, 22em);
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__copy h1 span.block.text-accent {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5rem;
    max-width: 100%;
    line-height: 1.15;
    text-wrap: balance;
  }
}

section[data-et-home-hero='true'] .et-home-hero__copy > [data-et-brand-tagline] {
  margin-bottom: 0.375rem;
  letter-spacing: 0.16em;
  opacity: 0.92;
}

section[data-et-home-hero='true'] .et-home-hero__brand {
  font-size: clamp(1rem, 0.35vw + 0.9rem, 1.1875rem);
  line-height: 1.35;
  letter-spacing: -0.014em;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

section[data-et-home-hero='true'] .et-home-hero__lead {
  font-size: clamp(1rem, 0.22vw + 0.94rem, 1.0625rem);
  line-height: 1.64;
  letter-spacing: 0.004em;
  margin-top: 1.375rem;
  margin-bottom: 0;
  max-width: 34rem;
  margin-inline: auto;
  text-wrap: pretty;
  color: rgb(214 222 234);
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] .et-home-hero__lead {
    margin-top: 1.5rem;
  }
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__lead {
    margin-inline: 0;
    max-width: min(100%, 40rem);
  }
}

section[data-et-home-hero='true'] .et-home-hero__cta-row {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, 28rem);
  margin-inline: auto;
  margin-top: 2.375rem;
  gap: 0.75rem;
  align-items: stretch;
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] .et-home-hero__cta-row {
    margin-top: 2.75rem;
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__cta-row {
    margin-inline: 0;
    max-width: none;
    width: 100%;
    margin-top: 2.875rem;
  }
}

section[data-et-home-hero='true'] .et-home-hero__cta-row > a {
  font-size: clamp(0.9375rem, 0.2vw + 0.88rem, 1rem);
  line-height: 1.25;
  letter-spacing: -0.01em;
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background-color 0.22s ease,
    filter 0.22s ease;
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] .et-home-hero__cta-row > a {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    min-height: 3.0625rem;
  }
}

section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/contact'] {
  box-shadow:
    0 10px 28px rgba(37, 99, 235, 0.38),
    0 1px 0 rgba(255, 255, 255, 0.12) inset;
}

@media (hover: hover) and (pointer: fine) {
  section[data-et-home-hero='true'] .et-home-hero__cta-row > a:hover {
    transform: translateY(-1px);
  }

  section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/contact']:hover {
    filter: brightness(1.05);
    box-shadow:
      0 14px 36px rgba(37, 99, 235, 0.45),
      0 1px 0 rgba(255, 255, 255, 0.16) inset;
  }
}

section[data-et-home-hero='true'] .et-home-hero__trust {
  max-width: 34rem;
  margin-top: clamp(0.6875rem, 1.75vw, 1rem);
  margin-bottom: clamp(0.875rem, 2vw, 1.25rem);
  margin-inline: auto;
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__trust {
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }
}

section[data-et-home-hero='true'] .et-home-hero__trust li {
  line-height: 1.45;
  color: rgb(226 232 240);
}

section[data-et-home-hero='true'] .et-home-hero__trust li + li {
  margin-top: 0.4375rem;
}

@media (min-width: 640px) {
  section[data-et-home-hero='true'] .et-home-hero__trust li + li {
    margin-top: 0.46875rem;
  }
}

section[data-et-home-hero='true'] .et-home-hero__services {
  align-self: stretch;
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
  width: 100%;
  min-width: 0;
}

@media (max-width: 639px) {
  section[data-et-home-hero='true'] .et-home-hero__services {
    max-width: min(100%, 36rem);
    margin-inline: auto;
    margin-top: clamp(1.5rem, 4vw, 2rem);
  }
}

@media (min-width: 1024px) {
  section[data-et-home-hero='true'] .et-home-hero__services {
    margin-top: 0;
    max-width: none;
    padding-top: 0;
    align-self: stretch;
  }
}

/* 2×2 on desktop — explicit grid (do not rely on purged Tailwind) */
section[data-et-home-hero='true'] .et-home-hero__service-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  align-content: start;
  width: 100%;
  min-width: 0;
}

@media (min-width: 900px) {
  section[data-et-home-hero='true'] .et-home-hero__service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
  }
}

/* Default / mobile / tablet: icon + text in one row */
section[data-et-home-hero='true'] a.et-home-hero__service-card {
  display: grid;
  grid-template-columns: 2rem 1fr;
  column-gap: 0.75rem;
  row-gap: 0.125rem;
  align-items: center;
  padding: 0.875rem 1rem;
  min-height: 0;
  min-width: 0;
  background-color: rgb(38 52 78);
  border-color: rgba(255, 255, 255, 0.17);
  border-width: 1px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 8px 26px rgba(0, 0, 0, 0.28);
  transition:
    transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background-color 0.22s ease;
}

section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
  background-color: rgb(45 61 90);
  border-color: rgba(6, 182, 212, 0.42);
}

@media (hover: hover) and (pointer: fine) {
  section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.09) inset,
      0 14px 36px rgba(0, 0, 0, 0.32),
      0 0 0 1px rgba(6, 182, 212, 0.12);
  }
}

section[data-et-home-hero='true'] a.et-home-hero__service-card > div:first-child {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}

section[data-et-home-hero='true'] a.et-home-hero__service-card > span {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
}

section[data-et-home-hero='true'] a.et-home-hero__service-card > p {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0;
  color: rgb(203 213 225);
}

@media (max-width: 639px) {
  section[data-et-home-hero='true'] a.et-home-hero__service-card {
    grid-template-columns: 1.75rem 1fr;
    padding: 0.6875rem 0.75rem;
    column-gap: 0.625rem;
  }
}

/* Tablet/desktop: equal-height tiles — premium contrast, aligned grid */
@media (min-width: 900px) {
  section[data-et-home-hero='true'] a.et-home-hero__service-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.5625rem;
    height: 100%;
    min-height: clamp(8rem, 9.5vw, 9.25rem);
    align-self: stretch;
    padding: 1.1875rem 1.25rem 1.25rem;
    background-color: rgb(38 52 78) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.08) inset,
      0 10px 32px rgba(0, 0, 0, 0.32),
      0 0 0 1px rgba(6, 182, 212, 0.06);
  }

  section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
    background-color: rgb(46 62 92) !important;
    border-color: rgba(6, 182, 212, 0.5) !important;
  }

  @media (hover: hover) and (pointer: fine) {
    section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
      transform: translateY(-2px);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 16px 40px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(6, 182, 212, 0.18);
    }
  }

  section[data-et-home-hero='true'] a.et-home-hero__service-card > div:first-child {
    grid-column: auto;
    grid-row: auto;
    align-self: flex-start;
  }

  section[data-et-home-hero='true'] a.et-home-hero__service-card > span {
    grid-column: auto;
    grid-row: auto;
    align-self: stretch;
  }

  section[data-et-home-hero='true'] a.et-home-hero__service-card > p {
    grid-column: auto;
    grid-row: auto;
    align-self: stretch;
    color: rgb(211 220 232) !important;
    line-height: 1.45 !important;
  }
}

section[data-et-home-hero='true'] .et-home-hero__service-card svg {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  section[data-et-home-hero='true'] .et-home-hero__cta-row > a,
  section[data-et-home-hero='true'] a.et-home-hero__service-card {
    transition: none;
  }

  section[data-et-home-hero='true'] .et-home-hero__cta-row > a:hover,
  section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
    transform: none;
  }
}

[data-et-home-about='true'] .space-y-4 > h2 {
  line-height: 1.12;
  letter-spacing: -0.028em;
  margin-bottom: 0;
  text-wrap: balance;
}

[data-et-home-about='true'] .space-y-4 > p {
  font-size: clamp(1rem, 0.2vw + 0.94rem, 1.0625rem);
  line-height: 1.62;
  letter-spacing: 0.003em;
}

[data-et-home-about='true'] .space-y-4 > p + p {
  font-size: clamp(0.9375rem, 0.15vw + 0.88rem, 1rem);
  line-height: 1.65;
  margin-top: 0.875rem;
}

[data-et-home-about='true'] .space-y-4 > p.text-slate-600 {
  color: rgb(71 85 105);
}

[data-et-home-about='true'] .space-y-4 > p.text-slate-500 {
  color: rgb(100 116 139);
}

[data-et-home-about='true'] .grid.gap-4 > .group h3 {
  font-size: clamp(1rem, 0.15vw + 0.92rem, 1.0625rem);
  line-height: 1.3;
  letter-spacing: -0.015em;
  font-weight: 700;
  color: rgb(30 41 59);
}

[data-et-home-about='true'] .grid.gap-4 > .group p.text-xs {
  font-size: 0.8125rem;
  line-height: 1.48;
  letter-spacing: 0.018em;
  margin-top: 0.3125rem;
  color: rgb(100 116 139);
}

/* About — credential cards sit on a centred rail on small screens; full column on lg */
[data-et-home-about='true'] .space-y-8 > .grid.gap-4 {
  width: 100%;
  max-width: 26rem;
  margin-inline: auto;
  gap: 0.875rem;
}

@media (min-width: 640px) {
  [data-et-home-about='true'] .space-y-8 > .grid.gap-4 {
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  [data-et-home-about='true'] .space-y-8 > .grid.gap-4 {
    max-width: none;
    margin-inline: 0;
    gap: 1.0625rem;
  }
}

[data-et-home-about='true'] .grid.gap-4 > .group {
  border-color: rgb(226 232 240) !important;
  transition:
    transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  [data-et-home-about='true'] .grid.gap-4 > .group:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.28) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.85) inset,
      0 12px 32px -8px rgba(15, 23, 42, 0.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-et-home-about='true'] .grid.gap-4 > .group {
    transition: none;
  }

  [data-et-home-about='true'] .grid.gap-4 > .group:hover {
    transform: none;
  }
}

/* Trusted Experts — tighter two-column rhythm; ASIAL card shorter, top-aligned */
section#about[data-et-home-about='true'] .max-w-7xl > .grid {
  align-items: start;
}

@media (min-width: 1024px) {
  section#about[data-et-home-about='true'] .max-w-7xl > .grid {
    gap: clamp(2.25rem, 3.25vw, 3rem);
  }
}

section#about[data-et-home-about='true'] .max-w-7xl > .grid > div:last-child {
  align-self: start;
}

@media (min-width: 1024px) {
  section#about[data-et-home-about='true'] .max-w-7xl > .grid > div:last-child {
    height: auto !important;
    min-height: 0 !important;
    align-self: start;
    /* Optical alignment with left column headline block */
    padding-top: clamp(0.25rem, 1.2vw, 0.65rem);
  }

  /* Inner ASIAL shell: do not grow to fill column (Tailwind lg:flex-1) */
  [data-et-home-about='true'] .relative.bg-white.rounded-3xl.border.border-slate-100.shadow-xl.overflow-hidden {
    flex: 0 1 auto !important;
    min-height: 0 !important;
  }
}

[data-et-home-about='true'] .relative.bg-white.rounded-3xl.border.border-slate-100.shadow-xl.overflow-hidden {
  padding: clamp(1.375rem, 2.5vw, 2rem);
  border-color: rgba(148, 163, 184, 0.35) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.94) inset,
    0 20px 48px -18px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(148, 163, 184, 0.18);
}

@media (min-width: 768px) {
  [data-et-home-about='true'] .relative.bg-white.rounded-3xl.border.border-slate-100.shadow-xl.overflow-hidden {
    padding: clamp(1.75rem, 2.5vw, 2.5rem);
  }
}

@media (min-width: 1024px) {
  section#about[data-et-home-about='true'] .max-w-7xl > .grid > div:first-child .space-y-4 {
    max-width: 38rem;
  }
}

[data-et-home-about='true'] .relative.bg-white.rounded-3xl.shadow-xl .space-y-8.md\:space-y-10 > * + * {
  margin-top: 1.125rem !important;
}

@media (min-width: 768px) {
  [data-et-home-about='true'] .relative.bg-white.rounded-3xl.shadow-xl .space-y-8.md\:space-y-10 > * + * {
    margin-top: 1.375rem !important;
  }
}

[data-et-home-about='true'] .flex.flex-col.items-center.text-center.space-y-5 > div:first-child {
  height: auto !important;
  width: auto !important;
  max-width: 11rem;
  min-height: 0;
  padding-block: 0.25rem;
}

[data-et-home-about='true'] img[alt*='ASIAL'] {
  max-height: 4.75rem;
  height: auto !important;
  width: auto;
}

@media (min-width: 768px) {
  [data-et-home-about='true'] img[alt*='ASIAL'] {
    max-height: 5.5rem;
  }
}

[data-et-home-about='true'] .relative.bg-white.rounded-3xl .pt-8.border-t.border-slate-100 {
  padding-top: 1.25rem !important;
}

[data-et-home-about='true'] .relative.bg-white.rounded-3xl p.text-sm.text-slate-500 {
  color: rgb(100 116 139);
  line-height: 1.55;
}

/* Stats — capped width + even columns; cells are flex stacks for tidy alignment */
/* Specificity over inline Tailwind py-* on the stats section */
[data-et-page='home'] section[data-et-home-stats='true'] {
  padding-top: clamp(5.75rem, 10vw, 7.75rem);
  padding-bottom: clamp(5.75rem, 10vw, 7.75rem);
}

@media (min-width: 640px) {
  [data-et-page='home'] section[data-et-home-stats='true'] {
    padding-top: clamp(6.25rem, 9vw, 8.25rem);
    padding-bottom: clamp(6.25rem, 9vw, 8.25rem);
  }
}

@media (min-width: 1024px) {
  [data-et-page='home'] section[data-et-home-stats='true'] {
    padding-top: clamp(6.5rem, 8vw, 8.75rem);
    padding-bottom: clamp(6.5rem, 8vw, 8.75rem);
  }
}

[data-et-home-stats='true'] .max-w-7xl > .grid {
  width: 100%;
  max-width: min(100%, 58rem);
  margin-inline: auto;
  align-items: stretch;
  justify-items: stretch;
  column-gap: clamp(2rem, 4.5vw, 3.5rem);
  row-gap: clamp(2.25rem, 4vw, 3rem);
}

[data-et-home-stats='true'] .max-w-7xl > .grid > div {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  max-width: 18rem;
  min-height: 100%;
  margin-inline: auto;
}

@media (min-width: 768px) {
  [data-et-home-stats='true'] .max-w-7xl > .grid > div {
    max-width: none;
    padding-inline: clamp(0.5rem, 2vw, 1rem);
  }
}

[data-et-home-stats='true'] .max-w-7xl > .grid > div h3 {
  letter-spacing: -0.035em;
  line-height: 1;
  margin-bottom: 0;
}

/* Specificity over inline Tailwind on stat numerals */
[data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl > .grid > div h3 {
  font-weight: 800;
  font-size: clamp(2.125rem, 4vw + 1.25rem, 3.25rem) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

[data-et-home-stats='true'] .max-w-7xl > .grid > div p {
  font-size: clamp(0.6875rem, 0.12vw + 0.65rem, 0.75rem);
  line-height: 1.38;
  letter-spacing: 0.16em;
  margin-top: 0;
  color: rgba(255, 255, 255, 0.82);
}

/* Homepage header + footer — match main canvas type rhythm */
[data-et-page='home'] header[data-site-header='true'] a[data-header-services-link='true'],
[data-et-page='home'] header[data-site-header='true'] a[data-header-about='true'],
[data-et-page='home'] header[data-site-header='true'] a[data-header-contact='true'] {
  font-size: clamp(0.8125rem, 0.18vw + 0.75rem, 0.875rem);
  line-height: 1.2;
  letter-spacing: 0.045em;
}

[data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] .bg-white a {
  font-size: clamp(0.8125rem, 0.12vw + 0.76rem, 0.875rem);
  line-height: 1.4;
  letter-spacing: 0.01em;
}

[data-et-page='home'] header[data-site-header='true'] a[data-header-cta='true'] {
  font-size: clamp(0.8125rem, 0.16vw + 0.75rem, 0.875rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding-block: 0.5rem !important;
  padding-inline: clamp(0.875rem, 1.5vw, 1.125rem) !important;
}

#root [data-et-page='home'] .easttech-logo-panel--header img {
  max-height: clamp(60px, 6.2vw, 100px) !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] header[data-site-header='true'] nav.hidden.lg\:flex {
    column-gap: clamp(1.5rem, 2.5vw, 2.25rem);
  }

  #root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl {
    padding-block: 0.8125rem;
  }
}

[data-et-page='home'] #mobile-menu a.text-2xl {
  line-height: 1.12;
  letter-spacing: -0.02em;
}

[data-et-page='home'] #mobile-menu .border-b.border-slate-100 .grid a.text-lg {
  font-size: clamp(1rem, 0.22vw + 0.9rem, 1.125rem);
  line-height: 1.38;
  letter-spacing: -0.01em;
}

[data-et-page='home'] #mobile-menu .border-b.border-slate-100 span.text-xs.font-bold.uppercase.tracking-widest {
  font-size: clamp(0.6875rem, 0.12vw + 0.64rem, 0.75rem);
  line-height: 1.35;
  letter-spacing: 0.14em;
}

[data-et-page='home'] #mobile-menu .pt-6 a[href='/contact'].text-xl {
  font-size: clamp(1.0625rem, 0.25vw + 0.95rem, 1.25rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware__label {
  font-size: clamp(0.6875rem, 0.14vw + 0.62rem, 0.75rem);
  line-height: 1.4;
  letter-spacing: 0.32em;
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware__grid > div > span.text-xs {
  font-size: clamp(0.6875rem, 0.1vw + 0.64rem, 0.75rem);
  line-height: 1.3;
  letter-spacing: 0.18em;
}

[data-et-page='home'] footer.et-site-footer h2.text-3xl {
  line-height: 1.12;
  letter-spacing: -0.028em;
}

[data-et-page='home'] footer.et-site-footer div.max-w-xl p.text-lg {
  font-size: clamp(1rem, 0.22vw + 0.92rem, 1.125rem);
  line-height: 1.55;
  letter-spacing: 0.008em;
}

[data-et-page='home'] footer.et-site-footer a.bg-white.text-secondary.rounded-full {
  font-size: clamp(0.9375rem, 0.2vw + 0.88rem, 1.125rem);
  line-height: 1.2;
  letter-spacing: -0.014em;
}

[data-et-page='home'] footer.et-site-footer .lg\:col-span-4 > p.text-slate-400 {
  font-size: clamp(0.9375rem, 0.15vw + 0.88rem, 1rem);
  line-height: 1.62;
  letter-spacing: 0.01em;
}

[data-et-page='home'] footer.et-site-footer h3.text-xl {
  font-size: clamp(1.0625rem, 0.18vw + 0.95rem, 1.1875rem);
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin-bottom: 1.75rem;
}

[data-et-page='home'] footer.et-site-footer ul.space-y-4 li a {
  font-size: clamp(0.8125rem, 0.12vw + 0.78rem, 0.875rem);
  line-height: 1.45;
  letter-spacing: 0.012em;
}

[data-et-page='home'] footer.et-site-footer .inline-flex span.text-sm {
  font-size: clamp(0.75rem, 0.1vw + 0.72rem, 0.8125rem);
  line-height: 1.3;
  letter-spacing: 0.12em;
}

[data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.border-b.border-white\/\[0\.07\] {
  border-color: rgba(255, 255, 255, 0.055);
}

#root [data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.border-b.border-white\/\[0\.07\]:not(.flex) {
  padding-top: clamp(3.25rem, 5.5vw, 4.25rem) !important;
  padding-bottom: clamp(3.25rem, 5.5vw, 4.25rem) !important;
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__label {
  margin-top: clamp(1rem, 2.25vw, 1.75rem);
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.25rem, 1fr));
  width: 100%;
  max-width: 54rem;
  margin-inline: auto;
  column-gap: clamp(1.125rem, 2.8vw, 1.875rem);
  row-gap: clamp(1.375rem, 3.2vw, 2rem);
  justify-items: center;
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group {
  width: 100%;
  max-width: 11.25rem;
  justify-self: center;
}

[data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
  width: 100% !important;
  max-width: 11.25rem;
  height: 6.25rem !important;
  min-height: 6.25rem;
  box-sizing: border-box;
  padding: clamp(0.75rem, 2vw, 1.125rem) !important;
}

[data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary {
  align-self: center;
  min-height: 3.5rem;
  padding-block: 1.125rem;
  padding-inline: clamp(1.75rem, 3.5vw, 2.75rem);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 14px 36px -12px rgba(15, 23, 42, 0.35);
}

@media (min-width: 768px) {
  [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary {
    min-height: 3.625rem;
    padding-block: 1.25rem;
    padding-inline: clamp(2rem, 3.5vw, 2.875rem);
  }
}

#root [data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.py-14.md\:py-16.border-b.border-white\/\[0\.07\].flex.flex-col.md\:flex-row.justify-between.items-center {
  padding-top: clamp(3.75rem, 6.5vw, 5rem) !important;
  padding-bottom: clamp(3.75rem, 6.5vw, 5rem) !important;
  row-gap: clamp(1.75rem, 3.5vw, 2.25rem);
}

#root [data-et-page='home'] footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 h2.text-3xl {
  margin-bottom: 1rem;
}

#root [data-et-page='home'] footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 div.max-w-xl p.text-lg {
  line-height: 1.62;
  color: rgba(226, 232, 240, 0.95);
}

[data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 {
  column-gap: clamp(2rem, 3.75vw, 3rem);
  row-gap: clamp(2.25rem, 3.75vw, 3rem);
}

[data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 h3.text-xl {
  margin-bottom: 1.35rem;
}

[data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 li + li {
  margin-top: 1.35rem !important;
}

[data-et-page='home'] footer.et-site-footer .et-site-footer__meta {
  padding-top: clamp(2.75rem, 5vw, 3.5rem) !important;
  padding-bottom: clamp(1.75rem, 3.25vw, 2.5rem) !important;
}

/* Home: transparent header over hero — light edge only (heavy glow reads like a separate card) */
header[data-static-home-header='true'][data-scrolled='false'] .easttech-logo-panel--header img {
  filter: contrast(1.03) brightness(1.02) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

header[data-static-home-header='true'][data-scrolled='true'] .easttech-logo-panel--header img {
  filter: contrast(1.05) brightness(1.02) drop-shadow(0 0.5px 1px rgba(15, 23, 42, 0.08));
}

@media (prefers-contrast: more) {
  header[data-static-home-header='true'][data-scrolled='false'] .easttech-logo-panel--header img {
    filter:
      contrast(1.05) brightness(1.02) drop-shadow(0 0 1px rgba(0, 0, 0, 0.95))
      drop-shadow(0 1px 3px rgba(0, 0, 0, 0.55));
  }
}

@media (forced-colors: active) {
  .easttech-logo-panel {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
  }
}

/* Logo home link: keep wordmark on the same vertical axis as nav (all header variants) */
#root header:not(.et-minimal-site-header) a[href='/']:has(.easttech-logo-panel--header) {
  align-items: center;
}

#root header:not(.et-minimal-site-header) a[href='/']:has(.easttech-logo-panel--header) > div.flex {
  align-items: center;
}

/* Match Tailwind w-44 / md:w-56 — old 48vw cap stole space from tel + nav at lg */
#root header[data-site-header='true'] a[href='/'] > div > div:has(> .easttech-logo-panel--header) {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0;
  width: auto !important;
  max-width: 11rem !important;
}

@media (min-width: 768px) {
  #root header[data-site-header='true'] a[href='/'] > div > div:has(> .easttech-logo-panel--header) {
    max-width: 14rem !important;
  }
}

a[href='/'] > div:has(> .easttech-logo-panel--header) {
  display: flex !important;
  align-items: center !important;
}

#mobile-menu div:has(> .easttech-logo-panel--mobile) {
  display: flex !important;
  align-items: center !important;
  width: clamp(200px, 78vw, 360px) !important;
  max-width: clamp(200px, 78vw, 360px) !important;
}

#root footer div:has(> .easttech-logo-panel--footer) {
  display: flex !important;
  align-items: center !important;
  width: clamp(240px, 52vw, 480px) !important;
  max-width: clamp(240px, 52vw, 480px) !important;
}

/* Override inline max-height:72px (8px grid) — larger cap for legibility */
.easttech-logo-panel--header img {
  max-height: clamp(58px, 6vw, 96px) !important;
}

.easttech-logo-panel--mobile img {
  max-height: clamp(50px, 9vw, 76px) !important;
}

.easttech-logo-panel--footer img {
  max-height: clamp(64px, 6.5vw, 112px) !important;
}

header[data-site-header='true'] a[href='/']:hover .easttech-logo-panel,
header[data-site-header='true'] a[href='/']:focus-visible .easttech-logo-panel {
  box-shadow: none;
}

header[data-static-home-header='true'][data-scrolled='false'] .easttech-logo-panel {
  box-shadow: none;
}

.easttech-logo-panel--header {
  padding: 0;
}

.easttech-logo-mobile-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, 360px);
  min-height: var(--et-touch-min);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .easttech-logo-mobile-shell {
    min-height: var(--et-space-6);
  }
}

#root #mobile-menu .easttech-logo-mobile-shell {
  align-self: center;
  justify-content: center;
}

.easttech-logo-panel--mobile {
  padding: 0;
  border-radius: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.easttech-logo-panel--footer {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#root footer .flex:has(.easttech-logo-panel--footer) {
  align-items: center;
}

#mobile-menu .flex:has(.easttech-logo-mobile-shell) {
  align-items: center;
}

.easttech-logo-panel--footer img {
  filter: contrast(1.06) brightness(1.03) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

@media (prefers-reduced-motion: reduce) {
  .easttech-logo-panel {
    transition: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Service pages — Trusted Hardware card (logos + Why… + check grid)          */
/* -------------------------------------------------------------------------- */

.et-service-trusted-logo-grid {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
  .et-service-trusted-logo-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .et-service-trusted-logo-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.et-service-trusted-logo-grid--1 {
  grid-template-columns: 1fr;
  max-width: 22rem;
  margin-left: auto;
  margin-right: auto;
}

.et-service-trusted-logo-grid--1.et-service-trusted-logo-grid--wide {
  max-width: min(100%, 28rem);
}

.et-service-trusted-logo-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.25rem;
  padding: 0.75rem 1rem;
  border-radius: 0.875rem;
  background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%);
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 1px 2px rgba(15, 23, 42, 0.07);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.et-service-trusted-logo-cell img {
  max-height: 2.5rem;
  width: auto;
  max-width: 92%;
  height: auto;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.05));
}

@media (min-width: 768px) {
  .et-service-trusted-logo-cell {
    min-height: 5.75rem;
    padding: 1rem 1.25rem;
  }

  .et-service-trusted-logo-cell img {
    max-height: 3rem;
  }
}

/* Featured marks (e.g. Starlink, large partner lockups) */
.et-service-trusted-logo-cell--hero {
  min-height: 6.5rem;
}

.et-service-trusted-logo-cell--hero img {
  max-height: 3.25rem;
}

@media (min-width: 768px) {
  .et-service-trusted-logo-cell--hero {
    min-height: 7.5rem;
  }

  .et-service-trusted-logo-cell--hero img {
    max-height: 4.25rem;
  }
}

/* Full-width brand row (e.g. certified badge on cabling) */
.et-service-trusted-logo-cell--wide {
  grid-column: 1 / -1;
  width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Trusted Hardware — partner logo strip (footer / home pre-footer)           */
/* -------------------------------------------------------------------------- */

.et-trusted-hardware {
  margin-inline: auto;
  width: 100%;
}

.et-trusted-hardware[data-trusted-hardware-strip='true'] {
  padding: clamp(10px, 2.5vw, 22px) clamp(8px, 2vw, 18px);
  border-radius: 1.375rem;
}

footer .et-trusted-hardware[data-trusted-hardware-strip='true'] {
  background: radial-gradient(ellipse 140% 95% at 50% -15%, rgba(255, 255, 255, 0.055) 0%, transparent 55%);
}

#footer-brand-logos .et-trusted-hardware[data-trusted-hardware-strip='true'] {
  background: radial-gradient(ellipse 130% 90% at 50% -12%, rgba(37, 99, 235, 0.06) 0%, transparent 52%);
}

.et-trusted-hardware__label {
  display: block;
  max-width: 42rem;
  margin-inline: auto;
  opacity: 1;
}

.et-trusted-hardware__label::after {
  content: '';
  display: block;
  width: clamp(3.25rem, 12vw, 5rem);
  height: 3px;
  margin-inline: auto;
  margin-top: 1.125rem;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(6, 182, 212, 0.25) 18%,
    rgba(6, 182, 212, 0.95) 50%,
    rgba(6, 182, 212, 0.25) 82%,
    transparent 100%
  );
  box-shadow: 0 0 20px rgba(6, 182, 212, 0.25);
}

#footer-brand-logos.et-trusted-hardware--section .et-trusted-hardware__label::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(37, 99, 235, 0.2) 18%,
    rgba(37, 99, 235, 0.75) 50%,
    rgba(37, 99, 235, 0.2) 82%,
    transparent 100%
  );
  box-shadow: 0 0 18px rgba(37, 99, 235, 0.18);
}

.et-trusted-hardware__grid {
  align-items: stretch;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group {
  align-items: center;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(44vw, 228px);
  height: clamp(110px, 18.5vw, 140px);
  padding: clamp(18px, 2.85vw, 28px);
  border-radius: 1.125rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: var(--et-trusted-tile-dark-shadow);
  backdrop-filter: blur(10px) saturate(1.08);
  transition:
    transform 0.5s var(--et-trusted-ease-out),
    box-shadow 0.5s var(--et-trusted-ease-out),
    border-color 0.5s var(--et-trusted-ease-out),
    backdrop-filter 0.5s ease;
  will-change: transform;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.52;
  background:
    radial-gradient(ellipse 95% 72% at 50% 32%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 58%),
    radial-gradient(ellipse 80% 45% at 50% 100%, rgba(6, 182, 212, 0.07) 0%, transparent 65%);
  transition: opacity 0.5s var(--et-trusted-ease-out);
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']::after {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 3px;
  height: 1px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 2;
  opacity: 0.55;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transition: opacity 0.5s var(--et-trusted-ease-out);
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl']::before,
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl']::before {
  opacity: 0.82;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl']::after,
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl']::after {
  opacity: 0.88;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl'],
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl'] {
  transform: translateY(-6px) scale(1) !important;
  border-color: rgba(6, 182, 212, 0.55);
  box-shadow: var(--et-trusted-tile-dark-hover);
  backdrop-filter: blur(12px) saturate(1.12);
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'] {
  position: relative;
  z-index: 1;
  filter: contrast(1.08) saturate(1.05) brightness(1.015);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: auto;
  transition:
    transform 0.5s var(--et-trusted-ease-out),
    filter 0.45s var(--et-trusted-ease-out),
    opacity 0.35s ease;
}

/* Home pre-footer — light tiles: slightly softer lift so marks stay natural */
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'] {
  filter: contrast(1.06) saturate(1.04) brightness(1.01);
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover img[src*='/logos/'],
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within img[src*='/logos/'] {
  transform: translateY(-3px) translateZ(0);
  -webkit-transform: translateY(-3px) translateZ(0);
  filter:
    contrast(1.1) saturate(1.06) brightness(1.025) drop-shadow(0 4px 12px rgba(15, 23, 42, 0.15))
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.38));
}

/* Tile category label — direct child span (was text-[10px], now text-xs site-wide) */
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > span {
  letter-spacing: 0.18em;
  opacity: 0.94;
  transition:
    opacity 0.45s var(--et-trusted-ease-out),
    letter-spacing 0.45s var(--et-trusted-ease-out),
    color 0.45s ease;
}

[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > span,
[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > span {
  opacity: 1;
}

/* Home pre-footer sits on a light canvas — avoid “dark footer” tile treatment */
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']::before {
  opacity: 0.35;
  background: radial-gradient(
    ellipse 92% 78% at 50% 38%,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0) 62%
  );
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
  border: 1px solid rgba(15, 23, 42, 0.07);
  box-shadow: var(--et-trusted-tile-light-shadow);
  backdrop-filter: none;
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl'],
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl'] {
  transform: translateY(-4px) scale(1) !important;
  border-color: rgba(37, 99, 235, 0.26);
  box-shadow: var(--et-trusted-tile-light-hover);
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl']::before,
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl']::before {
  opacity: 0.45;
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']::after {
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.28), transparent);
  opacity: 0.42;
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl']::after,
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl']::after {
  opacity: 0.65;
}

#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover img[src*='/logos/'],
#footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within img[src*='/logos/'] {
  filter:
    contrast(1.08) saturate(1.05) brightness(1.02) drop-shadow(0 3px 12px rgba(15, 23, 42, 0.1))
    drop-shadow(0 0.5px 0 rgba(255, 255, 255, 0.85));
}

@media (prefers-reduced-motion: reduce) {
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'],
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl'],
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl'] {
    transition: none;
    transform: none !important;
  }

  #footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > div[class*='rounded-2xl'],
  #footer-brand-logos.et-trusted-hardware--section [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > div[class*='rounded-2xl'] {
    transform: none !important;
  }

  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'],
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover img[src*='/logos/'],
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within img[src*='/logos/'] {
    transition: none;
    transform: none;
    filter: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Footer — readability (dark shells use Tailwind slate-400/500/600)          */
/* -------------------------------------------------------------------------- */

#root footer {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/*
 * Footer muted text: light-shell footers need darker slate; #020617 footers need LIGHT slate.
 * Avoid forcing dark hex values onto .et-site-footer — they disappear on the dark background.
 */
#root footer:not(.et-site-footer):not([class*='020617']) .text-slate-400 {
  color: rgb(71 85 105) !important;
}

#root footer:not(.et-site-footer):not([class*='020617']) .text-slate-500 {
  color: rgb(51 65 85) !important;
}

#root footer:not(.et-site-footer):not([class*='020617']) .text-slate-600 {
  color: rgb(30 41 59) !important;
}

/* Dark footer: high-contrast body copy (slate utilities read as “paper” on #020617) */
#root footer.et-site-footer .text-slate-400,
#root footer[class*='020617'] .text-slate-400 {
  color: rgb(226 232 240) !important;
}

#root footer.et-site-footer .text-slate-500,
#root footer[class*='020617'] .text-slate-500 {
  color: rgb(226 232 240 / 0.98) !important;
}

#root footer.et-site-footer .text-slate-600,
#root footer[class*='020617'] .text-slate-600 {
  color: rgb(226 232 240) !important;
}

#root footer.et-site-footer .text-slate-300,
#root footer[class*='020617'] .text-slate-300 {
  color: rgb(241 245 249) !important;
}

#root footer.et-site-footer .text-slate-200,
#root footer[class*='020617'] .text-slate-200 {
  color: rgb(248 250 252) !important;
}

#root footer.et-site-footer .text-slate-500\/80,
#root footer[class*='020617'] .text-slate-500\/80 {
  color: rgb(203 213 225 / 0.9) !important;
}

#root footer.et-site-footer .text-white\/60,
#root footer[class*='020617'] .text-white\/60 {
  color: rgb(255 255 255 / 0.82) !important;
}

#root footer.et-site-footer .font-light,
#root footer[class*='020617'] .font-light {
  font-weight: 400 !important;
}

/* Injected via static-site.js — does not rely on Tailwind being present */
#root footer .et-footer-brand-tagline {
  margin: 0 0 0.75rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgb(6 182 212 / 0.95);
}

@media (min-width: 768px) {
  #root footer .et-footer-brand-tagline {
    text-align: left;
  }
}

/* Restore interactive Tailwind colors over the base !important slate utilities */
#root footer .hover\:text-white:hover {
  color: rgb(255 255 255) !important;
}

#root footer .hover\:text-accent:hover {
  color: var(--et-color-accent) !important;
}

#root footer .group:hover .group-hover\:text-accent,
#root footer .group:focus-within .group-hover\:text-accent {
  color: var(--et-color-accent) !important;
}

#root footer .group:hover .group-hover\:text-white,
#root footer .group:focus-within .group-hover\:text-white {
  color: rgb(255 255 255) !important;
}

/* Trusted Hardware strip — phone: 3×3 grid (9 partner tiles) */
@media (max-width: 767.98px) {
  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 0.75rem !important;
    row-gap: 1rem !important;
    justify-items: center;
    align-items: start;
    width: 100%;
    max-width: 22.5rem;
    margin-inline: auto;
  }

  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group {
    width: 100%;
    max-width: 7rem;
  }

  [data-trusted-hardware-strip='true']
    .et-trusted-hardware__grid
    > .group
    > div[class*='rounded-2xl'] {
    width: 100% !important;
    max-width: 100% !important;
    height: 3.5rem !important;
    min-height: 3.5rem !important;
    padding: 0.4rem 0.5rem !important;
  }

  [data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'] {
    max-height: 30px !important;
  }
}

/* Desktop: compact Trusted Hardware white tiles (et-site-footer / long-tail pages) */
@media (min-width: 768px) {
  footer.et-site-footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid {
    column-gap: 1.75rem !important;
    row-gap: 1.5rem !important;
  }

  footer.et-site-footer .et-trusted-hardware--site[data-trusted-hardware-strip='true']
    .et-trusted-hardware__grid
    > .group
    > div[class*='rounded-2xl'] {
    width: 9.25rem !important;
    max-width: 9.25rem !important;
    min-width: 0 !important;
    height: 4.5rem !important;
    min-height: 4.5rem !important;
    max-height: 4.5rem !important;
    padding: 0.625rem 0.75rem !important;
  }

  footer.et-site-footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'] {
    max-height: 32px !important;
    width: auto !important;
  }
}

/* Sitewide footer — “Trusted Hardware” strip (partner tiles + category labels) */
footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] {
  padding-block: clamp(14px, 3vw, 26px);
}

footer .et-trusted-hardware--site .et-trusted-hardware__label {
  color: rgb(241 245 249 / 0.96);
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.38);
}

footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']::before {
  opacity: 0.65;
}

footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'] {
  filter:
    contrast(1.09) saturate(1.05) brightness(1.025) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.26));
}

footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover img[src*='/logos/'],
footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within img[src*='/logos/'] {
  transform: translateY(-3px) translateZ(0);
  -webkit-transform: translateY(-3px) translateZ(0);
  filter:
    contrast(1.1) saturate(1.06) brightness(1.03) drop-shadow(0 5px 16px rgba(0, 0, 0, 0.3))
    drop-shadow(0 0 1px rgba(255, 255, 255, 0.32));
}

#root footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group > span.text-slate-600 {
  color: rgb(226 232 240) !important;
}

#root footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover > span.text-slate-600,
#root footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within > span.text-slate-600 {
  color: var(--et-color-accent) !important;
}

@media (prefers-reduced-motion: reduce) {
  footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid img[src*='/logos/'],
  footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:hover img[src*='/logos/'],
  footer .et-trusted-hardware--site[data-trusted-hardware-strip='true'] .et-trusted-hardware__grid > .group:focus-within img[src*='/logos/'] {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* /pendant — Never Alone hero wordmark (SVG on light card) */
body.et-page-service-safety [data-never-alone-logo='true'] img {
  display: block;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: contrast(1.06) saturate(1.05) brightness(1.02);
  image-rendering: auto;
}

/* /pendant — Never Alone hero logo card */
@media (prefers-reduced-motion: reduce) {
  body.et-page-service-safety .et-never-alone-logo-card {
    transition-property: border-color, box-shadow !important;
    transform: none !important;
  }

  body.et-page-service-safety .et-never-alone-logo-card:hover {
    transform: none !important;
  }

  body.et-page-service-safety [data-never-alone-logo='true'] > .pointer-events-none:first-child {
    opacity: 0.35;
  }
}

/* Service hubs (/services/*, /pendant, /it-support) — hero + inset border block */
body.et-page-service-cctv #main .bg-secondary .bg-hero-gradient,
body.et-page-service-wifi #main .bg-secondary .bg-hero-gradient,
body.et-page-service-alarms #main .bg-secondary .bg-hero-gradient,
body.et-page-service-cabling #main .bg-secondary .bg-hero-gradient,
body.et-page-service-starlink #main .bg-secondary .bg-hero-gradient,
body.et-page-service-safety #main .bg-secondary .bg-hero-gradient,
body.et-page-service-it-support #main .bg-secondary .bg-hero-gradient {
  opacity: 0.92;
}

body.et-page-service-cctv #main .border-l-4[class*='border-accent'],
body.et-page-service-wifi #main .border-l-4[class*='border-accent'],
body.et-page-service-alarms #main .border-l-4[class*='border-accent'],
body.et-page-service-cabling #main .border-l-4[class*='border-accent'],
body.et-page-service-starlink #main .border-l-4[class*='border-accent'],
body.et-page-service-safety #main .border-l-4[class*='border-accent'],
body.et-page-service-it-support #main .border-l-4[class*='border-accent'] {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-radius: 0 1rem 1rem 0;
}

/* Fallback before Tailwind CDN paints (also respects reduced motion) */
@keyframes et-header-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: et-header-fade-in 0.6s ease-out forwards;
}

@media (prefers-reduced-motion: reduce) {
  .animate-fade-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ==========================================================================
   Global UI polish — applies across Tailwind-powered inner pages
   ========================================================================== */

/* White section bands sit on subtle canvas without showing seams */
#root main section.bg-white {
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

/* Unified shell headers (fixed bar) — blur always; shadow deepens when scrolled (see static-site.js) */
#root > div.flex.flex-col.min-h-screen > header.fixed {
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
}

#root > div.flex.flex-col.min-h-screen > header[data-site-header='true'].fixed {
  isolation: isolate;
}

@media (prefers-reduced-motion: no-preference) {
  #root > div.flex.flex-col.min-h-screen > header.fixed:not([data-static-home-header]) {
    transition:
      box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
      border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
      background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }
}

#root > div.flex.flex-col.min-h-screen > header.fixed:not([data-static-home-header]):not([data-scrolled='true']) {
  border-color: rgb(203 213 225);
  background-color: rgba(255, 255, 255, 0.86) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.88) inset,
    0 8px 28px -18px rgba(15, 23, 42, 0.09);
}

#root > div.flex.flex-col.min-h-screen > header.fixed[data-scrolled='true']:not([data-static-home-header]) {
  border-color: rgb(203 213 225);
  background-color: rgba(255, 255, 255, 0.94) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 18px 48px -16px rgba(15, 23, 42, 0.14),
    0 6px 16px -8px rgba(37, 99, 235, 0.07);
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

/* Services mega-menu — depth + crisp edge */
header[data-site-header='true'] [data-header-nav='true'] .absolute.top-full .rounded-2xl.border.border-neutral-100 {
  border-color: rgb(203 213 225) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.98) inset,
    0 28px 56px -20px rgba(15, 23, 42, 0.16),
    0 0 0 1px rgba(15, 23, 42, 0.07) !important;
}

header[data-site-header='true'] [data-header-nav='true'] .absolute.top-full a.rounded-xl:hover,
header[data-site-header='true'] [data-header-nav='true'] .absolute.top-full a.rounded-xl:focus-visible {
  background-color: rgba(248, 250, 252, 0.98) !important;
}

/* Current page inside Services mega-menu — keep primary tint over generic slate hover */
header[data-site-header='true'] [data-header-nav='true'] .absolute.top-full a.rounded-xl[aria-current='page']:hover,
header[data-site-header='true'] [data-header-nav='true'] .absolute.top-full a.rounded-xl[aria-current='page']:focus-visible {
  background-color: rgba(37, 99, 235, 0.09) !important;
  color: rgb(29 78 216) !important;
}

header[data-site-header='true'] a[href='/']:focus-visible .easttech-logo-panel--header,
header[data-site-header='true'] a[href='/']:focus-visible {
  outline: none;
}

header[data-site-header='true'] a[href='/']:focus-visible {
  border-radius: 0.75rem;
  box-shadow: var(--et-focus-ring);
}

header[data-site-header='true'] a[data-header-cta='true']:focus-visible {
  outline: none;
  box-shadow:
    var(--et-focus-ring),
    0 14px 36px -12px rgba(30, 64, 175, 0.42);
}

/* --------------------------------------------------------------------------
   Header primary CTA — “Get free quote” (premium chrome, all pages)
   -------------------------------------------------------------------------- */

header[data-site-header='true'] a[data-header-cta='true'] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 9999px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: none;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #172554 0%, #1d4ed8 42%, #0f766e 100%) !important;
  color: #f8fafc !important;
  -webkit-font-smoothing: antialiased;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 10px 32px -10px rgba(30, 64, 175, 0.55),
    0 2px 8px rgba(15, 23, 42, 0.1);
  transition:
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s ease,
    filter 0.28s ease,
    border-color 0.28s ease;
}

header[data-site-header='true'] a[data-header-cta='true']::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, transparent 48%);
  pointer-events: none;
  z-index: 1;
}

header[data-site-header='true'] a[data-header-cta='true'] > span {
  position: relative;
  z-index: 2;
}

header[data-site-header='true'] a[data-header-cta='true'] > span svg {
  flex-shrink: 0;
}

header[data-site-header='true'] a[data-header-cta='true'] > div.absolute {
  display: none !important;
}

header[data-site-header='true'] a[data-header-cta='true']:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  border-color: rgba(165, 243, 252, 0.38) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.26) inset,
    0 16px 44px -12px rgba(30, 64, 175, 0.55),
    0 4px 14px rgba(6, 182, 212, 0.14);
}

header[data-static-home-header='true'][data-scrolled='false'] a[data-header-cta='true'] {
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%) !important;
  color: #0f172a !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 0 0 1px rgba(6, 182, 212, 0.22),
    0 3px 6px rgba(0, 0, 0, 0.06),
    0 18px 42px -14px rgba(0, 0, 0, 0.38);
}

header[data-static-home-header='true'][data-scrolled='false'] a[data-header-cta='true']::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, transparent 42%);
}

header[data-static-home-header='true'][data-scrolled='false'] a[data-header-cta='true']:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  border-color: rgba(165, 243, 252, 0.65) !important;
  box-shadow:
    0 1px 0 #ffffff inset,
    0 0 0 1px rgba(6, 182, 212, 0.35),
    0 22px 48px -14px rgba(0, 0, 0, 0.42);
}

header[data-static-home-header='true'][data-scrolled='true'] a[data-header-cta='true'] {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background-image: linear-gradient(135deg, #172554 0%, #1e40af 44%, #0e7490 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 12px 36px -12px rgba(30, 64, 175, 0.5),
    0 2px 8px rgba(15, 23, 42, 0.08);
}

header[data-static-home-header='true'][data-scrolled='true'] a[data-header-cta='true']::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 46%);
}

header[data-site-header='true'] a[data-header-cta='true']:active {
  transform: translateY(0);
  filter: brightness(0.97);
  transition-duration: 0.08s;
}

@media (prefers-reduced-motion: reduce) {
  header[data-site-header='true'] a[data-header-cta='true']:hover,
  header[data-static-home-header='true'][data-scrolled='false'] a[data-header-cta='true']:hover {
    transform: none;
  }

  header[data-site-header='true'] a[data-header-cta='true']:active {
    transform: none;
    filter: none;
  }
}

#mobile-menu.is-open {
  box-shadow: 0 -12px 48px -20px rgba(15, 23, 42, 0.12);
}

/* Mobile nav open: drawer below chrome, header always on top (above page floats + sticky CTAs) */
html[data-et-nav-drawer-open] header[data-site-header='true'] {
  z-index: 110;
}

html[data-et-nav-drawer-open] #mobile-menu.is-open {
  z-index: 60;
}

/* Bottom sticky quote bar sits below drawer + chrome while menu is open */
html[data-et-nav-drawer-open] .et-mobile-sticky-cta {
  z-index: 35;
  opacity: 0;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Header polish — pass 2 (nav rhythm, drawer, dropdown, keyboard)
   -------------------------------------------------------------------------- */

header[data-site-header='true'] {
  overflow: visible;
}

header[data-site-header='true'] [data-header-nav='true'] {
  position: relative;
  z-index: 20;
}

header[data-site-header='true'] [data-header-nav='true'] .group\/dropdown > .absolute.top-full {
  z-index: 50;
}

#root #mobile-menu {
  background: linear-gradient(180deg, rgb(248 250 252 / 0.97) 0%, #ffffff 22%);
  border-top: 1px solid rgb(203 213 225);
}

#root #mobile-menu .border-b.border-slate-100 span.text-xs.font-bold.uppercase.tracking-widest {
  letter-spacing: 0.16em;
  font-size: 0.6875rem;
  color: rgb(71 85 105);
}

header[data-site-header='true'] > div.max-w-7xl {
  row-gap: var(--et-space-2);
  padding-inline: max(1.5rem, env(safe-area-inset-left, 0px))
    max(1.5rem, env(safe-area-inset-right, 0px));
}

/* Mobile: premium header rhythm — safe areas, air between logo & actions, touch targets */
@media (max-width: 767.98px) {
  html {
    scroll-padding-top: max(5.75rem, calc(env(safe-area-inset-top, 0px) + 4.5rem));
  }

  header[data-site-header='true'].fixed {
    padding-top: max(0.875rem, calc(env(safe-area-inset-top, 0px) + 0.5rem)) !important;
    padding-bottom: 0.875rem !important;
  }

  header[data-site-header='true'] > div.max-w-7xl.flex.justify-between.items-center {
    column-gap: 1.125rem;
  }

  header[data-site-header='true'] > div.max-w-7xl > .flex.items-center.gap-4.lg\:hidden {
    gap: 1.125rem !important;
  }

  header[data-site-header='true'] [data-header-mobile-phone='true'],
  header[data-site-header='true'] #mobile-menu-toggle {
    box-sizing: border-box;
    min-width: 2.875rem;
    min-height: 2.875rem;
    padding: 0.6875rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.875rem !important;
  }

  #mobile-menu.fixed {
    padding-top: max(7.75rem, calc(env(safe-area-inset-top, 0px) + 5.75rem)) !important;
  }

  /* Primary drawer links: comfortable tap targets (WCAG ~44px min) */
  #root #mobile-menu a[href].flex,
  #root #mobile-menu a[href].block,
  #root #mobile-menu a[href].inline-flex {
    min-height: 2.75rem;
    align-items: center;
  }

  #root #mobile-menu .grid a[href],
  #root #mobile-menu a.text-2xl {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  #root
    > div.flex.flex-col.min-h-screen
    > header.fixed[data-scrolled='true']:not([data-static-home-header]) {
    padding-top: max(0.625rem, calc(env(safe-area-inset-top, 0px) + 0.375rem)) !important;
    padding-bottom: 0.625rem !important;
  }
}

@media (min-width: 1024px) {
  header[data-site-header='true'] nav.hidden.lg\:flex {
    flex-wrap: nowrap;
    column-gap: clamp(1.25rem, 2.2vw, 2.25rem);
    align-items: center;
  }
}

/* Services mega-menu: keyboard users can reach panel (hover still primary) */
header[data-site-header='true'] [data-header-nav='true'] .group\/dropdown:focus-within > .absolute.top-full {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#root header[data-site-header='true'] #mobile-menu-toggle:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

/* Mobile header chrome — minimum 44×44 CSS px tap targets (WCAG 2.5.5) */
@media (max-width: 1023.98px) {
  #root header[data-site-header='true'] #mobile-menu-toggle {
    box-sizing: border-box;
    min-width: var(--et-touch-min);
    min-height: var(--et-touch-min);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: var(--et-space-1);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
}

/* Inner nav — gradient underline on text links (not CTAs) */
header[data-site-header='true'] nav a.text-slate-600,
header:not([data-static-home-header]) nav a.text-slate-600 {
  position: relative;
  color: rgb(51 65 85);
}

header[data-site-header='true'] nav a.text-slate-600::after,
header:not([data-static-home-header]) nav a.text-slate-600::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(37 99 235), rgb(6 182 212));
  transition: width 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

#mobile-menu a.text-slate-600::after {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  header[data-site-header='true'] nav a.text-slate-600:hover::after,
  header:not([data-static-home-header]) nav a.text-slate-600:hover::after {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  header[data-site-header='true'] nav a.text-slate-600::after,
  header:not([data-static-home-header]) nav a.text-slate-600::after {
    transition: none;
  }
}

/* Main typography rhythm */
#root main#main {
  -webkit-font-smoothing: antialiased;
}

/* Ultra-clear secondary copy — Tailwind slate utilities read one weight darker in main */
#root main#main .text-slate-400 {
  color: rgb(100 116 139);
}

#root main#main .text-slate-500 {
  color: rgb(71 85 105);
}

#root main#main .text-slate-600 {
  color: rgb(51 65 85);
}

#root main#main .text-slate-700 {
  color: rgb(30 41 59);
}

#root main#main .max-w-4xl > h1:first-child,
#root main#main .max-w-3xl > h1:first-child,
#root main#main .max-w-2xl > h1:first-child {
  letter-spacing: -0.025em;
}

#root main#main p {
  line-height: 1.65;
}

#root main#main p + p {
  margin-top: 0;
}

/* Content links — clearer affordance without overriding utility colours */
#root main#main a[href]:not([class*='rounded-full']):not([class*='bg-']) {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1.5px;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

#root main#main a.text-blue-600:hover,
#root main#main a.text-blue-700:hover {
  text-decoration-color: rgba(37, 99, 235, 0.6);
}

/* Breadcrumb strips */
#root main#main nav.text-sm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: var(--et-space-2);
  row-gap: var(--et-space-1);
}

#root main#main nav.text-sm a {
  transition: color 0.15s ease;
}

/* Form fields in content (tool pages, contact-style blocks) */
#root main#main input::placeholder,
#root main#main textarea::placeholder {
  color: rgb(100 116 139);
  opacity: 1;
}

#root main#main select:not([class*='focus:']),
#root main#main input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
#root main#main textarea:not([class*='focus:']) {
  background-color: #fff;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

#root main#main select:not([class*='focus:']):focus-visible,
#root main#main input:not([type='hidden']):not([type='checkbox']):not([type='radio']):focus-visible,
#root main#main textarea:not([class*='focus:']):focus-visible {
  outline: none;
  border-color: rgb(37 99 235);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.32);
}

/* FAQ / disclosure blocks */
#root main#main details summary {
  cursor: pointer;
  list-style-position: outside;
}

#root main#main details summary::-webkit-details-marker {
  color: rgb(71 85 105);
}

#root main#main details {
  transition:
    box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.2s ease;
}

#root main#main details[open] {
  box-shadow: var(--et-shadow-md);
}

/* Elevated cards — defined edge at rest; lift on hover */
#root main#main .rounded-2xl.border.border-slate-200,
#root main#main .rounded-xl.border.border-slate-200,
#root main#main .rounded-2xl.border.border-slate-100,
#root main#main .rounded-xl.border.border-slate-100 {
  border-color: rgb(203 213 225);
  transition:
    box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root main#main .rounded-2xl.border.border-slate-200:hover,
  #root main#main .rounded-xl.border.border-slate-200:hover,
  #root main#main .rounded-2xl.border.border-slate-100:hover,
  #root main#main .rounded-xl.border.border-slate-100:hover {
    border-color: rgb(148 163 184);
    box-shadow: var(--et-shadow-md);
  }
}

@media (prefers-reduced-motion: reduce) {
  #root main#main details,
  #root main#main .rounded-2xl.border.border-slate-200,
  #root main#main .rounded-xl.border.border-slate-200,
  #root main#main .rounded-2xl.border.border-slate-100,
  #root main#main .rounded-xl.border.border-slate-100 {
    transition: none;
  }
}

#root main#main blockquote {
  margin-block: var(--et-space-4);
  margin-inline: 0;
  padding: var(--et-space-2) 0 var(--et-space-2) var(--et-space-3);
  /* 3px: optical weight vs 8px grid stripe */
  border-left: 3px solid rgba(37, 99, 235, 0.55);
  border-radius: 0 var(--et-radius-sm) var(--et-radius-sm) 0;
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.055), transparent 72%);
  color: rgb(51 65 85);
  font-style: normal;
}

#root main#main hr {
  margin-block: var(--et-space-6);
  margin-inline: 0;
  border: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(148, 163, 184, 0.58),
    transparent
  );
}

#root main#main code:not(pre code) {
  font-size: 0.92em;
  padding: 0.12em 0.38em;
  border-radius: 0.3rem;
  background: rgba(241 245 249 / 0.95);
  border: 1px solid rgb(203 213 225);
  font-weight: 500;
}

/* Minimal footers (single-line copyright) — exclude dark sitewide shell (bg-[#020617] is not bg-slate-9*) */
#root > div.flex.flex-col.min-h-screen
  > footer:not([class*='bg-slate-9']):not(.et-site-footer):not([class*='020617']) {
  border-top: 1px solid rgb(203 213 225);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* Dark footers — keep hierarchy readable */
#root footer.bg-slate-900,
#root footer.bg-slate-950,
#root footer[class*='020617'] {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 -12px 48px -28px rgba(0, 0, 0, 0.35);
}

/* Sitewide footer — unified dark shell + CTA affordance */
#root footer.et-site-footer {
  isolation: isolate;
  background-color: rgb(2 6 23);
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  color: rgb(241 245 249);
}

/* Default link colour when markup only sets hover utilities */
#root footer.et-site-footer a:not([class*='text-white']):not([class*='text-accent']):not([class*='text-secondary']):not(
    [class*='text-slate-']
  ):not([class*='text-blue']) {
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  #root footer.et-site-footer a[href='/contact'].shadow-et {
    transition: none !important;
    transform: none !important;
  }
}

/* Sitewide footer typography + “at a glance” meta strip */
#root footer.et-site-footer .et-site-footer__meta {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

#root footer.et-site-footer .et-site-footer__meta-inner {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

/* Dark footer — “Ready to Secure” strip + meta: hub from centre outward (all pages) */
#root footer.et-site-footer > .max-w-7xl > div.py-14.md\:py-16.border-b.border-white\/\[0\.07\].flex.flex-col.md\:flex-row.justify-between.items-center {
  justify-content: center !important;
}

#root footer.et-site-footer .text-center.md\:text-left {
  text-align: center !important;
}

#root footer.et-site-footer div.max-w-xl.mx-auto.md\:mx-0 {
  margin-inline: auto !important;
}

#root footer.et-site-footer .et-site-footer__meta-lead {
  font-size: clamp(0.96875rem, 0.24vw + 0.88rem, 1.09375rem);
  line-height: 1.68;
  letter-spacing: 0.011em;
}

#root footer.et-site-footer .et-site-footer__meta-line {
  font-size: clamp(0.84375rem, 0.18vw + 0.78rem, 0.96875rem);
  line-height: 1.64;
  letter-spacing: 0.016em;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a {
  line-height: 1.52;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 .text-xs {
  line-height: 1.38;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a.text-xl {
  line-height: 1.3;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 span.font-medium {
  line-height: 1.55;
  color: rgb(241 245 249);
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 .inline-flex span.text-sm {
  line-height: 1.38;
}

#root [data-et-page='home'] footer.et-site-footer .lg\:col-span-4 > p.text-slate-400 {
  color: rgb(203 213 225);
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner {
  max-width: 36rem;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .et-site-footer__meta-lead {
  line-height: 1.72;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .et-site-footer__meta-line {
  line-height: 1.7;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .et-site-footer__meta-line + .et-site-footer__meta-line {
  margin-top: 0.625rem;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .rounded-2xl.overflow-hidden {
  margin-top: 0.5rem;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta a.text-accent {
  font-weight: 700;
}

#root footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 h2.text-3xl {
  font-size: clamp(1.625rem, 0.9vw + 1.35rem, 2.25rem);
  line-height: 1.14;
  letter-spacing: -0.028em;
  margin-bottom: 0.85rem;
}

#root footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 div.max-w-xl p.text-lg {
  font-size: clamp(1rem, 0.2vw + 0.93rem, 1.125rem);
  line-height: 1.55;
  letter-spacing: 0.01em;
}

#root footer.et-site-footer .py-16.md\:py-20 h3.text-xl {
  font-size: clamp(1.0625rem, 0.18vw + 0.96rem, 1.1875rem);
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin-bottom: 1.75rem;
}

#root footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a {
  font-size: clamp(0.8125rem, 0.12vw + 0.78rem, 0.875rem);
  line-height: 1.45;
  letter-spacing: 0.012em;
}

#root footer.et-site-footer .py-16.md\:py-20 .lg\:col-span-4 > p.text-slate-400 {
  font-size: clamp(0.9375rem, 0.15vw + 0.88rem, 1rem);
  line-height: 1.62;
  letter-spacing: 0.01em;
}

#root footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a.text-xl {
  font-size: clamp(1.0625rem, 0.25vw + 0.95rem, 1.25rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

#root footer.et-site-footer .border-t.border-white\/\[0\.08\] > div > p,
#root footer.et-site-footer .border-t.border-white\/\[0\.08\] a {
  font-size: clamp(0.71875rem, 0.14vw + 0.67rem, 0.78125rem);
  line-height: 1.48;
  letter-spacing: 0.035em;
}

/* ---- et-site-footer — final polish (stacking, rhythm, focus, hovers) ---- */
#root footer.et-site-footer > .max-w-7xl {
  padding-inline: clamp(1.125rem, 2.4vw, 1.85rem);
}

#root footer.et-site-footer .et-site-footer__meta {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.042) 0%, transparent 58%);
}

#root footer.et-site-footer .et-site-footer__meta a {
  transition:
    color 0.16s ease,
    text-decoration-color 0.16s ease,
    opacity 0.16s ease;
}

#root footer.et-site-footer .et-site-footer__meta a:focus-visible {
  outline: 2px solid rgba(6, 182, 212, 0.92);
  outline-offset: 3px;
  border-radius: 0.2rem;
}

#root footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a {
  display: inline-block;
  padding-block: 0.15rem;
  border-radius: 0.25rem;
  transition: color 0.16s ease, transform 0.16s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a:hover {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  #root footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a,
  #root footer.et-site-footer .et-site-footer__meta a {
    transition: none !important;
  }

  #root footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a:hover {
    transform: none !important;
  }
}

#root footer.et-site-footer .py-16.md\:py-20 span.block.text-xs.text-slate-500 {
  letter-spacing: 0.14em;
  opacity: 0.9;
}

#root footer.et-site-footer .py-16.md\:py-20 .lg\:col-span-4 .inline-flex.items-center.gap-4 {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 1px 0 rgba(0, 0, 0, 0.12);
}

#root footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 {
  column-gap: clamp(2rem, 4.5vw, 3.25rem);
}

#root footer.et-site-footer a[href='/contact'].rounded-full.bg-white {
  transition:
    transform 0.18s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease;
}

#root footer.et-site-footer a[href='/contact'].rounded-full.bg-white:focus-visible {
  outline: 2px solid rgba(6, 182, 212, 0.95);
  outline-offset: 3px;
}

#root footer.et-site-footer .border-t.border-white\/\[0\.08\] {
  row-gap: 0.65rem;
}

#root footer.et-site-footer .border-t.border-white\/\[0\.08\] > div.flex.gap-8 > a {
  text-underline-offset: 0.22em;
}

@media (hover: hover) and (pointer: fine) {
  #root footer.et-site-footer .border-t.border-white\/\[0\.08\] > div.flex.gap-8 > a:hover {
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.38);
  }
}

/* -------- Tier 2 polish: anchors, lists, emphasis, CTAs -------- */

#root main#main h2[id],
#root main#main h3[id],
#root main#main [id].scroll-mt {
  scroll-margin-top: 6.5rem;
}

#root main#main h2.font-heading,
#root main#main h3.font-heading {
  letter-spacing: -0.02em;
}

#root main#main ul.list-disc li::marker {
  color: rgb(6 182 212);
}

#root main#main ol {
  padding-left: 1.35rem;
}

#root main#main ol li::marker {
  color: rgb(100 116 139);
  font-weight: 600;
}

#root main#main strong {
  font-weight: 600;
}

/* Primary CTAs in article body */
#root main#main a.inline-block[class*='rounded-full'][class*='bg-blue'],
#root main#main a.inline-flex[class*='rounded-full'][class*='bg-blue'] {
  transition:
    transform 0.18s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.18s ease,
    background-color 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root main#main a.inline-block[class*='rounded-full'][class*='bg-blue']:hover,
  #root main#main a.inline-flex[class*='rounded-full'][class*='bg-blue']:hover {
    transform: translateY(-2px);
    box-shadow:
      0 10px 28px -8px rgba(37, 99, 235, 0.45),
      0 4px 12px -4px rgba(6, 182, 212, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  #root main#main a.inline-block[class*='rounded-full'][class*='bg-blue'],
  #root main#main a.inline-flex[class*='rounded-full'][class*='bg-blue'] {
    transition: none;
    transform: none !important;
  }
}

/* Standalone utility pages */
body.et-page-thanks {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 0;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  background:
    radial-gradient(ellipse 120% 80% at 50% -20%, rgba(37, 99, 235, 0.07), transparent 52%),
    linear-gradient(165deg, #f1f5f9 0%, #ffffff 42%, #f8fafc 100%);
  color: #0f172a;
}

body.et-page-thanks .et-minimal-site-header {
  flex: 0 0 auto;
}

body.et-page-thanks #root {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  padding: clamp(16px, 4vw, 28px);
  background: transparent;
  background-image: none;
}

body.et-page-thanks main#main {
  width: min(100%, 680px);
  padding: clamp(28px, 5vw, 44px);
  border-radius: 1.75rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow:
    0 4px 6px rgba(15, 23, 42, 0.04),
    0 28px 72px -20px rgba(15, 23, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.et-page-404 {
  margin: 0;
  min-height: 100dvh;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif;
  background:
    radial-gradient(ellipse 100% 60% at 50% -10%, rgba(6, 182, 212, 0.08), transparent 50%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 50%);
  color: #0f172a;
}

body.et-page-404 #root {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  min-height: 100dvh;
  background: transparent;
  background-image: none;
}

body.et-page-404 #root > main.wrap {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 24px;
}

body.et-page-404 .card {
  max-width: 560px;
  width: 100%;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 1.25rem;
  padding: clamp(24px, 4vw, 36px);
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.05),
    0 24px 56px -24px rgba(15, 23, 42, 0.15);
}

body.et-page-404 .card h1 {
  margin: 0 0 12px;
  font-family:
    'Plus Jakarta Sans',
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif;
  font-size: clamp(1.5rem, 4vw, 1.85rem);
  letter-spacing: -0.03em;
}

body.et-page-404 .card p {
  margin: 0 0 22px;
  color: rgb(71 85 105);
  line-height: 1.6;
}

body.et-page-404 .card a {
  display: inline-block;
  margin-top: 6px;
  padding: 12px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 28px -12px rgba(37, 99, 235, 0.55);
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background-color 0.15s ease;
}

body.et-page-404 .card a:focus-visible {
  outline: none;
  box-shadow:
    var(--et-focus-ring),
    0 10px 28px -12px rgba(37, 99, 235, 0.55);
}

@media (hover: hover) and (pointer: fine) {
  body.et-page-404 .card a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px -12px rgba(37, 99, 235, 0.5);
  }
}

/* Inner pages: stable viewport height + main fills column under fixed header */
#root > div.flex.flex-col.min-h-screen {
  min-height: 100dvh;
}

#root main#main.flex-grow {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

/* ==========================================================================
   Site-wide perfection — prose surfaces, tables, print, tel legibility
   ========================================================================== */

#root a[href^='tel:'],
#root a[href^='mailto:'] {
  font-variant-numeric: tabular-nums;
  text-decoration-skip-ink: auto;
}

#root main#main table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.5;
}

#root main#main table th,
#root main#main table td {
  padding: 0.65rem 0.85rem;
  text-align: start;
  vertical-align: top;
  border: 1px solid rgba(226, 232, 240, 0.95);
}

#root main#main table th {
  font-weight: 600;
  color: rgb(15 23 42);
  background: linear-gradient(180deg, rgb(248 250 252) 0%, rgb(241 245 249) 100%);
}

#root main#main table tbody tr:nth-child(even) td {
  background-color: rgba(248 250 252 / 0.65);
}

#root main#main pre {
  margin-block: var(--et-space-4);
  padding: var(--et-space-3) var(--et-space-4);
  overflow-x: auto;
  border-radius: var(--et-radius-md);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgb(15 23 42);
  color: rgb(226 232 240);
  font-size: 0.875rem;
  line-height: 1.55;
  tab-size: 2;
}

#root main#main kbd {
  font-size: 0.85em;
  font-weight: 600;
  padding: 0.1em 0.4em;
  border-radius: 0.25rem;
  border: 1px solid rgb(203 213 225);
  background: rgb(248 250 252);
  box-shadow: 0 1px 0 rgba(255 255 255 / 0.9) inset;
}

#root main#main abbr[title] {
  text-decoration: underline dotted;
  text-underline-offset: 0.12em;
  cursor: help;
}

#root main#main figure {
  margin-block: var(--et-space-5);
  margin-inline: 0;
}

#root main#main figcaption {
  margin-top: var(--et-space-2);
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgb(71 85 105);
}

#root main#main iframe:not(.et-contact-map__frame) {
  border-radius: var(--et-radius-md);
  border: 1px solid rgb(203 213 225);
}

#root main#main details summary:focus-visible {
  outline: none;
  border-radius: var(--et-radius-sm);
  box-shadow: var(--et-focus-ring);
}

@media print {
  html {
    scroll-behavior: auto !important;
  }

  .et-skip,
  #scroll-to-top,
  .et-mobile-sticky-cta,
  #mobile-menu,
  #mobile-menu-toggle {
    display: none !important;
  }

  #root {
    background: #fff !important;
    background-image: none !important;
  }

  #root > [data-static-shell='true'] {
    padding-bottom: 0 !important;
  }

  #root > div.flex.flex-col.min-h-screen > header {
    position: static !important;
    box-shadow: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  #root main#main {
    padding-top: 0 !important;
  }

  #root main#main a[href^='http']:not([href*='easttech.com.au'])::after {
    content: ' (' attr(href) ')';
    font-size: 0.75em;
    font-weight: 400;
    word-break: break-all;
  }

  #root footer.et-site-footer a[href^='http']:not([href*='easttech.com.au'])::after {
    content: ' (' attr(href) ')';
    font-size: 0.72em;
    font-weight: 400;
    word-break: break-all;
  }
}

/* Mobile sticky quote — single premium CTA (injected via static-site.js) */
.et-mobile-sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 60;
  display: block;
  opacity: 1;
  transition: opacity 0.22s ease;
}

@media (min-width: 1024px) {
  .et-mobile-sticky-cta {
    display: none !important;
  }
}

.et-mobile-sticky-cta__inner {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.625rem clamp(0.75rem, 4vw, 1.25rem);
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background-color: rgba(2, 6, 23, 0.94);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  backdrop-filter: blur(12px) saturate(1.1);
  box-shadow:
    0 -1px 0 rgba(255, 255, 255, 0.04) inset,
    0 -16px 48px rgba(0, 0, 0, 0.45);
}

.et-mobile-sticky-cta-quote {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  display: inline-flex;
  width: 100%;
  max-width: min(24rem, calc(100% - 2.5rem));
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.35rem;
  border-radius: 9999px;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  color: #f8fafc !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background-color: transparent;
  background-image: linear-gradient(135deg, #172554 0%, #1d4ed8 42%, #0f766e 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 10px 28px -10px rgba(30, 64, 175, 0.55),
    0 2px 8px rgba(15, 23, 42, 0.1);
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.25s ease,
    filter 0.25s ease,
    border-color 0.25s ease;
}

.et-mobile-sticky-cta-quote::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, transparent 48%);
  pointer-events: none;
  z-index: 0;
}

.et-mobile-sticky-cta-quote__label {
  position: relative;
  z-index: 1;
}

.et-mobile-sticky-cta-quote:focus {
  outline: none;
}

.et-mobile-sticky-cta-quote:focus-visible {
  box-shadow:
    var(--et-focus-ring),
    0 12px 32px -10px rgba(30, 64, 175, 0.45);
}

@media (hover: hover) and (pointer: fine) {
  .et-mobile-sticky-cta-quote:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
    border-color: rgba(165, 243, 252, 0.38);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.24) inset,
      0 14px 40px -12px rgba(30, 64, 175, 0.5),
      0 4px 14px rgba(6, 182, 212, 0.12);
  }
}

.et-mobile-sticky-cta-quote:active {
  transform: translateY(0);
  filter: brightness(0.96);
  transition-duration: 0.08s;
}

@media (prefers-reduced-motion: reduce) {
  .et-mobile-sticky-cta {
    transition: none;
  }

  .et-mobile-sticky-cta-quote:hover,
  .et-mobile-sticky-cta-quote:active {
    transform: none;
    filter: none;
  }
}

/* Mobile: lift scroll-to-top above sticky quote bar (home + JS-injected inner pages) */
@media (max-width: 1023px) {
  #root:has(.et-mobile-sticky-cta) #scroll-to-top {
    bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
  }
}

/* ==========================================================================
   Homepage — perfection pass (scoped to #root [data-et-page='home'])
   Surgical spacing/readability/interaction only — no redesign
   ========================================================================== */

#root [data-et-page='home'] {
  overflow-x: clip;
  --et-h-navy: #07111f;
  --et-h-deep: #030814;
  --et-h-cyan: #00c8e8;
  --et-h-cyan-line: #7aeefc;
  --et-h-blue: #2448d8;
  --et-h-white: #ffffff;
  --et-h-body-dk: #d4dbe8;
  --et-h-muted-dk: #9aa8bc;
  --et-h-body-lt: #1d2738;
  --et-h-muted-lt: #526071;
  --et-h-container: 1200px;
  --et-h-r-btn: 14px;
  --et-h-r-card: 18px;
  --et-h-r-panel: 24px;
  --et-h-ease: ease-out;
  --et-h-dur: 200ms;
}

/* ----- Shell containers (header / main hero / footer shell) ----- */
#root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl,
#root [data-et-page='home'] main#main .max-w-7xl,
#root [data-et-page='home'] footer.et-site-footer > .max-w-7xl {
  max-width: min(100%, var(--et-h-container)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

@media (min-width: 768px) {
  #root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl,
  #root [data-et-page='home'] main#main .max-w-7xl,
  #root [data-et-page='home'] footer.et-site-footer > .max-w-7xl {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl,
  #root [data-et-page='home'] main#main .max-w-7xl,
  #root [data-et-page='home'] footer.et-site-footer > .max-w-7xl {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

/* ----- Header (home) ----- */
#root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl {
  min-height: 76px;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

#root [data-et-page='home'] header[data-site-header='true'] {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Sit above hero and in-page layers; drawer-open state bumps higher (see html[data-et-nav-drawer-open]) */
  z-index: 100;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] header[data-site-header='true'] > div.max-w-7xl {
    min-height: 84px;
  }

  #root [data-et-page='home'] header[data-site-header='true'] nav.hidden.lg\:flex {
    column-gap: 26px !important;
    align-items: center;
  }

  #root [data-et-page='home'] header[data-site-header='true'] a[data-header-services-link='true'],
  #root [data-et-page='home'] header[data-site-header='true'] a[data-header-about='true'],
  #root [data-et-page='home'] header[data-site-header='true'] a[data-header-contact='true'] {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
  }

  #root [data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] > a.text-slate-100,
  #root [data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] a[data-header-services-link='true'] {
    transition: color var(--et-h-dur) var(--et-h-ease), opacity var(--et-h-dur) var(--et-h-ease) !important;
  }

  @media (hover: hover) and (pointer: fine) {
    #root [data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] > a.text-slate-100:hover,
    #root [data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] a[data-header-services-link='true']:hover {
      color: #ffffff !important;
      opacity: 1 !important;
    }
  }

  #root [data-et-page='home'] header[data-site-header='true'] [data-header-nav='true'] .rounded-full {
    min-height: 46px;
    padding: 0 22px !important;
    align-items: center;
    border-radius: 999px !important;
  }
}

#root [data-et-page='home'] .easttech-logo-panel--header img {
  width: 100% !important;
  height: auto !important;
  max-height: clamp(48px, 5.5vw, 58px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35)) contrast(1.03) !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] header[data-site-header='true'] a[href='/'] > div > div:has(> .easttech-logo-panel--header) {
    max-width: 190px !important;
  }
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] header[data-site-header='true'] a[href='/'] > div > div:has(> .easttech-logo-panel--header) {
    max-width: 156px !important;
  }

  #root [data-et-page='home'] .easttech-logo-panel--header img {
    max-height: 52px !important;
  }
}

/* ----- Hero section ----- */
#root [data-et-page='home'] section[data-et-home-hero='true'] {
  background-color: var(--et-h-navy) !important;
  color: var(--et-h-white);
  /* Full-bleed background; fixed-header clearance lives on inner .max-w-7xl padding-top */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Hero inner shell: top padding clears fixed header (section pt is 0 for full-bleed bg) */
#root [data-et-page='home'] section[data-et-home-hero='true'] .max-w-7xl {
  padding-top: calc(
    env(safe-area-inset-top, 0px) + clamp(5.625rem, 9vw + 3.5rem, 6.875rem)
  );
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

@media (min-width: 720px) and (max-width: 1023.98px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .max-w-7xl {
    padding-top: calc(
      env(safe-area-inset-top, 0px) + clamp(6.25rem, 7vw + 4.5rem, 8rem)
    );
  }
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .max-w-7xl {
    padding-top: calc(
      env(safe-area-inset-top, 0px) + clamp(7.5rem, 4vw + 6rem, 9.375rem)
    );
    padding-bottom: clamp(3.5rem, 5.5vw, 5rem);
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__layout {
    display: grid !important;
    grid-template-columns: 1.05fr 0.95fr !important;
    gap: clamp(2.25rem, 3.5vw, 3.25rem) !important;
    align-items: center !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy {
    max-width: 610px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__services {
    width: 100%;
    max-width: 560px !important;
    justify-self: end !important;
    align-self: center !important;
    margin-top: 0 !important;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy > [data-et-brand-tagline] {
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(0, 200, 232, 0.72) !important;
  margin-bottom: 14px !important;
  opacity: 1 !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__brand {
  font-size: clamp(17px, 0.4vw + 16px, 19px) !important;
  font-weight: 700 !important;
  color: var(--et-h-body-dk) !important;
  margin-bottom: 14px !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__headline {
  font-size: clamp(38px, 5vw, 44px) !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: -0.038em !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__headline {
    font-size: clamp(40px, 3.85vw, 58px) !important;
    line-height: 1.05 !important;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy h1 span.block.text-white {
  color: #ffffff !important;
  text-shadow: 0 1px 22px rgba(0, 0, 0, 0.18);
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy h1 span.block.text-accent {
  color: #7aeefc !important;
  text-shadow:
    0 0 22px rgba(0, 200, 232, 0.35),
    0 1px 0 rgba(0, 0, 0, 0.25);
  max-width: 22ch;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy h1 span.block.text-accent {
    max-width: 20ch;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__lead {
  font-size: clamp(16px, 0.35vw + 15px, 18px) !important;
  line-height: 1.82 !important;
  color: #e2e9f2 !important;
  max-width: 33.5rem !important;
  margin-bottom: 24px !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row {
  gap: 18px !important;
  margin-top: 0 !important;
  max-width: 100% !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 54px !important;
  height: 54px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--et-h-r-btn) !important;
  min-width: min(100%, 236px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition:
    transform var(--et-h-dur) var(--et-h-ease),
    box-shadow var(--et-h-dur) var(--et-h-ease),
    border-color var(--et-h-dur) var(--et-h-ease),
    background-color var(--et-h-dur) var(--et-h-ease),
    filter var(--et-h-dur) var(--et-h-ease) !important;
}

@media (min-width: 640px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a {
    flex: 0 1 auto !important;
    min-width: 220px !important;
    max-width: 250px;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/contact'] {
  background-color: var(--et-h-blue) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: var(--et-h-white) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 10px 32px rgba(36, 72, 216, 0.42),
    0 0 0 1px rgba(92, 140, 255, 0.12) !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/services'] {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.36) !important;
  color: var(--et-h-white) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 8px 26px rgba(0, 0, 0, 0.22) !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a:focus-visible {
  outline: 2px solid rgba(0, 200, 232, 0.85) !important;
  outline-offset: 3px !important;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/contact']:hover {
    background-color: #3358e8 !important;
    filter: none !important;
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.18) inset,
      0 14px 36px rgba(36, 72, 216, 0.48),
      0 0 24px rgba(36, 72, 216, 0.3) !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a[href='/services']:hover {
    border-color: rgba(0, 200, 232, 0.55) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.08) inset,
      0 10px 26px rgba(0, 0, 0, 0.22),
      0 0 0 1px rgba(0, 200, 232, 0.2) !important;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__trust {
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.52 !important;
  color: #e2e9f2 !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__trust li {
  align-items: flex-start !important;
  column-gap: 0.65rem !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__trust .text-accent {
  color: var(--et-h-cyan-line) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin-top: 0.05em;
}

/* ----- Hero service cards ----- */
#root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__service-grid {
  align-items: stretch !important;
}

@media (min-width: 640px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__service-grid {
    grid-auto-rows: 1fr !important;
  }
}

@media (min-width: 900px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__service-grid {
    gap: 18px !important;
  }
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card {
  cursor: pointer;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  height: 100% !important;
  min-height: 144px !important;
  border-radius: var(--et-h-r-card) !important;
  background: rgba(255, 255, 255, 0.085) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 10px 30px rgba(0, 0, 0, 0.26) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
  backdrop-filter: blur(10px) saturate(1.08);
  transition:
    transform var(--et-h-dur) var(--et-h-ease),
    box-shadow var(--et-h-dur) var(--et-h-ease),
    border-color var(--et-h-dur) var(--et-h-ease),
    background-color var(--et-h-dur) var(--et-h-ease) !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card:focus-visible {
  outline: 2px solid rgba(0, 200, 232, 0.85) !important;
  outline-offset: 2px !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > div:first-child {
  color: var(--et-h-cyan-line) !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > div:first-child svg {
  width: 26px !important;
  height: 26px !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > span {
  margin-top: 10px !important;
  margin-bottom: 6px !important;
}

#root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > p {
  font-size: 14px !important;
  line-height: 1.52 !important;
  color: #d8e0eb !important;
  margin-top: auto !important;
}

@media (min-width: 900px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card {
    min-height: 152px !important;
    padding: 22px 24px !important;
    align-items: flex-start !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > div:first-child svg {
    width: 28px !important;
    height: 28px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > span {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--et-h-white) !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card > p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #d0d8e4 !important;
  }

  @media (hover: hover) and (pointer: fine) {
    #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(0, 200, 232, 0.5) !important;
      background: rgba(255, 255, 255, 0.11) !important;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 12px 32px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(0, 200, 232, 0.22),
        0 0 22px rgba(0, 200, 232, 0.1) !important;
    }
  }
}

/* ----- Trusted Experts ----- */
#root [data-et-page='home'] section#about[data-et-home-about='true'] {
  background-color: #f6f8fb !important;
  margin-top: 0 !important;
  padding-top: clamp(52px, 9vw, 88px) !important;
  padding-bottom: clamp(52px, 9vw, 88px) !important;
  border-top: none !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] section#about[data-et-home-about='true'] .max-w-7xl > .grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr) !important;
    gap: clamp(2rem, 3.25vw, 3rem) !important;
    align-items: stretch !important;
  }

  #root [data-et-page='home'] section#about[data-et-home-about='true'] .max-w-7xl > .grid > div:first-child .space-y-4 {
    max-width: 100% !important;
  }

  /* Ties ASIAL column to the section; reduces “floating” white card */
  #root [data-et-page='home'] [data-et-home-about='true'] .max-w-7xl > .grid > div:last-child {
    padding: 1rem 0.75rem 1rem 1rem;
    margin: -0.25rem -0.5rem -0.25rem 0;
    border-radius: 1.75rem;
    background: linear-gradient(145deg, rgba(36, 72, 216, 0.055) 0%, rgba(0, 200, 232, 0.035) 100%);
  }
}

@media (max-width: 1023.98px) {
  #root [data-et-page='home'] section#about[data-et-home-about='true'] .max-w-7xl > .grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5rem !important;
  }

  #root [data-et-page='home'] [data-et-home-about='true'] .max-w-7xl > .grid > div:last-child {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border-radius: 0 !important;
  }
}

#root [data-et-page='home'] [data-et-home-about='true'] .space-y-4 > h2 {
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  color: var(--et-h-body-lt) !important;
  margin-bottom: 26px !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .space-y-4 > h2 span.text-primary {
  color: var(--et-h-blue) !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .space-y-4 > p.text-slate-600 {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #2c3748 !important;
  max-width: 560px !important;
  margin-bottom: 28px !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .space-y-4 > p.text-slate-500 {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: #4a5568 !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group {
  min-height: 80px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  border: 1px solid #cdd6e4 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
  transition:
    transform var(--et-h-dur) var(--et-h-ease),
    box-shadow var(--et-h-dur) var(--et-h-ease),
    border-color var(--et-h-dur) var(--et-h-ease) !important;
}

@media (min-width: 640px) {
  #root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group {
    height: 80px !important;
  }
}

#root [data-et-page='home'] [data-et-home-about='true'] .space-y-8 > .grid.gap-4 {
  gap: 16px !important;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group:hover {
    border-color: rgba(36, 72, 216, 0.32) !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-1px);
  }
}

#root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group h3 {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: #0b1220 !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group > div:first-child {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  flex-shrink: 0 !important;
  border-radius: 12px !important;
  background: rgba(36, 72, 216, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group > div:nth-child(2) {
  min-width: 0 !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group p.text-xs {
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #5a6578 !important;
  margin-top: 0.125rem !important;
}

#root [data-et-page='home'] [data-et-home-about='true'] .relative.bg-white.rounded-3xl.border.border-slate-100.shadow-xl.overflow-hidden {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  min-height: 0 !important;
  max-height: none !important;
  padding: clamp(32px, 3vw, 40px) !important;
  border-radius: var(--et-h-r-panel) !important;
  border: 1px solid #dce3ec !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 18px 44px rgba(15, 23, 42, 0.1) !important;
  margin-top: 0 !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] [data-et-home-about='true'] .relative.bg-white.rounded-3xl.border.border-slate-100.shadow-xl.overflow-hidden {
    margin-left: 0;
    margin-right: 0;
    max-width: 520px !important;
  }
}

/* ----- Stats ----- */
#root [data-et-page='home'] section[data-et-home-stats='true'] {
  background-color: var(--et-h-deep) !important;
  padding-top: 68px !important;
  padding-bottom: 72px !important;
}

/* Stats grid classes live on .max-w-7xl itself (no child .grid wrapper) */
#root [data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl.grid {
  max-width: 1000px !important;
  text-align: center;
  justify-items: center !important;
  align-items: start !important;
  column-gap: clamp(1.5rem, 4vw, 2.25rem) !important;
  row-gap: 0 !important;
}

#root [data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl > div h3 {
  font-size: clamp(54px, 5.5vw, 68px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #e2e8f0 55%, #cbd5e1 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.38));
}

#root [data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl > div p {
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #8ef4ff !important;
  margin-top: 14px !important;
  line-height: 1.48 !important;
  font-weight: 700 !important;
  max-width: 18rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl.grid {
    row-gap: 34px !important;
  }
}

/* ----- Footer shell + hardware strip ----- */
#root [data-et-page='home'] footer.et-site-footer {
  background-color: var(--et-h-deep) !important;
  color: var(--et-h-body-dk);
}

#root [data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.border-b.border-white\/\[0\.07\]:not(.flex) {
  background-color: var(--et-h-deep) !important;
  padding-top: 72px !important;
  padding-bottom: 54px !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__label {
  font-size: 12px !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--et-h-white) !important;
  margin-bottom: 34px !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__label::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 200, 232, 0.35) 18%,
    rgba(0, 200, 232, 0.95) 50%,
    rgba(0, 200, 232, 0.35) 82%,
    transparent 100%
  ) !important;
  box-shadow: 0 0 18px rgba(0, 200, 232, 0.25) !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    max-width: 800px !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    width: 100% !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group {
    max-width: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    border-radius: 14px !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition:
      transform var(--et-h-dur) var(--et-h-ease),
      box-shadow var(--et-h-dur) var(--et-h-ease) !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] > div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid img[src*='/logos/'] {
    max-width: 80% !important;
    max-height: 36px !important;
    width: auto !important;
    margin: 0 auto !important;
  }
}

@media (min-width: 720px) and (max-width: 1023.98px) {
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    column-gap: 18px !important;
    row-gap: 24px !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition:
      transform var(--et-h-dur) var(--et-h-ease),
      box-shadow var(--et-h-dur) var(--et-h-ease) !important;
  }
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
    row-gap: 22px !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'] {
    width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition:
      transform var(--et-h-dur) var(--et-h-ease),
      box-shadow var(--et-h-dur) var(--et-h-ease) !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  }
}

#root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > span.text-xs {
  margin-top: 12px !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  color: rgba(255, 255, 255, 0.78) !important;
  line-height: 1.4 !important;
}

/* ----- CTA strip ----- */
#root [data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.py-14.md\:py-16.border-b.border-white\/\[0\.07\].flex.flex-col.md\:flex-row.justify-between.items-center {
  max-width: var(--et-h-container) !important;
  margin: 36px auto 0 !important;
  padding: clamp(36px, 4.5vw, 52px) clamp(0px, 2vw, 12px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
  gap: clamp(24px, 3vw, 36px) !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: 0 !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 h2.text-3xl {
  font-size: clamp(32px, 2.8vw, 40px) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  color: var(--et-h-white) !important;
  margin-bottom: 10px !important;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.25);
  text-wrap: balance !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-14.md\:py-16 + .py-14.md\:py-16 div.max-w-xl p.text-lg {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #dde4ef !important;
  max-width: 28rem !important;
}

#root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 56px !important;
  min-height: 56px !important;
  min-width: 200px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  transition:
    transform var(--et-h-dur) var(--et-h-ease),
    box-shadow var(--et-h-dur) var(--et-h-ease),
    background-color var(--et-h-dur) var(--et-h-ease) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
}

#root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary:focus-visible {
  outline: 2px solid rgba(0, 200, 232, 0.9) !important;
  outline-offset: 3px !important;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28) !important;
  }
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] footer.et-site-footer > .max-w-7xl > div.py-14.md\:py-16.border-b.border-white\/\[0\.07\].flex.flex-col.md\:flex-row.justify-between.items-center {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center;
  }

  #root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ----- Footer main columns ----- */
#root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 {
  padding-top: 76px !important;
  padding-bottom: 80px !important;
  column-gap: clamp(56px, 5.5vw, 96px) !important;
  row-gap: 2.75rem !important;
}

@media (min-width: 1024px) {
  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 {
    display: grid !important;
    grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > .lg\:col-span-4 {
    grid-column: 1 !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > .hidden.lg\:block.lg\:col-span-1 {
    display: none !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > div:nth-child(3) {
    grid-column: 2 !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > div:nth-child(4) {
    grid-column: 3 !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > div:nth-child(5) {
    grid-column: 4 !important;
  }
}

@media (max-width: 1023.98px) {
  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 > div {
    grid-column: auto !important;
  }
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] footer.et-site-footer div.lg\:grid-cols-12.gap-10 {
    grid-template-columns: 1fr !important;
    row-gap: 36px !important;
  }
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 h3.text-xl {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin-bottom: 26px !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 > li {
  margin: 0 !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a {
  font-size: 14px !important;
  line-height: 2.35 !important;
  color: var(--et-h-body-dk) !important;
  transition: color var(--et-h-dur) var(--et-h-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-4 li a:hover {
    color: var(--et-h-cyan-line) !important;
  }
}

#root [data-et-page='home'] footer.et-site-footer .lg\:col-span-4 .easttech-logo-panel--footer img,
#root [data-et-page='home'] footer.et-site-footer .lg\:col-span-4 .w-\[200px\] {
  max-width: min(100%, 210px) !important;
}

#root [data-et-page='home'] footer.et-site-footer .lg\:col-span-4 > p.text-slate-400 {
  font-size: 15px !important;
  line-height: 1.78 !important;
  max-width: 320px !important;
  color: var(--et-h-body-dk) !important;
}

#root [data-et-page='home'] footer.et-site-footer .lg\:col-span-4 .inline-flex.items-center.gap-4 {
  margin-top: 26px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.045) !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  color: var(--et-h-white) !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  margin-bottom: 22px !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 li:last-child {
  margin-bottom: 0 !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 > li {
  margin-top: 0 !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 .w-12.h-12 {
  width: 40px !important;
  height: 40px !important;
  flex-shrink: 0 !important;
  border-radius: 12px !important;
  background: rgba(0, 200, 232, 0.08) !important;
  border: 1px solid rgba(0, 200, 232, 0.18) !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 .text-xs {
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--et-h-muted-dk) !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a.text-xl,
#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 span.font-medium {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--et-h-white) !important;
}

#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a[href^='tel:'],
#root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a[href^='mailto:'] {
  transition: color var(--et-h-dur) var(--et-h-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a[href^='tel:']:hover,
  #root [data-et-page='home'] footer.et-site-footer .py-16.md\:py-20 ul.space-y-6 a[href^='mailto:']:hover {
    color: var(--et-h-cyan-line) !important;
  }
}

/* ----- Lower local info ----- */
#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner {
  max-width: 1080px !important;
  margin-top: 36px !important;
  padding: 48px 48px 52px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.038) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner > p + p {
  margin-top: 1.25rem !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-lead,
#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-line {
  max-width: 34rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 15px !important;
  line-height: 1.92 !important;
  color: var(--et-h-body-dk) !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-line a[href^='tel:'] {
  color: var(--et-h-cyan-line) !important;
  font-weight: 700 !important;
  text-decoration-thickness: 1px !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-lead strong,
#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-line strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta a.text-accent {
  color: var(--et-h-cyan-line) !important;
  font-weight: 800 !important;
  text-underline-offset: 3px !important;
  transition: color var(--et-h-dur) var(--et-h-ease) !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner p.text-xs {
  color: rgba(200, 209, 223, 0.88) !important;
  line-height: 1.55 !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .rounded-2xl.overflow-hidden {
  max-width: 620px !important;
  height: 176px !important;
  margin: 28px auto 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
}

#root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner iframe {
  height: 100% !important;
  min-height: 150px !important;
}

@media (max-width: 719.98px) {
  #root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner {
    padding: 32px 22px !important;
  }

  #root [data-et-page='home'] footer.et-site-footer .et-site-footer__meta-inner .rounded-2xl.overflow-hidden {
    max-width: 100% !important;
  }
}

/* ----- Bottom bar ----- */
#root [data-et-page='home'] footer.et-site-footer .border-t.border-white\/\[0\.08\] {
  min-height: 44px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  font-size: 12px !important;
  color: var(--et-h-muted-dk) !important;
}

#root [data-et-page='home'] footer.et-site-footer .border-t.border-white\/\[0\.08\] > div.flex {
  gap: 24px !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* ----- Mobile hero (<720) ----- */
@media (max-width: 719.98px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .max-w-7xl {
    /* Inherit fixed-header clearance from base .max-w-7xl rule; only tune bottom rhythm here */
    padding-bottom: 52px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__copy {
    text-align: left !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__headline {
    font-size: clamp(38px, 8vw, 44px) !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__lead {
    font-size: 16px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a {
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 52px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__trust {
    font-size: 14px !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__service-grid {
    grid-template-columns: 1fr !important;
  }

  #root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group {
    height: auto !important;
    min-height: 72px !important;
    padding: 16px 18px !important;
    flex-wrap: wrap;
  }
}

@media (max-width: 1023.98px) {
  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5rem !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__services {
    max-width: 100% !important;
    justify-self: stretch !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #root [data-et-page='home'] .easttech-logo-panel--header img {
    filter: none !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a,
  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card,
  #root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group,
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl'],
  #root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary {
    transition: none !important;
  }

  #root [data-et-page='home'] section[data-et-home-hero='true'] .et-home-hero__cta-row > a:hover,
  #root [data-et-page='home'] section[data-et-home-hero='true'] a.et-home-hero__service-card:hover,
  #root [data-et-page='home'] [data-et-home-about='true'] .grid.gap-4 > .group:hover,
  #root [data-et-page='home'] footer.et-site-footer .et-trusted-hardware--site .et-trusted-hardware__grid > .group > div[class*='rounded-2xl']:hover,
  #root [data-et-page='home'] footer.et-site-footer a[href='/contact'].inline-flex.items-center.rounded-full.bg-white.text-secondary:hover {
    transform: none !important;
  }

  #root [data-et-page='home'] section[data-et-home-stats='true'] .max-w-7xl > div h3 {
    background-image: none !important;
    -webkit-text-fill-color: #ffffff !important;
    color: #ffffff !important;
    filter: none !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='home'] footer.et-site-footer .border-t.border-white\/\[0\.08\] a:hover {
    color: var(--et-h-cyan-line) !important;
  }
}

#root [data-et-page='home'] footer.et-site-footer .border-t.border-white\/\[0\.08\] a {
  transition: color var(--et-h-dur) var(--et-h-ease) !important;
}

#root [data-et-page='home'] footer.et-site-footer .border-t.border-white\/\[0\.08\] a:focus-visible {
  outline: 2px solid rgba(0, 200, 232, 0.75) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
}

/* Sitewide shell polish — full-height column + sticky mobile CTA: footer stays solid */
#root > div.flex.flex-col.min-h-screen[data-static-shell='true'] > footer.et-site-footer {
  flex-shrink: 0;
}

/* -------------------------------------------------------------------------- */
/* Global design system — inner pages use homepage header DOM; light chrome bar */
/* Maintain: edit assets/easttech-global-header-inner.html + rerun apply script */
/* -------------------------------------------------------------------------- */
:root {
  --et-navy-deep: #0a1628;
  --et-inner-header-bg: rgba(255, 255, 255, 0.94);
  --et-inner-header-border: rgba(226, 232, 240, 0.95);
  --et-inner-nav-pill-bg: rgba(248, 250, 252, 0.98);
  --et-inner-nav-pill-border: rgba(203, 213, 225, 0.9);
  --et-inner-nav-link: #334155;
  --et-inner-nav-link-hover: #1d4ed8;
  --et-inner-header-toggle-ink: #0f172a;
  --et-inner-main-pad-top: clamp(5.25rem, 9vw + 2.5rem, 7.35rem);
}

#root > div[data-static-shell]:not([data-et-page='home']) > main#main {
  padding-top: var(--et-inner-main-pad-top);
}

#root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome[data-site-header='true'] {
  background-color: var(--et-inner-header-bg) !important;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 100%) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom-color: var(--et-inner-header-border) !important;
  border-bottom-width: 1px !important;
  border-bottom-style: solid !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.88) inset,
    0 10px 32px -18px rgba(15, 23, 42, 0.12);
}

#root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome [data-header-nav='true'] {
  background-color: var(--et-inner-nav-pill-bg) !important;
  border-color: var(--et-inner-nav-pill-border) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

#root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome nav [data-header-nav='true'] a {
  color: var(--et-inner-nav-link) !important;
}

@media (hover: hover) and (pointer: fine) {
  #root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome nav [data-header-nav='true'] a:hover {
    color: var(--et-inner-nav-link-hover) !important;
  }
}

#root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome a[data-header-cta='true'] {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 0 0 1px rgba(15, 23, 42, 0.06),
    0 10px 28px -10px rgba(37, 99, 235, 0.28);
}

#root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome #mobile-menu-toggle {
  color: var(--et-inner-header-toggle-ink) !important;
}

@media (hover: hover) and (pointer: fine) {
  #root > div[data-static-shell]:not([data-et-page='home']) header.et-inner-header-chrome #mobile-menu-toggle:hover {
    background-color: rgba(15, 23, 42, 0.06) !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --et-inner-header-bg: #ffffff;
    --et-inner-nav-link: #0f172a;
    --et-inner-nav-link-hover: #1e3a8a;
  }
}

/* ==========================================================================
   Global theme pass 2 — dark heroes, cards, buttons, forms (inner pages)
   Homepage remains scoped under #root [data-et-page='home']; use .et-page-hero--dark on sections.
   ========================================================================== */

section.et-page-hero--dark {
  position: relative;
  z-index: 0;
  overflow-x: clip;
  background-color: var(--et-theme-navy) !important;
  color: #ffffff;
}

section.et-page-hero--dark .max-w-7xl {
  margin-left: auto;
  margin-right: auto;
}

/* Dark hero: “back” row and icon chips (Tailwind bg-slate-100) read on navy */
#root section.et-page-hero--dark .rounded-full.bg-slate-100 {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #cbd5e1 !important;
}

@media (hover: hover) and (pointer: fine) {
  #root section.et-page-hero--dark a.group:hover .rounded-full.bg-slate-100 {
    background-color: rgba(6, 182, 212, 0.32) !important;
    border-color: rgba(6, 182, 212, 0.45) !important;
    color: #ffffff !important;
  }
}

a.et-btn-primary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #172554 0%, #1d4ed8 42%, #0f766e 100%) !important;
  color: #f8fafc !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 10px 32px -10px rgba(30, 64, 175, 0.55),
    0 2px 8px rgba(15, 23, 42, 0.1);
  transition:
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s ease,
    filter 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
  a.et-btn-primary:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22) inset,
      0 16px 40px -12px rgba(30, 64, 175, 0.55),
      0 6px 16px rgba(15, 23, 42, 0.12);
  }
}

/* Blog listing — homepage-aligned cards */
#root [data-et-page='blog'] main#main article.rounded-2xl.border.border-neutral-200 {
  border-radius: var(--et-theme-r-card) !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  background-color: #ffffff !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 10px 36px -16px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page='blog'] main#main article.rounded-2xl.border.border-neutral-200:hover {
    transform: translateY(-3px);
    border-color: rgba(6, 182, 212, 0.28) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 1) inset,
      0 18px 48px -18px rgba(15, 23, 42, 0.16),
      0 0 0 1px rgba(37, 99, 235, 0.08);
  }
}

/* Contact — visible enquiry form (not the hidden Netlify honeypot form) */
#root [data-et-page='contact'] #contact-message input[type='text'],
#root [data-et-page='contact'] #contact-message input[type='email'],
#root [data-et-page='contact'] #contact-message input[type='tel'],
#root [data-et-page='contact'] #contact-message select,
#root [data-et-page='contact'] #contact-message textarea {
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--et-radius-md);
  border: 1px solid rgba(148, 163, 184, 0.95);
  background-color: #ffffff;
  color: #0f172a;
  font-size: 1rem;
  line-height: 1.5;
  padding: 0.75rem 1rem;
  min-height: var(--et-touch-min);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

#root [data-et-page='contact'] #contact-message input:focus-visible,
#root [data-et-page='contact'] #contact-message select:focus-visible,
#root [data-et-page='contact'] #contact-message textarea:focus-visible {
  outline: none;
  border-color: rgba(37, 99, 235, 0.55);
  box-shadow: var(--et-focus-ring);
}

#root [data-et-page='contact'] #contact-message textarea {
  min-height: 9rem;
  resize: vertical;
}

/* Inner shells — max-w-7xl rhythm on every inner page (Pass 3: generic data-et-page) */
#root [data-et-page]:not([data-et-page='home']) main#main .max-w-7xl {
  max-width: min(100%, 80rem);
}

@media (min-width: 640px) {
  #root [data-et-page]:not([data-et-page='home']) main#main .max-w-7xl {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  #root [data-et-page]:not([data-et-page='home']) main#main .max-w-7xl {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Dark heroes — align legacy Tailwind light-theme utilities on navy (any inner page) */
#root section.et-page-hero--dark h1.text-primary {
  color: #ffffff !important;
}

#root section.et-page-hero--dark .border-neutral-200 {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

#root section.et-page-hero--dark .text-slate-600,
#root section.et-page-hero--dark .text-slate-500 {
  color: var(--et-theme-muted-on-dark) !important;
}

#root section.et-page-hero--dark .text-slate-800 {
  color: #f8fafc !important;
}

/* ==========================================================================
   Global theme pass 3 — strict QA (heroes, buttons, cards, forms, blog, footer)
   Homepage stays [data-et-page='home']; scoped :not(home) where overrides are strong.
   ========================================================================== */

/* Avoid double top offset: main pt-24 + first dark hero / gradient already pads below fixed header */
#root main#main.flex-grow.pt-24:has(> section.et-page-hero--dark:first-child) {
  padding-top: 0 !important;
}

#root main#main.flex-grow.pt-24:has(> section:first-child.bg-gradient-to-b.text-white) {
  padding-top: 0 !important;
}

/* Blog index + individual posts — same listing card chrome */
#root [data-et-page^='blog-'] main#main article.rounded-2xl.border.border-neutral-200 {
  border-radius: var(--et-theme-r-card) !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  background-color: #ffffff !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 10px 36px -16px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page^='blog-'] main#main article.rounded-2xl.border.border-neutral-200:hover {
    transform: translateY(-3px);
    border-color: rgba(6, 182, 212, 0.28) !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 1) inset,
      0 18px 48px -18px rgba(15, 23, 42, 0.16),
      0 0 0 1px rgba(37, 99, 235, 0.08);
  }
}

/* Short blog articles — readable measure + CTA spacing */
#root [data-et-page^='blog-'] main#main article {
  padding-bottom: var(--et-space-4);
}

#root [data-et-page^='blog-'] main#main article h1 {
  letter-spacing: -0.03em;
  line-height: 1.12;
}

/* Premium cards: shadow-lg + rounded-2xl (inner pages only) */
#root [data-et-page]:not([data-et-page='home'])
  main#main
  .rounded-2xl.shadow-lg:not([class*='shadow-none']) {
  border: 1px solid rgba(15, 23, 42, 0.07) !important;
  border-radius: var(--et-theme-r-card) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 10px 36px -16px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(15, 23, 42, 0.04) !important;
  transition:
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page]:not([data-et-page='home'])
    main#main
    .rounded-2xl.shadow-lg:not([class*='shadow-none']):hover {
    transform: translateY(-2px);
    border-color: rgba(6, 182, 212, 0.2) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #root [data-et-page]:not([data-et-page='home']) main#main .rounded-2xl.shadow-lg {
    transition: none;
    transform: none !important;
  }
}

/* Primary pill CTAs in main — align blue / cyan / violet / primary solids with header gradient CTA */
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-blue-600.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-blue-600.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-blue-700.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-blue-700.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-cyan-600.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-cyan-600.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-primary.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-primary.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-violet-500.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-violet-500.text-white.rounded-full,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.justify-center.items-center.bg-violet-500.text-white.font-bold.rounded-full {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: var(--et-touch-min);
  padding: 0.8rem 1.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #172554 0%, #1d4ed8 42%, #0f766e 100%) !important;
  color: #f8fafc !important;
  text-decoration: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 10px 32px -10px rgba(30, 64, 175, 0.45),
    0 2px 8px rgba(15, 23, 42, 0.08);
  transition:
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s ease,
    filter 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-blue-600.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-blue-600.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-blue-700.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-blue-700.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-cyan-600.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-cyan-600.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-primary.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-primary.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-violet-500.text-white.rounded-full:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-violet-500.text-white.rounded-full:hover,
  #root
    [data-et-page]:not([data-et-page='home'])
    main#main
    a.inline-flex.justify-center.items-center.bg-violet-500.text-white.font-bold.rounded-full:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.22) inset,
      0 16px 40px -12px rgba(30, 64, 175, 0.5),
      0 6px 16px rgba(15, 23, 42, 0.12);
  }
}

#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-blue-600.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-blue-600.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-cyan-600.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-cyan-600.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-primary.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-primary.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-block.bg-violet-500.text-white.rounded-full:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main a.inline-flex.bg-violet-500.text-white.rounded-full:focus-visible,
#root
  [data-et-page]:not([data-et-page='home'])
  main#main
  a.inline-flex.justify-center.items-center.bg-violet-500.text-white.font-bold.rounded-full:focus-visible {
  outline: none;
  box-shadow:
    var(--et-focus-ring),
    0 10px 32px -10px rgba(30, 64, 175, 0.45);
}

/* Form submit — match primary CTA when styled as solid brand button */
#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-primary,
#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-600,
#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-700 {
  min-height: var(--et-touch-min);
  padding: 0.8rem 1.5rem !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background-image: linear-gradient(135deg, #172554 0%, #1d4ed8 42%, #0f766e 100%) !important;
  color: #f8fafc !important;
  cursor: pointer;
  transition:
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.28s ease,
    filter 0.28s ease;
}

#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-primary:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-600:focus-visible,
#root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-700:focus-visible {
  outline: none;
  box-shadow: var(--et-focus-ring);
}

@media (hover: hover) and (pointer: fine) {
  #root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-primary:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-600:hover,
  #root [data-et-page]:not([data-et-page='home']) main#main button[type='submit'].bg-blue-700:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
  }
}

/* Global form controls in main (quote / enquiry blocks; contact hub uses #contact-message pass-2 rules) */
#root [data-et-page]:not([data-et-page='home']):not([data-et-page='contact'])
  main#main
  input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([class*='focus:ring']),
#root [data-et-page]:not([data-et-page='home']):not([data-et-page='contact']) main#main select:not([class*='focus:ring']),
#root [data-et-page]:not([data-et-page='home']):not([data-et-page='contact']) main#main textarea:not([class*='focus:ring']) {
  border-radius: var(--et-radius-md);
  border-color: rgba(148, 163, 184, 0.95) !important;
  min-height: var(--et-touch-min);
}

#root [data-et-page]:not([data-et-page='home']):not([data-et-page='contact']) main#main textarea {
  min-height: 7.5rem;
}

/* Footer — tablet column breathing room */
@media (min-width: 768px) and (max-width: 1023px) {
  #root footer.et-site-footer .max-w-7xl > .grid.lg\\:grid-cols-12 {
    gap: 2.25rem;
  }
}

/* Mobile — full-width primary CTAs inside narrow content columns */
@media (max-width: 639px) {
  #root [data-et-page]:not([data-et-page='home']) main#main .max-w-4xl > div.text-center a.inline-block.rounded-full,
  #root [data-et-page]:not([data-et-page='home']) main#main .max-w-3xl > div.text-center a.inline-block.rounded-full {
    width: 100%;
    max-width: 22rem;
    margin-inline: auto;
  }
}

/* Mobile — clip horizontal bleed, safe-area FAB (compact footer is visible sitewide) */
@media (max-width: 767.98px) {
  html,
  body {
    overflow-x: clip;
  }

  #root > .flex.min-h-screen,
  #root > .flex.flex-col.min-h-screen {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
  }

  #scroll-to-top {
    bottom: max(1.25rem, env(safe-area-inset-bottom, 0px)) !important;
    right: max(1.25rem, env(safe-area-inset-right, 0px)) !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(6, 182, 212, 0.12);
  }
}
