:root{--background:#f5f7fb;--surface:#ffffffb8;--surface-soft:#ffffffe6;--surface-gloss:#ffffffa8;--text:#1d1d1f;--heading:#101114;--muted:#626973;--line:#1d1d1f1f;--line-bright:#ffffffdb;--accent:#0a84ff;--accent-strong:#1264d8;--accent-ink:#0b1220;--success:#8bd5a5;--shadow:#1d1d1f1f;--glow:#007aff33;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--background:#05070b;--surface:#10141c9e;--surface-soft:#1c222dd1;--surface-gloss:#ffffff21;--text:#f1f5f9;--heading:#fff;--muted:#a9b4c3;--line:#edf6ff21;--line-bright:#edf6ff3d;--accent:#8edbff;--accent-strong:#c5f0ff;--accent-ink:#f6fbff;--shadow:#00000070;--glow:#8edbff2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 80% 0%, #007aff24, transparent 34rem), radial-gradient(circle at 10% 18%, #855cff1a, transparent 28rem), radial-gradient(circle at 52% 6%, #ffffffe6, transparent 34rem), linear-gradient(180deg, #f9fbff 0%, var(--background) 46%, #eef2f7 100%);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}html[data-theme=dark] body{background:radial-gradient(circle at 78% -8%,#8edbff2e,#0000 34rem),radial-gradient(circle at 12% 10%,#7d5cff21,#0000 28rem),radial-gradient(circle at 50% 105%,#ffffff0e,#0000 34rem),linear-gradient(#05070b 0%,#0a0e15 48%,#05070b 100%)}body:before{z-index:-1;pointer-events:none;content:"";background:linear-gradient(115deg,#ffffffb8,#0000 24rem),radial-gradient(circle at 50% -10%,#ffffffb8,#0000 34rem);position:fixed;inset:0}html[data-theme=dark] body:before{background:linear-gradient(115deg,#ffffff13,#0000 24rem),radial-gradient(circle at 50% -10%,#ffffff0f,#0000 32rem)}a{color:inherit}.page{min-height:100vh}.site-header{z-index:10;pointer-events:none;background:0 0;padding:10px 0 0;position:sticky;top:0}html[data-theme=dark] .site-header{box-shadow:none;background:0 0}html[data-theme=dark] .brand-mark{background:linear-gradient(#ffffff29,#0000 52%),#8edbff1a;box-shadow:inset 0 1px #ffffff26,0 12px 26px #0000003d}.nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(30px)saturate(190%);backdrop-filter:blur(30px)saturate(190%);pointer-events:auto;background:linear-gradient(#ffffffb8,#ffffff61 50%,#ffffffa3),#ffffff8a;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 32px);margin:0 auto;padding:10px 10px 10px 12px;display:flex;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #1d1d1f0d,0 18px 44px #1d1d1f1a}html[data-theme=dark] .nav{background:linear-gradient(#ffffff1b,#ffffff09 50%,#fff1),#080b1099;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000003d,0 18px 46px #00000042}.nav-top{display:contents}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:11px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--line-bright);width:34px;height:34px;color:var(--accent);letter-spacing:0;background:linear-gradient(#ffffffb8,#0000 48%),#007aff1a;border-radius:8px;place-items:center;font-size:14px;display:grid;box-shadow:inset 0 1px #ffffffe6,0 10px 24px #1d1d1f14}.nav-links{color:var(--muted);align-items:center;gap:18px;font-size:14px;display:flex}.theme-toggle{border:1px solid var(--line);background:linear-gradient(180deg, #ffffffd1, #ffffff61 48%, #ffffffb3), var(--surface);min-height:38px;color:var(--text);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);border-radius:999px;align-items:center;gap:9px;padding:0 11px 0 6px;font-size:13px;font-weight:700;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #1d1d1f0f,0 10px 24px #1d1d1f14}.theme-toggle:hover{border-color:var(--line-bright);background:linear-gradient(180deg, #ffffffeb, #ffffff7a 48%, #ffffffc7), var(--surface-soft)}.theme-toggle-icon{width:26px;height:26px;color:var(--accent);background:#0a84ff1a;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.theme-toggle-icon:before{content:"";background:currentColor;border-radius:50%;width:11px;height:11px}.theme-toggle-icon:after{background:var(--surface-soft);transform-origin:50%;content:"";border-radius:50%;width:11px;height:11px;transition:transform .18s;position:absolute;transform:translate(4px,-3px)scale(0)}html[data-theme=dark] .theme-toggle-icon:after{transform:translate(4px,-3px)scale(1)}html[data-theme=dark] .theme-toggle,html[data-theme=dark] .button,html[data-theme=dark] .modal-close,html[data-theme=dark] .resume-action{background:linear-gradient(180deg, #ffffff1b, #ffffff09 48%, #ffffff0e), var(--surface);box-shadow:inset 0 1px #ffffff1b,inset 0 -1px #00000038,0 10px 24px #00000038}html[data-theme=dark] .theme-toggle:hover,html[data-theme=dark] .button:hover,html[data-theme=dark] .modal-close:hover,html[data-theme=dark] .resume-action:hover{background:linear-gradient(180deg, #ffffff24, #ffffff0b 48%, #ffffff14), var(--surface-soft)}.menu-toggle{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 52%), var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:none;box-shadow:inset 0 1px #ffffff14}.menu-toggle:hover{border-color:var(--line-bright);background:var(--surface-soft)}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;border-radius:999px;width:18px;height:2px;transition:transform .18s,opacity .18s;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.menu-toggle[aria-expanded=true] .menu-icon{background:0 0}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(6px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(-6px)rotate(-45deg)}.nav-links a{border:1px solid #0000;border-radius:8px;align-items:center;min-height:34px;padding:0 10px;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.nav-links a:hover{border-color:var(--line);color:var(--text);background:linear-gradient(#ffffffa3,#ffffff38),#ffffff61}html[data-theme=dark] .nav-links a:hover{background:linear-gradient(#ffffff1c,#ffffff09),#ffffff0b}main{width:min(1120px,100% - 32px);margin:0 auto}.hero{grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);align-items:stretch;gap:44px;min-height:auto;padding:64px 0 52px;display:grid}.eyebrow{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:700}.hero .eyebrow{letter-spacing:0;text-transform:none}h1,h2,h3,p{margin-top:0}h1{max-width:780px;color:var(--heading);letter-spacing:0;margin-bottom:22px;font-size:clamp(42px,7vw,78px);line-height:.98}.hero-copy{max-width:710px;color:var(--muted);margin-bottom:24px;font-size:18px}.hero-intro{flex-direction:column;justify-content:center;display:flex}.intro-lead{color:#363c45;max-width:720px;margin-bottom:24px;font-size:17px}.intro-outcomes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.intro-outcome{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 48%), #ffffffa3;min-height:100%;color:var(--muted);border-radius:8px;padding:15px;font-size:13px;line-height:1.45;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #1d1d1f0d}.intro-outcome strong{color:var(--heading);margin-bottom:5px;font-size:14px;display:block}.actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--line);background:linear-gradient(180deg, #ffffffd1, #ffffff61 48%, #ffffffb3), var(--surface);min-height:46px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,inset 0 -1px #1d1d1f0f,0 10px 24px #1d1d1f14}.button:before,.theme-toggle:before,.resume-action:before,.resume-header-download:before,.modal-close:before{border-radius:inherit;pointer-events:none;content:"";opacity:.55;background:linear-gradient(#ffffff6b,#0000);height:42%;position:absolute;inset:1px 1px auto}.button:hover{border-color:var(--line-bright);background:linear-gradient(180deg, #ffffffe6, #ffffff7a 48%, #ffffffc7), var(--surface-soft);transform:translateY(-1px);box-shadow:inset 0 1px #fffffff5,inset 0 -1px #1d1d1f0f,0 14px 30px #1d1d1f1a}.button.primary{color:var(--accent-ink);background:linear-gradient(#ffffffeb,#ffffff80 48%,#ffffffc7),#ffffffbd;border-color:#1d1d1f1a;box-shadow:inset 0 1px #fffffff5,inset 0 -2px #0a84ffb8,0 12px 30px #1d1d1f1a}html[data-theme=dark] .button.primary,html[data-theme=dark] .resume-header-download,html[data-theme=dark] .resume-action.primary{border-color:var(--line-bright);color:var(--accent-ink);background:linear-gradient(#ffffff1d,#ffffff09 48%,#fff1),#10141cb3;box-shadow:inset 0 1px #ffffff1f,inset 0 -2px #8edbff80,0 12px 28px #00000045,0 0 0 1px #8edbff0a}.button.primary:hover{border-color:#0a84ff38;box-shadow:inset 0 1px #fffffffa,inset 0 -2px #0a84ffe6,0 15px 34px #1d1d1f1f}html[data-theme=dark] .button.primary:hover,html[data-theme=dark] .resume-action.primary:hover{background:linear-gradient(#ffffff26,#ffffff0d 48%,#ffffff17),#1c222ddb;border-color:#67c7ff4d;box-shadow:inset 0 1px #ffffff24,inset 0 -2px #8edbffa8,0 14px 32px #0000004d}.intro-card{border:1px solid var(--line);min-height:100%;box-shadow:0 22px 60px var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:linear-gradient(#ffffffbd,#0000 32%),#ffffffc2;border-radius:8px;flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}html[data-theme=dark] .intro-card,html[data-theme=dark] .intro-outcome,html[data-theme=dark] .intro-principle,html[data-theme=dark] .card,html[data-theme=dark] .blog-post,html[data-theme=dark] .focus-primary,html[data-theme=dark] .focus-item,html[data-theme=dark] .contact,html[data-theme=dark] .resume-intro,html[data-theme=dark] .resume-panel,html[data-theme=dark] .resume-highlight,html[data-theme=dark] .competency-item{background:linear-gradient(#ffffff13,#0000 36%),linear-gradient(145deg,#8edbff0b,#10141ca8),#0c1018b3;box-shadow:inset 0 1px #ffffff13,0 18px 44px #0000003d}html[data-theme=dark] .intro-portrait{background:#080b106b}html[data-theme=dark] .intro-lead,html[data-theme=dark] .experience-tech{color:#c6d1dd}html[data-theme=dark] .skills li,html[data-theme=dark] .focus-number,html[data-theme=dark] .resume-panel>summary:after,html[data-theme=dark] .experience-card summary:after{color:var(--accent-strong);background:linear-gradient(#ffffff0b,#0000 52%),#8edbff0e;border-color:#67c7ff38}.intro-portrait{aspect-ratio:4/5;object-fit:cover;object-position:center 16%;background:#ffffff80;width:100%}.intro-card-body{padding:22px}.intro-name{color:var(--heading);margin-bottom:5px;font-size:24px;line-height:1.2}.intro-role{color:var(--muted);margin-bottom:14px;font-size:14px;line-height:1.45}.intro-actions{margin-bottom:18px}.intro-principles{gap:12px;display:grid}.intro-principle{border:1px solid var(--line);background:linear-gradient(#ffffff0e,#0000 52%),#ffffff94;border-radius:8px;padding:14px}.intro-principle-label{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.intro-principle p{color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.5}.section{border-top:1px solid var(--line);padding:48px 0}.section-heading{grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr);gap:28px;margin-bottom:24px;display:grid}h2{color:var(--heading);letter-spacing:0;margin-bottom:0;font-size:30px;line-height:1.15}.section-heading p{color:var(--muted);margin-bottom:0;font-size:16px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 46%), #ffffffb3;border-radius:8px;min-height:100%;padding:22px;box-shadow:inset 0 1px #ffffffdb,0 12px 34px #1d1d1f0f}.card h3{color:var(--heading);margin-bottom:10px;font-size:18px;line-height:1.3}.card p{color:var(--muted);margin-bottom:0;font-size:14px}.blog-list{gap:16px;display:grid}.blog-post{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 46%), #ffffffb3;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;display:grid;box-shadow:inset 0 1px #ffffffdb,0 12px 34px #1d1d1f0f}.blog-post h3{color:var(--heading);margin-bottom:8px;font-size:20px;line-height:1.25}.blog-meta{color:var(--accent-strong);margin-bottom:8px;font-size:13px;font-weight:800}.blog-post p{max-width:700px;color:var(--muted);margin-bottom:0;font-size:14px}.skills{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.skills li{color:#28313d;background:linear-gradient(#ffffff17,#0000 54%),#007aff12;border:1px solid #007aff29;border-radius:8px;padding:8px 11px;font-size:13px;font-weight:600;box-shadow:inset 0 1px #ffffff14}.focus-board{grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr);align-items:stretch;gap:18px;display:grid}.focus-primary{background:linear-gradient(#ffffff1f,#0000 30%),linear-gradient(145deg,#007aff1f,#ffffffc7),#ffffffc7;border:1px solid #007aff2e;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:330px;padding:28px;display:flex;box-shadow:inset 0 1px #ffffffe0,0 20px 46px #1d1d1f14}.focus-kicker{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:13px;font-weight:800}.focus-primary h3{max-width:430px;color:var(--heading);margin-bottom:18px;font-size:28px;line-height:1.18}.focus-primary p{color:var(--muted);margin-bottom:0}.focus-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.focus-item{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 48%), #ffffffad;border-radius:8px;padding:20px;box-shadow:inset 0 1px #ffffffdb,0 10px 28px #1d1d1f0d}.focus-number{width:34px;height:34px;color:var(--accent);background:#007aff14;border:1px solid #007aff33;border-radius:8px;place-items:center;margin-bottom:18px;font-size:13px;font-weight:800;display:inline-grid}.focus-item h3{color:var(--heading);margin-bottom:9px;font-size:17px;line-height:1.3}.focus-item p{color:var(--muted);margin-bottom:0;font-size:14px}.contact{border:1px solid var(--line);background:linear-gradient(#ffffff1a,#0000 34%),#ffffffb8;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:34px;display:flex;box-shadow:inset 0 1px #ffffffe6,0 14px 36px #1d1d1f12}.contact p{max-width:620px;color:var(--muted);margin-bottom:0}.resume-modal{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f7fbc7;display:none;position:fixed;inset:0}.resume-modal.is-open{display:block}body.modal-open{overflow:hidden}.resume-dialog{background:radial-gradient(circle at 82% 4%, #007aff1f, transparent 30rem), radial-gradient(circle at 8% 0%, #855cff14, transparent 26rem), var(--background);flex-direction:column;width:100%;height:100%;display:flex}html[data-theme=dark] .resume-modal{background:#080b10e6}html[data-theme=dark] .resume-dialog{background:radial-gradient(circle at 82% 4%, #8edbff24, transparent 30rem), radial-gradient(circle at 8% 0%, #7d5cff1a, transparent 26rem), var(--background)}html[data-theme=dark] .resume-modal-header{background:#080b10c7}.resume-modal-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);background:#ffffff9e;justify-content:space-between;align-items:center;gap:18px;padding:18px max(16px,50vw - 560px);display:flex}.resume-modal-heading{min-width:0}.resume-modal-title{color:var(--heading);margin-bottom:0;font-size:20px;line-height:1.2}.resume-modal-subtitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:13px;overflow:hidden}.resume-modal-controls{flex:none;align-items:center;gap:10px;display:flex}.resume-header-download{width:42px;min-height:42px;color:var(--accent-ink);background:linear-gradient(#ffffffeb,#ffffff80 48%,#ffffffc7),#ffffffbd;border:1px solid #1d1d1f1a;border-radius:8px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffffff5,inset 0 -2px #0a84ffb8,0 10px 24px #1d1d1f14}.resume-header-download:hover{background:linear-gradient(#fffffff5,#ffffff94 48%,#ffffffd6),#ffffffd1}html[data-theme=dark] .resume-header-download:hover{background:linear-gradient(#ffffff21,#ffffff0b 48%,#ffffff14),#1d2430db;border-color:#67c7ff4d}.resume-header-download svg{stroke:currentColor;stroke-width:2.2px;width:19px;height:19px}.modal-close{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 54%), var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:8px;flex:none;place-items:center;font-size:24px;line-height:1;display:inline-grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #1d1d1f14}.modal-close:hover{border-color:var(--line-bright);background:var(--surface-soft)}.resume-modal-content{padding:28px max(16px,50vw - 560px) 42px;overflow:auto}.resume-sheet{gap:16px;display:grid}.resume-intro,.resume-panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 40%), #ffffffc2;border-radius:8px;box-shadow:inset 0 1px #ffffffe6,0 12px 32px #1d1d1f0f}.resume-intro{padding:24px}.resume-intro h3{color:var(--heading);margin-bottom:6px;font-size:28px;line-height:1.15}.resume-title{color:var(--accent-strong);margin-bottom:16px;font-size:14px;font-weight:700;line-height:1.45}.resume-contact{color:var(--muted);flex-wrap:wrap;gap:8px 18px;font-size:14px;display:flex}.resume-contact a{color:var(--accent-strong);text-underline-offset:3px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.resume-contact a:hover{color:var(--accent-strong)}.resume-highlights{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.resume-highlight{background:linear-gradient(#ffffff12,#0000 50%),#ffffff94;border:1px solid #007aff1f;border-radius:8px;min-height:100%;padding:13px}.resume-highlight strong{color:var(--heading);margin-bottom:4px;font-size:15px;line-height:1.25;display:block}.resume-highlight span{color:var(--muted);font-size:13px;line-height:1.4}.resume-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.resume-action{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-gloss), transparent 54%), #ffffff9e;min-height:42px;color:var(--heading);border-radius:8px;justify-content:center;align-items:center;padding:0 15px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #1d1d1f0f}.resume-action:hover{border-color:var(--line-bright);background:var(--surface-soft)}.resume-action.primary{color:var(--accent-ink);background:linear-gradient(#ffffffeb,#ffffff80 48%,#ffffffc7),#ffffffbd;border-color:#1d1d1f1a;box-shadow:inset 0 1px #fffffff5,inset 0 -2px #0a84ffb8,0 10px 24px #1d1d1f14}.resume-panel{overflow:hidden}.resume-panel>summary{color:var(--heading);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;font-size:18px;font-weight:800;list-style:none;display:flex}.resume-panel>summary::-webkit-details-marker{display:none}.resume-panel>summary:after{content:"+";width:30px;height:30px;color:var(--accent);background:linear-gradient(#ffffff14,#0000 52%),#007aff0f;border:1px solid #007aff2e;border-radius:8px;flex:none;place-items:center;font-size:18px;display:inline-grid}.resume-panel[open]>summary{border-bottom:1px solid var(--line)}.resume-panel[open]>summary:after{content:"-"}.resume-panel-body{color:var(--text);padding:20px 22px 24px}.resume-panel-body p{margin-bottom:14px}.resume-panel-body p:last-child{margin-bottom:0}.competency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.competency-item{border:1px solid var(--line);background:linear-gradient(#ffffff0f,#0000 50%),#ffffff94;border-radius:8px;padding:16px}.competency-item strong{color:var(--heading);margin-bottom:6px;display:block}.experience-card{border-bottom:1px solid var(--line);padding:18px 0}.experience-card:first-child{padding-top:0}.experience-card:last-child{border-bottom:0;padding-bottom:0}.experience-card summary{color:var(--heading);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 18px;list-style:none;display:grid}.experience-card summary::-webkit-details-marker{display:none}.experience-card summary:after{content:"Expand details";width:fit-content;color:var(--accent);background:#007aff0f;border:1px solid #007aff2e;border-radius:8px;grid-column:1/-1;padding:5px 9px;font-size:12px;font-weight:800}.experience-card[open] summary:after{content:"Collapse details"}.experience-card h4{color:var(--heading);margin:0 0 4px;font-size:18px;line-height:1.3}.experience-role,.experience-dates,.experience-tech{color:var(--muted);margin-bottom:0;font-size:14px}.experience-dates{text-align:right;white-space:nowrap}.experience-tech{color:#46515d;grid-column:1/-1}.experience-card ul{color:var(--text);margin:14px 0 0;padding-left:20px}.experience-card li{margin-bottom:8px}.experience-card li:last-child{margin-bottom:0}.education-block{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.education-block h4{color:var(--heading);margin:0 0 6px;font-size:18px}.footer{border-top:1px solid var(--line);width:min(1120px,100% - 32px);color:var(--muted);margin:0 auto;padding:30px 0 42px;font-size:14px}html[data-theme=dark]{--surface:#10141c;--surface-soft:#161c26;--surface-gloss:transparent;--line:#edf6ff1f;--line-bright:#edf6ff33}html[data-theme=dark] body,html[data-theme=dark] body:before,html[data-theme=dark] .resume-dialog{background:var(--background)}html[data-theme=dark] body:before{content:none}html[data-theme=dark] .nav,html[data-theme=dark] .brand-mark,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .button,html[data-theme=dark] .modal-close,html[data-theme=dark] .resume-action,html[data-theme=dark] .resume-header-download,html[data-theme=dark] .menu-toggle,html[data-theme=dark] .intro-card,html[data-theme=dark] .intro-outcome,html[data-theme=dark] .intro-principle,html[data-theme=dark] .card,html[data-theme=dark] .blog-post,html[data-theme=dark] .focus-primary,html[data-theme=dark] .focus-item,html[data-theme=dark] .contact,html[data-theme=dark] .resume-intro,html[data-theme=dark] .resume-panel,html[data-theme=dark] .resume-highlight,html[data-theme=dark] .competency-item,html[data-theme=dark] .skills li,html[data-theme=dark] .focus-number,html[data-theme=dark] .resume-panel>summary:after,html[data-theme=dark] .experience-card summary:after{background:var(--surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=dark] .theme-toggle:hover,html[data-theme=dark] .button:hover,html[data-theme=dark] .button.primary:hover,html[data-theme=dark] .modal-close:hover,html[data-theme=dark] .resume-action:hover,html[data-theme=dark] .resume-action.primary:hover,html[data-theme=dark] .resume-header-download:hover,html[data-theme=dark] .menu-toggle:hover,html[data-theme=dark] .nav-links a:hover{background:var(--surface-soft);box-shadow:none}html[data-theme=dark] .button.primary,html[data-theme=dark] .resume-action.primary,html[data-theme=dark] .resume-header-download{background:var(--surface);color:var(--accent-strong);border-color:#8edbff5c}html[data-theme=dark] .button:before,html[data-theme=dark] .theme-toggle:before,html[data-theme=dark] .resume-action:before,html[data-theme=dark] .resume-header-download:before,html[data-theme=dark] .modal-close:before{opacity:0}html[data-theme=dark] .resume-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#05070bf0}html[data-theme=dark] .resume-modal-header{background:var(--background);-webkit-backdrop-filter:none;backdrop-filter:none}@media (max-width:860px){.nav{flex-direction:column;align-items:stretch;gap:0}.nav-top{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.menu-toggle{display:inline-flex}.nav-links{opacity:0;border-top:0 solid #0000;gap:0;width:100%;max-height:0;padding:0;transition:max-height .22s,opacity .18s,padding .22s,border-color .22s;display:grid;overflow:hidden}.nav-links.is-open{border-top:1px solid var(--line);opacity:1;max-height:260px;padding:14px 0 2px}.nav-links a{padding:12px 0;display:block}.hero{grid-template-columns:1fr;gap:24px;min-height:auto;padding:24px 0 44px}.intro-card{max-width:520px}.intro-outcomes,.section-heading,.grid,.blog-post,.focus-board{grid-template-columns:1fr}.focus-primary{min-height:auto}.focus-items,.competency-grid{grid-template-columns:1fr}.resume-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-card summary{grid-template-columns:1fr}.education-block{flex-direction:column}.experience-dates{text-align:left;white-space:normal}.contact{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.nav-links{font-size:13px}h1{font-size:40px}.hero-copy{font-size:16px}.hero{padding-top:16px}.intro-card-body{padding:18px}.intro-lead{font-size:16px}.button{width:100%}.section{padding:38px 0}.contact{padding:24px}.resume-modal-header,.resume-modal-content{padding-left:16px;padding-right:16px}.resume-intro,.resume-panel-body,.resume-panel>summary{padding-left:18px;padding-right:18px}.resume-highlights{grid-template-columns:1fr}.resume-modal-header{gap:10px}}
