:root{--ink: #12140f;--paper: #f3f1e9;--surface: #faf8f2;--muted: #62655c;--line: rgba(18, 20, 15, .18);--orange: #ff5b2e;--orange-soft: #ffd6c8;--blue: #becdff;--dark-line: #3a3e35;--display: "DM Sans", sans-serif;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--display);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;opacity:.12;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}img{max-width:100%}.skip-link{position:fixed;z-index:200;top:1rem;left:1rem;padding:.8rem 1rem;color:#fff;background:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.2rem,5vw,5.5rem);border-bottom:1px solid transparent;transition:height .25s ease,background .25s ease,border-color .25s ease}.site-header.is-scrolled{height:62px;background:#f3f1e9eb;border-color:var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange);transform-origin:left}.brand{width:max-content;font-size:1.45rem;font-weight:700;letter-spacing:-.08em}.brand span{color:var(--orange)}.site-header nav{display:flex;gap:clamp(1.4rem,3vw,3rem)}.site-header nav a,.header-contact{font:500 .65rem var(--mono);letter-spacing:.05em;text-transform:uppercase;transition:color .2s ease}.site-header nav a:hover,.header-contact:hover{color:var(--orange)}.header-contact{justify-self:end;padding-bottom:.2rem;border-bottom:1px solid}.menu-toggle{display:none;width:42px;height:42px;padding:0;border:0;background:transparent}.menu-toggle span{display:block;width:24px;height:1px;margin:6px auto;background:currentColor;transition:transform .25s ease}.menu-toggle.is-open span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;padding:7.5rem 1.2rem 2rem;background:var(--paper);visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.mobile-menu.is-open{visibility:visible;opacity:1;transform:none}.mobile-menu nav{border-top:1px solid var(--ink)}.mobile-menu nav a{display:grid;grid-template-columns:45px 1fr auto;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);font-size:clamp(2.2rem,11vw,4rem);font-weight:500;letter-spacing:-.06em}.mobile-menu nav a>span:first-child{color:var(--orange);font:.58rem var(--mono);letter-spacing:0}.mobile-menu nav a>span:last-child{font-size:1.4rem}.mobile-menu-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;color:var(--muted);font:.58rem/1.6 var(--mono)}.mobile-menu-footer p{margin:0;text-transform:uppercase}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--delay, 0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:none}.eyebrow,.availability,.section-kicker{margin:0;font:500 .65rem/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}.availability{display:flex;align-items:center;gap:.65rem;color:#4e5249}.availability i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px #ff5b2e1f}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:.8rem 1.2rem;border:1px solid var(--ink);font:500 .64rem var(--mono);letter-spacing:.03em;text-transform:uppercase;transition:transform .2s ease,color .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover{color:#fff;background:var(--orange);border-color:var(--orange)}.button-accent{color:var(--paper);background:var(--orange);border-color:var(--orange)}.button-accent:hover{background:#fff;border-color:#fff}.text-link,.inline-link{padding-bottom:.25rem;border-bottom:1px solid currentColor;font:500 .64rem var(--mono);text-transform:uppercase}.text-link:hover,.inline-link:hover{color:var(--orange)}.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.42fr);grid-template-rows:1fr auto;gap:clamp(3rem,7vw,8rem);align-items:center;padding:clamp(8.5rem,14vh,12rem) clamp(1.2rem,5vw,5.5rem) 2.5rem;border-bottom:1px solid var(--line)}.hero-copy{max-width:1050px}.hero-copy .availability{margin-bottom:clamp(2.2rem,5vh,4rem)}.hero-copy .eyebrow{margin-bottom:1.3rem;color:var(--orange)}.hero h1{margin:0;max-width:1050px;font-size:clamp(4rem,7.2vw,8.5rem);font-weight:500;letter-spacing:-.075em;line-height:.89}.hero h1 em{color:var(--orange);font-style:normal}.hero-description{max-width:790px;margin:2rem 0 0;color:#454840;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.65}.hero-direction{max-width:730px;margin:1rem 0 0;padding-left:1rem;color:var(--muted);border-left:2px solid var(--orange);font-size:.9rem;line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:2rem}.portrait-column{max-width:390px;justify-self:end}.portrait-frame{position:relative;padding:.7rem;background:var(--ink);box-shadow:18px 18px 0 var(--orange-soft);transform:rotate(1.3deg);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}.portrait-frame:hover{transform:rotate(0) translateY(-5px);box-shadow:23px 23px 0 var(--orange-soft)}.portrait-frame img{width:100%;aspect-ratio:1 / 1.12;display:block;object-fit:cover;object-position:50% 24%;filter:saturate(.82) contrast(1.04)}.portrait-tag{position:absolute;left:-1.3rem;bottom:1.5rem;padding:.7rem .85rem;color:var(--paper);background:var(--orange);font:600 .56rem/1.5 var(--mono);transform:rotate(-3deg)}.portrait-column>p{margin:1.8rem 0 0;color:var(--muted);font:.61rem/1.6 var(--mono)}.proof-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.proof-strip>div{display:flex;align-items:end;gap:.75rem;padding:1.4rem 1.4rem 0;border-right:1px solid var(--line)}.proof-strip>div:first-child{padding-left:0}.proof-strip>div:last-child{border-right:0}.proof-strip strong{font-size:2.05rem;line-height:1;letter-spacing:-.06em}.proof-strip span{max-width:125px;color:var(--muted);font:.55rem/1.4 var(--mono);text-transform:uppercase}.section{padding:clamp(6rem,10vw,10rem) clamp(1.2rem,5vw,5.5rem);border-bottom:1px solid var(--line);scroll-margin-top:60px}.section-heading{display:grid;grid-template-columns:minmax(190px,.42fr) 1.58fr;gap:clamp(2rem,7vw,8rem);margin-bottom:clamp(3.5rem,7vw,7rem)}.section-kicker{margin-top:.55rem}.section-kicker span{margin-right:1.2rem;color:var(--orange)}.section-heading h2{max-width:1050px;margin:0;font-size:clamp(3rem,5.5vw,6.5rem);font-weight:500;letter-spacing:-.07em;line-height:.93}.section-heading h2 em{color:var(--orange);font-style:normal}.section-description{max-width:720px;margin:1.5rem 0 0;color:var(--muted);font-size:1rem;line-height:1.72}.platform-section{color:#f4f2ea;background:var(--ink);border-color:var(--dark-line)}.platform-section .section-kicker,.platform-section .section-description{color:#a6aa9f}.product-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--dark-line);background:var(--dark-line)}.product-selector button{min-height:240px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto 1fr;gap:.7rem;padding:1.35rem;color:#aeb2a7;border:0;background:var(--ink);font-family:var(--display);text-align:left;cursor:pointer;transition:color .2s ease,background .2s ease}.product-selector button:hover{color:#fff;background:#1d201a}.product-selector button.is-active{color:var(--ink);background:var(--orange)}.product-selector .selector-index{color:var(--orange);font:.55rem var(--mono)}.product-selector button.is-active .selector-index{color:var(--ink)}.product-selector small{justify-self:end;font:.49rem var(--mono);text-transform:uppercase}.product-selector p{grid-column:1 / -1;margin:1.4rem 0 0;color:#969b90;font:.52rem/1.4 var(--mono);text-transform:uppercase}.product-selector button.is-active p{color:var(--ink)}.product-selector strong{grid-column:1 / -1;font-size:clamp(1.7rem,2.5vw,2.8rem);font-weight:500;letter-spacing:-.05em}.product-selector em{grid-column:1 / -1;align-self:end;color:#b5b9ae;font:normal .78rem/1.5 var(--display)}.product-selector button.is-active em{color:var(--ink)}.product-detail{display:grid;grid-template-columns:minmax(240px,.28fr) minmax(0,.72fr);margin-top:1.5rem;border:1px solid var(--dark-line);animation:productIn .45s cubic-bezier(.22,1,.36,1)}@keyframes productIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.status{display:inline-flex;align-items:center;gap:.45rem;color:var(--orange);font:.53rem var(--mono);text-transform:uppercase}.status:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:"";box-shadow:0 0 0 4px #ff5b2e1f}.status-development{color:var(--orange)}.status-development:before{box-shadow:0 0 0 4px #ff5b2e1f}.product-identity{min-height:520px;display:flex;flex-direction:column;padding:clamp(1.5rem,2.5vw,2.5rem);color:var(--paper);border-top:4px solid var(--orange);background:#171915}.product-identity>div>span,.product-identity>div>p{font:.54rem/1.5 var(--mono);text-transform:uppercase}.product-identity>div>span{color:var(--orange)}.product-identity>div>p{margin:1rem 0;color:#969b90}.product-identity .status{color:var(--orange)}.product-identity h3{margin:clamp(3rem,7vw,6rem) 0 1.25rem;font-size:clamp(2.8rem,4.5vw,5rem);font-weight:500;letter-spacing:-.065em;line-height:.95}.product-statement{max-width:390px;margin:0;color:#c9ccc3;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.5}.product-explanation{color:var(--ink);background:var(--paper)}.product-explanation section{display:grid;grid-template-columns:125px 1fr;gap:1.25rem;padding:clamp(1.15rem,2vw,1.8rem);border-bottom:1px solid var(--line)}.product-explanation section:last-child{border-bottom:0}.product-explanation h4{margin:.2rem 0 0;color:var(--orange);font:.55rem/1.4 var(--mono);text-transform:uppercase}.product-explanation p{max-width:760px;margin:0;color:#484b44;font-size:.91rem;line-height:1.62}.product-explanation ul,.project-card ul,.skills-grid ul{padding:0;list-style:none}.product-technology ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0}.product-technology li{padding:.42rem .55rem;border:1px solid var(--line);font:.5rem var(--mono);text-transform:uppercase}.platform-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:2rem}.product-identity .platform-actions{margin-top:auto;padding-top:2.5rem}.product-identity .inline-link{color:var(--paper)}.work-section{background:var(--surface)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink);background:var(--ink);gap:1px}.project-card{min-height:440px;display:flex;flex-direction:column;padding:clamp(1.5rem,3.2vw,3.2rem);background:var(--surface);transition:background .25s ease}.project-card:hover{background:var(--blue)}.project-card-featured{grid-column:1 / -1;min-height:410px}.project-meta{display:grid;grid-template-columns:45px 1fr auto;gap:1rem;color:var(--muted);font:.54rem/1.4 var(--mono);text-transform:uppercase}.project-meta span{color:var(--orange)}.project-meta p,.project-meta small{margin:0;font:inherit}.project-meta small{padding:.28rem .45rem;color:var(--ink);border:1px solid var(--line)}.project-card h3{max-width:820px;margin:clamp(2.3rem,5vw,5rem) 0 1.2rem;font-size:clamp(2.2rem,4vw,5.2rem);font-weight:500;letter-spacing:-.065em;line-height:.95}.project-card:not(.project-card-featured) h3{font-size:clamp(2rem,3.1vw,3.7rem)}.project-summary{max-width:800px;margin:0;font-size:1.03rem;line-height:1.62}.project-detail{max-width:800px;margin:1rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}.project-card ul{display:flex;flex-wrap:wrap;gap:.42rem;margin:auto 0 0;padding-top:2rem}.project-card li{padding:.4rem .52rem;border:1px solid var(--line);font:.5rem var(--mono);text-transform:uppercase}.timeline{margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--ink)}.experience-section{background:var(--paper)}.experience-section .timeline{margin-top:0}.timeline>article{display:grid;grid-template-columns:60px minmax(250px,.9fr) 1.1fr;gap:clamp(1.5rem,5vw,6rem);padding:2.2rem 0;border-bottom:1px solid var(--line)}.timeline>article>span{color:var(--orange);font:.6rem var(--mono)}.timeline article div p{margin:0 0 .7rem;color:var(--muted);font:.55rem var(--mono);text-transform:uppercase}.timeline h3{margin:0 0 .5rem;font-size:clamp(1.45rem,2.3vw,2.5rem);font-weight:500;letter-spacing:-.04em}.timeline strong{color:var(--orange);font:.6rem var(--mono);text-transform:uppercase}.timeline article>p{max-width:700px;margin:0;color:var(--muted);line-height:1.65}.skills-section{color:#f3f1e9;background:#171914;border-color:var(--dark-line)}.skills-section .section-kicker,.skills-section .section-description{color:#a5aa9e}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--dark-line);background:var(--dark-line);gap:1px}.skills-grid article{min-height:350px;display:grid;grid-template-columns:45px 1fr;align-content:start;padding:clamp(1.7rem,3.5vw,3.5rem);background:#171914;transition:background .25s ease}.skills-grid article:hover{background:#1d201a}.skills-grid article>span{color:var(--orange);font:.58rem var(--mono)}.skills-grid h3{margin:0;font-size:clamp(1.7rem,2.8vw,3.2rem);font-weight:500;letter-spacing:-.05em}.skills-grid article div p{max-width:500px;margin:1rem 0 0;color:#9ca195;line-height:1.6}.skills-grid ul{grid-column:2;align-self:end;display:flex;flex-wrap:wrap;gap:.42rem;margin:2.5rem 0 0}.skills-grid li{padding:.42rem .55rem;color:#c5c9bf;border:1px solid var(--dark-line);font:.5rem var(--mono);text-transform:uppercase;transition:color .2s ease,border-color .2s ease}.skills-grid li:hover{color:var(--orange);border-color:var(--orange)}.proof-section{background:var(--paper)}.proof-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,10rem)}.recognition-list{border-top:1px solid var(--ink)}.recognition-list article{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.recognition-list article>span{color:var(--orange);font:.58rem var(--mono)}.recognition-list h3{margin:0 0 .6rem;font-size:1.25rem}.recognition-list p{margin:0;color:var(--muted);line-height:1.6}.education-list{align-self:start;padding:clamp(1.5rem,3vw,3rem);background:var(--orange-soft);transform:rotate(.7deg)}.education-list>.eyebrow{color:var(--orange)}.education-list article{padding:2rem 0;border-bottom:1px solid rgba(18,20,15,.22)}.education-list article:last-child{border-bottom:0}.education-list article p{margin:0 0 .8rem;color:var(--muted);font:.55rem var(--mono);text-transform:uppercase}.education-list h3{margin:0 0 .5rem;font-size:clamp(1.4rem,2.3vw,2.4rem);letter-spacing:-.04em}.education-list article span{color:var(--muted);line-height:1.55}.contact-section{min-height:78svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(6rem,12vw,12rem) 1.2rem;text-align:center;background:var(--orange-soft)}.contact-section .eyebrow{color:var(--orange)}.contact-section h2{margin:1.3rem 0 3rem;font-size:clamp(3.5rem,8vw,9.5rem);font-weight:500;letter-spacing:-.075em;line-height:.9}.contact-section h2 em{color:var(--orange);font-style:normal}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem}.contact-links a{padding-bottom:.3rem;border-bottom:1px solid;font:.66rem var(--mono)}.contact-links a:hover{color:var(--orange)}footer{min-height:170px;display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:end;padding:2.5rem clamp(1.2rem,5vw,5.5rem)}.footer-brand{display:flex;align-items:end;gap:1rem}.footer-brand>span,footer>p{margin:0;color:var(--muted);font:.52rem/1.5 var(--mono);text-transform:uppercase}.footer-links{display:flex;gap:1.4rem;font:.58rem var(--mono);text-transform:uppercase}.footer-links a:hover{color:var(--orange)}footer>p{justify-self:end}@media (hover: hover){.project-card,.recognition-list article{transition:padding .25s ease,background .25s ease}.recognition-list article:hover{padding-left:.8rem;padding-right:.8rem;background:var(--surface)}}@media (max-width: 1080px){.hero{grid-template-columns:minmax(0,1fr) 275px}.product-detail{grid-template-columns:320px minmax(0,1fr)}.timeline>article{grid-template-columns:45px 1fr}.timeline article>p{grid-column:2}}@media (max-width: 780px){.site-header{height:62px;grid-template-columns:1fr auto}.site-header nav,.header-contact{display:none}.menu-toggle{display:block;justify-self:end;cursor:pointer}.mobile-menu{display:flex}.hero{min-height:auto;grid-template-columns:1fr;padding-top:8.5rem}.hero h1{font-size:clamp(3.5rem,15.5vw,6rem)}.portrait-column{width:min(76%,360px);justify-self:center}.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip>div{padding:1.2rem;border-bottom:1px solid var(--line)}.proof-strip>div:first-child{padding-left:1.2rem}.proof-strip>div:nth-child(2n){border-right:0}.section{padding:5.5rem 1.1rem}.section-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:3.5rem}.section-heading h2{font-size:clamp(2.8rem,12.5vw,5rem)}.section-description{font-size:.95rem}.product-selector{grid-template-columns:repeat(2,1fr)}.product-selector button{min-height:210px}.product-detail{grid-template-columns:1fr}.product-identity{min-height:330px}.product-identity h3{margin-top:3rem}.project-grid,.skills-grid{grid-template-columns:1fr}.project-card-featured{grid-column:auto}.project-card{min-height:410px}.project-meta{grid-template-columns:35px 1fr}.project-meta small{grid-column:2;justify-self:start}.timeline>article{grid-template-columns:35px 1fr}.proof-layout{grid-template-columns:1fr}.education-list{transform:none}footer{grid-template-columns:1fr;align-items:start}footer>p{justify-self:start}}@media (max-width: 520px){.hero{gap:3rem;padding-left:1rem;padding-right:1rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-actions .text-link{align-self:center}.portrait-column{width:75%}.proof-strip strong{font-size:1.7rem}.proof-strip span{font-size:.48rem}.product-selector{grid-template-columns:1fr}.product-selector button{min-height:190px;padding:1rem}.product-explanation section{grid-template-columns:1fr;gap:.65rem}.product-identity{min-height:auto;padding:1.5rem}.platform-actions{align-items:stretch;flex-direction:column}.platform-actions .button{width:100%}.platform-actions .inline-link{align-self:center}.project-card{min-height:430px;padding:1.4rem}.project-card h3,.project-card:not(.project-card-featured) h3{font-size:2.25rem}.skills-grid article{grid-template-columns:34px 1fr;padding:1.4rem}.skills-grid ul{grid-column:1 / -1}.contact-section h2{font-size:3.25rem}.contact-links{align-items:center;flex-direction:column}.contact-links a{max-width:100%;overflow-wrap:anywhere}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
