*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}:root{--bg: #F1F1EE;--bg-elev: #FBFBFA;--bg-elev-2: #F5F5F2;--bg-side: #E6E6E2;--border: #E6E6E2;--border-2: #D8D8D2;--text: #141414;--text-2: #3A3A3C;--text-3: #6B6B70;--text-4: #B0B0AC;--accent: #141414;--accent-2: #000000;--accent-grad: linear-gradient(150deg, #2a2a2a 0%, #141414 44%, #050505 100%);--accent-soft: rgba(20, 20, 20, .05);--accent-line: rgba(20, 20, 20, .16);--font-sans: "Mozilla Text", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Mozilla Headline", "Mozilla Text", system-ui, sans-serif;--font-mono: "Mozilla Text", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}body{font-family:var(--font-sans);background:radial-gradient(120% 56% at 50% 0%,var(--bg-side) 0%,var(--bg) 46%);background-attachment:fixed;color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh}img{max-width:100%;height:auto;display:block}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}.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{position:absolute;top:-100px;left:12px;background:var(--accent-grad);color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;font-size:13px;text-decoration:none;z-index:100;transition:top .16s}.skip:focus{top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.shell{width:100%;max-width:560px;margin:0 auto;padding:clamp(28px,6vh,56px) max(clamp(16px,5vw,24px),env(safe-area-inset-right)) max(clamp(36px,6vh,56px),env(safe-area-inset-bottom)) max(clamp(16px,5vw,24px),env(safe-area-inset-left));display:flex;flex-direction:column}.identity{display:flex;flex-direction:column;align-items:center;text-align:center}.portrait{width:104px;height:104px;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%;border:1px solid var(--border-2);box-shadow:0 12px 32px #14121e24,0 0 0 6px #ffffffb3;margin-bottom:16px}.identity h1{font-family:var(--font-display);font-weight:600;font-size:23px;margin:0 0 8px;letter-spacing:-.02em;line-height:1.1}.role{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 22px}.subhead{font-size:14px;line-height:1.55;color:var(--text-2);max-width:420px;margin:0 0 30px;text-wrap:pretty}.triage{text-align:center;margin:2px 0 16px}.triage h2{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.015em;margin:0 0 5px}.triage p{font-size:13px;color:var(--text-3);margin:0}.section-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);margin:34px 0 6px}.section-label .n{color:var(--accent);font-weight:500;letter-spacing:.04em}.section-label:before,.section-label:after{content:"";flex:1;height:1px;background:var(--border)}.section-intro{font-size:13px;color:var(--text-2);margin:0 0 16px;text-wrap:pretty;line-height:1.5}.links{display:flex;flex-direction:column;gap:11px}.link{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:15px 16px;min-height:66px;text-align:left;text-decoration:none;color:inherit;cursor:pointer;font-family:inherit;width:100%;transition:background .25s ease,border-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}.link:hover,.link:focus-visible{border-color:var(--accent);background:var(--bg-elev-2);transform:translateY(-3px);box-shadow:0 10px 26px #18181b1a}.link:active{transform:translateY(-1px) scale(.992);transition-duration:.08s}.link .ico{transition:transform .35s cubic-bezier(.22,1,.36,1)}.link:hover .ico,.link:focus-visible .ico{transform:scale(1.05)}.link.solid{background:var(--accent-grad);border-color:var(--accent-2);color:#fff}.link.solid .meta h3{color:#fff}.link.solid .meta p{color:#ffffffbd}.link.solid .chev{color:#ffffffa8}.link.solid:hover,.link.solid:focus-visible{background:var(--accent-grad);box-shadow:0 14px 32px #0000003d}.ico{width:46px;height:46px;border-radius:11px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent}.ico img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ico.contain{background:var(--bg-side)}.ico.contain img{width:76%;height:76%;-o-object-fit:contain;object-fit:contain}.ico.glyph{background:var(--accent-soft);border:1px solid var(--border-2);color:var(--accent)}.ico.glyph svg{width:22px;height:22px}.link.solid .ico.glyph{background:#ffffff21;border-color:#ffffff38;color:#fff}.meta{min-width:0}.meta h3{font-family:var(--font-display);font-weight:500;font-size:15.5px;margin:0 0 3px;letter-spacing:-.01em;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta p{margin:0;font-size:12.5px;line-height:1.45;color:var(--text-3);text-wrap:pretty}.status{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);white-space:nowrap}.chev{color:var(--text-4);flex-shrink:0;transition:color .18s,transform .18s}.link:hover .chev,.link:focus-visible .chev{color:var(--accent);transform:translate(3px)}.link.solid:hover .chev{color:#fff}.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:14px 18px;margin-top:11px;border-radius:12px;border:1px solid var(--border-2);background:var(--bg-elev);color:var(--text);font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .25s,box-shadow .25s}.btn:hover,.btn:focus-visible{border-color:var(--accent);background:var(--bg-elev-2);transform:translateY(-2px);box-shadow:0 8px 20px #18181b14}.btn.solid{background:var(--accent-grad);color:#fff;border-color:var(--accent-2)}.btn.solid:hover{box-shadow:0 12px 28px #0003}.btn svg{flex-shrink:0}.about-text{font-size:13.5px;line-height:1.6;color:var(--text-2);margin:0 0 14px;text-wrap:pretty}.inline-link{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:6px}.inline-link:hover{text-decoration:underline;text-underline-offset:3px}.foot{margin-top:38px;padding-top:22px;border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.foot .name{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:-.01em}.foot-social{display:flex;gap:10px;justify-content:center}.foot-social a{width:44px;height:44px;border-radius:11px;background:var(--bg-elev);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s}.foot-social a:hover,.foot-social a:focus-visible{background:var(--accent-grad);color:#fff;border-color:var(--accent-2);transform:translateY(-2px)}dialog.modal{border:none;padding:0;border-radius:18px;max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elev);color:var(--text);box-shadow:0 30px 80px #00000052}dialog.modal::backdrop{background:#0c0c0e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-in{position:relative;padding:26px 24px 24px}.modal .x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;border:1px solid var(--border-2);background:var(--bg-elev-2);color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s,color .16s}.modal .x:hover{background:var(--accent-soft);color:var(--text)}.modal .kicker{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);margin:0 0 8px;text-align:center}.modal h3{font-family:var(--font-display);margin:0 0 6px;font-size:19px;font-weight:600;letter-spacing:-.015em;text-align:center}.modal .sub{font-size:13px;color:var(--text-3);margin:0 0 18px;line-height:1.5;text-align:center}.field{margin:0 0 13px}.field label{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px}.field input,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--border-2);border-radius:10px;background:var(--bg-elev-2);font-family:inherit;font-size:14px;color:var(--text)}.field textarea{resize:vertical;min-height:88px;line-height:1.5}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-elev)}.form-error{font-size:12.5px;color:#b42318;line-height:1.45;margin:0 0 14px;text-wrap:pretty}.modal-actions{display:flex;gap:10px}.modal-actions .btn{margin-top:0}.success{text-align:center;padding:8px 0 4px}.success .ok{width:54px;height:54px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--accent)}.success h3{padding:0}.success p{font-size:13.5px;color:var(--text-2);line-height:1.55;margin:0 0 18px}@media (max-width: 360px){.shell{padding:30px 14px 36px}.link{gap:11px;padding:13px}.ico{width:42px;height:42px}}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;animation:riseIn .7s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d, 0s)}.portrait{opacity:0;animation:popIn .8s cubic-bezier(.22,1,.36,1) both;animation-delay:.04s}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal,.portrait{opacity:1;animation:none}}
