/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.contents{display:contents}}:root{--ink:#111118;--muted:#686875;--line:#e9e7ec;--paper:#fbfaf8;--white:#fff;--purple:#7457db;--purple-soft:#f0ecff;--pink:#d65b86;--green:#0f8662}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.section-shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfaf8e0;border-bottom:1px solid #e9e7ecd1;position:sticky;top:0}.nav-shell{grid-template-columns:1fr auto 1fr;width:min(1180px,100% - 48px);height:76px;margin-inline:auto;display:grid}.brand,.nav-shell{align-items:center}.brand{width:fit-content;color:var(--ink);letter-spacing:-.06em;font-size:22px;font-weight:800;line-height:1;display:inline-flex}.brand span{color:var(--purple);margin-left:1px}.desktop-nav{align-items:center;gap:30px;display:flex}.desktop-nav a{color:#52525f;font-size:13px;transition:color .16s}.desktop-nav a:hover{color:var(--ink)}.header-cta{background:var(--ink);color:#fff;border-radius:999px;justify-self:end;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:650;display:inline-flex}.mobile-menu-button,.mobile-nav{display:none}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;min-height:720px;padding-block:92px 82px;display:grid}.availability{color:#555461;background:#ffffffb3;border:1px solid #dedbe6;border-radius:999px;align-items:center;gap:9px;width:fit-content;margin-bottom:24px;padding:8px 12px;font-size:12px;display:flex}.availability span{background:#31a875;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #dff5ea}.contact-inner>p,.hero-kicker,.section-heading>p{color:var(--purple);letter-spacing:.18em;margin:0;font-size:11px;font-weight:800}.hero h1{letter-spacing:-.052em;max-width:680px;margin:15px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,5.5vw,78px);font-weight:500;line-height:.98}.contact-inner h2 em,.hero h1 em{color:var(--purple);font-weight:inherit}.hero-text{max-width:620px;color:var(--muted);margin:0;font-size:17px;line-height:1.75}.hero-actions{gap:11px;margin-top:34px;display:flex}.primary-button,.secondary-button{border-radius:9px;align-items:center;gap:9px;min-height:46px;padding:0 17px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{background:var(--ink);color:#fff}.secondary-button{background:#fff;border:1px solid #dad8df}.hero-tech{flex-wrap:wrap;gap:8px;margin-top:42px;display:flex}.hero-tech span{color:#696875;font-size:11px;font-weight:700}.hero-tech span:not(:last-child):after{content:"•";color:#c0bcc9;margin-left:8px}.hero-art{place-items:center;min-height:530px;display:grid;position:relative}.art-grid{opacity:.8;background-image:linear-gradient(#e6e1ed 1px,#0000 0),linear-gradient(90deg,#e6e1ed 1px,#0000 0);background-size:26px 26px;border-radius:28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 28%,#0000 70%);mask-image:radial-gradient(circle,#000 28%,#0000 70%)}.code-window{z-index:3;color:#e7e4eb;background:#17171d;border:1px solid #2b2934;border-radius:16px;width:min(470px,88%);position:relative;overflow:hidden;transform:rotate(-1.8deg);box-shadow:0 30px 80px #231c3b33}.code-top{background:#1d1d24;border-bottom:1px solid #2d2b35;justify-content:space-between;align-items:center;height:46px;padding:0 15px;display:flex}.code-top div{gap:6px;display:flex}.code-top div span{background:#4f4c59;border-radius:50%;width:8px;height:8px}.code-top small{color:#827f8d;font-size:10px}.code-body{padding:27px 24px 34px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:2.05}.code-body p{margin:0}.code-body i{color:#55525f;-webkit-user-select:none;user-select:none;width:33px;font-style:normal;display:inline-block}.code-body .purple{color:#b8a3ff}.code-body .pink{color:#f0a7bf}.indent{margin-left:18px}.double-indent{margin-left:38px}.floating-card{z-index:5;background:#ffffffed;border:1px solid #e1dee6;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;display:flex;position:absolute;box-shadow:0 14px 34px #20193317}.floating-card svg{color:var(--purple)}.floating-card span,.floating-card strong{display:block}.floating-card strong{font-size:12px}.floating-card span{color:#8a8791;margin-top:3px;font-size:9px}.card-one{bottom:86px;left:0}.card-two{top:75px;right:-8px}.intro-strip{border-block:1px solid var(--line);background:#fff}.strip-grid{grid-template-columns:repeat(4,1fr);display:grid}.strip-grid>div{border-right:1px solid var(--line);padding:26px 28px}.strip-grid>div:first-child{border-left:1px solid var(--line)}.strip-grid span,.strip-grid strong{display:block}.strip-grid strong{font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500}.strip-grid span{color:#84818a;margin-top:4px;font-size:11px}.section{padding-block:112px}.section-heading{max-width:570px}.section-heading h2{letter-spacing:-.036em;margin:13px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,4vw,52px);font-weight:500;line-height:1.06}.section-heading>span{color:var(--muted);margin-top:18px;font-size:14px;line-height:1.7;display:block}.about-grid,.experience-grid{grid-template-columns:.8fr 1.2fr;gap:90px;display:grid}.about-copy{max-width:720px}.about-copy>p{color:var(--muted);line-height:1.8}.about-copy .large-copy{color:#272630;margin-top:0;font-family:Georgia,Times New Roman,serif;font-size:25px;line-height:1.5}.principles{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:36px;display:grid}.principles>div{padding:24px 22px 0 0}.principles svg{color:var(--purple);margin-bottom:14px}.principles span,.principles strong{display:block}.principles strong{font-size:13px}.principles span{color:#85828c;margin-top:8px;font-size:11px;line-height:1.55}.projects-section,.skills-section{background:#f5f3f7}.skill-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px;display:grid}.skill-card{background:#ffffffc7;border:1px solid #e3dfe6;border-radius:15px;min-height:290px;padding:28px}.skill-icon{width:43px;height:43px;color:var(--purple);background:var(--purple-soft);border-radius:11px;place-items:center;display:grid}.skill-card h3{margin:26px 0 20px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.skill-list{flex-wrap:wrap;gap:8px;display:flex}.project-stack span,.skill-list span{color:#5e5b64;background:#fff;border:1px solid #e2dee7;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.experience-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:34px}.experience-label{color:var(--purple);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.experience-card h3{margin:10px 0 13px;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500}.experience-card>p{color:var(--muted);font-size:14px;line-height:1.75}.experience-card ul{gap:11px;margin:25px 0 0;padding:0;list-style:none;display:grid}.experience-card li{color:#55535d;padding-left:20px;font-size:13px;position:relative}.experience-card li:before{content:"";background:var(--purple);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.project-list{gap:26px;margin-top:54px;display:grid}.project-card{background:#fff;border:1px solid #e2dfe6;border-radius:20px;grid-template-columns:1.08fr .92fr;align-items:center;gap:42px;padding:18px;display:grid}.project-visual{border-radius:14px;min-height:380px;position:relative;overflow:hidden}.project-visual.rose{background:#f3dfe5}.project-visual.indigo{background:#e5e5f7}.project-visual.blue{background:#dfe8f5}.project-visual.emerald{background:#dcefe8}.browser-bar{z-index:3;background:#fffffff5;border-radius:9px 9px 0 0;align-items:center;gap:5px;width:84%;height:34px;padding-inline:12px;display:flex;position:absolute;top:38px;left:8%}.browser-bar>span{background:#d3cfd7;border-radius:50%;width:6px;height:6px}.browser-address{background:#f1eff3;border-radius:4px;width:42%;height:10px;margin-left:10px}.bakery-ui,.dashboard-ui,.github-ui{background:#fffaf6;width:84%;height:270px;position:absolute;top:72px;left:8%;overflow:hidden;box-shadow:0 22px 40px #2d1e241f}.bakery-ui{background:#fffaf6;padding:30px}.mini-brand{color:#6e3c30;letter-spacing:.18em;font-family:Georgia,serif;font-size:11px}.cupcake-stage{grid-template-columns:.82fr 1.18fr;align-items:center;gap:20px;height:calc(100% - 20px);display:grid}.cupcake{width:120px;margin-inline:auto}.frosting{background:#f5afc0;border-radius:55% 50% 42% 40%;width:116px;height:76px;box-shadow:inset -15px -10px #c26e8329,0 -8px #f8c1ce}.cake{clip-path:polygon(7% 0,93% 0,82% 100%,18% 100%);background:repeating-linear-gradient(90deg,#d79e77 0 10px,#c8865e 10px 17px);width:86px;height:82px;margin:-3px auto 0}.cupcake-stage p{color:#ca7890;margin:0 0 7px;font-family:Georgia,serif;font-size:12px;font-style:italic}.cupcake-stage strong{color:#59392f;max-width:190px;font-family:Georgia,serif;font-size:26px;font-weight:500;line-height:1;display:block}.mini-button{background:#663f34;border-radius:3px;width:72px;height:19px;margin-top:18px}.dashboard-ui{background:#f8f9fd;grid-template-columns:70px 1fr;display:grid}.side-rail{background:#20203c;padding:28px 15px}.side-rail span{background:#5e5e80;border-radius:4px;width:30px;height:7px;margin-bottom:18px;display:block}.dashboard-main{padding:30px 24px}.dash-title{background:#343457;border-radius:4px;width:120px;height:14px}.dash-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px;display:grid}.dash-cards span{background:#e8e8f4;border-radius:7px;height:60px}.dash-table{background:#fff;border-radius:8px;margin-top:18px;padding:12px}.dash-table i{background:#ececf3;border-radius:3px;height:9px;margin:10px 0;display:block}.github-ui{color:#fff;background:#111722;padding:26px}.search-line{gap:8px;display:flex}.search-line>span{color:#708096;border:1px solid #2d394c;border-radius:6px;flex:1;padding:9px 10px;font-size:8px}.search-line>i{background:#7757e8;border-radius:6px;padding:9px 13px;font-size:8px;font-style:normal}.github-profile{background:#151e2b;border:1px solid #263348;border-radius:9px;grid-template-columns:52px 1fr;gap:13px;margin-top:20px;padding:15px;display:grid}.avatar-placeholder{color:#6450a6;background:#d8d4ed;border-radius:50%;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:22px;display:grid}.github-profile span,.github-profile strong{display:block}.github-profile strong{font-size:10px}.github-profile span{color:#8f9bad;margin-top:3px;font-size:7px}.profile-lines{margin-top:9px}.profile-lines i{background:#28364a;border-radius:2px;width:80%;height:5px;margin-top:5px;display:block}.repo-lines{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px;display:grid}.repo-lines span{background:#151e2b;border:1px solid #263348;border-radius:7px;height:40px}.project-copy{padding:24px 30px 24px 0}.project-meta{align-items:center;gap:13px;display:flex}.project-meta span{color:#9c98a2;font-family:Georgia,serif;font-size:15px}.project-meta p{color:var(--purple);letter-spacing:.12em;margin:0;font-size:9px}.project-meta p,.project-status{text-transform:uppercase;font-weight:800}.project-status{color:#7259c9;letter-spacing:.08em;background:#f6f3ff;border:1px solid #ddd8e8;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:8px}.project-copy h3{letter-spacing:-.03em;margin:18px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.project-description{color:var(--muted);font-size:13px;line-height:1.75}.project-stack{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.project-note{border-top:1px solid var(--line);color:#8b7680;margin:22px 0 0;padding-top:18px;font-size:10px;line-height:1.55}.github-more{background:#fff;border:1px solid #dedbe3;border-radius:15px;justify-content:space-between;gap:20px;margin-top:26px;padding:24px 27px}.github-more,.github-more>div{align-items:center;display:flex}.github-more>div{gap:14px}.github-more>div>svg{color:var(--purple)}.github-more span,.github-more strong{display:block}.github-more strong{font-size:13px}.github-more span{color:#85818b;margin-top:4px;font-size:10px}.github-more>a{white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.credentials{grid-template-columns:1fr 1fr;gap:80px;display:grid}.credential-list{border-top:1px solid var(--line);margin-top:35px}.credential-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:22px 0;display:flex}.credential-row small,.credential-row strong{display:block}.credential-row small{color:#8f8b94;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px}.credential-row strong{font-family:Georgia,serif;font-size:18px;font-weight:500}.credential-row>span{color:#77737d;font-size:11px}.contact-section{color:#fff;background:#17171d;padding-block:115px}.contact-inner{text-align:center}.contact-inner>p{color:#a993fa}.contact-inner h2{letter-spacing:-.045em;max-width:850px;margin:18px auto 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5.2vw,67px);font-weight:500;line-height:1.03}.contact-inner>span{color:#9996a3;max-width:620px;margin-inline:auto;font-size:14px;line-height:1.7;display:block}.contact-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:35px;display:flex}.contact-primary,.contact-secondary{border-radius:8px;align-items:center;gap:9px;min-height:47px;padding:0 17px;font-size:12px;font-weight:750;display:inline-flex}.contact-primary{color:#19191f;background:#fff}.contact-secondary{color:#d9d5df;border:1px solid #3e3b46}footer{color:#fff;background:#111116;border-top:1px solid #292830}.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;min-height:98px;display:grid}.footer-inner span,.footer-inner strong{display:block}.footer-inner strong{font-family:Georgia,serif;font-size:16px;font-weight:500}.footer-inner a,.footer-inner p,.footer-inner span{color:#77747e;font-size:10px}.footer-inner span{margin-top:3px}.footer-inner p{margin:0}.footer-inner a{justify-self:end}@media (max-width:980px){.hero{grid-template-columns:1fr;gap:55px;min-height:auto}.hero-art{width:min(650px,100%);margin-inline:auto}.about-grid,.experience-grid{grid-template-columns:1fr;gap:45px}.skill-grid{grid-template-columns:1fr 1fr}.skill-card:last-child{grid-column:1/-1}.project-card{grid-template-columns:1fr;gap:10px}.project-copy{padding:25px 14px}.credentials{gap:45px}}@media (max-width:760px){.nav-shell,.section-shell{width:min(100% - 28px,1180px)}.nav-shell{grid-template-columns:1fr auto;height:68px}.desktop-nav,.header-cta{display:none}.mobile-menu-button{background:#fff;border:1px solid #dedbe3;border-radius:9px;justify-self:end;place-items:center;width:40px;height:40px;display:grid}.mobile-nav{border-top:1px solid var(--line);background:var(--paper);padding:10px 20px 20px;display:grid}.mobile-nav a{color:#55535c;padding:12px 0;font-size:13px}.hero{padding-block:70px 60px}.hero h1{font-size:clamp(45px,13vw,62px)}.hero-actions{align-items:stretch}.hero-art{min-height:430px}.code-window{width:94%}.card-one{bottom:30px;left:-2px}.card-two{top:42px;right:0}.strip-grid{grid-template-columns:1fr 1fr}.strip-grid>div{border-bottom:1px solid var(--line)}.section{padding-block:82px}.principles{grid-template-columns:1fr}.principles>div{padding-bottom:20px}.credentials,.skill-grid{grid-template-columns:1fr}.skill-card:last-child{grid-column:auto}.project-visual{min-height:330px}.github-more{flex-direction:column;align-items:flex-start}.footer-inner{text-align:center;grid-template-columns:1fr;gap:14px;min-height:auto;padding-block:25px}.footer-inner a{justify-self:center}}@media (max-width:520px){.contact-actions,.hero-actions{flex-direction:column}.contact-primary,.contact-secondary,.primary-button,.secondary-button{justify-content:center}.hero-art{min-height:390px}.code-body{padding:22px 15px 28px;font-size:11px}.floating-card{padding:10px 12px}.card-two{top:24px}.strip-grid{grid-template-columns:1fr}.strip-grid>div{border-left:1px solid var(--line)}.project-card{padding:10px}.project-visual{min-height:285px}.browser-bar{top:27px}.bakery-ui,.dashboard-ui,.github-ui{height:198px;top:61px}.bakery-ui{padding:18px}.cupcake,.frosting{width:85px}.frosting{height:55px}.cake{width:63px;height:59px}.cupcake-stage strong{font-size:18px}.dashboard-main{padding:20px 14px}.github-ui{padding:16px}.project-copy h3{font-size:29px}.credential-row{flex-direction:column;align-items:flex-start}}