:root{--ink:#07111c;--navy:#0a1826;--panel:#102233;--line:#a3bed32e;--muted:#9eb0bf;--paper:#f1f4f5;--white:#f8fafb;--orange:#ff6534;--orange-soft:#ffb096;--max:1240px;--ease-standard:cubic-bezier(.2,.72,.2,1);--ease-emphasis:cubic-bezier(.16,1,.3,1);--duration-fast:.18s;--duration-medium:.42s;--duration-reveal:.68s;--stagger:56ms;--reveal-distance:18px;--image-hover-scale:1.035;--card-hover-lift:-4px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);scroll-padding-top:76px}body{background:var(--ink);color:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}::selection{background:var(--orange);color:var(--ink)}.shell{width:min(calc(100% - 48px), var(--max));margin-inline:auto}.skip-link{z-index:100;background:var(--orange);color:var(--ink);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--orange-soft);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font:650 .72rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow span{color:var(--orange);margin-right:8px}.site-header{z-index:50;background:color-mix(in srgb, var(--ink) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);view-transition-name:site-header;transition:background var(--duration-medium) ease, border-color var(--duration-medium) ease, box-shadow var(--duration-medium) ease, backdrop-filter var(--duration-medium) ease;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{border-color:var(--line);background:color-mix(in srgb, var(--ink) 94%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 30px #0000001f}.nav-shell{justify-content:space-between;align-items:center;gap:30px;min-height:76px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:12px;font-size:.9rem;font-weight:720;display:inline-flex}.brand small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font:500 .62rem/1.2 ui-monospace,monospace;display:block}.brand-mark{border:1px solid var(--orange);width:36px;height:36px;color:var(--orange);transition:color var(--duration-fast) ease, background var(--duration-fast) ease, transform var(--duration-medium) var(--ease-standard);place-items:center;font:700 .72rem ui-monospace,monospace;display:grid}.brand:hover .brand-mark,.brand:focus-visible .brand-mark{background:var(--orange);color:var(--ink);transform:rotate(-2deg)}.desktop-nav{color:#ccd6dd;letter-spacing:.12em;text-transform:uppercase;gap:34px;font:600 .72rem ui-monospace,monospace;display:flex}.desktop-nav a,.footer-links a{transition:color .18s}.desktop-nav a{padding-block:8px;position:relative}.desktop-nav a:after{content:"";background:var(--orange);transform-origin:100%;height:1px;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a[aria-current=location]:after{transform-origin:0;transform:scaleX(1)}.desktop-nav a[aria-current=location]{color:var(--white)}.desktop-nav a:hover,.footer-links a:hover{color:var(--orange)}.mobile-nav{display:none;position:relative}.hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 72% 40%, #173248 0, var(--ink) 42%, #050b12 100%);align-items:center;min-height:min(860px,100svh - 76px);display:grid;position:relative;overflow:hidden}.hero-grid{opacity:.22;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);transform-origin:0;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 70%);mask-image:linear-gradient(90deg,#000,#0000 70%)}.hero-layout{grid-template-columns:1.03fr .97fr;align-items:center;gap:6vw;padding-block:96px;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.hero-kicker{color:#c8d4dd;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 28px;font:650 .72rem ui-monospace,monospace;display:flex}.hero-kicker span{background:var(--orange);width:44px;height:2px}.hero h1,.project-title-block h1{letter-spacing:-.07em;text-wrap:balance;margin:0;font-size:clamp(3.5rem,6.6vw,6.8rem);line-height:.94}.hero h1 em{color:var(--orange);font-family:Georgia,serif;font-weight:400}.hero-line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.hero-line>span{display:block}.hero-intro{color:#b5c3cd;max-width:640px;margin:34px 0 0;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{isolation:isolate;border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;min-height:48px;transition:transform .22s var(--ease-standard), background var(--duration-fast) ease, color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow .22s ease;justify-content:center;align-items:center;gap:10px;padding:0 20px;font:700 .72rem ui-monospace,monospace;display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";z-index:-1;transform-origin:100%;transition:transform .32s var(--ease-standard);background:#ff65341c;position:absolute;inset:0;transform:scaleX(0)}.button:hover:before,.button:focus-visible:before{transform-origin:0;transform:scaleX(1)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button span[aria-hidden]{transition:transform .22s cubic-bezier(.2,.7,.2,1)}.button:hover span[aria-hidden],.button:focus-visible span[aria-hidden]{transform:translate(2px,-2px)}.button.primary{border-color:var(--orange);background:var(--orange);color:#111820}.button.primary:before{background:#ff7b51}.button.primary:hover{background:#ff7b51;box-shadow:0 12px 30px #ff653429}.button.ghost:hover{border-color:var(--orange)}.hero-actions .primary:hover span[aria-hidden],.hero-actions .primary:focus-visible span[aria-hidden]{transform:translateY(3px)}.hero-stats{gap:42px;margin:54px 0 0;display:flex}.hero-stats div{border-left:1px solid var(--orange);padding-left:14px}.hero-stats dt{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:600 .62rem ui-monospace,monospace}.hero-stats dd{margin:6px 0 0;font-size:.82rem}.hero-visual{align-items:center;min-height:520px;display:grid;position:relative}.drone-orbit{aspect-ratio:1.14;filter:drop-shadow(0 34px 35px #00000075);width:100%;position:relative}.drone-orbit img{object-fit:contain;z-index:2;transform:rotate(-7deg)scale(1.08)}.orbit{z-index:1;border:1px solid #ff653457;border-radius:50%;position:absolute;inset:13%;transform:rotate(16deg)}.orbit-two{border-color:#a7c1d329;inset:4% 9%;transform:rotate(-24deg)}.telemetry{z-index:3;width:100%;color:var(--muted);letter-spacing:.12em;justify-content:space-between;font:600 .62rem ui-monospace,monospace;display:flex;position:absolute}.telemetry strong{color:var(--orange);font-weight:650}.telemetry.top{top:5%}.telemetry.bottom{bottom:5%}.section{padding-block:120px}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:48px;margin-bottom:56px;display:grid}.section-heading h2,.about-copy h2,.site-footer h2,.project-media-heading h2,.model-module h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,5vw,5rem);line-height:1}.section-description{max-width:480px;color:var(--muted);margin:0;line-height:1.75}.featured-grid{grid-template-columns:repeat(2,1fr);gap:72px 24px;display:grid}.project-card{--tilt-x:0deg;--tilt-y:0deg;--pointer-x:50%;--pointer-y:50%;--card-lift:0px;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--card-lift));transform-style:preserve-3d;transition:transform .36s var(--ease-standard);position:relative}.project-card:after{content:"";background:linear-gradient(90deg, var(--orange), transparent 70%);transform-origin:0;pointer-events:none;height:1px;transition:transform .36s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.project-card:hover{--card-lift:var(--card-hover-lift)}.project-card:hover:after,.project-card:focus-within:after{transform:scaleX(1)}.project-card:first-child{grid-column:1/-1;grid-template-columns:1.35fr .65fr;align-items:end;gap:34px;display:grid}.project-card:first-child .project-image{min-height:570px}.project-image{border:1px solid var(--line);background:#dfe5e8;min-height:410px;display:block;position:relative;overflow:hidden}.project-image:after{content:"";z-index:3;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), #ffffff1f, transparent 34%);opacity:0;pointer-events:none;transition:opacity .28s;position:absolute;inset:0}.project-visual-transition{display:block;position:absolute;inset:0;overflow:hidden}.project-image img{object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project-image img.position-launch{object-position:center 48%}.project-image img.position-gtxr{object-position:center 28%}.project-image img.contain-light,.project-image img.technical-figure{object-fit:contain;background:#f8fafb;padding:9%}.project-image img.contain-dark{object-fit:contain;background:#050505}.project-image img.drone-render{object-fit:contain;background:#f5f7f8;padding:clamp(18px,4vw,54px)}.project-image img.poster-contain{object-fit:contain;background:#d8e2e5}.card-video-preview{z-index:2;object-fit:cover;width:100%;height:100%;animation:.22s both media-fade;position:absolute;inset:0}.project-placeholder{background-color:#0e2233;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:32px 32px;place-items:center;display:grid}.placeholder-label{color:var(--white);letter-spacing:-.04em;flex-direction:column;gap:8px;padding:28px;font-size:clamp(1.4rem,3vw,2.6rem);font-weight:720;display:flex}.placeholder-label small{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;font:650 .62rem ui-monospace,monospace}.project-card:first-child .project-image img:not(.position-launch),.project-card:nth-child(3) .project-image img{object-position:center 34%}.project-card:hover .project-image img{transform:scale(var(--image-hover-scale))}.project-card:hover .project-image img.drone-render,.project-card:hover .project-image img.poster-contain,.project-card:hover .project-image img.contain-light,.project-card:hover .project-image img.contain-dark,.project-card:hover .project-image img.technical-figure{transform:scale(1.012)}.project-index{z-index:4;color:var(--orange-soft);letter-spacing:.08em;transition:color var(--duration-fast) ease, background var(--duration-fast) ease, transform var(--duration-medium) var(--ease-standard);background:#07111cd1;padding:7px 9px;font:600 .62rem ui-monospace,monospace;position:absolute;top:14px;right:14px}.project-copy{padding-top:26px}.project-copy h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.55rem,2.6vw,2.75rem);line-height:1.05}.project-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7}.tag-list{flex-wrap:wrap;gap:7px;margin:22px 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:#b8c7d1;letter-spacing:.06em;text-transform:uppercase;transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-medium) var(--ease-standard);padding:7px 9px;font:580 .63rem ui-monospace,monospace}.text-link{border-bottom:1px solid var(--orange);letter-spacing:.08em;text-transform:uppercase;gap:8px;padding-bottom:5px;font:700 .7rem ui-monospace,monospace;transition:color .18s,border-color .18s;display:inline-flex}.text-link span{transition:transform .22s cubic-bezier(.2,.7,.2,1)}.text-link:hover,.text-link:focus-visible{color:var(--orange-soft);border-color:var(--orange-soft)}.text-link:hover span,.text-link:focus-visible span{transform:translate(2px,-2px)}.project-card:hover .tag-list li{color:#d4dde3;border-color:#ffb09647}.project-card:hover .project-index{color:var(--orange);background:#07111cf0;transform:translate(-2px,2px)}.secondary-section{background:var(--paper);color:var(--ink)}.secondary-section .eyebrow{color:#a53b1d}.secondary-section .eyebrow span{color:#e74417}.secondary-section .project-placeholder{background-color:#14283a}.secondary-grid{grid-template-columns:repeat(3,1fr);gap:56px 22px;display:grid}.project-card.compact:first-child{grid-column:auto;display:block}.project-card.compact .project-image{background:#dce2e4;min-height:290px}.project-card.compact .project-copy h3{font-size:1.55rem}.project-card.compact .project-copy>p:not(.eyebrow){color:#566574}.project-card.compact .tag-list li{color:#394a57;border-color:#091a2829}.about-grid{grid-template-columns:.72fr 1.28fr;align-items:center;gap:8vw;display:grid}.about-portrait{background:var(--panel);min-height:680px;position:relative}.about-portrait img{object-fit:cover}.about-portrait>span{background:var(--ink);color:var(--orange-soft);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;font:600 .65rem ui-monospace,monospace;position:absolute;bottom:16px;left:16px}.about-copy .lead{color:var(--white);margin-top:34px;font-size:1.3rem;line-height:1.65}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted);line-height:1.8}.skills-title{color:#dbe4e9;letter-spacing:.1em;text-transform:uppercase;margin:38px 0 0;font-size:.76rem;font-weight:650}.skills-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;display:grid}.skill-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:146px;padding:17px}.skill-card:last-child{grid-column:1/-1}.skill-card-heading{align-items:baseline;gap:12px;display:flex}.skill-card strong{color:var(--orange);flex:none;font:600 .64rem ui-monospace,monospace}.skill-card h4{color:var(--white);letter-spacing:.01em;margin:0;font-size:.86rem;line-height:1.35}.skill-card ul{flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none;display:flex}.skill-card li{border:1px solid var(--line);color:var(--muted);letter-spacing:.035em;padding:5px 7px;font:560 .59rem/1.3 ui-monospace,monospace}.technical-toolkit{border-top:1px solid var(--line);grid-template-columns:.58fr 1.42fr;gap:clamp(42px,7vw,90px);margin-top:82px;padding-top:54px;display:grid}.toolkit-heading h3{letter-spacing:-.05em;max-width:420px;margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.toolkit-heading>p:not(.eyebrow){max-width:390px;color:var(--muted);line-height:1.75}.toolkit-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.toolkit-group{border-bottom:1px solid var(--line);min-width:0;padding:18px 18px 20px 0}.toolkit-group:nth-child(odd){border-right:1px solid var(--line);padding-right:24px}.toolkit-group:nth-child(2n){padding-left:24px}.toolkit-group:last-child{border-right:0;grid-column:1/-1;padding-right:0}.toolkit-group h4{color:var(--orange-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font:650 .65rem/1.4 ui-monospace,monospace}.toolkit-group ul{color:#aebdc7;flex-wrap:wrap;gap:0;margin:0;padding:0;font-size:.78rem;line-height:1.75;list-style:none;display:flex}.toolkit-group li:not(:last-child):after{content:"/";color:#536876;margin:0 7px}.research-section{color:var(--ink);background:#dfe5e7}.research-section .eyebrow{color:#9e3619}.paper-card{border-top:2px solid var(--ink);border-bottom:1px solid #07111c38;grid-template-columns:.5fr 1.5fr auto;align-items:start;gap:42px;padding:38px 0;display:grid}.paper-meta{letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:10px;font:650 .65rem/1.5 ui-monospace,monospace;display:flex}.paper-meta span:last-child{color:#667681}.paper-card h3{max-width:760px;margin:0;font:500 clamp(1.7rem,3vw,3rem)/1.08 Georgia,serif}.paper-card p{color:#52606b;line-height:1.7}.paper-card .authors{color:#263642;font-size:.78rem}.recognition-row{border-bottom:1px solid #07111c38;grid-template-columns:1.25fr .75fr;align-items:center;gap:42px;padding:26px 0;display:grid}.recognition-row div{flex-direction:column;gap:8px;display:flex}.recognition-row span{color:#9e3619;letter-spacing:.1em;text-transform:uppercase;font:650 .62rem ui-monospace,monospace}.recognition-row strong{font-size:1.02rem;line-height:1.45}.recognition-row p{color:#52606b;margin:0;font-size:.82rem;line-height:1.65}.site-footer{background:#050b11;padding:100px 0 26px}.footer-grid{grid-template-columns:1.3fr .7fr;gap:70px;padding-bottom:80px;display:grid}.site-footer h2{max-width:700px}.site-footer p:not(.eyebrow){max-width:650px;color:var(--muted);line-height:1.75}.footer-links{flex-direction:column;justify-content:flex-end;align-items:stretch;display:flex}.footer-links a,.footer-link-disabled{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;min-height:52px;padding:15px 0;font:650 .74rem ui-monospace,monospace;display:flex}.footer-links a{transition:color var(--duration-fast) ease, padding var(--duration-medium) var(--ease-standard);position:relative}.footer-links a:before{content:"";background:var(--orange);transform-origin:100%;height:1px;transition:transform .3s var(--ease-standard);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.footer-links a:hover,.footer-links a:focus-visible{padding-left:8px}.footer-links a:hover:before,.footer-links a:focus-visible:before{transform-origin:0;transform:scaleX(1)}.footer-links a span[aria-hidden]{transition:transform var(--duration-medium) var(--ease-standard)}.footer-links a:hover span[aria-hidden],.footer-links a:focus-visible span[aria-hidden]{transform:translate(3px,-3px)}.footer-links a>span:not([aria-hidden]){color:var(--muted);letter-spacing:.03em;text-transform:none;font-size:.61rem}.footer-link-disabled{color:#6f8492}.footer-link-disabled small{letter-spacing:.05em;font-size:.58rem;font-weight:600}.footer-bottom{border-top:1px solid var(--line);color:#738694;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:20px;padding-top:22px;font:600 .6rem ui-monospace,monospace;display:flex}.project-page{padding-top:52px}.back-link{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;transition:color var(--duration-fast) ease;gap:8px;margin-bottom:46px;font:650 .7rem ui-monospace,monospace;display:inline-flex}.back-link span{transition:transform var(--duration-medium) var(--ease-standard)}.back-link:hover,.back-link:focus-visible{color:var(--orange-soft)}.back-link:hover span,.back-link:focus-visible span{transform:translate(-3px)}.project-hero{padding-block:42px 110px}.project-hero-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:6vw;display:grid}.project-title-block h1{font-size:clamp(3.1rem,6vw,6.4rem)}.project-title-block>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:1.12rem;line-height:1.75}.project-title-block .stack-label{color:#718897;letter-spacing:.11em;text-transform:uppercase;margin:28px 0 -10px;font:600 .6rem/1.4 ui-monospace,monospace}.expanded-stack{gap:6px;max-width:690px}.expanded-stack li{letter-spacing:.045em;padding:6px 8px;font-size:.58rem}.project-hero-image{background:#dfe5e7;min-height:610px;margin:0;position:relative}.project-hero-image img{object-fit:cover}.project-hero-image figcaption{color:#ced8df;letter-spacing:.07em;text-transform:uppercase;background:#07111ce6;padding:8px 10px;font:600 .6rem ui-monospace,monospace;position:absolute;bottom:14px;right:14px}.project-body{border-top:1px solid var(--line);grid-template-columns:.35fr 1.65fr;gap:8vw;padding-block:88px;display:grid}.project-body aside{color:#6f8492;letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:8px;font:600 .62rem ui-monospace,monospace;display:flex}.project-narrative{grid-template-columns:repeat(2,1fr);gap:54px;display:grid}.project-narrative>div>p:not(.eyebrow){color:#b2c0ca;font-size:1.06rem;line-height:1.8}.project-links{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.project-narrative .outcome-block{border-top:1px solid var(--line);border-left:2px solid var(--orange);grid-column:1/-1;max-width:900px;padding:26px 0 0 22px}.model-module{border-block:1px solid var(--line);grid-template-columns:.72fr 1.28fr;align-items:center;gap:60px;padding-block:72px;display:grid}.model-module-copy>span{color:var(--orange);letter-spacing:.1em;text-transform:uppercase;font:600 .62rem ui-monospace,monospace}.model-module h2{margin-top:14px;font-size:clamp(2rem,4vw,4rem)}.model-module p{color:var(--muted);line-height:1.8}.model-module .viewer-instructions{color:#c9d4dc;letter-spacing:.06em;text-transform:uppercase;font:600 .65rem/1.5 ui-monospace,monospace}.project-media{padding-block:110px}.project-media-heading{margin-bottom:42px}.media-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.media-item{margin:0;position:relative}.media-frame,.media-item video{aspect-ratio:4/3;background:#dfe5e7;width:100%;display:block;position:relative}.media-frame{transition:border-color var(--duration-medium) ease;border:1px solid #0000;overflow:hidden}.media-frame img{object-fit:cover;transition:transform .7s var(--ease-emphasis)}.media-item.technical-figure .media-frame{background:#f8fafb}.media-item.technical-figure .media-frame img{object-fit:contain;padding:clamp(12px,3vw,28px)}.media-item video{aspect-ratio:16/9;object-fit:contain;background:#050505}.media-item.portrait-video video{aspect-ratio:3/4}.media-item figcaption{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;transition:color var(--duration-fast) ease, border-color var(--duration-medium) ease;border-top:1px solid #0000;justify-content:space-between;gap:18px;padding:12px 0;font:600 .64rem ui-monospace,monospace;display:flex}.media-item figcaption a{color:var(--orange-soft);white-space:nowrap}.next-project{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-block:36px 100px;font:600 .65rem ui-monospace,monospace;display:flex}.next-project a{color:var(--white);transition:color var(--duration-fast) ease;font-size:.82rem}.next-project a span{transition:transform var(--duration-medium) var(--ease-standard);display:inline-block}.next-project a:hover,.next-project a:focus-visible{color:var(--orange-soft)}.next-project a:hover span,.next-project a:focus-visible span{transform:translate(4px)}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:70svh;display:flex}.not-found h1{letter-spacing:-.06em;max-width:800px;margin:0 0 34px;font-size:clamp(3rem,8vw,7rem);line-height:.95}.drone-viewer{z-index:2;touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.drone-viewer-fallback{object-fit:contain;z-index:1;transition:opacity .52s ease, transform .76s var(--ease-emphasis)}.drone-viewer.is-ready .drone-viewer-fallback{opacity:0}.drone-canvas{z-index:2;opacity:0;transition:opacity .62s ease, transform .76s var(--ease-emphasis);position:absolute;inset:0;transform:scale(.99)}.drone-viewer.is-ready .drone-canvas{opacity:1}.drone-viewer.is-ready .drone-canvas,.drone-viewer.is-interacting .drone-canvas{transform:scale(1)}.three-runtime,.three-runtime canvas{width:100%;height:100%;display:block}.viewer-status{z-index:4;border:1px solid var(--line);color:#b9c8d2;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease;background:#07111cc2;padding:7px 9px 7px 21px;font:600 .56rem ui-monospace,monospace;position:absolute;bottom:12px;right:12px}.viewer-status:before{content:"";background:var(--orange);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.drone-viewer.is-interacting .viewer-status{color:var(--white);border-color:#ff653480}.detail-drone-viewer{border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#173248,#07111c 66%);width:100%;min-height:500px;position:relative;inset:auto}.project-hero-image img.position-launch{object-position:center 50%}.project-hero-image img.position-gtxr{object-position:center 28%}.project-hero-image img.contain-light,.project-hero-image img.technical-figure{object-fit:contain;background:#f8fafb;padding:9%}.project-hero-image img.contain-dark{object-fit:contain;background:#050505}.project-hero-image img.drone-render{object-fit:contain;background:#f5f7f8;padding:clamp(24px,5vw,72px)}.project-hero-image img.poster-contain{object-fit:contain;background:#d8e2e5}.project-hero-image.drone-render,.project-hero-image.powered-descent-figure{aspect-ratio:16/10;min-height:0}.project-hero-image img.drone-render{padding:clamp(8px,1.2vw,18px)}.project-hero-image img.powered-descent-figure{padding:clamp(8px,1.4vw,20px)}@media (hover:hover) and (pointer:fine){.project-card:hover .project-image:after{opacity:1}.media-item:hover .media-frame{border-color:#ff653459}.media-item:hover .media-frame img{transform:scale(1.018)}.media-item:hover figcaption{border-color:var(--line);color:#cad5dc}}@media (prefers-reduced-motion:no-preference){.hero-grid{animation:grid-reveal 1.1s 80ms var(--ease-emphasis) both}.hero-kicker{animation:hero-rise .52s .1s var(--ease-emphasis) both}.hero-kicker span{animation:line-grow .6s .2s var(--ease-emphasis) both;transform-origin:0}.hero-line>span{animation:hero-mask-rise .76s var(--ease-emphasis) both}.hero-line:first-child>span{animation-delay:.16s}.hero-line:nth-child(2)>span{animation-delay:.235s}.hero-intro{animation:hero-rise .62s .36s var(--ease-emphasis) both}.hero-actions{animation:hero-rise .58s .45s var(--ease-emphasis) both}.hero-stats>div{animation:hero-rise .52s var(--ease-emphasis) both}.hero-stats>div:first-child{animation-delay:.54s}.hero-stats>div:nth-child(2){animation-delay:.6s}.hero-visual{animation:hero-visual-in .92s .44s var(--ease-emphasis) both}.telemetry.top{animation:hero-rise .5s .68s var(--ease-emphasis) both}.telemetry.bottom{animation:hero-rise .5s .74s var(--ease-emphasis) both}.orbit-one{animation:orbit-trace 1s .66s var(--ease-emphasis) both}.orbit-two{animation:orbit-trace-two 1.15s .72s var(--ease-emphasis) both}.project-page .back-link{animation:hero-rise .44s 60ms var(--ease-emphasis) both}[data-project-enter=copy]{animation:hero-rise .68s .13s var(--ease-emphasis) both}[data-project-enter=media]{animation:project-media-in .8s .26s var(--ease-emphasis) both}[data-project-enter=media] figcaption{animation:hero-rise .48s .72s var(--ease-emphasis) both}.motion-ready [data-reveal]{opacity:0;translate:0 var(--reveal-distance);transition:opacity var(--duration-reveal) var(--ease-standard), translate var(--duration-reveal) var(--ease-standard), scale var(--duration-reveal) var(--ease-standard), clip-path .76s var(--ease-emphasis);scale:.992}.motion-ready [data-reveal=media]{clip-path:inset(0 0 7%);translate:0 12px;scale:.985}.motion-ready [data-reveal=line]{clip-path:inset(0 3% 0 0);translate:0 8px}.motion-ready [data-reveal=stagger]{opacity:1;translate:none;scale:none}.motion-ready [data-reveal].is-visible{opacity:1;clip-path:inset(0);translate:0;scale:1}.motion-ready [data-reveal=heading] .eyebrow,.motion-ready [data-reveal=heading] h2,.motion-ready [data-reveal=heading] .section-description{opacity:0;transition:opacity .54s var(--ease-standard), translate .62s var(--ease-standard);translate:0 10px}.motion-ready [data-reveal=heading].is-visible .eyebrow,.motion-ready [data-reveal=heading].is-visible h2,.motion-ready [data-reveal=heading].is-visible .section-description{opacity:1;translate:0}.motion-ready [data-reveal=heading].is-visible h2{transition-delay:var(--stagger)}.motion-ready [data-reveal=heading].is-visible .section-description{transition-delay:calc(var(--stagger) * 2)}.motion-ready [data-reveal=stagger] [data-reveal-item]{opacity:0;transition:opacity .42s var(--ease-standard), translate .5s var(--ease-standard), border-color var(--duration-fast) ease;translate:0 9px}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]{opacity:1;translate:0}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]:nth-child(2){transition-delay:calc(var(--stagger) * .75)}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]:nth-child(3){transition-delay:calc(var(--stagger) * 1.5)}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]:nth-child(4){transition-delay:calc(var(--stagger) * 2.25)}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]:nth-child(5){transition-delay:calc(var(--stagger) * 3)}.motion-ready [data-reveal=stagger].is-visible [data-reveal-item]:nth-child(6){transition-delay:calc(var(--stagger) * 3.75)}.motion-ready .media-item figcaption{opacity:0;transition:opacity .42s var(--ease-standard) .18s, translate .52s var(--ease-standard) .18s, color var(--duration-fast) ease, border-color var(--duration-medium) ease;translate:0 5px}.motion-ready .media-item.is-visible figcaption{opacity:1;translate:0}.featured-grid .project-card:nth-child(2),.secondary-grid .project-card:nth-child(2n),.media-grid .media-item:nth-child(2n),.project-narrative>[data-reveal]:nth-child(2n){transition-delay:70ms}.secondary-grid .project-card:nth-child(3n),.media-grid .media-item:nth-child(3n){transition-delay:.12s}}@keyframes media-fade{0%{opacity:0}to{opacity:1}}@keyframes hero-rise{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes hero-mask-rise{0%{opacity:0;translate:0 112%}to{opacity:1;translate:0}}@keyframes hero-visual-in{0%{opacity:0;translate:16px 10px;scale:.975}to{opacity:1;translate:0;scale:1}}@keyframes project-media-in{0%{opacity:0;clip-path:inset(0 0 14%);translate:14px;scale:.985}to{opacity:1;clip-path:inset(0);translate:0;scale:1}}@keyframes line-grow{0%{scale:0 1}to{scale:1}}@keyframes grid-reveal{0%{opacity:0;scale:1.03;-webkit-mask-position:100% 0;mask-position:100% 0}to{opacity:.22;scale:1;-webkit-mask-position:0 0;mask-position:0 0}}@keyframes orbit-trace{0%{opacity:0;transform:rotate(10deg)}to{opacity:1;transform:rotate(16deg)}}@keyframes orbit-trace-two{0%{opacity:0;transform:rotate(-18deg)}to{opacity:1;transform:rotate(-24deg)}}::view-transition{pointer-events:none}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-group(.project-morph){animation-duration:.42s;animation-timing-function:var(--ease-standard)}::view-transition-old(.page-forward){animation:.13s ease-in both page-fade-out, .3s var(--ease-standard) both page-shift-out}::view-transition-old(.page-back){animation:.13s ease-in both page-fade-out, .3s var(--ease-standard) both page-shift-out}::view-transition-new(.page-forward){animation:.2s ease-out 90ms both page-fade-in, .3s var(--ease-standard) both page-shift-in}::view-transition-new(.page-back){animation:.2s ease-out 90ms both page-fade-in, .3s var(--ease-standard) both page-shift-in}::view-transition-old(.page-forward){--page-offset:-18px}::view-transition-new(.page-back){--page-offset:-18px}::view-transition-new(.page-forward){--page-offset:18px}::view-transition-old(.page-back){--page-offset:18px}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}@keyframes page-shift-out{to{translate:var(--page-offset) 0}}@keyframes page-shift-in{0%{translate:var(--page-offset) 0}}@media (max-width:1000px){:root{--reveal-distance:14px;--stagger:44ms}.hero-layout,.project-hero-grid{grid-template-columns:1fr}.hero-visual{min-height:460px}.secondary-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:5vw}.technical-toolkit{grid-template-columns:1fr}.paper-card{grid-template-columns:.5fr 1.5fr}.paper-card .button{grid-column:2;justify-self:start}.project-hero-image{min-height:560px}}@media (max-width:720px){:root{--duration-reveal:.52s;--reveal-distance:9px;--stagger:32ms;--card-hover-lift:0px}.shell{width:min(calc(100% - 32px), var(--max))}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;padding:10px;font:650 .66rem ui-monospace,monospace;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{border:1px solid var(--line);background:var(--navy);flex-direction:column;width:190px;padding:10px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #00000059}.mobile-nav nav a{letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:44px;padding:12px;font:650 .7rem ui-monospace,monospace;display:flex}.hero-layout{padding-block:74px 50px}.hero h1{font-size:clamp(3.2rem,16vw,5rem)}.hero-intro{font-size:1rem}.hero-actions .button{width:100%}.hero-stats{gap:20px}.hero-visual{min-height:360px}.section{padding-block:86px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.featured-grid,.secondary-grid{grid-template-columns:1fr;gap:56px}.project-card:first-child{grid-column:auto;display:block}.project-card:first-child .project-image,.project-image{min-height:340px}.project-card.compact .project-image{min-height:320px}.about-grid{grid-template-columns:1fr;gap:52px}.about-portrait{min-height:520px}.skills-grid{grid-template-columns:1fr}.skill-card:last-child{grid-column:auto}.technical-toolkit{margin-top:64px;padding-top:42px}.toolkit-grid{grid-template-columns:1fr}.toolkit-group:nth-child(odd),.toolkit-group:nth-child(2n){border-right:0;grid-column:auto;padding:18px 0 20px}.paper-card{grid-template-columns:1fr;gap:24px}.paper-card .button{grid-column:1;justify-self:stretch}.recognition-row{grid-template-columns:1fr;gap:12px}.footer-grid,.project-body,.model-module{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.project-page{padding-top:24px}.project-hero{padding-block:24px 76px}.project-hero-image{min-height:430px}.project-body{gap:32px}.project-narrative{grid-template-columns:1fr;gap:30px}.media-grid{grid-template-columns:1fr}.detail-drone-viewer{min-height:370px}.next-project{flex-direction:column;align-items:flex-start;gap:18px}.project-card{transform:none}.hero-visual{animation-delay:.32s}.telemetry{letter-spacing:.08em}.motion-ready [data-reveal=media]{clip-path:inset(0 0 3%)}}@media (hover:none),(pointer:coarse){.project-card{transform:none}.project-card:hover{--card-lift:0px}.project-image:after{display:none}.project-card:hover .project-image img,.project-card:hover .project-image img.drone-render,.project-card:hover .project-image img.poster-contain,.project-card:hover .project-image img.contain-light,.project-card:hover .project-image img.contain-dark,.project-card:hover .project-image img.technical-figure{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card-video-preview{display:none}.project-card{transform:none!important}[data-reveal],[data-reveal-item],[data-project-enter]{opacity:1!important;clip-path:none!important;transform:translate(0,0)scale(1)!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}
