.elementor-kit-6{--e-global-color-primary:#1B75BC;--e-global-color-secondary:#0B2239;--e-global-color-text:#16232B;--e-global-color-accent:#005EB7;--e-global-color-9b87379:#FFFFFF;--e-global-color-31bb3d7:#005EB7;--e-global-color-3ecb9b3:#2ECC71;--e-global-color-0a22c6d:#ACACAC;--e-global-color-025b27d:#001F59;--e-global-color-26b0cff:#F7F7F7;--e-global-color-ba17c79:#F7F8FF;--e-global-color-b0222a6:#F5A623;--e-global-color-99ac573:#F6F9FC;--e-global-color-15554ff:#E3EAF1;--e-global-color-1a642ec:#5D7385;--e-global-color-067d4fe:#E6F3FB;--e-global-color-887f6e2:#0F4C7C;--e-global-color-b0640a6:#1462A0;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-ab34090-font-family:"Poppins";--e-global-typography-ab34090-font-size:56px;--e-global-typography-ab34090-font-weight:700;--e-global-typography-ab34090-line-height:1.15em;--e-global-typography-2168c00-font-family:"Poppins";--e-global-typography-2168c00-font-size:40px;--e-global-typography-2168c00-font-weight:700;--e-global-typography-2168c00-line-height:1.15em;--e-global-typography-0cf3333-font-family:"Poppins";--e-global-typography-0cf3333-font-size:24px;--e-global-typography-0cf3333-font-weight:600;--e-global-typography-0cf3333-line-height:1.3em;--e-global-typography-c244195-font-family:"Poppins";--e-global-typography-c244195-font-size:18px;--e-global-typography-c244195-font-weight:600;--e-global-typography-c244195-line-height:1.4em;--e-global-typography-0ce10f7-font-family:"Poppins";--e-global-typography-0ce10f7-font-size:16px;--e-global-typography-0ce10f7-font-weight:300;--e-global-typography-0ce10f7-line-height:1.6em;--e-global-typography-e3ce659-font-size:clamp(1rem, 1rem + 0vw, 1rem);--e-global-typography-e3ce659-line-height:1.9em;--e-global-typography-85ab03e-font-size:clamp(0.875rem, 0.875rem + 0vw, 0.875rem);--e-global-typography-85ab03e-line-height:1.9em;--e-global-typography-f69b7a9-font-size:clamp(0.75rem, 0.75rem + 0vw, 0.75rem);--e-global-typography-f69b7a9-line-height:1.9em;font-size:clamp(1rem, 1rem + 0vw, 1rem);line-height:1.9em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-size:var( --e-global-typography-85ab03e-font-size );line-height:var( --e-global-typography-85ab03e-line-height );color:var( --e-global-color-9b87379 );border-radius:1em 1em 1em 1em;padding:1em 2em 1em 2em;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-31bb3d7 );color:var( --e-global-color-9b87379 );border-radius:1em 1em 1em 1em;}.elementor-kit-6 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:#3A5DFF;}body{overflow-x:inherit !important;}.elementor a, .elementor a:link, .elementor a:focus, .elementor a:active, .elementor a:hover{text-decoration:inherit !important;}.elementor a:link, .elementor .smooth-hover a:link, {transition:inherit;}.elementor-kit-6 h1{font-family:var( --e-global-typography-ab34090-font-family ), Sans-serif;font-size:var( --e-global-typography-ab34090-font-size );font-weight:var( --e-global-typography-ab34090-font-weight );line-height:var( --e-global-typography-ab34090-line-height );}.elementor-kit-6 h2{font-family:var( --e-global-typography-2168c00-font-family ), Sans-serif;font-size:var( --e-global-typography-2168c00-font-size );font-weight:var( --e-global-typography-2168c00-font-weight );line-height:var( --e-global-typography-2168c00-line-height );}.elementor-kit-6 h3{font-family:var( --e-global-typography-0cf3333-font-family ), Sans-serif;font-size:var( --e-global-typography-0cf3333-font-size );font-weight:var( --e-global-typography-0cf3333-font-weight );line-height:var( --e-global-typography-0cf3333-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.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);}@media(max-width:1024px){.elementor-kit-6 h1{font-size:var( --e-global-typography-ab34090-font-size );line-height:var( --e-global-typography-ab34090-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-2168c00-font-size );line-height:var( --e-global-typography-2168c00-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-0cf3333-font-size );line-height:var( --e-global-typography-0cf3333-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-85ab03e-font-size );line-height:var( --e-global-typography-85ab03e-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h1{font-size:var( --e-global-typography-ab34090-font-size );line-height:var( --e-global-typography-ab34090-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-2168c00-font-size );line-height:var( --e-global-typography-2168c00-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-0cf3333-font-size );line-height:var( --e-global-typography-0cf3333-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-85ab03e-font-size );line-height:var( --e-global-typography-85ab03e-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --brand-500:#4268ff; --brand-600:#2f55f0; --brand-700:#2546d6; --brand-100:#eef2ff; --on-brand:#ffffff; --navy-900:#0b2239; --on-navy:#ffffff; --on-navy-muted:#a9b6cb; --marigold-400:#f5a623; --marigold-300:#ffb84a; --surface:#ffffff; --surface-soft:#f5f8fc; --surface-raised:#ffffff; --ink:#0b2239; --text:#334155; --text-muted:#5d7385; --line:#e3eaf1; --line-strong:#7f8da3; --success:#1e7a4f; --danger:#b42318; --font-display:Plus Jakarta Sans; --font-body:Figtree; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --container:1200px; --radius-sm:8px; --radius-md:12px; --radius-lg:24px; --radius-xl:32px; --radius-pill:999px; --fs-display:clamp(44px, 2rem + 3.33vw, 72px); --fs-h1:clamp(38px, 1.89rem + 2.14vw, 56px); --fs-h2:clamp(30px, 1.5rem + 1.67vw, 44px); --fs-h3:clamp(24px, 1.39rem + 0.48vw, 28px); }
/* Start custom CSS *//* ==========================================================================
   WAINWRIGHTS ACCOUNTANTS — ELEMENTOR CUSTOM CSS
   Paste into: Elementor → Site Settings → Custom CSS
   ==========================================================================

   SAFE BY DESIGN
   Every rule below is scoped to a "wa-" class. Nothing applies to your site
   until you add one of these classes to a widget via:
       Advanced tab → CSS Classes

   If anything looks wrong, delete this whole block and the site reverts.

   CLASS REFERENCE
     wa-reveal          fade + rise into view on scroll
     wa-d1 … wa-d6      stagger delay (use alongside wa-reveal)
     wa-lift            hover lift + shadow
     wa-card            white card, border, rounded
     wa-card-top        gradient bar draws across top on hover
     wa-icon            tinted icon holder, inverts on hover
     wa-hero            slow animated gradient background
     wa-band            dark navy rounded panel
     wa-cta             blue gradient rounded panel
     wa-marquee         infinite horizontal scroll, pauses on hover
     wa-btn             shine sweep on hover
     wa-pill            small green "New" badge
     wa-step            numbered step card
     wa-tile            compact partner / category tile
     wa-eyebrow         small uppercase label with dash
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. DESIGN TOKENS
   Update these hex values if your Brand Centre codes differ — everything
   below inherits from them.
   -------------------------------------------------------------------------- */
:root {
  --wa-brand:        #1B75BC;
  --wa-brand-600:    #1462A0;
  --wa-brand-700:    #0F4C7C;
  --wa-ink:          #0B2239;
  --wa-ink-2:        #123252;
  --wa-accent:       #39B6E8;
  --wa-accent-soft:  #E6F3FB;
  --wa-amber:        #F5A623;
  --wa-green:        #2ECC71;
  --wa-muted:        #5D7385;
  --wa-line:         #E3EAF1;
  --wa-bg:           #F6F9FC;

  --wa-radius:       16px;
  --wa-radius-lg:    28px;
  --wa-shadow-sm:    0 2px 8px rgba(11,34,57,.05);
  --wa-shadow:       0 14px 40px rgba(11,34,57,.09);
  --wa-ease:         cubic-bezier(.22,.9,.28,1);
}


/* --------------------------------------------------------------------------
   2. SCROLL REVEAL
   Add "wa-reveal" to any widget or container.
   Add "wa-d2" … "wa-d6" alongside it to stagger a row of cards.

   NOTE: this uses the CSS-only animation-timeline approach where supported,
   with a no-JS fallback that simply shows the element. Elements are never
   left invisible if animations aren't supported.
   -------------------------------------------------------------------------- */
.wa-reveal {
  opacity: 1;
  transform: none;
}

@supports (animation-timeline: view()) {
  .wa-reveal {
    opacity: 0;
    transform: translateY(26px);
    animation: waReveal linear forwards;
    animation-timeline: view();
    animation-range: entry 5% cover 26%;
  }
}

@keyframes waReveal {
  to { opacity: 1; transform: none; }
}

/* Stagger — nudges the range so later cards resolve slightly after earlier ones */
@supports (animation-timeline: view()) {
  .wa-d1 { animation-range: entry 5%  cover 24%; }
  .wa-d2 { animation-range: entry 7%  cover 27%; }
  .wa-d3 { animation-range: entry 9%  cover 30%; }
  .wa-d4 { animation-range: entry 11% cover 33%; }
  .wa-d5 { animation-range: entry 13% cover 36%; }
  .wa-d6 { animation-range: entry 15% cover 39%; }
}


/* --------------------------------------------------------------------------
   3. CARDS AND HOVER LIFT
   -------------------------------------------------------------------------- */
.wa-card {
  background: #fff;
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius);
  box-shadow: var(--wa-shadow-sm);
  position: relative;
  overflow: hidden;
}

.wa-lift {
  transition: transform .45s var(--wa-ease),
              box-shadow .45s var(--wa-ease),
              border-color .45s var(--wa-ease);
}

.wa-lift:hover {
  transform: translateY(-8px);
  box-shadow: var(--wa-shadow);
  border-color: transparent;
}

/* Gradient bar that draws across the top of a card on hover */
.wa-card-top::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--wa-accent), var(--wa-brand));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s var(--wa-ease);
  z-index: 2;
}

.wa-card-top:hover::before { transform: scaleX(1); }


/* --------------------------------------------------------------------------
   4. ICON HOLDERS
   Add "wa-icon" to an Icon Box widget. Targets Elementor's icon wrapper.
   -------------------------------------------------------------------------- */
.wa-icon .elementor-icon,
.wa-icon .elementor-icon-box-icon .elementor-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--wa-accent-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wa-brand);
  transition: background .4s var(--wa-ease),
              transform .4s var(--wa-ease),
              color .4s var(--wa-ease);
}

.wa-icon .elementor-icon svg,
.wa-icon .elementor-icon i { transition: fill .4s, color .4s; }

.wa-icon:hover .elementor-icon {
  background: var(--wa-brand);
  color: #fff;
  transform: rotate(-6deg) scale(1.06);
}

.wa-icon:hover .elementor-icon svg { fill: #fff; }
.wa-icon:hover .elementor-icon i   { color: #fff; }


/* --------------------------------------------------------------------------
   5. HERO — animated gradient background
   Add "wa-hero" to the hero Container. Set no background in Elementor;
   this supplies it.
   -------------------------------------------------------------------------- */
.wa-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #0B2239 0%, #123B63 45%, #0F4C7C 100%);
  background-size: 200% 200%;
  animation: waGradient 18s ease infinite;
}

@keyframes waGradient {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* Soft drifting glow, top right */
.wa-hero::after {
  content: "";
  position: absolute;
  top: -160px;
  right: -120px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .5;
  pointer-events: none;
  background: radial-gradient(circle, rgba(57,182,232,.55), transparent 70%);
  animation: waFloat 20s ease-in-out infinite;
}

@keyframes waFloat {
  0%, 100% { transform: translate(0,0) scale(1); }
  50%      { transform: translate(-50px,60px) scale(1.12); }
}

/* Keep Elementor content above the glow */
.wa-hero > .e-con-inner,
.wa-hero > .elementor-container { position: relative; z-index: 2; }

.wa-hero h1, .wa-hero h2, .wa-hero h3 { color: #fff; }
.wa-hero p { color: rgba(255,255,255,.78); }


/* --------------------------------------------------------------------------
   6. PANELS — dark band and blue CTA
   -------------------------------------------------------------------------- */
.wa-band {
  border-radius: var(--wa-radius-lg);
  color: #fff;
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, var(--wa-ink), var(--wa-ink-2) 60%, var(--wa-brand-700));
}

/* Subtle dot texture */
.wa-band::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .1;
  pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
  background-size: 28px 28px;
}

.wa-band > .e-con-inner,
.wa-band > .elementor-container { position: relative; z-index: 1; }

.wa-band h1, .wa-band h2, .wa-band h3, .wa-band .elementor-counter-number-wrapper {
  color: #fff;
}

.wa-cta {
  border-radius: var(--wa-radius-lg);
  color: #fff;
  background: linear-gradient(120deg, var(--wa-brand-700), var(--wa-brand) 55%, var(--wa-accent));
  background-size: 180% 180%;
  animation: waGradient 14s ease infinite;
}

.wa-cta h1, .wa-cta h2, .wa-cta h3 { color: #fff; }
.wa-cta p { color: rgba(255,255,255,.86); }


/* --------------------------------------------------------------------------
   7. BUTTON SHINE
   Add "wa-btn" to a Button widget.
   -------------------------------------------------------------------------- */
.wa-btn .elementor-button {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  transition: transform .3s var(--wa-ease), box-shadow .3s var(--wa-ease);
}

.wa-btn .elementor-button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.35) 50%, transparent 75%);
  transform: translateX(-120%);
  transition: transform .7s var(--wa-ease);
  pointer-events: none;
}

.wa-btn .elementor-button:hover::after { transform: translateX(120%); }

.wa-btn .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(27,117,188,.4);
}

/* Arrow nudge, if the button has an icon */
.wa-btn .elementor-button-icon { transition: transform .3s var(--wa-ease); }
.wa-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }


/* --------------------------------------------------------------------------
   8. MARQUEE
   Add "wa-marquee" to a Text Editor widget containing one long line of
   services separated by " · ". Pauses on hover.
   -------------------------------------------------------------------------- */
.wa-marquee {
  overflow: hidden;
  white-space: nowrap;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.wa-marquee p {
  display: inline-block;
  padding-left: 100%;
  margin: 0;
  color: var(--wa-muted);
  font-weight: 500;
  animation: waScroll 44s linear infinite;
}

.wa-marquee:hover p { animation-play-state: paused; }

@keyframes waScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}


/* --------------------------------------------------------------------------
   9. STEPS
   -------------------------------------------------------------------------- */
.wa-step {
  background: #fff;
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius);
  box-shadow: var(--wa-shadow-sm);
  transition: transform .45s var(--wa-ease), box-shadow .45s var(--wa-ease);
}

.wa-step:hover { transform: translateY(-6px); box-shadow: var(--wa-shadow); }

.wa-step .elementor-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--wa-accent), var(--wa-brand));
  color: #fff;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(27,117,188,.3);
}


/* --------------------------------------------------------------------------
   10. TILES — partner network, category chips
   -------------------------------------------------------------------------- */
.wa-tile {
  border: 1px solid var(--wa-line);
  border-radius: 12px;
  background: var(--wa-bg);
  text-align: center;
  transition: background .35s var(--wa-ease),
              color .35s var(--wa-ease),
              border-color .35s var(--wa-ease),
              transform .35s var(--wa-ease);
}

.wa-tile:hover {
  background: var(--wa-accent-soft);
  border-color: rgba(27,117,188,.3);
  color: var(--wa-brand-700);
  transform: translateY(-3px);
}


/* --------------------------------------------------------------------------
   11. SMALL BITS
   -------------------------------------------------------------------------- */

/* Green "New" badge — add wa-pill to a small Text widget */
.wa-pill {
  display: inline-block;
  background: var(--wa-green);
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 5px;
  line-height: 1.4;
}

/* Uppercase eyebrow label with leading dash */
.wa-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--wa-brand);
}

.wa-eyebrow::before {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--wa-accent);
}

.wa-eyebrow.wa-light { color: var(--wa-accent); }

/* Pulsing green dot — for the "we're open" indicator in the header */
.wa-dot::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--wa-green);
  box-shadow: 0 0 0 0 rgba(46,204,113,.6);
  animation: waPulse 2.2s infinite;
}

@keyframes waPulse {
  70%  { box-shadow: 0 0 0 8px rgba(46,204,113,0); }
  100% { box-shadow: 0 0 0 0 rgba(46,204,113,0); }
}

/* Star rating colour */
.wa-stars { color: var(--wa-amber); letter-spacing: 2px; }


/* --------------------------------------------------------------------------
   12. ELEMENTOR WIDGET POLISH
   Light touch-ups to stock widgets. Scoped so they only apply where you
   add the class.
   -------------------------------------------------------------------------- */

/* Accordion / FAQ — add wa-faq to the Accordion widget */
.wa-faq .elementor-accordion-item {
  border: 1px solid var(--wa-line) !important;
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
  background: #fff;
  transition: border-color .3s var(--wa-ease), box-shadow .3s var(--wa-ease);
}

.wa-faq .elementor-accordion-item:has(.elementor-active) {
  border-color: rgba(27,117,188,.35) !important;
  box-shadow: var(--wa-shadow-sm);
}

.wa-faq .elementor-tab-title { transition: color .25s; }
.wa-faq .elementor-tab-title:hover { color: var(--wa-brand); }

/* Tabs — add wa-tabs to the Tabs widget for pill-style tab buttons */
.wa-tabs .elementor-tabs-wrapper {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  border: 0;
}

.wa-tabs .elementor-tab-title {
  border: 1px solid var(--wa-line) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-weight: 600;
  color: var(--wa-muted);
  background: #fff;
  transition: all .3s var(--wa-ease);
}

.wa-tabs .elementor-tab-title:hover {
  border-color: rgba(27,117,188,.4) !important;
  color: var(--wa-brand);
}

.wa-tabs .elementor-tab-title.elementor-active {
  background: var(--wa-brand);
  border-color: var(--wa-brand) !important;
  color: #fff;
  box-shadow: 0 8px 20px rgba(27,117,188,.28);
}

/* Counters */
.wa-band .elementor-counter-number-wrapper {
  font-weight: 700;
  letter-spacing: -.03em;
}

/* Posts grid — add wa-posts to the Posts widget */
.wa-posts article {
  border: 1px solid var(--wa-line);
  border-radius: var(--wa-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--wa-shadow-sm);
  transition: transform .45s var(--wa-ease), box-shadow .45s var(--wa-ease);
}

.wa-posts article:hover { transform: translateY(-8px); box-shadow: var(--wa-shadow); }
.wa-posts .elementor-post__title a { transition: color .3s; }
.wa-posts article:hover .elementor-post__title a { color: var(--wa-brand); }


/* --------------------------------------------------------------------------
   13. ACCESSIBILITY — respect reduced motion
   Anyone who has "reduce motion" enabled on their device sees a static site.
   Required for WCAG. Do not remove.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .wa-reveal,
  .wa-hero,
  .wa-hero::after,
  .wa-cta,
  .wa-marquee p,
  .wa-dot::before {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .wa-lift, .wa-step, .wa-tile, .wa-posts article {
    transition-duration: .01ms !important;
  }
}


/* --------------------------------------------------------------------------
   14. MOBILE
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .wa-band, .wa-cta {
    border-radius: 20px;
    margin-left: 0;
    margin-right: 0;
  }

  /* Disable hover lift on touch — it sticks after tapping */
  .wa-lift:hover, .wa-step:hover, .wa-tile:hover, .wa-posts article:hover {
    transform: none;
  }
}

/* END WAINWRIGHTS CSS */

/* Phase 1 accessibility quick fixes (5 Oct 2026) */
.elementor .elementor-widget-text-editor a:any-link, .elementor .elementor-widget-theme-post-content a:any-link { text-decoration: underline !important; text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid #4268ff !important; outline-offset: 3px; }
footer .elementor-widget-text-editor a { display: inline-block; padding-block: 12px; }

/* v4 text links (5 Oct 2026): underline links inside paragraphs and standalone text links */
.elementor .e-paragraph-base a:any-link, .elementor a.wa-text-link:any-link { text-decoration: underline !important; text-underline-offset: 4px; }

/* v4 FAQ indicator (5 Oct 2026): plus and minus key on accordion rows */
.e-accordion-item-header-base { justify-content: space-between; align-items: center; gap: 16px; }
.e-accordion-item-header-base::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 8px; background: #eef2ff; color: #2f55f0; display: grid; place-items: center; font: 500 20px/1 Figtree, Arial, sans-serif; }
details[open] > .e-accordion-item-header-base::after { content: "−"; }

/* v4 inline links (6 Oct 2026): brand colour and a 44px tap area without changing line height */
.elementor .e-paragraph-base a:any-link { color: #2f55f0; padding-block: 15px; }
.elementor .e-paragraph-base a:any-link:hover { color: #2546d6; }
.elementor .wa-section-navy .e-paragraph-base a:any-link, .elementor .wa-cta-band .e-paragraph-base a:any-link { color: #ffffff; }
/* v4 accordion motion: 180ms, none under reduced motion */
.e-accordion-item-base, .e-accordion-item-base *, .e-accordion-item-header-base::before, .e-accordion-item-header-base::after { transition-duration: 180ms !important; }
@media (prefers-reduced-motion: reduce) { .e-accordion-item-base, .e-accordion-item-base *, .e-accordion-item-header-base::before, .e-accordion-item-header-base::after, .wa-card, .wa-btn { transition: none !important; animation: none !important; } }

/* Wainwrights motion system (6 Oct 2026). Signature = class "wa-m" on a page's sections; "wa-m wa-m-show" adds the homepage hero opening. Spec: motion/motion.md. Only opacity, transform, clip-path, background-position and colours animate. */
:root { --wa-ease-out: cubic-bezier(.22, 1, .36, 1); --wa-ease-in-out: cubic-bezier(.65, 0, .35, 1); --wa-dur-micro: 120ms; --wa-dur-ui: 240ms; --wa-dur-reveal: 520ms; --wa-dur-signature: 900ms; --wa-stagger: 60ms; --wa-rise: 16px; }
.wa-m-img { overflow: hidden; }
.wa-m-img > img { display: block; }
.wa-m-w, .wa-m-w > span { display: inline-block; }
.wa-m-w { clip-path: inset(-.12em -.12em -.2em); }
@media screen and (prefers-reduced-motion: no-preference) {
  .wa-m :is(.wa-m-load, .wa-m-stagger) > :nth-child(2) { --wa-i: 1; }
  .wa-m :is(.wa-m-load, .wa-m-stagger) > :nth-child(3) { --wa-i: 2; }
  .wa-m :is(.wa-m-load, .wa-m-stagger) > :nth-child(4) { --wa-i: 3; }
  .wa-m :is(.wa-m-load, .wa-m-stagger) > :nth-child(n+5) { --wa-i: 4; }
  @keyframes wa-m-rise { from { opacity: .01; transform: translateY(var(--wa-rise)); } }
  @keyframes wa-m-word { from { opacity: .01; transform: translateY(62%); } }
  @keyframes wa-m-settle { from { transform: scale(1.06); } }
  @keyframes wa-m-draw { from { transform: scaleX(0); } }
  @keyframes wa-m-open { from { clip-path: inset(7% 5% round 32px); } to { clip-path: inset(0 round 0px); } }
  @keyframes wa-m-key { 45% { background-color: #4268ff; transform: scale(.94); } }
  @keyframes wa-m-key2 { 45% { background-color: #4268ff; transform: scale(.94); } }
  @keyframes wa-m-lit { 0%, 55% { opacity: .22; transform: scale(.92); } }
  @keyframes wa-m-sheen { from { background-position: 100% 0; } to { background-position: 0 0; } }
  .wa-m .wa-m-load > * { animation: wa-m-rise var(--wa-dur-reveal) var(--wa-ease-out) calc(var(--wa-i, 0) * var(--wa-stagger)) backwards; }
  .wa-m .wa-m-split { animation: none !important; }
  .wa-m .wa-m-w > span { animation: wa-m-word var(--wa-dur-reveal) var(--wa-ease-out) calc(60ms + var(--wa-i, 0) * var(--wa-stagger)) backwards; }
  .wa-m .wa-m-settle > img, .wa-m img.wa-m-settle { animation: wa-m-settle var(--wa-dur-signature) var(--wa-ease-out) backwards; }
  .wa-m .wa-m-img > img { transition: transform 600ms var(--wa-ease-out); }
  .wa-m .wa-m-img:hover > img { transform: scale(1.03); }
  @supports (animation-timeline: view()) {
    .wa-m .wa-m-reveal, .wa-m .wa-m-stagger > * { animation: wa-m-rise var(--wa-ease-out) both; animation-timeline: view(); animation-range: entry calc(var(--wa-i, 0) * 10%) entry calc(70% + var(--wa-i, 0) * 10%); }
    .wa-m .wa-m-rule { transform-origin: 0 50%; animation: wa-m-draw var(--wa-ease-in-out) both; animation-timeline: view(); animation-range: entry 0% cover 22%; }
  }
  @supports not (animation-timeline: view()) {
    .wa-m-js .wa-m :is(.wa-m-reveal, .wa-m-stagger > *):not(.wa-m-in) { opacity: .01; }
    .wa-m-js .wa-m :is(.wa-m-reveal, .wa-m-stagger > *).wa-m-in { animation: wa-m-rise var(--wa-dur-reveal) var(--wa-ease-out) calc(var(--wa-i, 0) * var(--wa-stagger)) backwards; }
    .wa-m-js .wa-m .wa-m-rule { transform-origin: 0 50%; }
    .wa-m-js .wa-m .wa-m-rule:not(.wa-m-in) { transform: scaleX(0); }
    .wa-m-js .wa-m .wa-m-rule.wa-m-in { animation: wa-m-draw var(--wa-dur-reveal) var(--wa-ease-in-out) backwards; }
  }
  .wa-m .wa-keys.wa-m-in > * { animation: wa-m-key 300ms var(--wa-ease-in-out) calc(var(--wa-i, 0) * var(--wa-stagger)) backwards; }
  .wa-m .wa-keys.wa-m-in > :is(.wa-key-on, .wa-key-marigold) { animation-name: wa-m-lit; animation-duration: 420ms; }
  .wa-m .wa-btn { transition: background-color var(--wa-dur-ui) ease, border-color var(--wa-dur-ui) ease, color var(--wa-dur-ui) ease, transform var(--wa-dur-ui) var(--wa-ease-out), background-position 0s; }
  .wa-m .wa-btn:active { transform: translateY(2px) scale(.98); transition-duration: var(--wa-dur-micro); }
  .wa-m :is(.wa-btn-primary, .wa-btn-on-navy) { background-image: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .3) 50%, transparent 60%); background-size: 250% 100%; background-position: 100% 0; background-repeat: no-repeat; }
  @media (hover: hover) {
    .wa-m :is(a, .wa-card, .wa-cta-band):hover .wa-keys > *, .wa-m .wa-keys:hover > * { animation: wa-m-key2 300ms var(--wa-ease-in-out) calc(var(--wa-i, 0) * var(--wa-stagger)) backwards; }
    .wa-m :is(.wa-btn-primary, .wa-btn-on-navy):hover { background-position: 0 0; transition-duration: var(--wa-dur-ui), var(--wa-dur-ui), var(--wa-dur-ui), var(--wa-dur-ui), 600ms; }
    .wa-m a.wa-card:hover { transform: translateY(-4px); border-color: #4268ff; }
    .wa-m a.wa-card:hover .wa-icon-tile { background-color: #2f55f0; color: #ffffff; transform: translateY(-2px); }
  }
  .wa-m a.wa-card .wa-icon-tile { transition: background-color var(--wa-dur-ui) ease, color var(--wa-dur-ui) ease, transform var(--wa-dur-ui) var(--wa-ease-out); }
  .wa-m .e-accordion-item-base[open] > :not(summary) { animation: wa-m-rise var(--wa-dur-ui) var(--wa-ease-out) backwards; }
  .wa-m-show .wa-m-open { animation: wa-m-open var(--wa-dur-signature) var(--wa-ease-in-out) backwards; }
  .wa-m-show .wa-m-load :is(.wa-btn-primary, .wa-btn-on-navy) { animation: wa-m-sheen 560ms var(--wa-ease-out) 340ms backwards; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('http://wainwrightsaccountants.co.uk/wp-content/uploads/2023/02/Poppins-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('http://wainwrightsaccountants.co.uk/wp-content/uploads/2023/02/Poppins-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('http://wainwrightsaccountants.co.uk/wp-content/uploads/2023/02/Poppins-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('http://wainwrightsaccountants.co.uk/wp-content/uploads/2023/02/Poppins-ExtraBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */