.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --teal-900:#09252C; --teal-800:#1B3A4B; --teal-700:#1F4550; --blue-700:#28468D; --sky-400:#54B8DF; --sky-ink:#26769E; --script:#54B8DF; --cyan-300:#54DADF; --mint-200:#C0F2D7; --lime-200:#EBF982; --coral-500:#EF865B; --coral-soft:#F7AE8B; --mist-100:#B0CCD0; --fog-50:#F0F7F8; --ink:#0F333C; --ink-dim:#4C6F78; --on-dark:#E4F1F4; --on-dark-dim:#9FC0C8; --white:#FFFFFF; --line-light:#D8E7EA; --line-dark:rgba(255,255,255,0.14); --glass:rgba(255,255,255,0.05); --cta-ink:#0B3040; --foot-text:#C6D3F2; --foot-dim:#A9BAE6; --result-text:#D8E2FA; --font-body:Ubuntu; --font-script:Caveat; --r-sm:8px; --r-md:10px; --r-lg:25px; --r-pill:999px; --wrap:1200px; --head-h:82px; --stack:20px; --fs-body:17px; --sec-y:clamp(76px,8.5vw,128px); --col-gap:clamp(36px,5vw,80px); --head-gap:clamp(40px,4.5vw,64px); --gut:clamp(20px,5vw,48px); --card-pad:clamp(26px,3.5vw,44px); --fs-h1:clamp(2.4rem,5.2vw,3.9rem); --fs-h1-inner:clamp(2.1rem,3.9vw,3.05rem); --fs-h2:clamp(1.9rem,3.6vw,2.9rem); --fs-h3:clamp(1.15rem,1.7vw,1.4rem); --fs-lead:clamp(1.05rem,1.5vw,1.28rem); --fs-stat:clamp(3.4rem,7vw,5.2rem); --fs-line:clamp(1.6rem,2.4vw,2rem); --fs-cta:clamp(1.5rem,2.5vw,2.1rem); }
/* Start custom CSS *//* ==========================================================================
   Altron Middle East: site-wide CSS for Elementor
   --------------------------------------------------------------------------
   Goes into Elementor > Custom Code (or Site Settings > Custom CSS), loaded on
   every page. It holds only what V4 global classes cannot express: child
   .elementor-kit-8s, pseudo-elements, the hero veil and a few aspect-ratio queries.
   Everything else is a global class (03-classes.css) or a variable
   (01-variables.json). The colour and size tokens are the variables, read
   here as var(--label).
   ========================================================================== */

/* The TCC child theme sets body and h1-h6 from PulseBRAND tokens, which on this
   site are still the starter defaults (purple, Inter, Archivo). Point them at
   the Altron values so the theme layer agrees with Elementor. html:root
   outranks the theme's own :root block whatever order the two load in.
   The proper fix is to set these in PulseBRAND; this keeps the site right
   until then. */
html:root {
  --tcc-color-primary: var(--sky-400);
  --tcc-color-accent: var(--lime-200);
  --tcc-color-ink: var(--ink);
  --tcc-color-ink-muted: var(--ink-dim);
  --tcc-color-ground: var(--white);
  --tcc-color-ground-alt: var(--fog-50);
  --tcc-color-line: var(--line-light);
  --tcc-font-heading: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --tcc-font-body: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --tcc-radius-md: var(--r-md);
  --tcc-radius-lg: var(--r-lg);
}

:root {
  --grad-citrus: linear-gradient(45deg, var(--cyan-300), var(--lime-200));
  --grad-ocean:  linear-gradient(45deg, var(--blue-700), var(--cyan-300), var(--sky-400));
  --grad-mint:   linear-gradient(45deg, var(--mint-200), var(--cyan-300));
  --ease: cubic-bezier(.16,1,.3,1);
}

body {
  font-family: var(--font-body), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: var(--fs-body); line-height: 1.6; color: var(--ink); background: var(--white);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
:focus-visible { outline: 3px solid var(--sky-400); outline-offset: 3px; border-radius: 4px; }
:is(h1,h2,h3) { text-wrap: balance; }


/* ---------- the signature sentence ----------
   Ubuntu light headline, the key words BOLD, the payoff in Caveat.
   In the editor: select the words and press Bold for Ubuntu 700, press
   Italic for the Caveat script phrase. Nothing else to remember. */
:is(h1,h2,h3,p) :is(b,strong) { font-weight: 700; }
:is(h1,h2,h3,p,li) em {
  font-family: var(--font-script), cursive; font-style: normal; font-weight: 700;
  font-size: 1.16em; line-height: .95; color: var(--script); display: inline-block;
}
/* the one exception: the closing panel is sky-400, so a sky script would vanish */
.am-cta-panel em, .am-sub-band em { color: var(--teal-900); }


/* ---------- buttons: the circled chevron before every label ---------- */
.am-btn::before {
  /* one currentColor disc, masked down to a 2px ring plus the chevron, so the
     ring always matches the label colour on every button variant */
  content: ""; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%;
  background: currentColor;
  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 11px 11px no-repeat,
    radial-gradient(circle, transparent 9.5px, #000 10px);
  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 11px 11px no-repeat,
    radial-gradient(circle, transparent 9.5px, #000 10px);
}

/* ---------- text link: chevron after, nudges on hover ---------- */
.am-tlink::after {
  content: ""; width: 13px; height: 13px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .18s var(--ease);
}
.am-tlink:hover::after { transform: translateX(4px); }
.am-sec--deep .am-tlink, .am-sec--deep-2 .am-tlink { color: var(--cyan-300); }


/* ---------- icons inside tiles and lists ---------- */
.am-ic svg { width: 50%; height: 50%; }
.am-ic--bare svg { width: 100%; height: 100%; }
.am-check svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 3px; color: var(--sky-ink); }
.am-check--dark svg { color: var(--cyan-300); }
/* checklist ticks drawn here, so a checklist is plain paragraphs to edit */
.am-check:not(:has(svg))::before,
.am-li::before {
  content: ""; width: 17px; height: 17px; flex: 0 0 auto; margin-top: 3px;
  background: var(--sky-ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.am-li::before { width: 15px; height: 15px; }
.am-check--dark::before { background: var(--cyan-300); }
.am-cap-head svg { color: var(--cyan-300); }
.am-cap-head::-webkit-details-marker { display: none; }
/* the mint tick before every .am-tick line, so a list is plain text to edit */
.am-tick::before {
  content: ""; width: 19px; height: 19px; flex: 0 0 auto; margin-top: 2px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A4B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 10px 10px no-repeat, var(--grad-mint);
}


/* ---------- hero ----------
   The photograph is full-bleed; the veil carries the copy over it.
   The ramp is solid under the copy and gone before the subject and the
   viewfinder. Measured worst-pixel contrast for white type: 10.7:1 to 16:1. */
.am-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg,
      var(--teal-900) 0%, var(--teal-900) 33%,
      rgba(9,37,44,.94) 43%, rgba(9,37,44,.64) 52%,
      rgba(9,37,44,.18) 59%, rgba(9,37,44,0) 64%),
    linear-gradient(180deg, rgba(6,26,32,.62) 0%, rgba(6,26,32,0) 20%);
}
@media (min-width:1025px) and (max-width:1200px) {
  .am-hero::before {
    background:
      linear-gradient(90deg,
        var(--teal-900) 0%, var(--teal-900) 41%,
        rgba(9,37,44,.95) 53%, rgba(9,37,44,.68) 63%,
        rgba(9,37,44,.22) 72%, rgba(9,37,44,0) 79%),
      linear-gradient(180deg, rgba(6,26,32,.62) 0%, rgba(6,26,32,0) 20%);
  }
  .am-hero { min-height: min(84vh,700px); }
  .am-hero--inner { min-height: min(66vh,520px); }
}
/* stacked: the photograph becomes a band, the copy sits on solid teal below */
@media (max-width:1024px) {
  .am-hero::before {
    inset: 0 0 auto 0; height: min(84vw,400px);
    background: linear-gradient(180deg,
      rgba(6,26,32,.66) 0%, rgba(6,26,32,.10) 26%,
      rgba(9,37,44,.32) 56%, rgba(9,37,44,.78) 80%,
      rgba(9,37,44,.97) 93%, var(--teal-900) 99%);
  }
  .am-hero--inner::before { height: min(80vw,340px); }
  .am-hero--inner .am-hero-media { height: min(80vw,340px); object-position: 50% 28%; }
}
/* Once the panel is wider in proportion than the 16:9 frame, `cover` scales by
   WIDTH and eats the height. Past that point draw the frame at its own ratio,
   pinned right; the teal fills the rest. Triggered on aspect ratio, not width.
   The inner hero is short, so it is pinned from 1025px up. */
@media (min-width:1025px) and (min-aspect-ratio:1636/1000), (min-width:1566px) {
  .am-hero .am-hero-media { left: auto; width: auto; max-width: none; height: 100%; object-position: center; }
}
@media (min-width:1025px) {
  .am-hero--inner .am-hero-media { left: auto; width: auto; max-width: none; height: 100%; object-position: center; }
  .am-hero--inner .am-hero-inner { padding-top: calc(var(--head-h) + 44px); padding-bottom: 60px; }
}
/* V4 wraps an image; make the wrapper fill the hero too */
.am-hero .am-hero-media img { width: 100%; height: 100%; object-fit: inherit; object-position: inherit; }


/* ---------- header ---------- */
/* body raises it above Elementor's own .elementor .am-head rule, which sets transparent */
body .am-head.is-stuck,
body .am-head.is-open { background: var(--teal-900); box-shadow: 0 6px 26px rgba(9,37,44,.28); }
.am-logo svg, .am-logo img { width: 100%; height: auto; display: block; }
/* signed-in editors: sit the fixed header below the WordPress admin bar */
body.admin-bar .am-head { top: 32px; }
@media (max-width:782px) { body.admin-bar .am-head { top: 46px; } }
/* nothing hides under the fixed header when the editor scrolls to an anchor */
html { scroll-padding-top: calc(var(--head-h) + 16px); }

/* ---------- Services dropdown (added 20 Oct 2026) ----------
   After v4's .altme-nav__grp. Opens on hover (mouse) and on keyboard focus,
   so it works with no script; 05-site.js adds .is-open on click when it has
   the dropdown code. The caret is drawn here. */
.am-nav-top::after {
  content: ""; width: 13px; height: 13px; flex: 0 0 auto; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .22s var(--ease);
}
/* Hello Elementor's reset.css turns every <button> pink on hover and focus */
body .am-nav-top:is(:hover,:focus,:active) { background-color: transparent; border: 0; color: var(--white); }
body .am-nav-top:hover { color: var(--cyan-300); }
.am-nav .am-nav-sub a { display: grid; gap: 3px; padding: 12px 14px; border-radius: var(--r-sm); }
.am-nav-sub b { font-size: .94rem; font-weight: 700; color: var(--white); letter-spacing: -.005em; }
.am-nav-sub span { font-size: .82rem; line-height: 1.45; color: var(--on-dark-dim); }
.am-nav .am-nav-sub a:hover, .am-nav .am-nav-sub a:focus-visible { background: rgba(255,255,255,.07); }
.am-nav-sub a:hover b { color: var(--cyan-300); }
@media (min-width:1025px) {
  /* a bridge over the 19px gap, so the pointer can travel to the panel */
  .am-nav-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }
  .am-nav-grp:focus-within > .am-nav-menu,
  .am-nav-grp.is-open > .am-nav-menu { opacity: 1; visibility: visible; transform: none; }
  .am-nav-grp.is-open .am-nav-top { opacity: 1; color: var(--cyan-300); }
  .am-nav-grp.is-open .am-nav-top::after { transform: rotate(180deg); }
}
@media (hover:hover) and (min-width:1025px) {
  .am-nav-grp:hover > .am-nav-menu { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width:1024px) {
  /* in the mobile panel the services are always listed, so nothing to toggle */
  .am-nav-top::after { display: none; }
  .am-nav .am-nav-sub a { padding: 13px 0 13px 17px; gap: 2px; border-radius: 0; }
  .am-nav-sub span { font-size: .88rem; }
}

/* ---------- current page: cyan, like v4's aria-current and .is-current ----------
   Keyed on WordPress's body.page-id-N, so it needs no script. If a page is
   rebuilt with a new ID, update it here. 156 Workforce Management,
   161 Connected Healthcare, 166 Industries, 170 Customer Success, 176 About. */
body.page-id-156 .am-nav .am-nav-sub a[href="/workforce-management"],
body.page-id-161 .am-nav .am-nav-sub a[href="/connected-healthcare"] { background: rgba(84,184,223,.15); }
body.page-id-156 .am-nav-sub a[href="/workforce-management"] b,
body.page-id-161 .am-nav-sub a[href="/connected-healthcare"] b,
body:is(.page-id-156,.page-id-161) .am-nav-top,
body.page-id-166 .am-nav-link a[href="/industries"],
body.page-id-170 .am-nav-link a[href="/customer-success"],
body.page-id-176 .am-nav-link a[href="/about"] { color: var(--cyan-300); }
body:is(.page-id-156,.page-id-161) .am-nav-top,
body.page-id-166 .am-nav-link:has(a[href="/industries"]),
body.page-id-170 .am-nav-link:has(a[href="/customer-success"]),
body.page-id-176 .am-nav-link:has(a[href="/about"]) { opacity: 1; }

/* ---------- mobile menu, 1024px and down (added 20 Oct 2026) ----------
   The .am-nav block turns into a drop-down panel under the header (classes)
   and 05-site.js puts .is-open on the header. The CTA lives inside the nav,
   so the panel lists every link plus Talk to an expert. */
.am-burger::before,
.am-burger::after {
  content: ""; position: absolute; left: 11px; width: 22px; height: 2px; border-radius: 1px;
  background: currentColor;
  transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .18s ease;
}
.am-burger::before { top: 14px; box-shadow: 0 7px 0 currentColor; }
.am-burger::after { top: 28px; }
.am-head.is-open .am-burger::before { transform: translateY(7px) rotate(45deg); box-shadow: 0 0 0 transparent; }
.am-head.is-open .am-burger::after { transform: translateY(-7px) rotate(-45deg); }
/* Hello Elementor's reset.css turns every <button> pink on hover and focus */
body .am-burger:is(:hover,:focus,:active) { background-color: transparent; color: var(--white); border: 0; }
.am-burger:focus-visible { outline: 2px solid var(--cyan-300); outline-offset: 2px; }
@media (max-width:1024px) {
  body .am-head.is-open .am-nav { display: flex; }
  .am-nav .am-nav-link a { display: block; padding: 15px 0; }
  html.am-menu-open, html.am-menu-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .am-burger::before, .am-burger::after { transition: none; }
}


/* ---------- step lists and card rows ---------- */
.am-step:last-child { border-bottom: 0; }
.am-spec-row:last-child { border-bottom: 1px solid var(--line-light); }
.am-grid--four > * + * { border-left: 1px solid var(--line-light); }
@media (max-width:767px) {
  .am-grid--four > * + * { border-left: 0; }
  .am-grid--four > :nth-child(even) { border-left: 1px solid var(--line-light); }
}


/* ---------- form fields ----------
   Applies to the Elementor Pro Form widget placed inside .am-card--form, and to
   plain inputs inside .am-field. One look for every enquiry form. */
.am-card--form :is(input,select,textarea),
.am-field :is(input,select,textarea) {
  min-height: 48px; width: 100%; border-radius: var(--r-md); border: 2px solid var(--line-light);
  padding: 0 15px; font: inherit; font-size: 1rem; color: var(--ink); background: var(--white);
  outline: none; transition: border-color .15s ease;
}
.am-card--form textarea, .am-field textarea { padding: 13px 15px; min-height: 130px; line-height: 1.55; resize: vertical; }
.am-card--form :is(input,select,textarea):focus,
.am-field :is(input,select,textarea):focus { border-color: var(--sky-400); }
.am-card--form label, .am-field label { font-size: .86rem; font-weight: 700; color: var(--ink); }
.am-card--form ::placeholder, .am-field ::placeholder { color: #5F7C84; }


/* ---------- partner lockup ----------
   Proportions measured off the supplied Altron|UKG artwork, as multiples of the
   ALTRON wordmark height. The cyan crossbar on the T never recolours. */
.am-lockup { --lk-h: 18px; display: flex; align-items: center; gap: calc(var(--lk-h) * .663); color: var(--ink); }
.am-lockup > :first-child { height: var(--lk-h); width: auto; flex: none; }
.am-lockup-rule { width: 1px; height: calc(var(--lk-h) * 1.517); background: var(--line-light); flex: none; }
.am-lockup-ukg { height: calc(var(--lk-h) * 1.091); width: auto; }
.am-lockup-evorad { height: calc(var(--lk-h) * 1.32); width: auto; }


/* ---------- consent banner (Pulse Consent plugin) ----------
   Hello Elementor's reset.css styles every <button> pink. Put the banner on the
   Altron button system instead: Accept all is the lime primary, the other two
   are teal outline buttons. Ubuntu throughout. */
.pulse-consent-root { font-family: var(--font-body), -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.pulse-consent-root .pulse-consent-banner,
.pulse-consent-root .pc-panel { border-radius: var(--r-lg); border-color: var(--line-light); color: var(--ink); }
.pulse-consent-root .pulse-consent-banner .pc-text { color: var(--ink-dim); }
.pulse-consent-root .pulse-consent-banner .pc-text strong,
.pulse-consent-root .pc-panel-head h2,
.pulse-consent-root .pc-cat-title { color: var(--teal-900); font-family: inherit; }
.pulse-consent-root .pc-link { color: var(--sky-ink); }
.pulse-consent-root .pc-btn {
  font-family: inherit; font-size: .95rem; font-weight: 700; line-height: 1.2; text-transform: none;
  min-height: 44px; padding: 0 20px; border-radius: var(--r-md); border: 0; display: inline-flex; align-items: center;
}
.pulse-consent-root .pc-btn-primary,
.pulse-consent-root .pc-btn-primary:hover,
.pulse-consent-root .pc-btn-primary:focus { background: var(--lime-200); color: var(--teal-900); filter: none; }
.pulse-consent-root .pc-btn-primary:hover { opacity: .86; }
.pulse-consent-root .pc-btn-ghost,
.pulse-consent-root .pc-btn-ghost:hover,
.pulse-consent-root .pc-btn-ghost:focus { background: transparent; color: var(--teal-900); box-shadow: inset 0 0 0 2px var(--teal-900); }
.pulse-consent-root .pc-btn-ghost:hover { background: var(--fog-50); }
.pulse-consent-root .pc-btn:focus-visible { outline: 3px solid var(--sky-400); outline-offset: 3px; }
.pulse-consent-root .pc-switch input:checked + .pc-slider,
.pulse-consent-root .pc-switch.locked .pc-slider { background: var(--sky-ink); }
.pulse-consent-root .pulse-consent-fab { font-family: inherit; color: var(--teal-900); border-color: var(--line-light); }


/* ---------- icons (generated by make_icons.py, do not edit) ---------- */
/* a glyph class on an am-ic tile draws its icon in the tile's colour */
.am-ic[class*="am-i-"]::before {
  /* Elementor gives every container an absolute ::before for overlays; put this one back in the grid */
  content: ""; display: block; position: relative; inset: auto; width: 21px; height: 21px; background: currentColor;
  -webkit-mask: var(--am-i) center / contain no-repeat; mask: var(--am-i) center / contain no-repeat;
}
.am-ic--lg[class*="am-i-"]::before { width: 26px; height: 26px; }
@media (max-width: 1024px) { .am-ic--lg[class*="am-i-"]::before { width: 21px; height: 21px; } }
.am-ic--mint[class*="am-i-"]::before { width: 17px; height: 17px; }
.am-ic--bare[class*="am-i-"]::before { width: 100%; height: 100%; }
.am-i-clock { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.am-i-calendar { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4M8 14h3M8 17h6'/%3E%3C/svg%3E"); }
.am-i-bars { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%3E%3C/svg%3E"); }
.am-i-trend { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l5-5 4 3 8-8'/%3E%3Cpath d='M20 4v5h-5'/%3E%3C/svg%3E"); }
.am-i-shield { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.am-i-phone { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2.5' width='12' height='19' rx='2.5'/%3E%3Cpath d='M10.5 18.5h3'/%3E%3C/svg%3E"); }
.am-i-spark { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1'/%3E%3Ccircle cx='12' cy='12' r='3.4'/%3E%3C/svg%3E"); }
.am-i-dollar { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 6H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6'/%3E%3C/svg%3E"); }
.am-i-bolt { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.am-i-bulb { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21h6M12 3a6 6 0 00-3 11v3h6v-3a6 6 0 00-3-11z'/%3E%3C/svg%3E"); }
.am-i-people { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0113 0'/%3E%3Cpath d='M17 5.5a3 3 0 010 5.6M19.5 20a6 6 0 00-3-5.2'/%3E%3C/svg%3E"); }
.am-i-building { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9l8-6 8 6v12'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E"); }
.am-i-target { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); }
.am-i-simplify { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h11M4 18h7'/%3E%3Ccircle cx='19' cy='17' r='2.5'/%3E%3C/svg%3E"); }
.am-i-network { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3Ccircle cx='4.5' cy='5' r='2'/%3E%3Ccircle cx='19.5' cy='5' r='2'/%3E%3Ccircle cx='12' cy='20.5' r='2'/%3E%3Cpath d='M6.1 6.4l4 3.8M17.9 6.4l-4 3.8M12 14.6v3.9'/%3E%3C/svg%3E"); }
.am-i-monitor { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M7 8.5h6M7 12h10'/%3E%3C/svg%3E"); }
.am-i-archive { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='6' rx='8' ry='3'/%3E%3Cpath d='M4 6v12c0 1.7 3.6 3 8 3s8-1.3 8-3V6'/%3E%3Cpath d='M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E"); }
.am-i-remote { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='10' width='13' height='9' rx='1.5'/%3E%3Cpath d='M5.5 22h6M8.5 19v3'/%3E%3Cpath d='M17 7a3 3 0 0 1 3 3M17 3a7 7 0 0 1 6 7'/%3E%3C/svg%3E"); }
.am-i-link { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.66 0l3-3a4 4 0 0 0-5.66-5.66l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.66 0l-3 3a4 4 0 0 0 5.66 5.66l1-1'/%3E%3C/svg%3E"); }
.am-i-recover { --am-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z'/%3E%3Cpath d='M9.4 12.6a2.8 2.8 0 1 0 .8-2.9'/%3E%3Cpath d='M9.8 8.2v2.2H12'/%3E%3C/svg%3E"); }
/* ---------- end icons ---------- */


/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .am-card--lift, .am-btn, .am-tlink::after { transition: none !important; }
  .am-card--lift:hover { transform: none; }
}/* End custom CSS */