/* =====================================================================
   EDS 2.0 — PHASE 3 PROTOTYPE — NOT PRODUCTION
   Grounded Intelligence prototype stylesheet.
   Tokens: docs/design/EDS-2.0-Design-Tokens.md (approved Phase 2).
   Additions proposed in Phase 3 are marked "+ P3 token".
   ===================================================================== */

/* ---------- 1. Tokens (from approved token file) ---------- */
:root{
  /* Colour — core */
  --c-ink-900:#12161C; --c-ink-800:#1C222B; --c-ink-700:#2B313A;
  --c-slate-500:#5A616B; --c-slate-300:#A3A9B2;
  --c-paper:#F7F4EF; --c-white:#FFFFFF; --c-sand:#EEE8DF;
  --c-border:#DCD5CA; --c-border-strong:#8E8678;
  --c-yellow-500:#FFBA00; --c-yellow-600:#E6A700; --c-yellow-700:#CC9500; --c-yellow-text:#8A6100;
  --c-blue-logo:#5DB4E7; --c-blue-600:#1E6497; --c-blue-300:#7CC4EE;
  --c-laterite-600:#9C4A2F; --c-laterite-300:#D9805F;
  --c-success:#1F7A4D; --c-warning:#9A5B00; --c-error:#B3261E; --c-info:#1E6497; --c-info-bg:#EAF3FA;
  --c-warning-bg:#FFF4D6; --c-error-bg:#FCE8E6;
  /* Semantic */
  --bg-page:var(--c-paper); --bg-surface:var(--c-white); --bg-elevated:var(--c-sand);
  --bg-inverse:var(--c-ink-900); --bg-inverse-elevated:var(--c-ink-800);
  --text-primary:var(--c-ink-900); --text-secondary:var(--c-ink-700); --text-muted:var(--c-slate-500);
  --text-inverse:#E9E4DC; --text-inverse-muted:var(--c-slate-300);
  --link:var(--c-blue-600); --link-inverse:var(--c-blue-300);
  --focus-ring:var(--c-blue-600); --focus-ring-inverse:var(--c-blue-300);
  --accent:var(--c-laterite-600); --accent-inverse:var(--c-laterite-300);
  --cta-bg:var(--c-yellow-500); --cta-bg-hover:var(--c-yellow-600); --cta-bg-active:var(--c-yellow-700); --cta-text:var(--c-ink-900);
  --border-subtle:var(--c-border); --border-ui:var(--c-border-strong);
  --c-disabled-bg:#E9E4DC; --c-disabled-text:#8E8678;

  /* Typography */
  --font-display:"Newsreader", Georgia, serif;
  --font-sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:"IBM Plex Mono", ui-monospace, monospace;
  --t-display:clamp(2.5rem, 1.1rem + 4.4vw, 4.5rem);   /* 40 → 72 */
  --t-h1:clamp(2.25rem, 1.35rem + 2.8vw, 3.5rem);       /* 36 → 56 */
  --t-h2:clamp(1.875rem, 1.45rem + 1.3vw, 2.5rem);      /* 30 → 40 */
  --t-h3:clamp(1.3125rem, 1.2rem + .35vw, 1.5rem);      /* 21 → 24 */
  --t-h4:clamp(1.125rem, 1.1rem + .1vw, 1.1875rem);     /* 18 → 19 */
  --t-lead:clamp(1.125rem, 1.05rem + .25vw, 1.25rem);   /* 18 → 20 */
  --t-body:clamp(1rem, .97rem + .1vw, 1.0625rem);       /* 16 → 17 */
  --t-small:.875rem; --t-caption:.8125rem; --t-label:.75rem; --t-meta:.75rem;
  --t-stat:clamp(2.25rem, 1.8rem + 1.4vw, 3rem);        /* 36 → 48 */

  /* Spacing */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-7:32px; --s-8:48px;
  --s-9:64px; --s-10:80px; --s-11:96px; --s-12:128px; --s-13:160px;
  --section-xl:160px; --section-l:128px; --section-m:80px;
  --card-pad:32px; --card-pad-compact:24px; --stack-heading-body:24px;

  /* Layout */
  --container-max:1280px; --container-wide:1440px; --container-text:720px; --container-narrow:600px;
  --page-margin:80px; --grid-gutter:32px;

  /* Shape / elevation */
  --radius-0:0; --radius-1:2px; --radius-2:4px; --radius-pill:999px;
  --shadow-menu:0 24px 48px -24px rgba(18,22,28,.28);
  --shadow-float:0 8px 24px -8px rgba(18,22,28,.20);

  /* Motion */
  --dur-instant:100ms; --dur-fast:160ms; --dur-base:240ms; --dur-slow:400ms;
  --ease-standard:cubic-bezier(.2,0,0,1); --ease-exit:cubic-bezier(.4,0,1,1); --reveal-distance:12px;

  /* Z-index */
  --z-base:0; --z-sticky:100; --z-header:200; --z-menu:300; --z-launcher:350; --z-modal:400; --z-toast:500;

  /* + P3 tokens (proposed additions, documented in Phase 3 report) */
  --header-h:76px;                 /* + P3 token */
  --proto-banner-h:28px;           /* + P3 token (prototype only) */
  --c-highlight:#FFF1C2;           /* + P3 token: yellow text-highlight tint (ink on it 16.08:1) */
  --ph-a:#D8CDBD; --ph-b:#A8998A;  /* + P3 token (prototype placeholder imagery only) */
}
@media (max-width:1439px){ :root{ --page-margin:48px; --grid-gutter:24px; } }
@media (max-width:1023px){ :root{ --page-margin:32px; --section-xl:112px; --section-l:96px; --section-m:64px; --card-pad:28px; --card-pad-compact:20px; --stack-heading-body:20px; } }
@media (max-width:767px){ :root{ --page-margin:20px; --grid-gutter:16px; --section-xl:80px; --section-l:72px; --section-m:48px; --card-pad:24px; --stack-heading-body:16px; --header-h:64px; } }

/* ---------- 2. Base ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) *,:is(#jet-theme-core-header,#jet-theme-core-footer) *::before,:is(#jet-theme-core-header,#jet-theme-core-footer) *::after{box-sizing:border-box}

:is(#jet-theme-core-header,#jet-theme-core-footer){margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
:is(#jet-theme-core-header,#jet-theme-core-footer) img{max-width:100%;height:auto;display:block}
:is(#jet-theme-core-header,#jet-theme-core-footer) a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
:is(#jet-theme-core-header,#jet-theme-core-footer) a:hover{text-decoration-thickness:2px}
:is(#jet-theme-core-header,#jet-theme-core-footer) h1,:is(#jet-theme-core-header,#jet-theme-core-footer) h2,:is(#jet-theme-core-header,#jet-theme-core-footer) h3,:is(#jet-theme-core-header,#jet-theme-core-footer) h4,:is(#jet-theme-core-header,#jet-theme-core-footer) h5,:is(#jet-theme-core-header,#jet-theme-core-footer) h6,:is(#jet-theme-core-header,#jet-theme-core-footer) p,:is(#jet-theme-core-header,#jet-theme-core-footer) ul,:is(#jet-theme-core-header,#jet-theme-core-footer) ol,:is(#jet-theme-core-header,#jet-theme-core-footer) figure,:is(#jet-theme-core-header,#jet-theme-core-footer) blockquote,:is(#jet-theme-core-header,#jet-theme-core-footer) dl,:is(#jet-theme-core-header,#jet-theme-core-footer) dd{margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) ul[role="list"],:is(#jet-theme-core-header,#jet-theme-core-footer) ol[role="list"]{list-style:none;padding:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) button,:is(#jet-theme-core-header,#jet-theme-core-footer) input,:is(#jet-theme-core-header,#jet-theme-core-footer) select,:is(#jet-theme-core-header,#jet-theme-core-footer) textarea{font:inherit;color:inherit}
:is(#jet-theme-core-header,#jet-theme-core-footer) :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}

:is(#jet-theme-core-header,#jet-theme-core-footer) ::selection{background:var(--c-highlight);color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .skip-link{position:absolute;left:16px;top:-100px;z-index:var(--z-toast);background:var(--c-ink-900);color:#fff;padding:12px 16px;font-weight:600;text-decoration:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .skip-link:focus{top:12px}

/* Prototype banner */



/* ---------- 3. Typography ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) h1,:is(#jet-theme-core-header,#jet-theme-core-footer) h2{font-family:var(--font-display);font-weight:500;color:inherit;text-wrap:balance}

:is(#jet-theme-core-header,#jet-theme-core-footer) h1{font-size:var(--t-h1);line-height:1.07;letter-spacing:-.015em}
:is(#jet-theme-core-header,#jet-theme-core-footer) h2{font-size:var(--t-h2);line-height:1.15;letter-spacing:-.01em}
:is(#jet-theme-core-header,#jet-theme-core-footer) h3{font-family:var(--font-sans);font-size:var(--t-h3);line-height:1.25;font-weight:600;letter-spacing:-.005em}
:is(#jet-theme-core-header,#jet-theme-core-footer) h4{font-family:var(--font-sans);font-size:var(--t-h4);line-height:1.37;font-weight:600}
:is(#jet-theme-core-header,#jet-theme-core-footer) .serif{font-family:var(--font-display);font-weight:500}

:is(#jet-theme-core-header,#jet-theme-core-footer) .small{font-size:var(--t-small);line-height:1.57}

:is(#jet-theme-core-header,#jet-theme-core-footer) .muted{color:var(--text-muted)}

:is(#jet-theme-core-header,#jet-theme-core-footer) .meta{font:500 var(--t-meta)/1.5 var(--font-mono);letter-spacing:.04em;color:var(--text-muted)}





/* ---------- 4. Layout ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .container{width:100%;max-width:calc(var(--container-max) + var(--page-margin)*2);margin-inline:auto;padding-inline:var(--page-margin)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .container--wide{max-width:calc(var(--container-wide) + var(--page-margin)*2)}





  
























:is(#jet-theme-core-header,#jet-theme-core-footer) .flow-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
@media (max-width:1023px){
  
  
  
  
}
@media (max-width:767px){
  
}

/* ---------- 5. Buttons ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn{--btn-h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-h);padding:12px 22px;border-radius:var(--radius-1);border:1.5px solid transparent;font:600 .9375rem/1.25 var(--font-sans);letter-spacing:.005em;text-decoration:none;cursor:pointer;text-align:center;transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-instant)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn:active{transform:translateY(1px)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn .arrow{transition:transform var(--dur-fast) var(--ease-standard)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn:hover .arrow{transform:translateX(2px)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--primary{background:var(--cta-bg);color:var(--cta-text)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--primary:hover{background:var(--cta-bg-hover)} :is(#jet-theme-core-header,#jet-theme-core-footer) .btn--primary:active{background:var(--cta-bg-active)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--secondary{background:transparent;color:var(--c-ink-900);border-color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--secondary:hover{background:var(--c-ink-900);color:#fff}


:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--dark{background:var(--c-ink-900);color:#fff}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--dark:hover{background:var(--c-ink-700)}


:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--icon{--btn-h:44px;width:44px;padding:0;border:1px solid var(--border-subtle);background:transparent;color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--icon:hover{background:var(--c-sand)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .btn--sm{--btn-h:40px;padding:8px 16px;font-size:.875rem}

:is(#jet-theme-core-header,#jet-theme-core-footer) .btn[disabled],:is(#jet-theme-core-header,#jet-theme-core-footer) .btn[aria-disabled="true"]{background:var(--c-disabled-bg);color:var(--c-disabled-text);border-color:transparent;cursor:not-allowed;transform:none}






@media (max-width:767px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .btn{--btn-h:48px;font-size:1rem} :is(#jet-theme-core-header,#jet-theme-core-footer) .btn--sm{--btn-h:44px} }

/* ---------- 6. Header ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(247,244,239,.97);border-bottom:1px solid var(--border-subtle);backdrop-filter:saturate(1.2)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .header-inner{display:flex;align-items:center;gap:var(--s-6);min-height:var(--header-h)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .logo{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .logo img{height:40px;width:auto}










:is(#jet-theme-core-header,#jet-theme-core-footer) .header-utils{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .util-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;color:var(--c-ink-900);text-decoration:none;font-size:.875rem;font-weight:500;background:none;border:0;cursor:pointer}
:is(#jet-theme-core-header,#jet-theme-core-footer) .util-link:hover{text-decoration:underline}
:is(#jet-theme-core-header,#jet-theme-core-footer) .client-menu{position:relative}
:is(#jet-theme-core-header,#jet-theme-core-footer) .client-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:260px;background:#fff;border:1px solid var(--border-subtle);box-shadow:var(--shadow-menu);padding:var(--s-3) 0;z-index:var(--z-menu)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .client-dropdown a{display:flex;justify-content:space-between;padding:10px var(--s-5);color:var(--c-ink-900);text-decoration:none;font-size:.9375rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .client-dropdown a:hover{background:var(--c-paper)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .client-dropdown .meta{display:block;padding:4px var(--s-5) 8px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .cta-short{display:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .menu-toggle{display:none}
@media (max-width:1199px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .header-inner{gap:var(--s-3)}
  
  
  :is(#jet-theme-core-header,#jet-theme-core-footer) .util-label{display:none}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .cta-long{display:none} :is(#jet-theme-core-header,#jet-theme-core-footer) .cta-short{display:inline}
  
}
@media (max-width:1023px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .header-utils .util-search,:is(#jet-theme-core-header,#jet-theme-core-footer) .header-utils .client-menu{display:none}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .menu-toggle{display:inline-flex}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .header-utils{margin-left:auto}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .logo img{height:34px}
}
@media (max-width:359px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .header-cta{display:none} }

/* ---------- 7. Mega menus ---------- */


:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-inner{padding-block:var(--s-8) var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-foot{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);justify-content:space-between;align-items:center;border-top:1px solid var(--border-subtle);margin-top:var(--s-7);padding-top:var(--s-5);font-size:.9375rem}


:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-head{font:500 var(--t-label)/1.33 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-title{display:block;font:500 1.375rem/1.2 var(--font-display);margin-bottom:var(--s-3)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-links{list-style:none;padding:0;margin:0 0 var(--s-6)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-links a{display:block;padding:6px 0;font-size:.9375rem;color:var(--text-secondary)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-links a .meta{display:block;color:var(--text-muted);letter-spacing:0;font-family:var(--font-sans);font-size:.8125rem;font-weight:400}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-desc{font-size:.875rem;color:var(--text-muted);margin:0 0 var(--s-3);max-width:34ch}
/* Solutions: capability map */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-solutions .mm-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.05fr;gap:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-solutions .mm-col{padding-right:var(--s-6);margin-right:var(--s-6);border-right:1px solid var(--border-subtle)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-solutions .mm-col:nth-child(3){border-right:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-feature{background:var(--c-sand);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-feature .serif{font-size:1.25rem;line-height:1.25}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-diagram{display:flex;align-items:center;gap:6px;font:500 11px/1 var(--font-mono);color:var(--text-muted);margin:var(--s-2) 0 var(--s-5);flex-wrap:wrap}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-diagram span{border:1px solid var(--border-strong);padding:6px 8px}
/* Industries: sector gallery */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-industries .mm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-tile .ph{aspect-ratio:4/3;margin-bottom:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-tile .mm-title{font-size:1.25rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-3)}

/* Work: contact sheet */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-work .mm-grid{display:grid;grid-template-columns:1.6fr 1fr .8fr;gap:var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-work .mm-featured .ph{aspect-ratio:16/9;margin-bottom:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-work .mm-featured .serif{font-size:1.5rem;line-height:1.2;display:block;margin:6px 0}



/* Insights: front page */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-insights .mm-grid{display:grid;grid-template-columns:.9fr 1.4fr 1fr .9fr;gap:var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-topics a{display:block;padding:5px 0;font-size:.9375rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-lead .ph{aspect-ratio:3/2;margin-bottom:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-lead .serif{font-size:1.375rem;line-height:1.25;display:block;margin:6px 0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-headlines a{display:block;padding:var(--s-3) 0;border-top:1px solid var(--border-subtle);font-family:var(--font-display);font-size:1.0625rem;line-height:1.3}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-news{border-left:1px solid var(--border-subtle);padding-left:var(--s-6)}
/* Products: dark shelf */

:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-products a{color:var(--text-inverse)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-products .mm-head{color:var(--accent-inverse)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-products .mm-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-product{border:1px solid var(--c-ink-700);border-radius:var(--radius-2);padding:var(--s-5);background:var(--c-ink-800);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color var(--dur-fast)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-product:hover{border-color:var(--c-blue-300)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-product .serif{font-size:1.375rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-product p{color:var(--text-inverse-muted);font-size:.875rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-products .mega-foot{border-top-color:var(--c-ink-700)}
/* Company: credentials */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-company .mm-grid{display:grid;grid-template-columns:.9fr 1fr 1fr 1fr;gap:var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-company .ph{aspect-ratio:3/4}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-facts{display:grid;gap:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-facts div{border-top:1px solid var(--border-subtle);padding-top:var(--s-3)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-facts b{display:block;font:500 1.75rem/1.1 var(--font-display)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mm-facts span{font-size:.875rem;color:var(--text-muted)}

@media (max-width:1199px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-solutions .mm-grid{grid-template-columns:1fr 1fr 1fr}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-solutions .mm-feature{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-work .mm-grid{grid-template-columns:1.4fr 1fr}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-work .mm-browse{grid-column:1/-1}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-insights .mm-grid{grid-template-columns:1fr 1.4fr 1fr}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-insights .mm-news{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--border-subtle);padding-top:var(--s-5)}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-company .mm-grid{grid-template-columns:repeat(3,1fr)}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .mm-industries .mm-tiles{grid-template-columns:repeat(2,1fr)}
}

/* ---------- 8. Mobile drawer ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer{position:fixed;inset:0;z-index:var(--z-modal);background:var(--c-paper);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform var(--dur-base) var(--ease-standard),visibility 0s linear var(--dur-base)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer.is-open{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease-standard),visibility 0s}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-top{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);padding-inline:var(--page-margin);border-bottom:1px solid var(--border-subtle)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-top img{height:34px;width:auto}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-body{flex:1;overflow:auto;padding:var(--s-2) var(--page-margin) var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-group{border-bottom:1px solid var(--border-subtle)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-group>h2{margin:0;font:inherit}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-trigger{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:60px;padding:var(--s-3) 0;background:none;border:0;font:500 1.375rem/1.2 var(--font-display);color:var(--c-ink-900);cursor:pointer;text-align:left}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-trigger .num{font:500 11px/1 var(--font-mono);color:var(--accent);margin-right:12px;letter-spacing:.08em}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-trigger svg{transition:transform var(--dur-base) var(--ease-standard);flex-shrink:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-trigger[aria-expanded="true"] svg{transform:rotate(45deg)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-panel{padding:0 0 var(--s-5)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-panel[hidden]{display:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-panel h3{font:500 var(--t-label)/1.33 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:var(--s-4) 0 var(--s-2)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-panel a{display:flex;align-items:center;min-height:44px;color:var(--c-ink-900);text-decoration:none;font-size:1.0625rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-panel .view-all{font-weight:600;margin-top:var(--s-2)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-util{display:grid;gap:var(--s-2);padding-top:var(--s-6)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-util a{display:flex;align-items:center;justify-content:space-between;min-height:48px;color:var(--c-ink-900);text-decoration:none;border-bottom:1px solid var(--border-subtle)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-cta{padding:var(--s-4) var(--page-margin) calc(var(--s-4) + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:#fff;display:grid;gap:var(--s-3)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .drawer-cta .btn{width:100%}
body.drawer-open :is(#jet-theme-core-header,#jet-theme-core-footer){overflow:hidden}

/* ---------- 9. Placeholder imagery ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--ph-a) 0%,var(--ph-b) 100%);color:var(--c-ink-900);min-height:120px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:32px 32px;opacity:.6}
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph--dark{--ph-a:#3A3F47;--ph-b:#1C222B;color:var(--text-inverse)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph--dark::before{opacity:.25}
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph--warm{--ph-a:#C9B9A3;--ph-b:#7E6A57}
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph--sand{--ph-a:#EEE8DF;--ph-b:#D8CDBD}


 :is(#jet-theme-core-header,#jet-theme-core-footer) .ratio-3-2{aspect-ratio:3/2} :is(#jet-theme-core-header,#jet-theme-core-footer) .ratio-16-10{aspect-ratio:16/10} :is(#jet-theme-core-header,#jet-theme-core-footer) .ratio-16-9{aspect-ratio:16/9} :is(#jet-theme-core-header,#jet-theme-core-footer) .ratio-4-3{aspect-ratio:4/3}  :is(#jet-theme-core-header,#jet-theme-core-footer) .ratio-3-4{aspect-ratio:3/4} 

/* Content flags (verified vs placeholder) */




  


/* ---------- 10. Components ---------- */
/* Breadcrumbs */







/* Tags / chips */
:is(#jet-theme-core-header,#jet-theme-core-footer) .tag{display:inline-flex;align-items:center;min-height:28px;padding:2px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:.8125rem;color:var(--text-secondary);text-decoration:none;background:transparent}
:is(#jet-theme-core-header,#jet-theme-core-footer) a.tag:hover{border-color:var(--c-ink-900);color:var(--c-ink-900)}



/* Hero (home) */












@media (max-width:1023px){
  
  
  
  
}
@media (max-width:767px){
  
  
  
}

/* Page hero (generic editorial) */





/* Problem statements (home "what we solve") */







@media (max-width:767px){   }

/* Chapter (Grow/Run/Modernise) */





/* Numbered service rows */













@media (max-width:767px){    }

/* Stats */





@media (max-width:767px){   }

/* Work feature (large) */







@media (max-width:1023px){  }

/* Work card */









/* Insight card / headline list */











/* Product frame (Signal Grid UI) */



















/* Industry tile */











/* Testimonial */





/* CTA band */








@media (max-width:1023px){  }

/* Forms */


@media (max-width:767px){  }












:is(#jet-theme-core-header,#jet-theme-core-footer) fieldset{border:0;margin:0;padding:0;min-width:0}







@media (max-width:767px){   }












@media (max-width:767px){  }

/* Filters */








@media (max-width:767px){    }



/* Pagination */




/* FAQ */








/* Timeline / process */






  
@media (max-width:1023px){  }
@media (max-width:767px){    }

/* Deliverables list */



@media (max-width:767px){  }

/* Pricing */







@media (max-width:1199px){  }
@media (max-width:767px){  }

/* Logo wall */



@media (max-width:1023px){  }
@media (max-width:767px){  }

/* Diagram (G/R/M system) */














@media (max-width:1023px){     }

/* Workflow diagram (AI) */






@media (max-width:1023px){   }
@media (max-width:767px){   }

/* Roadmap (IT) */



@media (max-width:767px){  }

/* Article */




















@media (max-width:1199px){   }
@media (max-width:1023px){   }

/* Product hero */






/* Case study cover */







@media (max-width:767px){   }









@media (max-width:1023px){   }
@media (max-width:767px){   }

/* Jobs */




@media (max-width:767px){   }

/* Search */













/* Footer */
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer{background:var(--c-ink-900);color:var(--text-inverse);padding:var(--s-10) 0 var(--s-6)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:var(--s-7)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-brand img{width:44px;height:44px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-brand .serif{display:block;font-size:1.5rem;line-height:1.2;margin:var(--s-4) 0 var(--s-3);max-width:16ch}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-brand address{font-style:normal;font-size:.875rem;color:var(--text-inverse-muted);line-height:1.6;margin-top:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer h2{font:500 var(--t-label)/1.33 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-inverse);margin-bottom:var(--s-4)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer ul{list-style:none;padding:0;margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer li a{display:inline-block;padding:5px 0;color:var(--text-inverse);text-decoration:none;font-size:.9375rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer li a:hover{text-decoration:underline}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer a{color:var(--text-inverse)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-contact{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);margin-top:var(--s-8);padding-top:var(--s-6);border-top:1px solid var(--c-ink-700);font-size:.9375rem}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-contact a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--c-ink-700);font-size:.8125rem;color:var(--text-inverse-muted)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-bottom nav{display:flex;flex-wrap:wrap;gap:var(--s-5)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-bottom a{color:var(--text-inverse-muted)}
@media (max-width:1023px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-top{grid-template-columns:1fr 1fr} :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-brand{grid-column:1/-1} }
@media (max-width:767px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-top{grid-template-columns:1fr;gap:0}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col{border-top:1px solid var(--c-ink-700)}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col h2{margin:0}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col ul[hidden]{display:none}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col ul{padding-bottom:var(--s-4)}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-brand{padding-bottom:var(--s-6)}
}

/* Sticky mobile CTA */



@media (max-width:1023px){  }

/* Proof flags legend & annotations (prototype only) */



/* Reveal (progressive enhancement only) */
html.reveal-ready :is(#jet-theme-core-header,#jet-theme-core-footer) [data-reveal]{opacity:.001;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-slow) var(--ease-standard),transform var(--dur-slow) var(--ease-standard)}
html.reveal-ready :is(#jet-theme-core-header,#jet-theme-core-footer) [data-reveal].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  :is(#jet-theme-core-header,#jet-theme-core-footer) *,:is(#jet-theme-core-header,#jet-theme-core-footer) *::before,:is(#jet-theme-core-header,#jet-theme-core-footer) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  html.reveal-ready :is(#jet-theme-core-header,#jet-theme-core-footer) [data-reveal]{opacity:1;transform:none}
}

/* Utility */
:is(#jet-theme-core-header,#jet-theme-core-footer) .mt-4{margin-top:var(--s-4)}:is(#jet-theme-core-header,#jet-theme-core-footer) .mt-5{margin-top:var(--s-5)}


 @media (max-width:767px){  }
 @media (max-width:767px){  }

/* ---------- Phase 3 fixes / modifiers ---------- */


@media (max-width:1023px){  }

@media (max-width:767px){  }

@media (max-width:1023px){  }

/* QA fix 1: header fit (measured overflow at 1280 / 1024) */
@media (max-width:1439px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .util-label{display:none} :is(#jet-theme-core-header,#jet-theme-core-footer) .header-inner{gap:var(--s-4)} }
@media (min-width:1200px) and (max-width:1439px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .cta-long{display:inline} :is(#jet-theme-core-header,#jet-theme-core-footer) .cta-short{display:none} }
@media (min-width:1024px) and (max-width:1199px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .container{padding-inline:32px}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .logo img{height:32px}
  
  
  
  :is(#jet-theme-core-header,#jet-theme-core-footer) .header-inner{gap:var(--s-2)}
}
/* QA fix 2: industry panorama on small screens */
@media (max-width:767px){  }
/* QA fix 3: touch targets ≥44px (found by harness) */
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-bottom a,:is(#jet-theme-core-header,#jet-theme-core-footer) .flow-row.small a{display:inline-flex;align-items:center;min-height:44px}



/* QA fix 4: buttons inside mega menus keep their own colours */

  

/* QA fix 5: aspect-ratio + min-height widened placeholders (Work menu thumbnails, panorama) */
:is(#jet-theme-core-header,#jet-theme-core-footer) .ph{min-height:0}

@media (max-width:1023px){  }
/* QA fix 6: rows on dark keep inverse text colour; compact mobile header CTA */

@media (max-width:767px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .header-cta.btn--sm{--btn-h:40px;padding:8px 12px;font-size:.875rem} }
/* QA fix 7: outcome list flags wrap inline with text */


/* QA fix 8: footer accordion = heading text + mobile-only toggle; 44px footer links */
:is(#jet-theme-core-header,#jet-theme-core-footer) .fc-toggle{display:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col h2{position:relative}
@media (max-width:767px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .footer-col h2{display:flex;align-items:center;min-height:52px}
  :is(#jet-theme-core-header,#jet-theme-core-footer) .fc-toggle{display:flex;align-items:center;justify-content:flex-end;position:absolute;inset:0;width:100%;background:none;border:0;color:var(--accent-inverse);cursor:pointer;padding:0}
}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer li a{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:1023px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer li a{min-height:44px} }
/* Page-specific component styles collected from the Phase 3 prototypes */
/* --- about.html --- */
  
  
  
  
  
  
  
  @media (max-width:1023px){   }
  @media (max-width:767px){  }
/* --- contact.html --- */
  
  
  
  
  
  
  
  @media (max-width:1023px){  }
  @media (max-width:767px){   }
/* --- industries.html --- */
  
  
  
  
  
  
  
  @media (max-width:1023px){   }
  @media (max-width:767px){  }
/* --- industry-detail.html --- */
  /* Hero: "Sector Panorama" — text never sits on the photo */
  
  
  
  @media (max-width:1023px){   }
  
  
  
  
  
  @media (max-width:1023px){   }
  @media (max-width:767px){   }
/* --- insights.html --- */
  
  
  
  
  
  
  
  
  
  
  @media (max-width:1023px){    }
  @media (max-width:767px){  }
/* --- job-detail.html --- */
  
  @media (max-width:1023px){  }
/* --- jobs.html --- */
  
  
  
  @media (max-width:767px){   }
/* --- product-detail.html --- */
  
  
  
  
  
  @media (max-width:1023px){  }
/* --- products.html --- */
  
  
  @media (max-width:1023px){  }
/* --- service-detail.html --- */
  /* Page-specific emphasis: SERP visual (service-detail variant "Search") */
  
  
  
  
  
  
  
  
  
  
  @media (max-width:767px){   }
/* --- work.html --- */
  /* Editorial work index: alternating large + pair rhythm instead of an even grid */
  
  
  
  
  
  
  @media (max-width:1023px){   }
  @media (max-width:767px){   }
/* --- 404.html --- */
:is(#jet-theme-core-header,#jet-theme-core-footer) </head>
<body data-section="404">
<main id="main">
  <section class="section" data-hero aria-labelledby="h1">
    <div class="container container--wide split" style="align-items:end">
      <div>
        <p class="big404" aria-hidden="true">404</p>
        <p class="eyebrow mt-6">Page not found</p>
        <h1 id="h1" class="mt-4">This page has moved or no longer exists</h1>
        <p class="lead mt-5">We’ve reorganised our website. Search below{display:none!important}

/* Elementor wrappers: sections are full-bleed; spacing comes from EDS components */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main .e-con,:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main .e-con-inner,:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .e-con,:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer .e-con{padding:0;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;--row-gap:0;--column-gap:0;--content-width:100%;max-width:none;margin:0;min-height:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main .e-con>.e-con-inner{max-width:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .elementor-widget-html,:is(#jet-theme-core-header,#jet-theme-core-footer) .elementor-widget-html .elementor-widget-container{width:100%}
:is(#jet-theme-core-header,#jet-theme-core-footer) .elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}

/* Hello Elementor defaults neutralised inside EDS 2.0 */

:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header,:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer{max-width:none!important;margin-inline:0;width:100%}
:is(#jet-theme-core-header,#jet-theme-core-footer) a:not(.btn){font-weight:inherit}

/* JetThemeCore header location: sticky must sit on the location wrapper */
:is(#jet-theme-core-header,#jet-theme-core-footer) .jet-theme-core-location--header-location,:is(#jet-theme-core-header,#jet-theme-core-footer) [data-elementor-type="jet_header"]{position:sticky;top:0;z-index:var(--z-header)}

@media (max-width:782px){}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header{position:relative}

/* Main focus target from the skip link */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main:focus{outline:none}

/* ---------- Header row: Elementor widget wrappers must not take 100% width ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner{flex-wrap:nowrap;max-width:var(--container-wide,1440px);margin-inline:auto;padding-inline:var(--gutter);position:static}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.elementor-widget{width:auto;max-width:none;flex:0 0 auto}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.eds2-primary-nav{flex:1 1 auto;min-width:0;align-self:stretch;position:static}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .eds2-primary-nav>.elementor-widget-container,:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.e-con-inner{position:static}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.elementor-widget>.elementor-widget-container{width:auto}
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .eds2-drawer-widget{width:100%;height:0}
/* The drawer lives inside the header in JetThemeCore; backdrop-filter would trap position:fixed */
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}

/* ---------- JetMenu (jet-mega-menu widget) mapped to the approved primary-nav ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu,:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-container,:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-list{height:100%;position:static;background:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-toggle{display:none!important}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-list{display:flex;align-items:stretch;gap:2px;margin:0 0 0 var(--s-4);padding:0;list-style:none;min-height:var(--header-h);flex-wrap:nowrap}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item--top-level{display:flex;align-items:center;position:static}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item--top-level>.jet-mega-menu-item__inner{display:flex;align-items:center;height:100%;position:relative;padding:0;background:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__link--top-level{display:flex;align-items:center;height:100%;padding:0 4px 0 10px;color:var(--c-ink-900);text-decoration:none;font:500 .9375rem/1 var(--font-sans);background:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__link--top-level:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__label{color:inherit;font:inherit}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__dropdown{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;margin:0;padding:0;cursor:pointer;color:var(--c-ink-900);border-radius:var(--radius-1);background:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__dropdown svg{width:10px;height:10px;fill:currentColor;transition:transform var(--dur-base) var(--ease-standard)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item--hover .jet-mega-menu-item__dropdown svg{transform:rotate(180deg)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__dropdown:focus-visible{outline:2px solid var(--focus-ring,#1E6497);outline-offset:-2px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item--hover>.jet-mega-menu-item__inner::after{content:"";position:absolute;left:10px;right:8px;bottom:0;height:2px;background:var(--c-ink-900)}


/* Mega container: full header width, directly under the header (positioned against .site-header) */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-mega-container{position:absolute;left:0!important;right:0;top:100%;width:100%!important;max-width:none;transform:none;margin:0;padding:0;background:none;box-shadow:none;border:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-mega-container__inner{padding:0;background:none;border:0;box-shadow:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel{background:#fff;border-top:1px solid var(--c-ink-900);box-shadow:var(--shadow-menu);max-height:calc(100vh - var(--header-h) - 24px);overflow:auto;text-align:left}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a{text-decoration:none;color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a:hover{text-decoration:underline}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a.btn{text-decoration:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a.btn--dark{color:#fff} :is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a.btn--primary{color:var(--cta-text)} :is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a.btn--secondary{color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel a.btn--secondary:hover{color:#fff}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel.mm-products{background:var(--c-ink-900);color:var(--text-inverse);border-top-color:var(--c-ink-700)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel.mm-products a{color:var(--text-inverse)}
@media (max-width:1199px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .mega-panel .mm-media{display:none} :is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-item__link--top-level{padding-left:7px;font-size:.875rem} :is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-primary-nav .jet-mega-menu-list{margin-left:var(--s-2)} }
/* Below 1024px the drawer replaces the primary nav */
@media (max-width:1023px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.eds2-primary-nav{display:none} :is(#jet-theme-core-header,#jet-theme-core-footer) .site-header .header-inner>.eds2-utils-widget{margin-left:auto} }

/* Existing "Click to Chat" WhatsApp button (plugin ht-ctc): the EDS 2.0 sticky CTA already
   offers WhatsApp below 1024px, so the duplicate is hidden there and while the drawer is open */
@media (max-width:1023px){  }


/* ---------- JetFormBuilder enquiry form mapped to the approved form components (Phase 3 .form/.field) ---------- */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder>*{grid-column:1/-1}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__conditional:not([style*="none"]){display:contents!important}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row{grid-column:1/-1;display:grid;gap:6px;margin:0;padding:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row:has(.eds2-half){grid-column:auto}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__label{margin:0;padding:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__label-text{font-weight:600;font-size:.875rem;color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__required{color:var(--c-ink-900);font-weight:600}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__desc{font-size:.8125rem;color:var(--text-muted);margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.jet-form-builder__field:not([type=radio]):not([type=checkbox]),:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form select.jet-form-builder__field,:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form textarea.jet-form-builder__field{width:100%;min-height:52px;padding:12px 14px;background:#fff;border:1.5px solid var(--border-ui);border-radius:var(--radius-1);font:inherit;font-size:1rem;color:var(--c-ink-900);box-shadow:none}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form textarea.jet-form-builder__field{min-height:140px;resize:vertical;line-height:1.5}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form select.jet-form-builder__field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2312161C' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__field:focus{border-color:var(--c-ink-900);outline:3px solid var(--focus-ring);outline-offset:1px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__field[aria-invalid="true"]{border-color:var(--c-error)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__field-error{color:var(--c-error);font-size:.8125rem;font-weight:500;margin-top:2px}
/* Enquiry type: segmented cards */









/* Service interest: pill checks */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row:has(.eds2-checks) .jet-form-builder__fields-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-2)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row:has(.eds2-checks) .jet-form-builder__field-wrap{margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row:has(.eds2-checks) .jet-form-builder__field-label{position:relative;margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-checks{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-checks+span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1.5px solid var(--border-ui);border-radius:var(--radius-pill);background:#fff;font-size:.875rem;cursor:pointer}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-checks:checked+span{background:var(--c-ink-900);color:#fff;border-color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-checks:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-checks+span::before{display:none}
/* Consent */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-row:has(.eds2-consent) .jet-form-builder__field-label{display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);align-items:start;font-size:.875rem;margin:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form input.eds2-consent{width:24px;height:24px;margin:2px 0 0;accent-color:var(--c-ink-900);position:static;opacity:1}
/* Submit */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 28px;background:var(--c-yellow-500);color:var(--c-ink-900);border:0;border-radius:var(--radius-1);font:600 1.0625rem/1.2 var(--font-sans);cursor:pointer}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button:hover{background:var(--c-yellow-600,#E6A700)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-messages-wrap{grid-column:1/-1}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-message{padding:var(--s-4);font-size:.9375rem;border-left:3px solid var(--c-error);background:#FBEDEA}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder-message--success{border-left-color:var(--c-success);background:#EAF5EF}
@media (max-width:767px){
  :is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder{grid-template-columns:1fr}
  
  
  :is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button{width:100%}
}
/* Grid items must be allowed to shrink below their min-content width (long form labels, selects) */

:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

@media (max-width:767px){ :is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder{grid-template-columns:minmax(0,1fr)} }
/* Long owner-input flags and the long submit label must wrap on small screens */

:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button-wrapper{max-width:100%}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-form .jet-form-builder__action-button{white-space:normal;max-width:100%;text-align:center}

/* Elementor containers that carry the .container class keep the approved page margins */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main .e-con.container{padding-inline:var(--page-margin);--padding-left:var(--page-margin);--padding-right:var(--page-margin);max-width:calc(var(--container-max) + var(--page-margin)*2);margin-inline:auto}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-main .e-con.container--wide{max-width:calc(var(--container-wide) + var(--page-margin)*2)}

/* JetSearch ajax search mapped to the approved search box */
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch-wrap{padding-block:0 var(--s-9)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch .jet-ajax-search__field{min-height:56px;border:1.5px solid var(--c-ink-900);border-radius:var(--radius-1);background:#fff;font:inherit;font-size:1.0625rem;padding:12px 16px;color:var(--c-ink-900)}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch .jet-ajax-search__field:focus{outline:3px solid var(--focus-ring);outline-offset:1px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch .jet-ajax-search__submit{min-height:56px;background:var(--c-ink-900);color:#fff;border-radius:0 var(--radius-1) var(--radius-1) 0;font-weight:600;padding:0 22px}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch .jet-ajax-search__results-area{border:1px solid var(--border-subtle);box-shadow:var(--shadow-menu);border-radius:0}
:is(#jet-theme-core-header,#jet-theme-core-footer) .eds2-jetsearch .jet-ajax-search__item-title{font-family:var(--font-display);font-size:1.0625rem;color:var(--c-ink-900)}

/* Contrast fix (Phase 3 defect): inverse text inside the dark product stage */








/* Team portraits (About) */




/* Phase 8 (accessibility): footer link colour was overriding the primary button text (1.35:1 contrast) */
:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer a.btn--primary,:is(#jet-theme-core-header,#jet-theme-core-footer) .site-footer a.btn--primary:hover{color:var(--cta-text)}
/* =====================================================================
   EDS 2.0 header/footer on LEGACY pages (body.eds2-chrome).
   Appended UNSCOPED after the chrome-scoped stylesheet: these rules target
   the JetThemeCore location wrappers themselves, which the scoped rules
   (descendant selectors) cannot reach.
   ===================================================================== */
body.eds2-chrome #jet-theme-core-header{overflow:visible!important;position:sticky;top:0;z-index:900;font-family:var(--font-sans);color:var(--c-ink-900)}
body.eds2-chrome.admin-bar #jet-theme-core-header{top:32px}
@media (max-width:782px){ body.eds2-chrome.admin-bar #jet-theme-core-header{top:46px} }
body.eds2-chrome #jet-theme-core-footer{font-family:var(--font-sans)}
body.eds2-chrome #jet-theme-core-header,body.eds2-chrome #jet-theme-core-footer{-webkit-font-smoothing:antialiased;line-height:1.5}
body.eds2-chrome #jet-theme-core-header *,body.eds2-chrome #jet-theme-core-footer *{box-sizing:border-box}
/* Elementor wrappers inside the chrome: no kit padding */
body.eds2-chrome #jet-theme-core-header .e-con,body.eds2-chrome #jet-theme-core-footer .e-con{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;padding:0}
/* Drawer must not be trapped by legacy transforms on the header wrapper */
body.eds2-chrome.drawer-open{overflow:hidden}
body.eds2-chrome.drawer-open .ht-ctc{display:none!important}
/* Cookie consent banner: unscoped, appended to both eds2.css and eds2-chrome.css (works on every page) */
.eds2-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:560px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;padding:16px 18px;background:#12161C;color:#F7F4EF;border-radius:4px;box-shadow:0 12px 32px rgba(18,22,28,.28);font:400 .9375rem/1.5 "Instrument Sans",system-ui,sans-serif}
.eds2-consent[hidden]{display:none}
.eds2-consent p{margin:0;flex:1 1 260px;color:#F7F4EF}
html body .eds2-consent a{color:#FFBA00;text-decoration:underline} /* Phase 8: beat site-wide link colours (contrast) */
.eds2-consent__btns{display:flex;gap:8px}
.eds2-consent__btn{min-height:44px;padding:10px 18px;border:1.5px solid #F7F4EF;border-radius:4px;background:transparent;color:#F7F4EF;font:600 .9375rem/1 "Instrument Sans",system-ui,sans-serif;cursor:pointer}
.eds2-consent__btn--primary{background:#FFBA00;border-color:#FFBA00;color:#12161C}
.eds2-consent__btn:focus-visible{outline:3px solid #FFBA00;outline-offset:2px}
@media (max-width:1023px){ body.eds2 .eds2-consent{bottom:84px} } /* above the sticky CTA bar */
