*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#2563eb;outline:2px solid #0000}input::-moz-placeholder{color:#6b7280;opacity:1}textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]),input:where([type=radio]){appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:#2563eb;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);outline:2px solid #0000}input:where([type=checkbox]):checked,input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;line-height:1;display:inline-block}.cyan-glow{box-shadow:0 0 24px #9cd8ff29}.glass-card{-webkit-backdrop-filter:blur(26px)saturate(1.35);background:linear-gradient(145deg,#ffffff17,#ffffff09);border:1px solid #ffffff1f;border-radius:8px;position:relative;box-shadow:inset 0 1px #ffffff1a,0 22px 80px #00000047}.glass-card:before{content:"";pointer-events:none;border-radius:inherit;opacity:.65;background:linear-gradient(110deg,#ffffff29,#0000 28%,#ffffff0e 58%,#0000);position:absolute;inset:0}.glass-card>*{z-index:1;position:relative}.liquid-pill{color:#b8b8bd;-webkit-backdrop-filter:blur(20px)saturate(1.3);background:#ffffff14;border:1px solid #ffffff21;border-radius:999px;padding:.55rem .8rem}.liquid-button,.quiet-button{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1.15rem;font-family:Space Grotesk;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.liquid-button{color:#fff;background:linear-gradient(145deg,#2997ff,#0071e3);border:1px solid #2997ff7a;box-shadow:inset 0 1px #ffffff73,0 16px 34px #00000038}.quiet-button{color:#f5f5f7;-webkit-backdrop-filter:blur(18px);background:#ffffff0f;border:1px solid #ffffff24}.liquid-button:hover,.quiet-button:hover{transform:translateY(-1px)}.glass-icon-button{color:#b8b8bd;-webkit-backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.glass-icon-button:hover{color:#f5f5f7;border-color:#2997ff57}.eyebrow{color:#6e6e73;text-transform:uppercase;letter-spacing:.08em;font-family:Space Grotesk;font-size:.75rem;font-weight:600}.clean-section{border-top:1px solid #ffffff1a;padding-block:clamp(4rem,8vw,8rem)}.vertical-work-list{flex-direction:column;gap:1rem;display:flex}.apple-container{width:min(100%,1440px);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,4rem)}.apple-section{padding-block:clamp(5rem,10vw,9rem);scroll-margin-top:5rem;position:relative}.apple-nav{-webkit-backdrop-filter:blur(24px)saturate(1.35);background:#1616179e;border:1px solid #ffffff1f;border-radius:999px;padding:.25rem;box-shadow:0 16px 50px #00000038}.apple-nav-link{color:#b8b8bd;border-radius:999px;align-items:center;min-height:2rem;padding:.4rem .8rem;transition:color .18s,background .18s;display:inline-flex}.apple-nav-link:hover,.apple-nav-link.is-active{color:#f5f5f7;background:#ffffff1c}.apple-kicker{letter-spacing:.02em;color:#6e6e73;font-family:Space Grotesk;font-size:.78rem;font-weight:600}.apple-hero-title{letter-spacing:0;color:#f5f5f7;max-width:12ch;font-family:Space Grotesk;font-size:clamp(4rem,12vw,11rem);font-weight:650;line-height:.88}.apple-section-title{letter-spacing:0;color:#f5f5f7;max-width:14ch;font-family:Space Grotesk;font-size:clamp(2.75rem,7vw,6.75rem);font-weight:650;line-height:.95}.apple-lead{color:#b8b8bd;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.55}.apple-primary-button,.apple-secondary-button{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.72rem 1.15rem;font-family:Space Grotesk;font-weight:600;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.apple-primary-button{color:#fff;background:#0071e3;border:1px solid #2997ff57;box-shadow:0 14px 40px #0071e338}.apple-secondary-button{color:#f5f5f7;-webkit-backdrop-filter:blur(18px);background:#ffffff12;border:1px solid #ffffff24}.apple-primary-button:hover,.apple-secondary-button:hover{transform:translateY(-1px)}.apple-section-heading{gap:1.2rem;margin-bottom:clamp(2rem,5vw,4rem);display:grid}.apple-work-list{gap:1rem;display:grid}.apple-work-card{-webkit-backdrop-filter:blur(28px)saturate(1.25);background:linear-gradient(145deg,#ffffff17,#ffffff0a);border:1px solid #ffffff1a;border-radius:28px;min-height:28rem;display:grid;overflow:hidden;box-shadow:0 26px 90px #00000042}.apple-work-media{background:#050506;min-height:18rem;overflow:hidden}.apple-work-media img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100%;height:100%;min-height:18rem;transition:transform .5s}.apple-work-card:hover .apple-work-media img{transform:scale(1.02)}.apple-work-content{flex-direction:column;justify-content:center;gap:1.2rem;padding:clamp(1.5rem,4vw,3.5rem);display:flex}.apple-work-content h3{letter-spacing:0;max-width:11ch;font-family:Space Grotesk;font-size:clamp(2.5rem,7vw,6rem);font-weight:650;line-height:.95}.apple-work-content p{color:#b8b8bd;max-width:42rem;font-size:1.03rem;line-height:1.65}.apple-card-actions{flex-wrap:wrap;gap:1rem;display:flex}.apple-text-link{color:#2997ff;font-weight:600}.apple-text-link:hover{color:#2997ff}.apple-copy-panel,.apple-contact-card{-webkit-backdrop-filter:blur(24px)saturate(1.2);background:linear-gradient(145deg,#ffffff14,#ffffff09);border:1px solid #ffffff1a;border-radius:28px;box-shadow:0 22px 80px #00000038}.apple-copy-panel p{color:#b8b8bd;line-height:1.65}.stack-summary-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.stack-summary-card{-webkit-backdrop-filter:blur(22px)saturate(1.18);background:linear-gradient(145deg,#ffffff14,#ffffff09);border:1px solid #ffffff1a;border-radius:18px;align-content:space-between;gap:1.2rem;min-height:8.5rem;padding:1.25rem;display:grid;box-shadow:0 18px 56px #0000002e}.stack-summary-card h3{color:#f5f5f7;font-family:Space Grotesk;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:650;line-height:1.05}.stack-summary-card p{color:#b8b8bd;font-size:.98rem;line-height:1.45}.stack-tech-grid{grid-template-columns:1fr;gap:1rem;display:grid}.stack-tech-card{-webkit-backdrop-filter:blur(22px)saturate(1.18);background:linear-gradient(145deg,#ffffff14,#ffffff09);border:1px solid #ffffff1a;border-radius:18px;align-content:space-between;gap:1rem;min-height:11rem;padding:1.25rem;display:grid;box-shadow:0 18px 56px #00000029}.stack-tech-card span{color:#f5f5f7;font-family:Space Grotesk;font-size:1.25rem;font-weight:650;line-height:1.1}.stack-tech-card p{color:#b8b8bd;font-size:.95rem;line-height:1.55}.resume-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:end;gap:clamp(2rem,7vw,6rem);padding:clamp(2rem,5vw,4.5rem) 0 clamp(3rem,7vw,6rem);display:grid}.resume-hero-copy{gap:1.4rem;max-width:56rem;display:grid}.resume-card{-webkit-backdrop-filter:blur(24px)saturate(1.2);background:linear-gradient(145deg,#ffffff14,#ffffff09);border:1px solid #ffffff1a;border-radius:16px;gap:1.5rem;padding:1.35rem;display:grid;box-shadow:0 22px 80px #0000002e}.resume-card dl{gap:1rem;display:grid}.resume-card dl>div{border-bottom:1px solid #2a2a2e2e;gap:.25rem;padding-bottom:.9rem;display:grid}.resume-card dt,.resume-item>span,.resume-skill-grid span{color:#6e6e73;letter-spacing:0;text-transform:uppercase;font-family:Space Grotesk;font-size:.72rem;font-weight:600}.resume-card dd,.resume-card a,.resume-item p,.resume-item li,.resume-skill-grid p{color:#b8b8bd}.resume-section{border-top:1px solid #2a2a2e2e;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding:clamp(2.25rem,5vw,4rem) 0;display:grid}.resume-section-title{align-self:start;position:sticky;top:6rem}.resume-list{gap:1.2rem;display:grid}.resume-list.compact{gap:.85rem}.resume-item{border-bottom:1px solid #2a2a2e24;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem;padding:1.35rem 0;display:grid}.resume-item h2{color:#f5f5f7;margin-bottom:.3rem;font-family:Space Grotesk;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:650;line-height:1.12}.resume-item ul{grid-column:1/-1;gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.resume-item li{padding-left:1rem;line-height:1.6;position:relative}.resume-item li:before{content:"";background:#2997ff;border-radius:999px;width:.32rem;height:.32rem;position:absolute;top:.72rem;left:0}.resume-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.resume-skill-grid>div{background:linear-gradient(145deg,#ffffff12,#ffffff09);border:1px solid #ffffff1a;border-radius:16px;min-height:9rem;padding:1.25rem}.resume-skill-grid span{color:#f5f5f7;margin-bottom:.85rem;display:block}.site-footer{padding:clamp(2.25rem,5vw,4rem) 1.25rem}.footer-shell{gap:1.75rem;width:min(100%,92rem);margin:0 auto;display:grid}.footer-topline{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.footer-topline>div{gap:.55rem;display:grid}.footer-topline p{max-width:32rem}.footer-resume-link{color:#f5f5f7;white-space:nowrap;border:1px solid #2a2a2e47;border-radius:999px;justify-content:center;align-items:center;min-height:2.4rem;padding:.55rem .9rem;font-family:Space Grotesk;font-size:.78rem;font-weight:600;display:inline-flex}.footer-quick-links{border-top:1px solid #2a2a2e2e;flex-wrap:wrap;gap:.65rem;padding-top:1.25rem;display:flex}.footer-quick-links a{color:#b8b8bd;border:1px solid #2a2a2e33;border-radius:999px;align-items:center;min-height:2.25rem;padding:.5rem .8rem;font-family:Space Grotesk;font-size:.78rem;line-height:1;display:inline-flex}.footer-quick-links a:hover,.footer-resume-link:hover,.footer-bottom button:hover{color:#f5f5f7}.footer-bottom{color:#6e6e73;border-top:1px solid #2a2a2e1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-top:1.25rem;font-size:.78rem;display:flex}.footer-bottom button{color:inherit;transition:color .16s}@media (width>=720px){.stack-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-tech-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1080px){.stack-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stack-tech-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.apple-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,7vw,7rem);display:grid}.apple-copy-panel{gap:1rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.apple-contact-card{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:clamp(2rem,6vw,5rem);padding:clamp(1.75rem,5vw,4rem);display:grid}.apple-contact-actions{flex-wrap:wrap;justify-content:flex-start;gap:.8rem;display:flex}@media (width>=900px){.apple-work-card{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.apple-work-card:nth-child(2n){grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.apple-work-card:nth-child(2n) .apple-work-media{order:2}}@media (width<=899px){.apple-split,.apple-contact-card,.resume-hero,.resume-section{grid-template-columns:1fr}.apple-work-card{border-radius:22px}.resume-section-title{position:static}}@media (width<=767px){.site-footer{padding-inline:1.25rem}.footer-topline{flex-direction:column}.footer-resume-link{width:100%}}@media (width<=560px){.resume-card,.resume-skill-grid>div{border-radius:12px}.resume-item{grid-template-columns:1fr;gap:.55rem}.resume-skill-grid{grid-template-columns:1fr}.footer-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.footer-quick-links a{justify-content:center;width:100%}.footer-bottom{justify-content:stretch;align-items:flex-start;display:grid}}.reveal{opacity:0;transition:all .8s cubic-bezier(.4,0,.2,1);transform:translateY(20px)}.reveal-active{opacity:1;transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-\[-32px\]{left:-32px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-\[65px\]{top:65px}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-72{height:18rem}.h-\[420px\]{height:420px}.h-full{height:100%}.h-px{height:1px}.min-h-\[26rem\]{min-height:26rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-screen-2xl{max-width:1536px}.max-w-screen-xl{max-width:1280px}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-outline-variant\/10>:not([hidden])~:not([hidden]){border-color:#2a2a2e1a}.divide-outline-variant\/20>:not([hidden])~:not([hidden]){border-color:#2a2a2e33}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-full{border-radius:.75rem}.rounded-lg{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-outline-variant{--tw-border-opacity:1;border-color:rgb(42 42 46/var(--tw-border-opacity,1))}.border-outline-variant\/10{border-color:#2a2a2e1a}.border-outline-variant\/20{border-color:#2a2a2e33}.border-outline-variant\/30{border-color:#2a2a2e4d}.border-outline-variant\/40{border-color:#2a2a2e66}.border-primary{--tw-border-opacity:1;border-color:rgb(41 151 255/var(--tw-border-opacity,1))}.border-primary\/20{border-color:#2997ff33}.border-primary\/30{border-color:#2997ff4d}.border-secondary{--tw-border-opacity:1;border-color:rgb(134 134 139/var(--tw-border-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:rgb(5 5 6/var(--tw-bg-opacity,1))}.bg-background\/95{background-color:#050506f2}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/70{background-color:#000000b3}.bg-error-dim\/40{background-color:#df625866}.bg-error-dim\/60{background-color:#df625899}.bg-on-surface{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.bg-on-surface\/60{background-color:#f5f5f799}.bg-outline-variant\/10{background-color:#2a2a2e1a}.bg-outline-variant\/30{background-color:#2a2a2e4d}.bg-primary{--tw-bg-opacity:1;background-color:rgb(41 151 255/var(--tw-bg-opacity,1))}.bg-secondary-dim\/40{background-color:#6e6e7366}.bg-secondary-dim\/60{background-color:#6e6e7399}.bg-surface-container{--tw-bg-opacity:1;background-color:rgb(17 17 19/var(--tw-bg-opacity,1))}.bg-surface-container-high{--tw-bg-opacity:1;background-color:rgb(29 29 31/var(--tw-bg-opacity,1))}.bg-surface-container-low{--tw-bg-opacity:1;background-color:rgb(13 13 15/var(--tw-bg-opacity,1))}.bg-surface-container-low\/40{background-color:#0d0d0f66}.bg-surface-container-lowest{--tw-bg-opacity:1;background-color:rgb(5 5 6/var(--tw-bg-opacity,1))}.bg-surface-container-lowest\/40{background-color:#05050666}.bg-surface-container-lowest\/60{background-color:#05050699}.bg-tertiary-dim\/40{background-color:#86868b66}.bg-tertiary-dim\/60{background-color:#86868b99}.bg-transparent{background-color:#0000}.bg-opacity-50{--tw-bg-opacity:.5}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pl-14{padding-left:3.5rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-body{font-family:Inter}.font-headline,.font-label{font-family:Space Grotesk}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-\[0\.92\]{line-height:.92}.leading-\[1\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-error{--tw-text-opacity:1;color:rgb(255 138 128/var(--tw-text-opacity,1))}.text-on-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-on-surface{--tw-text-opacity:1;color:rgb(245 245 247/var(--tw-text-opacity,1))}.text-on-surface-variant{--tw-text-opacity:1;color:rgb(184 184 189/var(--tw-text-opacity,1))}.text-outline{--tw-text-opacity:1;color:rgb(110 110 115/var(--tw-text-opacity,1))}.text-outline-variant{--tw-text-opacity:1;color:rgb(42 42 46/var(--tw-text-opacity,1))}.text-outline\/30{color:#6e6e734d}.text-outline\/40{color:#6e6e7366}.text-primary{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.text-primary-dim{--tw-text-opacity:1;color:rgb(0 113 227/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgb(134 134 139/var(--tw-text-opacity,1))}.text-tertiary{--tw-text-opacity:1;color:rgb(161 161 166/var(--tw-text-opacity,1))}.caret-primary{caret-color:#2997ff}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-\[0\.03\]{opacity:.03}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.contrast-\[\.96\]{--tw-contrast:contrast(.96);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)}.saturate-\[\.85\]{--tw-saturate:saturate(.85);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)}.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)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}html{scroll-behavior:smooth;transition:opacity .25s ease-in;visibility:visible!important;opacity:1!important}html:not([data-ui-ready]) .border,html:not([data-ui-ready]) .border-t,html:not([data-ui-ready]) .border-r,html:not([data-ui-ready]) .border-b,html:not([data-ui-ready]) .border-l{border-color:#0000!important}html:not(.dark){--tw-bg-background:#f5f5f7;color:#1d1d1f;background-color:#f5f5f7}html:not(.dark) body{color:#1d1d1f!important;background-color:#f5f5f7!important}html:not(.dark) header{background-color:#f5f5f7ad!important;border-color:#00000014!important}html:not(.dark) .bg-background{background-color:#f5f5f7!important}html:not(.dark) .bg-surface-container-lowest{background-color:#fff!important}html:not(.dark) .bg-surface-container-low{background-color:#fbfbfd!important}html:not(.dark) .bg-surface-container{background-color:#fff!important}html:not(.dark) .bg-surface-container-high{background-color:#f5f5f7!important}html:not(.dark) .text-on-surface{color:#1d1d1f!important}html:not(.dark) .text-on-surface-variant{color:#515154!important}html:not(.dark) .text-outline{color:#6e6e73!important}html:not(.dark) .text-primary{color:#0071e3!important}html:not(.dark) .text-primary-dim{color:#06c!important}html:not(.dark) .text-secondary{color:#6e6e73!important}html:not(.dark) .text-tertiary{color:#86868b!important}html:not(.dark) .bg-primary{background-color:#0071e3!important}html:not(.dark) .bg-secondary{background-color:#86868b!important}html:not(.dark) .border-primary{border-color:#0071e3!important}html:not(.dark) .hover\:border-primary:hover{border-color:#0071e3!important}html:not(.dark) .border-outline-variant\/30,html:not(.dark) .border-outline-variant\/20,html:not(.dark) .border-outline-variant\/40{border-color:#0000001a!important}html:not(.dark) footer{background-color:#f5f5f7!important;border-color:#00000014!important}html:not(.dark) #php-output{color:#0071e3!important}html:not(.dark) #php-output.has-error{color:#b30009!important}html:not(.dark) .glass-card,html:not(.dark) .apple-work-card,html:not(.dark) .apple-copy-panel,html:not(.dark) .apple-contact-card,html:not(.dark) .resume-card,html:not(.dark) .resume-skill-grid>div,html:not(.dark) .stack-summary-card,html:not(.dark) .stack-tech-card,html:not(.dark) .footer-resume-link,html:not(.dark) .footer-quick-links a,html:not(.dark) .quiet-button,html:not(.dark) .liquid-pill,html:not(.dark) .glass-icon-button{background-color:#ffffffb8;border-color:#00000014;box-shadow:inset 0 1px #ffffffdb,0 18px 52px #00000014}html:not(.dark) .liquid-button{color:#fff;background:linear-gradient(145deg,#2997ff,#0071e3);border-color:#0071e347}html:not(.dark) .quiet-button{color:#0071e3}html:not(.dark) .quiet-button:hover{color:#1d1d1f}html:not(.dark) .liquid-pill{color:#515154}html:not(.dark) .clean-section{border-color:#00000014}html:not(.dark) .apple-nav{background:#ffffffb8;border-color:#00000014;box-shadow:0 14px 40px #00000014}html:not(.dark) .apple-nav-link{color:#515154}html:not(.dark) .apple-nav-link:hover,html:not(.dark) .apple-nav-link.is-active{color:#1d1d1f;background:#0000000f}html:not(.dark) .apple-secondary-button{color:#1d1d1f;background:#ffffffb8;border-color:#00000014}html:not(.dark) .apple-primary-button{color:#fff!important}html:not(.dark) .apple-text-link{color:#0071e3}html:not(.dark) .apple-hero-title,html:not(.dark) .apple-section-title,html:not(.dark) .apple-work-content h3,html:not(.dark) .stack-summary-card h3,html:not(.dark) .stack-tech-card span{color:#1d1d1f}html:not(.dark) .apple-lead,html:not(.dark) .apple-work-content p,html:not(.dark) .apple-copy-panel p,html:not(.dark) .stack-summary-card p,html:not(.dark) .stack-tech-card p,html:not(.dark) .footer-quick-links a,html:not(.dark) .resume-card dd,html:not(.dark) .resume-card a,html:not(.dark) .resume-item p,html:not(.dark) .resume-item li,html:not(.dark) .resume-skill-grid p{color:#515154}html:not(.dark) .resume-card dt,html:not(.dark) .resume-item>span,html:not(.dark) .resume-skill-grid span{color:#6e6e73}html:not(.dark) .resume-item h2{color:#1d1d1f}html:not(.dark) .apple-kicker{color:#6e6e73}html:not([lang=pt]) .pt-only,html[lang=pt] .en-only{display:none!important}.locale-lock{place-items:start;display:grid}a.locale-lock,button.locale-lock{place-items:center;display:inline-grid}.locale-lock>.en-only,.locale-lock>.pt-only{grid-area:1/1;display:block!important}html:not([lang=pt]) .locale-lock>.pt-only,html[lang=pt] .locale-lock>.en-only{visibility:hidden;pointer-events:none}html:not([lang=pt]) .locale-lock>.en-only,html[lang=pt] .locale-lock>.pt-only{visibility:visible}:root{--portfolio-accent:#a02a9f;--portfolio-accent-strong:#7f037f;--portfolio-ink:#1d1d1f;--portfolio-muted:#5f5f66;--portfolio-shadow:0 22px 70px #3016361a}.clean-page-surface{background:radial-gradient(circle at 18% 10%,#a02a9f21,#0000 30%),radial-gradient(circle at 88% 4%,#ffffff1f,#0000 28%),linear-gradient(#ffffff09,#0000 38%)}html:not(.dark){--tw-bg-background:#f6f4f7;background-color:#f6f4f7}html:not(.dark) body,html:not(.dark) .bg-background,html:not(.dark) footer{background-color:#f6f4f7!important}html:not(.dark) .clean-page-surface{background:radial-gradient(circle at 15% 4%,#a02a9f24,#0000 30%),radial-gradient(circle at 92% 10%,#ffffffeb,#0000 30%),linear-gradient(#ffffffe6,#f6f4f733 42%,#0000)}html:not(.dark) .text-primary,html:not(.dark) .apple-text-link{color:var(--portfolio-accent)!important}html:not(.dark) .hover\:text-primary:hover{color:var(--portfolio-accent-strong)!important}.apple-container{width:min(100%,1180px);padding-inline:clamp(1.25rem,4vw,3rem)}.apple-section{padding-block:clamp(4rem,7vw,6.5rem)}.hero-section{align-items:center;min-height:min(860px,94svh);padding-top:clamp(6rem,10vw,8rem);padding-bottom:clamp(2.5rem,5vw,4rem);display:grid}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,.46fr);align-items:end;gap:clamp(2rem,7vw,5rem);display:grid}.hero-copy{gap:clamp(1.25rem,2.3vw,1.8rem);max-width:54rem;display:grid}.apple-hero-title{max-width:10.5ch;font-size:clamp(3.5rem,8vw,7.4rem);line-height:.94}.apple-lead{max-width:40rem;font-size:clamp(1.05rem,1.55vw,1.28rem);line-height:1.55}.hero-glass-panel{-webkit-backdrop-filter:blur(28px)saturate(1.35);background:linear-gradient(145deg,#ffffff94,#fff3),linear-gradient(#a02a9f1f,#0000);border:1px solid #ffffff5c;border-radius:24px;gap:.9rem;padding:1rem;display:grid;position:relative;box-shadow:inset 0 1px #ffffffc7,0 26px 80px #30163629}.hero-glass-panel:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,#ffffff80,#0000 34%,#ffffff2e);position:absolute;inset:1px}.hero-glass-panel>div{background:#ffffff57;border:1px solid #ffffff52;border-radius:16px;gap:.22rem;min-width:0;padding:.95rem;display:grid;position:relative}.panel-label{color:var(--portfolio-muted);text-transform:uppercase;font-family:Space Grotesk;font-size:.72rem;font-weight:650}.hero-glass-panel strong{min-width:0;color:var(--portfolio-ink);overflow-wrap:anywhere;font-size:.98rem;line-height:1.35;display:block}.hero-scroll-hint{color:var(--portfolio-muted);text-transform:uppercase;align-items:center;gap:.65rem;margin-top:clamp(2rem,5vw,4rem);font-family:Space Grotesk;font-size:.72rem;font-weight:650;display:flex}.hero-scroll-hint span:last-child{background:linear-gradient(90deg, var(--portfolio-accent), transparent);width:clamp(3rem,10vw,8rem);height:1px}.apple-section-heading{gap:.85rem;margin-bottom:clamp(1.75rem,4vw,3rem)}.apple-section-title{max-width:13ch;font-size:clamp(2.25rem,5.2vw,4.8rem);line-height:1}.apple-section-subtitle{color:#737078;max-width:42rem;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.55}.work-heading{grid-template-columns:minmax(0,.78fr) minmax(18rem,.45fr);align-items:end}.work-heading .apple-kicker,.compact-heading .apple-kicker{grid-column:1/-1}.work-heading .apple-section-subtitle{align-self:end}.apple-primary-button{text-shadow:0 1px 1px #1e071e52;background:linear-gradient(145deg,#b13eae,#7f037f);border-color:#a02a9f47;box-shadow:inset 0 1px #ffffff47,0 16px 38px #7f037f33;color:#fff!important}.apple-primary-button span,.apple-primary-button .en-only,.apple-primary-button .pt-only{color:inherit!important}.apple-secondary-button,.glass-icon-button,.apple-nav,.footer-resume-link,.footer-quick-links a{-webkit-backdrop-filter:blur(22px)saturate(1.25);background:#ffffff61;border-color:#ffffff61;box-shadow:inset 0 1px #ffffffb8,0 14px 44px #30163614}.apple-work-list{grid-template-columns:1fr;gap:clamp(1rem,2vw,1.25rem)}.apple-work-card{min-height:auto;box-shadow:var(--portfolio-shadow);background:linear-gradient(145deg,#ffffffc7,#ffffff75);border-color:#ffffff80;border-radius:22px;grid-template-columns:1fr}.apple-work-media{aspect-ratio:16/10;border-bottom:1px solid #28182a14;min-height:0;position:relative}.apple-work-media:after{content:"";pointer-events:none;opacity:0;transition:opacity .18s;position:absolute;inset:0}.apple-work-media img{min-height:0}.dark .apple-work-media{background:#050506}.dark .apple-work-media img{filter:none;opacity:1}.dark .apple-work-media:after{opacity:0}.dark .apple-work-card:hover .apple-work-media img,.dark .glass-card img,.dark .glass-card:hover img{filter:none;opacity:1}.apple-work-content{justify-content:start;gap:.85rem;padding:clamp(1.15rem,2.6vw,2rem)}.apple-work-content h3{overflow-wrap:normal;max-width:12ch;font-size:clamp(2rem,3.6vw,3.45rem);line-height:1}.apple-work-content p{font-size:.98rem;line-height:1.55}.apple-work-card-featured .apple-work-content h3{font-size:clamp(2.4rem,5vw,4.6rem)}.apple-work-card:not(.apple-work-card-featured) .apple-work-content h3{max-width:none;font-size:clamp(1.9rem,2.45vw,2.25rem)}.apple-text-link{color:var(--portfolio-accent)}.stack-summary-grid{gap:.85rem}.stack-summary-card,.stack-tech-card,.apple-copy-panel,.apple-contact-card{box-shadow:var(--portfolio-shadow);background:linear-gradient(145deg,#ffffffad,#ffffff57);border-color:#ffffff7a}.stack-summary-card{min-height:7.2rem;padding:1.1rem}.stack-summary-card h3{font-size:clamp(1.1rem,1.6vw,1.35rem)}.apple-split{grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem)}.apple-copy-panel{border-radius:22px;padding:clamp(1.35rem,3vw,2.2rem)}.apple-contact-card{border-radius:24px;padding:clamp(1.35rem,4vw,3rem)}html:not(.dark) .apple-work-card,html:not(.dark) .apple-copy-panel,html:not(.dark) .apple-contact-card,html:not(.dark) .stack-summary-card,html:not(.dark) .stack-tech-card,html:not(.dark) .footer-resume-link,html:not(.dark) .footer-quick-links a,html:not(.dark) .glass-icon-button,html:not(.dark) .apple-secondary-button,html:not(.dark) .apple-nav{box-shadow:var(--portfolio-shadow);background-color:#ffffff8f;border-color:#ffffff8a}html:not(.dark) .apple-primary-button{background:linear-gradient(145deg,#b13eae,#7f037f);color:#fff!important}html:not(.dark) .footer-resume-link{color:#1d1d1f!important}html:not(.dark) .footer-resume-link span{color:inherit!important}html:not(.dark) .apple-hero-title,html:not(.dark) .apple-section-title,html:not(.dark) .apple-work-content h3,html:not(.dark) .stack-summary-card h3{color:var(--portfolio-ink)}html:not(.dark) .apple-section-subtitle{color:#737078}.dark{--portfolio-ink:#f7f2f8;--portfolio-muted:#a79aa9;--portfolio-shadow:0 28px 84px #00000085}.dark body,.dark .bg-background{background-color:#000!important}.dark .clean-page-surface{background:radial-gradient(circle at 16% 8%,#781c771a,#0000 28%),radial-gradient(circle at 88% 10%,#3c0e3b33,#0000 30%),linear-gradient(#1e071e1f,#0000 42%)}.dark .apple-nav,.dark .glass-icon-button,.dark .apple-secondary-button,.dark .footer-resume-link,.dark .footer-quick-links a,.dark .liquid-pill,.dark .quiet-button{color:#f7f2f8;background:linear-gradient(145deg,#300b308f,#050106d6);border-color:#c152be33;box-shadow:inset 0 1px #ffffff14,0 18px 58px #00000085}.dark .apple-nav-link{color:#b7a9ba}.dark .apple-nav-link:hover,.dark .apple-nav-link.is-active{color:#fff;background:#c152be29}.dark .hero-glass-panel,.dark .apple-work-card,.dark .glass-card,.dark .apple-copy-panel,.dark .apple-contact-card,.dark .stack-summary-card,.dark .stack-tech-card,.dark .resume-card,.dark .resume-skill-grid>div{background:linear-gradient(145deg,#180518b8,#030004e6);border-color:#c152be33;box-shadow:inset 0 1px #ffffff0e,0 28px 84px #00000085}.dark .hero-glass-panel:before,.dark .glass-card:before{background:linear-gradient(120deg,#c152be29,#0000 34%,#ffffff09)}.dark .hero-glass-panel>div{background:linear-gradient(145deg,#2a092a57,#00000057);border-color:#c152be24}.dark .clean-section,.dark .resume-card dl>div,.dark .resume-section,.dark .resume-item,.dark .footer-quick-links,.dark .footer-bottom{border-color:#c152be24}.dark .panel-label,.dark .apple-kicker,.dark .resume-card dt,.dark .resume-item>span,.dark .resume-skill-grid span{color:#9f8ca3}.dark .hero-glass-panel strong,.dark .apple-hero-title,.dark .apple-section-title,.dark .apple-work-content h3,.dark .stack-summary-card h3,.dark .stack-tech-card span,.dark .resume-item h2{color:#f7f2f8}.dark .apple-lead,.dark .apple-section-subtitle,.dark .apple-work-content p,.dark .apple-copy-panel p,.dark .stack-summary-card p,.dark .stack-tech-card p,.dark .footer-quick-links a,.dark .resume-card dd,.dark .resume-card a,.dark .resume-item p,.dark .resume-item li,.dark .resume-skill-grid p{color:#bdb0c0}.dark .apple-work-media{border-color:#c152be29}.dark .apple-text-link{color:#e36de0}.dark .apple-text-link:hover{color:#f4a5f2}.dark .footer-resume-link{color:#f7f2f8!important}.dark .footer-resume-link span{color:inherit!important}@media (width>=900px){.apple-work-list{grid-template-columns:repeat(3,minmax(0,1fr))}.apple-work-list .apple-work-card{grid-template-columns:1fr}.apple-work-card-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)!important}.apple-work-card:nth-child(2n){grid-template-columns:1fr}.apple-work-card:nth-child(2n) .apple-work-media{order:0}.apple-work-card-featured .apple-work-media{border-bottom:0;border-right:1px solid #28182a14}.dark .apple-work-card-featured .apple-work-media{border-right-color:#c152be29}}@media (width>=1080px){.compact-heading{grid-template-columns:minmax(0,.55fr) minmax(0,.45fr);align-items:end}.compact-heading .apple-section-subtitle{align-self:end}}@media (width<=899px){.hero-section{min-height:auto;padding-top:7rem}.hero-layout,.work-heading{grid-template-columns:1fr}.hero-glass-panel{max-width:100%}}@media (width<=560px){.apple-container{padding-inline:1rem}.apple-section{padding-block:3.75rem}.hero-section{padding-top:6.6rem;padding-bottom:2.75rem}.hero-copy{gap:1.1rem}.apple-hero-title{max-width:9.5ch;font-size:clamp(3rem,14vw,3.65rem);line-height:.96}.apple-section-title{max-width:11ch;font-size:clamp(2.25rem,11vw,3.1rem);line-height:1}.apple-lead,.apple-section-subtitle{font-size:1rem}.hero-glass-panel{border-radius:18px;grid-template-columns:1fr;gap:.55rem;padding:.75rem}.hero-glass-panel>div{border-radius:13px;padding:.68rem .75rem}.panel-label{font-size:.66rem}.hero-glass-panel strong{font-size:.88rem}.hero-scroll-hint{margin-top:2rem}.apple-work-card{border-radius:18px}.apple-work-media{aspect-ratio:16/11}.apple-work-content{padding:1rem}.apple-work-content h3,.apple-work-card-featured .apple-work-content h3{max-width:none;font-size:clamp(1.95rem,9.4vw,2.55rem)}.apple-work-card:not(.apple-work-card-featured) .apple-work-content h3{font-size:clamp(1.95rem,8.8vw,2.45rem)}.stack-summary-grid{grid-template-columns:1fr}.apple-split{gap:1rem}.apple-contact-actions .apple-primary-button{width:100%;font-size:.88rem}}.selection\:bg-primary\/20 ::selection{background-color:#2997ff33}.selection\:bg-primary\/30 ::selection{background-color:#2997ff4d}.selection\:text-on-surface ::selection{--tw-text-opacity:1;color:rgb(245 245 247/var(--tw-text-opacity,1))}.selection\:text-primary ::selection{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.selection\:bg-primary\/20::selection{background-color:#2997ff33}.selection\:bg-primary\/30::selection{background-color:#2997ff4d}.selection\:text-on-surface::selection{--tw-text-opacity:1;color:rgb(245 245 247/var(--tw-text-opacity,1))}.selection\:text-primary::selection{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.placeholder\:text-outline\/30::placeholder{color:#6e6e734d}.hover\:border-outline:hover{--tw-border-opacity:1;border-color:rgb(110 110 115/var(--tw-border-opacity,1))}.hover\:bg-primary-dim:hover{--tw-bg-opacity:1;background-color:rgb(0 113 227/var(--tw-bg-opacity,1))}.hover\:bg-surface-container-high:hover{--tw-bg-opacity:1;background-color:rgb(29 29 31/var(--tw-bg-opacity,1))}.hover\:bg-surface-container\/30:hover{background-color:#1111134d}.hover\:text-on-surface:hover{--tw-text-opacity:1;color:rgb(245 245 247/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.hover\:text-primary-dim:hover{--tw-text-opacity:1;color:rgb(0 113 227/var(--tw-text-opacity,1))}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:rgb(41 151 255/var(--tw-border-opacity,1))}.focus\:border-primary\/60:focus{border-color:#2997ff99}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-outline:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(110 110 115/var(--tw-ring-opacity,1))}.focus-visible\:ring-primary:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(41 151 255/var(--tw-ring-opacity,1))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:text-primary{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.group\/iconlink:hover .group-hover\/iconlink\:-translate-y-0\.5{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/iconlink:hover .group-hover\/iconlink\:translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/iconlink:hover .group-hover\/iconlink\:rotate-12{--tw-rotate:12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/iconlink:hover .group-hover\/iconlink\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:rgb(41 151 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-secondary{--tw-text-opacity:1;color:rgb(134 134 139/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:saturate-100{--tw-saturate:saturate(1);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)}@media (width>=640px){.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (width>=768px){.md\:left-1\/2{left:50%}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:w-\[42\%\]{width:42%}.md\:w-\[45\%\]{width:45%}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:pl-0{padding-left:0}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}}@media (width>=1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:gap-24{gap:6rem}.lg\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}}
