@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.43ud19ilw2-pl.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.0csyzgbq6oph-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.0_w6c_5g3mtxc.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.40rgster27fo6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.289y3avl9x-vx.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.0gvkp1c3flf_w.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.30aknk5meqo_4.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.3f_ld5jwq496k.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.1qvxqej4sgmo7.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2ujo9d6x5hgkq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.21s4tc4km7afu.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.1on3xg---ibgx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#060910;--surface:#080f1c;--text:#f1f5fc;--muted:#aebdd1;--blue:#58adff;--line:#26374e;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{background:var(--background);color:var(--text);overflow-wrap:break-word;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}body:before{content:"";z-index:-1;background:linear-gradient(#041124dc,#040a16ee),url(/images/circuit-board.webp) top/1250px;position:fixed;inset:0}a{color:inherit;text-underline-offset:.3em;text-decoration:none}a:hover{color:#8fc9ff}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:6px;outline:3px solid #b6dfff}main:focus{outline:none}p,h1,h2,h3,h4,figure{margin:0}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}::selection{color:#fff;background:#175eba}.shell{width:min(1180px,100% - 64px);margin-inline:auto}.icon{width:21px;height:21px}.micro,.eyebrow{font:400 .75rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:.12em}.eyebrow{color:#c4d3e7;align-items:center;gap:12px;display:flex}.eyebrow>span,.blue-text{color:var(--blue)}.skip-link{z-index:10;color:#050a12;background:#fff;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{color:#050a12;transform:translateY(0)}.site-header{background:#05070b;border-block:1px solid #2a3443;margin-top:20px}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:192px;padding:12px 28px;display:flex}.header-identity{min-width:0}.wordmark{font:600 2rem/1.15 var(--display);text-transform:uppercase;letter-spacing:.055em;display:inline-block}.brand-period{color:var(--blue)}.header-role{color:var(--muted);letter-spacing:.22em;margin-top:6px}.header-links{flex-wrap:wrap;gap:10px 22px;margin-top:20px;display:flex}.header-links a{color:#c5d2e3;align-items:center;gap:9px;min-height:28px;font-size:.8125rem;display:inline-flex}.header-links a:hover{color:var(--blue)}.header-links .icon{width:16px;height:16px}.emblem{flex-shrink:0;width:362px;height:auto}.main-frame{border:1px solid #31496b;margin-top:28px;box-shadow:0 0 0 10px #05080eb3}.navigation{background:#080e19;border-bottom:1px solid #31517d;justify-content:space-between;align-items:center;gap:24px;padding:0 28px;display:flex}.navigation ul{gap:12px;margin:0;padding:0;list-style:none;display:flex}.navigation a{align-items:center;gap:10px;padding:21px 16px;font-size:.875rem;display:flex;position:relative}.navigation a:after{content:"";background:0 0;height:2px;position:absolute;inset:auto 16px 0}.navigation a:hover:after,.navigation a:focus-visible:after{background:var(--blue)}.nav-number{color:var(--blue);font:.625rem var(--mono)}.nav-caption{color:#b6c7dd;letter-spacing:.07em;align-items:center;gap:10px;font-size:.625rem;display:flex}.status-dot{background:var(--blue);width:5px;height:5px;box-shadow:0 0 0 4px #3290e61a}.hero{isolation:isolate;background:#0b254e;grid-template-columns:1.15fr .85fr;gap:48px;padding:58px 58px 0;display:grid;position:relative}.hero:before{content:"";z-index:-1;background:linear-gradient(110deg,#07182dee,#073778cc),url(/images/circuit-board.webp) 50%/cover;position:absolute;inset:0}.hero-copy{background:#071121f0;border-left:2px solid #3e8fde;min-width:0;margin-left:-12px;padding:25px 28px 30px}.small-rule{background:var(--blue);width:24px;height:1px;display:block}h1{font:700 clamp(4rem, 6.8vw, 6.25rem)/.87 var(--display);letter-spacing:-.015em;text-transform:uppercase;margin:25px 0 20px}h1 span{color:var(--blue);display:block}.hero-role{font:400 1rem/1.7 var(--mono);letter-spacing:.06em}.hero-role>span{color:var(--blue);margin-left:4px}.hero-introduction{color:#c2cddd;max-width:37ch;margin-top:20px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:11px 19px;font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.button-primary{color:#04101e;background:#3b9cf6}.button-primary:hover{color:#04101e;background:#8dcbff}.button-secondary{background:#0c1a2d;border-color:#486182}.button-secondary:hover{border-color:var(--blue);background:#142c4c}.portrait-frame{background:#071222;border:1px solid #4b709e;align-self:center;padding:8px;position:relative}.portrait-frame:before,.portrait-frame:after{content:"";pointer-events:none;width:22px;height:22px;position:absolute}.portrait-frame:before{border-top:3px solid #78bfff;border-left:3px solid #78bfff;top:-2px;left:-2px}.portrait-frame:after{border-bottom:3px solid #78bfff;border-right:3px solid #78bfff;bottom:-2px;right:-2px}.portrait-image{background:#292720}.portrait-image img{aspect-ratio:1/1.03;object-fit:cover;object-position:center;width:100%}.portrait-frame figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 12px 9px;display:flex}.portrait-frame figcaption>div{gap:2px;display:grid}.portrait-name{font:600 1.5rem/1.2 var(--display);letter-spacing:.04em}.portrait-frame .micro{color:#9eb5d1;font-size:.625rem}.portrait-cross{color:var(--blue);font:300 2rem var(--mono)}.hero-bottom{color:#bed1e9;border-top:1px solid #44638b;grid-column:1/-1;justify-content:space-between;gap:16px;margin-top:-10px;padding:21px 0;font-size:.625rem;display:flex}.down-arrow{color:var(--blue);margin-left:12px;font-size:1rem}.content-section{border-top:1px solid var(--line);background:#080f1cf5;padding:55px 58px;scroll-margin-top:24px}.section-heading h2{font:600 2.75rem/1.1 var(--display);letter-spacing:.01em;margin-top:12px}.about-section,.contact-section{grid-template-columns:.9fr 1.1fr;gap:48px;display:grid}.about-copy{padding-top:3px}.large-copy{margin-bottom:18px;font-size:1.375rem;line-height:1.55}.large-copy span{color:#a1b3cb}.about-copy>p:not(.large-copy){color:var(--muted);max-width:50ch}.text-link{color:#82c2ff;align-items:center;gap:14px;min-height:44px;font-size:.875rem;display:inline-flex}.about-copy .text-link{margin-top:18px}.text-link:hover{color:#fff;text-decoration:underline}.projects-section{background:#090f19}.projects-section .section-heading{margin-bottom:28px}.project-empty{background:linear-gradient(110deg,#0d1b30,#0a1321);border:1px solid #2f435f;align-items:center;gap:28px;min-height:190px;padding:36px;display:flex;position:relative}.code-mark{color:#74baff;width:80px;height:80px;font:1.6rem var(--mono);background:#10233d;border:1px solid #345478;flex-shrink:0;place-items:center;display:grid}.project-empty h3{font:600 1.75rem/1.25 var(--display);margin:7px 0 8px}.project-empty p:not(.micro){color:var(--muted)}.empty-corner{border-top:15px solid #3b8cd5;border-left:15px solid #0000;position:absolute;top:0;right:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);min-width:0}.project-image{aspect-ratio:16/9;object-fit:cover;width:100%}.project-copy{overflow-wrap:anywhere;padding:26px}.project-copy h3{font:600 2rem/1.2 var(--display);margin-bottom:16px}.project-copy p,.project-detail li{color:var(--muted)}.project-detail{margin-top:20px}.project-detail h4{font-size:1rem}.project-detail ul{padding-left:20px}.technologies{flex-wrap:wrap;gap:8px;margin-block:20px;padding:0;list-style:none;display:flex}.technologies li{font:.75rem/1.7 var(--mono);color:#c4e2ff;border:1px solid #345478;padding:4px 10px}.project-links{flex-wrap:wrap;gap:24px;display:flex}.contact-section{background:linear-gradient(120deg,#0b1d35,#0c284c);border-top-color:#385a83;padding-block:48px}.contact-copy>p{color:#becde1}.contact-address{font:600 2rem/1.4 var(--display);letter-spacing:.025em;overflow-wrap:anywhere;align-items:center;gap:25px;max-width:100%;margin-block:8px;display:inline-flex}.contact-address .icon{color:var(--blue);width:24px;height:24px}.contact-copy .contact-note{color:#a9bbd2;font-size:.8125rem}.site-footer{background:#05070b;border-block:1px solid #283448;margin-top:28px}.footer-inner{color:#a6b5ca;justify-content:space-between;gap:20px;padding:19px 0;font-size:.75rem;display:flex}.footer-inner>div{align-items:center;gap:32px;display:flex}.footer-inner a{overflow-wrap:anywhere;align-items:center;gap:12px;max-width:100%;min-height:28px;display:inline-flex}.up-arrow{color:var(--blue);display:inline-flex;transform:rotate(-90deg)}.up-arrow .icon{width:16px;height:16px}@media (min-width:1440px){.header-inner{min-height:210px}.hero{padding-top:64px}}@media (max-width:1050px){.shell{width:calc(100% - 48px)}.header-inner,.navigation{padding-inline:12px}.nav-caption{display:none}.hero{grid-template-columns:1.1fr .9fr;gap:30px;padding:40px 32px 0}.hero-copy{padding:22px}.hero-actions{gap:10px}.button{gap:12px;padding-inline:14px}.content-section{padding:44px 32px}.about-section,.contact-section{gap:30px}}@media (max-width:700px){.shell{width:calc(100% - 32px)}.site-header{margin-top:12px}.header-inner{flex-wrap:wrap;gap:12px;min-height:150px;padding:20px 0}.header-identity{flex:8rem}.wordmark{max-width:9ch;font-size:clamp(1.25rem,5vw,1.5rem)}.header-role{letter-spacing:.12em;font-size:.625rem}.header-links{margin-top:12px}.header-links a{font-size:.75rem}.header-links a>.icon:last-child{display:none}.emblem{width:48%;max-width:250px;margin-left:auto}.main-frame{margin-top:20px;box-shadow:0 0 0 5px #05080eb3}.navigation{padding:0 8px}.navigation ul{flex-wrap:wrap;gap:0;width:100%;display:flex}.navigation li{flex:1 0 25%;min-width:4rem}.navigation a{justify-content:center;padding:17px 4px;font-size:.8125rem}.nav-number{display:none}.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 20px 0}.hero-copy{margin:0;padding:24px 20px}h1{margin-top:25px;font-size:clamp(2rem,15vw,6.5rem)}.eyebrow{letter-spacing:.09em;gap:10px;font-size:.625rem}.hero-role{font-size:.875rem}.hero-introduction{margin-top:16px}.hero-actions{gap:12px;margin-top:24px}.button{flex:auto}.portrait-frame{justify-self:center;width:100%;max-width:400px}.portrait-image img{aspect-ratio:1.08;object-position:center 35%}.hero-bottom{letter-spacing:.07em;flex-wrap:wrap;margin-top:0;padding-block:17px;font-size:.5625rem}.content-section{padding:36px 24px}.about-section,.contact-section{grid-template-columns:minmax(0,1fr);gap:25px}.section-heading h2{font-size:2.4rem}.large-copy{font-size:1.25rem}.project-empty{flex-direction:column;align-items:flex-start;gap:22px;padding:26px 22px}.code-mark{width:3.5rem;height:3.5rem;font-size:1.25rem}.project-grid{grid-template-columns:minmax(0,1fr)}.contact-address{gap:16px;font-size:1.8rem}.footer-inner,.footer-inner>div{flex-wrap:wrap;gap:8px 24px}.footer-inner{padding-block:16px}.footer-inner>div{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.header-inner{min-height:140px}.emblem{width:min(32%,300px)}.section-intro{color:var(--muted);max-width:65ch;margin:18px 0 28px}.draft-notice{color:#d2deed;background:#152139;border-block:1px solid #486182;padding:20px 28px;font-size:.875rem}.draft-label{font:.6875rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;color:#a9d4ff!important}.placeholder-copy{color:#bdcce0;margin-top:18px;line-height:1.8}.hero-copy .placeholder-copy{font-size:.875rem}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-copy{padding:22px}.project-copy .text-link{margin-top:16px}.media-placeholder{color:#c3d6ed;background:repeating-linear-gradient(135deg,#0d1c30,#0d1c30 16px,#102039 16px 17px);border:1px dashed #52759d;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:210px;padding:28px;display:flex}.tile-media{border-width:0 0 1px;min-height:240px}a.media-placeholder:hover{background:#173351}.placeholder-index{font:600 2.75rem/1 var(--display);color:#91c8ff}.project-facts{margin:20px 0;font-size:.8125rem}.project-facts div{border-bottom:1px solid var(--line);padding:8px 0}.project-facts dt{font-weight:600}.project-facts dd{color:var(--muted);margin:2px 0 0}.about-grid{grid-template-columns:1fr 1fr;gap:28px;margin:28px 0;display:grid}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.info-panel{border:1px solid var(--line);background:#0b1728;min-width:0;padding:24px}.info-panel h3{font:600 1.6rem/1.2 var(--display);margin-bottom:16px}.placeholder-list{color:var(--muted);margin-block:12px;padding-left:20px}.placeholder-list li+li{margin-top:12px}.small-note{color:#b2c3d9;margin-top:12px;font-size:.8125rem}.case-study{background:#080f1cf5;padding:40px 58px}.case-study h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.05}.case-study>.draft-label{margin-top:28px}.case-study>.media-placeholder{min-height:300px;margin-top:28px}.case-section{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.case-section h2{font:600 2rem/1.2 var(--display);margin-bottom:20px}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.project-grid,.about-grid,.skills-grid,.evidence-grid{grid-template-columns:minmax(0,1fr)}.emblem{width:45%}.case-study{padding:28px 24px}.draft-notice{padding:20px 24px}.navigation li{min-width:5rem}.navigation a{padding-inline:8px}}.hero{padding:30px 42px 0;display:block}.hero-copy{grid-template-columns:1fr 1fr;align-items:start;column-gap:36px;margin:0;padding:24px 28px;display:grid}.hero-copy .eyebrow,.hero-copy h1,.hero-name,.hero-copy .hero-role{grid-column:1}.hero-copy h1{margin:16px 0;font-size:clamp(3rem,5vw,4.75rem)}.hero-name{font:600 2rem/1.2 var(--display);margin-bottom:8px}.hero-copy .hero-introduction{grid-area:1/2/3;max-width:none;margin-top:0}.hero-copy .placeholder-copy{grid-area:3/2/5;margin-top:0}.hero-copy .hero-actions{grid-area:5/2;margin-top:20px}.hero-bottom{margin:20px 0 0;padding:12px 0}.about-portrait{float:right;width:210px;margin:24px 0 24px 28px}.about-grid{display:block}.about-grid .info-panel{clear:both;margin-top:24px}.project-card{flex-direction:column;display:flex}.project-copy{flex-direction:column;flex:1;display:flex}.project-copy .text-link{margin-top:auto;padding-top:12px}.project-art{display:block;position:relative}.project-art img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.image-disclosure{color:#c9e2fc;font:.6875rem/1.6 var(--mono);background:#081321;padding:8px 12px;display:block}.project-facts{flex-wrap:wrap;gap:12px 24px;display:flex}.project-facts div{flex:6rem}.evidence-image{margin:24px 0}.evidence-image a{border:1px solid #3c597a;display:block}.evidence-image a:hover{border-color:var(--blue)}.evidence-image img{width:100%;height:auto}.evidence-image figcaption{color:#b2c3d9;margin-top:10px;font-size:.8125rem}.evidence-grid .evidence-image{margin-top:0}.project-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:24px 0;display:grid}.project-summary dt{font-size:.8125rem;font-weight:600}.project-summary dd{color:var(--muted);margin:6px 0 0;font-size:.875rem}.case-nav{border-block:1px solid var(--line);flex-wrap:wrap;gap:8px 20px;padding:12px 0;display:flex}.case-nav a{color:#a9d4ff;align-items:center;min-height:44px;font-size:.875rem;display:inline-flex}.case-section{scroll-margin-top:24px}.case-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:36px;padding-top:20px;display:flex}@media (min-width:701px) and (max-width:1050px){.project-card:first-child{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.project-card:first-child .project-art{flex-direction:column;display:flex}.project-card:first-child .project-art img{object-fit:cover;flex:1;min-height:0}}@media (max-width:1050px){.contact-section{grid-template-columns:minmax(0,1fr);gap:22px}.project-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.hero{padding:20px 18px 0}.hero-copy{padding:20px;display:block}.hero-copy h1{font-size:clamp(2.8rem,12vw,4rem)}.hero-name{font-size:1.6rem}.hero-copy .hero-introduction{margin-top:16px}.hero-copy .placeholder-copy{margin-top:12px}.hero-bottom{display:none}.draft-notice{margin-top:0;padding:14px 20px}.about-portrait{float:none;width:100%;max-width:230px;margin:24px auto}.project-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-address{font-size:clamp(1.1rem,5.5vw,1.8rem)}}.hero-portrait{display:none}@media (min-width:1051px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px 40px;padding:36px 42px 0;display:grid}.hero-copy{display:block}.hero-copy .hero-introduction{max-width:40ch;margin-top:18px}.hero-copy .placeholder-copy{margin-top:16px}.hero-copy .hero-actions{margin-top:24px}.hero-portrait{justify-self:center;width:100%;max-width:420px;display:block}.hero-bottom{grid-column:1/-1;margin-top:0}.about-portrait{display:none}}.hero-identity{grid-area:3/1/5}.compact-portrait{display:none}@media (max-width:1050px){.hero-identity{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-identity>div{flex:8rem;min-width:0}.compact-portrait{object-fit:cover;object-position:center 35%;background:#071222;border:1px solid #78bfff;border-radius:8px;flex-shrink:0;width:80px;height:80px;padding:3px;display:block}.hero-identity .hero-name{margin-bottom:6px}.hero-identity .hero-role{letter-spacing:.025em;font-size:.8125rem}}@media (min-width:701px) and (max-width:1050px){.hero-copy{grid-template-columns:1.2fr 1fr;column-gap:24px}}@media (max-width:400px){.compact-portrait{width:64px;height:64px}.hero-identity{gap:12px}.hero-identity>div{flex-basis:6rem}}.login-shell{width:min(580px,100% - 32px);margin:0 auto;padding:36px 0}.login-brand{width:min(360px,80%);margin:0 auto 24px}.login-card{background:linear-gradient(140deg,#0c203b,#080f1c 70%);border:1px solid #3b5d86;padding:40px;box-shadow:0 0 0 8px #05080eb3}.login-card h1{margin:24px 0;font-size:clamp(2.6rem,8vw,4.5rem);line-height:1}.login-intro{color:var(--muted)}.login-form{gap:12px;margin-top:28px;display:grid}.login-form label{font-size:.875rem;font-weight:600}.login-form input[type=password]{width:100%;min-width:0;color:var(--text);font:inherit;background:#060d18;border:1px solid #557396;border-radius:3px;padding:13px 14px}.login-form button{cursor:pointer;margin-top:6px}.login-form .small-note{margin:0}.login-error{color:#ffb5ad;font-size:.875rem}.login-unavailable{color:#c3d6ed;border:1px solid #486182;margin-top:28px;padding:18px}.login-footer{text-align:center;color:var(--muted);margin-top:28px;font-size:.75rem}.sign-out{color:#a9d4ff;font:inherit;cursor:pointer;background:0 0;border:1px solid #486182;padding:8px 12px}@media (max-width:600px){.login-shell{padding-top:24px}.login-card{padding:28px 22px}}
