.hero[data-astro-cid-bbe6dxrz]{position:relative;min-height:100vh;padding:var(--space-24) var(--space-16) var(--space-32);display:flex;align-items:center}.hero-grid[data-astro-cid-bbe6dxrz]{width:100%;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-16);align-items:center}.name[data-astro-cid-bbe6dxrz]{margin:0;display:flex;flex-direction:column;font-family:var(--font-serif);font-size:clamp(44px,5.4vw,76px);font-weight:400;line-height:.98;letter-spacing:-.025em;color:var(--text)}.first[data-astro-cid-bbe6dxrz]{animation:fade-up .6s cubic-bezier(.4,0,.2,1) backwards}.last[data-astro-cid-bbe6dxrz]{padding-left:.6em;font-style:italic;animation:fade-up .6s cubic-bezier(.4,0,.2,1) .1s backwards}.dot[data-astro-cid-bbe6dxrz]{color:var(--accent);font-style:normal}.studies[data-astro-cid-bbe6dxrz]{margin:var(--space-8) 0 0;padding-left:var(--space-4);border-left:2px solid var(--accent);font-family:var(--font-serif);font-size:var(--text-xl);line-height:1.35;color:var(--text);animation:fade-up .5s cubic-bezier(.4,0,.2,1) .22s backwards}.also[data-astro-cid-bbe6dxrz]{margin:var(--space-3) 0 0;padding-left:calc(var(--space-4) + 2px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-muted);animation:fade-up .5s cubic-bezier(.4,0,.2,1) .3s backwards}.also[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#e89aa666}.also[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover{text-decoration-color:var(--accent)}.scene[data-astro-cid-bbe6dxrz]{perspective:1100px;animation:fade-up .7s cubic-bezier(.4,0,.2,1) .38s backwards}.float[data-astro-cid-bbe6dxrz]{transform-style:preserve-3d;animation:drift 9s ease-in-out infinite alternate}.pass[data-astro-cid-bbe6dxrz]{position:relative;width:340px;transform-style:preserve-3d;transform:rotateX(calc(10deg + var(--rx, 0deg))) rotateY(calc(-24deg + var(--ry, 0deg)));transition:transform .5s cubic-bezier(.2,.7,.2,1)}.slab[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;border-radius:var(--radius);background:#c9bfa8;border:1px solid #b8ad95;transform:translateZ(var(--z))}.slab[data-astro-cid-bbe6dxrz]:first-child{background:transparent;border:1.5px solid var(--accent);transform:translateZ(var(--z)) translate(10px,10px)}.face[data-astro-cid-bbe6dxrz]{position:relative;transform:translateZ(4px);transform-style:preserve-3d;padding:var(--space-6) var(--space-6) var(--space-8);background:var(--text);color:var(--bg);border-radius:var(--radius)}.face-top[data-astro-cid-bbe6dxrz]{display:flex;justify-content:space-between;margin:0 0 var(--space-8);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4a4d5e}.face-title[data-astro-cid-bbe6dxrz]{margin:0 0 var(--space-6);font-family:var(--font-serif);font-style:italic;font-size:52px;line-height:.95;letter-spacing:-.02em;color:var(--bg);transform:translateZ(24px)}.face-rows[data-astro-cid-bbe6dxrz]{margin:0 0 var(--space-6)}.face-row[data-astro-cid-bbe6dxrz]{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid rgba(26,29,46,.14);font-size:var(--text-sm)}.face-row[data-astro-cid-bbe6dxrz] dt[data-astro-cid-bbe6dxrz]{font-family:var(--font-mono);font-size:11px;padding-top:2px;color:#4a4d5e}.face-row[data-astro-cid-bbe6dxrz] dd[data-astro-cid-bbe6dxrz]{margin:0;color:var(--bg)}.face-cta[data-astro-cid-bbe6dxrz]{display:inline-block;font-family:var(--font-serif);font-style:italic;font-size:var(--text-lg);color:var(--bg);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#c9707f;transform:translateZ(12px)}.face-cta[data-astro-cid-bbe6dxrz]:hover{color:#a84d5c}.face-cta[data-astro-cid-bbe6dxrz]:focus-visible{outline-color:var(--bg)}.stamp[data-astro-cid-bbe6dxrz]{position:absolute;right:var(--space-5);bottom:var(--space-5);display:flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:2px solid #9a3f4f;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:1.05;letter-spacing:.12em;color:#9a3f4f;transform:translateZ(36px) rotate(-9deg)}@keyframes drift{0%{transform:rotateX(2deg) rotateY(-4deg) translateY(0)}to{transform:rotateX(-3deg) rotateY(5deg) translateY(-8px)}}.ledger[data-astro-cid-bbe6dxrz]{position:absolute;left:50%;bottom:var(--space-10);transform:translate(-50%);width:calc(100% - var(--space-32));max-width:1100px;margin:0;padding-top:var(--space-5);border-top:1px solid var(--border);display:flex;align-items:baseline;gap:var(--space-12);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;animation:fade-up .5s cubic-bezier(.4,0,.2,1) .56s backwards}.ledger-list[data-astro-cid-bbe6dxrz]{margin:0;display:flex;align-items:baseline;gap:var(--space-12)}.ledger-item[data-astro-cid-bbe6dxrz]{display:flex;gap:var(--space-3)}.ledger[data-astro-cid-bbe6dxrz] dt[data-astro-cid-bbe6dxrz]{color:var(--text-muted)}.ledger[data-astro-cid-bbe6dxrz] dd[data-astro-cid-bbe6dxrz]{margin:0;color:var(--text)}.ledger-link[data-astro-cid-bbe6dxrz]{margin-left:auto;color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#e89aa666;transition:text-decoration-color var(--transition-fast)}.ledger-link[data-astro-cid-bbe6dxrz]:hover{text-decoration-color:var(--accent)}@keyframes fade-up{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.first[data-astro-cid-bbe6dxrz],.last[data-astro-cid-bbe6dxrz],.studies[data-astro-cid-bbe6dxrz],.also[data-astro-cid-bbe6dxrz],.scene[data-astro-cid-bbe6dxrz],.float[data-astro-cid-bbe6dxrz],.ledger[data-astro-cid-bbe6dxrz]{animation:none}}@media(max-width:960px){.pass[data-astro-cid-bbe6dxrz]{width:300px}.face-title[data-astro-cid-bbe6dxrz]{font-size:44px}}@media(max-width:820px){.hero[data-astro-cid-bbe6dxrz]{min-height:auto;padding:var(--space-32) var(--space-6) var(--space-12);flex-direction:column;align-items:stretch;gap:var(--space-16)}.hero-grid[data-astro-cid-bbe6dxrz]{grid-template-columns:1fr;gap:var(--space-16);justify-items:start}.scene[data-astro-cid-bbe6dxrz]{justify-self:center}.pass[data-astro-cid-bbe6dxrz]{width:min(300px,78vw);transform:rotateX(6deg) rotateY(-12deg)}.studies[data-astro-cid-bbe6dxrz]{font-size:var(--text-lg)}.ledger[data-astro-cid-bbe6dxrz]{position:static;transform:none;width:100%;flex-direction:column;gap:var(--space-3)}.ledger-list[data-astro-cid-bbe6dxrz]{flex-direction:column;gap:var(--space-3)}.ledger-link[data-astro-cid-bbe6dxrz]{margin-left:0}}.sh[data-astro-cid-ytvomcwp]{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num num" "title note";align-items:end;column-gap:var(--space-8);width:100%}.sh-num[data-astro-cid-ytvomcwp]{grid-area:num;display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--accent)}.sh-num[data-astro-cid-ytvomcwp]:after{content:"";width:var(--space-8);height:1px;background:var(--accent);opacity:.6}.sh-title[data-astro-cid-ytvomcwp]{grid-area:title;margin:0;font-family:var(--font-serif);font-size:clamp(32px,4.2vw,56px);font-weight:500;line-height:1;letter-spacing:-.015em;color:var(--text)}.sh-dot[data-astro-cid-ytvomcwp]{color:var(--accent)}.sh-note[data-astro-cid-ytvomcwp]{grid-area:note;justify-self:end;margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted);text-align:right}@media(max-width:768px){.sh[data-astro-cid-ytvomcwp]{grid-template-areas:"num" "title" "note";grid-template-columns:1fr}.sh-note[data-astro-cid-ytvomcwp]{justify-self:start;text-align:left;margin-top:var(--space-3)}}.fade-in[data-astro-cid-yr3rhc52]{opacity:0;transform:translateY(var(--fade-y));transition:opacity var(--fade-duration) ease-out var(--fade-delay),transform var(--fade-duration) ease-out var(--fade-delay);will-change:opacity,transform}.fade-in[data-astro-cid-yr3rhc52].is-visible{opacity:1;transform:translateY(0);will-change:auto}.skills-section[data-astro-cid-ab4ihpzs]{max-width:1200px;margin:0 auto;padding:var(--space-16) var(--space-16) var(--space-16)}.section-header[data-astro-cid-ab4ihpzs]{display:flex;margin-bottom:var(--space-12)}.stack[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.stack[data-astro-cid-ab4ihpzs]>.fade-in{display:flex}.col[data-astro-cid-ab4ihpzs]{width:100%;padding:var(--space-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.col-head[data-astro-cid-ab4ihpzs]{display:flex;gap:var(--space-3);margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.col-num[data-astro-cid-ab4ihpzs]{color:var(--accent)}.col-list[data-astro-cid-ab4ihpzs]{list-style:none;margin:0;padding:0}.col-list[data-astro-cid-ab4ihpzs] li[data-astro-cid-ab4ihpzs]+li[data-astro-cid-ab4ihpzs]{border-top:1px solid var(--border)}.col-list[data-astro-cid-ab4ihpzs] .doc[data-astro-cid-ab4ihpzs]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;color:var(--text);font-size:var(--text-base);transition:color var(--transition-fast)}.col-list[data-astro-cid-ab4ihpzs] svg[data-astro-cid-ab4ihpzs]{width:20px;height:20px;flex-shrink:0}.name[data-astro-cid-ab4ihpzs]{flex:1}.arrow[data-astro-cid-ab4ihpzs]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast)}.col-list[data-astro-cid-ab4ihpzs] .doc[data-astro-cid-ab4ihpzs]:hover{color:var(--accent)}.col-list[data-astro-cid-ab4ihpzs] .doc[data-astro-cid-ab4ihpzs]:hover .arrow[data-astro-cid-ab4ihpzs],.col-list[data-astro-cid-ab4ihpzs] .doc[data-astro-cid-ab4ihpzs]:focus-visible .arrow[data-astro-cid-ab4ihpzs]{opacity:1}.used[data-astro-cid-ab4ihpzs]{margin:calc(var(--space-2) * -1) 0 var(--space-3) calc(20px + var(--space-3));font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.used[data-astro-cid-ab4ihpzs] a[data-astro-cid-ab4ihpzs]{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border);transition:color var(--transition-fast)}.used[data-astro-cid-ab4ihpzs] a[data-astro-cid-ab4ihpzs]:hover{color:var(--accent);text-decoration-color:var(--accent)}@media(max-width:900px){.stack[data-astro-cid-ab4ihpzs]{grid-template-columns:1fr}}@media(max-width:768px){.skills-section[data-astro-cid-ab4ihpzs]{padding:var(--space-6) var(--space-6) var(--space-12)}.col[data-astro-cid-ab4ihpzs]{padding:var(--space-4) var(--space-5)}.col-list[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}.col-list[data-astro-cid-ab4ihpzs] li[data-astro-cid-ab4ihpzs]+li[data-astro-cid-ab4ihpzs]{border-top:none}.col-list[data-astro-cid-ab4ihpzs] .doc[data-astro-cid-ab4ihpzs]{padding:var(--space-2) 0;font-size:var(--text-sm)}.arrow[data-astro-cid-ab4ihpzs]{display:none}.used[data-astro-cid-ab4ihpzs]{margin-top:calc(var(--space-1) * -1)}}.project-card[data-astro-cid-mspuyifq]{transform:perspective(1000px) rotateX(var(--ty, 0deg)) rotateY(var(--tx, 0deg));transition:border-color var(--transition-fast),transform .3s cubic-bezier(.2,.7,.2,1);position:relative;width:100%;display:flex;flex-direction:column;gap:var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);color:var(--text);text-decoration:none;overflow:hidden}.card-track[data-astro-cid-mspuyifq]{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.4,0,.2,1);pointer-events:none}.project-card[data-astro-cid-mspuyifq]:hover{border-color:#e89aa680;cursor:pointer}.project-card[data-astro-cid-mspuyifq]:hover .card-track[data-astro-cid-mspuyifq],.project-card[data-astro-cid-mspuyifq]:focus-visible .card-track[data-astro-cid-mspuyifq]{transform:scaleX(1)}.project-card[data-astro-cid-mspuyifq]:focus-visible{border-color:var(--accent)}.card-image[data-astro-cid-mspuyifq]{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--bg-elevated);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center}.card-image[data-astro-cid-mspuyifq] img[data-astro-cid-mspuyifq]{width:100%;height:100%;object-fit:cover;display:block;transform:translate(var(--ix, 0px),var(--iy, 0px)) scale(1.06);transition:transform .3s cubic-bezier(.2,.7,.2,1)}.card-soon[data-astro-cid-mspuyifq]{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);border:1px solid var(--accent);border-radius:var(--radius);translate:var(--ix, 0px) var(--iy, 0px);transition:translate .3s cubic-bezier(.2,.7,.2,1)}.soon-title[data-astro-cid-mspuyifq]{font-family:var(--font-serif);font-style:italic;font-size:clamp(28px,3.4vw,44px);color:var(--text);line-height:1.1}.soon-label[data-astro-cid-mspuyifq]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.card-body[data-astro-cid-mspuyifq]{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.card-more[data-astro-cid-mspuyifq]{margin-top:auto;padding-top:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted);transition:color var(--transition-fast)}.more-arrow[data-astro-cid-mspuyifq]{display:inline-block;transition:transform var(--transition-fast)}.project-card[data-astro-cid-mspuyifq]:hover .card-more[data-astro-cid-mspuyifq],.project-card[data-astro-cid-mspuyifq]:focus-visible .card-more[data-astro-cid-mspuyifq]{color:var(--accent)}.project-card[data-astro-cid-mspuyifq]:hover .more-arrow[data-astro-cid-mspuyifq]{transform:translate(4px)}.card-head[data-astro-cid-mspuyifq]{display:flex;align-items:baseline;gap:var(--space-3)}.card-index[data-astro-cid-mspuyifq]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.04em}.card-year[data-astro-cid-mspuyifq]{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em}.card-status[data-astro-cid-mspuyifq]{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;padding:var(--space-1) var(--space-2);background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.card-title[data-astro-cid-mspuyifq]{margin:0;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--text);line-height:1.2}.card-tagline[data-astro-cid-mspuyifq]{margin:0;color:var(--text);opacity:.85;font-size:var(--text-sm);line-height:1.55}.card-meta[data-astro-cid-mspuyifq]{margin:var(--space-2) 0 0;display:flex;gap:var(--space-2);flex-wrap:wrap;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.card-meta[data-astro-cid-mspuyifq] .dot[data-astro-cid-mspuyifq]{opacity:.5}.card-tech[data-astro-cid-mspuyifq]{margin:0;color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;opacity:.85;line-height:1.4}@media(prefers-reduced-motion:reduce){.card-track[data-astro-cid-mspuyifq]{transition:opacity .2s;transform:scaleX(1);opacity:0}.project-card[data-astro-cid-mspuyifq]:hover .card-track[data-astro-cid-mspuyifq],.project-card[data-astro-cid-mspuyifq]:focus-visible .card-track[data-astro-cid-mspuyifq]{opacity:1}}@media(max-width:768px){.project-card[data-astro-cid-mspuyifq]{padding:var(--space-3);gap:var(--space-3)}.card-title[data-astro-cid-mspuyifq]{font-size:var(--text-base)}.card-tagline[data-astro-cid-mspuyifq],.card-index[data-astro-cid-mspuyifq],.card-status[data-astro-cid-mspuyifq],.card-more[data-astro-cid-mspuyifq]{display:none}.card-meta[data-astro-cid-mspuyifq]{font-size:var(--text-xs);flex-direction:column;gap:var(--space-1)}.card-meta[data-astro-cid-mspuyifq] .dot[data-astro-cid-mspuyifq]{display:none}.card-tech[data-astro-cid-mspuyifq]{font-size:10px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card-soon[data-astro-cid-mspuyifq]{padding:var(--space-2) var(--space-4)}.soon-title[data-astro-cid-mspuyifq]{font-size:var(--text-lg)}.soon-label[data-astro-cid-mspuyifq]{font-size:10px}}.drawer[data-astro-cid-i5dmplbq]{position:fixed;top:0;right:0;bottom:0;width:min(50%,600px);height:100vh;background:var(--bg);color:var(--text);border-left:1px solid var(--border);transform:translate(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:60;box-shadow:-8px 0 40px #00000073;overflow:hidden}.drawer[data-astro-cid-i5dmplbq].is-open{transform:translate(0)}.drawer[data-astro-cid-i5dmplbq][hidden]{display:none}.drawer-content[data-astro-cid-i5dmplbq]{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-12) var(--space-8);position:relative;z-index:1}.drawer-close[data-astro-cid-i5dmplbq]{position:sticky;top:0;margin-left:auto;margin-bottom:var(--space-6);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);z-index:2}.drawer-close[data-astro-cid-i5dmplbq]:hover{color:var(--text);border-color:#e89aa680}.drawer-close[data-astro-cid-i5dmplbq]:focus-visible{color:var(--accent);border-color:var(--accent)}.drawer-overlay[data-astro-cid-i5dmplbq]{position:fixed;inset:0;background:#e89aa60f;opacity:0;transition:opacity .32s cubic-bezier(.4,0,.2,1);z-index:50}.drawer-overlay[data-astro-cid-i5dmplbq].is-open{opacity:1}.drawer-overlay[data-astro-cid-i5dmplbq][hidden]{display:none}@media(max-width:768px){.drawer[data-astro-cid-i5dmplbq]{inset:auto 0 0;width:100%;max-width:none;height:88vh;height:88dvh;border-left:none;border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;transform:translateY(100%);box-shadow:0 -8px 40px #00000073}.drawer[data-astro-cid-i5dmplbq].is-open{transform:translateY(0)}.drawer-content[data-astro-cid-i5dmplbq]{padding-top:calc(var(--space-8) + env(safe-area-inset-top));padding-right:calc(var(--space-8) + env(safe-area-inset-right));padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom));padding-left:calc(var(--space-8) + env(safe-area-inset-left));-webkit-overflow-scrolling:touch}}@media(prefers-reduced-motion:reduce){.drawer[data-astro-cid-i5dmplbq],.drawer-overlay[data-astro-cid-i5dmplbq]{transition:none}}.projects-section[data-astro-cid-oyo7lhtz]{max-width:1200px;margin:0 auto;padding:var(--space-16) var(--space-16) var(--space-12)}.section-header[data-astro-cid-oyo7lhtz]{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-12)}.section-title[data-astro-cid-oyo7lhtz]{margin:0;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--text);line-height:1}.group[data-astro-cid-oyo7lhtz]{position:relative}.group-amios[data-astro-cid-oyo7lhtz]{padding:var(--space-10);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-24)}.group-plate[data-astro-cid-oyo7lhtz]{position:absolute;inset:0;z-index:-1;border:1.5px solid var(--accent);border-radius:var(--radius);transform:translate(14px,14px)}.group-head[data-astro-cid-oyo7lhtz]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:end;margin-bottom:var(--space-8)}.group-student[data-astro-cid-oyo7lhtz] .group-head[data-astro-cid-oyo7lhtz]{padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.group-kicker[data-astro-cid-oyo7lhtz]{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.group-title[data-astro-cid-oyo7lhtz]{margin:0;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(40px,6vw,80px);line-height:.95;letter-spacing:-.02em;color:var(--text)}.group-side[data-astro-cid-oyo7lhtz]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.group-desc[data-astro-cid-oyo7lhtz]{margin:0;max-width:44ch;color:var(--text-muted);font-size:var(--text-base);line-height:1.55}.group-link[data-astro-cid-oyo7lhtz]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#e89aa666;transition:text-decoration-color var(--transition-fast)}.group-link[data-astro-cid-oyo7lhtz]:hover{text-decoration-color:var(--accent)}.projects-grid[data-astro-cid-oyo7lhtz]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);align-items:stretch}.projects-grid[data-astro-cid-oyo7lhtz] .fade-in{display:flex}.projects-grid[data-astro-cid-oyo7lhtz] .project-card{height:100%}@media(min-width:1101px){.group-student[data-astro-cid-oyo7lhtz] .projects-grid[data-astro-cid-oyo7lhtz]{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.group-student[data-astro-cid-oyo7lhtz] .project-card{padding:var(--space-5)}.group-student[data-astro-cid-oyo7lhtz] .card-title{font-size:var(--text-lg)}}@media(max-width:768px){.projects-section[data-astro-cid-oyo7lhtz]{padding:var(--space-10) var(--space-4) var(--space-8)}.group[data-astro-cid-oyo7lhtz]{position:relative}.group-amios[data-astro-cid-oyo7lhtz]{padding:var(--space-10);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-24)}.group-plate[data-astro-cid-oyo7lhtz]{position:absolute;inset:0;z-index:-1;border:1.5px solid var(--accent);border-radius:var(--radius);transform:translate(14px,14px)}.group-head[data-astro-cid-oyo7lhtz]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:end;margin-bottom:var(--space-8)}.group-student[data-astro-cid-oyo7lhtz] .group-head[data-astro-cid-oyo7lhtz]{padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.group-kicker[data-astro-cid-oyo7lhtz]{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.group-title[data-astro-cid-oyo7lhtz]{margin:0;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(40px,6vw,80px);line-height:.95;letter-spacing:-.02em;color:var(--text)}.group-side[data-astro-cid-oyo7lhtz]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.group-desc[data-astro-cid-oyo7lhtz]{margin:0;max-width:44ch;color:var(--text-muted);font-size:var(--text-base);line-height:1.55}.group-link[data-astro-cid-oyo7lhtz]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#e89aa666;transition:text-decoration-color var(--transition-fast)}.group-link[data-astro-cid-oyo7lhtz]:hover{text-decoration-color:var(--accent)}.projects-grid[data-astro-cid-oyo7lhtz]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:stretch}.group-amios[data-astro-cid-oyo7lhtz]{padding:var(--space-4);margin-bottom:var(--space-16)}.group-plate[data-astro-cid-oyo7lhtz]{transform:translate(8px,8px)}.group-head[data-astro-cid-oyo7lhtz]{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-6)}}.about-section[data-astro-cid-v2cbyr3p]{max-width:1200px;margin:0 auto;padding:var(--space-16) var(--space-16) var(--space-24)}.section-header[data-astro-cid-v2cbyr3p]{display:flex;margin-bottom:var(--space-12)}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-16);align-items:start}.about-prose[data-astro-cid-v2cbyr3p]{max-width:60ch}.about-prose[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-5);color:var(--text-muted);font-size:var(--text-lg);line-height:1.7}.about-prose[data-astro-cid-v2cbyr3p] .lead[data-astro-cid-v2cbyr3p]{font-family:var(--font-serif);font-size:clamp(19px,1.8vw,23px);line-height:1.5;color:var(--text);margin-bottom:var(--space-8)}.about-prose[data-astro-cid-v2cbyr3p] .hobbies[data-astro-cid-v2cbyr3p]{margin:var(--space-8) 0 0;padding-top:var(--space-5);border-top:1px solid var(--border);font-family:var(--font-serif);font-style:italic;color:var(--text)}.about-facts[data-astro-cid-v2cbyr3p]{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.fact[data-astro-cid-v2cbyr3p]{padding:var(--space-5);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.fact-label[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.fact-value[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-1);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--text);line-height:1.2}.fact-detail[data-astro-cid-v2cbyr3p]{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.path[data-astro-cid-v2cbyr3p]{margin-top:var(--space-24)}.path-label[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-8);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.path-list[data-astro-cid-v2cbyr3p]{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-6)}.path-list[data-astro-cid-v2cbyr3p]:before{content:"";position:absolute;top:5px;left:0;right:0;height:1px;background:var(--border)}.step[data-astro-cid-v2cbyr3p]{position:relative;padding-top:var(--space-8)}.step-mark[data-astro-cid-v2cbyr3p]{position:absolute;top:0;left:0;width:11px;height:11px;background:var(--bg);border:1px solid var(--text-muted)}.step[data-astro-cid-v2cbyr3p].now .step-mark[data-astro-cid-v2cbyr3p]{background:var(--accent);border-color:var(--accent)}.step-when[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted)}.step-what[data-astro-cid-v2cbyr3p]{margin:0 0 var(--space-1);font-family:var(--font-serif);font-size:var(--text-lg);line-height:1.25;color:var(--text)}.step[data-astro-cid-v2cbyr3p].now .step-what[data-astro-cid-v2cbyr3p]{font-style:italic;color:var(--accent)}.step-detail[data-astro-cid-v2cbyr3p]{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--text-muted)}@media(max-width:1024px){.about-grid[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr;gap:var(--space-10)}.path-list[data-astro-cid-v2cbyr3p]{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--space-10)}}@media(max-width:768px){.about-section[data-astro-cid-v2cbyr3p]{padding:var(--space-12) var(--space-6) var(--space-16)}.about-prose[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{font-size:var(--text-base)}.path[data-astro-cid-v2cbyr3p]{margin-top:var(--space-16)}.path-list[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr;row-gap:var(--space-6);padding-left:var(--space-8)}.path-list[data-astro-cid-v2cbyr3p]:before{inset:0 auto 0 5px;width:1px;height:auto}.step[data-astro-cid-v2cbyr3p]{padding-top:0}.step-mark[data-astro-cid-v2cbyr3p]{left:calc(-1 * var(--space-8));top:4px}}.contact-section[data-astro-cid-xmivup5a]{max-width:1200px;margin:0 auto;padding:var(--space-32) var(--space-16) var(--space-12)}.section-header[data-astro-cid-xmivup5a]{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-12)}.section-title[data-astro-cid-xmivup5a]{margin:0;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--accent);line-height:1}.contact-intro[data-astro-cid-xmivup5a]{margin:0 0 var(--space-8);max-width:60ch;color:var(--text);font-family:var(--font-serif);font-size:var(--text-lg);line-height:1.6}.contact-primary[data-astro-cid-xmivup5a]{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-12);padding-left:var(--space-6);border-left:2px solid var(--accent)}.contact-method-label[data-astro-cid-xmivup5a]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.contact-email[data-astro-cid-xmivup5a]{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:500;color:var(--text);text-decoration:none;transition:color var(--transition-fast)}.contact-email[data-astro-cid-xmivup5a]:hover{color:var(--accent)}.copy-btn[data-astro-cid-xmivup5a]{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.copy-btn[data-astro-cid-xmivup5a]:hover{color:var(--text);border-color:#e89aa680}.copy-btn[data-astro-cid-xmivup5a].copied{color:var(--accent);border-color:var(--accent)}.contact-or[data-astro-cid-xmivup5a]{margin:0 0 var(--space-4);color:var(--text-muted);font-family:var(--font-serif);font-size:var(--text-base)}.contact-links[data-astro-cid-xmivup5a]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.contact-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]{display:inline-flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;color:var(--text);text-decoration:none;transition:color var(--transition-fast)}.contact-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]:hover{color:var(--accent)}.link-label[data-astro-cid-xmivup5a]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;min-width:80px}.contact-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]:hover .link-label[data-astro-cid-xmivup5a]{color:var(--accent)}.link-handle[data-astro-cid-xmivup5a]{font-family:var(--font-serif);font-size:var(--text-lg)}.link-arrow[data-astro-cid-xmivup5a]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}@media(max-width:768px){.contact-section[data-astro-cid-xmivup5a]{padding:var(--space-16) var(--space-6) var(--space-8)}.section-title[data-astro-cid-xmivup5a]{font-size:var(--text-2xl)}.contact-email[data-astro-cid-xmivup5a]{font-size:var(--text-xl)}.link-label[data-astro-cid-xmivup5a]{min-width:70px}}.site-footer[data-astro-cid-sz7xmlte]{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-16) var(--space-6)}.footer-rule[data-astro-cid-sz7xmlte]{margin:0 0 var(--space-8);border:none;height:1px;background:var(--border)}.footer-grid[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-8)}.back-to-top[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-family:var(--font-serif);font-size:var(--text-base);text-decoration:none;transition:color var(--transition-fast)}.back-to-top[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}@media(max-width:768px){.site-footer[data-astro-cid-sz7xmlte]{padding:var(--space-6) var(--space-6) var(--space-4)}}
