/* Monochrome page layouts for ABOUT, FOR PARTNERS and CONTACT. */
.about-purpose{padding-block:clamp(64px,8vw,110px) clamp(85px,10vw,140px)}
.about-purpose h1,.about-mission h2{font-size:clamp(30px,3.8vw,54px);font-weight:700;line-height:1.65;letter-spacing:-.04em}
.about-purpose-copy{max-width:640px;margin:40px 0 0 auto}
.about-purpose-copy p+p{margin-top:24px}
.about-purpose-copy .text-link{margin-top:24px}
.about-mission{background:var(--surface-gray-forward);padding-block:90px 110px}
.mission-points{margin:60px 0 0 26%;display:grid;gap:32px}
.mission-points>div{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center}
.mission-points dt{font:800 42px/1.1 var(--display);letter-spacing:.015em}
.mission-points dd{margin:0;font-size:17px;line-height:1.7}
.about-beliefs{padding-block:100px 120px}
.about-beliefs h2{font-size:clamp(52px,6.8vw,94px);line-height:1}
.belief-points{margin:56px 0 0}
.belief-points>div{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:32px;padding-block:28px;border-top:1px solid var(--gray-1)}
.belief-points>div:last-child{border-bottom:1px solid var(--gray-1)}
.belief-points dt{font-size:clamp(36px,4.4vw,62px);font-weight:800;line-height:1.1}
.belief-points dt span{display:inline-block;width:40px;font-size:19px;font-weight:400;vertical-align:middle}
.belief-points dd{margin:0;font-size:18px;line-height:1.8}
.belief-closing{margin-top:44px;font-size:18px;line-height:1.8;font-weight:500}
@media(max-width:600px){
 .about-beliefs{padding-block:66px 78px}
 .about-beliefs h2{font-size:clamp(46px,12vw,65px)}
 .belief-points{margin-top:36px}
 .belief-points>div{grid-template-columns:1fr;gap:12px;padding-block:24px}
 .belief-points dt{font-size:36px}
 .belief-points dt span{width:30px;font-size:16px}
 .belief-points dd{font-size:16px;margin-left:34px}
 .belief-closing{margin-top:30px;font-size:16px}
}
.founder-message{padding-block:40px 120px;background:var(--paper)}
.founder-message-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}
.founder-message-heading{position:sticky;top:calc(var(--header) + 40px)}
.founder-message-heading h2{font:800 clamp(42px,5.4vw,76px)/1 var(--display);letter-spacing:-.015em}
.founder-message-heading .jo-credit{margin-top:32px}
.founder-message-heading .jo-credit span{display:block;margin:8px 0 0;font-size:15px;letter-spacing:.03em}
.founder-message-copy{max-width:640px;font-size:17px;line-height:2}
.founder-message-copy p+p{margin-top:32px}
.founder-message-signature{font-weight:700;margin-top:48px!important}
@media(max-width:800px){
 .about-purpose-copy{margin-top:30px;max-width:580px}
 .about-mission{padding-block:70px 90px}
 .mission-points{margin-left:10%;gap:28px}
 .mission-points>div{grid-template-columns:120px 1fr;gap:20px}
 .mission-points dt{font-size:36px}
 .founder-message-layout{grid-template-columns:1fr;gap:42px}
 .founder-message-heading{position:static}
 .founder-message-copy{margin-left:auto}
}
@media(max-width:520px){
 .about-purpose{padding-block:52px 82px}
 .about-purpose h1,.about-mission h2{font-size:clamp(26px,7vw,35px)}
 .about-purpose-copy{font-size:16px}
 .mission-points{margin:42px 0 0;gap:30px}
 .mission-points>div{grid-template-columns:1fr;gap:10px}
 .mission-points>div:nth-child(2){margin-left:10%}
 .mission-points>div:nth-child(3){margin-left:20%}
 .mission-points dd{font-size:16px}
 .founder-message{padding-block:8px 80px}
 .founder-message-copy{font-size:16px;line-height:1.95}
 .founder-message-copy p+p{margin-top:28px}
}
.page-contact .contact-opening {
  padding-top: clamp(64px, 6vw, 96px);
  padding-bottom: clamp(76px, 8vw, 124px);
}

.page-partners .partners-display {
  margin-top: 38px;
  font-family: var(--display);
  font-size: clamp(60px, 12.2vw, 160px);
  font-weight: 800;
  line-height: .94;
  letter-spacing: -.02em;
}

.page-partners .partners-team-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.page-partners .partners-team-photo figcaption {
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.8;
}

.page-about .about-story-opening { padding-block: clamp(78px, 8vw, 116px) clamp(100px, 12vw, 176px); }
.page-about .about-story-title {
  font-family: var(--display);
  font-size: clamp(76px, 13.5vw, 194px);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.022em;
}
.page-about .about-story-author {
  margin: clamp(62px, 7vw, 105px) 0 0 35%;
  font-size: clamp(26px, 3.3vw, 46px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: -.025em;
}
.page-about .about-story-experiences { background: var(--gray-3); padding-block: clamp(112px, 12vw, 174px); }
.page-about .about-story-experiences-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: 11%; align-items: start; }
.page-about .about-experience-lines { font-size: clamp(22px, 2.25vw, 32px); font-weight: 600; line-height: 1.9; letter-spacing: -.02em; }
.page-about .about-experience-lines p + p { margin-top: 12px; }
.page-about .about-experience-lines p:nth-child(4),
.page-about .about-experience-lines p:nth-child(5) { margin-left: 9%; }
.page-about .about-experience-lines p:nth-child(6) { margin-top: 28px; }
.page-about .about-story-pages { padding-top: 118px; }
.page-about .about-story-pages h2 { font-size: clamp(27px, 3.1vw, 43px); font-weight: 700; line-height: 1.65; letter-spacing: -.04em; }
.page-about .about-story-every-page { margin-top: 46px; font-size: clamp(18px, 1.6vw, 23px); line-height: 2.2; }
.page-about .about-story-depth { margin-top: 42px; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.85; font-weight: 600; letter-spacing: -.025em; }
.page-about .about-story-invitation { background: var(--ink); color: var(--paper); padding-block: clamp(110px, 12vw, 175px) clamp(90px, 9vw, 135px); }
.page-about .about-story-invitation-title { font-size: clamp(30px, 4vw, 58px); font-weight: 700; line-height: 1.6; letter-spacing: -.04em; }
.page-about .about-phone-break { display: none; }
.page-about .about-story-ending { width: 64%; margin: 64px 0 0 auto; font-size: clamp(20px, 2.15vw, 31px); line-height: 1.9; letter-spacing: -.025em; }
.page-about .about-story-ending p + p { margin-top: 42px; }
.page-about .about-story-signoff { display: flex; align-items: flex-end; gap: 44px; margin-top: clamp(88px, 11vw, 150px); }
.page-about .about-story-via { font: 800 clamp(100px, 16vw, 218px)/.75 var(--display); letter-spacing: -.025em; }
.page-about .about-story-motto { max-width: 310px; padding-bottom: 2px; font: 700 clamp(22px, 2.3vw, 31px)/1.3 var(--display); letter-spacing: .035em; }

.page-partners .partners-opening {
  background: var(--ink);
  color: var(--paper);
  padding-block: clamp(64px, 6vw, 96px) clamp(96px, 10vw, 150px);
}

.page-partners .partners-opening-copy { margin: 68px 0 0 43%; }
.page-partners .partners-opening-copy .ja-heading { font-size: clamp(29px, 3.25vw, 46px); line-height: 1.6; }
.page-partners .partners-opening-copy .body-copy { margin-top: 29px; }
.page-partners .partners-encounter {
  background: var(--gray-2);
  padding-block: clamp(104px, 11vw, 158px) clamp(98px, 10vw, 144px);
}

.page-partners .partners-encounter-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 9%;
  align-items: center;
}

.page-partners .partners-encounter .ja-heading { margin-top: 29px; font-size: clamp(31px, 3.2vw, 47px); line-height: 1.7; }
.page-partners .partners-encounter .body-copy { margin-top: 32px; }
.page-partners .partners-team-photo { width: 100%; max-width: 804px; margin: 74px 0 0; }
.page-partners .partners-together { padding-block: clamp(98px, 10vw, 145px) clamp(115px, 14vw, 200px); }
.page-partners .partners-together-word {
  font-family: var(--display);
  font-size: clamp(74px, 11.7vw, 166px);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: .95;
}

.page-partners .partners-together-ja { margin-top: 29px; font-size: clamp(20px, 2vw, 28px); font-weight: 700; line-height: 1.7; }
.page-partners .partners-audiences { display: grid; grid-template-columns: 1fr 1fr; gap: 76px 12%; margin-top: 82px; }
.page-partners .partners-audiences article { max-width: 480px; }
.page-partners .partners-audiences .ja-heading { margin-top: 20px; font-size: clamp(25px, 2.55vw, 36px); line-height: 1.65; }
.page-partners .partners-audiences .body-copy { margin-top: 26px; }
.page-partners .partners-schools { margin-top: 118px; }
.page-partners .partners-communities { grid-column: 1 / -1; margin-left: 18%; }
.page-partners .partners-contact { padding-block: clamp(100px, 12vw, 174px); background: var(--gray-4); }
.page-partners .partners-contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; }
.page-partners .partners-contact .ja-heading { margin-top: 30px; font-size: clamp(36px, 4vw, 57px); line-height: 1.6; }
.page-partners .partners-contact-copy .press-button { margin-top: 34px; }

.page-contact .contact-opening {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  column-gap: 8%;
  align-items: end;
}
.page-contact .contact-opening > .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.page-contact .contact-display {
  margin-top: 29px;
  font-family: var(--display);
  font-size: clamp(125px, 22vw, 310px);
  font-weight: 800;
  line-height: .77;
  letter-spacing: -.035em;
}

.page-contact .contact-opening-copy { width: 100%; padding-bottom: 18px; }
.page-contact .contact-opening-copy .ja-heading { font-size: clamp(33px, 3.75vw, 55px); line-height: 1.65; }
.page-contact .contact-opening-copy .body-copy { margin-top: 31px; }
.page-contact .contact-information { background: var(--gray-4); padding-block: clamp(100px, 12vw, 170px); }
.page-contact .contact-information-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10%; align-items: start; }
.page-contact .contact-information-heading .ja-heading { margin-top: 32px; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.65; }
.page-contact .contact-handwritten { margin-top: 59px; font-family: var(--serif); font-size: clamp(30px, 3.8vw, 53px); font-style: normal; line-height: 1.25; }
.page-contact .contact-information-copy { padding-top: 4px; min-width: 0; }
.page-contact .contact-availability { max-width: 620px; }
.page-contact .contact-options { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px 24px; margin-top: 48px; }
.page-contact .contact-options[hidden],
.page-contact [data-contact-panel][hidden] { display: none; }
.page-contact .contact-options button {
  min-height: 48px;
  padding: 12px;
  border: 0;
  border-radius: 5px;
  background: none;
  color: var(--ink);
  font: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
  cursor: pointer;
}

.page-contact .contact-options button[aria-pressed="true"] { background: var(--blue); color: var(--paper); font-weight: 800; }
.page-contact .contact-options button:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
.page-contact .contact-panels { min-height: 178px; margin-top: 28px; }
.page-contact [data-contact-panel]:not([hidden]) + [data-contact-panel]:not([hidden]) { margin-top: 36px; }
.page-contact .contact-panels h3 { font-size: 22px; line-height: 1.7; font-weight: 700; }
.page-contact .contact-panels .body-copy { margin-top: 18px; font-size: 16px; }
.page-contact .contact-destination-links { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; margin-top: 25px; }
.page-contact .contact-destination-links .text-link { display: inline-flex; min-height: 44px; align-items: center; }

@media (hover: hover) {
  .page-contact .contact-destination-links .text-link:hover { color: var(--ink); }
}

@media (max-width: 900px) {
  .page-about .about-story-author { margin-left: 20%; }
  .page-about .about-story-experiences-layout { grid-template-columns: 1fr 1.1fr; gap: 7%; }
  .page-about .about-experience-lines { font-size: 21px; }
  .page-about .about-story-pages { padding-top: 92px; }
  .page-about .about-story-pages h2 { font-size: 26px; }
  .page-about .about-story-depth { font-size: 22px; }
  .page-about .about-story-ending { width: 78%; }
  .page-partners .partners-display { font-size: 13.2vw; }
  .page-partners .partners-opening-copy { margin-left: 25%; }
  .page-partners .partners-encounter-layout { grid-template-columns: 1fr 1.1fr; gap: 7%; }
  .page-partners .partners-encounter .body-copy { font-size: 16px; }
  .page-partners .partners-audiences { column-gap: 9%; }
  .page-partners .partners-contact-layout { gap: 7%; }
  .page-contact .contact-opening-copy { width: 100%; }
  .page-contact .contact-information-layout { grid-template-columns: 1fr; gap: 54px; }
  .page-contact .contact-information-copy { width: 82%; margin-left: auto; }
  .page-contact .contact-handwritten { margin-top: 27px; }
}

@media (max-width: 600px) {
  .page-partners .inner-desktop-break,
  .page-contact .inner-desktop-break { display: none; }
  .page-contact .contact-opening { padding-top: 56px; padding-bottom: 68px; }
  .page-partners .partners-display { margin-top: 29px; font-size: 14.8vw; line-height: .96; }
  .page-about .about-story-opening { padding-block: 66px 114px; }
  .page-about .about-story-title { font-size: 16.3vw; line-height: .98; }
  .page-about .about-story-author { margin: 60px 0 0 5%; font-size: clamp(23px, 6.2vw, 32px); line-height: 1.9; }
  .page-about .about-story-experiences { padding-block: 85px 98px; }
  .page-about .about-story-experiences-layout { grid-template-columns: 1fr; gap: 76px; }
  .page-about .about-experience-lines { font-size: 23px; }
  .page-about .about-experience-lines p + p { margin-top: 13px; }
  .page-about .about-experience-lines p:nth-child(6) { margin-top: 26px; }
  .page-about .about-story-pages { padding-top: 0; margin-left: 5%; }
  .page-about .about-story-pages h2 { font-size: clamp(26px, 6.8vw, 35px); }
  .page-about .about-story-every-page { margin-top: 35px; font-size: 18px; }
  .page-about .about-story-depth { margin-top: 36px; font-size: 23px; }
  .page-about .about-story-invitation { padding-block: 87px 90px; }
  .page-about .about-story-invitation-title { font-size: clamp(29px, 7.7vw, 40px); line-height: 1.65; }
  .page-about .about-story-ending { width: 100%; margin-top: 45px; font-size: clamp(20px, 5.3vw, 27px); }
  .page-about .about-story-ending p + p { margin-top: 33px; }
  .page-about .about-story-signoff { margin-top: 82px; flex-direction: column; align-items: flex-start; gap: 29px; }
  .page-about .about-story-via { font-size: 34vw; }
  .page-about .about-story-motto { max-width: 280px; font-size: 22px; }
  .page-partners .partners-opening { padding-block: 56px 90px; }
  .page-partners .partners-opening-copy { margin: 48px 0 0 9%; }
  .page-partners .partners-opening-copy .ja-heading { font-size: clamp(26px, 6.9vw, 37px); }
  .page-partners .partners-opening-copy .body-copy { margin-top: 24px; }
  .page-partners .partners-encounter { padding-block: 88px 92px; }
  .page-partners .partners-encounter-layout { grid-template-columns: 1fr; gap: 46px; }
  .page-partners .partners-encounter-copy { width: 93%; }
  .page-partners .partners-encounter .ja-heading { font-size: clamp(29px, 7.7vw, 40px); }
  .page-partners .partners-team-photo { width: 94%; margin: 0 0 0 auto; }
  .page-partners .partners-team-photo figcaption { font-size: 12px; }
  .page-partners .partners-together { padding-block: 86px 108px; }
  .page-partners .partners-together-word { font-size: 21vw; }
  .page-partners .partners-together-ja { max-width: 280px; margin-top: 22px; font-size: 19px; }
  .page-partners .partners-audiences { grid-template-columns: 1fr; gap: 54px; margin-top: 57px; }
  .page-partners .partners-audiences article { width: 92%; }
  .page-partners .partners-audiences .ja-heading { font-size: clamp(24px, 6.2vw, 32px); }
  .page-partners .partners-schools { margin: 0 0 0 auto; }
  .page-partners .partners-communities { grid-column: auto; margin-left: 3%; }
  .page-partners .partners-audiences .body-copy { margin-top: 22px; }
  .page-partners .partners-contact-layout { grid-template-columns: 1fr; gap: 34px; }
  .page-partners .partners-contact .ja-heading { font-size: clamp(30px, 8vw, 43px); }
  .page-contact .contact-opening { display: block; }
  .page-contact .contact-display { margin-top: 40px; font-size: 35vw; line-height: .81; }
  .page-contact .contact-opening-copy { width: 93%; margin-top: 46px; }
  .page-contact .contact-opening-copy .ja-heading { font-size: clamp(30px, 8vw, 44px); }
  .page-contact .contact-opening-copy .body-copy { margin-top: 25px; }
  .page-contact .contact-information { padding-block: 90px 106px; }
  .page-contact .contact-information-layout { gap: 40px; }
  .page-contact .contact-information-heading .ja-heading { margin-top: 25px; font-size: 31px; }
  .page-contact .contact-handwritten { margin-top: 24px; font-size: 35px; }
  .page-contact .contact-information-copy { width: 100%; }
  .page-contact .contact-options { margin-top: 36px; gap: 8px 12px; }
  .page-contact .contact-options button { font-size: 17px; }
  .page-contact .contact-panels { margin-top: 28px; min-height: 195px; }
  .page-contact .contact-panels h3 { font-size: 20px; }
  .page-contact .contact-panels .body-copy { font-size: 16px; }
  .page-contact .contact-destination-links { gap: 21px; margin-top: 17px; }
  .page-contact .contact-destination-links .text-link { font-size: 15px; }
}

@media (max-width: 520px) {
  .page-about .about-phone-break { display: initial; }
}

/* Keep the supplied career photographs in their original framing. */
.journey-panel#journey-okinawa figure { max-width: 414px; justify-self: center; }
.journey-panel#journey-okinawa img { height: auto; aspect-ratio: 2 / 3; object-fit: contain; }
.journey-panel#journey-japan img { height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
