/* ==========================================================================
   Dezhyne Labs — Brand layer (Visual Direction Proposal, Oct 2026)
   Typeface: Outfit · Primary #155EEF · Heading #12304A · Text #0F172A
   Loaded last so it wins over main.css, pages.css, elementor.css and Elementor.
   ========================================================================== */

:root{
  /* Master tokens from the proposal (developer handoff names) */
  --color-primary:#155EEF;
  --color-primary-hover:#2970FF;
  --color-primary-light:#EAF3FF;
  --color-surface-soft:#F4F8FF;
  --color-accent-cyan:#22C7E8;
  --color-heading:#12304A;
  --color-text-primary:#0F172A;
  --color-text-muted:#64748B;
  --color-white:#FFFFFF;
  --color-border:#DCE7F3;
  --color-success:#16A34A;
  --color-warning:#F59E0B;
  --color-error:#DC2626;
  --color-info:#0EA5E9;
  --gradient-brand:linear-gradient(135deg,#155EEF 0%,#22C7E8 100%);
  --gradient-soft:linear-gradient(135deg,#F4F8FF 0%,#EAF3FF 100%);
  --gradient-blue:linear-gradient(135deg,#155EEF 0%,#2970FF 100%);
  --dz-code:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

/* ---------------------------------------------------------------- base -- */
body,button,input,select,textarea,
.elementor-widget-text-editor,.elementor-widget-heading .elementor-heading-title,
.elementor-button,.elementor-tab-title,.elementor-icon-box-title,.elementor-icon-box-description{
  font-family:var(--dz-font);
}
body{color:var(--color-text-primary);font-weight:400;font-size:16px}
code,pre,kbd,samp{font-family:var(--dz-code)}

a{color:var(--color-primary)}
a:hover{color:var(--color-primary-hover)}

/* --------------------------------------------------------- typography -- */
/* Hero headline: 700 · 64–80px desktop / 40–52px mobile */
h1{
  font-weight:700;font-size:clamp(2.5rem,5.2vw,4.25rem);line-height:1.08;letter-spacing:-.025em;
  color:var(--color-heading);
}
/* Section heading: 600 · 40–52px / 32–40px */
h2{
  font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.14;letter-spacing:-.02em;
  color:var(--color-heading);
}
/* Card heading: 600 · 24–30px / 20–24px */
h3{
  font-weight:600;font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.25;letter-spacing:-.015em;
  color:var(--color-heading);
}
h4,h5,h6{font-weight:600;color:var(--color-heading);letter-spacing:-.01em}
/* Elementor heading widgets: weight only (colour/size stay with the components) */
.elementor-widget-heading h1.elementor-heading-title{font-weight:700;letter-spacing:-.025em;line-height:1.08}
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title{font-weight:600}
.elementor-widget-heading.dz-pill .elementor-heading-title,
.elementor-widget-heading.dz-eyebrow .elementor-heading-title,
.elementor-widget-heading.dz-badge .elementor-heading-title{font-weight:500}
.dz-on-dark h1,.dz-on-dark h2,.dz-on-dark h3,.dz-on-dark h4,
.dz-on-dark .elementor-heading-title,.dz-on-dark .elementor-widget-heading .elementor-heading-title{color:#fff}

/* Large body: 18px · Body: 16px */
.dz-lead,.dz-lead p{font-size:1.125rem;line-height:1.7;color:var(--color-text-muted)}
.dz-lead--sm,.dz-lead--sm p{font-size:1rem}
.elementor-widget-text-editor{color:var(--color-text-muted);font-size:1rem}
.dz-single__content{color:var(--color-text-primary);font-size:1.0625rem}
.dz-single__content h2{font-size:clamp(1.6rem,2.6vw,2rem)}
.dz-single__content h3{font-size:clamp(1.25rem,2vw,1.5rem)}

/* Card titles: 600 */
.dz-card__title,.dz-svcrow__title,.dz-tile h4,.dz-fcard h3,.dz-fcard .elementor-heading-title,
.dz-fcard .elementor-icon-box-title,.dz-tilebox .elementor-icon-box-title,.dz-mv h4,.dz-proj h3,
.dz-flow__card h4,.dz-minifeat strong,.dz-info strong,.dz-proj__impact strong,.dz-float-card strong,
.dz-form__head strong,.dz-postnav strong,.dz-svc__title .elementor-heading-title,
.dz-principle__body strong,.dz-testi__who strong,.dz-post-mock__name,.dz-stack-img__badge strong{
  font-weight:600;
}
.dz-card__title{font-size:1.375rem}
.dz-svcrow__title{font-size:1.5rem}
.dz-proj h3{font-size:clamp(1.5rem,2.4vw,1.875rem)}

/* Metrics: Outfit 700 */
.dz-stat__n,.dz-kpi b,.dz-viz__v,.dz-viz__stat b,.dz-imgcard__stat strong,.dz-stack-img__stats strong,.dz-flow__n{
  font-weight:700;letter-spacing:-.02em;
}

/* Labels & eyebrows: 500 · 11–13px */
.dz-pill,.dz-pill .elementor-heading-title,.dz-eyebrow,.dz-eyebrow .elementor-heading-title,
.dz-stat__l,.dz-kpi span,.dz-field label,.dz-tech__label,.dz-proj__label,.dz-proj__cat,.dz-flow__ph,
.dz-info__label,.dz-info__tag,.dz-viz__k,.dz-scrollcue,.dz-footer__col h4,.dz-postnav span,
.dz-imgcard__stat span,.dz-stack-img__badge em,.dz-stack-img__stats span,.dz-testi__who small,
.dz-principle__body span,.dz-status strong,.dz-arsenal__item span,.dz-badge,.dz-badge .elementor-heading-title{
  font-weight:500;
}
.dz-pill,.dz-pill .elementor-heading-title{font-size:.75rem}
.dz-eyebrow,.dz-eyebrow .elementor-heading-title{font-size:.75rem;color:var(--color-primary)}
.dz-on-dark .dz-eyebrow,.dz-eyebrow--dark{color:var(--dz-on-dark-faint)}
.dz-card__date,.dz-single__meta,.dz-proj__num{font-family:var(--dz-font);font-weight:500;letter-spacing:.02em}

/* Logo wordmark */
.dz-logo__text{font-weight:700;letter-spacing:-.02em}

/* --------------------------------------------------------- navigation -- */
/* Navigation: 500 · 14–16px */
.dz-nav>ul>li>a{font-weight:500;font-size:.9375rem;color:var(--color-text-muted)}
.dz-nav>ul>li>a:hover,.dz-nav>ul>li.current-menu-item>a,
.dz-nav>ul>li.current-menu-ancestor>a,.dz-nav>ul>li.current-page-ancestor>a{color:var(--color-primary)}
.dz-nav .sub-menu{border-color:var(--color-border)}
.dz-nav .sub-menu li a{font-weight:500;color:var(--color-text-primary)}
.dz-nav .sub-menu li a:hover{background:var(--color-primary-light);color:var(--color-primary)}
.dz-header{border-bottom-color:var(--color-border)}

/* ------------------------------------------------------------ buttons -- */
/* Button: 600 · 14–16px. Primary #155EEF + white, hover #2970FF */
.dz-btn,.elementor-widget-button .elementor-button,.dz-form button[type=submit],
.dz-comments .submit,.dz-searchform button,.dz-header .dz-btn--nav{
  font-family:var(--dz-font);font-weight:600;font-size:.9375rem;letter-spacing:0;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.dz-btn--primary,.elementor-widget-button .elementor-button,.dz-form button[type=submit],
.dz-comments .submit,.dz-header .dz-btn--nav{
  background-color:var(--color-primary);color:#fff;
  box-shadow:0 8px 20px rgba(21,94,239,.22);
}
.dz-btn--primary:hover,.elementor-widget-button .elementor-button:hover,.dz-form button[type=submit]:hover,
.dz-comments .submit:hover,.dz-header .dz-btn--nav:hover{
  background-color:var(--color-primary-hover);color:#fff;
}
/* Dark CTA: #12304A + white */
.dz-btn--dark,.dz-btn-dark .elementor-button,.dz-searchform button{background-color:var(--color-heading);color:#fff;box-shadow:0 8px 22px rgba(18,48,74,.24)}
.dz-btn--dark:hover,.dz-btn-dark .elementor-button:hover,.dz-searchform button:hover{background-color:#0B2238;color:#fff}
/* Secondary CTA: white + #155EEF border/text */
.dz-btn--ghost,.dz-btn-outline .elementor-button{
  background-color:#fff;color:var(--color-primary);border:1px solid var(--color-primary);box-shadow:none;
}
.dz-btn--ghost:hover,.dz-btn-outline .elementor-button:hover{
  background-color:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary);
}
/* White CTA on dark sections */
.dz-btn--white,.dz-btn-white .elementor-button{background-color:#fff;color:var(--color-heading)}
.dz-btn--white:hover,.dz-btn-white .elementor-button:hover{background-color:var(--color-primary-light);color:var(--color-primary)}
/* Retired violet/purple variants now follow the primary */
.dz-btn-violet .elementor-button,.dz-btn-purple .elementor-button{background-color:var(--color-primary);box-shadow:0 8px 20px rgba(21,94,239,.22)}
.dz-btn-violet .elementor-button:hover,.dz-btn-purple .elementor-button:hover{background-color:var(--color-primary-hover)}
/* Ghost button on dark sections */
.dz-btn-ghost-light .elementor-button{background-color:rgba(255,255,255,.08);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.22)}
.dz-btn-ghost-light .elementor-button:hover{background-color:rgba(255,255,255,.16);color:#fff}
.dz-btn-sm .elementor-button{font-size:.8125rem;letter-spacing:.06em}
/* Arrow-link buttons */
.dz-more .elementor-button,.dz-more a,.dz-card__more{color:var(--color-primary)!important;font-weight:600;background:transparent!important;box-shadow:none!important}
.dz-more .elementor-button:hover,.dz-card__more:hover{color:var(--color-primary-hover)!important}

/* -------------------------------------------------------------- cards -- */
/* Cards: white + #DCE7F3 border + 16–20px radius, small hover elevation */
.dz-card,.dz-svc,.dz-proj,.e-con.dz-proj,.dz-tile,.dz-tilebox,.dz-flow__card,.dz-info,.dz-status,
.dz-form,.dz-viz,.dz-post-mock,.dz-minifeat,.dz-mv,.dz-proj__impact,.dz-faq .elementor-accordion-item,.dz-postnav a{
  border-color:var(--color-border);
}
.dz-card,.dz-svc,.dz-proj,.e-con.dz-proj,.dz-form,.dz-photo-frame,.dz-principle,.dz-principle.e-con{border-radius:20px}
.dz-tile,.dz-tilebox,.dz-flow__card,.dz-viz,.dz-post-mock,.dz-mv,.dz-fcard,.dz-testi,.dz-info,.dz-status{border-radius:16px}
.dz-card:hover,.dz-tile:hover,.dz-tilebox:hover,.dz-flow__card:hover,.dz-info:hover{transform:translateY(-3px)}
.dz-card:hover{border-color:var(--color-border)}

/* Soft CTA / icon chips: #EAF3FF + #155EEF */
.dz-pill,.dz-pill .elementor-heading-title,
.dz-pill--violet,.dz-pill--violet .elementor-heading-title,
.dz-pill--purple,.dz-pill--purple .elementor-heading-title,
.dz-pill--green,.dz-pill--green .elementor-heading-title{
  background:var(--color-primary-light);color:var(--color-primary);border-color:rgba(21,94,239,.16);
}
.dz-pill--dark,.dz-pill--dark .elementor-heading-title{background:rgba(255,255,255,.07);color:#B9D3FF;border-color:rgba(255,255,255,.14)}
.dz-on-dark .dz-pill--purple,.dz-on-dark .dz-pill--violet,.dz-on-dark .dz-pill--green,
.dz-on-dark .dz-pill--purple .elementor-heading-title,.dz-on-dark .dz-pill--violet .elementor-heading-title,
.dz-on-dark .dz-pill--green .elementor-heading-title{background:rgba(34,199,232,.12);color:#22C7E8;border-color:rgba(34,199,232,.28)}

.dz-tile__ico,.dz-tilebox .elementor-icon-box-icon,.dz-info__ico,.dz-svcrow__ico,.dz-minifeat span,
.dz-svc__ico,.dz-cta__ico,.dz-cta__ico--violet,.dz-cta__ico--purple,.dz-cta__ico--green,
.dz-faq .elementor-accordion-icon,.dz-faq--violet .elementor-accordion-icon,
.dz-faq--purple .elementor-accordion-icon,.dz-faq--green .elementor-accordion-icon{
  background:var(--color-primary-light);color:var(--color-primary);
}
.dz-tilebox .elementor-icon-box-icon .elementor-icon{color:var(--color-primary)}
.dz-faq .elementor-tab-title.elementor-active,
.dz-faq .elementor-tab-title.elementor-active a,
.dz-faq .elementor-tab-title.elementor-active .elementor-accordion-title,
.dz-faq--violet .elementor-tab-title.elementor-active a,
.dz-faq--purple .elementor-tab-title.elementor-active a,
.dz-faq--green .elementor-tab-title.elementor-active a{color:var(--color-primary)}
.dz-faq .elementor-tab-title,.dz-faq .elementor-tab-title a,.dz-faq .elementor-accordion-title{font-weight:600;color:var(--color-heading)}
.dz-faq .elementor-accordion-item:hover{border-color:rgba(21,94,239,.35)!important}

/* Accent tiles */
.dz-tile--accent,.dz-tile--violet,.dz-tile--purple,.dz-tile--green{background:var(--color-primary);border-color:transparent}
.dz-tile--dark,.dz-mv--dark,.dz-float-card,.dz-imgcard__stat,.dz-badge,.dz-badge .elementor-heading-title{background:var(--color-heading)}

/* Flow / timeline */
.dz-flow__dot,.dz-flow--violet .dz-flow__dot,.dz-flow--purple .dz-flow__dot,.dz-flow--green .dz-flow__dot{
  background:var(--color-primary);box-shadow:0 0 0 2px rgba(21,94,239,.25);
}
.dz-flow__ph,.dz-flow--violet .dz-flow__ph,.dz-flow--purple .dz-flow__ph,.dz-flow--green .dz-flow__ph{color:var(--color-primary)}
.dz-flow__n{color:var(--color-primary-light)}

/* Digital cyan: small accents on dark surfaces only */
.dz-arsenal__item svg,.dz-arsenal--violet .dz-arsenal__item svg,.dz-arsenal--purple .dz-arsenal__item svg,
.dz-arsenal--green .dz-arsenal__item svg,.dz-kpi svg,.dz-stat__ico,.dz-fcard__ico,
.dz-fcard .elementor-icon-box-icon .elementor-icon,.dz-float-card__ico,.dz-note svg{color:var(--color-accent-cyan)}
.dz-arsenal__item:hover,.dz-arsenal--violet .dz-arsenal__item:hover,.dz-arsenal--purple .dz-arsenal__item:hover,
.dz-arsenal--green .dz-arsenal__item:hover,.dz-fcard:hover{border-color:rgba(34,199,232,.4)}
.dz-bars i,.dz-bars--blue i,.dz-bars--green i{background:var(--color-primary)}
.dz-bars i:nth-child(8){background:var(--color-accent-cyan)}

/* Accent words inside headings */
.dz-a,.elementor-heading-title .dz-a,
.dz-a-violet,.elementor-heading-title .dz-a-violet,
.dz-a-purple,.elementor-heading-title .dz-a-purple,
.dz-a-pink,.elementor-heading-title .dz-a-pink,
.dz-a-green,.elementor-heading-title .dz-a-green{color:var(--color-primary)}
.dz-gradient-text,.elementor-heading-title .dz-gradient-text{
  background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;
}
/* On navy, the accent switches to a lighter blue → cyan so it stays readable */
.dz-on-dark .dz-a,.dz-hero--dark .dz-a,.dz-hero--photo .dz-a,.dz-bg-navy .dz-a,.dz-bg-navy-deep .dz-a,
.dz-on-dark .dz-a-violet,.dz-on-dark .dz-a-purple,.dz-on-dark .dz-a-pink,.dz-on-dark .dz-a-green,
.dz-on-dark .dz-gradient-text,.dz-hero--dark .dz-gradient-text{
  background:linear-gradient(135deg,#5B95FF 0%,#22C7E8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.elementor-heading-title .dz-mute{color:#94A3B8}

/* ------------------------------------------------------ sections / bg -- */
.dz-bg-soft{background:var(--color-surface-soft)}
.dz-bg-blue{background:var(--color-primary-light)}
.dz-bg-navy{background:var(--color-heading)}
.dz-hero--soft{background:radial-gradient(760px 420px at 12% -5%,rgba(21,94,239,.08),transparent 60%),var(--gradient-soft)}
.dz-hero--violet,.dz-hero--pinkblue{
  background:radial-gradient(640px 400px at 88% -8%,rgba(34,199,232,.10),transparent 62%),
             radial-gradient(640px 400px at 8% 8%,rgba(21,94,239,.08),transparent 60%),var(--gradient-soft);
}
.dz-post-mock__img{background:var(--gradient-brand)}
.dz-footer{background:var(--color-heading)}
.dz-footer__col li a::before{background:var(--color-accent-cyan)}
.dz-social a:hover,.dz-info__social a:hover{background:var(--color-primary)}
.dz-pagination .page-numbers.current{background:var(--color-primary);border-color:var(--color-primary)}
.dz-pagination .page-numbers:hover,.dz-postnav a:hover{border-color:var(--color-primary);color:var(--color-primary)}

/* -------------------------------------------------------------- forms -- */
.dz-field input,.dz-field select,.dz-field textarea,
.dz-comments input[type=text],.dz-comments input[type=email],.dz-comments input[type=url],.dz-comments textarea,
.dz-searchform input[type=search]{border-color:var(--color-border);color:var(--color-text-primary)}
.dz-field input::placeholder,.dz-field textarea::placeholder{color:#94A3B8}
.dz-field input:focus,.dz-field select:focus,.dz-field textarea:focus,
.dz-comments input:focus,.dz-comments textarea:focus,.dz-searchform input[type=search]:focus{
  border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(21,94,239,.15);
}
.dz-form__head i{background:var(--color-primary)}
.dz-form__msg--ok{background:#DCFCE7;color:#15803D;border-color:rgba(22,163,74,.3)}
.dz-form__msg--err{background:#FEE2E2;color:#B91C1C;border-color:rgba(220,38,38,.3)}
.dz-status i{background:var(--color-success)}
.dz-viz__chip{background:#DCFCE7;color:#15803D}

/* ----------------------------------------------------- accessibility -- */
/* Visible blue focus treatment */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.elementor-button:focus-visible,.elementor-tab-title:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--color-primary);outline-offset:3px;border-radius:6px;
}
.dz-on-dark a:focus-visible,.dz-footer a:focus-visible{outline-color:var(--color-accent-cyan)}
::selection{background:rgba(21,94,239,.18);color:var(--color-text-primary)}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .dz-card:hover,.dz-svc:hover,.dz-proj:hover,.dz-tile:hover,.dz-btn:hover,.elementor-button:hover{transform:none!important}
}

/* ---------------------------------------------------------- mobile -- */
@media (max-width:781px){
  h1{font-size:clamp(2.5rem,10vw,3.25rem)}
  h2{font-size:clamp(2rem,8vw,2.5rem)}
  h3{font-size:clamp(1.25rem,5.5vw,1.5rem)}
  .elementor-widget-button .elementor-button,.dz-btn{min-height:48px}
}

/* ------------------------------------------------- header CTA fix -- */
/* The menu's own Contact button belongs to the mobile menu only. Hidden by default so
   fractional laptop widths (e.g. 1024.5px at 125% scaling) never show two buttons. */
.dz-nav__cta{display:none}
@media (max-width:1024px){.dz-nav__cta{display:block;margin-top:14px}}

/* ------------------------------------------------- mobile submenu -- */
/* Tap "What We Do" on tablet/phone to open its services (toggled by main.js). */
.dz-nav .dz-sub-overview{display:none}
@media (max-width:1024px){
  .dz-nav .dz-sub-overview{display:list-item}
  .dz-nav .sub-menu li.dz-sub-overview a{color:var(--color-primary);font-weight:600}
  .dz-nav>ul>li.menu-item-has-children>a{cursor:pointer}
  .dz-nav>ul>li.menu-item-has-children:hover>a::after{transform:none}
  .dz-nav>ul>li.menu-item-has-children.is-open>a{color:var(--color-primary)}
  .dz-nav>ul>li.menu-item-has-children.is-open>a::after{transform:rotate(180deg)}
  .dz-nav li.is-open>.sub-menu{display:block;border-left-color:var(--color-border)}
  .dz-nav .sub-menu,.dz-nav li:hover>.sub-menu,.dz-nav li:focus-within>.sub-menu{transform:none;left:auto}
  .dz-nav .sub-menu li a{padding:.7rem .85rem;font-size:.95rem}
}

/* ------------------------------------------ project live screenshot -- */
.dz-mock--live{display:block;color:inherit;text-decoration:none}
.dz-mock--live .dz-mock__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 26px;background:#fff;border-bottom:1px solid var(--color-border)}
.dz-mock--live .dz-mock__nav--left{margin-left:0;justify-content:flex-start}
.dz-mock--live .dz-mock__brand{color:#111;letter-spacing:.18em}
.dz-mock--live .dz-mock__url{justify-self:end;font-size:.66rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:999px;padding:.35em .9em}
.dz-mock--live .dz-mock__shot{display:block;overflow:hidden;background:#dfe9f0}
.dz-mock--live .dz-mock__shot img{width:100%;height:auto;display:block;transition:transform .5s ease}
.dz-mock--live:hover .dz-mock__shot img{transform:scale(1.02)}
@media (max-width:640px){.dz-mock--live .dz-mock__bar{grid-template-columns:auto 1fr;padding:12px 16px}.dz-mock--live .dz-mock__nav--left{display:none}.dz-mock--live .dz-mock__url{justify-self:end}}

/* Project screenshots open the live site, same as the Launch Live Site button */
.dz-shot-link{display:block;color:inherit;text-decoration:none;overflow:hidden}
.dz-shot-link:hover{color:inherit}
.dz-shot-link .dz-mock__stage>img,.dz-shot-link .dz-mock__shot img{transition:transform .5s ease}
.dz-shot-link:hover .dz-mock__stage>img,.dz-shot-link:hover .dz-mock__shot img{transform:scale(1.02)}

/* ------------------------------------------------- responsive footer -- */
/* The column grid and the bottom bar share one container edge on every screen. */
.dz-footer .dz-container{padding-inline:var(--dz-gutter)}
.dz-footer__inner{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));column-gap:40px;row-gap:40px;padding-top:72px;padding-bottom:56px}
.dz-footer__brand,.dz-footer__col{min-width:0}
.dz-footer__tagline{max-width:320px}
.dz-footer__col ul{gap:.85rem}
.dz-footer__col li a{align-items:baseline;line-height:1.45}
.dz-footer__col li a::before{transform:translateY(-2px)}
.dz-footer__contact{gap:.9rem;line-height:1.55}
.dz-footer__contact a,.dz-footer__contact address{overflow-wrap:anywhere}
.dz-footer__bar{border-top:1px solid var(--dz-on-dark-line);padding:22px 0 26px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px}

/* Laptop / small desktop */
@media (max-width:1180px){
  .dz-footer__inner{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}
  .dz-footer__brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
  .dz-footer__brand .dz-logo{margin-bottom:0}
  .dz-footer__tagline{margin:0;max-width:440px;flex:1 1 300px}
}
/* Tablet */
@media (max-width:820px){
  .dz-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:34px;padding-top:56px;padding-bottom:40px}
  .dz-footer__brand{display:block}
  .dz-footer__brand .dz-logo{margin-bottom:1rem}
  .dz-footer__tagline{margin-bottom:1.4rem}
}
/* Phone */
@media (max-width:560px){
  .dz-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:30px;padding-top:48px;padding-bottom:32px}
  .dz-footer__col:last-child{grid-column:1/-1}
  .dz-footer__bar{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:20px 0 24px}
}
/* Very small phones */
@media (max-width:360px){
  .dz-footer__inner{grid-template-columns:1fr}
}
/* full-width footer line: the divider spans the whole footer, text stays on the content edge */
.dz-footer{overflow:hidden}
.dz-footer__bar{position:relative;border-top:0}
.dz-footer__bar::before{content:"";position:absolute;top:0;left:50%;width:100vw;transform:translateX(-50%);border-top:1px solid var(--dz-on-dark-line);pointer-events:none}
