.outdoor {
  padding-block: 62px 60px;
  border-block-start: 1px solid var(--line);
}
.outdoor-heading {
  margin-block-end: 23px;
}
.outdoor-heading > p {
  max-inline-size: 38em;
}
.outdoor-destinations {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-block-end: 12px;
}
.outdoor-scenes {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.outdoor-scenes button,
.outdoor-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  min-height: 40px;
  border: 1px solid #d6cebd;
  background: #f8f5eb;
  color: #4a5542;
  font-size: 13px;
  line-height: 1.4;
  text-align: start;
}
.outdoor-scenes button span,
.outdoor-tabs button span {
  font: 11px/1 Georgia, serif;
  color: #765c46;
}
.outdoor-scenes button:hover,
.outdoor-tabs button:hover {
  background: #edf0e4;
  border-color: #acb39f;
}
.outdoor-scenes button[aria-pressed="true"],
.outdoor-tabs button[aria-pressed="true"] {
  background: #526147;
  border-color: #526147;
  color: #fff9eb;
}
.outdoor-scenes button[aria-pressed="true"] span,
.outdoor-tabs button[aria-pressed="true"] span {
  color: #eee0bf;
}
.outdoor-scene-note {
  color: #626653;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}
.outdoor-stage {
  min-block-size: 410px;
  display: grid;
  align-items: center;
  position: relative;
  isolation: isolate;
  background: #22251c;
  color: #f7efdd;
  overflow: hidden;
  border: 1px solid #3c4236;
}
.outdoor-landscape {
  position: absolute;
  inset-block: 0;
  inset-inline: 30% 0;
  margin: 0;
  z-index: -2;
}
.outdoor-landscape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 53%;
}
.outdoor-stage[data-scene="kamakura"] img {
  object-position: 63% 46%;
}
.outdoor-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg,#22251c 13%,#22251cf7 27%,#22251caa 44%,#22251c10 66%,transparent);
}
html[dir="rtl"] .outdoor-stage::before {
  background: linear-gradient(270deg,#22251c 13%,#22251cf7 27%,#22251caa 44%,#22251c10 66%,transparent);
}
.outdoor-landscape figcaption {
  position: absolute;
  inset-block-end: 15px;
  inset-inline-end: 15px;
  display: grid;
  gap: 3px;
  padding: 8px 11px;
  background: #23261de0;
  border: 1px solid #f7ecce60;
  color: #fff4dd;
  text-align: start;
}
.outdoor-landscape figcaption span {
  font: 600 15px/1.3 var(--serif);
}
.outdoor-landscape figcaption small {
  color: #e7dac1;
  font-size: 10px;
}
.outdoor-stage-copy {
  position: relative;
  max-inline-size: 61%;
  padding: clamp(24px,5.2vw,70px);
  padding-inline-end: 18px;
}
.outdoor-stage-kicker {
  color: #dab896;
}
.outdoor-stage h3 {
  color: #fff6e3;
  font: 600 clamp(33px,4.1vw,61px)/1.14 var(--serif);
  letter-spacing: .02em;
  margin: 0 0 17px;
}
[dir="rtl"] .outdoor-stage h3 {
  letter-spacing: 0;
}
.outdoor-stage-copy > p:not(.kicker) {
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
  color: #f1e6cf;
}
.outdoor-stage .button-ghost {
  background: #24281eb3;
}
.outdoor-stage .button-ghost:hover {
  background: #e1dac84a;
}
.outdoor-workbench {
  border: 1px solid #d7cfbe;
  border-block-start: 0;
  background: #faf7ee;
}
.outdoor-tabs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-block-end: 1px solid #d7cfbe;
}
.outdoor-tabs button {
  justify-content: center;
  min-height: 49px;
  border: 0;
  border-inline-end: 1px solid #d7cfbe;
  border-radius: 0;
}
.outdoor-tabs button:last-child {
  border-inline-end: 0;
}
.outdoor-tabs button:focus-visible {
  outline-offset: -4px;
}
.outdoor-zazen-info {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding: 13px clamp(15px,3vw,31px);
}
.outdoor-zazen-info p {
  margin: 0;
  color: #525c4a;
  font-size: 13px;
  line-height: 1.65;
}
.outdoor-sources {
  margin-block-start: 12px;
  color: #626653;
  font-size: 11px;
}
.outdoor-sources summary {
  cursor: pointer;
  width: fit-content;
}
.outdoor-sources ul {
  display: flex;
  gap: 7px 19px;
  flex-wrap: wrap;
  margin: 7px 0 0;
  padding-inline-start: 20px;
}
.outdoor-sources a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.temple-activity.ta-outdoor {
  width: min(940px,calc(100vw - 28px));
}
.temple-activity.ta-outdoor .ta-shell {
  display: grid;
  grid-template-columns: minmax(270px,1fr) minmax(0,.85fr);
  gap: clamp(16px,3vw,28px);
  padding-block-start: 52px;
}
.ta-outdoor-view {
  position: relative;
  margin: 0;
  align-self: stretch;
  min-height: 180px;
  border: 1px solid #c9c0ae;
  overflow: hidden;
}
.ta-outdoor-view img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% 50%;
}
.ta-outdoor-view[data-scene="kamakura"] img {
  object-position: 89% 50%;
}
[dir="rtl"] .outdoor-stage .button-light svg {
  transform: scaleX(-1);
}
.ta-outdoor-view figcaption {
  position: absolute;
  inset-block-end: 9px;
  inset-inline: 9px auto;
  padding: 5px 7px;
  background: #22251ce8;
  color: #fff4dd;
  font-size: 11px;
}
.temple-activity.ta-outdoor .ta-live {
  grid-column: 1 / -1;
  margin-block: 0;
}
@media(max-width:760px) {
  .outdoor { padding-block: 49px 48px; }
  .outdoor-stage { min-block-size: 0; }
  .outdoor-stage-copy { max-inline-size: none; padding: 22px 16px 26px; }
  .outdoor-stage::before,
  html[dir="rtl"] .outdoor-stage::before { background: none; }
  .outdoor-landscape { position: relative; inset: auto; aspect-ratio: 1.85; }
  .outdoor-landscape figcaption { inset-inline-end: 9px; inset-block-end: 9px; }
  .outdoor-stage-copy .hero-actions { margin-block-start: 15px; }
  .outdoor-stage h3 { margin-block-end: 10px; }
}
@media(max-width:570px) {
  .outdoor-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .outdoor-tabs button:nth-child(2n) { border-inline-end: 0; }
  .outdoor-tabs button:nth-child(-n+2) { border-block-end: 1px solid #d7cfbe; }
  .outdoor-zazen-info { align-items: flex-start; }
  .temple-activity.ta-outdoor .ta-shell { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .ta-outdoor-view { grid-row: 1; min-height: 100px; }
}

.outdoor-landscape figcaption,
.ta-outdoor-view figcaption {
  inset-block: 12px auto;
  inset-inline: auto 12px;
  z-index: 2;
  pointer-events: none;
}
.outdoor-view-render {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.outdoor-view-render:not([data-view-state="ready"]) {
  visibility: hidden;
}
.outdoor-view-canvas {
  cursor: grab;
  touch-action: none;
}
.outdoor-view-canvas:active {
  cursor: grabbing;
}
.outdoor-view-canvas:focus-visible {
  outline-offset: -4px;
}
.outdoor-view-toolbar,
.outdoor-view-state {
  position: absolute;
  z-index: 2;
  inset-block-end: 12px;
  inset-inline-end: 12px;
  margin: 0;
  color: #f9f1e1;
  font-size: 11px;
}
.outdoor-view-toolbar {
  display: none;
  align-items: flex-end;
  flex-direction: column;
  gap: 6px;
}
.outdoor-view-hint,
.outdoor-view-state span {
  padding: 5px 8px;
  background: #23261de8;
  border: 1px solid #e8dfc96b;
}
.outdoor-view-controls {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
  direction: ltr;
}
.outdoor-view-controls button {
  display: grid;
  place-items: center;
  inline-size: 36px;
  block-size: 35px;
  padding: 0;
  border: 1px solid #e8dfc970;
  background: #23261de8;
  color: #f7efdf;
  font-size: 17px;
}
.outdoor-view-controls button:hover,
.outdoor-view-controls button[aria-pressed="true"] {
  color: #fffaf0;
  background: #4d5d43;
  border-color: #eee2cb;
}
.outdoor-view-controls button:focus-visible {
  outline-color: #f2cfa7;
  outline-offset: -3px;
}
.outdoor-view-expand {
  margin-inline-start: 4px;
}
.outdoor-view-state span {
  display: none;
}
.outdoor-view-render[data-view-state="loading"] ~ .outdoor-view-state .outdoor-view-loading,
.outdoor-view-render[data-view-state="fallback"] ~ .outdoor-view-state .outdoor-view-fallback {
  display: inline-block;
}
.outdoor-view-render[data-view-state="ready"] ~ .outdoor-view-toolbar {
  display: flex;
}
.outdoor-stage.outdoor-immersive {
  min-block-size: clamp(430px, 68dvh, 680px);
}
.outdoor-stage.outdoor-immersive::before,
.outdoor-stage.outdoor-immersive .outdoor-stage-copy {
  display: none;
}
.outdoor-stage.outdoor-immersive .outdoor-landscape {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
}
.ta-outdoor-view .outdoor-view-hint {
  display: none;
}
@media(max-width:760px) {
  .outdoor-landscape {
    min-block-size: 218px;
  }
  .outdoor-landscape figcaption,
  .ta-outdoor-view figcaption {
    inset-block: 9px auto;
    inset-inline-end: 9px;
  }
  .outdoor-view-toolbar,
  .outdoor-view-state {
    inset-block-end: 9px;
    inset-inline-end: 9px;
  }
  .outdoor-view-controls button {
    inline-size: 34px;
    block-size: 34px;
  }
  .outdoor-stage.outdoor-immersive {
    min-block-size: clamp(315px, 58dvh, 510px);
  }
}
@media(max-width:570px) {
  .ta-outdoor-view {
    min-block-size: 192px;
  }
}

.outdoor-stage {
  scroll-margin-block-start: 12px;
}
.outdoor-immersive .outdoor-view-toolbar {
  display: flex;
}
.outdoor-immersive .outdoor-view-render:not([data-view-state="ready"]) ~ .outdoor-view-toolbar .outdoor-view-hint,
.outdoor-immersive .outdoor-view-render:not([data-view-state="ready"]) ~ .outdoor-view-toolbar button:not(.outdoor-view-expand) {
  display: none;
}
.outdoor-immersive .outdoor-view-render:not([data-view-state="ready"]) ~ .outdoor-view-state {
  inset-block: 12px auto;
  inset-inline: 12px auto;
}
/* A full-size mountain stage keeps the character visible while controls stay at the edge. */
.outdoor-stage{height:clamp(440px,64vh,680px);min-height:440px;isolation:isolate;background:linear-gradient(#bfcebd,#8c9b7c)}
.outdoor-stage .outdoor-landscape{position:absolute;inset:0;aspect-ratio:auto;height:100%;min-height:100%}
.outdoor-stage::before{display:none}
.outdoor-stage-copy{position:absolute;inset:20px auto auto 22px;max-width:290px;z-index:2;pointer-events:none;padding:12px 18px!important;background:#eef0dfdb;border:1px solid #faf7e9a8;backdrop-filter:blur(8px);color:#3c4836!important;border-radius:2px}
.outdoor-stage-copy h3{font-size:clamp(21px,2.6vw,32px)!important;line-height:1.4!important;margin:6px 0!important;color:#34422f!important}
.outdoor-stage-copy p{font-size:13px!important;line-height:1.7!important;color:#58634d!important;margin:0!important}
.outdoor-stage-copy .kicker{font-size:10px!important;letter-spacing:.15em}
.outdoor-view-toolbar{inset-block-end:15px;inset-inline-end:15px;max-width:calc(100% - 180px);align-items:flex-end}
.outdoor-view-hint{max-width:440px;background:#f2efdfdf;color:#48533c;padding:5px 8px;border-radius:2px;font-size:11px;line-height:1.5}
.mountain-movement{position:absolute;inset-block-end:18px;inset-inline-start:20px;z-index:6;touch-action:none}
.mountain-dpad{display:grid;grid-template:repeat(2,38px)/repeat(3,38px);gap:4px}
.mountain-dpad button{background:#f4f0dfdf;color:#46513c;border:1px solid #ddd5bd;border-radius:4px;font-size:20px;touch-action:none;user-select:none}
.mountain-dpad .forward{grid-area:1/2}.mountain-dpad .left{grid-area:2/1}.mountain-dpad .back{grid-area:2/2}.mountain-dpad .right{grid-area:2/3}
.mountain-stick{display:none;width:96px;height:96px;border-radius:50%;background:#e4e8d392;border:1px solid #f3efdbc9;align-items:center;justify-content:center;touch-action:none}
.mountain-stick span{display:block;width:38px;height:38px;border-radius:50%;background:#f0ebd6d9;border:1px solid #a2aa8b;pointer-events:none;box-shadow:0 3px 12px #31462d25}
.mountain-view-actions{position:absolute;inset-block-start:59px;inset-inline-end:15px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:5}
.mountain-view-actions button{border:1px solid #dad5bfa8;color:#374831;background:#f6f1dfdf;font-size:11px;padding:7px 10px;min-height:37px;border-radius:3px;max-width:190px;text-align:start}
.mountain-view-actions button[aria-pressed=true]{background:#657659;color:white}
.mountain-help{font-size:12px;color:#7c816d;margin:10px 0}.outdoor-tabs{display:flex;flex-wrap:wrap}.outdoor-tabs button{flex:1;justify-content:center}.outdoor-workbench{margin-top:18px}
.outdoor-view-canvas:focus-visible{outline:3px solid #d2b77d;outline-offset:-3px}.mountain-view-actions button:focus-visible,.mountain-dpad button:focus-visible{outline:3px solid #89734d;outline-offset:2px}
.outdoor-stage.outdoor-immersive{height:min(82dvh,850px)}
@media(max-width:760px),(pointer:coarse){.mountain-stick{display:flex}.mountain-dpad{display:none}}
@media(max-width:760px){.outdoor-stage{height:560px;min-height:560px}.outdoor-stage-copy{inset:14px auto auto 12px;padding:8px 12px!important;max-width:185px}.outdoor-stage-copy p:not(.kicker){display:none}.outdoor-stage-copy h3{font-size:21px!important}.mountain-view-actions{inset-block-start:80px;inset-inline-end:10px}.mountain-view-actions button{max-width:155px;padding:6px 8px;font-size:10px}.mountain-movement{inset-inline-start:16px;inset-block-end:24px}.outdoor-view-toolbar{inset-block-end:18px;inset-inline-end:9px;max-width:180px}.outdoor-view-controls{max-width:150px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px}.outdoor-view-hint{display:none}.outdoor-scenes{gap:6px}.outdoor-scenes button{flex:1 1 28%;font-size:12px;padding:7px 8px}.outdoor-tabs button{flex:1 1 30%;font-size:12px;padding:9px 7px}.outdoor-landscape figcaption{font-size:10px}.outdoor-stage.outdoor-immersive{height:78dvh;min-height:480px}}

.mountain-mode{font-size:11px;color:#f9f5e3;background:#526449d6;padding:4px 9px;max-width:185px;text-align:end}
.outdoor-stage-copy h3{font-size:28px!important;max-inline-size:none!important;white-space:nowrap}
@media(max-width:760px){.outdoor-stage-copy h3{font-size:18px!important}.mountain-view-actions{inset-block-start:59px}}
