/* RS DS v2 — Surface layout primitives. Consumes rs.css tokens + components.css. */
/* surfaces = programs consuming brand tokens (grand rule: media is template, not a token layer). */

body{margin:0;font-family:var(--font-family-sans);background:var(--bg-canvas);color:var(--text-body);
  -webkit-font-smoothing:antialiased}

/* ===== 社外: proposal deck (16:9 slides) ===== */
.deck{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-4)}
.slide{width:min(960px,100%);aspect-ratio:16/9;background:var(--bg-surface);border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);padding:48px 56px;box-shadow:0 2px 6px color-mix(in oklab,var(--color-gray-1000) 7%,transparent),
  0 16px 36px color-mix(in oklab,var(--color-gray-1000) 10%,transparent);display:flex;flex-direction:column;position:relative;overflow:hidden}
.slide__eyebrow{color:var(--primary-default);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);
  letter-spacing:var(--font-tracking-caps);text-transform:uppercase}
.slide__title{font-size:var(--font-display-sm);line-height:1.08;letter-spacing:var(--font-tracking-tight);
  font-weight:var(--font-weight-bold);color:var(--text-strong);margin-top:var(--space-3)}
.slide__rule{width:48px;height:3px;background:var(--primary-default);border-radius:var(--radius-full);margin:var(--space-4) 0}
.slide__num{position:absolute;right:24px;bottom:18px;font-family:var(--font-family-mono);font-size:12px;color:var(--text-muted)}
.slide--cover{background:linear-gradient(150deg,var(--bg-surface),var(--primary-subtle))}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-5)}

/* ===== 社内: A4 documents (decision memo / status report) ===== */
.doc{width:min(820px,100%);margin:var(--space-8) auto;background:var(--bg-surface);border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);padding:56px 64px;box-shadow:0 2px 6px color-mix(in oklab,var(--color-gray-1000) 7%,transparent)}
.doc h1{font-size:var(--font-size-3xl);color:var(--text-strong);letter-spacing:var(--font-tracking-tight);line-height:1.2}
.doc h2{font-size:var(--font-size-lg);color:var(--text-strong);margin:var(--space-6) 0 var(--space-2);
  padding-left:var(--space-3);border-left:3px solid var(--primary-default)}
.doc p{line-height:var(--font-leading-relaxed);margin:var(--space-2) 0}
.doc .meta{display:flex;gap:var(--space-6);color:var(--text-muted);font-size:var(--font-size-sm);
  border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-3);margin-bottom:var(--space-5)}
.doc .callout{background:var(--primary-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0}

/* ===== LP shell (expressive surface) ===== */
.lp__nav{display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto;
  padding:var(--space-5) var(--space-6)}
.lp__hero{max-width:1120px;margin:0 auto;padding:var(--space-16) var(--space-6);display:grid;
  grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}
.lp__hero h1{font-size:var(--font-display-lg);line-height:1.04;letter-spacing:var(--font-tracking-tight);
  font-weight:var(--font-weight-bold);color:var(--text-strong)}
.lp__hero p{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--font-leading-relaxed);margin:var(--space-5) 0 var(--space-6)}
.lp__stats{display:flex;gap:var(--space-10);max-width:1120px;margin:0 auto;padding:var(--space-6);
  border-top:1px solid var(--border-subtle)}
.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:700;color:var(--text-strong)}
.brand .mk{width:30px;height:30px;border-radius:var(--radius-md);background:var(--primary-default);color:var(--primary-fg);display:grid;place-items:center}
@media(max-width:760px){.lp__hero{grid-template-columns:1fr}.cols{grid-template-columns:1fr}.slide{padding:28px}}

/* surface switcher (demo) */
.sf-bar{position:sticky;top:0;z-index:9;display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-6);
  background:color-mix(in oklab,var(--bg-canvas) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle)}
.sf-bar a{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);
  text-decoration:none;padding:4px 10px;border-radius:var(--radius-sm)}
.sf-bar a.on{color:var(--primary-fg);background:var(--primary-default)}
.sf-bar .sp{flex:1}
