/* A quiet, right-to-left reading rhythm after the moving first view. */
.shiki-commitment {
  --commitment-paper:#f1eee4;
  --commitment-ink:#28352f;
  position:relative;
  padding:86px max(6%,24px) 82px;
  color:var(--commitment-ink);
  background:var(--commitment-paper);
  isolation:isolate;
  scroll-margin-top:82px;
}
.shiki-commitment::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.24;
  background-image:radial-gradient(#8f836b45 .5px,transparent .5px);
  background-size:5px 5px;
}
.shiki-commitment :where(h2,h3,p,figure) { margin:0; }
.shiki-commitment :where(h2,h3,p) { text-shadow:none; }
.shiki-commitment .commitment-opening {
  max-width:100%;
  width:max-content;
  margin:0 auto 66px;
  display:flex;
  flex-direction:row-reverse;
  align-items:flex-start;
  gap:58px;
  scroll-margin-top:102px;
}
.shiki-commitment .commitment-title-group {
  display:flex;
  flex-direction:row-reverse;
  align-items:flex-start;
  gap:25px;
}
.shiki-commitment .commitment-eyebrow {
  writing-mode:vertical-rl;
  font:500 13px/1.4 Shippori,serif;
  letter-spacing:.19em;
  border-right:1px solid #8e8b7266;
  padding-right:16px;
}
.shiki-commitment h2 {
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font:500 clamp(34px,3.4vw,46px)/1.65 Shippori,serif;
  letter-spacing:.11em;
  white-space:nowrap;
}
.shiki-commitment h2 span { display:block; }
.shiki-commitment h2 span+span { padding-top:1.7em; }
.shiki-commitment .commitment-manifesto {
  writing-mode:vertical-rl;
  text-orientation:mixed;
  height:300px;
  font:400 16px/2.1 Shippori,serif;
  letter-spacing:.1em;
  padding-top:8px;
}
.shiki-commitment .commitment-manifesto p+p { margin-right:20px; }
/* Move complete Japanese phrases to the next column, never a word fragment. */
.shiki-commitment .vertical-phrase { display:inline-block; white-space:nowrap; }
.shiki-commitment .commitment-pillars {
  width:100%;
  max-width:1050px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(25px,4.8vw,70px);
}
.shiki-commitment .commitment-pillar { min-width:0; }
.shiki-commitment .commitment-pillar figure {
  position:relative;
  overflow:hidden;
  width:100%;
  aspect-ratio:1.55;
  background:#ddd9ce;
}
.shiki-commitment .commitment-pillar img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.shiki-commitment .commitment-pillar:nth-child(1) img { object-position:52% 54%; }
.shiki-commitment .commitment-pillar:nth-child(2) img { object-position:53% 48%; }
.shiki-commitment .commitment-pillar:nth-child(3) img { object-position:51% 54%; }
.shiki-commitment .commitment-pillar-copy {
  display:flex;
  flex-direction:row-reverse;
  align-items:flex-start;
  justify-content:center;
  gap:24px;
  padding-top:25px;
}
.shiki-commitment .commitment-pillar h3 {
  writing-mode:vertical-rl;
  font:500 25px/1.4 Shippori,serif;
  letter-spacing:.13em;
  white-space:nowrap;
}
.shiki-commitment .commitment-pillar-number {
  display:inline;
  margin-inline-end:13px;
  font-size:13px;
  letter-spacing:0;
  color:#70694e;
}
.shiki-commitment .commitment-pillar-copy p {
  writing-mode:vertical-rl;
  text-orientation:mixed;
  height:256px;
  font:400 14px/2 Shippori,serif;
  letter-spacing:.07em;
}
@media(max-width:900px) {
  .shiki-commitment { padding:68px 6% 62px; }
  .shiki-commitment .commitment-opening { gap:40px; margin-bottom:46px; }
  .shiki-commitment .commitment-title-group { gap:18px; }
  .shiki-commitment .commitment-eyebrow { padding-right:12px; }
  .shiki-commitment .commitment-manifesto { font-size:15px; line-height:1.9; }
  .shiki-commitment .commitment-pillars { gap:24px; }
  .shiki-commitment .commitment-pillar-copy { gap:14px; }
  .shiki-commitment .commitment-pillar h3 { font-size:22px; }
  .shiki-commitment .commitment-pillar-copy p { font-size:14px; line-height:1.8; height:285px; }
}
@media(max-width:600px) {
  .shiki-commitment { padding:42px 5% 38px; scroll-margin-top:65px; }
  .shiki-commitment .commitment-opening {
    display:grid;
    grid-template-columns:auto auto;
    direction:rtl;
    gap:clamp(22px,5.6vw,30px);
    padding-block:8px 6px;
    margin-bottom:42px;
    scroll-margin-top:78px;
  }
  .shiki-commitment .commitment-title-group { direction:ltr; gap:10px; }
  .shiki-commitment .commitment-eyebrow { font-size:12px; padding-right:8px; letter-spacing:.08em; }
  .shiki-commitment h2 { font-size:clamp(25px,7vw,29px); line-height:1.5; letter-spacing:.08em; }
  .shiki-commitment h2 span+span { padding-top:1.35em; }
  .shiki-commitment .commitment-manifesto {
    direction:ltr;
    height:306px;
    font-size:14px;
    line-height:1.85;
    letter-spacing:.05em;
    padding-top:14px;
  }
  .shiki-commitment .commitment-manifesto p+p { margin-right:14px; }
  /* Keep each sentence on its own vertical line, with air between paragraphs. */
  .shiki-commitment .commitment-manifesto br { display:initial; }
  .shiki-commitment .commitment-pillars { gap:12px; }
  .shiki-commitment .commitment-pillar figure { aspect-ratio:1.08; }
  .shiki-commitment .commitment-pillar-copy { gap:9px; padding-top:18px; }
  .shiki-commitment .commitment-pillar h3 { font-size:18px; line-height:1.2; letter-spacing:.06em; }
  .shiki-commitment .commitment-pillar-number { font-size:13px; margin-inline-end:10px; }
  .shiki-commitment .commitment-pillar-copy p { height:318px; font-size:13px; line-height:1.65; letter-spacing:.015em; }
}
@media(max-width:360px) {
  .shiki-commitment { padding-inline:16px; }
  .shiki-commitment .commitment-opening { gap:18px; }
  .shiki-commitment .commitment-title-group { gap:8px; }
  .shiki-commitment h2 { font-size:25px; line-height:1.45; }
  .shiki-commitment .commitment-eyebrow { padding-right:6px; }
  .shiki-commitment .commitment-manifesto { font-size:13px; line-height:1.8; height:286px; }
  .shiki-commitment .commitment-manifesto p+p { margin-right:10px; }
  .shiki-commitment .commitment-pillars { gap:9px; }
  .shiki-commitment .commitment-pillar-copy { gap:6px; }
  .shiki-commitment .commitment-pillar h3 { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
  .shiki-commitment,.shiki-commitment * { animation:none!important; transition:none!important; }
}
html[data-motion=paused] .shiki-commitment * { animation:none!important; transition:none!important; }
