
/* Innovize homepage v2 — scoped to .iz-home; header/footer untouched */
body.home .elementor-7 > .e-con:has(.iz-home),
body.home .elementor-7 .e-con:has(> .elementor-widget-html .iz-home){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;padding:0 !important;max-width:100% !important;width:100% !important;}
body.home .elementor-7 .e-con:has(.iz-home) > .e-con-inner{max-width:100% !important;padding:0 !important;}
body.home .elementor-7 .elementor-widget-html:has(.iz-home),
body.home .elementor-7 .elementor-widget-html:has(.iz-home) > .elementor-widget-container{width:100%;margin:0;padding:0;}
body .iz-home{display:block;width:100%;overflow-x:clip;}
/* ============================================================
   INNOVIZE DIGI — shared stylesheet
   Editorial · bold & minimalist · monochrome + one accent
   ------------------------------------------------------------
   All design tokens live here as CSS variables. Swap these
   values to drop in your own design system — the rest of the
   site reads from them.
   ============================================================ */

/* ---- Webfonts ---------------------------------------------- */
/* ============================================================
   DESIGN TOKENS  — edit these
   ============================================================ */
body .iz-home {
  /* --- Colour ------------------------------------------------ */
  --color-ink:        #0A0A0A;   /* primary text, dark surfaces */
  --color-paper:      #FAFAFA;   /* page background */
  --color-paper-pure: #FFFFFF;   /* cards, raised surfaces */
  --color-muted:      #71717A;   /* secondary text */
  --color-faint:      #A1A1AA;   /* tertiary text, captions */
  --color-line:       #E5E5E5;   /* hairline borders */
  --color-line-strong:#D4D4D8;   /* stronger dividers */
  --color-line-ink:   #0A0A0A;   /* focus + emphasis borders */

  --accent:           #E8431F;   /* single accent — vermilion */
  --accent-ink:       #0A0A0A;   /* text on accent fills */
  --ghost:            #F0EFEC;   /* oversized ghost numerals */

  /* --- Type -------------------------------------------------- */
  --font-display: 'Archivo Expanded', 'Archivo', system-ui, sans-serif;
  --font-sans:    'Archivo', system-ui, -apple-system, sans-serif;
  --font-serif:   'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, Menlo, monospace;

  --weight-light: 400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:  700;
  --weight-black: 800;

  --tracking-tight: -0.02em;
  --tracking-display: -0.03em;
  --tracking-wide:  0.18em;   /* uppercase eyebrows / labels */

  /* --- Spacing (base 16) ------------------------------------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --space-9: 128px;
  --space-10:160px;

  /* --- Radius ------------------------------------------------ */
  --radius:    0px;   /* sharp by design — swap to taste */
  --radius-sm: 0px;

  /* --- Layout ------------------------------------------------ */
  --maxw: 1320px;
  --gutter: clamp(20px, 5vw, 64px);

  /* --- Motion ----------------------------------------------- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur:  180ms;
}

/* ============================================================
   RESET
   ============================================================ */
body .iz-home *, body .iz-home *::before, body .iz-home *::after { box-sizing: border-box; }
body .iz-home * { margin: 0; }
 body .iz-home { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
   body .iz-home { scroll-behavior: auto; }
  body .iz-home *, body .iz-home *::before, body .iz-home *::after { animation: none !important; transition: none !important; }
}
body .iz-home {
  font-family: var(--font-sans);
  font-weight: var(--weight-light);
  font-size: 17px;
  line-height: 1.65;
  color: var(--color-ink);
  background: var(--color-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body .iz-home img, body .iz-home svg { display: block; max-width: 100%; }
body .iz-home a { color: inherit; text-decoration: none; }
body .iz-home ul, body .iz-home ol { list-style: none; padding: 0; }
body .iz-home button, body .iz-home input, body .iz-home select, body .iz-home textarea { font: inherit; color: inherit; }

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
body .iz-home :focus-visible {
  outline: 2px solid var(--color-line-ink);
  outline-offset: 2px;
}
body .iz-home .skip-link {
  position: absolute;
  left: var(--space-3);
  top: -120px;
  z-index: 100;
  background: var(--color-ink);
  color: var(--color-paper);
  padding: 12px 20px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  transition: top var(--dur) var(--ease);
}
body .iz-home .skip-link:focus { top: var(--space-3); }
body .iz-home .sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ============================================================
   LAYOUT HELPERS
   ============================================================ */
body .iz-home .wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
body .iz-home .section { padding-block: clamp(56px, 9vw, 128px); }
body .iz-home .section--tight { padding-block: clamp(40px, 6vw, 80px); }
body .iz-home .divider { border: 0; border-top: 1px solid var(--color-line); }

/* Eyebrow / label */
body .iz-home .eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-muted);
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}
body .iz-home .eyebrow::before {
  content: "";
  width: 28px; height: 1px;
  background: var(--accent);
}
body .iz-home .eyebrow--plain::before { display: none; }

/* Serif italic accent run */
body .iz-home .serif { font-family: var(--font-serif); font-style: italic; font-weight: 400; }

/* Headings */
body .iz-home .display {
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  line-height: 0.98;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
body .iz-home h1, body .iz-home h2, body .iz-home h3, body .iz-home h4 { font-weight: var(--weight-bold); line-height: 1.08; letter-spacing: var(--tracking-tight); }

body .iz-home .lead {
  font-size: clamp(18px, 2.2vw, 23px);
  line-height: 1.5;
  font-weight: var(--weight-light);
  color: var(--color-ink);
  max-width: 52ch;
  text-wrap: pretty;
}
body .iz-home .muted { color: var(--color-muted); }
body .iz-home .accent-text { color: var(--accent); }

/* ============================================================
   BUTTONS
   ============================================================ */
body .iz-home .btn {
  --b-bg: var(--color-ink);
  --b-fg: var(--color-paper);
  --b-bd: var(--color-ink);
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: 16px 26px;
  background: var(--b-bg);
  color: var(--b-fg);
  border: 1px solid var(--b-bd);
  border-radius: var(--radius);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
body .iz-home .btn .arrow { transition: transform var(--dur) var(--ease); }
body .iz-home .btn:hover { --b-bg: transparent; --b-fg: var(--color-ink); }
body .iz-home .btn:hover .arrow { transform: translateX(4px); }
body .iz-home .btn--accent { --b-bg: var(--accent); --b-fg: var(--accent-ink); --b-bd: var(--accent); }
body .iz-home .btn--accent:hover { --b-bg: transparent; --b-fg: var(--color-ink); --b-bd: var(--color-ink); }
body .iz-home .btn--ghost { --b-bg: transparent; --b-fg: var(--color-ink); --b-bd: var(--color-line-strong); }
body .iz-home .btn--ghost:hover { --b-bg: var(--color-ink); --b-fg: var(--color-paper); --b-bd: var(--color-ink); }
body .iz-home .btn--inverse { --b-bg: var(--color-paper); --b-fg: var(--color-ink); --b-bd: var(--color-paper); }
body .iz-home .btn--inverse:hover { --b-bg: transparent; --b-fg: var(--color-paper); --b-bd: var(--color-paper); }

/* Text link with animated rule */
body .iz-home .tlink {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--color-ink);
  padding-bottom: 4px;
  background-image: linear-gradient(var(--accent), var(--accent));
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size var(--dur) var(--ease), color var(--dur) var(--ease);
}
body .iz-home .tlink .arrow { transition: transform var(--dur) var(--ease); }
body .iz-home .tlink:hover { background-size: 100% 1px; }
body .iz-home .tlink:hover .arrow { transform: translateX(4px); }

/* ============================================================
   HERO  (home)
   ============================================================ */
body .iz-home .hero { padding-top: clamp(40px, 7vw, 90px); padding-bottom: clamp(40px, 6vw, 80px); }
body .iz-home .hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: end;
}
body .iz-home .hero__title {
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  font-size: clamp(48px, 11vw, 150px);
  line-height: 0.9;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
body .iz-home .hero__title .serif {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  display: inline-block;
}
body .iz-home .hero__meta {
  display: grid;
  gap: var(--space-5);
  border-top: 1px solid var(--color-ink);
  padding-top: var(--space-5);
  margin-top: var(--space-6);
}
@media (min-width: 880px) {
  body .iz-home .hero__meta { grid-template-columns: 1.4fr 1fr; align-items: start; }
}
body .iz-home .hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

/* Stat strip */
body .iz-home .stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-line);
}
@media (min-width: 720px) { body .iz-home .stats { grid-template-columns: repeat(4, 1fr); } }
body .iz-home .stat {
  padding: var(--space-5) var(--space-4) var(--space-5) 0;
  border-bottom: 1px solid var(--color-line);
}
body .iz-home .stat__num {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: clamp(34px, 5vw, 54px);
  letter-spacing: -0.03em;
  line-height: 1;
}
body .iz-home .stat__num small { font-size: 0.5em; color: var(--accent); vertical-align: super; }
body .iz-home .stat__label {
  margin-top: var(--space-3);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-muted);
}

/* ============================================================
   SECTION HEADER (shared editorial block)
   ============================================================ */
body .iz-home .sec-head {
  display: grid;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}
@media (min-width: 880px) {
  body .iz-home .sec-head { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: end; }
}
body .iz-home .sec-head__title {
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  font-size: clamp(30px, 4.6vw, 60px);
  line-height: 1;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
body .iz-home .sec-head__title .serif { font-family: var(--font-serif); font-weight: 400; }

/* ============================================================
   LEDGER  (ruled services list — full-width bordered rows)
   ============================================================ */
body .iz-home .ledger { border-top: 1px solid var(--color-ink); }
body .iz-home .ledger__row { border-bottom: 1px solid var(--color-line); }
body .iz-home .ledger__link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-5);
  padding: clamp(22px, 3vw, 40px) var(--space-3);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), padding var(--dur) var(--ease);
}
body .iz-home .ledger__num {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  color: var(--color-faint);
  align-self: start;
  padding-top: 8px;
  transition: color var(--dur) var(--ease);
}
body .iz-home .ledger__body { display: grid; gap: var(--space-3); max-width: 70ch; }
body .iz-home .ledger__name {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: clamp(24px, 3.4vw, 40px);
  letter-spacing: -0.02em;
  line-height: 1;
}
body .iz-home .ledger__desc { color: var(--color-muted); font-size: 16px; max-width: 56ch; text-wrap: pretty; }
body .iz-home .ledger__link:hover .ledger__desc { color: color-mix(in srgb, var(--color-paper) 70%, var(--color-muted)); }
body .iz-home .ledger__tags {
  display: flex; flex-wrap: wrap; gap: var(--space-2);
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--color-faint);
}
body .iz-home .ledger__tags span::after { content: " ·"; color: var(--color-line-strong); }
body .iz-home .ledger__tags span:last-child::after { content: ""; }
body .iz-home .ledger__arrow {
  font-family: var(--font-mono);
  font-size: 28px;
  color: var(--color-ink);
  justify-self: end;
  align-self: start;
  padding-top: 4px;
  transition: transform var(--dur) var(--ease), color var(--dur) var(--ease);
}
body .iz-home .ledger__link:hover { background: var(--color-ink); color: var(--color-paper); padding-inline: var(--space-5); }
body .iz-home .ledger__link:hover .ledger__num { color: var(--accent); }
body .iz-home .ledger__link:hover .ledger__arrow { transform: translate(6px, -6px); color: var(--accent); }
body .iz-home .ledger__link:focus-visible { outline-offset: -2px; }
@media (max-width: 640px) {
  body .iz-home .ledger__link { grid-template-columns: auto 1fr; gap: var(--space-3) var(--space-4); padding-inline: var(--space-2); }
  body .iz-home .ledger__arrow { grid-column: 2; justify-self: start; padding-top: 0; }
  body .iz-home .ledger__link:hover { padding-inline: var(--space-3); }
}

/* ============================================================
   PROCESS  (horizontal timeline, vertical hairlines, ghost #s)
   ============================================================ */
body .iz-home .process {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--color-ink);
  border-left: 1px solid var(--color-line);
}
@media (min-width: 880px) { body .iz-home .process { grid-template-columns: repeat(4, 1fr); } }
body .iz-home .process__step {
  position: relative;
  overflow: hidden;
  padding: var(--space-6) var(--space-5) var(--space-7);
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  min-height: 280px;
  display: flex;
  flex-direction: column;
  transition: background var(--dur) var(--ease);
}
body .iz-home .process__step:hover { background: var(--color-paper-pure); }
body .iz-home .process__ghost {
  position: absolute;
  right: -8px;
  bottom: -38px;
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  font-size: 190px;
  line-height: 1;
  color: var(--ghost);
  z-index: 0;
  pointer-events: none;
  letter-spacing: -0.04em;
  transition: color var(--dur) var(--ease);
}
body .iz-home .process__step:hover .process__ghost { color: color-mix(in srgb, var(--accent) 14%, var(--ghost)); }
body .iz-home .process__label {
  position: relative; z-index: 1;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--space-4);
}
body .iz-home .process__name {
  position: relative; z-index: 1;
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-3);
}
body .iz-home .process__text { position: relative; z-index: 1; color: var(--color-muted); font-size: 15px; text-wrap: pretty; }

/* ============================================================
   CARDS / WORK GRID
   ============================================================ */
body .iz-home .grid-2 { display: grid; gap: var(--space-6); }
@media (min-width: 760px) { body .iz-home .grid-2 { grid-template-columns: 1fr 1fr; } }
body .iz-home .grid-3 { display: grid; gap: var(--space-6); }
@media (min-width: 760px) { body .iz-home .grid-3 { grid-template-columns: repeat(3, 1fr); } }

body .iz-home .work {
  display: block;
  border: 1px solid var(--color-line);
  background: var(--color-paper-pure);
  transition: border-color var(--dur) var(--ease);
}
body .iz-home .work:hover { border-color: var(--color-ink); }
body .iz-home .work__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--color-line-strong); }
body .iz-home .work__media img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(100%) contrast(1.03);
  transition: filter 220ms var(--ease), transform 320ms var(--ease);
}
body .iz-home .work:hover .work__media img { filter: grayscale(0%); transform: scale(1.04); }
body .iz-home .work__tag {
  position: absolute; top: 0; left: 0;
  background: var(--color-ink); color: var(--color-paper);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 7px 12px;
}
body .iz-home .work__body { padding: var(--space-4) var(--space-4) var(--space-5); display: grid; gap: var(--space-2); }
body .iz-home .work__name { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: 21px; letter-spacing: -0.02em; }
body .iz-home .work__meta { font-family: var(--font-mono); font-size: 12px; color: var(--color-faint); letter-spacing: 0.04em; }
body .iz-home .work__result { display: flex; align-items: baseline; gap: var(--space-2); margin-top: var(--space-2); }
body .iz-home .work__result b { font-family: var(--font-display); font-size: 26px; color: var(--accent); letter-spacing: -0.02em; }
body .iz-home .work__result span { font-size: 14px; color: var(--color-muted); }

/* ============================================================
   FEATURE / SPLIT
   ============================================================ */
body .iz-home .split { display: grid; gap: var(--space-7); align-items: center; }
@media (min-width: 900px) { body .iz-home .split { grid-template-columns: 1fr 1fr; gap: var(--space-9); } }
body .iz-home .split--media-right .split__media { order: 2; }
body .iz-home .split__media { position: relative; overflow: hidden; aspect-ratio: 5 / 6; background: var(--color-line-strong); }
body .iz-home .split__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 260ms var(--ease); }
body .iz-home .split__media:hover img { filter: grayscale(0%); }
body .iz-home .split__media-tag {
  position: absolute; left: 0; bottom: 0;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase;
  background: var(--color-paper); color: var(--color-ink); padding: 8px 12px;
}

/* Marquee-less value list */
body .iz-home .value-list { border-top: 1px solid var(--color-ink); }
body .iz-home .value-list li { border-bottom: 1px solid var(--color-line); padding: var(--space-5) 0; display: grid; gap: var(--space-3); }
@media (min-width: 720px) { body .iz-home .value-list li { grid-template-columns: 0.5fr 1.5fr; gap: var(--space-6); align-items: baseline; } }
body .iz-home .value-list__k { font-family: var(--font-serif); font-style: italic; font-size: 22px; color: var(--color-ink); }
body .iz-home .value-list__v { color: var(--color-muted); max-width: 60ch; text-wrap: pretty; }
body .iz-home .value-list__v b { color: var(--color-ink); font-weight: var(--weight-semibold); }

/* ============================================================
   QUOTE / PULL
   ============================================================ */
body .iz-home .pull {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(24px, 4vw, 44px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-wrap: balance;
  max-width: 22ch;
}
body .iz-home .pull b { font-style: normal; font-family: var(--font-display); font-weight: var(--weight-bold); }

/* ============================================================
   CTA BAND  (dark)
   ============================================================ */
body .iz-home .cta-band { background: var(--color-ink); color: var(--color-paper); }
body .iz-home .cta-band__inner { display: grid; gap: var(--space-6); padding-block: clamp(64px, 10vw, 140px); }
body .iz-home .cta-band .eyebrow { color: var(--color-faint); }
body .iz-home .cta-band__title {
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  font-size: clamp(38px, 7vw, 100px);
  line-height: 0.95;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
body .iz-home .cta-band__title .serif { font-family: var(--font-serif); font-weight: 400; color: var(--color-paper); }
body .iz-home .cta-band__row { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; }
body .iz-home .cta-band__row p { color: var(--color-faint); font-size: 16px; max-width: 40ch; }

/* ============================================================
   FORM  (contact)
   ============================================================ */
body .iz-home .form { display: grid; gap: var(--space-5); }
body .iz-home .field { display: grid; gap: var(--space-2); }
body .iz-home .field label {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--color-ink);
}
body .iz-home .field .req { color: var(--accent); }
body .iz-home .field input,
body .iz-home .field select,
body .iz-home .field textarea {
  width: 100%;
  background: var(--color-paper-pure);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius);
  padding: 15px 16px;
  font-size: 16px;
  font-family: var(--font-sans);
  color: var(--color-ink);
  transition: border-color var(--dur) var(--ease);
}
body .iz-home .field textarea { min-height: 150px; resize: vertical; }
body .iz-home .field input::placeholder, body .iz-home .field textarea::placeholder { color: var(--color-faint); }
body .iz-home .field input:hover, body .iz-home .field select:hover, body .iz-home .field textarea:hover { border-color: var(--color-muted); }
body .iz-home .field input:focus, body .iz-home .field select:focus, body .iz-home .field textarea:focus {
  outline: 2px solid var(--color-ink); outline-offset: 2px; border-color: var(--color-ink);
}
body .iz-home .field--row { display: grid; gap: var(--space-5); }
@media (min-width: 600px) { body .iz-home .field--row { grid-template-columns: 1fr 1fr; } }
body .iz-home .form__note { font-family: var(--font-mono); font-size: 12px; color: var(--color-faint); letter-spacing: 0.03em; }
body .iz-home .contact-grid { display: grid; gap: var(--space-8); }
@media (min-width: 920px) { body .iz-home .contact-grid { grid-template-columns: 1fr 0.8fr; gap: var(--space-9); } }

body .iz-home .info-list { display: grid; gap: var(--space-5); border-top: 1px solid var(--color-ink); padding-top: var(--space-5); }
body .iz-home .info-row { display: grid; gap: var(--space-1); }
body .iz-home .info-row dt { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-faint); }
body .iz-home .info-row dd { font-size: 18px; }
body .iz-home .info-row dd a:hover { color: var(--accent); }

/* ============================================================
   BLOG
   ============================================================ */
body .iz-home .post-feature {
  display: grid; gap: var(--space-6); align-items: center;
  border: 1px solid var(--color-line); background: var(--color-paper-pure);
  transition: border-color var(--dur) var(--ease);
}
body .iz-home .post-feature:hover { border-color: var(--color-ink); }
@media (min-width: 860px) { body .iz-home .post-feature { grid-template-columns: 1.1fr 1fr; gap: 0; } }
body .iz-home .post-feature__media { overflow: hidden; aspect-ratio: 16 / 11; background: var(--color-line-strong); }
body .iz-home .post-feature__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 260ms var(--ease), transform 360ms var(--ease); }
body .iz-home .post-feature:hover .post-feature__media img { filter: grayscale(0%); transform: scale(1.03); }
body .iz-home .post-feature__body { padding: clamp(28px, 4vw, 56px); display: grid; gap: var(--space-4); }
body .iz-home .post-feature__title { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(26px, 3.6vw, 44px); letter-spacing: -0.02em; line-height: 1.02; text-wrap: balance; }

body .iz-home .post-list { border-top: 1px solid var(--color-ink); }
body .iz-home .post-row {
  display: grid; gap: var(--space-3) var(--space-6); align-items: baseline;
  grid-template-columns: 1fr;
  padding: var(--space-6) var(--space-3);
  border-bottom: 1px solid var(--color-line);
  transition: background var(--dur) var(--ease), padding var(--dur) var(--ease);
}
@media (min-width: 760px) { body .iz-home .post-row { grid-template-columns: auto 1fr auto; gap: var(--space-7); align-items: center; } }
body .iz-home .post-row:hover { background: var(--color-paper-pure); padding-inline: var(--space-5); }
body .iz-home .post-row__cat { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
body .iz-home .post-row__title { font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: clamp(19px, 2.4vw, 27px); letter-spacing: -0.02em; line-height: 1.1; text-wrap: balance; }
body .iz-home .post-row__desc { color: var(--color-muted); font-size: 15px; margin-top: 6px; max-width: 64ch; }
body .iz-home .post-row__date { font-family: var(--font-mono); font-size: 12px; color: var(--color-faint); white-space: nowrap; }
body .iz-home .post-row__arrow { font-family: var(--font-mono); transition: transform var(--dur) var(--ease); }
body .iz-home .post-row:hover .post-row__arrow { transform: translateX(5px); color: var(--accent); }

/* Tag chips */
body .iz-home .chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
body .iz-home .chip {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.05em; text-transform: uppercase;
  padding: 7px 13px; border: 1px solid var(--color-line-strong); color: var(--color-muted);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
body .iz-home .chip:hover, body .iz-home .chip[aria-pressed="true"] { background: var(--color-ink); color: var(--color-paper); border-color: var(--color-ink); }

/* ============================================================
   PAGE HEADER (interior pages)
   ============================================================ */
body .iz-home .page-head { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(40px, 5vw, 72px); }
body .iz-home .page-head__index {
  display: flex; align-items: center; gap: var(--space-3);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--color-faint); margin-bottom: var(--space-6);
}
body .iz-home .page-head__index b { color: var(--color-ink); font-weight: 500; }
body .iz-home .page-head__title {
  font-family: var(--font-display); font-weight: var(--weight-black);
  font-size: clamp(44px, 9vw, 124px); line-height: 0.9; letter-spacing: var(--tracking-display); text-wrap: balance;
}
body .iz-home .page-head__title .serif { font-family: var(--font-serif); font-weight: 400; }
body .iz-home .page-head__sub { margin-top: var(--space-6); max-width: 56ch; }

/* ============================================================
   SCROLL REVEAL  (pure CSS, progressive-enhancement)
   ============================================================ */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    body .iz-home .reveal {
      animation: iz-reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 26%;
    }
  }
}
@keyframes iz-reveal-in {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   UTILITY
   ============================================================ */
body .iz-home .stack-sm { display: grid; gap: var(--space-3); }
body .iz-home .stack { display: grid; gap: var(--space-5); }
body .iz-home .flow > * + * { margin-top: var(--space-4); }
body .iz-home .mt-6 { margin-top: var(--space-6); }
body .iz-home .mt-7 { margin-top: var(--space-7); }
body .iz-home .text-max { max-width: 60ch; text-wrap: pretty; }

/* ============================================================
   FAQ  (native <details>, no JS)
   ============================================================ */
body .iz-home .faq { border-top: 1px solid var(--color-ink); }
body .iz-home .faq details { border-bottom: 1px solid var(--color-line); }
body .iz-home .faq summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-5) 0;
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: clamp(18px, 2.4vw, 25px);
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-wrap: balance;
  transition: color var(--dur) var(--ease);
}
body .iz-home .faq summary::-webkit-details-marker { display: none; }
body .iz-home .faq summary::after {
  content: "+";
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 26px;
  line-height: 1;
  color: var(--accent);
  flex: none;
}
body .iz-home .faq details[open] summary::after { content: "\2013"; }
body .iz-home .faq summary:hover { color: var(--accent); }
body .iz-home .faq summary:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 3px; }
body .iz-home .faq__a { padding: 0 0 var(--space-5); color: var(--color-muted); max-width: 72ch; text-wrap: pretty; }
body .iz-home .faq__a + .faq__a { padding-top: 0; margin-top: calc(-1 * var(--space-3)); }

/* ============================================================
   LEGAL DOCUMENT LAYOUT
   ============================================================ */
body .iz-home .legal { display: grid; gap: var(--space-7); }
@media (min-width: 940px) { body .iz-home .legal { grid-template-columns: 230px 1fr; gap: var(--space-9); } }
body .iz-home .legal__toc { align-self: start; display: grid; gap: var(--space-3); border-top: 1px solid var(--color-ink); padding-top: var(--space-4); }
@media (min-width: 940px) { body .iz-home .legal__toc { position: sticky; top: 100px; } }
body .iz-home .legal__toc-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-faint); margin-bottom: var(--space-2); }
body .iz-home .legal__toc a { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: 0.03em; color: var(--color-muted); transition: color var(--dur) var(--ease); }
body .iz-home .legal__toc a:hover { color: var(--color-ink); }
body .iz-home .legal__body h2 {
  font-family: var(--font-display); font-weight: var(--weight-bold);
  font-size: clamp(21px, 3vw, 30px); letter-spacing: -0.02em;
  margin: var(--space-8) 0 var(--space-4); scroll-margin-top: 100px;
}
body .iz-home .legal__body h2:first-child { margin-top: 0; }
body .iz-home .legal__body h3 { font-family: var(--font-sans); font-weight: var(--weight-semibold); font-size: 18px; margin: var(--space-5) 0 var(--space-2); }
body .iz-home .legal__body p { color: var(--color-muted); margin-bottom: var(--space-3); max-width: 74ch; text-wrap: pretty; }
body .iz-home .legal__body ul { display: grid; gap: var(--space-2); margin: 0 0 var(--space-4); }
body .iz-home .legal__body li { position: relative; padding-left: var(--space-4); color: var(--color-muted); max-width: 72ch; text-wrap: pretty; }
body .iz-home .legal__body li::before { content: "\2014"; position: absolute; left: 0; color: var(--accent); }
body .iz-home .legal__body strong { color: var(--color-ink); font-weight: var(--weight-semibold); }
body .iz-home .legal__body a {
  color: var(--color-ink);
  background-image: linear-gradient(var(--accent), var(--accent));
  background-size: 100% 1px; background-position: 0 100%; background-repeat: no-repeat;
}
body .iz-home .legal__updated { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.03em; color: var(--color-faint); }

/* ============================================================
   PPC LANDING PAGE
   ============================================================ */
body .iz-home .lp-header { position: sticky; top: 0; z-index: 50; background: var(--color-paper); border-bottom: 1px solid var(--color-line); }
body .iz-home .lp-nav { display: flex; align-items: center; gap: var(--space-4); min-height: 70px; }
body .iz-home .lp-phone { margin-left: auto; display: inline-flex; align-items: center; gap: var(--space-3); }
body .iz-home .lp-phone a {
  font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.03em;
  display: inline-flex; align-items: center; gap: 8px; color: var(--color-ink);
}
body .iz-home .lp-phone a:hover { color: var(--accent); }
body .iz-home .lp-phone .btn { padding: 11px 18px; }
@media (max-width: 640px) { body .iz-home .lp-phone .lp-phone__txt { display: none; } }

body .iz-home .lp-hero { display: grid; gap: var(--space-7); align-items: start; }
@media (min-width: 960px) { body .iz-home .lp-hero { grid-template-columns: 1.05fr 0.95fr; gap: var(--space-8); align-items: center; } }
body .iz-home .lp-hero__title {
  font-family: var(--font-display); font-weight: var(--weight-black);
  font-size: clamp(40px, 6.4vw, 84px); line-height: 0.92; letter-spacing: var(--tracking-display); text-wrap: balance;
}
body .iz-home .lp-hero__title .serif { font-family: var(--font-serif); font-weight: 400; }

body .iz-home .lp-card { border: 1px solid var(--color-ink); background: var(--color-paper-pure); padding: clamp(24px, 4vw, 40px); }
body .iz-home .lp-card__head { display: grid; gap: var(--space-2); margin-bottom: var(--space-5); }
body .iz-home .lp-card__head h2 { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(22px, 3vw, 30px); letter-spacing: -0.02em; }

body .iz-home .trust-row { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); align-items: center; }
body .iz-home .trust-row span {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--color-muted); display: inline-flex; gap: 9px; align-items: center;
}
body .iz-home .tick::before { content: ""; width: 8px; height: 8px; background: var(--accent); display: inline-block; flex: none; }

body .iz-home .benefit-list { border-top: 1px solid var(--color-ink); }
body .iz-home .benefit {
  display: grid; gap: var(--space-2) var(--space-5); align-items: start;
  padding: var(--space-6) 0; border-bottom: 1px solid var(--color-line);
  transition: padding var(--dur) var(--ease);
}
@media (min-width: 720px) { body .iz-home .benefit { grid-template-columns: auto 1.1fr 1.4fr; gap: var(--space-6); align-items: baseline; } }
body .iz-home .benefit:hover { padding-inline: var(--space-3); }
body .iz-home .benefit__n { font-family: var(--font-mono); font-size: 13px; color: var(--accent); }
body .iz-home .benefit__h { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(20px, 2.6vw, 28px); letter-spacing: -0.02em; line-height: 1.05; }
body .iz-home .benefit__p { color: var(--color-muted); text-wrap: pretty; }

body .iz-home .guarantee { border: 1px solid var(--color-ink); padding: clamp(28px, 5vw, 64px); display: grid; gap: var(--space-4); }
@media (min-width: 820px) { body .iz-home .guarantee { grid-template-columns: 1fr 1.3fr; gap: var(--space-8); align-items: center; } }
body .iz-home .guarantee__mark { font-family: var(--font-display); font-weight: var(--weight-black); font-size: clamp(40px, 6vw, 72px); line-height: 0.9; letter-spacing: var(--tracking-display); }
body .iz-home .guarantee__mark .serif { font-family: var(--font-serif); font-weight: 400; }

/* Service page: pairs-with cross links */
body .iz-home .pairs { display: flex; flex-wrap: wrap; gap: var(--space-3); }
body .iz-home .pairs a {
  font-family: var(--font-mono); font-size: 12.5px; letter-spacing: 0.04em; text-transform: uppercase;
  padding: 11px 16px; border: 1px solid var(--color-line-strong); color: var(--color-ink);
  display: inline-flex; align-items: center; gap: 10px;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
body .iz-home .pairs a .arrow { transition: transform var(--dur) var(--ease); }
body .iz-home .pairs a:hover { background: var(--color-ink); color: var(--color-paper); border-color: var(--color-ink); }
body .iz-home .pairs a:hover .arrow { transform: translateX(4px); }

/* Service includes list (definition style) */
body .iz-home .includes { border-top: 1px solid var(--color-ink); }
body .iz-home .includes li {
  display: grid; gap: var(--space-2) var(--space-6); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--color-line); align-items: baseline;
}
@media (min-width: 720px) { body .iz-home .includes li { grid-template-columns: 0.6fr 1.4fr; gap: var(--space-6); } }
body .iz-home .includes__k { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(19px, 2.2vw, 24px); letter-spacing: -0.02em; }
body .iz-home .includes__v { color: var(--color-muted); max-width: 60ch; text-wrap: pretty; }
body .iz-home .includes__v b { color: var(--color-ink); font-weight: var(--weight-semibold); }

/* ============================================================
   LOCAL LANDING PAGE  (organic, CRO-tuned)
   ============================================================ */
body .iz-home .anchor-offset { scroll-margin-top: 96px; }

/* Sticky action bar — mobile only */
body .iz-home .sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 60;
  display: none;
  border-top: 1px solid var(--color-ink);
  background: var(--color-paper);
}
body .iz-home .sticky-cta__inner { display: grid; grid-template-columns: 1fr 1fr; }
body .iz-home .sticky-cta a {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 16px 12px;
  font-family: var(--font-mono); font-size: 12.5px; letter-spacing: 0.05em; text-transform: uppercase;
}
body .iz-home .sticky-cta a + a { background: var(--accent); color: var(--accent-ink); }
@media (max-width: 880px) {
  body .iz-home .sticky-cta { display: block; }
  body .iz-home body.has-sticky-cta { padding-bottom: 58px; }
}

/* Proof strip — mono facts on a hairline rail */
body .iz-home .proof-strip {
  display: grid; gap: 0;
  border-top: 1px solid var(--color-ink);
  border-bottom: 1px solid var(--color-line);
}
@media (min-width: 720px) { body .iz-home .proof-strip { grid-template-columns: repeat(4, 1fr); } }
body .iz-home .proof-strip div {
  padding: var(--space-4) var(--space-4) var(--space-4) 0;
  display: grid; gap: 6px;
  border-bottom: 1px solid var(--color-line);
}
@media (min-width: 720px) { body .iz-home .proof-strip div { border-bottom: 0; border-right: 1px solid var(--color-line); padding-left: var(--space-4); }
  body .iz-home .proof-strip div:first-child { padding-left: 0; }
  body .iz-home .proof-strip div:last-child { border-right: 0; } }
body .iz-home .proof-strip b { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(24px, 3vw, 34px); letter-spacing: -0.03em; line-height: 1; }
body .iz-home .proof-strip span { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-muted); }

/* Testimonial rows */
body .iz-home .quotes { display: grid; gap: 0; border-top: 1px solid var(--color-ink); }
@media (min-width: 860px) { body .iz-home .quotes { grid-template-columns: 1fr 1fr; } }
body .iz-home .quote-card {
  padding: var(--space-6) var(--space-5) var(--space-6) 0;
  border-bottom: 1px solid var(--color-line);
  display: grid; gap: var(--space-4); align-content: start;
}
@media (min-width: 860px) { body .iz-home .quote-card { padding-inline: var(--space-5); border-right: 1px solid var(--color-line); }
  body .iz-home .quote-card:first-child { padding-left: 0; }
  body .iz-home .quote-card:nth-child(2n) { border-right: 0; } }
body .iz-home .quote-card p { font-family: var(--font-serif); font-style: italic; font-size: clamp(19px, 2.3vw, 25px); line-height: 1.32; text-wrap: pretty; }
body .iz-home .quote-card footer { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-faint); }
body .iz-home .quote-card footer b { color: var(--color-ink); font-weight: 500; }

/* Area-served pill list */
body .iz-home .areas { display: flex; flex-wrap: wrap; gap: var(--space-2); }
body .iz-home .areas li {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.05em; text-transform: uppercase;
  padding: 8px 13px; border: 1px solid var(--color-line-strong); color: var(--color-muted);
}

/* Comparison table (us vs typical) */
body .iz-home .compare { width: 100%; border-collapse: collapse; text-align: left; }
body .iz-home .compare th, body .iz-home .compare td { padding: var(--space-4) var(--space-3); border-bottom: 1px solid var(--color-line); vertical-align: top; }
body .iz-home .compare thead th {
  font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--color-faint); border-bottom: 1px solid var(--color-ink);
}
body .iz-home .compare tbody th { font-family: var(--font-sans); font-weight: var(--weight-semibold); font-size: 16px; width: 30%; }
body .iz-home .compare td { color: var(--color-muted); font-size: 15.5px; text-wrap: pretty; }
body .iz-home .compare td.is-us { color: var(--color-ink); }
body .iz-home .compare-scroll { overflow-x: auto; }
@media (max-width: 620px) { body .iz-home .compare { min-width: 560px; } }

/* ============================================================
   PILLAR PAGE  (long-form SEO content)
   ============================================================ */
body .iz-home .pillar-toc__num { color: var(--color-faint); }
body .iz-home .legal__body h2 .pillar-kicker {
  display: block;
  font-family: var(--font-mono); font-size: 12px; font-weight: 400;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent);
  margin-bottom: var(--space-2);
}
body .iz-home .legal__body .pillar-lead { font-size: clamp(18px, 2.1vw, 21px); line-height: 1.5; color: var(--color-ink); }

/* Key takeaways callout */
body .iz-home .takeaways { border: 1px solid var(--color-ink); padding: clamp(22px, 3vw, 36px); margin: var(--space-6) 0; }
body .iz-home .takeaways__label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-faint); margin-bottom: var(--space-4); }
body .iz-home .takeaways ul { display: grid; gap: var(--space-3); margin: 0; }
body .iz-home .takeaways li { position: relative; padding-left: var(--space-5); color: var(--color-ink); max-width: 70ch; text-wrap: pretty; }
body .iz-home .takeaways li::before { content: ""; position: absolute; left: 0; top: 11px; width: 9px; height: 9px; background: var(--accent); }

/* Stat inline within prose */
body .iz-home .pillar-figure { display: flex; flex-wrap: wrap; gap: var(--space-6); border-block: 1px solid var(--color-line); padding: var(--space-5) 0; margin: var(--space-5) 0; }
body .iz-home .pillar-figure div { display: grid; gap: 4px; }
body .iz-home .pillar-figure b { font-family: var(--font-display); font-weight: var(--weight-bold); font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.03em; line-height: 1; }
body .iz-home .pillar-figure span { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-muted); }

/* Related reading cards */
body .iz-home .related-grid { display: grid; gap: 0; border-top: 1px solid var(--color-ink); }
body .iz-home .related-row {
  display: grid; gap: var(--space-2) var(--space-6); align-items: baseline;
  grid-template-columns: 1fr; padding: var(--space-5) var(--space-2);
  border-bottom: 1px solid var(--color-line);
  transition: background var(--dur) var(--ease), padding var(--dur) var(--ease);
}
@media (min-width: 720px) { body .iz-home .related-row { grid-template-columns: auto 1fr auto; gap: var(--space-6); align-items: center; } }
body .iz-home .related-row:hover { background: var(--color-paper-pure); padding-inline: var(--space-4); }
body .iz-home .related-row__cat { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
body .iz-home .related-row__title { font-family: var(--font-display); font-weight: var(--weight-semibold); font-size: clamp(17px, 2.2vw, 23px); letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; }
body .iz-home .related-row__arrow { font-family: var(--font-mono); transition: transform var(--dur) var(--ease); }
body .iz-home .related-row:hover .related-row__arrow { transform: translateX(5px); color: var(--accent); }

/* Client logo wall */
body .iz-home .logo-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-ink); border-left: 1px solid var(--color-line); }
@media (min-width: 760px) { body .iz-home .logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body .iz-home .logo-cell { aspect-ratio: 3 / 2; padding: var(--space-5); border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); filter: grayscale(1); opacity: .75; transition: opacity var(--dur) var(--ease), filter var(--dur) var(--ease); }
body .iz-home .logo-cell:hover { filter: none; opacity: 1; }

/* IZ-LOGO-WALL-V1 */
body.home .elementor-element-iz2c0a1{background:#FAFAFA;}
body.home .elementor-element-iz2lg01{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 !important;--gap:0px;width:calc(min(1320px,100%) - 2*clamp(20px,5vw,64px)) !important;max-width:none !important;margin:0 auto clamp(56px,9vw,128px) !important;padding:0 !important;border-top:1px solid #0A0A0A;border-left:1px solid #E5E5E5;}
/* IZ-LOGO-WALL-15 */body.home .elementor-element-iz2lg01{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}@media(min-width:1024px){body.home .elementor-element-iz2lg01{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}}@media(max-width:559px){body.home .elementor-element-iz2lg01>.elementor-widget-image{padding:16px !important;}}
body.home .elementor-element-iz2lg01>.elementor-widget-image{position:relative;margin:0 !important;width:auto !important;max-width:none !important;aspect-ratio:3/2;padding:32px;border-right:1px solid #E5E5E5;border-bottom:1px solid #E5E5E5;display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.75;transition:opacity .18s cubic-bezier(.22,1,.36,1),filter .18s cubic-bezier(.22,1,.36,1);}
body.home .elementor-element-iz2lg01>.elementor-widget-image:hover{filter:none;opacity:1;}
body.home .elementor-element-iz2lg01>.elementor-widget-image>.elementor-widget-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
body.home .elementor-element-iz2lg01 .elementor-widget-image img{display:block;max-width:100% !important;max-height:100% !important;width:auto !important;height:auto !important;object-fit:contain;margin:auto;}
body.home:not(.elementor-editor-active) .elementor-element-iz2lg01 img[src*="placeholder"]{opacity:0;}
body.home:not(.elementor-editor-active) .elementor-element-iz2lg01>.elementor-widget-image:has(img[src*="placeholder"])::after{content:"Client logo";position:absolute;inset:16px;display:flex;align-items:center;justify-content:center;border:1px dashed #D4D4D8;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:#A1A1AA;}

/* IZ-LOGO-WALL-55 */body.home .elementor-element-iz2lg01>.elementor-widget-image{padding:24px !important;}@media(max-width:559px){body.home .elementor-element-iz2lg01>.elementor-widget-image{padding:12px !important;}}

/* IZ-WORK-V1 — Work page (text-led cards, handover ledger, logo wall, request form) */
.e-con:has(> .elementor-widget-html .iz-work),
.e-con:has(> .e-con-inner > .elementor-widget-html .iz-work){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;padding:0 !important;max-width:100% !important;width:100% !important;}
.e-con:has(.iz-work) > .e-con-inner{max-width:100% !important;padding:0 !important;}
.elementor-widget-html:has(.iz-work), .elementor-widget-html:has(.iz-work) > .elementor-widget-container{width:100%;margin:0;padding:0;}
body .iz-work{display:block;width:100%;overflow-x:clip;background:var(--color-paper);}
body .iz-work .chip{font:inherit;cursor:pointer;}
body .iz-work .chips{display:flex;flex-wrap:wrap;gap:8px;}

body .iz-work .wgrid{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
@media (min-width:700px){body .iz-work .wgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1024px){body .iz-work .wgrid{grid-template-columns:repeat(3,minmax(0,1fr));}}
body .iz-work .wcard{display:flex;flex-direction:column;background:var(--color-paper-pure);border:1px solid var(--color-line);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);}
body .iz-work .wcard[hidden]{display:none;}
body .iz-work .wcard:hover{border-color:var(--color-ink);}
body .iz-work .wcard__top{background:var(--color-ink);color:var(--color-paper);padding:var(--space-4);display:grid;gap:var(--space-2);min-height:200px;align-content:start;}
body .iz-work .wcard__row{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-5);}
body .iz-work .wcard__sector{color:var(--accent);}
body .iz-work .wcard__region{color:#A1A1AA;}
body .iz-work .wcard__headline{font-family:var(--font-display);font-weight:var(--weight-black);font-size:clamp(28px,3.2vw,38px);line-height:1;letter-spacing:var(--tracking-display);text-wrap:balance;}
body .iz-work .wcard__sub{font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.3;color:#D4D4D8;}
body .iz-work .wcard__body{padding:var(--space-4) var(--space-4) var(--space-5);display:grid;gap:var(--space-2);flex:1;align-content:start;}
body .iz-work .wcard__name{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:21px;letter-spacing:-.02em;}
body .iz-work .wcard__meta{font-family:var(--font-mono);font-size:12px;color:var(--color-muted);letter-spacing:.04em;}
body .iz-work .wcard__text{font-size:15px;line-height:1.55;color:var(--color-muted);}
body .iz-work .wcard__cta{margin-top:var(--space-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;gap:var(--space-2);}
body .iz-work .wcard__cta .arrow{transition:transform var(--dur) var(--ease);}
body .iz-work .wcard:hover .wcard__cta{color:var(--accent);}
body .iz-work .wcard:hover .wcard__cta .arrow{transform:translateX(4px);}
body .iz-work .wgrid__empty{margin-top:var(--space-4);}

body .iz-work .handover{position:relative;background:var(--color-ink);color:var(--color-paper);padding:var(--space-5) var(--space-4) var(--space-7);display:grid;align-content:start;gap:var(--space-4);}
body .iz-work .handover__title{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid #3F3F46;padding-bottom:var(--space-3);}
body .iz-work .handover__title span{color:#A1A1AA;}
body .iz-work .handover__list{list-style:none;padding:0;margin:0;display:grid;}
body .iz-work .handover__list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:14px 0;border-bottom:1px solid #27272A;font-size:16px;line-height:1.4;}
body .iz-work .handover__list li b{font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
body .iz-work .handover__list li:last-child{border-bottom:0;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:20px;}
body .iz-work .handover .split__media-tag{position:absolute;left:var(--space-4);bottom:var(--space-4);}
body .iz-work .stats{grid-template-columns:repeat(3,minmax(0,1fr));}

body .iz-work .logo-wall--work{grid-template-columns:repeat(3,minmax(0,1fr));background:var(--color-paper-pure);}
@media (min-width:1024px){body .iz-work .logo-wall--work{grid-template-columns:repeat(5,minmax(0,1fr));}}
body .iz-work .logo-wall--work .logo-cell{display:flex;align-items:center;justify-content:center;padding:24px;}
@media (max-width:559px){body .iz-work .logo-wall--work .logo-cell{padding:12px;}}
body .iz-work .logo-wall--work .logo-cell img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}

body .iz-work .req-box{background:var(--color-paper-pure);border:1px solid var(--color-line);border-top:2px solid var(--color-ink);padding:var(--space-5) var(--space-4);display:grid;gap:var(--space-4);align-content:start;}
@media (min-width:600px){body .iz-work .req-box{padding:var(--space-6) var(--space-5);}}
body .iz-work .req-box .btn{justify-self:start;}
body .iz-work .req-err{font-size:15px;color:#B42318;border-left:2px solid #B42318;padding-left:var(--space-3);}
body .iz-work .req-done{display:grid;gap:var(--space-3);}
body .iz-work .req-done[hidden], body .iz-work .req-err[hidden], body .iz-work form[hidden]{display:none;}
body .iz-work .iz-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
body .iz-work .info-list{margin-top:var(--space-3);}

/* IZ-WORK-V1b */@media (min-width:700px){body .iz-work .wcard__top{min-height:250px;}}
