/* A finite book-opening enhancement; the story itself stays in normal document flow. */
#website-founder-story .founder-book-region {
  --founder-book-layout-ready: 1;
  --book-open: 0;
  --book-words: 0;
  align-self: start;
  margin-top: clamp(110px, 11vw, 165px);
  min-width: 0;
}
#website-founder-story .founder-book-stage { width: 100%; margin: 0; container-type: inline-size; }
#website-founder-story .founder-book-scene { position: relative; width: 100%; aspect-ratio: 1.3; perspective: 1600px; }
#website-founder-story .founder-book-object {
  position: absolute;
  top: 49%;
  left: calc(27% + 23% * var(--book-open));
  width: 46%;
  aspect-ratio: 3 / 4;
  transform: translateY(-50%) rotateX(8deg) rotateY(-5deg);
  transform-style: preserve-3d;
}
#website-founder-story .founder-book-board {
  position: absolute; inset: 0; border-radius: 2px 5px 5px 2px;
  background: #a6b9c6;
  box-shadow: 1px 2px 0 #8fa5b5, 2px 5px 0 #a4b7c3, 2px 7px 0 #91a8b8;
}
#website-founder-story .founder-book-page-edges {
  position: absolute; inset: 1.3% 1.5% 0 0;
  background: repeating-linear-gradient(0deg, #dcd9cd 0 1px, #f6f2e8 1px 3px);
  transform: translate3d(0, 4px, 3px);
  box-shadow: 1px 1px 1px rgb(47 60 65 / 16%);
}
#website-founder-story .founder-book-right {
  position: absolute; inset: 1.3% 1.5% 1.3% 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 10% 7% 11% 10%;
  color: #4e626b; background: linear-gradient(90deg, #dbd8cc, #f8f5ec 10%, #fffdf6 70%, #f3f0e6);
  transform: translateZ(7px);
  text-align: center;
}
#website-founder-story .founder-book-chapter { position: absolute; top: 10%; left: 12%; right: 8%; font: 400 clamp(6px, 1.3cqw, 9px)/1.5 "Noto Sans JP", sans-serif; letter-spacing: .18em; color: #8c999c; }
#website-founder-story .founder-book-page-copy { font: 400 clamp(12px, 3.65cqw, 23px)/2 "Shippori Mincho B1", serif; letter-spacing: .06em; }
#website-founder-story .founder-book-page-line { display: block; white-space: nowrap; }
#website-founder-story .founder-book-char { display: inline-block; opacity: 0; transform: translateY(5px); }
#website-founder-story .founder-book-page-rule { width: 22%; height: 1px; margin: 13% 0 10%; background: #b9b9a4; opacity: var(--book-words); }
#website-founder-story .founder-book-page-note { margin: 0; font: 400 clamp(8px, 1.7cqw, 12px)/2 "Shippori Mincho B1", serif; color: #7d8786; letter-spacing: .07em; opacity: var(--book-words); }
#website-founder-story .founder-book-page-number { position: absolute; bottom: 5%; left: 0; right: 0; font: 400 clamp(8px, 1.8cqw, 12px)/1 "Cormorant Garamond", serif; color: #949a94; }
#website-founder-story .founder-book-cover {
  position: absolute; inset: 0;
  transform-origin: 0 50%;
  transform: translateZ(9px) rotateY(calc(-173deg * var(--book-open)));
  transform-style: preserve-3d;
}
#website-founder-story .founder-book-cover-front,
#website-founder-story .founder-book-cover-inside {
  position: absolute; inset: 0;
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  border-radius: 2px 5px 5px 2px;
}
#website-founder-story .founder-book-cover-front {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 9%; color: #f8faf8; text-align: center;
  border: 1px solid #9dafbb;
  background: repeating-linear-gradient(0deg, rgb(255 255 255 / 5%) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgb(45 75 96 / 4%) 0 1px, transparent 1px 3px), linear-gradient(110deg, #92a9bb, #becdd7 28%, #a7bccb 78%, #94adbf);
  box-shadow: inset 5px 0 8px rgb(40 66 83 / 19%), inset -2px 0 2px rgb(255 255 255 / 38%), 1px 0 0 #8ca4b5;
  transform: translateZ(.7px);
}
#website-founder-story .founder-book-cover-front::before { content: ""; position: absolute; inset: 6%; border: 1px solid rgb(238 241 230 / 43%); pointer-events: none; }
#website-founder-story .founder-book-cover-kicker { position: absolute; top: 15%; left: 12%; right: 12%; font: 400 clamp(5px, 1.05cqw, 8px)/1.8 "Noto Sans JP", sans-serif; letter-spacing: .16em; }
#website-founder-story .founder-book-cover-title { font: 400 clamp(26px, 7.2cqw, 52px)/1.12 "Cormorant Garamond", serif; letter-spacing: .11em; text-shadow: 0 1px 1px rgb(37 68 88 / 15%); }
#website-founder-story .founder-book-cover-rule { width: 18%; height: 1px; margin: 12% 0 8%; background: #e5e6d6; }
#website-founder-story .founder-book-cover-caption { font: 400 clamp(7px, 1.55cqw, 11px)/1.9 "Shippori Mincho B1", serif; letter-spacing: .06em; }
#website-founder-story .founder-book-cover-logo { position: absolute; bottom: 12%; left: 0; right: 0; font: 300 clamp(9px, 2.1cqw, 15px)/1 "Noto Sans JP", sans-serif; letter-spacing: .2em; }
#website-founder-story .founder-book-cover-logo > span { font-size: .65em; vertical-align: super; }
#website-founder-story .founder-book-cover-inside {
  display: flex; flex-direction: column; align-items: center; padding: 8%;
  color: #536873; background: linear-gradient(90deg, #fbf8ef 80%, #e2ded1);
  border: 3px solid #acbecb;
  transform: rotateY(180deg) translateZ(.7px);
}
#website-founder-story .founder-book-photo-kicker { margin: 3% 0 9%; font: 400 clamp(6px, 1.3cqw, 9px)/1.6 "Noto Sans JP", sans-serif; letter-spacing: .2em; color: #8a969b; }
#website-founder-story .founder-book-cover-inside .founder-book-photo { display: block; width: 100%; height: 64%; aspect-ratio: auto; object-fit: cover; object-position: 68% center; background: #dce5eb; }
#website-founder-story .founder-book-photo-caption { margin: 9% 0 0; font: 400 clamp(9px, 2cqw, 14px)/1.9 "Shippori Mincho B1", serif; letter-spacing: .08em; text-align: center; }
#website-founder-story .founder-book-photo-number { margin-top: auto; padding-top: 4%; font: 400 clamp(5px, 1cqw, 7px)/1.5 "Noto Sans JP", sans-serif; letter-spacing: .15em; color: #929d9f; }
#website-founder-story .founder-book-shadow { position: absolute; top: 88%; left: 50%; width: calc(40% + 42% * var(--book-open)); height: 5%; border-radius: 50%; background: #738e9e; filter: blur(15px); opacity: .2; transform: translateX(-50%); pointer-events: none; }
#website-founder-story .founder-book-stage > figcaption { padding-top: 18px; text-align: center; font-size: 1.3rem; line-height: 1.9; letter-spacing: .055em; }
#website-founder-story #website-founder-story-title { opacity: var(--founder-book-heading-opacity, 1); }
#website-founder-story .founder-book-fallback { padding: 0; margin: 0; background: transparent; color: inherit; text-align: left; }
#website-founder-story .founder-book-fallback figcaption > :is(strong, span) { display: block; }
#website-founder-story .founder-book-fallback figcaption > strong { margin-bottom: 8px; font-weight: 400; font-size: 1.8rem; }
@media (max-width: 900px) {
  #website-founder-story .founder-book-region { grid-row: 1; margin-top: 0; width: min(100%, 580px); justify-self: center; }
  #website-founder-story .website-founder-story__copy { grid-row: 2; }
  #website-founder-story .founder-book-scene { perspective: 1200px; }
}
@media (prefers-reduced-motion: reduce) {
  #website-founder-story #website-founder-story-title { opacity: 1; }
}
