/* Scroll stories: a brighter visual rhythm, in Szora's own palette. */
.impact-section{overflow:clip;background:#f8faf9;padding:70px 0 45px}
.impact-section .problem-heading{display:block;text-align:center;max-width:780px;margin:auto}
.impact-section .problem-heading h2{font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.08;margin:12px 0}
.impact-section .problem-heading h2 br{display:none}
.impact-section .problem-heading>p:last-child{font-size:1rem;margin:14px auto 0;max-width:580px}
.impact-stats{position:relative;display:block;height:550px;min-height:0;max-width:980px;margin:32px auto 0;--ring:230px}
.impact-stat{position:absolute;width:var(--ring);height:var(--ring);top:0;left:calc(16.667% - var(--ring)/2);isolation:isolate;transform:translateY(200px);will-change:transform}
.impact-1{left:calc(50% - var(--ring)/2);transform:translateY(100px)}.impact-2{left:calc(83.333% - var(--ring)/2);transform:none}
.impact-mark{width:var(--ring);height:var(--ring);max-height:none;left:0;z-index:1}
.impact-trail{position:absolute;left:0;top:calc(var(--ring)/2);width:100%;height:var(--trail,280px);background:linear-gradient(to bottom,color-mix(in srgb,var(--stat-color),transparent 38%),color-mix(in srgb,var(--stat-color),transparent 78%) 58%,transparent);z-index:0;border-radius:0 0 12px 12px;pointer-events:none}
.impact-stat:after{display:none}.impact-copy{padding-top:calc(var(--ring) + 12px);z-index:2}.impact-copy>strong{top:calc(var(--ring)*.38);font-size:clamp(2.6rem,3.4vw,3.6rem);line-height:1}
.impact-copy>span{font-size:1rem;position:absolute;left:0;right:0;top:calc(var(--ring)*.6);margin:0;color:var(--stat-ink)}
.impact-copy>p{font-size:.875rem;line-height:1.55;color:#344f46;max-width:210px;padding:0 8px}
.impact-section .stat-source{font-size:.75rem;text-align:center;margin:12px auto 0;max-width:840px;line-height:1.6}
.impact-section.motion-pinned{padding:0}.motion-pinned>.wrap{position:sticky;top:88px;padding-top:20px;padding-bottom:24px}
.impact-section.motion-pinned .impact-stats{height:clamp(360px,52vh,550px);--ring:clamp(170px,23vh,230px)}
/* Seven coloured steps, kept upright as they circle the central mark. */
.cycle-section{overflow:clip;background:radial-gradient(ellipse at 18% 65%,#d8f4e9a0,transparent 45%),radial-gradient(ellipse at 85% 60%,#ffe2d7a0,transparent 45%),#f7faf8}
.cycle-section .section-heading{margin-bottom:12px;text-align:center}.cycle-section .section-heading h2{font-size:clamp(2rem,3.4vw,3.5rem);margin:12px 0}.cycle-section .section-heading h2 br{display:none}.cycle-section .section-heading>p:last-child{font-size:1rem;max-width:670px;margin:auto}
.context-cycle{height:560px;max-width:1040px;margin:25px auto 0}.context-cycle li{width:164px;min-height:126px;padding:18px;border:1px solid #ffffffc9;border-radius:30px;background:var(--node-colour);box-shadow:0 16px 34px -24px #18473a88;will-change:transform,opacity}
.context-cycle li:nth-child(1){--node-colour:#aee8d5}.context-cycle li:nth-child(2){--node-colour:#bce9e8}.context-cycle li:nth-child(3){--node-colour:#dce8ba}.context-cycle li:nth-child(4){--node-colour:#f6d985}.context-cycle li:nth-child(5){--node-colour:#ffc4a3}.context-cycle li:nth-child(6){--node-colour:#f4bbb6}.context-cycle li:nth-child(7){--node-colour:#d5cce9}
.context-cycle li strong{font-size:1.1rem;color:#1d4238}.context-cycle li p{font-size:.8125rem;line-height:1.45;color:#3c574f;margin-top:5px}.cycle-number{font-size:.7rem;color:#3e6558;letter-spacing:.08em;margin-bottom:6px}
.cycle-core{width:160px;height:160px;border:0;box-shadow:0 0 0 17px #ffffff70,0 0 85px #91d6bd70;background:#fff9}.cycle-core .diagram-mark{width:70px;height:70px;margin:0;background:linear-gradient(135deg,#40b99b,#9fe2cb)}.cycle-core>p{font-size:.8125rem;margin-top:12px;line-height:1.5}.cycle-path{opacity:.58}
.cycle-section.motion-pinned{padding:0}.cycle-section.motion-pinned .context-cycle{height:clamp(400px,58vh,560px)}
/* App tiles float at different distances from a single, centred wordmark. */
.ecosystem-diagram{display:block;height:530px;max-width:1100px;margin:40px auto 20px;padding:0;background:radial-gradient(ellipse at center,#dcf4e780,transparent 63%)}
.ecosystem-bank{display:contents}.ecosystem-app{position:absolute;left:var(--app-x);top:var(--app-y);padding:0;width:76px;height:76px;border:0;box-shadow:none;background:transparent;transform:translate(-50%,-50%);z-index:3}
.ecosystem-app>span{height:100%;width:100%;border-radius:23px;background:#fff;border:1px solid #d8e5de;box-shadow:0 12px 28px -17px #315d4d70;transition:transform .35s,box-shadow .35s;animation:app-breathe 6s ease-in-out infinite;animation-delay:var(--app-delay,0s)}
.ecosystem-app img{width:38px;height:38px}.ecosystem-app:hover{border:0;box-shadow:none}.ecosystem-app:hover>span,.ecosystem-app:focus-visible>span{transform:scale(1.16) rotate(-5deg);animation-play-state:paused;box-shadow:0 16px 30px -16px #438f7499}.ecosystem-app:focus-visible{outline:2px solid #28785e;outline-offset:8px;border-radius:23px}
.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(1){--app-x:12%;--app-y:25%;--app-delay:-1s}.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(2){--app-x:33%;--app-y:12%;--app-delay:-3s}.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(3){--app-x:25%;--app-y:45%;--app-delay:-2s}.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(4){--app-x:9%;--app-y:71%;--app-delay:-5s}.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(5){--app-x:31%;--app-y:85%;--app-delay:-4s}
.ecosystem-bank:last-child .ecosystem-app:nth-child(1){--app-x:63%;--app-y:10%;--app-delay:-3s}.ecosystem-bank:last-child .ecosystem-app:nth-child(2){--app-x:85%;--app-y:24%;--app-delay:-1s}.ecosystem-bank:last-child .ecosystem-app:nth-child(3){--app-x:76%;--app-y:53%;--app-delay:-4s}.ecosystem-bank:last-child .ecosystem-app:nth-child(4){--app-x:92%;--app-y:76%;--app-delay:-2s}.ecosystem-bank:last-child .ecosystem-app:nth-child(5){--app-x:64%;--app-y:88%;--app-delay:-5s}
.ecosystem-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.hub-disc{width:200px;height:200px}.hub-wordmark{width:160px;height:auto;object-fit:contain}.hub-glow{width:390px;height:350px;filter:blur(32px);background:radial-gradient(ellipse at 15% 30%,#56d7bcb5,transparent 62%),radial-gradient(ellipse at 85% 75%,#ff9779a0,transparent 62%)}.ecosystem-hub>p{top:235px;font-size:.875rem}.ecosystem-lines path{stroke:#a4c5b8;stroke-width:1.2;opacity:.7}.ecosystem-lines circle{display:none}
@keyframes app-breathe{0%,100%{translate:0 3px}50%{translate:0 -4px}}
/* An unmistakable, luminous entrance to the website guide. */
.guide-launcher{isolation:isolate;background:#fff!important;border:1px solid #a3dcca;box-shadow:0 0 15px #7edac58c,0 0 30px #ffab8c66,0 7px 23px #255f4233;transition:transform .2s;animation:guide-glow 4s ease-in-out infinite}
.guide-launcher:hover{transform:translateY(-3px)}.guide-launcher:focus-visible{outline:3px solid #26765e;outline-offset:5px}.guide-sparkle{color:#329e86;filter:drop-shadow(0 0 5px #63d4c3);animation:sparkle-light 4s ease-in-out infinite}.guide-launcher>svg{width:24px;height:24px}
@keyframes guide-glow{50%{box-shadow:0 0 20px #7edac5b0,0 0 37px #ffab8c88,0 7px 23px #255f4233;border-color:#e7ab90}}
@keyframes sparkle-light{50%{color:#dc876b;filter:drop-shadow(0 0 7px #f0b39a)}}
/* The product in a human context. */
.product-hero{padding-bottom:0!important;overflow:hidden}.product-hero .hero-centred{padding-bottom:44px}.product-hero .hero-centred h1{max-width:950px;margin-inline:auto}.product-hero .hero-centred>p{max-width:600px;margin-inline:auto}.product-life{position:relative;width:100%;height:clamp(500px,48vw,740px);overflow:hidden;background:#d6ebe5}.product-life-photo{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block}.product-life:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#153c3420,transparent 45%,#e88d5514);pointer-events:none}
.life-benefit{position:absolute;z-index:1;padding:19px 23px;width:255px;border:1px solid #ffffffbd;border-radius:20px;background:#fffffff0;box-shadow:0 15px 38px -24px #183f3866;backdrop-filter:blur(14px)}.life-benefit>span{display:block;font-size:.65rem;font-weight:600;letter-spacing:.13em;color:#477567;margin-bottom:10px}.life-benefit strong{font-size:1.1rem;font-weight:550;letter-spacing:-.02em}.life-benefit p{font-size:.875rem;line-height:1.6;color:#5c7168;margin-top:7px}.life-individual{left:7%;top:17%;rotate:-2deg}.life-manager{left:12%;bottom:12%;rotate:1deg}.life-executive{right:6%;top:45%;rotate:2deg}
@media(max-width:1100px){.context-cycle li{width:145px;padding:15px;border-radius:25px}.cycle-core{width:140px;height:140px}.cycle-core .diagram-mark{width:57px;height:57px}.context-cycle li p{font-size:.75rem}.life-benefit{width:220px;padding:16px 18px}.life-individual{left:4%}.life-manager{left:7%}.life-executive{right:4%}}
@media(max-width:800px){.impact-stats{--ring:180px;height:470px;margin-top:35px}.impact-stat{transform:translateY(140px)}.impact-1{transform:translateY(70px)}.impact-2{transform:none}.impact-copy>strong{font-size:2.6rem}.impact-copy>span{font-size:.875rem}.impact-copy>p{font-size:.8125rem}.context-cycle{height:auto;gap:40px}.cycle-core{width:160px;height:160px}.context-cycle ol{gap:14px}.context-cycle li{width:auto;min-height:135px;padding:22px;border-radius:25px}.context-cycle li p{font-size:.875rem}.context-cycle li:last-child:after{display:none}.ecosystem-diagram{height:460px}.ecosystem-app{width:64px;height:64px;min-height:0}.ecosystem-app img{width:32px;height:32px}.hub-disc{width:155px;height:155px}.hub-wordmark{width:125px}.ecosystem-hub>p{top:182px;width:180px;white-space:normal}.life-benefit{width:200px;padding:14px 16px}.life-benefit strong{font-size:1rem}.life-benefit p{font-size:.8125rem}.life-individual{top:10%;left:3%}.life-executive{right:3%;top:40%}.life-manager{bottom:6%;left:5%}}
@media(max-width:600px){.impact-section{padding-top:50px}.impact-section .problem-heading h2{font-size:2.4rem}.impact-stats{height:auto;display:flex;flex-direction:column;gap:35px;max-width:300px;--ring:245px;margin-top:35px}.impact-stat,.impact-1,.impact-2{position:relative;left:auto;top:auto;height:385px;min-height:385px;margin:auto;transform:none}.impact-copy>strong{font-size:3.4rem}.impact-copy>span{font-size:1rem}.impact-copy>p{font-size:.9375rem;max-width:240px}.impact-trail{height:250px!important}.impact-section .stat-source{text-align:left;margin-top:25px}.ecosystem-diagram{height:440px;margin:25px auto 15px}.ecosystem-app{width:52px;height:52px}.ecosystem-app>span{border-radius:16px}.ecosystem-app img{width:27px;height:27px}.hub-disc{width:122px;height:122px}.hub-wordmark{width:98px}.hub-glow{width:245px;height:260px}.ecosystem-hub>p{top:148px;font-size:.75rem;width:145px}.ecosystem-bank:nth-of-type(1) .ecosystem-app:nth-child(3){--app-x:10%;--app-y:45%}.ecosystem-bank:last-child .ecosystem-app:nth-child(3){--app-x:90%;--app-y:49%}.product-life{height:720px}.product-life-photo{height:100%;object-position:50% 50%}.life-benefit{width:185px;max-width:55%;padding:13px 15px;border-radius:17px}.life-benefit>span{font-size:.6rem;margin-bottom:7px}.life-benefit strong{font-size:.9375rem}.life-benefit p{font-size:.75rem;line-height:1.5}.life-individual{left:4%;top:5%}.life-manager{left:4%;bottom:5%}.life-executive{right:4%;top:64%}.product-hero .hero-centred{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.guide-launcher,.guide-sparkle,.ecosystem-app>span{animation:none!important}.ecosystem-app>span,.guide-launcher{transition:none!important}.context-cycle li,.impact-stat,.impact-mark{will-change:auto}.life-benefit{rotate:none}}
@media(min-width:801px) and (max-height:850px){.cycle-section.motion-pinned>.wrap{padding-top:12px;padding-bottom:16px}.cycle-section .section-heading h2{font-size:2.15rem;margin:10px 0}.cycle-section .section-heading>p:last-child{max-width:900px;font-size:.9375rem}.cycle-section.motion-pinned .context-cycle{height:440px;margin-top:17px}.context-cycle li{min-height:112px;padding:14px 17px;width:160px}.context-cycle li p{font-size:.75rem}.cycle-core{width:135px;height:135px}.cycle-core .diagram-mark{width:51px;height:51px}.cycle-core>p{font-size:.75rem;margin-top:8px}}
@media(max-width:600px){.life-executive{top:49%}.product-life{border-radius:0}}
@media(max-width:600px){.process-grid{grid-template-columns:minmax(0,1fr)!important}.process-grid li{min-width:0}}
