/*
Theme Name: Expo Eng Modern v4
Theme URI: https://england-export.com/
Template: zakra
Author: England-Export
Description: Modern child theme for England-Export, based on Zakra. Designed for customs, transport and ferry services with Polylang support.
Version: 4.0.0
Text Domain: expo-eng-modern
*/

:root {
  --ee-navy: #0b2f58;
  --ee-navy-2: #092442;
  --ee-blue: #0879d9;
  --ee-blue-2: #0a6fc6;
  --ee-cyan: #28a8ef;
  --ee-green: #18a957;
  --ee-text: #14243a;
  --ee-muted: #5f6f82;
  --ee-border: #dfe8f1;
  --ee-soft: #f5f9fc;
  --ee-white: #ffffff;
  --ee-shadow: 0 18px 50px rgba(10, 47, 88, .10);
  --ee-radius: 16px;
  --ee-max: 1280px;
}

html { scroll-behavior: smooth; }
body.ee-modern-site {
  margin: 0;
  color: var(--ee-text);
  background: #fff;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.ee-menu-open { overflow: hidden; }
.ee-modern-site *, .ee-modern-site *::before, .ee-modern-site *::after { box-sizing: border-box; }
.ee-modern-site a { color: inherit; }
.ee-wrap { width: min(calc(100% - 40px), var(--ee-max)); margin: 0 auto; }
.ee-sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

/* Header */
.ee-site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(11,47,88,.08);
  backdrop-filter: blur(12px);
}
.admin-bar .ee-site-header { top: 32px; }
.ee-header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.ee-brand { flex: 0 0 auto; min-width: 225px; text-decoration: none; }
.ee-brand .custom-logo-link { display: inline-flex; align-items: center; }
.ee-brand .custom-logo { max-height: 54px; width: auto; }
.ee-brand-fallback { display:flex;align-items:center;gap:10px;text-decoration:none; }
.ee-brand-mark { width:42px;height:42px;border:2px solid var(--ee-navy);border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--ee-blue); }
.ee-brand-text { display:flex;flex-direction:column;line-height:1.05; }
.ee-brand-text strong { font-size:20px;letter-spacing:.02em;color:var(--ee-navy); }
.ee-brand-text small { margin-top:5px;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--ee-muted); }

.ee-main-nav { flex: 1 1 auto; }
.ee-main-nav ul { list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:4px; }
.ee-main-nav li { position:relative; }
.ee-main-nav a { display:block;padding:13px 11px;text-decoration:none;font-size:14px;font-weight:650;color:#183654;border-radius:9px; }
.ee-main-nav a:hover, .ee-main-nav .current-menu-item > a, .ee-main-nav .current_page_item > a { color:var(--ee-blue);background:#f2f8fd; }
.ee-main-nav .sub-menu { position:absolute;left:0;top:calc(100% + 6px);min-width:230px;padding:8px;display:none;background:#fff;border:1px solid var(--ee-border);border-radius:12px;box-shadow:var(--ee-shadow); }
.ee-main-nav li:hover > .sub-menu, .ee-main-nav li:focus-within > .sub-menu { display:block; }
.ee-main-nav .sub-menu a { padding:10px 12px; }
.ee-main-nav .lang-item { display:none!important; }

.ee-header-actions { display:flex;align-items:center;gap:12px;flex:0 0 auto; }
.ee-language { position:relative; }
.ee-language-toggle { border:0;background:transparent;display:flex;align-items:center;gap:7px;padding:9px 7px;border-radius:9px;cursor:pointer;color:#183654;font-weight:650; }
.ee-language-toggle:hover { background:#f2f8fd; }
.ee-language-list { display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:170px;margin:0;padding:7px;list-style:none;background:#fff;border:1px solid var(--ee-border);border-radius:12px;box-shadow:var(--ee-shadow); }
.ee-language.is-open .ee-language-list { display:block; }
.ee-language-list a { display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;text-decoration:none;font-size:14px; }
.ee-language-list a:hover, .ee-language-list .is-current a { background:#f2f8fd;color:var(--ee-blue); }
.ee-quote-btn, .ee-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:9px;font-weight:750;transition:.2s ease; }
.ee-quote-btn { padding:12px 20px;background:var(--ee-blue);color:#fff!important;box-shadow:0 8px 22px rgba(8,121,217,.2); }
.ee-quote-btn:hover { transform:translateY(-1px);background:var(--ee-blue-2); }
.ee-menu-toggle { display:none;border:1px solid var(--ee-border);background:#fff;border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer; }
.ee-menu-toggle span, .ee-menu-toggle span::before, .ee-menu-toggle span::after { content:"";display:block;width:20px;height:2px;background:var(--ee-navy);position:relative;transition:.2s ease; }
.ee-menu-toggle span::before { position:absolute;top:-6px; }
.ee-menu-toggle span::after { position:absolute;top:6px; }
.ee-menu-toggle[aria-expanded="true"] span { background:transparent; }
.ee-menu-toggle[aria-expanded="true"] span::before { top:0;transform:rotate(45deg); }
.ee-menu-toggle[aria-expanded="true"] span::after { top:0;transform:rotate(-45deg); }

/* Hero */
.ee-hero { position:relative;overflow:hidden;color:#fff;background:linear-gradient(105deg,#092b50 0%,#0e4f86 53%,#0f75b4 100%); }
.ee-hero::before { content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,31,59,.92) 0%,rgba(5,31,59,.78) 42%,rgba(5,31,59,.28) 72%,rgba(5,31,59,.16) 100%),
  var(--ee-hero-image, none);background-size:cover;background-position:center; }
.ee-hero::after { content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,transparent,black); }
.ee-hero-inner { position:relative;z-index:1;min-height:520px;display:flex;align-items:center;padding:72px 0; }
.ee-hero-copy { max-width:680px; }
.ee-eyebrow { margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#aee2ff; }
.ee-hero h1 { margin:0;max-width:650px;font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.035em;color:#fff; }
.ee-hero-lead { max-width:650px;margin:22px 0 0;font-size:19px;line-height:1.6;color:rgba(255,255,255,.9); }
.ee-hero-actions { display:flex;flex-wrap:wrap;gap:14px;margin-top:30px; }
.ee-button { min-height:50px;padding:0 22px; }
.ee-button-primary { background:#148de5;color:#fff!important;box-shadow:0 12px 28px rgba(0,0,0,.14); }
.ee-button-primary:hover { background:#2a9cf0;transform:translateY(-1px); }
.ee-button-whatsapp { background:#19ad5a;color:#fff!important; }
.ee-button-whatsapp:hover { background:#15964e;transform:translateY(-1px); }
.ee-button-outline { border:1px solid rgba(255,255,255,.55);color:#fff!important;background:rgba(255,255,255,.06); }
.ee-hero-languages { margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;color:rgba(255,255,255,.92);font-size:14px;font-weight:650; }
.ee-hero-languages a { text-decoration:none;padding:4px 12px;border-right:1px solid rgba(255,255,255,.28); }
.ee-hero-languages a:first-child { padding-left:0; }
.ee-hero-languages a:last-child { border-right:0; }

/* Trust */
.ee-trust-bar { position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--ee-border);box-shadow:0 10px 34px rgba(12,54,89,.06); }
.ee-trust-grid { display:grid;grid-template-columns:repeat(4,1fr); }
.ee-trust-item { min-height:96px;display:flex;align-items:center;gap:13px;padding:20px 24px;border-right:1px solid var(--ee-border); }
.ee-trust-item:last-child { border-right:0; }
.ee-icon-circle { width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#eaf5fd;color:var(--ee-blue); }
.ee-icon-circle svg { width:22px;height:22px; }
.ee-trust-item strong { display:block;font-size:14px;color:#143352; }
.ee-trust-item span { display:block;margin-top:3px;font-size:12px;color:var(--ee-muted); }

/* Sections */
.ee-section { padding:78px 0; }
.ee-section-soft { background:linear-gradient(180deg,#f8fbfe,#f4f8fc); }
.ee-section-heading { max-width:760px;margin:0 auto 36px;text-align:center; }
.ee-kicker { display:block;margin-bottom:10px;color:var(--ee-blue);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.14em; }
.ee-section-heading h2 { margin:0;font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:-.025em;color:#102d4e; }
.ee-section-heading p { margin:13px auto 0;max-width:690px;color:var(--ee-muted);font-size:16px;line-height:1.65; }

/* Services */
.ee-services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.ee-service-card { position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:260px;background:#fff;border:1px solid #e5edf5;border-radius:var(--ee-radius);box-shadow:0 12px 35px rgba(11,47,88,.07);transition:.22s ease; }
.ee-service-card:hover { transform:translateY(-4px);box-shadow:0 20px 48px rgba(11,47,88,.12); }
.ee-service-visual { height:108px;position:relative;background:linear-gradient(135deg,#0d528d,#1696df);overflow:hidden; }
.ee-service-visual::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(255,255,255,.25),transparent 32%),linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.12) 45% 54%,transparent 54%); }
.ee-service-visual svg { position:absolute;right:22px;bottom:15px;width:66px;height:66px;color:rgba(255,255,255,.92); }
.ee-service-body { padding:26px 24px 22px;display:flex;flex-direction:column;flex:1; }
.ee-service-icon { width:52px;height:52px;margin-top:-53px;margin-bottom:17px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ee-blue);border:1px solid var(--ee-border);box-shadow:0 7px 20px rgba(8,61,106,.12);position:relative;z-index:2; }
.ee-service-icon svg { width:24px;height:24px; }
.ee-service-card h3 { margin:0;font-size:18px;line-height:1.25;color:#102f52; }
.ee-service-card p { margin:9px 0 14px;line-height:1.55;color:var(--ee-muted);font-size:14px; }
.ee-service-link { margin-top:auto;color:var(--ee-blue);font-weight:800;font-size:14px;text-decoration:none; }

/* Why */
.ee-why-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:42px; }
.ee-why-item { text-align:center; }
.ee-why-item .ee-icon-circle { margin:0 auto 14px;width:54px;height:54px;background:var(--ee-blue);color:#fff; }
.ee-why-item h3 { margin:0;font-size:16px;color:#143352; }
.ee-why-item p { margin:7px 0 0;font-size:13px;line-height:1.55;color:var(--ee-muted); }

/* Steps */
.ee-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:34px;counter-reset:steps; }
.ee-step { position:relative;display:flex;gap:16px;align-items:flex-start; }
.ee-step::after { content:"→";position:absolute;right:-30px;top:11px;color:#52a9e7;font-size:25px; }
.ee-step:last-child::after { display:none; }
.ee-step-number { flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ee-blue);color:#fff;font-weight:850;font-size:18px;box-shadow:0 8px 20px rgba(8,121,217,.2); }
.ee-step h3 { margin:2px 0 5px;font-size:15px;color:#143352; }
.ee-step p { margin:0;font-size:13px;line-height:1.55;color:var(--ee-muted); }

/* Support band */
.ee-support-band { background:#fff;border-top:1px solid var(--ee-border);border-bottom:1px solid var(--ee-border); }
.ee-support-grid { display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:20px;align-items:stretch;padding:32px 0; }
.ee-support-intro { padding:12px 20px 12px 0; }
.ee-support-intro .ee-kicker { margin-bottom:7px; }
.ee-support-intro h2 { margin:0;font-size:27px;color:#102f52; }
.ee-support-card { padding:22px;border-radius:14px;background:#f6fafd;border:1px solid #e6eef6; }
.ee-support-card strong { display:block;color:#143352;font-size:15px; }
.ee-support-card span { display:block;margin-top:6px;color:var(--ee-muted);font-size:13px;line-height:1.5; }

/* CTA */
.ee-final-cta { position:relative;overflow:hidden;background:linear-gradient(104deg,#092b4e,#0c4d7c);color:#fff; }
.ee-final-cta::after { content:"";position:absolute;right:-8%;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(38,164,233,.35),transparent 62%); }
.ee-final-cta-inner { position:relative;z-index:1;min-height:180px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:38px 0; }
.ee-final-cta h2 { margin:0;font-size:32px;color:#fff; }
.ee-final-cta p { margin:8px 0 0;color:rgba(255,255,255,.8); }
.ee-final-actions { display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end; }
.ee-contact-inline { margin-top:12px;display:flex;flex-wrap:wrap;gap:16px;color:rgba(255,255,255,.86);font-size:14px; }
.ee-contact-inline a { color:inherit;text-decoration:none; }

/* Footer */
.ee-site-footer { background:#082743;color:#d5e3ef; }
.ee-footer-main { display:grid;grid-template-columns:1.35fr .9fr .9fr .9fr;gap:42px;padding:48px 0 36px; }
.ee-footer-brand .custom-logo { max-height:52px;width:auto;filter:brightness(0) invert(1); }
.ee-footer-brand .ee-brand-text strong { color:#fff; }
.ee-footer-brand .ee-brand-text small { color:#a9c2d7; }
.ee-company { margin-top:18px;font-size:13px;line-height:1.65;color:#b8cddd; }
.ee-footer-col h3 { margin:0 0 13px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#fff; }
.ee-footer-col ul { list-style:none;margin:0;padding:0; }
.ee-footer-col li { margin:0 0 8px; }
.ee-footer-col a { color:#c7d8e6;text-decoration:none;font-size:13px; }
.ee-footer-col a:hover { color:#fff; }
.ee-footer-languages a { display:block;margin:0 0 8px; }
.ee-footer-bottom { border-top:1px solid rgba(255,255,255,.12); }
.ee-footer-bottom-inner { min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9fb6c9;font-size:12px; }

/* Inner page safety styling */
body.ee-modern-site:not(.home) .site-content,
body.ee-modern-site:not(.home) #content { max-width:var(--ee-max);margin:40px auto;padding:0 20px; }

@media (max-width: 1050px) {
  .ee-header-inner { gap:16px; }
  .ee-brand { min-width:190px; }
  .ee-main-nav a { padding-inline:8px;font-size:13px; }
  .ee-quote-btn { padding-inline:15px; }
  .ee-trust-item { padding-inline:16px; }
  .ee-services-grid { gap:16px; }
}
@media (max-width: 900px) {
  .admin-bar .ee-site-header { top:46px; }
  .ee-header-inner { min-height:70px; }
  .ee-menu-toggle { display:flex;order:4; }
  .ee-main-nav { position:fixed;left:0;right:0;top:70px;max-height:calc(100vh - 70px);overflow:auto;background:#fff;border-top:1px solid var(--ee-border);padding:14px 20px 24px;display:none; }
  .admin-bar .ee-main-nav { top:116px; }
  .ee-main-nav.is-open { display:block; }
  .ee-main-nav ul { display:block; }
  .ee-main-nav a { padding:12px 10px;font-size:15px; }
  .ee-main-nav .sub-menu { position:static;display:block;box-shadow:none;border:0;padding:0 0 0 16px; }
  .ee-header-actions { margin-left:auto; }
  .ee-header-actions .ee-quote-btn { display:none; }
  .ee-hero-inner { min-height:500px;padding:60px 0; }
  .ee-hero::before { background:linear-gradient(90deg,rgba(5,31,59,.94),rgba(5,31,59,.76)),var(--ee-hero-image, none);background-size:cover;background-position:center; }
  .ee-trust-grid { grid-template-columns:repeat(2,1fr); }
  .ee-trust-item:nth-child(2) { border-right:0; }
  .ee-trust-item:nth-child(-n+2) { border-bottom:1px solid var(--ee-border); }
  .ee-services-grid { grid-template-columns:repeat(2,1fr); }
  .ee-why-grid { grid-template-columns:repeat(2,1fr); }
  .ee-support-grid { grid-template-columns:1fr 1fr; }
  .ee-support-intro { grid-column:1/-1;padding-right:0; }
  .ee-final-cta-inner { grid-template-columns:1fr; }
  .ee-final-actions { justify-content:flex-start; }
  .ee-footer-main { grid-template-columns:1.4fr 1fr 1fr; }
  .ee-footer-main .ee-footer-col:last-child { grid-column:2/4; }
}
@media (max-width: 650px) {
  .ee-wrap { width:min(calc(100% - 28px),var(--ee-max)); }
  .ee-brand { min-width:0; }
  .ee-brand .custom-logo { max-width:190px;max-height:46px; }
  .ee-brand-fallback .ee-brand-text small { display:none; }
  .ee-brand-fallback .ee-brand-mark { width:38px;height:38px; }
  .ee-brand-text strong { font-size:17px; }
  .ee-header-actions .ee-language { display:none; }
  .ee-hero-inner { min-height:520px;padding:54px 0 48px; }
  .ee-hero h1 { font-size:42px; }
  .ee-hero-lead { font-size:17px; }
  .ee-hero-actions { display:grid;grid-template-columns:1fr; }
  .ee-button { width:100%; }
  .ee-hero-languages { font-size:13px;line-height:1.8; }
  .ee-section { padding:60px 0; }
  .ee-trust-grid { grid-template-columns:1fr; }
  .ee-trust-item { border-right:0;border-bottom:1px solid var(--ee-border)!important; }
  .ee-trust-item:last-child { border-bottom:0!important; }
  .ee-services-grid, .ee-why-grid, .ee-support-grid { grid-template-columns:1fr; }
  .ee-steps { grid-template-columns:1fr;gap:24px; }
  .ee-step::after { display:none; }
  .ee-final-cta h2 { font-size:28px; }
  .ee-footer-main { grid-template-columns:1fr;gap:28px; }
  .ee-footer-main .ee-footer-col:last-child { grid-column:auto; }
  .ee-footer-bottom-inner { align-items:flex-start;flex-direction:column;justify-content:center;padding:18px 0; }
}

/* ================================================================
   v2 refinements — closer to the approved visual mock-up
   ================================================================ */

/* Remove legacy Zakra/menu search forms that can be injected by old settings. */
.ee-site-header form,
.ee-site-header .search-form,
.ee-site-header .search-box,
.ee-site-header .search-icon,
.ee-site-header input[type="search"],
.ee-site-footer form,
.ee-site-footer .search-form,
.ee-site-footer .search-box,
.ee-site-footer input[type="search"] {
  display: none !important;
}

.ee-header-inner { min-height: 82px; gap: 24px; }
.ee-brand { min-width: 250px; }
.ee-brand .custom-logo { max-height: 58px; }
.ee-main-nav a { padding: 13px 12px; font-size: 14px; }
.ee-quote-btn { padding: 13px 21px; border-radius: 8px; }

.ee-hero { min-height: 590px; background: linear-gradient(105deg,#082a4c 0%,#0d568d 55%,#1389c5 100%); }
.ee-hero::before {
  background-image:
    linear-gradient(90deg,rgba(4,26,49,.95) 0%,rgba(4,31,58,.88) 35%,rgba(4,31,58,.52) 59%,rgba(4,31,58,.18) 100%),
    var(--ee-hero-image, linear-gradient(120deg,#0b345d,#147fba));
  background-size: cover;
  background-position: center center;
  transform: scale(1.01);
}
.ee-hero--has-image::after {
  opacity: .13;
  background-size: 52px 52px;
}
.ee-hero-inner { min-height: 590px; padding: 82px 0 76px; }
.ee-hero-copy { max-width: 640px; }
.ee-eyebrow { margin-bottom: 17px; font-size: 12px; letter-spacing: .18em; }
.ee-hero h1 { max-width: 610px; font-size: clamp(46px,4.6vw,66px); line-height: 1.01; }
.ee-hero-lead { max-width: 590px; margin-top: 23px; font-size: 18px; line-height: 1.62; }
.ee-hero-actions { margin-top: 31px; }
.ee-button { min-height: 52px; padding-inline: 24px; border-radius: 8px; }
.ee-hero-languages { margin-top: 32px; }

.ee-trust-item { min-height: 92px; padding: 18px 25px; }
.ee-trust-item strong { font-size: 14px; }

.ee-section { padding: 70px 0; }
.ee-section-heading { margin-bottom: 34px; }
.ee-section-heading h2 { font-size: clamp(31px,3.4vw,42px); }

.ee-services-grid { gap: 22px; }
.ee-service-card { min-height: 350px; border-radius: 13px; box-shadow: 0 12px 32px rgba(11,47,88,.08); }
.ee-service-card:hover { transform: translateY(-5px); }
.ee-service-visual {
  height: 162px;
  background-image:
    linear-gradient(180deg,rgba(3,36,67,.03),rgba(3,36,67,.22)),
    var(--ee-service-image, linear-gradient(135deg,#125f9c,#1aa3e6));
  background-size: cover;
  background-position: center;
}
.ee-service-visual::before {
  background:
    linear-gradient(180deg,transparent 58%,rgba(6,38,66,.28)),
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 30%);
}
.ee-service-visual-1:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#0e638f,#159cc1); }
.ee-service-visual-2:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#174e85,#2485b9); }
.ee-service-visual-3:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#687b91,#a7b4c1); }
.ee-service-visual-4:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#11669c,#148ac6); }
.ee-service-visual-5:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#17466f,#2b79a7); }
.ee-service-visual-6:not([style*="--ee-service-image"]) { background-image:linear-gradient(135deg,#38536e,#7691a8); }
.ee-service-watermark { position:absolute; inset:0; display:block; }
.ee-service-watermark svg { position:absolute; right:22px; bottom:18px; width:72px; height:72px; color:rgba(255,255,255,.92); }
.ee-service-card--has-image .ee-service-watermark svg { width:52px; height:52px; opacity:.9; filter:drop-shadow(0 2px 7px rgba(0,0,0,.28)); }
.ee-service-body { padding: 28px 25px 24px; }
.ee-service-icon { margin-top: -55px; margin-bottom: 18px; }
.ee-service-card h3 { font-size: 18px; }
.ee-service-card p { font-size: 14px; line-height: 1.58; }

.ee-why-grid { margin-top: 34px; gap: 34px; }
.ee-why-item .ee-icon-circle { width: 56px; height: 56px; }
.ee-why-item h3 { font-size: 16px; }
.ee-why-item p { max-width: 225px; margin: 8px auto 0; }

.ee-steps { margin-top: 28px; gap: 54px; }
.ee-step { align-items: center; }
.ee-step::after { right: -38px; top: 13px; }
.ee-step-number { flex-basis: 52px; width: 52px; height: 52px; }
.ee-step h3 { font-size: 15px; }

.ee-support-grid { padding: 28px 0; gap: 16px; }
.ee-support-card { padding: 19px 20px; }
.ee-support-intro h2 { font-size: 26px; }

.ee-final-cta-inner { min-height: 176px; padding: 36px 0; }
.ee-final-cta h2 { font-size: clamp(28px,3vw,36px); }

.ee-footer-main { padding: 42px 0 34px; gap: 48px; }
.ee-footer-bottom-inner { min-height: 62px; }
.ee-site-footer .ee-footer-menu .lang-item { display:none !important; }

/* Small floating WhatsApp shortcut appears only after a WhatsApp URL/phone is configured. */
.ee-floating-whatsapp {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 900;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #19a957;
  color: #fff !important;
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(0,0,0,.22);
  font-size: 13px;
}
.ee-floating-whatsapp span { font-size: 14px; }

@media (max-width: 1050px) {
  .ee-brand { min-width: 205px; }
  .ee-header-inner { gap: 14px; }
  .ee-main-nav a { padding-inline: 8px; font-size: 13px; }
  .ee-service-card { min-height: 335px; }
}

@media (max-width: 900px) {
  .ee-header-inner { min-height: 72px; }
  .ee-main-nav { top: 72px; }
  .admin-bar .ee-main-nav { top: 118px; }
  .ee-hero, .ee-hero-inner { min-height: 535px; }
  .ee-hero-inner { padding: 62px 0 58px; }
  .ee-hero::before {
    background-image:
      linear-gradient(90deg,rgba(4,26,49,.94),rgba(4,31,58,.76)),
      var(--ee-hero-image, linear-gradient(120deg,#0b345d,#147fba));
    background-position:center;
  }
  .ee-service-visual { height: 150px; }
  .ee-section { padding: 62px 0; }
}

@media (max-width: 650px) {
  .ee-header-inner { min-height: 66px; }
  .ee-brand .custom-logo { max-width: 205px; max-height: 48px; }
  .ee-hero, .ee-hero-inner { min-height: 545px; }
  .ee-hero-inner { padding: 55px 0 48px; }
  .ee-hero h1 { font-size: clamp(39px,12vw,48px); }
  .ee-hero-lead { font-size: 16px; }
  .ee-service-card { min-height: 0; }
  .ee-service-visual { height: 178px; }
  .ee-support-grid { padding: 24px 0; }
  .ee-final-cta-inner { min-height: 0; padding: 34px 0; }
  .ee-floating-whatsapp { right: 14px; bottom: 14px; padding: 13px; }
  .ee-floating-whatsapp strong { display:none; }
}


/* ================================================================
   v3 visual polish — based on live full-page review
   ================================================================ */

/* Slightly stronger desktop composition. */
@media (min-width: 1060px) {
  .ee-header-inner { min-height: 86px; }
  .ee-brand { min-width: 268px; }
  .ee-brand .custom-logo { max-height: 62px; }
  .ee-main-nav ul { gap: 6px; }
  .ee-main-nav a { padding: 14px 12px; font-size: 14px; font-weight: 650; }
  .ee-language-toggle { min-height: 42px; }
  .ee-quote-btn { min-height: 46px; display:inline-flex; align-items:center; }
}

/* Hero: preserve the excellent port image while giving the right side more life. */
.ee-hero::before {
  background-image:
    linear-gradient(90deg,rgba(3,24,45,.96) 0%,rgba(3,27,51,.88) 31%,rgba(3,29,54,.56) 55%,rgba(3,29,54,.12) 100%),
    var(--ee-hero-image, linear-gradient(120deg,#0b345d,#147fba));
  background-position: center 48%;
}
.ee-hero--has-image::after { opacity: .08; }
.ee-hero-copy { max-width: 620px; }
.ee-hero h1 { letter-spacing: -.04em; }
.ee-hero-lead { color: rgba(255,255,255,.94); }
.ee-button-primary, .ee-quote-btn { box-shadow: 0 8px 22px rgba(0,108,203,.22); }
.ee-button-whatsapp { box-shadow: 0 8px 22px rgba(24,169,87,.22); }

/* Trust bar: stronger readability without becoming bulky. */
.ee-trust-grid { max-width: 1180px; margin-inline: auto; }
.ee-trust-item { min-height: 88px; }
.ee-trust-item strong { font-size: 14px; line-height: 1.25; }
.ee-trust-item span { font-size: 12px; line-height: 1.35; }

/* Services: bring the cards closer to the approved mock-up proportions. */
#services.ee-section { padding-top: 64px; padding-bottom: 66px; }
#services .ee-section-heading { margin-bottom: 38px; }
.ee-services-grid { gap: 24px; }
.ee-service-card { min-height: 382px; border-radius: 14px; }
.ee-service-visual { height: 178px; }
.ee-service-body { padding: 29px 26px 25px; }
.ee-service-icon { width: 50px; height: 50px; margin-top: -54px; margin-bottom: 19px; }
.ee-service-card h3 { font-size: 18px; line-height: 1.28; }
.ee-service-card p { font-size: 14px; line-height: 1.62; margin-top: 9px; }
.ee-service-link { padding-top: 4px; }

/* Lower homepage sections were visually too airy in the live screenshot. */
.ee-homepage > .ee-section:not(#services) { padding-top: 56px; padding-bottom: 58px; }
.ee-homepage > .ee-section:not(#services) .ee-section-heading { margin-bottom: 28px; }
.ee-why-grid { margin-top: 28px; gap: 24px; }
.ee-why-item { padding: 4px 14px; }
.ee-why-item .ee-icon-circle { width: 52px; height: 52px; margin-bottom: 15px; }
.ee-why-item h3 { font-size: 16px; line-height: 1.3; }
.ee-why-item p { font-size: 13.5px; line-height: 1.55; max-width: 240px; }

/* Make the three-step process easier to scan at normal browser size. */
.ee-steps { gap: 40px; margin-top: 25px; }
.ee-step { min-height: 92px; align-items: center; padding: 15px 16px 15px 8px; border-radius: 14px; }
.ee-step-number { flex-basis: 54px; width: 54px; height: 54px; font-size: 19px; }
.ee-step h3 { margin-top: 0; font-size: 16px; line-height: 1.3; }
.ee-step p { font-size: 13.5px; line-height: 1.55; }
.ee-step::after { top: 35px; right: -30px; font-size: 24px; }

/* Support band: visually link it to the process instead of looking like a stray row. */
.ee-support-band { background: #fff; }
.ee-support-grid { padding: 30px 0; grid-template-columns: 1.05fr repeat(3,1fr); gap: 18px; }
.ee-support-intro { display:flex; flex-direction:column; justify-content:center; }
.ee-support-intro h2 { font-size: 27px; line-height: 1.12; }
.ee-support-card { display:flex; flex-direction:column; justify-content:center; min-height: 98px; padding: 20px 22px; box-shadow: 0 8px 24px rgba(11,47,88,.035); }
.ee-support-card strong { font-size: 15px; }
.ee-support-card span { font-size: 13px; }

/* Richer bottom CTA. It reuses the selected hero image at low opacity. */
.ee-final-cta { isolation:isolate; background: linear-gradient(104deg,#082b4d,#0c598c); }
.ee-final-cta::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(90deg,rgba(5,38,68,.97),rgba(7,65,104,.83),rgba(7,65,104,.67)),
    var(--ee-cta-image, none);
  background-size:cover;
  background-position:center 54%;
  opacity:.92;
}
.ee-final-cta::after { z-index:-1; }
.ee-final-cta-inner { min-height: 190px; }
.ee-final-cta p { font-size: 15px; }
.ee-final-actions .ee-button { min-width: 152px; }

/* Footer clean-up, including old menu dropdown artefacts. */
.ee-footer-main { padding-top: 46px; padding-bottom: 38px; }
.ee-footer-brand .custom-logo { max-height: 56px; }
.ee-company { max-width: 360px; }
.ee-site-footer .ee-footer-menu button,
.ee-site-footer .ee-footer-menu .dropdown-toggle,
.ee-site-footer .ee-footer-menu .sub-menu-toggle,
.ee-site-footer .ee-footer-menu .tg-submenu-toggle,
.ee-site-footer .ee-footer-menu > li > svg { display:none !important; }
.ee-footer-col li { line-height: 1.35; }

@media (max-width: 900px) {
  .ee-service-card { min-height: 355px; }
  .ee-service-visual { height: 164px; }
  .ee-homepage > .ee-section:not(#services) { padding-top: 52px; padding-bottom: 54px; }
  .ee-step { padding: 13px 10px; }
}

@media (max-width: 650px) {
  #services.ee-section { padding-top: 54px; padding-bottom: 56px; }
  .ee-service-card { min-height: 0; }
  .ee-service-visual { height: 190px; }
  .ee-homepage > .ee-section:not(#services) { padding-top: 48px; padding-bottom: 50px; }
  .ee-why-item { padding: 2px 10px 10px; }
  .ee-step { min-height: 0; background:#fff; border:1px solid #e7eef5; padding:16px; }
}


/* ================================================================
   v4 final desktop refinement — based on the 2026-09-08 full-page capture
   ================================================================ */

/* Header: keep the compact professional look while giving the logo a touch
   more presence and reducing the chance of nav crowding. */
@media (min-width: 1060px) {
  .ee-header-inner { min-height: 84px; gap: 22px; }
  .ee-brand { min-width: 275px; }
  .ee-brand .custom-logo { max-height: 60px; }
  .ee-main-nav a { padding: 13px 11px; }
}

/* Hero: at full desktop width the headline was wrapping to three short lines.
   This gives it enough measure to land naturally on two lines, closer to the
   approved visual mock-up. */
.ee-hero-copy { max-width: 760px; }
.ee-hero h1 { max-width: 755px; font-size: clamp(46px, 4.35vw, 66px); }
.ee-hero-lead { max-width: 650px; }

/* Prevent the services heading from breaking awkwardly between UK– and EU. */
#services .ee-section-heading { max-width: 960px; }
#services .ee-section-heading h2 { max-width: 920px; margin-inline: auto; }

/* A little more body text weight/readability in the service cards. */
.ee-service-card p { color:#586a7d; }
.ee-service-link { font-weight:800; }

/* Why section: preserve the clean whitespace but slightly strengthen the copy. */
.ee-why-item h3 { font-weight:800; }
.ee-why-item p { color:#607184; }

/* How it works: the live screenshot showed the three steps reading too small
   compared with the rest of the page. Turn them into subtle cards so each step
   is clearly scannable without making the section heavy. */
.ee-steps { gap: 34px; }
.ee-step {
  background:#fff;
  border:1px solid #e4edf5;
  box-shadow:0 10px 28px rgba(11,47,88,.045);
  padding:21px 22px 21px 18px;
  min-height:118px;
}
.ee-step-number { flex-basis:56px; width:56px; height:56px; }
.ee-step h3 { font-size:16px; font-weight:800; }
.ee-step p { font-size:13.5px; }
.ee-step::after { right:-27px; top:43px; }

/* Support row: scale it up just enough to read as a deliberate section. */
.ee-support-grid { padding-top:34px; padding-bottom:34px; }
.ee-support-intro h2 { font-size:29px; }
.ee-support-card { min-height:108px; }
.ee-support-card strong { font-size:15.5px; }

/* Bottom CTA and footer: slightly more presence at normal desktop zoom. */
.ee-final-cta-inner { min-height:200px; }
.ee-final-cta h2 { font-size:34px; }
.ee-footer-main { padding-top:52px; padding-bottom:43px; }
.ee-company, .ee-footer-col a { font-size:13.5px; }

@media (max-width: 1050px) {
  .ee-hero-copy { max-width: 680px; }
  .ee-hero h1 { max-width: 670px; }
}

@media (max-width: 900px) {
  .ee-step { min-height:112px; }
}

@media (max-width: 650px) {
  .ee-hero-copy, .ee-hero h1 { max-width:100%; }
  .ee-hero h1 { font-size:42px; }
  #services .ee-section-heading { max-width:100%; }
  .ee-step { min-height:0; padding:18px; }
}
