@font-face{font-family:Gugi;src:url(/fonts/Gugi/Gugi-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/Space_Grotesk/SpaceGrotesk-VariableFont_wght.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}:root{--bg: #140b20;--surface: #1d142d;--surface-2: #241836;--panel: rgba(36, 24, 54, .9);--panel-strong: rgba(29, 20, 45, .96);--border: #312046;--text: #eef2ff;--muted: #beb6d6;--accent: #8b5cf6;--font-hero: "Gugi", sans-serif;--font-display: "Space Grotesk", sans-serif;--font-body: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--content-width: 72rem;--reading-width: 68ch;--radius: 14px;--shadow-soft: 0 10px 30px rgba(0, 0, 0, .25);--shadow-panel: 0 18px 50px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .03);--bp-gap: 4.75rem;--bp-offset-right: 2.6rem;--bp-offset-bottom: 2.8rem;--bp-line: rgba(139, 92, 246, .9)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--font-body);line-height:1.6;background:radial-gradient(circle at 15% 20%,rgba(139,92,246,.14),transparent 28%),radial-gradient(circle at 85% 15%,rgba(139,92,246,.08),transparent 22%),linear-gradient(180deg,#140b20,#12091d);position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.48;background-image:linear-gradient(rgba(139,92,246,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.16) 1px,transparent 1px),linear-gradient(rgba(139,92,246,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.12) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px}main,.site-header,.site-footer{position:relative;z-index:1}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3{margin:0;line-height:1.05}code,pre{font-family:var(--font-mono)}.container{width:min(100% - 2rem,var(--content-width));margin-inline:auto}#home.section{padding-block:clamp(5rem,10vw,7rem)}.section{padding-block:clamp(3rem,3vw,4.5rem);position:relative;scroll-margin-top:6rem}.stack>*+*{margin-top:var(--space-5)}.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);background:linear-gradient(180deg,#241836e0,#1d142df0);border-bottom:1px solid var(--border);box-shadow:inset 0 1px #ffffff05}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4.5rem}.site-title{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.04em;color:var(--text)}.nav{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.nav a{color:var(--muted);transition:color .16s ease}.nav a:hover,.nav a:focus-visible{color:var(--accent)}.hero{font-family:var(--font-hero);font-size:clamp(3.5rem,8vw,6.5rem);line-height:.95;letter-spacing:.02em;max-width:10ch;color:var(--text)}.section-title{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);line-height:1;color:var(--text)}.section-subtitle{font-family:var(--font-display);font-size:1rem;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;max-width:60ch}.main-text{max-width:var(--reading-width);color:var(--muted);font-size:1.02rem}.alt-main{font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.meta-line{font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.92}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.15rem;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:var(--text);font-family:var(--font-display);font-weight:700;box-shadow:var(--shadow-soft);transition:transform .16s ease,opacity .16s ease,border-color .16s ease,background .16s ease}.button:hover,.button:focus-visible{transform:translateY(-1px);opacity:.95}.button-ghost{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:none}.surface-card{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);box-shadow:var(--shadow-soft)}.blueprint-card{position:relative;border:1px solid var(--border);border-radius:0;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);padding:var(--space-5);box-shadow:var(--shadow-soft);overflow:visible;margin-bottom:3.75rem}.blueprint-card__inner{position:relative;z-index:1}.blueprint-card__header{margin-bottom:var(--space-4)}.blueprint-card__meta{font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}.blueprint-card__title{font-family:var(--font-display);font-size:1.6rem;color:var(--text);line-height:1.05}.blueprint-card__content>*+*{margin-top:var(--space-4)}.blueprint-card:before,.blueprint-card:after{content:"";position:absolute;width:1.25rem;height:1.25rem;pointer-events:none}.blueprint-card:before{top:-1px;left:-1px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.blueprint-card:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}.blueprint-card__content .main-text{max-width:none;width:100%;text-align:justify;text-wrap:pretty}.blueprint-card__dim{position:absolute;pointer-events:none}.blueprint-card__label{position:absolute;z-index:2;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--bg);padding-inline:.4rem;white-space:nowrap}.blueprint-card__segment,.blueprint-card__cap{position:absolute;display:block;background:var(--bp-line)}.blueprint-card__dim--right{top:0;right:calc(-1 * var(--bp-offset-right));width:var(--bp-offset-right);height:100%}.blueprint-card__dim--right .blueprint-card__cap--top,.blueprint-card__dim--right .blueprint-card__cap--bottom{left:50%;width:.9rem;height:1px;transform:translate(-50%)}.blueprint-card__dim--right .blueprint-card__cap--top{top:.95rem}.blueprint-card__dim--right .blueprint-card__cap--bottom{bottom:.95rem}.blueprint-card__dim--right .blueprint-card__segment--top,.blueprint-card__dim--right .blueprint-card__segment--bottom{left:50%;width:1px;transform:translate(-50%)}.blueprint-card__dim--right .blueprint-card__segment--top{top:.95rem;height:calc(50% - (var(--bp-gap) / 2) - .95rem)}.blueprint-card__dim--right .blueprint-card__segment--bottom{bottom:.95rem;height:calc(50% - (var(--bp-gap) / 2) - .95rem)}.blueprint-card__label--right{top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg)}.blueprint-card__dim--bottom{left:0;bottom:calc(-1 * var(--bp-offset-bottom));width:100%;height:var(--bp-offset-bottom)}.blueprint-card__dim--bottom .blueprint-card__cap--left,.blueprint-card__dim--bottom .blueprint-card__cap--right{top:50%;width:1px;height:.9rem;transform:translateY(-50%)}.blueprint-card__dim--bottom .blueprint-card__cap--left{left:.95rem}.blueprint-card__dim--bottom .blueprint-card__cap--right{right:.95rem}.blueprint-card__dim--bottom .blueprint-card__segment--left,.blueprint-card__dim--bottom .blueprint-card__segment--right{top:50%;height:1px;transform:translateY(-50%)}.blueprint-card__dim--bottom .blueprint-card__segment--left{left:.95rem;width:calc(50% - (var(--bp-gap) / 2) - .95rem)}.blueprint-card__dim--bottom .blueprint-card__segment--right{right:.95rem;width:calc(50% - (var(--bp-gap) / 2) - .95rem)}.blueprint-card__label--bottom{top:50%;left:50%;transform:translate(-50%,-50%)}.project-frame{padding:var(--space-4)}.project-frame .blueprint-card__content{width:100%}.project-frame .projects-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.project-frame .surface-card{height:100%}.project-card{display:flex;flex-direction:column;gap:var(--space-4);transition:transform .18s ease,border-color .18s ease}.project-card:hover{transform:translateY(-4px);border-color:var(--accent)}.project-card__image-link{display:block}.project-card__image{width:100%;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border)}.project-card__title{font-family:var(--font-display);font-size:1.25rem;color:var(--text)}.project-card__title a:hover,.project-card__title a:focus-visible,.project-card__link:hover,.project-card__link:focus-visible{color:var(--accent)}.project-card__description{color:var(--muted)}.project-card__tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.project-card__tags li{padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-family:var(--font-mono);font-size:.8rem;color:var(--text)}.project-card__link{font-family:var(--font-display);font-weight:700;color:var(--accent)}.project-list{margin:0;padding-left:1.25rem;color:var(--muted)}.project-list li+li{margin-top:.5rem}.contact-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}.contact-heading{font-family:var(--font-display);font-size:1.6rem;color:var(--text);line-height:1.1}.contact-form{display:grid;gap:var(--space-4)}.form-field{display:grid;gap:.6rem}.form-field input,.form-field textarea{width:100%;padding:.95rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:#00000014;color:var(--text);font:inherit}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:10rem}.contact-links{display:flex;justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);transition:transform .16s ease,border-color .16s ease,background .16s ease}.contact-icon:hover,.contact-icon:focus-visible{transform:translateY(-2px);border-color:var(--accent);background:var(--surface)}.contact-icon img{width:2rem;height:2rem;display:block;object-fit:contain}.site-footer{margin-top:var(--space-8);padding-block:var(--space-7)}.site-footer .container{border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:linear-gradient(180deg,var(--panel) 0%,var(--panel-strong) 100%);box-shadow:var(--shadow-panel);padding:var(--space-6)}.site-footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap}.site-footer__name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text)}.site-footer__group{display:flex;flex-direction:column;gap:var(--space-4)}.site-footer__nav{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.site-footer__nav a{color:var(--muted)}.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--accent)}.footer-icons{display:flex;gap:var(--space-3);align-items:center}.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border:1px solid var(--border);border-radius:12px;background:#0000001f;transition:transform .16s ease,border-color .16s ease,background .16s ease}.footer-icon:hover,.footer-icon:focus-visible{transform:translateY(-2px);border-color:var(--accent);background:var(--surface-2)}.footer-icon__glyph{width:1.35rem;height:1.35rem;display:block;background-position:center;background-repeat:no-repeat;background-size:contain}.footer-icon__glyph--github{background-image:url(/icons/github.svg)}.footer-icon__glyph--linkedin{background-image:url(/icons/linkedin.svg)}.site-footer__bottom{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.05)}::selection{background:var(--accent);color:var(--text)}@media(min-width:900px){.project-frame .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.blueprint-card{margin-bottom:2.5rem}.blueprint-card__dim--right{display:none}}@media(max-width:700px){.site-header__inner,.site-footer__top,.site-footer__bottom{flex-direction:column;align-items:flex-start}.site-footer .container{padding:var(--space-5)}}
