.card[data-astro-cid-spra6yxn].c-hero{background:var(--fg);border-color:var(--dark-line);flex-direction:row;grid-area:hero;align-items:stretch;padding:0}.card[data-astro-cid-spra6yxn].c-work{grid-area:work;justify-content:center}.card[data-astro-cid-spra6yxn].c-projects{grid-area:projects}.card[data-astro-cid-spra6yxn].c-tools{grid-area:tools}.card[data-astro-cid-spra6yxn].c-contact{background:var(--badge);border-color:color-mix(in oklch, var(--badge) 62%, var(--fg));grid-area:contact;justify-content:center}.bento-card-image[data-astro-cid-spra6yxn]{object-fit:cover;width:100%}.card[data-astro-cid-spra6yxn].c-hero .bento-card-image[data-astro-cid-spra6yxn]{background:var(--dark-well);border-right:1px solid var(--dark-line);flex:0 0 clamp(170px,25%,268px);width:auto;height:100%}.c-hero[data-astro-cid-spra6yxn] :focus-visible,.c-contact[data-astro-cid-spra6yxn] :focus-visible{outline-color:var(--fg)}@media (width>=921px) and (height<=880px){.card[data-astro-cid-spra6yxn].c-hero{padding:0}}@media (width<=920px){.card[data-astro-cid-spra6yxn].c-hero{flex-direction:column}.card[data-astro-cid-spra6yxn].c-hero .bento-card-image[data-astro-cid-spra6yxn]{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--dark-line);flex:none;width:100%;height:auto}}:root{--bg:#fafaff;--surface:#f4f6ff;--fg:#1a1a2e;--muted:#6b6b8a;--border:color-mix(in oklch, var(--fg) 11%, var(--surface));--accent:#3d3d8f;--accent-2:#7c5cfc;--badge:#c7b8ff;--dark-fg:color-mix(in oklch, var(--bg) 97%, var(--fg));--dark-muted:color-mix(in oklch, var(--bg) 62%, var(--fg));--dark-line:color-mix(in oklch, var(--bg) 16%, var(--fg));--dark-well:color-mix(in oklch, var(--bg) 9%, var(--fg));--badge-soft:color-mix(in oklch, var(--badge) 38%, var(--surface));--accent2-soft:color-mix(in oklch, var(--accent-2) 14%, transparent);--scrim:color-mix(in oklch, var(--fg) 62%, transparent);--shadow-rest:0 1px 2px color-mix(in oklch, var(--fg) 5%, transparent), 0 10px 26px color-mix(in oklch, var(--fg) 7%, transparent);--shadow-hover:0 2px 4px color-mix(in oklch, var(--fg) 7%, transparent), 0 18px 40px color-mix(in oklch, var(--fg) 13%, transparent);--font-display:"Inter", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--radius:8px;--radius-lg:16px;--enter-duration:.46s;--enter-ease:cubic-bezier(.2, .72, .3, 1);--hover-duration:.2s;--enter-step:80ms}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(78% 62% at 38% 16%, #c7b8ff33, #c7b8ff00 68%), var(--bg);background-attachment:fixed;margin:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}p{text-wrap:pretty;margin:0}h1,h2{text-wrap:balance;font-family:var(--font-display);margin:0}img{max-width:100%;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-rest)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:11px;font-weight:600}.card-body{color:var(--muted);font-size:13.5px;line-height:1.6}.bento-page{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100vh;padding:clamp(20px,2.4vw,34px) clamp(24px,3.8vw,56px) clamp(22px,2.6vw,38px);display:grid}.bento-topline{align-items:center;padding-bottom:clamp(14px,1.9vw,22px);display:flex}.bento-mark{align-items:center;gap:10px;display:flex}.bento-mark .dot{background:var(--accent-2);border-radius:50%;flex:none;width:9px;height:9px}.bento-mark span{letter-spacing:-.015em;font-size:15px;font-weight:700}.bento-grid{grid-template:"hero hero projects"minmax(0,1.28fr)"work tools projects"minmax(0,.78fr)"contact tools projects"minmax(0,.94fr)/minmax(0,1.58fr) minmax(0,1.02fr) minmax(0,.96fr);gap:clamp(14px,1.5vw,20px);min-width:0;min-height:0;display:grid}.bento-card{opacity:0;flex-direction:column;min-width:0;min-height:0;padding:clamp(18px,1.9vw,26px);display:flex;overflow:hidden;transform:translateY(12px)}.bento-grid.is-ready .bento-card{opacity:1;transition:opacity var(--enter-duration) ease, transform var(--enter-duration) var(--enter-ease);transform:none}.bento-grid.is-ready .bento-card:first-child{transition-delay:calc(0 * var(--enter-step))}.bento-grid.is-ready .bento-card:nth-child(2){transition-delay:calc(1 * var(--enter-step))}.bento-grid.is-ready .bento-card:nth-child(3){transition-delay:calc(2 * var(--enter-step))}.bento-grid.is-ready .bento-card:nth-child(4){transition-delay:calc(3 * var(--enter-step))}.bento-grid.is-ready .bento-card:nth-child(5){transition-delay:calc(4 * var(--enter-step))}.bento-grid.is-settled .bento-card{transition:transform var(--hover-duration) ease, box-shadow var(--hover-duration) ease;transition-delay:0s}.bento-grid.is-settled .bento-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}@media (width>=921px) and (height<=880px){.bento-page{padding:18px clamp(24px,3.2vw,44px) 20px}.bento-topline{padding-bottom:14px}.bento-grid{gap:14px}.bento-card{padding:16px 18px}.eyebrow{margin-bottom:8px}.card-body{font-size:12.5px}}@media (width<=920px){.bento-page{height:auto;min-height:100vh;padding:20px}.bento-grid{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"hero""work""projects""tools""contact"}}@media (prefers-reduced-motion:reduce){.bento-card,.bento-grid.is-ready .bento-card{opacity:1;transition:none;transform:none}.bento-grid.is-settled .bento-card:hover{transform:none}}.hero-content[data-astro-cid-lcdefpme]{flex-direction:column;flex:auto;justify-content:center;gap:clamp(13px,1.6vw,22px);min-width:0;padding:clamp(20px,2.4vw,34px) clamp(22px,2.8vw,40px);display:flex}.hero-name[data-astro-cid-lcdefpme]{letter-spacing:-.035em;color:var(--dark-fg);font-size:clamp(30px,4.1vw,56px);font-weight:800;line-height:1.02}.hero-role[data-astro-cid-lcdefpme]{letter-spacing:.05em;text-transform:uppercase;color:var(--dark-muted);margin-top:9px;font-size:12.5px;font-weight:600}.hero-tagline[data-astro-cid-lcdefpme]{color:var(--dark-muted);max-width:58ch;font-size:clamp(13.5px,1.15vw,16px);line-height:1.6}.hero-stats[data-astro-cid-lcdefpme]{gap:clamp(26px,3.4vw,52px);padding-top:2px;display:flex}.hero-stat-num[data-astro-cid-lcdefpme]{font-family:var(--font-display);letter-spacing:-.03em;color:var(--accent-2);font-size:clamp(24px,2.5vw,34px);font-weight:800;line-height:1}.hero-stat-label[data-astro-cid-lcdefpme]{color:var(--dark-muted);margin-top:8px;font-size:11.5px;font-weight:500}.work-tags[data-astro-cid-lcdefpme]{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.work-tag[data-astro-cid-lcdefpme]{color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.work-tag[data-astro-cid-lcdefpme] svg{width:13px;height:13px;color:var(--accent);flex:none}.proj-list[data-astro-cid-lcdefpme]{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex}.proj-item[data-astro-cid-lcdefpme]{border-radius:12px;flex-direction:column;flex:1 1 0;gap:9px;min-height:0;display:flex}.proj-thumb[data-astro-cid-lcdefpme]{aspect-ratio:16/9;background:var(--badge-soft);border:1px solid var(--border);width:100%;min-height:0;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;transition:transform var(--hover-duration) ease, box-shadow var(--hover-duration) ease;border-radius:12px;flex:0 auto;place-items:center;font-size:10.5px;display:grid;position:relative;overflow:hidden}.proj-img[data-astro-cid-lcdefpme]{object-fit:cover;grid-area:1/1;width:100%;height:100%}.proj-item[data-astro-cid-lcdefpme]:hover .proj-thumb[data-astro-cid-lcdefpme],.proj-item[data-astro-cid-lcdefpme]:focus-visible .proj-thumb[data-astro-cid-lcdefpme]{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.proj-overlay[data-astro-cid-lcdefpme]{background:var(--scrim);opacity:0;transition:opacity var(--hover-duration) ease;place-items:center;display:grid;position:absolute;inset:0}.proj-item[data-astro-cid-lcdefpme]:hover .proj-overlay[data-astro-cid-lcdefpme],.proj-item[data-astro-cid-lcdefpme]:focus-visible .proj-overlay[data-astro-cid-lcdefpme]{opacity:1}.proj-overlay[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{background:var(--bg);color:var(--fg);letter-spacing:.02em;text-transform:none;box-shadow:0 4px 14px color-mix(in oklch, var(--fg) 26%, transparent);border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:600}.proj-row[data-astro-cid-lcdefpme]{justify-content:space-between;align-items:center;gap:10px;display:flex}.proj-row[data-astro-cid-lcdefpme]>span[data-astro-cid-lcdefpme]:first-child{min-width:0;display:block}.proj-name[data-astro-cid-lcdefpme]{letter-spacing:-.008em;font-size:14px;font-weight:600;display:block}.proj-desc[data-astro-cid-lcdefpme]{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.proj-link[data-astro-cid-lcdefpme]{border:1px solid var(--border);width:28px;height:28px;color:var(--fg);transition:background var(--hover-duration) ease, border-color var(--hover-duration) ease, color var(--hover-duration) ease;border-radius:50%;flex:none;place-items:center;display:grid}.proj-item[data-astro-cid-lcdefpme]:hover .proj-link[data-astro-cid-lcdefpme]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.proj-link[data-astro-cid-lcdefpme] svg{width:13px;height:13px}.tool-grid[data-astro-cid-lcdefpme]{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-content:space-evenly;gap:clamp(12px,1.4vw,20px) 8px;min-height:0;padding:6px 0 2px;display:grid}.tool[data-astro-cid-lcdefpme]{text-align:center;flex-direction:column;align-items:center;gap:7px;display:flex}.tool-icon[data-astro-cid-lcdefpme]{aspect-ratio:1;width:clamp(34px,3.3vw,46px);color:var(--tone);background:color-mix(in oklch, var(--tone) 13%, var(--bg));border:1px solid color-mix(in oklch, var(--tone) 22%, var(--border));border-radius:12px;place-items:center;display:grid}.tool-icon[data-astro-cid-lcdefpme] svg{width:55%;height:55%}.tool-name[data-astro-cid-lcdefpme]{color:var(--fg);font-size:10.5px;font-weight:500;line-height:1.25}.contact-body[data-astro-cid-lcdefpme]{color:var(--fg);font-size:13px;line-height:1.55}.contact-btn[data-astro-cid-lcdefpme]{background:var(--accent);color:var(--bg);border-radius:var(--radius);border:1px solid var(--accent);letter-spacing:-.01em;transition:background var(--hover-duration) ease, border-color var(--hover-duration) ease;justify-content:center;align-items:center;gap:9px;margin:14px 0;padding:15px 18px;font-size:clamp(14px,1.25vw,17px);font-weight:700;display:flex}.contact-btn[data-astro-cid-lcdefpme] svg[data-astro-cid-lcdefpme]{flex:none;width:17px;height:17px}.contact-btn[data-astro-cid-lcdefpme]:hover{background:color-mix(in oklch, var(--accent) 82%, black);border-color:color-mix(in oklch, var(--accent) 82%, black);color:var(--bg)}.social-row[data-astro-cid-lcdefpme]{gap:10px;display:flex}.social-link[data-astro-cid-lcdefpme]{background:var(--bg);width:40px;height:40px;color:var(--tone);border:1px solid color-mix(in oklch, var(--badge) 62%, var(--fg));transition:transform var(--hover-duration) ease, box-shadow var(--hover-duration) ease;border-radius:50%;place-items:center;display:grid}.social-link[data-astro-cid-lcdefpme] svg{width:19px;height:19px}.social-link[data-astro-cid-lcdefpme]:hover{box-shadow:0 6px 16px color-mix(in oklch, var(--fg) 22%, transparent);transform:translateY(-3px)}@media (width>=921px) and (height<=880px){.hero-content[data-astro-cid-lcdefpme]{gap:12px;padding:20px clamp(20px,2.2vw,30px)}.hero-tagline[data-astro-cid-lcdefpme]{font-size:14px}.work-tags[data-astro-cid-lcdefpme]{margin-top:11px}.contact-btn[data-astro-cid-lcdefpme]{margin:11px 0;padding:12px 16px}.social-link[data-astro-cid-lcdefpme]{width:36px;height:36px}.tool-grid[data-astro-cid-lcdefpme]{gap:10px 8px}}@media (width<=920px){.hero-name[data-astro-cid-lcdefpme]{font-size:clamp(30px,8.5vw,44px)}.proj-item[data-astro-cid-lcdefpme]{flex:none}.tool-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.proj-thumb[data-astro-cid-lcdefpme],.proj-overlay[data-astro-cid-lcdefpme],.social-link[data-astro-cid-lcdefpme]{transition:none}}
