.service-map {
  position: absolute;
  left: 54vw;
  width: 35vw;
  top: 27%;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #244127;
  transform: perspective(1200px) rotateY(calc((1 - var(--enter))*-12deg));
}
.service-entry, .service-core, .service-nodes > div {
  border: 1px solid #32572e45;
  background: #f9fcf3e6;
  border-radius: 10px;
  padding: 20px 24px;
  font-size: 16px;
  text-align: center;
}
.service-entry {width: 58%;}
.service-core {
  width: 100%;
  padding: 28px 20px;
  background: #193723;
  color: #e2f9d6;
  box-shadow: 0 20px 70px #203d2424;
  font-size: clamp(20px, 2.4vw, 36px);
  letter-spacing: -.04em;
}
.service-core span {display: block;font-size: 13px;letter-spacing: 0;margin-top: 12px;color: #afcfac;}
.service-link {width: 1px;height: 50px;background: #31512b50;position: relative;}
.service-link i {position: absolute;left: -3px;width: 7px;height: 7px;border-radius: 50%;background: #345c2c;top: calc(var(--p)*85%);}
.service-branches {width: 100%;display: flex;height: 65px;justify-content: space-around;}
.service-branches i {display: block;width: 1px;background: linear-gradient(#264725,#42633135);height: 100%;transform: scaleY(calc(.35 + var(--enter)*.65));transform-origin: top;}
.service-nodes {width: 100%;display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}
.service-nodes > div {font-size: 14px;padding: 19px 12px;transform: translateY(calc((1 - var(--enter))*20px));}
.service-nodes > div:nth-child(2n) {background: #d5e7c8;}
.app-copy h2 {font-size: clamp(39px, 4.4vw, 70px);}
.sound-copy {width: 67%;}
.sound h2 {font-size: clamp(46px, 5.5vw, 90px);}
.sound-montage {position: absolute;right: 9vw;top: 16%;width: 23vw;height: 65%;border-radius: 18px;overflow: hidden;border: 1px solid #ffffff24;transform: perspective(1200px) rotateY(calc(-18deg + var(--enter)*18deg)) rotate(calc(6deg - var(--p)*6deg));box-shadow: 0 30px 100px #0008;opacity: .7;}
.sound-montage video {width: 100%;height: 100%;object-fit: contain;background: #090909;}
.sound-copy p:not(.eyebrow):not(.audio-caption) {max-width: 540px;font-size: 17px;}
.sound-copy .film-button {max-width: 100%;text-align: center;line-height: 1.5;}
.chapter-nav a {min-height: 40px;}
.motion-toggle {min-height: 40px;}
.side-copy {font-size: 16px;}
.text-button {min-height: 44px;}
@media (max-width: 1000px) {
  .service-map {left: 57vw;width: 34vw;top: 28%;}
  .service-entry {width: 82%;}
  .service-core {font-size: 25px;}
  .service-nodes > div {padding: 16px 8px;}
  .sound-montage {right: 5vw;width: 29vw;opacity: .5;}
}
@media (max-width: 700px) {
  .service-map {left: 12vw;width: 76vw;top: 49%;transform: none;}
  .service-entry {width: 58%;padding: 12px 18px;font-size: 14px;}
  .service-link {height: 28px;}
  .service-core {padding: 17px 14px;font-size: 24px;}
  .service-core span {margin-top: 8px;font-size: 12px;}
  .service-branches {height: 27px;}
  .service-nodes {gap: 8px;}
  .service-nodes > div {padding: 12px 7px;}
  .apps .stage {min-height: 840px;}
  .app-copy h2 {font-size: 41px;}
  .app-note {bottom: 8%;}
  .app-copy p:not(.eyebrow), .systems-copy p:not(.eyebrow), .education-copy p:not(.eyebrow), .webmath-proof p, .side-copy {font-size: 16px;}
  .sound-copy {width: 100%;margin-top: -50px;}
  .sound-copy h2 {font-size: 46px;}
  .sound-copy p:not(.eyebrow):not(.audio-caption) {font-size: 16px;max-width: 300px;}
  .sound-copy .film-button {font-size: 14px;max-width: 285px;}
  .sound-montage {right: -20vw;width: 55vw;top: 18%;height: 65%;opacity: .15;}
  .sound-disciplines {font-size: 23px;}
  .chapter-nav {left: 10px;bottom: 14px;padding: 2px;}
  .chapter-nav a {width: 26px;min-height: 35px;}
  .motion-toggle {right: 10px;bottom: 14px;max-width: 116px;}
  .scene-footer .text-button {font-size: 14px;}
}
@media (max-width: 360px) {
  .chapter-nav a {width: 23px;}
  .motion-toggle {font-size: 12px;padding: 8px;}
  .hero-copy h1 {font-size: 65px;}
  .app-copy h2 {font-size: 37px;}
  .service-map {top: 50%;}
}
body.calm .service-map, body.calm .service-nodes > div, body.calm .service-branches i, body.calm .sound-montage {transform: none;}
.teaching{height:auto;}
.teaching>.stage{position:relative;}
.simulation-proof{padding:40px 8vw 100px;background:#dcf2cc;color:#1c3925;}
.simulation-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:36px;}
.simulation-heading .eyebrow{color:#537543;font-size:12px;margin-bottom:18px;}
.simulation-heading h3{font-size:clamp(28px,3.5vw,48px);font-weight:400;line-height:1.1;letter-spacing:-.04em;margin:0;scroll-margin-top:110px;}
.simulation-heading h3 em{font-family:Georgia,serif;color:#45672d;}
.simulation-heading>p{font-size:16px;line-height:1.6;color:#57704d;margin:0;}
.simulation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.simulation-grid figure{margin:0;min-width:0;}
.simulation-grid video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;border-radius:14px;background:#080c0b;box-shadow:0 15px 38px #23431816;}
.simulation-grid figcaption{padding:20px 0 0;}
.simulation-grid h4{font-size:20px;font-weight:500;letter-spacing:-.025em;margin:0 0 8px;}
.simulation-grid p{font-size:14px;line-height:1.5;color:#57704d;margin:0 0 13px;}
.simulation-grid a{display:inline-block;font-size:14px;border-bottom:1px solid #3c612c66;padding:8px 0;}
.simulation-grid a:focus-visible{outline-color:#315422;}
@media(max-width:700px){.simulation-proof{padding:35px 7vw 80px;}.simulation-heading{display:block;margin-bottom:28px;}.simulation-heading>p{margin-top:20px;}.simulation-grid{grid-template-columns:1fr;gap:36px;max-width:440px;margin:auto;}.simulation-grid video{max-height:70svh;}.simulation-grid h4{font-size:20px;}.simulation-grid figcaption{padding-top:16px;}}
@media (prefers-reduced-motion: reduce) {
  .service-map, .service-nodes > div, .service-branches i, .sound-montage {transform: none;}
}
