@font-face{font-family:Space Grotesk;src:url('assets/space-grotesk-latin.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('assets/ibm-plex-mono-latin.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#090d13;--panel:#101722;--panel-hover:#141f2f;--fg:#eef3fa;--muted:#a0aec0;--line:#263040;--blue:#3db8ff;--bright:#79d2ff;--mono:'IBM Plex Mono',monospace;--display:'Space Grotesk',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--display);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button:disabled{cursor:default}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;width:21px;height:21px}::selection{background:var(--blue);color:var(--bg)}.section-shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;z-index:1000;left:20px;top:-80px;background:var(--blue);color:var(--bg);padding:12px 20px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:#090d13ec;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-shell{width:min(1440px,calc(100% - 80px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:1.05rem;font-weight:700;letter-spacing:.13em}.brand-symbol{position:relative;display:flex;align-items:center;justify-content:center;height:36px;width:36px;background:var(--blue);color:#07111c;font-size:1.4rem;font-weight:700;letter-spacing:-.1em}.brand-symbol span{font-size:1rem;margin:-12px 0 0 -1px}.brand-dot{color:var(--blue)}.desktop-nav{display:flex;gap:32px;color:#b6c2d1;font-size:.875rem}.desktop-nav a{padding:14px 0;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--blue)}.nav-resume{font-size:.875rem;border:1px solid #425169;padding:9px 19px;display:flex;gap:24px;align-items:center;transition:background .2s,border-color .2s}.nav-resume:hover{background:var(--panel);border-color:var(--blue)}.hero{position:relative;display:grid;grid-template-columns:1fr 1.03fr;gap:36px;padding-top:72px;isolation:isolate}.hero-grid{position:absolute;inset:0 -56px;z-index:-1;background-image:linear-gradient(#6cacff06 1px,transparent 1px),linear-gradient(90deg,#6cacff06 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.13em;font-weight:400;color:var(--blue);margin:0 0 24px;display:flex;align-items:center;gap:13px;line-height:1.8}.small-rule{display:inline-block;width:28px;height:2px;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4.8rem,7.1vw,6.65rem);letter-spacing:-.065em;font-weight:600;line-height:.97;margin:0 0 30px}.name-outline{color:transparent;-webkit-text-stroke:1px #879ab2}.name-period{color:var(--blue);margin-left:.03em}.hero-statement{font-size:1.22rem;line-height:1.55;letter-spacing:-.02em;margin-bottom:15px;color:var(--muted)}.hero-statement strong{font-weight:500;color:var(--fg)}.hero-description{max-width:470px;font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:26px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 20px;font-size:.875rem;font-weight:500;transition:background .2s,transform .2s;border:1px solid transparent}.button-primary{background:var(--blue);color:#061018}.button-primary:hover{background:#81d2ff;transform:translateY(-2px)}.button-text{padding-inline:12px;color:#d6e1ef}.button-text:hover{background:#182131}.hero-visual{align-self:start;margin-top:54px;position:relative;min-width:0}.visual-topline,.visual-bottomline{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#a0b2c9;font: .75rem/1.7 var(--mono);letter-spacing:.07em;border-top:1px solid var(--line);padding-block:14px}.visual-index{color:var(--blue);white-space:nowrap}.cad-stage{position:relative;aspect-ratio:1.02;display:grid;place-items:center;isolation:isolate;background:radial-gradient(ellipse at center,#12335755 0%,transparent 66%);overflow:hidden}.hero-cad{position:relative;width:94%;height:88%;object-fit:contain;z-index:2;animation:float 9s ease-in-out infinite;filter:drop-shadow(0 20px 34px #0008)}.stage-orbit{position:absolute;width:88%;aspect-ratio:1;border:1px solid #3db8ff16;border-radius:50%;z-index:-1}.orbit-two{width:69%;border-style:dashed}.stage-cross{position:absolute;font:1.1rem var(--mono);color:#536c86}.cross-tl{top:7%;left:3%}.cross-tr{top:7%;right:3%}.cross-bl{bottom:7%;left:3%}.cross-br{bottom:7%;right:3%}.stage-label{position:absolute;bottom:8%;left:15%;font: .75rem/1.5 var(--mono);letter-spacing:.08em;color:#84a4c3;display:flex;align-items:center;gap:12px;z-index:3}.label-line{width:36px;height:1px;background:#486988}.visual-bottomline a{font-family:var(--display);font-size:.875rem;letter-spacing:0;color:var(--fg);white-space:nowrap}.visual-bottomline a span{color:var(--blue);margin-left:8px}.hero-facts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr .75fr 1.3fr;gap:22px;border-top:1px solid #354252;border-bottom:1px solid #354252;margin-top:30px;padding:30px 0}.hero-facts>div{display:flex;flex-direction:column;gap:7px;padding-right:16px}.hero-facts>div+div{border-left:1px solid var(--line);padding-left:25px}.fact-label{font: .75rem/1.5 var(--mono);letter-spacing:.08em;color:#8797ab}.hero-facts strong{font-size:1rem;font-weight:500}.hero-facts .gpa-value{font-size:1.4rem;line-height:1.1;color:var(--blue)}.hero-facts strong>span{color:var(--blue);margin-left:8px}.projects-section{padding-block:116px 104px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:44px}.section-heading h2,h2{font-size:clamp(2.1rem,4vw,3.5rem);font-weight:500;letter-spacing:-.055em;line-height:1.12;margin-bottom:0}.section-number{color:#7d8da3;border:1px solid #344153;font-size:.75rem;padding:1px 6px;letter-spacing:.02em}.muted-heading{color:#8190a5}.section-intro{font-size:1rem;line-height:1.8;max-width:360px;color:var(--muted);margin-bottom:4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden;transition:border-color .25s,background .25s;display:flex;flex-direction:column;min-width:0}.project-card:hover{border-color:#4f799f;background:var(--panel-hover)}.project-top{display:flex;justify-content:space-between;gap:20px;font: .75rem/1.5 var(--mono);letter-spacing:.09em;padding:25px 28px;color:#b5c3d4}.project-number{color:#72859b}.project-stat{height:177px;margin-inline:28px;display:flex;align-items:center;gap:25px;border-bottom:1px solid #33455b;position:relative;isolation:isolate}.project-stat:before{content:'';position:absolute;inset:0 0 24px;background:repeating-linear-gradient(90deg,transparent 0,transparent 23px,#79b4ec0d 23px,#79b4ec0d 24px);mask-image:linear-gradient(90deg,#000,transparent);z-index:-1}.project-stat strong{font-weight:400;font-size:6.25rem;line-height:1;letter-spacing:-.06em;color:var(--blue)}.project-gripper .project-stat strong{color:#c8e0ff}.project-stat>span{font: .72rem/1.9 var(--mono);letter-spacing:.11em;color:#94adca}.project-content{padding:25px 28px 24px;flex:1}.project-role{color:#90a3bc;font: .75rem/1.9 var(--mono);letter-spacing:.07em;margin-bottom:11px}.project-content h3,.compact-project-body h3{font-size:2rem;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin-bottom:16px}.project-content>p:not(.project-role),.compact-project-body p:not(.project-role){color:var(--muted);font-size:1rem;line-height:1.75;margin-bottom:23px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{font-size:.8rem;border:1px solid #364151;padding:3px 10px;color:#b9c7d8}.project-link{display:flex;justify-content:space-between;align-items:center;padding:17px 28px;width:100%;font-size:.875rem;background:transparent;border:0;border-top:1px solid var(--line);text-align:left;color:#e2ebf7}.project-link>span{font-size:1.3rem;color:var(--blue);transition:transform .2s}.project-link:hover{background:#3db8ff0a}.project-link:hover>span{transform:translate(3px,-3px)}.project-compact .project-top{padding-bottom:28px}.compact-project-body{padding:0 28px 26px;flex:1}.compact-project-body h3{font-size:1.55rem}.design-section{padding-block:68px 74px;background:#0c121b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compact-heading{margin-bottom:22px}.compact-heading h2{font-size:2.5rem}.inline-link{font-size:.875rem;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #49637e;padding-bottom:6px;white-space:nowrap}.inline-link>span{color:var(--blue)}.inline-link:hover{color:var(--blue)}.gallery-intro{color:var(--muted);font-size:1rem;margin-bottom:28px}.design-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.design-tile{border:1px solid var(--line);background:#121b27;padding:0;overflow:hidden;text-align:left;transition:border-color .2s}.design-tile:hover{border-color:var(--blue)}.design-image{display:block;background:#111923;aspect-ratio:1.38;padding:8px;overflow:hidden}.design-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.design-tile:hover img{transform:scale(1.035)}.design-caption{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-top:1px solid var(--line);font: .72rem/1.6 var(--mono);letter-spacing:.06em}.design-caption>span:last-child{font-family:var(--display);font-size:1.2rem;color:var(--blue)}.experience-section{display:grid;grid-template-columns:1fr 1.5fr;gap:110px;padding-block:116px}.experience-intro>p:last-child{font-size:1rem;color:var(--muted);max-width:320px;margin-top:25px;line-height:1.85}.timeline{border-left:1px solid #334052;padding-left:33px}.timeline-item{position:relative;padding-bottom:40px}.timeline-item:last-child{padding-bottom:0}.timeline-node{position:absolute;top:5px;left:-38px;width:9px;height:9px;background:var(--bg);border:2px solid var(--blue);transform:rotate(45deg)}.timeline-meta{display:flex;justify-content:space-between;gap:20px;font: .75rem/1.8 var(--mono);letter-spacing:.08em;color:#8fa5bf;margin-bottom:15px}.timeline-meta>span:first-child{color:var(--blue)}.timeline-item h3{font-size:1.5rem;letter-spacing:-.025em;font-weight:500;line-height:1.4;margin-bottom:3px}.organization{font-size:1rem;color:#c2ccda;margin-bottom:16px}.timeline-item>p:last-child{color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:0}.about-section{background:#0e141e;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:85px 0}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.about-copy>p{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:20px}.about-copy>.about-lead{font-size:1.24rem;line-height:1.65;color:#d5dfec;letter-spacing:-.015em}.education-block{margin-top:30px;padding:22px 24px;border-left:2px solid var(--blue);background:#141e2a}.education-block>.eyebrow{font-size:.75rem;margin-bottom:11px}.education-block h3{font-size:1.25rem;font-weight:500;margin-bottom:9px}.education-block>p{color:var(--muted);font-size:.95rem;line-height:1.8;margin-bottom:18px}.education-bottom{border-top:1px solid #303e51;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;color:#c3cede}.education-bottom strong{font-weight:400}.education-bottom strong span{color:var(--blue);font-size:1.3rem;font-weight:500;margin-left:8px}.toolbox{border:1px solid #344257;align-self:start}.toolbox-title{padding:18px 25px;border-bottom:1px solid #344257;font: .75rem/1.6 var(--mono);letter-spacing:.1em;color:var(--blue);display:flex;justify-content:space-between}.skill-group{padding:24px 26px}.skill-group+.skill-group{border-top:1px solid var(--line)}.skill-group h3{font-size:1.1rem;font-weight:500;letter-spacing:-.02em;margin-bottom:15px}.skill-group h3>span{font:.75rem var(--mono);color:#7790af;margin-right:12px}.skill-group p{font-size:.95rem;color:#b0bfd2;line-height:1.75;margin:3px 0 0}.skill-note{font-size:.75rem;color:var(--blue);margin-left:8px}.recognition{border-top:1px solid #334054;margin-top:74px;padding-block:31px;display:grid;grid-template-columns:.65fr 1fr 1.35fr 1fr;gap:25px;align-items:center}.recognition-label{font:.75rem var(--mono);letter-spacing:.1em;color:var(--blue)}.recognition>div:not(:first-child){display:flex;flex-direction:column;gap:5px}.recognition strong{font-size:.875rem;font-weight:500}.recognition>div>span{font-size:.8rem;color:#91a4bc}.contact-section{padding-block:96px 90px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}.contact-top>.eyebrow{margin:0}.contact-location{font:.75rem var(--mono);letter-spacing:.1em;color:#89a1be}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:95px;align-items:center}.contact-grid h2{font-size:clamp(3rem,5.8vw,5rem);line-height:1.05;letter-spacing:-.065em}.contact-grid h2>span{color:var(--blue)}.contact-grid>div>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:25px 0 0;max-width:390px}.contact-actions{min-width:0}.email-link,.phone-link{display:block;border-bottom:1px solid #354355;padding:18px 0}.contact-link-label{display:block;color:#8b9db5;font:.75rem var(--mono);letter-spacing:.09em;margin-bottom:10px}.contact-link-value{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:1.08rem;overflow-wrap:anywhere}.contact-link-value>span{color:var(--blue);font-size:1.4rem;flex-shrink:0}.contact-actions a:hover .contact-link-value{color:var(--blue)}.contact-actions>.button{margin-top:25px}.site-footer{border-top:1px solid var(--line);padding-block:27px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.75rem;color:#91a1b7}.footer-discipline{font:.75rem var(--mono);letter-spacing:.08em}.site-footer>a{color:#c5d0df}.site-footer>a>span{margin-left:16px;color:var(--blue)}dialog{background:#0f1723;color:var(--fg);border:1px solid #3c536e;padding:0;max-height:88dvh;width:min(760px,calc(100% - 32px));max-width:calc(100% - 32px);overflow:auto;box-shadow:0 30px 150px #000b}dialog::backdrop{background:#02060cd9;backdrop-filter:blur(8px)}.dialog-topbar{display:flex;align-items:center;justify-content:space-between;padding:17px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0f1723;z-index:2}.dialog-topbar>.eyebrow{margin:0;font-size:.75rem}.dialog-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid #3c4a60;font-family:Arial,sans-serif;font-size:1.6rem;background:#182333;line-height:1}.dialog-close:hover{background:#283b53}.dialog-topbar h2{font-size:1.15rem;letter-spacing:-.02em}.dialog-main{padding:30px 34px 36px}.dialog-main h2{font-size:2.2rem;margin-bottom:14px}.dialog-subtitle{color:var(--blue);font:.75rem/1.8 var(--mono);margin-bottom:26px}.dialog-main h3{font-size:1.15rem;font-weight:500;margin:26px 0 9px}.dialog-main p,.dialog-main li{font-size:1rem;line-height:1.85;color:#adbbce}.dialog-main ul{padding-left:20px}.dialog-main li+li{margin-top:10px}.dialog-main .tags{margin-top:25px}.dialog-note{border-left:2px solid var(--blue);background:#3db8ff07;padding:15px 20px}.gallery-dialog{width:min(1200px,calc(100% - 32px))}.gallery-dialog>img{width:100%;max-height:65dvh;object-fit:contain;background:#f0f1f3}.gallery-dialog-footer{display:flex;justify-content:space-between;gap:15px;padding:18px 25px;font-size:.875rem;color:#c0cddd}.gallery-dialog-footer>a{color:var(--blue)}.noscript-message{margin:20px 40px;color:var(--muted)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(min-width:1500px){.hero{padding-top:85px}.hero-visual{margin-top:50px}}
@media(max-width:1100px){.section-shell{width:calc(100% - 72px)}.nav-shell{width:calc(100% - 56px)}.hero{gap:24px;padding-top:54px}.hero-grid{inset:0 -36px}h1{font-size:6.9vw}.hero-visual{margin-top:63px}.visual-topline,.visual-bottomline{font-size:.75rem}.visual-bottomline{flex-wrap:wrap;gap:8px}.stage-label{font-size:.75rem;left:12%;bottom:7%}.hero-facts{grid-template-columns:1fr 1.2fr .7fr 1.3fr;gap:15px}.hero-facts>div+div{padding-left:18px}.hero-facts strong{font-size:.9rem}.experience-section{gap:60px}.about-grid{gap:55px}.contact-grid{gap:55px}.contact-link-value{font-size:1rem}.recognition{gap:20px;grid-template-columns:.6fr 1fr 1.2fr 1fr}}
@media(max-width:800px){.section-shell{width:calc(100% - 44px)}.nav-shell{width:calc(100% - 36px);height:74px}.desktop-nav{gap:20px}.desktop-nav a{font-size:.8rem}.desktop-nav a[href='#about']{display:none}.brand{font-size:.9rem;gap:8px}.nav-resume{padding:8px 12px;gap:12px}.hero{grid-template-columns:1fr 1fr;padding-top:42px;gap:18px}.hero-grid{inset:0 -22px}h1{font-size:8.3vw}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em;gap:8px}.small-rule{width:18px}.hero-statement{font-size:1.1rem}.hero-description{font-size:.95rem}.hero-visual{margin-top:44px;align-self:center}.visual-topline{font-size:.75rem;letter-spacing:0;gap:5px}.visual-index{display:none}.cad-stage{aspect-ratio:.82}.hero-cad{width:100%;height:85%}.stage-label{font-size:.75rem;letter-spacing:0;left:8%;bottom:6%}.label-line{width:18px}.visual-bottomline>span{display:none}.hero-actions{gap:8px}.button{font-size:.85rem;padding:11px 15px;gap:18px}.button-text{padding-left:0}.hero-facts{grid-template-columns:1fr 1fr;gap:25px;margin-top:22px;padding:25px 0}.hero-facts>div:nth-child(3){border-left:0;padding-left:0}.hero-facts>div:nth-child(2n){padding-left:22px}.hero-facts strong{font-size:1rem}.section-heading{gap:25px}.section-heading h2,h2{font-size:2.5rem}.section-intro{max-width:270px;font-size:.95rem}.projects-section{padding-block:76px}.project-grid{gap:18px}.project-top{padding:22px 22px;font-size:.75rem}.project-stat{margin-inline:22px;height:150px;gap:20px}.project-stat strong{font-size:5.5rem}.project-stat>span{font-size:.75rem}.project-content{padding:23px 22px}.project-content h3{font-size:1.7rem}.project-content>p:not(.project-role),.compact-project-body p:not(.project-role){font-size:.95rem}.project-role{font-size:.75rem}.project-link{padding:16px 22px}.compact-project-body{padding:0 22px 22px}.compact-project-body h3{font-size:1.4rem}.compact-heading h2{font-size:2.1rem}.design-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-section{gap:36px;padding-block:76px;grid-template-columns:1fr 1.4fr}.timeline{padding-left:23px}.timeline-node{left:-28px}.timeline-meta{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:.75rem}.timeline-item h3{font-size:1.3rem}.about-grid{gap:35px;grid-template-columns:1.1fr 1fr}.about-section{padding-top:66px}.skill-group{padding:20px}.skill-group p{font-size:.875rem}.toolbox-title{padding-inline:20px;font-size:.75rem}.recognition{grid-template-columns:1fr 1fr;margin-top:50px;gap:28px}.contact-grid{gap:40px;grid-template-columns:1fr 1fr}.contact-section{padding-block:70px}.contact-grid h2{font-size:3.5rem}.contact-link-value{font-size:.875rem}.footer-discipline{display:none}}
@media(max-width:600px){html{scroll-padding-top:80px}.desktop-nav{display:none}.nav-shell{height:70px}.brand-symbol{width:32px;height:32px}.brand{font-size:.95rem}.nav-resume{min-height:40px;padding:8px 14px;font-size:.85rem;gap:22px}.hero{grid-template-columns:1fr;gap:0;padding-top:36px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:23px}.hero-copy{position:relative;z-index:3}h1{font-size:clamp(4.25rem,15.3vw,6rem);line-height:.98;margin-bottom:26px;letter-spacing:-.06em}.hero-statement{font-size:1.18rem;margin-bottom:14px}.hero-description{font-size:1rem;max-width:460px;line-height:1.75;margin-bottom:24px}.hero-actions{gap:10px;align-items:center}.button{font-size:.85rem;min-height:48px;padding:11px 16px;gap:20px}.button-text{padding-inline:8px;gap:9px}.hero-visual{margin-top:38px;width:100%;max-width:470px;justify-self:center}.visual-topline{font-size:.75rem;letter-spacing:.04em}.visual-index{display:block}.cad-stage{aspect-ratio:1.2}.hero-cad{height:94%;width:91%}.visual-bottomline>span{display:inline;font-size:.75rem;max-width:180px}.visual-bottomline>a{font-size:.75rem}.stage-label{font-size:.75rem;left:12%;bottom:7%;letter-spacing:.04em}.stage-orbit{width:79%}.orbit-two{width:62%}.hero-facts{margin-top:24px;padding-block:24px;gap:24px 10px}.hero-facts>div{padding-right:6px}.hero-facts>div:nth-child(2n){padding-left:15px}.hero-facts strong{font-size:.9rem}.fact-label{font-size:.75rem;letter-spacing:.06em}.hero-facts .gpa-value{font-size:1.5rem}.hero-facts strong>span{margin-left:4px}.projects-section{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:18px}.section-heading h2,h2{font-size:2.4rem}.section-intro{margin-top:22px;max-width:100%;font-size:.95rem}.project-grid{grid-template-columns:1fr;gap:20px}.project-top{padding:23px 24px;font-size:.75rem}.project-stat{height:149px;margin-inline:24px}.project-stat strong{font-size:5.5rem}.project-content{padding:22px 24px 25px}.project-content h3{font-size:1.95rem}.project-content>p:not(.project-role),.compact-project-body p:not(.project-role){font-size:1rem}.project-role{font-size:.75rem}.project-link{padding:17px 24px;font-size:.9rem}.compact-project-body{padding:0 24px 25px}.compact-project-body h3{font-size:1.6rem}.tags span{font-size:.8rem}.design-section{padding-block:48px}.compact-heading h2{font-size:2.05rem}.compact-heading .inline-link{margin-top:21px;font-size:.875rem}.gallery-intro{font-size:.95rem}.design-gallery{gap:12px}.design-image{aspect-ratio:1.2;padding:5px}.design-caption{font-size:.75rem;padding:10px;letter-spacing:.025em}.design-caption>span:last-child{font-size:1rem}.experience-section{grid-template-columns:1fr;gap:34px;padding-block:65px}.experience-intro>p:last-child{max-width:100%;margin-top:21px}.timeline{margin-left:5px;padding-left:24px}.timeline-node{left:-29px}.timeline-item{padding-bottom:34px}.timeline-meta{font-size:.75rem;letter-spacing:.05em;margin-bottom:12px}.timeline-item h3{font-size:1.4rem}.timeline-item>p:last-child{font-size:.95rem}.about-section{padding-top:54px}.about-grid{grid-template-columns:1fr;gap:35px}.about-copy>.about-lead{font-size:1.18rem}.about-copy>p{font-size:.95rem}.education-block{padding:22px}.education-bottom{font-size:.8rem}.toolbox-title{font-size:.75rem;padding:20px 23px}.skill-group{padding:22px 23px}.skill-group p{font-size:1rem}.recognition{margin-top:40px;padding-block:27px;gap:24px;grid-template-columns:1fr}.recognition-label{font-size:.75rem}.recognition strong{font-size:.9rem}.recognition>div>span{font-size:.85rem}.contact-section{padding-block:60px}.contact-top{margin-bottom:25px}.contact-location{display:none}.contact-grid{grid-template-columns:1fr;gap:24px}.contact-grid h2{font-size:3.5rem}.contact-grid>div>p{margin-top:22px;font-size:1rem}.contact-link-value{font-size:1rem}.contact-actions>.button{width:100%;margin-top:25px;font-size:.9rem;padding-inline:20px}.site-footer{align-items:flex-start;font-size:.75rem;gap:20px;padding-block:23px}.site-footer>span{max-width:200px}.site-footer>a{white-space:nowrap}.site-footer>a>span{margin-left:6px}.dialog-main{padding:25px 23px 30px}.dialog-main h2{font-size:1.85rem}.dialog-topbar{padding:12px 18px}.dialog-main p,.dialog-main li{font-size:.95rem}.gallery-dialog-footer{padding:16px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* The hero frames the isometric view from the original propeller drawing. */
.hero-object{position:relative;width:94%;aspect-ratio:560/375;overflow:hidden;mix-blend-mode:screen;animation:float 9s ease-in-out infinite;z-index:2}
.hero-cad{position:absolute;width:276.4286%;height:auto;max-width:none;left:-160.7143%;top:-12%;object-fit:unset;filter:invert(1);animation:none}
.visual-topline,.visual-bottomline{flex-wrap:wrap;font-size:.75rem;letter-spacing:.025em}
.visual-bottomline>span{font-size:.75rem}.stage-label{font-size:.75rem;letter-spacing:.025em}.visual-index{font-size:.75rem}
.design-caption{font-size:.75rem;letter-spacing:.025em;gap:10px;min-height:53px}.design-caption>span:last-child{flex-shrink:0}
@media(max-width:800px){.hero-object{width:100%}.stage-label{left:6%;gap:8px}.label-line{width:18px}.visual-bottomline{gap:10px}}
@media(max-width:600px){.hero-object{width:92%}.stage-label{left:10%;bottom:6%;font-size:.75rem}.visual-topline{font-size:.75rem}.visual-bottomline>span{display:none}.design-gallery{grid-template-columns:1fr}.design-image{aspect-ratio:1.45;padding:8px}.design-caption{font-size:.8rem;padding:12px 16px}.hero .eyebrow{font-size:.75rem}.site-footer{font-size:.75rem}.timeline-meta{font-size:.75rem}.desktop-nav a{font-size:.875rem}}
