/* intro header
   Loaded in numeric order: later files refine earlier ones. */
@layer site {
/* intro */
.intro{position:fixed;inset:0;z-index:900;background:var(--color-bg);color:var(--color-fg);display:flex;align-items:center;justify-content:center;animation:mvUp .95s cubic-bezier(.76,0,.24,1) 2.05s forwards}
.intro.gone{display:none}
.intro-w{display:block;height:1.1em;overflow:hidden;font-size:clamp(56px,10vw,144px);font-weight:600;letter-spacing:-.055em;line-height:1.1}
.intro-in{display:flex;flex-direction:column;align-items:center;animation:mvWords 2s steps(1,end) forwards}
.intro-in>span{height:1.1em;display:block;white-space:nowrap}
.dot{display:inline-block;width:.2em;height:.2em;margin-left:.06em;border-radius:var(--radius-round);background:var(--acc);vertical-align:baseline}
.intro .dot{animation:dotPop .7s 1.8s var(--ease-pop) both}

/* header */
.hdr{position:sticky;top:0;z-index:100;animation:hdrIn .9s var(--ease-out) calc(var(--intro-delay) + .35s) both;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--color-bg-a75);border-bottom:1px solid var(--color-fg-a08)}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--color-fg);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.avs{display:flex;align-items:center}
.av{width:34px;height:34px;border-radius:var(--radius-round);margin-left:-8px;border:2px solid var(--color-bg);display:flex;align-items:center;justify-content:center;font:600 var(--fs-sm) var(--font-body);animation:avPop .6s var(--ease-pop) both}
.av:first-child{margin-left:0}
.avi{overflow:hidden;background:var(--color-surface-2)}
.avi img,.qav img{width:100%;height:100%;object-fit:cover;transform:scale(1.34);display:block}
.qav{width:48px;height:48px;border-radius:var(--radius-round);overflow:hidden;flex:none;background:var(--color-surface-2)}
.mini .mav.avi{padding:0}

/* capabilities — minimal list */
.caplist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.capr{display:flex;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--color-fg-a12);transition:padding .5s var(--ease-out)}
.capr:hover{padding-left:12px}
.capr svg{flex:none;color:var(--color-text-muted);transition:transform .55s var(--ease-pop),color .3s ease}
.capr:hover svg{transform:rotate(-12deg) scale(1.15);color:var(--acct,var(--acc))}
.capr b{font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-0.035em}
.capr span{margin-left:auto;font-size:var(--fs-sm);color:var(--color-text-muted);text-align:right}
.av:nth-child(1){animation-delay:calc(var(--intro-delay) + .6s)}
.av:nth-child(2){animation-delay:calc(var(--intro-delay) + .7s)}
.av:nth-child(3){animation-delay:calc(var(--intro-delay) + .8s)}
.av:nth-child(4){animation-delay:calc(var(--intro-delay) + .9s)}
.you-wrap{position:relative;margin-left:6px}
.av.you{margin:0;background:transparent;border:1.5px dashed var(--color-text-muted);color:var(--color-fg);animation:avPop .6s var(--ease-pop) calc(var(--intro-delay) + 1.1s) both;transition:border-color .25s ease,color .25s ease}
.you-wrap:hover .av.you{border-color:var(--acct,var(--acc));color:var(--acct,var(--acc))}
.you-tip{position:absolute;top:calc(100% + 12px);right:-4px;padding:6px 10px;border-radius:var(--radius-md);background:var(--color-fg);color:var(--color-bg);font:600 var(--fs-xs) var(--font-body);white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease;animation:tipFlash 4.2s ease calc(var(--intro-delay) + 1.6s) both}
.you-tip::before{content:"";position:absolute;top:-5px;right:16px;width:10px;height:10px;background:var(--color-fg);transform:rotate(45deg)}
.you-wrap:hover .you-tip{opacity:1;transform:none;animation:none}
}
