:root{--font-geist-sans:"Segoe UI", Arial, Helvetica, sans-serif;--font-geist-mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--ink:#0b0c10;--ink-soft:#3c3e48;--paper:#f7f7f5;--white:#fff;--line:#d9d9d4;--line-dark:#262733;--indigo:#4f46e5;--indigo-deep:#312e81;--indigo-soft:#e7e7ff;--cyan:#22d3ee}*{box-sizing:border-box}h1,h2,h3,h4,p,figure{margin:0}img{max-width:100%}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;font-synthesis:none;margin:0;overflow-x:hidden}body:before{z-index:20;pointer-events:none;content:"";opacity:.16;mix-blend-mode:multiply;background-image:repeating-linear-gradient(107deg,#0b0c100b 0 1px,#0000 1px 5px);position:fixed;inset:0}::selection{color:var(--white);background:var(--indigo)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.skip-link{z-index:100;color:var(--white);background:var(--ink);padding:12px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.scroll-progress{z-index:99;background:linear-gradient(90deg, var(--indigo), var(--cyan));transform-origin:0;width:100%;height:3px;transition:transform 80ms linear;position:fixed;top:0;left:0}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f7f5e0;border-bottom:1px solid #0b0c101a;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:76px;padding:0 4.2vw;display:grid;position:fixed;top:0;left:0}.wordmark{letter-spacing:.08em;align-items:center;gap:12px;width:max-content;font-size:12px;font-weight:650;display:inline-flex}.wordmark-mark{width:32px;height:32px;color:var(--white);background:var(--ink);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:10px;display:grid}.desktop-nav{align-items:center;gap:clamp(18px,2.1vw,36px);display:flex}.desktop-nav a{color:#61626b;letter-spacing:.08em;text-transform:uppercase;padding:27px 0 25px;font-size:11px;font-weight:550;transition:color .18s;position:relative}.desktop-nav a:after{content:"";background:var(--indigo);width:100%;height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a[aria-current=location]{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=location]:after{transform:scaleX(1)}.menu-toggle,.mobile-nav{display:none}.hero{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0000 49.95%,#0b0c100f 50%,#0000 50.05%) 0 0/100% 100%,linear-gradient(#0b0c1007 1px,#0000 1px) 0 0/100% 96px;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100svh;padding:134px 7.5vw 64px;display:grid;position:relative}.hero-copy{z-index:2;align-self:center;max-width:760px;padding:5vh 3vw 0 0}.eyebrow,.section-number,.project-category,.timeline-period{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.hero-eyebrow{color:var(--indigo);align-items:center;gap:12px;margin:0 0 38px;display:flex}.hero-eyebrow:before{content:"";background:currentColor;width:28px;height:1px}.hero h1{letter-spacing:-.062em;max-width:840px;margin:0;font-size:clamp(54px,6.25vw,108px);font-weight:500;line-height:.93}.hero h1 span{color:var(--indigo);font-style:italic;font-weight:400;display:block}.hero-intro{max-width:610px;color:var(--ink-soft);letter-spacing:-.015em;margin:38px 0 0;font-size:clamp(16px,1.25vw,20px);line-height:1.65}.hero-actions,.contact-actions{align-items:center;gap:30px;margin-top:36px;display:flex}.button{letter-spacing:.04em;border:1px solid #0000;border-radius:2px;justify-content:space-between;align-items:center;gap:30px;min-width:196px;min-height:54px;padding:0 20px;font-size:12px;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}button.button{cursor:pointer}.button:hover{transform:translateY(-2px)}.button--dark{color:var(--white);background:var(--ink)}.button--dark:hover{background:var(--indigo)}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:10px;padding:10px 0;font-size:13px;font-weight:600;display:inline-flex}.text-link span{transition:transform .18s}.text-link:hover span{transform:translate(3px,-3px)}.hero-meta{color:#64656d;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:26px;margin-top:60px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:9px;display:flex}.hero-meta span:before{content:"";background:var(--indigo);border-radius:50%;width:5px;height:5px}.hero-portrait{border-left:1px solid #0b0c1014;align-self:center;width:min(100%,560px);margin:0 auto;padding:clamp(22px,3vw,42px);position:relative}.hero-portrait:before,.hero-portrait:after{z-index:2;pointer-events:none;content:"";width:48px;height:48px;position:absolute}.hero-portrait:before{border-top:1px solid var(--ink);border-right:1px solid var(--ink);top:0;right:0}.hero-portrait:after{border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);bottom:0;left:0}.hero-portrait img{aspect-ratio:4/5;border:1px solid var(--ink);object-fit:cover;object-position:50% 42%;width:100%;display:block}.hero-rail{color:#7c7d85;font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;writing-mode:vertical-rl;flex-direction:column;align-items:center;gap:14px;font-size:8px;display:flex;position:absolute;bottom:64px;right:2.4vw}.hero-rail i{background:var(--line);width:1px;height:42px}.content-shell,.contact-inner{width:min(1240px,100% - 10vw);margin:0 auto}.section{border-bottom:1px solid var(--line);padding:145px 0;scroll-margin-top:74px}.section-heading{margin-bottom:72px}.section-number{color:var(--indigo);margin:0 0 24px}.section-heading h2,.contact-section h2{letter-spacing:-.055em;max-width:900px;margin:0;font-size:clamp(44px,5vw,78px);font-weight:480;line-height:1}.section-heading--split{grid-template-columns:1fr minmax(280px,380px);align-items:end;gap:60px;display:grid}.section-heading--split>p{color:#65666f;margin:0 0 3px;font-size:15px;line-height:1.65}.about-grid{display:block}.about-copy{max-width:780px;color:var(--ink-soft);font-size:16px;line-height:1.75}.about-kicker{color:var(--indigo);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;margin-bottom:14px;font-size:10px}.about-copy h3{color:var(--ink);letter-spacing:-.035em;margin:0 0 28px;font-size:clamp(24px,2.3vw,36px);font-weight:500;line-height:1.18}.about-copy>p:not(.about-kicker){margin:0 0 18px}.about-copy>p:last-child{margin-bottom:0}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:100px;display:grid}.principles>div{border-right:1px solid var(--line);align-items:center;gap:22px;min-height:100px;padding:20px 28px;display:flex}.principles>div:last-child{border-right:0}.principles span,.timeline-index,.skills-head span{color:var(--indigo);font-family:var(--font-geist-mono), monospace;font-size:10px}.principles p{margin:0;font-size:15px;font-weight:580}.timeline{border-top:1px solid var(--ink)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:50px 145px minmax(220px,.8fr) 1.2fr;gap:28px;padding:44px 0;display:grid}.timeline-period{color:#777881;margin:3px 0 0;font-size:9px}.timeline-role h3{letter-spacing:-.025em;margin:0 0 7px;font-size:21px;font-weight:590}.timeline-role p,.timeline-details>p{color:#63646d;margin:0;font-size:14px;line-height:1.6}.timeline-details ul{gap:10px;margin:22px 0 0;padding:0;list-style:none;display:grid}.timeline-details li{color:var(--ink-soft);padding-left:18px;font-size:13px;line-height:1.55;position:relative}.timeline-details li:before{content:"";background:var(--indigo);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.project-grid{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.project-card{border:0;border-right:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;align-items:stretch;min-height:530px;padding:25px;transition:color .28s,background .28s;display:flex;position:relative;overflow:hidden}.project-card:last-child,.project-card:nth-child(2n){border-right:0}.project-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-card--wide{border-right:0;grid-column:1/-1;grid-template-rows:auto auto auto auto 1fr auto;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);column-gap:clamp(40px,7vw,100px);min-height:430px;display:grid}.project-card--wide .project-number,.project-card--wide .project-category,.project-card--wide .project-title,.project-card--wide .project-summary,.project-card--wide .project-tech,.project-card--wide .project-open{grid-column:1}.project-card--wide .project-graphic{grid-area:1/2/-1;align-self:center;height:250px;margin:0}.project-card--wide .project-tech{align-self:start}.project-card:before{z-index:0;content:"";background:radial-gradient(circle at 70% 35%, #22d3ee47, transparent 25%), linear-gradient(145deg, var(--indigo-deep), var(--indigo));opacity:0;transition:opacity .28s;position:absolute;inset:0}.project-card>*{z-index:1;position:relative}.project-card:hover{color:var(--white)}.project-card:hover:before{opacity:1}.project-number{color:var(--indigo);font-family:var(--font-geist-mono), monospace;font-size:11px}.project-card:hover .project-number{color:var(--cyan)}.project-category{color:#777881;margin-top:14px;font-size:9px}.project-card:hover .project-category{color:#ffffffa8}.project-graphic{--symbol-line:#4f46e585;--symbol-accent:var(--indigo);width:100%;height:190px;margin:24px 0 18px;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block;position:relative;overflow:hidden}.project-card:hover .project-graphic{--symbol-line:#ffffff9e;--symbol-accent:var(--cyan)}.project-graphic--drone{place-items:center;display:grid}.drone-graphic{filter:drop-shadow(0 15px 24px #4f46e524);width:min(285px,98%);height:200px;transition:filter .28s,transform .5s cubic-bezier(.2,.8,.2,1);overflow:visible}.drone-armature,.drone-landing-gear,.drone-camera path,.drone-scan{fill:none;stroke:var(--symbol-line);stroke-linecap:round;stroke-linejoin:round}.drone-armature{stroke-width:7px}.drone-rotor{transform-box:fill-box;transform-origin:50%}.drone-rotor ellipse,.drone-rotor path{fill:none;stroke:var(--symbol-line);stroke-linecap:round;stroke-width:1.5px}.drone-rotor circle{fill:var(--symbol-accent);filter:drop-shadow(0 0 5px var(--symbol-accent))}.drone-shell{fill:#4f46e514;stroke:var(--symbol-line);stroke-linejoin:round;stroke-width:1.5px;transition:fill .28s}.drone-top-panel{fill:#4f46e517;stroke:var(--symbol-line);stroke-width:1px}.drone-status-light{fill:var(--symbol-accent);filter:drop-shadow(0 0 8px var(--symbol-accent))}.drone-landing-gear{stroke-width:2px}.drone-camera rect{fill:#4f46e514;stroke:var(--symbol-line);stroke-width:1.5px}.drone-camera circle{fill:none;stroke:var(--symbol-accent);stroke-width:1.5px}.drone-scan{stroke:var(--symbol-accent);stroke-dasharray:5 7;opacity:.35}.project-card:hover .drone-graphic{filter:drop-shadow(0 18px 30px #22d3ee38);transform:translateY(-5px)scale(1.035)}.project-card:hover .drone-shell{fill:#22d3ee1a}.project-card:hover .drone-scan{animation:1.2s ease-in-out infinite alternate drone-scan-pulse}@keyframes drone-scan-pulse{to{opacity:.85;transform:translateY(4px)scaleX(1.12)}}.solar-sun{border:1px solid var(--symbol-accent);border-radius:50%;width:38px;height:38px;transition:border-color .28s,box-shadow .28s,transform .5s;position:absolute;top:10%;right:12%;box-shadow:0 0 0 9px #4f46e50f,0 0 28px #4f46e538}.solar-sun:before,.solar-sun:after{content:"";background:linear-gradient(90deg, transparent 0 2px, var(--symbol-accent) 2px 4px, transparent 4px calc(100% - 4px), var(--symbol-accent) calc(100% - 4px) calc(100% - 2px), transparent calc(100% - 2px)), linear-gradient(transparent 0 2px, var(--symbol-accent) 2px 4px, transparent 4px calc(100% - 4px), var(--symbol-accent) calc(100% - 4px) calc(100% - 2px), transparent calc(100% - 2px));opacity:.42;transition:opacity .28s,transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-12px}.solar-sun:after{transform:rotate(45deg)scale(.82)}.solar-beam{background:linear-gradient(90deg, transparent, var(--symbol-accent), transparent);opacity:0;transform-origin:100%;width:92px;height:2px;position:absolute;top:31%;right:23%;transform:rotate(136deg)scaleX(.45)}.solar-panel{border:1px solid var(--symbol-line);background:linear-gradient(90deg, transparent 24%, var(--symbol-line) 25%, transparent 26%, transparent 49%, var(--symbol-line) 50%, transparent 51%, transparent 74%, var(--symbol-line) 75%, transparent 76%), linear-gradient(transparent 32%, var(--symbol-line) 33%, transparent 34%, transparent 65%, var(--symbol-line) 66%, transparent 67%), #4f46e512;width:158px;height:94px;transition:border-color .28s,background .28s,box-shadow .28s,transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)perspective(420px)rotateX(55deg)rotate(-12deg);box-shadow:16px 22px 34px #312e8124}.solar-panel-highlight{opacity:0;background:linear-gradient(90deg,#0000,#ffffff57,#0000);width:34%;position:absolute;inset:0 auto 0 -45%;transform:skew(-18deg)}.solar-stand{background:var(--symbol-line);width:2px;height:35px;position:absolute;top:68%;left:50%;transform:translate(-50%)}.solar-stand:before{content:"";background:var(--symbol-accent);width:6px;height:6px;box-shadow:0 0 12px var(--symbol-accent);opacity:0;border-radius:50%;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.solar-stand:after{content:"";background:var(--symbol-line);width:70px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.project-card:hover .solar-panel{background:linear-gradient(90deg, transparent 24%, var(--symbol-line) 25%, transparent 26%, transparent 49%, var(--symbol-line) 50%, transparent 51%, transparent 74%, var(--symbol-line) 75%, transparent 76%), linear-gradient(transparent 32%, var(--symbol-line) 33%, transparent 34%, transparent 65%, var(--symbol-line) 66%, transparent 67%), #22d3ee1a;transform:translate(-50%,-50%)perspective(420px)rotateX(55deg)rotate(-3deg)scale(1.04);box-shadow:18px 24px 44px #22d3ee29}.project-card:hover .solar-sun{transform:scale(1.08);box-shadow:0 0 0 11px #22d3ee14,0 0 34px #22d3ee5c}.project-card:hover .solar-sun:before{opacity:.8;transform:rotate(90deg)scale(1.08)}.project-card:hover .solar-sun:after{opacity:.8;transform:rotate(135deg)scale(.9)}.project-card:hover .solar-beam{animation:1.5s ease-in-out infinite solar-beam-flow}.project-card:hover .solar-panel-highlight{animation:1.8s ease-in-out infinite solar-panel-sweep}.project-card:hover .solar-stand:before{animation:1.25s ease-in-out infinite solar-energy-flow}@keyframes solar-beam-flow{0%,to{opacity:0;transform:rotate(136deg)scaleX(.45)}45%,70%{opacity:.7;transform:rotate(136deg)scaleX(1)}}@keyframes solar-panel-sweep{0%,25%{opacity:0;left:-45%}45%{opacity:.65}70%,to{opacity:0;left:115%}}@keyframes solar-energy-flow{0%{opacity:0;transform:translate(-50%)}25%{opacity:1}to{opacity:0;transform:translate(-50%,31px)}}.eye-outline{border:1px solid var(--symbol-line);border-radius:84% 8%;place-items:center;width:118px;height:118px;transition:border-color .28s,box-shadow .28s,transform .5s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.eye-iris{border:1px solid var(--symbol-accent);border-radius:50%;place-items:center;width:58px;height:58px;transition:box-shadow .28s,transform .5s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;box-shadow:0 0 26px #4f46e52e}.eye-pupil{background:var(--symbol-accent);width:22px;height:22px;box-shadow:0 0 22px var(--symbol-accent);border-radius:50%;place-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.eye-reflection{background:#ffffffe0;border-radius:50%;width:5px;height:5px;transform:translate(-3px,-3px)}.eye-target-ring{border:1px dashed var(--symbol-accent);opacity:0;border-radius:50%;width:86px;height:86px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.7)}.eye-scan-line{background:linear-gradient(90deg, transparent, var(--symbol-accent), transparent);width:205px;height:1px;box-shadow:0 0 12px var(--symbol-accent);opacity:.45;transition:opacity .28s,transform .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(.78)}.project-card:hover .eye-outline{transform:translate(-50%,-50%)rotate(45deg)scale(1.045);box-shadow:0 0 42px #22d3ee24}.project-card:hover .eye-iris{transform:scale(1.06);box-shadow:0 0 0 8px #22d3ee0d,0 0 34px #22d3ee3d}.project-card:hover .eye-pupil{transform:translate(6px,-5px)scale(.9)}.project-card:hover .eye-target-ring{animation:1.8s ease-out infinite eye-target-pulse}.project-card:hover .eye-scan-line{animation:1.7s ease-in-out infinite eye-scan-sweep}@keyframes eye-scan-sweep{0%,to{opacity:0;transform:translate(-50%,-58px)scaleX(.62)}15%,85%{opacity:.82}50%{opacity:1;transform:translate(-50%,58px)scaleX(1)}}@keyframes eye-target-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.68)}35%{opacity:.52}to{opacity:0;transform:translate(-50%,-50%)scale(1.35)}}.project-graphic--circuit-heart{place-items:center;display:grid}.circuit-heart{filter:drop-shadow(0 14px 20px #4f46e51f);width:min(240px,90%);height:180px;transition:filter .28s,transform .5s cubic-bezier(.2,.8,.2,1);overflow:visible}.circuit-heart-outline,.circuit-heart-trace,.circuit-heart-branch{fill:none;stroke-linecap:round;stroke-linejoin:round}.circuit-heart-outline{fill:#4f46e50d;stroke:var(--symbol-line);stroke-width:1.5px;transition:fill .28s,stroke .28s}.circuit-heart-trace{stroke:var(--symbol-accent);stroke-width:2.5px;stroke-dasharray:280;stroke-dashoffset:0}.circuit-heart-branch{stroke:var(--symbol-line);stroke-width:1.5px;transition:stroke .28s}.circuit-heart-node{fill:var(--symbol-accent);filter:drop-shadow(0 0 6px var(--symbol-accent))}.project-card:hover .circuit-heart{filter:drop-shadow(0 16px 28px #22d3ee33);transform:scale(1.06)}.project-card:hover .circuit-heart-outline{fill:#22d3ee12}.project-card:hover .circuit-heart-trace{animation:1.15s ease-in-out infinite circuit-pulse}@keyframes circuit-pulse{0%{stroke-dashoffset:280px}to{stroke-dashoffset:0}}.project-graphic--robot-arm{place-items:center;display:grid}.robot-arm-graphic{filter:drop-shadow(0 14px 22px #4f46e51f);width:min(280px,96%);height:210px;transition:filter .28s,transform .5s cubic-bezier(.2,.8,.2,1);overflow:visible}.robot-arm-ground,.robot-arm-link,.robot-arm-claw path,.robot-arm-signal{fill:none;stroke-linecap:round;stroke-linejoin:round}.robot-arm-ground{stroke:var(--symbol-line);stroke-width:1.5px}.robot-arm-base,.robot-arm-block{fill:#4f46e50f;stroke:var(--symbol-line);stroke-width:1.5px;transition:fill .28s,stroke .28s,transform .5s}.robot-arm-link{stroke:var(--symbol-line);stroke-width:10px}.robot-arm-joint,.robot-arm-claw circle,.robot-arm-signal-node{fill:var(--symbol-accent);stroke:var(--white);stroke-width:2px;transition:fill .28s}.robot-arm-claw{transform-origin:177px 92px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.robot-arm-claw path{stroke:var(--symbol-accent);stroke-width:4px}.robot-arm-signal{stroke:var(--symbol-accent);stroke-width:1.5px;stroke-dasharray:5 7;opacity:.45}.project-card:hover .robot-arm-graphic{filter:drop-shadow(0 18px 30px #22d3ee33);transform:scale(1.04)}.project-card:hover .robot-arm-claw{transform:rotate(10deg)translateY(4px)}.project-card:hover .robot-arm-block--one{fill:#22d3ee24;transform:translateY(-5px)}.project-card:hover .robot-arm-signal{animation:1s linear infinite robot-signal}@keyframes robot-signal{to{stroke-dashoffset:-24px}}.project-title{letter-spacing:-.035em;font-size:26px;font-weight:580}.project-summary{color:#65666f;margin-top:12px;font-size:13px;line-height:1.6}.project-card:hover .project-summary{color:#ffffffb8}.project-tech{flex-wrap:wrap;align-items:flex-start;gap:6px;margin:18px 0 22px;padding:0;list-style:none;display:flex}.project-tech li{border:1px solid var(--line);color:#686972;font-family:var(--font-geist-mono), monospace;border-radius:99px;padding:6px 8px;font-size:8px}.project-card:hover .project-tech li{color:#ffffffb3;border-color:#ffffff38}.project-open{border-top:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:18px;margin-top:auto;padding-top:25px;font-size:11px;font-weight:650;display:flex}.project-card:hover .project-open{border-color:#ffffff38}.project-open a{align-items:center;gap:8px;display:inline-flex}.project-card:hover .project-open a{color:var(--cyan)}.skills-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.skills-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:320px;padding:28px}.skills-grid article:last-child{border-right:0}.skills-head{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding-bottom:24px;display:flex}.skills-head h3{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin:0;font-size:11px}.skills-grid ul{gap:0;margin:22px 0 0;padding:0;list-style:none;display:grid}.skills-grid li{color:#484951;border-bottom:1px solid #e6e6e2;padding:12px 0;font-size:13px}.education-card{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:120px 1fr minmax(300px,.8fr);align-items:center;gap:44px;padding:44px 0;display:grid}.education-card+.education-card{border-top:0}.education-monogram{border:1px solid var(--indigo);width:84px;height:84px;color:var(--indigo);place-items:center;font-family:Georgia,serif;font-size:35px;display:grid}.education-card>div:nth-child(2)>p{color:var(--indigo);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:9px}.education-card h3{letter-spacing:-.03em;margin:0 0 6px;font-size:24px;font-weight:580}.education-card h4{color:#64656e;margin:0;font-size:14px;font-weight:450}.education-card>p{color:#64656e;margin:0;font-size:13px;line-height:1.7}.contact-section{min-height:92svh;color:var(--white);background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), var(--ink);background-size:100px 100px;padding:138px 0 38px;scroll-margin-top:70px;position:relative;overflow:hidden}.contact-inner{z-index:2;flex-direction:column;min-height:calc(92svh - 176px);display:flex;position:relative}.section-number--light{color:var(--cyan)}.contact-section h2{max-width:880px;font-size:clamp(60px,7.8vw,124px);line-height:.9}.contact-section h2 span{color:var(--cyan);font-style:italic;font-weight:350;display:block}.contact-inner>p:not(.section-number){color:#abadb5;max-width:560px;margin:38px 0 0;font-size:17px;line-height:1.7}.button--light{min-width:265px;color:var(--ink);background:var(--white)}.button--light:hover{color:var(--white);background:var(--indigo)}.text-link--light{color:var(--white);border-color:#787982}.contact-footer{border-top:1px solid var(--line-dark);color:#777881;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:60px;font-size:9px;display:flex}.contact-footer div{gap:28px;display:flex}.contact-footer button{color:#bcbec5;cursor:pointer;background:0 0;border:0;padding:0}.contact-footer a:hover,.contact-footer button:hover{color:var(--cyan)}.contact-orbit{aspect-ratio:1;opacity:.35;width:min(48vw,700px);position:absolute;top:6%;right:-6%}.contact-orbit span{border:1px solid var(--indigo);border-radius:50%;position:absolute;inset:12%;transform:rotateX(70deg)rotate(25deg)}.contact-orbit span:nth-child(2){border-color:var(--cyan);inset:24%;transform:rotateY(68deg)rotate(55deg)}.contact-orbit i{background:var(--cyan);width:10px;height:10px;box-shadow:0 0 42px var(--cyan);border-radius:50%;position:absolute;top:49%;left:49%}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(32px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:1050px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-toggle{cursor:pointer;background:0 0;border:0;width:38px;height:38px;margin-left:auto;display:block;position:relative}.menu-toggle span{background:var(--ink);width:26px;height:1px;transition:transform .18s;position:absolute;right:4px}.menu-toggle span:first-child{top:14px}.menu-toggle span:last-child{top:23px}.menu-toggle[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}.mobile-nav{border-bottom:1px solid var(--line);opacity:0;visibility:hidden;background:#f7f7f5fa;grid-template-rows:repeat(7,0fr);padding:0 5vw;transition:opacity .18s,visibility .18s,padding .18s;display:grid;position:fixed;top:76px;left:0;right:0;overflow:hidden}.mobile-nav.is-open{opacity:1;visibility:visible;grid-template-rows:repeat(7,1fr);padding-top:14px;padding-bottom:20px}.mobile-nav a{border-bottom:1px solid #e5e5e1;align-items:center;gap:24px;min-height:46px;font-size:15px;display:flex;overflow:hidden}.mobile-nav a span{color:var(--indigo);font-family:var(--font-geist-mono), monospace;font-size:9px}.hero{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.hero-copy{max-width:860px}.hero-portrait{border-top:1px solid var(--line);border-left:0;width:min(100%,620px);margin-top:48px}.hero-rail{display:none}.timeline-item{grid-template-columns:40px 125px 1fr}.timeline-details{grid-column:3}.project-card{min-height:490px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skills-grid article:nth-child(2){border-right:0}}@media (max-width:760px){.site-header{height:68px;padding-left:20px;padding-right:20px}.mobile-nav{top:68px}.wordmark-name{display:none}.hero{background-size:100% 100%,100% 72px;min-height:auto;padding:118px 20px 50px}.hero-copy{padding:0}.hero-eyebrow{margin-bottom:28px;font-size:9px}.hero h1{font-size:clamp(52px,15vw,76px)}.hero-intro{margin-top:28px;font-size:15px}.hero-actions,.contact-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-meta{gap:12px 20px;margin-top:42px}.hero-portrait{margin-top:24px;padding:18px}.content-shell,.contact-inner{width:calc(100% - 40px)}.section{padding:96px 0;scroll-margin-top:66px}.section-heading{margin-bottom:48px}.section-heading h2,.contact-section h2{font-size:45px}.section-heading--split{grid-template-columns:1fr;gap:32px}.section-heading--split>p{max-width:420px}.principles{grid-template-columns:1fr;margin-top:65px}.principles>div{border-right:0;border-bottom:1px solid var(--line);min-height:78px}.principles>div:last-child{border-bottom:0}.timeline-item{grid-template-columns:32px 1fr;gap:20px}.timeline-period,.timeline-role,.timeline-details{grid-column:2}.project-grid{grid-template-columns:1fr}.project-card{border-right:0;border-bottom:1px solid var(--line);min-height:455px}.project-card--wide{grid-column:auto;display:flex}.project-card--wide .project-graphic{align-self:stretch;height:190px;margin:24px 0 18px}.project-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-card:last-child{border-bottom:0}.skills-grid{grid-template-columns:1fr}.skills-grid article{border-right:0;min-height:auto}.education-card{grid-template-columns:80px 1fr;gap:25px}.education-monogram{width:68px;height:68px}.education-card>p{grid-column:2}.contact-section{min-height:100svh;padding-top:100px}.contact-inner{min-height:calc(100svh - 138px)}.contact-section h2{font-size:clamp(52px,15vw,82px)}.contact-footer{flex-direction:column;align-items:flex-start;gap:24px}.contact-footer div{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
