.portfolio-orbit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:70px;align-items:center;margin-top:40px}.orbit-stage{position:relative;aspect-ratio:1;width:100%;max-width:650px;isolation:isolate}.orbit-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.orbit-sector{fill:#1d513d;stroke:#123d2c;stroke-width:8;transition:fill .35s,filter .35s,transform .35s;transform-origin:300px 300px;cursor:pointer}.orbit-sector.is-active{fill:#00ed32;filter:drop-shadow(0 0 12px #00ed3238);transform:scale(1.018)}.orbit-track{fill:none;stroke:#84b699;stroke-width:1;opacity:.5}.orbit-dashes{fill:none;stroke:#d1e4c8;stroke-width:2;stroke-dasharray:2 20;transform-origin:300px 300px;animation:orbit-spin 90s linear infinite}.orbit-comet{fill:none;stroke:#00ed32;stroke-width:3;stroke-linecap:round;stroke-dasharray:50 1835;transform-origin:300px 300px;animation:orbit-spin 28s linear infinite}.orbit-stage:hover .orbit-comet{stroke:#fff;animation-duration:12s}.orbit-hub{position:absolute;inset:32%;border:1px solid #637f62;border-radius:50%;background:#10291e;box-shadow:0 12px 32px #061e1966;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;z-index:2}.orbit-hub img{width:100%;height:auto}.orbit-hub span{font:8px/1.5 'Courier New',monospace;letter-spacing:1px;text-align:center;margin-top:12px;color:#afc5ad}.orbit-choice{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:0;background:none;color:#e2ecda;font-size:14px;line-height:1.3;text-align:center;cursor:pointer;padding:8px;z-index:3;width:28%;height:23%;transition:color .25s,transform .25s}.orbit-choice svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}.orbit-choice small{font:9px 'Courier New',monospace;opacity:.7}.orbit-choice[data-service="0"]{left:36%;top:6%}.orbit-choice[data-service="1"]{left:69%;top:38.5%}.orbit-choice[data-service="2"]{left:36%;top:71%}.orbit-choice[data-service="3"]{left:3%;top:38.5%}.orbit-choice[aria-pressed="true"]{color:#10281d;transform:translateY(-2px)}.orbit-choice:focus-visible{outline:2px solid white;outline-offset:2px;border-radius:12px}.orbit-hint{position:absolute;bottom:-24px;left:0;right:0;text-align:center;font:9px/1.6 'Courier New',monospace;letter-spacing:.5px;color:#abc6ad}.portfolio-detail{border-top:1px solid #6e9274;padding:28px 0;min-width:0}.portfolio-detail .services{display:block;margin:0}.portfolio-detail .services article{display:block;border:0;padding:0;animation:portfolio-reveal .35s ease both}.portfolio-detail .services article[hidden]{display:none}.portfolio-detail .services .num{display:block;color:#8bbb8c;margin-bottom:22px;font-size:12px}.portfolio-detail .services h3{font:italic 400 clamp(30px,3.3vw,46px)/1.15 Georgia,serif;margin:0 0 23px;letter-spacing:-1px}.portfolio-detail .services p{font-size:15px;line-height:1.9;max-width:440px;margin-bottom:25px}.portfolio-detail .tags{flex-wrap:wrap;gap:12px 0}.portfolio-detail .tags span{line-height:1.5;font-size:10px}.portfolio-detail .service-mark{display:none}.portfolio-talk{display:inline-flex;gap:28px;margin-top:36px;padding-bottom:10px;border-bottom:1px solid #00ed32;color:#f3f5eb;font-size:12px}.portfolio-talk span{color:#00ed32}.portfolio-orbit+.care{margin-top:65px}.portfolio-detail .orbit-detail-label{font:9px/1.6 'Courier New',monospace;letter-spacing:1.5px;color:#bed4b7;margin:0 0 28px}
@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes portfolio-reveal{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.portfolio-orbit{gap:35px}.orbit-choice{font-size:12px}.orbit-choice svg{width:24px;height:24px}.orbit-hub span{font-size:6px;letter-spacing:.5px}.portfolio-detail .services p{font-size:13px}}
@media(max-width:750px){.portfolio-orbit{grid-template-columns:1fr;gap:55px;margin-top:24px}.orbit-stage{max-width:480px;margin:0 auto}.orbit-choice{font-size:12px;gap:5px;padding:3px}.orbit-choice svg{width:23px;height:23px}.orbit-choice small{font-size:8px}.orbit-hub{padding:9px}.orbit-hub span{margin-top:8px;font-size:6px}.orbit-hint{bottom:-23px;font-size:8px}.portfolio-detail{padding-top:24px;min-height:310px}.portfolio-detail .services h3{font-size:34px}.portfolio-detail .services p{font-size:14px}.portfolio-detail .orbit-detail-label{margin-bottom:16px}.portfolio-detail .services .num{margin-bottom:15px}.portfolio-talk{margin-top:22px}.portfolio-orbit+.care{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.orbit-dashes,.orbit-comet{animation:none}.orbit-sector,.orbit-choice{transition:none}.portfolio-detail .services article{animation:none}}
.orbit-motion{font:inherit;background:none;border:0;border-bottom:1px solid #8db48d;padding:2px 0;color:#c5ddbc;cursor:pointer;margin-top:5px}.is-motion-paused .orbit-dashes,.is-motion-paused .orbit-comet,.is-offscreen .orbit-dashes,.is-offscreen .orbit-comet{animation-play-state:paused}.orbit-motion:focus-visible{outline:2px solid #fff;outline-offset:4px}.orbit-hint{bottom:-47px}.portfolio-orbit+.care{margin-top:85px}@media(max-width:750px){.portfolio-orbit{gap:76px}.portfolio-orbit+.care{margin-top:25px}}@media(prefers-reduced-motion:reduce){.orbit-motion{display:none}}

/* No explanatory caption below the circle. Motion control above the component. */
.portfolio-toolbar{display:flex;justify-content:flex-end;margin-top:25px}.portfolio-toolbar .orbit-motion{margin:0;padding:9px 13px;border:1px solid #6f9575;border-radius:3px;font:12px/1.4 Arial,sans-serif;color:#d9e8d1}.portfolio-orbit{margin-top:12px}.portfolio-orbit+.care{margin-top:48px}.orbit-choice{font-size:17px;gap:8px}.orbit-choice small{font-size:11px}.orbit-choice svg{width:32px;height:32px}.orbit-hub{padding:13px}.portfolio-detail .orbit-detail-label{font-size:12px;line-height:1.6;letter-spacing:1px}.portfolio-detail .services p{font-size:17px}.portfolio-detail .tags span{font-size:13px}.portfolio-talk{font-size:15px}.portfolio-detail .services .num{font-size:14px}
@media(max-width:1000px){.orbit-choice{font-size:14px}.orbit-choice svg{width:26px;height:26px}.portfolio-detail .services p{font-size:16px}.portfolio-detail .tags span{font-size:12px}}
@media(max-width:750px){.portfolio-orbit{gap:30px}.portfolio-toolbar{margin-top:20px}.portfolio-toolbar .orbit-motion{font-size:12px;padding:10px 13px}.orbit-choice{font-size:13px;gap:4px}.orbit-choice small{font-size:10px}.orbit-choice svg{width:25px;height:25px}.portfolio-detail .services p{font-size:16px}.portfolio-detail .services h3{font-size:34px}.portfolio-detail .tags span{font-size:12px}.portfolio-orbit+.care{margin-top:28px}}
