:root{--background:220 30% 4%;--background-deep:#05070b;--foreground:47 24% 93%;--surface:#0d131d;--surface-elevated:#111925;--text-primary:#f1efe8;--text-secondary:#a8afbc;--text-muted:#929cab;--accent-blue:#315f9e;--accent-strong:#4d85d6;--accent-soft:#17365d;--border-subtle:rgb(185 207 237/.2);--border-highlight:rgb(207 226 250/.34);--muted:216 38% 8%;--muted-foreground:219 13% 70%;--popover:217 34% 9%;--popover-foreground:var(--foreground);--card:216 38% 8%;--card-foreground:var(--foreground);--border:218 20% 20%;--input:var(--border);--primary:var(--foreground);--primary-foreground:var(--background);--secondary:218 32% 14%;--secondary-foreground:var(--foreground);--accent:215 32% 18%;--accent-foreground:var(--foreground);--destructive:0 65% 45%;--destructive-foreground:0 0% 100%;--ring:216 63% 66%;--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--type-display:clamp(2.25rem,3.3vw,3.5rem);--type-section:clamp(1.8rem,2.4vw,2.5rem);--type-heading:clamp(1.35rem,1.7vw,1.7rem);--type-body:1rem;--type-meta:.875rem;--type-label:1rem;--type-nav:.9rem;--type-button:.875rem;--space-section:clamp(3.5rem,6vw,6rem);--shell-gutter:clamp(1.25rem,4vw,4rem);--shell-gap:clamp(2rem,5vw,5rem);--radius:.875rem;--radius-control:.75rem;--radius-panel:1.25rem;--glass-body:rgb(255 255 255/.018);--glass-rim-strong:linear-gradient(132deg,rgb(239 250 255),rgb(121 202 255/.88) 20%,rgb(66 132 194/.4) 52%,rgb(36 76 116/.2) 76%,rgb(103 184 245/.7));--glass-rim-strong-hover:linear-gradient(132deg,rgb(248 253 255),rgb(139 213 255/.94) 20%,rgb(74 145 207/.46) 52%,rgb(40 85 126/.23) 76%,rgb(116 197 255/.76));--glass-rim-standard:linear-gradient(132deg,rgb(231 247 255/.86),rgb(105 185 244/.72) 20%,rgb(58 122 182/.34) 52%,rgb(32 70 105/.17) 76%,rgb(88 166 226/.52));--glass-rim-standard-hover:linear-gradient(132deg,rgb(244 252 255/.94),rgb(124 201 255/.84) 20%,rgb(67 137 199/.4) 52%,rgb(37 79 117/.2) 76%,rgb(102 185 243/.62));--glass-rim-quiet:linear-gradient(132deg,rgb(216 239 253/.6),rgb(88 160 218/.45) 20%,rgb(48 103 157/.23) 52%,rgb(29 63 96/.12) 76%,rgb(72 141 199/.32));--glass-rim-quiet-hover:linear-gradient(132deg,rgb(231 246 255/.72),rgb(103 180 238/.57) 20%,rgb(56 119 176/.29) 52%,rgb(33 71 105/.15) 76%,rgb(84 158 218/.4));--glass-specular-white:250 253 255;--glass-specular-blue:144 211 255;--glass-pointer-rgb:185 226 255;--glass-focus-glow:rgb(84 166 235/.2);--glass-option-hover:rgb(255 255 255/.035);--overlay-surface:rgb(8 11 16/.965);--glow-color:40 78 135;--glow-opacity:.17;--transition-control:160ms ease;color-scheme:dark}.light{--background:45 25% 96%;--background-deep:#eceef1;--foreground:218 28% 13%;--surface:#f4f5f7;--surface-elevated:#fff;--text-primary:#18202a;--text-secondary:#4e5969;--text-muted:#5b6778;--muted:216 20% 93%;--muted-foreground:217 15% 35%;--popover:45 25% 98%;--card:45 25% 98%;--border:218 20% 80%;--secondary:217 23% 91%;--accent:217 30% 89%;--ring:215 55% 40%;--border-subtle:rgb(22 37 58/.13);--border-highlight:rgb(22 37 58/.24);--glass-body:rgb(255 255 255/.055);--glass-rim-strong:linear-gradient(132deg,rgb(23 53 88/.66),rgb(42 92 145/.48) 20%,rgb(56 98 145/.28) 52%,rgb(34 61 94/.13) 76%,rgb(47 101 158/.4));--glass-rim-strong-hover:linear-gradient(132deg,rgb(20 50 86/.76),rgb(37 89 148/.58) 20%,rgb(50 98 151/.34) 52%,rgb(30 61 98/.17) 76%,rgb(42 101 164/.48));--glass-rim-standard:linear-gradient(132deg,rgb(28 58 93/.47),rgb(49 94 143/.33) 20%,rgb(61 100 144/.2) 52%,rgb(38 65 96/.1) 76%,rgb(53 104 157/.27));--glass-rim-standard-hover:linear-gradient(132deg,rgb(23 55 94/.58),rgb(43 94 151/.43) 20%,rgb(55 104 155/.26) 52%,rgb(34 68 103/.13) 76%,rgb(47 108 170/.34));--glass-rim-quiet:linear-gradient(132deg,rgb(38 69 103/.31),rgb(58 99 143/.22) 20%,rgb(68 104 143/.14) 52%,rgb(43 70 99/.07) 76%,rgb(62 108 154/.18));--glass-rim-quiet-hover:linear-gradient(132deg,rgb(31 65 103/.4),rgb(51 101 151/.29) 20%,rgb(62 111 158/.18) 52%,rgb(39 76 111/.09) 76%,rgb(54 116 171/.23));--glass-specular-white:255 255 255;--glass-specular-blue:63 111 164;--glass-pointer-rgb:55 111 173;--glass-focus-glow:rgb(38 91 153/.16);--glass-option-hover:rgb(28 51 79/.055);--overlay-surface:rgb(249 248 244/.97);--glow-opacity:.07;color-scheme:light}*,:after,:before{--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/0.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/0.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: }
/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;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,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-body);font-size:var(--type-body);line-height:1.65}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.035em;line-height:1.12}h3{line-height:1.3}a,button,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:5px}::-moz-selection{background:var(--accent-soft);color:#f1efe8}::selection{background:var(--accent-soft);color:#f1efe8}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.glass{--glass-rim-gradient:var(--glass-rim-standard);--glass-rim-active-gradient:var(--glass-rim-standard-hover);--glass-specular-opacity:.72;--glass-specular-hover-opacity:.88;--glass-specular-left:10%;--glass-specular-width:46%;--glass-pointer-opacity:0;--glass-depth-shadow:0 10px 24px rgb(0 0 0/.16);--glass-pressed-shadow:0 4px 12px rgb(0 0 0/.14);--glass-exterior-glow:0 -1px 12px rgb(84 166 235/.085);--glass-exterior-glow-hover:0 -1px 14px rgb(84 166 235/.12);position:relative;isolation:isolate;border:1px solid transparent;background:var(--glass-body);background-image:none;box-shadow:var(--glass-depth-shadow),var(--glass-exterior-glow);backdrop-filter:blur(1px) saturate(102%);color:var(--text-primary)}.glass:before{z-index:2;top:-1px;left:var(--glass-specular-left);width:var(--glass-specular-width);height:1px;border-radius:999px;opacity:var(--glass-specular-opacity);background:linear-gradient(90deg,transparent,rgb(var(--glass-specular-white)/.95) 32%,rgb(var(--glass-specular-blue)/.78) 72%,transparent);box-shadow:0 0 6px rgb(var(--glass-specular-blue)/.28);transition:opacity var(--transition-control)}.glass:after,.glass:before{content:"";position:absolute;pointer-events:none}.glass:after{z-index:3;inset:0;padding:1px;border-radius:inherit;background:radial-gradient(72px circle at var(--pointer-x,50%) var(--pointer-y,0),rgb(var(--glass-pointer-rgb)/var(--glass-pointer-opacity)),transparent 72%),var(--glass-rim-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@supports (-webkit-touch-callout:none){.glass:after{background:var(--glass-rim-gradient)}}.glass-panel{border-radius:var(--radius-panel)}.glass-surface{overflow:hidden}.glass-image-frame{position:relative;overflow:hidden;border-radius:var(--radius-control)}.glass-image-frame>img{-o-object-fit:cover;object-fit:cover}.glass-image-frame{--glass-specular-opacity:.82}.glass-image-frame:after{content:"";position:absolute;z-index:3;inset:0;padding:0;border:1px solid rgb(111 187 245/.56);border-bottom-color:rgb(42 90 132/.2);border-radius:inherit;background:none;-webkit-mask:none;mask:none;pointer-events:none;box-shadow:inset 0 1px 0 rgb(225 241 255/.44),0 0 8px rgb(56 129 190/.08)}.glass-control{border-radius:var(--radius-control);min-height:44px;font-size:var(--type-button);transition:background var(--transition-control),box-shadow var(--transition-control),color var(--transition-control),transform var(--transition-control)}.glass-primary,.glass-strong{--glass-rim-gradient:var(--glass-rim-strong);--glass-rim-active-gradient:var(--glass-rim-strong-hover);--glass-specular-opacity:.9;--glass-specular-hover-opacity:1;--glass-specular-left:10%;--glass-specular-width:42%;--glass-depth-shadow:0 12px 26px rgb(0 0 0/.22);--glass-pressed-shadow:0 5px 14px rgb(0 0 0/.18);--glass-exterior-glow:0 -1px 14px rgb(84 166 235/.14);--glass-exterior-glow-hover:0 -1px 16px rgb(84 166 235/.18);font-weight:600}.glass-secondary,.glass-standard,.glass-tertiary{--glass-rim-gradient:var(--glass-rim-standard);--glass-rim-active-gradient:var(--glass-rim-standard-hover);--glass-specular-opacity:.72;--glass-specular-hover-opacity:.9;--glass-specular-left:10%;--glass-specular-width:46%;--glass-depth-shadow:0 8px 18px rgb(0 0 0/.16);--glass-pressed-shadow:0 4px 12px rgb(0 0 0/.14);--glass-exterior-glow:0 -1px 12px rgb(84 166 235/.085);--glass-exterior-glow-hover:0 -1px 14px rgb(84 166 235/.12)}.glass-compact,.glass-quiet{--glass-rim-gradient:var(--glass-rim-quiet);--glass-rim-active-gradient:var(--glass-rim-quiet-hover);--glass-specular-opacity:.42;--glass-specular-hover-opacity:.62;--glass-specular-left:12%;--glass-specular-width:42%;--glass-depth-shadow:0 3px 9px rgb(0 0 0/.1);--glass-pressed-shadow:0 2px 6px rgb(0 0 0/.09);--glass-exterior-glow:0 -1px 8px rgb(84 166 235/.035);--glass-exterior-glow-hover:0 -1px 9px rgb(84 166 235/.06)}.light .glass-primary,.light .glass-strong{--glass-depth-shadow:0 9px 22px rgb(26 39 61/.1);--glass-pressed-shadow:0 4px 12px rgb(26 39 61/.08);--glass-exterior-glow:0 -1px 11px rgb(45 102 164/.07);--glass-exterior-glow-hover:0 -1px 13px rgb(45 102 164/.1)}.light .glass-secondary,.light .glass-standard,.light .glass-tertiary{--glass-depth-shadow:0 7px 17px rgb(26 39 61/.07);--glass-pressed-shadow:0 3px 9px rgb(26 39 61/.06);--glass-exterior-glow:0 -1px 9px rgb(45 102 164/.045);--glass-exterior-glow-hover:0 -1px 11px rgb(45 102 164/.07)}.light .glass-compact,.light .glass-quiet{--glass-depth-shadow:0 3px 8px rgb(26 39 61/.045);--glass-pressed-shadow:0 2px 5px rgb(26 39 61/.04);--glass-exterior-glow:0 -1px 6px rgb(45 102 164/.02);--glass-exterior-glow-hover:0 -1px 8px rgb(45 102 164/.035)}.glass-chip{border-radius:999px;padding:.2rem .65rem;font-size:.75rem}.glass-chip-strong{--glass-specular-opacity:.54;color:var(--text-primary)}.glass-control:focus-visible,.glass-control[data-pointer-active=true]{--glass-pointer-opacity:.42}.glass-control:active{box-shadow:var(--glass-pressed-shadow),var(--glass-exterior-glow);transform:translateY(1px) scale(.985)}.glass-control:focus-visible{--glass-rim-gradient:var(--glass-rim-active-gradient);--glass-specular-opacity:var(--glass-specular-hover-opacity);outline:2px solid hsl(var(--ring));outline-offset:3px;box-shadow:var(--glass-depth-shadow),var(--glass-exterior-glow-hover),0 0 0 4px var(--glass-focus-glow)}.glass-control[aria-current],.glass-control[aria-expanded=true],.glass-control[aria-pressed=true]{--glass-rim-gradient:var(--glass-rim-active-gradient);--glass-specular-opacity:var(--glass-specular-hover-opacity)}@media (hover:hover) and (pointer:fine){.glass-control:hover{--glass-rim-gradient:var(--glass-rim-active-gradient);--glass-specular-opacity:var(--glass-specular-hover-opacity);--glass-pointer-opacity:.42;box-shadow:var(--glass-depth-shadow),var(--glass-exterior-glow-hover);transform:translateY(-1px)}.glass-primary:hover,.glass-strong:hover{--glass-pointer-opacity:.5}.glass-control:active{box-shadow:var(--glass-pressed-shadow),var(--glass-exterior-glow);transform:translateY(1px) scale(.985)}}.background-canvas{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.background-trails{width:100%;height:100%;opacity:.8;transform:translate(var(--trail-x,0),var(--trail-y,0))}.light .background-trails{opacity:.35}.app-shell{max-width:1600px;margin-inline:auto;padding-inline:var(--shell-gutter);isolation:isolate}.identity-shell{position:sticky;top:.75rem;z-index:40;padding-block:.25rem}.identity-rail{display:none}.identity-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem}.identity-topbar>*{position:relative;z-index:4}.identity-topbar>button{pointer-events:auto}.identity-topbar .identity-name{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:-.025em}.identity-compact{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.identity-name{display:block;font-family:var(--font-display);font-size:clamp(2.2rem,3.1vw,3rem);line-height:1.05;letter-spacing:-.04em}.identity-title{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-block:1.25rem .5rem;max-width:26ch}.identity-location{color:var(--text-muted);font-size:var(--type-meta)}.identity-navigation{display:grid;gap:.25rem;margin-block:1.5rem}.identity-navigation a{display:flex;align-items:center;gap:.85rem;padding:.4rem 0;color:var(--text-secondary);font-size:var(--type-nav)}.identity-navigation a:before{content:"";width:1.2rem;height:1px;background:var(--border-highlight);transition:width var(--transition-control),background var(--transition-control)}.identity-navigation a:hover,.identity-navigation a[aria-current]{color:var(--text-primary)}.identity-navigation a[aria-current]:before{width:2rem;background:var(--accent-strong)}.identity-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.identity-action-glow{--glass-specular-hover-opacity:1;--glass-exterior-glow-hover:0 -1px 18px rgb(84 166 235/.24),0 0 7px rgb(211 238 255/.075)}.identity-cv-action{--glass-exterior-glow-hover:0 -1px 20px rgb(84 166 235/.27),0 0 8px rgb(211 238 255/.09)}.identity-social-button{width:44px;height:44px;padding:0}.light .identity-action-glow{--glass-exterior-glow-hover:0 -1px 15px rgb(45 102 164/.14),0 0 6px rgb(45 102 164/.055)}.light .identity-cv-action{--glass-exterior-glow-hover:0 -1px 17px rgb(45 102 164/.17),0 0 7px rgb(45 102 164/.065)}.identity-preferences{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem}.preference-disclosure{max-width:100%}.preference-trigger{display:flex;align-items:center;gap:.5rem;padding:.4rem .65rem;color:var(--text-secondary);font-size:.75rem}.preference-panel{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:2;width:12rem;max-width:calc(100vw - 5rem);padding:.4rem;background:var(--overlay-surface);backdrop-filter:blur(3px) saturate(102%)}.preference-options{display:grid;gap:.15rem;min-width:0}.preference-options a,.preference-options label{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.4rem .65rem;border-radius:.5rem;font-size:.875rem;cursor:pointer}.preference-options a:hover,.preference-options a[aria-current],.preference-options label:hover{background:var(--glass-option-hover)}.preference-options input{accent-color:var(--accent-strong)}.identity-menu{position:fixed;inset:0;margin:auto;width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem;background:var(--overlay-surface);backdrop-filter:blur(3px) saturate(102%)}.identity-menu>*{position:relative;z-index:4}.identity-menu::backdrop{background:rgb(2 5 10/.75)}.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.menu-heading h2{font-size:1.5rem}.identity-menu .identity-navigation{margin-block:1rem}.identity-menu .identity-navigation a{min-height:44px}.main-canvas{min-width:0}.page-sections>section{padding-block:var(--space-section);background:transparent;border-bottom:1px solid var(--border-subtle);scroll-margin-top:1rem}.page-sections .container{padding-inline:0}.page-sections h1{font-size:var(--type-display);font-weight:400}.page-sections h2{font-size:var(--type-section);font-weight:400}.page-sections h3{font-size:var(--type-heading)}.page-sections li,.page-sections p{overflow-wrap:anywhere}.page-sections .text-justify{text-align:left}.page-sections .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}.page-sections #hero.hero-composition{display:grid;grid-template-areas:"heading" "portrait" "details";gap:2.25rem;align-items:center;min-height:0;padding-block:clamp(3.75rem,12vw,6rem) clamp(4rem,11vw,6rem)}.hero-heading{grid-area:heading;min-width:0}.page-sections #hero .hero-title{max-width:12ch;margin:0;font-size:clamp(2.7rem,8vw,4.5rem);line-height:.98;letter-spacing:-.048em;text-wrap:balance}.hero-title span{display:block}.hero-title span+span{margin-top:.12em}.hero-details{grid-area:details;display:grid;justify-items:start;gap:1.35rem;min-width:0}.page-sections #hero .hero-summary{max-width:62ch;margin:0;color:var(--text-secondary);font-size:var(--type-body);line-height:1.75}.hero-location{display:flex;align-items:center;gap:.75rem;margin:0;color:var(--text-primary);font-size:var(--type-meta);font-weight:600;letter-spacing:.035em}.hero-location:before{content:"";width:2rem;height:1px;background:var(--accent-strong);box-shadow:0 0 8px rgb(77 133 214/.22)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.hero-portrait{grid-area:portrait;justify-self:center;width:min(68vw,17.5rem);margin:0}.hero-portrait-frame{position:relative;aspect-ratio:518/721;overflow:hidden;border-radius:50% 50% 42% 42%/36% 36% 28% 28%;background:#293e63}.page-sections #hero .hero-portrait-image{display:block;width:100%;height:100%;max-width:none;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.hero-heading{animation:hero-reveal .62s cubic-bezier(.22,1,.36,1) 30ms both}.hero-location,.hero-summary{animation:hero-reveal .65s cubic-bezier(.22,1,.36,1) .1s both}.hero-actions{animation:hero-reveal .65s cubic-bezier(.22,1,.36,1) 175ms both}.hero-portrait-frame{animation:hero-portrait-reveal .72s cubic-bezier(.22,1,.36,1) .24s both}@keyframes hero-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-portrait-reveal{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width:700px){.page-sections #hero.hero-composition{grid-template-areas:"heading portrait" "details portrait";grid-template-columns:minmax(0,1.22fr) minmax(15rem,.78fr);grid-template-rows:auto auto;-moz-column-gap:clamp(2rem,5vw,4.5rem);column-gap:clamp(2rem,5vw,4.5rem);row-gap:2rem;min-height:min(44rem,calc(100svh - 7rem));padding-block:clamp(4rem,8vw,6rem)}.hero-heading{align-self:end}.hero-details{align-self:start}.page-sections #hero .hero-title{max-width:16ch;font-size:clamp(3rem,5.5vw,4rem)}.hero-portrait{justify-self:end;width:min(105%,24rem)}}@media (max-width:699px){.hero-heading{animation-duration:.48s;animation-delay:0s}.hero-location,.hero-summary{animation-duration:.5s;animation-delay:70ms}.hero-actions{animation-duration:.5s;animation-delay:.12s}.hero-portrait-frame{animation-duration:.56s;animation-delay:.16s}}.featured-projects__title{margin:0 0 clamp(2.25rem,5vw,4rem)}.featured-projects{display:grid;gap:clamp(4.5rem,8vw,7rem);margin:0;padding:0;list-style:none}.featured-project{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(17rem,.95fr);grid-template-areas:"visual content";gap:clamp(1.75rem,3.5vw,3rem);align-items:center}.featured-project--reverse{grid-template-columns:minmax(17rem,.95fr) minmax(0,1.05fr);grid-template-areas:"content visual"}.featured-project__visual{grid-area:visual;width:100%;aspect-ratio:16/10}.featured-project__visual>img{transition:transform .48s cubic-bezier(.22,1,.36,1)}.featured-project__content{grid-area:content;display:grid;gap:1.75rem;min-width:0}.featured-project__heading{display:grid;gap:.9rem}.featured-project__index{color:var(--text-muted);font-family:var(--font-body);font-size:var(--type-label);letter-spacing:.18em}.featured-project__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;color:var(--text-secondary);font-size:var(--type-meta)}.featured-project__meta>span{letter-spacing:.04em}.page-sections .featured-project h3{margin:0;font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.25rem);font-weight:400;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}.featured-project__details{display:grid;justify-items:start;gap:1.4rem}.page-sections .featured-project__description{max-width:62ch;margin:0;color:var(--text-secondary);line-height:1.75;text-align:justify;text-justify:inter-word;hyphens:auto}.featured-project__supporting{display:flex;flex-wrap:wrap;gap:.5rem}.featured-project__repository{gap:.55rem}.featured-project__repository,.featured-project__repository>span{transition:transform .22s cubic-bezier(.22,1,.36,1)}.featured-project__repository:is(:hover,:focus-visible){transform:translateY(-1px)}.featured-project__repository:is(:hover,:focus-visible)>span{transform:translate(2px,-1px)}@media (hover:hover) and (pointer:fine){.featured-project__visual:hover>img{transform:scale(1.015)}}.featured-project--lead{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual" "content";gap:clamp(2rem,4vw,3.25rem)}.featured-project--lead .featured-project__visual{aspect-ratio:16/8.5}.featured-project--lead .featured-project__content{grid-template-columns:minmax(15rem,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,3vw,2.75rem);align-items:start}.other-projects__title{display:flex;align-items:center;gap:1.25rem;margin:clamp(4.5rem,8vw,6rem) 0 clamp(1.75rem,3vw,2.25rem);font-family:var(--font-display);font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:400;letter-spacing:-.025em}.other-projects__title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-highlight),transparent)}.other-projects{margin:0;padding:0;list-style:none;border-top:1px solid var(--border-highlight)}.other-projects>li{border-bottom:1px solid var(--border-highlight)}.other-project{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action" "description action" "meta action";gap:.85rem clamp(2rem,5vw,4.5rem);align-items:start;padding-block:clamp(2rem,3.25vw,2.75rem)}.page-sections .other-project__title{grid-area:title;max-width:34ch;margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,2.35vw,2.1rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}.page-sections .other-project__description{grid-area:description;max-width:66ch;margin:0;color:var(--text-secondary);line-height:1.7}.other-project__meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.35rem;color:var(--text-muted);font-size:var(--type-meta)}.other-project__technology{color:var(--text-primary);font-weight:600;letter-spacing:.025em}.other-project__supporting{flex-wrap:wrap;gap:.45rem 0;margin:0;padding:0;list-style:none}.other-project__supporting,.other-project__supporting li{display:flex;align-items:center}.other-project__supporting li+li:before{content:"·";margin-inline:.65rem;color:var(--accent)}.other-project__repository{grid-area:action;align-self:center;gap:.55rem;white-space:nowrap}.other-project__repository>span{transition:transform var(--transition-control)}.other-project__repository:is(:hover,:focus-visible)>span{transform:translate(2px,-1px)}@media (max-width:899px){.featured-project,.featured-project--reverse{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual" "content";gap:2rem}.featured-project--lead .featured-project__content{grid-template-columns:minmax(0,1fr);gap:1.75rem}.featured-project--lead .featured-project__visual,.featured-project__visual{aspect-ratio:16/10}}@media (max-width:768px){.other-project{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "description" "meta" "action";gap:1rem}.other-project__repository{justify-self:start;margin-top:.35rem}}@media (max-width:499px){.featured-projects{gap:4rem}.featured-project__content{gap:1.35rem}.page-sections .featured-project h3{font-size:clamp(2rem,10vw,2.65rem)}.featured-project__details{gap:1.15rem}.other-projects__title{gap:.85rem;margin-top:4rem}.other-project{padding-block:1.75rem}}@media (max-width:768px){.page-sections .featured-project__description{text-align:left;hyphens:none}}.career-section__title{display:flex;align-items:center;gap:1.5rem;margin:0 0 clamp(2.5rem,5vw,4rem)}.career-section__title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-highlight),transparent)}.education-list,.experience-list{margin:0;padding:0;list-style:none}.experience-list{display:grid;gap:clamp(1rem,2vw,1.4rem)}.education-list{border-bottom:1px solid var(--border-highlight)}.education-list>li{border-top:1px solid var(--border-highlight)}.experience-entry{display:grid;grid-template-columns:minmax(8.5rem,.24fr) minmax(0,1fr);grid-template-areas:"meta header" "meta body";gap:1.25rem clamp(2rem,5vw,4rem);padding:clamp(1.65rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem)}.experience-entry--primary{padding:clamp(2.25rem,4vw,3.1rem) clamp(1.75rem,4vw,3rem)}html:not(.light) .experience-entry--primary{--glass-specular-opacity:.52;background:rgb(255 255 255/.018);background-image:none;border:1px solid transparent;box-shadow:0 18px 38px rgb(0 0 0/.18),0 -1px 14px rgb(84 166 235/.14);backdrop-filter:blur(1px) saturate(102%)}html:not(.light) .experience-entry--primary:after{content:"";position:absolute;z-index:3;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(132deg,rgb(239 250 255),rgb(121 202 255/.88) 20%,rgb(66 132 194/.4) 52%,rgb(36 76 116/.2) 76%,rgb(103 184 245/.7));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}html:not(.light) .experience-entry--primary:before{content:"";position:absolute;z-index:4;top:-1px;left:10%;width:42%;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgb(250 253 255) 32%,rgb(144 211 255/.78) 72%,transparent);box-shadow:0 0 6px rgb(111 190 249/.34);pointer-events:none}.experience-entry__header{grid-area:header;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:start}.page-sections .experience-entry__identity h3{max-width:27ch;margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:400;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.page-sections .experience-entry--primary .experience-entry__identity h3{font-size:clamp(2rem,3.4vw,2.6rem)}.experience-entry__identity p{margin:.55rem 0 0;color:var(--text-primary);font-size:clamp(.95rem,1.25vw,1.2rem);font-weight:600;letter-spacing:.025em}.career-logo-frame{display:grid;place-items:center;width:clamp(5rem,9vw,7rem);min-height:3.25rem;padding:.45rem .55rem;border:1px solid var(--border-subtle);border-radius:4px;background:rgb(241 239 232/.96)}.career-logo{display:block;width:100%;height:auto;max-height:2.6rem;-o-object-fit:contain;object-fit:contain}.career-entry__meta{grid-area:meta;display:grid;align-content:start;gap:.3rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.55}.career-entry__meta p{margin:0}.career-entry__index{margin-bottom:.5rem;color:var(--accent-strong);font-size:var(--type-body);font-weight:600;letter-spacing:.18em}.experience-entry__body{grid-area:body;max-width:66ch;color:var(--text-secondary)}.experience-entry__body>p{margin:0;line-height:1.75}.experience-entry__accomplishments{display:grid;gap:1rem;margin:0;padding-left:1.15rem;line-height:1.75}.experience-entry__accomplishments li{padding-left:.25rem}.experience-entry__accomplishments li::marker{color:var(--accent-strong)}.education-entry{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(15rem,.85fr);grid-template-areas:"header details" "meta details";gap:1rem clamp(2.5rem,5vw,4.5rem);padding-block:clamp(2rem,4vw,3rem)}.education-entry__header{grid-area:header;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:start}.page-sections .education-entry__identity h3{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,2.8vw,2.35rem);font-weight:400;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.education-entry__identity>p{max-width:42ch;margin:.65rem 0 0;color:var(--text-secondary);line-height:1.55}.education-entry__meta{align-content:end;color:var(--text-secondary);font-size:1rem;line-height:1.6}.education-entry__details{grid-area:details;display:grid;align-content:start;gap:1.25rem;min-width:0}.education-entry__highlight{display:grid;gap:.25rem;margin:0;padding-left:1rem;border-left:1px solid var(--accent-strong);color:var(--text-primary);line-height:1.55}.education-entry__highlight span{color:var(--text-secondary);font-size:.9375rem;font-weight:600}.education-entry__coursework{display:grid;gap:.55rem;color:var(--text-muted);font-size:var(--type-meta)}.education-entry__coursework>p{margin:0;color:var(--text-secondary);font-weight:600}.education-entry__coursework ul{display:flex;flex-wrap:wrap;gap:.4rem 0;margin:0;padding:0;list-style:none}.education-entry__coursework li{display:flex;align-items:center}.education-entry__coursework li+li:before{content:"·";margin-inline:.65rem;color:var(--accent)}@media (max-width:899px){.education-entry{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "meta" "details";gap:1rem}.education-entry__meta{align-content:start}}@media (max-width:768px){.career-section__title{gap:1rem}.experience-entry{grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "meta" "body";gap:1rem}.experience-entry .career-entry__meta{grid-template-columns:auto minmax(0,1fr);-moz-column-gap:1rem;column-gap:1rem}.experience-entry .career-entry__index{grid-row:1/3;align-self:start;margin:0;padding-top:.1rem}}@media (max-width:520px){.education-entry__header,.experience-entry__header{grid-template-columns:minmax(0,1fr)}.experience-entry{padding:1.5rem}.experience-entry--primary{padding:1.75rem 1.5rem}.career-logo-frame{width:6.5rem;margin-top:.15rem}.page-sections .experience-entry--primary .experience-entry__identity h3{font-size:clamp(2rem,10vw,2.5rem)}}.lower-section__title{display:flex;align-items:center;gap:1.5rem;margin:0 0 clamp(2.25rem,4vw,3.5rem)}.lower-section__title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-highlight),transparent)}.capability-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--border-highlight)}.capability-group{min-width:0;padding:clamp(1.75rem,3vw,2.5rem) clamp(1.5rem,3vw,2.75rem)}.capability-group:nth-child(odd){padding-left:0;border-right:1px solid var(--border-subtle)}.capability-group:nth-child(2n){padding-right:0}.capability-group:nth-child(n+3){border-top:1px solid var(--border-subtle)}.capability-group__header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.35rem}.capability-group__header>span{flex:0 0 auto;color:var(--accent-strong);font-size:var(--type-body);font-weight:600;letter-spacing:.18em}.page-sections .capability-group h3{margin:0;font-family:var(--font-display);font-size:clamp(1.55rem,2.2vw,1.95rem);font-weight:400;letter-spacing:-.02em;line-height:1.2}.capability-skills{display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;color:var(--text-primary)}.capability-pill{max-width:100%;padding:.42rem .8rem;overflow:hidden;border-radius:var(--radius-control);font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}.languages-section{padding-block:clamp(3rem,5vw,4.5rem)!important}.language-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none}.language-entry{min-width:0;padding:clamp(1.25rem,2.4vw,1.75rem);overflow:hidden;border-radius:var(--radius-control)}.language-entry__heading{display:flex;align-items:center;gap:.8rem;min-width:0}.language-flag{flex:0 0 auto;width:1.5rem;height:1rem;border-radius:.15rem;box-shadow:0 0 0 1px rgb(210 228 248/.26),0 2px 5px rgb(0 0 0/.18)}.page-sections .language-entry h3{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);font-weight:400;letter-spacing:-.02em}.language-entry p{margin:.55rem 0 0 2.3rem;color:var(--text-secondary);font-size:1rem;line-height:1.55}.contact-section{padding-block:clamp(4rem,7vw,6rem)!important}.contact-closing{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:clamp(1.8rem,6vw,2.2rem);align-items:start}.contact-statement{max-width:48ch;margin:0;color:var(--text-primary);font-size:clamp(1rem,2.1vw,1.4rem);line-height:1.55;text-wrap:balance}.contact-connect{display:grid;justify-items:start;gap:1.5rem;min-width:0}.contact-email{display:inline-flex;align-items:center;gap:.75rem;max-width:100%;color:var(--text-primary);font-size:clamp(1rem,1.5vw,1.15rem);font-weight:600;text-decoration-line:underline;text-decoration-color:var(--accent-strong);text-decoration-thickness:1px;text-underline-offset:.4rem;overflow-wrap:anywhere}.contact-email svg{flex:0 0 auto;color:var(--accent-strong)}.contact-email:hover{text-decoration-thickness:2px}.contact-actions{display:flex;flex-wrap:wrap;gap:.65rem}.contact-actions a{gap:.55rem}.shell-footer{border-top:0}@media (max-width:768px){.lower-section__title{gap:1rem}.capability-matrix{grid-template-columns:minmax(0,1fr)}.capability-group,.capability-group:nth-child(2n),.capability-group:nth-child(odd){padding-inline:0;border-right:0}.capability-group:nth-child(n+2){border-top:1px solid var(--border-subtle)}.contact-closing{grid-template-columns:minmax(0,1fr);gap:2rem}}@media (max-width:640px){.language-list{grid-template-columns:minmax(0,1fr)}.language-entry{padding:1.25rem}}@media (max-width:480px){.contact-actions{display:grid;justify-items:start}}.shell-footer{padding-block:2rem}.shell-footer,.shell-footer p{color:var(--text-secondary)}.shell-footer .container{padding-inline:0}.shell-footer__link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--text-secondary);transition:color var(--transition-control)}.shell-footer__link:is(:hover,:focus-visible){color:var(--text-primary)}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;padding:.75rem 1rem;transform:translateY(-200%);background:var(--surface-elevated);border-radius:var(--radius-control)}.skip-link:focus{transform:translateY(0)}@media (max-width:460px){.page-sections #hero .hero-title{max-width:none}}.visible{visibility:visible}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.shrink-0{flex-shrink:0}.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))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.rounded-\[var\(--radius-control\)\]{border-radius:var(--radius-control)}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-transparent{border-color:transparent}.bg-destructive{background-color:hsl(var(--destructive))}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width:1120px) and (min-height:700px){.app-shell{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:var(--shell-gap);align-items:start}.identity-shell{top:3rem;padding-block:0;margin-top:3rem}.identity-rail{display:block}.identity-topbar{display:none}.main-canvas{padding-top:1rem}.page-sections #hero.hero-composition{grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);-moz-column-gap:clamp(3rem,5vw,6rem);column-gap:clamp(3rem,5vw,6rem);min-height:clamp(42rem,calc(100svh - 8rem),48rem);padding-block:3rem 4rem}.page-sections #hero .hero-title{font-size:clamp(3.5rem,4.35vw,4.75rem)}.page-sections #hero .hero-title span{white-space:nowrap}.hero-portrait{width:min(108%,26.5rem)}html{scroll-padding-top:2rem}}@media (min-width:1120px) and (max-width:1279px) and (min-height:700px){.page-sections #hero .hero-title span{white-space:normal}}@media (min-width:1280px) and (min-height:700px){html[lang=es] .page-sections #hero .hero-title span{white-space:normal}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-actions,.hero-heading,.hero-location,.hero-portrait-frame,.hero-summary{animation:none!important;opacity:1;transform:none}.featured-project,[data-lower-section-item]{opacity:1!important;transform:none!important}.featured-project__repository:is(:hover,:focus-visible),.featured-project__repository:is(:hover,:focus-visible)>span,.featured-project__visual:hover>img,.other-project__repository:is(:hover,:focus-visible)>span{transform:none}.glass-control:active{transform:none}}@media print{.light,:root{--background:0 0% 100%;--foreground:0 0% 0%;--text-primary:#000;--text-secondary:#333;--text-muted:#444;--muted-foreground:0 0% 25%}body{background:#fff!important;color:#000!important}.background-canvas,.identity-menu,.identity-shell,.skip-link{display:none!important}.app-shell{display:block;max-width:none;padding:0}.main-canvas{padding:0}*,:after,:before{box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass{background:#fff!important;color:#000!important}.glass,.page-sections>section{border-color:#ccc}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2: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(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\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:768px){.md\:mt-0{margin-top:0}.md\:flex-row{flex-direction:row}.md\:text-left{text-align:left}}