@import "https://fonts.googleapis.com/css2?family=Public+Sans:wght@500;600;700;800;900&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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,ui-sans-serif, system-ui, 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{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{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-3{top:calc(var(--spacing) * 3)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#090b11;--fg:#f6f8ff;--muted:#aeb6cb;--line:#8d9abd47;--panel:#0e111bc7;--panel-strong:#0c0f18f0;--accent:#2e6f8f;--accent-hot:#e18694;--shadow:#0000006b}.theme-light{--bg:#f2f5fa;--fg:#101726;--muted:#344156;--line:#1e2a4033;--panel:#ffffffdb;--panel-strong:#fffffff5;--shadow:#33415529}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #231037bd 0, #090b11e6 300px, transparent 680px), linear-gradient(0deg, #22618642 0, #722a6629 280px, transparent 700px), linear-gradient(115deg, #22618657, #722a6647 24%, transparent 52%), var(--bg);min-width:320px;color:var(--fg);letter-spacing:0;margin:0;font-family:Public Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.theme-light body{background:linear-gradient(180deg, #d1e8f2bd 0, #f7faffe6 300px, transparent 680px), linear-gradient(0deg, #e1869438 0, #5b9dbc29 280px, transparent 700px), linear-gradient(115deg, #437e9842, #e1869433 24%, transparent 56%), var(--bg)}body:before{z-index:-1;content:"";opacity:.45;pointer-events:none;background:linear-gradient(160deg,#ffffff0e,#0000 30%),repeating-linear-gradient(110deg,#ffffff06 0 1px,#0000 1px 6px);position:fixed;inset:0}.theme-light body:before{opacity:.34;background:linear-gradient(160deg,#285b760f,#0000 30%),repeating-linear-gradient(110deg,#1f2a4409 0 1px,#0000 1px 6px)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;border:0}.site-shell{width:min(100%,1280px);margin:0 auto;padding:40px 24px 0}.site-nav{z-index:20;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:120px;display:grid;position:sticky;top:0}.site-nav>*{pointer-events:auto}.brand-spacer{width:1px;height:1px;display:block}.brand{align-items:center;gap:10px;width:fit-content;font-size:24px;font-weight:800;display:inline-flex}.brand-mark{background:var(--fg);width:39px;height:22px;color:var(--bg);letter-spacing:0;text-transform:uppercase;border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.nav-links{border:1px solid var(--line);box-shadow:0 18px 46px var(--shadow), inset 0 1px 0 #ffffff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f1420b8;border-radius:999px;align-items:center;gap:16px;padding:8px;display:flex}.theme-light .nav-links{box-shadow:0 18px 46px var(--shadow), inset 0 1px 0 #fffc;background:#ffffffdb}.nav-links a{min-width:70px;height:33px;color:var(--muted);border-radius:999px;place-items:center;font-size:14px;font-weight:800;transition:transform .18s,background .18s,color .18s,box-shadow .18s;display:grid}.nav-links a:hover,.nav-links a:focus-visible{color:#fff;background:#ffffff14;transform:translateY(-1px)}.theme-light .nav-links a{color:#304056}.theme-light .nav-links a:hover,.theme-light .nav-links a:focus-visible{color:#17364a;background:#1f6f8e14}.nav-links .active{color:#fff;background:#2e6f8f}.nav-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.icon-link,.theme-toggle{background:#06080eb8;border-radius:999px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;transition:transform .18s,background .18s,box-shadow .18s,color .18s;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.icon-link:hover,.icon-link:focus-visible,.theme-toggle:hover,.theme-toggle:focus-visible{background:#226186b8;transform:translateY(-2px)scale(1.03);box-shadow:inset 0 0 0 1px #68aeca47,0 12px 26px #0003}.social-icon{color:currentColor;width:17px;height:17px;display:block}.icon-link .social-icon{width:16px;height:16px}.theme-light .icon-link,.theme-light .theme-toggle{color:#111827;background:#ffffffdb;box-shadow:inset 0 0 0 1px #1e2a4029,0 10px 24px #3341551f}.theme-toggle{cursor:pointer;width:64px;position:relative}.theme-toggle:hover .theme-dot,.theme-toggle:focus-visible .theme-dot{transform:scale(1.06)}.theme-dot{background:radial-gradient(circle at 64% 36%,#0000 0 7px,#d8eff7 8px),#244d62;border-radius:999px;width:28px;height:28px;transition:transform .18s;position:absolute;right:6px;box-shadow:0 6px 18px #2980a059}.theme-light .theme-dot{background:#f4c46d;transform:translate(-24px)}.theme-light .theme-toggle:hover .theme-dot,.theme-light .theme-toggle:focus-visible .theme-dot{transform:translate(-24px)scale(1.06)}.menu-button{display:none}.hero{grid-template-columns:minmax(0,1fr) 480px;align-items:end;gap:60px;min-height:716px;padding:96px 16px 60px 40px;display:grid}.hero-copy{padding-bottom:54px}.hero h1{color:#fff;letter-spacing:0;max-width:650px;margin:0 0 22px;font-size:clamp(64px,7vw,96px);font-weight:900;line-height:.96}.theme-light .hero h1{color:var(--fg)}.hero-name{color:#78c2e1}.theme-light .hero-name{color:#1f6f8e}.hero p{max-width:640px;color:var(--muted);margin:0;font-size:28px;font-weight:600;line-height:1.42}.skill-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.skill-row span{min-height:50px;box-shadow:inset 0 1px 0 #ffffff1f, 0 12px 28px var(--shadow);color:#f5f8ff;background:linear-gradient(135deg,#26627cf0,#1a435bf0);border-radius:999px;align-items:center;padding:0 22px;font-size:18px;font-weight:800;display:inline-flex}.portrait-card{width:480px;height:640px;box-shadow:0 26px 70px var(--shadow);background:linear-gradient(145deg,#c8d8df,#0e121b);border:1px solid #ffffff1a;border-radius:72px 72px 8px 8px;transition:transform .22s,box-shadow .22s,border-color .22s;display:block;overflow:hidden}.portrait-card:hover,.portrait-card:focus-visible{box-shadow:0 32px 82px var(--shadow);border-color:#68aeca61;transform:translateY(-5px)scale(1.01)}.portrait-card img{object-fit:cover;width:100%;height:100%;display:block}.box{border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff0a, 0 18px 45px var(--shadow);background:#06080e94;border-radius:24px}.theme-light .box{background:var(--panel)}.skills-box{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px;min-height:362px;padding:46px 40px;display:grid}.skill-card{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.skill-mark{color:#68aeca;border:2px solid #5090adbf;border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:22px;font-size:12px;font-weight:900;display:grid}.skill-card h2{max-width:350px;margin:0 0 20px;font-size:36px;font-weight:900;line-height:1.06}.skill-card p{max-width:360px;color:var(--muted);margin:0;font-size:17px;font-weight:600;line-height:1.45}.about-cta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:34px;padding:72px 0;display:flex}.about-cta-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px;display:grid}.about-cta-heading>div{min-width:0}.about-cta h2{color:#fff;max-width:720px;margin:0;font-size:clamp(48px,6vw,78px);font-weight:900;line-height:.96}.theme-light .about-cta h2{color:var(--fg)}.about-subtitle{max-width:680px;color:var(--muted);margin:18px 0 0;font-size:22px;font-weight:700;line-height:1.42}.about-main-link{justify-self:end}.about-cta-body{grid-template-columns:440px minmax(0,1fr);align-items:center;gap:58px;display:grid}.about-cta-copy{align-items:center;min-height:230px;padding-bottom:24px;display:grid}.cv-download-card{background:#0c121c94;border:1px solid #68aeca57;border-radius:999px;grid-template-columns:10px auto 10px;justify-self:center;align-items:center;gap:18px;padding:14px 18px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:inline-grid;box-shadow:inset 0 1px #ffffff14,0 18px 48px #0000002e}.cv-download-card:hover,.cv-download-card:focus-within{background:#0e1824b8;border-color:#68aeca94;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff1f,0 22px 54px #0000003d}.cv-download-card a{color:#fff;background:#2e6f8f;border-radius:999px;justify-content:center;align-items:center;min-height:58px;padding:0 32px;font-size:18px;font-weight:900;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex;box-shadow:0 14px 34px #154f6742}.cv-download-card:hover a,.cv-download-card:focus-within a,.cv-download-card a:hover,.cv-download-card a:focus-visible{background:#347f9c;transform:scale(1.02);box-shadow:0 18px 38px #154f674d}.cv-dot{background:#68aeca;border-radius:999px;width:10px;height:10px;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 0 0 6px #68aeca1f}.cv-download-card:hover .cv-dot,.cv-download-card:focus-within .cv-dot{background:#8cc7dc;transform:scale(1.12);box-shadow:0 0 0 7px #68aeca2e}.theme-light .cv-download-card{background:#ffffffb8;border-color:#2c698438;box-shadow:0 16px 40px #1e3a501f}.theme-light .cv-download-card:hover,.theme-light .cv-download-card:focus-within{background:#ffffffeb;border-color:#2c69845c;box-shadow:0 22px 48px #1e3a502e}.contact-graph{aspect-ratio:44/39;justify-self:start;width:min(100%,440px);position:relative}.graph-lines{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.graph-lines line{stroke:url(#graph-line);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 8px #68aeca38)}.graph-lines .graph-spoke{stroke:#68aecae6;stroke-width:3px;opacity:.86}.theme-light .graph-lines line{filter:drop-shadow(0 0 7px #1f6f8e1f)}.theme-light .graph-lines .graph-spoke{stroke:#1f6f8ed1}.graph-photo,.graph-node{z-index:2;border-radius:999px;place-items:center;display:grid;position:absolute;overflow:hidden}.graph-photo{object-fit:cover;background:#101827;border:4px solid #dfe4f2eb;width:118px;height:118px;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 45px #0000004d}.theme-light .graph-photo{border-color:#fffffff5;box-shadow:0 18px 42px #33415529}.graph-node{color:#fff;background:radial-gradient(circle at 30% 20%,#ffffff29,#0000 36%),#141925eb;border:1px solid #dfe4f229;width:74px;height:74px;font-size:18px;font-weight:900;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff1a,0 18px 36px #0000003d}.graph-node .social-icon{width:25px;height:25px}.graph-node:hover,.graph-node:focus-visible{background:#2c719073;border-color:#68aecae0;transform:translate(-50%,-50%)scale(1.06);box-shadow:inset 0 1px #ffffff29,0 20px 42px #205b7547}.theme-light .graph-node{color:var(--fg);background:#ffffffdb;border-color:#1e2a401f;box-shadow:inset 0 1px #ffffffdb,0 18px 36px #33415524}.graph-github{top:11.54%;left:50%}.graph-linkedin{top:38.21%;left:17.5%}.graph-email{top:38.21%;left:82.5%}.graph-tiktok{top:81.03%;left:30%}.graph-instagram{top:81.03%;left:70%}.work-section{min-height:650px;padding-top:118px}.work-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.work-section .product-card,.work-section .product-card:nth-child(2n){--card-offset:0px;height:232px}.work-section .product-title{font-size:18px}.work-section .preview-logo{border-radius:18px;width:58px;height:58px;top:16px;right:16px}.work-section .preview-play{width:48px;height:48px;bottom:28px;right:46px}.page-hero,.about-hero,.project-detail-header{padding:116px 40px 84px}.page-kicker{color:#7892ae;max-width:520px;margin:0 0 28px;font-size:17px;font-weight:800;line-height:1.45}.theme-light .page-kicker{color:#47657f}.page-hero h1,.about-intro h1,.project-detail h1{color:#fff;margin:0 0 24px;font-size:clamp(72px,9vw,126px);font-weight:900;line-height:.92}.theme-light .page-hero h1,.theme-light .about-intro h1,.theme-light .project-detail h1{color:var(--fg)}.page-hero p:not(.page-kicker):not(.work-note),.about-intro p,.project-detail-header p{max-width:760px;color:var(--muted);margin:0;font-size:26px;font-weight:600;line-height:1.45}.page-hero p.work-note{border:1px solid var(--line);max-width:850px;color:var(--muted);background:#ffffff0a;border-radius:22px;margin-top:44px;margin-bottom:-18px;padding:28px 30px;font-size:18px;font-weight:700}.page-hero p.work-note a{color:#fff;text-underline-offset:4px;text-decoration:underline}.theme-light .page-hero p.work-note{color:#334155;background:#ffffffb8}.theme-light .page-hero p.work-note a{color:#1f6f8e}.inline-social-link{align-items:center;gap:7px;transition:color .18s,opacity .18s;display:inline-flex}.inline-social-link .social-icon{width:16px;height:16px;transition:transform .18s}.inline-social-link:hover,.inline-social-link:focus-visible{opacity:.82}.inline-social-link:hover .social-icon,.inline-social-link:focus-visible .social-icon{transform:translateY(-1px)rotate(-4deg)}.theme-light .page-hero p:not(.page-kicker),.theme-light .about-intro p,.theme-light .project-detail-header p,.theme-light .section-header p,.theme-light .about-content p,.theme-light .about-content li,.theme-light .detail-section li{color:var(--muted)}.work-page-section,.more-work-section,.explore-work,.other-projects{padding:24px 0 120px}.more-work-section,.explore-work,.other-projects{padding-top:118px}.section-header.compact{align-items:center;margin-bottom:64px}.section-header.compact h2{margin:0 0 12px;font-size:clamp(42px,5.6vw,64px);font-weight:900;line-height:1}.section-header.compact p{max-width:660px;font-size:20px}.about-work-cta{padding:58px 0 56px}.about-work-cta .section-header.compact{margin-bottom:0}.about-hero{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:84px;display:grid}.about-intro{min-width:0}.about-intro p{font-size:22px}.about-contact-email a{color:#dce7f6}.theme-light .about-contact-email a{color:#1f5f82}.about-intro .about-contact-email{margin-top:34px}.cv-feature-card{background:linear-gradient(135deg,#e186941f,#2e6f8f29),#06080e94;border:1px solid #68aeca42;border-radius:24px;justify-content:center;align-items:center;gap:34px;width:100%;margin:0 0 76px;padding:34px 40px;display:flex;box-shadow:inset 0 1px #ffffff0f,0 18px 42px #0003}.theme-light .cv-feature-card{background:linear-gradient(135deg,#e1869429,#5b9dbc24),#ffffffd6;border-color:#2c69842e;box-shadow:0 18px 42px #3341551f}.cv-feature-copy{text-align:center;width:min(100%,560px);min-width:0}.cv-feature-copy h2{color:#fff;margin:0 0 10px;font-size:clamp(32px,4vw,48px);font-weight:900;line-height:1}.theme-light .cv-feature-copy h2{color:var(--fg)}.cv-feature-copy p{color:var(--muted);margin:0;font-size:18px;font-weight:700;line-height:1.45}.cv-feature-link{color:#fff;background:#2e6f8f;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-width:176px;min-height:54px;padding:0 24px;font-size:16px;font-weight:900;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:inline-flex;box-shadow:0 14px 32px #154f673d}.cv-feature-link:hover,.cv-feature-link:focus-visible{background:#347f9c;transform:translateY(-2px)scale(1.01);box-shadow:0 18px 38px #154f674d}.theme-light .small-pill,.theme-light .back-link,.theme-light .menu-button{color:#111827;background:#ffffffdb;box-shadow:inset 0 0 0 1px #1e2a4029,0 10px 24px #3341551f}.about-photo{border:1px solid var(--line);width:390px;height:520px;box-shadow:0 24px 68px var(--shadow);background:linear-gradient(145deg,#d8e3e8,#111827);border-radius:64px 64px 8px 8px;transition:transform .22s,border-color .22s,box-shadow .22s;display:block;overflow:hidden}.about-photo:hover,.about-photo:focus-visible{box-shadow:0 30px 78px var(--shadow);border-color:#68aeca61;transform:translateY(-4px)scale(1.01)}.about-photo img{object-fit:cover;width:100%;height:100%;display:block}.about-summary-card{border:1px solid var(--line);width:100%;max-width:700px;min-height:214px;box-shadow:inset 0 1px 0 #ffffff0a, 0 18px 45px var(--shadow);background:#06080e94;border-radius:24px;margin-top:42px;padding:34px 40px}.theme-light .about-summary-card{background:var(--panel)}.about-summary-card h2{margin:0 0 18px;font-size:32px;font-weight:900;line-height:1.08}.about-summary-card p{max-width:590px;color:var(--muted);margin:0;font-size:18px;font-weight:600;line-height:1.55}.about-content{grid-template-columns:minmax(0,1fr);gap:28px;padding:0 0 92px;display:grid}.about-content article,.detail-section{border:1px solid var(--line);min-height:0;box-shadow:inset 0 1px 0 #ffffff0a, 0 18px 45px var(--shadow);background:#06080e94;border-radius:24px;padding:36px 40px}.theme-light .about-content article,.theme-light .detail-section{background:var(--panel)}.about-content h2,.detail-section h2{margin:0 0 18px;font-size:32px;font-weight:900;line-height:1.08}.about-content p,.about-content li,.detail-section p,.detail-section li{color:var(--muted);font-size:18px;font-weight:600;line-height:1.55}.detail-section strong{color:var(--fg);font-weight:900}.about-content p{margin:0 0 14px}.detail-section p{margin:0}.about-content ul,.detail-section ul{margin:0;padding-left:22px}.about-content li+li,.detail-section li+li{margin-top:10px}.about-content .skills-showcase{box-shadow:none;background:0 0;border:0;padding:0}.theme-light .about-content .skills-showcase{box-shadow:none;background:0 0}.skills-showcase-header{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:24px;display:grid}.skills-showcase-header span{color:#b8e5f7;text-transform:uppercase;letter-spacing:0;border:1px solid #68aeca57;border-radius:999px;width:fit-content;padding:8px 12px;font-size:13px;font-weight:900}.theme-light .skills-showcase-header span{color:#1f5f82;background:#ffffffb8}.skills-showcase-header h2{margin:0;font-size:clamp(42px,5vw,68px)}.skills-showcase-header p{max-width:780px;color:var(--muted);margin:0;font-size:20px;font-weight:700;line-height:1.45}.tech-stack-panel{align-content:start;gap:46px;min-height:0;padding:34px 0 28px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.tech-stack-panel:hover{transform:none}.theme-light .tech-stack-panel{box-shadow:none;background:0 0}.tech-stack-panel h3{color:var(--fg);margin:0;font-size:24px;font-weight:950;line-height:1.08}.tech-stack-panel p{color:var(--muted);margin:10px 0 0;font-size:15px;font-weight:700;line-height:1.45}.tech-stack-group{gap:28px;display:grid}.tech-stack-group h3{color:var(--muted);text-transform:uppercase;justify-self:center;margin:0;font-size:18px;font-weight:900}.tech-logo-grid{grid-template-columns:repeat(3,104px);justify-content:center;gap:56px 92px;display:grid}.tech-logo-grid.five-icons{grid-template-columns:repeat(5,104px);gap:42px 58px}.tech-logo-grid.programming-icons{grid-template-columns:repeat(4,104px);gap:42px 92px}.tech-logo-link{place-items:center;width:104px;height:104px;padding:0;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative}.tech-logo-link:hover,.tech-logo-link:focus-visible{transform:translateY(-4px)scale(1.08)}.tech-logo-static{cursor:default}.tech-logo-static:hover{transform:none}.theme-light .tech-logo-link{box-shadow:none;background:0 0;border-color:#0000}.tech-logo-link img{object-fit:contain;filter:drop-shadow(0 16px 18px #0003);width:78px;height:78px;display:block}.skill-summary-section{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);gap:58px;margin-top:44px;padding-top:54px;display:grid}.skill-summary-section h2{color:var(--fg);margin:0;font-size:clamp(34px,4vw,52px);font-weight:950;line-height:1}.skill-summary-section ul{gap:17px;margin:0;padding-left:24px;display:grid}.skill-summary-section li{color:var(--muted);font-size:22px;font-weight:650;line-height:1.35}.skill-summary-section strong{color:var(--fg);font-weight:950}.latest-experience{margin-top:68px}.latest-experience-header{margin-bottom:28px}.latest-experience-header>span{color:#b8e5f7;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:900;display:inline-flex}.theme-light .latest-experience-header>span{color:#1f5f82}.latest-experience-header h2{margin:0;font-size:clamp(40px,4.6vw,62px);font-weight:950;line-height:1}.experience-list{gap:18px;display:grid}.experience-row{border:1px solid var(--line);border-radius:24px;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:44px;padding:30px 44px;display:grid}.experience-row h3{color:var(--fg);margin:0 0 8px;font-size:26px;font-weight:950;line-height:1.08}.experience-row div:first-child>span{color:#b8e5f7;font-size:15px;font-weight:900}.theme-light .experience-row div:first-child>span{color:#1f5f82}.experience-row p{max-width:790px;color:var(--muted);margin:0;font-size:18px;font-weight:700;line-height:1.55}.experience-row a{color:#fff;align-items:center;gap:8px;margin-top:16px;font-size:15px;font-weight:950;transition:color .18s,transform .18s;display:inline-flex}.experience-row a:hover,.experience-row a:focus-visible{color:#b8e5f7;transform:translate(3px)}.theme-light .experience-row a{color:#1f5f82}.project-detail{padding-bottom:28px}.project-detail-header{padding-bottom:52px}.back-link{border:1px solid var(--line);color:#fff;background:#06080eb3;border-radius:999px;place-items:center;width:58px;height:58px;margin-bottom:28px;font-size:20px;font-weight:900;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:grid}.back-link:hover,.back-link:focus-visible{background:#226186b8;border-color:#68aeca8a;transform:translate(-3px);box-shadow:0 14px 30px #00000038}.detail-tags{flex-wrap:wrap;gap:12px;margin-bottom:30px;display:flex}.detail-tags span,.stack-list span{color:#edf7ff;background:#255670b8;border-radius:999px;align-items:center;min-height:42px;padding:0 18px;font-size:15px;font-weight:900;display:inline-flex}.visit-link{margin-top:34px}.project-hero-visual{border:1px solid var(--line);height:540px;box-shadow:0 24px 68px var(--shadow);background:#111827;border-radius:28px;position:relative;overflow:hidden}.project-hero-visual .product-visual{opacity:1}.project-hero-visual .product-screen{height:300px;bottom:76px;left:96px;right:96px}.project-hero-visual .product-window{top:72px;left:92px}.project-hero-visual .product-chip{top:76px;right:96px}.detail-section{min-height:0;margin-top:28px}.stack-list{flex-wrap:wrap;gap:12px;display:flex}.section-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:40px;margin-bottom:110px;display:grid}.section-header h3{margin:0 0 18px;font-size:clamp(52px,6vw,78px);font-weight:900;line-height:.96}.section-header p{color:var(--muted);margin:0;font-size:24px;font-weight:600}.gradient-link{min-width:248px;min-height:67px;box-shadow:0 20px 34px var(--shadow), inset 0 0 0 1px #ffffff24;color:#fff;background:#2e6f8f;border-radius:999px;justify-content:center;align-items:center;gap:20px;padding:0 34px;font-size:28px;font-weight:700;transition:transform .19s,box-shadow .19s,background .19s;display:inline-flex}.gradient-link span{transition:transform .19s}.gradient-link:hover,.gradient-link:focus-visible{box-shadow:0 24px 42px var(--shadow), inset 0 0 0 1px #ffffff2e;background:#347f9c;transform:translateY(-3px)}.gradient-link:hover span,.gradient-link:focus-visible span{transform:translate(4px)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;display:grid}.product-card{--card-offset:0px;border:1px solid var(--line);height:352px;transform:translateY(var(--card-offset));background:linear-gradient(145deg,#161b2afa,#080a0ff2);border-radius:24px;transition:transform .22s,border-color .22s,box-shadow .22s,filter .22s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 16px 36px #0000004d}.theme-light .product-card{background:linear-gradient(145deg,#fffffff5,#e4ebf6f0);box-shadow:inset 0 1px #ffffffd9,0 16px 36px #33415524}.product-card:nth-child(2n){--card-offset:120px}.product-card:hover,.product-card:focus-visible{filter:saturate(1.04);transform:translateY(calc(var(--card-offset) - 8px)) scale(1.01);border-color:#68aeca75;box-shadow:inset 0 1px #ffffff14,0 22px 46px #00000057}.card-sycra,.card-prompt-injection,.card-attendance{border:2px solid #ffd466fa;box-shadow:inset 0 0 0 2px #ffeeae5c,inset 0 1px #ffffff14,0 16px 36px #0000004d,0 0 0 2px #a5741959,0 0 34px #ffca5152}.theme-light .card-sycra,.theme-light .card-prompt-injection,.theme-light .card-attendance{border-color:#d6991efa;box-shadow:inset 0 0 0 2px #ffe9a28f,inset 0 1px #ffffffdb,0 16px 36px #33415524,0 0 0 2px #b886244d,0 0 30px #d6991e3d}.card-sycra:hover,.card-sycra:focus-visible,.card-prompt-injection:hover,.card-prompt-injection:focus-visible,.card-attendance:hover,.card-attendance:focus-visible{border-color:#ffe185;box-shadow:inset 0 0 0 2px #ffeeae7a,inset 0 1px #ffffff1f,0 22px 48px #00000057,0 0 0 2px #a574196b,0 0 42px #ffca516b}.theme-light .card-sycra:hover,.theme-light .card-sycra:focus-visible,.theme-light .card-prompt-injection:hover,.theme-light .card-prompt-injection:focus-visible,.theme-light .card-attendance:hover,.theme-light .card-attendance:focus-visible{border-color:#d6991e;box-shadow:inset 0 0 0 2px #ffe9a2a8,inset 0 1px #ffffffe6,0 22px 46px #3341552b,0 0 0 2px #b886245c,0 0 38px #d6991e4d}.product-title{z-index:3;color:#dfe4f2;background:#05070de0;border-radius:12px;padding:11px 17px;font-size:22px;font-weight:900;position:absolute;top:12px;left:12px}.theme-light .product-title{color:#111827;background:#ffffffeb;box-shadow:inset 0 0 0 1px #1e2a401f}.product-visual{opacity:0;background:linear-gradient(135deg,#7dbfdbe6,#e88591e6),#111827;transition:opacity .32s;display:block;position:absolute;inset:0}.product-card:hover .product-visual,.product-card:focus-visible .product-visual,.product-card:first-child .product-visual,.product-card.has-media .product-visual{opacity:1}.product-visual.product-copilot{background:linear-gradient(135deg,#20283b,#5f8fd2 44%,#e37d92)}.product-visual.product-sem{background:linear-gradient(135deg,#121827,#2e6f8f 46%,#e18694)}.product-visual.product-homiq{background:linear-gradient(135deg,#26364d,#7696a8 42%,#df906b)}.product-window,.product-screen,.product-chip,.product-sidebar,.product-lines,.product-panel{display:block;position:absolute}.product-window{gap:8px;display:flex;top:44px;left:44px}.product-window span{background:#ffffffbf;border-radius:999px;width:13px;height:13px}.product-screen{background:#ffffffe0;border-radius:22px;height:190px;bottom:46px;left:56px;right:56px;box-shadow:0 24px 40px #0000003d}.product-sidebar{background:#1a2a432e;border-radius:18px;width:72px;top:22px;bottom:22px;left:22px}.product-lines{top:36px;left:120px;right:42px}.product-lines span{background:#2033512e;border-radius:999px;height:14px;margin-bottom:18px;display:block}.product-lines span:first-child{width:74%}.product-lines span:nth-child(2){width:100%}.product-lines span:nth-child(3){width:54%}.product-panel{background:#2e6f8f47;border-radius:18px;width:132px;height:52px;bottom:28px;right:42px}.product-chip{color:#fff;background:#ffffff29;border-radius:18px;place-items:center;width:58px;height:58px;font-size:22px;font-weight:900;display:grid;top:48px;right:42px}.product-media-preview{background:#0a0d14;overflow:hidden}.preview-image{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.02)}.preview-shade{background:linear-gradient(#04080e0f,#04080e80),linear-gradient(135deg,#e186943d,#2e6f8f33);position:absolute;inset:0}.preview-logo{z-index:2;object-fit:cover;background:#fff;border-radius:22px;width:74px;height:74px;position:absolute;bottom:24px;right:24px;box-shadow:0 18px 38px #00000047}.product-card.has-media .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.product-card.has-media .preview-logo{top:18px;bottom:auto;right:18px}.preview-play{z-index:2;background:#ffffffe0;border-radius:999px;place-items:center;width:54px;height:54px;font-size:0;display:grid;position:absolute;bottom:34px;right:72px;box-shadow:0 16px 34px #0000003d}.preview-play:before{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:15px solid #111827;width:0;height:0;margin-left:4px}.product-collab{z-index:3;color:#fff;background:#090d15c7;border-radius:999px;place-items:center;max-width:calc(100% - 36px);min-height:34px;padding:0 13px;font-size:13px;font-weight:900;line-height:1;display:inline-grid;position:absolute;bottom:74px;left:18px;box-shadow:0 14px 32px #00000038}.card-prompt-injection .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.card-prompt-injection .preview-logo{object-fit:contain;border-radius:14px;width:148px;height:44px;inset:18px 18px auto auto}.card-attendance .preview-image{object-position:24% 50%}.card-attendance .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.card-attendance .preview-logo{object-fit:cover;border-radius:15px;width:56px;height:56px;top:18px;bottom:auto;right:18px}.card-sem .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.card-sem .preview-logo{object-fit:contain;border-radius:15px;width:176px;height:54px;top:18px;bottom:auto;right:18px}.card-sighthearing .preview-image{object-position:center 38%}.card-sighthearing .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.card-sighthearing .preview-logo{object-fit:cover;object-position:center;border-radius:15px;width:56px;height:56px;padding:0;top:18px;bottom:auto;right:18px}.card-futurelabs .product-title{color:#fff;background:#090d15d1;max-width:calc(100% - 36px);top:auto;bottom:24px;left:18px}.card-futurelabs .preview-logo{object-fit:cover;border-radius:15px;width:56px;height:56px;top:18px;bottom:auto;right:18px}.other-projects{padding-top:92px}.other-projects .section-header.compact{margin-bottom:36px}.other-projects .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.other-projects .product-card,.other-projects .product-card:nth-child(2n){--card-offset:0px;height:220px}.other-projects .product-title{max-width:calc(100% - 24px);padding:9px 13px;font-size:16px}.other-projects .product-visual{opacity:1}.other-projects .product-window{top:30px;left:30px}.other-projects .product-window span{width:10px;height:10px}.other-projects .product-screen{border-radius:18px;height:118px;bottom:28px;left:28px;right:28px}.other-projects .product-sidebar{border-radius:14px;width:44px;top:18px;bottom:18px;left:18px}.other-projects .product-lines{top:28px;left:80px;right:26px}.other-projects .product-lines span{height:10px;margin-bottom:12px}.other-projects .product-panel{border-radius:14px;width:86px;height:36px;bottom:20px;right:26px}.other-projects .product-chip{border-radius:15px;width:46px;height:46px;font-size:18px;top:30px;right:30px}.project-shell .other-projects{padding-bottom:52px}.project-shell .contact-section{min-height:300px;padding-block:58px}.project-video-visual{background:linear-gradient(135deg,#e1869424,#2e6f8f38),#05070c;place-items:center;display:grid}.project-video-visual video{object-fit:contain;background:#05070c;width:100%;height:100%;display:block}.project-video-logo{object-fit:cover;pointer-events:none;background:#fff;border-radius:24px;width:82px;height:82px;position:absolute;top:28px;right:28px;box-shadow:0 18px 42px #00000052}.project-video-source{z-index:2;color:#f6f8ff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#06080ec2;border-radius:999px;place-items:center;min-height:42px;padding:0 18px;font-size:14px;font-weight:900;display:inline-grid;position:absolute;bottom:28px;left:28px;box-shadow:inset 0 0 0 1px #ffffff1f}.project-image-visual{background:linear-gradient(135deg,#ef4e001f,#d25a8426),#f7f4f2;place-items:center;display:grid}.project-hero-image{object-fit:contain;width:100%;height:100%;display:block}.project-image-shade{pointer-events:none;background:linear-gradient(#04080e00,#04080e2e);position:absolute;inset:0}.project-wide-logo{object-fit:contain;border-radius:16px;width:168px;height:50px}.project-collab-badge{z-index:2;color:#fff;background:#090d15d1;border-radius:999px;place-items:center;min-height:42px;padding:0 18px;font-size:14px;font-weight:900;display:inline-grid;position:absolute;bottom:28px;left:28px;box-shadow:0 18px 42px #0000003d}.project-gallery{margin-top:28px}.project-screen-list{gap:24px;display:grid}.project-screen-detail{border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff0a, 0 18px 45px var(--shadow);background:#06080e94;border-radius:24px;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:28px;padding:24px;display:grid}.theme-light .project-screen-detail{background:var(--panel)}.project-screen-detail img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-height:430px;display:block}.project-screen-detail h3{margin:0 0 14px;font-size:28px;font-weight:900;line-height:1.08}.project-screen-detail p{color:var(--muted);margin:0;font-size:17px;font-weight:650;line-height:1.55}.contact-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#070a1152;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;min-height:452px;margin:36px -24px 0;padding:0 120px;display:grid}.theme-light .contact-section{background:#ffffff6b}.contact-section h2{max-width:430px;margin:0;font-size:44px;font-weight:900;line-height:1.12}.contact-link{min-width:374px}.work-shell .contact-section{min-height:300px;padding-block:64px}.site-footer{color:#7f8aa5;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:101px;padding:0 56px;font-size:14px;font-weight:700;display:grid}.theme-light .site-footer{color:#405069}.site-footer span{justify-self:start}.footer-social{border:1px solid var(--line);color:#fff;background:#ffffff0d;border-radius:999px;place-items:center;width:38px;height:38px;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:grid}.footer-social:hover,.footer-social:focus-visible{background:#2c71903d;border-color:#68aeca75;transform:translateY(-2px)rotate(-2deg);box-shadow:0 12px 26px #0000002e}.theme-light .footer-social{color:var(--fg);background:#ffffffc7}.footer-social .social-icon{width:17px;height:17px}.site-footer a:last-child{justify-self:end}@media (width<=980px){.site-shell{padding-inline:18px}.site-nav{grid-template-columns:1fr auto;height:88px}.brand{font-size:18px}.menu-button{background:#06080ec7;border-radius:999px;place-items:center;min-width:82px;height:42px;font-size:14px;font-weight:800;display:grid}.nav-links{border-radius:22px;flex-direction:column;align-items:stretch;width:min(260px,100vw - 36px);display:none;position:absolute;top:78px;right:0}.nav-links.open{display:flex}.nav-actions{grid-column:1/-1;justify-content:flex-start;margin-top:-12px}.hero{grid-template-columns:1fr;gap:36px;min-height:auto;padding:84px 0 72px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(48px,15vw,78px)}.hero p{font-size:22px}.portrait-card{aspect-ratio:3/4;border-radius:54px 54px 8px 8px;justify-self:center;width:100%;max-width:520px;height:auto}.skills-box,.product-grid,.contact-section,.section-header{grid-template-columns:1fr}.skills-box{gap:42px;padding:34px 28px}.skill-card h2{font-size:31px}.about-cta{gap:28px;padding:54px 0}.about-cta-heading,.about-cta-body{grid-template-columns:1fr}.about-main-link{justify-self:start}.about-cta h2{font-size:clamp(42px,13vw,62px)}.about-subtitle{font-size:19px}.about-cta-copy{min-height:128px;padding-bottom:0}.cv-download-card{justify-self:start;gap:14px;padding:12px 14px}.cv-download-card a{min-height:54px;padding:0 24px}.contact-graph{justify-self:center;width:min(100%,360px)}.graph-photo{width:104px;height:104px}.graph-node{width:66px;height:66px}.work-section{min-height:auto;padding-top:82px}.page-hero,.about-hero,.project-detail-header{padding:80px 0 56px}.page-hero h1,.about-intro h1,.project-detail h1{font-size:clamp(52px,16vw,84px)}.page-hero p:not(.page-kicker):not(.work-note),.about-intro p,.project-detail-header p{font-size:20px}.page-hero p.work-note{margin-top:34px;margin-bottom:-10px}.work-page-section,.more-work-section,.explore-work,.other-projects{padding:22px 0 78px}.more-work-section,.explore-work,.other-projects{padding-top:70px}.section-header{margin-bottom:36px}.section-header h3{font-size:clamp(44px,14vw,64px)}.section-header p{font-size:19px}.section-header.compact{margin-bottom:36px}.about-work-cta{padding:42px 0 46px}.about-work-cta .section-header.compact{margin-bottom:0}.section-header.compact h2{font-size:clamp(34px,12vw,52px)}.gradient-link{justify-self:start;min-width:210px;min-height:58px;font-size:22px}.product-grid{gap:22px}.work-section .product-grid{grid-template-columns:1fr}.product-card,.product-card:nth-child(2n){height:auto;min-height:270px;transform:none}.product-title{max-width:calc(100% - 24px);font-size:18px}.other-projects .product-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:16px;padding-bottom:6px;overflow-x:auto}.other-projects .product-card,.other-projects .product-card:nth-child(2n){height:190px;min-height:0}.other-projects .product-title{font-size:14px}.other-projects .product-screen{height:100px;bottom:24px;left:24px;right:24px}.other-projects .product-chip{width:40px;height:40px;font-size:16px;top:26px;right:24px}.preview-logo{border-radius:18px;width:58px;height:58px;bottom:18px;right:18px}.product-card.has-media .product-title{bottom:20px}.product-card.has-media .preview-logo{top:18px;bottom:auto;right:18px}.card-prompt-injection .preview-logo{border-radius:13px;width:126px;height:38px;top:18px;left:auto;right:18px}.card-prompt-injection .product-title{bottom:20px}.card-attendance .preview-logo{border-radius:14px;width:48px;height:48px;top:18px;right:18px}.card-attendance .product-title{bottom:20px}.card-sem .preview-logo{border-radius:14px;width:142px;height:44px;top:18px;right:18px}.card-sem .product-title{bottom:20px}.card-sighthearing .preview-logo{border-radius:14px;width:48px;height:48px;padding:4px;top:18px;right:18px}.card-sighthearing .product-title{bottom:20px}.card-futurelabs .preview-logo{border-radius:14px;width:48px;height:48px;top:18px;right:18px}.card-futurelabs .product-title{bottom:20px}.product-collab{min-height:30px;font-size:12px;bottom:66px}.preview-play{width:44px;height:44px;bottom:24px;right:56px}.about-hero,.about-content{grid-template-columns:1fr}.about-hero{gap:38px}.about-photo{aspect-ratio:3/4;justify-self:center;width:100%;max-width:430px;height:auto}.about-summary-card{max-width:none;min-height:0;margin-top:32px;padding:30px 28px}.cv-feature-card{flex-direction:column;gap:22px;margin-bottom:60px;padding:30px 24px}.cv-feature-link{justify-self:center}.about-content article,.detail-section{min-height:0;padding:30px 28px}.about-content .skills-showcase{padding:0}.tech-stack-panel{min-height:0}.tech-logo-grid{grid-template-columns:repeat(3,92px);gap:42px 56px}.latest-experience{margin-top:54px}.skill-summary-section{grid-template-columns:1fr;gap:24px;margin-top:34px;padding-top:42px}.experience-row{grid-template-columns:1fr;gap:14px;padding:26px 24px}.project-screen-detail{grid-template-columns:1fr;padding:18px}.project-screen-detail img{max-height:330px}.project-hero-visual{height:360px}.project-hero-visual .product-screen{height:210px;bottom:48px;left:42px;right:42px}.project-hero-visual .product-window{top:44px;left:42px}.project-hero-visual .product-chip{top:44px;right:42px}.project-video-logo{border-radius:18px;width:62px;height:62px;top:20px;right:20px}.project-wide-logo{border-radius:14px;width:136px;height:42px}.project-collab-badge{min-height:38px;font-size:13px;bottom:20px;left:20px}.project-video-source{bottom:20px;left:20px}.contact-section{min-height:320px;margin-inline:-18px;padding:56px 28px}.work-shell .contact-section{min-height:250px;padding-block:44px}.project-shell .other-projects{padding-bottom:38px}.project-shell .contact-section{min-height:240px;padding-block:42px}.contact-section h2{font-size:36px}.contact-link{width:100%;min-width:0}.site-footer{grid-template-columns:1fr;gap:12px;min-height:128px;padding:28px 10px}.site-footer a:last-child,.site-footer span{justify-self:start}}@media (width<=560px){.site-shell{padding-top:20px}.brand span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.hero h1{font-size:46px}.hero p{font-size:19px}.skill-row span{min-height:44px;padding-inline:16px;font-size:15px}.skills-showcase-header h2{font-size:42px}.skills-showcase-header p{font-size:18px}.tech-stack-panel{padding:24px 0 20px}.tech-logo-grid{grid-template-columns:repeat(3,72px);gap:30px 32px}.tech-stack-panel h3{font-size:20px}.tech-logo-link{width:72px;height:72px}.tech-logo-link img{width:56px;height:56px}.latest-experience-header h2,.skill-summary-section h2{font-size:38px}.skill-summary-section li{font-size:18px}.experience-row h3{font-size:23px}.experience-row p{font-size:16px}.cv-feature-card{padding:28px 20px}.cv-feature-link{width:100%}.product-screen{left:28px;right:28px}.product-sidebar{width:46px}.product-lines{left:88px}.product-chip{right:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
