/* Dark controls complement the archive covers. */
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;pointer-events:none;filter:grayscale(1) brightness(1.15);mask-image:linear-gradient(#000 75%,transparent)}
.folder-card .file-details-btn,.folder-card .file-details-link{
    display:inline-flex;align-items:center;justify-content:center;min-height:42px;
    border-radius:999px;border:1px solid #ffffff26;
    background:linear-gradient(145deg,#242424,#121212);color:#DADADA;
    box-shadow:inset 0 1px 0 #ffffff08;
    font-size:.65rem;letter-spacing:.09em;
    transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease,box-shadow 200ms ease;
}
.folder-card .file-details-btn:hover,.folder-card .file-details-link:hover{
    background:linear-gradient(145deg,#303030,#1B1B1B);border-color:#ffffff50;color:#FFF;
    filter:none;transform:none;
}
.folder-card .file-details-link:not(.file-details-link--ghost){
    background:radial-gradient(ellipse at 15% 0%,#64718455,transparent 65%),linear-gradient(125deg,#353C47 0%,#20242C 43%,#303640 72%,#191C22 100%);
    color:#E4E8EF;border-color:#8290A34D;
    box-shadow:0 4px 12px #0003,inset 0 1px 0 #D9E5FA26,inset 0 -1px 0 #0006;
    font-weight:700;min-height:46px;padding:0.7rem 1.4rem;font-size:.72rem;letter-spacing:.12em;
}
.folder-card .file-details-link:not(.file-details-link--ghost):hover{
    background:radial-gradient(ellipse at 75% 0%,#8494AE55,transparent 65%),linear-gradient(125deg,#404956 0%,#292E38 43%,#3A424F 72%,#222731 100%);
    box-shadow:0 5px 16px #0004,inset 0 1px 0 #D9E5FA40,inset 0 -1px 0 #0006;
    border-color:#9DAFC577;color:#FFFFFF;
}
.folder-card .file-details-btn[aria-expanded=true]{background:#0D0D0D;border-color:#858585;color:#F2F2F2}
.folder-card .file-details-link--ghost{background:#ffffff04;color:#C0C0C0}
.folder-card .proj-actions{gap:.65rem}
.folder-card .proj-actions .file-details-link{flex:1}
.folder-card .proj-actions .file-details-link:not(.file-details-link--ghost){flex:none}
.folder-card .proj-actions .file-details-btn{min-width:90px}

/* Minimal arrows, with an unobtrusive current-page indicator. */
.projects-pager{width:fit-content;max-width:100%;margin:2rem auto 0;padding:0;gap:1.15rem;border:0;border-radius:0;background:none;box-shadow:none}
.projects-pager .pager-btn{width:48px;height:44px;border:0;border-radius:0;background:none;color:#BDBDBD;font-size:1.6rem;line-height:1;transition:color 200ms ease,transform 250ms ease}
.projects-pager .pager-btn:hover:not(:disabled){background:none;color:#FFF}
.projects-pager .pager-btn:disabled{opacity:.2}
.projects-pager .pager-dots{display:none}
.projects-pager .pager-count{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip-path:none;white-space:nowrap;font-size:.65rem;letter-spacing:.18em;color:#737373;font-variant-numeric:tabular-nums}
.projects-pager .pager-cur{color:#D5D5D5}
.projects-pager :focus-visible{outline:1px solid #A0A0A0;outline-offset:2px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
    .projects-pager .pager-btn[data-dir="-1"]:hover:not(:disabled){transform:translateX(-3px)}
    .projects-pager .pager-btn[data-dir="1"]:hover:not(:disabled){transform:translateX(3px)}
}

/* Original full-width skill rows, with restrained silver detailing. */
#skills .skills-grid{grid-template-columns:1fr;gap:0;max-width:100rem}
#skills .skill-item{display:flex;flex-direction:row;align-items:center;gap:1.5rem;padding:1.1rem .75rem;border:0;border-bottom:1px solid #ffffff16;border-radius:0;background:transparent;transition:background-color 240ms ease,border-color 240ms ease}
#skills .skill-item:hover{padding-left:.75rem;background:#ffffff03;border-bottom-color:#ffffff38}
#skills .skill-left{width:10.5rem;flex-shrink:0}
#skills .skill-name{font-size:.85rem;line-height:1.5;letter-spacing:.12em;background:none;color:#C9C9C9;-webkit-text-fill-color:currentColor}
#skills .skill-bar{flex:1;height:4px;border-radius:99px;background:#ffffff0D;mask-image:none;-webkit-mask-image:none}
#skills .skill-bar-fill{border-radius:99px;box-shadow:none;background:linear-gradient(90deg,#616161 0%,#AFAFAF 60%,#E3E3E3 100%)}
/* Consistent folder heights and action baselines within each grid row. */
.projects-grid{align-items:stretch}
.folder-card .proj-body{flex:1}
.folder-card .proj-meta{min-height:1.5em}
.folder-card .proj-meta--spacer{visibility:hidden}
.folder-card .proj-actions{margin-top:auto}

/* Larger archive covers and readable software credits. */
.files-directory{max-width:90rem}
.projects-grid{column-gap:clamp(1.5rem,2.4vw,2.75rem)}
.folder-card .proj-media{aspect-ratio:16/9}
.folder-card .proj-body{padding:1.2rem 1.3rem;gap:.65rem}
.folder-card .proj-name{font-size:clamp(1.55rem,1.8vw,1.8rem)}
.folder-card .proj-meta{font-size:.8rem}
.folder-card .proj-tags{gap:.7rem 1rem;margin:.25rem 0 1rem}
.folder-card .proj-tags span{
    display:inline-flex;align-items:center;gap:.45rem;
    border:0;border-radius:0;padding:0;background:none;
    font-size:.8rem;letter-spacing:.025em;color:#CDCDCD;
    text-transform:none;line-height:1.5;white-space:nowrap;
}
.folder-card .proj-tags .software-icon{width:22px;height:22px;flex:0 0 22px}
.folder-card .file-details-desc{font-size:1rem;line-height:1.8}
.folder-card .file-details-value{font-size:.85rem}
.folder-card .file-details-btn,.folder-card .file-details-link{font-size:.72rem;min-height:44px}
#skills .skill-name{font-size:.95rem}
.about-me-bio{font-size:clamp(1.1rem,1.35vw,1.2rem)}
.exp-section{padding-top:8rem;padding-bottom:2rem;border-bottom:0}
.exp-role{font-size:clamp(1.1rem,1.4vw,1.3rem)}
.exp-desc{font-size:1.08rem;line-height:1.85}
.footer-copyright{font-size:.9rem;line-height:1.7}
.footer-legal-link{font-size:1rem}

/* A staggered entrance for the two title lines. */
.hero-title{font-size:clamp(4.6rem,16.5vw,18.4rem)}
@media(max-width:700px){.hero-title{font-size:clamp(2.2rem,13.8vw,3.9rem)}}
.hero-title-3d,.hero-title-env{
    background-image:linear-gradient(110deg,#596477 0%,#909EB4 20%,#596477 36%,#CBD7E9 44%,#FFFFFF 50%,#CBD7E9 56%,#596477 64%,#909EB4 80%,#596477 100%);
    background-size:300% 100%;background-position:45% 50%;
    -webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
}
@media(prefers-reduced-motion:no-preference){
    .hero-title-3d,.hero-title-env{
        animation:heroTitleEnter 2.6s cubic-bezier(.22,.61,.36,1) both,heroTitleOpacity 6s ease-in-out 3s infinite;
    }
    .hero-title-3d,.hero-title-env{animation-delay:0s,2.6s}
    .hero.title-awaiting-video .hero-title-3d,.hero.title-awaiting-video .hero-title-env{animation:none;opacity:0}
    .hero.is-offscreen .hero-title-3d,.hero.is-offscreen .hero-title-env{animation-play-state:paused}
}
@keyframes heroTitleOpacity{
    0%,100%{opacity:1;transform:translate3d(0,0,0)}
    50%{opacity:.65;transform:translate3d(0,-5px,0)}
}
@keyframes heroTitleEnter{
    from{opacity:0;transform:scale(.97);background-position:65% 50%}
    to{opacity:1;transform:scale(1);background-position:45% 50%}
}
#main-contact-btn{scroll-margin-top:55vh}
#skills .skill-bar-fill{clip-path:none;transform:scaleX(1);transition:none}
@media(prefers-reduced-motion:no-preference){
    #skills .skill-pending .skill-bar-fill{transform:scaleX(0)}
    #skills .skill-pending.skill-filled .skill-bar-fill{
        transform:scaleX(1);
        transition:transform 1.65s cubic-bezier(.22,1,.36,1) var(--fill-delay,0ms);
    }
}
@media(max-width:700px){
    .folder-card .proj-body{padding:1.2rem}
    .folder-card .proj-tags{gap:.6rem .8rem}
    .folder-card .proj-tags span{font-size:.78rem}
    .exp-section{padding-top:4rem;padding-bottom:1.25rem}
    .exp-desc{font-size:1rem}
    .about-me-bio{font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){
    .hero-title-3d,.hero-title-env{animation:none;background-position:45% 50%}
}
/* Lower the copyright/social block while keeping it clear of the fixed bar. */
#top > .footer{padding-top:4rem;padding-bottom:.75rem;background:#090909}
#top > .footer .footer-divider{background:linear-gradient(90deg,#ffffff20,#ffffff06)}

@media(max-width:600px){
    #skills .skills-grid{grid-template-columns:1fr;gap:0}
    #skills .skill-item,#skills .skill-item:hover{padding:.85rem .8rem .85rem 0;gap:.6rem}
    #skills .skill-left{width:7.4rem}
    #skills .skill-name{font-size:.68rem;letter-spacing:.07em}
    #top > .footer{padding-top:3rem;padding-bottom:1rem}
    .folder-card .proj-actions .file-details-btn{min-width:80px}
}
@media(prefers-reduced-motion:reduce){
    #skills .skill-item,.projects-pager .pager-btn,.folder-card .file-details-btn,.folder-card .file-details-link{transition:none}
    #skills .skill-bar-fill{clip-path:none;transition:none}
}
@media print{.projects-pager{display:none!important}#skills .skill-item{break-inside:avoid}}

/* Navigation belongs to the opening screen, without a floating glass shell. */
#top{padding-bottom:0}
#top > .footer{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}
.hero .hero-navigation{
    position:absolute;top:1.5rem;bottom:auto;left:0;right:0;
    padding:0 2rem;width:100%;
}
.hero-navigation .navbar-inner{
    max-width:90rem;height:auto;min-height:64px;padding:.7rem 0;
    background:none;border:0;border-bottom:1px solid #ffffff14;
    border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
}
.hero-navigation .navbar-inner::after{display:none}
.hero-navigation .nav-burger,.hero-navigation .nav-drawer{display:none}
.hero-navigation .navbar-right{display:flex!important}
.hero-navigation .nav-link{padding:.8rem .2rem}
.hero-navigation .lang-btn{min-height:32px}
.hero-navigation a:focus-visible,.hero-navigation button:focus-visible{outline:1px solid #BDBDBD;outline-offset:3px}
@media(max-width:860px){
    #top .hero{padding-top:10rem}
    .hero .hero-navigation{top:.75rem;padding:0 1rem}
    .hero-navigation .navbar-inner{flex-direction:column;gap:.4rem;min-height:0;padding:.75rem 0}
    .hero-navigation .navbar-right{width:100%;flex-wrap:wrap;justify-content:center;gap:.35rem 1.25rem}
    .hero-navigation .nav-links{gap:.65rem}
    .hero-navigation .nav-link{font-size:.7rem;letter-spacing:.12em;padding:.75rem .1rem}
    .hero-navigation .nav-pipe{font-size:.7rem}
    .hero-navigation .logo-text{font-size:1.05rem}
.hero-navigation .lang-switch{background:none;border-color:#ffffff12}
}

/* Soft separation for the subtitle, without a luminous halo. */
.hero-subheader-text{filter:drop-shadow(0 0 5px #CCD9EE33);text-shadow:0 0 16px #CFDCF014}

/* Wider reading column with a little more space for the portrait on small screens. */
.about-me-text-col{padding-right:clamp(1.5rem,3vw,3rem)}
.about-me-bio,.about-me-details{max-width:49rem}
@media(min-width:901px){.about-me-photo-col{flex-basis:42%}}
@media(max-width:900px){
    .about-me-text-col{padding-right:0}
    .about-me-inner{padding-left:1.5rem;padding-right:1.5rem}
}

/* Recessed language selector with a satin active segment. */
.hero-navigation .lang-switch{
    gap:3px;padding:4px;border:1px solid #A3AEBD26;border-radius:999px;
    background:linear-gradient(145deg,#1D2025,#0D0F12);
    box-shadow:inset 0 1px 0 #FFFFFF0D,0 3px 10px #0003;
}
.hero-navigation .lang-btn{
    min-width:38px;min-height:36px;padding:.5rem .65rem;
    color:#929AA6;letter-spacing:.08em;border:1px solid transparent;
    transition:color 200ms ease,background-color 200ms ease,box-shadow 200ms ease;
}
.hero-navigation .lang-btn.is-active{
    color:#171B22;background:linear-gradient(135deg,#F2F4F7,#BAC4D2);
    border-color:#F2F5FA66;box-shadow:inset 0 1px 0 #FFFFFFAA,0 2px 6px #0005;
}
.hero-navigation .lang-btn:hover:not(.is-active){color:#E4EAF3;background:#FFFFFF0B}
@media(prefers-reduced-motion:reduce){.hero-navigation .lang-btn{transition:none}}
.hero-video-play{position:absolute;right:1.5rem;bottom:1.5rem;z-index:20;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff40;background:#151515cc;color:#ddd;cursor:pointer}.hero-video-play[hidden]{display:none}.hero-video-play:focus-visible{outline:2px solid #ddd;outline-offset:4px}
