*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-bg-primary:#212224;--color-bg-secondary:#333639;--color-bg-hover:#3c3f42;--color-accent:#ffc148;--color-accent-hover:#ffd577;--color-accent-rgb:255,193,72;--color-text-primary:#fff;--color-text-secondary:#888;--color-text-tertiary:hsla(0,0%,100%,.7);--color-text-muted:hsla(0,0%,100%,.5);--color-border:hsla(0,0%,100%,.2);--color-border-light:hsla(0,0%,100%,.1);--color-border-dark:rgba(0,0,0,.2);--color-success:#10b981;--color-success-bg:rgba(16,185,129,.1);--color-error:#ef4444;--color-error-bg:rgba(239,68,68,.1);--color-arrow:#e0dfdc;--gradient-fade:linear-gradient(0deg,rgba(28,28,28,.2),transparent);--font-family-base:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-mono:"Courier New","Monaco","Menlo",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:1.875rem;--radius-3xl:1.875rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--transition-fast:150ms ease-in-out;--transition-base:300ms ease-in-out;--transition-slow:500ms ease-in-out;--transition-all:all var(--transition-base);--transition-colors:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base);--transition-transform:transform var(--transition-slow);--breakpoint-mobile:320px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--breakpoint-large:1280px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal:400;--z-popover:500;--z-tooltip:600}.page-layout{padding:var(--spacing-8);min-height:100vh;display:grid;place-items:center}.page-layout__container{max-width:72rem;width:100%}.page-layout__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-6)}.card{position:relative;padding:var(--spacing-6);border-radius:var(--radius-3xl);background-color:var(--color-bg-secondary);box-shadow:var(--shadow-lg);transition:var(--transition-all);cursor:pointer;height:100%;display:flex;flex-direction:column}.card:hover{background-color:var(--color-bg-hover)}.card__link{text-decoration:none;color:inherit;display:block;height:100%}.card__image-container{position:relative;width:100%;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16/9;margin-bottom:var(--spacing-4)}.card__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:var(--transition-transform)}.card:hover .card__image{transform:scale(1.05)}.card__image-overlay{position:absolute;inset:0;background:var(--gradient-fade);opacity:.2}.card__icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4)}.card__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.card__title-normal{font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}.card__subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}.card__content{flex:1}.card__arrow{position:absolute;bottom:var(--spacing-6);right:var(--spacing-6);width:2.5rem;height:2.5rem;background-color:transparent;border-radius:var(--radius-full);border:2px solid var(--color-text-primary);display:flex;align-items:center;justify-content:center;transition:var(--transition-all)}.card:hover .card__arrow{border-color:var(--color-accent)}.card__arrow-icon{width:1.25rem;height:1.25rem;color:var(--color-text-primary);transition:var(--transition-colors)}.card:hover .card__arrow-icon{color:var(--color-accent)}.bento-grid,.grid{display:grid;gap:var(--spacing-4)}.bento-grid{grid-template-columns:1fr}@media (min-width:768px){.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.bento-grid{grid-template-columns:repeat(3,1fr)}}.grid--2-col{display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:768px){.grid--2-col{grid-template-columns:repeat(2,1fr)}}.grid--3-col{display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:768px){.grid--3-col{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid--3-col{grid-template-columns:repeat(3,1fr)}}.grid--gap-6{gap:var(--spacing-6)}.card--full-width{grid-column:1/-1}.card--span-2{grid-column:span 2}.card--span-3{grid-column:span 3}@media (min-width:768px){.card--span-2-md{grid-column:span 2}.card--span-3-md{grid-column:span 3}}.card--featured{grid-column:1/-1}@media (min-width:768px){.card--featured{grid-column:span 2}}.form-container{background-color:var(--color-bg-secondary);border-radius:var(--radius-3xl);padding:var(--spacing-6)}.form-container__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-6)}.form{gap:var(--spacing-4)}.form,.form__group{display:flex;flex-direction:column}.form__group{gap:var(--spacing-2)}.form__label{display:block;color:var(--color-text-tertiary);margin-bottom:var(--spacing-2);font-size:var(--font-size-base)}.form__input,.form__textarea{width:100%;padding:var(--spacing-3);border-radius:var(--radius-xl);background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-dark);font-family:var(--font-family-base);font-size:var(--font-size-base);transition:var(--transition-colors)}.form__input:focus,.form__textarea:focus{outline:none;border-color:var(--color-accent)}.form__textarea{resize:vertical;min-height:6rem}.form__button{background-color:var(--color-accent);color:var(--color-bg-primary);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-xl);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:var(--transition-colors);display:flex;align-items:center;justify-content:center;min-width:8.75rem;font-size:var(--font-size-base)}.form__button:hover:not(:disabled){background-color:var(--color-accent-hover)}.form__button:disabled{opacity:.5;cursor:not-allowed}.form__button-loading{display:flex;align-items:center;gap:var(--spacing-2)}.status-message{margin-bottom:var(--spacing-4);padding:var(--spacing-4);border-radius:var(--radius-xl);border:1px solid}.status-message--success{background-color:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.status-message--error{background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.button{display:inline-flex;align-items:center;padding:var(--spacing-3) var(--spacing-6);background-color:var(--color-accent);color:var(--color-bg-primary);border-radius:var(--radius-xl);font-weight:var(--font-weight-medium);text-decoration:none;border:none;cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-base)}.button:hover{background-color:var(--color-accent-hover)}.skill-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-bg-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-primary)}.skill-badge-container{flex-wrap:wrap;gap:var(--spacing-2)}.resume-content,.skill-badge-container{display:flex;margin-top:var(--spacing-4)}.resume-content{flex-direction:column;gap:var(--spacing-4);color:var(--color-text-tertiary)}.resume-item{margin-bottom:var(--spacing-4)}.resume-item__title{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.resume-item__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.resume-item__list{list-style:disc;list-style-position:inside}.resume-item__list,.resume-item__text{margin-top:var(--spacing-2);font-size:var(--font-size-sm)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;background-color:var(--color-bg-primary)}.loading__text{color:var(--color-text-muted)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite;width:1.25rem;height:1.25rem}.spinner__circle{opacity:.25}.spinner__path{opacity:.75}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-bold{font-weight:var(--font-weight-bold)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-normal{font-weight:var(--font-weight-normal)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}