/* Home page. Tokens only (tokens.css); wallpaper is an 8 s seamless loop, poster only under reduced motion. */
*{box-sizing:border-box}
html{background:var(--fiipdrive-bg);color:var(--fiipdrive-ink);-webkit-font-smoothing:antialiased}
body{margin:0;font:var(--fiipdrive-text-body-weight) var(--fiipdrive-text-title-size)/var(--fiipdrive-text-body-lh) var(--fiipdrive-font-body)}
.stage{position:relative;isolation:isolate;overflow:clip;min-height:100dvh;display:grid;grid-template:auto 1fr auto/minmax(0,1fr);padding:var(--fiipdrive-space-xl) var(--fiipdrive-space-region);background:var(--fiipdrive-bg)}
.bg{position:absolute;inset:0;z-index:-3;background:var(--fiipdrive-bg) url(/assets/poster.webp) center/cover no-repeat}
.bg video{display:block;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:reduce){.bg video{display:none}}
.stage::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(80% 75% at 28% 52%,color-mix(in srgb,var(--fiipdrive-bg) 72%,transparent),transparent),radial-gradient(140% 110% at 50% 45%,transparent 40%,color-mix(in srgb,var(--fiipdrive-bg) 85%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--fiipdrive-bg) 40%,transparent),transparent 22%,transparent 60%,color-mix(in srgb,var(--fiipdrive-bg) 78%,transparent))}
.stage::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/assets/grain.webp) 0 0/256px;mix-blend-mode:overlay;opacity:.36}
.wm svg{height:1cap;width:auto}
.hd{display:flex;align-items:center;justify-content:space-between;height:var(--fiipdrive-size-lg)}
.wm{font-size:var(--fiipdrive-text-small-size);font-weight:var(--fiipdrive-text-display-weight);letter-spacing:calc(var(--fiipdrive-text-label-track) * 2);display:flex;align-items:center;gap:var(--fiipdrive-space-sm);color:var(--fiipdrive-ink);text-decoration:none;text-shadow:0 1px 0 color-mix(in srgb,var(--fiipdrive-ink-max) 8%,transparent),0 -1px 0 color-mix(in srgb,var(--fiipdrive-bg) 60%,transparent)}
nav{display:flex;gap:var(--fiipdrive-space-xl);font-size:var(--fiipdrive-text-small-size)}
nav a,.ft a{color:var(--fiipdrive-ink-2);text-decoration:none}
nav a:hover,.ft a:hover{color:var(--fiipdrive-ink)}
a:focus-visible{outline:var(--fiipdrive-focus-width) solid var(--fiipdrive-focus-color);outline-offset:var(--fiipdrive-focus-offset);border-radius:var(--fiipdrive-r-rule)}
main{grid-template-columns:minmax(0,1fr);align-self:center;justify-self:center;width:100%;max-width:var(--fiipdrive-content-max);display:grid;gap:var(--fiipdrive-space-section);padding-block:var(--fiipdrive-space-section)}
h1{margin:0;max-width:14ch;font-size:var(--fiipdrive-text-hero-size);line-height:var(--fiipdrive-text-hero-lh);font-weight:var(--fiipdrive-text-hero-weight);letter-spacing:var(--fiipdrive-text-hero-track);color:var(--fiipdrive-ink-max);text-wrap:balance}
.card{position:relative;isolation:isolate;max-width:440px;display:grid;gap:var(--fiipdrive-space-md);padding:var(--fiipdrive-space-xl);border-radius:var(--fiipdrive-r-frame);background:linear-gradient(180deg,color-mix(in srgb,var(--fiipdrive-ink) 5%,transparent),transparent 120px),linear-gradient(color-mix(in srgb,var(--fiipdrive-ink-max) 6%,transparent),color-mix(in srgb,var(--fiipdrive-ink-max) 6%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--fiipdrive-bg) 50%,transparent),color-mix(in srgb,var(--fiipdrive-bg) 76%,transparent));-webkit-backdrop-filter:var(--fiipdrive-glass-blur);backdrop-filter:var(--fiipdrive-glass-blur);box-shadow:var(--fiipdrive-shadow-glass)}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(165deg,color-mix(in srgb,var(--fiipdrive-ink-max) 34%,transparent),color-mix(in srgb,var(--fiipdrive-ink) 16%,transparent) 22%,color-mix(in srgb,var(--fiipdrive-ink) 9%,transparent) 55%,color-mix(in srgb,var(--fiipdrive-ink) 16%,transparent));-webkit-mask:linear-gradient(var(--fiipdrive-ink) 0 0) content-box,linear-gradient(var(--fiipdrive-ink) 0 0);-webkit-mask-composite:xor;mask:linear-gradient(var(--fiipdrive-ink) 0 0) content-box exclude,linear-gradient(var(--fiipdrive-ink) 0 0)}
.card p,.card h2{margin:0}
.tag{justify-self:start;font-size:var(--fiipdrive-text-label-size);font-weight:var(--fiipdrive-text-label-weight);letter-spacing:var(--fiipdrive-text-label-track);text-transform:uppercase;color:var(--fiipdrive-ink-2)}
h2{font-size:var(--fiipdrive-text-title-size);line-height:var(--fiipdrive-text-title-lh);font-weight:var(--fiipdrive-text-display-weight);letter-spacing:calc(var(--fiipdrive-text-label-track) * 2);text-transform:uppercase;color:var(--fiipdrive-ink-max)}
.card p:not(.tag){color:var(--fiipdrive-ink-2)}
.contact{padding-top:var(--fiipdrive-space-md);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fiipdrive-ink) 9%,transparent);font-size:var(--fiipdrive-text-body-size)}
.contact a{color:var(--fiipdrive-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--fiipdrive-ink) 35%,transparent);text-underline-offset:3px}
.contact a:hover{text-decoration-color:var(--fiipdrive-ink)}
.ft{display:flex;flex-wrap:wrap;gap:var(--fiipdrive-space-sm) var(--fiipdrive-space-xl);align-items:center;justify-content:space-between;padding-top:var(--fiipdrive-space-lg);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--fiipdrive-ink) 9%,transparent);font-size:var(--fiipdrive-text-small-size);color:var(--fiipdrive-ink-2)}
.ft p{margin:0}
@media (max-width:640px){.stage{padding:var(--fiipdrive-space-lg)}h1{font-size:var(--fiipdrive-text-display-size)}.hd nav{display:none}}
