:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f2e9;--color-surface:#fffdf7;--color-surface-muted:#ebe7dc;--color-text:#191919;--color-text-muted:#666259;--color-primary:#c9f36b;--color-primary-soft:#e8f5cb;--color-secondary:#c9ddf5;--color-border:#191919;--color-shadow:#191919;--font-heading:"Space Grotesk", "Inter", sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--border-width:2px;--border-width-strong:3px;--radius-sm:5px;--radius-md:9px;--radius-lg:12px;--shadow-sm:3px 3px 0 var(--color-shadow);--shadow-md:5px 5px 0 var(--color-shadow);--shadow-lg:7px 7px 0 var(--color-shadow);--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--container-width:1080px;--page-gutter:clamp(1rem, 4vw, 2rem);--section-spacing:clamp(2.5rem, 5vw, 3.75rem);--transition-fast:.15s ease;--transition-normal:.25s ease}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#171717;--color-surface:#252525;--color-surface-muted:#303030;--color-text:#f4f1e8;--color-text-muted:#b6b2a8;--color-primary:#c9f36b;--color-primary-soft:#354321;--color-secondary:#334155;--color-border:#e8e5dc;--color-shadow:#050505}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-background);scroll-padding-top:90px}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6;transition:background-color .2s,color .2s}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0;font-weight:700;line-height:1.2}p{margin:0}small{font-size:var(--font-size-sm)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}img{height:auto}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}::selection{color:#191919;background:var(--color-primary)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body,.site-header,.site-footer,.surface-card,.social-link,.profile-frame,.theme-toggle,.nav-link,.button{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.container{width:min(calc(100% - (var(--page-gutter) * 2)), var(--container-width));margin-inline:auto}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.site-header{background:var(--color-background);border-bottom:var(--border-width) solid var(--color-border);width:100%;padding-block:1rem;transition:background-color .2s,border-color .2s}.navbar{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:800;font-size:var(--font-size-lg)}.nav-brand span{color:#739c26}.nav-actions{align-items:center;gap:1rem;display:flex}.nav-links{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nav-link{color:var(--color-text);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:0 0;padding:.4rem .75rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}.nav-link:hover,.nav-link[aria-current=page]{color:#191919;background:var(--color-primary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.theme-toggle{min-height:40px;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.45rem;padding:.4rem .8rem;font-weight:700;transition:background-color .2s,color .2s,border-color .2s,transform .15s,box-shadow .15s;display:inline-flex}.theme-toggle:hover{color:#191919;background:var(--color-primary);box-shadow:var(--shadow-md);transform:translate(-2px,-2px)}.theme-toggle:active{box-shadow:none;transform:translate(2px,2px)}.theme-toggle__icon{font-size:1.15rem;line-height:1}.theme-toggle__label{font-size:var(--font-size-xs)}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero-content{min-width:0}.hero-eyebrow{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.12em;margin-bottom:.8rem;font-weight:800}.hero-title{letter-spacing:-.045em;max-width:700px;margin-bottom:.75rem;font-size:clamp(2rem,4vw,3rem)}.hero-title span{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:5px;text-decoration-thickness:5px}.hero-subtitle{margin-bottom:1.25rem;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600}.hero-description{max-width:700px;color:var(--color-text-muted);gap:.85rem;line-height:1.75;display:grid}.availability-label{font-size:var(--font-size-sm);align-items:center;gap:.55rem;margin-top:1.25rem;font-weight:600;display:flex}.availability-dot{background:#239b57;border-radius:50%;flex-shrink:0;width:9px;height:9px}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:1.25rem;display:flex}.hero-visual{flex-direction:column;align-items:center;gap:1rem;display:flex}.profile-frame{aspect-ratio:1;background:var(--color-primary);border:var(--border-width-strong) solid var(--color-border);border-radius:var(--radius-sm);width:min(100%,240px);box-shadow:var(--shadow-md);place-items:center;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;display:grid;overflow:hidden;transform:rotate(3deg)}.profile-frame img{object-fit:cover;width:100%;height:100%;display:block}.profile-placeholder{background:var(--color-primary);color:#191919;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;display:flex}.profile-placeholder span{font-family:var(--font-heading);font-size:4rem;font-weight:800}.profile-placeholder small{font-size:var(--font-size-xs);font-weight:600}.profile-caption{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.social-links{flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;display:flex}.social-link{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);align-items:center;gap:.35rem;padding:.35rem .6rem;font-weight:600;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.social-link:hover{color:#191919;background:var(--color-primary);transform:translateY(-2px)}.section{padding-block:var(--section-spacing)}.section--compact{padding-block:1.75rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.section-title{font-size:var(--font-size-2xl);letter-spacing:-.035em}.section-description{max-width:560px;color:var(--color-text-muted);font-size:var(--font-size-sm)}.content-grid{gap:1rem;display:grid}.content-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-card{color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem;transition:background-color .2s,color .2s,border-color .2s}.button{min-height:40px;color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-weight:700;transition:background-color .2s,color .2s,transform .15s,box-shadow .15s;display:inline-flex}.button--primary{color:#191919;background:var(--color-primary);box-shadow:var(--shadow-sm)}.button--secondary{background:var(--color-surface);box-shadow:var(--shadow-sm)}.button:hover{box-shadow:var(--shadow-md);transform:translate(-2px,-2px)}.button:active{box-shadow:none;transform:translate(2px,2px)}.tech-list{flex-wrap:wrap;gap:.5rem;display:flex}.tech-badge{color:var(--color-text);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);align-items:center;padding:.25rem .6rem;font-weight:600;display:inline-flex}.collection-page{padding-block:4rem}.collection-page h1{font-size:var(--font-size-3xl);margin-bottom:.75rem}.collection-page p{color:var(--color-text-muted);margin-bottom:1.5rem}.site-footer{background:var(--color-background);border-top:var(--border-width) solid var(--color-border);padding-block:1.5rem;transition:background-color .2s,border-color .2s}.footer-content{color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (width<=768px){.navbar{flex-direction:column;align-items:flex-start;gap:.75rem}.nav-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.nav-links{width:100%}.hero-layout{grid-template-columns:1fr;gap:2rem}.hero-visual{align-items:flex-start}.profile-frame{width:190px;transform:rotate(2deg)}.profile-caption{text-align:left}.content-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-direction:column;align-items:flex-start}}@media (width<=520px){.content-grid--2,.content-grid--3{grid-template-columns:1fr}.footer-content{flex-direction:column;align-items:flex-start}.hero-title{font-size:2rem}.hero-section{padding-block:2.5rem}}.project-detail__hero-media{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-height:280px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:1rem;display:flex;overflow:hidden}.project-detail__hero-media img{object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:420px;display:block}.project-detail__image-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.project-detail__image-button--hero{min-height:240px}.project-detail__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-detail__gallery-item{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:300px;padding:.85rem;display:flex;overflow:hidden}.project-detail__gallery-image{object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:260px;display:block}.project-image-modal__backdrop{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.project-image-modal{background:var(--color-surface);width:min(980px,100%);max-height:calc(100vh - 2rem);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;gap:1rem;padding:1rem;display:flex;overflow:hidden}.project-image-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-image-modal__eyebrow{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;font-weight:800}.project-image-modal__title{font-family:var(--font-heading);margin-top:.3rem;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.2}.project-image-modal__caption{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:.35rem}.project-image-modal__close{border:var(--border-width) solid var(--color-border);background:var(--color-background);width:42px;height:42px;color:var(--color-text);cursor:pointer;box-shadow:2px 2px 0 var(--color-shadow);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;line-height:1;display:inline-flex}.project-image-modal__body{background:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);flex:1;justify-content:center;align-items:center;min-height:0;padding:.5rem;display:flex;overflow:auto}.project-image-modal__body img{object-fit:contain;border-radius:var(--radius-sm);width:auto;max-width:100%;height:auto;max-height:75vh;display:block}@media (width<=900px){.project-detail__gallery{grid-template-columns:1fr}.project-detail__gallery-item{min-height:260px}.project-detail__gallery-image{max-height:220px}}@media (width<=640px){.project-detail__hero-media{min-height:220px;padding:.75rem}.project-detail__hero-media img{max-height:300px}.project-detail__gallery-item{min-height:220px;padding:.75rem}.project-detail__gallery-image{max-height:200px}.project-image-modal{padding:.8rem}.project-image-modal__body img{max-height:68vh}}.section-heading,.projects-page__header{border-bottom:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.section-heading>div,.projects-page__header>div{min-width:0;max-width:680px}.section-heading .button,.projects-page__header .button{flex-shrink:0}.projects-grid{flex-direction:column;width:100%;display:flex}.project-card{width:100%;min-width:0;color:var(--color-text);border-bottom:var(--border-width) solid var(--color-border);transition:background var(--transition-fast);grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;gap:1.5rem;padding:1.5rem 0;text-decoration:none;display:grid}.project-card__image{aspect-ratio:16/10;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;min-height:160px;display:flex;position:relative;overflow:hidden}.project-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.project-card:hover .project-card__image img{transform:scale(1.025)}.project-card__image>div{color:#1a1a1a;background:#eaf4ce;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;min-height:160px;display:flex}.project-card__image>div>span:first-child{font-size:3.5rem;font-weight:900}.project-card__image>div small{font-size:.85rem}.project-card__body{flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.project-card__meta{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.6rem;font-weight:800;display:flex}.project-card__status{color:var(--color-text);background:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);letter-spacing:normal;text-transform:none;align-items:center;padding:.3rem .55rem;font-size:.7rem;display:inline-flex}.project-card__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;line-height:1.3}.project-card__description{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.75}.project-card .tech-list{flex-wrap:wrap;gap:.5rem;display:flex}.project-card .tech-badge{color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);align-items:center;padding:.4rem .7rem;display:inline-flex}.project-card__link{color:var(--color-text);text-underline-offset:6px;transition:color var(--transition-fast);align-items:center;margin-top:.2rem;font-weight:800;text-decoration:underline;display:inline-flex}.project-card:hover .project-card__link{color:var(--color-primary)}.project-detail__back{color:var(--color-text);margin-bottom:1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.project-detail__header{max-width:850px;margin-bottom:1.75rem}.project-detail__meta{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.8rem;font-weight:800;display:flex}.project-detail__header .section-description{max-width:760px;line-height:1.75}.project-detail__content{flex-direction:column;gap:2rem;max-width:900px;margin:2rem auto 0;display:flex}.project-detail__section{flex-direction:column;gap:.85rem;display:flex}.project-detail__section h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:800}.project-detail__section p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.8}.project-detail__features{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.5rem;padding-left:1.2rem;display:grid}.project-detail__features li{color:var(--color-text-muted);line-height:1.6}.project-detail__technologies{flex-wrap:wrap;gap:.6rem;display:flex}.project-detail__repository{align-items:flex-start}.project-detail__footer{margin-top:2.5rem}.project-detail__image-button{cursor:zoom-in;transition:transform var(--transition-fast)}.project-detail__image-button:hover{transform:scale(1.01)}.project-detail__image-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}@media (width<=760px){.project-card{grid-template-columns:1fr;gap:1rem;padding:1.25rem 0}.project-card__image{aspect-ratio:16/9;max-width:100%}.section-heading,.projects-page__header{flex-direction:column;align-items:flex-start;gap:1rem}.project-detail__features{grid-template-columns:1fr}}@media (width<=480px){.project-card__title{font-size:1.15rem}.project-card__description{font-size:.9rem}.project-detail__content{gap:1.5rem}}.skills-section{padding-block:clamp(3rem,6vw,4.5rem)}.skills-section__heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.skills-section__meta{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.12em;flex-shrink:0;align-items:center;gap:.55rem;font-weight:800;display:inline-flex}.skills-section__meta:before{content:"";background:var(--color-primary);border-radius:50%;width:7px;height:7px}.skills-list{width:100%}.skills-list__row{grid-template-columns:3rem minmax(9rem,.8fr) minmax(0,2fr);align-items:baseline;gap:1.25rem;padding-block:1.15rem;display:grid}.skills-list__number{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--font-size-sm);letter-spacing:.08em;font-weight:800}.skills-list__category{color:var(--color-text);font-family:var(--font-heading);margin:0;font-size:clamp(1rem,1.5vw,1.15rem);font-weight:800}.skills-list__items{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:baseline;gap:.3rem .55rem;margin:0;padding:0;line-height:1.9;list-style:none;display:flex}.skills-list__items li{white-space:nowrap;align-items:baseline;display:inline-flex}.skills-list__items li:not(:last-child):after{content:",";color:var(--color-text-muted);margin-left:.1rem}@media (width<=768px){.skills-section__heading{flex-direction:column;align-items:flex-start;gap:1rem}.skills-list__row{grid-template-columns:2.5rem minmax(0,1fr);gap:.4rem 1rem;padding-block:1rem}.skills-list__items{grid-column:2}}@media (width<=480px){.skills-section{padding-block:2.5rem}.skills-section__heading{margin-bottom:1.75rem}.skills-list__row{grid-template-columns:2rem minmax(0,1fr);gap:.4rem .75rem;padding-block:.9rem}.skills-list__number{font-size:var(--font-size-xs)}.skills-list__category{font-size:1rem}.skills-list__items{font-size:var(--font-size-xs);gap:.25rem .45rem}}.certificates-section{padding-top:1rem;padding-bottom:var(--section-spacing)}.certificates-page{min-height:65vh}.certificates-list{flex-direction:column;width:100%;display:flex}.certificate-row{border-bottom:1px solid var(--color-border);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1.4rem;width:100%;min-width:0;padding:1.15rem 0;display:grid}.certificate-row:first-child{border-top:1px solid var(--color-border)}.certificate-row__thumbnail{aspect-ratio:4/3;background:var(--color-surface-muted);border:1px solid var(--color-border);cursor:pointer;width:150px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:5px;justify-content:center;align-items:center;padding:.3rem;display:flex;overflow:hidden}.certificate-row__thumbnail img{object-fit:contain;width:100%;height:100%}.certificate-row__thumbnail span{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.certificate-row__thumbnail:hover{box-shadow:3px 3px 0 var(--color-border);transform:translateY(-2px)}.certificate-row__thumbnail:focus-visible,.certificate-row__action:focus-visible,.certificate-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.certificate-row__content{flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.certificate-row__meta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.certificate-row__category{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:750}.certificate-row__year{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.certificate-row__title{color:var(--color-text);font-family:var(--font-heading);font-size:var(--font-size-base);overflow-wrap:anywhere;font-weight:800;line-height:1.45}.certificate-row__issuer{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.certificate-row__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.3rem;display:flex}.certificate-row__action{color:var(--color-text);font-family:inherit;font-size:var(--font-size-xs);text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:4px;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:0;align-items:center;padding:0;font-weight:750;text-decoration-thickness:2px;display:inline-flex}.certificate-row__action:hover{color:#739c26}.certificates-page__header{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.certificates-page__header .section-description{margin-top:.65rem}.certificate-modal__backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000c2;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.certificate-modal{width:min(900px,100%);max-height:calc(100vh - 48px);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:10px;flex-direction:column;animation:.18s ease-out certificate-modal-enter;display:flex;overflow:auto;box-shadow:7px 7px #0000004d}@keyframes certificate-modal-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.certificate-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.3rem;display:flex}.certificate-modal__eyebrow{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;margin-bottom:.4rem;font-weight:750}.certificate-modal__title{max-width:700px;font-family:var(--font-heading);font-size:var(--font-size-lg);line-height:1.4}.certificate-modal__issuer{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:.4rem}.certificate-modal__close{width:36px;height:36px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast);border-radius:6px;flex-shrink:0;place-items:center;font-size:1.5rem;line-height:1;display:grid}.certificate-modal__close:hover{color:#191919;background:var(--color-primary)}.certificate-modal__image{background:var(--color-surface-muted);justify-content:center;align-items:center;min-height:220px;max-height:72vh;padding:1.25rem;display:flex}.certificate-modal__image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:68vh;display:block}.certificate-modal__image p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.certificate-modal__footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;display:flex}.certificate-modal__category{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:750}@media (width<=900px){.certificates-page__header{flex-direction:column;align-items:flex-start}}@media (width<=600px){.certificate-row{grid-template-columns:112px minmax(0,1fr);gap:.9rem;padding:1rem 0}.certificate-row__thumbnail{width:112px}.certificate-row__title{font-size:var(--font-size-sm)}.certificate-row__actions{gap:.8rem}.certificate-modal__backdrop{padding:10px}.certificate-modal{max-height:calc(100vh - 20px)}.certificate-modal__header{padding:.9rem}.certificate-modal__image{min-height:160px;padding:.7rem}.certificate-modal__image img{max-height:60vh}.certificate-modal__footer{padding:.9rem}}@media (width<=380px){.certificate-row{grid-template-columns:92px minmax(0,1fr);gap:.75rem}.certificate-row__thumbnail{width:92px}}.experience-section{padding-top:1rem;padding-bottom:var(--section-spacing)}.experience-grid{flex-direction:column;display:flex}.experience-item{border-bottom:var(--border-width) solid var(--color-border);background:0 0;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:1.1rem;padding:1.25rem 0;display:grid}.experience-item:first-child{padding-top:.5rem}.experience-item__index{color:#191919;background:var(--color-primary);border:var(--border-width) solid #191919;border-radius:var(--radius-sm);width:42px;height:42px;font-family:var(--font-heading);font-size:var(--font-size-base);justify-content:center;align-items:center;font-weight:800;display:flex;box-shadow:3px 3px #191919}.experience-item__content{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.experience-item__role{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.experience-item__title{color:var(--color-text);font-family:var(--font-heading);font-size:var(--font-size-lg);line-height:1.4}.experience-item__organization{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.experience-item__description{max-width:720px;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:.35rem;line-height:1.65}.experience-item__highlights{gap:.4rem;margin-top:.5rem;padding-left:1.1rem;list-style:outside;display:grid}.experience-item__highlights li{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55}.experience-item__technologies{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}@media (width<=520px){.experience-item{grid-template-columns:36px minmax(0,1fr);gap:.8rem;padding:1rem 0}.experience-item__index{width:34px;height:34px;font-size:var(--font-size-sm);box-shadow:2px 2px #191919}.experience-item__title{font-size:var(--font-size-base)}}.education-section{padding-top:1rem;padding-bottom:var(--section-spacing)}.education-grid{flex-direction:column;gap:1.4rem;display:flex}.education-item{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.4rem;padding-bottom:1.1rem;display:flex}.education-item__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.education-item__institution{color:var(--color-text);font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;line-height:1.4}.education-item__period{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;font-weight:700}.education-item__field{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;line-height:1.6}.education-item__description,.education-item__location{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.6}.education-item__expected{color:var(--color-text);font-size:var(--font-size-xs);font-weight:700}.education-item__underline{background:var(--color-primary);width:100%;height:4px;margin-top:.7rem}@media (width<=520px){.education-item__header{flex-direction:column;align-items:flex-start;gap:.2rem}.education-item__institution{font-size:var(--font-size-base)}}.contact-section{padding-top:1rem;padding-bottom:var(--section-spacing)}.contact-layout{grid-template-columns:1fr .9fr;align-items:center;gap:2.5rem;display:grid}.contact-copy{flex-direction:column;align-items:flex-start;gap:1rem;min-width:0;display:flex}.contact-title{max-width:500px;font-family:var(--font-heading);letter-spacing:-.04em;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.12}.contact-title span{color:var(--color-primary);text-shadow:1px 1px 0 var(--color-border)}.contact-description{max-width:480px;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.8}.contact-availability{color:var(--color-text);font-size:var(--font-size-xs);align-items:center;gap:.6rem;margin-top:.4rem;font-weight:700;display:flex}.contact-status-dot{background:#22a06b;border-radius:50%;flex-shrink:0;width:9px;height:9px}.contact-main-button{align-items:center;gap:.5rem;margin-top:.4rem;text-decoration:none;display:inline-flex}.contact-details{min-width:0;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.5rem;display:flex}.contact-email-group,.contact-social-group{flex-direction:column;align-items:flex-start;gap:.85rem;width:100%;min-width:0;display:flex}.contact-label{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;font-weight:800}.contact-email-link{width:100%;min-width:0;color:var(--color-text);font-family:var(--font-heading);overflow-wrap:anywhere;transition:color var(--transition-fast);justify-content:space-between;align-items:center;gap:.75rem;font-size:clamp(.85rem,1.5vw,1.15rem);font-weight:750;text-decoration:none;display:flex}.contact-email-link span:first-child{overflow-wrap:anywhere;min-width:0}.contact-email-link span:last-child{flex-shrink:0}.contact-email-link:hover{color:#739c26}.contact-divider{background:var(--color-border);opacity:.35;width:100%;height:1px}.contact-socials{flex-wrap:wrap;gap:.65rem;width:100%;display:flex}.contact-social-link{color:var(--color-text);background:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--color-shadow);font-size:var(--font-size-xs);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:.4rem;padding:.5rem .75rem;font-weight:700;text-decoration:none;display:inline-flex}.contact-social-link:hover{box-shadow:3px 3px 0 var(--color-shadow);background:var(--color-primary-soft);transform:translate(-1px,-1px)}.contact-social-link:focus-visible,.contact-email-link:focus-visible,.contact-main-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}@media (width<=900px){.contact-layout{gap:1.5rem}.contact-details{padding:1.2rem}.contact-socials{gap:.5rem}}@media (width<=700px){.contact-layout{grid-template-columns:1fr;gap:1.75rem}.contact-copy{gap:.85rem}.contact-title{font-size:2.2rem}.contact-details{box-shadow:var(--shadow-sm);padding:1.1rem}}@media (width<=380px){.contact-title{font-size:1.9rem}.contact-email-link{font-size:.82rem}.contact-socials{gap:.5rem}.contact-social-link{padding:.45rem .6rem}}.site-footer{background:var(--color-background);border-top:2px solid var(--color-border);width:100%;padding:1.2rem 0}.footer-container{width:min(var(--container-width), calc(100% - (var(--page-gutter) * 2)));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-inline:auto;display:flex}.footer-container p{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media (width<=520px){.footer-container{flex-direction:column;align-items:flex-start}}.route-loading{min-height:50vh;color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:600;display:flex}.portfolio-page{min-height:100vh}.portfolio-layout{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:48px;width:calc(100% - 64px);max-width:960px;min-height:100vh;margin-inline:auto;padding:0;display:grid}.portfolio-main{flex-direction:column;min-width:0;padding-top:clamp(3rem,8vh,5.5rem);display:flex}.portfolio-main__content{flex:1;width:100%;min-width:0}.portfolio-main .container{width:100%;max-width:none;margin-inline:0}.hero-section{padding-block:clamp(1.5rem,4vh,2.75rem)}.hero-layout--single{width:100%;display:block}.hero-content{width:100%;max-width:900px}.hero-description{gap:.7rem;max-width:850px}.portfolio-sidebar{align-self:start;min-width:0;position:sticky;top:50vh;transform:translateY(-50%)}.portfolio-sidebar__inner{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.sidebar-profile{text-align:center;flex-direction:column;align-items:center;gap:.45rem;width:100%;display:flex}.sidebar-profile__photo{background:var(--color-primary);border:2px solid var(--color-border);width:118px;height:118px;box-shadow:4px 4px 0 var(--color-border);border-radius:8px;overflow:hidden;transform:rotate(2deg)}.sidebar-profile__photo img{object-fit:cover;width:100%;height:100%}.sidebar-profile__photo span{place-items:center;width:100%;height:100%;font-size:2rem;font-weight:800;display:grid}.sidebar-profile__name{font-size:1.35rem;font-weight:800}.sidebar-profile__role{max-width:260px;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}.sidebar-navigation{flex-direction:column;gap:.6rem;width:100%;display:flex}.sidebar-nav__link{width:100%;min-height:46px;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);box-shadow:3px 3px 0 var(--color-border);border-radius:12px;align-items:center;gap:.85rem;padding:.65rem 1rem;font-size:.95rem;font-weight:750;transition:all .18s;display:flex}.sidebar-nav__symbol{text-align:center;width:24px;font-size:1.2rem}.sidebar-nav__link:hover{box-shadow:5px 5px 0 var(--color-border);transform:translate(-2px,-2px)}.sidebar-nav__link.is-active{color:#191919;background:var(--color-primary)}.sidebar-social{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.6rem;width:100%;display:flex}.sidebar-social__link{width:40px;height:40px;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);box-shadow:3px 3px 0 var(--color-border);border-radius:11px;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:800;transition:all .15s;display:grid}.sidebar-social__link:hover{color:#191919;background:var(--color-primary);transform:translateY(-3px)}.sidebar-theme{margin-top:.15rem}.sidebar-theme .theme-toggle{min-width:110px}.portfolio-main .site-footer{margin-top:4rem}@media (width<=900px){.portfolio-layout{grid-template-columns:1fr;gap:2rem;width:calc(100% - 48px);max-width:760px}.portfolio-sidebar{grid-area:1/1;padding-top:2rem;position:relative;top:auto;transform:none}.portfolio-sidebar__inner{gap:1rem}.sidebar-profile__photo{width:88px;height:88px}.sidebar-profile__name{font-size:1.1rem}.sidebar-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.sidebar-nav__link{justify-content:center;min-height:48px;padding:.5rem;font-size:.8rem}.sidebar-nav__symbol{display:none}.portfolio-main{grid-area:2/1;padding-top:0}}@media (width<=520px){.portfolio-layout{width:calc(100% - 32px)}.sidebar-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-social__link{width:38px;height:38px}}
