/* MITEK theme — brand tokens and layout.
   Built by SPIT — https://spit.sa */
:root {
	--mitek-navy: #17527F;
	--mitek-ink: #14202B;
	--mitek-lime: #93B03D;
	--mitek-lime-bright: #AEC337;
	/* Secondary text tones, exactly as the v2 canvas sets them. */
	--mitek-soft: #8A94A0;
	--mitek-sage: #7C8A78;
	--mitek-text: #3B4654;
	--mitek-muted: #5A6570;
	--mitek-line: #DDE3DC;
	--mitek-mist: #F4F6F3;
	--mitek-wrap: 1280px;      /* content width, gutters sit outside it */
	--mitek-shell: calc(1280px + 48px * 2);
	--mitek-pad: 48px;
	--mitek-sans: 'IBM Plex Sans', system-ui, sans-serif;
	--mitek-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--mitek-kufi: 'Noto Kufi Arabic', system-ui, sans-serif;
	--mitek-label-font: var(--mitek-mono);
	--mitek-label-ls: .2em;
	--mitek-label-tt: uppercase;
	--mitek-label-weight: 400;
}

/* The design sets Arabic in two faces, not one: Noto Kufi carries the headings
   and the small labels, while the reading text — paragraphs, links, lists, form
   controls — is IBM Plex Sans Arabic, which is lighter and sets far more
   compactly. Using Kufi throughout made every text-heavy block taller than the
   canvas. */
.mitek-lang-ar {
	--mitek-sans: 'IBM Plex Sans Arabic', system-ui, sans-serif;
	--mitek-label-font: var(--mitek-kufi);
	--mitek-label-ls: 0;
	--mitek-label-tt: none;
	--mitek-label-weight: 500;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--mitek-text);
	font-family: var(--mitek-sans);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: var(--mitek-navy); text-decoration: none; }
a:hover { color: var(--mitek-lime); }
h1, h2, h3 { color: var(--mitek-navy); line-height: 1.35; margin: 0; }
/* Headings stay on Kufi in Arabic, as the design draws them. */
.mitek-lang-ar h1, .mitek-lang-ar h2, .mitek-lang-ar h3 { font-family: var(--mitek-kufi); }

.mitek-skip { position: absolute; inset-inline-start: -9999px; }
.mitek-skip:focus { inset-inline-start: 12px; top: 12px; background: #fff; padding: 10px 16px; z-index: 999; }

.mitek-wrap { max-width: var(--mitek-shell); margin: 0 auto; padding-inline: var(--mitek-pad); width: 100%; }
.mitek-wrap--narrow { max-width: 860px; }

/* Header */
.mitek-header { background: rgba(255,255,255,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--mitek-line); position: sticky; top: 0; z-index: 60; }
.mitek-header__inner { max-width: var(--mitek-shell); margin: 0 auto; padding-inline: var(--mitek-pad); height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.mitek-header__brand { font-weight: 700; color: var(--mitek-ink); }
.mitek-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.mitek-header__brand img, .mitek-header__logo { max-height: 52px; max-width: 160px; width: auto; height: auto; display: block; object-fit: contain; }
.mitek-nav { display: flex; gap: 22px; flex-wrap: wrap; flex: 1 1 auto; justify-content: center; }
.mitek-nav__link { font-size: 15px; font-weight: 500; color: var(--mitek-ink); padding: 6px 0; border-bottom: 2px solid transparent; }
.mitek-nav__link:hover { color: var(--mitek-navy); border-bottom-color: var(--mitek-lime); }
.mitek-header__side { display: flex; align-items: center; gap: 14px; }

.mitek-langs { display: inline-flex; border: 1px solid var(--mitek-line); }
.mitek-langs__item { padding: 6px 12px; font-family: var(--mitek-mono); font-size: 12px; color: var(--mitek-muted); }
.mitek-langs__item.is-active { background: var(--mitek-navy); color: #FFFFFF; }

.mitek-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
.mitek-btn--primary { background: var(--mitek-navy); color: #FFFFFF; }
.mitek-btn--primary:hover { background: #123f63; color: #FFFFFF; }
.mitek-btn--accent { background: var(--mitek-lime); color: var(--mitek-ink); min-height: 54px; padding: 0 32px; font-size: 15px; }
.mitek-btn--accent:hover { background: var(--mitek-lime-bright); color: var(--mitek-ink); }
.mitek-btn--pill:hover { background: var(--mitek-navy); color: #FFFFFF; border-color: var(--mitek-navy); }
.mitek-btn--ghost { border-color: rgba(255,255,255,.4); color: #FFFFFF; min-height: 54px; padding: 0 32px; font-size: 15px; font-weight: 500; }
.mitek-btn--ghost:hover { border-color: #FFFFFF; background: rgba(255,255,255,.12); color: #FFFFFF; }
.mitek-btn--pill { border-radius: 999px; border-color: var(--mitek-navy); color: var(--mitek-navy); background: transparent; }

/* Shared heading */
.mitek-eyebrow { display: flex; align-items: center; gap: 12px; }
.mitek-eyebrow i { display: block; width: 32px; height: 2px; background: var(--mitek-lime); }
.mitek-eyebrow span { font-family: var(--mitek-label-font); font-weight: var(--mitek-label-weight); font-size: 11px; letter-spacing: var(--mitek-label-ls); color: var(--mitek-lime); text-transform: var(--mitek-label-tt); }
.mitek-heading { margin-bottom: 38px; }
.mitek-projects .mitek-heading { margin-bottom: 44px; }
.mitek-approvals .mitek-heading { margin-bottom: 48px; }
/* The canvas stacks the label and the heading with a 12px gap in most blocks;
   the fleet and quality blocks are the two that use 14px. */
.mitek-heading__title { margin-top: 12px; font-size: 40px; font-weight: 700; line-height: 1.35; }
.mitek-fleet .mitek-heading__title, .mitek-hse .mitek-heading__title { margin-top: 14px; }
.mitek-about .mitek-heading__title { margin-top: 8px; }
.mitek-design .mitek-heading__title { margin-top: 18px; }
.mitek-heading--dark .mitek-heading__title { color: #FFFFFF; }

/* Hero */
.mitek-hero { position: relative; min-height: 776px; display: flex; align-items: stretch; background: var(--mitek-ink); overflow: hidden; }
.mitek-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.mitek-hero__veil { position: absolute; inset: 0; background: linear-gradient(280deg, rgba(20,32,43,.35) 0%, rgba(23,82,127,.86) 55%, var(--mitek-ink) 100%); }
.mitek-hero__inner { position: relative; padding-top: 96px; display: flex; flex-direction: column; }
.mitek-hero__text { max-width: 720px; display: flex; flex-direction: column; gap: 26px; }
.mitek-hero__title { margin: 0; font-size: 58px; font-weight: 700; line-height: 1.3; color: #FFFFFF; text-wrap: balance; }
.mitek-hero__sub { margin: 0; max-width: 620px; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.85; text-wrap: pretty; }
.mitek-hero__actions { display: flex; align-items: center; gap: 14px; padding-top: 6px; margin-bottom: 64px; flex-wrap: wrap; }
/* The hero label is set a step larger than the one repeated in the sections. */
.mitek-eyebrow--hero i { width: 44px; height: 3px; }
.mitek-eyebrow--hero span { font-size: 12px; letter-spacing: .22em; color: var(--mitek-lime-bright); }
.mitek-lang-ar .mitek-eyebrow--hero span { letter-spacing: 0; }
.mitek-stats { margin-top: auto; display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.mitek-stats__tile { padding: 30px 30px 34px; display: flex; flex-direction: column; gap: 8px; min-width: 0; border-inline-start: 1px solid rgba(255,255,255,.16); }
.mitek-stats__tile:first-child { border-inline-start: 0; padding-inline-start: 0; }
.mitek-stats__value { display: block; font-family: var(--mitek-mono); font-weight: 600; font-size: 32px; line-height: 1.1; letter-spacing: -.01em; color: #FFFFFF; }
.mitek-lang-ar .mitek-stats__value { text-align: right; }
.mitek-lang-ar .mitek-people__tel, .mitek-lang-ar .mitek-people__mail, .mitek-lang-ar .mitek-contact__mono { display: block; text-align: right; }
.mitek-lang-ar .mitek-fleet__brands, .mitek-lang-ar .mitek-approval__refs li { text-align: right; }
.mitek-lang-en .mitek-stats__value { text-align: left; }
.mitek-stats__label { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.72); }

/* Logo strip */
.mitek-strip { background: var(--mitek-mist); border-bottom: 1px solid var(--mitek-line); padding: 32px 0; }
.mitek-strip__inner { display: flex; align-items: center; gap: 40px; flex-wrap: wrap; min-width: 0; }
.mitek-strip__label { flex-shrink: 0; padding-inline-end: 40px; border-inline-end: 1px solid var(--mitek-line); font-family: var(--mitek-mono); font-size: 11px; letter-spacing: .18em; color: var(--mitek-lime); white-space: nowrap; text-transform: uppercase; }
.mitek-lang-ar .mitek-strip__label { font-family: var(--mitek-kufi); font-weight: 600; font-size: 15px; letter-spacing: 0; color: var(--mitek-navy); text-transform: none; }
.mitek-strip__grid { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(104px, 100%), 1fr)); grid-auto-rows: minmax(104px, auto); gap: 10px 14px; align-items: stretch; }
.mitek-strip__cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 84px; padding: 10px 8px; min-width: 0; }
.mitek-strip__cap { font-size: 10.5px; line-height: 1.35; color: var(--mitek-soft); text-align: center; transition: color .25s ease; }
.mitek-strip__cell:hover .mitek-strip__cap { color: var(--mitek-navy); }
.mitek-strip__cell img { height: 40px; width: 100%; max-width: 118px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .82; transition: filter .25s ease, opacity .25s ease; }
.mitek-strip__cell:hover img { filter: none; opacity: 1; }

/* Cards grid (projects) */
.mitek-projects { padding: 110px 0; background: #FFFFFF; }
.mitek-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(258px, 100%), 1fr)); gap: 22px; }
.mitek-card { background: #FFFFFF; border: 1px solid var(--mitek-navy); display: flex; flex-direction: column; overflow: hidden; }
/* Hidden only once the script is running; without JS every project stays
   readable and the reveal button is not shown. */
.mitek-js .mitek-card.is-extra { display: none; }
.mitek-js .mitek-card.is-extra.is-open { display: flex; }
html:not(.mitek-js) .mitek-more { display: none; }
.mitek-card__media { height: 178px; background: var(--mitek-ink); overflow: hidden; }
.mitek-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mitek-card__body { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 11px; flex: 1 1 auto; }
.mitek-card__sector { font-family: var(--mitek-mono); font-size: 10px; letter-spacing: .14em; color: var(--mitek-lime); text-transform: uppercase; }
.mitek-card__title { font-size: 16px; font-weight: 600; line-height: 1.55; }
.mitek-card__text { margin: 0; font-size: 13px; line-height: 1.7; color: var(--mitek-text); }
.mitek-card__foot { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--mitek-line); display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-family: var(--mitek-mono); font-size: 11px; color: var(--mitek-muted); }
.mitek-card__client { color: var(--mitek-navy); letter-spacing: .08em; }
.mitek-card__metric { color: var(--mitek-soft); }
.mitek-more { display: flex; justify-content: center; margin-top: 34px; }

/* Approvals */
.mitek-approvals { padding: 110px 0; background: var(--mitek-mist); border-block: 1px solid var(--mitek-line); }
.mitek-approvals__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 24px; }
.mitek-approval { background: #FFFFFF; border: 1px solid var(--mitek-line); padding: 34px 32px 36px; display: flex; flex-direction: column; gap: 20px; }
.mitek-approval.is-highlight { background: var(--mitek-navy); border-color: var(--mitek-navy); }
.mitek-approval.is-highlight .mitek-approval__name { color: #FFFFFF; }
.mitek-approval.is-highlight .mitek-approval__text, .mitek-approval.is-highlight .mitek-approval__refs { color: rgba(255,255,255,.82); }
.mitek-approval__logo { align-self: flex-start; height: 44px; display: flex; align-items: center; }
.mitek-approval__logo img { height: 100%; width: auto; max-width: 170px; object-fit: contain; }
/* The design pairs the name and its qualifier tightly, then leaves the card's
   own 20px gap before the description. */
.mitek-approval__title { display: flex; flex-direction: column; gap: 6px; }
.mitek-approval__name { font-size: 20px; font-weight: 700; }
.mitek-approval__kind { font-family: var(--mitek-sans); font-size: 12px; line-height: normal; color: var(--mitek-lime); }
.mitek-approval.is-highlight .mitek-approval__kind { color: var(--mitek-lime-bright); }
.mitek-approval__text { margin: 0; font-size: 14px; line-height: 1.8; }
.mitek-approval__refs { margin: auto 0 0; padding: 18px 0 0; border-top: 1px solid var(--mitek-line); list-style: none; display: flex; flex-direction: column; gap: 5px; font-family: var(--mitek-mono); font-size: 11px; line-height: normal; color: var(--mitek-soft); }
.mitek-approval__refs li:first-child { font-size: 12px; color: var(--mitek-navy); }
.mitek-approval.is-highlight .mitek-approval__refs li:first-child { color: #FFFFFF; }
.mitek-approval.is-highlight .mitek-approval__refs li + li { color: rgba(255,255,255,.55); }
.mitek-approval.is-highlight .mitek-approval__refs { border-top-color: rgba(255,255,255,.24); }

/* Fleet */
.mitek-fleet { padding: 100px 0; background: var(--mitek-ink); }
.mitek-fleet__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 1px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.13); }
.mitek-fleet__card { background: var(--mitek-ink); padding: 28px 30px 30px; display: flex; flex-direction: column; gap: 10px; }
.mitek-fleet__head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.mitek-fleet__name { font-size: 17px; font-weight: 700; color: #FFFFFF; }
.mitek-fleet__count { font-family: var(--mitek-mono); font-size: 22px; font-weight: 600; color: var(--mitek-lime-bright); }
.mitek-fleet .mitek-heading__title { font-size: 34px; }
.mitek-fleet__items { font-size: 13.5px; line-height: 1.85; color: rgba(255,255,255,.62); }
.mitek-fleet__brands { margin-top: 4px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); font-family: var(--mitek-mono); font-size: 11px; letter-spacing: .06em; color: rgba(255,255,255,.44); }

/* Clients */
.mitek-clients { padding: 110px 0; }
.mitek-clients__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; flex-wrap: wrap; padding-bottom: 44px; }
.mitek-clients__head .mitek-heading { margin-bottom: 0; }
.mitek-marquee { overflow: hidden; border-block: 1px solid var(--mitek-line); }
.mitek-marquee__track { display: flex; width: max-content; animation: mitek-slide 105s linear infinite; }
.mitek-marquee:hover .mitek-marquee__track { animation-play-state: paused; }
.mitek-marquee__cell { flex: 0 0 auto; width: 190px; height: 140px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 24px; }
.mitek-marquee__cell img { height: 65px; max-width: 100%; width: auto; object-fit: contain; }
@keyframes mitek-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mitek-marquee__track { animation: none; } }

/* Events */
.mitek-events { padding: 96px 0; background: var(--mitek-mist); }
.mitek-events__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 24px; }
/* The canvas draws this card as an unstyled <button>, so it carries the
   browser's default 1px 6px padding and the picture sits inset from the card
   edge. Reproduced here on purpose so the block matches the design exactly. */
.mitek-event { background: #FFFFFF; border: 1px solid #E3E8E0; padding: 1px 6px; display: flex; flex-direction: column; overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease; }
.mitek-event:hover { border-color: #C9D3C6; box-shadow: 0 10px 30px rgba(20,32,43,.10); }
.mitek-event__media { min-height: 180px; aspect-ratio: 16 / 10; background: var(--mitek-ink); overflow: hidden; }
.mitek-event__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mitek-event:hover .mitek-event__media img { transform: scale(1.04); }
.mitek-event__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 9px; flex: 1 1 auto; }
.mitek-event__date { font-family: var(--mitek-mono); font-size: 10.5px; letter-spacing: .16em; color: var(--mitek-sage); }
.mitek-event__title { font-size: 17px; font-weight: 700; line-height: 1.55; }
.mitek-event__more { margin-top: auto; padding-top: 12px; font-size: 12.5px; font-weight: 600; }
.mitek-event:hover .mitek-event__more { color: var(--mitek-lime); }
.mitek-event__place { font-size: 13.5px; line-height: 1.75; color: var(--mitek-muted); }

/* Article */
.mitek-article { padding: 60px 0 90px; }
.mitek-article__back { font-size: 13.5px; font-weight: 600; }
.mitek-article__date { margin-top: 26px; font-family: var(--mitek-mono); font-size: 11px; letter-spacing: .18em; color: var(--mitek-sage); }
.mitek-article__title { margin-top: 14px; font-size: 34px; font-weight: 700; }
.mitek-article__place { margin-top: 10px; font-size: 14px; color: var(--mitek-muted); }
.mitek-article__figure { margin: 34px 0 0; }
.mitek-article__figure img { width: 100%; display: block; background: var(--mitek-ink); }
.mitek-article__figure figcaption { margin-top: 10px; font-size: 12.5px; line-height: 1.7; color: var(--mitek-sage); }
.mitek-article__p { margin: 20px 0 0; font-size: 16px; line-height: 2; }
.mitek-article__source { margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--mitek-line); font-size: 13.5px; }

/* Contact */
.mitek-contact { padding: 110px 0; }
.mitek-contact__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; }
.mitek-contact__list { margin: 0; display: grid; gap: 6px; }
.mitek-contact__list dt { margin-top: 20px; font-family: var(--mitek-mono); font-size: 10.5px; letter-spacing: .16em; color: var(--mitek-sage); text-transform: uppercase; }
.mitek-contact__list dd { margin: 0; font-size: 15px; }
.mitek-contact__rows { display: flex; flex-direction: column; }
.mitek-contact__row { display: flex; flex-direction: column; gap: 6px; padding: 20px 0; border-top: 1px solid var(--mitek-line); }
.mitek-contact__row--last { border-bottom: 1px solid var(--mitek-line); }
.mitek-contact__label { font-family: var(--mitek-label-font); font-weight: var(--mitek-label-weight); font-size: 10px; letter-spacing: .18em; color: var(--mitek-soft); text-transform: var(--mitek-label-tt); }
.mitek-contact__value { font-size: 16px; line-height: 1.8; color: var(--mitek-ink); }
.mitek-lang-ar .mitek-contact__label { letter-spacing: 0; }
.mitek-contact__mono { font-family: var(--mitek-mono); font-size: 17px; color: var(--mitek-ink); }
a.mitek-contact__mono { color: var(--mitek-navy); }
/* The design prints the head-office number in ink; it stays a tel: link so a
   phone can dial it, but it takes the design's colour. */
a.mitek-contact__mono--ink { color: var(--mitek-ink); }
a.mitek-contact__mono:hover { color: var(--mitek-lime); }
.mitek-contact__mono--soft { font-size: 15px; color: var(--mitek-soft); }
.mitek-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 20px; margin-top: 28px; }
.mitek-people__card { display: flex; flex-direction: column; gap: 4px; }
.mitek-people__name { font-weight: 600; font-size: 15px; color: var(--mitek-ink); }
.mitek-people__role { font-size: 13px; line-height: 1.5; color: var(--mitek-soft); }
.mitek-people__tel { font-family: var(--mitek-mono); font-size: 13px; color: var(--mitek-navy); text-align: start; }
.mitek-people__mail { font-family: var(--mitek-mono); font-size: 12px; color: var(--mitek-soft); text-align: start; }
.mitek-people__tel:hover, .mitek-people__mail:hover { color: var(--mitek-lime); }
.mitek-map { display: flex; gap: 18px; align-items: center; margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--mitek-line); }
.mitek-map__link { flex-shrink: 0; display: block; }
.mitek-map__qr { width: 104px; height: 104px; display: block; border: 1px solid var(--mitek-line); }
.mitek-map__body { display: flex; flex-direction: column; gap: 6px; }
.mitek-map__body strong { font-size: 16px; font-weight: 700; color: var(--mitek-navy); }
.mitek-map__body span { font-size: 14px; line-height: 1.6; color: #6B7684; }
.mitek-map__cta { font-family: var(--mitek-mono); font-size: 12px; color: var(--mitek-lime); }
.mitek-form { background: var(--mitek-mist); padding: 44px 44px 48px; display: flex; flex-direction: column; gap: 24px; }
.mitek-form__title { margin: 0; font-size: 22px; font-weight: 700; }
.mitek-form__body { margin: 0; display: grid; gap: 24px; }
.mitek-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 18px; }
.mitek-form__field { display: grid; gap: 8px; font-size: 13px; font-weight: 500; color: var(--mitek-text); }
.mitek-form__field input, .mitek-form__field textarea, .mitek-form__select { background: #FFFFFF; border: 1px solid var(--mitek-line); padding: 13px 14px; font: inherit; font-size: 15px; font-weight: 400; color: var(--mitek-ink); width: 100%; }
.mitek-form__field--mono input { font-family: var(--mitek-mono); white-space: nowrap; }
.mitek-form__field textarea { min-height: 96px; line-height: 1.7; resize: vertical; }
.mitek-form__select { cursor: pointer; -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--mitek-navy) 50%), linear-gradient(135deg, var(--mitek-navy) 50%, transparent 50%); background-position: calc(100% - 19px) calc(50% + 1px), calc(100% - 13px) calc(50% + 1px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-inline-end: 38px; }
/* The caret is two triangles: the 45deg layer is its left half, the 135deg
   layer its right half. Moving it to the left edge for Arabic means the
   left half now takes the smaller offset, or the arrow renders upside down. */
.mitek-lang-ar .mitek-form__select { background-position: 13px calc(50% + 1px), 19px calc(50% + 1px); }
.mitek-form__field input:focus, .mitek-form__field textarea:focus, .mitek-form__select:focus { outline: 2px solid var(--mitek-lime); outline-offset: 1px; }
.mitek-form__trap { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mitek-form__submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 4px; flex-wrap: wrap; }
.mitek-form__submit .mitek-btn { min-height: 50px; }
.mitek-form__submit p { margin: 0; flex: 1 1 200px; font-size: 13px; line-height: 1.6; font-weight: 400; color: var(--mitek-soft); }
.mitek-form__notice { padding: 12px 14px; font-size: 14px; border: 1px solid; }
.mitek-form__notice--ok { border-color: var(--mitek-lime); background: rgba(147,176,61,.10); }
.mitek-form__notice--error { border-color: #C0492F; background: rgba(192,73,47,.08); }

/* Footer */
.mitek-footer { background: var(--mitek-ink); color: rgba(255,255,255,.66); }
.mitek-footer .mitek-wrap { padding-block: 72px 32px; }
.mitek-footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 60px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.16); }
/* The design sets these as plain labels, not headings. Making them headings
   put an h3 straight after the h1 on pages with no section headings, which
   is a heading-order fault; the nav landmarks carry aria-label instead. */
.mitek-footer__coltitle { display: block; color: #FFFFFF; font-size: 15px; font-weight: 600; margin: 0; }
.mitek-footer__col p { margin: 6px 0 0; font-size: 14px; }
.mitek-footer__bottom { padding-top: 26px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.42); }
.mitek-social { display: inline-flex; align-items: center; gap: 12px; }
/* The design gives this label its own colour rather than the dimmer tone the
   copyright line uses; inheriting from the row was a deviation. */
.mitek-social__label { font-family: var(--mitek-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--mitek-soft); }
.mitek-social__link { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.62); font-family: var(--mitek-mono); font-size: 12px; }
.mitek-social__link:hover { border-color: var(--mitek-lime-bright); color: var(--mitek-lime-bright); background: rgba(174,195,55,.08); }

/* About */
.mitek-about { padding: 110px 0; background: #FFFFFF; }
.mitek-about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.mitek-about__text { display: flex; flex-direction: column; gap: 28px; }
.mitek-about__text .mitek-heading { margin-bottom: 0; }
.mitek-about__p { margin: 0; font-size: 17px; line-height: 1.95; color: var(--mitek-text); text-wrap: pretty; }
.mitek-about__points { list-style: none; margin: 8px 0 0; padding: 0; }
.mitek-about__point { display: flex; align-items: baseline; gap: 16px; padding: 18px 0; border-top: 1px solid var(--mitek-line); }
.mitek-about__point:last-child { border-bottom: 1px solid var(--mitek-line); }
.mitek-about__num { font-family: var(--mitek-mono); font-size: 12px; color: var(--mitek-lime); width: 28px; flex: 0 0 28px; }
.mitek-about__point-text { font-weight: 600; font-size: 16px; line-height: normal; color: var(--mitek-ink); }
.mitek-about__media { display: flex; flex-direction: column; gap: 14px; }
.mitek-about__shot { overflow: hidden; height: 170px; }
.mitek-about__shot--tall { height: 400px; }
.mitek-about__shot--wide { height: 260px; }
.mitek-em { font-weight: 700; color: var(--mitek-navy); }
.mitek-about__shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mitek-about__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mitek-about__caption { margin: 4px 0 0; font-size: 14px; color: var(--mitek-soft); }

/* Disciplines */
.mitek-services { padding: 110px 0; background: var(--mitek-ink); }
.mitek-services__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; flex-wrap: wrap; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.18); }
.mitek-services__head .mitek-heading { max-width: 640px; }
.mitek-services__head .mitek-heading { margin-bottom: 0; }
.mitek-services__lead { margin: 0; max-width: 380px; font-size: 16px; line-height: 1.9; color: rgba(255,255,255,.66); text-wrap: pretty; }
.mitek-services .mitek-heading__title { color: #FFFFFF; }
.mitek-services__grid { margin-top: 1px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 1px; background: rgba(255,255,255,.14); }
.mitek-services__card { background: var(--mitek-ink); padding: 44px 44px 48px; display: flex; flex-direction: column; gap: 22px; border-top: 2px solid transparent; transition: background .35s ease, border-color .35s ease, transform .35s ease; }
.mitek-services__card:hover { background: var(--mitek-navy); border-top-color: var(--mitek-lime); transform: translateY(-4px); }
.mitek-services__card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.mitek-services__name { font-size: 24px; font-weight: 700; color: #FFFFFF; }
.mitek-services__num { font-family: var(--mitek-mono); font-size: 13px; color: rgba(255,255,255,.35); }
.mitek-services__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.mitek-services__items li { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.78); }
.mitek-services__card:hover .mitek-services__name { color: #FFFFFF; }
.mitek-services__card:hover .mitek-services__num { color: var(--mitek-lime-bright); }
.mitek-services__card:hover .mitek-services__items li { color: rgba(255,255,255,.86); }
.mitek-services__shot { margin-top: 1px; height: 320px; overflow: hidden; }
.mitek-services__shot img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Design and engineering */
.mitek-design { padding: 110px 0; background: var(--mitek-mist); border-top: 1px solid var(--mitek-line); }
.mitek-design__head { max-width: 720px; padding-bottom: 44px; }
/* The canvas stacks this heading and its lead with an 18px gap. */
.mitek-design__head .mitek-heading { margin-bottom: 18px; }
.mitek-design__lead { margin: 0; font-size: 16px; line-height: 1.9; color: var(--mitek-text); text-wrap: pretty; }
.mitek-design__chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 24px; margin: 0; padding-bottom: 44px; }
.mitek-design__chip { border-top: 2px solid var(--mitek-lime); padding-top: 16px; font-size: 16px; font-weight: 600; color: var(--mitek-navy); }
.mitek-design__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(258px, 100%), 1fr)); gap: 22px; }
.mitek-design__card { margin: 0; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--mitek-line); }
.mitek-design__shot { height: 200px; overflow: hidden; background: var(--mitek-mist); }
.mitek-design__shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mitek-design__cap { padding: 18px 20px 20px; font-size: 13px; line-height: 1.6; color: var(--mitek-ink); }

/* Quality and safety */
.mitek-hse { padding: 100px 0; background: #FFFFFF; border-top: 1px solid #E3E8E0; }
.mitek-hse .mitek-heading { margin-bottom: 0; }
.mitek-hse .mitek-heading__title { font-size: 34px; color: var(--mitek-navy); }
.mitek-hse__lead { margin: 14px 0 0; max-width: 760px; font-size: 15px; line-height: 1.9; color: var(--mitek-text); }
.mitek-hse__cols { margin-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 40px; }
.mitek-hse__col-title { margin: 0 0 6px; font-family: var(--mitek-label-font); font-weight: var(--mitek-label-weight); font-size: 11px; letter-spacing: var(--mitek-label-ls); text-transform: var(--mitek-label-tt); color: var(--mitek-sage); }
.mitek-hse__step { display: flex; align-items: flex-start; gap: 18px; padding: 20px 0; border-bottom: 1px solid #E3E8E0; }
.mitek-hse__num { font-family: var(--mitek-mono); font-size: 11px; color: var(--mitek-lime); padding-top: 4px; min-width: 26px; flex: 0 0 26px; }
.mitek-hse__body { flex: 1 1 auto; min-width: 0; }
.mitek-hse__step-title { font-size: 16px; font-weight: 700; color: var(--mitek-navy); }
.mitek-hse__step-text { margin-top: 6px; font-size: 13.5px; line-height: 1.85; color: var(--mitek-muted); }

/* Call to action */
.mitek-cta { background: var(--mitek-navy); }
/* The canvas lays this strip out on a 1fr/auto grid with 84px of vertical room,
   a 34px heading and 17px lead, and sizes both buttons by their own padding
   rather than a fixed height. */
.mitek-cta__inner { padding: 84px var(--mitek-pad); display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.mitek-cta__text { display: flex; flex-direction: column; gap: 14px; }
.mitek-cta__title { margin: 0; font-size: 34px; line-height: 1.4; color: #FFFFFF; }
.mitek-cta__p { margin: 0; font-size: 17px; line-height: 1.8; color: rgba(255,255,255,.78); }
.mitek-cta__actions { display: flex; align-items: center; gap: 14px; }
/* The canvas draws no border on the filled button, so it must not carry the
   base button's transparent one either — that adds 2px and makes it taller
   than the outlined button beside it, which the design keeps equal. */
.mitek-cta .mitek-btn--accent { min-height: 0; padding: 17px 32px; font-size: 15px; font-weight: 600; white-space: nowrap; border: 0; }
.mitek-cta .mitek-btn--ghost { min-height: 0; padding: 16px 32px; font-size: 15px; font-weight: 500; white-space: nowrap; border-color: rgba(255,255,255,.45); }



/* Footer detail */
.mitek-footer__logo { display: block; max-height: 52px; width: auto; margin: 0 auto 20px; }
.mitek-footer__note { margin: 0; font-size: 14px; line-height: 1.85; color: rgba(255,255,255,.6); }
.mitek-footer__cr { margin: 14px 0 0; font-family: var(--mitek-mono); font-size: 11.5px; color: var(--mitek-lime); }
.mitek-footer__links { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.mitek-footer__links a { color: rgba(255,255,255,.62); }
.mitek-footer__links a:hover { color: var(--mitek-lime-bright); }
.mitek-credits { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 11.5px; color: rgba(255,255,255,.5); }
.mitek-credits__item { display: inline-flex; align-items: center; gap: 7px; }
.mitek-credits__item a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.72); }
.mitek-credits__item a:hover { color: var(--mitek-lime-bright); }
.mitek-credits__mark { height: 16px; width: auto; }
.mitek-credits__sep { color: rgba(255,255,255,.3); }


.mitek-fleet__lead { margin: 14px 0 0; max-width: 720px; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.9; }
.mitek-fleet .mitek-heading { margin-bottom: 0; }
.mitek-fleet__grid { margin-top: 44px; }
.mitek-clients__lead { margin: 0; max-width: 420px; color: var(--mitek-text); font-size: 16px; line-height: 1.9; text-wrap: pretty; }
.mitek-events__lead { margin: 12px 0 0; max-width: 620px; color: var(--mitek-text); font-size: 15px; line-height: 1.9; }
/* The events block labels itself without the green rule the other blocks use,
   and sets the label a step larger. */
.mitek-events .mitek-eyebrow i { display: none; }
.mitek-events .mitek-eyebrow span { font-size: 12px; letter-spacing: .18em; }
.mitek-lang-ar .mitek-events .mitek-eyebrow span { letter-spacing: 0; }
.mitek-events .mitek-heading { margin-bottom: 0; }
.mitek-events .mitek-heading__title { font-size: 34px; margin-top: 10px; line-height: 1.25; }
.mitek-events__grid { margin-top: 38px; }

/* Legal page */
.mitek-legal { padding: 90px 0 100px; background: #FFFFFF; }
.mitek-legal__date { margin: -18px 0 30px; font-family: var(--mitek-mono); font-size: 12px; color: var(--mitek-soft); }
.mitek-legal__h2 { margin: 38px 0 0; font-size: 20px; font-weight: 700; color: var(--mitek-navy); }
.mitek-legal__p { margin: 14px 0 0; font-size: 15.5px; line-height: 2; color: var(--mitek-text); }
.mitek-legal__back { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--mitek-line); font-size: 14px; font-weight: 600; }

/* Cookie bar */
.mitek-cookies { position: fixed; inset-inline: 0; bottom: 0; z-index: 200; background: var(--mitek-ink); color: rgba(255,255,255,.8); border-top: 2px solid var(--mitek-lime); transform: translateY(100%); transition: transform .25s ease; }
.mitek-cookies.is-visible { transform: translateY(0); }
.mitek-cookies__inner { max-width: var(--mitek-shell); margin: 0 auto; padding: 18px var(--mitek-pad); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mitek-cookies__text { margin: 0; font-size: 13.5px; line-height: 1.8; max-width: 760px; }
.mitek-cookies__text a { color: var(--mitek-lime-bright); text-decoration: underline; }
.mitek-cookies__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.mitek-cookies .mitek-btn { min-height: 42px; padding: 0 20px; font-size: 13.5px; }
.mitek-btn--quiet { border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.82); background: transparent; }
.mitek-btn--quiet:hover { border-color: var(--mitek-lime-bright); color: var(--mitek-lime-bright); }

.mitek-footer__legal { display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.mitek-footer__legal a { color: rgba(255,255,255,.62); }
.mitek-footer__legal a:hover { color: var(--mitek-lime-bright); }
.mitek-footer__end { display: inline-flex; align-items: center; gap: 10px; }
.mitek-footer__end a { color: rgba(255,255,255,.66); }
.mitek-footer__end a:hover { color: var(--mitek-lime-bright); }

/* Mobile menu button */
.mitek-burger { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid var(--mitek-line); background: #FFFFFF; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.mitek-burger span { display: block; width: 20px; height: 2px; background: var(--mitek-ink); transition: transform .2s ease, opacity .2s ease; }
.mitek-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mitek-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mitek-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mitek-nav__cta { display: none; }

/* ---------------------------------------------------------------- tablet */
@media (max-width: 1180px) {
	:root { --mitek-pad: 32px; --mitek-shell: calc(1280px + 32px * 2); }
	.mitek-nav { gap: 16px; }
	.mitek-nav__link { font-size: 14px; }
	.mitek-hero__title { font-size: 46px; }
	.mitek-heading__title { font-size: 32px; }
	/* Their own 34px rule outranks the line above, so below the desktop width
	   these three would sit above every other heading — the reverse of the
	   design, where they are the quieter ones. */
	.mitek-fleet .mitek-heading__title,
	.mitek-hse .mitek-heading__title,
	.mitek-events .mitek-heading__title { font-size: 32px; }
	.mitek-stats { grid-template-columns: repeat(3, 1fr); }
	.mitek-about__grid { gap: 48px; }
	.mitek-services__head, .mitek-clients__head { gap: 40px; }
}

@media (max-width: 1024px) {
	.mitek-burger { display: flex; }

	/* The header carries a backdrop-filter, which makes it the containing block
	   for any fixed-position child. A fixed panel here would size itself against
	   the 72px header rather than the screen, so the panel is positioned against
	   the header on purpose and given the rest of the screen for its height.
	   nowrap matters too: the base rule wraps, and in a column that turns a
	   short panel into several columns running off the side. */
	.mitek-nav {
		position: absolute;
		inset-block-start: 100%;
		inset-inline: 0;
		height: calc(100vh - 72px);
		height: calc(100dvh - 72px);
		z-index: 70;
		display: none;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: 8px var(--mitek-pad) 40px;
		background: #FFFFFF;
		overflow-y: auto;
		border-top: 1px solid var(--mitek-line);
	}
	.mitek-nav.is-open { display: flex; }
	.mitek-nav__link { padding: 16px 0; font-size: 17px; border-bottom: 1px solid var(--mitek-line); border-top: 0; }
	.mitek-nav__link:hover { border-bottom-color: var(--mitek-lime); }
	.mitek-nav__cta { display: block; margin-top: 22px; }
	.mitek-nav__cta .mitek-btn { width: 100%; min-height: 52px; }
	body.mitek-nav-open { overflow: hidden; }

	.mitek-header__inner { height: 72px; gap: 12px; }
	.mitek-header__side .mitek-btn--primary { display: none; }
	.mitek-header__brand img, .mitek-header__logo { max-height: 42px; }

	/* The canvas puts the copy and the two buttons side by side, which needs the
	   full desktop width: below it the buttons keep their 454px and squeeze the
	   heading into a sliver, so the strip stacks instead. */
	.mitek-cta__inner { grid-template-columns: 1fr; gap: 28px; }
	.mitek-cta__actions { flex-wrap: wrap; }

	.mitek-contact__inner { grid-template-columns: 1fr; gap: 40px; }
	.mitek-footer__top { grid-template-columns: 1fr 1fr; gap: 34px; }
	.mitek-about__grid, .mitek-services__head, .mitek-clients__head { grid-template-columns: 1fr; gap: 34px; }
	.mitek-about__shot--tall { height: 320px; }
	.mitek-about__shot--wide { height: 220px; }
	.mitek-hse__cols { gap: 28px; }
}

/* ---------------------------------------------------------------- phone */
@media (max-width: 720px) {
	:root { --mitek-pad: 20px; --mitek-shell: calc(1280px + 20px * 2); }

	.mitek-about, .mitek-services, .mitek-projects, .mitek-approvals,
	.mitek-design, .mitek-fleet, .mitek-hse, .mitek-clients, .mitek-events,
	.mitek-contact { padding: 58px 0; }
	.mitek-legal { padding: 50px 0 64px; }

	.mitek-hero { min-height: 0; }
	.mitek-hero__inner { padding-top: 54px; }
	.mitek-hero__title { font-size: 30px; }
	.mitek-hero__sub { font-size: 15px; }
	.mitek-hero__text { gap: 18px; }
	.mitek-hero__actions { gap: 10px; margin-bottom: 40px; padding-top: 22px; }
	.mitek-hero__actions .mitek-btn { flex: 1 1 100%; min-height: 50px; padding: 0 18px; }

	.mitek-heading { margin-bottom: 26px; }
	.mitek-heading__title { font-size: 26px; }

	.mitek-stats { grid-template-columns: repeat(2, 1fr); }
	.mitek-stats__tile { padding: 18px 16px 20px; border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.14); }
	.mitek-stats__tile:first-child { padding-inline-start: 16px; }
	.mitek-stats__value { font-size: 26px; }
	.mitek-stats__label { font-size: 12.5px; }

	.mitek-strip { padding: 22px 0; }
	/* wrap is there for the desktop row, where the label and the grid sit side by
	   side. Turned to a column it makes this a multi-line flex container, and
	   the grid is then sized against the whole line box rather than its own
	   rows — which left 1362px of empty space under the logos. */
	.mitek-strip__inner { flex-direction: column; align-items: stretch; gap: 16px; flex-wrap: nowrap; }
	.mitek-strip__label { padding-inline-end: 0; border-inline-end: 0; padding-bottom: 12px; border-bottom: 1px solid var(--mitek-line); }
	/* Stacking the strip makes the grid a column-flex child, so its flex-grow
	   now stretches its height and align-content spreads that spare height
	   across the rows — 104px rows became 299px and the logos drifted apart.
	   Packing the rows to the start keeps them at their real height. */
	.mitek-strip__grid { align-content: start; flex: 0 0 auto; }

	.mitek-about__p { font-size: 15.5px; line-height: 1.9; }
	.mitek-about__shot--tall { height: 230px; }
	.mitek-about__shot--wide { height: 170px; }
	.mitek-about__shot { height: 130px; }

	/* The discipline name is 24px against a 40px heading in the design. The
	   heading shrinks with the viewport but this did not, so on a phone the
	   names ended up larger than the heading above them. */
	.mitek-services__name { font-size: 19px; }
	/* These three carry their own 34px rule, which outranks the responsive one
	   and left them shouting over the sections around them on a phone. */
	.mitek-fleet .mitek-heading__title,
	.mitek-hse .mitek-heading__title,
	.mitek-events .mitek-heading__title { font-size: 26px; }

	.mitek-services__grid, .mitek-fleet__grid { grid-template-columns: 1fr; }
	.mitek-services__card { padding: 24px 22px 26px; }
	.mitek-services__shot { height: 220px; }

	.mitek-cards { gap: 18px; }
	.mitek-card__body { padding: 16px 18px 18px; }

	.mitek-approval { padding: 26px 22px 28px; }

	.mitek-design__chips { grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 32px; }
	.mitek-design__chip { font-size: 14px; padding-top: 12px; }
	.mitek-design__shot { height: 170px; }

	.mitek-fleet__card { padding: 22px 20px 24px; }
	.mitek-hse__cols { grid-template-columns: 1fr; gap: 8px; }

	.mitek-marquee__cell { width: 150px; height: 92px; padding: 12px 16px; }
	.mitek-marquee__cell img { max-height: 40px; }

	.mitek-events__grid { grid-template-columns: 1fr; }

	.mitek-cta__inner { padding: 40px var(--mitek-pad); gap: 24px; grid-template-columns: 1fr; }
	.mitek-cta__title { font-size: 22px; }
	/* The canvas keeps both buttons on one line, which is right at full width but
	   forces the section past the screen edge on a phone: they carry nowrap and
	   together measure 454px. Wrapping lets them stack, each filling the column. */
	.mitek-cta__actions { width: 100%; flex-wrap: wrap; }
	.mitek-cta__actions .mitek-btn { flex: 1 1 100%; }

	.mitek-form { padding: 28px 22px 30px; gap: 20px; }
	.mitek-form__grid { grid-template-columns: 1fr; gap: 14px; }
	.mitek-form__submit { flex-direction: column; align-items: stretch; gap: 12px; }
	.mitek-form__submit .mitek-btn { width: 100%; min-height: 52px; }

	.mitek-people { grid-template-columns: 1fr 1fr; gap: 16px; }
	.mitek-map { gap: 14px; }
	.mitek-map__qr { width: 84px; height: 84px; }

	.mitek-footer .mitek-wrap { padding-block: 48px 26px; }
	.mitek-footer__top { grid-template-columns: 1fr; gap: 28px; padding-bottom: 32px; }
	.mitek-footer__bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
	.mitek-credits { justify-content: flex-start; }

	.mitek-cookies__inner { padding: 16px var(--mitek-pad); gap: 14px; }
	.mitek-cookies__actions { width: 100%; }
	.mitek-cookies .mitek-btn { flex: 1 1 0; }

	.mitek-legal__h2 { font-size: 18px; }
	.mitek-legal__p { font-size: 15px; line-height: 1.95; }

	/* Comfortable tap targets. */
	.mitek-nav__link { min-height: 44px; }
	.mitek-footer__links a, .mitek-footer__end a, .mitek-footer__legal a, .mitek-credits__item a,
	.mitek-people__tel, .mitek-people__mail, .mitek-map__cta,
	.mitek-contact__mono, .mitek-event__more, .mitek-langs__item {
		min-height: 34px;
		display: inline-flex;
		align-items: center;
	}
	.mitek-footer__links { gap: 4px; }
	.mitek-form__field input, .mitek-form__field textarea, .mitek-form__select { padding: 13px 14px; font-size: 16px; }
}

@media (max-width: 420px) {
	.mitek-hero__title { font-size: 26px; }
	.mitek-heading__title,
	.mitek-fleet .mitek-heading__title,
	.mitek-hse .mitek-heading__title,
	.mitek-events .mitek-heading__title { font-size: 23px; }
	.mitek-services__name { font-size: 18px; }
	.mitek-design__chips, .mitek-people { grid-template-columns: 1fr; }
	.mitek-langs__item { padding: 6px 9px; }
}

/* Comfortable tap targets on touch devices. */
@media (hover: none) {
	/* Comfortable targets on anything driven by touch, whatever its width — a
	   tablet at 768px needs these as much as a phone at 360px. */
	.mitek-nav__link, .mitek-footer__links a, .mitek-footer__legal a,
	.mitek-footer__end a, .mitek-credits__item a, .mitek-contact__mono,
	.mitek-people__tel, .mitek-people__mail, .mitek-map__cta,
	.mitek-event__more, .mitek-langs__item, .mitek-legal__back a,
	.mitek-article__back { min-height: 32px; display: inline-flex; align-items: center; }
	.mitek-services__card:hover { background: var(--mitek-ink); }
	.mitek-marquee__track { animation-duration: 60s; }
}

/* Careers */
.mitek-roles { list-style: none; margin: 18px 0 0; padding: 0; }
.mitek-roles__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 18px 0; border-bottom: 1px solid var(--mitek-line); }
.mitek-roles__item:first-child { border-top: 1px solid var(--mitek-line); }
.mitek-roles__title { font-size: 16px; font-weight: 700; color: var(--mitek-navy); }
.mitek-roles__place { font-family: var(--mitek-mono); font-size: 11px; letter-spacing: .14em; color: var(--mitek-lime); text-transform: uppercase; }
.mitek-roles__note { flex: 1 1 100%; font-size: 13.5px; line-height: 1.8; color: var(--mitek-muted); }

/* Green on the dark sections keeps the bright tone, which has ample contrast there. */
.mitek-footer a:hover, .mitek-cookies a:hover { color: var(--mitek-lime-bright); }

.mitek-services .mitek-eyebrow span { color: var(--mitek-lime-bright); }

/* The design sets no line-height on its headings, buttons and small labels,
   so they sit at the browser default rather than inheriting the body's 1.7.
   Matching that is what brings the section heights onto the canvas figures. */
.mitek-nav__link,
.mitek-btn,
.mitek-services__name,
.mitek-fleet__name,
.mitek-fleet__count,
.mitek-hse__step-title,
.mitek-footer__coltitle,
.mitek-design__chip,
.mitek-approval__name,
.mitek-form__title,
.mitek-people__name,
.mitek-map__body strong,
.mitek-roles__title,
.mitek-fleet__brands,
.mitek-strip__label,
.mitek-eyebrow span,
.mitek-about__num,
.mitek-hse__num,
.mitek-card__sector,
.mitek-card__foot,
.mitek-contact__label,
.mitek-social__label,
.mitek-event__date,
.mitek-event__more,
.mitek-footer__links,
.mitek-footer__links li,
.mitek-footer__links a { line-height: normal; }
