/* /sensei/ Character & Trust Page — Safe Staging candidate. */
.sensei-story-page {
  min-width: 0;
  background-color: var(--color-washi-050);
  background-image: linear-gradient(rgba(251,248,240,.93),rgba(251,248,240,.93)),url("/images/assets/bg_washi.png");
  color: var(--color-ink-900);
}
.sensei-story-page .skip-link { position:fixed;z-index:1000;top:8px;left:8px;min-height:44px;padding:9px 16px;color:var(--color-surface);background:var(--color-ai-900);transform:translateY(-150%); }
.sensei-story-page .skip-link:focus { transform:translateY(0); }
.sensei-story-page .breadcrumb { max-width:1200px;margin-top:16px;padding-inline:24px; }
.sensei-story-page .story-eyebrow { margin:0 0 12px;color:var(--color-gold-text-on-light);font:700 .75rem/1.6 var(--font-gothic);letter-spacing:.16em; }
.sensei-story-page .story-hero { margin-top:16px;border-block:1px solid color-mix(in srgb,var(--color-gold-decorative) 70%,transparent);background:radial-gradient(circle at 22% 20%,rgba(183,146,67,.11),transparent 30%),linear-gradient(120deg,rgba(255,252,245,.98),rgba(247,242,232,.88)); }
.sensei-story-page .story-hero__inner { display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;max-width:1200px;min-height:560px;margin:0 auto; }
.sensei-story-page .story-hero__copy { position:relative;z-index:1;padding:72px 56px 72px 24px; }
.sensei-story-page .story-hero h1 { color:var(--color-ai-900);font:500 clamp(2.25rem,4vw,4rem)/1.35 var(--font-mincho);letter-spacing:.08em; }
.sensei-story-page .story-hero__yomi { margin-top:10px;color:var(--color-ink-600);font-size:.8125rem;letter-spacing:.2em; }
.sensei-story-page .story-hero__identity { margin-top:36px;padding-top:20px;border-top:1px solid var(--color-gold-decorative);color:var(--color-ai-900);font:600 1rem/1.9 var(--font-mincho); }
.sensei-story-page .story-hero__lead { margin-top:14px;color:var(--color-ink-600); }
.sensei-story-page .story-hero__visual { align-self:stretch;min-height:560px;overflow:hidden; }
.sensei-story-page .story-hero__visual img { width:100%;height:100%;object-fit:cover;object-position:50% 43%; }
.sensei-story-page .story-measure,.sensei-story-page .story-sequences { width:min(100% - 48px,1040px);margin-inline:auto; }
.sensei-story-page .story-measure { max-width:760px; }
.sensei-story-page h2 { color:var(--color-ai-900);font:500 clamp(1.75rem,3vw,2.5rem)/1.5 var(--font-mincho);letter-spacing:.06em; }
.sensei-story-page .reader-promise { padding:96px 0;text-align:center; }
.sensei-story-page .reader-promise__lead { margin-top:20px;color:var(--color-ink-600);font:500 1.0625rem/2 var(--font-mincho); }
.sensei-story-page .promise-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 28px;list-style:none;text-align:left; }
.sensei-story-page .promise-list li { min-width:0;padding:24px;border:1px solid var(--color-border);border-top:2px solid var(--color-gold-decorative);background:rgba(255,252,245,.8);box-shadow:var(--shadow-card); }
.sensei-story-page .promise-list strong { display:block;margin-bottom:8px;color:var(--color-ai-900);font:600 1.0625rem/1.6 var(--font-mincho); }
.sensei-story-page .promise-list span { display:block;color:var(--color-ink-600);font-size:.875rem; }
.sensei-story-page .story-sequences { max-width:1120px; }
.sensei-story-page .story-scene { display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);grid-template-rows:repeat(7,auto) 1fr;column-gap:clamp(40px,7vw,96px);align-items:start;padding:104px 0;border-top:1px solid var(--color-border); }
.sensei-story-page .story-scene > :not(.story-scene__visual) { grid-column:1; }
.sensei-story-page .story-scene > .story-eyebrow { grid-row:1; }
.sensei-story-page .story-scene > h2 { grid-row:2; }
.sensei-story-page .story-scene__lead { grid-row:3;margin-top:16px;color:var(--color-ink-600);font:500 1rem/1.9 var(--font-mincho); }
.sensei-story-page .story-scene__visual { grid-column:2;grid-row:1/9;margin:0;border:1px solid var(--color-gold-decorative);background:var(--color-surface);box-shadow:0 16px 40px rgba(16,44,61,.1); }
.sensei-story-page .story-scene__visual img { width:100%;height:auto;aspect-ratio:4/3;object-fit:cover; }
.sensei-story-page .story-scene__visual figcaption { padding:12px 16px;color:var(--color-ink-600);font-size:.75rem;line-height:1.7; }
.sensei-story-page .story-scene__body { grid-row:4;margin-top:28px; }
.sensei-story-page .story-scene__body p+p { margin-top:18px; }
.sensei-story-page .story-voice { grid-row:5;margin-top:28px;padding:22px 24px 20px;border-left:3px solid var(--color-shu-600);background:rgba(255,252,245,.84);color:var(--color-ai-900);font:500 1.0625rem/2 var(--font-mincho); }
.sensei-story-page .story-voice cite { display:block;margin-top:8px;color:var(--color-ink-600);font:normal .75rem/1.6 var(--font-gothic); }
.sensei-story-page .story-text-link { grid-row:7;justify-self:start;display:inline-flex;align-items:center;min-height:44px;margin-top:24px;color:var(--color-ai-700);font-weight:700;text-underline-offset:.3em; }
.sensei-story-page .story-scene:nth-child(even) > :not(.story-scene__visual) { grid-column:2; }
.sensei-story-page .story-scene:nth-child(even) > .story-scene__visual { grid-column:1; }
.sensei-story-page .character-closing { padding:88px 0 96px;border-top:1px solid var(--color-border);text-align:center; }
.sensei-story-page .character-closing__inner { width:min(100% - 48px,880px);margin-inline:auto; }
.sensei-story-page .character-guide { display:grid;grid-template-columns:96px minmax(0,1fr);gap:30px;align-items:start;padding:32px 36px;border:1px solid rgba(183,146,67,.48);border-left:3px solid var(--color-gold-decorative);background:linear-gradient(105deg,rgba(255,252,245,.98),rgba(247,242,232,.82));box-shadow:0 14px 34px rgba(16,44,61,.08);text-align:left; }
.sensei-story-page .character-guide__identity { text-align:center; }
.sensei-story-page .character-guide__identity img { display:block;width:80px;height:80px;margin:0 auto;border:1px solid rgba(183,146,67,.42);border-radius:50%;background:var(--color-surface);object-fit:cover; }
.sensei-story-page .character-guide__identity p { margin-top:10px;color:var(--color-gold-text-on-light);font:700 .75rem/1.6 var(--font-gothic);letter-spacing:.1em; }
.sensei-story-page .character-closing__voice { margin:0;color:var(--color-ink-600);font:500 1.0625rem/2.05 var(--font-mincho); }
.sensei-story-page .character-closing__voice p+p { margin-top:18px; }
.sensei-story-page .character-closing__voice strong { color:var(--color-ai-900);font-weight:600; }
.sensei-story-page .story-closing { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);min-height:560px;color:var(--color-surface);background:var(--color-ai-900); }
.sensei-story-page .story-closing__visual { min-width:0; }
.sensei-story-page .story-closing__visual img { width:100%;height:100%;min-height:560px;object-fit:cover;object-position:50% 42%; }
.sensei-story-page .story-closing__copy { align-self:center;max-width:560px;padding:72px 48px;text-align:left; }
.sensei-story-page .story-closing .story-eyebrow { color:var(--color-gold-text-on-dark); }
.sensei-story-page .story-closing h2 { color:var(--color-surface); }
.sensei-story-page .story-closing__copy>p:not(.story-eyebrow) { margin-top:20px; }
.sensei-story-page .story-actions { display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-top:36px; }
.sensei-story-page .story-button { display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:48px;padding:12px 20px;border:1px solid var(--color-gold-decorative);border-radius:var(--radius-sm);font-weight:700;text-decoration:none;text-shadow:none; }
.sensei-story-page .story-button--primary { color:var(--color-ai-900);background:var(--color-surface); }
.sensei-story-page .story-button--secondary { color:var(--color-surface);background:rgba(16,44,61,.72); }
.sensei-story-page .story-closing :is(a,button):focus-visible { outline-color:var(--color-focus-on-dark); }
.sensei-story-page .story-trust-note { padding:20px 24px;border-bottom:1px solid var(--color-border);background:rgba(255,252,245,.78);color:var(--color-ink-600);font-size:.8125rem;text-align:center; }
.sensei-story-page .story-trust-note a { display:inline-flex;align-items:center;min-height:44px;color:var(--color-ai-700);font-weight:700;text-underline-offset:.3em; }
@media(max-width:49.999em){
  .sensei-story-page .breadcrumb{padding-inline:16px}
  .sensei-story-page .story-measure,.sensei-story-page .story-sequences{width:min(100% - 32px,1040px)}
  .sensei-story-page .story-hero__inner{display:block;min-height:0}
  .sensei-story-page .story-hero__copy{padding:48px 16px 40px}
  .sensei-story-page .story-hero__visual{min-height:0}
  .sensei-story-page .story-hero__visual img{height:auto;aspect-ratio:4/3;object-position:50% 43%}
  .sensei-story-page .reader-promise,.sensei-story-page .character-closing{padding:72px 0}
  .sensei-story-page .promise-list{grid-template-columns:1fr}
  .sensei-story-page .character-closing__inner{width:min(100% - 32px,880px)}
  .sensei-story-page .character-guide{display:block;padding:24px 20px}
  .sensei-story-page .character-guide__identity{display:flex;align-items:center;gap:14px;margin-bottom:20px;text-align:left}
  .sensei-story-page .character-guide__identity img{width:64px;height:64px;margin:0}
  .sensei-story-page .character-guide__identity p{margin-top:0}
  .sensei-story-page .story-scene,.sensei-story-page .story-scene:nth-child(even){display:block;padding:72px 0}
  .sensei-story-page .story-scene__visual{margin-top:28px}
  .sensei-story-page .story-scene__body{margin-top:28px}
  .sensei-story-page .story-closing{display:block;min-height:0}
  .sensei-story-page .story-closing__visual img{height:auto;min-height:0;aspect-ratio:16/9}
  .sensei-story-page .story-closing__copy{max-width:none;padding:56px 16px;text-align:center}
  .sensei-story-page .story-actions{justify-content:center}
}
@media(max-width:24.375em){
  .sensei-story-page .story-hero h1{font-size:2rem}
  .sensei-story-page .story-hero__identity{margin-top:28px}
  .sensei-story-page .story-button{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .sensei-story-page *,.sensei-story-page *::before,.sensei-story-page *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
