:root{--ink:#1d1d1f;--muted:#6e6e73;--blue:#0071e3;--dark:#05070d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.5;color:var(--ink);background:white}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(44px,5.2vw,76px)}h2{font-size:clamp(36px,4.2vw,60px)}h3{font-size:25px}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #5b9eff;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:var(--blue);color:white;padding:12px}.skip:focus{top:0}.nav{height:76px;padding:0 22px;position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;color:white;transition:background .2s,color .2s}.nav.scrolled{background:#ffffffdf;color:var(--ink);backdrop-filter:blur(20px);border-bottom:1px solid #00000008}.brand{display:flex;align-items:center;font-size:19px;font-weight:600;letter-spacing:-.06em;gap:4px}.brand-symbol{font-size:41px;font-weight:400;line-height:1;transform:rotate(-12deg);margin-right:4px}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav nav>a:not(.button){opacity:.8}.nav a:hover{opacity:1}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;padding:11px 23px;border-radius:999px;font-size:17px;line-height:1.25;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{background:#147ce5;transform:translateY(-1px)}.nav .button{padding:9px 20px;font-size:14px}.menu-toggle{display:none}.hero{min-height:720px;height:100svh;max-height:1100px;background:#0c1a33 url('assets/night-sky.webp') center/cover;position:relative;color:white;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(#06102226,#0610221a 60%,#05070d)}.hero-inner{z-index:2;position:relative;width:min(1100px,calc(100% - 48px));text-align:center;margin-top:60px}.hero p{max-width:630px;margin:28px auto 32px;color:#c5cbd4;font-size:18px;line-height:1.55}.hero p strong{font-weight:400;color:#fff}.actions{display:flex;justify-content:center;align-items:center;gap:16px}.outline{background:transparent;border-color:#ffffff99}.outline:hover{background:#ffffff15}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff18;padding-top:29px;max-width:930px;margin:94px auto 0}.stats dt{font-size:32px;font-weight:600;letter-spacing:-.035em}.stats dd{font-size:13px;color:#c1c6ce;margin:4px 0 0}.stars{position:absolute;inset:-30px;opacity:.4;background-image:radial-gradient(1px 1px at 17% 24%,white 70%,transparent),radial-gradient(1px 1px at 64% 71%,white 70%,transparent),radial-gradient(2px 2px at 46% 15%,white 70%,transparent);background-size:290px 240px,370px 310px,460px 420px;animation:drift 30s linear infinite}@keyframes drift{to{transform:translateY(30px)}}.products-band{background:var(--dark);color:#f5f5f7;padding:65px 20px 78px}.section-heading{text-align:center;margin:0 auto 42px;max-width:1040px}.section-heading p{max-width:650px;margin:22px auto 0;color:var(--muted);font-size:19px;line-height:1.55}.products-band .section-heading p{color:#a1a1a8}.tabs{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:0 auto 42px;border-radius:999px;padding:4px;background:#191a1e;border:1px solid #ffffff15}.tabs button{border:0;border-radius:999px;background:transparent;color:#b7b7bf;padding:11px 22px;font-size:14px}.tabs button[aria-selected=true]{background:white;color:#1d1d1f}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1440px;margin:auto}.project{border:1px solid #ffffff12;overflow:hidden;border-radius:28px;min-height:530px;display:flex;flex-direction:column;position:relative;padding:33px;background:radial-gradient(120% 90% at 90% 100%,var(--glow),#0b142c 70%,#06080f);transition:transform .25s,border-color .25s}.project:hover{transform:translateY(-5px);border-color:#ffffff44}.project-meta{display:flex;align-items:center;gap:10px;color:#c4c7d1;font-size:12px}.app-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(145deg,#ffffff38,#ffffff07);box-shadow:inset 0 0 0 1px #ffffff27;font-size:20px;font-weight:600}.project h3{font-size:32px;margin-top:17px}.project-summary{font-size:15px;color:#c5c9d7;line-height:1.6;margin-top:17px}.project-open{border:0;padding:0;background:none;color:white;margin:19px 0 0;font-size:15px;text-align:left;width:fit-content}.project-open:hover{text-decoration:underline}.project-art{position:relative;height:220px;margin-top:25px;display:flex;align-items:center;justify-content:center;perspective:700px}.mock-window{width:95%;background:#191e2af2;border:1px solid #ffffff25;border-radius:12px;box-shadow:0 22px 35px #0005;transform:rotateY(-7deg) rotateZ(-3deg);overflow:hidden;font-size:11px}.window-bar{height:28px;display:flex;gap:4px;align-items:center;padding:0 10px;background:#252a34}.window-bar i{width:6px;height:6px;border-radius:50%;background:#fc5d57}.window-bar i:nth-child(2){background:#ffbd2e}.window-bar i:nth-child(3){background:#28ca42}.window-bar span{margin-left:8px;color:#d7dae3;font-size:9px}.window-content{padding:15px}.window-row{display:flex;justify-content:space-between;gap:15px;padding:8px;border-bottom:1px solid #ffffff08;color:#bbc2d3}.window-row b{font-weight:400;color:#94b7ff}.window-title{font-size:22px;letter-spacing:-.04em;color:#fff;margin-bottom:9px}.spark-bars{display:flex;gap:6px;align-items:end;height:58px;margin-top:9px}.spark-bars i{flex:1;background:linear-gradient(#78a6ff,#346cdd);border-radius:3px 3px 0 0}.phone{border:4px solid #15161a;outline:1px solid #ffffff65;border-radius:25px;width:105px;height:205px;background:linear-gradient(160deg,#e1edff,#8dadf0);color:#16315c;box-shadow:0 17px 30px #0007;transform:rotate(-6deg);padding:25px 10px 10px;position:relative}.phone:before{content:'';position:absolute;top:7px;left:31px;width:37px;height:9px;border-radius:20px;background:#111}.phone strong{font-size:13px}.phone .signal{font-size:36px;margin:12px 0;color:#0071e3}.phone small{display:block;font-size:8px}.float-panel{margin-left:-12px;z-index:2;background:#ffffffed;color:#233450;border-radius:10px;padding:13px;width:145px;box-shadow:0 10px 28px #0004;transform:translateY(14px);font-size:10px}.float-panel p{padding:7px 0;border-bottom:1px solid #ddd}.float-panel p:last-child{border:0}.float-panel b{color:#326bd8;float:right;font-weight:500}.section{padding:128px 24px}.section-alt{background:#f5f5f7}.container{max-width:1100px;margin:auto}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.job{background:white;border-radius:24px;padding:33px;border:1px solid #00000006}.job-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.job-top span{font-size:12px;color:var(--muted)}.job .role{color:var(--blue);font-size:14px;margin:15px 0}.job p{font-size:15px;color:var(--muted)}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:65px auto}.feature-icon{font-size:35px;line-height:1;height:48px;font-weight:500;color:var(--blue);margin-bottom:24px}.capabilities h3{font-size:24px}.capabilities p{color:var(--muted);font-size:16px;margin-top:17px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.tags span{font-size:11px;background:#e9e9ed;border-radius:5px;padding:5px 9px;color:#62626a}.education{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid #d2d2d7;padding-top:40px}.education h3{font-size:21px}.education p{margin-top:15px;color:var(--muted);font-size:14px}.contact{text-align:center;margin-top:125px}.contact p{color:var(--muted);margin:24px 0 30px}.text-link{color:var(--blue);font-size:17px}.text-link:hover{text-decoration:underline}footer{padding:60px max(24px,calc((100% - 1100px)/2)) 25px;background:#f5f5f7;font-size:13px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:35px}.footer-grid h3{font-size:13px;letter-spacing:0;color:var(--ink);margin-bottom:17px}.footer-grid a:not(.brand){display:block;margin-top:10px}.footer-grid a:hover{text-decoration:underline}.footer-grid .brand{font-size:18px;color:var(--ink)}.footer-grid p{font-size:12px;margin-top:18px;line-height:1.8}.footer-bottom{border-top:1px solid #d2d2d7;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px}dialog{width:min(620px,calc(100% - 36px));padding:45px;border:1px solid #ffffff20;border-radius:28px;background:#111622;color:#f5f5f7}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}dialog h2{margin:23px 0;font-size:38px}dialog p{font-size:15px;color:#c3c7d0;line-height:1.8}.eyebrow{font-size:11px;letter-spacing:.1em;color:#a3aab9}.dialog-close{border:0;background:none;color:white;position:absolute;right:18px;top:12px;font-size:28px}dialog .tags span{background:#252f43;color:#c3d0eb}.project-credit{font-size:12px!important;margin-top:25px}.empty{grid-column:1/-1;text-align:center}@media(min-width:1600px){.hero-inner{margin-top:0}}@media(max-width:1000px){.projects{grid-template-columns:1fr 1fr}.project:last-child:nth-child(odd){grid-column:1/-1;max-width:650px;width:100%;justify-self:center}.nav nav{gap:20px}.section{padding:90px 28px}.capabilities{gap:25px}.job-top{align-items:start;flex-direction:column;gap:7px}.stats dt{font-size:25px}}@media(max-width:600px){.nav{height:64px;padding:0 20px}.brand{font-size:17px}.brand-symbol{font-size:34px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px;background:none;border:0;color:inherit}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor}.nav nav{display:none;position:absolute;top:64px;left:0;right:0;background:#0c1424f5;backdrop-filter:blur(18px);padding:22px;flex-direction:column;color:white;align-items:stretch;gap:22px}.nav.menu-open nav{display:flex}.nav.scrolled nav{background:#fffffff5;color:var(--ink)}.hero{min-height:740px;max-height:none;height:100svh}.hero-inner{width:calc(100% - 40px);margin-top:35px}.hero h1{font-size:44px;max-width:350px;margin:auto}.hero p{font-size:16px;margin:24px auto 28px}.button{font-size:14px;padding:12px 20px}.actions{gap:10px}.stats{grid-template-columns:1fr 1fr;gap:25px 15px;margin-top:55px;padding-top:26px}.stats dt{font-size:25px}.stats dd{font-size:11px}.products-band{padding:55px 16px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:36px}.section-heading p{font-size:16px;margin-top:20px}.tabs{margin-bottom:30px;width:100%}.tabs button{padding:10px 14px;font-size:12px}.projects{grid-template-columns:1fr}.project{padding:28px;min-height:480px}.project h3{font-size:30px}.project-summary{font-size:14px}.project-art{height:200px}.section{padding:70px 20px}.timeline{grid-template-columns:1fr;margin-top:35px;gap:14px}.job{padding:27px}.capabilities{grid-template-columns:1fr;gap:38px;margin:42px 0}.capabilities article{border-bottom:1px solid #e5e5e9;padding-bottom:30px}.feature-icon{margin-bottom:12px;height:35px;font-size:30px}.education{grid-template-columns:1fr;gap:30px}.contact{margin-top:70px}.contact h2{font-size:36px}.contact p{font-size:16px}.text-link{font-size:14px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}dialog{padding:38px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Dark surfaces throughout the portfolio. */
:root{--ink:#f5f5f7;--muted:#a1a1aa}
body{background:var(--dark);color:var(--ink)}
.nav.scrolled{background:#05070de8;color:var(--ink);border-bottom-color:#ffffff12}
.section-alt{background:#0b0e16}
.about{background:var(--dark)}
.job{background:#141925;border-color:#ffffff12}
.job .role,.text-link{color:#70adff}
.feature-icon{color:#70adff}
.tags span{background:#232b3c;color:#c3cde0}
.education{border-top-color:#ffffff18}
footer{background:#0b0e16}
.footer-bottom{border-top-color:#ffffff18}
@media(max-width:600px){
  .nav.scrolled nav{background:#0b0e16f5;color:var(--ink)}
  .capabilities article{border-bottom-color:#ffffff18}
}

@view-transition{navigation:none}
::view-transition-old(root){animation:page-out .4s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:page-in .65s cubic-bezier(.22,1,.36,1) both}
@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
body{transition:opacity .28s ease}body.page-leaving{opacity:0}
a.project{color:inherit}.project-open{display:block}
.project-page{padding-top:128px}.project-nav{position:fixed;top:76px;left:0;right:0;z-index:19;display:flex;justify-content:space-between;align-items:center;background:#0b0e16dd;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff18;padding:12px 24px;font-size:14px}.project-nav strong{font-size:20px;letter-spacing:-.035em}.project-nav a{color:#70adff;font-size:13px}
.detail-hero{text-align:center;padding:88px 24px 0}.detail-icon{width:88px;height:88px;border-radius:22px;background:linear-gradient(145deg,#5297ff,#243780);box-shadow:0 15px 40px #0071e322;display:grid;place-items:center;margin:0 auto 24px;font-size:52px;font-weight:600}.detail-hero h1{font-size:clamp(52px,7vw,96px);margin-top:20px}.detail-hero h2{font-size:clamp(28px,3.5vw,48px);margin-top:18px}.detail-intro{max-width:580px;margin:20px auto 28px;color:var(--muted);font-size:18px}.detail-stage{max-width:1180px;margin:72px auto 0;padding:70px 80px 30px;background:radial-gradient(ellipse at 70% 100%,var(--glow),#101a31 65%,#0c101a);border:1px solid #ffffff15;border-radius:32px;overflow:hidden}.stage-window{border:1px solid #ffffff30;border-radius:13px;background:#111722;box-shadow:0 35px 60px #0007;overflow:hidden;transform:perspective(1200px) rotateX(6deg);text-align:left}.stage-window .window-bar{height:35px}.stage-content{display:grid;grid-template-columns:150px 1fr;min-height:320px}.stage-sidebar{padding:26px 20px;border-right:1px solid #ffffff12;display:flex;flex-direction:column;gap:22px;font-size:12px;color:#9fa8bd}.stage-sidebar strong{color:white;font-size:16px;margin-bottom:15px}.stage-main{padding:30px}.stage-main h3{margin:16px 0 25px;font-size:28px}.stage-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stage-tiles>div{background:#ffffff06;border:1px solid #ffffff12;border-radius:10px;padding:16px;font-size:12px}.stage-tiles b{display:block;font-size:10px;color:#70adff;margin-top:8px;font-weight:400}.stage-chart{height:110px;display:flex;align-items:end;gap:12px;margin-top:28px}.stage-chart i{flex:1;background:linear-gradient(#79a6ff,#244890);border-radius:4px 4px 0 0}.visual-caption{font-size:10px;letter-spacing:.04em;margin-top:26px;color:#b0b8ca}.tour-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:60px;align-items:center}.tour-button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #ffffff15;background:none;color:var(--muted);padding:24px 20px;transition:background .3s}.tour-button>span{font-size:11px;color:#707b90}.tour-button h3{font-size:23px;margin-top:10px}.tour-button p{font-size:14px;margin-top:13px;line-height:1.6}.tour-button[aria-pressed=true]{color:var(--ink);background:#121a29;border-radius:16px;border-bottom-color:transparent}.tour-button[aria-pressed=true]>span{color:#70adff}.tour-display{border-radius:28px;background:radial-gradient(ellipse at bottom,#243b72,#111722 70%);padding:42px;min-height:400px;border:1px solid #ffffff12}.tour-orb{width:110px;height:110px;background:linear-gradient(135deg,#81baff,#243d84);border-radius:28px;display:grid;place-items:center;font-size:48px;margin:36px 0;color:white;box-shadow:0 20px 40px #0004}.tour-display h3{font-size:28px}.tour-display p{font-size:15px;color:#b6bfd1;margin-top:18px}.project-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:55px}.project-facts dt{font-size:14px;color:var(--muted)}.project-facts dd{margin:14px 0 0;font-size:24px;font-weight:500;letter-spacing:-.025em;text-transform:none}.behind-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:45px;margin-top:55px}.behind-grid h3{font-size:25px}.behind-grid p,.behind-grid li{font-size:16px;color:var(--muted);line-height:1.8}.behind-grid p{margin-top:20px}.behind-grid ul{padding-left:20px;margin-top:20px}.behind-grid li+li{margin-top:12px}.detail-cta{text-align:center}.detail-cta p{color:var(--muted);margin:25px 0 30px}.more-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.more-projects a{border:1px solid #ffffff15;background:#111722;padding:25px;border-radius:22px;transition:transform .25s}.more-projects a:hover{transform:translateY(-4px)}.more-projects h3{font-size:22px;margin-top:20px}.more-projects p{font-size:11px;color:var(--muted);margin-top:12px}
@media(max-width:900px){.detail-stage{padding:40px 30px 20px}.tour-grid{gap:25px}.behind-grid{grid-template-columns:1fr;gap:35px}.project-facts dd{font-size:20px}}
@media(max-width:600px){.project-page{padding-top:114px}.project-nav{top:64px;padding:11px 20px}.project-nav strong{font-size:18px}.detail-hero{padding:55px 20px 0}.detail-icon{width:68px;height:68px;border-radius:18px;font-size:40px}.detail-hero h1{font-size:48px}.detail-hero h2{font-size:28px}.detail-intro{font-size:16px}.detail-stage{margin-top:45px;padding:25px 16px 20px;border-radius:22px}.stage-content{grid-template-columns:1fr;min-height:270px}.stage-sidebar{display:none}.stage-main{padding:20px}.stage-main h3{font-size:22px}.stage-tiles{gap:6px}.stage-tiles>div{padding:10px 6px;font-size:10px}.stage-chart{gap:6px;height:90px}.tour-grid{grid-template-columns:1fr;margin-top:30px}.tour-button{padding:20px 16px}.tour-display{padding:28px;min-height:350px}.project-facts{grid-template-columns:1fr;gap:28px;margin-top:35px}.project-facts dd{margin-top:8px}.more-projects{grid-template-columns:1fr}.detail-cta h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}body{transition:none}}

/* Soft ambient light: only compositor transforms move, with no GIF frames. */
.hero{background:#07101e}
.hero-motion{position:absolute;inset:-12%;pointer-events:none;background:radial-gradient(ellipse at 28% 38%,#17447766,transparent 52%),radial-gradient(ellipse at 76% 58%,#23396a55,transparent 55%);animation:ambient-light 24s ease-in-out infinite alternate;will-change:transform}
.hero:before{content:none}
.hero:after{z-index:1;background:linear-gradient(180deg,#050c1b44 0%,#08162b22 35%,#06132855 70%,#05070d 100%)}
.hero-inner{z-index:2}
.hero p{color:#d4dbe7}
@keyframes ambient-light{from{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.hero-motion{animation:none;will-change:auto}}

.tabs button{transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.projects{overflow:clip}
.motion-fallback body{animation:page-fade-in .55s ease both}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body{animation:none!important}.tabs button{transition:none}}

/* Keep navigation anchored while the page content changes. */
.nav{view-transition-name:site-navigation}
::view-transition-group(site-navigation){animation-duration:.55s}
::view-transition-old(site-navigation),::view-transition-new(site-navigation){animation:none;mix-blend-mode:normal}
::view-transition-old(root){animation:content-out .32s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:content-in .72s cubic-bezier(.16,1,.3,1) both}
@keyframes content-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes content-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.tabs{position:relative;isolation:isolate}
.tab-indicator{position:absolute;top:4px;bottom:4px;left:4px;background:#fff;border-radius:999px;z-index:-1;transition:transform .5s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #0002}
.tabs:has(.tab-indicator) button[aria-selected=true]{background:transparent}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}.tab-indicator{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Seamless left-to-right logo ribbon, animated on the compositor. */
.tech-section{padding:40px 0 46px;background:#05070d;overflow:hidden}
.tech-section h2{margin:0 24px 28px;text-align:center;font-size:14px;font-weight:400;letter-spacing:.02em;color:#929aaa}
.tech-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.tech-marquee:focus-visible{outline:2px solid #70adff;outline-offset:-2px}
.tech-track{display:flex;width:max-content;animation:technology-drift 110s linear infinite;will-change:transform}
.tech-group{display:flex;align-items:center;gap:32px;list-style:none;padding:0 32px 0 0;margin:0;flex-shrink:0}
.tech-card{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;border-radius:20px;border:1px solid #ffffff12;background:linear-gradient(145deg,#101216,#0b0d11);box-shadow:inset 0 1px 0 #ffffff04}
.tech-card img{object-fit:contain;opacity:.8}
.tech-card img[src$="express.svg"],.tech-card img[src$="rust.svg"]{filter:invert(1)}
.tech-wordmark{max-width:68px;text-align:center;color:#a5adba;font-size:10px;line-height:1.3;letter-spacing:-.02em}
@media(hover:hover) and (pointer:fine){.tech-marquee:hover .tech-track{animation-play-state:paused}}
@keyframes technology-drift{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:600px){.tech-section{padding:30px 0 35px}.tech-card{width:64px;height:64px;flex-basis:64px;border-radius:17px}.tech-group{gap:22px;padding-right:22px}.tech-card img{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.tech-marquee{mask-image:none;padding:0 20px}.tech-track{animation:none;transform:none;width:auto;will-change:auto}.tech-group{flex-wrap:wrap;justify-content:center;padding:0;gap:14px;width:100%}.tech-copy{display:none}}

/* Keep the technology ribbon in the opening viewport. */
.hero{flex-direction:column;justify-content:center;padding:110px 0 185px;min-height:760px}
.hero-inner{margin-top:0}
.hero .stats{margin-top:50px}
.hero>.tech-section{position:absolute;bottom:22px;left:0;right:0;z-index:2;padding:12px 0 24px;background:transparent}
.hero .tech-section h2{margin-bottom:20px}
@media(max-height:800px) and (min-width:601px){.hero{min-height:650px;padding-top:95px;padding-bottom:155px}.hero h1{font-size:clamp(44px,5vw,64px)}.hero p{margin:20px auto 24px}.hero .stats{margin-top:32px;padding-top:20px}.hero>.tech-section{bottom:10px;padding-bottom:15px}.hero .tech-card{width:64px;height:64px;flex-basis:64px;border-radius:17px}}
@media(max-width:600px){.hero{min-height:730px;padding:92px 0 158px}.hero-inner{margin-top:0}.hero .stats{margin-top:28px;gap:18px 15px;padding-top:20px}.hero>.tech-section{bottom:12px;padding:10px 0 16px}.hero .tech-section h2{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.hero>.tech-section{position:relative;bottom:auto;margin-top:35px}.hero{height:auto;max-height:none;padding-bottom:30px}}
@media(max-width:600px) and (max-height:760px){.hero{min-height:100svh;height:100svh;padding-top:82px;padding-bottom:150px}.hero .stats{display:none}.hero h1{font-size:40px}.hero p{margin:20px auto 24px}}
