:root{--spacing-xs: 0.5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--font-primary: 'Inter', system-ui, -apple-system, sans-serif;--font-mono: 'JetBrains Mono', monospace;--max-width: 1200px;--border-radius: 8px;--transition-speed: 0.3s}section#services>ul{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}section#services>ul>li{background:var(--card);border-left:3px solid var(--accent);border-radius:0 var(--border-radius) var(--border-radius) 0;padding:var(--spacing-sm) calc(var(--spacing-sm)*1.5)}section#services>ul>li>h3{font-size:1rem;font-weight:600;color:var(--heading)}section#services>ul>li>p{font-size:.875rem;color:var(--muted);margin-top:.25rem;line-height:1.5}section#expertise{interpolate-size:allow-keywords}section#expertise>ul{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);list-style:none;padding:0;margin:0}section#expertise>ul>li{position:relative;list-style:none;background:var(--card);border-left:3px solid var(--accent);border-radius:0 var(--border-radius) var(--border-radius) 0;padding:var(--spacing-sm) calc(var(--spacing-sm)*1.5)}section#expertise>ul>li>details::details-content{block-size:0;opacity:0;overflow:hidden;transition:content-visibility var(--transition-speed) allow-discrete,block-size var(--transition-speed) ease,opacity var(--transition-speed) ease}section#expertise>ul>li>details[open]::details-content{block-size:auto;opacity:1}section#expertise>ul>li>details>summary{cursor:pointer;list-style:none}section#expertise>ul>li>details>summary::-webkit-details-marker{display:none}section#expertise>ul>li>details>summary h3{margin:0;padding-right:1.25rem;font-size:1rem;font-weight:600;color:var(--heading)}section#expertise>ul>li>details>summary p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted);line-height:1.5}section#expertise>ul>li>details>summary .expertise__chevron{position:absolute;top:calc(var(--spacing-sm) + .4rem);right:calc(var(--spacing-sm)*1.5);width:.5rem;height:.5rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform var(--transition-speed)}section#expertise>ul>li>details[open]>summary .expertise__chevron{transform:rotate(-135deg)}section#expertise>ul>li>details>ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.75rem 0 0}section#expertise>ul>li>details>ul>li{font-size:.8rem;color:var(--text);padding:.25rem .625rem;background:var(--bg-alt);border-radius:4px}section#expertise>ul>li>details>ul>li>a{color:inherit;transition:color var(--transition-speed)}section#expertise>ul>li>details>ul>li>a:hover{color:var(--accent)}section#experience>ol,section#education>ol{position:relative;padding:var(--spacing-sm) 0;max-width:var(--max-width);margin-inline:auto}section#experience>ol::before,section#education>ol::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-50%)}section#experience>ol>li,section#education>ol>li{display:flex;align-items:flex-start;margin-bottom:var(--spacing-md);position:relative;justify-content:space-between}section#experience>ol>li>span,section#education>ol>li>span{position:absolute;left:50%;top:4px;width:12px;height:12px;background:var(--accent);border-radius:50%;transform:translateX(-50%);z-index:1}section#experience>ol>li>div,section#education>ol>li>div{width:45%}section#experience>ol>li>div>h3,section#education>ol>li>div>h3{font-size:1rem;font-weight:600;color:var(--heading)}section#experience>ol>li>div>h4,section#education>ol>li>div>h4{font-size:.875rem;color:var(--accent);font-weight:500;margin-top:.125rem;display:flex;align-items:center;gap:.375rem}section#experience>ol>li>div>h4>img,section#education>ol>li>div>h4>img{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}section#experience>ol>li>div>h4>a,section#education>ol>li>div>h4>a{color:var(--accent);text-decoration:none}section#experience>ol>li>div>h4>a:hover,section#education>ol>li>div>h4>a:hover{text-decoration:underline}section#experience>ol>li>div>p,section#education>ol>li>div>p{font-size:.875rem;color:var(--muted);margin-top:.5rem;line-height:1.5}section#experience>ol>li>div>.timeline__description,section#education>ol>li>div>.timeline__description{font-size:.875rem;color:var(--muted);margin-top:.5rem;line-height:1.5}section#experience>ol>li>div>.timeline__description p,section#education>ol>li>div>.timeline__description p{margin:0}section#experience>ol>li>div>.timeline__description p+p,section#education>ol>li>div>.timeline__description p+p{margin-top:.6em}section#experience>ol>li>div>.timeline__description ul,section#education>ol>li>div>.timeline__description ul{margin:.6em 0 0;padding-left:1.2em;list-style:disc}section#experience>ol>li>div>.timeline__description p+ul,section#experience>ol>li>div>.timeline__description ul+p,section#education>ol>li>div>.timeline__description p+ul,section#education>ol>li>div>.timeline__description ul+p{margin-top:.6em}section#experience>ol>li>time,section#education>ol>li>time{width:45%;font-size:.875rem;color:var(--muted)}section#experience>ol>li.timeline-left>div,section#education>ol>li.timeline-left>div{text-align:right;padding-right:var(--spacing-md)}section#experience>ol>li.timeline-left>div>h4,section#education>ol>li.timeline-left>div>h4{justify-content:flex-end}section#experience>ol>li.timeline-left>time,section#education>ol>li.timeline-left>time{order:1;padding-left:var(--spacing-md)}section#experience>ol>li.timeline-right>time,section#education>ol>li.timeline-right>time{text-align:right;padding-right:var(--spacing-md)}section#experience>ol>li.timeline-right>div,section#education>ol>li.timeline-right>div{order:1;padding-left:var(--spacing-md)}section#experience>ol>li.timeline-expandable,section#education>ol>li.timeline-expandable{cursor:pointer}section#experience>ol>li.timeline-expandable:focus-visible,section#education>ol>li.timeline-expandable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}section#experience>ol>li.timeline-expandable>div>.timeline__description--full,section#education>ol>li.timeline-expandable>div>.timeline__description--full{display:none;text-align:left}section#experience>ol>li.timeline-expandable.is-expanded>div>.timeline__summary,section#education>ol>li.timeline-expandable.is-expanded>div>.timeline__summary{display:none}section#experience>ol>li.timeline-expandable.is-expanded>div>.timeline__description--full,section#education>ol>li.timeline-expandable.is-expanded>div>.timeline__description--full{display:block}section#education[data-reveal],section#education[data-reveal].visible{transform:none}section#education{position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}section#education::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:0}section#education>header{position:relative;z-index:1}section#education>article{position:relative;z-index:1;text-align:center;max-width:600px;margin-inline:auto}section#education>article>header>h3{font-size:1.25rem;font-weight:700;color:#fafafa}section#education>article>header>h3>a{color:inherit;transition:color var(--transition-speed)}section#education>article>header>h3>a:hover{color:var(--accent)}section#education>article>header>time{display:inline-block;font-size:.875rem;color:#d4d4d8;margin-top:.5rem}section#education>article>h4{font-size:1rem;color:var(--accent);font-weight:500;margin-top:.25rem}section#education>article>p{font-size:.9rem;color:#d4d4d8;margin-top:.75rem;line-height:1.6}section#education>article>.education__description{font-size:.9rem;color:#d4d4d8;margin-top:.75rem;line-height:1.6;text-align:left}section#education>article>.education__description p{margin:0}section#education>article>.education__description p+p{margin-top:.6em}section#education>article>.education__description ul{margin:.6em 0 0;padding-left:1.2em;list-style:disc}section#education>article>.education__description p+ul,section#education>article>.education__description ul+p{margin-top:.6em}section#education>header>p{color:#a1a1aa}section#education>header>h2{color:#fafafa}section#projects>ul{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}section#projects>ul>li>article{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden;height:340px;display:flex;flex-direction:column}section#projects>ul>li>article>div:first-child{flex:none;height:150px;background:linear-gradient(135deg, #1e293b, #334155);display:flex;align-items:center;justify-content:center}section#projects>ul>li>article>div:first-child>img{width:100%;height:100%;object-fit:cover}section#projects>ul>li>article>header{padding:var(--spacing-sm) calc(var(--spacing-sm)*1.5) 0}section#projects>ul>li>article>header>h3{font-size:1rem;font-weight:600;color:var(--heading)}section#projects>ul>li>article>header>h3>a{color:var(--heading);transition:color var(--transition-speed)}section#projects>ul>li>article>header>h3>a:hover{color:var(--accent)}section#projects>ul>li>article>p{padding:.5rem calc(var(--spacing-sm)*1.5);font-size:.875rem;color:var(--muted);line-height:1.5}section#projects>ul>li>article>footer{margin-top:auto;padding:0 calc(var(--spacing-sm)*1.5) var(--spacing-sm)}section#projects>ul>li>article>footer>ul{display:flex;flex-wrap:wrap;gap:.375rem}section#projects>ul>li>article>footer>ul>li{font-size:.75rem;color:var(--accent);padding:.2rem .5rem;border:1px solid rgba(96,165,250,.2);border-radius:4px}section#projects>ul>li>article>footer>ul>li>a{color:inherit;transition:opacity var(--transition-speed)}section#projects>ul>li>article>footer>ul>li>a:hover{opacity:.7}section#projects>a{display:inline-block;margin-top:var(--spacing-md);color:var(--accent);font-size:.875rem;font-weight:500}section#projects>a:hover{text-decoration:underline}body>main>section.projects-page{padding-bottom:var(--spacing-xl)}body>main>section.projects-page>header{margin-bottom:var(--spacing-md)}body>main>section.projects-page .projects-page__intro{color:var(--muted);font-size:1rem;max-width:60ch;margin-top:var(--spacing-sm);line-height:1.6}body>main>section.projects-page .projects-page__toolbar{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}body>main>section.projects-page .projects-page__empty{text-align:center;color:var(--muted);padding:var(--spacing-lg) 0;font-size:1rem}body>main>section.projects-page>footer{margin-top:calc(var(--spacing-xl)/2)}body>main>section.projects-page .projects-filters{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;list-style:none;padding:0;margin:0}body>main>section.projects-page .projects-filters--sources{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--border-radius)*1.5);padding:.25rem;align-self:flex-start;gap:.25rem}body>main>section.projects-page .projects-filters__chip{appearance:none;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);color:var(--muted);padding:.4em .9em;border-radius:var(--border-radius);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease}body>main>section.projects-page .projects-filters__chip:hover{color:var(--heading)}body>main>section.projects-page .projects-filters__chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body>main>section.projects-page .projects-filters__chip.is-active{background:var(--accent);color:var(--bg);border-color:var(--accent)}body>main>section.projects-page .projects-filters__chip--tech{background:rgba(0,0,0,0);color:var(--accent);border:1px solid rgba(96,165,250,.25);font-size:.75rem;padding:.3em .8em}body>main>section.projects-page .projects-filters__chip--tech:hover{border-color:var(--accent)}body>main>section.projects-page .projects-filters__chip--tech.is-active{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--heading);border-color:var(--accent)}body>main>section.projects-page .projects-filters__reset{align-self:flex-start;appearance:none;background:rgba(0,0,0,0);border:none;color:var(--accent);font-family:inherit;font-size:.85rem;cursor:pointer;padding:.25em 0;text-decoration:underline;text-underline-offset:3px}body>main>section.projects-page .projects-filters__reset:hover{opacity:.75}body>main>section.projects-page .projects-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);align-items:stretch}body>main>section.projects-page .project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-speed) ease,border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease}body>main>section.projects-page .project-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 32px rgba(0,0,0,.25)}body>main>section.projects-page .project-card[hidden]{display:none}body>main>section.projects-page .project-card__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt)}body>main>section.projects-page .project-card__media>img{width:100%;height:100%;object-fit:cover;display:block}body>main>section.projects-page .project-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--bg-alt)), var(--bg-alt))}body>main>section.projects-page .project-card__media--github .project-card__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #8b5cf6 28%, var(--bg-alt)), var(--bg-alt))}body>main>section.projects-page .project-card__media--linkedin .project-card__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #0a66c2 30%, var(--bg-alt)), var(--bg-alt))}body>main>section.projects-page .project-card__initials{font-family:var(--font-mono);font-size:2.5rem;font-weight:700;color:var(--heading);letter-spacing:.05em;opacity:.85}body>main>section.projects-page .project-card__source{position:absolute;top:.6rem;left:.6rem;background:rgba(0,0,0,.65);color:#fafafa;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.25em .7em;border-radius:var(--border-radius);backdrop-filter:blur(4px)}body>main>section.projects-page .project-card__body{padding:calc(var(--spacing-sm)*1.25) calc(var(--spacing-sm)*1.5);display:flex;flex-direction:column;gap:.75rem;flex:1}body>main>section.projects-page .project-card__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin:0}body>main>section.projects-page .project-card__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--heading);flex:1;min-width:0}body>main>section.projects-page .project-card__title>a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.35em;transition:color var(--transition-speed) ease}body>main>section.projects-page .project-card__title>a:hover{color:var(--accent)}body>main>section.projects-page .project-card__external{font-size:.8em;color:var(--accent)}body>main>section.projects-page .project-card__period{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:.4em}body>main>section.projects-page .project-card__ongoing-dot{width:.5em;height:.5em;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:projectOngoingPulse 2s ease-in-out infinite}body>main>section.projects-page .project-card__description{color:var(--muted);font-size:.875rem;line-height:1.55;margin:0;flex:1}body>main>section.projects-page .project-card__description>p{margin:0}body>main>section.projects-page .project-card__description>p+p{margin-top:.6em}body>main>section.projects-page .project-card__description-full{display:none}body>main>section.projects-page .project-card__description-full p{margin:0}body>main>section.projects-page .project-card__description-full p+p{margin-top:.75em}body>main>section.projects-page .project-card__description-full ul{margin:.75em 0 0;padding-left:1.2em;list-style:disc}body>main>section.projects-page .project-card__description-full p+ul,body>main>section.projects-page .project-card__description-full ul+p{margin-top:.75em}body>main>section.projects-page .project-card--expandable{cursor:pointer}body>main>section.projects-page .project-card--expandable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body>main>section.projects-page .project-card.is-expanded .project-card__description-excerpt{display:none}body>main>section.projects-page .project-card.is-expanded .project-card__description-full{display:block}body>main>section.projects-page .project-card__tech{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;padding:0;margin:0}body>main>section.projects-page .project-card__tech>li{font-size:.7rem;color:var(--accent);padding:.2rem .55rem;border:1px solid rgba(96,165,250,.2);border-radius:4px;font-family:var(--font-mono)}body>main>section.projects-page .project-card__tech>li>a{color:inherit;text-decoration:none;transition:opacity var(--transition-speed)}body>main>section.projects-page .project-card__tech>li>a:hover{opacity:.7}@keyframes projectOngoingPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}@media(min-width: 768px){body>main>section.projects-page .projects-grid{grid-template-columns:1fr 1fr}}@media(min-width: 1200px){body>main>section.projects-page .projects-grid{grid-template-columns:repeat(3, 1fr)}}body>main>section.project-detail{padding-bottom:var(--spacing-xl)}body>main>section.project-detail .project-detail__inner{display:flex;flex-direction:column;gap:var(--spacing-md)}body>main>section.project-detail .project-detail__breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted);font-family:var(--font-mono)}body>main>section.project-detail .project-detail__breadcrumbs>a{color:var(--muted);text-decoration:none;transition:color var(--transition-speed) ease}body>main>section.project-detail .project-detail__breadcrumbs>a:hover{color:var(--accent)}body>main>section.project-detail .project-detail__breadcrumbs>span[aria-current=page]{color:var(--heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}body>main>section.project-detail .project-detail__breadcrumbs>span[aria-hidden=true]{color:var(--border)}body>main>section.project-detail .project-detail__article{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--border-radius)*1.5);overflow:hidden;display:flex;flex-direction:column}body>main>section.project-detail .project-detail__header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;gap:.5rem;border-bottom:1px solid var(--border)}body>main>section.project-detail .project-detail__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:3px;color:var(--accent);font-weight:600;margin:0}body>main>section.project-detail .project-detail__title{margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;color:var(--heading)}body>main>section.project-detail .project-detail__meta{margin:0;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}body>main>section.project-detail .project-detail__period{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);display:inline-flex;align-items:center;gap:.45em}body>main>section.project-detail .project-detail__ongoing-dot{width:.55em;height:.55em;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:projectOngoingPulse 2s ease-in-out infinite}body>main>section.project-detail .project-detail__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt)}body>main>section.project-detail .project-detail__media>img{width:100%;height:100%;object-fit:cover;display:block}body>main>section.project-detail .project-detail__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--bg-alt)), var(--bg-alt))}body>main>section.project-detail .project-detail__media--github .project-detail__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #8b5cf6 28%, var(--bg-alt)), var(--bg-alt))}body>main>section.project-detail .project-detail__media--linkedin .project-detail__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #0a66c2 30%, var(--bg-alt)), var(--bg-alt))}body>main>section.project-detail .project-detail__initials{font-family:var(--font-mono);font-size:3rem;font-weight:700;color:var(--heading);letter-spacing:.05em;opacity:.85}body>main>section.project-detail .project-detail__body{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}body>main>section.project-detail .project-detail__prose{color:var(--text);font-size:1rem;line-height:1.7;max-width:72ch}body>main>section.project-detail .project-detail__prose>p{margin:0}body>main>section.project-detail .project-detail__prose>p+p,body>main>section.project-detail .project-detail__prose>p+ul,body>main>section.project-detail .project-detail__prose>ul+p{margin-top:.9em}body>main>section.project-detail .project-detail__prose ul{margin:0;padding-left:1.25em;list-style:disc}body>main>section.project-detail .project-detail__prose ul>li+li{margin-top:.4em}body>main>section.project-detail .project-detail__prose strong{color:var(--heading)}body>main>section.project-detail .project-detail__prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}body>main>section.project-detail .project-detail__prose a:hover{opacity:.8}body>main>section.project-detail .project-detail__tech{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}body>main>section.project-detail .project-detail__tech>li{font-size:.75rem;color:var(--accent);padding:.25rem .6rem;border:1px solid rgba(96,165,250,.25);border-radius:4px;font-family:var(--font-mono)}body>main>section.project-detail .project-detail__tech>li>a{color:inherit;text-decoration:none;transition:opacity var(--transition-speed) ease}body>main>section.project-detail .project-detail__tech>li>a:hover{opacity:.75}body>main>section.project-detail .project-detail__cta-row{margin:0}body>main>section.project-detail .project-detail__cta{display:inline-flex;align-items:center;gap:.5em;padding:.75rem 1.5rem;background:var(--accent);color:var(--bg);font-weight:600;font-size:.9rem;border-radius:var(--border-radius);text-decoration:none;transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease}body>main>section.project-detail .project-detail__cta:hover{opacity:.88;color:var(--bg);transform:translateY(-1px)}body>main>section.project-detail .project-detail__footer{font-size:.9rem}body>main>section.project-detail .project-detail__footer>a{color:var(--muted);text-decoration:none;transition:color var(--transition-speed) ease}body>main>section.project-detail .project-detail__footer>a:hover{color:var(--accent)}@media(min-width: 768px){body>main>section.project-detail .project-detail__header{padding:calc(var(--spacing-md)*1.25) calc(var(--spacing-md)*1.5) var(--spacing-md)}body>main>section.project-detail .project-detail__body{padding:calc(var(--spacing-md)*1.25) calc(var(--spacing-md)*1.5) calc(var(--spacing-md)*1.5)}}section#recommendations [data-testimonials]>blockquote{background:var(--card);border-left:3px solid var(--accent);border-radius:0 var(--border-radius) var(--border-radius) 0;padding:var(--spacing-md);position:relative}section#recommendations [data-testimonials]>blockquote::before{content:'"';position:absolute;top:.5rem;right:1rem;font-size:3rem;color:var(--accent);opacity:.2;font-family:Georgia,serif;line-height:1}section#recommendations [data-testimonials]>blockquote>p{font-style:italic;font-size:1rem;line-height:1.7;color:var(--text);max-width:90%;margin:0}section#recommendations [data-testimonials]>blockquote>p+p{margin-top:.5rem}section#recommendations [data-testimonials]>blockquote>footer{margin-top:var(--spacing-sm);display:flex;align-items:center;gap:.75rem}section#recommendations [data-testimonials]>blockquote>footer>img{width:40px;height:40px;border-radius:50%;object-fit:cover}section#recommendations [data-testimonials]>blockquote>footer>cite{font-style:normal}section#recommendations [data-testimonials]>blockquote>footer>cite>strong{display:block;font-size:.875rem;color:var(--heading)}section#recommendations [data-testimonials]>blockquote>footer>cite>span{font-size:.8rem;color:var(--muted)}section#recommendations [data-testimonials]>aside{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}section#recommendations [data-testimonials]>aside>button{color:var(--muted);font-size:1.25rem;padding:.25rem .5rem;transition:color var(--transition-speed)}section#recommendations [data-testimonials]>aside>button:hover{color:var(--accent)}section#recommendations [data-testimonials]>aside>nav{display:flex;gap:.5rem}section#recommendations [data-testimonials]>aside>nav>button{width:8px;height:8px;border-radius:50%;background:var(--border);padding:0;transition:background var(--transition-speed)}section#recommendations [data-testimonials]>aside>nav>button.active{background:var(--accent)}body>footer{border-top:1px solid var(--border);padding:var(--spacing-md);max-width:var(--max-width);margin-inline:auto}body>footer>nav>ul{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}body>footer>nav>ul>li{font-size:.875rem;font-weight:400;font-family:var(--font-primary);color:var(--muted);line-height:1.6}body>footer>nav>ul>li>a,body>footer>nav>ul>li>span{color:inherit;font:inherit;line-height:inherit}body>footer>nav>ul>li>a{transition:color var(--transition-speed)}body>footer>nav>ul>li>a:hover{color:var(--accent)}section#company-logos{overflow:hidden;padding:var(--spacing-md) 0}section#company-logos .logo-slider{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);-webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent)}section#company-logos .logo-slider:hover .logo-slider-track{animation-play-state:paused}section#company-logos .logo-slider-track{display:flex;gap:var(--spacing-lg);width:max-content;animation:logo-scroll 20s linear infinite}section#company-logos .logo-slider-item{flex-shrink:0;display:flex;align-items:center;justify-content:center}section#company-logos .logo-slider-item img{width:80px;height:80px;border-radius:8px;object-fit:cover;filter:grayscale(100%);opacity:.6;transition:filter .3s ease,opacity .3s ease}section#company-logos .logo-slider-item a{display:flex}section#company-logos .logo-slider-item:hover img{filter:grayscale(0%);opacity:1}@keyframes logo-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media(prefers-reduced-motion: reduce){section#company-logos .logo-slider-track{animation:none;flex-wrap:wrap;justify-content:center}}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-reveal].visible{opacity:1;transform:translateY(0)}[data-theme]{transition:background-color var(--transition-speed),color var(--transition-speed)}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}[data-reveal]{opacity:1;transform:none}html{scroll-behavior:auto}}@media(max-width: 599px){body>main>section,body>main>section#hero,body>main>section#stats{padding-inline:var(--spacing-md)}}@media(max-width: 919px){body>header>nav>a:first-child{display:none}}@media(min-width: 576px){body>main>section#hero>header>h1{font-size:3.5rem}}@media(min-width: 768px){body>header>nav>ul{display:flex}body>header>nav>button[data-nav-toggle]{display:none}section#about>div{display:flex;gap:var(--spacing-md);align-items:flex-start}section#about>div>img{border-radius:50%;border:3px solid var(--accent);flex-shrink:0}section#services>ul{grid-template-columns:1fr 1fr}section#projects>ul{grid-template-columns:1fr 1fr}section#expertise>ul{grid-template-columns:1fr 1fr}}@media(min-width: 1024px){section#expertise>ul{grid-template-columns:1fr 1fr 1fr}}@media(max-width: 767px){section#experience>ol::before,section#education>ol::before{left:16px;transform:none}section#experience>ol>li,section#education>ol>li{flex-direction:column;padding-left:40px}section#experience>ol>li>span,section#education>ol>li>span{left:16px;transform:translateX(-50%)}section#experience>ol>li>div,section#experience>ol>li>time,section#education>ol>li>div,section#education>ol>li>time{width:100%;text-align:left !important;padding-left:0 !important;padding-right:0 !important;order:unset !important}section#experience>ol>li>time,section#education>ol>li>time{margin-top:.25rem}body>main>section>header{text-align:center}section#about>div{flex-direction:column;align-items:center;text-align:center}section#about>div>img{border-radius:50%;border:3px solid var(--accent);display:block;margin-inline:auto;margin-bottom:var(--spacing-md)}body>main>section#stats>dl{flex-wrap:wrap;gap:var(--spacing-md)}body>main>section#stats>dl>div{flex:0 0 calc(50% - var(--spacing-md))}body>main>section#stats>dl>div:not(:last-child){padding-right:0;border-right:none}body>main>section#stats>dl>div:nth-child(odd){border-right:1px solid var(--border);padding-right:var(--spacing-md)}}section#about>div>img{width:120px;height:120px;border-radius:50%;border:3px solid var(--accent);object-fit:cover}section#languages>ul{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);align-items:stretch}section#languages>ul>li{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md)}section#languages>ul>li>h3{display:block;font-size:1rem;color:var(--heading);margin:0}section#languages>ul>li>p{font-size:.875rem;color:var(--muted);margin:0}@media(min-width: 768px){section#languages>ul{grid-template-columns:1fr 1fr}}@media(min-width: 1024px){section#languages>ul{grid-template-columns:repeat(min(var(--language-count, 3), 3), 1fr)}}section#about>div>div>nav{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}section#about>div>div>nav>a{color:var(--accent);font-size:.875rem}section#about>div>div>nav>a:hover{text-decoration:underline}section#experience>a{display:inline-block;margin-top:var(--spacing-sm);color:var(--accent);font-size:.875rem;font-weight:500}section#experience>a:hover{text-decoration:underline}
