:root{
    --ink:#05070E;
    --ink-2:#0A1122;
    --ink-3:#0E1730;
    --blue:#003F7D;
    --blue-2:#054F97;
    --blue-deep:#002B57;
    --cyan:#18A8D8;
    --cyan-2:#6FBFE4;
    --cyan-pale:#9ED3D7;
    --paper:#F4F7FB;
    --paper-2:#EAF0F7;
    --line:#DDE5EE;
    --line-2:#E7EDF4;
    --text:#16202E;
    --text-2:#41505F;
    --text-mut:#6B7787;
    --white:#FFFFFF;
    --grad: linear-gradient(120deg, var(--blue) 0%, var(--cyan) 100%);
    --grad-soft: linear-gradient(135deg, #063B72 0%, #0E6FB0 55%, #18A8D8 100%);
    --shadow-sm: 0 2px 10px rgba(6,20,40,.06);
    --shadow-md: 0 14px 40px rgba(6,26,54,.10);
    --shadow-lg: 0 30px 80px rgba(3,20,45,.18);
    --r: 14px;
    --r-lg: 20px;
    --maxw: 1180px;
    --pad: clamp(20px, 5vw, 40px);
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:Asap, Arial, sans-serif;
    color:var(--text);
    background:var(--white);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4{margin:0;line-height:1.12;letter-spacing:-.02em;font-weight:800}
  p{margin:0}
  ::selection{background:var(--cyan);color:#05070E}

  .container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
  .section{padding-block:clamp(72px, 9vw, 128px)}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:var(--blue-2);
  }
  .eyebrow::before{content:"";width:26px;height:2px;background:var(--grad);border-radius:2px}
  .eyebrow--light{color:var(--cyan-2)}
  .eyebrow--light::before{background:linear-gradient(90deg,var(--cyan),transparent)}
  .lead{color:var(--text-2);font-size:1.075rem;max-width:62ch}
  .h2{font-size:clamp(1.7rem, 3.4vw, 2.7rem)}
  .h3{font-size:clamp(1.15rem,1.6vw,1.32rem)}
  .kicker-row{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(34px,4vw,52px)}
  .kicker-row .h2{max-width:20ch}

  /* buttons */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    font-weight:700;font-size:.98rem;letter-spacing:-.01em;
    padding:14px 24px;border-radius:12px;border:1.5px solid transparent;
    cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    white-space:nowrap;
  }
  .btn svg{width:17px;height:17px;flex:none}
  .btn--primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px rgba(10,90,150,.32)}
  .btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,90,150,.42)}
  .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
  .btn--ghost:hover{border-color:var(--cyan);color:var(--cyan-2);transform:translateY(-2px)}
  .btn--dark{background:var(--blue);color:#fff}
  .btn--dark:hover{background:var(--blue-2);transform:translateY(-2px)}
  .btn--outline{background:#fff;color:var(--blue);border-color:var(--line)}
  .btn--outline:hover{border-color:var(--cyan);color:var(--blue-2);transform:translateY(-2px)}
  .btn--sm{padding:11px 18px;font-size:.9rem}

  /* ---------- NAV ---------- */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
  }
  .nav__inner{
    max-width:var(--maxw);margin-inline:auto;padding:16px var(--pad);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .nav.scrolled{background:rgba(5,7,14,.86);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
  .brand{display:flex;align-items:center;gap:11px;color:#fff}
  .brand__mark{width:30px;height:30px;flex:none}
  .brand__name{font-weight:800;font-size:1.22rem;letter-spacing:-.02em}
  .brand__name sup{font-size:.5em;top:-.7em;font-weight:600;color:var(--cyan-2)}
  .nav__links{display:flex;align-items:center;gap:28px}
  .nav__links a{color:rgba(255,255,255,.78);font-weight:600;font-size:.94rem;transition:color .2s}
  .nav__links a:hover{color:#fff}
  .nav__cta{display:flex;align-items:center;gap:14px}
  .nav__home{color:rgba(255,255,255,.6);font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}
  .nav__home:hover{color:var(--cyan-2)}
  .nav__home svg{width:14px;height:14px}
  .burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
  .burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s;margin:5px 0}
  .mobile-menu{
    display:none;position:fixed;inset:0 0 0 0;z-index:49;background:rgba(5,7,14,.97);
    padding:96px var(--pad) 40px;flex-direction:column;gap:6px;
  }
  .mobile-menu a{color:rgba(255,255,255,.9);font-size:1.25rem;font-weight:700;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-menu .btn{margin-top:22px;justify-content:center}
  body.menu-open{overflow:hidden}
  body.menu-open .mobile-menu{display:flex}
  body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .burger span:nth-child(2){opacity:0}
  body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* ---------- HERO ---------- */
  .hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding-top:118px}
  .hero::before{
    content:"";position:absolute;top:-20%;right:-10%;width:70vw;height:70vw;max-width:900px;max-height:900px;
    background:radial-gradient(circle at center, rgba(24,168,216,.28), rgba(0,63,125,.14) 42%, transparent 68%);
    filter:blur(10px);pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;left:-10%;bottom:-30%;width:55vw;height:55vw;max-width:640px;max-height:640px;
    background:radial-gradient(circle at center, rgba(0,63,125,.35), transparent 65%);pointer-events:none;
  }
  .hero__grid{
    position:relative;z-index:2;max-width:var(--maxw);margin-inline:auto;padding:clamp(30px,5vw,64px) var(--pad) clamp(70px,8vw,104px);
    display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,64px);align-items:center;
  }
  .hero__badge{
    display:inline-flex;align-items:center;gap:9px;
    padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.04);font-size:.8rem;font-weight:600;color:var(--cyan-2);margin-bottom:26px;
  }
  .hero__badge b{color:#fff;font-weight:700}
  .hero h1{font-size:clamp(2.1rem, 4.6vw, 3.55rem);letter-spacing:-.03em}
  .hero h1 .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero__sub{margin-top:16px;font-size:1.06rem;font-weight:600;color:var(--cyan-pale)}
  .hero__p{margin-top:20px;color:rgba(255,255,255,.72);font-size:1.06rem;max-width:52ch}
  .hero__actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
  .hero__note{margin-top:20px;font-size:.85rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .hero__note .dot{width:4px;height:4px;border-radius:50%;background:var(--cyan)}
  .hero__alt{display:inline-block;margin-top:15px;font-size:.9rem;font-weight:600;color:var(--cyan-2)}
  .hero__alt:hover{color:#fff}

  /* Hero visual: product pass card */
  .pass-wrap{position:relative;justify-self:center;width:100%;max-width:400px}
  .pass{
    position:relative;z-index:2;background:#fff;border-radius:22px;padding:22px;color:var(--text);
    box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6);
    transform:rotate(-1.5deg);
  }
  .pass__top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
  .pass__thumb{width:56px;height:56px;border-radius:12px;background:var(--grad-soft);flex:none;position:relative;overflow:hidden}
  .pass__thumb::after{content:"";position:absolute;inset:0;background:
    linear-gradient(135deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%)}
  .pass__ident{font-size:.72rem;color:var(--text-mut);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .pass__name{font-size:1.02rem;font-weight:800;letter-spacing:-.01em}
  .pass__badges{display:flex;gap:6px;margin-top:6px}
  .pass__badges span{font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:3px 7px;border-radius:6px;background:var(--paper-2);color:var(--blue-2)}
  .pass__body{display:flex;gap:16px;align-items:flex-start}
  .pass__qr{width:96px;height:96px;flex:none;border-radius:10px;background:#fff;border:1px solid var(--line);padding:8px}
  .pass__rows{flex:1;display:flex;flex-direction:column;gap:11px;min-width:0}
  .pass__row{display:flex;flex-direction:column;gap:4px}
  .pass__row .k{font-size:.68rem;color:var(--text-mut);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
  .pass__bar{height:7px;border-radius:6px;background:var(--paper-2);overflow:hidden}
  .pass__bar i{display:block;height:100%;background:var(--grad);border-radius:6px}
  .pass__foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between}
  .pass__foot .src{font-size:.72rem;color:var(--text-mut);font-weight:600}
  .pass__foot .src b{color:var(--blue)}
  .pass__chip{position:absolute;background:#fff;border-radius:12px;padding:9px 13px;box-shadow:var(--shadow-md);font-size:.78rem;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:7px;z-index:3;border:1px solid var(--line-2)}
  .pass__chip svg{width:15px;height:15px;color:var(--cyan)}
  .pass__chip--a{top:-18px;right:-12px}
  .pass__chip--b{bottom:26px;left:-26px}

  /* ---------- TRUST BAR ---------- */
  .trust{background:var(--white);border-bottom:1px solid var(--line-2);padding-block:34px}
  .trust__inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);text-align:center}
  .trust__label{font-size:.8rem;color:var(--text-mut);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:22px}
  .trust__logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,4vw,50px)}
  .trust__logos span{font-weight:800;font-size:clamp(1rem,1.6vw,1.32rem);letter-spacing:.02em;color:#9AA6B4;transition:color .2s}
  .trust__logos span:hover{color:var(--blue)}

  /* generic light section band */
  .band-paper{background:var(--paper)}
  .band-ink{background:var(--ink);color:#fff}

  /* ---------- SITUATION CARDS ---------- */
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .sit-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:var(--shadow-sm)}
  .sit-card .ic{width:44px;height:44px;border-radius:11px;background:var(--paper-2);display:grid;place-items:center;margin-bottom:16px;color:var(--blue)}
  .sit-card .ic svg{width:22px;height:22px}
  .sit-card h3{font-size:1.06rem;margin-bottom:8px}
  .sit-card p{color:var(--text-mut);font-size:.94rem}

  /* ---------- ORCHESTRATION FLOW (signature) ---------- */
  .flow-shell{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(22px,3vw,38px)}
  .flow{display:flex;align-items:stretch;gap:14px}
  .flow__col{flex:1;min-width:0}
  .flow__col h4{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mut);font-weight:700;margin-bottom:14px;text-align:center}
  .chip-list{display:flex;flex-direction:column;gap:10px}
  .chip{
    display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;
    background:var(--paper);border:1px solid var(--line-2);font-weight:600;font-size:.92rem;color:var(--text);
  }
  .chip svg{width:18px;height:18px;flex:none;color:var(--blue-2)}
  .chip--hot{background:linear-gradient(120deg,#EAF6FC,#DDF0FA);border-color:var(--cyan-2);color:var(--blue)}
  .chip--hot svg{color:var(--cyan)}
  .flow__core{
    flex:1.15;background:var(--grad-soft);border-radius:16px;padding:22px 20px;color:#fff;
    display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 50px rgba(6,60,110,.35);
  }
  .flow__core .lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-pale);font-weight:700;text-align:center;margin-bottom:4px}
  .flow__core .nm{font-size:1.5rem;font-weight:800;text-align:center;margin-bottom:16px;letter-spacing:-.02em}
  .flow__core ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
  .flow__core li{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:9px 12px}
  .flow__core li svg{width:16px;height:16px;color:var(--cyan-2);flex:none}
  .flow__arrow{display:flex;align-items:center;color:var(--cyan);flex:none}
  .flow__arrow svg{width:26px;height:26px}
  .flow-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
  .flow-tags span{font-size:.82rem;font-weight:700;color:var(--blue-2);background:var(--paper);border:1px solid var(--line);padding:8px 15px;border-radius:999px}

  /* ---------- USE CASES ---------- */
  .uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .uc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease}
  .uc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--cyan-2)}
  .uc .ic{width:46px;height:46px;border-radius:12px;background:var(--grad);display:grid;place-items:center;color:#fff;margin-bottom:18px}
  .uc .ic svg{width:23px;height:23px}
  .uc h3{font-size:1.08rem;margin-bottom:9px}
  .uc p{color:var(--text-mut);font-size:.94rem}

  /* ---------- RESOLVER ---------- */
  .resolver{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:center}
  .resolver__viz{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}
  .res-source{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);padding:20px 24px;display:flex;align-items:center;gap:16px}
  .res-source .qr{width:64px;height:64px;flex:none;border:1px solid var(--line);border-radius:9px;padding:6px}
  .res-source .txt b{display:block;font-size:1rem;font-weight:800}
  .res-source .txt span{font-size:.82rem;color:var(--text-mut);font-weight:600}
  .res-fan{width:2px;height:26px;background:linear-gradient(var(--cyan),transparent)}
  .res-views{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}
  .res-view{background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:15px 16px;box-shadow:var(--shadow-sm)}
  .res-view .rv-ic{width:34px;height:34px;border-radius:9px;background:var(--paper-2);display:grid;place-items:center;color:var(--blue);margin-bottom:10px}
  .res-view .rv-ic svg{width:18px;height:18px}
  .res-view b{display:block;font-size:.92rem;font-weight:800;margin-bottom:2px}
  .res-view span{font-size:.8rem;color:var(--text-mut);font-weight:500}

  /* ---------- WHY / VALUES ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .val{background:var(--ink-3);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:24px 22px;transition:border-color .2s ease, background .2s ease}
  .val:hover{border-color:var(--cyan);background:var(--ink-2)}
  .val .ic{width:42px;height:42px;border-radius:10px;background:rgba(24,168,216,.14);display:grid;place-items:center;color:var(--cyan-2);margin-bottom:16px}
  .val .ic svg{width:21px;height:21px}
  .val h3{font-size:1.02rem;color:#fff;margin-bottom:8px}
  .val p{color:rgba(255,255,255,.62);font-size:.88rem}

  /* ---------- REGULATORY ---------- */
  .reg-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:8px}
  .reg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;position:relative;overflow:hidden}
  .reg::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
  .reg .tag{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--cyan);text-transform:uppercase}
  .reg h3{font-size:1.02rem;margin:8px 0}
  .reg p{color:var(--text-mut);font-size:.86rem}
  .reg-note{margin-top:26px;display:inline-flex;align-items:center;gap:11px;font-size:.94rem;font-weight:600;color:var(--blue);background:var(--paper-2);border-radius:12px;padding:13px 20px}
  .reg-note svg{width:19px;height:19px;color:var(--cyan);flex:none}

  /* ---------- REFERENCES ---------- */
  .ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .ref{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
  .ref__head{padding:24px 26px 20px;background:var(--grad-soft);color:#fff}
  .ref__logo{font-size:1.34rem;font-weight:800;letter-spacing:.01em}
  .ref__branche{font-size:.8rem;font-weight:600;color:var(--cyan-pale);margin-top:4px}
  .ref__body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:16px;flex:1}
  .ref__block .rb-k{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mut);margin-bottom:5px}
  .ref__block p{font-size:.9rem;color:var(--text-2)}
  .ref__nutzen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;margin-top:auto}
  .ref__nutzen li{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;font-weight:600;color:var(--text)}
  .ref__nutzen li svg{width:16px;height:16px;color:var(--cyan);flex:none;margin-top:3px}
  .ref-more{margin-top:34px;text-align:center}
  .ref-more .lbl{font-size:.8rem;color:var(--text-mut);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
  .ref-more .logos{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,3vw,40px)}
  .ref-more .logos span{font-weight:800;font-size:1.02rem;color:#A6B1BE}

  /* ---------- STATS ---------- */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .stat{text-align:center;padding:8px}
  .stat .n{font-size:clamp(2rem,3.4vw,2.9rem);font-weight:800;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
  .stat .l{margin-top:10px;font-size:.92rem;color:var(--text-2);font-weight:600}

  /* ---------- PROCESS ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
  .step{position:relative;padding-top:8px}
  .step__n{width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--cyan-2);display:grid;place-items:center;font-weight:800;font-size:1.1rem;margin-bottom:18px}
  .step h3{font-size:1.08rem;margin-bottom:8px}
  .step p{color:var(--text-mut);font-size:.92rem}
  .step:not(:last-child)::after{content:"";position:absolute;top:22px;left:56px;right:-11px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}

  /* ---------- CTA CHOICE ---------- */
  .cta-band{background:var(--ink);color:#fff;position:relative;overflow:hidden}
  .cta-band::before{content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:80vw;height:60vw;max-width:1000px;max-height:600px;background:radial-gradient(ellipse at center,rgba(24,168,216,.18),transparent 65%);pointer-events:none}
  .cta-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2}
  .cc{background:var(--ink-3);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column;transition:transform .18s ease, border-color .2s ease}
  .cc:hover{transform:translateY(-4px)}
  .cc--feature{background:var(--grad-soft);border-color:transparent;box-shadow:0 24px 60px rgba(6,60,110,.4)}
  .cc__tag{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-2);margin-bottom:14px}
  .cc--feature .cc__tag{color:rgba(255,255,255,.85)}
  .cc h3{font-size:1.34rem;color:#fff;margin-bottom:10px}
  .cc p{color:rgba(255,255,255,.66);font-size:.95rem;margin-bottom:24px}
  .cc--feature p{color:rgba(255,255,255,.86)}
  .cc .btn{margin-top:auto;justify-content:center}
  .cc--feature .btn{background:#fff;color:var(--blue)}
  .cc--feature .btn:hover{background:var(--paper)}

  /* ---------- CONTACT / FOOTER ---------- */
  .contact{background:var(--paper);border-top:1px solid var(--line)}
  .contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:center}
  .contact__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;display:flex;gap:22px;align-items:center;box-shadow:var(--shadow-sm)}
  .contact__ava{width:78px;height:78px;border-radius:50%;flex:none;background:var(--grad-soft);display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.5rem}
  .contact__card .who b{font-size:1.12rem;font-weight:800;display:block}
  .contact__card .who .role{font-size:.9rem;color:var(--text-mut);font-weight:600;margin-bottom:12px}
  .contact__card .who a{display:flex;align-items:center;gap:9px;font-size:.94rem;font-weight:600;color:var(--blue);margin-top:6px}
  .contact__card .who a svg{width:16px;height:16px;color:var(--cyan)}

  .footer{background:var(--ink);color:rgba(255,255,255,.66);padding-block:56px 34px}
  .footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.09)}
  .footer .brand{margin-bottom:16px}
  .footer__about{font-size:.92rem;max-width:40ch}
  .footer__col h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:16px}
  .footer__col a{display:block;font-size:.92rem;padding:5px 0;color:rgba(255,255,255,.62);transition:color .2s}
  .footer__col a:hover{color:var(--cyan-2)}
  .footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:26px;font-size:.85rem}
  .footer__bottom a{color:rgba(255,255,255,.6)}
  .footer__bottom a:hover{color:var(--cyan-2)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease}
  .reveal.is-visible{opacity:1;transform:none}

  /* ---------- PRICING ---------- */
  .price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
  .tier{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;box-shadow:var(--shadow-sm)}
  .tier--pop{border-color:var(--cyan);box-shadow:var(--shadow-md)}
  .tier__flag{position:absolute;top:-11px;left:24px;background:var(--grad);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
  .tier__name{font-size:1.28rem;font-weight:800}
  .tier__for{font-size:.85rem;color:var(--text-mut);margin:7px 0 18px;min-height:40px}
  .tier__price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
  .tier__price .amt{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--blue)}
  .tier__price .per{font-size:.84rem;color:var(--text-mut);font-weight:600}
  .tier__sub{font-size:.82rem;color:var(--text-mut);margin-top:7px}
  .tier__setup{font-size:.82rem;font-weight:700;color:var(--blue-2);margin-top:8px}
  .tier__feats{list-style:none;margin:20px 0 24px;padding:20px 0 0;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:11px;flex:1}
  .tier__feats li{display:flex;gap:9px;align-items:flex-start;font-size:.87rem;color:var(--text-2);line-height:1.4}
  .tier__feats li svg{width:16px;height:16px;color:var(--cyan);flex:none;margin-top:2px}
  .tier__feats li.off{color:#A6B1BE}
  .tier__feats li.off svg{color:#CBD5DF}
  .tier__cta{margin-top:auto}
  .tier__cta .btn{width:100%;justify-content:center}
  .tier__term{text-align:center;font-size:.75rem;color:var(--text-mut);margin-top:12px}

  /* ---------- FINDER ---------- */
  .finder{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(24px,3.5vw,40px)}
  .finder__q{padding:22px 0;border-bottom:1px solid var(--line-2)}
  .finder__q:first-child{padding-top:0}
  .fq__label{display:flex;gap:12px;align-items:center;font-weight:700;font-size:1.02rem;margin-bottom:16px}
  .fq__num{width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--cyan-2);display:grid;place-items:center;font-size:.85rem;font-weight:800;flex:none}
  .fq__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
  .opt{cursor:pointer;text-align:left;background:var(--paper);border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;font-size:.9rem;font-weight:600;color:var(--text-2);transition:border-color .15s ease, background .15s ease, color .15s ease;display:flex;align-items:center;gap:11px;font-family:inherit}
  .opt:hover{border-color:var(--cyan-2)}
  .opt.selected{border-color:var(--cyan);background:linear-gradient(120deg,#EAF6FC,#DDF0FA);color:var(--blue)}
  .opt .rb{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none;position:relative;transition:border-color .15s}
  .opt.selected .rb{border-color:var(--cyan)}
  .opt.selected .rb::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--cyan)}
  .finder__actions{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .finder__hint{font-size:.84rem;color:var(--text-mut)}
  .btn:disabled{opacity:.4;cursor:not-allowed}
  .finder__result{margin-top:26px;border-top:2px dashed var(--line);padding-top:26px;display:none}
  .finder__result.show{display:block;animation:fadeUp .5s ease}
  @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .rec{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--grad-soft);border-radius:16px;padding:26px 28px;color:#fff;box-shadow:0 18px 46px rgba(6,60,110,.32)}
  .rec__badge{text-align:center;padding-right:24px;border-right:1px solid rgba(255,255,255,.18)}
  .rec__badge .lbl{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-pale);font-weight:700}
  .rec__badge .rectier{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-top:4px;color:#fff}
  .rec__body .reason{font-size:1.02rem;font-weight:700;margin-bottom:6px}
  .rec__body .second{font-size:.88rem;color:rgba(255,255,255,.82);font-weight:500}
  .rec__cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
  .rec__cta .btn{background:#fff;color:var(--blue)}
  .rec__cta .btn:hover{background:var(--paper)}
  .rec__cta .btn--line{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
  .rec__cta .btn--line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
  .rec__profile{margin-top:16px;font-size:.82rem;color:var(--text-mut);display:flex;align-items:center;gap:8px}
  .rec__profile svg{width:15px;height:15px;color:var(--cyan);flex:none}

  /* ---------- ONBOARDING ---------- */
  .onb__split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3.5vw,40px);box-shadow:var(--shadow-sm)}
  .onb__form .step-badge{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
  .onb__form h3{font-size:1.3rem;margin-bottom:8px}
  .onb__form .fld{margin-top:15px}
  .onb__form .fld .k{font-size:.72rem;font-weight:700;color:var(--text-mut);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}
  .onb__form .fld .box{min-height:42px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);display:flex;align-items:center;padding:0 14px;font-size:.9rem;color:var(--text-mut)}
  .onb__form .fld .box.filled{border-color:var(--cyan-2);color:var(--text);font-weight:600;background:#fff}
  .onb__preview{display:flex;justify-content:center}
  .onb-card{width:100%;max-width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px;transform:rotate(-1.2deg)}
  .onb-card__head{display:flex;gap:12px;align-items:center;margin-bottom:16px}
  .onb-card__logo{width:48px;height:48px;border-radius:10px;background:var(--grad-soft);color:#fff;display:grid;place-items:center;font-size:.56rem;font-weight:800;letter-spacing:.04em;text-align:center;flex:none}
  .onb-card__head b{font-size:.95rem;font-weight:800;display:block}
  .onb-card__head span{font-size:.75rem;color:var(--text-mut);font-weight:600}
  .onb-card__body{display:flex;gap:14px}
  .onb-card__qr{width:80px;height:80px;flex:none;border:1px solid var(--line);border-radius:9px;padding:7px}
  .onb-card__rows{flex:1;display:flex;flex-direction:column;gap:11px;justify-content:center}
  .onb-card__rows .k{font-size:.66rem;color:var(--text-mut);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;display:block}
  .onb-card__bar{height:7px;border-radius:5px;background:var(--paper-2);overflow:hidden}
  .onb-card__bar i{display:block;height:100%;background:var(--grad)}
  .onb-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
  .onb-step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;position:relative}
  .onb-step .os-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
  .onb-step .os-n{width:34px;height:34px;border-radius:9px;background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;flex:none}
  .onb-step .os-ic{color:var(--blue-2)}
  .onb-step .os-ic svg{width:20px;height:20px}
  .onb-step h4{font-size:1rem;margin-bottom:6px}
  .onb-step p{font-size:.85rem;color:var(--text-mut)}
  .onb-step:not(:last-child)::after{content:"";position:absolute;top:38px;right:-9px;width:18px;height:2px;background:var(--line);z-index:2}

  /* ---------- BRANCHEN ---------- */
  .ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .ind{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease}
  .ind:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--cyan-2)}
  .ind__ic{width:42px;height:42px;border-radius:10px;background:var(--paper-2);color:var(--blue);display:grid;place-items:center;margin-bottom:14px}
  .ind__ic svg{width:22px;height:22px}
  .ind__tag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);background:#EAF6FC;border-radius:6px;padding:3px 8px;margin-bottom:9px}
  .ind h3{font-size:1.02rem;margin-bottom:7px}
  .ind p{font-size:.84rem;color:var(--text-mut);line-height:1.45}

  /* ---------- NEWS ---------- */
  .news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .news{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease}
  .news:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--cyan-2)}
  .news__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
  .news__tag{font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:6px;color:#fff}
  .news__tag--reg{background:var(--blue)}
  .news__tag--bat{background:var(--cyan)}
  .news__tag--std{background:#0A5CA8}
  .news__tag--bau{background:var(--blue-2)}
  .news__date{font-size:.75rem;color:var(--text-mut);font-weight:600;white-space:nowrap}
  .news h3{font-size:1.02rem;margin-bottom:10px;line-height:1.25}
  .news p{font-size:.85rem;color:var(--text-mut);flex:1;margin-bottom:16px;line-height:1.5}
  .news__more{font-size:.85rem;font-weight:700;color:var(--blue);margin-top:auto}
  .news__more:hover{color:var(--cyan)}

  /* ---------- PARTNER ---------- */
  .partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .partner{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease}
  .partner:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--cyan-2)}
  .partner__logo{font-size:1.18rem;font-weight:800;color:var(--blue);letter-spacing:-.01em;margin-bottom:12px;line-height:1.2}
  .partner__tag{display:inline-block;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--cyan);background:#EAF6FC;border-radius:6px;padding:3px 9px;margin-bottom:12px}
  .partner p{font-size:.85rem;color:var(--text-mut);line-height:1.45}
  .partner-cta{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 30px;flex-wrap:wrap}
  .partner-cta b{display:block;font-size:1.12rem;font-weight:800;color:var(--text);margin-bottom:4px}
  .partner-cta .pc-txt span{font-size:.92rem;color:var(--text-mut)}
  .partner-cta .btn{flex:none}
  @media (max-width:1024px){ .partner-grid{grid-template-columns:repeat(3,1fr)} }
  @media (max-width:560px){ .partner-grid{grid-template-columns:1fr} .partner-cta{flex-direction:column;align-items:flex-start} }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1024px){
    .grid-4,.uc-grid,.why-grid,.reg-grid,.stats,.steps{grid-template-columns:repeat(2,1fr)}
    .ref-grid{grid-template-columns:1fr}
    .cta-choice{grid-template-columns:1fr}
    .step:not(:last-child)::after{display:none}
    .why-grid{gap:14px}
    .price-grid{grid-template-columns:repeat(2,1fr)}
    .onb-steps{grid-template-columns:repeat(2,1fr)}
    .onb-step:not(:last-child)::after{display:none}
    .ind-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:880px){
    .nav__links,.nav__cta{display:none}
    .onb__split{grid-template-columns:1fr}
    .rec{grid-template-columns:1fr;text-align:center}
    .rec__badge{padding-right:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:16px}
    .rec__cta{justify-content:center}
    .burger{display:block}
    .hero__grid{grid-template-columns:1fr;text-align:left}
    .pass-wrap{max-width:360px;margin-top:14px}
    .resolver{grid-template-columns:1fr}
    .contact__grid{grid-template-columns:1fr}
    .footer__top{grid-template-columns:1fr;gap:28px}
    .flow{flex-direction:column}
    .flow__arrow{transform:rotate(90deg);align-self:center}
    .grid-3{grid-template-columns:1fr}
  }
  @media (max-width:560px){
    .grid-4,.uc-grid,.why-grid,.reg-grid,.stats,.steps,.grid-2{grid-template-columns:1fr}
    .price-grid,.onb-steps{grid-template-columns:1fr}
    .ind-grid,.news-grid{grid-template-columns:1fr}
    .fq__opts{grid-template-columns:1fr}
    .res-views{grid-template-columns:1fr}
    .contact__card{flex-direction:column;text-align:center}
    .pass__chip--b{left:-8px}
    .btn{width:100%;justify-content:center}
    .hero__actions{gap:12px}
    .trust__logos{gap:16px 24px}
  }

  @media (prefers-reduced-motion: reduce){
    *{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .btn:hover,.uc:hover,.cc:hover,.val:hover{transform:none}
    .pass{transform:none}
  }

/* Theme-specific layout overrides. */
:root {
    --dpp-ink: #012934;
    --dpp-cyan: #16bae7;
    --dpp-violet: #6351d6;
    --dpp-lime: #d8eb47;
    --dpp-mist: #f5f8f9;
    --dpp-line: #d6e2e5;
    --dpp-gradient: linear-gradient(125deg, var(--dpp-cyan) 0%, var(--dpp-violet) 54%, var(--dpp-lime) 100%);
}

.dpp-blog {
    background: var(--dpp-mist);
    min-height: 100vh;
    padding: clamp(72px, 10vw, 140px) 0;
}

.dpp-blog__intro {
    margin: 0 auto clamp(40px, 6vw, 72px);
    max-width: 1240px;
    padding: 0;
}

.dpp-blog__intro .eyebrow {
    color: var(--dpp-cyan);
}

.dpp-blog .wp-block-query {
    margin: 0 auto;
    max-width: 960px;
}

.dpp-blog__filters {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 0 auto 2rem;
    max-width: 1240px;
    width: min(calc(100% - 3rem), 1240px);
}

.dpp-blog__filter {
    background: #fff;
    border: 1px solid var(--dpp-line);
    border-radius: .6rem;
    color: var(--dpp-ink);
    font-size: .85rem;
    font-weight: 500;
    padding: .55rem .85rem;
}

.dpp-blog__filter.is-active {
    background: var(--dpp-cyan);
    border-color: var(--dpp-cyan);
    color: #fff;
}

.dpp-blog__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .75rem;
}

.wp-block-post-content .dpp-blog__categories a,
.dpp-blog__categories a {
    background: var(--dpp-cyan);
    border-radius: .35rem;
    color: #fff !important;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .08em;
    padding: .3rem .5rem;
    text-transform: uppercase;
}

.dpp-blog__post {
    border-bottom: 1px solid var(--dpp-line);
    padding: 32px 0;
}

.dpp-blog__post time {
    color: #58727b;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dpp-blog__post h2 {
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    margin: 10px 0 14px;
}

.dpp-blog__post h2 a,
.dpp-blog__post .wp-block-post-excerpt__more-link {
    color: var(--dpp-ink);
}

.dpp-blog__post .wp-block-post-excerpt {
    color: #58727b;
    max-width: 70ch;
}

.dpp-blog__post .wp-block-post-excerpt__more-link {
    color: var(--dpp-cyan);
    font-weight: 800;
}

.dpp-blog .wp-block-query-pagination {
    gap: 16px;
    margin-top: 40px;
}

@font-face {
    font-family: "brandbox Font";
    font-style: normal;
    font-weight: 100 900;
    src: url("/wp-content/themes/brandbox-dpp/assets/fonts/asap.ttf") format("truetype");
}

body,
body.menu-open {
    background: transparent !important;
    color: var(--dpp-ink) !important;
    font-family: Asap, Arial, sans-serif !important;
}

body::before {
    background: linear-gradient(90deg, #6351d6 0%, #16bae7 50%, #d8eb47 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: -1;
}

.dpp-logo-band__logos {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(20px, 4vw, 50px);
    justify-content: center;
}

.dpp-logo-band__logos img {
    display: block;
    margin: auto;
    max-height: 52px;
    max-width: 160px;
    object-fit: contain;
}

.dpp-logo-band__label {
    color: var(--dpp-ink);
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 24px;
}

.partner-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.partner__logo-image {
    display: block;
    height: 110px;
    margin: 0 0 1.25rem;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    width: 100%;
}

.dpp-partner-card .partner__tag {
    background: transparent !important;
    color: var(--dpp-ink) !important;
    display: block;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    line-height: 1.3;
    margin: 0 0 .75rem !important;
    padding: 0 !important;
    text-align: center;
    text-transform: none !important;
}

.dpp-partner-card {
    border: 0 !important;
    text-align: center;
}

.dpp-partner-card > p {
    font-size: .85rem !important;
    line-height: 1.5 !important;
}

.partner__logo img {
    display: block;
    height: 3.25rem;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
    width: auto;
}

.dpp-partner-card__link {
    display: inline-block;
    margin-top: 16px;
}

.partner-cta > .pc-txt {
    flex: 1 1 0;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0;
    width: 0 !important;
}

.partner-cta {
    background: #fff !important;
    flex-wrap: nowrap !important;
    padding: 1rem 1.25rem !important;
}

.partner-cta .pc-txt p {
    margin: 0;
}

.partner-cta .pc-txt p:first-child {
    color: var(--dpp-ink);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: .45rem;
}

.partner-cta .pc-txt p:last-child {
    color: rgb(1 41 52 / 68%);
    font-size: .92rem;
    line-height: 1.5;
}

.partner-cta > .wp-block-buttons {
    align-self: stretch;
    align-items: stretch;
    display: flex;
    flex: 0 0 auto;
    margin: 0 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
}

.partner-cta .wp-block-button {
    display: flex;
}

.wp-block-post-content .partner-cta .wp-block-button__link {
    align-items: center;
    background: var(--dpp-ink) !important;
    border: 1px solid var(--dpp-ink) !important;
    border-radius: .75rem !important;
    color: #fff !important;
    display: flex;
    font-size: .9rem;
    font-weight: 700;
    height: 100%;
    padding: .65rem 1.25rem !important;
}

@media (max-width: 560px) {
    .partner-cta {
        flex-wrap: nowrap !important;
    }

    .partner-cta > .pc-txt {
        width: 100% !important;
    }

    .partner-cta > .wp-block-buttons {
        align-self: flex-start;
        margin-left: 0 !important;
    }
}

/* Pricing follows the cyan/violet/lime language of the DPP hero. */
.price-grid {
    gap: 20px;
}

.tier {
    background: linear-gradient(180deg, #fff 0%, #f7fbfc 100%) !important;
    border: 1px solid var(--dpp-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 34px rgb(1 41 52 / 8%) !important;
    padding: 30px 26px !important;
}

.tier--pop {
    background: linear-gradient(180deg, #fff 0%, #f7fbfc 100%) !important;
    border-color: var(--dpp-cyan) !important;
    box-shadow: 0 16px 36px rgb(22 186 231 / 16%) !important;
}

.tier__flag {
    background: linear-gradient(125deg, var(--dpp-cyan) 0%, var(--dpp-violet) 100%) !important;
    border-radius: 999px !important;
    color: #fff !important;
}

.tier__name {
    font-size: 1.35rem;
    letter-spacing: -0.02em;
}

.tier__for {
    font-size: 0.9rem;
    height: 4.625rem;
    line-height: 1.5;
}

.tier__price .amt {
    color: var(--dpp-cyan) !important;
    font-size: 2rem;
}

.tier__price .per,
.tier__sub,
.tier__term {
    color: #58727b !important;
}

.tier__term {
    min-height: 2.375rem;
}

.tier__setup {
    color: var(--dpp-cyan) !important;
    margin-top: 0 !important;
    min-height: 1.25rem;
}

.tier__feats {
    border-color: var(--dpp-line) !important;
}

.tier__feats li > span {
    color: var(--dpp-cyan);
    font-weight: 800;
}

.tier .btn {
    background: var(--dpp-ink) !important;
    border-color: var(--dpp-ink) !important;
    color: #fff !important;
    font-size: 0.85rem !important;
    min-height: 0;
    padding: 8px 14px !important;
}


.wp-site-blocks,
.wp-block-post-content {
    overflow: clip;
}

.wp-block-group.is-layout-constrained,
.wp-block-group.is-layout-constrained > .wp-block-post-content {
    max-width: none !important;
    width: 100% !important;
}

.wp-block-post-content > .wp-block-group.section.is-layout-constrained,
.wp-block-post-content > .wp-block-group.trust.is-layout-constrained {
    max-width: none !important;
    width: 100% !important;
}

.wp-block-post-content > .section,
.wp-block-post-content > .trust,
.wp-block-post-content > .hero {
    max-width: none !important;
    width: 100% !important;
}

.wp-block-post-content > .wp-block-group.section > .container {
    max-width: 1240px !important;
    width: 100% !important;
}

.wp-block-post-content > .section > .container {
    max-width: 1240px !important;
    padding-inline: 0 !important;
    width: 100% !important;
}

.wp-block-post-content > .wp-block-group.section > .container > * {
    max-width: none !important;
    width: 100% !important;
}

.wp-block-post-content > .section > .container > * {
    max-width: none !important;
    width: 100% !important;
}

.wp-block-post-content > .section > .container > .container {
    max-width: 1240px !important;
    padding-inline: 0 !important;
    width: 100% !important;
}

.wp-block-post-content > .section > .container > .container > * {
    max-width: none !important;
    width: 100% !important;
}

.nav {
    background: #fff !important;
    border-bottom: 1px solid rgb(1 41 52 / 10%);
    box-shadow: none !important;
    backdrop-filter: blur(18px);
}

@media screen and (max-width: 782px) {
    body.admin-bar .nav {
        top: 46px;
    }
}

.nav.scrolled {
    background: #fff !important;
    box-shadow: 0 8px 30px rgb(1 41 52 / 8%) !important;
}

.nav__inner {
    align-items: center !important;
    height: 89.5px;
    max-width: 1240px !important;
    margin-block: 0 !important;
    padding-block: 0 !important;
    padding-inline: 0 !important;
}

.dpp-site-header .nav__inner > * {
    margin-block: 0 !important;
}

.dpp-site-header .wp-block-navigation {
    align-self: center;
}

@media (min-width: 981px) {
    .dpp-site-header .wp-block-navigation__container {
        transform: translateY(2px);
    }
}

@media (min-width: 981px) {
    .dpp-site-header .wp-block-navigation__responsive-container,
    .dpp-site-header .wp-block-navigation__responsive-close,
    .dpp-site-header .wp-block-navigation__responsive-dialog,
    .dpp-site-header .wp-block-navigation__responsive-container-content,
    .dpp-site-header .wp-block-navigation__container {
        align-items: center !important;
        display: flex !important;
        height: 100%;
        position: static !important;
    }

    .dpp-site-header .wp-block-navigation__container {
        margin-block: 0 !important;
    }

    .dpp-site-header .wp-block-navigation__responsive-container-open,
    .dpp-site-header .wp-block-navigation__responsive-container-close {
        display: none !important;
    }
}

.brand,
.brand__name,
.nav__links a {
    color: var(--dpp-ink) !important;
}

.wp-block-post-content a:not(.btn) {
    color: var(--dpp-cyan) !important;
}

.brand__logo {
    display: block !important;
    height: auto !important;
    max-width: none !important;
    width: 170px !important;
}

.nav .brand {
    align-items: center;
    display: flex;
    gap: 0.55rem;
    margin-right: clamp(0.75rem, 2vw, 1.75rem);
}

.nav .brand::after {
    border-left: 1px solid rgb(1 41 52 / 24%);
    color: var(--dpp-ink);
    content: "dpp";
    font-size: 1.45rem;
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 0.9;
    padding-left: 0.55rem;
    transform: translateY(2px);
}

.brand__mark g {
    stroke: var(--dpp-cyan) !important;
}

.nav__links {
    flex-wrap: nowrap !important;
    gap: 28px !important;
}

.nav__links a,
.nav__cta .btn {
    font-family: "brandbox Font", Asap, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 23.4px !important;
    white-space: nowrap;
}

.nav__cta .btn {
    margin-left: auto !important;
    margin-right: 0 !important;
    min-height: 40.6px;
    padding: 5px 34px 5px 17px !important;
}

.nav__links a:hover {
    color: var(--dpp-cyan) !important;
}

.nav__links .current-menu-item > a,
.nav__links .current-menu-ancestor > a,
.nav__links a.is-active {
    color: var(--dpp-cyan) !important;
}

.btn,
.btn--primary,
.btn--dark {
    background: var(--dpp-ink) !important;
    border-color: var(--dpp-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    font-weight: 600 !important;
}

.btn::after {
    content: "↗";
    font-size: 0.9em;
    margin-left: 0.2rem;
}

.btn svg {
    display: none;
}

.btn:hover,
.btn--primary:hover,
.btn--dark:hover {
    background: var(--dpp-violet) !important;
    border-color: var(--dpp-violet) !important;
    transform: none !important;
}

.btn--ghost,
.btn--outline,
.btn--line {
    background: transparent !important;
    border-color: var(--dpp-ink) !important;
    color: var(--dpp-ink) !important;
}

.hero {
    /* The home hero is full bleed; its inner grid remains aligned to the site layout. */
    background: linear-gradient(125deg, var(--dpp-violet) 0%, var(--dpp-cyan) 50%, var(--dpp-lime) 100%) !important;
    color: #fff !important;
    isolation: isolate;
    min-height: min(740px, 92vh);
    overflow: hidden;
    padding-top: 118px !important;
}

.hero::before {
    background: url("../images/shield-check.svg") center / contain no-repeat;
    content: '';
    filter: none !important;
    height: min(80vw, 880px);
    opacity: .34;
    position: absolute;
    right: -8%;
    top: 5%;
    transform: rotate(-7deg);
    width: min(78vw, 820px);
    z-index: -1;
}

.hero::after {
    display: none;
}

.pass__thumb--product {
    background: #edf6f8 !important;
    border-radius: 0 !important;
    height: 96px !important;
    overflow: hidden;
    width: 96px !important;
}

.pass__thumb--product img {
    border-radius: 0 !important;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}


.hero__grid {
    align-items: start !important;
    gap: clamp(2rem, 6vw, 7rem) !important;
    max-width: 1240px !important;
    padding-bottom: clamp(5rem, 10vw, 9rem) !important;
    padding-top: 50px !important;
}

@media (min-width: 1025px) {
    .hero__grid {
        padding-inline: 0 !important;
    }
}

.hero__text,
.pass-wrap {
    z-index: 2;
}

.hero__badge,
.eyebrow {
    background: transparent !important;
    border: 0 !important;
    color: var(--dpp-cyan) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    padding: 0 !important;
}

.hero__badge b {
    color: #fff !important;
}

.hero h1 {
    font-size: clamp(2.75rem, 3.5vw, 4rem) !important;
    font-weight: 400 !important;
    letter-spacing: -0.05em !important;
    line-height: 1.02 !important;
    max-width: 13.5ch;
}

.hero h1 .accent {
    background: linear-gradient(90deg, #52c878 0%, var(--dpp-lime) 100%) !important;
    background-clip: text !important;
    color: transparent !important;
    text-decoration: none;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
}

.hero__sub,
.hero__p {
    color: rgb(255 255 255 / 88%) !important;
    font-weight: 400 !important;
    max-width: 54ch;
}

.hero__sub {
    font-size: clamp(1.1rem, 1.8vw, 1.45rem) !important;
    line-height: 1.22;
}

.hero__p {
    font-size: 1rem !important;
    line-height: 1.55;
}

.hero__note,
.hero__alt {
    color: #fff !important;
    font-family: Asap, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.35 !important;
}

.hero__note .dot {
    background: #fff !important;
}

.hero__alt:hover {
    color: #fff !important;
}

.wp-block-post-content a.hero__alt {
    color: #fff !important;
}

.hero .btn--primary {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--dpp-ink) !important;
}

.hero .btn--ghost {
    border-color: rgb(255 255 255 / 68%) !important;
    color: #fff !important;
}

.pass-wrap {
    justify-self: start;
    margin-top: 3.5rem;
    max-width: 624px !important;
    width: 130% !important;
}

.pass {
    border: 1px solid rgb(1 41 52 / 14%) !important;
    border-radius: 2px !important;
    box-shadow: 22px 22px 0 rgb(1 41 52 / 10%) !important;
    transform: none !important;
}

.pass__content {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
}

.pass__media {
    display: grid;
    gap: 18px;
    grid-column: 1;
    grid-row: 1;
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.pass__details {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.pass__details .pass__top {
    display: block;
    margin-bottom: 18px;
}

.pass__media .pass__thumb--product,
.pass__media .pass__qr {
    aspect-ratio: 1;
    height: auto !important;
    width: 100% !important;
}

.pass__media .pass__qr {
    align-self: center;
    justify-self: center;
    width: 50% !important;
}

.pass__media .pass__thumb--product {
    background: #fff !important;
}

.pass__media .pass__thumb--product img {
    object-fit: contain;
}

.pass__description {
    align-items: flex-start;
    background: transparent;
    color: rgb(1 41 52 / 72%);
    display: flex;
    flex: 1;
    font-size: .8rem;
    line-height: 1.5;
    margin: 18px 0 0;
    padding: 8px 0 0;
}

.pass__thumb,
.pass__bar i {
    background: var(--dpp-ink) !important;
}

.pass__qr {
    border: 2px solid var(--dpp-ink);
    border-radius: 0 !important;
    box-shadow: none;
    box-sizing: border-box;
    outline: 0;
    padding: 0 !important;
}

.pass__register {
    border-top: 1px solid var(--dpp-line);
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: 1rem;
    padding-top: .85rem;
}

.pass__register span {
    border: 1px solid var(--dpp-line);
    color: var(--dpp-ink);
    font-size: .68rem;
    line-height: 1.2;
    padding: .35rem .5rem;
}

/* Shared type scale: labels, body copy and headings remain consistent across pages. */
.eyebrow,
.hero__badge,
.dpp-reference-slide__industry,
.dpp-reference-slide__details span,
.news__meta,
.dpp-blog__post time {
    font-size: .78rem !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    line-height: 1.35 !important;
}

.ind__tag,
.reg .tag,
.pass__ident,
.tier__term {
    font-size: .85rem !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}

.section p,
.uc p,
.ind p,
.tier__for,
.tier__sub {
    font-size: 1rem;
    line-height: 1.55;
}

.lead {
    font-size: clamp(1.1rem, 1.45vw, 1.3rem) !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

.h2,
.kicker-row .h2 {
    font-size: clamp(2.25rem, 3.4vw, 3.75rem) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
}

.hero h1 {
    font-size: clamp(2.8rem, 4.5vw, 4.75rem) !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
}

.uc h3,
.ind h3,
.news h3,
.tier__name {
    font-size: clamp(1.15rem, 1.5vw, 1.35rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.tier__price .amt {
    font-size: clamp(1.9rem, 2.8vw, 2.5rem) !important;
    font-weight: 400 !important;
    letter-spacing: -.02em;
}

.pass__thumb::after {
    display: none;
}

.pass__thumb--qr {
    background: #fff !important;
    border: 1px solid var(--dpp-line);
}

.pass__qr-finder,
.pass__qr-finder::before,
.pass__qr-finder::after,
.pass__qr-module {
    background: var(--dpp-ink);
    position: absolute;
}

.pass__qr-finder {
    height: 15px;
    width: 15px;
}

.pass__qr-finder::before,
.pass__qr-finder::after {
    content: "";
}

.pass__qr-finder::before {
    background: #fff;
    inset: 3px;
}

.pass__qr-finder::after {
    inset: 6px;
}

.pass__qr-finder--top-left {
    left: 4px;
    top: 4px;
}

.pass__qr-finder--top-right {
    right: 4px;
    top: 4px;
}

.pass__qr-finder--bottom-left {
    bottom: 4px;
    left: 4px;
}

.pass__qr-module {
    height: 4px;
    width: 4px;
}

.pass__qr-module--1 { left: 24px; top: 5px; }
.pass__qr-module--2 { left: 29px; top: 10px; }
.pass__qr-module--3 { left: 23px; top: 20px; }
.pass__qr-module--4 { left: 30px; top: 20px; }
.pass__qr-module--5 { left: 40px; top: 25px; }
.pass__qr-module--6 { left: 23px; top: 30px; }
.pass__qr-module--7 { left: 30px; top: 35px; }
.pass__qr-module--8 { left: 42px; top: 42px; }

.pass__chip {
    border: 0 !important;
    border-radius: 100px !important;
    box-shadow: 0 10px 24px rgb(1 41 52 / 18%) !important;
    color: #fff !important;
    font-weight: 500;
    padding: 8px 14px;
    transform: translateX(clamp(0px, calc((100vw - 1424px) / 2), 30px));
    white-space: nowrap;
}

.pass__chip svg {
    color: #fff !important;
}

.pass__chip--a {
    background: #4d8496;
    bottom: auto;
    left: calc(100% - 139px);
    right: auto;
    top: 30px;
}

.pass__chip--b {
    background: var(--dpp-cyan);
    bottom: auto;
    left: calc(100% - 139px);
    right: auto;
    top: -18px;
    transform: translateX(calc(clamp(0px, calc((100vw - 1424px) / 2), 30px) + 10px));
}

.trust {
    background: #fff !important;
    border-block: 1px solid var(--dpp-line) !important;
    position: relative;
    z-index: 1;
}

.wp-block-group.trust__inner.is-layout-constrained,
.trust > .trust__inner {
    margin-inline: auto !important;
    max-width: 1240px !important;
    padding-inline: 0 !important;
    width: 100% !important;
}

.trust__inner > .trust__logos {
    max-width: none !important;
    width: 100% !important;
}

.trust__logos img {
    display: block;
    filter: grayscale(1);
    height: 52px;
    max-width: 160px;
    object-fit: contain;
    width: auto;
}

.trust__logos {
    align-items: center;
    display: grid !important;
    gap: 1.5rem !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    justify-items: center;
    width: 100%;
}

.trust__logos img[alt="BADA"] {
    height: 52px;
    mix-blend-mode: multiply;
}

.section {
    background: var(--dpp-mist) !important;
    padding-block: clamp(5rem, 9vw, 10rem) !important;
    position: relative;
    z-index: 1;
}

body:not(.home) .wp-block-post-content > .nav ~ main > .section:first-child {
    padding-top: clamp(10rem, 15vw, 14rem) !important;
}

.container {
    max-width: 1240px !important;
}

.dpp-thank-you-content {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column;
    max-width: 52rem !important;
}

.dpp-thank-you-content .lead {
    margin-top: 1.5rem !important;
}

.dpp-thank-you-content .btn {
    margin-top: 2rem;
}

@media (max-width: 980px) {
    .wp-block-post-content > .section > .container > .container.dpp-thank-you {
        padding-inline: 1.5rem !important;
    }
}

@media (min-width: 981px) and (max-width: 1288px) {
    .nav__inner {
        padding-inline: 0 !important;
        width: calc(100% - 3rem) !important;
    }

    .wp-block-post-content > .wp-block-group.section > .container,
    .wp-block-post-content > .section > .container,
    .wp-block-group.trust__inner.is-layout-constrained,
    .trust > .trust__inner {
        width: calc(100% - 3rem) !important;
    }
}

.kicker-row {
    align-items: start !important;
    column-gap: clamp(3rem, 8vw, 9rem) !important;
    display: grid !important;
    gap: 1.25rem !important;
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    margin-bottom: clamp(2.5rem, 6vw, 5rem) !important;
    position: relative;
}

.kicker-row::after {
    display: none;
}

.kicker-row > * {
    grid-column: 1;
    margin-inline: 0 !important;
}

.kicker-row > p:first-child:not(.lead) {
    color: var(--dpp-cyan) !important;
    font-size: .72rem !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}

.kicker-row > .lead {
    align-self: center;
    grid-column: 2;
    grid-row: 2;
    margin-top: 0 !important;
    transform: translateY(.75rem);
    width: 100%;
}

.kicker-row .h2,
.h2 {
    font-size: clamp(2rem, 3vw, 3.5rem) !important;
    font-weight: 400 !important;
    letter-spacing: -0.045em !important;
    line-height: 1.04 !important;
    max-width: 15ch !important;
}

.lead {
    color: rgb(1 41 52 / 76%) !important;
    font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
    line-height: 1.5;
    max-width: 34rem;
}

@media (max-width: 980px) {
    .kicker-row {
        grid-template-columns: 1fr;
    }

    .kicker-row > .lead {
        grid-column: 1;
        grid-row: 3;
        margin-top: 1rem !important;
        transform: none;
    }
}

.band-paper {
    background: var(--dpp-mist) !important;
}

.contact {
    background: var(--dpp-mist) !important;
}

.flow-shell,
.finder {
    background: #fff !important;
    border: 1px solid var(--dpp-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.flow__core,
.cta-band,
.band-ink {
    background: var(--dpp-ink) !important;
    box-shadow: none !important;
}

.flow__core {
    border-radius: 0 !important;
}

.chip,
.flow-tags span,
.sit-card,
.uc,
.reg,
.ref,
.news {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--dpp-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.sit-card,
.uc,
.reg,
.news {
    padding: 1.5rem 0 !important;
}

.grid-2 > *,
.grid-3 > *,
.grid-4 > *,
.uc-grid > *,
.val-grid > *,
.reg-grid > *,
.ind-grid > *,
.news-grid > *,
.price-grid > *,
.partner-grid > * {
    margin-block-start: 0 !important;
}

.sit-card .ic,
.uc .ic,
.val .ic,
.res-view .rv-ic {
    background: transparent !important;
    border: 1px solid currentColor;
    border-radius: 50% !important;
    color: var(--dpp-violet) !important;
}

.uc:hover,
.val:hover,
.cc:hover {
    border-color: var(--dpp-violet) !important;
    box-shadow: none !important;
    transform: none !important;
}

.why-grid .val {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgb(255 255 255 / 28%) !important;
    border-radius: 0 !important;
}

.why-grid .val h3 {
    font-size: clamp(1.2rem, 1.6vw, 1.4rem) !important;
    font-weight: 500 !important;
    line-height: 1.2;
}

.why-grid .val p {
    color: rgb(255 255 255 / 82%);
    font-size: 1rem;
    line-height: 1.6;
}

.band-ink .lead {
    color: rgb(255 255 255 / 72%) !important;
}

.band-ink .sit-card {
    background: rgb(255 255 255 / 5%) !important;
    border: 1px solid rgb(255 255 255 / 16%) !important;
    border-top-color: rgb(255 255 255 / 16%) !important;
    padding: 1.5rem !important;
}

.band-ink .sit-card:hover {
    background: rgb(24 168 216 / 15%) !important;
    border-color: var(--dpp-cyan) !important;
}

.band-ink .sit-card h3 {
    color: #fff !important;
}

.band-ink .sit-card p:last-child {
    color: rgb(255 255 255 / 70%) !important;
}

.band-ink .sit-card .ic {
    background: rgb(24 168 216 / 16%) !important;
    border-color: rgb(24 168 216 / 45%) !important;
    color: var(--dpp-cyan) !important;
}

#resolver .resolver__text .h2 {
    margin-inline: 0 !important;
    text-align: left;
}

#resolver .resolver__viz {
    max-width: none;
}

#referenzen .dpp-reference-slider {
    display: flex;
    overflow: hidden;
    scroll-snap-type: x mandatory;
}

#referenzen .dpp-reference-slide {
    background: #fff;
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
    min-height: 410px;
    scroll-snap-align: start;
}

#referenzen .dpp-reference-slide__logo {
    align-items: center;
    background: var(--dpp-ink);
    display: flex;
    justify-content: center;
    padding: clamp(2.5rem, 6vw, 5rem);
}

#referenzen .dpp-reference-slide__logo img {
    filter: brightness(0) invert(1);
    max-height: 100px;
    max-width: 100%;
}

#referenzen .dpp-reference-slide:first-child .dpp-reference-slide__logo {
    background: #fff;
}

#referenzen .dpp-reference-slide:first-child .dpp-reference-slide__logo img {
    filter: none;
    max-height: 150px;
}

#referenzen .dpp-reference-slide:nth-child(2) .dpp-reference-slide__logo {
    background: #fff;
}

#referenzen .dpp-reference-slide:nth-child(2) .dpp-reference-slide__logo img {
    filter: none;
    max-height: none;
    width: min(100%, 280px);
}

#referenzen .dpp-reference-slide:nth-child(3) .dpp-reference-slide__logo img {
    filter: none;
}

#referenzen .dpp-reference-slide:nth-child(3) .dpp-reference-slide__logo {
    background: #fff;
}

#referenzen .dpp-reference-slide__content {
    padding: clamp(2rem, 4vw, 4rem);
}

#referenzen .dpp-reference-slide__industry,
#referenzen .dpp-reference-slide__details span {
    color: var(--dpp-cyan);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#referenzen .dpp-reference-slide h3 {
    color: var(--dpp-ink);
    font-size: clamp(1.9rem, 3.5vw, 3.2rem);
    margin: .55rem 0 2rem;
}

#referenzen .dpp-reference-slide__details {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#referenzen .dpp-reference-slide__details p {
    color: rgb(1 41 52 / 72%);
    font-size: .92rem;
    line-height: 1.5;
    margin: .4rem 0 0;
}

#referenzen .dpp-reference-slide ul {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    list-style: none;
    margin: 2rem 0 0;
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--dpp-line);
}

#referenzen .dpp-reference-slide li {
    align-items: center;
    color: var(--dpp-ink);
    display: flex;
    font-size: .88rem;
    font-weight: 700;
    gap: .5rem;
}

#referenzen .dpp-reference-slide li svg {
    color: var(--dpp-cyan);
    height: 1rem;
    width: 1rem;
}

.dpp-reference-slider__pagination {
    display: flex;
    gap: .5rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.dpp-reference-slider__pagination button {
    background: rgb(1 41 52 / 22%);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    height: .55rem;
    padding: 0;
    transition: background .2s ease, transform .2s ease;
    width: .55rem;
}

.dpp-reference-slider__pagination button.is-active {
    background: var(--dpp-cyan);
    transform: scale(1.35);
}

.dpp-reference-slider__pause {
    background: transparent;
    border: 1px solid var(--dpp-ink);
    color: var(--dpp-ink);
    cursor: pointer;
    display: block;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    margin: 1rem auto 0;
    padding: .55rem .8rem;
}

.dpp-blog-teaser .news-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dpp-blog-teaser .kicker-row {
    grid-template-columns: 1fr;
}

.dpp-blog-teaser .kicker-row .h2 {
    max-width: none !important;
    width: 100%;
}

.dpp-blog-teaser .news {
    background: #fff !important;
    border: 1px solid var(--dpp-line) !important;
    border-top: 3px solid var(--dpp-cyan) !important;
    min-height: 100%;
    padding: 1.5rem !important;
}

.dpp-blog-teaser .news__meta {
    color: rgb(1 41 52 / 55%);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.dpp-blog-teaser .news h3 {
    color: var(--dpp-ink);
    font-size: 1.05rem;
    line-height: 1.15;
}

.dpp-blog-teaser .news p {
    color: rgb(1 41 52 / 66%);
}

.dpp-blog-teaser .news__more,
.dpp-blog-teaser__link a {
    color: var(--dpp-cyan);
    font-weight: 800;
}

.dpp-blog-teaser__link {
    margin-top: 2rem !important;
}

.steps .step__n {
    background: var(--dpp-cyan) !important;
    color: var(--dpp-ink) !important;
}

@media (max-width: 980px) {
    .dpp-blog-teaser .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    #resolver .resolver__viz {
        padding-inline: 0;
    }

    #referenzen .dpp-reference-slide {
        grid-template-columns: 1fr;
    }

    #referenzen .dpp-reference-slide__logo {
        min-height: 180px;
    }

    #referenzen .dpp-reference-slide__details {
        grid-template-columns: 1fr;
    }

    .dpp-blog-teaser .news-grid {
        grid-template-columns: 1fr;
    }
}

.dpp-blog .wp-block-post-template {
    display: grid !important;
    gap: 1.25rem !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.dpp-blog .wp-block-post-template > li {
    margin: 0 !important;
}

.dpp-blog .dpp-blog__post {
    background: #fff !important;
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid var(--dpp-line) !important;
    border-top: 3px solid var(--dpp-cyan) !important;
    box-shadow: 0 12px 30px rgb(1 41 52 / 8%) !important;
    padding: 1.5rem !important;
}

.dpp-blog .dpp-blog__post h2 {
    font-size: 1.05rem !important;
    line-height: 1.15 !important;
    margin: 1rem 0 !important;
}

.dpp-blog .dpp-blog__post .wp-block-post-excerpt {
    color: rgb(1 41 52 / 66%) !important;
    font-size: .85rem;
    line-height: 1.5;
}

.dpp-blog .dpp-blog__post .wp-block-post-excerpt {
    margin-bottom: 1.5rem !important;
}

.dpp-blog .dpp-blog__post .wp-block-read-more {
    color: var(--dpp-cyan) !important;
    font-weight: 800;
    margin-top: auto;
}

.dpp-blog .dpp-blog__intro.is-layout-constrained,
.dpp-blog .wp-block-query.is-layout-constrained {
    margin-inline: auto !important;
    max-width: 1240px !important;
    width: min(calc(100% - 3rem), 1240px) !important;
}

.dpp-blog__intro .h2 {
    margin-inline: 0 !important;
    text-align: left;
}

.dpp-blog .wp-block-query.is-layout-constrained > .wp-block-post-template {
    max-width: none !important;
    width: 100% !important;
}

@media (max-width: 700px) {
    .dpp-blog .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .dpp-blog .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }
}

.dpp-article {
    background: var(--dpp-mist);
    min-height: 100vh;
    padding: clamp(7rem, 12vw, 11rem) 1.5rem clamp(5rem, 10vw, 8rem);
}

.dpp-article__header,
.dpp-article > .wp-block-post-content {
    margin-inline: auto;
    max-width: 1240px !important;
}

.dpp-article .dpp-article__header.is-layout-constrained,
.dpp-article > .wp-block-post-content.is-layout-flow {
    margin-inline: auto !important;
    max-width: 1240px !important;
    width: min(calc(100% - 3rem), 1240px) !important;
}

main.dpp-article > .entry-content.wp-block-post-content.is-layout-constrained {
    margin-inline: auto !important;
    max-width: 1240px !important;
    width: min(calc(100% - 3rem), 1240px) !important;
}

.dpp-contact-form-section {
    background: linear-gradient(125deg, var(--dpp-violet) 0%, var(--dpp-cyan) 50%, var(--dpp-lime) 100%);
    box-sizing: border-box;
    display: grid;
    gap: clamp(2rem, 4vw, 4rem);
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
    max-width: none;
    min-height: calc(100vh - 160px);
    padding: clamp(8rem, 14vw, 12rem) max(1.5rem, calc((100% - 1240px - var(--dpp-scrollbar-width, 0px)) / 2)) clamp(5rem, 8vw, 8rem);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100vw;
}

.dpp-contact-form-section::before {
    background: url("../images/shield-check.svg") center / contain no-repeat;
    content: '';
    height: min(80vw, 880px);
    opacity: .34;
    position: absolute;
    right: -8%;
    top: 5%;
    transform: rotate(-7deg);
    width: min(78vw, 820px);
    z-index: -1;
}

.dpp-contact-form-section__intro,
.dpp-contact-form {
    position: relative;
    z-index: 1;
}

.dpp-contact-form-section__intro {
    align-self: start;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    transform: none !important;
}

.dpp-contact-form-section__intro h1 {
    color: #fff;
    font-size: clamp(2.6rem, 5vw, 5rem);
    font-weight: 400;
    letter-spacing: -.06em;
    line-height: .98;
    margin: 1rem 0 2rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 10ch;
}

.dpp-contact-form-section__intro > p:not(.eyebrow) {
    color: rgb(255 255 255 / 84%);
    font-size: 1.1rem;
    line-height: 1.55;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 42ch;
}

.dpp-contact-form-section__contact {
    border-top: 1px solid rgb(255 255 255 / 45%);
    display: grid;
    gap: .45rem;
    margin-top: 3rem;
    padding-top: 1.25rem;
}

.dpp-contact-form-section__contact strong {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -.015em;
    margin-top: 1.2rem;
}

.dpp-contact-form-section__contact > span {
    font-size: 18px !important;
    line-height: 1.55;
}

.dpp-contact-form-section__contact .dpp-check {
    align-items: center;
    border: 1px solid rgb(255 255 255 / 46%);
    border-radius: 50%;
    color: var(--dpp-lime);
    display: inline-flex;
    font-size: .72rem;
    height: 1.35rem;
    justify-content: center;
    margin-right: .65rem;
    width: 1.35rem;
}

.dpp-contact-form-section #forminator-module-351 .forminator-field:has(#html-intro) {
    border-bottom: 1px solid var(--dpp-line);
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem;
}

.dpp-contact-form-section #html-intro h2 {
    color: var(--dpp-ink);
    font-family: Asap, Arial, sans-serif;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1.02;
    margin: 0 0 .75rem;
}

.dpp-contact-form-section #html-intro p {
    color: rgb(1 41 52 / 68%);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    max-width: 36ch;
}

.dpp-contact-form-section__contact a {
    color: #fff;
    font-weight: 700;
}

.dpp-contact-form-section__contact span {
    color: rgb(255 255 255 / 72%);
    font-size: .9rem;
}

.dpp-contact-form {
    background: #fff;
    border: 1px solid var(--dpp-line);
    box-shadow: 0 20px 45px rgb(1 41 52 / 9%);
    padding: clamp(1.5rem, 4vw, 3rem);
}

.dpp-contact-form__fields {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dpp-contact-form label {
    color: var(--dpp-ink);
    display: grid;
    font-size: .78rem;
    font-weight: 800;
    gap: .55rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dpp-contact-form input,
.dpp-contact-form select,
.dpp-contact-form textarea {
    appearance: none;
    background: var(--dpp-mist);
    border: 1px solid transparent;
    border-radius: 0;
    color: var(--dpp-ink);
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    padding: .8rem .9rem;
    text-transform: none;
    width: 100%;
}

.dpp-contact-form input:focus,
.dpp-contact-form select:focus,
.dpp-contact-form textarea:focus {
    border-color: var(--dpp-cyan);
    outline: 0;
}

.dpp-contact-form__message {
    grid-column: 1 / -1;
}

.dpp-contact-form__company {
    grid-column: 1 / -1;
}

.dpp-contact-form textarea {
    resize: vertical;
}

.dpp-contact-form__consent {
    align-items: start;
    color: rgb(1 41 52 / 68%) !important;
    display: flex !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.45;
    margin: 1.5rem 0;
    text-transform: none !important;
}

.dpp-contact-form__consent input {
    appearance: auto;
    flex: 0 0 auto;
    height: 1rem;
    margin: .1rem .65rem 0 0;
    padding: 0;
    width: 1rem;
}

.dpp-contact-form button {
    background: var(--dpp-ink);
    border: 0;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: .95rem 1.2rem;
}

.dpp-contact-form button span {
    color: var(--dpp-cyan);
    margin-left: .5rem;
}

.dpp-contact-form__notice {
    margin: 0 0 1.25rem;
    padding: 1rem;
}

.dpp-contact-form__notice--success {
    background: rgb(22 186 231 / 12%);
    color: var(--dpp-ink);
}

.dpp-contact-form__notice--error {
    background: rgb(209 69 69 / 10%);
    color: #8d2626;
}

.dpp-contact-form-section .forminator-ui {
    align-self: start;
    background: #fff !important;
    border: 1px solid var(--dpp-line) !important;
    box-shadow: none !important;
    grid-row: 1;
    margin-top: 0;
    padding: clamp(1.5rem, 4vw, 3rem) !important;
}

.dpp-contact-form-section > #forminator-module-351 {
    justify-self: end;
    max-width: none !important;
}

.dpp-contact-form-section > p,
.dpp-contact-form-section > .forminator-edit-module {
    display: none;
}

.dpp-contact-form-section .forminator-ui .forminator-label {
    color: var(--dpp-ink);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dpp-contact-form-section .forminator-ui .forminator-row,
.dpp-contact-form-section .forminator-ui .forminator-field,
.dpp-contact-form-section .forminator-ui .forminator-col {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
}

.dpp-contact-form-section .forminator-ui .forminator-row {
    background: transparent;
    box-shadow: none;
    margin: 0 0 1.25rem !important;
    padding: 0;
}

.dpp-contact-form-section .forminator-ui .forminator-field-textarea {
    position: relative !important;
}

.dpp-contact-form-section .forminator-ui .forminator-description {
    color: rgb(1 41 52 / 48%) !important;
    font-size: .72rem !important;
    position: absolute;
    right: 0;
    top: 0;
    white-space: nowrap;
    display: none !important;
}

.dpp-contact-form-section .forminator-ui .forminator-input,
.dpp-contact-form-section .forminator-ui .forminator-textarea {
    background: var(--dpp-mist);
    border: 1px solid transparent;
    border-radius: 0;
    color: var(--dpp-ink);
    display: block !important;
    font-size: 18px !important;
    min-height: 2.75rem;
    width: 100% !important;
}

.dpp-contact-form-section .forminator-ui .forminator-textarea {
    min-height: 9rem !important;
}

.dpp-contact-form-section .forminator-ui .forminator-checkbox__wrapper {
    align-items: flex-start;
    display: flex;
    gap: .7rem;
}

.dpp-contact-form-section .forminator-ui .forminator-consent {
    flex: 0 0 auto;
    margin: .2rem 0 0;
}

.dpp-contact-form-section .forminator-ui .forminator-checkbox__label {
    flex: 1 1 auto;
    min-width: 0;
}

.dpp-contact-form-section .forminator-ui .forminator-checkbox__label p {
    margin: 0;
}

.dpp-contact-form-section .forminator-ui .forminator-input:focus,
.dpp-contact-form-section .forminator-ui .forminator-textarea:focus {
    border-color: var(--dpp-cyan);
}

.dpp-contact-form-section .forminator-ui .forminator-button-submit {
    background: var(--dpp-ink);
    border: 0;
    border-radius: 0;
    color: #fff;
    font: inherit;
    font-weight: 700;
    padding: .95rem 1.2rem;
}

.dpp-contact-form-section .forminator-ui .forminator-response-message[aria-hidden="false"],
.dpp-contact-form-section .forminator-ui .forminator-error-message {
    color: #8d2626;
    display: block;
    font-size: .85rem;
    line-height: 1.4;
    margin-top: .45rem;
}

.dpp-contact-form-section .forminator-ui .forminator-response-message[aria-hidden="false"] {
    background: rgb(209 69 69 / 10%);
    box-sizing: border-box;
    margin: 0 0 1rem;
    padding: .9rem 1rem;
    position: static;
    width: 100%;
}

.dpp-contact-form-section .forminator-ui .forminator-response-message[aria-hidden="true"] {
    display: none !important;
}

.dpp-contact-team {
    background: var(--dpp-mist);
    box-sizing: border-box;
    margin-left: calc(50% - 50vw);
    padding: clamp(5rem, 9vw, 9rem) max(1.5rem, calc((100% - 1240px - var(--dpp-scrollbar-width, 0px)) / 2));
    width: 100vw;
}

.dpp-contact-team__inner {
    margin-inline: auto;
    max-width: 1240px;
}

.dpp-contact-team__inner > h2 {
    font-size: clamp(2rem, 3vw, 3.5rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1.04;
    margin: 1rem 0 clamp(2.5rem, 5vw, 4rem);
}

.dpp-contact-team__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dpp-contact-team__card {
    display: flex;
    flex-direction: column;
}

.dpp-contact-team__card img {
    aspect-ratio: 1;
    display: block;
    margin-bottom: 1.25rem;
    object-fit: cover;
    width: 82%;
}

.dpp-contact-team__card h2 {
    font-size: 1.3rem;
    letter-spacing: -.02em;
    margin: 0 0 .75rem;
}

.dpp-contact-team__card > a:not(.dpp-contact-team__meeting) {
    color: rgb(1 41 52 / 76%);
    font-size: .9rem;
    line-height: 1.5;
}

.dpp-contact-team__meeting {
    color: var(--dpp-ink);
    font-size: .9rem;
    font-weight: 700;
    margin-top: 1.25rem;
}

@media (max-width: 980px) {
    .dpp-contact-team__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .dpp-contact-team__grid {
        grid-template-columns: 1fr;
    }
}

#ansatz .flow-shell {
    --flow-shell-padding: clamp(1.5rem, 3vw, 2.4rem);
    background: #fff !important;
    border: 1px solid var(--dpp-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px rgb(1 41 52 / 10%) !important;
    overflow: hidden;
    padding: var(--flow-shell-padding) !important;
}

#ansatz .flow {
    align-items: stretch;
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(0, 1fr) 2.5rem minmax(0, 1fr) 2.5rem minmax(0, 1fr);
}

#ansatz .flow__col {
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
}

#ansatz .flow__col h4 {
    color: rgb(1 41 52 / 62%);
    font-size: .76rem;
    letter-spacing: .1em;
    margin: 0 0 .9rem;
    text-align: center;
    text-transform: uppercase;
}

#ansatz .chip-list {
    display: grid;
    gap: .65rem;
    grid-template-rows: repeat(5, minmax(0, 1fr));
    min-height: 24rem;
}

#ansatz .chip {
    align-items: center;
    background: var(--dpp-mist) !important;
    border: 1px solid var(--dpp-line) !important;
    border-radius: .6rem !important;
    color: var(--dpp-ink);
    display: flex;
    font-size: .92rem;
    font-weight: 700;
    gap: .6rem;
    padding: .75rem .85rem !important;
}

#ansatz .chip svg,
#ansatz .flow__core li svg {
    color: var(--dpp-ink);
    flex: 0 0 auto;
    height: 2.2rem;
    width: 2.2rem;
}

#ansatz .flow__arrow {
    color: var(--dpp-cyan);
    flex: 0 0 auto;
    height: auto;
    width: 100%;
}

#ansatz .chip--hot {
    background: rgb(22 186 231 / 12%) !important;
    border-color: var(--dpp-cyan) !important;
}

#ansatz .flow__arrow {
    align-items: center;
    align-self: start;
    display: flex;
    justify-content: center;
    margin-top: -.55rem;
    overflow: visible;
    padding-top: 0;
}

#ansatz .flow__arrow svg {
    flex: 0 0 3.8125rem;
    height: 2rem;
    max-width: none;
    width: 3.8125rem !important;
}

#ansatz .flow__core {
    background: transparent !important;
    border: 0;
    border-radius: 0 !important;
    color: var(--dpp-ink);
    display: grid;
    box-sizing: border-box;
    gap: .65rem;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(5, minmax(0, 1fr));
    margin: 0;
    min-height: 24rem;
    padding: 0 !important;
    position: relative;
}

#ansatz .flow__col--core {
    position: relative;
}

#ansatz .flow__col--core::before {
    background: rgb(22 186 231 / 10%);
    content: '';
    inset-block: calc(-1 * var(--flow-shell-padding));
    inset-inline: -1.90625rem;
    position: absolute;
}

#ansatz .flow__col--core > * {
    position: relative;
    z-index: 1;
}

#ansatz .flow__core .lbl {
    color: rgb(255 255 255 / 70%);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-align: center;
    text-transform: uppercase;
}

#ansatz .flow__core .nm {
    align-items: center;
    display: flex;
    font-family: Asap, Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: .02em;
    justify-content: center;
    margin: 0;
    padding: .75rem .85rem;
    text-align: center;
}

#ansatz .flow__core .nm img {
    display: block;
    height: auto;
    max-width: 9rem;
    width: 72%;
}

#ansatz .flow__core ul {
    display: grid;
    gap: .65rem;
    grid-row: 2 / 6;
    grid-template-rows: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

#ansatz .flow__core li {
    align-items: center;
    background: var(--dpp-mist);
    border: 1px solid var(--dpp-line);
    color: var(--dpp-ink);
    border-radius: .6rem;
    display: flex;
    font-size: .92rem;
    font-weight: 700;
    gap: .6rem;
    padding: .75rem .85rem;
    justify-self: stretch;
    width: auto;
}

#ansatz .flow-tags {
    align-items: stretch;
    background: transparent;
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    justify-items: stretch;
    margin-top: 1.5rem;
    padding: 1rem;
    width: 100%;
}

#ansatz .flow-tags > p,
#ansatz .flow-tags span {
    align-items: center;
    background: var(--dpp-cyan);
    border: 1px solid var(--dpp-cyan);
    border-radius: .6rem;
    color: #fff;
    display: flex;
    font-size: .9rem;
    font-weight: 500;
    justify-content: center;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0;
    padding: .45rem .75rem;
    overflow-wrap: anywhere;
    text-align: center;
    width: 100% !important;
}


@media (max-width: 800px) {
    .dpp-contact-form-section {
        grid-template-columns: 1fr;
        padding-inline: 1.5rem;
    }

    #ansatz .flow {
        display: grid;
        grid-template-columns: 1fr;
    }

    #ansatz .flow__arrow {
        justify-content: center;
        transform: rotate(90deg);
    }

    #ansatz .flow-tags {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .dpp-contact-form__fields {
        grid-template-columns: 1fr;
    }

    #ansatz .flow-tags {
        grid-template-columns: 1fr;
    }
}

.dpp-article__header {
    border-bottom: 1px solid var(--dpp-line);
    margin-bottom: clamp(2rem, 5vw, 4rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.dpp-article__header .h2 {
    color: var(--dpp-ink);
    font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
    margin: 1rem 0 !important;
    max-width: 16ch !important;
}

.dpp-article__header .wp-block-post-date {
    color: rgb(1 41 52 / 60%);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpp-article .wp-block-post-content {
    color: rgb(1 41 52 / 76%);
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
    line-height: 1.6;
}

.ref__head,
.cc--feature {
    background: var(--dpp-gradient) !important;
    border-radius: 0 !important;
}

.footer {
    background: var(--dpp-ink) !important;
    position: relative;
    z-index: 1;
}

.footer .brand,
.footer .brand__name {
    color: #fff !important;
}

.footer__logo {
    filter: brightness(0) invert(1) !important;
    height: auto;
    width: 170px;
}

.footer__legal {
    display: flex;
    gap: 22px;
}

.reveal {
    opacity: 1 !important;
    transform: none !important;
}

@media (max-width: 980px) {
    .nav__inner {
        height: 75px;
        padding-inline: 1.5rem !important;
    }

    .nav__links,
    .nav__cta {
        display: none !important;
    }

    .dpp-site-header .wp-block-navigation.nav__links {
        display: block !important;
    }

    .dpp-site-header .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }

    .dpp-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    .dpp-site-header .wp-block-navigation__responsive-container {
        background: #fff !important;
    }

    .dpp-site-header .wp-block-navigation__responsive-container a {
        color: var(--dpp-ink) !important;
    }

    .burger {
        display: block !important;
    }

    .burger span {
        background: var(--dpp-ink) !important;
    }

    .mobile-menu {
        background: #fff !important;
    }

    .mobile-menu a {
        color: var(--dpp-ink) !important;
    }

    .hero::after {
        display: none;
    }

    .trust__logos {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .hero__grid {
        grid-template-columns: 1fr !important;
    }

    .hero::before {
        inset: 39% -48% auto auto !important;
        opacity: 0.24;
        position: fixed;
        width: 128vw !important;
    }

    .pass-wrap {
        justify-self: end;
        margin-top: 0;
        max-width: 480px !important;
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    .trust__inner {
        padding-inline: 1.25rem !important;
    }

    .nav__inner {
        padding-inline: 1.25rem !important;
    }

    .hero {
        min-height: auto;
    }

    .hero__grid {
        padding-inline: 1.25rem !important;
    }

    .hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.15rem) !important;
    }

    .trust__logos {
        gap: 1.15rem !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pass-wrap {
        max-width: 100% !important;
    }

    .pass__content {
        grid-template-columns: 1fr;
    }

    .pass__media {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .pass__details {
        grid-column: 1;
        grid-row: 2;
    }

    .pass__chip--a {
        bottom: auto;
        left: calc(100% - 139px);
        right: auto;
        top: 30px;
    }

    .pass__chip--b {
        left: calc(100% - 139px);
        right: auto;
        top: -14px;
    }

    .pass {
        box-shadow: 12px 12px 0 rgb(1 41 52 / 10%) !important;
    }

    .section {
        padding-block: 4.5rem !important;
    }

    .kicker-row .h2,
    .h2 {
        font-size: clamp(2rem, 9vw, 2.65rem) !important;
    }
}

/* Final shared type scale overrides page-specific legacy values. */
.eyebrow,
.hero__badge,
.kicker-row > p:first-child:not(.lead) {
    font-family: Asap, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.35 !important;
    text-transform: none !important;
}

.dpp-reference-slide__industry,
.dpp-reference-slide__details span,
.news__meta,
.dpp-blog__post time { font-size: 14px !important; font-weight: 500 !important; letter-spacing: .12em !important; line-height: 1.35 !important; }

.hero__badge,
.band-ink .kicker-row > p:first-child:not(.lead),
.dpp-contact-form-section .eyebrow {
    color: #fff !important;
}

.hero__badge svg {
    display: none;
}
.ind__tag,
.reg .tag,
.pass__ident,
.tier__term { font-size: .85rem !important; font-weight: 500 !important; letter-spacing: normal !important; line-height: 1.4 !important; }
.lead { font-size: clamp(1.1rem, 1.45vw, 1.3rem) !important; font-weight: 400 !important; line-height: 1.55 !important; }
.h2,
.kicker-row .h2 { font-size: clamp(2.25rem, 3.4vw, 3.75rem) !important; font-weight: 400 !important; line-height: 1.08 !important; }
.hero h1,
.dpp-contact-form-section__intro h1,
.dpp-blog h1,
.dpp-article h1 { font-size: 65px !important; font-weight: 400 !important; line-height: 1.02 !important; }
.uc h3,
.ind h3,
.news h3,
.tier__name,
.wp-block-post-content h3 { font-size: 18px !important; font-weight: 500 !important; line-height: 1.25 !important; }
.tier__price .amt { font-size: clamp(1.9rem, 2.8vw, 2.5rem) !important; font-weight: 400 !important; letter-spacing: -.02em; }

.wp-block-post-content p:not(.eyebrow),
.dpp-blog p:not(.eyebrow),
.dpp-article p:not(.eyebrow) {
    font-size: 18px !important;
}

.wp-block-post-content .dpp-partner-card > p {
    font-size: 13.6px !important;
}

.dpp-blog .dpp-blog__post h2,
.dpp-blog .dpp-blog__post h2 a {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.dpp-article .wp-block-post-content h2 {
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

.dpp-article .wp-block-post-content h3,
.dpp-article .wp-block-post-content h4 {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.dpp-article > .dpp-article__layout.wp-block-group {
    align-items: start;
    display: grid;
    gap: clamp(2.5rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 5fr) minmax(260px, 3fr);
    margin-inline: auto !important;
    max-width: 1240px !important;
    width: min(calc(100% - 3rem), 1240px) !important;
}

.dpp-article__layout > .wp-block-post-content {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.dpp-article__aside {
    align-self: start;
    background: var(--dpp-ink);
    border-radius: 10px;
    color: #fff;
    margin-block-start: 0 !important;
    padding: 30px;
    position: sticky;
    top: 8rem;
}

.dpp-article__aside h2 {
    color: #fff;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.15;
    margin: 0 0 .85rem;
}

.dpp-article__aside p {
    color: rgb(255 255 255 / 78%);
    font-size: 18px;
    line-height: 1.55;
    margin: 0 0 1.5rem;
}

.dpp-article__aside .wp-block-buttons {
    margin: 0;
}

.wp-block-post-content .dpp-article__aside .wp-block-button__link,
.dpp-article__aside .wp-block-button__link {
    background: #fff;
    border: 1px solid #fff;
    border-radius: 0;
    color: var(--dpp-ink) !important;
    font-size: 16px;
    font-weight: 700;
    padding: .8rem 1rem;
}

@media (max-width: 980px) {
    .dpp-article > .dpp-article__layout.wp-block-group {
        grid-template-columns: minmax(0, 1fr);
        width: 100% !important;
    }

    .dpp-article__aside {
        position: static;
    }

    .dpp-article .wp-block-table {
        overflow-x: auto;
    }
}

.dpp-article .dpp-article__header h1,
.dpp-blog .dpp-blog__intro h1 {
    font-size: 65px !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
}

.dpp-article .dpp-article__header h1 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    text-align: left;
    width: 100%;
}

.dpp-article .wp-block-post-content > .lead {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 70ch;
    text-align: left;
}

.dpp-article .wp-block-post-content {
    font-size: 18px !important;
}

.dpp-article .wp-block-post-content p,
.dpp-article .wp-block-post-content li,
.dpp-article .wp-block-post-content td,
.dpp-article .wp-block-post-content th,
.dpp-article .wp-block-post-content blockquote,
.dpp-article .wp-block-post-content cite,
.dpp-article .wp-block-post-content figcaption {
    font-size: 18px !important;
}
