@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.grid{display:grid}}:root{--bg:#0b0e14;--glass:#ffffff0f;--glass-border:#ffffff24;--ink:#f3f1ec;--ink-dim:#f3f1ec9e;--coral:#ff6b4a;--violet:#7c5cff;--cyan:#22d3ee;--pink:#f472b6;--amber:#fbbf24}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 800px at 15% -10%, #151a26 0%, var(--bg) 55%);height:100%;color:var(--ink);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.top{flex-direction:column;align-items:flex-start;gap:6px;padding:44px 6vw 10px;display:flex}.top h1{letter-spacing:-.02em;margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:600}.top .tag{color:var(--ink-dim);font-family:Georgia,Times New Roman,serif;font-size:14px;font-style:italic}.grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;gap:16px;max-width:1280px;margin:0 auto;padding:24px 6vw 80px;display:grid}.slab{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(140%);cursor:pointer;border-radius:28px;flex-direction:column;justify-content:flex-end;padding:26px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;display:flex;position:relative;overflow:hidden}.slab:before{content:"";opacity:.55;filter:blur(30px);animation:14s ease-in-out infinite drift;position:absolute;inset:0;transform:translate(0)}.slab:hover{transform:translateY(-6px)scale(1.012);box-shadow:0 24px 60px -20px #0009}.slab .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);z-index:2;margin-bottom:6px;font-size:12px;position:relative}.slab h2{letter-spacing:-.01em;z-index:2;margin:0;font-size:clamp(20px,2.1vw,28px);font-weight:600;position:relative}.slab p.sub{color:var(--ink-dim);z-index:2;max-width:34ch;margin:6px 0 0;font-size:13px;position:relative}.cv{grid-area:span 2/span 2}.cv:before{background:radial-gradient(circle at 30% 20%, var(--amber), transparent 60%), radial-gradient(circle at 80% 90%, var(--coral), transparent 55%)}.projects{grid-area:span 2/span 4}.projects:before{background:radial-gradient(circle at 15% 30%, var(--cyan), transparent 55%), radial-gradient(circle at 85% 80%, var(--violet), transparent 55%)}.designs{grid-area:span 2/span 4}.designs:before{background:radial-gradient(circle at 20% 80%, var(--pink), transparent 55%), radial-gradient(circle at 80% 10%, var(--coral), transparent 55%)}.about{grid-area:span 2/span 2}.about:before{background:radial-gradient(circle at 75% 25%, var(--violet), transparent 55%), radial-gradient(circle at 20% 85%, var(--cyan), transparent 55%)}.compliancepack{color:inherit;grid-area:span 2/span 2;text-decoration:none}.compliancepack:before{background:radial-gradient(circle at 25% 25%,#22c55e,#0000 55%),radial-gradient(circle at 80% 85%,#0ea5a4,#0000 55%)}.ex16{color:inherit;grid-area:span 2/span 2;text-decoration:none}.ex16:before{background:radial-gradient(circle at 20% 80%,#f59e0b,#0000 55%),radial-gradient(circle at 85% 20%,#2563eb,#0000 55%)}.github{color:inherit;grid-area:span 2/span 2;text-decoration:none}.github:before{background:radial-gradient(circle at 20% 30%,#6e7681,#0000 55%),radial-gradient(circle at 85% 85%,#24292f,#0000 60%)}.featherkite{color:inherit;grid-area:span 2/span 2;text-decoration:none}.featherkite:before{background:radial-gradient(circle at 30% 25%,#38bdf8,#0000 58%),radial-gradient(circle at 80% 85%,#4f46e5,#0000 55%)}.linkedin{color:inherit;grid-area:span 2/span 3;text-decoration:none}.linkedin:before{background:radial-gradient(circle at 25% 25%,#0a66c2,#0000 58%),radial-gradient(circle at 85% 90%,#004182,#0000 60%)}.lifedashboard{color:inherit;grid-area:span 2/span 1;text-decoration:none}.lifedashboard:before{background:radial-gradient(circle at 30% 25%,#475569,#0000 60%),radial-gradient(circle at 80% 85%,#312e81,#0000 55%)}.lifedashboard h2{font-size:20px;line-height:1.15}.tile-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);z-index:2;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex;position:relative}.tile-eyebrow svg{flex-shrink:0;width:12px;height:12px}.slab .link-out{z-index:2;color:var(--ink-dim);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex;position:relative}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(3%,-3%)scale(1.08)}}@media (max-width:820px){.grid{grid-template-columns:1fr;grid-auto-rows:auto}.cv,.projects,.designs,.about,.compliancepack,.ex16,.github,.linkedin,.featherkite,.lifedashboard{grid-area:auto/span 1;min-height:180px}}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#06070bb8;justify-content:center;align-items:center;padding:5vh 5vw;transition:opacity .3s;display:flex;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:all}.panel{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(24px)saturate(150%);background:linear-gradient(160deg,#ffffff17,#ffffff08);border-radius:32px;width:min(760px,100%);max-height:80vh;padding:40px;transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow:auto;transform:translateY(16px)scale(.98)}.overlay.open .panel{transform:translateY(0)scale(1)}.panel h3{letter-spacing:-.01em;margin:0 0 4px;font-size:26px}.panel .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.panel p{color:var(--ink-dim);font-size:15px;line-height:1.6}.panel .close{float:right;cursor:pointer;border:1px solid var(--glass-border);width:34px;height:34px;color:var(--ink);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;display:flex}.row{border-top:1px solid var(--glass-border);justify-content:space-between;gap:24px;margin-top:18px;padding-top:14px;display:flex}.row:first-of-type{border-top:none;margin-top:20px}.row .label{color:var(--ink-dim);min-width:120px;font-size:13px}.row .val{font-size:14px}.back-btn{cursor:pointer;color:var(--ink-dim);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--ink)}.hub-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.hub-tile{cursor:pointer;border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;justify-content:flex-end;min-height:130px;padding:22px;transition:transform .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.hub-tile:hover{border-color:#ffffff38;transform:translateY(-3px)}.hub-tile h4{z-index:1;margin:0 0 4px;font-size:17px;position:relative}.hub-tile span{color:var(--ink-dim);z-index:1;font-size:12px;position:relative}.carousel{scroll-snap-type:x mandatory;gap:16px;margin-top:6px;padding:20px 2px 10px;display:flex;overflow-x:auto}.carousel .page{aspect-ratio:3/4;border:1px solid var(--glass-border);scroll-snap-align:start;color:var(--ink-dim);text-align:center;background:linear-gradient(160deg,#ffffff14,#ffffff05);border-radius:16px;flex-direction:column;flex:0 0 200px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:12px;display:flex}.carousel .page b{color:var(--ink);font-size:15px}.panel.wide{width:min(920px,100%)}.cv-band{background:linear-gradient(90deg, var(--amber), var(--coral), var(--pink), var(--violet), var(--cyan));border-radius:6px;height:6px;margin:-4px -4px 24px}.cv-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.cv-head h3{margin:0;font-size:28px}.cv-head .roles{color:var(--ink-dim);text-align:right;font-size:13px}.cv-statement{color:var(--ink-dim);margin:14px 0 6px;font-size:14.5px;line-height:1.65}.cv-section-title{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-dim);align-items:center;gap:10px;margin:32px 0 16px;font-size:11.5px;display:flex}.cv-section-title:after{content:"";background:var(--glass-border);flex:1;height:1px}.cv-role{border-left:3px solid var(--role-color,var(--cyan));margin-bottom:22px;padding-left:18px;position:relative}.cv-role .cv-role-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.cv-role h4{margin:0;font-size:15.5px}.cv-role .org{color:var(--role-color,var(--cyan));font-weight:600}.cv-role .period{color:var(--ink-dim);white-space:nowrap;font-size:12px}.cv-role ul{color:var(--ink-dim);margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:1.6}.cv-role ul li{margin-bottom:3px}.cv-company-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.cv-company-head h4{margin:0;font-size:15.5px}.cv-company-head .org{color:var(--role-color,var(--cyan));font-weight:600}.cv-company-head .period{color:var(--ink-dim);white-space:nowrap;font-size:12px}.cv-position{border-left:2px solid var(--glass-border);margin-top:16px;padding-left:16px;position:relative}.cv-position:before{content:"";background:var(--role-color,var(--cyan));border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-5px}.cv-position .cv-position-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.cv-position .title{font-size:13.5px;font-weight:600}.cv-position .period{color:var(--ink-dim);white-space:nowrap;font-size:11.5px}.cv-position ul{color:var(--ink-dim);margin:7px 0 0;padding-left:17px;font-size:13px;line-height:1.6}.cv-position ul li{margin-bottom:3px}.cv-skills-group{margin-bottom:16px}.cv-skills-group .label{color:var(--ink-dim);margin-bottom:8px;font-size:12.5px}.pill{border:1px solid var(--glass-border);background:#ffffff0f;border-radius:999px;margin:0 6px 6px 0;padding:6px 13px;font-size:12px;display:inline-block}.cv-edu-row{border-top:1px solid var(--glass-border);justify-content:space-between;gap:16px;padding:10px 0;font-size:13.5px;display:flex}.cv-edu-row:first-of-type{border-top:none}.cv-edu-row .org{font-weight:600}.cv-edu-row .detail{color:var(--ink-dim)}.cv-edu-row .period{color:var(--ink-dim);white-space:nowrap;font-size:12px}.cv-projects{grid-template-columns:1fr 1fr;gap:14px;display:grid}.cv-project{border:1px solid var(--glass-border);background:linear-gradient(160deg, var(--proj-color,var(--violet)), transparent);border-radius:16px;padding:18px}@supports (color:color-mix(in lab, red, red)){.cv-project{background:linear-gradient(160deg, color-mix(in srgb, var(--proj-color,var(--violet)) 18%, transparent), transparent)}}.cv-project h5{margin:0 0 4px;font-size:14.5px}.cv-project p{color:var(--ink-dim);margin:0;font-size:12.5px;line-height:1.55}.cv-project a{color:var(--ink);border-bottom:1px solid var(--glass-border);margin-top:10px;font-size:12px;text-decoration:none;display:inline-block}.cv-footer{color:var(--ink-dim);margin-top:28px;font-size:12.5px;line-height:1.6}@media (max-width:640px){.cv-projects{grid-template-columns:1fr}.cv-head{flex-direction:column;align-items:flex-start}.cv-head .roles{text-align:left}}
