/* Atom / typography, precise diagrams and restrained motion. */
h1,h2,h3{word-spacing:.07em}
.hero h1 span{margin-left:.035em}
.hero{min-height:calc(100svh - 92px);padding-top:45px;padding-bottom:28px;display:flex;flex-direction:column;justify-content:center}
.hero .eyebrow{margin-bottom:25px;font-size:13px;letter-spacing:.035em}
.hero-frame{position:relative;padding:8px 0 22px;margin-bottom:30px}
.hero h1{font-size:clamp(76px,13.2vw,174px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0;width:100%}
.hero h1 span{color:var(--orange)}
.atom-flourish{position:absolute;width:clamp(100px,12vw,164px);height:auto;right:0;bottom:15px;fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none;transform:rotate(12deg)}
.flourish-orange{stroke:var(--orange)}
.flourish-white{stroke:#a6b3ba}
.hero-bottom{display:flex;justify-content:space-between;gap:45px;align-items:flex-start}
.hero-summary{font-size:16px;line-height:1.7;max-width:580px;margin:0}
.hero-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:335px}
.hero-action>span{font-size:12px}
.hero-action .button{padding:16px 27px}
.hero .trust-line{margin-top:34px;padding-top:20px;font-size:12px}
.services{padding-block:100px}
.service-grid{gap:0;border:1px solid #bbc3c5;border-radius:6px;overflow:hidden;align-items:stretch}
.service{padding:25px 29px 27px;border:0;border-radius:0;background:#f5f6f4;min-width:0}
.service+.service{border-left:1px solid #c6cdce}
.service-graphic{width:100%;margin:0 0 32px;aspect-ratio:320 / 210}
.service-graphic svg{width:100%;height:auto;overflow:visible;stroke-width:1.1;stroke:#8d999e;stroke-linecap:round;stroke-linejoin:round;fill:none}
.service-graphic text{stroke:none;fill:#526069;font:12px Jakarta,Arial,sans-serif}
.service-graphic .diagram-accent{stroke:#c54523;stroke-width:1.6}
.service-graphic .fine{stroke:#9ba6aa}
.service h3{font-size:25px;font-weight:600;margin-bottom:19px}
.service>p{font-size:15px;line-height:1.75}
.service .service-foot{font-size:12px;padding-top:18px}
.service details{margin-top:auto}
.service summary{font-size:13px}
.service-graphic.is-revealed .trace{animation:diagram-trace 1.5s cubic-bezier(.16,1,.3,1) both}
.service-graphic.is-revealed .draw-check{animation:diagram-trace 1s .7s cubic-bezier(.16,1,.3,1) both}
@keyframes diagram-trace{from{stroke-dasharray:500;stroke-dashoffset:500}to{stroke-dasharray:500;stroke-dashoffset:0}}
.process{padding-block:100px 110px}
.process-intro{margin-bottom:46px}
.process-intro h2{font-size:clamp(40px,4.5vw,58px)}
.process-schematic{border-top:1px solid #45515a;border-bottom:1px solid #45515a;margin-bottom:36px;padding:22px 0 12px}
.process-schematic svg{display:block;width:100%;height:auto;fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.process-schematic .schematic-mobile{display:none}
.process-schematic text{fill:#d7dde0;stroke:none;font:18px Jakarta,Arial,sans-serif}
.schematic-wire{stroke:#7c898f}
.schematic-input{stroke:#929da2;fill:var(--ink)}
.schematic-core{stroke:#e8552f;fill:var(--ink)}
.schematic-core text{fill:var(--paper);font-size:21px}
.schematic-output{stroke:#a7b1b5;fill:var(--ink)}
.schematic-output path{stroke:#ff8e6e}
.schematic-signal{stroke:#ff8e6e;stroke-width:2.3;stroke-dasharray:12 450;stroke-dashoffset:462;opacity:0}
.process-schematic.is-revealed .schematic-signal{animation:flow-signal 3s .3s ease-out 1}
@keyframes flow-signal{0%{stroke-dashoffset:462;opacity:0}12%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.process-schematic .rail-label-bg{fill:var(--ink);stroke:none}
.process-schematic .rail-label{font-size:16px;fill:#b9c3c8}
.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:70px}
.steps li:nth-child(2),.steps li:nth-child(3){margin-top:0}
.steps h3{font-size:36px;line-height:1.2;margin-bottom:19px;font-weight:500}
.steps p{max-width:35ch;font-size:15px;line-height:1.8;margin:0}
.steps strong{font-weight:500;color:var(--paper)}
.tools{padding-block:96px 75px;overflow:hidden}
.tools h2{max-width:960px;margin-inline:auto}
.systems-marquee{overflow:hidden;border-block:1px solid var(--line);margin-top:42px;padding-block:32px;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.systems-track{display:flex;width:max-content;animation:systems-scroll 34s linear infinite;animation-play-state:paused}
.systems-group{display:flex;align-items:center;gap:58px;padding-right:58px;flex-shrink:0}
.systems-group span{white-space:nowrap;font-size:31px;font-weight:600;letter-spacing:-.04em;color:#dbe2e5}
.systems-group span:nth-child(4){font-style:italic}
.systems-group span:nth-child(5){font-weight:700}
.systems-group span:nth-child(7){font-weight:400}
.systems-marquee.is-visible:not(.is-paused) .systems-track{animation-play-state:running}
.systems-marquee:hover .systems-track{animation-play-state:paused!important}
@keyframes systems-scroll{to{transform:translateX(-50%)}}
.motion-toggle{display:none;margin:18px auto 0;align-items:center;gap:7px;padding:8px 12px;min-height:40px;border:0;background:transparent;color:#bdc5c9;font:12px Jakarta,Arial,sans-serif;cursor:pointer}
.motion-ready .motion-toggle{display:flex}
.motion-toggle svg{width:16px;height:16px}
.motion-toggle:hover{color:white}
.motion-toggle:focus-visible{outline:2px solid var(--orange-light);outline-offset:3px}
.tools .tools-note{margin-top:10px}
@media(min-width:1500px){.hero{padding-top:55px;padding-bottom:36px}.hero h1{font-size:174px}}
@media(max-width:1050px){.hero h1{font-size:13vw}.hero-bottom{gap:30px}.hero-summary{font-size:15px;max-width:480px}.hero-action{max-width:270px}.service{padding:22px}.service h3{font-size:22px}.service-graphic text{font-size:13px}.steps{gap:40px}.process-intro{gap:36px}.process-intro>div{max-width:445px}}
@media(max-width:760px){.hero{min-height:calc(100svh - 82px);padding-top:42px;padding-bottom:30px;justify-content:center}.hero .eyebrow{font-size:12px;margin-bottom:24px}.hero-frame{padding-block:10px 20px;margin-bottom:22px}.hero h1{font-size:clamp(51px,12.4vw,94px);letter-spacing:-.05em;line-height:1.08}.atom-flourish{width:52px;right:0;bottom:17px;stroke-width:3}.hero-bottom{display:block}.hero-summary{font-size:16px;margin-bottom:23px;max-width:42ch}.hero-action{gap:13px;max-width:none}.hero-action>span{font-size:12px}.hero .trust-line{margin-top:28px;padding-top:20px;gap:11px}.services{padding-block:64px}.service-grid{display:block;border-radius:4px}.service{padding:26px}.service+.service{border-left:0;border-top:1px solid #c6cdce}.service-graphic{max-width:340px;align-self:center;margin-bottom:22px}.service h3{font-size:26px}.service>p{font-size:16px}.service summary{font-size:14px}.process{padding-block:65px}.process-intro{margin-bottom:32px}.process-intro h2{font-size:38px}.process-intro>div{max-width:none}.process-schematic{margin-bottom:30px;padding-block:6px}.process-schematic .schematic-desktop{display:none}.process-schematic .schematic-mobile{display:block;max-width:450px;margin-inline:auto}.schematic-mobile text{font-size:13px}.steps{display:block}.steps li+li{margin-top:28px;padding-top:28px;border-top:1px solid #41505b}.steps h3{font-size:30px;margin-bottom:14px}.steps p{font-size:16px;max-width:45ch}.tools{padding-top:64px;padding-bottom:50px}.systems-marquee{padding-block:28px;margin-top:32px}.systems-group{gap:36px;padding-right:36px}.systems-group span{font-size:27px}.tools .tools-note{font-size:12px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.service-graphic .trace,.service-graphic .draw-check,.process-schematic .schematic-signal{animation:none!important}.systems-track{animation:none;width:100%}.systems-group{justify-content:center;flex-wrap:wrap;gap:24px 35px;padding:0;width:100%}.systems-group[aria-hidden=true]{display:none}.systems-marquee{mask-image:none}.motion-toggle{display:none!important}}

/* Distinct service artwork: a working tool, tactile learning, clear safeguards. */
.service-art{width:100%;aspect-ratio:320/210;position:relative;margin-bottom:32px;isolation:isolate}
.art-orbit{position:absolute;width:63%;aspect-ratio:1;border-radius:50%;background:#e8552f;right:2%;top:1%}
.paper-sheet{position:absolute;border:1px solid #acb5b8;background:#fffef9;border-radius:5px;color:#18232b;box-shadow:0 4px 0 #d9ddda;font-size:10px;overflow:hidden}
.paper-back{width:49%;height:72%;left:3%;top:10%;transform:rotate(-10deg);padding:17px 12px;background:#e6e8e1}
.paper-back>span{font-size:8px;letter-spacing:.07em;font-weight:600}.paper-back i{display:block;border-bottom:1px solid #a3ada8;height:19px;width:85%}.paper-back i:nth-child(3){width:66%}
.tool-preview{width:64%;height:82%;right:3%;top:11%;transform:rotate(5deg);padding:10px 14px;display:flex;flex-direction:column}
.preview-bar{display:flex;gap:4px;margin-bottom:14px}.preview-bar span{width:3px;height:3px;background:#85928e;border-radius:50%}
.preview-label{font-size:7px;letter-spacing:.11em;margin-bottom:4px}.tool-preview strong{font-size:15px;font-weight:600;line-height:1.3}
.report-bars{display:flex;gap:7%;align-items:flex-end;flex:1;margin:9px 0}.report-bars i{width:13%;height:40%;background:#d4dad4;border-radius:2px 2px 0 0}.report-bars i:nth-child(2){height:66%}.report-bars i:nth-child(3){height:51%}.report-bars i:nth-child(4){height:85%;background:#e8552f}.report-bars i:nth-child(5){height:100%;background:#e8552f}
.review-stamp{font-size:8px;display:flex;align-items:center;gap:4px;border-top:1px solid #d9dfdb;padding-top:7px}.review-stamp svg{width:12px;height:12px;stroke:#ad4227;stroke-width:2}
.training-art{perspective:600px}.training-orbit{position:absolute;width:55%;aspect-ratio:1;border:1px solid #b1bbb9;border-radius:50%;top:2%;left:8%}.training-orbit:after{content:'';position:absolute;inset:15px;border:1px solid #b1bbb9;border-radius:50%}
.keycap{position:absolute;height:40%;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border:1px solid #bcc3bf;font-size:33px;font-weight:500;letter-spacing:-.045em;transform:rotate(-9deg);box-shadow:0 7px 0 #c4cbc5,0 8px 0 #a7b1aa}
.keycap small{font-size:11px;font-weight:400;align-self:flex-start;margin-top:13px;letter-spacing:0}.key-learn{width:61%;left:3%;top:13%;background:#fffef9;color:#526159}
.key-build{width:65%;right:3%;top:46%;background:#e8552f;color:#18232b;border-color:#c74b2b;box-shadow:0 7px 0 #b93e1d,0 8px 0 #9a3015;transform:rotate(5deg)}.key-build svg{width:28px;height:28px;stroke-width:1.7}
.training-art .build-cursor{position:absolute;width:32px;height:38px;bottom:1%;right:0;fill:#18232b;stroke:#f5f6f4;stroke-width:2}
.is-revealed .tool-preview{animation:tool-settle 1.1s cubic-bezier(.16,1,.3,1) both}.is-revealed .key-build{animation:key-press 1.1s .25s ease-in-out both}.is-revealed .build-cursor{animation:cursor-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes tool-settle{from{transform:translateY(16px) rotate(12deg)}to{transform:translateY(0) rotate(5deg)}}
@keyframes key-press{0%,35%,100%{transform:rotate(5deg) translateY(0);box-shadow:0 7px 0 #b93e1d,0 8px 0 #9a3015}60%{transform:rotate(5deg) translateY(5px);box-shadow:0 2px 0 #b93e1d,0 3px 0 #9a3015}}
@keyframes cursor-arrive{from{transform:translate(12px,18px)}to{transform:translate(0,0)}}
.process-intro{margin-bottom:64px}.stage-art{height:188px;display:flex;align-items:center;position:relative;margin-bottom:28px}.stage-art>span{width:160px;height:160px;border:2px solid #e8552f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:68px;line-height:1;letter-spacing:-.06em;font-weight:400;color:#f1f2f1;position:relative;background:var(--ink)}.stage-fix>span{border-color:#c9d2d4}.stage-train>span{background:#e8552f;border-color:#e8552f;color:#18232b}
.stage-art svg{position:absolute;width:calc(100% - 155px);height:40px;left:180px;stroke:#718086;stroke-width:1.2;overflow:visible}.process-stages.is-revealed .stage-art svg path{animation:diagram-trace 1.5s .2s ease-out both}.process-stages.is-revealed .stage-fix svg path{animation-delay:.7s}.process-stages .steps p{max-width:34ch}
@media(max-width:1050px) and (min-width:761px){.keycap{font-size:27px;padding-inline:13px}.tool-preview{padding:8px 10px}.preview-bar{margin-bottom:9px}.tool-preview strong{font-size:13px}.stage-art>span{width:128px;height:128px;font-size:58px}.stage-art svg{left:145px;width:calc(100% - 130px)}}
@media(max-width:760px){.service-art{max-width:340px;align-self:center;margin-bottom:30px}.process-intro{margin-bottom:32px}.stage-art{height:100px;margin-bottom:22px}.stage-art>span{width:88px;height:88px;font-size:38px}.stage-art svg{display:none}.steps li+li{padding-top:28px;margin-top:32px}.steps h3{margin-bottom:14px}.steps li{padding-bottom:0}.service-graphic{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.is-revealed .tool-preview,.is-revealed .key-build,.is-revealed .build-cursor,.process-stages.is-revealed .stage-art svg path{animation:none!important}}
