@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Instrument+Serif:ital@0;1&family=Syne:wght@500;600;700;800&display=swap";html{background:#08080a}html[data-theme=light]{background:#f6f3ee}body{min-width:320px;min-height:100vh;background:inherit}#root{isolation:isolate}:root{--font-body: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-heading: "Syne", "Space Grotesk", system-ui, sans-serif;--fs-xs: .72rem;--fs-sm: .82rem;--fs-base: .95rem;--fs-md: 1.02rem;--fs-lg: clamp(1.15rem, .9rem + .7vw, 1.4rem);--fs-xl: clamp(1.6rem, 1.1rem + 1.8vw, 2.4rem);--fs-2xl: clamp(2.1rem, 1.3rem + 3vw, 3.4rem);--fs-hero: clamp(2.4rem, 1.2rem + 4.6vw, 4.6rem);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--sp-9: 6rem;--sp-10: 8rem;--r-sm: .5rem;--r-md: .85rem;--r-lg: 1.15rem;--r-xl: 1.5rem;--r-pill: 100px;--shell: 1240px;--gutter: clamp(1.15rem, 4vw, 3.5rem);--nav-h: 72px;--nav-h-sm: 62px;--rail-w: 76px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.34, 1.4, .64, 1);--z-rail: 40;--z-nav: 100;--z-backdrop: 200;--z-drawer: 210;--z-grain: 300;--z-cursor: 400}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #08080a;--bg-alt: #0c0c10;--surface: #121218;--surface-2: #17171f;--surface-hover: #1c1c26;--text: #f2eee7;--text-muted: #9a9aa8;--text-dim: #63636f;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .13);--accent: #e8462e;--accent-soft: #ff7a55;--accent-grad-a: #e8462e;--accent-grad-b: #ff9a52;--accent-tint: rgba(232, 70, 46, .11);--accent-ring: rgba(232, 70, 46, .28);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .5);--grain: .022}:root[data-theme=light]{color-scheme:light;--bg: #f6f3ee;--bg-alt: #fffdfa;--surface: #ffffff;--surface-2: #faf7f2;--surface-hover: #f3efe8;--text: #16161a;--text-muted: #5f5f6d;--text-dim: #91919e;--border: rgba(16, 16, 20, .09);--border-strong: rgba(16, 16, 20, .16);--accent: #c5321d;--accent-soft: #e8462e;--accent-grad-a: #c5321d;--accent-grad-b: #e8762e;--accent-tint: rgba(197, 50, 29, .07);--accent-ring: rgba(197, 50, 29, .22);--shadow-sm: 0 1px 2px rgba(20, 16, 10, .06);--shadow-md: 0 12px 30px rgba(20, 16, 10, .08);--shadow-lg: 0 26px 60px rgba(20, 16, 10, .12);--grain: .008}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:auto;scroll-padding-top:calc(var(--nav-h) + var(--sp-4));-webkit-text-size-adjust:100%}html.loaded{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .4s var(--ease),color .4s var(--ease)}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;opacity:var(--grain);pointer-events:none;z-index:var(--z-grain);mix-blend-mode:overlay}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;top:-100px;left:var(--sp-4);z-index:500;padding:.7rem 1.2rem;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:var(--fs-sm);font-weight:600;transition:top .25s var(--ease)}.skip-link:focus-visible{top:var(--sp-4);outline-color:var(--text)}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}html{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sep{display:inline-block;margin:0 .45em;color:var(--text-dim)}.pulse{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 #3ddc8499;animation:pulse 2.4s var(--ease-out) infinite;flex-shrink:0}@keyframes pulse{0%{box-shadow:0 0 #3ddc848c}70%{box-shadow:0 0 0 9px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.6rem;border-radius:var(--r-pill);border:1px solid transparent;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}.btn svg{width:1.05em;height:1.05em;flex-shrink:0}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 20px -6px var(--accent-ring)}.btn-primary:hover{background:var(--accent-soft);border-color:var(--accent-soft);transform:translateY(-2px);box-shadow:0 14px 34px -10px var(--accent-ring)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--text);background:var(--surface-hover);transform:translateY(-2px)}.btn-ghost:hover svg{transform:translate(3px)}.btn-ghost svg{transition:transform .35s var(--ease)}.btn-lg{padding:1rem 2rem;font-size:var(--fs-base)}.btn-block{width:100%}.link-pill{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.45rem 1rem;border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--accent);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;transition:background-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.link-pill svg{width:.9em;height:.9em}.link-pill:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(1.4rem,2.5vw,2.1rem);overflow:hidden;transition:border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease),background-color .4s var(--ease)}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent-grad-a),var(--accent-grad-b),transparent);opacity:0;transition:opacity .45s var(--ease)}.card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow-md)}.card:hover:before{opacity:1}.card-kicker{font-family:var(--font-heading);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:var(--sp-4)}.bullet-list{display:flex;flex-direction:column;gap:.7rem;max-width:88ch;color:var(--text-muted);font-size:var(--fs-base);line-height:1.72}.bullet-list li{position:relative;padding-left:1.4rem}.bullet-list li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.85}.bullet-lead{color:var(--text);font-weight:600}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.tag,.skill-tag{display:inline-block;padding:.35rem .85rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:500;line-height:1.5;transition:border-color .3s var(--ease),color .3s var(--ease),background-color .3s var(--ease),transform .3s var(--ease)}.skill-tag:hover,.tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint);transform:translateY(-2px)}.badge{display:inline-block;padding:.25rem .7rem;border-radius:var(--r-pill);background:var(--accent-tint);border:1px solid var(--accent-ring);color:var(--accent);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease);will-change:opacity,transform}.reveal.visible{opacity:1;transform:none;will-change:auto}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);border-bottom:1px solid transparent;transition:background-color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}.navbar.scrolled{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}@supports not (background: color-mix(in srgb,red 50%,blue)){.navbar.scrolled{background:var(--bg)}}.navbar-inner{max-width:var(--shell);margin:0 auto;height:var(--nav-h);padding:0 var(--gutter);display:flex;align-items:center;gap:var(--sp-4);transition:height .4s var(--ease)}.navbar.scrolled .navbar-inner{height:60px}.navbar-logo{display:flex;align-items:center;gap:.6rem;margin-right:auto;flex-shrink:0}.navbar-logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--accent-grad-a),var(--accent-grad-b));color:#fff;font-family:var(--font-heading);font-size:.78rem;font-weight:800;letter-spacing:.04em;flex-shrink:0;transition:transform .4s var(--ease-bounce)}.navbar-logo:hover .navbar-logo-mark{transform:rotate(-6deg) scale(1.06)}.navbar-logo-text{font-family:var(--font-display);font-size:1.22rem;line-height:1;color:var(--text);white-space:nowrap}.navbar-logo-text strong{font-style:italic;font-weight:400}.navbar-links{display:flex;align-items:center;gap:clamp(.9rem,1.6vw,1.7rem)}.nav-link{position:relative;padding:.35rem 0;color:var(--text-muted);font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap;transition:color .3s var(--ease)}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--accent);transition:width .4s var(--ease)}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:hover:after,.nav-link.active:after{width:100%}.navbar-actions{display:flex;align-items:center;gap:var(--sp-3);margin-left:var(--sp-3)}.navbar-cta{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}.navbar-cta svg{width:.85em;height:.85em}.navbar-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff}.theme-toggle{display:grid;place-items:center;padding:0;border-radius:var(--r-pill);flex-shrink:0}.theme-toggle-track{position:relative;display:flex;align-items:center;justify-content:space-between;width:54px;height:28px;padding:0 .42rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-2);transition:background-color .35s var(--ease),border-color .35s var(--ease)}.theme-toggle-icon{display:grid;place-items:center;font-size:.72rem;color:var(--text-dim);z-index:1;transition:color .35s var(--ease)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text);transition:transform .4s var(--ease-bounce)}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(26px)}:root[data-theme=dark] .theme-toggle-icon.moon{color:var(--bg)}:root[data-theme=light] .theme-toggle-icon.sun{color:var(--bg)}.theme-toggle:hover .theme-toggle-track{border-color:var(--accent)}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-right:-10px;border-radius:var(--r-sm);flex-shrink:0}.hamburger span{display:block;width:22px;height:2px;border-radius:2px;background:var(--text);transition:transform .4s var(--ease),opacity .25s var(--ease)}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(.4)}.hamburger.open span:last-child{transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop);background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease)}.nav-backdrop.show{opacity:1;visibility:visible}.nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:var(--z-drawer);width:min(360px,88vw);max-height:100dvh;display:flex;flex-direction:column;padding:0;background:var(--bg-alt);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translate(101%);visibility:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .45s var(--ease),visibility .45s var(--ease);padding-bottom:env(safe-area-inset-bottom,0)}.nav-drawer.open{transform:none;visibility:visible}.nav-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);min-height:var(--nav-h-sm);background:var(--bg-alt);border-bottom:1px solid var(--border)}.nav-drawer-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--text-dim)}.nav-drawer-close{display:grid;place-items:center;width:38px;height:38px;margin-right:-6px;border:1px solid var(--border);border-radius:50%;color:var(--text);font-size:1.05rem;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.nav-drawer-close:hover{background:var(--accent);border-color:var(--accent);color:#fff}.nav-drawer-links{display:flex;flex-direction:column;padding:var(--sp-3) var(--sp-5);flex:1 0 auto}.nav-drawer-link{display:flex;align-items:baseline;gap:.8rem;padding:.72rem 0;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-heading);font-size:1.12rem;font-weight:600;letter-spacing:-.01em;transition:color .3s var(--ease),padding-left .3s var(--ease)}.nav-drawer-link:last-child{border-bottom:none}.nav-drawer-index{font-family:var(--font-body);font-size:.66rem;font-weight:500;color:var(--text-dim);letter-spacing:.1em}.nav-drawer-link:hover,.nav-drawer-link.active{color:var(--text);padding-left:.3rem}.nav-drawer-link.active .nav-drawer-index{color:var(--accent)}.nav-drawer-foot{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);border-top:1px solid var(--border);background:var(--surface-2)}.nav-drawer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.nav-drawer-socials{display:flex;gap:var(--sp-2)}.nav-drawer-socials a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;color:var(--text-muted);font-size:.95rem;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.nav-drawer-socials a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}.social-rail{position:fixed;left:0;bottom:0;z-index:var(--z-rail);width:var(--rail-w);display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-bottom:var(--sp-6)}.social-rail:after{content:"";width:1px;height:72px;margin-top:var(--sp-3);background:linear-gradient(to bottom,var(--border-strong),transparent)}.social-rail a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--text-dim);font-size:.95rem;transition:color .3s var(--ease),background-color .3s var(--ease),transform .3s var(--ease)}.social-rail a:hover{color:var(--accent);background:var(--accent-tint);transform:translateY(-3px)}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + var(--sp-7)) var(--gutter) var(--sp-9);padding-left:max(var(--gutter),var(--rail-w));overflow:hidden;isolation:isolate}.hero-glow{position:absolute;top:12%;right:4%;width:min(620px,70vw);aspect-ratio:1;background:radial-gradient(circle at center,var(--accent-tint) 0%,transparent 68%);filter:blur(70px);pointer-events:none;z-index:-1;animation:drift 18s var(--ease-out) infinite alternate}@keyframes drift{to{transform:translate(-30px,24px) scale(1.08)}}.hero-grid-lines{position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 10%,transparent 75%);opacity:.55}.hero-inner{width:100%;max-width:var(--shell);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,4.5rem)}.hero-copy{min-width:0}.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:var(--sp-5);padding:.4rem .95rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.hero-title{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:400;line-height:1.04;letter-spacing:-.025em;margin-bottom:var(--sp-5);text-wrap:balance}.hero-title-accent{font-style:italic;background:linear-gradient(115deg,var(--accent-grad-a),var(--accent-grad-b));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-summary{max-width:54ch;margin-bottom:var(--sp-6);color:var(--text-muted);font-size:var(--fs-md);line-height:1.78}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-7)}.hero-stats{display:flex;flex-wrap:wrap;gap:clamp(1.2rem,3vw,2.6rem);padding-top:var(--sp-5);border-top:1px solid var(--border)}.hero-stat dt{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;color:var(--text);line-height:1.2}.hero-stat dd{margin-top:.15rem;color:var(--text-dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em}.hero-media{position:relative;justify-self:center;width:100%;max-width:340px}.hero-media-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-strong);box-shadow:var(--shadow-lg)}.hero-media-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 45%,rgba(0,0,0,.25) 100%);pointer-events:none}.hero-photo{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;filter:grayscale(12%) contrast(1.04);transition:filter .6s var(--ease),transform .6s var(--ease)}.hero-media-frame:hover .hero-photo{filter:none;transform:scale(1.03)}.hero-media-badge{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;white-space:nowrap}.scroll-cue{position:absolute;left:50%;bottom:var(--sp-5);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-dim);font-size:.6rem;text-transform:uppercase;letter-spacing:.3em;pointer-events:none}.scroll-cue-line{position:relative;width:1px;height:44px;background:var(--border-strong);overflow:hidden}.scroll-cue-line:after{content:"";position:absolute;inset:-100% 0 auto;height:100%;background:var(--accent);animation:cue 2.6s var(--ease-out) infinite}@keyframes cue{0%{top:-100%}55%,to{top:100%}}.hero-in{opacity:0;transform:translateY(22px);animation:heroIn .85s var(--ease-out) forwards}.hero-in-1{animation-delay:.1s}.hero-in-2{animation-delay:.2s}.hero-in-3{animation-delay:.32s}.hero-in-4{animation-delay:.44s}.hero-in-5{animation-delay:.56s}@keyframes heroIn{to{opacity:1;transform:none}}.section{position:relative;padding:var(--sp-9) var(--gutter);padding-left:max(var(--gutter),var(--rail-w));border-top:1px solid var(--border)}.section-alt{background:var(--bg-alt)}.section-inner{max-width:var(--shell);margin:0 auto}.section-head{max-width:64ch;margin-bottom:var(--sp-7)}.section-label{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--sp-3);color:var(--accent);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.24em}.section-label-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.section-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:400;line-height:1.12;letter-spacing:-.02em;color:var(--text);text-wrap:balance}.section-lead{margin-top:var(--sp-4);color:var(--text-muted);font-size:var(--fs-md);line-height:1.75;max-width:58ch}.about-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.about-copy{display:flex;flex-direction:column;gap:var(--sp-4);color:var(--text-muted);font-size:var(--fs-md);line-height:1.8}.about-focus{position:sticky;top:calc(var(--nav-h) + var(--sp-5))}.focus-list{display:flex;flex-direction:column;gap:.6rem}.focus-list li{position:relative;padding-left:1.5rem;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6}.focus-list li:before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border:1.5px solid var(--accent);border-radius:2px;transform:rotate(45deg)}.timeline{position:relative;display:flex;flex-direction:column;gap:var(--sp-5);padding-left:2.1rem}.timeline:before{content:"";position:absolute;left:5px;top:.8rem;bottom:.8rem;width:1px;background:linear-gradient(to bottom,var(--accent) 0%,var(--border-strong) 22%,var(--border) 100%)}.timeline-item{position:relative}.timeline-marker{position:absolute;left:-2.1rem;top:1.85rem;width:11px;display:grid;place-items:center}.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--border-strong);transition:border-color .4s var(--ease),box-shadow .4s var(--ease)}.section-alt .timeline-dot{background:var(--bg-alt)}.timeline-dot.current{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.timeline-item:hover .timeline-dot{border-color:var(--accent)}.timeline-card{display:flex;flex-direction:column;gap:var(--sp-4)}.timeline-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.timeline-role{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.015em;color:var(--text);line-height:1.25}.timeline-org{margin-top:.2rem;color:var(--accent);font-size:var(--fs-sm);font-weight:500}.timeline-org .sep{color:var(--text-dim)}.timeline-period{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:500;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.timeline-period.current{border-color:var(--accent-ring);background:var(--accent-tint);color:var(--text)}.timeline-blurb{color:var(--text);font-size:var(--fs-base);line-height:1.72;padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.timeline-blurb,.cert-card.featured .cert-note{max-width:88ch}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:var(--sp-5)}.project-card{display:flex;flex-direction:column;gap:var(--sp-4)}.project-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.project-title{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.015em;color:var(--text);line-height:1.25}.project-subtitle{margin-top:.15rem;color:var(--accent);font-size:var(--fs-sm);font-weight:500}.project-period{color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;padding-top:.25rem}.project-foot{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--sp-5)}.skill-card{display:flex;flex-direction:column}.education-card{display:flex;flex-direction:column;gap:var(--sp-5)}.education-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.education-institution{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--text);max-width:34ch}.education-degree{margin-top:.35rem;color:var(--accent);font-size:var(--fs-base);font-weight:500}.education-meta{margin-top:.2rem;color:var(--text-muted);font-size:var(--fs-sm)}.education-period{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.education-kicker{margin-bottom:0}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--sp-4)}.cert-reveal.featured{grid-column:1 / -1}.cert-card{height:100%;display:flex;align-items:flex-start;gap:var(--sp-4);padding:clamp(1.2rem,2vw,1.6rem)}.cert-card.featured{background:linear-gradient(120deg,var(--accent-tint) 0%,var(--surface) 55%);border-color:var(--accent-ring)}.cert-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-sm);background:var(--accent-tint);border:1px solid var(--accent-ring);color:var(--accent);font-size:1.1rem;flex-shrink:0}.cert-body{min-width:0;flex:1}.cert-title{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:700;line-height:1.4;color:var(--text)}.cert-issuer{margin-top:.25rem;color:var(--text-muted);font-size:var(--fs-sm)}.cert-note{margin-top:.55rem;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6;max-width:62ch}.cert-arrow{color:var(--text-dim);font-size:.95rem;flex-shrink:0;transition:color .3s var(--ease),transform .3s var(--ease)}.cert-card.is-link:hover .cert-arrow{color:var(--accent);transform:translate(2px,-2px)}.cert-card.is-link:hover .cert-title{color:var(--accent)}.cert-caption{margin-top:var(--sp-4);color:var(--text-dim);font-size:var(--fs-xs)}.contact-block{max-width:640px}.contact-heading{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--sp-4);color:var(--text)}.contact-description{margin-bottom:var(--sp-6);color:var(--text-muted);font-size:var(--fs-md);line-height:1.78}.contact-socials{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--border)}.contact-social{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.15rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;transition:border-color .3s var(--ease),color .3s var(--ease),background-color .3s var(--ease),transform .3s var(--ease)}.contact-social svg{width:1.05em;height:1.05em}.contact-social:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint);transform:translateY(-2px)}.footer{padding:var(--sp-6) var(--gutter);padding-left:max(var(--gutter),var(--rail-w));border-top:1px solid var(--border);background:var(--bg-alt)}.footer-inner{max-width:var(--shell);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3)}.footer-name{font-size:var(--fs-sm);color:var(--text-muted)}.footer-name strong{color:var(--text);font-weight:600}.footer-note{font-family:var(--font-display);font-style:italic;font-size:var(--fs-sm);color:var(--text-dim)}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:var(--z-cursor);border-radius:50%;transform:translate3d(-120px,-120px,0)}.cursor-dot{width:7px;height:7px;background:var(--accent);transition:width .3s var(--ease),height .3s var(--ease),background-color .3s var(--ease)}.cursor-ring{width:34px;height:34px;border:1.5px solid var(--accent);opacity:.35;transition:width .4s var(--ease),height .4s var(--ease),opacity .3s var(--ease)}.cursor-dot.hovering{width:42px;height:42px;background:var(--accent-tint)}.cursor-ring.hovering{width:62px;height:62px;opacity:0}@media (max-width: 1080px){:root{--rail-w: 0px;--sp-9: 5rem}.social-rail{display:none}.hero-inner{grid-template-columns:1fr;gap:var(--sp-6)}.hero-media{order:-1;max-width:240px;margin-inline:auto}.hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hero-summary{margin-inline:auto}.hero-actions,.hero-stats{justify-content:center}.hero-stats{width:100%;text-align:center}.hero-stat{flex:1 1 auto}.scroll-cue{display:none}.about-grid{grid-template-columns:1fr}.about-focus{position:static}}@media (max-width: 900px){:root{--nav-h: var(--nav-h-sm)}.navbar-links,.navbar-actions{display:none}.hamburger{display:flex}.hero{min-height:auto;padding-top:calc(var(--nav-h) + var(--sp-6));padding-bottom:var(--sp-8)}.hero-grid-lines{background-size:42px 42px;opacity:.4}.hero-glow{width:min(420px,85vw);top:6%}.section{padding-top:var(--sp-8);padding-bottom:var(--sp-8)}.section-head{margin-bottom:var(--sp-6)}.timeline{padding-left:1.5rem}.timeline:before{left:4px}.timeline-marker{left:-1.5rem;top:1.5rem}.timeline-head,.project-top,.education-head{flex-direction:column;align-items:flex-start}.education-period{align-items:flex-start}.project-period{padding-top:0}.footer-inner{flex-direction:column;align-items:flex-start}}@media (max-width: 520px){:root{--sp-8: 3rem;--sp-9: 3.5rem}.navbar-logo-mark{width:30px;height:30px;font-size:.7rem}.navbar-logo-text{font-size:1.05rem}.hero-eyebrow{font-size:.64rem;letter-spacing:.05em;padding:.35rem .75rem}.hero-media{max-width:195px}.hero-actions .btn{width:100%}.hero-stats{gap:var(--sp-4)}.hero-stat{flex:1 1 40%;min-width:0}.card{border-radius:var(--r-md)}.cert-card{flex-wrap:wrap}.contact-socials .contact-social{flex:1 1 auto;justify-content:center}.btn-lg{width:100%;padding-inline:var(--sp-4);font-size:var(--fs-sm)}}@media (min-width: 901px){.nav-backdrop,.nav-drawer{display:none}}@media (max-height: 560px) and (orientation: landscape){.hero{min-height:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.hero-in{opacity:1!important;transform:none!important}.hero-glow,.scroll-cue-line:after,.pulse{animation:none!important}}@media print{.navbar,.nav-drawer,.nav-backdrop,.social-rail,.scroll-cue,.hero-glow,.hero-grid-lines,.cursor-dot,.cursor-ring,.skip-link,body:after{display:none!important}body{background:#fff;color:#000}.section,.hero,.footer{padding:1.2rem 0;border:none}.card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}a[href^=http]:after{content:" (" attr(href) ")";font-size:.7em;color:#555}}
