/* PenEcho homepage — quiet surfaces, one accent, large type, and the work in full view. */
:root {
  --bg:#ffffff; --bg-alt:#f5f5f7; --ink:#1d1d1f; --muted:#6e6e73; --faint:#86868b; --line:#d2d2d7; --hairline:rgba(0,0,0,.08);
  --accent:#0071e3; --accent-hover:#0077ed; --link:#0066cc;
  --dark:#000000; --dark-tile:#161617; --dark-ink:#f5f5f7; --dark-muted:#a1a1a6; --dark-link:#2997ff; --dark-line:rgba(255,255,255,.14);
  --glow:linear-gradient(90deg,#0071e3 0%,#5e5ce6 45%,#bf5af2 100%);
  --glow-dark:linear-gradient(90deg,#64d2ff 0%,#8e8cff 50%,#ff7ad9 100%);
  --radius-lg:28px; --radius-md:20px; --radius-sm:12px;
  --shell:1120px;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  --ease:cubic-bezier(.25,.1,.25,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:64px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.47; letter-spacing:-.022em; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
body:has(dialog[open]) { overflow:hidden; }
[hidden] { display:none!important; }
img { display:block; max-width:100%; }
figure,p,h1,h2,h3,ol { margin:0; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; border:0; background:none; letter-spacing:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:6px; }
::selection { background:#b3d7ff; }
.shell { width:min(var(--shell),calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; top:10px; left:16px; z-index:100; padding:10px 16px; border-radius:999px; background:var(--ink); color:#fff; font-size:14px; transform:translateY(-200%); }
.skip-link:focus { transform:none; }

/* Type */
h1,h2,h3 { font-weight:700; color:var(--ink); text-wrap:balance; }
h1 { font-size:clamp(44px,6.2vw,80px); line-height:1.05; letter-spacing:-.035em; }
h2 { font-size:clamp(34px,4.4vw,56px); line-height:1.07; letter-spacing:-.03em; }
h3 { font-size:21px; line-height:1.24; letter-spacing:-.02em; font-weight:600; }
em { font-style:normal; background:var(--glow); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.eyebrow { margin-bottom:10px; color:var(--faint); font-size:17px; font-weight:600; letter-spacing:-.01em; line-height:1.3; }
.section-lead { text-wrap:balance; max-width:640px; margin-top:18px; color:var(--muted); font-size:21px; line-height:1.4; letter-spacing:-.016em; }
.section-head { text-align:center; margin-bottom:48px; }
.section-head .section-lead { margin-inline:auto; }

/* Actions */
.primary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 22px; border-radius:980px; background:var(--accent); color:#fff; font-size:17px; font-weight:500; letter-spacing:-.01em; transition:background-color .2s var(--ease),transform .2s var(--ease); }
.primary:hover { background:var(--accent-hover); }
.primary:active { transform:scale(.98); }
.text-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--link); font-size:17px; letter-spacing:-.01em; }
.text-link::after { content:""; width:7px; height:7px; margin-top:1px; border-top:1.6px solid currentColor; border-right:1.6px solid currentColor; transform:rotate(45deg); transition:transform .2s var(--ease); }
.text-link:hover { text-decoration:underline; text-underline-offset:3px; }
.text-link:hover::after { transform:translateX(2px) rotate(45deg); }

/* Header: the shared bar lives in site-header.css; the homepage only toggles its dark material over the MCP chapter. */

/* Hero */
.studio-hero { padding-top:clamp(56px,8vw,96px); text-align:center; overflow:hidden; }
.hero-copy { display:flex; flex-direction:column; align-items:center; min-width:0; }
.hero-news { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; padding:5px 14px 5px 5px; border-radius:980px; background:var(--bg-alt); color:var(--ink); font-size:14px; letter-spacing:-.01em; transition:background-color .2s var(--ease); }
.hero-news:hover { background:#ebebf0; }
.hero-news::after { content:""; width:6px; height:6px; margin-left:2px; border-top:1.5px solid var(--faint); border-right:1.5px solid var(--faint); transform:rotate(45deg); }
.hero-news-tag { padding:3px 10px; border-radius:980px; background:var(--ink); color:#fff; font-size:12px; font-weight:600; letter-spacing:0; }
.hero-lead { max-width:640px; margin-top:22px; color:var(--muted); font-size:clamp(19px,1.7vw,22px); line-height:1.4; letter-spacing:-.016em; text-wrap:pretty; }
.hero-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 28px; margin-top:30px; }
.hero-video-frame { position:relative; width:min(980px,calc(100% - 48px)); margin:clamp(40px,4.6vw,60px) auto 0; }
.hero-video-frame::before { content:""; position:absolute; inset:8% 6% 14%; z-index:-1; border-radius:50%; background:radial-gradient(closest-side,rgba(0,113,227,.22),rgba(191,90,242,.14) 55%,transparent); filter:blur(40px); pointer-events:none; }
.studio-hero { position:relative; isolation:isolate; }
.hero-video-screen { overflow:hidden; border-radius:var(--radius-lg); background:var(--bg-alt); box-shadow:0 1px 0 var(--hairline),0 40px 80px -40px rgba(0,0,0,.35),0 0 0 1px var(--hairline); }
.hero-video-frame video { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; background:var(--bg-alt); }
.film-choices { display:inline-grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin-top:22px; padding:4px; border-radius:980px; background:var(--bg-alt); }
.film-choices button { min-width:0; min-height:36px; padding:6px 20px; border-radius:980px; color:var(--muted); font-size:14px; letter-spacing:-.01em; white-space:nowrap; transition:background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease); }
.film-choices button:hover { color:var(--ink); }
.film-choices button[aria-pressed="true"] { background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04); }
.media-error { margin-top:14px; color:#b25000; font-size:14px; }
.media-error a { color:var(--link); text-decoration:underline; }

/* Proof strip */
.home-facts { padding-block:clamp(48px,6vw,72px); }
.facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.facts-grid>a { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:4px 16px; text-align:center; border-left:1px solid var(--hairline); }
.facts-grid>a:first-child { border-left:0; }
.facts-grid strong { font-size:clamp(28px,3vw,40px); font-weight:700; line-height:1.1; letter-spacing:-.03em; white-space:nowrap; font-variant-numeric:tabular-nums; transition:color .2s var(--ease); }
.facts-grid span { color:var(--muted); font-size:14px; letter-spacing:-.01em; }
.facts-grid>a:hover strong { color:var(--accent); }

/* MCP — the one dark chapter */
.mcp-section { padding-block:clamp(64px,8vw,104px); background:var(--dark); color:var(--dark-ink); }
.mcp-section h2,.mcp-section h3 { color:var(--dark-ink); }
.mcp-section em { background-image:var(--glow-dark); }
.mcp-section .eyebrow { color:var(--dark-muted); }
.mcp-section .section-lead { color:var(--dark-muted); font-size:19px; }
.mcp-section .section-head { margin-bottom:56px; }
.mcp-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,5.5vw,72px); align-items:center; }
.mcp-copy,.mcp-architecture { min-width:0; }
.mcp-clients { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:26px; }
.mcp-clients span { padding:6px 14px; border:1px solid var(--dark-line); border-radius:980px; color:var(--dark-ink); font-size:14px; }
.mcp-points { list-style:none; margin:0; padding:0; counter-reset:point; }
.mcp-points li { counter-increment:point; display:grid; gap:4px; padding:20px 0; border-top:1px solid var(--dark-line); }
.mcp-points li:first-child { border-top:0; padding-top:0; }
.mcp-points li::before { content:"0" counter(point); color:var(--dark-muted); font-size:12px; font-weight:600; letter-spacing:.04em; font-variant-numeric:tabular-nums; }
.mcp-points strong { font-size:17px; font-weight:600; }
.mcp-points span { color:var(--dark-muted); font-size:15px; line-height:1.45; }
.mcp-bridge { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--dark-muted); font-size:13px; white-space:nowrap; }
.mcp-bridge i { position:relative; flex:1; height:1px; min-width:16px; background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.45)); }
.mcp-bridge i::after { content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1px solid rgba(255,255,255,.6); border-right:1px solid rgba(255,255,255,.6); transform:rotate(45deg); }
.mcp-node { padding:6px 14px; border-radius:980px; background:var(--glow-dark); color:#000; font-weight:600; }
.mcp-canvas-frame { overflow:hidden; border-radius:var(--radius-md); background:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.08),0 50px 100px -40px rgba(80,120,255,.35); }
.mcp-canvas-title { position:relative; padding:10px 16px; background:#f5f5f7; border-bottom:1px solid var(--hairline); color:var(--muted); font-size:12px; font-weight:500; text-align:center; }
.window-dots { position:absolute; left:14px; top:50%; display:flex; gap:7px; transform:translateY(-50%); }
.window-dots i { width:11px; height:11px; border-radius:50%; background:#ff5f57; }
.window-dots i:nth-child(2) { background:#febc2e; }
.window-dots i:nth-child(3) { background:#28c840; }
.mcp-canvas-frame img { width:100%; height:auto; }
.mcp-feedback { margin-top:14px; color:var(--dark-muted); font-size:13px; text-align:center; }

/* Diagrams — a bento of real output */
.diagram-section { padding-block:clamp(64px,8vw,104px); background:var(--bg-alt); }
.diagram-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:20px; height:clamp(560px,66vh,760px); }
.diagram-piece { display:flex; flex-direction:column; min-width:0; min-height:0; padding:20px 22px 8px; border-radius:var(--radius-lg); background:#fff; }
.diagram-piece[data-diagram-category="architecture"] { grid-row:1 / 3; }
.diagram-piece h3 { margin-bottom:12px; color:var(--faint); font-size:14px; font-weight:600; letter-spacing:-.005em; }
.diagram-piece figure { flex:1; display:flex; flex-direction:column; min-height:0; }
.diagram-image { position:relative; flex:1; display:block; width:100%; min-height:0; padding:0; border-radius:var(--radius-sm); overflow:hidden; }
.diagram-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:transform .5s var(--ease); }
.diagram-image:hover img { transform:scale(1.015); }
.diagram-expand { position:absolute; right:6px; bottom:6px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(29,29,31,.72); color:#fff; opacity:0; transition:opacity .2s var(--ease); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.diagram-image:hover .diagram-expand,.diagram-image:focus-visible .diagram-expand { opacity:1; }
.diagram-section svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.diagram-piece figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; color:var(--muted); font-size:13px; }
.diagram-choices { display:flex; flex:none; }
.diagram-choices button { display:grid; place-items:center; width:26px; height:44px; padding:0; }
.diagram-choices button::after { content:""; width:7px; height:7px; border-radius:7px; background:#c7c7cc; transition:width .3s var(--ease),background-color .3s var(--ease); }
.diagram-choices button[aria-pressed="true"]::after { width:22px; background:var(--ink); }
.diagram-choices button:hover::after { background:var(--faint); }
.diagram-choices button[aria-pressed="true"]:hover::after { background:var(--ink); }
.diagram-footer { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:28px; }
.diagram-rotation { display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:50%; background:#e8e8ed; color:var(--ink); transition:background-color .2s var(--ease); }
.diagram-rotation:hover { background:#dcdce1; }

/* Showcase — one stage, five stories */
.case-stories { padding-block:clamp(64px,8vw,104px); }
.showcase-switch { display:flex; width:fit-content; max-width:100%; margin:0 auto 28px; padding:4px; gap:2px; border-radius:980px; background:var(--bg-alt); overflow-x:auto; scrollbar-width:none; }
.showcase-switch::-webkit-scrollbar { display:none; }
.showcase-switch button { flex:none; min-height:36px; padding:6px 20px; border-radius:980px; color:var(--muted); font-size:14px; white-space:nowrap; transition:background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease); }
.showcase-switch button:hover { color:var(--ink); }
.showcase-switch button[aria-pressed="true"] { background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04); }
.showcase-stage { position:relative; aspect-ratio:16/8.8; border-radius:var(--radius-lg); background:var(--bg-alt); overflow:hidden; }
.showcase-slide { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:clamp(16px,3.4vw,44px); opacity:0; visibility:hidden; transform:scale(.985); transition:opacity .6s var(--ease),transform .8s var(--ease),visibility 0s linear .6s; cursor:zoom-in; }
.showcase-slide.is-active { opacity:1; visibility:visible; transform:none; transition:opacity .6s var(--ease),transform .8s var(--ease),visibility 0s; }
.showcase-slide { container-type:size; }
.slide-frame { position:relative; display:block; width:100%; width:min(100cqw,calc(100cqh * var(--ar))); aspect-ratio:var(--ar); overflow:hidden; border-radius:10px; background:#fff; box-shadow:0 0 0 1px var(--hairline),0 24px 48px -24px rgba(0,0,0,.28); }
.slide-frame img { position:absolute; left:var(--x,0); top:var(--y,0); width:var(--w,100%); max-width:none; height:auto; }
.showcase-caption { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-top:26px; }
.showcase-copy { max-width:640px; }
.showcase-copy p { margin-top:6px; color:var(--muted); font-size:17px; }
.showcase-arrows { display:flex; align-items:center; gap:12px; flex:none; color:var(--faint); font-size:13px; font-variant-numeric:tabular-nums; }
.showcase-arrows button { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--bg-alt); color:var(--ink); transition:background-color .2s var(--ease); }
.showcase-arrows button:hover { background:#e8e8ed; }
.showcase-arrows svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Cloud, Echoes and partners */
.cloud-echo { padding-bottom:clamp(64px,8vw,104px); }
.bento { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tile { position:relative; min-width:0; padding:clamp(28px,3.6vw,48px); border-radius:var(--radius-lg); background:var(--bg-alt); overflow:hidden; }
.tile h2 { font-size:clamp(28px,2.8vw,36px); line-height:1.1; }
.tile p:not(.eyebrow) { max-width:460px; margin-top:16px; color:var(--muted); font-size:17px; }
.tile .text-link { margin-top:10px; }
.idea-thread { display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; margin-top:26px; }
.idea-thread span { position:relative; padding:7px 14px; border-radius:980px; background:#fff; color:var(--ink); font-size:13px; box-shadow:0 0 0 1px var(--hairline); }
.idea-thread span+span::before { content:""; position:absolute; left:-21px; top:50%; width:16px; height:1px; background:var(--faint); }
.idea-thread span:last-child { background:var(--ink); color:#fff; box-shadow:none; }
.idea-branch span:last-child { background:var(--accent); }
.studio-partner { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:center; }
.studio-partner h2 { font-size:clamp(26px,2.4vw,32px); }
.kimi-badge { display:block; justify-self:end; width:100%; max-width:380px; padding:26px 28px; border-radius:var(--radius-md); background:#fff; box-shadow:0 0 0 1px var(--hairline); transition:box-shadow .2s var(--ease),transform .2s var(--ease); }
.kimi-badge:hover { transform:translateY(-2px); box-shadow:0 0 0 1px var(--hairline),0 18px 36px -18px rgba(0,0,0,.25); }
.kimi-badge img { width:100%; height:auto; }

/* Closing */
.studio-final { padding-block:clamp(72px,8.5vw,120px); border-top:1px solid var(--hairline); text-align:center; }
.studio-final h2 { font-size:clamp(40px,6vw,72px); line-height:1.05; letter-spacing:-.035em; }
.final-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 28px; margin-top:34px; }

/* Footer */
.home-footer { padding-block:28px 22px; background:var(--bg-alt); color:var(--muted); font-size:12px; letter-spacing:-.005em; }
.footer-top { display:flex; align-items:center; gap:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.home-footer .wordmark { color:var(--ink); font-size:17px; letter-spacing:-.04em; }
.home-footer .wordmark strong { font-weight:700; }
.footer-top p { color:var(--muted); }
.footer-links,.footer-bottom>div { display:flex; align-items:center; gap:20px; margin-left:auto; }
.home-footer a:not(.wordmark) { display:inline-flex; align-items:center; min-height:32px; color:#424245; }
.home-footer a:not(.wordmark):hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.footer-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:6px 20px; padding-top:12px; }

/* Media dialog */
.media-dialog { width:min(1500px,96vw); max-width:96vw; max-height:94dvh; padding:18px; border:0; border-radius:var(--radius-md); background:#fff; color:var(--ink); box-shadow:0 40px 120px rgba(0,0,0,.35); }
.media-dialog::backdrop { background:rgba(0,0,0,.42); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.dialog-toolbar { display:flex; align-items:center; gap:10px; padding:0 2px 14px; }
.dialog-toolbar h2 { flex:1; font-size:17px; font-weight:600; letter-spacing:-.02em; line-height:1.35; white-space:pre-line; }
.dialog-toolbar button { flex:none; min-height:36px; padding:6px 16px; border-radius:980px; background:var(--bg-alt); font-size:14px; }
.dialog-toolbar button:hover { background:#e8e8ed; }
#dialog-content { display:grid; place-items:center; overflow:auto; border-radius:var(--radius-sm); background:var(--bg-alt); }
#dialog-content img { max-height:74dvh; max-width:100%; object-fit:contain; }
#dialog-caption { margin-top:12px; color:var(--muted); font-size:13px; }
.media-dialog.diagram-zoom #dialog-content { display:block; max-height:74dvh; }
.media-dialog.diagram-zoom #dialog-content img { width:2000px; max-width:none; max-height:none; }

/* Quiet scroll reveals (only once JavaScript opts in) */
.reveal-ready .reveal { opacity:0; transform:translateY(28px); transition:opacity 1s var(--ease),transform 1s cubic-bezier(.2,.7,.2,1); }
.reveal-ready .reveal.is-visible { opacity:1; transform:none; }
.reveal-ready .hero-copy .reveal:nth-child(2) { transition-delay:.06s; }
.reveal-ready .hero-copy .reveal:nth-child(3) { transition-delay:.12s; }
.reveal-ready .hero-copy .reveal:nth-child(4) { transition-delay:.18s; }
.reveal-ready .hero-video-frame.reveal { transition-delay:.24s; }

/* Chinese edition */
html[lang^="zh"] body { letter-spacing:0; }
html[lang^="zh"] h1 { font-size:clamp(40px,5.4vw,70px); line-height:1.16; letter-spacing:-.01em; }
html[lang^="zh"] h2,html[lang^="zh"] h3 { line-height:1.22; letter-spacing:-.005em; }
html[lang^="zh"] .section-lead,html[lang^="zh"] .hero-lead { line-height:1.6; }

/* Tablet */
@media(max-width:1068px) {
  .mcp-layout { grid-template-columns:1fr; }
  .mcp-copy { order:2; }
  .mcp-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .mcp-points li { border-top:1px solid var(--dark-line); padding-top:18px; }
  .mcp-points li:first-child { border-top:1px solid var(--dark-line); padding-top:18px; }
  .mcp-architecture { width:min(760px,100%); margin-inline:auto; }
  .diagram-gallery { height:clamp(520px,62vh,680px); }
  .idea-thread { gap:8px 18px; }
  .idea-thread span { padding:5px 10px; font-size:12px; }
  .idea-thread span+span::before { left:-15px; width:12px; }
}

/* Phone */
@media(max-width:734px) {
  body { font-size:16px; }
  h1,html[lang^="zh"] h1 { font-size:clamp(34px,9.6vw,42px); }
  .tile { padding:28px 24px; }
  .shell { width:calc(100% - 40px); }
  .hero-video-frame { width:calc(100% - 24px); }
  .hero-video-screen { border-radius:18px; }
  .film-choices button { padding-inline:14px; font-size:13px; }
  .section-lead,.mcp-section .section-lead { font-size:18px; }
  .section-head { margin-bottom:32px; }
  .facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; }
  .facts-grid>a:nth-child(3) { border-left:0; }
  .facts-grid strong { font-size:28px; }
  .facts-grid span { font-size:13px; }
  .mcp-points { grid-template-columns:1fr; gap:0; }
  .mcp-points li:first-child { padding-top:18px; }
  .mcp-bridge { font-size:12px; gap:6px; }
  .mcp-node { padding:5px 10px; }
  .diagram-gallery { display:flex; flex-direction:column; height:auto; gap:14px; }
  .diagram-piece { padding:16px 16px 4px; border-radius:22px; }
  .diagram-image { flex:none; height:300px; }
  .diagram-piece[data-diagram-category="architecture"] .diagram-image { height:380px; }
  .diagram-expand { opacity:1; }
  .showcase-switch { margin-bottom:20px; }
  .showcase-switch button { padding-inline:14px; }
  .showcase-stage { aspect-ratio:4/3.4; border-radius:22px; }
  .showcase-slide { padding:14px; }
  .slide-frame { border-radius:8px; }
  .showcase-caption { flex-direction:column; gap:16px; margin-top:20px; }
  .showcase-copy h3 { font-size:19px; }
  .showcase-copy p { font-size:16px; }
  .bento { grid-template-columns:1fr; gap:14px; }
  .tile { border-radius:22px; }
  .studio-partner { grid-template-columns:1fr; gap:24px; }
  .kimi-badge { justify-self:start; padding:20px 22px; }
  .footer-top { flex-wrap:wrap; gap:6px 14px; }
  .footer-top p { flex-basis:100%; order:3; }
  .footer-links { margin-left:auto; gap:16px; }
  .footer-bottom>div { margin-left:0; width:100%; }
  .dialog-toolbar { flex-wrap:wrap; }
  .dialog-toolbar h2 { flex-basis:100%; font-size:15px; }
  .media-dialog { padding:12px; }
}
@media(max-width:380px) {
  .facts-grid strong { font-size:24px; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
  .reveal-ready .reveal { opacity:1; transform:none; }
}
