.culture-detail { background: #f7f1eb; }
.culture-detail .detail-hero { gap: clamp(40px, 7vw, 104px); }
.culture-detail .detail-hero-copy h1 { max-width: 720px; }
.culture-detail .culture-hero-text { max-width: 570px; margin: 24px 0 0; font-size: 18px; line-height: 1.75; color: #6b5961; }
.culture-detail .culture-hero-index { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 40px; padding-top: 23px; border-top: 1px solid #dac9cb; color: #76545e; font-size: 13px; letter-spacing: .035em; }
.culture-detail .culture-portrait { margin: 0; transform: rotate(1.5deg); }
.culture-detail .culture-image-window { position: relative; overflow: hidden; isolation: isolate; border-radius: 24px; background: #3d222c; aspect-ratio: 1100 / 1430; }
.culture-detail .culture-image-window > img { position: absolute; display: block; inset: 0; width: 100%; height: 100%; max-width: 100%; border-radius: 0; object-fit: cover; }
.culture-detail .culture-cast-window { aspect-ratio: 1170 / 1344; }
.culture-detail .culture-portrait .culture-image-window { box-shadow: 0 28px 60px #44212c1a; }
.culture-detail .culture-portrait .detail-image-note { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 17px 2px 0; color: #6f5560; font-size: 13px; line-height: 1.5; }
.culture-detail .culture-introduction { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; border-top: 1px solid #dac9cb; }
.culture-detail .culture-small-soul { margin: 27px 0 0; color: #906075; font-family: var(--font-soul); font-style: italic; font-size: clamp(26px, 3vw, 38px); line-height: 1.25; }
.culture-detail .culture-intro-copy h2 { margin: 0 0 28px; font-family: var(--font-brand); font-size: clamp(42px, 5vw, 65px); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; }
.culture-detail .culture-intro-copy h2 sup { display: inline-block; font-family: var(--font-ui); font-size: .24em; vertical-align: top; margin: .7em 0 0 .28em; letter-spacing: 0; }
.culture-detail .culture-intro-copy > p { max-width: 700px; color: #6b5961; font-size: 18px; line-height: 1.75; }
.culture-detail .culture-intro-copy strong { color: #492a38; font-weight: 500; }
.culture-detail .culture-intro-copy .culture-development { display: flex; align-items: center; gap: 10px; margin-top: 27px; font-size: 13px; }
.culture-detail .culture-development > span { flex: 0 0 6px; height: 6px; border-radius: 50%; background: #9b5d74; }
.culture-detail .culture-journey { border-top: 1px solid #dac9cb; }
.culture-detail .culture-journey .detail-section-head { max-width: 760px; }
.culture-detail .culture-stages { margin-top: 46px; }
.culture-detail .culture-stage-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #d4bfc5; }
.culture-detail .culture-stage-nav button { display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 16px 20px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #785e68; font-family: var(--font-ui); font-size: 16px; line-height: 1.4; text-align: left; cursor: pointer; transition: color .2s ease, background .2s ease; }
.culture-detail .culture-stage-nav button[aria-selected="true"] { border-bottom-color: #702f42; background: #ede1e2; color: #542234; }
.culture-detail .culture-stage-nav button:hover { background: #ede1e2; }
.culture-detail .culture-step-number { font-size: 13px; opacity: .75; }
.culture-detail .culture-stage-arrow { margin-left: auto; }
.culture-detail .culture-stage-panel { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(30px, 6vw, 84px); padding: 44px 0 16px; }
.culture-detail .culture-stage-panel + .culture-stage-panel { margin-top: 30px; }
.culture-detail .culture-stage-panel[hidden] { display: none; }
.culture-detail .culture-stage-photo { width: 100%; max-width: 430px; margin: 0; }
.culture-detail .culture-stage-photo figcaption { margin: 14px 2px 0; font-size: 13px; color: #846b75; }
.culture-detail .culture-stage-copy h3 { font-family: var(--font-brand); font-weight: 400; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.1; letter-spacing: -.03em; margin: 19px 0 25px; }
.culture-detail .culture-stage-copy > p:not(.detail-kicker):not(.culture-stage-takeaway) { max-width: 600px; color: #6b5961; font-size: 18px; line-height: 1.75; }
.culture-detail .culture-stage-copy .culture-stage-takeaway { margin: 31px 0 0; padding-top: 25px; border-top: 1px solid #dac9cb; font-family: var(--font-soul); font-style: italic; color: #90576b; font-size: 26px; line-height: 1.4; }
.culture-detail .culture-story-band { padding: clamp(38px, 6.5vw, 88px); border-radius: 28px; background: #321b2b; color: #fff8f1; }
.culture-detail .culture-story-band .detail-kicker { color: #d9afb8; }
.culture-detail .culture-story-band h2 { max-width: 950px; }
.culture-detail .culture-story-band h2 em { color: #e6b4bf; font-family: var(--font-soul); font-weight: 400; }
.culture-detail .culture-story-band > p:not(.detail-kicker) { max-width: 790px; color: #dfcdd4; font-size: 18px; line-height: 1.75; }
.culture-detail .culture-loop { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 21px; margin-top: 52px; padding-top: 34px; border-top: 1px solid #b1899b42; font-family: var(--font-brand); font-size: clamp(22px, 2.8vw, 36px); line-height: 1.3; }
.culture-detail .culture-loop i { font-family: var(--font-ui); font-style: normal; font-size: 21px; color: #c88c9d; }
.culture-detail .culture-story-band .culture-loop-caption { margin: 17px 0 0; font-size: 13px; letter-spacing: .025em; }
.culture-detail .culture-provenance { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: clamp(40px, 7vw, 96px); }
.culture-detail .culture-provenance-copy h2 { font-family: var(--font-brand); font-size: clamp(36px, 4.1vw, 52px); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; margin: 20px 0 24px; }
.culture-detail .culture-provenance-copy > p:not(.detail-kicker) { color: #6b5961; font-size: 17px; line-height: 1.75; }
.culture-detail .culture-registrations { margin: 0; }
.culture-detail .culture-registrations > div { padding: 25px 0; border-top: 1px solid #dac9cb; }
.culture-detail .culture-registrations > div:last-child { border-bottom: 1px solid #dac9cb; }
.culture-detail .culture-registrations dt { display: flex; gap: 18px; color: #70535f; font-size: 16px; line-height: 1.5; }
.culture-detail .culture-registrations dt span { color: #9c7788; font-size: 13px; padding-top: 2px; }
.culture-detail .culture-registrations dd { margin: 9px 0 0 34px; color: #482436; font-family: var(--font-brand); font-size: 28px; line-height: 1.2; letter-spacing: .015em; }
.culture-detail .culture-cta { border-top: 1px solid #dac9cb; }
.culture-detail .culture-cta .detail-actions { align-items: flex-start; flex-direction: column; }
.culture-detail .detail-footer > div { display: flex; gap: 16px 28px; align-items: center; flex-wrap: wrap; }
@media (max-width: 960px) {
  .culture-detail .culture-stage-nav button { gap: 9px; padding: 14px 12px; }
  .culture-detail .culture-stage-arrow { display: none; }
}
@media (max-width: 760px) {
  .culture-detail .culture-portrait { width: 100%; max-width: 510px; margin: 8px auto 0; transform: none; }
  .culture-detail .culture-hero-index { gap: 9px 19px; margin-top: 28px; }
  .culture-detail .culture-introduction, .culture-detail .culture-provenance { grid-template-columns: 1fr; gap: 36px; }
  .culture-detail .culture-small-soul { display: none; }
  .culture-detail .culture-introduction .detail-kicker { margin-bottom: 0; }
  .culture-detail .culture-stage-nav { grid-template-columns: 1fr; }
  .culture-detail .culture-stage-nav button { padding: 15px 16px; min-height: 58px; border-bottom: 1px solid #d4bfc5; }
  .culture-detail .culture-stage-nav button[aria-selected="true"] { border-bottom-color: #702f42; }
  .culture-detail .culture-stage-arrow { display: block; }
  .culture-detail .culture-stage-panel { grid-template-columns: 1fr; gap: 29px; padding-top: 30px; }
  .culture-detail .culture-stage-photo { max-width: none; }
  .culture-detail .culture-stage-photo .culture-image-window { aspect-ratio: 342 / 365; }
  .culture-detail .culture-stage-photo .culture-cast-window { aspect-ratio: 1170 / 1344; }
  .culture-detail .culture-stage-copy h3 { font-size: 38px; }
  .culture-detail .culture-story-band { border-radius: 22px; }
  .culture-detail .culture-loop { gap: 10px 14px; margin-top: 34px; }
  .culture-detail .culture-loop i { font-size: 17px; }
  .culture-detail .culture-cta .detail-actions { width: 100%; }
}
