/* Hallmark · Split Studio · Midnight · original nonrepresentational wave motion
 * pre-emit critique: P5 H5 E4 S5 R5 V5 */
/* sRGB 打底（不支持 color-mix 的浏览器用），@supports 内为广色域原值。改色请两处同步改。 */
:root{--jl-wave-quiet:#3e3d1d;--jl-wave-mid:#878434;--jl-wave-shadow:rgba(16,11,11,.7)}
@supports (color:color-mix(in oklch,#000 50%,#fff)){:root{--jl-wave-quiet:color-mix(in oklch,var(--color-accent) 26%,var(--color-paper));--jl-wave-mid:color-mix(in oklch,var(--color-accent) 58%,var(--color-paper));--jl-wave-shadow:color-mix(in oklch,var(--color-paper) 70%,var(--color-transparent))}}
[data-hm-hero]{--hm-motion-state:paused}
[data-hm-hero][data-hm-motion=running]{--hm-motion-state:running}
.home-page .hero h1{font-size:clamp(2.7rem,4.7vw,4.5rem);line-height:1.3;letter-spacing:-.055em}
.hm-hero-stage{position:relative;isolation:isolate;overflow:clip;aspect-ratio:1.2;border-radius:var(--radius-lg);background:var(--color-paper-2);border:1px solid var(--color-rule);container-type:inline-size}
.hm-hero-top{position:absolute;inset:var(--space-lg) var(--space-lg) auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);z-index:var(--z-raised)}
.hm-hero-eyebrow{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.13em;color:var(--color-muted)}
.hm-hero-control{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap}
.hm-hero-control svg{width:14px;height:14px;stroke-width:1.8}
.hm-hero-play{display:none}
.hm-hero-control[aria-pressed=true] .hm-hero-play{display:block}
.hm-hero-control[aria-pressed=true] .hm-hero-pause{display:none}
.hm-hero-control:active{transform:translateY(1px)}
.hm-hero-control:disabled{opacity:.7;cursor:default}
.jl-wave-lines{position:absolute;inset:0;width:100%;height:100%;stroke-width:1;fill:none;pointer-events:none;overflow:visible}
.wave-line{stroke:var(--jl-wave-quiet)}
.wave-line-accent{stroke:var(--jl-wave-mid);stroke-width:1.4}
.jl-wave-ribbon{transform-origin:center;animation:jl-wave-breathe 12s var(--ease-in-out) infinite alternate;animation-play-state:var(--hm-motion-state)}
.hm-hero-bottom{position:absolute;inset:auto var(--space-lg) var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
.hm-hero-bottom p{font-size:clamp(12px,2.6cqw,16px);font-weight:500}
.jl-wave-signature{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.14em}
.jl-hero .art-caption{font-size:var(--text-xs)}
.jl-hero .art-caption strong{font-size:var(--text-sm)}
/* A compact capability team replaces the old fictional workflow sample. */
.jl-team{border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-2xl);background:var(--color-paper-2)}
.jl-team-header{padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-rule)}
.jl-team-header>span{font-size:var(--text-sm);color:var(--color-muted)}
.jl-team-header>strong{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:2rem;margin-top:var(--space-sm);color:var(--color-accent);font-weight:700}
.jl-team-header>strong>span{font-size:var(--text-xs);font-weight:400;color:var(--color-muted)}
.jl-team-roles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-lg);padding-top:var(--space-xl)}
.jl-team-roles li{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}
.jl-team-roles svg{width:22px;height:22px;color:var(--color-muted);margin-top:4px}
.jl-team-roles strong{display:block;font-size:var(--text-base);font-weight:500}
.jl-team-roles span{display:block;font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-xs)}
.studio-copy .jl-team-punch{color:var(--color-accent);font-size:var(--text-md);font-weight:500;margin-top:var(--space-lg)}
/* Login: a taller wave curtain, with the same line language and a quiet text zone. */
.jl-auth-visual{isolation:isolate;background:var(--color-paper-2);color:var(--color-ink)}
.jl-auth-visual .jl-wave-lines{height:78%;opacity:.85}
.jl-auth-visual .jl-wave-ribbon{animation-name:jl-wave-curtain;animation-duration:16s}
.jl-auth-visual .auth-brand{z-index:var(--z-raised)}
.jl-auth-motion{position:absolute;right:var(--space-xl);top:var(--space-2xl);z-index:var(--z-raised)}
.jl-auth-equation{position:absolute;inset:22% var(--space-xl) auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-lg);font-family:var(--font-display);font-size:clamp(2.6rem,6vw,7rem);font-weight:600;line-height:1.2;letter-spacing:-.06em}
.jl-auth-equation .jl-auth-times{font-weight:300;color:var(--color-accent);font-size:.7em}
.jl-auth-equation small{flex-basis:100%;text-align:center;font-size:var(--text-xs);letter-spacing:.25em;color:var(--color-muted);font-weight:400;margin-top:var(--space-md)}
.jl-auth-visual .visual-caption{bottom:var(--space-2xl);background:transparent;padding-top:var(--space-xl)}
.jl-auth-visual .visual-caption h2{font-size:clamp(1.5rem,2.55vw,2.8rem);line-height:1.55;letter-spacing:-.035em}
.jl-auth-visual .visual-caption h2 span{color:var(--color-accent)}
.jl-auth-visual .visual-credit{border-color:var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-xl)}
@keyframes jl-wave-breathe{from{transform:translate(-2%,1%) rotate(-3deg);opacity:.6}to{transform:translate(2%,-2%) rotate(3deg);opacity:1}}
@keyframes jl-wave-curtain{from{transform:translate(-4%,-2%) rotate(-5deg);opacity:.65}to{transform:translate(4%,2%) rotate(4deg);opacity:1}}
@media(hover:hover) and (pointer:fine){.hm-hero-control:not(:disabled):hover{color:var(--color-accent);border-color:var(--color-field-rule)}}
@media(max-width:1100px){.jl-auth-motion{top:var(--space-xl)}.jl-auth-motion .hm-hero-control{padding-inline:var(--space-xs)}.jl-auth-equation{gap:var(--space-sm)}.jl-auth-visual .visual-caption{bottom:var(--space-xl)}.jl-team{padding:var(--space-xl)}.jl-team-roles{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}}
@media(max-width:800px){.home-page .hero h1{font-size:clamp(2.7rem,7.6vw,4.5rem)}.home-page .hero h1 br{display:block}.hm-hero-stage{aspect-ratio:1.4}.jl-auth-motion{top:88px;right:var(--space-lg)}.jl-auth-equation{top:27%;font-size:2.7rem}.jl-auth-equation small{font-size:12px;letter-spacing:.12em}.jl-auth-visual .visual-caption h2{font-size:1.375rem}.jl-auth-visual .visual-caption>p{font-size:var(--text-sm)}.jl-auth-visual .visual-credit{flex-direction:row}.jl-team-header>strong{flex-direction:column;align-items:flex-start}.studio-section{gap:var(--space-xl)}}
@media(max-width:480px){.home-page .hero h1{font-size:clamp(2.45rem,10vw,3.5rem)}.hm-hero-stage{aspect-ratio:1.05;border-radius:var(--radius-md)}.hm-hero-top{inset:var(--space-sm) var(--space-sm) auto}.hm-hero-eyebrow{font-size:12px;letter-spacing:.06em}.hm-hero-control{font-size:12px;gap:6px;padding-inline:10px}.hm-hero-bottom{inset:auto var(--space-sm) var(--space-sm)}.jl-wave-signature{display:none}.jl-hero .art-caption{align-items:flex-start;gap:var(--space-xs)}.jl-hero .art-caption strong{font-size:var(--text-xs)}.jl-team-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-sm)}.jl-team-roles li{display:block}.jl-team-roles svg{margin-bottom:var(--space-xs)}.jl-team-header>strong{flex-direction:row;align-items:center}.jl-team{padding:var(--space-lg)}.jl-team-header>strong>span{max-width:7em}.home-page .hero-description{font-size:var(--text-base)}}
@media(prefers-reduced-motion:reduce){.jl-wave-ribbon{animation:none;transform:none;opacity:1}}
