/* ==========================================================================
   Accel Infotec - custom styles
   Loaded after tailwind.css
   ========================================================================== */

/* Web fonts: Inter + Open Sans (self-hosted, latin + latin-ext) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/open-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Font Awesome Free 6.5.0 subset - https://fontawesome.com/license/free
   (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(../fonts/fa-solid-900.woff2) format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../fonts/fa-brands-400.woff2) format("woff2");
}
.fa-solid,
.fa-brands {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}
.fa-solid { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.fa-brands { font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.fa-caret-down::before { content: "\f0d7"; }
.fa-chart-line::before { content: "\f201"; }
.fa-check::before { content: "\f00c"; }
.fa-cloud-arrow-up::before { content: "\f0ee"; }
.fa-desktop::before { content: "\f390"; }
.fa-earth-asia::before { content: "\f57e"; }
.fa-linkedin-in::before { content: "\f0e1"; }
.fa-lock::before { content: "\f023"; }
.fa-phone::before { content: "\f095"; }
.fa-puzzle-piece::before { content: "\f12e"; }
.fa-shield-halved::before { content: "\f3ed"; }

/* ==========================================================================
   Global Typography System — fluid scale
   ========================================================================== */

/* Size tokens — clamp() values defined once, used everywhere via var() */
:root{
  --ai-h1:   clamp(32px, calc(24px + 1.7vw),   48px);
  --ai-h2:   clamp(26px, calc(21px + 1.05vw),  36px);
  --ai-h3:   clamp(20px, calc(18px + 0.4vw),   24px);
  --ai-h4:   clamp(18px, calc(17px + 0.2vw),   20px);
  --ai-lead: clamp(18px, calc(17px + 0.25vw),  20px);
  --ai-body: clamp(17px, calc(16px + 0.15vw),  18px);
  --ai-muted: #4b5563;
}

html{ font-size:100%; -webkit-text-size-adjust:100%; }

body{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:var(--ai-body);
  font-weight:400;
  line-height:1.65;
}

/* ---- Body text: paragraphs, lists, tables ---- */
main p, main li, main td, main dd, main blockquote,
article p, article li, .entry-content p, .entry-content li{
  font-size:var(--ai-body) !important;
  font-weight:400 !important;
  line-height:1.65 !important;
}
main strong, main b{ font-weight:700 !important; }

/* First paragraph directly after the H1 = intro text */
main h1 + p, main h1 ~ p:first-of-type{
  font-size:var(--ai-lead) !important;
  line-height:1.6 !important;
}

/* ---- Headings: default dark colour, overridden to white inside dark/coloured sections ---- */
h1, h2, h3, h4{ font-family:"Inter", Arial, sans-serif !important; color:#0f172a; }
h1{ font-size:var(--ai-h1) !important; line-height:1.15 !important; font-weight:700 !important; letter-spacing:-0.01em; }
h2{ font-size:var(--ai-h2) !important; line-height:1.2  !important; font-weight:700 !important; }
h3{ font-size:var(--ai-h3) !important; line-height:1.3  !important; font-weight:700 !important; }
h4{ font-size:var(--ai-h4) !important; line-height:1.35 !important; font-weight:700 !important; }
h1, h2, h3{ margin-bottom:0.5em; }

/* ---- Top bar tagline above the menu ---- */
header p{ font-size:14px !important; line-height:1.4 !important; }

/* ---- Main menu ---- */
header nav a, header .menu a, header nav li a{
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  padding-top:10px; padding-bottom:10px;
}
@media (max-width:1023px){
  header nav a, header .menu a{ font-size:18px !important; padding:12px 0; }
  #acc-nav-panel a{ font-size:18px !important; }
}

/* ---- Buttons and call-to-action links (only WP block buttons & explicit .btn classes) ---- */
.wp-block-button__link, a.btn, .btn{
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

/* ---- Small text: enforce minimum readable size, but NEVER override the
   colour the element already declares via Tailwind classes ---- */
main [class*="text-xs"], main [class*="text-[10"], main [class*="text-[11"],
main [class*="text-[12"], main small, .post-meta, .entry-meta, time{
  font-size:14px !important;
}
/* Muted colour only on elements that carry no Tailwind text class at all */
main small:not([class]), .post-meta:not([class*="text-"]),
.entry-meta:not([class*="text-"]), time:not([class*="text-"]){
  color:var(--ai-muted) !important;
}
main [class*="font-light"], main [class*="font-300"]{ font-weight:400 !important; }

/* ---- Footer ---- */
footer p, footer a, footer li, footer address{
  font-size:15px !important;
  line-height:1.6 !important;
}
footer h4, footer h3, footer .widget-title{
  font-size:16px !important; font-weight:700 !important; letter-spacing:0.04em;
}

/* ---- Forms ---- */
input, select, textarea{ font-size:16px !important; }
label{ font-size:15px !important; font-weight:600; }

/* ---- Readable line length ---- */
main p{ max-width:72ch; }
main .text-center p, main [class*="text-center"] p{ margin-left:auto; margin-right:auto; }

/* ---- "AS RECOGNISED BY" strip: single line on desktop, wraps on mobile ---- */
.recognised-line{ max-width:none !important; }
@media (min-width:768px){
  .recognised-line{ white-space:nowrap; }
}

/* ---- Tailwind text-white guard: element and children render white ---- */
/* Elements carrying text-white themselves */
.text-white, a.text-white, button.text-white{ color:#ffffff !important; }
/* Headings inside a text-white container must be white
   (unless the heading carries its own explicit colour class) */
.text-white h1:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white h2:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white h3:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white h4:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white h5:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white h6:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]){
  color:#ffffff !important;
}
/* Children without an explicit colour class inherit white.
   Excluded: elements with hex colours (text-[#..]), palette colours
   (text-gray-*, text-slate-*, etc.) or opacity variants (text-white/90) */
.text-white p:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-white"]):not([class*="text-black"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white li:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-white"]):not([class*="text-black"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white span:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-white"]):not([class*="text-black"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white div:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-white"]):not([class*="text-black"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white a:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]),
.text-white strong:not([class*="text-[#"]):not([class*="text-gray"]):not([class*="text-slate"]):not([class*="text-white"]):not([class*="text-black"]):not([class*="text-blue"]):not([class*="text-green"]):not([class*="text-sky"]):not([class*="text-cyan"]):not([class*="text-teal"]){
  color:#ffffff !important;
}

/* ==========================================================================
   Contact Form 7 - scoped styles (matches original Tailwind design)
   CF7 strips []/:/. from class names, so we style via .contact-form wrapper
   ========================================================================== */
.contact-form .wpcf7-form {
  display: block;
}
.contact-form .wpcf7-form input[type="text"],
.contact-form .wpcf7-form input[type="email"],
.contact-form .wpcf7-form input[type="tel"],
.contact-form .wpcf7-form textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  padding: 10px 12px;
  font-size: 15px;
  background-color: #fff;
  color: #333;
  border-radius: 0;
  margin-bottom: 8px;
  box-sizing: border-box;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.contact-form .wpcf7-form input::placeholder,
.contact-form .wpcf7-form textarea::placeholder {
  color: #6b7280;
}
.contact-form .wpcf7-form input:focus,
.contact-form .wpcf7-form textarea:focus {
  outline: none;
  border-color: #1e5a7a;
}
.contact-form .wpcf7-form textarea {
  resize: vertical;
  min-height: 140px;
}
.contact-form .wpcf7-form .wpcf7-submit {
  background-color: #1e5a7a;
  color: #fff;
  font-weight: 700;
  padding: 10px 32px;
  border-radius: 6px;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
  font-size: 16px;
  letter-spacing: 0.025em;
  border: none;
  cursor: pointer;
  margin-top: 12px;
  transition: background-color 0.15s ease;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.contact-form .wpcf7-form .wpcf7-submit:hover {
  background-color: #16405a;
}
/* CF7 response / validation messages */
.contact-form .wpcf7-response-output {
  margin: 12px 0 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 4px;
  background-color: #f0fdf4;
  color: #15803d;
  font-size: 14px;
  font-weight: 500;
}
.contact-form .wpcf7-form.invalid .wpcf7-response-output,
.contact-form .wpcf7-form.failed .wpcf7-response-output,
.contact-form .wpcf7-form.spam .wpcf7-response-output {
  border-color: #fecaca !important;
  background-color: #fef2f2;
  color: #b91c1c;
}
.contact-form .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #b91c1c;
  margin-top: -4px;
  margin-bottom: 6px;
  display: block;
}
.contact-form .wpcf7-form .wpcf7-spinner {
  margin-left: 8px;
}
/* Keep CF7 .wpcf7 form controls block-level like original layout */
.contact-form .wpcf7-form-control-wrap {
  display: block;
}

/* ==========================================================================
   Checklist Form (homepage) - smaller inputs, 2-col name row, full-width btn
   ========================================================================== */
.checklist-form .cf7-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.checklist-form .wpcf7-form-control-wrap {
  display: block;
}
.checklist-form .wpcf7-form input[type="text"],
.checklist-form .wpcf7-form input[type="email"],
.checklist-form .wpcf7-form input[type="tel"],
.checklist-form .wpcf7-form textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  padding: 8px 12px;
  font-size: 11px;
  background-color: #fff;
  color: #333;
  border-radius: 4px;
  margin-bottom: 8px;
  box-sizing: border-box;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.checklist-form .wpcf7-form input::placeholder,
.checklist-form .wpcf7-form textarea::placeholder {
  color: #6b7280;
}
.checklist-form .wpcf7-form input:focus,
.checklist-form .wpcf7-form textarea:focus {
  outline: none;
  border-color: #1e4f6e;
}
.checklist-form .wpcf7-form .wpcf7-submit {
  width: 100%;
  background-color: #1e4f6e;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 12px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  margin-top: 4px;
  transition: background-color 0.15s ease;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.checklist-form .wpcf7-form .wpcf7-submit:hover {
  background-color: #16405a;
}
.checklist-form .wpcf7-response-output {
  margin: 8px 0 0 0 !important;
  padding: 6px 10px !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 4px;
  background-color: #f0fdf4;
  color: #15803d;
  font-size: 11px;
  font-weight: 500;
}
.checklist-form .wpcf7-form.invalid .wpcf7-response-output,
.checklist-form .wpcf7-form.failed .wpcf7-response-output,
.checklist-form .wpcf7-form.spam .wpcf7-response-output {
  border-color: #fecaca !important;
  background-color: #fef2f2;
  color: #b91c1c;
}
.checklist-form .wpcf7-not-valid-tip {
  font-size: 11px;
  color: #b91c1c;
  margin-top: -4px;
  margin-bottom: 4px;
  display: block;
}

/* ==========================================================================
   Consultation sidebar form (CF7) - used on service/support/blog pages
   ========================================================================== */
.consult-form .wpcf7-form-control-wrap {
  display: block;
}
.consult-form .wpcf7-form input[type="text"],
.consult-form .wpcf7-form input[type="email"],
.consult-form .wpcf7-form input[type="tel"],
.consult-form .wpcf7-form textarea {
  width: 100%;
  border: 1px solid #d6d6d6;
  padding: 8px;
  font-size: 14px;
  background-color: #fff;
  color: #333;
  border-radius: 0;
  margin-bottom: 8px;
  box-sizing: border-box;
  outline: none;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.consult-form .wpcf7-form input::placeholder,
.consult-form .wpcf7-form textarea::placeholder {
  color: #777;
}
.consult-form .wpcf7-form input:focus,
.consult-form .wpcf7-form textarea:focus {
  border-color: #267aa1;
}
.consult-form .wpcf7-form .wpcf7-submit {
  background-color: #1a5a7a;
  color: #fff;
  font-weight: 700;
  padding: 8px 28px;
  border-radius: 5px;
  font-size: 15px;
  letter-spacing: 0.025em;
  border: none;
  cursor: pointer;
  margin-top: 8px;
  box-shadow: 0 4px 10px rgba(26,90,122,0.35);
  transition: background-color 0.15s ease;
  font-family: 'Open Sans', 'Inter', sans-serif;
}
.consult-form .wpcf7-form .wpcf7-submit:hover {
  background-color: #154a66;
}
.consult-form .wpcf7-response-output {
  margin: 10px 0 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 4px;
  background-color: #f0fdf4;
  color: #16a34a;
  font-size: 13px;
  font-weight: 500;
}
.consult-form .wpcf7-form.invalid .wpcf7-response-output,
.consult-form .wpcf7-form.failed .wpcf7-response-output,
.consult-form .wpcf7-form.spam .wpcf7-response-output {
  border-color: #fecaca !important;
  background-color: #fef2f2;
  color: #b91c1c;
}
.consult-form .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #b91c1c;
  margin-top: 2px;
  margin-bottom: 4px;
  display: block;
}

/* ==========================================================================
   ISO 42001 Self Assessment modal (homepage)
   ========================================================================== */
.assessment-modal {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.assessment-modal.is-open {
  display: flex;
}
.assessment-modal-overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.6);
}
.assessment-modal-card {
  position: relative;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
  width: 100%;
  max-width: 440px;
  padding: 26px 26px 30px;
  max-height: 90vh;
  overflow-y: auto;
  animation: assessmentModalIn 0.18s ease-out;
}
@keyframes assessmentModalIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.assessment-modal-close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 30px;
  line-height: 1;
  color: #9ca3af;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 6px;
  z-index: 2;
}
.assessment-modal-close:hover {
  color: #374151;
}
.assessment-modal-title {
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  color: #2c3e50;
  margin: 0 0 16px;
  padding-right: 20px;
}
.assessment-modal-download {
  display: none;
  text-align: center;
  margin-top: 8px;
}
.assessment-modal-download.is-visible {
  display: block;
}
.assessment-modal-thanks {
  font-size: 13px;
  color: #15803d;
  font-weight: 600;
  margin: 0 0 12px;
}
.assessment-modal-download-btn {
  display: inline-block;
  background: #1a4f6e;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  padding: 12px 32px;
  border-radius: 4px;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  text-decoration: none;
}
.assessment-modal-download-btn:hover {
  background: #143d55;
  color: #ffffff;
}

/* Footer columns */
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: 280px 1fr 200px 120px;
    gap: 2.5rem;
  }
}

