/* About / Manufacturing. Built on the shared About inner-page kit in
   /assets/about-story/css/story.css (hero, section template, chapters, tiles, timelines,
   final CTA). Only the pieces this page needs beyond that kit live here. */
.mfg-page .st-hero::before{background-image:url("../img/hero/manufacturing-hero.webp")}
@media(min-width:1041px){
/* Photo-led hero, same treatment as the product-development page: the photo is exactly as tall as the
     section and dissolves horizontally into an ambient background built from its own tones. The figure
     lives inside the shell, so it is offset back to the viewport's left edge first. */
.mfg-page .st-hero{background:linear-gradient(90deg,#d6dde6 0%,#e6ebf1 38%,#f0f3f7 68%,#f8f9fb 100%)}
.mfg-page .st-hero::before{inset:-40px;background-size:cover;background-position:left center;filter:blur(38px) saturate(.6);opacity:.6;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 38%,transparent 84%);mask-image:linear-gradient(90deg,#000 0%,#000 38%,transparent 84%)}
.mfg-page .st-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 90% at 62% 55%,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 70%)}
.mfg-page .st-hero__media{top:0;bottom:0;left:calc((100% - 100vw) / 2 + 95px);width:min(66vw,980px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 80%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
.mfg-page .st-hero__media img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:60% center}
}
/* Chapter helpers */
.st-question{margin:14px 0 0;color:var(--st-muted);font-size:14px;line-height:1.8;font-weight:700}
.st-question b{color:var(--st-blue);font-weight:800}
.st-caption{margin:14px 0 0;color:var(--st-muted);font-size:12.5px;line-height:1.7;font-weight:600;text-align:center}
.st-caption--top{margin:34px 0 0;color:var(--st-text);font-size:14px;font-weight:750}
.st-s08 .st-caption--top{color:#b9c8da}
.st-evlist--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.st-evlist--2 .st-evitem{display:flex;align-items:center;gap:12px;padding:14px 16px 12px;text-align:right}
.st-evlist--2 .st-evitem p{font-size:13.5px}
.st-evitem small{display:block;margin-top:2px;color:var(--st-muted);font-size:11.5px;font-weight:560}
.st-flow+.st-caption{margin-top:16px}
/* Overview timeline (5 clickable stages, each with the question it answers) */
.st-journey--5{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px}
.st-journey--5::before, .st-journey--5 .st-journey__line{left:10%;right:10%}
.st-journey--5 .st-journey__item{display:block}
.st-journey--5 .st-journey__dot{width:26px;height:26px;margin-bottom:12px;background:#0f2a4d;border-color:var(--st-teal);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.st-journey--5 .st-journey__step{color:#fff;font-size:22px;font-weight:850;letter-spacing:.02em;transition:color .2s ease}
.st-journey__name{color:#8fb8ff;font-size:14px;font-weight:750}
.st-journey__q{max-width:14em;margin-top:6px;color:#dbe8f8;font-size:14px;line-height:1.7;font-weight:600}
@media(min-width:1041px) and (max-width:1320px){
.mfg-page .st-hero__media{left:calc((100% - 100vw) / 2 + 40px)}
}
@media(max-width:860px){
.st-journey--5{grid-template-columns:1fr}
.st-journey--5::before, .st-journey--5 .st-journey__line{left:auto;right:23px}
.st-journey--5 .st-journey__link{display:grid;grid-template-columns:26px 1fr;column-gap:16px;row-gap:1px;align-items:center;padding:8px 10px;text-align:right}
.st-journey--5 .st-journey__dot{grid-row:1/4;margin:0}
.st-journey__q{max-width:none;margin-top:2px}
}
@media(max-width:680px){
.st-evlist--2{grid-template-columns:1fr}
}
/* Taller overview section */
.mfg-page .st-s02{padding:112px 0 104px}
.mfg-page .st-journey--5{margin-top:44px}
@media(max-width:860px){
.mfg-page .st-s02{padding:88px 0 80px}
}
/* Chapters 03-06: copy on the right, an animated diagram on the left, tinted background with a minimal pattern */
.mfg-sec{position:relative;isolation:isolate;overflow:hidden}
.mfg-sec__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:40px}
.mfg-sec__copy .st-head{margin:0}
.mfg-sec__copy .st-lead{margin-inline:0}
.mfg-q{margin:18px 0 0;color:var(--st-muted);font-size:14px;line-height:1.8;font-weight:700}
.mfg-q b{color:var(--st-blue);font-weight:800}
/* Plain tinted backgrounds that alternate; only the build section (core with attached practices) gets a pattern,
   concentric rings centred on the core, which echo its structure */
.mfg-bp{background:#eef2f7}
.mfg-hatch{background:linear-gradient(180deg,#e6eef8 0%,#f1f6fc 100%)}
.mfg-dots{background:#fff}
.mfg-lines{background:#eef2f7}
/* 03: three nodes on a line */
.mfg-path{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:620px;margin:0 auto;padding:0}
.mfg-path__line{position:absolute;top:44px;left:16.66%;right:16.66%;height:5px;border-radius:3px;background:linear-gradient(270deg,#34506f,#4f7ea6,#2f9e6b)}
.mfg-path__node{position:relative;z-index:1;display:grid;justify-items:center;align-content:start;gap:4px;text-align:center}
.mfg-path__circle{display:grid;place-items:center;width:92px;height:92px;margin-bottom:12px;border-radius:50%;background:var(--c);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--c) 35%,transparent)}
.mfg-path__circle svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mfg-path__node b{color:var(--st-ink);font-size:17px;font-weight:830}
.mfg-path__node small{color:var(--c);font-size:12.5px;font-weight:800}
.mfg-path__node ul{list-style:none;display:grid;gap:6px;justify-items:center;margin:12px 0 0;padding:0}
.mfg-path__node li{padding:5px 14px;border:1.5px solid var(--c);border-radius:999px;background:#fff;color:var(--st-ink);font-size:13px;font-weight:760}
/* 04: a core with four practices attached */
.mfg-orb{--r:150px;position:relative;width:100%;max-width:640px;height:calc(var(--r) * 1.5 + 130px);margin:0 auto}
.mfg-orb__core{position:absolute;left:50%;top:50%;z-index:2;display:grid;justify-items:center;align-content:center;gap:6px;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;background:#0e1b2b;color:#fff;font-size:13px;font-weight:820;text-align:center;box-shadow:0 0 0 8px rgba(14,27,43,.08),0 16px 34px rgba(14,27,43,.35)}
.mfg-orb__core svg{width:30px;height:30px;fill:none;stroke:#8fb8ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mfg-orb__arm{position:absolute;left:50%;top:50%;width:var(--r);height:2px;transform-origin:left center;transform:rotate(var(--a))}
.mfg-orb__arm::before{content:"";position:absolute;inset:0;border-radius:2px;background:linear-gradient(90deg,#0e1b2b,#4f7ea6)}
.mfg-orb__sat{position:absolute;right:0;top:50%;display:flex;align-items:center;gap:10px;padding:10px 18px 10px 20px;border:2px solid #4f7ea6;border-radius:16px;background:#fff;color:var(--st-ink);white-space:nowrap;box-shadow:0 8px 20px rgba(15,32,52,.12);transform:translate(50%,-50%) rotate(calc(var(--a) * -1))}
.mfg-orb__sat i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf0f7;color:#34506f}
.mfg-orb__sat svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mfg-orb__sat b{display:block;font-size:14.5px;font-weight:800}
.mfg-orb__sat small{display:block;margin-top:1px;color:#4f7ea6;font-size:11.5px;font-weight:800}
.mfg-orb::before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:1400px;height:1400px;transform:translate(-50%,-50%);pointer-events:none;background:repeating-radial-gradient(circle,transparent 0 calc(var(--r) / 2 - 1px),rgba(52,80,111,.16) calc(var(--r) / 2 - 1px) calc(var(--r) / 2));-webkit-mask-image:radial-gradient(circle,#000 0%,#000 14%,transparent 46%);mask-image:radial-gradient(circle,#000 0%,#000 14%,transparent 46%)}
/* 05: three filters, each narrower than the last, ending in an approved product */
.mfg-funnel{display:grid;justify-items:center;gap:10px;width:100%;max-width:600px;margin:0 auto}
.mfg-funnel__bar{display:flex;align-items:center;gap:12px;width:var(--w);min-width:250px;padding:16px 20px;border-radius:14px;background:var(--c);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--c) 30%,transparent)}
.mfg-funnel__bar i{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.18)}
.mfg-funnel__bar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mfg-funnel__bar b{font-size:16px;font-weight:830}
.mfg-funnel__bar small{margin-right:auto;padding:3px 12px;border-radius:999px;background:rgba(255,255,255,.2);font-size:12px;font-weight:800}
.mfg-funnel__pass{display:flex;align-items:center;gap:10px;margin-top:6px;padding:12px 24px;border:2px solid #2f9e6b;border-radius:999px;background:#fff;color:#2f9e6b;font-size:15px;font-weight:850}
.mfg-funnel__pass i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2f9e6b;color:#fff}
.mfg-funnel__pass svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
/* 06: serial scan. The board zooms onto its serial sticker, the code is read, the matching row is spotlighted in the quality system,
   and a sample record page for that device closes the sequence */
.mfg-scan{--d:16s;position:relative;width:100%;max-width:660px;aspect-ratio:2/1;margin:0 auto;border:1px solid var(--st-line);border-radius:18px;background:linear-gradient(135deg,#f6f9fc,#e3eaf3);box-shadow:0 14px 34px rgba(15,32,52,.14);overflow:hidden}
.mfg-scan__dev, .mfg-scan__sys, .mfg-scan__rec{position:absolute;inset:0}
.mfg-scan__board{position:absolute;left:5.5%;top:50%;width:89%;aspect-ratio:800/403;transform:translateY(-50%)}
.mfg-scan__board img{display:block;width:100%;height:100%;filter:drop-shadow(0 12px 18px rgba(15,32,52,.25))}
/* vector sticker laid exactly over the photographed one from the first frame, so zooming never swaps anything visibly and stays sharp */
.mfg-scan__tag{position:absolute;left:19.75%;top:62.5%;width:8%;height:21.3%}
.mfg-scan__sys{opacity:0}
.mfg-scan__page{position:absolute;left:0;right:0;top:50%;aspect-ratio:1625/794;transform:translateY(-50%)}
.mfg-scan__page img{display:block;width:100%;height:100%}
/* geometry of the first table row in the screenshot, in percent of the page */
.mfg-scan__row{position:absolute;left:.9%;top:34.4%;width:84.8%;height:6.4%;border:2px solid #2f9e6b;border-radius:6px;background:rgba(47,158,107,.16);box-shadow:0 0 0 999px rgba(14,27,43,.34);opacity:0}
.mfg-scan__vf{position:absolute;left:50%;top:50%;z-index:2;width:24%;height:62%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;filter:drop-shadow(0 0 3px rgba(14,27,43,.65));background:
  linear-gradient(#fff,#fff) top left/22px 3px no-repeat,linear-gradient(#fff,#fff) top left/3px 22px no-repeat,
  linear-gradient(#fff,#fff) top right/22px 3px no-repeat,linear-gradient(#fff,#fff) top right/3px 22px no-repeat,
  linear-gradient(#fff,#fff) bottom left/22px 3px no-repeat,linear-gradient(#fff,#fff) bottom left/3px 22px no-repeat,
  linear-gradient(#fff,#fff) bottom right/22px 3px no-repeat,linear-gradient(#fff,#fff) bottom right/3px 22px no-repeat}
.mfg-scan__line{position:absolute;left:4%;right:4%;top:0;height:3px;border-radius:2px;background:#7dffb2;box-shadow:0 0 14px 3px rgba(125,255,178,.8);opacity:0}
.mfg-scan__chip, .mfg-scan__done{position:absolute;z-index:3;left:50%;margin:0;display:flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;color:#fff;font-size:13px;font-weight:800;white-space:nowrap;transform:translateX(-50%);opacity:0;box-shadow:0 10px 22px rgba(14,27,43,.3)}
.mfg-scan__chip{top:5%;background:#0e1b2b}
.mfg-scan__chip bdi{padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12.5px;letter-spacing:.04em}
.mfg-scan__done{bottom:6%;background:#2f9e6b;font-size:14px}
.mfg-scan__done i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#2f9e6b}
.mfg-scan__done svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
/* sample record page */
.mfg-scan__rec{z-index:4;display:flex;flex-direction:column;padding:4.5% 5% 4%;background:#fff;opacity:0}
.mfg-rec__head{display:flex;align-items:center;gap:10px;padding-bottom:3.2%;border-bottom:1px solid var(--st-line)}
.mfg-rec__head b{color:var(--st-ink);font-size:16px;font-weight:850}
.mfg-rec__head bdi{padding:3px 11px;border-radius:999px;background:#eaf0f7;color:#34506f;font-size:12px;font-weight:800;letter-spacing:.03em}
.mfg-rec__head em{margin-right:auto;padding:3px 12px;border:1px dashed #b7c4d4;border-radius:999px;color:var(--st-muted);font-size:11.5px;font-style:normal;font-weight:700}
.mfg-rec__grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;margin-top:3.2%}
.mfg-rec__item{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;border:1px solid var(--st-line);border-radius:10px;background:#f6f9fc;opacity:0}
.mfg-rec__item small{color:var(--st-muted);font-size:11.5px;font-weight:700}
.mfg-rec__item b{color:var(--st-ink);font-size:13.5px;font-weight:820;line-height:1.35}
.mfg-rec__item span{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;color:#2f9e6b;font-size:11.5px;font-weight:800}
.mfg-rec__item span::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.mfg-rec__item span.is-neutral{color:#7b8aa0}
@media(prefers-reduced-motion:no-preference){
.mfg-scan__dev, .mfg-scan__sys, .mfg-scan__vf, .mfg-scan__line, .mfg-scan__chip, .mfg-scan__row, .mfg-scan__done, .mfg-scan__rec, .mfg-rec__item{animation-duration:var(--d);animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-play-state:paused}
.is-revealed .mfg-scan__dev, .is-revealed .mfg-scan__sys, .is-revealed .mfg-scan__vf, .is-revealed .mfg-scan__line, .is-revealed .mfg-scan__chip, .is-revealed .mfg-scan__row, .is-revealed .mfg-scan__done, .is-revealed .mfg-scan__rec, .is-revealed .mfg-rec__item{animation-play-state:running}
.mfg-scan__dev{animation-name:mfg-scan-dev}
.mfg-scan__sys{animation-name:mfg-scan-sys}
.mfg-scan__vf{animation-name:mfg-scan-vf}
.mfg-scan__line{animation-name:mfg-scan-line}
.mfg-scan__chip{animation-name:mfg-scan-chip}
.mfg-scan__row{animation-name:mfg-scan-row}
.mfg-scan__done{animation-name:mfg-scan-done}
.mfg-scan__rec{animation-name:mfg-scan-rec}
/* each record cell lags the page by a fraction of a second, so they appear one after another */
.mfg-rec__item{animation-name:mfg-rec-item;animation-delay:calc(var(--i) * .16s)}
}
/* Reduced motion: show the finished state, the sample record */
@media(prefers-reduced-motion:reduce){
.mfg-scan__dev, .mfg-scan__sys{opacity:0}
.mfg-scan__rec, .mfg-rec__item{opacity:1}
}
@keyframes mfg-scan-dev{0%,16%{opacity:1;transform:none}
  31%,42%{opacity:1;transform:translate(calc((50 - var(--sx)) * var(--s) * 1%),calc((50 - var(--sy)) * var(--s) * 1%)) scale(var(--s))}
  46%,93%{opacity:0;transform:translate(calc((50 - var(--sx)) * var(--s) * 1%),calc((50 - var(--sy)) * var(--s) * 1%)) scale(var(--s))}
  93.1%,97%{opacity:0;transform:none}
  100%{opacity:1;transform:none}}
@keyframes mfg-scan-sys{0%,41%{opacity:0;transform:scale(.96)}
  46%,62%{opacity:1;transform:none}
  67%,100%{opacity:0;transform:none}}
@keyframes mfg-scan-vf{0%,30%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}
  34%,42%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  45%,100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
@keyframes mfg-scan-line{0%,34%{opacity:0;top:0}
  35%{opacity:1;top:2%}
  41%{opacity:1;top:96%}
  42.5%,100%{opacity:0;top:96%}}
@keyframes mfg-scan-chip{0%,39%{opacity:0;transform:translate(-50%,-10px)}
  41%,44%{opacity:1;transform:translate(-50%,0)}
  46%,100%{opacity:0;transform:translate(-50%,-10px)}}
@keyframes mfg-scan-row{0%,46%{opacity:0;transform:scaleX(.7)}
  51%,62%{opacity:1;transform:none}
  66%,100%{opacity:0;transform:none}}
@keyframes mfg-scan-done{0%,52%{opacity:0;transform:translate(-50%,12px)}
  55%,62%{opacity:1;transform:translate(-50%,0)}
  66%,100%{opacity:0;transform:translate(-50%,0)}}
@keyframes mfg-scan-rec{0%,63%{opacity:0;transform:translateY(16px)}
  68%,93%{opacity:1;transform:none}
  97%,100%{opacity:0;transform:none}}
@keyframes mfg-rec-item{0%,66%{opacity:0;transform:translateY(8px)}
  71%,93%{opacity:1;transform:none}
  97%,100%{opacity:0;transform:none}}
@media(max-width:620px){
.mfg-scan{aspect-ratio:13/10;--sy:63.5!important}
.mfg-scan__chip{font-size:11px;padding:6px 12px;gap:6px}
.mfg-scan__done{font-size:12px;padding:6px 14px}
.mfg-scan__vf{width:28%;height:50%;background-size:16px 3px,3px 16px,16px 3px,3px 16px,16px 3px,3px 16px,16px 3px,3px 16px}
.mfg-rec__head b{font-size:13.5px}
.mfg-rec__head em{display:none}
.mfg-rec__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}
.mfg-rec__item{padding:5px 9px;gap:1px}
.mfg-rec__item small{font-size:11px}
.mfg-rec__item b{font-size:11.5px}
.mfg-rec__item span{font-size:11px}
}
/* entrance: everything draws in when the section scrolls into view */
@media(prefers-reduced-motion:no-preference){
.mfg-path__line{transform:scaleX(0);transform-origin:right;transition:transform 1.1s cubic-bezier(.4,0,.2,1) .2s}
.mfg-path__node{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i) * .4s + .15s)}
.mfg-orb__core{opacity:0;transform:scale(.6);transition:opacity .5s ease,transform .6s cubic-bezier(.3,1.5,.5,1)}
.mfg-orb__arm::before{transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--i) * .25s + .35s)}
.mfg-orb__sat{opacity:0;transform:translate(50%,-50%) rotate(calc(var(--a) * -1)) scale(.7);transition:opacity .4s ease,transform .55s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(var(--i) * .25s + .8s)}
.mfg-funnel__bar, .mfg-funnel__pass{clip-path:inset(0 0 0 100% round 14px);opacity:0;transition:clip-path .8s cubic-bezier(.4,0,.2,1),opacity .4s ease;transition-delay:calc(var(--i) * .3s + .15s)}
.is-revealed .mfg-path__line{transform:none}
.is-revealed .mfg-path__node{opacity:1;transform:none}
.is-revealed .mfg-orb__core{opacity:1;transform:none}
.is-revealed .mfg-orb__arm::before{transform:scaleX(1)}
.is-revealed .mfg-orb__sat{opacity:1;transform:translate(50%,-50%) rotate(calc(var(--a) * -1))}
.is-revealed .mfg-funnel__bar, .is-revealed .mfg-funnel__pass{clip-path:inset(0 0 0 0 round 14px);opacity:1}
}
@media(max-width:1040px){
.mfg-sec__grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:620px){
.mfg-path__circle{width:68px;height:68px}
.mfg-path__circle svg{width:32px;height:32px}
.mfg-path__line{top:32px}
.mfg-path__node b{font-size:13px}
.mfg-path__node li{padding:4px 9px;font-size:11.5px}
.mfg-orb{--r:104px;height:calc(var(--r) * 1.5 + 120px)}
.mfg-orb__core{width:92px;height:92px;margin:-46px 0 0 -46px;font-size:12px}
.mfg-orb__sat{padding:7px 10px;gap:6px}
.mfg-orb__sat i{display:none}
.mfg-orb__sat b{font-size:12px}
.mfg-funnel__bar{min-width:0}
}
/* Feedback cycle: four nodes on a ring with arrows between them, closing back on the first.
   The frame is 660x440; the 440x440 SVG sits in its centre and the labels are placed beside the nodes in percent. */
.mfg-cycle{position:relative;width:100%;max-width:660px;aspect-ratio:660/440;margin:34px auto 0}
.mfg-cycle__svg{position:absolute;left:16.67%;top:0;width:66.67%;height:100%;overflow:visible}
.mfg-cycle__ring{fill:none;stroke:rgba(143,184,255,.16);stroke-width:2;stroke-dasharray:3 7}
.mfg-cycle__arc{fill:none;stroke:#8fb8ff;stroke-width:3;stroke-linecap:round}
.mfg-cycle__head{fill:#8fb8ff}
.mfg-cycle__node circle{fill:#fff;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.mfg-cycle__ic{fill:none;stroke:#3b82ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mfg-cycle__core{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;text-align:center}
.mfg-cycle__core span{color:#8fb8ff;font-size:14px;font-weight:700}
.mfg-cycle__core b{color:#fff;font-size:17px;font-weight:850;white-space:nowrap}
.mfg-cycle__lab{position:absolute;color:#fff;font-size:16px;font-weight:800;line-height:1.5}
.mfg-cycle__lab--t{left:50%;top:1.2%;transform:translateX(-50%);white-space:nowrap}
.mfg-cycle__lab--b{left:50%;bottom:1.2%;transform:translateX(-50%);white-space:nowrap}
.mfg-cycle__lab--r{left:79.7%;top:50%;width:20%;transform:translateY(-50%);text-align:left}
.mfg-cycle__lab--l{right:79.7%;top:50%;width:20%;transform:translateY(-50%);text-align:right}
@media(prefers-reduced-motion:no-preference){
.mfg-cycle__arc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--i) * .5s + .6s)}
.mfg-cycle__head{opacity:0;transition:opacity .25s ease;transition-delay:calc(var(--i) * .5s + 1.25s)}
.mfg-cycle__node{opacity:0;transform:scale(.7);transform-box:fill-box;transform-origin:center;transition:opacity .5s ease,transform .6s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(var(--i) * .5s + .15s)}
.mfg-cycle__lab{opacity:0;transition:opacity .5s ease;transition-delay:calc(var(--i) * .5s + .3s)}
.mfg-cycle__core{opacity:0;transition:opacity .6s ease 2.4s}
.mfg-cycle__dot{opacity:0;transition:opacity .6s ease 2.7s}
.is-revealed .mfg-cycle__arc{stroke-dashoffset:0}
.is-revealed .mfg-cycle__head, .is-revealed .mfg-cycle__node, .is-revealed .mfg-cycle__lab, .is-revealed .mfg-cycle__core, .is-revealed .mfg-cycle__dot{opacity:1}
.is-revealed .mfg-cycle__node{transform:none}
}
@media(prefers-reduced-motion:reduce){
.mfg-cycle__dot{display:none}
}
@media(max-width:620px){
.mfg-cycle__lab{font-size:12.5px}
.mfg-cycle__core span{font-size:11px}
.mfg-cycle__core b{font-size:12.5px}
}
