/* The two stories share a visual language, but each page has one era. */
.era-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;font-size:13px;letter-spacing:.03em}
.era-switch a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:9px 16px;border:1px solid #b8c9c455;border-radius:3px;background:#101a1daa;color:#d8e1dc}
.era-switch a[aria-current=page]{color:var(--warm);border-color:#e9b577bb;background:#162527}
.era-switch a:hover{border-color:var(--warm)}
.era-switch small{font:10px var(--mono);letter-spacing:.08em}
.era-nav-link{color:var(--warm)!important}
.era-next-story{border-block:1px solid var(--line);background:#152426;padding-block:52px}
.era-next-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.era-next-story h2{font-family:var(--serif);font-size:30px;font-weight:400;margin:10px 0}
.era-next-story p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:44em}
.era-hero{padding:142px 0 76px;background:linear-gradient(145deg,#17292c,#101a1d 70%)}
.era-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px}
.era-hero h1{font-family:var(--serif);font-size:clamp(38px,4.6vw,66px);font-weight:400;line-height:1.5;letter-spacing:.03em;margin:18px 0 22px}
.era-hero .era-hero-lead{font-size:21px;line-height:2;max-width:29em;color:#d8e1dc}
.era-hero .hero-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.era-portraits{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.era-portraits figure{margin:0}
.era-portraits figure:nth-child(2){margin-top:58px}
.era-portraits .cast-photo{width:100%;aspect-ratio:2/3}
.era-portraits figcaption{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.8}
.era-portraits strong{display:block;font-family:var(--serif);font-size:24px;font-weight:400;color:var(--paper)}
.era-story .story-prose{max-width:820px;padding-top:0}
.era-story .story-prose p{font-size:18px;line-height:2.1}
.era-world-intro{max-width:48em;font-size:18px;line-height:2;margin-bottom:32px}
.era-world .material-card h3{font-size:24px}
.era-world .material-card-copy{font-size:17px}
.era-world .material-card{scroll-margin-top:105px}
.era-world .material-grid{margin-top:28px}
.era-later .characters-section{background:#132225}
.era-later .cast-era-note{margin-top:0}
.era-later .cast-directory{margin-bottom:30px}
.era-later .section-no{color:var(--warm)}
@media(min-width:1101px) and (max-width:1280px){.header .wrap{padding-inline:24px}.header-inner{gap:16px}.nav{gap:14px}.nav a{font-size:13px}.wordmark{font-size:19px}}
@media(max-width:1100px){.header{height:70px}.header .wrap{padding-inline:22px}.menu-toggle{display:block;width:46px;height:46px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#101a1dfc;padding:15px 22px 20px;border-bottom:1px solid #e9b57744;gap:0 16px}.nav.open{display:grid;grid-template-columns:1fr 1fr;box-shadow:0 18px 40px #0005}.nav a{font-size:16px;min-height:52px;padding:12px 8px;border-bottom:1px solid #ffffff18}.nav a::after{display:none}.nav .nav-read{grid-column:1/-1;justify-content:center;margin-top:14px;border:1px solid #e9b57777}.wordmark{font-size:18px}.era-hero-grid{gap:30px}}
@media(max-width:800px){.hero-inner .era-switch{margin-bottom:22px}.era-switch{font-size:12px;gap:7px}.era-switch a{padding:9px 12px;min-height:46px}.era-switch small{display:none}.hero .hero-jp{font-size:13px;letter-spacing:.09em}.era-next-inner{display:block}.era-next-story{padding-block:38px}.era-next-story h2{font-size:27px}.era-next-story .button{margin-top:22px}.era-hero{padding-top:108px;padding-bottom:54px}.era-hero-grid{grid-template-columns:1fr;gap:36px}.era-hero h1{font-size:clamp(34px,9.2vw,48px);margin:15px 0 20px}.era-hero .era-hero-lead{font-size:18px}.era-hero .hero-actions{display:grid;grid-template-columns:1fr}.era-portraits{max-width:480px;margin:0 auto;gap:14px;width:100%}.era-portraits figure:nth-child(2){margin-top:28px}.era-portraits .cast-photo{aspect-ratio:2/3}.era-portraits figcaption{font-size:12px}.era-portraits strong{font-size:22px}.era-later .v2-dock{grid-template-columns:repeat(5,minmax(0,1fr))}.era-world-intro{font-size:17px}.era-story .story-prose p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.era-switch a{transition:none}}

/* First-visit journeys. Shared by the two era pages only. */
html{scroll-padding-top:104px;scroll-behavior:auto}
.visitor-page{font-size:18px;line-height:1.95;color:#eef0e8}
.visitor-page [id]{scroll-margin-top:0}
.visitor-page .wrap{max-width:1328px;padding-inline:48px}
.visitor-page p{overflow-wrap:break-word}
.visitor-page .header{height:84px}
.visitor-page .header-inner{gap:24px}
.header-brand{display:flex;flex-direction:column;gap:2px;flex-shrink:0;line-height:1.4}
.visitor-page .wordmark{font-size:21px;letter-spacing:.11em}
.header-era{font-size:12px;letter-spacing:.08em;color:#c5d1c9}
.visitor-page .nav{gap:20px}
.visitor-page .nav a{font-size:14px;letter-spacing:.02em;min-height:48px}
.visitor-page .nav .nav-read{padding:9px 16px;border-color:#e9b57799;color:#f1ca96}
.visitor-page .section{padding-block:84px}
.visitor-page .section-header{gap:40px;margin-bottom:32px;align-items:start}
.visitor-page .section-title{font-family:var(--serif);font-size:clamp(30px,3vw,42px);line-height:1.55;letter-spacing:.025em;margin-top:10px}
.visitor-page .section-title small{font-family:var(--sans);font-size:12px;letter-spacing:.12em;line-height:1.7;margin-top:12px;color:#bbc9c1}
.visitor-page .section-note{font-size:17px;line-height:1.95;max-width:22em;margin-top:15px}
.visitor-page .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.1em}
.visitor-page .button{min-height:52px;padding:13px 22px;font-size:16px;letter-spacing:.02em;gap:12px;border-radius:3px}
.visitor-page a:focus-visible,.visitor-page button:focus-visible,.visitor-page summary:focus-visible{outline:3px solid #f6c787;outline-offset:5px}
.visitor-page .hero{height:auto;min-height:780px;max-height:none;align-items:center}
.visitor-page .hero::before{background:linear-gradient(90deg,#0b171af5 0%,#0b171aea 30%,#0b171a77 55%,#0b171a0d 82%),linear-gradient(0deg,#101a1d,transparent 45%)}
.visitor-page .hero-inner{padding-top:136px;padding-bottom:70px}
.visitor-page .hero h1{font-family:var(--serif);font-size:clamp(44px,4.8vw,66px);line-height:1.4;letter-spacing:.035em;max-width:12em;margin:12px 0 0}
.visitor-page .hero-kicker{font-size:12px;letter-spacing:.09em;margin:26px 0 0}
.visitor-page .hero-jp{font-size:15px;letter-spacing:.08em;margin-top:12px;color:#d3ded5}
.visitor-page .hero-message{font-size:28px;line-height:1.8;margin-top:24px;letter-spacing:.025em}
.visitor-page .hero-description{font-size:17px;line-height:1.95;max-width:29em;margin-top:18px;color:#dce4dc}
.visitor-page .hero-actions{display:flex;gap:12px;flex-wrap:wrap;max-width:550px;margin-top:27px}
.visitor-page .entry-note{font-size:13px;line-height:1.8;margin-top:15px;max-width:36em;color:#cad7ce}
.visitor-page .hero-art-open{bottom:28px;right:28px;min-height:44px;font-size:13px;top:auto}
.visitor-page .era-switch{display:flex;gap:10px;margin:0;max-width:520px}
.visitor-page .era-switch a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;min-height:64px;font-size:15px;line-height:1.55;background:#101d20d9;flex:1;min-width:0;border-radius:4px}
.visitor-page .era-switch a small{display:block;font:12px/1.5 var(--sans);letter-spacing:.02em;color:#c0cdc4}
.visitor-page .era-switch a[aria-current=page]{border-color:#e9b577;color:#f3cb96;background:#22302d}
.visitor-page .era-switch a[aria-current=page] small{color:#f3cb96}
.visitor-start{padding:48px 0 52px;background:#f1eee5;color:#253b37;border-block:1px solid #9d9e8c66}
.visitor-start h2{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.6;margin:9px 0 13px;letter-spacing:.02em}
.visitor-start .eyebrow{color:#6d5a3a}
.visitor-start-intro{font-size:17px;line-height:1.9;max-width:46em;color:#45584f}
.visitor-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.visitor-guide-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:23px 24px;border:1px solid #929e8d99;border-radius:5px;background:#fffcf4;min-width:0;box-shadow:0 3px 12px #223c3410}
.visitor-guide-card:hover{border-color:#7f693b;background:#fffdf8}
.visitor-guide-card:focus-visible{outline-color:#5b713e!important}
.visitor-step{font:12px var(--mono);letter-spacing:.1em;color:#716044}
.visitor-guide-card strong{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.6;color:#263c34}
.visitor-guide-card strong>span{float:right;font-family:var(--sans);color:#7c653a}
.visitor-guide-description{font-size:16px;line-height:1.85;color:#536257}
.visitor-page .story-layout{gap:48px}
.visitor-page .story-lead{font-size:34px;line-height:1.85;letter-spacing:.025em;margin:10px 0 0}
.visitor-page .story-prose{max-width:42em}
.visitor-page .story-prose p{font-size:18px;line-height:2;margin-bottom:22px}
.visitor-page .story-prose .story-last{font-size:23px;line-height:1.9}
.visitor-later .era-story{background:#101a1d;color:#eef0e8}
.visitor-later .era-story .story-prose p{color:#e6eee6}
.visitor-later .visitor-faq{background:#101a1d;color:#eef0e8}
.visitor-later .visitor-faq .depth-faq details>div p{color:#e6eee6}
.visitor-later .visitor-faq .depth-faq details>div a{color:#f2c38c;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.visitor-later .visitor-faq .depth-faq details>div a:hover{color:#ffe1b8}
.visitor-beginning .story-section .eyebrow,
.visitor-beginning .story-section .section-no,
.visitor-beginning .book-section .eyebrow,
.visitor-beginning .book-section .section-no,
.visitor-beginning #story-notes .depth-number{color:#79502e}
.visitor-beginning .book-author,
.visitor-beginning #story-notes .depth-source{color:#4a5a50}
.visitor-page .story-quotes{margin-top:30px;gap:30px}
.visitor-page .story-quote{font-size:21px;line-height:1.9}
.visitor-page .story-quote cite{font-size:13px}
.visitor-page .cast-grid,.visitor-page .cast-grid.later{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;overflow:visible;padding:0;scroll-snap-type:none}
.visitor-page .cast-card{display:block;min-width:0;flex:none;scroll-snap-align:none}
.visitor-page .cast-grid.first .cast-card:last-child{width:auto;grid-column:auto}
.visitor-page .cast-photo{aspect-ratio:3/4;display:block;width:100%;overflow:hidden;border:1px solid #c4d0c033;border-radius:4px}
.visitor-page .cast-photo img{object-fit:contain;width:100%;height:100%}
.visitor-page .cast-info{padding:22px 0 0}
.visitor-page .cast-info .role{font-size:13px;line-height:1.8;letter-spacing:.03em;color:#e9c38e}
.visitor-page .cast-info h3{font-size:29px;line-height:1.6;margin:4px 0 10px;font-weight:400}
.visitor-page .cast-info h3 span{font-size:11px;margin-left:12px;letter-spacing:.1em;color:#bfccc3}
.visitor-page .cast-info p{font-size:17px;line-height:1.95;color:#d5dfd5;margin-top:10px}
.visitor-page .cast-era-note{font-size:17px;line-height:1.95;margin:0 0 28px;max-width:46em}
.cast-supporting{margin-top:48px;padding-top:32px;border-top:1px solid #b5c6b333}
.cast-supporting>h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.7}
.cast-supporting-intro{font-size:16px;color:#c2d0c4;margin:12px 0 24px;max-width:40em}
.cast-group{border:1px solid #bdcdb344;border-radius:5px;background:#17282a;margin-top:14px}
.cast-group summary{position:relative;cursor:pointer;list-style:none;min-height:72px;padding:20px 54px 20px 24px;display:flex;flex-direction:column;gap:5px}
.cast-group summary::-webkit-details-marker{display:none}
.cast-group summary::after{content:'＋';position:absolute;right:22px;top:24px;font-size:20px;color:#f0c897;line-height:1}
.cast-group[open]>summary::after{content:'−'}
.cast-group[open]>summary{border-bottom:1px solid #bdcdb333}
.cast-group-title{font-size:19px;line-height:1.6;color:#eff0e5}
.cast-group-count{display:inline-block;margin-left:14px;color:#e5bf87;font-size:14px;white-space:nowrap}
.cast-group-names{font-size:14px;line-height:1.8;color:#c0d0c2}
.visitor-page .cast-group>.cast-grid{padding:28px;gap:26px}
.visitor-page .film-frame{width:100%;max-width:100%;margin-inline:0;border:1px solid #b3c8b244;border-radius:5px}
.visitor-page .film-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px}
.visitor-page .film-choice{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:48px;padding:0;overflow:hidden;text-align:left;background:#17282a;border:1px solid #b7cab344;border-radius:5px;color:#e0e6d9}
.visitor-page .film-choice img{display:block;aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}
.film-choice-label{font-size:16px;line-height:1.8;display:block;padding:12px 14px;min-height:3.6em}
.film-choice-state{display:none;position:absolute;top:8px;right:8px;background:#edc08c;color:#1c302a;font-size:12px;line-height:1.5;padding:4px 9px;border-radius:3px}
.visitor-page .film-choice[aria-pressed=true]{border:2px solid #edc08c;background:#25382f;color:#ffdeb2}
.visitor-page .film-choice[aria-pressed=true] .film-choice-state{display:block}
.visitor-page .film-meta h3{font-size:24px;line-height:1.65}
.visitor-page .film-editorial-note{max-width:46em;font-size:17px;line-height:1.95;margin-top:20px}
.visitor-page .film-cover-label{font-size:13px;letter-spacing:.06em}
.visitor-page .book-grid{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.visitor-page .book-copy h2{font-family:var(--serif);font-size:38px;line-height:1.55;letter-spacing:.02em}
.visitor-page .book-message{font-size:25px;line-height:1.85}
.visitor-page .book-description{font-size:18px;line-height:2;max-width:36em}
.visitor-page .world-intro,.visitor-page .era-world-intro{font-size:18px;line-height:2;max-width:43em}
.visitor-page .world-details{margin-top:24px;border-radius:5px}
.visitor-page .world-details>summary{font-size:18px;line-height:1.7;min-height:68px;padding:20px 24px}
.visitor-page .world-details>summary>span{font-size:14px;line-height:1.8;letter-spacing:.01em}
.visitor-page .material-card-copy{font-size:17px;line-height:1.95}
.visitor-page .material-card-copy p{font-size:17px;line-height:1.95}
.visitor-page .era-world .material-card h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.65;margin-block:10px 14px}
.journey-details-body{padding:0 28px 28px}
.visitor-page .journey-details .wrap{padding-inline:0;max-width:100%}
.visitor-page .journey-details .depth-senses,.visitor-page .journey-details .depth-city,.visitor-page .journey-details .depth-machines{padding-block:34px;margin:0;border-top:1px solid #bcc8b633}
.visitor-page .journey-details .depth-machine{margin-top:28px}
.visitor-page .depth-faq{max-width:52em}
.visitor-page .depth-faq summary{min-height:60px;font-size:18px;line-height:1.8;padding-block:18px}
.visitor-page .depth-faq details>div p{font-size:17px;line-height:1.95;max-width:43em}
.visitor-page .depth-faq details>div a{display:inline-flex;align-items:center;min-height:48px;margin:8px 20px 0 0;font-size:16px}
.visitor-page .era-hero{padding-top:132px;padding-bottom:66px}
.visitor-page .era-hero-grid{grid-template-columns:1.1fr 1fr;gap:54px;margin-top:34px}
.visitor-page .era-hero h1{font-size:clamp(40px,4.2vw,60px);line-height:1.55;margin:15px 0 23px}
.visitor-page .era-hero .era-hero-lead{font-size:20px;line-height:2.05}
.visitor-page .era-portraits figure:nth-child(2){margin-top:36px}
.visitor-page .era-portraits .cast-photo{aspect-ratio:2/3}
.visitor-page .era-portraits figcaption{font-size:14px}
.visitor-page .era-next-story{padding-block:44px}
.visitor-page .era-next-story p:not(.eyebrow){font-size:17px;line-height:1.95}
.visitor-page .wish-section{padding-block:70px}
.visitor-page .closing{padding-block:52px}
.visitor-page .v2-next p{font-size:25px;line-height:1.9}
.visitor-page .v2-next small{font-size:16px;line-height:1.9}
@media(max-width:1280px) and (min-width:1101px){.visitor-page .nav{gap:13px}.visitor-page .nav a{font-size:13px}.visitor-page .header .wrap{padding-inline:30px}.visitor-page .wordmark{font-size:19px}}
@media(max-width:1100px){.visitor-page .header{height:72px}.visitor-page .header .wrap{padding-inline:22px}.visitor-page .nav{top:72px;gap:0 16px}.visitor-page .nav a{font-size:16px;min-height:52px;justify-content:flex-start}.visitor-page .nav .nav-read{justify-content:center}.visitor-page .wrap{padding-inline:32px}.visitor-page .section{padding-block:66px}.visitor-page .section-header{display:block}.visitor-page .section-note{max-width:40em;margin-top:20px}.visitor-page .era-hero-grid{gap:34px}.visitor-page .cast-grid{gap:22px}.visitor-page .cast-info p{font-size:16px}}
@media(min-width:801px) and (max-width:1000px){.visitor-page .cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-page .cast-grid.first .cast-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px);justify-self:center;width:100%}.visitor-page .story-layout{grid-template-columns:1fr;gap:26px}.visitor-page .era-hero-grid{grid-template-columns:1fr 1fr}.visitor-page .era-hero .hero-actions{display:grid;grid-template-columns:1fr}.visitor-page .hero-description{max-width:28em}.visitor-page .hero h1{font-size:48px}}
@media(max-width:800px){
  html{scroll-padding-top:92px}
  .visitor-page{font-size:17px;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .visitor-page .wrap{padding-inline:22px}
  .visitor-page .header-inner{gap:12px}
  .visitor-page .wordmark{font-size:18px;letter-spacing:.08em}
  .header-era{font-size:11px;letter-spacing:.035em}
  .visitor-page .menu-toggle{min-height:46px;min-width:46px}
  .visitor-page .section{padding-block:52px}
  .visitor-page .section-title{font-size:29px;line-height:1.6;letter-spacing:.015em}
  .visitor-page .section-title small{font-size:11px;margin-top:9px}
  .visitor-page .section-header{margin-bottom:26px}
  .visitor-page .section-note{font-size:16px;line-height:1.95;margin-top:17px}
  .visitor-page .button{font-size:15px;min-height:52px;padding:12px 16px;gap:8px}
  .visitor-page .hero{display:block;min-height:0;height:auto;max-height:none;padding-top:72px;background:#122125}
  .visitor-page .hero::before{display:none}
  .visitor-page .hero-art{position:relative;z-index:0;inset:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:55% 38%;display:block;animation:none}
  .visitor-page .hero-inner{position:relative;padding-top:26px;padding-bottom:38px;background:#122125}
  .visitor-page .hero h1{font-size:35px;line-height:1.45;letter-spacing:.025em;margin-top:9px}
  .visitor-page .hero-kicker{font-size:11px;margin-top:23px}
  .visitor-page .hero-jp{font-size:14px;letter-spacing:.045em;margin-top:9px}
  .visitor-page .hero-message{font-size:24px;line-height:1.8;letter-spacing:.02em;margin-top:22px}
  .visitor-page .hero-description{font-size:16px;line-height:1.95;margin-top:18px;max-width:none}
  .visitor-page .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;max-width:none}
  .visitor-page .hero-actions .button{font-size:14px;min-width:0;padding-inline:10px}
  .visitor-page .entry-note{font-size:12px;line-height:1.85;margin-top:14px}
  .visitor-page .hero-art-open{top:calc(72px + 56.25vw - 53px);bottom:auto;right:14px;font-size:12px;padding:8px 12px;background:#102024e6}
  .visitor-page .era-switch{gap:8px;max-width:none;margin:0}
  .visitor-page .era-switch a{font-size:14px;padding:10px 12px;min-height:62px;gap:3px}
  .visitor-page .era-switch a small{font-size:11px;line-height:1.5;display:block}
  .visitor-start{padding-block:34px}
  .visitor-start h2{font-size:25px;line-height:1.65;margin-block:8px 12px}
  .visitor-start-intro{font-size:16px;line-height:1.95}
  .visitor-guide-grid{grid-template-columns:1fr;gap:11px;margin-top:22px}
  .visitor-guide-card{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;row-gap:5px;padding:18px 17px}
  .visitor-step{grid-row:1/3;align-self:start;padding-top:6px}
  .visitor-guide-card strong{font-size:20px}
  .visitor-guide-description{font-size:15px;line-height:1.85;grid-column:2}
  .visitor-page .story-layout{display:block}
  .visitor-page .story-lead{font-size:27px;line-height:1.9;margin:10px 0 25px}
  .visitor-page .story-prose p{font-size:17px;line-height:2.05;margin-bottom:22px}
  .visitor-page .story-prose .story-last{font-size:21px;line-height:1.95}
  .visitor-page .story-quote{font-size:19px;line-height:1.9}
  .visitor-page .cast-grid,.visitor-page .cast-grid.later{display:grid;grid-template-columns:1fr;gap:20px;overflow:visible;scroll-snap-type:none;padding:0}
  .visitor-page .cast-card{display:grid;grid-template-columns:clamp(80px,25vw,132px) minmax(0,1fr);gap:17px;padding:18px;border:1px solid #bccbb333;border-radius:6px;background:#17292b;max-width:none}
  .visitor-page .cast-grid.first .cast-card:last-child{grid-column:auto;max-width:none;width:auto;justify-self:stretch}
  .visitor-page .cast-photo{aspect-ratio:2/3;align-self:start;width:100%;min-width:0}
  .visitor-page .cast-number{font-size:8px;top:7px;left:7px;padding:3px 4px;letter-spacing:.03em}
  .visitor-page .cast-photo::after{font-size:14px;bottom:7px;right:7px;width:25px;height:25px}
  .visitor-page .cast-info{padding:0;min-width:0}
  .visitor-page .cast-info .role{font-size:12px;line-height:1.8;letter-spacing:0}
  .visitor-page .cast-info h3{font-size:24px;line-height:1.55;margin:5px 0 9px}
  .visitor-page .cast-info h3 span{font-size:10px;display:block;line-height:1.5;margin:3px 0 0}
  .visitor-page .cast-info p{font-size:16px;line-height:1.95;margin-top:9px}
  .visitor-page .cast-era-note{font-size:16px;line-height:1.95;margin-bottom:24px}
  .cast-supporting{margin-top:32px;padding-top:26px}
  .cast-supporting>h3{font-size:23px;line-height:1.75}
  .cast-supporting-intro{font-size:15px;line-height:1.95}
  .cast-group summary{padding:18px 42px 18px 18px;min-height:72px}
  .cast-group summary::after{right:15px;top:23px}
  .cast-group-title{font-size:18px}
  .cast-group-count{font-size:13px;margin-left:10px}
  .cast-group-names{font-size:13px;line-height:1.85}
  .visitor-page .cast-group>.cast-grid{padding:16px;gap:16px}
  .visitor-page .cast-group .cast-card{padding:0;border:0;border-radius:0;gap:14px;grid-template-columns:clamp(76px,23vw,112px) minmax(0,1fr)}
  .visitor-page .film-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
  .film-choice-label{font-size:14px;line-height:1.85;padding:10px 11px;min-height:4.1em}
  .film-choice-state{font-size:10px;top:5px;right:5px;padding:3px 6px}
  .visitor-page .film-meta h3{font-size:21px;line-height:1.7}
  .visitor-page .film-meta p,.visitor-page .duration{font-size:12px;line-height:1.8}
  .visitor-page .film-editorial-note{font-size:16px;line-height:1.95}
  .visitor-page .film-frame{margin-inline:0;border-radius:4px}
  .visitor-page .book-grid{display:block}
  .visitor-page .book-visual{max-width:260px;margin:0 auto 36px}
  .visitor-page .book-copy h2{font-size:31px;line-height:1.6}
  .visitor-page .book-message{font-size:23px}
  .visitor-page .book-description{font-size:17px;line-height:2}
  .visitor-page .world-intro,.visitor-page .era-world-intro{font-size:17px;line-height:2}
  .visitor-page .world-details>summary{font-size:17px;line-height:1.8;padding:18px 17px}
  .visitor-page .world-details>summary>span{font-size:13px;line-height:1.9}
  .journey-details-body{padding:0 17px 20px}
  .visitor-page .journey-details .depth-senses,.visitor-page .journey-details .depth-city,.visitor-page .journey-details .depth-machines{padding-block:26px}
  .visitor-page .journey-details .depth-section-title{font-size:26px}
  .visitor-page .material-card-copy p{font-size:16px;line-height:2}
  .visitor-page .depth-faq summary{font-size:17px;min-height:60px}
  .visitor-page .depth-faq details>div p{font-size:16px;line-height:2}
  .visitor-page .depth-faq details>div a{font-size:15px;line-height:1.9}
  .visitor-page .era-hero{padding-top:103px;padding-bottom:40px}
  .visitor-page .era-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px;margin-top:24px}
  .visitor-page .era-hero h1{font-size:34px;line-height:1.55;margin:11px 0 19px}
  .visitor-page .era-hero .era-hero-lead{font-size:18px;line-height:2.05}
  .visitor-page .era-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:23px}
  .visitor-page .era-portraits{max-width:420px;gap:14px;margin:0 auto}
  .visitor-page .era-portraits .cast-photo{aspect-ratio:3/4}
  .visitor-page .era-portraits figure:nth-child(2){margin-top:22px}
  .visitor-page .era-portraits figcaption{font-size:12px;line-height:1.8;margin-top:10px}
  .visitor-page .era-portraits strong{font-size:21px}
  .visitor-page .era-next-inner{display:block}
  .visitor-page .era-next-story{padding-block:34px}
  .visitor-page .era-next-story h2{font-size:26px;line-height:1.75}
  .visitor-page .era-next-story p:not(.eyebrow){font-size:16px;line-height:1.95}
  .visitor-page .wish-section{padding-block:52px}
  .visitor-page .v2-dock{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 7px calc(7px + env(safe-area-inset-bottom));gap:4px}
  .visitor-page .v2-dock a{font-size:12px;line-height:1.4;min-height:52px;gap:4px;padding:3px 0;min-width:0}
  .visitor-page .v2-dock .dock-symbol{font-size:17px;line-height:1.1}
  .visitor-page .v2-next{margin-top:28px;padding-top:22px}
  .visitor-page .v2-next p{font-size:22px;line-height:1.9}
  .visitor-page .v2-next small{font-size:15px;line-height:1.9}
  .visitor-page .v2-next-actions{gap:10px}
  .visitor-page .closing{padding:42px 22px}
  .visitor-page .closing p{font-size:22px;line-height:2}
}
@media(max-width:359px){.visitor-page .wrap{padding-inline:18px}.visitor-page .header .wrap{padding-inline:18px}.visitor-page .wordmark{font-size:16px}.visitor-page .hero h1{font-size:30px}.visitor-page .hero-message{font-size:22px}.visitor-page .hero-actions{grid-template-columns:1fr}.visitor-page .era-switch a{font-size:13px;padding-inline:10px}.visitor-page .era-switch a small{font-size:10px}.visitor-page .cast-card{padding:14px;gap:14px}.visitor-page .cast-info p{font-size:16px}.visitor-page .film-list{gap:10px}.film-choice-label{font-size:13px;padding:9px}.visitor-page .era-hero h1{font-size:29px}.visitor-page .era-hero .era-hero-lead{font-size:17px}}

/* Author-supplied panoramic artwork: retain the full logo and Coco. */
.visitor-beginning #top .hero-art{object-position:center}
.visitor-beginning .hero{display:block;min-height:0;padding-top:84px;background:#101a1d}
.visitor-beginning .hero::before,.visitor-beginning .hero::after{display:none}
.visitor-beginning .hero-media{position:relative}
.visitor-beginning .hero-art{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:2060/763;object-fit:contain;object-position:center;display:block;animation:none}
.visitor-beginning .hero-era-menu{position:absolute;top:20px;left:0;right:0;max-width:none;padding-inline:32px;z-index:1}
.visitor-beginning .hero-era-menu .era-switch{max-width:480px}
.visitor-beginning .hero-era-menu .era-switch a{min-height:58px;background:#101a1ded;backdrop-filter:blur(8px)}
.visitor-beginning .hero-art-open{top:auto;bottom:16px;right:auto;left:32px;z-index:1;background:#101a1ded}
.visitor-beginning .hero-inner{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;align-items:start;padding-top:38px;padding-bottom:48px}
.visitor-beginning .hero-inner .hero-kicker{grid-column:1;margin:0}
.visitor-beginning .hero-inner h1{grid-column:1;font-size:clamp(34px,3.5vw,50px);margin-top:8px}
.visitor-beginning .hero-inner .hero-jp{grid-column:1;margin-top:8px}
.visitor-beginning .hero-inner .hero-message{grid-column:1;font-size:26px;margin-top:20px}
.visitor-beginning .hero-description{grid-column:2;grid-row:1/4;margin-top:0;max-width:none}
.visitor-beginning .hero-actions{grid-column:2;grid-row:4;margin-top:18px;max-width:none}
.visitor-beginning .entry-note{grid-column:2;grid-row:5;margin-top:12px}
@media(max-width:1100px){
  .visitor-beginning .hero{padding-top:72px}
  .visitor-beginning .hero-era-menu{position:relative;inset:auto;padding:18px 32px 0}
  .visitor-beginning .hero-art-open{top:calc(100vw * 763 / 2060 - 60px);bottom:auto;left:22px}
  .visitor-beginning .hero-inner{column-gap:32px}
  .visitor-beginning .hero-era-menu{padding-inline:22px;top:auto}
  .visitor-beginning .hero-era-menu .era-switch{max-width:440px}
  .visitor-beginning .hero-era-menu .era-switch a{font-size:14px;min-height:56px;padding:8px 12px}
  .visitor-beginning .hero-actions{display:grid;grid-template-columns:1fr}
}
@media(max-width:800px){
  .visitor-beginning .hero-era-menu{position:relative;inset:auto;padding:18px 22px 0}
  .visitor-beginning .hero-era-menu .era-switch{max-width:none}
  .visitor-beginning .hero-era-menu .era-switch a{min-height:62px}
  .visitor-beginning .hero-art-open{top:calc(100vw * 763 / 2060 - 44px);bottom:auto;left:12px;right:auto;font-size:11px;min-height:32px;padding:5px 9px}
  .visitor-beginning .hero-inner{display:block;padding-top:24px;padding-bottom:36px}
  .visitor-beginning .hero-inner h1{font-size:35px}
  .visitor-beginning .hero-inner .hero-message{font-size:24px;margin-top:20px}
  .visitor-beginning .hero-description{margin-top:18px}
  .visitor-beginning .hero-actions{grid-template-columns:1fr;margin-top:23px}
}
@media(max-width:359px){
  .visitor-beginning .hero-era-menu{padding-inline:18px}
  .visitor-beginning .hero-inner h1{font-size:30px}
  .visitor-beginning .hero-actions{grid-template-columns:1fr}
}
