@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.static{position:static}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial}}}:root{--color-bg-base: #0b0b0b;--color-bg-mid: #111111;--color-bg-deep: #0b0b0b;--color-bg-fade: #0b0b0b;--color-heading: #f6f4ef;--color-text-primary: #f6f4ef;--color-text-secondary: #a79f93;--color-text-muted: #a79f93;--color-body-text: #a79f93;--color-accent: #caa86a;--color-accent-muted: rgba(202, 168, 106, .24);--color-accent-violet: #caa86a;--color-accent-soft: #e1c58a;--color-accent-highlight: #e1c58a;--color-accent-glow: rgba(202, 168, 106, .12);--color-accent-gold: #caa86a;--color-hextech: rgba(202, 168, 106, .35);--accent-rgb: 202, 168, 106;--accent-bright-rgb: 225, 197, 138;--color-panel: rgba(17, 17, 17, .72);--panel-bg: rgba(17, 17, 17, .72);--color-navbar: transparent;--color-header-bg: transparent;--color-shell-bg: #0b0b0b;--border-subtle: rgba(202, 168, 106, .25);--border-default: rgba(202, 168, 106, .25);--border-hover: rgba(225, 197, 138, .45);--panel-hover-border: rgba(202, 168, 106, .35);--panel-shadow: 0 16px 40px rgba(0, 0, 0, .35);--panel-inset: inset 0 1px 0 rgba(202, 168, 106, .08);--btn-primary-bg: rgba(202, 168, 106, .18);--btn-primary-border: rgba(202, 168, 106, .42);--btn-primary-color: #f6f4ef;--btn-primary-hover-bg: rgba(202, 168, 106, .26);--btn-primary-hover-border: rgba(225, 197, 138, .55);--btn-primary-hover-shadow: 0 12px 28px rgba(0, 0, 0, .28);--btn-secondary-bg: transparent;--btn-secondary-border: rgba(202, 168, 106, .35);--btn-secondary-color: #f6f4ef;--btn-secondary-hover-bg: rgba(202, 168, 106, .08);--btn-secondary-hover-shadow: 0 8px 24px rgba(0, 0, 0, .2);--nav-active-text: #f6f4ef;--nav-active-line: #caa86a;--nav-marker: #caa86a;--nav-shadow: none;--monogram-letter: #f6f4ef;--monogram-sep: #caa86a;--frame-radius: 0;--frame-content-padding: clamp(.5rem, 1.5vw, 1rem);--frame-border: rgba(202, 168, 106, .55);--frame-outer-shadow: 0 24px 64px rgba(0, 0, 0, .55);--frame-inner-glow: inset 0 0 48px rgba(202, 168, 106, .06);--frame-inner-bg: transparent;--scrollbar-width: 5px;--scrollbar-track: transparent;--scrollbar-thumb: rgba(202, 168, 106, .18);--scrollbar-thumb-hover: rgba(202, 168, 106, .32);--selection-bg: rgba(202, 168, 106, .28);--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-monogram: "Cormorant Garamond", Georgia, serif;--radius-panel: 0;--radius-nav: 0;--radius-button: 0;--blur-panel: 0;--blur-nav: 0;--blur-button: 0;--transition-fast: .22s cubic-bezier(.22, 1, .36, 1);--max-width: 1280px;--header-offset: 4.5rem;--font-display: var(--font-heading);--color-text: var(--color-text-primary);--header-height: 3.75rem;--bg-image-storm: url(/assets/storm_background.png);--bg-image-spring: url(/assets/spring_background.png);--bg-overlay-storm: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4));--bg-overlay-spring: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4));--bg-vignette: radial-gradient( ellipse at center, rgba(0, 0, 0, 0) 28%, rgba(5, 8, 16, .26) 58%, rgba(5, 8, 16, .52) 100% );--bg-vignette-mobile: radial-gradient( ellipse at center, rgba(0, 0, 0, 0) 22%, rgba(5, 8, 16, .28) 55%, rgba(5, 8, 16, .56) 100% );--shell-shadow-color: 0, 0, 0;--shell-stage-shadow: 0 0 100px 48px rgba(var(--shell-shadow-color), .42), 0 0 220px 120px rgba(var(--shell-shadow-color), .28);--shell-stage-shadow-mobile: 0 0 72px 36px rgba(var(--shell-shadow-color), .45), 0 0 160px 88px rgba(var(--shell-shadow-color), .3);--surface-muted-bg: rgba(17, 17, 17, .55);--surface-menu-bg: #141414;--surface-menu-shadow: 0 18px 44px rgba(0, 0, 0, .45);--surface-menu-backdrop: rgba(0, 0, 0, .52);--scroll-ornament-bg: rgba(11, 11, 11, .35)}[data-theme=light]{--palette-slate: 113, 120, 128;--palette-olive: 77, 80, 64;--palette-charcoal: 18, 18, 16;--palette-cream: 224, 218, 208;--palette-steel: 86, 96, 112;--palette-khaki: 122, 118, 100;--palette-taupe: 169, 163, 150;--palette-navy: 53, 63, 77;--palette-forest: 30, 40, 32;--color-bg-base: #e0dad0;--color-text-primary: #f6fadc;--color-text-secondary: #121210;--color-text-muted: #717880;--color-body-text: #121210;--color-heading: #f6fadc;--color-text: var(--color-text-primary);--star-text-glow: 0 0 6px rgba(231, 210, 186, .95), 0 0 14px rgba(231, 210, 186, .78), 0 0 28px rgba(231, 210, 186, .48), 0 1px 3px rgba(18, 18, 16, .42);--star-text-glow-strong: 0 0 8px rgba(231, 210, 186, 1), 0 0 18px rgba(231, 210, 186, .88), 0 0 36px rgba(231, 210, 186, .58), 0 1px 4px rgba(18, 18, 16, .38);--hero-title-color: #121210;--hero-title-accent-color: #1e2820;--hero-dark-neon-glow: 0 0 6px rgba(231, 210, 186, .92), 0 0 14px rgba(231, 210, 186, .72), 0 0 26px rgba(231, 210, 186, .48), 0 0 40px rgba(231, 210, 186, .28);--hero-dark-neon-glow-accent: 0 0 8px rgba(231, 210, 186, .98), 0 0 18px rgba(231, 210, 186, .85), 0 0 32px rgba(231, 210, 186, .6), 0 0 48px rgba(231, 210, 186, .34);--color-secondary-title: #e7d2ba;--shell-shadow-color: var(--palette-steel);--surface-fill: rgba(var(--palette-steel), .34);--accent-rgb: 245, 255, 210;--accent-bright-rgb: 254, 255, 232;--color-accent: #a9a396;--color-accent-muted: rgba(var(--palette-taupe), .38);--color-accent-violet: #a9a396;--color-accent-soft: #eef8c8;--color-accent-highlight: #feffe8;--color-accent-glow: rgba(245, 255, 210, .42);--color-accent-gold: #f0f8c8;--color-hextech: rgba(var(--palette-khaki), .42);--border-subtle: rgba(var(--palette-khaki), .38);--border-default: rgba(var(--palette-khaki), .52);--border-hover: rgba(var(--palette-taupe), .72);--panel-hover-border: rgba(var(--palette-taupe), .58);--panel-inset: inset 0 1px 0 rgba(var(--palette-cream), .22);--panel-shadow: 0 12px 32px rgba(var(--palette-steel), .14);--btn-primary-bg: rgba(var(--palette-taupe), .24);--btn-primary-border: rgba(var(--palette-khaki), .55);--btn-primary-color: #121210;--btn-primary-hover-bg: rgba(var(--palette-taupe), .34);--btn-primary-hover-border: rgba(var(--palette-cream), .78);--btn-primary-hover-shadow: 0 12px 28px rgba(var(--palette-steel), .14);--btn-secondary-color: #121210;--btn-secondary-border: rgba(var(--palette-khaki), .48);--btn-secondary-hover-bg: rgba(var(--palette-taupe), .16);--btn-secondary-hover-shadow: 0 8px 24px rgba(var(--palette-steel), .1);--nav-active-text: #f6fadc;--nav-active-line: #eef8c8;--nav-marker: #feffe8;--monogram-letter: #f6fadc;--monogram-sep: #feffe8;--frame-border: rgba(var(--palette-cream), .78);--frame-inner-glow: inset 0 0 48px rgba(var(--palette-cream), .14);--scrollbar-thumb: rgba(var(--palette-taupe), .42);--scrollbar-thumb-hover: rgba(var(--palette-cream), .62);--selection-bg: rgba(var(--palette-khaki), .28);--color-panel: var(--surface-fill);--panel-bg: var(--surface-fill);--surface-muted-bg: var(--surface-fill);--surface-menu-bg: #ebe4d8;--surface-menu-shadow: 0 18px 44px rgba(var(--palette-steel), .24);--surface-menu-backdrop: rgba(var(--palette-charcoal), .32);--scroll-ornament-bg: rgba(var(--palette-steel), .34);--bg-overlay-spring: linear-gradient( rgba(var(--palette-cream), .14), rgba(var(--palette-cream), .08) );--bg-vignette: radial-gradient( ellipse at center, rgba(var(--palette-cream), 0) 34%, rgba(var(--palette-steel), .05) 62%, rgba(var(--palette-olive), .12) 100% );--bg-vignette-mobile: radial-gradient( ellipse at center, rgba(var(--palette-cream), 0) 28%, rgba(var(--palette-steel), .07) 58%, rgba(var(--palette-olive), .16) 100% );--shell-stage-shadow: 0 0 56px 28px rgba(var(--shell-shadow-color), .18), 0 0 120px 64px rgba(var(--shell-shadow-color), .1);--shell-stage-shadow-mobile: 0 0 44px 22px rgba(var(--shell-shadow-color), .16), 0 0 96px 52px rgba(var(--shell-shadow-color), .11)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}html:before,html:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;transition:opacity .7s ease}html:before{background-image:var(--bg-overlay-storm),var(--bg-image-storm);opacity:1}html:after{background-image:var(--bg-overlay-spring),var(--bg-image-spring);opacity:0}html[data-theme=light]:before{opacity:0}html[data-theme=light]:after{opacity:1}body{position:relative;font-family:var(--font-body);background-color:var(--color-bg-base);color:var(--color-text-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:color .4s ease,background-color .4s ease}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--bg-vignette);transition:background .4s ease}app-root{position:relative;z-index:1;display:block;height:100%}@media(prefers-reduced-motion:reduce){html:before,html:after{transition:none}}@media(max-width:768px){body:before{background:var(--bg-vignette-mobile)}}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}ul,ol{list-style:none}::selection{background:var(--selection-bg);color:var(--color-text-primary)}.panel{background-color:var(--surface-bg, var(--panel-bg, var(--color-panel)));border:1px solid var(--surface-border, var(--border-subtle));box-shadow:var(--surface-shadow, var(--panel-shadow));transition:border-color var(--transition-fast),transform .2s ease,background-color .4s ease,box-shadow .4s ease;border-radius:var(--radius-panel)}.panel:hover{border-color:var(--panel-hover-border);box-shadow:var(--surface-hover-shadow, var(--panel-hover-shadow, var(--panel-shadow)))}.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem 1.35rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--btn-primary-color);background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);border-radius:var(--radius-button);box-shadow:var(--panel-shadow);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.btn:hover{background:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-border);transform:translateY(-1px);box-shadow:var(--btn-primary-hover-shadow)}.btn:focus-visible{outline:1px solid var(--border-hover);outline-offset:3px}.btn{text-decoration:none;cursor:pointer}.btn--secondary{color:var(--btn-secondary-color);background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border)}.btn--secondary:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-hover);box-shadow:var(--btn-secondary-hover-shadow)}@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}}.panel--static:hover{border-color:var(--border-subtle);box-shadow:var(--panel-shadow)}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,4.5vw,3.25rem);font-weight:400;color:var(--color-text-primary);line-height:1.08;letter-spacing:-.01em;margin-bottom:1rem}.section-title span{color:var(--color-accent-highlight);font-style:italic}.section-subtitle{font-family:var(--font-body);font-size:.95rem;line-height:1.75;color:var(--color-text-secondary);max-width:34rem}.page-module{position:relative;min-height:100%}.page-module__content{position:relative;min-height:100%;padding:var(--frame-content-padding);padding-right:calc(var(--frame-content-padding) + .65rem);padding-bottom:clamp(1rem,2vw,1.5rem)}html[data-theme=light] .section-title{color:var(--hero-title-color);text-shadow:var(--hero-dark-neon-glow)}html[data-theme=light] .section-title span{color:var(--hero-title-accent-color);text-shadow:var(--hero-dark-neon-glow-accent)}html[data-theme=light] .hero__eyebrow,html[data-theme=light] .navbar__brand,html[data-theme=light] .profile-card__name,html[data-theme=light] .stats-bar__value,html[data-theme=light] .experience__role,html[data-theme=light] .projects__title,html[data-theme=light] .education__degree,html[data-theme=light] .skills__group-title,html[data-theme=light] .contact__connect-title,html[data-theme=light] .contact__card-value,html[data-theme=light] h2:not(.section-title):not(.hero__title),html[data-theme=light] h3{color:var(--color-secondary-title);text-shadow:none}html[data-theme=light] .about__quote-author,html[data-theme=light] .projects__links a,html[data-theme=light] .navbar__link--active{color:var(--color-secondary-title);text-shadow:none}html[data-theme=light] .hero__title,html[data-theme=light] .hero__title span{color:var(--hero-title-color);text-shadow:var(--hero-dark-neon-glow)}html[data-theme=light] .hero__title-accent{color:var(--hero-title-accent-color);text-shadow:var(--hero-dark-neon-glow-accent)}
