/* Undo Bootstrap's element reboot inside the design: the pages were built against browser defaults */
#zp26 h1,#zp26 h2,#zp26 h3,#zp26 h4,#zp26 h5,#zp26 h6,#zp26 p,#zp26 ul,#zp26 ol,#zp26 dl,#zp26 dd,#zp26 blockquote,#zp26 figure,#zp26 figcaption,#zp26 hr,#zp26 pre,#zp26 address,#zp26 legend,#zp26 fieldset{margin:revert;padding:revert;font-size:revert;font-weight:revert;line-height:revert;color:revert;font-family:revert;border:revert;opacity:revert;}
#zp26 b,#zp26 strong{font-weight:revert;}
#zp26 small,#zp26 sub,#zp26 sup{font-size:revert;vertical-align:revert;position:revert;line-height:revert;}
#zp26 img,#zp26 svg{vertical-align:revert;}
#zp26 a,#zp26 a:hover{color:revert;text-decoration:revert;}
#zp26 button,#zp26 input,#zp26 select,#zp26 textarea,#zp26 label,#zp26 optgroup{margin:revert;font-family:revert;font-size:revert;line-height:revert;border-radius:revert;display:revert;text-transform:revert;appearance:revert;resize:revert;cursor:revert;}
#zp26 table,#zp26 th,#zp26 td,#zp26 caption{border-collapse:revert;caption-side:revert;text-align:revert;padding:revert;color:revert;border-color:revert;border-style:revert;border-width:revert;}
#zp26 iframe{border:revert;}
#zp26 summary{display:revert;cursor:revert;}
#zp26 abbr[title]{text-decoration:revert;cursor:revert;}
#zp26 mark{padding:revert;background-color:revert;}
#zp26 dialog{margin:revert;padding:revert;border:revert;}
/* ============================================================
       ZEROPOINT — Homepage design mockup
       Built on the Zeropoint Design System tokens (colors, type,
       spacing, radii, shadows). Light-first adaptation: the DS is
       dark-first; here we lead with its on-light surfaces and use
       navy (#101021) for the two meaningful dark sections.
       Accent rule (WCAG-verified): magenta-600 for accent text on
       white; gradient reserved for fills, the logo, and CTAs.
    ============================================================ */
#zp26{
      --zp-navy-950:#101021; --zp-navy-900:#1c1e3f; --zp-navy-800:#282d4d;
      --zp-magenta-600:#b52972; --zp-rose-500:#e74368; --zp-rose-600:#b82c75;
      --zp-slate-400:#7e7e9f; --zp-slate-600:#686881;
      --zp-white:#ffffff; --zp-gray-100:#dedede; --zp-gray-050:#f6f6f6;
      --brand-gradient:linear-gradient(257deg,#b52972 11.5%,#e74368 87.43%);

      --bg:#ffffff;
      --bg-alt:#f6f6f6;
      --bg-dark:#101021;
      --ink:#101021;
      --ink-2:#686881;
      --ink-3:#6f6f80;
      --on-dark:#ffffff;
      --on-dark-2:#a7a7bd;
      --accent:#b52972;
      --accent-2:#e74368;
      --hairline:rgba(16,16,33,.10);
      --hairline-2:rgba(16,16,33,.16);
      --hairline-dark:rgba(255,255,255,.14);

      --font-display:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
      --font-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

      --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px;
      --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;
      --space-20:80px; --space-24:96px;

      --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-full:999px;

      --container:1180px;
      --container-narrow:920px;
      --gutter:clamp(22px,5vw,44px);
      --section-y:clamp(54px,7vw,5rem);

      --ease:cubic-bezier(.2,.7,.2,1);
    }
#zp26 *, #zp26 *::before, #zp26 *::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
    @media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto;}
#zp26 *, #zp26 *::before, #zp26 *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
    }
#zp26{
      margin:0;font-family:var(--font-ui);font-size:17px;line-height:1.65;
      color:var(--ink-2);background:var(--bg);
      -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
    }
#zp26 h1, #zp26 h2, #zp26 h3, #zp26 h4{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.08;}
#zp26 p{margin:0;}
#zp26 a{color:inherit;text-decoration:none;}
#zp26 ul{margin:0;padding:0;list-style:none;}
#zp26 button{font-family:inherit;cursor:pointer;}
#zp26 svg{display:block;}
#zp26 ::selection{background:rgba(181,41,114,.16);}
#zp26 :focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px;}
#zp26 .container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
#zp26 .section{padding-block:var(--section-y);}
#zp26 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#zp26 #top{display:block;height:0;}
#zp26 #top:focus{outline:none;}
#zp26 .skip-link{position:absolute;left:16px;top:-70px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--radius-md);transition:top .2s var(--ease);}
#zp26 .skip-link:focus{top:16px;}
#zp26 .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0;}
#zp26 .eyebrow.on-dark{color:var(--zp-rose-500);}
#zp26 .eyebrow.center{justify-content:center;}
#zp26 .display{font-size:clamp(44px,6.2vw,78px);letter-spacing:-.035em;line-height:1.04;text-wrap:balance;}
#zp26 .h2{font-size:clamp(29px,4.1vw,50px);letter-spacing:-.025em;line-height:1.05;text-wrap:balance;}
#zp26 .lead{font-size:clamp(18px,1.55vw,21px);line-height:1.55;color:var(--ink-2);font-weight:400;}
#zp26 .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-ui);font-weight:600;font-size:15px;line-height:1;padding:15px 24px;border-radius:var(--radius-md);border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .2s var(--ease),color .2s var(--ease);white-space:nowrap;}
#zp26 .btn svg{width:16px;height:16px;}
#zp26 .btn .arrow{transition:transform .25s var(--ease);}
#zp26 .btn:hover .arrow{transform:translateX(4px);}
#zp26 .btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 10px 30px -12px rgba(181,41,114,.55);}
#zp26 .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(181,41,114,.6);}
#zp26 .btn-secondary{background:transparent;color:var(--ink);border-color:var(--hairline-2);}
#zp26 .btn-secondary:hover{background:var(--bg-alt);border-color:var(--ink);}
#zp26 .btn-ghost-dark{background:rgba(255,255,255,.06);color:#fff;border-color:var(--hairline-dark);}
#zp26 .btn-ghost-dark:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
#zp26 .btn-sm{padding:11px 18px;font-size:14px;}
#zp26 .link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ink);padding:12px 2px;transition:color .2s var(--ease);}
#zp26 .link-arrow svg{width:16px;height:16px;transition:transform .25s var(--ease);}
#zp26 .link-arrow:hover{color:var(--accent);}
#zp26 .link-arrow:hover svg{transform:translateX(4px);}
#zp26 .brand-logo{height:26px;width:auto;display:block;}
#zp26 .brand-logo.sm{height:24px;}/* HEADER */
#zp26 .site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);border-bottom:1px solid transparent;}
#zp26 .site-header.scrolled{background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom-color:var(--hairline);}
#zp26 .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:24px;}
#zp26 .nav-links{display:flex;align-items:center;gap:2px;}
#zp26 .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-2);padding:9px 13px;border-radius:8px;white-space:nowrap;transition:color .2s var(--ease),background .2s var(--ease);}
#zp26 .nav-links a:hover{color:var(--ink);background:var(--bg-alt);}
#zp26 .nav-links a[aria-current="page"]{color:var(--ink);}
#zp26 .nav-right{display:flex;align-items:center;gap:14px;}
#zp26 .lang{display:inline-flex;align-items:center;gap:1px;border:1px solid var(--hairline-2);border-radius:var(--radius-full);padding:3px;}
#zp26 .lang a{border:0;background:transparent;color:var(--ink-3);font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:var(--radius-full);transition:all .2s var(--ease);}
#zp26 .lang a[aria-pressed="true"]{background:var(--ink);color:#fff;}
#zp26 .nav-toggle{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--hairline-2);background:transparent;color:var(--ink);align-items:center;justify-content:center;}
#zp26 .nav-toggle svg{width:22px;height:22px;}
#zp26 .mobile-nav{position:fixed;inset:74px 0 0 0;z-index:99;background:var(--bg);padding:20px var(--gutter) 40px;transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;overflow-y:auto;border-top:1px solid var(--hairline);}
#zp26 .mobile-nav.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;}
#zp26 .mobile-nav a{display:block;text-align:left;font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--ink);padding:15px 16px;border-bottom:1px solid var(--hairline);transition:background .2s var(--ease),color .2s var(--ease);}/* the menu sits on white, so white text needs a fill behind it */
#zp26 .mobile-nav a:not(.btn):hover, #zp26 .mobile-nav a:not(.btn):focus-visible{background:var(--brand-gradient);color:#fff;}/* .mobile-nav a outranks .btn-primary, so the CTA needs its own colour
       and flex centring handing back */
#zp26 .mobile-nav a.btn{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;}
#zp26 .mobile-nav .btn{margin-top:24px;width:100%;}/* HERO */
#zp26 .hero-space{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(85% 80% at 63% 40%,rgba(231,67,104,.045),transparent 58%),radial-gradient(70% 85% at 28% 26%,rgba(126,126,159,.05),transparent 64%);}
#zp26 .hero-lines{position:absolute;inset:0;width:100%;height:100%;display:block;}
#zp26 .hero-lines--far{opacity:.7;filter:blur(7px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 50%,transparent 76%);mask-image:linear-gradient(to bottom,#000 0%,#000 50%,transparent 76%);}
#zp26 .hero-lines--near{filter:blur(2px);-webkit-mask-image:linear-gradient(to bottom,transparent 46%,#000 74%,#000 100%);mask-image:linear-gradient(to bottom,transparent 46%,#000 74%,#000 100%);}
#zp26 .hero .container{position:relative;z-index:1;}
#zp26 .hero{position:relative;padding-top:150px;padding-bottom:calc(var(--section-y) / 2);overflow:hidden;}
#zp26 .cap-strip{padding-block:var(--section-y);}
#zp26 .hero-inner{display:grid;grid-template-columns:2fr 1fr;gap:clamp(20px,2.2vw,30px);align-items:center;}
#zp26 .hero-copy{position:relative;z-index:1;}
#zp26 .hero-eyebrow{margin-bottom:22px;}
#zp26 .hero h1{margin:0;}
#zp26 .hero .display{font-size:clamp(34px,4.4vw,55px);line-height:1.05;}
#zp26 .hero .lead{margin-top:20px;max-width:none;font-size:clamp(15px,1.12vw,16.5px);line-height:1.5;}
#zp26 .hero-proof{margin-top:16px;font-size:clamp(12px,0.95vw,13.5px);color:var(--ink-3);max-width:none;}
#zp26 .hero-proof b{color:var(--ink-2);font-weight:600;}
#zp26 .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;align-items:center;}
#zp26 .hero-visual{position:relative;}
#zp26 .hero-bento{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(92px,auto));gap:12px;grid-template-areas:"s1 img1" "img2 img1" "img2 s2" "s3 s4";}
#zp26 .hb{border-radius:16px;padding:15px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:92px;}
#zp26 .hb-tag{font-family:var(--font-ui);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:.74;line-height:1.3;}
#zp26 .hb-num{font-family:var(--font-display);font-weight:600;font-size:clamp(23px,2.3vw,31px);letter-spacing:-.03em;line-height:.9;}
#zp26 .hb-num .u{font-size:.5em;font-weight:500;opacity:.74;margin-left:.03em;}
#zp26 .hb.s1{grid-area:s1;background:var(--brand-gradient);color:#fff;}
#zp26 .hb.s2{grid-area:s2;background:var(--zp-navy-950);color:#fff;}
#zp26 .hb.s3{grid-area:s3;background:var(--bg-alt);color:var(--ink);border:1px solid var(--hairline);}
#zp26 .hb.s4{grid-area:s4;background:linear-gradient(210deg,#e74368,#b52972);color:#fff;}
#zp26 .hb-img{border-radius:16px;overflow:hidden;background:var(--bg-alt);min-height:150px;position:relative;}
#zp26 .hb-img.img1{grid-area:img1;}
#zp26 .hb-img.img2{grid-area:img2;}
#zp26 .hb-photo{width:100%;height:100%;object-fit:cover;display:block;}/* centred rather than spread, so a wrapped second row centres too instead of
       stranding items at the edges; the gap keeps the desktop row near full width */
#zp26 .cap-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px clamp(18px,2.5vw,36px);}
#zp26 .cap-inner li{font-family:var(--font-display);font-size:clamp(14px,1.35vw,17px);font-weight:500;color:var(--ink-3);white-space:nowrap;}/* METRICS */
#zp26 .metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,20px);}
#zp26 .metric{padding-top:26px;border-top:1px solid var(--hairline-2);}
#zp26 .metric .num{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,5.6vw,64px);letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
#zp26 .metric .num em{font-style:normal;color:var(--ink);}
#zp26 .metric .lbl{margin-top:16px;font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:22ch;}/* ---- STATS row ---- */
#zp26 .stats-panel{padding:0;}
#zp26 .stats-intro{font-size:clamp(15px,1.35vw,18px);color:var(--ink-2);letter-spacing:-.01em;line-height:1.55;max-width:56ch;margin-bottom:clamp(56px,9vw,132px);}
#zp26 .stats-row{display:flex;justify-content:space-between;align-items:stretch;gap:24px;}
#zp26 .stat{display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(210px,24vw,288px);padding:clamp(20px,3vw,44px) clamp(30px,3vw,52px) 0 clamp(18px,1.8vw,28px);border-left:1px solid var(--hairline-2);}
#zp26 .stat:last-child{padding-right:0;}
#zp26 .stat-lbl{font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;color:var(--ink-2);}
#zp26 .stat-num{font-family:var(--font-display);font-weight:500;letter-spacing:-.04em;line-height:.85;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(42px,5.4vw,78px);white-space:nowrap;}
#zp26 .stat-num .u{font-size:.36em;letter-spacing:0;color:var(--accent);font-weight:500;margin-left:.03em;}
    @media (max-width:760px){
#zp26 .stats-intro{margin-bottom:36px;}
#zp26 .stats-row{display:grid;grid-template-columns:1fr 1fr;row-gap:40px;column-gap:24px;}
#zp26 .stat{min-height:auto;padding-top:0;padding-right:0;gap:22px;}
    }/* PILLARS */
#zp26 .head-row{display:flex;flex-direction:column;gap:18px;max-width:var(--container-narrow);}
#zp26 .head-row .h2{margin:0;}
#zp26 .pillars{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,auto);gap:0 clamp(16px,1.8vw,24px);margin-top:clamp(48px,6vw,80px);}
#zp26 .pillar{position:relative;grid-row:span 5;display:grid;grid-template-rows:subgrid;background:#f1f4fb;border-radius:var(--radius-lg);padding:clamp(26px,2.2vw,34px);border:1px solid transparent;background-clip:padding-box,border-box;background-image:linear-gradient(#f1f4fb,#f1f4fb),linear-gradient(#f1f4fb,#f1f4fb);background-origin:border-box;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-image .3s var(--ease);}
#zp26 .pillars .pillar:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 24px 48px -24px rgba(16,16,33,.22);background-image:linear-gradient(#f1f4fb,#f1f4fb),var(--brand-gradient);}
#zp26 .pillar .idx{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.02em;}
#zp26 .pillar-icon{width:40px;height:40px;border-radius:11px;background:rgba(16,16,33,.05);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
#zp26 .pillar-icon svg{width:19px;height:19px;color:var(--accent);}
#zp26 .pillar h3{font-size:22px;margin-top:0;letter-spacing:-.02em;}
#zp26 .pillar .desc{margin-top:12px;font-size:15.5px;line-height:1.55;color:var(--ink-2);}
#zp26 .pillar ul{margin-top:24px;margin-bottom:30px;display:flex;flex-direction:column;gap:13px;}
#zp26 .pillar li{display:flex;gap:11px;font-size:14.5px;line-height:1.45;color:var(--ink);}
#zp26 .pillar li svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:3px;}
#zp26 .pillar-quote{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;border-top:1px solid rgba(16,16,33,.10);padding-top:22px;}
#zp26 .pillar-quote blockquote{margin:0;font-size:14px;line-height:1.5;color:var(--ink);}
#zp26 .pillar-quote .cite{font-size:14px;}
#zp26 .pillar-quote .cite span{font-size:13px;}/* margin:0 so a <figure> variant is not indented by the UA default (1em 40px).
       Accent rule down the left, matching .story-quote: every quote that is not
       inside a card carries it. */
#zp26 .pullquote{margin:0;max-width:var(--container-narrow);border-left:2px solid var(--accent);padding-left:clamp(22px,2.6vw,34px);}/* One attribution format for every quote on the site: name on its own line,
       company beneath it in muted grey, no avatar. Only the size varies by context. */
#zp26 .cite b{display:block;color:var(--ink);font-weight:600;letter-spacing:-.01em;}
#zp26 .cite span{display:block;margin-top:4px;color:var(--ink-3);}
#zp26 .pullquote blockquote{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.7vw,32px);line-height:1.32;letter-spacing:-.02em;color:var(--ink);margin:0;}
#zp26 .pullquote .cite{margin-top:24px;font-size:17px;}
#zp26 .pullquote .cite span{font-size:15px;}
#zp26 .stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,5vw,64px);}
#zp26 .story-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:clamp(24px,2.4vw,32px);transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease);}
#zp26 .story-card:hover{border-color:var(--hairline-2);box-shadow:0 18px 40px -26px rgba(16,16,33,.22);transform:translateY(-2px);}
#zp26 .story-card blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(16px,1.3vw,19px);line-height:1.44;letter-spacing:-.01em;color:var(--ink);}
#zp26 .story-card .cite{display:flex;align-items:center;gap:12px;font-size:14.5px;}
#zp26 .story-card .av{width:40px;height:40px;border-radius:50%;background:var(--brand-gradient);flex:none;}
#zp26 .story-card:nth-child(2) .av{background:linear-gradient(210deg,#282d4d,#1c1e3f);}
#zp26 .story-card:nth-child(3) .av{background:linear-gradient(210deg,#7e7e9f,#282d4d);}
#zp26 .story-card .cite b{color:var(--ink);font-weight:600;}
#zp26 .story-card .cite span{color:var(--ink-3);}
    @media (max-width:880px){
#zp26 .stories-grid{grid-template-columns:1fr;}}/* DARK — Problem */
#zp26 .dark{background:var(--bg-dark);color:var(--on-dark-2);}
#zp26 .dark h2, #zp26 .dark h3{color:#fff;}
#zp26 .problem-head{max-width:var(--container-narrow);}
#zp26 .problem-head .h2{margin-top:18px;}
#zp26 .problem-head p:not(.eyebrow){margin-top:20px;font-size:clamp(17px,1.5vw,20px);color:var(--on-dark-2);}
#zp26 .problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(48px,6vw,72px);background:var(--hairline-dark);border:1px solid var(--hairline-dark);border-radius:var(--radius-lg);overflow:hidden;}
#zp26 .problem{background:var(--bg-dark);padding:clamp(26px,3vw,38px);transition:background .3s var(--ease);}
#zp26 .problem:hover{background:var(--zp-navy-900);}
#zp26 .problem h3{font-family:var(--font-ui);font-size:17px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;}
#zp26 .problem h3::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-gradient);flex:none;}
#zp26 .problem p{margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--on-dark-2);}/* OPERATING MODEL */
#zp26 .tend-head{max-width:var(--container-narrow);}
#zp26 .tend-head .eyebrow{margin-bottom:20px;}
#zp26 .tend-head .h2{margin:0;}
#zp26 .philo-panel{position:relative;overflow:hidden;border-radius:22px;background:var(--zp-navy-950);padding:clamp(44px,7vw,104px) clamp(30px,5vw,80px);}
#zp26 .philo-panel::before, #zp26 .philo-panel::after{content:"";position:absolute;top:-30%;bottom:-30%;pointer-events:none;}
#zp26 .philo-panel::before{right:-6%;width:46%;background:linear-gradient(115deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 55%,transparent);transform:skewX(-14deg);}
#zp26 .philo-panel::after{right:22%;width:16%;background:linear-gradient(115deg,rgba(255,255,255,.06),transparent 70%);transform:skewX(-14deg);}
#zp26 .philo-panel .tend-head{position:relative;z-index:1;max-width:none;}
#zp26 .philo-panel .tend-statement{color:#fff;margin-top:0;font-size:clamp(28px,3.4vw,44px);}
#zp26 .philo-panel .tend-statement .soft{color:#fff;}
#zp26 .philo-panel .tend-sub{color:var(--zp-slate-400);font-size:clamp(14.5px,1.15vw,16px);line-height:1.6;max-width:62ch;margin-top:28px;}/* centred the same way as the philosophy panel on how-we-work */
#zp26 .philo-panel{text-align:center;}
#zp26 .philo-panel .tend-statement{margin-inline:auto;}
#zp26 .philo-panel .tend-sub{margin-inline:auto;}
#zp26 .tend-statement{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,3vw,38px);line-height:1.28;letter-spacing:-.025em;color:var(--ink);margin-top:20px;}
#zp26 .tend-statement .soft{color:var(--ink-2);}
#zp26 .tend-sub{margin-top:24px;font-size:clamp(17px,1.5vw,19px);color:var(--ink-2);max-width:56ch;}
#zp26 .tend-note{display:inline-flex;align-items:center;gap:9px;margin-top:28px;font-size:14px;font-weight:500;color:var(--accent);}
#zp26 .tend-note svg{width:16px;height:16px;}
#zp26 .lanes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,40px);margin-top:clamp(48px,6vw,80px);}
#zp26 .lane{padding-top:24px;border-top:2px solid var(--ink);}
#zp26 .lane h3{font-size:19px;letter-spacing:-.02em;}
#zp26 .lane p{margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--ink-2);}/* an intra-section gap, so it has to stay clearly under the ~160px that
       separates one section from the next */
#zp26 .tend-quotes{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;}
#zp26 .tend-quote{margin:0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(380px,34vw,460px);background:var(--bg-alt);border:1px solid var(--hairline);border-radius:20px;padding:clamp(30px,3.2vw,46px);}
#zp26 .tend-quote .qmark{position:absolute;bottom:-12%;right:-4%;width:52%;height:auto;color:var(--ink);opacity:.045;}
#zp26 .tend-quote blockquote{position:relative;font-family:var(--font-display);font-weight:500;font-size:clamp(17px,1.45vw,20px);line-height:1.5;letter-spacing:-.015em;color:var(--ink);margin:0;}
#zp26 .tend-quote .cite{position:relative;margin-top:32px;font-size:clamp(17px,1.4vw,20px);}
#zp26 .tend-quote .cite span{font-size:15px;}
    @media (max-width:760px){
#zp26 .tend-quotes{grid-template-columns:1fr;}}
#zp26 .tend-head.center{max-width:880px;margin-inline:auto;text-align:center;}
#zp26 .tend-head.center .eyebrow{justify-content:center;margin-bottom:22px;}
#zp26 .tend-head.center .tend-sub{margin-inline:auto;}
#zp26 .tend-title{font-family:var(--font-display);font-weight:600;font-size:clamp(29px,4.1vw,50px);letter-spacing:-.025em;line-height:1.05;color:var(--ink);text-wrap:balance;margin:0;}
#zp26 .tend-title em{font-style:normal;color:var(--ink);}
#zp26 .lane-panel{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
#zp26 .lane-row{display:block;}
#zp26 .lane-bar{height:100%;border-radius:var(--radius-md);padding:22px;background:#f1f4fb;border:1px solid transparent;background-clip:padding-box,border-box;background-image:linear-gradient(#f1f4fb,#f1f4fb),linear-gradient(#f1f4fb,#f1f4fb);background-origin:border-box;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-image .3s var(--ease);}
#zp26 .lane-row:hover .lane-bar{transform:translateY(-4px) scale(1.015);box-shadow:0 24px 48px -24px rgba(16,16,33,.22);background-image:linear-gradient(#f1f4fb,#f1f4fb),var(--brand-gradient);}
#zp26 .lane-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
#zp26 .lane-icon svg{width:17px;height:17px;color:#fff;}
#zp26 .lane-name{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink);display:block;margin-bottom:8px;}
#zp26 .lane-bar p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2);}
    @media (max-width:860px){
#zp26 .lane-panel{grid-template-columns:1fr 1fr;}}
    @media (max-width:560px){
#zp26 .lane-panel{grid-template-columns:1fr;}}/* CTA *//* the CTA band carries less copy than a normal section, so it needs less
       vertical padding to avoid reading as empty space *//* 7rem (112px) of white before the dark end-of-page band; the section above
       already contributes --section-y, so only add the remainder */
#zp26 .cta{position:relative;overflow:hidden;text-align:center;padding-block:calc(var(--section-y) * 1.25);margin-top:max(0px, calc(clamp(4.5rem,9vw,7rem) - var(--section-y)));}
#zp26 .cta .glow{position:absolute;left:50%;top:-46%;width:min(1500px,150%);height:820px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(181,41,114,.42),rgba(231,67,104,.14) 46%,transparent 72%);filter:blur(46px);pointer-events:none;}
#zp26 .cta-inner{position:relative;z-index:1;max-width:900px;margin-inline:auto;}
#zp26 .cta .h2{margin-top:12px;}
#zp26 .cta p:not(.eyebrow){margin:22px auto 0;max-width:78ch;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--on-dark-2);}
#zp26 .cta-buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px;}/* FOOTER */
#zp26 .site-footer{background:var(--bg-dark);color:var(--on-dark-2);padding-block:clamp(60px,7vw,90px) 36px;border-top:1px solid var(--hairline-dark);}
#zp26 .foot-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;}
#zp26 .foot-brand .brand-logo{margin-bottom:22px;}
#zp26 .foot-brand p{font-size:14.5px;line-height:1.6;color:var(--on-dark-2);max-width:32ch;}
#zp26 .foot-contact{margin-top:24px;display:flex;flex-direction:column;gap:9px;}
#zp26 .foot-contact a{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:#fff;width:fit-content;transition:color .2s var(--ease);}
#zp26 .foot-contact a:hover{color:var(--zp-rose-500);}
#zp26 .foot-contact svg{width:15px;height:15px;color:var(--on-dark-2);}
#zp26 .foot-col h4{font-family:var(--font-ui);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--zp-slate-400);margin-bottom:16px;}
#zp26 .foot-col a{display:block;font-size:14.5px;color:var(--on-dark-2);padding:8px 0;transition:color .2s var(--ease);}/* these are descriptions, not destinations — no link, no hover, no pointer */
#zp26 .foot-plain{margin:0;padding:0;list-style:none;}
#zp26 .foot-plain li{display:block;font-size:14.5px;line-height:1.5;color:var(--on-dark-2);padding:8px 0;cursor:default;}
#zp26 .foot-col a:hover{color:#fff;}
#zp26 .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:clamp(48px,6vw,72px);padding-top:26px;border-top:1px solid var(--hairline-dark);}
#zp26 .foot-bottom p{font-size:13px;color:var(--zp-slate-400);}
#zp26 .foot-bottom .legal{display:flex;gap:22px;}
#zp26 .foot-bottom .legal a{font-size:13px;color:var(--zp-slate-400);transition:color .2s var(--ease);}
#zp26 .foot-bottom .legal a:hover{color:#fff;}
#zp26 [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
#zp26 [data-reveal].vis{opacity:1;transform:none;}
#zp26 [data-reveal][data-d="1"]{transition-delay:.06s;}
#zp26 [data-reveal][data-d="2"]{transition-delay:.12s;}
#zp26 [data-reveal][data-d="3"]{transition-delay:.18s;}
    @media (prefers-reduced-motion:reduce){
#zp26 [data-reveal]{opacity:1;transform:none;}
#zp26 .cap-marquee{animation:none;}}

    @media (max-width:960px){
#zp26 .nav-links, #zp26 .nav-right .lang, #zp26 .nav-right .btn{display:none;}
#zp26 .nav-toggle{display:inline-flex;}
#zp26 .hero{padding-top:120px;}
#zp26 .hero-inner{grid-template-columns:1fr;gap:8px;}/* once the hero stacks the collage runs full width, with a little room
         above it so it reads as its own block under the copy */
#zp26 .hero-visual{max-width:none;margin:32px auto 0;width:100%;}/* full width makes these cards very wide, so they need more height and
         bigger type to stay in proportion */
#zp26 .hero-bento{grid-template-rows:repeat(4,minmax(132px,auto));gap:14px;}
#zp26 .hb{min-height:132px;padding:20px 22px;}
#zp26 .hb-tag{font-size:12px;}
#zp26 .hb-num{font-size:38px;}
#zp26 .hero .lead, #zp26 .hero-proof{max-width:56ch;}
#zp26 .metrics-grid{grid-template-columns:1fr 1fr;gap:36px 28px;}
#zp26 .pillars{grid-template-columns:1fr;grid-template-rows:none;gap:16px;}
#zp26 .pillar{padding:clamp(22px,5vw,28px);display:flex;flex-direction:column;grid-row:auto;}
#zp26 .pillar:first-child{margin-top:0;}
#zp26 .problem-grid{grid-template-columns:1fr 1fr;}
#zp26 .lanes{grid-template-columns:1fr 1fr;gap:34px 28px;}
#zp26 .foot-top{grid-template-columns:1fr 1fr;gap:32px;}
#zp26 .foot-brand{grid-column:1/-1;}
    }
    @media (max-width:560px){
#zp26{font-size:16px;}
#zp26 .metrics-grid{grid-template-columns:1fr;gap:28px;}
#zp26 .problem-grid{grid-template-columns:1fr;}
#zp26 .lanes{grid-template-columns:1fr;gap:30px;}
#zp26 .foot-top{grid-template-columns:1fr;}
#zp26 .foot-bottom{flex-direction:column;align-items:flex-start;}
#zp26 .cap-inner{justify-content:center;gap:12px 22px;}/* the bento is two narrow columns here, so the type that suits the wide
         tablet cards has to come back down */
#zp26 .hero-bento{grid-template-rows:repeat(4,minmax(112px,auto));gap:12px;}
#zp26 .hb{min-height:112px;padding:15px 16px;}
#zp26 .hb-tag{font-size:10.5px;}
#zp26 .hb-num{font-size:27px;}
#zp26 .hero-cta .btn, #zp26 .hero-cta .link-arrow{width:100%;}/* the button goes full width here, so the link under it centres to match
         instead of hanging off the left edge */
#zp26 .hero-cta .btn, #zp26 .hero-cta .link-arrow{justify-content:center;}
    }
  
/* Odoo/Bootstrap leak guards */
#zp26 .lang a{text-decoration:none;}
#zp26 .nav{flex-wrap:nowrap;padding-left:0;margin-bottom:0;list-style:none;}
#zp26 .btn-primary:hover,#zp26 .btn-primary:focus-visible,#zp26 .btn-primary:active{color:#fff;}
#zp26 .btn-secondary:hover,#zp26 .btn-secondary:focus-visible,#zp26 .btn-secondary:active{color:var(--ink);}
#zp26 .btn:focus-visible{box-shadow:none;}
#zp26 a:hover{text-decoration:none;}
