*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "Fredericka the Great", serif;--font-hand: "Architects Daughter", cursive;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--nav-h: 52px;--max-w: 1120px}:root,[data-theme=notebook]{--bg: #f6f5f2;--card: #faf9f7;--surface: rgba(255, 255, 255, .42);--surface-border: #dedad4;--text: #221C17;--muted: #7a7068;--rule: #c4bfb8;--hairline: #dedad4;--accent: #3d5af1;--accent-2: #1B6B4A;--accent-warm: #7A4F28;--hand: #1B6B4A;--thumb: rgba(255, 255, 255, .5)}[data-theme=chalkboard]{--bg: #1a2e23;--card: #1f3629;--surface: #284536;--surface-border: #3a5a47;--text: #ebe9dc;--muted: #92a896;--rule: #3f5e4b;--hairline: #314c3c;--accent: #8bc49b;--accent-2: #9ad1ab;--accent-warm: #d4c98a;--hand: #8bc49b;--thumb: #284536}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #1a2e23;--card: #1f3629;--surface: #284536;--surface-border: #3a5a47;--text: #ebe9dc;--muted: #92a896;--rule: #3f5e4b;--hairline: #314c3c;--accent: #8bc49b;--accent-2: #9ad1ab;--accent-warm: #d4c98a;--hand: #8bc49b;--thumb: #284536}}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);overflow-x:clip}body{background-color:var(--bg);background-image:radial-gradient(var(--rule) 1.05px,transparent 1.05px);background-size:26px 26px;background-position:-2px -2px;color:var(--text);font-family:var(--font-mono);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}[data-theme=chalkboard] body{background-image:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}svg{display:block}img{max-width:100%;display:block}#root{position:relative}.chalk-texture{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;display:none}[data-theme=chalkboard] .chalk-texture{display:block}.page-content{position:relative;z-index:1}.wrap{max-width:var(--max-w);margin-inline:auto;padding-inline:40px}.nav{position:fixed;inset-block-start:0;inset-inline:0;height:var(--nav-h);z-index:100;background:var(--bg);border-bottom:1px solid var(--rule)}.nav-inner{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-display);font-size:30px;letter-spacing:.01em;color:var(--text)}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);transition:color .18s ease}.nav-links a:hover{color:var(--text)}.nav-links a[aria-current=page]{color:var(--text);border-bottom:1.5px solid var(--accent);padding-bottom:3px}.nav-actions{display:flex;align-items:center;gap:20px}.theme-toggle{background:none;border:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .18s ease;padding:0;line-height:1}.theme-toggle:hover{color:var(--text)}.nav-toggle{display:none;background:none;border:1px solid var(--text);color:var(--text);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;cursor:pointer}.hero{padding-top:var(--nav-h);border-bottom:1px solid var(--rule)}.hero-inner{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;padding-block:48px 52px;display:flex;flex-direction:column;gap:28px}.hero-name-row{display:flex;align-items:flex-start;gap:36px}.hero-name{font-family:var(--font-display);font-size:clamp(52px,8.5vw,116px);font-weight:400;line-height:.92;color:var(--text);white-space:nowrap}.hero-pronunciation{display:flex;flex-direction:column;gap:5px;padding-top:6px}.hero-pronunciation-phonetic{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.06em}.hero-pronunciation-label{font-family:var(--font-mono);font-size:12px;text-transform:lowercase;letter-spacing:.06em;color:var(--text);font-style:normal;font-weight:600}.hero-text{display:flex;flex-direction:column}.hero-subtitle{font-family:var(--font-hand);font-size:30px;font-weight:400;color:var(--hand);margin-bottom:16px}.hero-copy{font-family:var(--font-mono);font-size:15px;color:var(--text);opacity:.92;line-height:1.7;max-width:380px;margin-bottom:16px}.hero-location{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:8px}.hero-location:before{content:"◎";color:var(--accent-2);font-size:10px}.info-section{border-bottom:1px solid var(--rule)}.info-inner{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;display:grid;grid-template-columns:1fr 1fr 1fr}.info-col{padding-block:56px;padding-right:48px;border-right:1px solid var(--hairline)}.info-col:last-child{border-right:none;padding-right:0;padding-left:48px}.info-col:nth-child(2){padding-left:48px}.info-col-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:20px}.info-col-title{font-family:var(--font-mono);font-size:14px;font-weight:400;color:var(--text);margin-bottom:8px;line-height:1.3;border-bottom:1px dashed var(--hairline);padding-bottom:9px}.info-col-sub{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);margin-top:9px;margin-bottom:20px}.info-list{display:flex;flex-direction:column}.info-list li{font-family:var(--font-mono);font-size:14px;color:var(--text);display:flex;align-items:baseline;gap:8px;border-bottom:1px dashed var(--hairline);padding:9px 0}.info-list li:before{content:"—";font-family:var(--font-mono);font-size:12px;color:var(--muted);flex-shrink:0}.info-tag{display:inline-block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);padding:2px 7px;margin-top:16px}.section-hd{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;padding-block:40px 0;display:flex;align-items:baseline;gap:16px}.section-hd-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.section-hd-link{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.section-hd-rule{display:none}.projects-section{border-bottom:1px solid var(--rule);padding-bottom:56px}.projects-grid{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-card{border:1px solid var(--surface-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s ease,transform .15s ease;cursor:default}.project-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000012}.project-card-visual{flex:0 0 auto;height:190px;background:var(--card);display:flex;align-items:center;justify-content:center;padding:24px 32px}.project-visual-svg{width:100%;max-height:140px}.project-card-content{border-top:1px solid var(--surface-border);background:var(--card);padding:22px 28px 26px;display:flex;flex-direction:column;flex:1}.project-title{font-family:var(--font-mono);font-size:18px;font-weight:700;line-height:1.15;color:var(--text);margin-bottom:10px}.project-desc{font-family:var(--font-mono);font-size:13px;color:var(--muted);line-height:1.6;flex:1;margin-bottom:20px}.project-tags{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:auto}.tag-blue{color:var(--accent)}.tag-green{color:var(--accent-2)}.tag-warm{color:var(--accent-warm)}.snapshots-section{border-bottom:1px solid var(--rule)}.snapshots-hd{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;padding-block:40px 0;display:flex;align-items:baseline;gap:16px}.snapshots-strip{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;padding-block:28px 48px;display:flex;gap:20px;overflow-x:auto}.snapshot{background:var(--card);border:1px solid var(--surface-border);border-radius:10px;flex:1;min-width:120px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;transition:transform .15s ease,box-shadow .15s ease}.snapshot:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000012}.snapshot-icon{font-size:28px;line-height:1}.snapshot-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:center}footer{border-top:1px solid var(--rule)}.footer{max-width:var(--max-w);margin-inline:auto;padding-inline:40px;padding-block:28px;display:flex;align-items:center;justify-content:space-between}.footer-left{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-links{display:flex;gap:24px}.footer-links a{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);transition:color .15s ease}.footer-links a:hover{color:var(--text)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.anim{animation:fadeUp .5s ease-out both}.anim-2{animation:fadeUp .5s .08s ease-out both}.anim-3{animation:fadeUp .5s .16s ease-out both}.anim-4{animation:fadeUp .5s .24s ease-out both}.anim-5{animation:fadeUp .5s .32s ease-out both}@media(max-width:900px){.wrap,.nav-inner,.info-inner,.hero-inner,.section-hd,.snapshots-hd,.snapshots-strip,.projects-grid,.footer{padding-inline:24px}.hero-inner{padding-block:36px 40px;gap:20px}.hero-name-row{gap:20px;flex-wrap:wrap;align-items:baseline}.hero-name{white-space:normal}.info-inner{grid-template-columns:1fr}.info-col{border-right:none;padding-right:0;border-bottom:1px dashed var(--hairline);padding-bottom:36px;margin-bottom:0}.info-col:nth-child(2){padding-left:0}.info-col:last-child{padding-left:0;border-bottom:none}.projects-grid{grid-template-columns:1fr}.nav-links{display:none;flex-direction:column;position:fixed;inset:var(--nav-h) 0 0 0;background:var(--bg);padding:40px 24px;gap:24px;border-top:1px solid var(--rule);z-index:99}.nav-links--open{display:flex}.nav-links a{font-size:16px}.nav-toggle{display:block}.theme-toggle{display:none}.snapshots-strip{flex-wrap:nowrap}.snapshot{min-width:100px}.footer{flex-direction:column;gap:12px;text-align:center}}@media(max-width:480px){.hero-name-col{padding-top:28px;padding-bottom:24px}}
