@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Barlow,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.h-20{height:5rem}.min-h-\[50vh\]{min-height:50vh}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-2{row-gap:.5rem}.border-t{border-top-width:1px}.border-ink\/15{border-color:#17182726}.px-2{padding-left:.5rem;padding-right:.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.pt-7{padding-top:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-wider{letter-spacing:.05em}.text-muted{--tw-text-opacity: 1;color:rgb(94 91 101 / var(--tw-text-opacity, 1))}.text-purple{--tw-text-opacity: 1;color:rgb(75 20 109 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.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)}:root{font-family:Barlow,sans-serif;color:#171827;background:#fbf7f4;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 18% 8%,#fff 0,transparent 34%),#fbf7f4}a{color:inherit;text-decoration:none}button,select{font:inherit}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b993d2;outline-offset:3px}.page-shell{width:min(1440px,calc(100% - 2rem));margin-inline:auto}.site-header{position:relative;z-index:20;background:#fbf7f4eb}.wordmark{font-size:clamp(1.55rem,2vw,2rem);font-weight:700;letter-spacing:-.055em}.wordmark span{color:#4b146d}.nav-link{position:relative;padding-block:1rem;font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:.6rem;height:2px;scale:0 1;background:#4b146d;transition:scale .2s ease}.nav-link:hover:after,.nav-link-active:after{scale:1 1}.menu-button{display:grid;place-items:center;border:0;background:none;color:#4b146d}.mobile-nav{position:absolute;inset:100% 1rem auto;display:flex;flex-direction:column;gap:.7rem;padding:1.2rem;border:1px solid rgb(23 24 39 / 12%);border-radius:.75rem;background:#fff;box-shadow:0 20px 50px #23122d1f;font-weight:600}.mobile-nav-link{border-radius:.3rem;padding:.35rem .45rem}.mobile-nav-link-active{background:#f2eaf6;color:#4b146d}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.6rem;border:1px solid #4b146d;border-radius:.45rem;padding:.8rem 1.65rem;background:#4b146d;color:#fff;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;transition:transform .18s ease,background .18s ease}.button:hover{transform:translateY(-2px);background:#5c1b80}.button-small{min-height:40px;padding:.55rem 1.25rem}.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em}.hero-grid{display:grid;gap:2rem;padding-top:2.4rem}.hero-copy{align-self:center;padding-bottom:.5rem}.hero-copy h1{margin:1.2rem 0 .6rem;max-width:800px;font-size:clamp(3rem,7.8vw,5.7rem);font-weight:700;line-height:.97;letter-spacing:-.045em}.hero-copy h1 span{color:#4b146d}.hero-copy>p:not(.eyebrow){max-width:720px;color:#51515e;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.45}.hero-image{width:min(100%,420px);aspect-ratio:1122 / 1402;justify-self:center;overflow:hidden;border-radius:45% 0 0;background:#ddcbea}.hero-image picture{display:block;width:100%;height:100%}.hero-image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.skills-strip{margin-top:1.4rem;border-block:1px solid rgb(23 24 39 / 16%);padding-block:1rem}.skills-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem}.skill-item{display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:.45rem;text-align:left;font-size:clamp(.72rem,3.2vw,.84rem);line-height:1.2;white-space:nowrap}.skill-item svg{width:20px;height:20px;flex:0 0 20px;color:#4b146d;stroke-width:1.75}.skill-item span{min-width:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.section-heading h2{position:relative;z-index:0;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1;letter-spacing:-.035em}.section-heading h2:after{content:"";position:absolute;z-index:-1;left:0;bottom:-.15rem;width:46%;height:.42em;background:#ddcbea}.section-heading a{display:inline-flex;align-items:center;gap:.5rem;color:#4b146d;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:1.7rem 1.3rem}.portfolio-card a{display:block}.card-image-wrap{position:relative;aspect-ratio:1.55;overflow:hidden;border-radius:.65rem;background:#eee6ef}.card-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .35s ease}.portfolio-card:hover img{transform:scale(1.035)}.category-pill{position:absolute;top:.65rem;left:.65rem;padding:.38rem .75rem;border-radius:999px;background:#f6efffeb;color:#4b146d;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.external-icon{display:grid;place-items:center;opacity:0;position:absolute;right:.65rem;bottom:.65rem;width:2rem;height:2rem;border-radius:50%;background:#4b146d;color:#fff;transform:translateY(5px);transition:.2s ease}.portfolio-card:hover .external-icon,.portfolio-card a:focus-visible .external-icon{opacity:1;transform:none}.portfolio-card h3{margin:.65rem 0 .15rem;font-size:1.08rem;line-height:1.15;letter-spacing:-.015em}.portfolio-card p{margin:0;color:#5e5b65;font-size:.88rem;line-height:1.38}.page-intro{padding-block:clamp(3.2rem,8vw,7rem) clamp(2.5rem,5vw,4.5rem)}.page-intro h1{margin:.7rem 0 1rem;font-size:clamp(3.2rem,8vw,6.5rem);line-height:.9;letter-spacing:-.055em}.filter-bar{display:flex;flex-direction:column;gap:1rem;margin-bottom:3.2rem;border-block:1px solid rgb(23 24 39 / 15%);padding-block:1.1rem}.filter-bar label{display:flex;min-width:min(100%,230px);flex:1;flex-direction:column;gap:.35rem}.filter-bar label span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.filter-bar select{width:100%;border:1px solid rgb(23 24 39 / 25%);border-radius:.35rem;padding:.65rem 2.3rem .65rem .7rem;background:#fff;color:#171827}.clear-button{align-self:flex-start;border:0;border-bottom:1px solid currentColor;padding:.25rem 0;background:transparent;color:#4b146d;font-size:.8rem;font-weight:600}.clear-button:disabled{cursor:not-allowed;opacity:.35}.gallery-results{scroll-margin-top:1.5rem}.results-count{margin:-1.5rem 0 1rem;color:#5e5b65;font-size:.86rem;text-align:right}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:3.2rem}.pagination button{display:inline-flex;min-width:2.25rem;height:2.25rem;align-items:center;justify-content:center;gap:.25rem;border:0;border-radius:.35rem;background:transparent;font-weight:600}.pagination button:hover:not(:disabled),.pagination button.active{background:#4b146d;color:#fff}.pagination button:disabled{opacity:.35}.mobile-page{color:#5e5b65;font-size:.85rem}.state-card{border:1px solid rgb(23 24 39 / 12%);border-radius:.75rem;padding:3rem 1.4rem;background:#fff;text-align:center}.state-card h2{margin:0 0 .5rem;font-size:1.5rem}.state-card p{margin:0 auto;max-width:550px;color:#5e5b65}.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;color:#4b146d;font-weight:700}.empty-state{display:flex;min-height:330px;align-items:center;justify-content:center;flex-direction:column;padding:4rem 1.5rem;text-align:center}.thought-bubble-icon{width:64px;height:64px;margin-bottom:1.25rem;color:#4b146d;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.empty-state h2{max-width:520px;margin:0;color:#24122f;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500;line-height:1.3}.empty-state .text-link{margin-top:1.5rem}.skeleton-card{animation:pulse 1.5s ease-in-out infinite}.skeleton-card div{aspect-ratio:1.55;border-radius:.65rem;background:#eee6ef}.skeleton-card i{display:block;width:75%;height:12px;margin-top:.7rem;border-radius:10px;background:#eee6ef}.skeleton-card i:last-child{width:50%}.about-grid{display:grid;gap:1rem}.about-panel{min-height:310px;border:1px solid rgb(23 24 39 / 12%);border-radius:.8rem;padding:clamp(1.5rem,4vw,3rem);background:#fff}.about-panel.lavender{background:#eadff1}.about-panel.dark{background:#24122f;color:#fff}.about-panel h2{margin:.75rem 0 1rem;font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1;letter-spacing:-.04em}.about-panel p:not(.eyebrow){max-width:560px;color:#5e5b65;font-size:1.05rem;line-height:1.6}.about-panel.dark p:not(.eyebrow){color:#ddd2e2}.about-panel ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;margin:1.5rem 0 0;padding:0;list-style:none}.about-panel li,.inline-link{display:flex;align-items:center;gap:.5rem}.company-list{display:flex;flex-wrap:wrap;gap:.6rem}.company-list span{border:1px solid #d1badd;border-radius:999px;padding:.65rem 1rem;background:#f8f2fa;font-weight:600}.contact-card{display:flex;flex-direction:column;gap:2rem;border-radius:1rem;padding:clamp(2rem,6vw,5rem);background:#e6d6ed}.contact-card h2{margin:.7rem 0;font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.04em}.contact-card p:not(.eyebrow){max-width:600px;color:#5e5b65;font-size:1.05rem}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-160%);border-radius:.3rem;padding:.6rem 1rem;background:#fff;color:#4b146d;font-weight:700}.skip-link:focus{transform:none}@keyframes pulse{50%{opacity:.55}}@media(min-width:640px){.page-shell{width:min(1440px,calc(100% - 4rem))}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.skill-item{justify-content:center;gap:.6rem;text-align:center;font-size:.9rem}.skill-item svg{width:24px;height:24px;flex-basis:24px}.filter-bar{flex-direction:row;align-items:end}.clear-button{align-self:center}.contact-card{flex-direction:row;align-items:center;justify-content:space-between}}@media(min-width:768px){.hero-image{width:min(100%,620px);aspect-ratio:1402 / 1122}}@media(min-width:1024px){.page-shell{width:min(1440px,calc(100% - 8rem))}.hero-grid{grid-template-columns:1.08fr 1fr;min-height:420px;padding-top:0}.hero-copy h1{font-size:clamp(3.2rem,4.4vw,5rem)}.hero-image{justify-self:end;border-radius:52% 0 0}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.skills-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.5rem,1vw,1rem)}.skill-item{gap:clamp(.45rem,.65vw,.65rem);font-size:clamp(.78rem,1vw,.92rem)}.skill-item svg{width:clamp(21px,1.8vw,25px);height:clamp(21px,1.8vw,25px);flex-basis:clamp(21px,1.8vw,25px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:items-end{align-items:flex-end}}@media(min-width:1024px){.lg\:mt-28{margin-top:7rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-24{height:6rem}}
