.fed-root{-webkit-font-smoothing:antialiased;color:#111;background:#fff;font-family:Onest,sans-serif;font-size:16px;overflow-x:clip}@media (width<=1920px){.fed-root{font-size:.833333vw}}@media (width<=1440px){.fed-root{font-size:1.11111vw}}@media (width<=1024px){.fed-root{font-size:1.5625vw}}@media (width<=640px){.fed-root{font-size:4.44444vw}}.fed-root *,.fed-root :before,.fed-root :after{box-sizing:border-box;margin:0;padding:0}.fed-root a{color:inherit;text-decoration:none}.fed-root a:hover{color:inherit}.fed-root button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.fed-root ul{list-style:none}.fed-root img{display:block}.fed-root input,.fed-root textarea{font:inherit}.fed-root .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fed-root .skip{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.fed-root .skip:focus{clip:auto;z-index:60;color:#fff;background:linear-gradient(135deg,#37c6ae,#24796c);border-radius:.875rem;width:auto;height:auto;padding:.5rem 1rem;font-size:.875rem;position:fixed;top:1rem;left:1rem}.fed-root :focus-visible{outline-offset:2px;outline:2px solid #2e9e8c}@media (hover:hover){.fed-root .pill:hover{transform:scale(1.04)}.fed-root .pill:hover .pillarrow{transform:translate(3px)}.fed-root .pill.ur:hover .pillarrow{transform:translate(2px,-2px)}.fed-root .hv:hover{transform:scale(1.04)}.fed-root .hv5:hover{transform:scale(1.05)}.fed-root .lift:hover{opacity:1;transform:translateY(-2px)}.fed-root .tile:hover{transform:scale(1.03)}.fed-root .card:hover{transform:translateY(-8px)scale(1.012)}.fed-root .card:hover .cbadge{transform:rotate(45deg)scale(1.08)}.fed-root .alink:hover .alinki{opacity:1;transform:translate(4px)}.fed-root .alink.legal:hover .alinki{opacity:1;transform:translate(3px)}.fed-root .soc:hover .soci{transform:scale(1.18)}.fed-root .navitem:hover .navidx{color:#37c6ae}.fed-root .navitem:hover .navlbl{color:#fff}.fed-root .menubtn:hover{background:#ffffffb3}.fed-root .closebtn:hover{color:#fff;border-color:#fff6}.fed-root .mclose:hover{color:#111;background:#dfe3e6}}@media (width<=1023px){.fed-root .lg-only{display:none!important}.fed-root .hero-dock{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fed-root .dock-band{padding:24px 16px 0!important}.fed-root #home{min-height:360px;height:56vh!important}.fed-root .about-grid{grid-template-columns:1fr!important;padding-block:5rem!important}.fed-root .cm-grid{grid-template-columns:1fr!important;gap:3rem!important}.fed-root .foot-cols{grid-template-columns:repeat(2,1fr)!important}.fed-root .cta-row{flex-direction:column!important;align-items:flex-start!important}}@media (width<=767px){.fed-root .md-only{display:none!important}.fed-root .work-grid,.fed-root .foot-cols{grid-template-columns:1fr!important}}@media (width<=639px){.fed-root .sm-hide{display:none!important}.fed-root .band{flex-direction:column!important;gap:.75rem!important}.fed-root .band-tile{height:6rem!important;font-size:1.875rem!important}.fed-root .h1,.fed-root .h2xl{font-size:2.25rem!important}.fed-root .legal{flex-direction:column!important;align-items:center!important}.fed-root .navitem{font-size:2.25rem!important}}@keyframes fed-floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fed-root .float{animation:6s ease-in-out infinite fed-floaty}.fed-root .f2{animation-duration:7.5s;animation-delay:-1.2s}.fed-root .f3{animation-duration:6.8s;animation-delay:-2.4s}.fed-root .f4{animation-duration:8s;animation-delay:-3.1s}@keyframes fed-revealIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes fed-revealDim{0%{opacity:0;transform:translateY(20px)}to{opacity:.4;transform:none}}@media (width<=1023px){.fed-root .aud-grid{grid-template-columns:1fr!important}.fed-root .floaters{display:none!important}.fed-root .detail-row{grid-template-columns:1fr!important}.fed-root .detail-row>div{padding:0!important}.fed-root .detail-row.rev>div:first-child{order:2}.fed-root #intGrid,.fed-root .cat-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=639px){.fed-root #intGrid,.fed-root .cat-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){.fed-root *{transition:none!important;animation:none!important}}.fed-root .hg-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#061e1bbd 0%,#061e1b80 30%,#061e1b00 56%);position:absolute;inset:0}.fed-root .hg-copy{z-index:2;color:#fff;flex-direction:column;align-items:flex-start;gap:20px;max-width:560px;display:flex;position:absolute;top:64px;left:48px}.fed-root .hg-pill{background:#ffffff29;border:1px solid #ffffff61;border-radius:9999px;padding:8px 16px;font-size:14px;font-weight:600}.fed-root .hg-h1{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 24px #00000040;font-size:clamp(38px,4.4vw,68px);font-weight:700;line-height:1.04}.fed-root .hg-accent{color:#7ff0db;display:block}.fed-root .hg-sub{color:#ffffffe0;max-width:480px;font-size:18px;line-height:1.55}.fed-root .hg-actions .pill{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.fed-root .hg-actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.fed-root .hg-card{z-index:2;color:#111;background:linear-gradient(135deg,#ffffffe6 0%,#ffffffc2 55%,#ecf8f5b8 100%);border:1px solid #ffffffe6;border-radius:20px;flex-direction:column;gap:8px;padding:18px 20px;transition:box-shadow .3s;animation:7s ease-in-out infinite fed-floaty;display:flex;position:absolute;box-shadow:inset 0 1px #ffffffe6,0 20px 50px -20px #061e1b73}@media (hover:hover){.fed-root .hg-card:hover{box-shadow:0 26px 60px -18px #061e1b99}}.fed-root .hg-card-head{align-items:center;gap:12px;display:flex}.fed-root .hg-card strong{font-size:16px;font-weight:600;line-height:1.3;display:block}.fed-root .hg-card small{color:#1111119e;font-size:13px;line-height:1.35;display:block}.fed-root .hg-card b{letter-spacing:-.02em;color:#111;font-size:34px;font-weight:700;line-height:1.05}.fed-root .hg-card b.hg-b-md{white-space:nowrap;font-size:22px}.fed-root .hg-card b.hg-b-sm{white-space:nowrap;font-size:19px}.fed-root .hg-icon{color:#fff;background:linear-gradient(135deg,#37c6ae,#24796c);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.fed-root .hg-icon svg{width:22px;height:22px}.fed-root .hg-icon-soft{color:#24796c;background:#37c6ae33}.fed-root .hg-icon-violet{color:#7c4ddc;background:#efe7ff}.fed-root .hg-icon-sky{color:#1f7fb8;background:#e3f2fb}.fed-root .hg-tiles{grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:6px;display:grid}.fed-root .hg-tile{background:#ffffff9e;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.fed-root .hg-tile b{color:#1f8f7e}.fed-root .hg-green{color:#1d7a4f;font-size:14px;font-weight:600}.fed-root .hg-bars{gap:4px;margin-top:4px;display:flex}.fed-root .hg-bars i{background:linear-gradient(#5ec8f0,#1f7fb8);border-radius:3px;width:7px;height:22px}.fed-root .hg-card-a{width:344px;animation-duration:7.5s;top:152px;right:56px}.fed-root .hg-card-b{z-index:3;width:224px;animation-duration:6.4s;animation-delay:-1.6s;top:28px;right:20px}.fed-root .hg-card-c{width:270px;animation-duration:8s;animation-delay:-2.4s;bottom:124px;left:46%}.fed-root .hg-card-d{width:240px;animation-duration:6.8s;animation-delay:-3.2s;bottom:148px;right:48px}@media (width<=1023px){.fed-root .hg-card-a,.fed-root .hg-card-b{display:none}.fed-root .hg-copy{max-width:520px;top:40px;left:24px}.fed-root .hg-shade{background:linear-gradient(90deg,#061e1bb8 0%,#061e1b59 70%,#061e1b26 100%)}.fed-root .hg-card-c{width:240px;bottom:200px;left:auto;right:24px}.fed-root .hg-card-d{width:240px;bottom:24px;right:24px}.fed-root .hg-copy{max-width:calc(100% - 300px)}}@media (width<=639px){.fed-root .hg-card{display:none}.fed-root .hg-shade{background:#061e1b99}.fed-root .hg-copy{top:32px;left:16px;right:16px}.fed-root .hg-h1{font-size:36px}.fed-root .hg-sub{font-size:16px}}.fed-root .shot .shotimg{transition:transform 1.2s cubic-bezier(.16,1,.3,1);transform:scale(1.08)}.fed-root .shot.is-in .shotimg,.fed-root .shot .shotimg.is-in{transform:none}@keyframes fed-drift{0%,to{transform:translate(0,0)rotate(0)}33%{transform:translate(6px,-12px)rotate(2deg)}66%{transform:translate(-5px,-6px)rotate(-1.5deg)}}@keyframes fed-drift-slow{0%,to{transform:translate(0,0)}50%{transform:translate(-10px,-18px)}}.fed-root #works,.fed-root #audiences{position:relative}.fed-root .fx-layer{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.fed-root .fx-float{will-change:transform;animation:fed-drift var(--dur,9s) ease-in-out infinite;animation-delay:var(--d,0s);color:#24796c;position:absolute}.fed-root .fx-float.slow{animation-name:fed-drift-slow}@media (hover:hover){.fed-root .card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s cubic-bezier(.2,.8,.2,1)}.fed-root .card:hover{box-shadow:0 24px 60px -24px #24796c8c,0 0 0 1px #ffffff14}.fed-root .pill{will-change:transform;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.fed-root .pill:hover{box-shadow:0 12px 30px -10px #24796c80}.fed-root .shot:hover .shotimg{filter:brightness(1.03)}.fed-root .aud-grid>li{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.fed-root .aud-grid>li:hover{transform:translateY(-4px);box-shadow:0 14px 30px -16px #24796c66}.fed-root .cm-check{transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s}.fed-root .cm-check:hover{background:#f4f7f8;transform:translateY(-2px)}.fed-root .cm-logo{transition:color .3s,transform .3s}.fed-root .cm-logo:hover{color:#24796c;transform:scale(1.05)}.fed-root .cm-marquee:hover .cm-track{animation-play-state:paused}}@keyframes cm-marquee{to{transform:translate(-50%)}}@keyframes cm-bob{0%,to{transform:translate(0,0)}50%{transform:translateY(-8px)}}.fed-root .cm-track{animation:25s linear infinite cm-marquee}.fed-root .cm-bob{will-change:transform;animation:5s ease-in-out infinite cm-bob}.fed-root .cm-bob.slow{animation-duration:7s;animation-delay:-2s}@media (prefers-reduced-motion:reduce){.fed-root .fx-layer{display:none}.fed-root .shot .shotimg{transition:none;transform:none}.fed-root [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.fed-root .cm-track,.fed-root .cm-bob{animation:none!important}}@media (width<=1023px){.fed-root .fx-layer{display:none!important}}.fed-root{--lms-error:#c0392b;--lms-error-bg:#fdf0ee;--lms-success:#1d7a4f;--lms-success-bg:#edf7f1;--lms-warning:#9a6b12;--lms-warning-bg:#fdf6e7;--lms-h1:clamp(30px, 3.6vw, 52px);--lms-h2:clamp(24px, 2.6vw, 36px);--lms-h3:clamp(19px, 1.8vw, 26px);--lms-h4:clamp(16px, 1.3vw, 19px);--lms-body:clamp(14px, 1vw, 16px);--lms-meta:13px;--lms-accent:linear-gradient(135deg, #37c6ae, #24796c);--lms-accent-solid:#24796c;--lms-accent-light:#37c6ae;--lms-border:#dfe3e6;--lms-tint:#eef2f3;--lms-muted:#1119;--lms-subtle:#1116;--lms-head-h:65px}@media (width<=640px){.fed-root.lms{font-size:min(4.4444vw,16px)}}.fed-root.lms .lms-h1{font-size:var(--lms-h1);letter-spacing:-.03em;font-weight:600;line-height:1.08}.fed-root.lms .lms-h2{font-size:var(--lms-h2);letter-spacing:-.02em;font-weight:600;line-height:1.2}.fed-root.lms .lms-h3{font-size:var(--lms-h3);letter-spacing:-.02em;font-weight:600;line-height:1.25}.fed-root.lms .lms-h4{font-size:var(--lms-h4);letter-spacing:-.01em;font-weight:600;line-height:1.3}.fed-root.lms .lms-body{font-size:var(--lms-body);color:var(--lms-muted);line-height:1.55}.fed-root.lms .lms-meta{font-size:var(--lms-meta);color:var(--lms-muted)}.fed-root.lms .lms-page{max-width:88rem;margin-inline:auto;padding:clamp(40px,4vw,64px) clamp(16px,2vw,32px) clamp(64px,6vw,96px)}.fed-root.lms .lms-page-narrow{max-width:46rem}@media (width>=1024px){.fed-root .lg-hide{display:none!important}}.fed-root .lms-badge{background:var(--lms-accent);color:#fff;font-variant-numeric:tabular-nums;border-radius:9999px;place-items:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:600;display:grid;position:absolute;top:-.375rem;right:-.5rem}.fed-root.lms .lms-hero-inner{max-width:88rem;margin-inline:auto;padding:clamp(36px,3.4vw,56px) clamp(16px,2vw,32px) clamp(32px,3vw,48px)}.fed-root.lms .lms-sr-only{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.fed-root.lms .lms-hero-full{object-fit:cover;object-position:center top;background:var(--lms-tint);width:100%;height:clamp(240px,32vw,480px);display:block}.fed-root.lms .lms-hero-full-skeleton{background:linear-gradient(90deg,#eef2f3 25%,#e3e9ea 37%,#eef2f3 63%) 0 0/280% 100%;animation:1.6s linear infinite lms-shimmer}.fed-root.lms .lms-hero-bare{background:#fff}.fed-root.lms .lms-hero-bare-rail{padding-inline:clamp(16px,2vw,32px);max-width:88rem;margin-inline:auto;padding-top:clamp(14px,1.4vw,20px);padding-bottom:clamp(20px,2.4vw,36px)}.fed-root.lms .cat-grid{align-items:stretch}.fed-root.lms .lms-split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:3rem;display:grid}.fed-root.lms .lms-rail{position:sticky;top:2rem}@media (width<=1023px){.fed-root.lms .lms-split{grid-template-columns:1fr;gap:2rem}.fed-root.lms .lms-rail{position:static}}.fed-root.lms .lms-split-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:2.5rem;display:grid}@media (width<=1023px){.fed-root.lms .lms-split-7-5{grid-template-columns:1fr}}.fed-root.lms .lms-label{color:#111111b3;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.fed-root.lms .lms-input{color:#111;border:1px solid var(--lms-border);background:#fff;border-radius:12px;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.fed-root.lms .lms-input::placeholder{color:var(--lms-subtle)}.fed-root.lms .lms-input:focus{border-color:var(--lms-accent-light);outline:none;box-shadow:0 0 0 3px #37c6ae2e}.fed-root.lms .lms-input[aria-invalid=true]{border-color:var(--lms-error)}.fed-root.lms .lms-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c0392b26}.fed-root.lms .lms-input-num{font-variant-numeric:tabular-nums;letter-spacing:.04em}.fed-root.lms .lms-error{color:var(--lms-error);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.fed-root.lms .lms-select{color:#111;border:1px solid var(--lms-border);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/14px no-repeat;border-radius:9999px;padding:10px 34px 10px 14px;font-size:14px}.fed-root.lms .lms-banner{border-radius:14px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.fed-root.lms .lms-banner-error{background:var(--lms-error-bg);color:var(--lms-error);border:1px solid #c0392b33}.fed-root.lms .lms-banner-success{background:var(--lms-success-bg);color:var(--lms-success);border:1px solid #1d7a4f33}.fed-root.lms .lms-banner-warning{background:var(--lms-warning-bg);color:var(--lms-warning);border:1px solid #9a6b1233}@keyframes lms-spin{to{transform:rotate(360deg)}}.fed-root.lms .lms-spin{animation:.8s linear infinite lms-spin}.fed-root.lms .lms-bar{background:var(--lms-tint);border-radius:9999px;height:6px;overflow:hidden}.fed-root.lms .lms-bar>span{background:var(--lms-accent);border-radius:9999px;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block}.fed-root.lms .lms-acc{border:1px solid var(--lms-border);border-radius:1.25rem;overflow:hidden}.fed-root.lms .lms-acc+.lms-acc{margin-top:.75rem}.fed-root.lms .lms-acc-head{text-align:left;background:var(--lms-tint);justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.125rem 1.25rem;transition:background .2s;display:flex}@media (hover:hover){.fed-root.lms .lms-acc-head:hover{background:#e6ecee}}.fed-root.lms .lms-acc-chevron{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.fed-root.lms .lms-acc[data-open=true] .lms-acc-chevron{transform:rotate(180deg)}.fed-root.lms .lms-lesson{border-top:1px solid var(--lms-border);align-items:center;gap:.75rem;padding:.875rem 1.25rem;font-size:14px;transition:background .2s;display:flex}@media (hover:hover){.fed-root.lms .lms-lesson:hover{background:#fafbfb}}.fed-root.lms .lms-mod-note{max-width:62ch;font-size:var(--lms-meta);color:var(--lms-muted);font-weight:400;line-height:1.5}.fed-root.lms .lms-topics{flex-wrap:wrap;gap:.375rem;display:flex}.fed-root.lms .lms-acc .lms-topics{padding:0 1.25rem 1rem calc(2rem + 16px)}.fed-root.lms .lms-topic{border:1px solid var(--lms-border);color:var(--lms-muted);background:#fff;border-radius:.5rem;padding:.25rem .5rem;font-size:12.5px;font-weight:500;line-height:1.35}.fed-root.lms .lms-project .lms-topic,.fed-root.lms .lms-stack .lms-topic{background:var(--lms-tint);border-color:#0000}.fed-root.lms .lms-projects{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;display:grid}.fed-root.lms .lms-project{border:1px solid var(--lms-border);border-radius:1.25rem;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.fed-root.lms .lms-project-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--lms-subtle);font-size:11.5px;font-weight:700}.fed-root.lms .lms-project-name{font-size:var(--lms-h4);letter-spacing:-.01em;font-weight:600}.fed-root.lms .lms-stack{border:1px solid var(--lms-border);border-radius:1.25rem;overflow:hidden}.fed-root.lms .lms-stack-row{grid-template-columns:11rem 1fr;align-items:baseline;gap:1rem;padding:1rem 1.25rem;display:grid}.fed-root.lms .lms-stack-row+.lms-stack-row{border-top:1px solid var(--lms-border)}.fed-root.lms .lms-stack-label{letter-spacing:.1em;text-transform:uppercase;color:var(--lms-subtle);font-size:11.5px;font-weight:700}@media (width<=640px){.fed-root.lms .lms-stack-row{grid-template-columns:1fr;gap:.625rem}}@keyframes lms-shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}.fed-root.lms .lms-skel{background:linear-gradient(90deg,#eef2f3 25%,#f7f9fa 50%,#eef2f3 75%) 0 0/220% 100%;border-radius:.75rem;animation:1.4s linear infinite lms-shimmer}.fed-root.lms .lms-hero-xl{isolation:isolate;background:linear-gradient(#fdfcfc 0%,#fbfafa 100%);border-radius:0 0 2rem 2rem;position:relative}.fed-root.lms .lms-hero-h1{text-wrap:balance;max-width:12em;min-height:2.16em}.fed-root.lms .lms-hero-accent{color:var(--lms-accent-solid)}.fed-root.lms .lms-hero-sub{font-size:var(--lms-body);color:var(--lms-muted);max-width:34rem;line-height:1.55}.fed-root.lms .lms-hero-stage{align-self:center;min-width:0;position:relative}.fed-root.lms .lms-orbit-marks{z-index:2;pointer-events:none;--chip:44px;position:absolute;inset:0}@media (width<=900px){.fed-root.lms .lms-orbit-marks{--chip:34px}}.fed-root.lms .lms-mark-slot{width:var(--chip);height:var(--chip);margin:calc(var(--chip) / -2) 0 0 calc(var(--chip) / -2);position:absolute}.fed-root.lms .lms-mark-fly{will-change:transform, opacity;width:100%;height:100%;display:block}.fed-root.lms .lms-mark{border-radius:calc(var(--chip) * .32);border:1px solid var(--lms-border);background:#fff;place-items:center;width:100%;height:100%;display:grid;box-shadow:0 2px 6px #11111114}.fed-root.lms .lms-mark svg{width:46%;height:46%;display:block}.fed-root.lms .lms-hero-video{align-self:center;min-width:0}.fed-root.lms .lms-hero-video video,.fed-root.lms .lms-hero-video img{-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 7% 93%,#0000 100%),linear-gradient(#0000 0,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 7% 93%,#0000 100%),linear-gradient(#0000 0,#000 7% 93%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.fed-root.lms .lms-hero-xl-inner{z-index:2;max-width:88rem;min-height:inherit;--hero-pad-b:clamp(48px, 4vw, 72px);padding:clamp(24px, 2.4vw, 40px) clamp(16px, 2vw, 32px) var(--hero-pad-b);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:clamp(24px,3vw,56px);margin-inline:auto;display:grid;position:relative}.fed-root.lms .lms-hero-copy{flex-direction:column;gap:1rem;display:flex}.fed-root.lms .lms-hero-lede{max-width:34rem}.fed-root.lms .lms-hero-cta{flex-wrap:wrap;gap:.625rem;margin-top:.25rem;display:flex}.fed-root.lms .lms-hero-visual{width:100%;min-width:0;max-width:700px;margin-right:auto;margin-bottom:calc(-1 * var(--hero-pad-b));align-self:end;container-type:inline-size}.fed-root.lms .lms-orbit{--orb:clamp(200px, min(57.5cqw, calc((100vh - 400px) * .94)), 440px);--chip:clamp(30px, calc(var(--orb) * .145), 64px);width:100%;height:calc(var(--orb) * 1.06 + var(--chip) * .6);position:relative;overflow:hidden}.fed-root.lms .lms-orbit-in{transform-origin:50% 100%;position:absolute;inset:0}.fed-root.lms .lms-orbit-ring{z-index:2;width:calc(var(--orb) * 2 * var(--ring-k));height:calc(var(--orb) * 2 * var(--ring-k));border-radius:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.fed-root.lms .lms-orbit-ring:before{content:"";border:1px solid #24796c38;border-radius:50%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 38%,#0000 54%);mask-image:linear-gradient(#000 38%,#0000 54%)}.fed-root.lms .lms-orbit-spoke{transform-origin:bottom;width:0;height:50%;transform:rotate(var(--start-angle));animation:lms-orbit-cw var(--orbit-dur) linear infinite;position:absolute;top:0;left:50%}.fed-root.lms .lms-orbit-spoke.is-ccw{animation-name:lms-orbit-ccw}@keyframes lms-orbit-cw{to{transform:rotate(calc(var(--start-angle) + 360deg))}}@keyframes lms-orbit-ccw{to{transform:rotate(calc(var(--start-angle) - 360deg))}}.fed-root.lms .lms-orbit-chip{width:var(--chip);height:var(--chip);margin-top:calc(var(--chip) / -2);margin-left:calc(var(--chip) / -2);border:1px solid var(--lms-border);transform:rotate(var(--counter-offset));animation:lms-orbit-counter-cw var(--orbit-dur) linear infinite;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;box-shadow:0 10px 24px -14px #11111173,0 0 0 6px #ffffff8c}.fed-root.lms .lms-orbit-spoke.is-ccw .lms-orbit-chip{animation-name:lms-orbit-counter-ccw}@keyframes lms-orbit-counter-cw{to{transform:rotate(calc(var(--counter-offset) - 360deg))}}@keyframes lms-orbit-counter-ccw{to{transform:rotate(calc(var(--counter-offset) + 360deg))}}.fed-root.lms .lms-orbit-chip svg{width:46%;height:46%;display:block}.fed-root.lms .lms-orbit-core{z-index:1;width:calc(var(--orb) * 1.04);height:calc(var(--orb) * 1.04);position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.fed-root.lms .lms-orbit-core:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#37c6ae38,#37c6ae00 72%);border-radius:50%;position:absolute;inset:-12%}.fed-root.lms .lms-orbit-core-in{position:absolute;inset:0}.fed-root.lms .lms-orbit[data-idle=true] .lms-orbit-spoke,.fed-root.lms .lms-orbit[data-idle=true] .lms-orbit-chip{animation-play-state:paused}.fed-root .lms-head{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffd1;border-bottom:1px solid #11111114;position:sticky;top:0}.fed-root .lms-navbar{justify-content:space-between;align-items:center;gap:1rem;max-width:80rem;height:64px;margin-inline:auto;padding-inline:clamp(16px,2.5vw,40px);display:flex}.fed-root .lms-logo{flex-shrink:0;display:flex}.fed-root .lms-nav{flex:1;justify-content:center;min-width:0;display:flex}.fed-root .lms-nav>ul{white-space:nowrap;align-items:center;gap:clamp(2px,.4vw,8px);display:flex}.fed-root .lms-navitem{align-items:center;display:flex;position:relative}.fed-root .lms-navlink{letter-spacing:-.005em;color:#111111b8;border-radius:9999px;align-items:center;gap:6px;padding:8px clamp(8px,.9vw,12px);font-size:clamp(13px,1.1vw,14px);font-weight:500;transition:color .2s,background-color .2s;display:inline-flex;position:relative}.fed-root .lms-navlink.is-active{color:var(--lms-accent-solid);font-weight:600}.fed-root .lms-navlink.is-active:after{content:"";background:var(--lms-accent-solid);border-radius:2px;width:18px;height:2px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.fed-root .lms-navlink.is-open{color:#111;background:#1111110d}@media (hover:hover){.fed-root .lms-navlink:hover{color:#111;background:#1111110d}.fed-root .lms-navlink.is-active:hover{color:var(--lms-accent-solid)}}.fed-root .lms-soon{letter-spacing:.06em;text-transform:uppercase;color:var(--lms-subtle);background:#1111110d;border-radius:9999px;padding:1px 6px;font-size:9.5px;font-weight:600}.fed-root .lms-navcaret{color:#11111180;border-radius:6px;place-items:center;width:20px;height:28px;margin-left:-6px;transition:color .2s;display:grid}.fed-root .lms-navcaret svg{width:14px;height:14px;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.fed-root .lms-navcaret[aria-expanded=true]{color:#111}.fed-root .lms-navcaret[aria-expanded=true] svg{transform:rotate(180deg)}@media (hover:hover){.fed-root .lms-navcaret:hover{color:#111}}.fed-root .lms-panel{opacity:0;visibility:hidden;padding-top:14px;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s linear .25s;position:absolute;top:100%;left:50%;transform:translate(-50%,-6px)}.fed-root .lms-panel[data-open=true]{opacity:1;visibility:visible;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1),visibility;transform:translate(-50%)}.fed-root .lms-panel-card{white-space:normal;background:#fff;border:1px solid #11111114;border-radius:16px;padding:10px;box-shadow:0 1px 2px #1111110a,0 18px 48px -12px #1111112e}.fed-root .lms-panel-courses{width:440px}.fed-root .lms-panel-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--lms-subtle);padding:8px 12px 6px;font-size:11px;font-weight:600}.fed-root .lms-panel-grid{grid-template-columns:1fr 1fr;gap:2px;display:grid}.fed-root .lms-panel-link{border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;transition:background-color .15s;display:flex}.fed-root .lms-panel-title{color:#111;font-size:14px;font-weight:600;transition:color .15s}.fed-root .lms-panel-meta{color:var(--lms-muted);font-size:12px}.fed-root .lms-panel-foot{color:var(--lms-accent-solid);border-top:1px solid #11111112;justify-content:space-between;align-items:center;margin-top:6px;padding:12px;font-size:13px;font-weight:600;display:flex}.fed-root .lms-panel-foot svg{width:15px;height:15px;transition:transform .2s}@media (hover:hover){.fed-root .lms-panel-link:hover{background:#37c6ae1a}.fed-root .lms-panel-link:hover .lms-panel-title,.fed-root .lms-panel-foot:hover{color:var(--lms-accent-solid)}.fed-root .lms-panel-foot:hover svg{transform:translate(3px)}}.fed-root .lms-head-actions{flex-shrink:0;align-items:center;gap:clamp(.5rem,1vw,.875rem);display:flex}.fed-root .lms-cta{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#37c6ae,#24796c);border-radius:9999px;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:13.5px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px -6px #24796c8c}.fed-root .lms-cta svg{width:15px;height:15px;transition:transform .2s}@media (hover:hover){.fed-root .lms-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px -8px #24796ca6}.fed-root .lms-cta:hover svg{transform:translate(2px)}}.fed-root .lms-iconbtn{color:#111111d1;background:0 0;border:0;border-radius:9999px;place-items:center;width:40px;height:40px;transition:color .2s,background-color .2s;display:grid;position:relative}.fed-root .lms-menubtn{border:1px solid #1111111f;gap:6px;width:auto;min-width:40px;padding:0 11px;display:inline-flex}.fed-root .lms-menubtn-lbl{font-size:13.5px;font-weight:500}@media (hover:hover){.fed-root .lms-iconbtn:hover{color:#111;background:#1111110d}}.fed-root .lms-account{color:var(--lms-muted);background:#1111110d;border-radius:9999px;align-items:center;gap:.5rem;padding:.3rem .7rem;font-size:12px;display:flex}.fed-root .lms-navbar :focus-visible{outline-offset:3px;outline-color:#111}@media (prefers-reduced-motion:reduce){.fed-root .lms-panel,.fed-root .lms-panel[data-open=true]{transition:none;transform:translate(-50%)}}@media (width<=1023px){.fed-root.lms .lms-hero-xl{min-height:auto}.fed-root.lms .lms-hero-xl-inner{--hero-pad-b:clamp(48px, 6vw, 64px);padding:clamp(44px, 6vw, 64px) clamp(16px, 2vw, 32px) var(--hero-pad-b);grid-template-columns:1fr;gap:2.5rem}.fed-root.lms .lms-hero-visual{max-width:620px;margin-inline:auto}.fed-root.lms .lms-orbit{--orb:clamp(200px, 57.5cqw, 380px)}}@media (width<=639px){.fed-root.lms .lms-hero-visual{display:none}}@media (prefers-reduced-motion:reduce){.fed-root.lms .lms-orbit-spoke,.fed-root.lms .lms-orbit-chip{animation:none!important}.fed-root .lms-navbar{opacity:1;transform:none;animation:none!important}}.fed-root.lms .lms-player{min-height:calc(100svh - var(--lms-head-h));grid-template-columns:20rem minmax(0,1fr);gap:0;display:grid}.fed-root.lms .lms-player-side{border-right:1px solid var(--lms-border);max-height:calc(100svh - var(--lms-head-h));top:var(--lms-head-h);position:sticky;overflow-y:auto}.fed-root.lms .lms-player-head{border-bottom:1px solid var(--lms-border);padding:1.25rem 1.25rem 1rem}@media (width<=1023px){.fed-root.lms .lms-player{grid-template-columns:1fr}.fed-root.lms .lms-player-side{border-right:none;border-bottom:1px solid var(--lms-border);max-height:none;position:static}}@media print{.fed-root.lms .lms-noprint{display:none!important}.fed-root.lms .lms-cert{max-width:none!important;box-shadow:none!important;border-radius:0!important}}.fed-root .lms-wa-float{z-index:40;color:#0b3d1f;background:#25d366;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.125rem .75rem .875rem;font-size:14px;font-weight:600;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:fixed;bottom:16px;right:16px;box-shadow:0 10px 30px -10px #00000059}.fed-root .lms-wa-float svg{width:22px;height:22px}@media (hover:hover){.fed-root .lms-wa-float:hover{transform:translateY(-2px)scale(1.03)}}@media (width<=639px){.fed-root .lms-wa-float{padding:.875rem}.fed-root .lms-wa-float-label{display:none}}.fed-root.lms .lms-grid-section,.fed-root.lms .lms-pathswitch-section{background:#fff}.fed-root.lms .lms-grid-section .lms-page{padding-top:clamp(28px,3vw,48px)}.fed-root.lms .lms-grid-head{flex-direction:column;gap:.375rem;margin-bottom:clamp(18px,2vw,28px);display:flex}.fed-root.lms .lms-grid-head .lms-body{color:var(--lms-muted)}.fed-root.lms .lms-cgrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,1.6vw,24px);display:grid}.fed-root.lms .lms-cgrid>li{list-style:none;display:flex}.fed-root.lms .lms-ccard{border:1px solid var(--lms-border);background:#fff;border-radius:1.25rem;flex-direction:column;flex:auto;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;display:flex;overflow:hidden}.fed-root.lms .lms-ccard-media{aspect-ratio:16/9;background:var(--lms-tint);position:relative}.fed-root.lms .lms-ccard-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.fed-root.lms .lms-ccard-badge{color:#111;letter-spacing:.06em;text-transform:uppercase;background:#fff;border-radius:9999px;padding:5px 10px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px;box-shadow:0 2px 10px #0000001f}.fed-root.lms .lms-ccard-tag{background:var(--lms-warning-bg);color:var(--lms-warning);border-radius:9999px;padding:5px 10px;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px}.fed-root.lms .lms-ccard-body{flex-direction:column;flex:auto;gap:.375rem;padding:1rem 1.125rem 1.125rem;display:flex}.fed-root.lms .lms-ccard-title{font-size:var(--lms-h4);font-weight:600;line-height:1.3}.fed-root.lms .lms-ccard-line{color:#111111b3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.fed-root.lms .lms-ccard-meta{color:var(--lms-muted);font-size:.8125rem}.fed-root.lms .lms-ccard-chips{flex-wrap:wrap;gap:.5rem;margin-top:.375rem;display:flex}.fed-root.lms .lms-ccard-chip{border:1px solid var(--lms-border);background:var(--lms-tint);color:#111;border-radius:9999px;align-items:center;gap:.375rem;padding:6px 12px;font-size:.8125rem;font-weight:600;transition:border-color .2s;display:inline-flex}.fed-root.lms .lms-ccard-chip svg{width:13px;height:13px}.fed-root.lms .lms-ccard-chip[data-path=java]{color:#9a4500;background:#fdeee2;border-color:#f6d3b8}.fed-root.lms .lms-ccard-chip[data-path=javascript]{color:#6b5600;background:#fbf3cf;border-color:#efe09a}@media (hover:hover){.fed-root.lms .lms-ccard-chip:hover{border-color:var(--lms-accent-solid)}}.fed-root.lms .lms-ccard-foot{justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:.875rem;display:flex}.fed-root.lms .lms-ccard-pick{color:var(--lms-muted);font-size:.8125rem}.fed-root.lms .lms-ccard-wa{color:#0b3d1f;background:#25d366;border-radius:9999px;flex:none;place-items:center;width:40px;height:40px;transition:transform .2s;display:grid}.fed-root.lms .lms-ccard-wa svg{width:19px;height:19px}@media (hover:hover){.fed-root.lms .lms-ccard-wa:hover{transform:scale(1.06)}}@media (width<=1023px){.fed-root.lms .lms-cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.fed-root.lms .lms-cgrid{grid-template-columns:minmax(0,1fr)}}.fed-root.lms .lms-step-eyebrow{font-size:var(--lms-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--lms-accent-solid);align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.fed-root.lms .lms-step-eyebrow svg{width:14px;height:14px}.fed-root.lms .lms-tile-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.fed-root.lms .lms-fork-label{background:var(--lms-tint);color:var(--lms-accent-solid);border-radius:9999px;align-self:flex-start;padding:.25rem .75rem;font-size:.8125rem;font-weight:700}.fed-root.lms .lms-pathswitch-option:first-child .lms-fork-label{color:#9a4500;background:#fdeee2}.fed-root.lms .lms-pathswitch-option:last-child .lms-fork-label{color:#6b5600;background:#fbf3cf}.fed-root.lms .lms-fork-summary{font-size:var(--lms-body);font-weight:600;line-height:1.4}.fed-root.lms .lms-centre-section{background:var(--lms-tint)}.fed-root.lms .lms-centre{border:1px solid var(--lms-border);background:#fff;border-radius:1.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(20px,2.5vw,36px);display:flex}.fed-root.lms .lms-centre-copy{flex-direction:column;gap:.5rem;max-width:40rem;display:flex}.fed-root.lms .lms-centre-copy .lms-body{color:var(--lms-muted)}.fed-root.lms .lms-centre-call{color:var(--lms-accent-solid);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.fed-root.lms .lms-centre-call svg{width:14px;height:14px}.fed-root.lms .lms-pathswitch-section .lms-page{padding-top:clamp(20px,2vw,32px);padding-bottom:0}.fed-root.lms .lms-pathswitch{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.75rem;display:grid}.fed-root.lms .lms-pathswitch-option{border:2px solid var(--lms-border);text-align:left;cursor:pointer;background:#fff;border-radius:1.25rem;flex-direction:column;align-items:flex-start;gap:.375rem;padding:1rem 1.25rem;transition:border-color .2s,box-shadow .2s;display:flex}.fed-root.lms .lms-pathswitch-option[aria-pressed=true]{border-color:var(--lms-accent-solid);box-shadow:0 0 0 4px #37c6ae2e}.fed-root.lms .lms-pathswitch-best{color:var(--lms-muted);font-size:.8125rem;line-height:1.45}@media (hover:hover){.fed-root.lms .lms-pathswitch-option[aria-pressed=false]:hover{border-color:var(--lms-accent-light)}}@media (width<=767px){.fed-root.lms .lms-pathswitch{grid-template-columns:minmax(0,1fr)}}.fed-root .foot-nap{color:#ffffffd9;flex-direction:column;gap:.375rem;margin-top:.5rem;font-size:.875rem;font-style:normal;line-height:1.5;display:flex}.fed-root .foot-nap strong{color:#fff;font-weight:600}.fed-root .foot-nap a{text-underline-offset:3px;-webkit-text-decoration:underline #ffffff59;text-decoration:underline #ffffff59}.fed-root .foot-legal{flex-wrap:wrap;gap:.25rem 1rem;display:inline-flex}.fed-root .foot-legal a:hover{color:#fff;text-decoration:underline}.fed-root.lms .lms-contact-section,.fed-root.lms .lms-info-section{background:#fff}.fed-root.lms .lms-contact-head{flex-direction:column;gap:.625rem;max-width:44rem;margin-bottom:clamp(24px,2.5vw,40px);display:flex}.fed-root.lms .lms-contact-head .lms-body{color:var(--lms-muted)}.fed-root.lms .lms-contact-head a,.fed-root.lms .lms-faq a,.fed-root.lms .lms-legal a{color:var(--lms-accent-solid);text-underline-offset:3px;text-decoration:underline}.fed-root.lms .lms-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:clamp(16px,2vw,32px);display:grid}.fed-root.lms .lms-contact-card{border:1px solid var(--lms-border);background:#fff;border-radius:1.5rem;flex-direction:column;gap:1.25rem;padding:clamp(20px,2vw,28px);display:flex}.fed-root.lms .lms-contact-nap{font-style:normal;font-size:var(--lms-body);color:#111c;flex-direction:column;gap:.375rem;line-height:1.55;display:flex}.fed-root.lms .lms-contact-nap strong{font-size:var(--lms-h4);color:#111}.fed-root.lms .lms-contact-nap a{color:var(--lms-accent-solid)}.fed-root.lms .lms-contact-form{border-top:1px solid var(--lms-border);flex-direction:column;gap:.875rem;padding-top:1.25rem;display:flex}.fed-root.lms .lms-contact-form .lms-label{flex-direction:column;gap:.375rem;display:flex}.fed-root.lms .lms-contact-form textarea{resize:vertical}.fed-root.lms .lms-contact-map{top:calc(var(--lms-head-h) + 16px);border:1px solid var(--lms-border);aspect-ratio:4/3;background:var(--lms-tint);border-radius:1.5rem;position:sticky;overflow:hidden}.fed-root.lms .lms-contact-map iframe{border:0;width:100%;height:100%;display:block}.fed-root.lms .lms-batches{border:1px solid var(--lms-border);border-radius:1.25rem;flex-direction:column;display:flex;overflow:hidden}.fed-root.lms .lms-batch{background:#fff;grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.fed-root.lms .lms-batch+.lms-batch{border-top:1px solid var(--lms-border)}.fed-root.lms .lms-batch-main{flex-direction:column;gap:.25rem;display:flex}.fed-root.lms .lms-batch-title{font-size:var(--lms-h4);font-weight:600}.fed-root.lms .lms-batch-mode,.fed-root.lms .lms-batch-date{color:#111111b3;font-size:.875rem}.fed-root.lms .lms-batch-date{color:var(--lms-accent-solid);font-weight:600}.fed-root.lms .lms-faq{flex-direction:column;gap:.875rem;display:flex}.fed-root.lms .lms-faq-item{border:1px solid var(--lms-border);border-radius:1.25rem;padding:1.125rem 1.25rem}.fed-root.lms .lms-faq-item dt{font-size:var(--lms-h4);margin-bottom:.375rem;font-weight:600}.fed-root.lms .lms-faq-item dd{font-size:var(--lms-body);color:#111111b8;line-height:1.6}.fed-root.lms .lms-legal{flex-direction:column;gap:.75rem;display:flex}.fed-root.lms .lms-legal .lms-h3{margin-top:1rem}.fed-root.lms .lms-legal p{font-size:var(--lms-body);color:#111111c7;line-height:1.65}@media (width<=899px){.fed-root.lms .lms-contact-grid{grid-template-columns:minmax(0,1fr)}.fed-root.lms .lms-contact-map{position:static}.fed-root.lms .lms-batch{grid-template-columns:minmax(0,1fr);gap:.5rem}}.fed-root.lms .lms-btn-icon{align-items:center;gap:.375rem;display:inline-flex}.fed-root.lms .lms-btn-icon svg{width:14px;height:14px}
