@charset "UTF-8";
:root{color-scheme:dark;--bg:#080d16;--surface:#0d1421;--surface-2:#101b2b;--text:#f2f5fa;--muted:#a4b0c3;--faint:#77879e;--line:#243044;--accent:#5de4ed;--blue:#6c9bff;--radius:14px;--sans:Inter,"Segoe UI",Arial,sans-serif;--mono:"Cascadia Code","SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#5de4ed;color:#080d16}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.18}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}img{max-width:100%}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--accent);font-weight:500;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent);color:var(--bg);padding:12px 20px;border-radius:8px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:#080d16f2;border-bottom:1px solid #1b2639;backdrop-filter:blur(18px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:30px}.brand{display:flex;align-items:center;font-size:1.3rem;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.brand-mark{font-family:var(--mono);font-size:1.2rem;color:var(--accent);margin-right:12px}.brand-suffix{color:var(--muted)}nav{display:flex;gap:32px;align-items:center}nav a{font-size:.875rem;color:var(--muted);transition:color .2s}nav a:hover,nav a[aria-current]{color:var(--accent)}.nav-contact{border:1px solid #38465c;color:var(--text);padding:8px 18px;border-radius:7px}.nav-contact span{margin-left:18px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);padding:7px 12px;border-radius:6px}.hero{position:relative;padding-top:94px;display:grid;grid-template-columns:1.22fr 1fr;gap:42px;align-items:center}.hero::before{content:"";position:absolute;z-index:-1;inset:0 -25px 0 30%;background:radial-gradient(ellipse at 75% 40%,#163d683d,transparent 66%);pointer-events:none}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:.69rem;letter-spacing:.08em}.tiny-line{width:20px;height:1px;background:var(--accent);flex-shrink:0}.intro{font-size:1.12rem;color:#c3cddd;margin-top:23px;margin-bottom:13px}h1{font-size:clamp(2.6rem,4.35vw,4.25rem);font-weight:650;letter-spacing:-.05em;line-height:1.1}h1 span{color:var(--accent)}.hero-description{color:var(--muted);max-width:495px;font-size:1.04rem;line-height:1.85;margin-top:25px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border-radius:7px;padding:12px 20px;font-size:.875rem;font-weight:650;line-height:1.5;min-height:48px;transition:background .2s,transform .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:#07131c;border:1px solid var(--accent)}.primary:hover{background:#94f4f9}.secondary{background:#101927;border:1px solid #303e53}.secondary:hover{background:#1a283b;border-color:#5e758d}.location{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.75rem;color:#95a4ba;margin-top:25px}.location svg{width:14px;height:14px}.location>span{color:#42526c;margin-inline:3px}.system-window{border:1px solid #31425b;background:linear-gradient(140deg,#121f32e6,#0b111de6);border-radius:13px;box-shadow:0 22px 90px #03070e66;transform:perspective(1300px) rotateY(-4deg) rotateX(1deg);margin-left:6px}.window-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #28374e;color:#a0afc4;font-family:var(--mono);font-size:.75rem}.window-controls{display:flex;gap:6px}.window-controls i{width:7px;height:7px;border-radius:50%;background:#42516a}.window-controls i:first-child{background:#72849e}.window-symbol{color:#6b7d97}.system-content{padding:23px}.code-caption{display:flex;gap:22px;font: .8rem/1.5 var(--mono);color:#c7d3e2}.code-caption>span:first-child{color:#5d7089}.code-caption b{font-weight:400;color:#a99de8}.code-caption em{font-style:normal;color:var(--accent)}.diagram-header{display:flex;justify-content:space-between;gap:10px;color:#93a6c1;font:.625rem var(--mono);letter-spacing:.1em;margin:30px 0 15px}.system-layer{display:flex;align-items:center;gap:17px;border:1px solid #2d405b;background:linear-gradient(100deg,#162740,#101b2b);padding:16px;border-radius:7px}.layer-icon{color:var(--accent);font:1.2rem var(--mono);width:33px;flex-shrink:0}.layer-number{display:block;color:#8faac6;font:.6rem var(--mono);letter-spacing:.1em}.system-layer strong{display:block;font-size:1rem;font-weight:550;margin:6px 0}.system-layer small{font-size:.72rem;color:#9cafc7}.layer-plus{margin-left:auto;color:#647e9d}.layer-connector{width:1px;height:15px;background:#3b617a;margin-left:33px}.terminal-line{border-top:1px solid #273750;margin-top:24px;padding-top:17px;font:.7rem/1.5 var(--mono);color:#92a4bd}.terminal-line>span:first-child{color:var(--accent);margin-right:10px}.cursor{display:inline-block;width:6px;height:12px;vertical-align:-2px;background:var(--accent);margin-left:6px;opacity:.65}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #202b3e;padding:25px 0;margin-top:26px;color:#8797ad;font-size:.75rem}.hero-bottom .mono{font-size:.65rem;letter-spacing:.08em}.hero-bottom a span{margin-left:20px;color:var(--accent)}.stack-ribbon{background:#0c1320;border-top:1px solid #1f2c3f;border-bottom:1px solid #1f2c3f}.stack-ribbon>.container{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:25px}.stack-ribbon .mono{font-size:.6rem;color:#a1b1c8;letter-spacing:.07em;max-width:140px}.stack-ribbon .container>div{display:flex;justify-content:space-between;gap:35px;flex:1}.stack-ribbon .container>div>span{color:#ccd4e2;font-weight:650;letter-spacing:-.025em;font-size:1.05rem}.section{padding-block:100px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:36px}.section-top>p{color:var(--muted);font-size:.94rem;max-width:330px}h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.045em;font-weight:600;margin-top:12px}h2>span{color:var(--accent)}h3{font-size:1.15rem;font-weight:600;letter-spacing:-.025em}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:#0c1320;overflow:hidden;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#55728f;transform:translateY(-4px)}.project-cover{display:flex;flex-direction:column;justify-content:space-between;height:235px;padding:22px;position:relative;border-bottom:1px solid var(--line)}.project-cover-top{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;letter-spacing:.08em;color:#c7d6e9}.project-cover-top>span{font-family:var(--sans);font-size:1.15rem}.project-cover-bottom{font-size:.6rem;letter-spacing:.12em;color:#bbcee3}.cover-zythe{background:radial-gradient(ellipse at 80% 0,#1a60665c,transparent 70%),#0d242d}.cover-roc{background:radial-gradient(ellipse at 85% 10%,#464a915c,transparent 70%),#181e36}.cover-ascension{background:radial-gradient(ellipse at 85% 10%,#315d955c,transparent 70%),#11243f}.project-wordmark{font-size:3rem;font-weight:750;letter-spacing:-.065em;line-height:.96;color:#e0ffff}.project-wordmark>span{font-weight:350;color:var(--accent)}.game-wordmark{font-size:1.7rem;letter-spacing:.02em;color:#e0e8fc}.game-wordmark small{display:block;font-size:.6rem;font-weight:500;letter-spacing:.27em;color:#a8bfdf;margin-bottom:13px}.game-wordmark .wordmark-ph{display:inline-block;margin-left:8px;font-size:.9rem;letter-spacing:.04em;color:#96c3ff}.project-body{padding:24px}.project-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px}.badge{font: .63rem/1.6 var(--mono);background:#162134;border:1px solid #2c3b53;color:#b6c7dd;border-radius:5px;padding:3px 8px}.project-body p{font-size:.875rem;color:var(--muted);margin-block:17px 23px;line-height:1.8}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:.8rem;color:var(--accent);overflow-wrap:anywhere}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link>span[aria-hidden]{font-size:1.15rem}
@media(min-width:1500px){.hero{padding-top:110px;gap:70px}.hero-description{font-size:1.12rem}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:25px;padding-top:65px;grid-template-columns:1.12fr 1fr}.hero .eyebrow{font-size:.6rem}.system-content{padding:18px}.system-layer{padding:13px;gap:10px}.system-layer small{font-size:.65rem}.system-layer strong{font-size:.9rem}.project-body{padding:20px}.project-cover{padding:20px}.game-wordmark{font-size:1.35rem}.stack-ribbon .container>div{gap:25px}.stack-ribbon .container>div>span{font-size:.9rem}nav{gap:23px}.section{padding-block:80px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.nav-wrap{min-height:72px;flex-wrap:wrap;gap:0}.menu-toggle{display:block}.menu-toggle span{margin-left:12px}nav{width:100%;flex-wrap:wrap;padding:18px 0;gap:18px}.js nav{display:none}.js nav.is-open{display:flex}.hero{grid-template-columns:1fr;gap:38px;padding-top:56px}.hero .eyebrow{font-size:.66rem}.hero-copy{max-width:630px}h1{font-size:clamp(2.7rem,7.5vw,4rem)}.hero-description{max-width:550px}.system-window{transform:none;width:100%;max-width:570px;margin:0;justify-self:center}.system-content{padding:24px}.system-layer{padding:16px;gap:17px}.system-layer strong{font-size:1.05rem}.system-layer small{font-size:.75rem}.diagram-header{font-size:.7rem}.layer-number{font-size:.65rem}.terminal-line{font-size:.8rem}.hero-bottom{margin-top:0}.stack-ribbon>.container{align-items:flex-start;gap:20px}.stack-ribbon .container>div{flex-wrap:wrap;justify-content:flex-start;gap:13px 24px}.stack-ribbon .mono{min-width:105px;max-width:105px}.section-top{align-items:flex-start;flex-direction:column;gap:20px}.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:1fr 1.1fr}.project-cover{height:auto;min-height:250px;border-bottom:0;border-right:1px solid var(--line)}.project-body{padding:28px}.game-wordmark{font-size:1.65rem}.section{padding-block:65px}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.intro{font-size:1rem}h1{font-size:2.8rem}.hero .eyebrow{font-size:.6rem;letter-spacing:.06em}.tiny-line{width:13px}.hero-description{font-size:1rem}.hero-actions{gap:10px}.button{padding:12px 15px;gap:15px}.location{font-size:.7rem}.hero-bottom .mono{max-width:175px;line-height:1.8;font-size:.6rem}.hero-bottom a{font-size:.7rem}.hero-bottom a span{margin-left:6px}.stack-ribbon>.container{flex-direction:column;gap:16px}.stack-ribbon .mono{max-width:none}.stack-ribbon .container>div{gap:13px 26px}.project-card{display:block}.project-cover{height:230px;min-height:0;border-bottom:1px solid var(--line);border-right:0}.project-body{padding:24px}.system-content{padding:18px}.system-layer{padding:13px;gap:12px}.system-layer small{font-size:.68rem}.system-layer strong{font-size:.95rem}.diagram-header{font-size:.6rem}.terminal-line{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;transform:none!important}}
.about-section{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding-bottom:60px}.about-heading h2{font-size:clamp(1.9rem,2.7vw,2.55rem);line-height:1.3}.about-aside{font-size:.7rem;color:#8497b1;margin-top:29px}.about-aside span{color:var(--accent);margin-right:7px}.about-copy p{color:var(--muted);margin-bottom:20px}.about-copy .lead{font-size:1.15rem;line-height:1.8;color:#d4ddea}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.about-tags span{font-size:.75rem;border:1px solid var(--line);color:#b6c8dd;padding:5px 11px;border-radius:5px}.projects-section{padding-top:60px}.expertise-section{background:#0b121e;border-block:1px solid #1c283b}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.expertise-card{position:relative;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#0f1827}.service-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:#162a3c;width:48px;height:48px;border:1px solid #294459;border-radius:9px;font-size:1.1rem;margin-bottom:28px}.card-index{position:absolute;top:31px;right:28px;color:#627795;font-size:.75rem}.expertise-card h3{font-size:1.15rem;line-height:1.4}.expertise-card>p{font-size:1rem;color:var(--muted);margin-top:17px;line-height:1.8}.plain-list{list-style:none;border-top:1px solid #243248;padding:20px 0 0;margin:23px 0 0}.plain-list li{font-size:.875rem;color:#bfccde;padding:5px 0}.plain-list li::before{content:"+";color:var(--accent);margin-right:10px;font-family:var(--mono)}.stack-table{border-top:1px solid var(--line)}.stack-row{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line)}.stack-row h3{display:flex;gap:25px;align-items:center;font-size:1rem;line-height:2.8}.stack-row h3>.mono{font-size:.7rem;color:#7e90a8;font-weight:400}.skill-badges{display:flex;flex-wrap:wrap;gap:10px}.skill-badges>span{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #2a384e;background:#101928;border-radius:7px;font-size:.875rem;line-height:1.8}.skill-letter{font-style:normal;font-family:var(--mono);font-weight:650;min-width:22px;text-align:center}.skill-letter.red{color:#ff898f}.skill-letter.purple{color:#b6a1ff}.skill-letter.yellow{color:#e6d478}.skill-letter.orange{color:#f4b078}.skill-letter.blue{color:#82b8ff}.skill-letter.cyan{color:var(--accent)}.compact>span{color:#bbcbe1;padding:7px 13px;font-size:.8rem}.experience-section{padding-top:25px}.timeline{border-top:1px solid var(--line)}.experience-row{display:grid;grid-template-columns:260px 1fr;gap:30px;padding:35px 0;border-bottom:1px solid var(--line)}.experience-date{display:flex;align-items:flex-start;flex-direction:column;gap:13px;padding-left:25px;position:relative}.experience-date>.mono{font-size:.75rem;color:#a3b6ce;line-height:2}.timeline-dot{position:absolute;width:7px;height:7px;border:1px solid #7e95b3;border-radius:50%;left:0;top:9px}.experience-row:first-child .timeline-dot{background:var(--accent);border-color:var(--accent)}.date-secondary{font-size:.8rem;color:#a0aec1}.current-badge{border-color:#235158;background:#123139;color:var(--accent)}.experience-detail h3{font-size:1.4rem;font-weight:600}.title-muted{color:#bcc9db;font-weight:450}.experience-detail .company{color:var(--accent);font-size:.9rem;margin-top:10px;margin-bottom:18px}.experience-detail p,.experience-detail li{color:var(--muted);font-size:1rem}.experience-detail ul{padding-left:20px;margin:14px 0 0}.experience-detail li{padding-left:4px;margin:6px 0}.experience-detail li::marker{color:#68839e}.small-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.small-tags span{font: .7rem/1.6 var(--mono);padding:5px 9px;background:#111c2d;border:1px solid #25354b;border-radius:4px;color:#b3c4da}.past-work{border:1px solid #2a3a52;border-radius:9px;margin-top:32px;background:#0d1624}.past-work summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 28px;cursor:pointer;list-style:none;font-size:1rem}.past-work summary::-webkit-details-marker{display:none}.past-work summary .mono{font-size:.625rem;color:#91a5c1;letter-spacing:.08em;margin-right:24px}.details-plus{font-size:1.4rem;color:var(--accent);line-height:1}.past-work[open] .details-plus{transform:rotate(45deg)}.past-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:15px 28px 30px}.past-work-grid article>.mono{font-size:.7rem;color:var(--accent)}.past-work-grid h4{margin:12px 0;font-size:1rem}.past-work-grid p{font-size:1rem;color:var(--muted)}.systems-section{background:linear-gradient(100deg,#101d30,#0d1624);border-block:1px solid #243249}.systems-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:85px}.systems-intro>p:not(.eyebrow){color:var(--muted);margin-top:24px;max-width:370px}.ops-note{border-left:1px solid #365069;padding-left:24px;margin-top:35px}.ops-note>.mono{font-size:.625rem;letter-spacing:.1em;color:#8ea6c4}.ops-note p{font-size:1.8rem;font-weight:500;letter-spacing:-.025em;line-height:1.45;margin-top:16px;color:#d5e3f5}.ops-note .ops-command{display:block;font-size:.7rem;letter-spacing:0;margin-top:19px;color:#a9c3df}.ops-command>span{color:var(--accent);margin-right:6px}.systems-list article{display:flex;gap:25px;padding:26px 0;border-bottom:1px solid #2b3b52}.systems-list article:first-child{padding-top:0}.systems-list article:last-child{border-bottom:0;padding-bottom:0}.system-number{font-size:.7rem;color:var(--accent);line-height:2.2}.systems-list h3{font-size:1.1rem;margin-bottom:12px}.systems-list p{color:var(--muted);font-size:1rem;line-height:1.8}.process-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;padding:0;margin:50px 0 0}.process-number{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #38536b;padding-top:22px;margin-bottom:28px;color:var(--accent);font-size:.8rem}.process-number>span{color:#7193af;font-size:1.15rem}.process-grid h3{font-size:1.1rem;line-height:1.4}.process-grid p{font-size:1rem;color:var(--muted);margin-top:15px}.certifications-section{padding-top:25px}.credentials-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px}.credential{display:flex;align-items:center;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.credential:last-child{border-bottom:1px solid var(--line)}.credential-symbol{font-size:1.6rem;line-height:1;color:#89b2ca;width:30px}.credential h3{font-size:1rem;font-weight:550}.credential p{color:var(--muted);font-size:.8rem;margin-top:6px}.learning-card{align-self:start;padding:30px;border:1px solid #344864;border-radius:var(--radius);background:radial-gradient(ellipse at top right,#1a355353,transparent 80%),#0e1929}.learning-card .badge{background:#183040;color:#9ed9e5;border-color:#2e5265}.learning-card h3{margin-top:24px;font-size:1.7rem;letter-spacing:-.035em}.learning-intro{color:var(--muted);font-size:.875rem;margin-top:12px;margin-bottom:25px}.learning-card>div{padding:19px 0;border-top:1px solid #2b3c53}.learning-card>div:last-child{padding-bottom:0}.learning-card h4{font-size:1rem;font-weight:550}.learning-card>div>p{font-size:.875rem;color:var(--muted);margin-top:7px}.contact-section{background:radial-gradient(ellipse at 80% 0,#12375550,transparent 60%),#0c1522;border-top:1px solid #2a3c54;padding-top:85px}.contact-top{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;padding-bottom:85px}.contact-top h2{font-size:clamp(2.8rem,4.3vw,4rem);line-height:1.1}.contact-top>div>p:not(.eyebrow){color:var(--muted);margin-top:23px}.contact-email{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #385368;padding-bottom:18px;font-size:clamp(1rem,1.7vw,1.5rem);letter-spacing:-.035em;overflow-wrap:anywhere}.contact-email>span{color:var(--accent);font-size:1.8rem;font-weight:350}.contact-email:hover{color:var(--accent)}.contact-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.copy-email svg{height:17px;width:17px}.copy-email[hidden]{display:none}.contact-top .contact-actions .copy-status{font-size:.8rem;color:var(--accent);min-height:1.7em;margin-top:12px}.contact-top .contact-actions .contact-location{font-size:.8rem;color:#9fafc7;margin-top:8px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:28px;border-top:1px solid #27374c}footer p{font-size:.75rem;color:#8fa0b6}.back-top{font-size:.75rem;color:#b2c1d6}.back-top span{margin-left:12px;color:var(--accent)}
/* Keep ordinary reading text comfortable at all viewport sizes. */
.project-body p{font-size:1rem}.section-top>p{font-size:1rem}.system-layer small{font-size:.75rem}.diagram-header,.layer-number,.project-cover-top,.project-cover-bottom{font-size:.75rem;letter-spacing:.04em}.game-wordmark small{font-size:.75rem}.hero .eyebrow{font-size:.75rem}.hero-bottom .mono,.stack-ribbon .mono,.about-aside,.ops-note>.mono,.past-work summary .mono{font-size:.75rem}.badge,.small-tags span{font-size:.75rem}.compact>span{font-size:.875rem}.location{font-size:.875rem}.project-body .text-link{font-size:.875rem}.stack-ribbon .mono{max-width:160px}.system-layer small{line-height:1.6}
@media(max-width:1100px){.about-section{gap:45px}.expertise-card{padding:24px}.stack-row,.experience-row{grid-template-columns:215px 1fr;gap:25px}.systems-layout{gap:50px}.credentials-grid{gap:35px}.contact-top{gap:35px}.contact-email{font-size:1.08rem}.hero .eyebrow{font-size:.75rem;flex-wrap:wrap}.hero .tiny-line{display:none}.diagram-header{font-size:.75rem}.system-layer{gap:8px}.layer-icon{width:26px}.project-cover-top{font-size:.75rem}.game-wordmark{font-size:1.3rem}.expertise-card h3{font-size:1.08rem}}
@media(max-width:800px){.about-section{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.about-aside{margin-top:18px}.projects-section{padding-top:40px}.expertise-grid{grid-template-columns:1fr}.expertise-card{padding:28px}.service-icon{margin-bottom:22px}.expertise-card h3{font-size:1.3rem}.stack-row{grid-template-columns:1fr;gap:12px;padding-block:24px}.stack-row h3{line-height:1.8}.experience-row{grid-template-columns:1fr;gap:20px}.experience-date{gap:8px}.experience-detail{padding-left:25px}.experience-detail h3{font-size:1.3rem}.past-work-grid{grid-template-columns:1fr;gap:25px}.past-work summary .mono{display:block;margin:0 0 7px}.systems-layout{grid-template-columns:1fr;gap:40px}.systems-intro>p:not(.eyebrow){max-width:570px}.ops-note{margin-top:28px}.ops-note p{font-size:1.55rem}.ops-note p br{display:none}.ops-note p{word-spacing:6px}.systems-list article:first-child{padding-top:26px;border-top:1px solid #2b3b52}.process-grid{grid-template-columns:1fr 1fr;gap:30px}.credentials-grid{grid-template-columns:1fr;gap:30px}.learning-card{padding:28px}.contact-section{padding-top:60px}.contact-top{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.contact-email{font-size:1.35rem}.contact-top h2{font-size:3.2rem}footer{flex-wrap:wrap;gap:20px}footer p{order:3;width:100%}.game-wordmark{font-size:1.65rem}.hero-bottom .mono{max-width:280px}.stack-ribbon .mono{min-width:150px}.system-layer small{font-size:.875rem}.layer-number{font-size:.75rem}.hero .tiny-line{display:block}.hero .eyebrow{flex-wrap:nowrap}.expertise-card .plain-list{padding-top:17px}}
@media(max-width:480px){.hero .eyebrow{font-size:.75rem}.hero .tiny-line{display:none}h1{font-size:clamp(2.3rem,10.5vw,2.8rem)}.system-content{padding:14px}.system-layer{gap:10px;padding:12px}.system-layer small{font-size:.75rem}.layer-number{font-size:.75rem}.diagram-header{font-size:.75rem;letter-spacing:0}.diagram-header span:last-child{display:none}.hero-bottom{gap:20px}.hero-bottom .mono{font-size:.75rem;max-width:175px}.hero-bottom a{font-size:.75rem}.stack-ribbon .mono{max-width:none}.process-grid{grid-template-columns:1fr}.process-number{margin-bottom:18px}.process-grid p{margin-top:10px}.credentials-grid{gap:25px}.credential{gap:14px}.credential h3{font-size:.95rem}.contact-email{font-size:1.1rem;gap:12px}.contact-buttons{gap:10px}.contact-buttons .button{font-size:.8rem;padding-inline:14px}.desktop-break{display:none}.past-work summary{padding:22px}.past-work-grid{padding:8px 22px 25px}.ops-note p br{display:block}.ops-note p{word-spacing:normal}.skill-badges{gap:8px}.skill-badges>span{padding:7px 11px}.experience-detail{padding-left:0}.experience-date{padding-left:18px}.section-top>p{max-width:none}footer p{font-size:.75rem}}
@media print{.site-header,.hero-actions,.hero-bottom,.stack-ribbon,.copy-email,.copy-status,.back-top,.system-window{display:none!important}body{background:white;color:#111;font-size:11pt}.container{width:100%}.hero,.section,.contact-section{padding:20px 0;display:block;background:none}.hero-copy{max-width:100%}h1{font-size:30pt}h2{font-size:22pt}h1 span,h2 span,.eyebrow,a,.company{color:#124f67!important}p,li{color:#333!important}.project-grid,.expertise-grid{display:block}.project-card,.expertise-card{break-inside:avoid;margin-bottom:15px;background:white;border-color:#aaa;transform:none}.project-cover{display:none}.contact-top{padding-bottom:20px}footer{display:block}.systems-layout,.credentials-grid,.process-grid,.about-section{display:block}.ops-note{display:none}.learning-card{background:white}.section-top{margin-bottom:20px}.experience-row{break-inside:avoid}.skill-badges>span,.small-tags>span{background:white;color:#222}.contact-email{color:#124f67}details .past-work-grid{display:grid!important}}
.featured-business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.business-project{display:flex;flex-direction:column}.screenshot-cover{display:block;position:relative;background:#142338;overflow:hidden;border-bottom:1px solid var(--line)}.screenshot-bar{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#142034;border-bottom:1px solid #33445b;padding:12px 20px;color:#adc3df;font-size:.75rem}.screenshot-bar>span:last-child{font-size:1rem;color:var(--accent)}.screenshot-cover img{display:block;width:100%;height:310px;object-fit:cover;object-position:top;transition:filter .2s}.screenshot-cover:hover img{filter:brightness(.85)}.screenshot-hint{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:18px;background:#0b1526f2;border:1px solid #445c7a;border-radius:6px;padding:7px 13px;font-size:.75rem;color:#e5f0fe;box-shadow:0 3px 16px #07102050}.screenshot-hint>span{color:var(--accent)}.business-project .project-body{padding:27px;display:flex;flex-direction:column;flex:1}.business-project .project-body>p{margin-bottom:0}.business-project .small-tags{margin-block:18px 24px}.business-project .text-link{margin-top:auto;align-self:flex-start}.business-project .project-title h3{font-size:1.25rem}.project-group-label{font-size:.75rem;color:#8fa6c2;letter-spacing:.1em;margin:38px 0 19px}
@media(max-width:1100px){.screenshot-cover img{height:260px}}
@media(max-width:800px){.featured-business-grid{grid-template-columns:1fr}.business-project{display:flex}.screenshot-cover img{height:330px}.business-project .project-body{padding:26px}.project-group-label{margin-top:30px}}
@media(max-width:480px){.screenshot-cover img{height:240px}.screenshot-bar{padding:10px 15px;font-size:.75rem}.business-project .project-body{padding:23px}.business-project .project-title h3{font-size:1.2rem}.screenshot-hint{bottom:12px;right:12px;padding:6px 11px}}
@media print{.featured-business-grid{display:block}.screenshot-cover{display:none}}
.hero::before{right:0}.layer-icon{white-space:nowrap;min-width:33px}.hero-copy,.system-window,.contact-top>div,.project-body{min-width:0}.stack-row h3>.mono,.system-number,.past-work-grid article>.mono,.ops-note .ops-command,.code-caption,.terminal-line{font-size:.75rem}
.control-panel-project{display:grid;grid-template-columns:1.15fr 1fr;margin-top:24px}.control-panel-project .screenshot-cover{border-bottom:0;border-right:1px solid var(--line);display:flex;flex-direction:column}.control-panel-project .screenshot-cover img{height:100%;min-height:380px;max-height:500px;flex:1}.control-panel-project .project-body{padding:32px;justify-content:center}.control-panel-project .project-body>.eyebrow{font-size:.75rem;color:var(--accent);margin:0 0 16px}.control-panel-project .project-body>.project-title h3{font-size:1.55rem}.control-panel-project .text-link{margin-top:0}
@media(max-width:800px){.control-panel-project{display:flex}.control-panel-project .screenshot-cover{display:block;border-right:0;border-bottom:1px solid var(--line)}.control-panel-project .screenshot-cover img{height:360px;min-height:0;max-height:none}.control-panel-project .project-body{padding:26px}}
@media(max-width:480px){.control-panel-project .screenshot-cover img{height:260px}.control-panel-project .project-body{padding:23px}.control-panel-project .project-body>.project-title h3{font-size:1.25rem}.control-panel-project .screenshot-bar{font-size:.7rem}}
@media print{.control-panel-project{display:block}.control-panel-project .screenshot-cover{display:none}}

/* Ambient Matrix-style code rain, below all content and interactive controls. */
body{isolation:isolate;position:relative}
#matrix-background{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.42;contain:strict;mask-image:linear-gradient(90deg,#000 0%,#0009 23%,#0006 50%,#0009 77%,#000 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#0009 23%,#0006 50%,#0009 77%,#000 100%)}
#matrix-background[hidden],.matrix-toggle[hidden]{display:none}
.expertise-section{background:rgba(11,18,30,.86)}
.systems-section{background:linear-gradient(100deg,rgba(16,29,48,.90),rgba(13,22,36,.85))}
.contact-section{background:radial-gradient(ellipse at 80% 0,#12375550,transparent 60%),rgba(12,21,34,.85)}
.matrix-toggle{appearance:none;border:1px solid #35495d;border-radius:6px;background:#0c1826;color:#aac4ce;padding:8px 12px;min-height:40px;font:400 .75rem/1.5 var(--mono);cursor:pointer}
.matrix-toggle:hover{color:var(--accent);border-color:#558383}
@media(max-width:800px){#matrix-background{opacity:.28}.matrix-toggle{order:2}}
@media(prefers-reduced-motion:reduce){#matrix-background,.matrix-toggle{display:none!important}}
@media print{#matrix-background,.matrix-toggle{display:none!important}.expertise-section,.systems-section,.contact-section{background:white}}

/* Smoked mirror glass: translucent surfaces with a soft diagonal reflection. */
:root{
  --glass-reflection:linear-gradient(125deg,rgba(235,252,255,.10) 0%,rgba(198,233,255,.035) 24%,transparent 44%,rgba(183,225,255,.025) 69%,transparent 85%);
  --glass-border:rgba(163,207,230,.25);
  --glass-shadow:0 16px 40px rgba(0,5,13,.20),inset 0 1px 0 rgba(236,254,255,.13),inset 0 -1px 0 rgba(112,205,224,.04);
}
.system-window,.project-card,.expertise-card,.learning-card,.past-work{
  background:var(--glass-reflection),rgba(13,24,39,.62);
  border-color:var(--glass-border);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
}
.system-window{background:var(--glass-reflection),rgba(14,28,45,.50);box-shadow:0 24px 65px rgba(0,5,13,.28),inset 0 1px 0 rgba(236,254,255,.17)}
.project-card,.expertise-card,.learning-card,.past-work{transition:border-color .25s,box-shadow .25s,transform .25s}
.project-card:hover,.expertise-card:hover,.learning-card:hover,.past-work:hover{border-color:rgba(150,234,239,.43);box-shadow:0 18px 45px rgba(0,5,13,.26),inset 0 1px 0 rgba(240,255,255,.20)}
.window-bar,.screenshot-bar{background:linear-gradient(110deg,rgba(220,248,255,.055),transparent),rgba(15,28,46,.40);border-color:rgba(157,195,220,.18)}
.system-layer{background:linear-gradient(115deg,rgba(195,237,255,.085),rgba(160,225,245,.018) 55%),rgba(14,30,49,.48);border-color:rgba(157,208,233,.22);box-shadow:inset 0 1px 0 rgba(227,251,255,.07)}
.cover-zythe{background:linear-gradient(125deg,rgba(191,255,245,.08),transparent 55%),radial-gradient(ellipse at 80% 0,rgba(26,96,102,.32),transparent 70%),rgba(13,36,45,.58)}
.cover-roc{background:linear-gradient(125deg,rgba(225,225,255,.09),transparent 55%),radial-gradient(ellipse at 85% 10%,rgba(70,74,145,.32),transparent 70%),rgba(24,30,54,.58)}
.cover-ascension{background:linear-gradient(125deg,rgba(200,231,255,.09),transparent 55%),radial-gradient(ellipse at 85% 10%,rgba(49,93,149,.32),transparent 70%),rgba(17,36,63,.58)}
.button,.nav-contact,.menu-toggle,.matrix-toggle,.screenshot-hint{
  background:linear-gradient(115deg,rgba(230,252,255,.12),rgba(207,237,255,.025) 42%,rgba(196,240,255,.065) 55%,transparent 75%),rgba(18,34,51,.56);
  color:#edf8ff;
  border:1px solid rgba(165,214,235,.32);
  box-shadow:inset 0 1px 0 rgba(240,255,255,.18),inset 0 -1px 0 rgba(200,242,255,.04),0 4px 18px rgba(0,7,17,.15);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.button.primary{background:linear-gradient(115deg,rgba(219,255,255,.19),rgba(170,250,250,.025) 43%,rgba(183,255,255,.12) 58%,transparent 80%),rgba(36,126,139,.36);color:#e4ffff;border-color:rgba(121,242,244,.62);box-shadow:inset 0 1px 0 rgba(230,255,255,.30),0 4px 24px rgba(31,160,175,.12)}
.button:hover,.nav-contact:hover,.menu-toggle:hover,.matrix-toggle:hover,.screenshot-cover:hover .screenshot-hint{background:linear-gradient(115deg,rgba(230,252,255,.17),rgba(207,237,255,.045) 45%,rgba(196,240,255,.10) 62%,transparent 85%),rgba(27,51,71,.65);color:#f3ffff;border-color:rgba(164,237,240,.58);box-shadow:inset 0 1px 0 rgba(240,255,255,.25),0 6px 24px rgba(0,10,24,.23)}
.button.primary:hover{background:linear-gradient(115deg,rgba(233,255,255,.23),rgba(170,250,250,.04) 45%,rgba(183,255,255,.15) 64%,transparent 85%),rgba(40,142,155,.46);border-color:rgba(145,255,254,.80)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .system-window,.project-card,.expertise-card,.learning-card,.past-work{background:var(--glass-reflection),#111d2d}
  .button,.nav-contact,.menu-toggle,.matrix-toggle,.screenshot-hint{background:var(--glass-reflection),#172c3e}
  .button.primary{background:var(--glass-reflection),#205b66}
}
@media(max-width:800px){.system-window,.project-card,.expertise-card,.learning-card,.past-work{-webkit-backdrop-filter:blur(9px) saturate(125%);backdrop-filter:blur(9px) saturate(125%)}.button,.nav-contact,.menu-toggle,.matrix-toggle,.screenshot-hint{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}}
@media print{.system-window,.project-card,.expertise-card,.learning-card,.past-work,.button,.nav-contact,.menu-toggle,.matrix-toggle,.screenshot-hint{background:white!important;color:#111!important;border-color:#aaa!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

/* An editor-style I-beam follows the highlighted declaration as it is typed. */
.code-caption{align-items:flex-start}
.code-caption>.code-typing{flex:1;min-width:0;min-height:1.5em;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}
.code-typing::after{content:"";display:inline-block;box-sizing:border-box;width:5px;height:1.1em;margin-left:3px;vertical-align:-.16em;color:var(--accent);border-top:1px solid currentColor;border-bottom:1px solid currentColor;background:linear-gradient(currentColor,currentColor) center/1px 100% no-repeat;animation:editor-caret-blink 1.1s step-end infinite}
@keyframes editor-caret-blink{0%,100%{opacity:1}50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.code-typing::after{animation:none;opacity:1}}
@media print{.code-typing::after{display:none}}
