@font-face{font-family:'Space Grotesk';src:url('./assets/fonts/space-grotesk-latin-variable.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
:root{--paper:#ffffff;--ink:#17211f;--muted:#5c6564;--accent:#245b59;--accent-hover:#184441;--accent-text:var(--accent);--focus:var(--accent);--control-line:var(--line);--thumb-bg:var(--ink);--on-accent:#ffffff;--line:#dce3e2;--mascot-filter:invert(1);--logo-filter:none;--logo-blend:multiply;--shadow:#17211f22;color-scheme:light;--serif:'Space Grotesk','Pretendard',sans-serif;--sans:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:6px}::selection{background:var(--accent);color:var(--on-accent)}.page-shell{max-width:1440px;padding:0 64px;margin:auto}.skip-link{position:fixed;top:-80px;left:24px;background:var(--ink);color:var(--paper);padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand-logo{position:relative;display:block;width:132px;aspect-ratio:2.27;overflow:hidden;mix-blend-mode:multiply}.brand-logo img{position:absolute;width:142.5%;height:auto;max-width:none;left:-22.36%;top:-54.7%}.header-note{font-size:12px;font-weight:600;letter-spacing:.12em}.hero{display:grid;grid-template-columns:1.14fr 1fr;align-items:center;min-height:640px;gap:40px;padding:70px 0 64px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.5;margin:0 0 22px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.mini-cross{font-size:25px;line-height:1}.hero h1{font-family:var(--serif);font-size:clamp(54px,6.2vw,89px);font-weight:700;line-height:1.08;letter-spacing:-.065em;margin:0 0 28px}.hero h1 .hero-line{display:block;font-style:normal;font-weight:700;white-space:nowrap}.hero-description{font-size:17px;line-height:1.9;color:var(--muted);margin:0 0 30px}.primary-link{display:inline-flex;align-items:center;gap:34px;padding:14px 20px;border-radius:5px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600;transition:background .2s,transform .2s}.primary-link span{font-size:22px;line-height:1}.primary-link:hover{background:var(--accent-hover);transform:translateY(-2px)}.hero-art{position:relative;min-width:0;aspect-ratio:1;isolation:isolate}.art-circle{position:absolute;inset:7% 7%;border-radius:50%;background:var(--accent)}.art-orbit{position:absolute;inset:1% 1%;border-radius:50%;border:1px solid var(--line);transform:rotate(-22deg) scaleX(.74)}.mascot-figure{position:absolute;left:20%;top:9%;width:61%;height:79%;border:0;background:none;padding:0;transform:rotate(-7deg)}.mascot-window{position:relative;display:block;aspect-ratio:.765;overflow:hidden;width:100%;pointer-events:none}.mascot-window img{position:absolute;width:412.9%;height:auto;max-width:none;left:-64%;top:-52.3%;user-select:none;-webkit-user-drag:none}.art-spark{position:absolute;line-height:1}.spark-one{font-size:50px;right:0;top:11%;transform:rotate(10deg)}.spark-two{font-size:36px;left:1%;bottom:22%}.games-section{border-top:1px solid var(--ink);padding:40px 0 64px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:30px;letter-spacing:-.055em;line-height:1.4;margin:0;font-weight:700}.section-note{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.about-section{padding:54px 0 66px;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:32px;align-items:start}.about-section .eyebrow{padding-top:7px}.about-section h2{font-size:27px;line-height:1.55;letter-spacing:-.045em;margin:0}.about-section>p:last-child{font-size:14px;color:var(--muted);line-height:1.9;margin:5px 0 0}.site-footer{border-top:1px solid var(--line);padding:24px 0 28px;display:flex;justify-content:space-between;font-size:11px;font-weight:500;letter-spacing:.07em}.site-footer a{letter-spacing:0;font-size:12px}.site-footer a:hover{text-decoration:underline}
@media(min-width:1440px){.hero h1{font-size:89px}}@media(max-width:1100px){.page-shell{padding:0 40px}.header-note{display:none}.hero{min-height:590px;gap:20px}.hero h1{font-size:76px}.about-section{grid-template-columns:1fr 2fr}.about-section>p:last-child{grid-column:2}}@media(max-width:760px){.page-shell{padding:0 24px}.site-header{height:88px}.brand-logo{width:110px}.hero{grid-template-columns:1fr;gap:36px;padding:42px 0 46px}.hero h1{font-size:clamp(42px,10.9vw,80px)}.hero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:18px}.hero-description{font-size:16px;margin-bottom:22px}.hero-art{width:90%;max-width:430px;margin:auto}.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:25px}.section-heading h2{font-size:27px}.section-note br{display:none}.games-section{padding:32px 0 42px}.about-section{grid-template-columns:1fr;gap:17px;padding:36px 0}.about-section .eyebrow{margin:0}.about-section h2{font-size:26px}.about-section>p:last-child{grid-column:auto;font-size:16px}.site-footer{font-size:10px;gap:20px;flex-wrap:wrap}}.about-copy>p{font-size:14px;color:var(--muted);line-height:1.9;margin:5px 0 0}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:clamp(45px,6.1vw,67px)}.about-copy{grid-column:2}}@media(max-width:760px){.hero .eyebrow{font-size:12px;letter-spacing:.09em}.about-copy{grid-column:auto}.about-section{gap:17px}.hero-art{margin-bottom:10px}.hero-description{font-size:16px}.site-footer{font-size:12px}}
.hero-art{background:var(--paper)}
@media(max-width:760px){}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero h1 .visually-hidden{font-style:normal}
.hero-art{overflow:clip}

.huntband-project{border:1px solid var(--line);border-radius:7px;padding:44px;display:grid;grid-template-columns:1.25fr 1fr;gap:64px}.project-status{display:inline-block;font-size:14px;font-weight:600;margin:0 0 18px;padding:4px 12px;border:1px solid var(--line);border-radius:30px}.huntband-intro h3{font-family:var(--serif);font-size:clamp(40px,4.5vw,64px);line-height:1.15;letter-spacing:-.045em;margin:0 0 22px}#huntband-description,#slime-breeder-description{font-size:16px;line-height:1.85;max-width:46ch;color:var(--muted);margin:0}.huntband-features{align-self:center}.huntband-features section+section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.huntband-features h4{font-size:18px;line-height:1.5;letter-spacing:-.02em;margin:0 0 8px}.huntband-features p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.about-copy>p{font-size:16px;line-height:1.9;color:var(--muted);margin:5px 0 0}
@media(max-width:1100px){.huntband-project{padding:32px;gap:36px}.about-copy{grid-column:2}}@media(max-width:760px){.huntband-project{grid-template-columns:1fr;padding:26px 22px;gap:30px}.huntband-intro h3{font-size:42px}.huntband-lead br{display:none}.about-copy{grid-column:auto}.hero-art{margin-bottom:10px}}

body{word-break:keep-all;overflow-wrap:break-word}

/* Keep mascot scroll drift separate from the decorative figure. */
.mascot-drift{position:absolute;left:20%;top:9%;width:61%;height:79%}
.mascot-drift .mascot-figure{position:relative;left:auto;top:auto;width:100%;height:100%}
.motion-enabled .mascot-drift{translate:var(--pointer-x,0px) calc(var(--drift-y,0px) + var(--pointer-y,0px));rotate:calc(var(--pointer-turn,0deg) + var(--mascot-turn,0deg));transition:translate .18s ease-out,rotate .25s ease-out}
.motion-enabled .art-circle{translate:0 calc(var(--drift-y,0px) * -.35);transition:translate .18s ease-out}
.motion-enabled .art-orbit{transform:rotate(calc(-22deg + var(--scroll-turn,0deg))) scaleX(.74);transition:transform .18s ease-out}
.motion-enabled .spark-one{rotate:var(--scroll-turn,0deg);translate:0 calc(var(--drift-y,0px) * -.5);transition:rotate .2s ease-out,translate .18s ease-out}
.motion-enabled .spark-two{rotate:calc(var(--scroll-turn,0deg) * -1);translate:0 calc(var(--drift-y,0px) * .3);transition:rotate .2s ease-out,translate .18s ease-out}

.motion-reveal{opacity:0;translate:0 64px;transition:opacity .8s ease,translate 1s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.is-revealed,.motion-reveal:focus-within{opacity:1;translate:0 0}
.huntband-project{transition:opacity .8s ease,translate 1s cubic-bezier(.2,.75,.25,1),transform .25s ease-out,box-shadow .3s ease;transform:perspective(1100px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transform-origin:center}
.huntband-project.pointer-active{box-shadow:0 24px 60px var(--shadow)}
.primary-link{translate:var(--button-x,0px) var(--button-y,0px);transition:background .2s,transform .2s,translate .18s ease-out}
.primary-link>span{transition:rotate .3s ease}.primary-link:hover>span{rotate:90deg}
.huntband-features section{transition:translate .25s ease,border-color .25s ease}.huntband-features section:hover{translate:12px 0;border-color:var(--line)}
@media(hover:none),(pointer:coarse){.huntband-project{transform:none}.huntband-features section:hover{translate:0 0}.primary-link{translate:0 0}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important;translate:0 0!important}.mascot-drift,.art-circle,.art-orbit,.art-spark,.primary-link,.primary-link>span,.huntband-features section{translate:none!important;rotate:none!important}.huntband-project{transform:none!important}}

.mascot-window{height:100%;aspect-ratio:auto}.mascot-window img{width:140%;height:100%;left:-15%;top:0;object-fit:contain}

/* The studio heading responds to scroll. */
.motion-enabled .hero-line{translate:calc(var(--headline-shift,0px) * -1) 0;transition:translate .18s ease-out}
.motion-enabled .hero-line:last-child{translate:var(--headline-shift,0px) 0}
.motion-enabled .huntband-intro h3{translate:var(--title-shift,0px) 0;transition:translate .18s ease-out}
.huntband-intro{min-width:0}
@media(max-width:760px){.hero-line{letter-spacing:-.06em}.huntband-intro h3{font-size:clamp(34px,10.4vw,58px)}.motion-enabled .hero-line{translate:calc(var(--headline-shift,0px) * -.35) 0}.motion-enabled .hero-line:last-child{translate:calc(var(--headline-shift,0px) * .35) 0}.motion-enabled .mascot-drift{translate:var(--pointer-x,0px) calc(var(--drift-y,0px) * .65 + var(--pointer-y,0px))}}
@media(prefers-reduced-motion:reduce){.hero-line,.huntband-intro h3{translate:none!important}.mascot-drift{rotate:none!important}}

/* Keep the same teal across themes and a white otter on the warm dark background. */
:root[data-theme="dark"]{--paper:#211c19;--ink:#f0eeeb;--muted:#b8afa8;--accent:#245b59;--accent-hover:#184441;--accent-text:var(--ink);--focus:var(--ink);--control-line:#837268;--thumb-bg:var(--accent);--on-accent:#ffffff;--line:#514842;--mascot-filter:brightness(0) invert(1);--logo-filter:var(--mascot-filter);--logo-blend:normal;--shadow:#100c0966;color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#211c19;--ink:#f0eeeb;--muted:#b8afa8;--accent:#245b59;--accent-hover:#184441;--accent-text:var(--ink);--focus:var(--ink);--control-line:#837268;--thumb-bg:var(--accent);--on-accent:#ffffff;--line:#514842;--mascot-filter:brightness(0) invert(1);--logo-filter:var(--mascot-filter);--logo-blend:normal;--shadow:#100c0966;color-scheme:dark}}
.brand-logo{mix-blend-mode:var(--logo-blend)}.brand-logo img{filter:var(--logo-filter)}.mascot-window img{filter:var(--mascot-filter)}
.mini-cross,.art-spark{color:var(--accent)}
.site-header{display:grid;grid-template-columns:1fr auto;gap:28px}
.header-actions{display:flex;align-items:center;gap:20px}.header-note{font-size:10px;letter-spacing:.08em}





html[lang="en"] body{word-break:normal}html[lang="en"] .about-section h2{font-size:26px;line-height:1.45;letter-spacing:-.025em}
@media(max-width:1300px){.header-note{display:none}}
@media(max-width:760px){.site-header{grid-template-columns:auto 1fr;height:auto;padding:18px 0;gap:10px 14px}.brand-logo{width:96px}.header-actions{grid-column:2;grid-row:1;justify-content:flex-end;gap:8px}.hero{padding-top:36px}}

.mini-cross svg,.spark-one svg{display:block;width:1em;height:1em}

/* Notes appear only when the mascot is activated; no automatic chatter. */
.mascot-figure{cursor:pointer}.mascot-figure:disabled{cursor:default;opacity:1}



.otter-roll{animation:otter-roll 1.05s cubic-bezier(.45,0,.2,1)}
@keyframes otter-roll{0%{transform:rotate(-7deg)}100%{transform:rotate(353deg)}}

@media(max-width:760px){}

/* A single wordmark, paired with the existing mascot asset. */
.brand-logo{position:static;display:flex;align-items:center;gap:9px;width:auto;aspect-ratio:auto;overflow:visible;mix-blend-mode:normal}
.brand-logo img{position:static;width:46px;height:46px;max-width:46px;object-fit:contain;filter:var(--logo-filter)}
.brand-logo span{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:-.065em;white-space:nowrap}
/* The otter slides between day and night. */
.theme-toggle{position:relative;width:82px;height:44px;padding:0;border:1px solid var(--control-line);border-radius:999px;background:var(--paper);color:var(--muted);cursor:pointer;flex-shrink:0}
.theme-toggle[hidden]{display:none}.theme-toggle svg{position:absolute;top:12px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-sun{left:12px}.theme-moon{right:12px}
.theme-thumb{position:absolute;left:5px;top:4px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--thumb-bg);translate:0 0;rotate:0deg;transition:translate .4s cubic-bezier(.2,.8,.2,1),rotate .6s cubic-bezier(.2,.8,.2,1)}
.theme-thumb img{width:29px;height:29px;object-fit:contain;filter:var(--mascot-filter)}
.theme-toggle[aria-checked="true"] .theme-thumb{translate:36px 0;rotate:360deg}
.theme-toggle:hover{border-color:var(--focus)}.theme-toggle.is-changing img{animation:theme-otter-hop .5s ease}
@keyframes theme-otter-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px) rotate(-12deg)}}
/* Spoken lines read as subtitles under the character, without window chrome. */
.hero{padding-bottom:24px}
.hero-visual{min-width:0}
.hero-copy{position:relative;top:-48px}
@media(max-width:760px){.hero-copy{top:-16px}}
/* Reserve subtitles before the first line, including wrapping during typing. */
.dialogue-slot{position:relative;width:90%;max-width:480px;height:calc(3 * 1.65em + 3.25em);font-size:17px;margin:12px auto 0}
@media(min-width:1101px){.dialogue-slot{height:calc(2 * 1.65em + 3.5em)}}
.mascot-dialogue{position:absolute;inset:0 0 auto;text-align:center}
@media(max-width:380px){.dialogue-slot{height:calc(4 * 1.65em + 3.25em)}}
.mascot-dialogue[hidden]{display:none}.dialogue-speaker{font-family:var(--serif);font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--accent-text);margin:0 0 6px}
#dialogue-text{font-size:17px;line-height:1.65;letter-spacing:-.02em;margin:0;min-height:3.3em;text-wrap:pretty}
.mascot-dialogue.is-typing #dialogue-text::after{content:'';display:inline-block;width:2px;height:1em;background:var(--accent);vertical-align:-.12em;margin-left:3px}
.dialogue-cue{display:block;font-size:22px;line-height:1.1;letter-spacing:3px;color:var(--accent-text);margin-top:4px}.is-typing .dialogue-cue{visibility:hidden}
@media(max-width:760px){.brand-logo{gap:5px}.brand-logo img{width:30px;height:36px;max-width:30px}.brand-logo span{font-size:20px}.header-actions{gap:8px}.theme-toggle{width:72px}.theme-toggle[aria-checked="true"] .theme-thumb{translate:26px 0}.theme-sun{left:10px}.theme-moon{right:9px}}
@media(prefers-reduced-motion:reduce){.theme-thumb{transition:none!important}.theme-toggle.is-changing img{animation:none!important}}
@media(max-width:380px){.brand-logo span{font-size:18px}.brand-logo img{width:26px;max-width:26px}.site-header{column-gap:6px}.header-actions{gap:6px}}

/* The otter stays at the top edge while the menu takes a step back. */
html{scroll-padding-top:0}main,main>section{scroll-margin-top:calc(var(--header-height,112px) + 24px)}
.header-dock{position:sticky;top:0;z-index:50;margin:0 -64px;padding:0 64px;pointer-events:none}
.site-header{background:var(--paper);pointer-events:auto;transition:transform .32s cubic-bezier(.22,.8,.25,1),box-shadow .32s}
.header-dock.is-scrolled .site-header{box-shadow:0 12px 24px -20px var(--shadow)}
.header-dock.is-hidden .site-header{transform:translateY(-105%);pointer-events:none;visibility:hidden;transition:transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s .32s}
.header-edge{position:absolute;inset:0 0 auto;height:16px;pointer-events:auto}
.header-reveal{position:absolute;top:0;left:50%;translate:-50% 0;display:flex;align-items:center;justify-content:center;gap:4px;width:76px;min-height:44px;padding:4px 12px;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;background:var(--paper);color:var(--accent-text);box-shadow:0 6px 16px -10px var(--shadow);cursor:pointer;pointer-events:auto}
.header-reveal[hidden]{display:none}.header-reveal img{width:32px;height:32px;object-fit:contain;filter:var(--logo-filter)}
.header-reveal svg{width:10px;height:8px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.header-reveal:hover{border-color:var(--focus)}
@media(max-width:1100px){.header-dock{margin:0 -40px;padding:0 40px}}
@media(max-width:760px){.header-dock{margin:0 -24px;padding:0 24px}}
@media(prefers-reduced-motion:reduce){.site-header,.header-dock.is-hidden .site-header{transition:none!important}}

.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.site-footer .footer-contact{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--accent-text)}
.site-footer .footer-top{display:inline-flex;align-items:center;justify-self:end;min-height:44px}
@media(max-width:760px){.site-footer{grid-template-columns:1fr auto;gap:8px 16px}.footer-contact{grid-column:1/-1;grid-row:1}.site-footer>span,.footer-top{grid-row:2}}


.huntband-project + .huntband-project{margin-top:24px}

/* MossMotion.cs shape keys and FarmRoamingModel sine-hop profile, adapted to the card lane. */
.slime-card .huntband-intro{position:relative;--slime-size:72px}
.slime-art{position:absolute;left:0;bottom:-28px;width:var(--slime-size);margin:0;isolation:isolate;z-index:1;transform-origin:50% 89.84375%;--slime-heading:-1}
.slime-character{display:block;position:relative;width:100%;aspect-ratio:1;border:0;padding:0;background:none;color:var(--ink);cursor:pointer;transform-origin:50% 88%;touch-action:manipulation}
.slime-character img{display:block;width:100%;height:auto;filter:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
/* Start only after the lane is measured, independently of scroll reveals. */
.slime-motion-ready .slime-art{animation:slime-roam 7.41s linear infinite;will-change:transform}
.slime-motion-ready .slime-character img{animation:slime-facing 7.41s steps(1,end) infinite}
.slime-motion-ready .slime-character.is-reacting{animation:slime-bounce .7s cubic-bezier(.2,.8,.3,1) both}
.slime-character:focus-visible{outline-offset:1px;border-radius:6px}
@keyframes slime-roam{
0%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.00000,1.00000)}
1.6%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.24000,0.76000)}
2.1%{transform:translateX(calc(var(--slime-end,0px) * 0.01852)) translateY(-4.015px) scale(1.05000,0.97000)}
2.6%{transform:translateX(calc(var(--slime-end,0px) * 0.03704)) translateY(-7.693px) scale(0.86000,1.18000)}
3.4%{transform:translateX(calc(var(--slime-end,0px) * 0.06667)) translateY(-12.124px) scale(0.88181,1.15423)}
4.3%{transform:translateX(calc(var(--slime-end,0px) * 0.10000)) translateY(-14.000px) scale(0.93241,1.09443)}
5.4%{transform:translateX(calc(var(--slime-end,0px) * 0.14074)) translateY(-11.230px) scale(0.97000,1.05000)}
6.2%{transform:translateX(calc(var(--slime-end,0px) * 0.17037)) translateY(-6.283px) scale(0.98500,1.02500)}
7%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.00000,1.00000)}
7.8%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.25000,0.74000)}
8.7%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(0.93000,1.10000)}
9.4%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.02500,0.97500)}
10%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.00000,1.00000)}
11.6%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.24000,0.76000)}
12.1%{transform:translateX(calc(var(--slime-end,0px) * 0.21852)) translateY(-4.015px) scale(1.05000,0.97000)}
12.6%{transform:translateX(calc(var(--slime-end,0px) * 0.23704)) translateY(-7.693px) scale(0.86000,1.18000)}
13.4%{transform:translateX(calc(var(--slime-end,0px) * 0.26667)) translateY(-12.124px) scale(0.88181,1.15423)}
14.3%{transform:translateX(calc(var(--slime-end,0px) * 0.30000)) translateY(-14.000px) scale(0.93241,1.09443)}
15.4%{transform:translateX(calc(var(--slime-end,0px) * 0.34074)) translateY(-11.230px) scale(0.97000,1.05000)}
16.2%{transform:translateX(calc(var(--slime-end,0px) * 0.37037)) translateY(-6.283px) scale(0.98500,1.02500)}
17%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.00000,1.00000)}
17.8%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.25000,0.74000)}
18.7%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(0.93000,1.10000)}
19.4%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.02500,0.97500)}
20%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.00000,1.00000)}
21.6%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.24000,0.76000)}
22.1%{transform:translateX(calc(var(--slime-end,0px) * 0.41852)) translateY(-4.015px) scale(1.05000,0.97000)}
22.6%{transform:translateX(calc(var(--slime-end,0px) * 0.43704)) translateY(-7.693px) scale(0.86000,1.18000)}
23.4%{transform:translateX(calc(var(--slime-end,0px) * 0.46667)) translateY(-12.124px) scale(0.88181,1.15423)}
24.3%{transform:translateX(calc(var(--slime-end,0px) * 0.50000)) translateY(-14.000px) scale(0.93241,1.09443)}
25.4%{transform:translateX(calc(var(--slime-end,0px) * 0.54074)) translateY(-11.230px) scale(0.97000,1.05000)}
26.2%{transform:translateX(calc(var(--slime-end,0px) * 0.57037)) translateY(-6.283px) scale(0.98500,1.02500)}
27%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.00000,1.00000)}
27.8%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.25000,0.74000)}
28.7%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(0.93000,1.10000)}
29.4%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.02500,0.97500)}
30%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.00000,1.00000)}
31.6%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.24000,0.76000)}
32.1%{transform:translateX(calc(var(--slime-end,0px) * 0.61852)) translateY(-4.015px) scale(1.05000,0.97000)}
32.6%{transform:translateX(calc(var(--slime-end,0px) * 0.63704)) translateY(-7.693px) scale(0.86000,1.18000)}
33.4%{transform:translateX(calc(var(--slime-end,0px) * 0.66667)) translateY(-12.124px) scale(0.88181,1.15423)}
34.3%{transform:translateX(calc(var(--slime-end,0px) * 0.70000)) translateY(-14.000px) scale(0.93241,1.09443)}
35.4%{transform:translateX(calc(var(--slime-end,0px) * 0.74074)) translateY(-11.230px) scale(0.97000,1.05000)}
36.2%{transform:translateX(calc(var(--slime-end,0px) * 0.77037)) translateY(-6.283px) scale(0.98500,1.02500)}
37%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.00000,1.00000)}
37.8%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.25000,0.74000)}
38.7%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(0.93000,1.10000)}
39.4%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.02500,0.97500)}
40%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.00000,1.00000)}
41.6%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.24000,0.76000)}
42.1%{transform:translateX(calc(var(--slime-end,0px) * 0.81852)) translateY(-4.015px) scale(1.05000,0.97000)}
42.6%{transform:translateX(calc(var(--slime-end,0px) * 0.83704)) translateY(-7.693px) scale(0.86000,1.18000)}
43.4%{transform:translateX(calc(var(--slime-end,0px) * 0.86667)) translateY(-12.124px) scale(0.88181,1.15423)}
44.3%{transform:translateX(calc(var(--slime-end,0px) * 0.90000)) translateY(-14.000px) scale(0.93241,1.09443)}
45.4%{transform:translateX(calc(var(--slime-end,0px) * 0.94074)) translateY(-11.230px) scale(0.97000,1.05000)}
46.2%{transform:translateX(calc(var(--slime-end,0px) * 0.97037)) translateY(-6.283px) scale(0.98500,1.02500)}
47%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(1.00000,1.00000)}
47.8%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(1.25000,0.74000)}
48.7%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(0.93000,1.10000)}
49.4%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(1.02500,0.97500)}
50%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(1.00000,1.00000)}
51.6%{transform:translateX(calc(var(--slime-end,0px) * 1.00000)) translateY(0.000px) scale(1.24000,0.76000)}
52.1%{transform:translateX(calc(var(--slime-end,0px) * 0.98148)) translateY(-4.015px) scale(1.05000,0.97000)}
52.6%{transform:translateX(calc(var(--slime-end,0px) * 0.96296)) translateY(-7.693px) scale(0.86000,1.18000)}
53.4%{transform:translateX(calc(var(--slime-end,0px) * 0.93333)) translateY(-12.124px) scale(0.88181,1.15423)}
54.3%{transform:translateX(calc(var(--slime-end,0px) * 0.90000)) translateY(-14.000px) scale(0.93241,1.09443)}
55.4%{transform:translateX(calc(var(--slime-end,0px) * 0.85926)) translateY(-11.230px) scale(0.97000,1.05000)}
56.2%{transform:translateX(calc(var(--slime-end,0px) * 0.82963)) translateY(-6.283px) scale(0.98500,1.02500)}
57%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.00000,1.00000)}
57.8%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.25000,0.74000)}
58.7%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(0.93000,1.10000)}
59.4%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.02500,0.97500)}
60%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.00000,1.00000)}
61.6%{transform:translateX(calc(var(--slime-end,0px) * 0.80000)) translateY(0.000px) scale(1.24000,0.76000)}
62.1%{transform:translateX(calc(var(--slime-end,0px) * 0.78148)) translateY(-4.015px) scale(1.05000,0.97000)}
62.6%{transform:translateX(calc(var(--slime-end,0px) * 0.76296)) translateY(-7.693px) scale(0.86000,1.18000)}
63.4%{transform:translateX(calc(var(--slime-end,0px) * 0.73333)) translateY(-12.124px) scale(0.88181,1.15423)}
64.3%{transform:translateX(calc(var(--slime-end,0px) * 0.70000)) translateY(-14.000px) scale(0.93241,1.09443)}
65.4%{transform:translateX(calc(var(--slime-end,0px) * 0.65926)) translateY(-11.230px) scale(0.97000,1.05000)}
66.2%{transform:translateX(calc(var(--slime-end,0px) * 0.62963)) translateY(-6.283px) scale(0.98500,1.02500)}
67%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.00000,1.00000)}
67.8%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.25000,0.74000)}
68.7%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(0.93000,1.10000)}
69.4%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.02500,0.97500)}
70%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.00000,1.00000)}
71.6%{transform:translateX(calc(var(--slime-end,0px) * 0.60000)) translateY(0.000px) scale(1.24000,0.76000)}
72.1%{transform:translateX(calc(var(--slime-end,0px) * 0.58148)) translateY(-4.015px) scale(1.05000,0.97000)}
72.6%{transform:translateX(calc(var(--slime-end,0px) * 0.56296)) translateY(-7.693px) scale(0.86000,1.18000)}
73.4%{transform:translateX(calc(var(--slime-end,0px) * 0.53333)) translateY(-12.124px) scale(0.88181,1.15423)}
74.3%{transform:translateX(calc(var(--slime-end,0px) * 0.50000)) translateY(-14.000px) scale(0.93241,1.09443)}
75.4%{transform:translateX(calc(var(--slime-end,0px) * 0.45926)) translateY(-11.230px) scale(0.97000,1.05000)}
76.2%{transform:translateX(calc(var(--slime-end,0px) * 0.42963)) translateY(-6.283px) scale(0.98500,1.02500)}
77%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.00000,1.00000)}
77.8%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.25000,0.74000)}
78.7%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(0.93000,1.10000)}
79.4%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.02500,0.97500)}
80%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.00000,1.00000)}
81.6%{transform:translateX(calc(var(--slime-end,0px) * 0.40000)) translateY(0.000px) scale(1.24000,0.76000)}
82.1%{transform:translateX(calc(var(--slime-end,0px) * 0.38148)) translateY(-4.015px) scale(1.05000,0.97000)}
82.6%{transform:translateX(calc(var(--slime-end,0px) * 0.36296)) translateY(-7.693px) scale(0.86000,1.18000)}
83.4%{transform:translateX(calc(var(--slime-end,0px) * 0.33333)) translateY(-12.124px) scale(0.88181,1.15423)}
84.3%{transform:translateX(calc(var(--slime-end,0px) * 0.30000)) translateY(-14.000px) scale(0.93241,1.09443)}
85.4%{transform:translateX(calc(var(--slime-end,0px) * 0.25926)) translateY(-11.230px) scale(0.97000,1.05000)}
86.2%{transform:translateX(calc(var(--slime-end,0px) * 0.22963)) translateY(-6.283px) scale(0.98500,1.02500)}
87%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.00000,1.00000)}
87.8%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.25000,0.74000)}
88.7%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(0.93000,1.10000)}
89.4%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.02500,0.97500)}
90%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.00000,1.00000)}
91.6%{transform:translateX(calc(var(--slime-end,0px) * 0.20000)) translateY(0.000px) scale(1.24000,0.76000)}
92.1%{transform:translateX(calc(var(--slime-end,0px) * 0.18148)) translateY(-4.015px) scale(1.05000,0.97000)}
92.6%{transform:translateX(calc(var(--slime-end,0px) * 0.16296)) translateY(-7.693px) scale(0.86000,1.18000)}
93.4%{transform:translateX(calc(var(--slime-end,0px) * 0.13333)) translateY(-12.124px) scale(0.88181,1.15423)}
94.3%{transform:translateX(calc(var(--slime-end,0px) * 0.10000)) translateY(-14.000px) scale(0.93241,1.09443)}
95.4%{transform:translateX(calc(var(--slime-end,0px) * 0.05926)) translateY(-11.230px) scale(0.97000,1.05000)}
96.2%{transform:translateX(calc(var(--slime-end,0px) * 0.02963)) translateY(-6.283px) scale(0.98500,1.02500)}
97%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.00000,1.00000)}
97.8%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.25000,0.74000)}
98.7%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(0.93000,1.10000)}
99.4%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.02500,0.97500)}
100%{transform:translateX(calc(var(--slime-end,0px) * 0.00000)) translateY(0.000px) scale(1.00000,1.00000)}
}
@keyframes slime-facing{0%{transform:scaleX(var(--slime-heading,1))}50%,100%{transform:scaleX(calc(var(--slime-heading,1) * -1))}}
@media(hover:hover) and (pointer:fine){.huntband-intro:has(.slime-art:hover) :is(.slime-art,.slime-art img,.slime-ground-fx,.slime-ground-fx>span){animation-play-state:paused}}
.huntband-intro:has(.slime-character:focus-visible) :is(.slime-art,.slime-art img,.slime-ground-fx,.slime-ground-fx>span){animation-play-state:paused}
@keyframes slime-bounce{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(1px) scale(1.18,.82)}48%{transform:translateY(-8px) scale(.9,1.1)}73%{transform:translateY(1px) scale(1.1,.9)}90%{transform:scale(.98,1.02)}}
@media(min-width:761px) and (max-width:1100px){.slime-card .huntband-intro{--slime-size:96px}}
@media(max-width:760px){.slime-art{left:auto;right:0;top:0;bottom:auto;--slime-heading:1}}
@media(prefers-reduced-motion:reduce){.slime-art,.slime-character,.slime-character img{animation:none!important;transform:none!important}}


/* A shallow grass patch and grounded effects share Moss's existing walking lane. */
.slime-meadow{position:absolute;left:-6px;bottom:calc(-28px + var(--slime-size) * .1015625 - 12px);width:calc(var(--slime-travel,0px) + var(--slime-size) + 12px);height:16px;pointer-events:none;color:#758d55;background:radial-gradient(ellipse at center,#9caf7338 0%,#9caf731a 60%,transparent 73%)}
.slime-meadow::before{content:"";position:absolute;inset:3px 8px 6px;border-top:1px solid #758d5550;border-radius:50%}
.slime-meadow>span{position:absolute;bottom:10px;width:9px;height:8px;background:currentColor;opacity:.65;clip-path:polygon(0 100%,0 45%,30% 65%,44% 0,66% 70%,100% 35%,100% 100%)}
.slime-meadow>span:nth-child(1){left:8%;height:6px;rotate:-9deg}
.slime-meadow>span:nth-child(2){left:35%;width:7px}
.slime-meadow>span:nth-child(3){left:72%;height:6px;rotate:12deg}
.slime-meadow>span:nth-child(4){left:90%;width:7px;height:5px}
.slime-ground-fx{position:absolute;left:0;bottom:-28px;width:var(--slime-size);aspect-ratio:1;pointer-events:none}
.slime-shadow{position:absolute;left:50%;top:89.84375%;translate:-50% -35%;width:61%;height:8%;border-radius:50%;background:#112316;opacity:.22;filter:blur(.7px);transform-origin:center}
.slime-landing-ring{position:absolute;left:50%;top:89.84375%;translate:-50% -35%;width:70%;height:10%;border:1px solid #758d55;border-radius:50%;opacity:0}
.slime-dust{position:absolute;left:50%;top:89.84375%;width:3px;height:3px;border-radius:1px;background:#758d55;opacity:0;--dust-x:-22px;--dust-y:-8px;--dust-turn:-60deg}
.slime-dust:nth-last-child(3){--dust-x:-12px;--dust-y:-13px;--dust-turn:45deg;width:2px;height:3px}
.slime-dust:nth-last-child(2){--dust-x:14px;--dust-y:-11px;--dust-turn:-35deg;width:2px;height:2px}
.slime-dust:last-child{--dust-x:23px;--dust-y:-6px;--dust-turn:75deg}
.slime-motion-ready .slime-ground-fx{animation:slime-ground-roam 7.41s linear infinite;will-change:transform}
.slime-motion-ready .slime-shadow{animation:slime-shadow-hop .741s linear infinite}
.slime-motion-ready .slime-landing-ring{animation:slime-impact .741s linear infinite}
.slime-motion-ready .slime-dust{animation:slime-dust .741s linear infinite}
@keyframes slime-shadow-hop{0%,16%,100%{transform:scale(1);opacity:.22}43%{transform:scale(.62);opacity:.10}70%{transform:scale(1);opacity:.22}78%{transform:scale(1.22,.85);opacity:.29}}
@keyframes slime-impact{0%,69%{opacity:0;transform:scale(.55)}71%{opacity:.4;transform:scale(.7)}94%,100%{opacity:0;transform:scale(1.55,1.1)}}
@keyframes slime-dust{0%,70%{opacity:0;transform:translate(0,0) scale(.6)}72%{opacity:.7;transform:translate(0,-1px) scale(1)}96%,100%{opacity:0;transform:translate(var(--dust-x),var(--dust-y)) rotate(var(--dust-turn)) scale(.35)}}
@media(max-width:760px){
 .slime-card .huntband-intro{--slime-size:44px}
 .slime-ground-fx{left:auto;right:0;top:0;bottom:auto}
 .slime-meadow{left:auto;right:-6px;top:calc(var(--slime-size) * .8984375 - 3px);bottom:auto;height:10px}
 .slime-meadow::before{inset:2px 8px 4px}
 .slime-meadow>span{bottom:6px;height:5px!important;width:6px!important}
}
@media(prefers-reduced-motion:reduce){.slime-ground-fx,.slime-ground-fx>span{animation:none!important;transform:none!important}.slime-landing-ring,.slime-dust{display:none}}

@keyframes slime-ground-roam{
0%{transform:translateX(calc(var(--slime-end,0px) * 0.00000))}
1.6%{transform:translateX(calc(var(--slime-end,0px) * 0.00000))}
7%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
10%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
11.6%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
17%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
20%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
21.6%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
27%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
30%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
31.6%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
37%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
40%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
41.6%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
47%{transform:translateX(calc(var(--slime-end,0px) * 1.00000))}
50%{transform:translateX(calc(var(--slime-end,0px) * 1.00000))}
51.6%{transform:translateX(calc(var(--slime-end,0px) * 1.00000))}
57%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
60%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
61.6%{transform:translateX(calc(var(--slime-end,0px) * 0.80000))}
67%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
70%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
71.6%{transform:translateX(calc(var(--slime-end,0px) * 0.60000))}
77%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
80%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
81.6%{transform:translateX(calc(var(--slime-end,0px) * 0.40000))}
87%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
90%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
91.6%{transform:translateX(calc(var(--slime-end,0px) * 0.20000))}
97%{transform:translateX(calc(var(--slime-end,0px) * 0.00000))}
100%{transform:translateX(calc(var(--slime-end,0px) * 0.00000))}
}

/* Native card links cover the card; the slime remains an independent control. */
.site-nav{display:flex;align-items:center;gap:8px}
.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;font-size:14px;font-weight:600;border-radius:5px}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.huntband-project{position:relative}
.project-card-link{position:absolute;inset:0;z-index:2;border-radius:7px}
.project-card-link:focus-visible{outline-offset:4px}
.project-link-arrow{position:absolute;right:18px;top:18px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:18px;line-height:1;color:var(--muted);transition:background .2s,color .2s,translate .2s}
.project-card-link:hover .project-link-arrow,.project-card-link:focus-visible .project-link-arrow{background:var(--accent);color:var(--on-accent);translate:2px -2px}
.slime-art{z-index:3}
@media(max-width:380px){.site-nav a{padding:0 6px;font-size:13px}.header-actions{gap:4px}}
/* Keep the home menu readable with two full-size links on narrow screens. */
@media(max-width:400px){.site-header:has(.site-nav a[href="/contact/"]){grid-template-columns:1fr auto;gap:8px 12px}.site-header:has(.site-nav a[href="/contact/"]) .header-actions{display:contents}.site-header:has(.site-nav a[href="/contact/"]) .site-nav{grid-column:1/-1;grid-row:2;justify-content:flex-end}.site-header:has(.site-nav a[href="/contact/"]) .theme-toggle{grid-column:2;grid-row:1}}

/* Keep the About heading and copy aligned after removing the overline. */
.about-section{grid-template-columns:.7fr 1.3fr}
@media(max-width:760px){.about-section{grid-template-columns:1fr}}
.site-footer{grid-template-columns:1fr auto auto 1fr;column-gap:24px;row-gap:20px}.site-footer .footer-privacy{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
@media(max-width:760px){.site-footer{grid-template-columns:1fr auto;gap:8px 16px}.footer-privacy{grid-row:3;grid-column:2;justify-self:end}.site-footer .footer-top{grid-row:4;grid-column:1/-1;justify-self:end}}

/* Small planned-platform marks sit beside development status. */
.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 18px}
.project-meta .project-status{margin:0}
.platform-mark{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}
.platform-mark .platform-icon{display:inline-block;flex-shrink:0;width:16px;height:16px;padding:0;background:currentColor;-webkit-mask:var(--platform-image) center/contain no-repeat;mask:var(--platform-image) center/contain no-repeat}
.platform-steam{--platform-image:url('/assets/steam.svg')}.platform-roblox{--platform-image:url('/assets/roblox.svg')}
.game-meta .platform-mark{padding:0}
.game-card-description{font-size:16px;line-height:1.85;max-width:46ch;color:var(--muted);margin:0}
