/* ============================================================
   Akilityx — Modernization overlay (2026)
   Additive & non-destructive. Loaded LAST, after theme styles.
   Brand tokens taken from the existing theme:
     accent  #ff3334  ·  ink/navy  #1e272e
   ------------------------------------------------------------
   Hallmark · redesign (overlay scope) · genre: modern-minimal
   display: Space Grotesk · body: Open Sans · tone: technical
   pre-emit critique: P4 H4 E5 S4 R5 V4
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --akx-display:'Space Grotesk','Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --akx-brand:#ff3334;
  --akx-brand-dk:#e0231f;
  --akx-ink:#1e272e;
  --akx-radius:10px;
  --akx-shadow-md:0 18px 40px -18px rgba(20,30,45,.28);
  --akx-ease:cubic-bezier(.22,.61,.36,1);
}

/* 1 — Smoother global typography ----------------------------- */
html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  scroll-behavior:smooth;
}
body{ text-rendering:optimizeLegibility; }

/* Distinctive display face for headings — body stays Open Sans for legibility.
   .vc_custom_heading carries inline size/colour only (no inline font-family),
   so this override is clean and respects the theme's per-heading sizes. */
/* IMPORTANT: Visual Composer wraps body paragraphs in <p class="vc_custom_heading">,
   so the display face is scoped to real heading TAGS only — body copy stays Open Sans. */
h1,h2,h3,h4,h5,h6,
h1.vc_custom_heading,h2.vc_custom_heading,h3.vc_custom_heading,
h4.vc_custom_heading,h5.vc_custom_heading,h6.vc_custom_heading,
.widget-title,
.fancy-text-tag,
.fancy-text-tag a,
.entry-title,
.entry-title a,
.rt-fancy-text-box .title{
  font-family:var(--akx-display)!important;
  letter-spacing:-.02em;
  font-feature-settings:"ss01","ss03";
}
/* Body paragraphs that VC mislabels as headings: keep them readable in Open Sans */
p.vc_custom_heading{
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  letter-spacing:normal!important;
}
/* Keep navigation + mega-menu in the body face for calm legibility */
.rt-megamenu a,
.main-navigation a,
.menu a,
.wraper_header_bottom a{
  font-family:'Open Sans',sans-serif!important;
  letter-spacing:normal;
}

/* 2 — Buttons: rounded, animated, lift on hover -------------- */
.rt-button .rt-button-main,
.rt-button2 .rt-button2-main,
.btn,
.radiant-contact-form input[type=submit],
.radiant-contact-form button[type=submit],
.wpcf7-form input[type=submit]{
  border-radius:var(--akx-radius)!important;
  transition:transform .25s var(--akx-ease),
             box-shadow .25s var(--akx-ease),
             background-color .25s var(--akx-ease),
             color .25s var(--akx-ease)!important;
  will-change:transform;
}
.rt-button:hover .rt-button-main,
.rt-button2:hover .rt-button2-main,
.btn:hover,
.radiant-contact-form input[type=submit]:hover,
.radiant-contact-form button[type=submit]:hover,
.wpcf7-form input[type=submit]:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px -10px rgba(255,51,52,.45);
}

/* 3 — Service / feature cards: subtle elevation -------------- */
.rt-fancy-text-box,
.rt-icon-box,
.team-item,
.rt-portfolio-box-item,
.rt-pricing-table{
  transition:transform .3s var(--akx-ease),
             box-shadow .3s var(--akx-ease)!important;
}
.rt-fancy-text-box:hover,
.rt-icon-box:hover,
.team-item:hover{
  transform:translateY(-6px);
  box-shadow:var(--akx-shadow-md);
}

/* 4 — Sticky header gains a touch of depth ------------------- */
.wraper_header.sticky,
.wraper_header.is-sticky,
.rt-sticky-active,
.is_stuck{
  box-shadow:0 6px 22px -8px rgba(20,30,45,.16);
}

/* 5 — Links: smooth color transitions ----------------------- */
a{ transition:color .2s var(--akx-ease); }

/* 6 — Images inside cards a touch rounded ------------------- */
.rt-fancy-text-box img,
.rt-portfolio-box-item img,
.post .entry-thumb img{ border-radius:8px; }

/* 7 — Accessible, on-brand focus rings ---------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.btn:focus-visible{
  outline:2px solid var(--akx-brand);
  outline-offset:2px;
  border-radius:4px;
}

/* 8 — Form inputs: modern & consistent ---------------------- */
.radiant-contact-form input[type=text],
.radiant-contact-form input[type=email],
.radiant-contact-form input[type=tel],
.radiant-contact-form textarea,
.wpcf7-form input.wpcf7-form-control:not([type=submit]),
.wpcf7-form textarea.wpcf7-form-control{
  border-radius:8px!important;
  transition:border-color .2s var(--akx-ease),
             box-shadow .2s var(--akx-ease)!important;
}
.radiant-contact-form input:focus,
.radiant-contact-form textarea:focus,
.wpcf7-form input.wpcf7-form-control:focus,
.wpcf7-form textarea.wpcf7-form-control:focus{
  border-color:var(--akx-brand)!important;
  box-shadow:0 0 0 3px rgba(255,51,52,.15)!important;
  outline:none!important;
}

/* 9 — Hero / page-title headline legibility ----------------- */
.wraper_page_title h1,
.wraper_inner_banner h1{ text-shadow:0 2px 18px rgba(0,0,0,.22); }

/* 11 — Service-grid card titles: no mid-word breaks ---------
   The icon cards carry an oversized 35px inner padding, which on
   narrow widths squeezes the title into a ~67px box and forces raw
   character breaks ("Foundati on"). Give the title room + size it to
   fit + hyphenate properly instead of breaking mid-word.
   :has() scopes this to the 8 icon cards only (graceful no-op on
   very old browsers). */
.wpb_column:has(img[src*="/wp-content/uploads/2019/04/ico"]) .vc_custom_heading{
  font-size:14px!important;
  line-height:1.3!important;
  letter-spacing:-.01em;
  word-break:normal!important;
  -webkit-hyphens:auto;
  hyphens:auto;
  /* break only as a last resort (e.g. the single long word
     "Telecommunications"); all shorter titles stay whole */
  overflow-wrap:break-word!important;
}
@media (max-width:1199px){
  .wpb_column:has(img[src*="/wp-content/uploads/2019/04/ico"]) .vc_column-inner{
    padding:20px 14px!important;
  }
}
@media (max-width:600px){
  .wpb_column:has(img[src*="/wp-content/uploads/2019/04/ico"]) .vc_column-inner{
    padding:16px 10px!important;
  }
}

/* 12 — Reading rhythm & breathing (impeccable polish) -------
   Comfortable leading + reading measure for body copy. Short centered
   intros sit under the measure cap, so they're unaffected. Additive. */
p.vc_custom_heading,
.wpb_text_column p,
.entry-content p,
.post .entry-main p{
  line-height:1.72!important;
}
p.vc_custom_heading,
.wpb_text_column p{
  max-width:70ch;
}

/* 10 — Respect reduced motion ------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none!important; animation:none!important; }
}
