/*
 *  ,d88b.d88b,
 *  88888888888
 *  `Y8888888Y'
 *    `Y888Y'
 *      `Y'
 *     mano
 *
 *  elevate.css: A.N.I clean / editorial elevation layer (2026-08 redesign v2).
 *  Direction: clean & minimal + editorial. Generous whitespace, restrained
 *  colour (blue as a small accent only), clear Heebo typography, large
 *  photography, and subtle smooth motion. Loaded LAST, sitewide.
 *  RTL-safe (logical properties); no uppercase / letter-spacing on Hebrew.
 */

:root {
  --ani-display: "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ani-ground:  #FBFBFD;   /* clean near-white page */
  --ani-panel:   #F6F7FA;   /* soft alt surface */
  --ani-line-2:  #ECEFF4;   /* hairline */
  --ani-body-2:  #3A4552;   /* refined body text */
  --ani-muted-2: #8C96A4;   /* meta / eyebrow */
  --e-ease:      cubic-bezier(.22,.61,.36,1);
  --e-slow:      cubic-bezier(.16,1,.3,1);
}

/* remove the earlier busy chrome */
.ani-scrollbar { display: none !important; }

/* ====================================================================== *
 *  TYPOGRAPHY: editorial serif display, clean Heebo body
 * ====================================================================== */
.hero-shot__copy h1,
.ani-svc-hero__title,
.section-title,
.cta-band__title,
.ani-services-hero .section-title,
h1.entry-title, .ani-post-title {
  font-family: var(--ani-display);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.1;
  text-wrap: balance;
}
.section-title { font-size: clamp(2rem, 3.6vw, 3.1rem); }

/* eyebrows → quiet, refined (NOT blue, NOT mono, no tick) */
.section-eyebrow,
.ani-svc-head__eyebrow,
.cta-band__eyebrow {
  font-family: var(--ani-font); font-weight: 600; font-size: .78rem;
  color: var(--ani-muted-2); letter-spacing: 0; display: inline-block;
}
.section-eyebrow::before, .ani-svc-head__eyebrow::before { content: none; }
:lang(en) .section-eyebrow, .section-eyebrow[dir="ltr"],
[lang="en"] .section-eyebrow { letter-spacing: .16em; text-transform: uppercase; }

body { color: var(--ani-body-2); }

/* ====================================================================== *
 *  WHITESPACE: generous, consistent section rhythm
 * ====================================================================== */
.ani-svc-section, .ani-svc-lead, .ani-svc-closing,
.ani-services-grid, .cta-band {
  padding-block: clamp(64px, 9vw, 128px);
}
.ani-container, .cta-band__inner, .container { --gutter: clamp(20px, 5vw, 64px); }

/* ====================================================================== *
 *  BUTTONS: clean, smooth
 * ====================================================================== */
.ani-btn {
  border-radius: 8px; font-weight: 600; letter-spacing: -.01em;
  padding-block: 14px; padding-inline: 26px;
  transition: transform .25s var(--e-ease), background .25s var(--e-ease),
              box-shadow .25s var(--e-ease), color .25s var(--e-ease), border-color .25s var(--e-ease);
}
.ani-btn--primary { box-shadow: 0 8px 22px rgba(31,109,255,.20); }
.ani-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(31,109,255,.30); }
.ani-btn .ani-btn-arrow { transition: transform .3s var(--e-ease); }
.ani-btn:hover .ani-btn-arrow { transform: translateX(4px); }
[dir="rtl"] .ani-btn:hover .ani-btn-arrow { transform: translateX(-4px); }

/* ====================================================================== *
 *  LINK-COLOUR FIX: chrome links never inherit the global a:visited blue
 * ====================================================================== */
.ani-footer-links a, .ani-footer-links a:visited,
.ani-footer-contact a, .ani-footer-contact a:visited,
.ani-footer-nav a, .ani-footer-nav a:visited,
.ani-footer-nav__list a, .ani-footer-nav__list a:visited,
.footer-nav a, .footer-nav a:visited { color: #C4D0DF; text-decoration: none; }
.ani-footer-legal a, .ani-footer-legal a:visited { color: #AAB9CC; }
.ani-footer-links a:hover, .ani-footer-contact a:hover,
.ani-footer-nav a:hover, .ani-footer-nav__list a:hover,
.footer-nav a:hover, .ani-footer-legal a:hover { color: #fff; }

/* ====================================================================== *
 *  CARDS: clean, soft, generous (remove the tick motif entirely)
 * ====================================================================== */
.cap-card, .equip-card {
  border-radius: 14px !important;
  border-color: var(--ani-line-2) !important;
  box-shadow: 0 1px 2px rgba(13,20,27,.03) !important;
  transition: transform .3s var(--e-slow), box-shadow .3s var(--e-slow);
}
.cap-card::before, .cap-card::after,
.equip-card::before, .equip-card::after { content: none !important; }
.cap-card:hover, .equip-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(13,20,27,.10) !important;
}
.cap-card__media img { transition: transform .6s var(--e-slow); }
.cap-card:hover .cap-card__media img { transform: scale(1.04); }

/* ====================================================================== *
 *  MOTION: subtle, smooth reveals (elevate.js adds .rv-in). Progressive:
 *  hidden only when JS confirmed (.ani-js on <html>).
 * ====================================================================== */
@media (prefers-reduced-motion: no-preference) {
  .ani-js [data-reveal] {
    opacity: 0; transform: translateY(16px);
    transition: opacity .9s var(--e-slow), transform .9s var(--e-slow);
    transition-delay: var(--d, 0ms);
  }
  .ani-js [data-reveal].rv-in { opacity: 1; transform: none; }
}
.ani-count { font-variant-numeric: tabular-nums; }

/* ====================================================================== *
 *  HOMEPAGE HERO: clean, editorial, legible (no grid, no ticks)
 * ====================================================================== */
.hero-shot { position: relative; overflow: hidden; min-block-size: clamp(560px, 84vh, 840px); }
.hero-shot__scrim {
  position: absolute !important; inset: 0 !important; z-index: 1 !important; display: block !important;
  background:
    linear-gradient(to left, rgba(9,12,18,.88) 0%, rgba(9,12,18,.55) 46%, rgba(9,12,18,.12) 80%, rgba(9,12,18,.28) 100%),
    linear-gradient(to top, rgba(9,12,18,.72), transparent 52%) !important;
}
[dir="ltr"] .hero-shot__scrim {
  background:
    linear-gradient(to right, rgba(9,12,18,.88) 0%, rgba(9,12,18,.55) 46%, rgba(9,12,18,.12) 80%, rgba(9,12,18,.28) 100%),
    linear-gradient(to top, rgba(9,12,18,.72), transparent 52%) !important;
}
.hero-shot__inner { position: relative; z-index: 2; }
.hero-shot__eyebrow {
  font-family: var(--ani-font) !important; color: #B7C6DB !important; font-size: .82rem !important;
  font-weight: 500 !important; letter-spacing: .01em;
}
.hero-shot__copy h1 {
  color: #fff !important; font-size: clamp(2.6rem, 5.6vw, 4.6rem) !important;
  line-height: 1.06 !important; letter-spacing: -.01em;
  text-shadow: 0 2px 40px rgba(0,0,0,.4);
}
.hero-shot__sub { color: #DCE4EF !important; font-size: clamp(1.02rem, 1.4vw, 1.2rem) !important; line-height: 1.7 !important; }
.hero-shot__tagline {
  color: #fff !important; font-family: var(--ani-display) !important;
  font-size: clamp(1.2rem, 2.1vw, 1.7rem) !important; font-weight: 600 !important; line-height: 1.4 !important;
}
.hero-shot__copy { animation: none; }

/* ====================================================================== *
 *  HOMEPAGE: quiet section rhythm, clean stat band, refined CTA
 * ====================================================================== */
.section-title--center::after {
  content: ""; display: block; inline-size: 40px; block-size: 2px;
  background: var(--ani-blue); margin: 20px auto 0; border-radius: 2px; opacity: .8;
}
.stat__num, .hero-stat__num, .stat-num { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }

/* CTA band: keep brand blue but calmer + cleaner */
.cta-band { position: relative; overflow: hidden; }
.cta-band--blueprint::after, .cta-band::after { content: none !important; }
.cta-band__inner { position: relative; z-index: 1; }

/* certs / equipment: clean */
.cert-badge { border-radius: 10px !important; transition: transform .25s var(--e-slow), box-shadow .25s var(--e-slow); }
.cert-badge:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(13,20,27,.08); }

/* footer top accent: remove the loud line */
.ani-site-footer::before { content: none !important; }
.ani-footer-col__heading { font-family: var(--ani-font); }

@media (prefers-reduced-motion: reduce) {
  .hero-shot__eyebrow, .hero-shot__copy h1, .hero-shot__sub, .hero-shot__tagline, .hero-shot__actions { animation: none; }
  .cap-card, .equip-card, .ani-btn, .cert-badge { transition: none; }
}

/* --- Mobile overflow safety (RTL): keep content within the viewport so the
   components.css overflow-x:clip never cuts the start of Hebrew lines. --- */
@media (max-width: 760px) {
  img, video, svg { max-inline-size: 100%; height: auto; }
  .ani-svc-hero__media, .hero-shot__media { max-inline-size: 100%; }
  .ani-svc-hero__inner, .hero-shot__inner, .ani-container, .container,
  .ani-svc-features > *, .ani-svc-techs > *, .ani-svc-adv > *, .ani-svc-gallery > *,
  .cap-card, .equip-card { min-inline-size: 0; }
  .ani-container, .container { padding-inline: clamp(16px, 5vw, 24px); }
}

/* --- Contact page form section --- */
.ani-contact-formsec { padding-block: clamp(40px, 6vw, 72px); background: var(--ani-panel); }
.ani-contact-formsec .ani-form-wrap { max-inline-size: 760px; margin-inline: auto; }
