:root{--ink:#111;--ink-soft:#1119;--ink-muted:#11111173;--brand:#547afd;--brand-deep:#2f53d8;--brand-700:#3a5fe0;--line:#e7e5e1;--tint:#fafafb;--mono:"JetBrains Mono", ui-monospace, monospace;--sec:#2f53d8;--sec-bg:#eef2fe;--sec-deep:#1d2c66}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;font-family:Switzer,Inter Tight,system-ui,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}.hdr{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);background:#ffffffdb;justify-content:space-between;align-items:center;height:68px;padding:0 24px;display:flex;position:sticky;top:0}.hdr-left{align-items:center;gap:20px;display:flex}.hdr img{width:auto;height:26px;display:block}.hdr .back{color:var(--ink-soft);border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;transition:background .14s;display:inline-flex}.hdr .back:hover{background:#f6f5f3}.btn{background:var(--brand);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{background:var(--brand-700)}.chero{background:radial-gradient(55% 60% at 18% 18%, #2f53d81a, transparent 72%), radial-gradient(48% 55% at 84% 24%, #47556921, transparent 70%), var(--tint);border-bottom:1px solid var(--line);padding:64px 24px 30px;position:relative;overflow:hidden}.chero:before{content:"";background-image:conic-gradient(#ffffff42 25%, transparent 0 50%, #ffffff42 0 75%, transparent 0), conic-gradient(#1e29480b 25%, transparent 0 50%, #1e29480b 0 75%, transparent 0);pointer-events:none;background-position:0 0,32px 32px;background-size:64px 64px,128px 128px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#000 25%,#0000 78%);mask-image:radial-gradient(at 50% 30%,#000 25%,#0000 78%)}.chero .inner{text-align:center;max-width:1100px;margin:0 auto;position:relative}.chero .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brand-700);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.chero h1{letter-spacing:-.025em;margin-top:12px;font-size:clamp(26px,3.4vw,40px);font-weight:500;line-height:1.1}.chero .sub{color:var(--ink-soft);max-width:64ch;margin-top:14px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.6}.chero .stats{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:14px 30px;margin-top:26px;font-size:13.5px;display:flex}.chero .stats b{font-family:var(--mono);color:var(--brand-deep);margin-right:6px;font-size:15px;font-weight:700}.filterbar{z-index:45;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);background:#ffffffed;padding:13px 16px;position:sticky;top:61px}.filterbar .fb-inner{flex-wrap:wrap;align-items:center;gap:8px;max-width:1180px;margin:0 auto;display:flex}.fb-lab{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);flex:none;margin-right:4px;font-size:10.5px}.chip{cursor:pointer;white-space:nowrap;color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:99px;flex:none;align-items:center;gap:7px;padding:7px 15px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{color:var(--ink);border-color:#cfccc7}.chip .dot{background:var(--cdot,#999);border-radius:50%;width:8px;height:8px}.chip .ct{font-family:var(--mono);color:var(--ink-muted);font-size:10.5px}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.active .ct{color:#fff9}.wall-wrap{max-width:1180px;margin:0 auto;padding:30px 16px 80px}.wall-count{font-family:var(--mono);color:var(--ink-muted);margin-bottom:18px;font-size:12px}.wall-count b{color:var(--ink)}.wall{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.logo-card{cursor:pointer;text-align:left;border:1px solid var(--line);aspect-ratio:16/10;background:#fff;border-radius:14px;justify-content:center;align-items:center;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.logo-card img{-o-object-fit:contain;object-fit:contain;filter:grayscale();opacity:.62;width:auto;max-width:74%;height:auto;max-height:46px;transition:filter .2s,opacity .2s,transform .2s}.logo-card img[alt^=Unilever]{max-width:50%;max-height:78px}.logo-card .lc-over{opacity:0;background:linear-gradient(#fff0,#fffffff5);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;transition:opacity .18s,transform .18s;display:flex;position:absolute;inset:auto 0 0;transform:translateY(6px)}.logo-card .lc-sec{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);align-items:center;gap:6px;font-size:9.5px;display:flex}.logo-card .lc-sec i{border-radius:50%;width:7px;height:7px}.logo-card .lc-go{color:var(--brand-deep);flex:none;font-size:11px;font-weight:600}.logo-card:hover{border-color:#d8d6d1;transform:translateY(-3px);box-shadow:0 18px 38px -22px #1111114d}.logo-card:hover img{filter:grayscale(0);opacity:1;transform:translateY(-7px)scale(1.02)}.logo-card:hover .lc-over{opacity:1;transform:translateY(0)}.logo-card[hidden]{display:none}.logo-card:has(.logo-note){flex-direction:column;gap:7px}.logo-note{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-muted);text-align:center;font-size:9.5px;line-height:1.3}.logo-text{letter-spacing:-.01em;color:var(--ink-soft);text-align:center;word-break:break-word;max-width:90%;font-family:Switzer,system-ui,sans-serif;font-size:clamp(11px,1.4vw,15px);font-weight:600;line-height:1.25}@media (max-width:1023px){.wall{grid-template-columns:repeat(3,1fr)}}@media (max-width:639px){.wall{grid-template-columns:repeat(2,1fr)}.logo-card img{max-height:36px}}#sector-preview{max-width:1180px;margin:0 auto;padding:40px 16px 72px}#sector-preview[hidden]{display:none}.sp-hero{background:var(--tint);border:1px solid var(--line);border-top:3px solid var(--sec);border-radius:18px;margin-bottom:28px;padding:36px 40px}.sp-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sec);align-items:center;gap:8px;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;display:inline-flex}.sp-eyebrow i{background:var(--sec);border-radius:50%;width:8px;height:8px}.sp-headline{letter-spacing:-.022em;margin-top:12px;font-size:clamp(22px,2.8vw,32px);font-weight:500;line-height:1.1}.sp-lede{color:var(--ink-soft);max-width:66ch;margin-top:13px;font-size:15.5px;line-height:1.6}.sp-cta{background:var(--sec);color:#fff;border-radius:8px;align-items:center;gap:8px;margin-top:22px;padding:11px 20px;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;transition:filter .15s;display:inline-flex}.sp-cta:hover{filter:brightness(.9)}.sp-pains{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (max-width:680px){.sp-pains{grid-template-columns:1fr}.sp-hero{padding:24px 20px}}.sp-pain{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px 20px}.sp-pain .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:10px;display:block}.sp-pain .tag-p{color:#b4453a}.sp-pain .tag-s{color:#0f766e}.sp-pain h4{font-size:14px;font-weight:600;line-height:1.35}.sp-pain p{color:var(--ink-soft);margin-top:6px;font-size:13px;line-height:1.5}.icta{text-align:center;border-top:1px solid var(--line);background:var(--tint);padding:84px 24px}.icta h2{letter-spacing:-.02em;font-size:clamp(26px,3.2vw,36px);font-weight:500}.icta p{color:var(--ink-soft);max-width:54ch;margin:12px auto 28px;font-size:16px}.icta .alt{color:var(--ink-soft);margin-top:16px;font-size:13px}.icta .alt a{color:var(--brand-deep)}.ftr{color:#ffffffb8;background:#111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:36px 24px;font-size:13px;display:flex;position:relative;overflow:hidden}.ftr img:not(.ftr-orb){height:22px}.ftr>:not(.ftr-orb){z-index:1;position:relative}.ftr-orb{opacity:.85;width:280px;height:280px;image-rendering:pixelated;pointer-events:none;z-index:0;animation:42s linear infinite ftrSpin;position:absolute;bottom:-78px;right:-48px}@keyframes ftrSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ftr-orb{animation:none}}#detail[hidden]{display:none}.d-top{z-index:45;-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);scrollbar-width:none;background:#ffffffed;align-items:center;gap:6px;padding:11px 16px;display:flex;position:sticky;top:61px;overflow-x:auto}.d-top::-webkit-scrollbar{display:none}.d-back{font-family:var(--mono);color:var(--ink-soft);border-radius:7px;flex:none;align-items:center;gap:6px;padding:7px 11px;font-size:11.5px;transition:background .14s;display:inline-flex}.d-back:hover{color:var(--ink);background:#f3f2f0}.d-div{background:var(--line);flex:0 0 1px;align-self:stretch;width:1px;margin:4px 8px}.d-tab{cursor:pointer;white-space:nowrap;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-muted);border-radius:7px;flex:none;padding:7px 10px;font-size:11px;font-weight:700;transition:all .14s}.d-tab:hover{color:var(--ink)}.d-tab.on{background:var(--sec);color:#fff}.dhero{background:radial-gradient(60% 70% at 16% 16%, var(--sec-bg), transparent 72%), radial-gradient(50% 60% at 86% 30%, var(--sec-bg), transparent 70%), #fff;border-bottom:1px solid var(--line);padding:56px 24px 44px;position:relative;overflow:hidden}.dhero .inner{max-width:1080px;margin:0 auto;position:relative}.dhero .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sec);align-items:center;gap:9px;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;display:inline-flex}.dhero .eyebrow i{background:var(--sec);border-radius:50%;width:9px;height:9px}.dhero h1,.dhero h2{letter-spacing:-.025em;max-width:20ch;margin-top:14px;font-size:clamp(26px,3.4vw,42px);font-weight:500;line-height:1.08}.dhero .lede{color:var(--ink-soft);max-width:68ch;margin-top:16px;font-size:16.5px;line-height:1.6}.dmetrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;display:grid}.dmetric{border:1px solid var(--line);border-top:3px solid var(--sec);background:#fff;border-radius:14px;padding:20px 20px 18px}.dmetric .mv{letter-spacing:-.03em;color:var(--sec-deep);font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,46px);font-weight:800;line-height:1}.dmetric .ml{color:var(--ink-soft);margin-top:9px;font-size:13.5px;line-height:1.45}@media (max-width:680px){.dmetrics{grid-template-columns:1fr}}.pains{background:#fff;padding:72px 24px}.pains .inner,.dbrands .inner,.dmods .inner{max-width:1080px;margin:0 auto}.sec-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sec);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.pains h2,.dbrands h2,.dmods h2{letter-spacing:-.02em;margin-top:12px;font-size:clamp(23px,2.7vw,30px);font-weight:500}.pains .sub{color:var(--ink-soft);max-width:60ch;margin-top:10px;font-size:15px}.pain-list{border-top:1px solid var(--line);flex-direction:column;gap:0;margin-top:34px;display:flex}.pain-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 44px 1fr;align-items:stretch;gap:0;display:grid}.pain-row .pp,.pain-row .ps{padding:22px 4px}.pain-row .pp{padding-right:20px}.pain-row .ps{padding-left:20px}.pain-row .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.pain-row .pp .tag{color:#b4453a}.pain-row .ps .tag{color:#0f766e}.pain-row .pp h3,.pain-row .ps h3{letter-spacing:-.01em;font-size:16px;font-weight:600;line-height:1.35}.pain-row .ps p{color:var(--ink-soft);margin-top:7px;font-size:13.5px;line-height:1.55}.pain-row .ps .src{font-family:var(--mono);color:var(--ink-muted);margin-top:9px;font-size:10.5px;display:inline-block}.pain-arrow{color:var(--sec);justify-content:center;align-items:center;display:flex}.pain-arrow svg{width:20px;height:20px}@media (max-width:740px){.pain-row{grid-template-columns:1fr}.pain-row .pp,.pain-row .ps{padding:18px 4px}.pain-row .pp{padding-bottom:0}.pain-arrow{padding:6px 0;transform:rotate(90deg)}}.dbrands{background:var(--tint);border-top:1px solid var(--line);padding:60px 24px}.dbrand-wall{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.dbrand{border:1px solid var(--line);background:#fff;border-radius:12px;flex:150px;justify-content:center;align-items:center;min-width:150px;max-width:200px;height:74px;padding:14px 18px;display:flex}.dbrand img{-o-object-fit:contain;object-fit:contain;filter:grayscale();opacity:.7;max-width:80%;max-height:38px}.dbrand-note{font-family:var(--mono);color:var(--ink-muted);margin-top:18px;font-size:11.5px}.dmods{border-top:1px solid var(--line);background:#fff;padding:66px 24px}.dmod-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;display:grid}.dmod{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:9px;padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}a.dmod:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #11111140}.dmod .cc{font-family:var(--mono);letter-spacing:.12em;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:700}.dmod.wms .cc{color:#0f766e;background:#e7f4f2}.dmod.oms .cc{color:#2f53d8;background:#eef2fe}.dmod.pim .cc{color:#5a4fcf;background:#efedfb}.dmod.tms .cc{color:#b45309;background:#fbf3e4}.dmod h3{letter-spacing:-.01em;font-size:16px;font-weight:600}.dmod p{color:var(--ink-soft);flex:1;font-size:13px;line-height:1.5}.dmod .go{font-size:13px;font-weight:600}.dmod.wms .go{color:#0f766e}.dmod.oms .go{color:#2f53d8}.dmod.pim .go{color:#5a4fcf}.dmod.tms .go{color:#b45309}@media (max-width:860px){.dmod-grid{grid-template-columns:1fr}}.dcta{text-align:center;background:var(--sec-bg);padding:80px 24px}.dcta h2{letter-spacing:-.02em;font-size:clamp(24px,3vw,34px);font-weight:500}.dcta p{color:var(--ink-soft);max-width:52ch;margin:12px auto 26px;font-size:16px}.dcta .btn{background:var(--sec)}.dcta .btn:hover{filter:brightness(.92)}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){.dhero .inner>*{opacity:0;animation:.5s ease-out forwards rise}.dhero .eyebrow{animation-delay:20ms}.dhero h1,.dhero h2{animation-delay:80ms}.dhero .lede{animation-delay:.14s}.dmetrics{animation-delay:.2s}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (min-width:1600px){.wall-wrap{max-width:1320px}.dhero .inner,.pains .inner,.dbrands .inner,.dmods .inner{max-width:1200px}}
