.hero-viz{--mx:50%;--my:42%;aspect-ratio:1;isolation:auto;background:0 0;grid-area:viz;width:min(100%,400px);min-width:0;max-width:100%;height:auto;position:relative;overflow:visible}.hv-cursor{width:160px;height:160px;left:var(--mx);top:var(--my);pointer-events:none;z-index:0;background:radial-gradient(circle,#3ee0b41a,#0000 70%);border-radius:50%;transition:left .18s,top .18s;position:absolute;transform:translate(-50%,-50%)}.hv-scene{z-index:1;background:0 0;place-items:center;width:100%;height:100%;display:grid;position:relative}.hv-aws-svg{background:0 0;width:100%;height:100%;display:block;overflow:visible}.aws-line{fill:none;stroke:#3ee0b46b;stroke-width:1.15px;stroke-linecap:round}.hv-teach{background:0 0;grid-template-columns:1.5fr .72fr;align-items:center;gap:.2rem;width:100%;height:100%;display:grid}.hv-teacher{z-index:0;object-fit:contain;object-position:left center;mix-blend-mode:screen;pointer-events:none;transform-origin:0;width:100%;max-width:100%;height:118%;max-height:440px;transform:scale(1)}.hv-teach-board{z-index:1;background:0 0;place-items:center;width:100%;height:100%;display:grid;position:relative}.hv-teach-svg{background:0 0;width:100%;height:100%;overflow:visible}.hv-yt{z-index:2;color:#f4f7fb;letter-spacing:.02em;white-space:nowrap;background:#0d1118;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.38rem;width:max-content;margin-inline:auto;padding:.28rem .62rem .28rem .42rem;font-size:.68rem;font-weight:650;text-decoration:none;display:inline-flex;position:absolute;top:11%;left:0;right:0;box-shadow:0 8px 22px #00000059}.hv-yt:hover{border-color:#ff00008c}.hv-yt-icon{width:18px;height:18px;display:block}.aws-tile{fill:none;stroke:#e8eefc38;stroke-width:1px}.aws-label{fill:#8b9bb8;text-anchor:middle;font-size:9px;font-family:var(--font)}.aws-label.is-side{text-anchor:start}.aws-group{fill:none;stroke:#3ee0b44d;stroke-width:1px;stroke-dasharray:4 3.5}.aws-group-label{fill:#8b9bb8;letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-family:var(--font)}.aws-hop{fill:var(--accent)}@media (width<=1100px){.hero-viz{width:min(320px,100%)}}@media (width<=720px){.hero-viz{justify-self:center;width:min(360px,100%)}}@media (prefers-reduced-motion:reduce){.hv-cursor{transition:none;animation:none}}.home{max-width:100%;padding-bottom:4rem;position:relative;overflow-x:clip}.home-section:not(.hero-bleed):not(.projects-band):not(.writing-band){max-width:1120px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.section-kicker{letter-spacing:.1em;text-align:left;margin:0 0 .55rem;font-size:1.5rem}.home-orb{pointer-events:none;filter:blur(60px);opacity:.45;border-radius:50%;animation:18s ease-in-out infinite orb-drift;position:absolute}.home-orb.a{background:#3ee0b4;width:280px;height:280px;top:-40px;right:-40px}.home-orb.b{background:#6ea8ff;width:220px;height:220px;animation-delay:-6s;top:420px;left:-80px}.home-orb.c{background:#8b5cf6;width:180px;height:180px;animation-delay:-11s;top:1100px;right:10%}@keyframes orb-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-18px,22px)scale(1.08)}}.home-section{opacity:0;margin:3.2rem 0 0;scroll-margin-top:5.5rem;animation:.7s forwards rise;position:relative;transform:translateY(18px)}.home-section:nth-of-type(2){animation-delay:50ms}.home-section:nth-of-type(3){animation-delay:.1s}@keyframes rise{to{opacity:1;transform:none}}.home h1.display{font-family:Outfit, var(--font);letter-spacing:-.04em;margin:.35rem 0 .75rem;font-size:clamp(2.8rem,7vw,4.8rem);line-height:1.02}.hero-copy h1.display{white-space:normal;overflow-wrap:break-word;margin:.2rem 0 .45rem;font-size:clamp(2.35rem,10.5cqi,5.2rem)}.home h2{font-family:Outfit, var(--font);letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.45rem}.home-section.hero-bleed{isolation:isolate;align-items:center;width:100%;max-width:100%;min-height:90dvh;margin-top:0;margin-bottom:0;padding:.4rem clamp(1.1rem,3vw,2.75rem);display:grid;position:relative;overflow:clip visible}.hero-aurora{pointer-events:none;background:radial-gradient(700px 380px at 12% 40%,#3ee0b429,#0000 62%),radial-gradient(560px 320px at 88% 20%,#508cff1f,#0000 60%),radial-gradient(500px 360px at 70% 90%,#3ee0b414,#0000 65%);animation:18s ease-in-out infinite aurora-shift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.hero-grid-tex{opacity:.07;background-image:linear-gradient(#e8eefc59 1px,#0000 1px),linear-gradient(90deg,#e8eefc59 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 68%,#0000);mask-image:linear-gradient(#000 68%,#0000)}.hero-particle{background:#3ee0b473;border-radius:50%;width:5px;height:5px;animation:14s ease-in-out infinite particle-drift;position:absolute}.hero-particle.a{animation-delay:-2s;top:28%;left:18%}.hero-particle.b{width:3px;height:3px;animation-delay:-6s;top:18%;left:42%}.hero-particle.c{animation-delay:-9s;top:72%;left:28%}.hero-particle.d{width:4px;height:4px;animation-delay:-4s;top:58%;left:8%}@keyframes aurora-shift{0%,to{transform:translate(0,0)}50%{transform:translate(12px,-10px)}}@keyframes particle-drift{0%,to{opacity:.25;transform:translate(0,0)}50%{opacity:.7;transform:translate(10px,-16px)}}.hero-grid{z-index:1;grid-template-columns:minmax(0,.78fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"viz copy photo";align-items:center;gap:1.25rem clamp(1rem,2vw,2.5rem);width:100%;min-width:0;max-width:100%;display:grid;position:relative}.hero-copy{z-index:2;grid-area:copy;min-width:0;max-width:100%;position:relative;overflow:hidden;container-type:inline-size}.hero-copy .title{color:var(--muted);margin:0 0 .85rem;font-weight:600}.hero-keyword-block{min-height:5.4rem;margin:0 0 1rem;overflow:hidden}.hero-keyword{font-family:Outfit, var(--font);letter-spacing:-.03em;color:var(--muted);white-space:normal;margin:0 0 .4rem;font-size:clamp(1.25rem,6.4cqi,2.55rem);font-weight:700;line-height:1.2}.hero-keyword-lead{color:var(--text);margin-right:.32em;font-weight:650}.hero-keyword-sep{color:var(--muted);font-weight:500}.hero-keyword-on,.hero-keyword-off{display:inline-block}.hero-keyword-on{color:var(--accent);text-shadow:0 0 28px #3ee0b447}.hero-keyword-off{color:var(--muted);font-weight:650}.hero-support{color:var(--muted);letter-spacing:.03em;margin:0;font-size:.88rem}.hero-keyword-mobile{display:none}.hero-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.4rem;display:flex}.hero-actions a{white-space:nowrap;flex-shrink:0}.tilt-scene{perspective:900px;margin:.85rem 0}.tilt-card{transform-style:preserve-3d;will-change:transform;transition:transform .18s}.btn-primary{background:linear-gradient(180deg, #5aefc8, var(--accent));color:#04241c;border:0;border-radius:9px;align-items:center;padding:.58rem 1.15rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 24px #3ee0b447}.btn-ghost{border:1px solid var(--line);color:var(--text);background:#121b2c73;border-radius:9px;align-items:center;padding:.55rem 1.1rem;font-weight:600;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 20px #3ee0b41f}.hero-portrait{aspect-ratio:1;z-index:1;background:0 0;border-radius:50%;grid-area:photo;place-self:center start;width:min(100%,460px);min-width:0;max-width:100%;margin:0;position:relative;overflow:hidden}.hero-portrait img{z-index:1;transform-origin:50% 42%;width:100%;height:auto;display:block;position:relative;transform:scale(1.12)}#about{margin-top:1.35rem}#about h2{letter-spacing:-.03em;max-width:22ch;margin-bottom:1.15rem;font-size:clamp(1.65rem,3.2vw,2.25rem);line-height:1.18}.about-split{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:start;gap:1.35rem 1.7rem;display:grid}.about-intro .section-kicker,.about-do .section-kicker{margin:0 0 .55rem}.about-intro{max-width:none}.about-intro>p:not(.kicker):not(.about-now-label){color:var(--muted);text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;margin:0 0 .85rem;font-size:1.05rem}.about-intro p:last-of-type{margin-bottom:0}.about-now-label{color:var(--accent);font-family:Outfit, var(--font);letter-spacing:.16em;text-transform:uppercase;margin:1.25rem 0 .55rem;font-size:.72rem;font-weight:650}.about-now{gap:.42rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.about-now li{color:var(--text);border-left:2px solid #3ee0b48c;margin:0;padding:.12rem 0 .12rem .85rem;font-size:.95rem;font-weight:550;line-height:1.4}.about-cta{width:fit-content}.about-do{align-content:start;gap:.7rem;display:grid}.do-card{isolation:isolate;-webkit-backdrop-filter:blur(18px);background:linear-gradient(165deg,#ffffff17 0%,#0e162685 38%,#0a101cc7 100%);border:1px solid #ffffff24;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem .95rem;padding:1.15rem 1.15rem 1.15rem 1.2rem;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000038,inset 0 1px #fff3}.do-card:before{content:"";background:linear-gradient(180deg, #7af0cc, var(--accent));opacity:.9;width:3px;position:absolute;inset:0 auto 0 0}.do-card:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#3ee0b433,#0000 68%);border-radius:50%;width:140px;height:140px;position:absolute;bottom:-55%;right:-18%}.do-card:hover{border-color:#3ee0b46b;transform:translateY(-4px);box-shadow:0 16px 34px #00000047,0 0 22px #3ee0b41f,inset 0 1px #ffffff3d}.do-card-mark{width:42px;height:42px;color:var(--accent);background:#3ee0b41a;border:1px solid #3ee0b447;border-radius:12px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff1f}.do-card-mark svg{width:20px;height:20px;display:block}.do-card h3{font-family:Outfit, var(--font);letter-spacing:-.025em;color:var(--text);margin:0;font-size:clamp(.95rem,1.4vw,1.08rem);font-weight:650;line-height:1.28}.do-card-num{font-family:Outfit, var(--font);letter-spacing:.12em;color:var(--accent);opacity:.85;font-size:.78rem;font-weight:700}.skills-layout{grid-template-columns:minmax(0, 1fr) var(--certs-col,176px);grid-template-areas:"kicker certs-label""main badges";align-items:start;gap:.35rem .8rem;display:grid}.skills-kicker{grid-area:kicker;align-self:end;margin:0}.skills-certs-label{text-align:center;grid-area:certs-label;align-self:end;margin:0}.skills-main{grid-area:main;min-width:0}.skills-main h2{margin-bottom:.35rem}.skills-scene{perspective:1200px;justify-self:start;width:100%;max-width:720px;margin:.2rem 0 .6rem}.skills-orbit{--ox:0px;--oy:0px;--rx:0deg;--ry:0deg;max-width:720px;height:480px;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;margin:0;transition:transform .12s ease-out;position:relative}.skills-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.orbit-curve{stroke:#b096ff61;stroke-width:1.15px;stroke-linecap:round;fill:none}.skill-hub{width:132px;height:132px;transform:translate3d(var(--ox), var(--oy), 48px);z-index:3;background:radial-gradient(circle at 32% 28%,#f3e8ff,#c4b5fd 18%,#7c3aed 52%,#2e1065 100%);border-radius:50%;place-items:center;margin:-66px 0 0 -66px;transition:transform .12s ease-out;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 0 8px #7c3aed2e,0 0 42px #a855f7b3,0 18px 40px #00000073}.skill-hub b{z-index:1;font-family:Outfit, var(--font);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 0 12px #fffffff2,0 0 28px #c4b5fde6;font-size:1.35rem;font-weight:800;position:relative}.skill-hub span{pointer-events:none;border:1px solid #ffffff47;border-radius:50%;position:absolute;inset:10px}.skill-arm{z-index:2;flex-direction:column;align-items:center;gap:.45rem;transition:transform .12s ease-out;display:flex;position:absolute}.skill-group-title{font-family:Outfit, var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem;font-weight:700}.skill-set{justify-items:center;gap:.5rem .55rem;display:grid}.skill-arm-cloud{transform:translate3d(calc(var(--ox) * 1.2), calc(var(--oy) * 1.1), 18px);top:2%;right:2%}.skill-arm-cloud .skill-set{grid-template-columns:repeat(3,minmax(58px,auto))}.skill-arm-devops{transform:translate3d(calc(var(--ox) * 1.2), calc(var(--oy) * 1.1), 18px);bottom:2%;right:2%}.skill-arm-devops .skill-set{grid-template-columns:repeat(3,minmax(58px,auto))}.skill-arm-programming{transform:translate3d(calc(var(--ox) * 1.2), calc(var(--oy) * 1.1), 18px);bottom:2%;left:2%}.skill-arm-programming .skill-set{grid-template-columns:repeat(3,minmax(58px,auto))}.skill-arm-data{transform:translate3d(calc(var(--ox) * 1.2), calc(var(--oy) * 1.1), 18px);top:4%;left:4%}.skill-arm-data .skill-set{grid-template-columns:repeat(2,minmax(58px,auto))}.skill-chip{flex-direction:column;align-items:center;gap:.22rem;width:64px;display:flex}.skill-chip em{letter-spacing:.01em;color:#c9d3ea;text-align:center;font-size:.62rem;font-style:normal;font-weight:600;line-height:1.15}.skill-logo{background:radial-gradient(circle at 30% 25%,#1b1430,#0b0814 70%);border:1px solid #c4b5fd47;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 10px 22px #00000073,0 0 12px #7c3aed33}.skill-logo img{object-fit:contain;width:26px;height:26px;display:block}.skills-certs{flex-direction:column;grid-area:badges;align-items:center;gap:.85rem;padding:0;display:flex}.skills-certs .cert-btn{width:176px;padding:.65rem .55rem .8rem}.skills-certs .cert-btn img{width:138px;height:138px}.cert-saa-wrap{isolation:isolate;border-radius:22px;width:176px;padding:2px;position:relative;overflow:hidden}.cert-saa-wrap:before{content:"";z-index:0;background:conic-gradient(from 0deg, transparent 0 74%, #3ee0b433 80%, #3ee0b4 86%, #fff 91%, #7cffd4 96%, transparent 100%);width:240%;height:240%;animation:2.4s linear infinite cert-orbit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cert-saa-wrap .cert-btn{z-index:1;background:#0e1522;border:0;width:100%;position:relative}.skills-certs .cert-btn:hover{transform:none}@keyframes cert-orbit{to{transform:translate(-50%,-50%)rotate(360deg)}}.featured{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);align-items:center;gap:0 1.6rem;min-width:0;max-width:100%;margin:0 0 4.2rem;display:grid;position:relative;overflow:visible}.featured:last-child{margin-bottom:0}.featured.is-flip{grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr)}.featured.is-flip .featured-copy{order:2}.featured.is-flip .featured-shot{order:1}.featured-copy{z-index:2;min-width:0;position:relative}.featured-copy h2{margin-bottom:1.15rem;font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.15}.featured-blurb{-webkit-backdrop-filter:blur(18px);color:#e4ebfa;background:#0c1220c7;border:1px solid #ffffff1f;border-radius:16px;width:calc(100% + 1.15rem);max-width:none;margin:0;padding:1.15rem 1.35rem;font-size:.98rem;line-height:1.6;position:relative;box-shadow:0 16px 40px #00000047}.featured-blurb:after{content:"";pointer-events:none;background:linear-gradient(90deg,#3ee0b48c,#0000);width:1.15rem;height:2px;position:absolute;top:22%;right:-1.15rem}.featured.is-flip .featured-blurb{width:calc(100% + 1.15rem);margin-left:-1.15rem}.featured.is-flip .featured-blurb:after{background:linear-gradient(270deg,#3ee0b48c,#0000);left:-1.15rem;right:auto}#skills:before,#experience:before,#contact:before{content:"";pointer-events:none;z-index:-1;width:100vw;max-width:100vw;position:absolute;top:-3rem;bottom:-3rem;left:50%;transform:translate(-50%)}#skills:before{background:radial-gradient(720px 240px at 10% 18%,#3ee0b40b,#0000 64%),linear-gradient(#0000 0%,#070d14 22% 78%,#0000 100%)}#experience:before{background:radial-gradient(680px 220px at 86% 42%,#6ea8ff0a,#0000 62%),linear-gradient(#0000 0%,#070c13 22% 78%,#0000 100%)}#contact:before{background:radial-gradient(760px 260px at 50% 110%,#3ee0b40d,#0000 62%),linear-gradient(#0000 0%,#070b12 18% 100%)}.home-section.projects-band{background:radial-gradient(820px 260px at 8% 28%,#508cff0e,#0000 60%),linear-gradient(#0000 0%,#0b131c 20% 80%,#0000 100%);border:0;width:100%;max-width:none;margin-top:1.4rem;padding:0;overflow-x:clip}.projects-band-inner{width:100%;min-width:0;max-width:1120px;margin-inline:auto;padding:3rem clamp(1.25rem,4vw,2.5rem) 2.6rem}.featured-actions{gap:.7rem;margin-top:1.15rem;display:flex}.project-icon-btn{border:1px solid var(--line);width:46px;height:46px;color:var(--text);background:#121b2ceb;border-radius:50%;place-items:center;text-decoration:none;transition:transform .18s,border-color .18s;display:grid}.project-icon-btn svg{width:22px;height:22px}.project-icon-btn:hover{border-color:var(--accent);transform:translateY(-4px)}.featured-shot{z-index:1;justify-self:stretch;width:100%}.device-frame{background:#070b12;border:1px solid #ffffff14;border-radius:18px;padding:.85rem .9rem;overflow:hidden;box-shadow:0 24px 50px #0000006b}.device-frame img{object-fit:contain;object-position:center;width:100%;height:auto;display:block}.exp-brand{align-items:center;gap:.9rem;margin:0 0 .85rem;display:flex}.exp-logo{border-radius:8px;width:auto;height:52px;display:block}.exp-brand h2{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,2.8rem)}.exp-copy{max-width:46rem;color:var(--muted);text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;font-size:1.05rem}.timeline{border-left:2px solid var(--accent);margin:0 0 .9rem;padding-left:1rem}.cert-row{flex-wrap:wrap;gap:1.6rem;display:flex}.cert-btn{border:1px solid var(--line);width:280px;color:var(--muted);background:#0e1522;border-radius:20px;flex-direction:column;align-items:center;gap:.7rem;padding:1.2rem 1rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:transform .18s,border-color .18s;display:flex}.cert-btn img{object-fit:contain;width:210px;height:210px}.cert-btn:hover{border-color:var(--accent);color:var(--text);transform:translateY(-6px)}.home-section.writing-band{background:radial-gradient(780px 240px at 88% 30%,#3ee0b40a,#0000 60%),linear-gradient(#0000 0%,#08141a 20% 80%,#0000 100%);border:0;width:100%;max-width:none;margin-top:1.4rem;padding:0;overflow-x:clip}.writing-band-inner{width:100%;min-width:0;max-width:1120px;margin-inline:auto;padding:2.6rem clamp(1.25rem,4vw,2.5rem) 2.4rem}.share-accounts{flex-wrap:wrap;align-items:center;gap:.85rem 1rem;margin:.2rem 0 1.25rem;display:flex}.share-account-btn{border:1px solid var(--line);color:var(--text);background:#121b2c8c;border-radius:9px;align-items:center;gap:.5rem;padding:.58rem 1.15rem;font-weight:650;text-decoration:none;display:inline-flex}.share-account-btn span{color:var(--muted);font-weight:600}.share-account-btn:hover span{color:var(--accent)}.share-account-btn svg{width:22px;height:22px}.share-account-btn:hover{border-color:var(--accent);color:var(--accent)}.share-stage{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.7rem;display:grid}.share-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:#0e1522;border-radius:50%;place-items:center;padding:0 0 3px;font-size:1.7rem;line-height:1;display:grid}.share-arrow:hover{border-color:var(--accent);color:var(--accent)}.share-pair{grid-template-columns:1fr 1fr;gap:1.15rem;min-width:0;display:grid}.share-card{min-width:0;color:var(--text);gap:.7rem;text-decoration:none;display:grid}.share-thumb{aspect-ratio:16/9;background:#0a1018;border:1px solid #ffffff14;border-radius:16px;display:block;position:relative;overflow:hidden}.share-thumb img{object-fit:cover;width:100%;height:100%;display:block}.share-play{background:red;border-radius:14px;width:68px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #00000059}.share-play:after{content:"";border:11px solid #0000;border-left:18px solid #fff;border-right-width:0;position:absolute;top:13px;left:26px}.share-card-title{font-family:Outfit, var(--font);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.02rem;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.contact-row{flex-wrap:wrap;gap:.85rem;display:flex}.contact-email{color:var(--muted);letter-spacing:.01em;margin-top:.85rem;font-weight:600;text-decoration:none;display:inline-block}.contact-email:hover{color:var(--accent)}.contact-icon{border:1px solid var(--line);width:58px;height:58px;color:var(--text);background:#121b2ce6;border-radius:50%;place-items:center;text-decoration:none;transition:transform .18s,border-color .18s;display:grid}.contact-icon svg{width:26px;height:26px}.contact-icon:hover{border-color:var(--accent);transform:translateY(-5px)}@media (width<=1100px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,280px);grid-template-areas:"copy photo""viz photo";align-items:start}.hero-portrait{justify-self:end;width:100%;max-width:280px}.skills-layout{grid-template-columns:minmax(0,1fr) 168px}}@media (width<=720px){.hero-grid,.featured,.featured.is-flip{grid-template-columns:1fr}.hero-grid{grid-template-areas:"copy""photo""keyword""viz"}.hero-copy{padding-left:0}.hero-copy>.hero-keyword-block{display:none}.hero-keyword-mobile{text-align:center;grid-area:keyword;min-height:4.2rem;margin:.1rem 0 .2rem;display:block}.hero-keyword-mobile .hero-keyword-block{min-height:0;margin:0}.hero-keyword-mobile .hero-keyword{font-size:clamp(1.15rem,6.2vw,1.65rem)}.hero-portrait{justify-self:center;width:min(240px,64vw);margin-inline:auto}.skills-lines{display:none}.skills-scene{perspective:none;max-width:none;margin:.35rem 0 .8rem}.skills-orbit{transform-style:flat;flex-direction:column;align-items:stretch;gap:1.15rem;height:auto;display:flex;transform:none}.skills-orbit .skill-hub{display:none}.skill-arm{align-items:stretch;gap:.4rem;width:100%;position:static;transform:none}.skill-arm-cloud,.skill-arm-devops,.skill-arm-programming,.skill-arm-data{inset:auto;transform:none}.skill-group-title{text-align:left}.skill-arm-cloud .skill-set,.skill-arm-devops .skill-set,.skill-arm-programming .skill-set,.skill-arm-data .skill-set{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem .35rem;width:100%}.skill-chip{width:auto;min-width:0}.skill-chip em{overflow-wrap:anywhere;font-size:.58rem;line-height:1.2}.skill-logo{width:44px;height:44px}.skills-layout{grid-template-columns:1fr;grid-template-areas:"kicker""main""certs-label""badges"}.skills-certs-label{text-align:left}.skills-certs{flex-direction:row;justify-content:center;align-items:stretch;gap:.55rem;padding-bottom:.6rem}.skills-certs .cert-saa-wrap,.skills-certs>.cert-btn{flex:1 1 0;width:auto;max-width:158px}.skills-certs .cert-btn{border-radius:14px;gap:.32rem;width:100%;padding:.4rem .3rem .5rem;font-size:.68rem}.skills-certs .cert-btn img{width:92px;height:92px}.cert-saa-wrap{border-radius:16px}.share-pair{grid-template-columns:1fr}.featured-shot{justify-self:stretch;width:100%}.featured-blurb,.featured.is-flip .featured-blurb{width:100%;margin-left:0}.featured-blurb:after,.featured.is-flip .featured-blurb:after{display:none}.featured.is-flip .featured-copy,.featured.is-flip .featured-shot{order:unset}}@media (width<=820px){.about-split{grid-template-columns:1fr}#about h2{max-width:none}}@media (prefers-reduced-motion:reduce){.home-orb,.home-section,.hero-aurora,.hero-particle{opacity:1;animation:none;transform:none}.skills-orbit,.do-card:hover{transform:none}.cert-saa-wrap:before{animation:none}}.labs{position:relative}.labs-hero{text-align:center;max-width:min(100%,76rem);margin:.4rem auto 1.35rem}.labs-hero h1{font-family:Fredoka, Outfit, var(--font);letter-spacing:-.03em;white-space:nowrap;margin:0 0 .7rem;font-size:clamp(1.05rem,4.2vw,3.2rem);font-weight:700;line-height:1.12;animation:.7s both lab-hero-in}.lab-aws{color:#f90}.labs-hero p{color:var(--muted);margin:0;font-size:1.02rem;line-height:1.55;animation:.7s .12s both lab-hero-in}@keyframes lab-hero-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.lab-mascot{width:min(220px,58vw);height:auto;margin:1.4rem auto 0;display:block}.lab-mascot-arm-r{transform-origin:124px 84px;animation:1.7s ease-in-out infinite lab-wave}@keyframes lab-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}.lab-io{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.25rem;max-width:980px;margin:.85rem auto 1.6rem;display:flex}.lab-io-col{justify-items:center;gap:.45rem;display:grid}.lab-io-inputs{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.1rem 1.4rem;display:flex}.lab-circle-wrap{justify-items:center;gap:.5rem;width:148px;display:grid}.lab-circle-btn,.lab-circle-out{box-sizing:border-box;border-radius:50%;place-items:center;width:148px;height:148px;padding:.85rem;display:grid}button.lab-circle-btn{cursor:pointer;color:#04241c;background:var(--accent);text-align:center;border:0;font-weight:700;line-height:1.25;transition:transform .18s,box-shadow .18s,filter .18s;animation:2.6s ease-in-out infinite lab-breathe;box-shadow:0 10px 24px #3ee0b438}.lab-circle-text{max-width:7.6rem}button.lab-circle-btn:hover:not(:disabled){filter:brightness(1.05);animation:none;transform:scale(1.05);box-shadow:0 12px 28px #3ee0b452}button.lab-circle-btn:active:not(:disabled){animation:none;transform:scale(.96)}button.lab-circle-btn:disabled{opacity:.55;cursor:wait;animation:none}@keyframes lab-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.lab-circle-out{background:radial-gradient(circle at 34% 30%,#3ee0b433,#0c1220f5 64%);border:1.5px solid #3ee0b466;align-content:center;gap:.2rem;box-shadow:0 10px 28px #00000038}.lab-circle-kicker{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:650}.lab-io-circles{align-items:center}.lab-circle-out.is-ready{border-color:var(--accent)}.lab-circle-num{font-family:Outfit, var(--font);letter-spacing:-.04em;color:var(--accent);text-align:center;word-break:break-word;padding:0 .7rem;font-size:clamp(1.15rem,3.4vw,2.1rem);font-weight:700}.lab-circle-empty{color:var(--muted);font-size:1.6rem}.lab-circle-caption{text-align:center;max-width:148px;margin:0;font-weight:650;line-height:1.3}.lab-io-tag{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.lab-io-arrow{color:var(--accent);flex:none;width:72px}.lab-io-arrow svg{width:72px;height:24px;display:block}.lab-io-arrow.is-down,.lab-io-arrow.is-down svg{width:24px;height:56px}.lab-io-stack{flex-direction:column}.lab-io-stack .lab-out-box{width:min(100%,520px);max-width:520px}.lab-drop{text-align:center;cursor:pointer;width:min(100%,280px);min-height:210px;color:var(--muted);background:#0a101c73;border:1.5px dashed #3ee0b473;border-radius:16px;place-items:center;gap:.35rem;padding:1.2rem 1rem;display:grid;position:relative}.lab-drop strong{color:var(--text);font-family:Outfit, var(--font)}.lab-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.lab-drop.is-over{border-color:var(--accent);background:#3ee0b414}.lab-drop.is-busy{opacity:.7;cursor:wait}.lab-drop-plus{color:var(--accent);font-size:2.2rem;font-weight:500;line-height:1}.lab-drop-preview{object-fit:cover;border-radius:10px;width:100%;height:160px}.lab-explain{margin-top:1.15rem}.lab-explain-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.4rem;display:flex}.lab-explain-btn{min-height:40px;color:var(--text);background:#121b2ce6;border:1px solid #2dd4c86b;border-radius:999px;align-items:center;gap:.5rem;padding:.48rem .95rem;font-size:.9rem;display:inline-flex}.lab-explain-btn:hover{color:#ecfeff;border-color:#5eead4}.lab-align{background:0 0;border:0;flex:auto;min-width:0;margin-left:auto;padding:0}.lab-align ul{flex-wrap:wrap;justify-content:flex-end;align-items:center;margin:0;padding:0;list-style:none;display:flex}.lab-align li{color:var(--text);border-right:1px solid #ffffff1f;align-items:center;gap:.45rem;min-width:0;padding:.15rem .9rem;display:flex}.lab-align li:last-child{border-right:0;padding-right:0}.lab-align-icon{width:28px;height:28px;color:var(--pillar);background:var(--pillar-bg);border-radius:999px;flex:0 0 28px;place-items:center;display:grid}.lab-align-icon svg{width:15px;height:15px;display:block}.lab-align-name{color:var(--text);white-space:nowrap;font-size:.8rem;font-weight:600;line-height:1.2}.lab-align-check{flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.lab-align-check svg{width:20px;height:20px;display:block}.is-performance-efficiency{--pillar:#2dd4c8;--pillar-bg:#2dd4c829}.is-cost-optimization{--pillar:#c084fc;--pillar-bg:#c084fc29}.is-sustainability{--pillar:#4ade80;--pillar-bg:#4ade8024}.is-reliability{--pillar:#f0b429;--pillar-bg:#f0b42924}.is-security{--pillar:#8aa4e8;--pillar-bg:#8aa4e824}.is-operational-excellence{--pillar:#9ab0c8;--pillar-bg:#9ab0c824}.lab-explain-body{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.lab-explain-body.is-open{grid-template-rows:1fr}.lab-explain-copy{color:#d7e0ee;width:100%;max-width:none;margin:1.05rem 0 0;overflow:hidden}.lab-explain-copy p{text-align:justify;text-justify:inter-word;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;width:100%;max-width:none;margin:0 0 .9rem;line-height:1.72}.lab-explain-copy p:last-child{margin-bottom:0}.lab-pillar{color:#f8fbff;background:var(--pillar-bg);border:1px solid var(--pillar);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:999px;padding:.04em .5em;font-weight:650}.lab-out-box{background:#0a101c8c;border:1px solid #3ee0b447;border-radius:14px;flex:280px;min-width:min(100%,280px);max-width:440px;padding:1rem 1.15rem 1.1rem}.lab-out-wait{color:var(--muted);margin:.55rem 0 0}.lab-out-meta{gap:.7rem;margin:.55rem 0 0;display:grid}.lab-out-meta dt{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:650}.lab-out-meta dd{font-family:"IBM Plex Sans", var(--font);word-break:break-word;overflow-wrap:anywhere;margin:.15rem 0 0}.lab-status{font-family:Outfit, var(--font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.18rem .55rem;font-size:.82rem;font-weight:700;animation:.28s lab-status-in;display:inline-block}.lab-status.is-ok{color:#04241c;background:var(--accent)}.lab-status.is-wait{color:#1a1408;background:#f90}.lab-status.is-run{color:#071018;background:#6ea8ff}.lab-status.is-fail{color:#2a0d0d;background:#ff8b8b}.lab-status.is-plain{color:var(--text);background:#8b9bb847}@keyframes lab-status-in{0%{opacity:.35;transform:scale(.92)}to{opacity:1;transform:none}}.lab-switch{border:1px solid var(--line);background:#0e1522e0;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,920px);margin:0 auto 1.5rem;display:grid;overflow:hidden}.lab-switch button{border:0;border-right:1px solid var(--line);color:var(--muted);letter-spacing:.01em;background:0 0;border-radius:0;min-height:52px;padding:.85rem .7rem;font-weight:650;transition:background .2s,color .2s}.lab-switch button:last-child{border-right:0}.lab-switch button:hover{color:var(--text);background:#3ee0b40f}.lab-switch button.is-on{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:#3ee0b41f}.lab-stage{animation:.32s lab-in}@keyframes lab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lab-head{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-bottom:.35rem;display:flex}.lab-head h2{font-family:Outfit, var(--font);letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem)}.lab-head .lab-scenario{flex-basis:100%}.lab-scenario-btn{color:var(--text);background:#121b2ccc;border:1px solid #3ee0b466;border-radius:9px;align-items:center;gap:.4rem;padding:.42rem .8rem;font-size:.88rem;display:inline-flex}.lab-scenario-btn:hover{border-color:var(--accent);color:var(--accent)}.lab-doc-icon{width:16px;height:16px;display:block}.lab-scenario{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.lab-scenario.is-open{grid-template-rows:1fr}.lab-scenario-inner{overflow:hidden}.lab-scenario-inner>p.kicker{margin:.9rem 0 .35rem}.lab-scenario-inner>p:last-child{color:var(--text);max-width:40rem;margin:0 0 .4rem}.lab-app{background:#0c12209e;border:1px solid #ffffff1a;border-radius:16px;margin:1.25rem 0 1.6rem;padding:1.2rem 1.25rem 1.3rem;box-shadow:0 16px 40px #0000002e}.lab-app-label{font-family:Outfit, var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem;font-size:.78rem;font-weight:650}.lab-actions{flex-wrap:wrap;gap:.55rem;display:flex}.lab-action{min-height:44px}.lab-action.is-ghost,button.lab-action.is-ghost{color:var(--text);border:1px solid var(--line);background:#121b2cb3}.lab-action:disabled{opacity:.55;cursor:wait}.lab-result{opacity:.55;background:#071016b3;border:1px solid #3ee0b438;border-radius:14px;margin-top:1.15rem;padding:.95rem 1.05rem}.lab-result.is-in{opacity:1;animation:.35s lab-in}.lab-result-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.lab-result-value{font-family:Outfit, var(--font);letter-spacing:-.04em;color:var(--accent);margin:.25rem 0 0;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.05}.lab-result-value.lab-result-text{letter-spacing:-.02em;color:var(--text);word-break:break-all;font-size:clamp(1.05rem,2.4vw,1.35rem)}.lab-result-value span{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem;font-size:.92rem;display:block}.lab-note{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.lab-error{color:#ff8b8b;margin:.85rem 0 0}.lab-file{color:var(--text);cursor:pointer;border:1px dashed #3ee0b466;border-radius:9px;align-items:center;gap:.6rem;padding:.55rem 1rem;display:inline-flex}.lab-file input{opacity:0;width:.1px;height:.1px;position:absolute;overflow:hidden}.lab-auth-ready{color:var(--accent);background:#3ee0b414;border:1px solid #3ee0b459;border-radius:10px;max-width:36rem;margin:0 0 .85rem;padding:.7rem .9rem}.lab-modal{z-index:80;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.lab-modal-backdrop{z-index:0;background:#05080eb8;border:0;border-radius:0;padding:0;position:absolute;inset:0}.lab-auth-popup{z-index:1;width:min(100%,26rem);margin:0;position:relative}.lab-auth-popup .lab-error{overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.45}.lab-modal-close{width:2rem;height:2rem;color:var(--muted);background:0 0;border-radius:999px;padding:0;font-size:1.4rem;line-height:1;position:absolute;top:.7rem;right:.75rem}.lab-modal-close:hover{color:var(--text);background:#ffffff0f}.lab-auth-card{border:1px solid var(--line);background:#0c1220b8;border-radius:16px;gap:.85rem;max-width:26rem;margin:0 0 1.35rem;padding:1.25rem 1.3rem 1.2rem;display:grid}.lab-auth-card h3{font-family:Outfit, var(--font);letter-spacing:-.03em;margin:0}.lab-auth-lead{color:var(--muted);margin:0;font-size:.92rem}.lab-auth-tabs{border:1px solid var(--line);background:#080c16b3;border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.lab-auth-tabs button{color:var(--muted);background:0 0;border:0;border-radius:0;min-height:40px;font-weight:650}.lab-auth-tabs button:hover{color:var(--text);background:#3ee0b40f}.lab-auth-tabs button.is-on{color:var(--accent);background:#3ee0b41f}.lab-auth-hint{color:var(--muted);margin:-.35rem 0 0;font-size:.82rem;line-height:1.4}.lab-auth-field{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:.35rem;font-size:.78rem;font-weight:650;display:grid}.lab-auth-field input{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--text);letter-spacing:0;text-transform:none;background:#0b1220;border-radius:8px;padding:.7rem .8rem;font-size:1rem;font-weight:400}.lab-auth-primary{width:100%;min-height:44px;margin-top:.15rem}.lab-auth-primary:disabled{opacity:.65;cursor:wait}.lab-auth-state{color:var(--muted);margin:0;font-size:.88rem}.lab-auth-state.is-in{color:var(--accent)}.lab-quiz-submit{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1rem 1.25rem;margin:.4rem 0 1rem;display:flex}.lab-quiz{margin:.4rem 0 .2rem}.lab-q{border:1px solid var(--line);border-radius:12px;margin:0 0 .75rem;padding:.75rem .9rem}.lab-q legend{color:var(--text);padding:0 .35rem}.lab-q label{color:var(--muted);margin:.35rem 0;display:block}.lab-q input{margin-right:.45rem}.lab-panel{background:#0a101c73;border:1px solid #ffffff14;border-radius:16px;min-width:0;margin:0 0 1.6rem;padding:1.15rem 1.2rem 1.35rem;overflow:visible}.lab-panel h3,.lab-arch-head h3{font-family:Outfit, var(--font);letter-spacing:-.02em;margin:0}.lab-empty{color:var(--muted);margin:.75rem 0 0}.lab-reveal{animation:.4s lab-in}.lab-arch-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem 1.2rem;margin-bottom:1.15rem;display:flex}.lab-arch-meta{flex-wrap:wrap;gap:.85rem 1.15rem;margin:0;display:flex}.lab-arch-meta dt{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:650}.lab-arch-meta dd{font-family:Outfit, var(--font);word-break:break-all;max-width:14rem;margin:.15rem 0 0;font-size:.92rem}.lab-arch-stage{margin:0 0 1.15rem}.lab-arch-stage:last-child{margin-bottom:0}.lab-arch-stage-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:650}.lab-arch-body{width:100%;min-width:0;overflow:auto visible}.lab-flow{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.lab-flow-row{flex-wrap:nowrap;align-items:center;padding-top:1.15rem;display:flex}.lab-flow-row:not(.is-vert),.lab-flow.is-upload:not(.is-vert) .lab-upload-presign,.lab-flow.is-upload:not(.is-vert) .lab-upload-put,.lab-flow.is-upload:not(.is-vert) .lab-upload-late:not(.is-off),.lab-flow-row:not(.is-vert)>.lab-poison-pair{flex-wrap:nowrap;align-items:flex-start;display:flex}.lab-svc-node{justify-content:center;align-items:center;height:46px;margin:0 auto .4rem;display:flex}.lab-flow-row:not(.is-vert) .lab-arrow:not(.is-down),.lab-flow.is-upload:not(.is-vert) .lab-arrow:not(.is-down){align-self:flex-start;height:46px}.lab-flow.is-upload:not(.is-vert) .lab-upload-presign,.lab-flow.is-upload:not(.is-vert) .lab-upload-put{padding-top:1.15rem}.lab-flow.is-upload:not(.is-vert) .lab-upload-io{justify-content:center;align-self:flex-start;min-height:46px;padding:0}.lab-flow.is-upload:not(.is-vert) .lab-upload-io .lab-arrow{height:22px}.lab-flow-tail{margin-left:calc(var(--lab-lead,0) * 176px);flex-direction:column;align-items:center;width:128px;display:flex}.lab-flow.is-poison .lab-flow-row{padding-top:3.5rem}.lab-poison-pair{flex:none;align-items:center;display:flex;position:relative}.lab-poison-loop{color:#ff8b8b;pointer-events:none;width:304px;height:52px;position:absolute;top:-46px;left:0;overflow:visible}.lab-poison-packet{pointer-events:none;background:#ff8b8b;border-radius:50%;width:8px;height:8px;animation:.14s linear forwards lab-packet-loop;position:absolute;box-shadow:0 0 8px #ff8b8bbf}@keyframes lab-packet-loop{0%{opacity:0;top:-6px;left:224px}12%{opacity:1}34%{top:-40px;left:224px}66%{top:-40px;left:60px}88%{opacity:1}to{opacity:0;top:-16px;left:60px}}.lab-poison-dlq{flex-direction:column;align-items:center;width:128px;margin-left:352px;display:flex}.lab-flow.is-poison.is-vert{flex-direction:column;align-items:flex-start;width:max-content;max-width:none;padding-top:.45rem}.lab-flow.is-poison.is-vert .lab-poison-mobile{grid-template-columns:auto auto auto;grid-template-areas:"gw. .""a1. .""enq. .""a2. .""sqs redrive dlq""io. .""worker. .";place-items:center;display:grid}.lab-flow.is-poison.is-vert .lab-poison-gw{grid-area:gw}.lab-flow.is-poison.is-vert .lab-poison-a1{grid-area:a1}.lab-flow.is-poison.is-vert .lab-poison-enq{grid-area:enq}.lab-flow.is-poison.is-vert .lab-poison-a2{grid-area:a2}.lab-flow.is-poison.is-vert .lab-poison-sqs{grid-area:sqs}.lab-flow.is-poison.is-vert .lab-poison-redrive{grid-area:redrive}.lab-flow.is-poison.is-vert .lab-poison-dlq{grid-area:dlq;width:auto;margin-left:0;display:block}.lab-flow.is-poison.is-vert .lab-poison-io{grid-area:io}.lab-flow.is-poison.is-vert .lab-poison-worker{grid-area:worker}.lab-flow.is-poison.is-vert .lab-poison-gw,.lab-flow.is-poison.is-vert .lab-poison-a1,.lab-flow.is-poison.is-vert .lab-poison-enq,.lab-flow.is-poison.is-vert .lab-poison-a2,.lab-flow.is-poison.is-vert .lab-poison-sqs,.lab-flow.is-poison.is-vert .lab-poison-io,.lab-flow.is-poison.is-vert .lab-poison-worker{flex-direction:column;justify-self:center;align-items:center;width:128px;display:flex}.lab-flow.is-poison.is-vert .lab-poison-io{flex-direction:row;justify-content:center;gap:.55rem;padding:.2rem 0 .1rem}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-down{flex:0 0 28px;width:28px;height:52px}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-down svg{width:16px;height:52px}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-down.is-now .lab-packet{animation:.16s linear forwards lab-packet-poison-y}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-up.is-now .lab-packet{animation:.16s linear forwards lab-packet-poison-y-rev}@keyframes lab-packet-poison-y{0%{opacity:0;top:4px;left:10px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:42px;left:10px}}@keyframes lab-packet-poison-y-rev{0%{opacity:0;top:42px;left:10px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:4px;left:10px}}.lab-flow.is-poison.is-vert .lab-svc{flex:none;width:min(100%,128px)}.lab-flow-row.is-vert{flex-direction:column;align-items:center;padding-top:.35rem}.lab-path-label-phone{display:none}.lab-flow.is-upload.is-vert,.lab-flow.is-quiz.is-vert{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.85rem .45rem;width:100%;display:grid}.lab-flow.is-simple.is-vert{align-items:center;width:100%}.lab-flow.is-quiz.is-vert .lab-quiz-path:only-child{grid-column:1}.lab-flow.is-quiz.is-vert .lab-path-label,.lab-flow.is-upload.is-vert .lab-path-label{text-align:center;white-space:normal;letter-spacing:.06em;margin-bottom:.25rem;font-size:.58rem;line-height:1.35}.lab-flow.is-upload.is-vert .lab-path-label-phone{width:100%;display:block}.lab-flow.is-upload.is-vert .lab-upload-presign,.lab-flow.is-upload.is-vert .lab-upload-put,.lab-flow.is-upload.is-vert .lab-upload-late{flex-flow:column;align-items:center;display:flex}.lab-flow.is-upload.is-vert .lab-upload-io{flex:none;gap:.2rem;width:128px;padding:.1rem 0}.lab-flow.is-upload.is-vert .lab-upload-io .lab-arrow,.lab-flow.is-upload.is-vert .lab-svc,.lab-flow.is-quiz.is-vert .lab-svc{flex:none;width:100%;max-width:128px}.lab-flow.is-upload.is-vert .lab-svc,.lab-flow.is-quiz.is-vert .lab-svc{width:min(100%,128px)}.lab-flow.is-upload.is-vert .lab-arrow.is-down .lab-async,.lab-flow.is-quiz.is-vert .lab-arrow.is-down .lab-async{white-space:normal;text-align:center;letter-spacing:.04em;width:7.2rem;font-size:.52rem;line-height:1.2;top:-.15rem;left:50%;transform:translate(-50%)}.lab-arrow.is-up svg{transform:rotate(180deg)}.lab-arrow.is-up.is-now .lab-packet{animation:.16s linear forwards lab-packet-y-rev}@keyframes lab-packet-y-rev{0%{opacity:0;top:42px;left:60px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:4px;left:60px}}.lab-quiz-path{gap:.15rem;min-width:0;display:grid}.lab-path-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:650}.lab-flow.is-upload{gap:2rem}.lab-upload-presign,.lab-upload-put,.lab-upload-late{flex-wrap:nowrap;align-items:center;display:flex}.lab-upload-io{flex-direction:column;flex:0 0 88px;justify-content:center;gap:.55rem;width:88px;padding:1.2rem 0;display:flex}.lab-upload-io .lab-arrow{flex-basis:auto;width:88px}.lab-upload-io .lab-arrow.is-back .lab-async{top:auto;bottom:-1.05rem}.lab-upload-late.is-off{display:none}.lab-arrow.is-back.is-now .lab-packet{animation:.16s linear forwards lab-packet-x-rev}.lab-svc{text-align:center;flex:0 0 128px;width:128px}.lab-svc img{object-fit:contain;width:46px;height:46px;margin:0 auto;display:block}.lab-svc strong{font-size:.82rem;line-height:1.25;display:block}.lab-svc span{color:var(--muted);margin-top:.18rem;font-size:.74rem;line-height:1.35;display:block}.lab-svc.is-fail span,.lab-svc.is-fail strong{color:#ff8b8b}.lab-arrow{width:48px;height:22px;color:var(--accent);flex:0 0 48px;place-items:center;display:grid;position:relative}.lab-arrow.is-down{flex-basis:auto;width:128px;height:58px}.lab-arrow svg{width:100%;height:16px;display:block}.lab-arrow.is-down svg{width:16px;height:52px;margin:0 auto}.lab-async{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.64rem;font-style:normal;position:absolute;top:-1.05rem;left:50%;transform:translate(-50%)}.lab-arrow.is-down .lab-async{top:.15rem;left:calc(50% + 22px);transform:none}.lab-packet{background:var(--accent);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 10px #3ee0b4e6}.lab-arrow.is-now .lab-packet{animation:.16s linear forwards lab-packet-x}.lab-arrow.is-down.is-now .lab-packet{animation:.16s linear forwards lab-packet-y}.lab-arrow.is-fail{color:#ff8b8b}.lab-arrow.is-fail .lab-packet{background:#ff8b8b;box-shadow:0 0 8px #ff8b8bb3}.lab-arrow.is-fail .lab-async{color:#ff8b8b}@keyframes lab-packet-x{0%{opacity:0;top:calc(50% - 4px);left:2px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:calc(50% - 4px);left:34px}}@keyframes lab-packet-x-rev{0%{opacity:0;top:calc(50% - 4px);left:34px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:calc(50% - 4px);left:2px}}@keyframes lab-packet-y{0%{opacity:0;top:4px;left:60px}18%{opacity:1}70%{opacity:1}to{opacity:0;top:42px;left:60px}}@keyframes lab-packet-y-sm{0%{opacity:0;top:2px;left:calc(50% - 4px)}18%{opacity:1}70%{opacity:1}to{opacity:0;top:18px;left:calc(50% - 4px)}}@media (width<=720px){.lab-switch{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.lab-switch button{letter-spacing:0;white-space:normal;min-width:0;min-height:46px;padding:.45rem .2rem;font-size:.68rem;line-height:1.2}.lab-quiz-submit{grid-template-rows:auto auto;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:.45rem .85rem;display:grid}.lab-quiz-submit>.lab-io-col:first-child{grid-area:1/1/span 2}.lab-quiz-submit>.lab-io-col:last-child{grid-area:1/3/span 2}.lab-quiz-submit .lab-io-col{grid-template-rows:subgrid;place-items:center;display:grid}.lab-quiz-submit .lab-action{align-self:center}.lab-quiz-submit .lab-io-arrow,.lab-quiz-submit .lab-io-arrow:not(.is-down){flex:0 0 40px;grid-area:1/2;align-self:center;width:40px;margin:0 8px;transform:none}.lab-quiz-submit .lab-io-arrow svg{width:40px;height:16px}.lab-io:not(.lab-io-circles){flex-direction:column;margin:.55rem auto .9rem}.lab-io-circles{flex-flow:row;justify-content:center;align-items:center;gap:.35rem .4rem;margin:.5rem auto .85rem}.lab-io-circles .lab-io-col{grid-template-rows:auto auto;place-items:center;display:grid}.lab-io-circles .lab-io-arrow{flex:0 0 32px;align-self:center;width:32px;transform:none}.lab-io-circles .lab-io-arrow svg{width:32px;height:16px}.lab-io-circles .lab-circle-wrap{gap:.28rem;width:108px}.lab-io-circles .lab-circle-btn,.lab-io-circles .lab-circle-out{width:108px;height:108px;padding:.5rem}.lab-io-circles .lab-circle-text{max-width:5.5rem;font-size:.7rem}.lab-io-circles .lab-circle-kicker{font-size:.58rem}.lab-io-circles .lab-circle-num{font-size:1.35rem}.lab-io-arrow:not(.is-down){transform:rotate(90deg)}.lab-io-circles .lab-io-arrow:not(.is-down){transform:none}.lab-io>.lab-io-inputs+.lab-io-arrow{margin-bottom:18px}.lab-io>.lab-io-col+.lab-io-arrow{margin-top:18px;margin-bottom:18px}.lab-flow:not(.is-poison):not(.is-quiz):not(.is-upload){align-items:center}.lab-flow-row{padding-top:0}.lab-flow-row.is-vert{align-items:center;width:100%;padding-top:0}.lab-flow.is-simple.is-vert,.lab-flow.is-quiz.is-vert .lab-quiz-path,.lab-flow.is-upload.is-vert .lab-upload-presign,.lab-flow.is-upload.is-vert .lab-upload-put,.lab-flow.is-upload.is-vert .lab-upload-late{align-items:center}.lab-arrow.is-down{flex-direction:column;flex:none;justify-content:center;align-self:center;align-items:center;gap:.1rem;width:100%;min-width:0;max-width:118px;height:auto;min-height:0;margin-left:auto;margin-right:auto;padding:.12rem 0 .08rem;display:flex}.lab-arrow.is-down svg{justify-self:center;width:12px;height:22px;margin:0 auto}.lab-arrow.is-down .lab-async{letter-spacing:.06em;white-space:nowrap;max-width:none;margin:0;padding:0;font-size:.5rem;line-height:1;position:static;top:auto;left:auto;transform:none}.lab-flow.is-upload.is-vert .lab-arrow.is-down .lab-async,.lab-flow.is-quiz.is-vert .lab-arrow.is-down .lab-async{width:auto;margin:0;position:static;top:auto;left:auto;transform:none}.lab-flow.is-simple.is-vert .lab-flow-row.is-vert{gap:.08rem;padding-top:0}.lab-flow.is-simple.is-vert .lab-svc{flex:none;width:118px}.lab-flow.is-simple.is-vert .lab-svc img{width:36px;height:36px;margin-bottom:0}.lab-flow.is-simple.is-vert .lab-svc-node{height:36px;margin-bottom:.1rem}.lab-flow.is-simple.is-vert .lab-svc strong{font-size:.7rem;line-height:1.2}.lab-flow.is-simple.is-vert .lab-svc span{margin-top:.04rem;margin-bottom:0;font-size:.62rem;line-height:1.15}.lab-flow.is-simple.is-vert .lab-arrow.is-down{place-items:center;gap:0;width:100%;max-width:118px;height:26px;min-height:26px;padding:.06rem 0;display:grid;overflow:visible}.lab-flow.is-simple.is-vert .lab-arrow.is-down svg{width:12px;height:20px;margin:0}.lab-flow.is-simple.is-vert .lab-arrow.is-down .lab-async{letter-spacing:.06em;white-space:nowrap;margin:0;padding:0;font-size:.5rem;line-height:1;position:absolute;top:50%;left:calc(50% + 10px);transform:translateY(-50%)}.lab-arrow.is-down.is-now .lab-packet{animation:.16s linear forwards lab-packet-y-sm}.lab-svc{flex:0 0 110px;width:110px}.lab-svc img{margin-bottom:0}.lab-svc-node{margin-bottom:.12rem}.lab-svc span{margin-top:.06rem;line-height:1.2}.lab-flow-tail{gap:0;width:110px}.lab-flow.is-upload.is-vert{gap:.65rem .3rem}.lab-flow.is-quiz.is-vert{gap:.45rem .3rem}.lab-flow.is-upload.is-vert .lab-upload-io{flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:118px;margin-left:auto;margin-right:auto;padding:0;display:flex}.lab-flow.is-upload.is-vert .lab-path-label,.lab-flow.is-quiz.is-vert .lab-path-label{margin-bottom:.08rem}.lab-out-box{width:min(100%,440px);max-width:none}.lab-explain-top{flex-direction:column;align-items:stretch}.lab-align{flex-basis:100%;width:100%;margin-left:0}.lab-align ul{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.4rem}.lab-align li{border-right:0;justify-content:flex-start;width:100%;padding:.15rem 0}.lab-align li:first-child{padding-left:0}.lab-align-name{white-space:nowrap;flex:auto}.lab-align-check{margin-left:auto}.lab-arch-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.lab-flow.is-upload.is-vert .lab-svc,.lab-flow.is-quiz.is-vert .lab-svc,.lab-flow.is-poison.is-vert .lab-svc{width:min(100%,118px)}.lab-flow.is-upload.is-vert .lab-svc img,.lab-flow.is-quiz.is-vert .lab-svc img,.lab-flow.is-poison.is-vert .lab-svc img{width:36px;height:36px}.lab-flow.is-upload.is-vert .lab-svc-node,.lab-flow.is-quiz.is-vert .lab-svc-node,.lab-flow.is-poison.is-vert .lab-svc-node{height:36px;margin-bottom:.1rem}.lab-flow.is-upload.is-vert .lab-svc strong,.lab-flow.is-quiz.is-vert .lab-svc strong,.lab-flow.is-poison.is-vert .lab-svc strong{font-size:.7rem}.lab-flow.is-upload.is-vert .lab-svc span,.lab-flow.is-quiz.is-vert .lab-svc span,.lab-flow.is-poison.is-vert .lab-svc span{font-size:.62rem}.lab-flow.is-poison.is-vert{padding-top:.2rem}.lab-flow.is-poison.is-vert .lab-poison-io{gap:.35rem;padding:0}.lab-flow.is-poison.is-vert .lab-poison-a1 .lab-arrow.is-down,.lab-flow.is-poison.is-vert .lab-poison-a2 .lab-arrow.is-down{max-width:100%}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-down{width:28px;max-width:28px;height:36px;margin-left:0;margin-right:0}.lab-flow.is-poison.is-vert .lab-poison-io .lab-arrow.is-down svg{height:32px}.lab-flow.is-poison.is-vert .lab-arrow.is-down .lab-async{letter-spacing:.06em;width:auto;margin:0;font-size:.5rem;line-height:1;position:static;top:auto;left:auto;transform:none}}@media (prefers-reduced-motion:reduce){.lab-mascot-arm-r,.labs-hero h1,.labs-hero p,.lab-arrow.is-now .lab-packet,.lab-poison-packet,.lab-circle-btn,.lab-stage,.lab-reveal{animation:none}}:root{--bg:#070b12;--card:#121b2c;--line:#243049;--text:#e8eefc;--muted:#8b9bb8;--accent:#3ee0b4;--font:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{max-width:100%;font-family:var(--font);background:radial-gradient(900px 500px at 90% -10%, #3ee0b41f, transparent 55%), radial-gradient(700px 400px at -10% 20%, #6ea8ff1a, transparent 50%), var(--bg);color:var(--text);margin:0;line-height:1.55;overflow-x:hidden}a{color:var(--accent)}.shell{max-width:100%;min-height:100vh;display:grid;overflow-x:hidden}.shell-labs{grid-template-columns:1fr 300px}.shell-full{grid-template-columns:1fr}.shell-full>div{width:100%;min-width:0}.nav{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070b12d1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:700;font-family:Outfit, var(--font);white-space:nowrap;text-decoration:none}.brand span{color:var(--accent);margin-left:.5rem;font-size:.75rem}.nav-links{flex-wrap:wrap;gap:.25rem;display:flex}.nav-links a{color:var(--muted);border-radius:999px;padding:.3rem .55rem;font-size:.92rem;text-decoration:none}.nav-toggle{display:none}@media (width<=720px){.nav{flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.7rem 1rem;position:sticky}.nav-toggle{border:1px solid var(--line);width:42px;height:42px;color:var(--text);background:#121b2ce6;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:5px;margin-left:auto;padding:0;display:flex}.nav-toggle span{background:currentColor;border-radius:2px;width:16px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-links{border-bottom:1px solid var(--line);background:#070b12f5;flex-flow:column;gap:.15rem;padding:.65rem .85rem .9rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 16px 32px #00000059}.nav-links.is-open{display:flex}.nav-links a{border-radius:10px;padding:.72rem .85rem;font-size:.95rem}}.main{max-width:720px;padding:1.5rem 2rem}.main-wide{width:100%;max-width:1120px;margin-inline:auto}.main-labs{width:100%;max-width:1120px;margin-inline:auto;padding:1.35rem clamp(1.15rem,4vw,2.5rem) 3rem}.main-home{width:100%;max-width:none;padding:0 0 2.5rem}.kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.lede{color:var(--muted);font-size:1.1rem}.tracer{border-left:1px solid var(--line);background:#0e1522eb;align-self:start;max-height:100vh;padding:1rem;position:sticky;top:0;overflow:auto}.tracer h2{font-size:1rem}.tracer p{color:var(--muted);font-size:.9rem}.hop{grid-template-columns:12px 1fr;gap:.6rem;margin:.8rem 0;display:grid}.hop-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:6px}.hop h3{margin:0;font-size:.9rem}.hop p{margin:.2rem 0 0}@media (width<=900px){.shell-labs{grid-template-columns:1fr}.tracer{border-left:0;border-top:1px solid var(--line);max-height:none;position:relative}}button{cursor:pointer;background:var(--accent);color:#04241c;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:600}
