:root{--color-base-900: #192734;--color-base-700: #22303c;--color-base-500: #50577A;--color-base-300: #6B728E;--color-base-100: #f0f0f0;--color-white: #ffffff;--color-black: #000000;--color-enhancement-primary: #50577A;--color-enhancement-secondary: #6B728E;--color-enhancement-soft: #d9e3ff;--color-enhancement-strong: #64B5F6;--color-enhancement-tag: #01bdd8;--color-text-light-primary: #000000;--color-text-light-secondary: #333333;--color-text-dark-primary: #e6e6e6;--color-text-dark-secondary: #c0c0c0;--color-navbar-light-bg: rgba(65, 65, 65, .4);--color-navbar-light-text: #f1f1f1;--color-navbar-dark-bg: rgba(25, 39, 52, .6);--color-navbar-dark-text: #e6e6e6;--color-hover-dark: #151f29;--color-accent-dark-primary: #404258}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}:root,[data-theme=light]{--bg-primary: var(--color-white);--bg-secondary: var(--color-base-100);--text-primary: var(--color-text-light-primary);--text-secondary: var(--color-text-light-secondary);--navbar-bg: var(--color-navbar-light-bg);--navbar-text: var(--color-navbar-light-text);--btn-bg: rgba(255, 255, 255, .1);--accent-primary: var(--color-enhancement-primary);--accent-secondary: var(--color-enhancement-secondary);--interactive-hover-soft: var(--color-enhancement-soft);--interactive-hover-strong: var(--color-hover-dark);--chip-tech-text: #213d5f;--chip-tech-bg: rgba(33, 61, 95, .11);--chip-tech-border: rgba(33, 61, 95, .24);--text-strong-emphasis: #274c77;--accent-cyan: var(--text-strong-emphasis);--bg-pattern-line: rgba(33, 61, 95, .07);--bg-pattern-dot: rgba(33, 61, 95, .1);--bg-shift: rgba(33, 61, 95, .025)}[data-theme=dark]{--bg-primary: var(--color-base-900);--bg-secondary: var(--color-base-700);--text-primary: var(--color-text-dark-primary);--text-secondary: var(--color-text-dark-secondary);--navbar-bg: var(--color-navbar-dark-bg);--navbar-text: var(--color-navbar-dark-text);--btn-bg: rgba(255, 255, 255, .2);--accent-primary: var(--color-accent-dark-primary);--accent-secondary: var(--color-base-500);--interactive-hover-soft: var(--color-enhancement-soft);--interactive-hover-strong: var(--color-hover-dark);--chip-tech-text: #7fa8cf;--chip-tech-bg: rgba(45, 49, 66, .42);--chip-tech-border: rgba(127, 168, 207, .24);--text-strong-emphasis: #7d9fcf;--accent-cyan: var(--text-strong-emphasis);--bg-pattern-line: rgba(255, 255, 255, .04);--bg-pattern-dot: rgba(255, 255, 255, .07);--bg-shift: rgba(255, 255, 255, .018)}.section-bleed{position:relative;isolation:isolate}.section-bleed:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;z-index:-1;pointer-events:none}html{scroll-behavior:smooth}section[id]{scroll-margin-top:120px}.App{background-color:var(--bg-primary);min-height:100vh;position:relative;overflow-x:hidden;transition:background-color .6s ease-in-out}body{margin:0;font-family:Roboto Mono,monospace;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;transition:background-color .6s ease-in-out,color .6s ease-in-out}h1,h2,h3,h4,h5,h6,p,span,div,section,article,nav,main,footer,a,button,input,textarea,select{transition:background-color .6s ease-in-out,color .6s ease-in-out,border-color .6s ease-in-out}.app{display:flex;flex-direction:column;min-height:100vh}.container{max-width:1200px;width:90%;margin:0 auto;padding:0 15px;position:relative;z-index:1}:root{--navbar-bg-color: var(--navbar-bg);--border-radius-lg: 20px;--text-color: var(--navbar-text);--sign-in-btn-bg: var(--btn-bg);--sign-up-btn-bg: color-mix(in srgb, var(--accent-primary) 35%, transparent);--sign-up-btn-bg-hover: color-mix(in srgb, var(--accent-secondary) 45%, transparent)}.navbar-container{position:fixed;top:20px;left:50%;transform:translate(-50%);width:90%;max-width:1200px;background-color:var(--navbar-bg);border-radius:20px;padding:10px 30px;box-shadow:0 4px 30px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;transition:background-color .3s ease}.navbar-content{display:flex;justify-content:space-between;align-items:center;color:var(--navbar-text);transition:color .3s ease}.navbar-logo{font-weight:700;font-size:1.5em;color:var(--text-color);letter-spacing:.3rem;transition:color .3s ease;position:relative;overflow:visible;display:inline-flex;align-items:center;gap:.15em}.navbar-logo:hover{cursor:default}.navbar-logo__text{position:relative;overflow:hidden}.navbar-logo__text:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.navbar-logo:hover .navbar-logo__text:after{left:100%}.navbar-logo__caret{color:var(--accent-cyan);font-size:.85em;line-height:1;animation:caret-blink 1s step-end infinite;letter-spacing:0}.navbar-links{list-style:none;display:flex;gap:30px;margin:0;padding:0;letter-spacing:.2rem}.navbar-links a{color:var(--text-color);text-decoration:none;font-weight:500;transition:color .3s ease;position:relative}.navbar-links a:after{content:"";position:absolute;top:22px;bottom:0;left:0;width:0;height:2px;background-color:var(--text-color);transition:width .3s ease,background-color .3s ease}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-links a.active{color:var(--accent-cyan)}.navbar-links a.active:after{background-color:var(--accent-cyan)}.navbar-buttons{display:flex;align-items:center;gap:12px}.navbar-buttons button,.navbar-buttons a.sign-up-btn{padding:10px 20px;border-radius:var(--border-radius-lg);border:none;cursor:pointer;font-weight:600;transition:background-color .3s ease;color:var(--text-color);font-size:.9em;font-family:Roboto Mono,monospace}.navbar-buttons a.sign-up-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.sign-in-btn{background-color:var(--sign-in-btn-bg);margin-right:10px}.sign-up-btn{background-color:var(--sign-up-btn-bg)}.sign-up-btn:hover{background-color:var(--sign-up-btn-bg-hover)}.theme-toggle-btn{background-color:var(--sign-in-btn-bg);color:var(--text-color);padding:10px 15px;border-radius:var(--border-radius-lg);border:none;cursor:pointer;font-size:1.2em;transition:background-color .3s ease,color .3s ease}@media (max-width: 1024px){.navbar-links{gap:16px;letter-spacing:.1rem}}@media (max-width: 768px){.navbar-links{display:none}}.toggle-switch{display:inline-flex;align-items:center;height:34px}.toggle-switch-checkbox{display:none}.toggle-switch-label{display:block;width:60px;height:34px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-switch-inner{display:block;width:100%;height:100%;border-radius:34px;background-color:var(--sign-up-btn-bg);transition:background-color .3s}.toggle-switch-switch{display:block;position:absolute;top:3px;left:4px;width:28px;height:28px;border-radius:50%;background:var(--text-color);transition:left .3s;box-shadow:0 1px 4px #0003}.toggle-switch-checkbox:checked+.toggle-switch-label .toggle-switch-inner{background-color:var(--sign-up-btn-bg-hover)}.toggle-switch-checkbox:checked+.toggle-switch-label .toggle-switch-switch{left:28px}.intro{padding:8rem 2rem 0;display:block}.intro.section-bleed:before{background-image:radial-gradient(var(--bg-pattern-dot) 2px,transparent 2px);background-size:60px 60px}.intro-container{display:grid;grid-template-columns:1fr 1.8fr;gap:6rem;max-width:1200px;margin:0 auto;width:100%;align-items:start}.intro-left{display:flex;flex-direction:column;gap:1rem;position:sticky;top:6rem;height:-moz-fit-content;height:fit-content;align-self:start}.intro-prompt{font-size:.75rem;font-weight:400;color:var(--text-secondary);letter-spacing:.04em;opacity:.85;margin-bottom:-.25rem}.intro-name{font-size:3rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.1;letter-spacing:.03em;display:flex;flex-wrap:wrap;align-items:baseline;gap:.12em}.intro-name__caret{color:var(--accent-cyan);font-size:.55em;font-weight:400;line-height:1;animation:caret-blink 1s step-end infinite;align-self:center}.intro-title{font-size:1.5rem;font-weight:400;color:var(--text-secondary);margin:0;line-height:1.4;position:relative;display:inline-block;cursor:pointer}.intro-title:after{content:"";position:absolute;bottom:0;left:0;width:74%;height:1px;background-color:currentColor;transform-origin:right;transition:transform .4s ease}.intro-title:hover:after{transform:scaleX(0);transform-origin:left}.intro-tagline{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.6;margin-top:.5rem;border-left:2px solid rgba(110,141,184,1);padding-left:.9rem}.intro-accordion{margin-top:2.5rem;width:100%;max-width:400px;min-height:360px;display:flex;justify-content:center}.intro-social-row{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:.75rem;max-width:400px;width:100%}.intro-available{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.intro-available-dot{width:8px;height:8px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 #22c55e73,0 0 8px #22c55e59;animation:intro-available-pulse 2s ease-out infinite}@keyframes intro-available-pulse{0%{box-shadow:0 0 #22c55e73,0 0 8px #22c55e59}70%{box-shadow:0 0 0 10px #22c55e00,0 0 8px #22c55e33}to{box-shadow:0 0 #22c55e00,0 0 8px #22c55e59}}.intro-available-text{font-size:.68rem;font-weight:500;letter-spacing:.06em;color:color-mix(in srgb,var(--text-secondary) 85%,transparent);text-transform:uppercase}.intro-socials{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;width:100%}.intro-social-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--text-secondary);text-decoration:none;font-size:.85rem;letter-spacing:.06em;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease;width:-moz-fit-content;width:fit-content}.intro-social-link:hover{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.intro-social-link svg{flex-shrink:0;opacity:.9}.intro-right{display:flex;flex-direction:column}.intro-content{display:flex;flex-direction:column;gap:1.5rem}.intro-content p{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0;font-weight:300;opacity:.85}:root .intro-content p{font-weight:400;color:var(--text-primary);opacity:.9}[data-theme=dark] .intro-content p{font-weight:300;color:var(--text-secondary);opacity:.85}.intro-content p strong{color:var(--text-strong-emphasis);font-weight:700;opacity:1;cursor:pointer;transition:color .3s ease;display:inline-block;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--text-strong-emphasis) 55%,transparent)}.intro-content p strong:hover{color:var(--accent-primary)}[data-theme=dark] .intro-content p strong:hover{color:var(--color-enhancement-strong)}@media (max-width: 968px){.intro-container{grid-template-columns:1fr;gap:3rem}.intro-left{position:static}.intro-name{font-size:2.5rem}.intro-title{font-size:1.25rem}}@media (max-width: 640px){.intro{padding:4rem 1.5rem}.intro-name{font-size:2rem}.intro-title{font-size:1.1rem}.intro-tagline,.intro-content p{font-size:.95rem}.intro-accordion{min-height:340px}}.accordion{width:100%;max-width:400px;margin:0 auto}.accordion-item{border:1px solid var(--stack-card-border);border-radius:10px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 14px #0f141e0f;border-left:2px solid transparent;transition:border-left-color .25s ease,box-shadow .25s ease}[data-theme=dark] .accordion-item{box-shadow:0 2px 18px #00000038}.accordion-item.is-open{border-left-color:var(--accent-cyan)}.accordion-header{width:100%;padding:15px;background:var(--bg-secondary);border:none;text-align:left;font-size:1rem;font-weight:400;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.75rem;transition:background .3s ease;font-family:Roboto Mono,monospace}.accordion-header:hover{background-color:var(--interactive-hover-soft)}[data-theme=dark] .accordion-header:hover{background-color:var(--interactive-hover-strong)}.accordion-icon-wrap{display:inline-flex;align-items:center;gap:.12em;flex-shrink:0;font-size:.95rem;letter-spacing:0;color:var(--text-secondary)}.accordion-bracket{opacity:.65;font-weight:500}.accordion-icon{display:inline-block;transition:transform .3s ease;min-width:.65em;text-align:center}.accordion-icon.open{transform:rotate(45deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--bg-primary)}.accordion-content.open{max-height:280px;border-top:1px solid var(--stack-card-border)}.accordion-content p{padding:15px;margin:0;color:var(--text-secondary);line-height:1.6}.stack{text-align:left;padding:1rem 2rem 2rem}.stack.section-bleed:before{background-image:radial-gradient(60% 80% at 90% 10%,color-mix(in srgb,var(--accent-cyan) 9%,transparent),transparent 70%),linear-gradient(to right,var(--bg-pattern-line) 1px,transparent 1px),linear-gradient(to bottom,var(--bg-pattern-line) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;background-position:center,0 0,0 0;background-repeat:no-repeat,repeat,repeat}.stack-panel{border-radius:22px;padding:.95rem;background:linear-gradient(145deg,#ffffff2e,#ffffff0d);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #161e2d1f;overflow:hidden}[data-theme=dark] .stack-panel{background:linear-gradient(145deg,#ffffff1a,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 35px #0a101c59}:root{--stack-card-bg: rgba(255, 255, 255, .03);--stack-card-border: rgba(0, 0, 0, .06);--stack-card-hover-bg: rgba(255, 255, 255, .045);--stack-tag-bg: rgba(255, 255, 255, .03);--stack-muted: rgba(0, 0, 0, .6)}[data-theme=dark]{--stack-card-bg: rgba(255, 255, 255, .02);--stack-card-border: rgba(255, 255, 255, .04);--stack-card-hover-bg: rgba(255, 255, 255, .035);--stack-tag-bg: rgba(255, 255, 255, .03);--stack-muted: rgba(255, 255, 255, .45)}.stack-grid{display:flex;gap:2rem;align-items:stretch;justify-content:center}.stack-left{width:50%;min-width:0;display:flex;flex-direction:column;gap:1.25rem;padding:.25rem}.stack-group-label{margin:0 0 .45rem;font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--text-secondary);font-family:Roboto Mono,monospace;opacity:.9}.stack-group-items{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start;justify-content:flex-start}.stack-item{display:flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;width:auto;flex:0 1 auto;white-space:nowrap;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Roboto Mono,monospace;font-size:.9rem;border-radius:999px}.stack-item.variant-default{color:var(--chip-tech-text);background:var(--chip-tech-bg);border:1px solid var(--chip-tech-border)}.stack-item.variant-dark{color:var(--navbar-text);background:color-mix(in srgb,var(--color-base-900) 72%,transparent);border:1px solid var(--chip-tech-border)}.stack-item.variant-muted{color:color-mix(in srgb,var(--accent-primary) 72%,var(--text-primary));background:color-mix(in srgb,var(--accent-secondary) 30%,transparent);border:1px solid var(--chip-tech-border)}[data-theme=dark] .stack-item.variant-default{color:var(--color-white)}[data-theme=dark] .stack-item.variant-dark{color:var(--color-white);background:#141928c7;border-color:#aac3e242}[data-theme=dark] .stack-item.variant-muted{color:var(--color-white);background:#343e713d;border-color:#aac3e238}.stack-item:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.stack-item:hover,.stack-item.active{transform:translateY(-2px);box-shadow:0 4px 20px #0f141e40;border-color:var(--accent-cyan);color:var(--text-primary);background-color:var(--interactive-hover-soft)}[data-theme=dark] .stack-item:hover,[data-theme=dark] .stack-item.active{color:var(--color-white);background-color:var(--interactive-hover-strong);border-color:var(--accent-cyan)}.stack-right{width:50%;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.75rem;overflow:hidden}.stack-stats-line{margin:0;font-size:.72rem;letter-spacing:.04em;color:var(--text-secondary);opacity:.85;font-family:Roboto Mono,monospace}.preview-tags{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;width:100%}.preview-tag{font-size:.75rem;padding:.25rem .75rem;background:var(--chip-tech-bg);color:var(--chip-tech-text);border:1px solid var(--chip-tech-border);border-radius:999px;flex:0 0 auto}.tech-preview{width:100%;box-sizing:border-box;flex:1 1 auto;min-height:0;max-height:100%;background:linear-gradient(180deg,var(--stack-card-bg),rgba(255,255,255,.01));border:1px solid var(--stack-card-border);padding:.95rem 1rem;border-radius:18px;color:var(--text-primary);will-change:opacity,transform,filter;transition:opacity .18s ease,transform .18s ease,filter .18s ease;overflow:auto}.tech-preview-in{opacity:1;transform:translate(0) scale(1);filter:blur(0)}.tech-preview-out{opacity:0;transform:translate(12px) scale(.985);filter:blur(1px)}.tech-preview-empty{display:flex;align-items:center;justify-content:center;color:var(--stack-muted);border-style:dashed;border-width:1px;border-color:var(--chip-tech-border);background:transparent}.tech-preview-empty .hover-text{font-style:normal;font-family:Roboto Mono,monospace;font-size:.88rem;letter-spacing:.03em}.tech-preview-empty .hover-text:before{content:"> ";font-weight:700;color:var(--accent-cyan);opacity:.85}.tech-preview-card h3{margin:0 0 .5rem;font-size:1.25rem}.tech-preview-category{margin:0 0 .4rem;font-size:.78rem;font-weight:500;letter-spacing:.05em;color:var(--text-secondary);font-family:Roboto Mono,monospace;opacity:.9}.tech-preview-card>p:not(.tech-preview-category){margin:0;color:var(--text-secondary);line-height:1.55;font-size:.92rem}.hover-text{padding-top:2.5rem;padding-bottom:2.5rem;margin:0;text-align:center}@media (max-width: 768px){.stack-grid{flex-direction:column}.stack-left,.stack-right,.stack-item{width:100%}}.section-header{margin:0}.section-header__title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;font-size:2rem;font-weight:400;color:var(--text-primary);line-height:1.35}.section-header__index{font-size:.85rem;color:var(--accent-cyan);letter-spacing:.1em;opacity:.85;font-weight:600}.section-header__bracket{color:var(--accent-cyan);opacity:.55;font-weight:400;letter-spacing:0}.section-header__name{letter-spacing:.2em;font-weight:400}.section-header__caret{color:var(--accent-cyan);font-size:.55em;font-weight:400;line-height:1;animation:caret-blink 1s step-end infinite;align-self:center}.section-header__subtitle{margin:.5rem 0 1.25rem;font-size:1rem;font-weight:300;color:var(--text-secondary);line-height:1.5;opacity:.85;font-family:Roboto Mono,monospace}.section-header__arrow{color:var(--accent-cyan);opacity:.7;margin-right:.15em}.section-header__caret--subtitle{margin-left:.35rem;font-size:.95em;display:inline-block;line-height:1;vertical-align:baseline;transform:translateY(-1px)}.section-header--left .section-header__title{justify-content:flex-start}.section-header--right{text-align:right}.section-header--right .section-header__title{justify-content:flex-end}.section-header--right .section-header__subtitle{text-align:right}.section-header--center{text-align:center}.section-header--center .section-header__title{justify-content:center}.section-header--center .section-header__subtitle{text-align:center}@media (max-width: 480px){.section-header__index{display:none}.section-header__title{gap:.25rem .35rem}}.projects{padding:2rem 2rem 4rem;margin-bottom:2.5rem}.projects.section-bleed:before{background-image:radial-gradient(56% 64% at 50% 40%,color-mix(in srgb,var(--accent-cyan) 10%,transparent),transparent 72%),linear-gradient(to right,var(--bg-pattern-line) 1px,transparent 1px),linear-gradient(to bottom,var(--bg-pattern-line) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;background-position:center center,0 0,0 0;background-repeat:no-repeat,repeat,repeat;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 86%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000 0% 86%,#0000)}.projects-grid-fragmented{display:grid;gap:.9rem;grid-template-columns:1fr 1fr 1.05fr;grid-template-areas:"wide wide tall" "smallA smallB tall"}.project-card{background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);border:1px solid var(--stack-card-border);border-radius:18px;color:var(--text-primary);padding:1.1rem 1rem;min-height:150px;display:flex;flex-direction:column;justify-content:flex-start;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;box-shadow:0 8px 24px #0c121c1f}[data-theme=dark] .project-card{background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);box-shadow:0 10px 28px #060c1859}.project-card--wide{grid-area:wide}.project-card--tall{grid-area:tall;min-height:320px}.project-card--small-a{grid-area:smallA}.project-card--small-b{grid-area:smallB}.project-card h4{margin:.2rem 0 .5rem;font-size:1.1rem;font-weight:600;letter-spacing:.02em}.project-card p{margin:0;color:var(--text-secondary);line-height:1.5;font-size:.9rem}.project-label{font-size:.72rem!important;letter-spacing:.08em;color:var(--accent-cyan)!important;text-transform:uppercase;margin-bottom:.3rem!important}.project-tags{margin-top:auto;padding-top:.85rem;display:flex;flex-wrap:wrap;gap:.4rem}.project-tag{padding:.28rem .58rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--chip-tech-text);background:var(--chip-tech-bg);border:1px solid var(--chip-tech-border)}.project-card:hover{transform:translateY(-3px);border-color:var(--accent-cyan);box-shadow:0 14px 30px #080e183d}@media (max-width: 980px){.projects-grid-fragmented{grid-template-columns:1fr;grid-template-areas:"wide" "smallA" "smallB" "tall"}.project-card--tall{min-height:220px}}.experience-education{text-align:left;padding:0 2rem 2rem}#experience .experience-panel,#education .experience-panel{position:relative;isolation:isolate}#experience .experience-panel:before,#education .experience-panel:before{content:"";position:absolute;top:-6px;bottom:-6px;left:calc(50% - 50vw);width:100vw;margin-left:0;border-radius:18px;z-index:-1;pointer-events:none}#experience .experience-panel:before{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 72%,transparent),color-mix(in srgb,var(--bg-secondary) 42%,transparent))}#education .experience-panel:before{background:radial-gradient(120% 90% at 85% 8%,color-mix(in srgb,var(--accent-cyan) 8%,transparent),transparent 72%),color-mix(in srgb,var(--bg-secondary) 58%,transparent)}.experience-education-layout{display:flex;flex-direction:column;gap:1.8rem}.experience-section{display:block;max-width:92%;scroll-margin-top:130px}#education.experience-section{margin-left:auto;margin-top:4rem}#education .experience-item{grid-template-columns:1fr var(--experience-period-col)}#education .experience-item-period{order:2;text-align:right}#education .experience-item-card{order:1;text-align:right}#education .experience-tags{justify-content:flex-end}.experience-panel{border-radius:22px;padding:.95rem;background:linear-gradient(145deg,#ffffff2e,#ffffff0d);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #161e2d1f}[data-theme=dark] .experience-panel{background:linear-gradient(145deg,#ffffff1a,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 35px #0a101c59}.experience-list{display:flex;flex-direction:column;gap:.8rem}.experience-item{--experience-period-col: 10.75rem;display:grid;grid-template-columns:var(--experience-period-col) 1fr;gap:.8rem;align-items:start}.experience-item-period{display:block;width:100%;min-width:0;padding:.2rem .55rem;border:2px dotted var(--chip-tech-border);-o-border-image:none;border-image:none;border-radius:6px;font-size:.72rem;letter-spacing:.08em;line-height:1.35;color:var(--text-secondary);font-weight:700;opacity:.95;margin-top:.2rem;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.experience-item-card{background:linear-gradient(180deg,var(--stack-card-bg),rgba(255,255,255,.015));border:1px solid var(--stack-card-border);border-radius:18px;padding:.95rem 1rem;box-shadow:inset 2px 0 0 0 var(--chip-tech-border);transition:box-shadow .25s ease}.experience-item-card:hover{box-shadow:inset 2px 0 0 0 var(--accent-cyan)}#education .experience-item-card{box-shadow:inset -2px 0 0 0 var(--chip-tech-border)}#education .experience-item-card:hover{box-shadow:inset -2px 0 0 0 var(--accent-cyan)}.experience-item-heading{margin:0;font-size:1.12rem;line-height:1.35;color:var(--text-primary);font-weight:700}.experience-item-role{font-weight:700;color:var(--text-primary)}.experience-item-company{font-weight:400;color:var(--text-secondary)}.experience-separator{margin:0 .1rem;opacity:.55;font-weight:400;color:var(--text-secondary)}.experience-item-card p{margin:.55rem 0 0;color:var(--text-secondary);line-height:1.55;font-size:.9rem}.experience-tags{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.experience-tag{padding:.28rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--chip-tech-text);background:var(--chip-tech-bg);border:1px solid var(--chip-tech-border);display:inline-flex;align-items:center}.experience-tag:before{content:"•";margin-right:.35em;color:var(--accent-cyan);opacity:.55;font-weight:700}@media (max-width: 900px){.experience-item{grid-template-columns:1fr;gap:.55rem}#education .experience-item-period,#education .experience-item-card{order:initial}#education .experience-item-card{text-align:left}#education .experience-tags{justify-content:flex-start}}.contact{text-align:left;padding:2rem 2rem 3rem}#contact.contact{scroll-margin-top:90px}.contact-panel{margin-top:1.25rem;border-radius:22px;padding:.95rem;background:linear-gradient(145deg,#ffffff2e,#ffffff0d);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #161e2d1f;min-height:40rem}[data-theme=dark] .contact-panel{background:linear-gradient(145deg,#ffffff1a,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 35px #0a101c59}.contact-layout{display:flex;gap:2rem;align-items:stretch}.contact-aside{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:1rem;padding:.35rem .5rem .35rem .25rem}.contact-aside-title{margin:0;font-size:36px;font-weight:700;color:var(--text-primary);line-height:1.25;letter-spacing:.02em}.contact-aside-lead{margin:0;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.contact-terminal{margin:.25rem 0 0;padding:.75rem .85rem;border-radius:12px;background:color-mix(in srgb,var(--chip-tech-bg) 80%,transparent);border:1px dashed var(--chip-tech-border);font-family:Roboto Mono,monospace;font-size:.78rem;line-height:1.5}.contact-terminal-line{margin:.15rem 0;color:var(--text-secondary)}.contact-terminal-k{color:var(--accent-cyan);opacity:.85;margin-right:.25rem}.contact-terminal-v{color:var(--text-primary);font-weight:600}.contact-email-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.contact-email-link{font-family:Roboto Mono,monospace;font-size:.88rem;color:var(--accent-cyan);text-decoration:none;word-break:break-all}.contact-email-link:hover{text-decoration:underline}.contact-copy-btn{font-family:Roboto Mono,monospace;font-size:.75rem;font-weight:600;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--chip-tech-border);background:var(--chip-tech-bg);color:var(--chip-tech-text);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.contact-copy-btn:hover{border-color:var(--accent-cyan)}.contact-meta{margin:0;display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.82rem;color:var(--text-secondary)}.contact-meta-label{font-family:Roboto Mono,monospace;opacity:.85}.contact-meta-label:after{content:":";margin-left:.15rem}.contact-meta-value{color:var(--text-primary)}.contact-socials{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.contact-social-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:var(--text-primary);text-decoration:none;padding:.4rem 0;transition:color .18s ease}.contact-social-link:hover{color:var(--accent-cyan)}.contact-social-link svg{flex-shrink:0;opacity:.85}.contact-form-shell{flex:1 1 0;min-width:0}.contact-form{height:100%;display:flex;flex-direction:column;gap:.85rem;padding:.35rem .25rem .35rem .5rem;box-sizing:border-box}.contact-fieldset{margin:0;padding:0;border:none}.contact-fieldset--segment{margin-bottom:.15rem}.contact-legend{font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--text-secondary);font-family:Roboto Mono,monospace;margin-bottom:.45rem;padding:0}.contact-segment{display:flex;gap:.5rem;flex-wrap:wrap}.contact-segment-option{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--chip-tech-border);background:var(--chip-tech-bg);color:var(--chip-tech-text);font-size:.82rem;font-weight:600;font-family:Roboto Mono,monospace;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.contact-segment-option:has(input:checked){border-color:var(--accent-cyan);background:color-mix(in srgb,var(--accent-cyan) 12%,var(--chip-tech-bg));color:var(--text-primary)}.contact-segment-option input{accent-color:var(--accent-cyan);width:1rem;height:1rem;margin:0}.contact-fields-group{display:flex;flex-direction:column;gap:.85rem}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.contact-field{display:flex;flex-direction:column;gap:.35rem}.contact-field label{font-size:.78rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.contact-input{width:100%;box-sizing:border-box;padding:.55rem .75rem;border-radius:12px;border:1px solid var(--stack-card-border);background:color-mix(in srgb,var(--stack-card-bg) 92%,var(--bg-primary));color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color .18s ease,box-shadow .18s ease}.contact-input::-moz-placeholder{color:var(--text-secondary);opacity:.65}.contact-input::placeholder{color:var(--text-secondary);opacity:.65}.contact-input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-cyan) 28%,transparent)}.contact-input--error{border-color:color-mix(in srgb,#e57373 70%,var(--stack-card-border))}.contact-textarea{resize:vertical;min-height:7.5rem;line-height:1.5}.contact-field-error{font-size:.75rem;color:color-mix(in srgb,#e57373 85%,var(--text-secondary))}.contact-form-actions{margin-top:.25rem}.contact-submit{width:100%;padding:.75rem 1.25rem;border:none;border-radius:999px;font-weight:700;font-size:.95rem;font-family:Roboto Mono,monospace;letter-spacing:.04em;color:var(--color-white);cursor:pointer;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-cyan) 85%,#1a3a5c),color-mix(in srgb,var(--accent-primary) 55%,var(--accent-cyan)));box-shadow:0 6px 22px color-mix(in srgb,var(--accent-cyan) 22%,transparent);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.contact-submit:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 8px 26px color-mix(in srgb,var(--accent-cyan) 28%,transparent)}.contact-form-status{min-height:1.5rem}.contact-success{margin:0;padding:.65rem .75rem;border-radius:12px;font-size:.82rem;line-height:1.45;color:var(--text-secondary);background:color-mix(in srgb,var(--accent-cyan) 8%,var(--chip-tech-bg));border:1px solid color-mix(in srgb,var(--accent-cyan) 35%,var(--chip-tech-border))}@media (max-width: 900px){.contact-layout{flex-direction:column}.contact-form{padding-left:.25rem;padding-right:.25rem}}@media (max-width: 768px){.contact{padding:1.25rem 1.25rem 2.5rem}.contact-field-row{grid-template-columns:1fr}.contact-aside{padding-right:.25rem}}.footer{margin-top:1.5rem;border-top:3px dotted color-mix(in srgb,var(--text-secondary) 20%,transparent);padding:1.5rem 2rem 2rem;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-primary) 92%,transparent)}.footer__content{display:grid;gap:1.25rem;grid-template-columns:1.2fr 1fr 1fr;align-items:start}.footer__brand-name{margin:0;color:var(--text-primary);font-size:1rem;font-weight:800;letter-spacing:.03em}.footer__brand-copy,.footer__brand-note{margin:.5rem 0 0;font-size:.88rem;line-height:1.55}.footer__links{display:flex;flex-direction:column;gap:.4rem}.footer__heading{margin:0;color:var(--text-primary);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.footer__links a{color:var(--text-secondary);text-decoration:none;font-size:.88rem;width:-moz-fit-content;width:fit-content;transition:color .18s ease}.footer__links a:hover{color:var(--accent-cyan)}.footer__links a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:4px}.footer__meta{margin:1.2rem 0 0;padding-top:.9rem;border-top:1px dashed color-mix(in srgb,var(--text-secondary) 20%,transparent);font-size:.8rem;text-align:center}@media (max-width: 900px){.footer{padding:1.25rem 1.25rem 1.5rem}.footer__content{grid-template-columns:1fr}}
