/* ===== Innovize page design (DZ) — rebuilt 2026-09-22 to match the SD design system =====
   Covers pages 110 About / 111 Services / 112 Work / 113 Journal / 114 Contact.
   Original was lost in the hello-elementor 3.5.1 theme update on 19 Sep 2026. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Newsreader:ital,wght@1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ---- tokens (referenced by inline styles in the page markup) ---- */
:root{
  --color-ink:#0A0A0A;
  --color-paper:#FAFAFA;
  --color-paper-pure:#FFFFFF;
  --color-accent:#E8431F;
  --color-muted:#71717A;
  --color-faint:#A1A1AA;
  --color-line:#E5E5E5;
  --color-border:#D4D4D8;
}

/* ---- shell ---- */
.dz{width:100%;}
.dz, .dz *{font-family:'Archivo',system-ui,sans-serif;color:#0A0A0A;box-sizing:border-box;}
.dz ul, .dz ol{list-style:none;margin:0;padding:0;}
.dz a{text-decoration:none;}
.dz img{max-width:100%;height:auto;display:block;}
.dz .serif{font-family:'Newsreader',Georgia,serif !important;font-style:italic;font-weight:400;}
.dz .reveal{opacity:1 !important;transform:none !important;}

.dz .section{padding-top:clamp(56px,8vw,112px);padding-bottom:clamp(56px,8vw,112px);background:#FAFAFA;width:100%;overflow-x:clip;}
.dz .section--tight{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px);}
.dz .wrap{max-width:1320px;width:100%;margin-inline:auto;padding-inline:clamp(20px,5vw,64px);}
.dz .mt-6{margin-top:48px;}

/* ---- page head ---- */
.dz-head .page-head{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,5vw,72px);background:#FAFAFA;}
.dz .page-head__index{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:#A1A1AA;margin:0 0 32px;}
.dz .page-head__index b{color:#0A0A0A;font-weight:500;}
.dz .page-head__title{font-weight:800;font-size:clamp(44px,9vw,124px);line-height:0.9;letter-spacing:-0.03em;color:#0A0A0A;margin:0;}
.dz .page-head__title .serif{font-weight:400;}
.dz .page-head__sub{margin:32px 0 0;max-width:56ch;}

/* ---- shared text ---- */
.dz .eyebrow{font-family:'IBM Plex Mono',monospace !important;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:#71717A;display:inline-flex;align-items:center;gap:16px;margin:0 0 8px;}
.dz .eyebrow::before{content:"";width:28px;height:1px;background:#E8431F;}
.dz .eyebrow--plain::before{display:none;}
.dz .lead{font-size:clamp(18px,2.2vw,23px);line-height:1.5;font-weight:400;color:#0A0A0A;max-width:52ch;margin:0 0 16px;}
.dz .muted, .dz .muted *{color:#71717A;}
.dz .muted{font-size:16px;line-height:1.65;margin:0;}
.dz .text-max{max-width:62ch;}
.dz b, .dz strong{color:#0A0A0A;font-weight:600;}

.dz .sec-head{margin-bottom:clamp(32px,5vw,64px);}
.dz .sec-head__title{font-weight:800;font-size:clamp(30px,4.6vw,60px);line-height:1;letter-spacing:-0.03em;color:#0A0A0A;margin:0 0 16px;}
.dz .sec-head__title .serif{font-weight:400;}

.dz .pull{font-size:clamp(24px,3.4vw,40px);line-height:1.2;letter-spacing:-0.02em;font-weight:600;color:#0A0A0A;margin:0;max-width:20ch;}
.dz .pull .serif{font-weight:400;}

.dz .tlink{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace !important;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;color:#0A0A0A;border-bottom:1px solid #E8431F;padding-bottom:4px;margin-top:8px;transition:gap .18s ease;}
.dz .tlink:hover{gap:16px;}
.dz .arrow{display:inline-block;transition:transform .18s ease;}
.dz a:hover .arrow{transform:translateX(4px);}

/* ---- buttons ---- */
.dz .btn{display:inline-flex;align-items:center;gap:16px;padding:16px 26px;border:1px solid #0A0A0A;background:#0A0A0A;color:#FAFAFA !important;font-family:'IBM Plex Mono',monospace !important;font-size:13px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;transition:all .18s ease;}
.dz .btn:hover{background:transparent;color:#0A0A0A !important;}
.dz .btn--accent{background:#E8431F;border-color:#E8431F;color:#0A0A0A !important;}
.dz .btn--accent:hover{background:transparent;border-color:#0A0A0A;color:#0A0A0A !important;}
.dz .btn--inverse{background:#FAFAFA;border-color:#FAFAFA;color:#0A0A0A !important;}
.dz .btn--inverse:hover{background:transparent;color:#FAFAFA !important;border-color:#FAFAFA;}

/* ---- split / stack ---- */
.dz .split{display:grid;grid-template-columns:1fr;gap:40px;}
@media(min-width:880px){
  .dz .split{grid-template-columns:0.85fr 1.15fr;gap:80px;align-items:start;}
  .dz .split--media-right .split__media{order:2;}
  .dz .split--media-right .stack{order:1;}
}
.dz .stack{display:grid;gap:20px;align-content:start;}
.dz .split__media{position:relative;background:#F0EFEC;border:1px solid #E5E5E5;min-height:260px;display:flex;align-items:flex-end;padding:24px;}
.dz .split__media-tag{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:#71717A;}
.dz .grid-3{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:880px){.dz .grid-3{grid-template-columns:repeat(3,1fr);gap:48px;}}

/* ---- value list ---- */
.dz .value-list{border-top:1px solid #0A0A0A;}
.dz .value-list li{display:grid;grid-template-columns:1fr;border-bottom:1px solid #E5E5E5;padding:32px 0;gap:16px;}
@media(min-width:720px){.dz .value-list li{grid-template-columns:0.5fr 1.5fr;gap:48px;align-items:baseline;}}
.dz .value-list__k{font-family:'Newsreader',Georgia,serif !important;font-style:italic;font-size:22px;color:#0A0A0A;}
.dz .value-list__v{color:#71717A;max-width:62ch;font-size:16px;line-height:1.65;}

/* ---- chips ---- */
.dz .chips{display:flex;flex-wrap:wrap;gap:12px;}
.dz .chip{font-family:'IBM Plex Mono',monospace !important;font-size:12.5px;letter-spacing:0.04em;text-transform:uppercase;padding:11px 16px;border:1px solid #D4D4D8;color:#0A0A0A;transition:all .18s ease;}
.dz .chip:hover{background:#0A0A0A;color:#FAFAFA;border-color:#0A0A0A;}

/* ---- stats ---- */
.dz .stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #0A0A0A;margin-top:48px;}
@media(min-width:720px){.dz .stats{grid-template-columns:repeat(4,1fr);}}
.dz .stat{padding:32px 24px 32px 0;border-bottom:1px solid #E5E5E5;}
.dz .stat__num{font-weight:700;font-size:clamp(34px,5vw,54px);letter-spacing:-0.03em;line-height:1;}
.dz .stat__num small{font-size:0.5em;color:#E8431F;vertical-align:super;}
.dz .stat__label{margin-top:16px;font-family:'IBM Plex Mono',monospace !important;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:#71717A;}

/* ---- process ---- */
.dz .process{display:grid;grid-template-columns:1fr;border-top:1px solid #0A0A0A;border-left:1px solid #E5E5E5;}
@media(min-width:880px){.dz .process{grid-template-columns:repeat(4,1fr);}}
.dz .process__step{position:relative;overflow:hidden;padding:48px 32px 64px;border-right:1px solid #E5E5E5;border-bottom:1px solid #E5E5E5;min-height:280px;display:flex;flex-direction:column;transition:background .18s ease;}
.dz .process__step:hover{background:#FFFFFF;}
.dz .process__ghost{position:absolute;right:-8px;bottom:-38px;font-weight:800;font-size:190px;line-height:1;color:#F0EFEC;z-index:0;pointer-events:none;letter-spacing:-0.04em;}
.dz .process__label{position:relative;z-index:1;font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:#E8431F;margin-bottom:24px;}
.dz .process__name{position:relative;z-index:1;font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-0.02em;margin:0 0 16px;}
.dz .process__text{position:relative;z-index:1;color:#71717A;font-size:15px;line-height:1.6;margin:0;}

/* ---- ledger (services index) ---- */
.dz .ledger{border-top:1px solid #0A0A0A;}
.dz .ledger__row{display:grid;grid-template-columns:1fr;gap:12px;padding:36px 8px;border-bottom:1px solid #E5E5E5;align-items:start;transition:background .18s ease,padding .18s ease;}
@media(min-width:880px){.dz .ledger__row{grid-template-columns:auto 1fr auto;gap:48px;align-items:center;}}
.dz .ledger__row:hover{background:#FFFFFF;padding-inline:24px;}
.dz .ledger__num{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.06em;color:#A1A1AA;white-space:nowrap;}
.dz .ledger__body{display:grid;gap:8px;}
.dz .ledger__name{font-weight:700;font-size:clamp(21px,2.6vw,30px);letter-spacing:-0.02em;line-height:1.1;color:#0A0A0A;margin:0;}
.dz .ledger__desc{color:#71717A;font-size:16px;line-height:1.6;max-width:68ch;margin:0;}
.dz .ledger__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.dz .ledger__tags span{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:#71717A;border:1px solid #E5E5E5;padding:6px 10px;}
.dz .ledger__link{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:#0A0A0A;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.dz .ledger__arrow{font-family:'IBM Plex Mono',monospace !important;transition:transform .18s ease;}
.dz .ledger__row:hover .ledger__arrow{transform:translateX(5px);color:#E8431F;}

/* ---- work ---- */
.dz .work{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #0A0A0A;}
.dz .work__media{background:#F0EFEC;border:1px solid #E5E5E5;min-height:220px;display:flex;align-items:flex-end;padding:20px;}
.dz .work__tag{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:#E8431F;}
.dz .work__body{display:grid;gap:10px;padding:32px 0;border-bottom:1px solid #E5E5E5;}
.dz .work__name{font-weight:700;font-size:clamp(21px,2.6vw,30px);letter-spacing:-0.02em;line-height:1.1;margin:0;}
.dz .work__meta{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:#A1A1AA;}
.dz .work__result{color:#71717A;font-size:16px;line-height:1.6;max-width:66ch;margin:0;}
.dz .work__result b{color:#0A0A0A;}

/* ---- journal ---- */
.dz .post-feature{display:grid;grid-template-columns:1fr;gap:32px;border-top:1px solid #0A0A0A;padding:40px 0;border-bottom:1px solid #E5E5E5;}
@media(min-width:880px){.dz .post-feature{grid-template-columns:1fr 1.2fr;gap:64px;align-items:center;}}
.dz .post-feature__media{background:#F0EFEC;border:1px solid #E5E5E5;min-height:260px;}
.dz .post-feature__body{display:grid;gap:14px;align-content:center;}
.dz .post-feature__title{font-weight:800;font-size:clamp(26px,3.6vw,44px);letter-spacing:-0.03em;line-height:1.05;margin:0;}
.dz .post-list{border-top:1px solid #0A0A0A;margin-top:56px;}
.dz .post-row{display:grid;grid-template-columns:1fr;gap:10px 48px;align-items:baseline;padding:32px 8px;border-bottom:1px solid #E5E5E5;transition:background .18s ease,padding .18s ease;}
@media(min-width:880px){.dz .post-row{grid-template-columns:auto 1fr auto auto;gap:48px;align-items:center;}}
.dz .post-row:hover{background:#FFFFFF;padding-inline:24px;}
.dz .post-row__cat{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:#E8431F;white-space:nowrap;}
.dz .post-row__title{font-weight:600;font-size:clamp(17px,2.2vw,23px);letter-spacing:-0.02em;line-height:1.15;color:#0A0A0A;margin:0;}
.dz .post-row__desc{color:#71717A;font-size:15px;line-height:1.6;max-width:68ch;margin:0;}
.dz .post-row__date{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.04em;color:#A1A1AA;white-space:nowrap;}
.dz .post-row__arrow{font-family:'IBM Plex Mono',monospace !important;transition:transform .18s ease;}
.dz .post-row:hover .post-row__arrow{transform:translateX(5px);color:#E8431F;}

/* ---- contact ---- */
.dz .contact-grid{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:880px){.dz .contact-grid{grid-template-columns:1fr 1.15fr;gap:96px;align-items:start;}}
.dz .info-list{border-top:1px solid #0A0A0A;}
.dz .info-row{display:grid;grid-template-columns:1fr;gap:6px;padding:24px 0;border-bottom:1px solid #E5E5E5;}
@media(min-width:720px){.dz .info-row{grid-template-columns:0.6fr 1.4fr;gap:32px;align-items:baseline;}}
.dz .info-row span:first-child{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#A1A1AA;}
.dz .info-row a{color:#0A0A0A;border-bottom:1px solid #E8431F;}
.dz .form{display:grid;gap:20px;}
.dz .field{display:grid;gap:8px;}
.dz .field label{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#71717A;}
.dz .field input, .dz .field textarea, .dz .field select{width:100%;font-family:'Archivo',sans-serif;font-size:16px;color:#0A0A0A;background:#FFFFFF;border:1px solid #D4D4D8;padding:14px 16px;transition:border-color .18s ease;}
.dz .field input:focus, .dz .field textarea:focus, .dz .field select:focus{outline:none;border-color:#0A0A0A;}
.dz .field textarea{min-height:140px;resize:vertical;}
.dz .field--row{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:720px){.dz .field--row{grid-template-columns:1fr 1fr;}}
.dz .req{color:#E8431F;}
.dz .form__note{font-family:'IBM Plex Mono',monospace !important;font-size:11px;letter-spacing:0.04em;color:#A1A1AA;margin:0;}
.dz .socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;}
.dz .socials a{font-family:'IBM Plex Mono',monospace !important;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;border:1px solid #D4D4D8;padding:10px 14px;color:#0A0A0A;transition:all .18s ease;}
.dz .socials a:hover{background:#0A0A0A;color:#FAFAFA;border-color:#0A0A0A;}

/* ---- cta band ---- */
.dz-cta .cta-band{background:#0A0A0A;padding-top:clamp(64px,10vw,140px);padding-bottom:clamp(64px,10vw,140px);width:100%;}
.dz-cta .cta-band *{color:#FAFAFA;}
.dz-cta .cta-band__inner{max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px);}
.dz-cta .cta-band .eyebrow{color:#A1A1AA;}
.dz-cta .cta-band__title{font-weight:800;font-size:clamp(38px,7vw,100px);line-height:0.95;letter-spacing:-0.03em;color:#FAFAFA;margin:24px 0;}
.dz-cta .cta-band__title .serif{font-weight:400;color:#FAFAFA;}
.dz-cta .cta-band__row{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;}
.dz-cta .cta-band__row p{color:#A1A1AA;font-size:16px;max-width:40ch;margin:0;}

/* ---- full-bleed safety: keep page containers and footer edge-to-edge ---- */
.elementor-110 > .e-con, .elementor-111 > .e-con, .elementor-112 > .e-con, .elementor-113 > .e-con, .elementor-114 > .e-con{max-width:100% !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}
.elementor-110 .dz .e-con-inner, .elementor-111 .dz .e-con-inner, .elementor-112 .dz .e-con-inner, .elementor-113 .dz .e-con-inner, .elementor-114 .dz .e-con-inner{max-width:100% !important;}
