.wons-home-story {
  /* Homepage palette lock: keep the Seoul Diocese warm sand/brown system stable across runtime theme values. */
  --we-color-primary: #4e4035;
  --we-color-primary-strong: #262522;
  --we-color-secondary: #8fa3b8;
  --we-color-accent: #c6a24a;
  --we-color-background: #f6efe4;
  --we-color-surface: #fbf7f0;
  --we-color-soft: #f6efe4;
  --we-color-surface-secondary: #fbf7f0;
  --we-color-heading: #4e4035;
  --we-color-text: #5f564f;
  --we-color-muted: #8a7e72;
  --we-color-line: #d8c7ae;
  --we-color-primary-rgb: 78, 64, 53;
  --we-color-primary-strong-rgb: 38, 37, 34;

  --wons-gold: #c6a24a;
  --wons-gold-dark: color-mix(in srgb, #c6a24a 65%, #000);
  --wons-navy: #4e4035;
  --wons-strong: #262522;
  --wons-section-title-size: clamp(34px, 4.1vw, 58px);
  --wons-section-title-size-mobile: clamp(28px, 8vw, 34px);
  --wons-blue: #8fa3b8;
  --wons-taupe: #a9957f;
  --wons-ivory: #f6efe4;
  --wons-cream: #fbf7f0;
  --wons-bluegray: #fbf7f0;
  --wons-charcoal: #5f564f;
  --wons-line: #d8c7ae;
  --wons-story-font-default: "MaruBuri", "Noto Serif KR", serif;
  width: 100vw;
  margin: -1px 0 0 calc(50% - 50vw);
  overflow: clip;
  color: var(--wons-charcoal);
  background: var(--wons-ivory);
  font-family: var(--wons-story-font-default);
}
.wons-smooth-wrapper,
.wons-smooth-content { width: 100%; }
.wons-home-story[data-animation-engine="gsap"] [data-story-reveal] { transition: none; }

.wons-home-story *, .wons-home-story *::before, .wons-home-story *::after { box-sizing: border-box; }
.wons-story-shell { width: min(100% - 48px, 1280px); margin-inline: auto; }
.wons-home-story [data-story-section] {
  position: relative;
  font-family: var(--wons-section-font-content, var(--wons-section-font-main, var(--wons-story-font-default)));
  font-size: var(--wons-section-content-size, var(--we-font-size-content, 16px));
  font-weight: var(--wons-section-content-weight, var(--we-font-weight-content, 400));
}
.wons-home-story .wons-scroll-chapter h1,
.wons-home-story .wons-scroll-chapter h2,
.wons-home-story .wons-scroll-chapter h3,
.wons-home-story .wons-scroll-chapter [data-story-heading] {
  font-family: var(--wons-section-font-heading, var(--wons-section-font-main, var(--wons-story-font-default)));
  font-weight: var(--wons-section-heading-weight);
}
.wons-home-story .wons-scroll-chapter[style*="--wons-section-heading-size:"] [data-story-heading] {
  font-size: var(--wons-section-heading-size);
}
.wons-home-story .wons-scroll-chapter [data-story-content] {
  font-family: var(--wons-section-font-content, var(--wons-section-font-main, var(--wons-story-font-default)));
  font-weight: var(--wons-section-content-weight);
}
.wons-home-story .wons-scroll-chapter[style*="--wons-section-content-size:"] [data-story-content] {
  font-size: var(--wons-section-content-size);
}
.wons-home-story .wons-scroll-chapter :where(
  a,
  button,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  time,
  figcaption,
  small,
  .wons-scroll-kicker,
  .wons-scroll-hero__hint,
  .wons-story-eyebrow,
  .wons-activity-card__meta,
  .wons-district-panel__number,
  .wons-scroll-quicklinks,
  [role="tab"]
) {
  font-family: var(--wons-section-font-heading, var(--wons-section-font-main, var(--wons-story-font-default)));
}
@media (max-width: 1100px) {
  .wons-home-story .wons-scroll-chapter[style*="--wons-section-heading-size-mobile:"] [data-story-heading] {
    font-size: var(--wons-section-heading-size-mobile);
  }
  .wons-home-story .wons-scroll-chapter[style*="--wons-section-content-size-mobile:"] [data-story-content] {
    font-size: var(--wons-section-content-size-mobile);
  }
}
.wons-home-story [data-story-section] > .we-homeInlineEdit {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: 24px !important;
  left: max(24px, calc((100vw - 1280px) / 2)) !important;
  z-index: 70;
  margin: 0 !important;
}
.wons-home-story [data-story-section] > .we-homeInlineEdit a {
  position: relative;
  width: 44px;
  min-width: 44px;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  color: #fff !important;
  background: rgba(var(--we-color-primary-rgb),.92) !important;
  font-size: 0 !important;
  box-shadow: 0 10px 28px rgba(38,37,34,.24) !important;
  backdrop-filter: blur(10px);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.wons-home-story [data-story-section] > .we-homeInlineEdit a:hover,
.wons-home-story [data-story-section] > .we-homeInlineEdit a:focus-visible {
  background: var(--wons-gold-dark) !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(38,37,34,.3) !important;
}
.wons-home-story .we-homeInlineEdit__icon { font-size: 19px; line-height: 1; }
.wons-home-story .we-homeInlineEdit__label {
  position: absolute;
  bottom: 50%;
  left: calc(100% + 10px);
  padding: 8px 11px;
  border-radius: 7px;
  color: #fff;
  background: rgba(38,37,34,.96);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translate(-6px, 50%);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  pointer-events: none;
}
.wons-home-story .we-homeInlineEdit a:hover .we-homeInlineEdit__label,
.wons-home-story .we-homeInlineEdit a:focus-visible .we-homeInlineEdit__label {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 50%);
}
.wons-home-story .wons-story-hero > .we-homeInlineEdit { bottom: 94px !important; }
.wons-story-eyebrow { margin: 0 0 18px; color: var(--wons-gold-dark); font-size: 13px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.wons-story-heading { max-width: 880px; margin-bottom: clamp(42px, 7vw, 88px); }
.wons-story-heading h2,
.wons-story-network__intro h2,
.wons-story-finder__intro h2,
.wons-home-closing h2 { margin: 0; color: var(--wons-navy); font-size: var(--wons-section-title-size); line-height: var(--wons-story-leading-display, 1.14); letter-spacing: -.055em; }

.wons-story-hero {
  position: relative;
  display: grid;
  min-height: max(760px, calc(100svh - 86px));
  align-items: center;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 26%, rgba(198, 162, 74, .22), transparent 28%),
    linear-gradient(135deg, var(--we-color-soft, #f6efe4) 0%, #eef0ed 48%, var(--we-color-surface-secondary, #f6efe4) 100%);
}
.wons-story-hero::before { position: absolute; inset: 0; z-index: -1; content: ""; opacity: .22; background-image: linear-gradient(rgba(var(--we-color-primary-rgb),.12) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--we-color-primary-rgb),.12) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to right, transparent, #000); }
.wons-story-hero__inner { position: relative; display: grid; min-height: inherit; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: clamp(42px, 7vw, 110px); padding-block: clamp(96px, 12vw, 160px); }
.wons-story-hero__copy { position: relative; z-index: 2; }
.wons-story-hero h1 { max-width: 820px; margin: 0; color: var(--wons-navy); font-size: clamp(48px, 6.6vw, 94px); line-height: var(--wons-story-leading-display, 1.14); letter-spacing: -.065em; word-break: keep-all; }
.wons-story-lead { max-width: 690px; margin: 34px 0 0; color: var(--wons-charcoal); font-size: clamp(17px, 2vw, 22px); line-height: 1.85; }
.wons-story-media { position: relative; margin: 0; overflow: hidden; aspect-ratio: 16 / 10; background: var(--wons-navy); }
.wons-story-hero__media { aspect-ratio: 4 / 5; box-shadow: 0 46px 110px rgba(var(--we-color-primary-rgb), .2); }
.wons-story-media__placeholder { position: absolute; inset: -4%; background: radial-gradient(circle at 48% 38%, rgba(255,255,255,.5) 0 3%, transparent 4%), radial-gradient(circle at 58% 48%, rgba(198,162,74,.58), transparent 23%), linear-gradient(155deg, var(--we-color-primary, #4e4035), var(--wons-taupe) 62%, var(--we-color-soft, #f6efe4)); background-size: 120% 120%; transform: translate3d(0, calc(var(--wons-hero-progress, 0) * -30px), 0) scale(calc(1 + (var(--wons-hero-progress, 0) * .06))); transition: transform .08s linear; }
.wons-story-media__placeholder::before { position: absolute; inset: 9%; content: ""; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.wons-story-media__placeholder::after { position: absolute; right: -20%; bottom: 12%; width: 120%; height: 1px; content: ""; background: rgba(255,255,255,.5); box-shadow: 0 -45px rgba(255,255,255,.16), 0 45px rgba(255,255,255,.16); transform: rotate(-18deg); }
.wons-story-orbit { position: absolute; border: 1px solid rgba(255,255,255,.46); border-radius: 50%; }
.wons-story-orbit--one { top: 13%; right: 9%; width: 42%; aspect-ratio: 1; }
.wons-story-orbit--two { bottom: 8%; left: -5%; width: 64%; aspect-ratio: 1; border-color: rgba(198,162,74,.7); }
.wons-story-route { position: absolute; top: 18%; bottom: 10%; left: 42%; width: 2px; background: linear-gradient(transparent, var(--we-color-soft, #f6efe4) 25% 70%, transparent); transform: rotate(27deg); }
.wons-story-scroll { position: absolute; bottom: 34px; left: 0; display: inline-flex; align-items: center; gap: 16px; color: var(--wons-navy); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.wons-story-scroll i { display: block; width: 44px; height: 1px; background: currentColor; animation: wons-scroll-pulse 1.8s ease-in-out infinite; }

.wons-story-intro { padding-block: clamp(110px, 15vw, 220px); background: var(--we-color-surface, #fbf7f0); }
.wons-story-intro__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(60px, 10vw, 160px); }
.wons-story-intro__copy { position: sticky; top: 150px; align-self: start; }
.wons-story-intro__copy h2 { margin: 0; color: var(--wons-navy); font-size: var(--wons-section-title-size); line-height: var(--wons-story-leading-display, 1.14); letter-spacing: -.055em; }
.wons-story-intro__copy > p:last-child { max-width: 650px; margin: 34px 0 0; color: color-mix(in srgb, var(--wons-charcoal) 82%, var(--wons-cream)); font-size: 18px; line-height: 1.9; }
.wons-story-intro__sequence { display: grid; padding-top: 14vh; }
.wons-story-intro__sequence p { min-height: 26vh; margin: 0; padding: 34px 0; border-top: 1px solid rgba(var(--we-color-primary-rgb),.16); color: var(--wons-navy); font-size: clamp(25px, 3vw, 38px); font-weight: 750; letter-spacing: -.035em; }
.wons-story-intro__sequence span { display: block; margin-bottom: 24px; color: var(--wons-gold-dark); font-size: 13px; letter-spacing: .14em; }

.wons-story-experiences { overflow: clip; padding-block: clamp(84px, 10vw, 138px); color: #fff; background: radial-gradient(circle at 82% 18%, rgba(198,162,74,.18), transparent 30%), linear-gradient(145deg, var(--wons-strong), var(--wons-navy) 58%, color-mix(in srgb, var(--wons-navy) 78%, var(--wons-cream))); }
.wons-story-experiences .wons-story-eyebrow { color: #e2c96f; }
.wons-story-experiences .wons-story-heading { max-width: 780px; }
.wons-story-experiences .wons-story-heading h2 { color: #fff; }
.wons-experience-story { --wons-experience-progress: 0; position: relative; }
.wons-experience-story__layout, .wons-experiences-viewport { min-width: 0; }
.wons-experiences-list { display: flex; width: max-content; gap: clamp(18px, 2.4vw, 34px); }
.wons-experience { position: relative; display: grid; overflow: hidden; isolation: isolate; flex: 0 0 min(48vw, 520px); height: min(64svh, 650px); min-height: 460px; align-content: end; padding: clamp(28px, 3vw, 44px); border: 1px solid rgba(255,255,255,.2); border-radius: clamp(22px, 2.4vw, 38px); color: #fff; background: var(--we-color-primary, #4e4035); box-shadow: 0 28px 78px rgba(38,37,34,.24); opacity: .5; transform: translate3d(0, 0, 0) scale(.95); transition: opacity .45s ease, transform .65s cubic-bezier(.22,1,.36,1), box-shadow .45s ease; }
.wons-experience::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(var(--we-color-primary-strong-rgb),.06) 12%, rgba(var(--we-color-primary-strong-rgb),.28) 46%, rgba(var(--we-color-primary-strong-rgb),.94) 100%); }
.wons-experience::after { position: absolute; z-index: -1; right: -8%; bottom: -28%; width: 48%; aspect-ratio: 1; border: 1px solid rgba(226,201,111,.35); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(198,162,74,.035); transform: translate3d(calc(var(--wons-experience-depth, 0) * -24px), calc(var(--wons-experience-depth, 0) * 14px), 0); }
.wons-experience.is-active { opacity: 1; transform: translate3d(0, -8px, 0) scale(1); box-shadow: 0 42px 105px rgba(38,37,34,.36); }
.wons-experience__mobile-media { position: absolute; z-index: -2; inset: 0; display: grid; width: 100%; height: 100%; margin: 0; background: linear-gradient(145deg, var(--wons-taupe), var(--we-color-primary, #4e4035)); place-items: center; }
.wons-experience__mobile-media img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.1s cubic-bezier(.22,1,.36,1), filter .55s ease; filter: saturate(.82) brightness(.82); }
.wons-experience.is-active .wons-experience__mobile-media img { transform: scale(1.015); filter: saturate(1) brightness(.94); }
.wons-experience__number { position: absolute; top: clamp(24px, 3vw, 42px); left: clamp(26px, 3.5vw, 52px); display: inline-flex; min-width: 50px; height: 32px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; color: #f0d680; background: rgba(var(--we-color-primary-strong-rgb),.42); font-size: 12px; font-weight: 800; letter-spacing: .14em; backdrop-filter: blur(10px); }
.wons-experience__copy { position: relative; z-index: 1; max-width: 640px; }
.wons-experience h3 { margin: 0; color: #fff; font-size: clamp(38px, 4.4vw, 58px); line-height: var(--wons-story-leading-display, 1.14); letter-spacing: -.055em; }
.wons-experience p { max-width: 420px; margin: 18px 0 0; color: rgba(255,255,255,.8); font-size: clamp(15px, 1.25vw, 18px); line-height: var(--wons-story-leading-body, 1.82); }
.wons-experience__more { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; color: #fff; font-size: 13px; font-weight: 800; }
.wons-experience__more i { color: #f0d680; font-size: 18px; font-style: normal; transition: transform .25s ease; }
.wons-experience:hover .wons-experience__more i, .wons-experience:focus-within .wons-experience__more i { transform: translate(3px, -3px); }
.wons-experience__hit { position: absolute; z-index: 4; inset: 0; cursor: pointer; }
.wons-experience__hit:focus-visible { border-radius: inherit; outline: 3px solid var(--wons-gold); outline-offset: -6px; }
.wons-experience-story__progress { display: flex; align-items: center; gap: 18px; margin-top: clamp(20px, 3svh, 32px); color: rgba(255,255,255,.58); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.wons-experience-story__progress > i { position: relative; display: block; overflow: hidden; width: min(360px, 38vw); height: 2px; background: rgba(255,255,255,.18); }
.wons-experience-story__progress b { position: absolute; inset: 0; background: #e2c96f; transform: scaleX(var(--wons-experience-progress)); transform-origin: left center; }

@media (min-width: 1025px) {
  .wons-home-story[data-animation-engine="gsap"] .wons-story-intro__copy { position: relative; top: auto; }
  .wons-experience-story { height: 390vh; }
  .wons-experience-story__sticky { position: sticky; top: 0; display: grid; box-sizing: border-box; height: 100svh; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; padding: calc(var(--we-sticky-header-offset, 0px) + clamp(22px, 2.8svh, 34px)) 0 clamp(20px, 2.8svh, 34px); transition: padding-top .32s cubic-bezier(.22,1,.36,1); }
  .wons-home-story[data-animation-engine="gsap"] .wons-experience-story__sticky { position: relative; top: auto; }
  .wons-experience-story__sticky > .wons-story-heading { align-self: start; margin-bottom: clamp(22px, 2.6svh, 34px); }
  .wons-experience-story__layout { height: 100%; min-height: 0; }
  .wons-experiences-viewport { height: 100%; overflow: hidden; }
  .wons-experiences-list { height: 100%; transform: translate3d(calc(var(--wons-experience-x, 0) * -1px), 0, 0); will-change: transform; }
  .wons-experience { flex: 0 0 auto; width: auto; height: 100%; min-height: 0; aspect-ratio: 4 / 5; }
}

.wons-story-network { padding-block: clamp(110px, 14vw, 190px); background: var(--wons-bluegray); }
.wons-story-network__intro { max-width: 940px; margin-bottom: clamp(50px, 8vw, 100px); }
.wons-story-network__intro > p:last-child { max-width: 620px; margin: 28px 0 0; color: color-mix(in srgb, var(--wons-charcoal) 78%, var(--wons-cream)); font-size: 19px; line-height: 1.85; }

.wons-story-needs { padding-block: clamp(100px, 13vw, 180px); background: var(--wons-ivory); }
.wons-needs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(var(--we-color-primary-rgb),.2); }
.wons-need-option { display: flex; min-height: 158px; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 28px; border: 0; border-bottom: 1px solid rgba(var(--we-color-primary-rgb),.2); color: var(--wons-navy); background: transparent; font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: color .25s ease, background .25s ease, transform .25s ease; }
.wons-need-option:not(:nth-child(3n)) { border-right: 1px solid rgba(var(--we-color-primary-rgb),.2); }
.wons-need-option__body { display:block; min-width:0; }
.wons-need-option__body strong { display:block; font-size:clamp(19px, 1.7vw, 25px); font-weight:800; line-height:1.3; }
.wons-need-option__body small { display:block; max-width:290px; margin-top:12px; color:rgba(var(--we-color-primary-rgb),.66); font-size:14px; font-weight:500; line-height:1.65; }
.wons-need-option i { color: var(--wons-gold-dark); font-style: normal; }
.wons-need-option:hover, .wons-need-option:focus-visible { color: #fff; background: var(--wons-navy); outline:none; transform:translateY(-3px); }
.wons-need-option:hover small, .wons-need-option:focus-visible small { color:rgba(255,255,255,.72); }
.wons-need-option:hover i, .wons-need-option:focus-visible i { color: #ddc477; }

.wons-story-finder { padding-block: clamp(110px, 14vw, 190px); color: #fff; background: var(--we-color-primary-strong, #262522); }
.wons-story-finder .wons-story-eyebrow { color: #ddc477; }
.wons-story-finder__grid { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(50px, 9vw, 130px); }
.wons-story-finder__intro { position: sticky; top: 130px; }
.wons-story-finder__intro h2 { color: #fff; }
.wons-story-finder__intro > p:last-child { margin: 28px 0 0; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.8; }
.wons-temple-finder { padding: clamp(24px, 4vw, 48px); color: var(--wons-charcoal); background: var(--wons-ivory); }
.wons-temple-search { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.wons-temple-search input { min-width: 0; height: 58px; padding: 0 18px; border: 1px solid rgba(var(--we-color-primary-rgb),.22); color: var(--wons-charcoal); background: var(--we-color-surface, #fbf7f0); font: inherit; }
.wons-temple-search button { min-height: 58px; padding: 0 22px; border: 0; color: #fff; background: var(--wons-navy); font: inherit; font-weight: 800; cursor: pointer; }
.wons-temple-finder__actions { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; }
.wons-temple-finder__actions button, .wons-temple-finder__actions a { padding: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--wons-gold-dark); background: transparent; font: inherit; font-weight: 750; cursor: pointer; }
.wons-temple-search-status { min-height: 27px; margin: 32px 0 20px; color: color-mix(in srgb, var(--wons-charcoal) 78%, var(--wons-cream)); line-height: 1.7; }
.wons-temple-distance-note { margin: -10px 0 20px; color: color-mix(in srgb, var(--wons-charcoal) 78%, var(--wons-cream)); font-size: 13px; line-height: 1.65; }

.wons-home-content { padding-block: clamp(100px, 13vw, 180px); background: var(--we-color-surface, #fbf7f0); }
.wons-home-content__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(var(--we-color-primary-rgb),.16); border-left: 1px solid rgba(var(--we-color-primary-rgb),.16); }
.wons-home-content-card { position: relative; min-height: 310px; padding: clamp(26px, 3.5vw, 46px); border-right: 1px solid rgba(var(--we-color-primary-rgb),.16); border-bottom: 1px solid rgba(var(--we-color-primary-rgb),.16); color: var(--wons-charcoal); background: var(--we-color-surface, #fbf7f0); transition: background .3s ease, transform .3s ease; }
.wons-home-content-card:hover, .wons-home-content-card:focus-visible { background: var(--wons-ivory); transform: translateY(-4px); }
.wons-home-content-card > span { color: var(--wons-gold-dark); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.wons-home-content-card h3 { margin: 40px 0 14px; color: var(--wons-navy); font-size: clamp(27px, 3vw, 38px); letter-spacing: -.045em; }
.wons-home-content-card p { margin: 0; color: color-mix(in srgb, var(--wons-charcoal) 78%, var(--wons-cream)); line-height: 1.75; }
.wons-home-content-card i { position: absolute; right: 30px; bottom: 26px; color: var(--wons-gold-dark); font-size: 24px; font-style: normal; }
.wons-home-latest { margin-top: 70px; }.wons-home-latest__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }.wons-home-latest__head h3 { margin: 0; color: var(--wons-navy); font-size: 30px; }.wons-home-latest__head a { color: var(--wons-gold-dark); font-weight: 800; }
.wons-home-activity__head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.wons-home-activity__head p { margin:0 0 8px; color:var(--wons-gold-dark); font-size:11px; font-weight:800; letter-spacing:.16em; }
.wons-home-activity__head h3 { margin:0; color:var(--wons-navy); font-size:clamp(30px, 3.2vw, 46px); letter-spacing:-.05em; }
.wons-home-activity__head > a { padding-bottom:4px; border-bottom:1px solid currentColor; color:var(--wons-gold-dark); font-size:14px; font-weight:800; }
.wons-home-activity__grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(12px, 1.7vw, 26px); }
.wons-home-activity-card { display:block; min-width:0; color:var(--wons-charcoal); }
.wons-home-activity-card figure { display:grid; margin:0; overflow:hidden; aspect-ratio:4 / 3; place-items:center; background:linear-gradient(145deg, var(--wons-taupe), var(--wons-ivory)); }
.wons-home-activity-card figure img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.wons-home-activity-card figure span { color:rgba(var(--we-color-primary-rgb),.5); font-size:11px; font-weight:800; letter-spacing:.16em; }
.wons-home-activity-card > div { padding:17px 2px 0; }
.wons-home-activity-card time { display:block; margin-bottom:8px; color:color-mix(in srgb, var(--wons-charcoal) 78%, var(--wons-cream)); font-size:12px; }
.wons-home-activity-card strong { display:block; overflow:hidden; color:var(--wons-navy); font-size:18px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.wons-home-activity-card:hover img, .wons-home-activity-card:focus-visible img { transform:scale(1.05); }
.wons-home-activity-card:focus-visible { outline:3px solid color-mix(in srgb, var(--wons-gold) 55%, transparent); outline-offset:5px; }

.wons-home-closing { position: relative; overflow: hidden; padding-block: clamp(88px, 10vw, 150px); color: #fff; text-align: center; background: var(--wons-navy); }
.wons-home-closing::before { position: absolute; top: 50%; left: 50%; width: min(70vw, 900px); aspect-ratio: 1; content: ""; border: 1px solid rgba(198,162,74,.38); border-radius: 50%; transform: translate(-50%, -50%); }
.wons-home-closing .wons-story-shell { position: relative; z-index: 1; }
.wons-home-closing .wons-story-eyebrow { color: #ddc477; }
.wons-home-closing h2 { max-width: 1080px; margin-inline: auto; color: #fff; }
.wons-home-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 50px; }
.wons-home-closing__actions a { padding: 15px 22px; border: 1px solid rgba(255,255,255,.46); color: #fff; font-weight: 750; }
.wons-home-closing__actions a:first-child { border-color: var(--wons-gold); color: var(--wons-charcoal); background: var(--wons-gold); }

[data-story-reveal] { opacity: 0; transform: translateY(36px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
[data-story-reveal].is-story-visible { opacity: 1; transform: none; }

.wons-story-nav { position:fixed; z-index:90; top:50%; right:clamp(16px, 2.2vw, 34px); transform:translateY(-50%); }
.wons-story-nav__list { --wons-story-nav-progress:0; position:relative; display:grid; gap:8px; margin:0; padding:9px 0; list-style:none; }
.wons-story-nav__list::before,
.wons-story-nav__list::after { position:absolute; top:16px; bottom:16px; left:6px; width:1px; content:""; pointer-events:none; }
.wons-story-nav__list::before { background:rgba(var(--we-color-primary-rgb),.2); }
.wons-story-nav__list::after { background:var(--wons-gold); transform:scaleY(var(--wons-story-nav-progress)); transform-origin:top; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.wons-story-nav button { position:relative; display:flex; width:18px; min-height:26px; align-items:center; padding:0; border:0; color:var(--wons-navy); background:transparent; cursor:pointer; }
.wons-story-nav button i { position:relative; z-index:1; display:block; width:13px; height:13px; border:1px solid rgba(var(--we-color-primary-rgb),.34); border-radius:50%; background:rgba(248,245,236,.9); box-shadow:0 0 0 4px rgba(248,245,236,.58); transition:background .25s ease, border-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.wons-story-nav button span { position:absolute; top:50%; right:28px; width:max-content; max-width:220px; padding:8px 11px; border:1px solid rgba(255,255,255,.16); border-radius:8px; color:#fff; background:rgba(38,37,34,.92); box-shadow:0 10px 30px rgba(38,37,34,.16); font-size:12px; font-weight:750; line-height:1.35; opacity:0; pointer-events:none; transform:translate(8px,-50%); transition:opacity .22s ease, transform .3s cubic-bezier(.22,1,.36,1); backdrop-filter:blur(12px); }
.wons-story-nav button:hover i,
.wons-story-nav button:focus-visible i,
.wons-story-nav button.is-active i { border-color:var(--wons-gold); background:var(--wons-gold); transform:scale(1.18); }
.wons-story-nav button:hover span,
.wons-story-nav button:focus-visible span,
.wons-story-nav button.is-active span { opacity:1; transform:translate(0,-50%); }
.wons-story-nav button:focus-visible { outline:0; }

@media (min-width: 1025px) and (max-width: 1500px) {
  .wons-story-nav { right: 8px; }
  .wons-story-nav button.is-active:not(:hover):not(:focus-visible) span {
    opacity: 0;
    transform: translate(8px,-50%);
  }
}

@keyframes wons-scroll-pulse { 0%,100% { transform: scaleX(.55); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } }
@keyframes wons-experience-image-change { from { opacity: .34; filter: blur(8px) saturate(.72); } to { opacity: 1; filter: none; } }

@media (max-width: 1024px) {
  .wons-story-nav { display:none; }
  .wons-story-hero__inner { grid-template-columns: 1fr; padding-bottom: 110px; }
  .wons-story-hero__media { width: min(100%, 700px); aspect-ratio: 16 / 10; }
  .wons-story-scroll { left: 24px; }
  .wons-story-intro__grid, .wons-story-finder__grid { grid-template-columns: 1fr; }
  .wons-story-intro__copy, .wons-story-finder__intro { position: static; }
  .wons-story-intro__sequence { padding-top: 70px; }
  .wons-story-experiences { padding-block: clamp(82px, 12vw, 128px); }
  .wons-experience-story { height: auto; }
  .wons-experience-story__sticky { display: block; }
  .wons-experience-story__sticky > .wons-story-heading { margin-bottom: 34px; }
  .wons-experiences-viewport { overflow-x: auto; margin-right: calc((100vw - 100%) / -2); padding-right: 24px; scroll-padding-inline: 0 24px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .wons-experiences-viewport::-webkit-scrollbar { display: none; }
  .wons-experiences-list { transform: none !important; }
  .wons-experience { flex-basis: min(58vw, 460px); height: auto; min-height: 500px; aspect-ratio: 4 / 5; opacity: 1; transform: none; scroll-snap-align: start; }
  .wons-experience-story__progress { display: none; }
  .wons-home-content__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wons-home-activity__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .wons-story-shell { width: min(100% - 36px, 1280px); }
  .wons-story-hero { min-height: auto; }
  .wons-story-hero__inner { display: block; padding-block: 82px 110px; }
  .wons-story-hero h1 { font-size: clamp(40px, 12vw, 58px); }
  .wons-story-lead br, .wons-story-hero h1 br { display: none; }
  .wons-story-hero__media { margin-top: 52px; aspect-ratio: 4 / 3; }
  .wons-story-scroll { bottom: 28px; left: 18px; }
  .wons-story-intro__sequence p { min-height: 0; padding: 30px 0; }
  .wons-experience { flex-basis: min(86vw, 420px); height: auto; min-height: clamp(390px, 112vw, 510px); aspect-ratio: 4 / 5; padding: 28px 24px; border-radius: 22px; }
  .wons-experience__number { top: 20px; left: 20px; }
  .wons-experience h3 { font-size: clamp(36px, 11vw, 54px); }
  .wons-experience p { margin-top: 14px; font-size: 15px; line-height: 1.65; }
  .wons-experience__more { margin-top: 18px; }
    .wons-needs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wons-need-option:not(:nth-child(3n)) { border-right:0; }
    .wons-need-option:nth-child(odd) { border-right: 1px solid rgba(var(--we-color-primary-rgb), .2); }
    .wons-need-option {
        min-width: 0;
        min-height: 138px;
        gap: 10px;
        padding: 20px 18px;
    }
    .wons-need-option__body {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .wons-need-option__body strong { font-size:clamp(17px, 4.4vw, 21px); }
    .wons-need-option__body small { margin-top:8px; font-size:13px; }
    .wons-need-option i { flex: 0 0 auto; }
  .wons-temple-search { grid-template-columns: 1fr; }
  .wons-home-content__grid { grid-template-columns: 1fr; }
  .wons-home-content-card { min-height: 250px; }
  .wons-home-activity__head { align-items:flex-start; flex-direction:column; gap:14px; }
  .wons-home-activity__grid { grid-template-columns:1fr; }
  .wons-home-closing__actions { display: grid; }
  .wons-home-closing__actions a { width: 100%; }
}

@media (max-width: 520px) {
  .wons-needs-grid { grid-template-columns:1fr; }
  .wons-need-option,
  .wons-need-option:nth-child(odd) { min-height:0; border-right:0; }
}

@media (max-width: 360px) {
  .wons-story-shell { width: min(100% - 28px, 1280px); }
  .wons-home-story [data-story-section] > .we-homeInlineEdit { bottom: 14px !important; left: 14px !important; }
  .wons-home-story .wons-story-hero > .we-homeInlineEdit { bottom: 82px !important; }
  .wons-temple-finder { padding: 20px 16px; }
  .wons-story-heading h2, .wons-story-network__intro h2, .wons-story-finder__intro h2, .wons-home-closing h2 { font-size: var(--wons-section-title-size-mobile); }
}

@media (prefers-reduced-motion: reduce) {
  .wons-story-nav *, .wons-story-nav__list::after { transition:none !important; }
  .wons-home-story *, .wons-home-story *::before, .wons-home-story *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  [data-story-reveal] { opacity: 1; transform: none; }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .wons-experience-story { height: auto; }
  .wons-experience-story__sticky { position: static; display: block; height: auto; overflow: visible; padding: 0; }
  .wons-experience-story__sticky > .wons-story-heading { margin-bottom: clamp(42px, 7vw, 88px); }
  .wons-experiences-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .wons-experiences-viewport::-webkit-scrollbar { display: none; }
  .wons-experiences-list { display: flex; width: max-content; transform: none; }
  .wons-experience { flex: 0 0 min(48vw, 520px); height: auto; min-height: 460px; aspect-ratio: 4 / 5; opacity: 1; transform: none; scroll-snap-align: start; }
  .wons-experience-story__progress { display: none; }
}

/* Builder-connected hero slider and editable media */
.wons-story-hero { overflow:hidden; }
.wons-home-slider__track { position:relative; min-height:inherit; }
.wons-home-slide { display:none; min-height:inherit; }
.wons-home-slide.is-active { display:block; animation:wons-slide-fade .7s ease both; }
.wons-home-story[data-animation-engine="gsap"] .wons-home-slide.is-active { animation:none; }
.wons-story-hero h2 { max-width:820px; margin:0; color:var(--wons-navy); font-size:clamp(48px, 6.6vw, 94px); line-height:var(--wons-story-leading-display, 1.14); letter-spacing:-.065em; word-break:keep-all; }
.wons-story-hero__media > img { display:block; width:100%; height:100%; object-fit:cover; }
.wons-home-slide__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.wons-home-slide__actions a { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:0 28px; border:1px solid var(--wons-navy); color:#fff; background:var(--wons-navy); font-size:14px; font-weight:800; transition:transform .2s ease, border-color .2s ease, color .2s ease, background-color .2s ease; }
.wons-home-slide__actions a.is-secondary { color:var(--wons-navy); background:transparent; }
.wons-home-slide__actions a:not(.is-tertiary):hover,
.wons-home-slide__actions a:not(.is-tertiary):focus-visible { transform:translateY(-2px); }
.wons-home-slide__actions a.is-tertiary { flex:0 0 100%; width:max-content; min-height:auto; justify-content:flex-start; gap:8px; padding:8px 0 0; border:0; color:var(--wons-navy); background:transparent; }
.wons-home-slide__actions a.is-tertiary span { border-bottom:1px solid currentColor; }
.wons-home-slide__actions a.is-tertiary i { font-style:normal; transition:transform .2s ease; }
.wons-home-slide__actions a.is-tertiary:hover i,
.wons-home-slide__actions a.is-tertiary:focus-visible i { transform:translateX(4px); }
.wons-home-slider__controls { position:absolute; right:0; bottom:28px; left:0; z-index:5; display:flex; justify-content:flex-end; align-items:center; gap:12px; pointer-events:none; }
.wons-home-slider__controls > button, .wons-home-slider__dots { pointer-events:auto; }
.wons-home-slider__controls > button { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(var(--we-color-primary-rgb),.25); border-radius:50%; color:var(--wons-navy); background:rgba(255,255,255,.72); }
.wons-home-slider__dots { display:flex; align-items:center; gap:7px; }
.wons-home-slider__dots button { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(var(--we-color-primary-rgb),.28); transition:width .25s ease, background .25s ease; }
.wons-home-slider__dots button.is-active { width:28px; background:var(--wons-gold); }
.wons-story-section-lead { max-width:680px; margin:22px 0 0; color:inherit; font-size:17px; line-height:var(--wons-story-leading-body, 1.82); opacity:.72; }
.wons-home-story .we-homeSection--width-narrow .wons-story-shell { max-width:960px; }
.wons-home-story .we-homeSection--width-wide .wons-story-shell { max-width:1440px; }
.wons-home-story .we-homeSection--width-full .wons-story-shell { width:min(100% - 24px, 1800px); max-width:none; }
.wons-home-story .we-cardRatio--16-10 .wons-experience__mobile-media,
.wons-home-story .we-cardRatio--16-10 .wons-home-content-card figure { aspect-ratio:16 / 10; }
.wons-home-story .we-cardRatio--16-9 .wons-experience__mobile-media,
.wons-home-story .we-cardRatio--16-9 .wons-home-content-card figure { aspect-ratio:16 / 9; }
.wons-home-story .we-cardRatio--1-1 .wons-experience__mobile-media,
.wons-home-story .we-cardRatio--1-1 .wons-home-content-card figure { aspect-ratio:1; }
.wons-home-story .we-cardRatio--4-5 .wons-experience__mobile-media,
.wons-home-story .we-cardRatio--4-5 .wons-home-content-card figure { aspect-ratio:4 / 5; }
.wons-home-story .we-cardRatio--compact .wons-experience__mobile-media,
.wons-home-story .we-cardRatio--compact .wons-home-content-card figure { aspect-ratio:21 / 9; }
.wons-story-intro__sequence p.has-image { position:relative; overflow:hidden; padding-inline:28px; color:#fff; background:linear-gradient(90deg, rgba(var(--we-color-primary-rgb),.88), rgba(var(--we-color-primary-rgb),.28)), var(--wons-card-image) center / cover no-repeat; }
.wons-story-intro__sequence p.has-image span { color:#f0d680; }
.wons-need-option.has-image { position:relative; overflow:hidden; color:#fff; background:linear-gradient(90deg, rgba(var(--we-color-primary-rgb),.88), rgba(var(--we-color-primary-rgb),.36)), var(--wons-card-image) center / cover no-repeat; }
.wons-need-option.has-image::after { border-color:rgba(255,255,255,.35); }
.wons-experience__mobile-media img { display:block; width:100%; height:100%; object-fit:cover; }
.wons-home-content-card figure { margin:-34px -32px 28px; overflow:hidden; aspect-ratio:16 / 9; background:var(--wons-bluegray); }
.wons-home-content-card figure img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.wons-home-content-card:hover figure img { transform:scale(1.04); }
.wons-home-closing__lead { max-width:720px; margin:24px auto 0; color:rgba(255,255,255,.74); font-size:18px; line-height:var(--wons-story-leading-body, 1.82); }
@keyframes wons-slide-fade { from { opacity:0; transform:translateX(26px); } to { opacity:1; transform:none; } }

/* 서울교구 6개 지구 */
.wons-story-districts { padding-block:clamp(100px, 13vw, 180px); background:var(--wons-cream); }
.wons-districts-heading { margin-bottom:clamp(38px, 6vw, 72px); }
.wons-districts-split { display:flex; width:100%; height:clamp(540px, 48vw, 720px); gap:3px; overflow:hidden; background:var(--wons-line); }
.wons-district-panel { position:relative; min-width:0; flex:1 1 0; overflow:hidden; isolation:isolate; color:#fff; background:var(--wons-taupe); cursor:default; transition:flex-grow .72s cubic-bezier(.2,.7,.2,1), opacity .45s ease; }
.wons-district-panel::after { position:absolute; inset:0; z-index:-1; content:""; background:linear-gradient(135deg, rgba(38,37,34,.68) 0%, rgba(78,64,53,.18) 58%, rgba(38,37,34,.38) 100%); transition:background .55s ease; }
.wons-district-panel:nth-child(2n) { background:var(--wons-line); }
.wons-district-panel:nth-child(3n) { background:var(--wons-gold); }
.wons-district-panel:hover,
.wons-district-panel:focus,
.wons-district-panel:focus-within { flex-grow:3.4; outline:0; }
@media (min-width:901px) {
  .wons-home-story[data-animation-engine="gsap"] .wons-district-panel {
    transition:flex-grow 1.05s cubic-bezier(.16,1,.3,1), opacity .45s ease;
  }
}
.wons-districts-split:hover .wons-district-panel:not(:hover) { opacity:.78; }
.wons-district-panel:focus-visible { box-shadow:inset 0 0 0 3px var(--wons-gold); }
.wons-district-panel__media { position:absolute; inset:0; z-index:-2; margin:0; }
.wons-district-panel__media img { display:block; width:100%; height:100%; object-fit:cover; opacity:.2; filter:saturate(.65); transform:scale(1.08); transition:opacity .65s ease, filter .65s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.wons-district-panel__media span { position:absolute; inset:0; background:radial-gradient(circle at 50% 35%, rgba(251,247,240,.24), transparent 32%), linear-gradient(145deg, var(--wons-taupe), var(--wons-navy)); transform:scale(1.04); transition:transform .8s ease, opacity .5s ease; }
.wons-district-panel:hover .wons-district-panel__media img,
.wons-district-panel:focus .wons-district-panel__media img,
.wons-district-panel:focus-within .wons-district-panel__media img { opacity:.9; filter:saturate(1); transform:scale(1); }
.wons-district-panel:hover .wons-district-panel__media span,
.wons-district-panel:focus .wons-district-panel__media span,
.wons-district-panel:focus-within .wons-district-panel__media span { opacity:.72; transform:scale(1); }
.wons-district-panel:hover::after,
.wons-district-panel:focus::after,
.wons-district-panel:focus-within::after { background:linear-gradient(135deg, rgba(38,37,34,.78) 0%, rgba(78,64,53,.28) 58%, rgba(38,37,34,.46) 100%); }
.wons-district-panel__content { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; min-height:0; padding:clamp(24px, 3vw, 46px) clamp(18px, 2.3vw, 34px); overflow:hidden; }
.wons-district-panel__heading { display:flex; flex-direction:column; align-items:flex-start; gap:15px; transform-origin:left top; }
.wons-district-panel__toggle { display:none; }
.wons-district-panel__number { display:block; color:#f0d680; font-size:12px; font-weight:800; letter-spacing:.14em; }
.wons-district-panel h3 { margin:0; color:#fff; font-size:clamp(24px, 2.35vw, 38px); line-height:var(--wons-story-leading-display, 1.14); letter-spacing:-.045em; white-space:nowrap; writing-mode:vertical-rl; text-orientation:mixed; transition:font-size .45s ease; }
.wons-district-panel:hover .wons-district-panel__heading,
.wons-district-panel:focus .wons-district-panel__heading,
.wons-district-panel:focus-within .wons-district-panel__heading { flex-direction:row; align-items:center; gap:16px; }
.wons-district-panel:hover h3,
.wons-district-panel:focus h3,
.wons-district-panel:focus-within h3 { writing-mode:horizontal-tb; font-size:clamp(28px, 2.5vw, 40px); }
.wons-district-panel p { max-width:560px; margin:18px 0 0; color:rgba(255,255,255,.82); font-size:16px; line-height:var(--wons-story-leading-body, 1.82); opacity:0; transform:translateY(16px); transition:opacity .35s ease .08s, transform .4s ease .08s; }
.wons-district-panel__content > a { display:inline-flex; align-items:center; gap:12px; margin-top:22px; padding-bottom:5px; border-bottom:1px solid rgba(255,255,255,.55); color:#fff; font-size:13px; font-weight:800; opacity:0; transform:translateY(16px); transition:opacity .35s ease .13s, transform .4s ease .13s; }
.wons-district-panel__temples { display:flex; flex:1 1 auto; min-height:0; max-width:620px; flex-direction:column; margin-top:26px; opacity:0; transform:translateY(18px); transition:opacity .38s ease .1s, transform .45s ease .1s; }
.wons-district-panel__temples strong { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:#f0d680; font-size:12px; letter-spacing:.05em; }
.wons-district-panel__temples strong span { display:inline-grid; min-width:22px; height:22px; padding-inline:6px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; font-size:11px; }
.wons-district-panel__temples ul { display:grid; min-height:0; flex:1 1 auto; margin:0; padding:0; grid-template-columns:repeat(2, minmax(0, 1fr)); align-content:start; gap:8px 20px; overflow:auto; list-style:none; -ms-overflow-style:none; scrollbar-width:none; }
.wons-district-panel__temples ul::-webkit-scrollbar { display:none; width:0; height:0; }
.wons-district-panel__temples li { min-width:0; border-top:1px solid rgba(255,255,255,.2); }
.wons-district-panel__temples li a,
.wons-district-panel__temples li span { display:block; margin:0; padding:9px 0; border:0; color:#fff; font-size:13px; font-weight:650; line-height:1.35; opacity:1; overflow:hidden; text-overflow:ellipsis; transform:none; white-space:nowrap; }
.wons-district-panel__temples li a { transition:color .22s ease, padding-left .22s ease; }
.wons-district-panel__temples li a:hover,
.wons-district-panel__temples li a:focus-visible,
.wons-district-panel__temples li a.is-map-active { padding-left:6px; color:#f0d680; }
@media (min-width:901px) {
  .wons-district-panel__temples--dense { max-width:none; }
  .wons-district-panel__temples--dense ul { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px 14px; }
  .wons-district-panel__temples--dense li a,
  .wons-district-panel__temples--dense li span { padding-block:8px; font-size:12px; }
}
.wons-district-panel:hover p,
.wons-district-panel:focus p,
.wons-district-panel:focus-within p,
.wons-district-panel:hover .wons-district-panel__content > a,
.wons-district-panel:focus .wons-district-panel__content > a,
.wons-district-panel:focus-within .wons-district-panel__content > a,
.wons-district-panel:hover .wons-district-panel__temples,
.wons-district-panel:focus .wons-district-panel__temples,
.wons-district-panel:focus-within .wons-district-panel__temples { opacity:1; transform:none; }
.wons-story-districts.we-cardRatio--16-10 .wons-districts-split { height:560px; }
.wons-story-districts.we-cardRatio--16-9 .wons-districts-split { height:520px; }
.wons-story-districts.we-cardRatio--1-1 .wons-districts-split { height:680px; }
.wons-story-districts.we-cardRatio--4-5 .wons-districts-split { height:720px; }
.wons-story-districts.we-cardRatio--compact .wons-districts-split { height:460px; }

@media (max-width:900px) {
  .wons-districts-split { display:grid; height:auto !important; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:4px; background:transparent; overflow:visible; }
  .wons-district-panel { min-height:380px; }
  .wons-district-panel:hover, .wons-district-panel:focus, .wons-district-panel:focus-within { flex-grow:1; }
  .wons-districts-split:hover .wons-district-panel:not(:hover) { opacity:1; }
  .wons-district-panel__media img { opacity:.72; filter:saturate(.9); transform:scale(1.02); }
  .wons-district-panel__heading { flex-direction:row; align-items:center; }
  .wons-district-panel h3 { writing-mode:horizontal-tb; }
  .wons-district-panel p, .wons-district-panel__content > a, .wons-district-panel__temples { opacity:1; transform:none; }
}

@media (max-width:767px) {
  .wons-story-hero h2 { font-size:clamp(40px, 12vw, 58px); }
  .wons-story-lead br, .wons-story-hero h2 br { display:none; }
  .wons-home-slide__actions { margin-top:24px; }
  .wons-home-slide__actions a { flex:1 1 140px; }
  .wons-home-slide__actions a.is-tertiary { flex:0 0 100%; }
  .wons-home-slider__controls { right:18px; bottom:22px; left:auto; width:auto; }
  .wons-story-scroll { display:none; }
  .wons-home-content-card figure { margin:-30px -26px 24px; }
  .wons-districts-split { grid-template-columns:1fr; gap:8px; }
  .wons-district-panel { min-height:78px; border-radius:18px; transition:min-height .42s cubic-bezier(.22,1,.36,1), opacity .3s ease; }
  .wons-district-panel.is-mobile-open { min-height:clamp(360px, 68svh, 520px); }
  .wons-district-panel__content { padding:19px 20px; }
  .wons-district-panel__heading { position:relative; width:100%; min-height:40px; flex-direction:row; align-items:center; gap:12px; }
  .wons-district-panel h3 { font-size:26px; }
  .wons-district-panel__number { flex:0 0 auto; }
  .wons-district-panel__toggle { position:absolute; inset:-10px -8px; z-index:3; display:block; border:0; background:transparent; color:#fff; cursor:pointer; touch-action:manipulation; }
  .wons-district-panel__toggle:focus { outline:0; }
  .wons-district-panel__toggle:focus-visible { border-radius:12px; outline:2px solid #f0d680; outline-offset:2px; }
  .wons-district-panel__toggle::before,
  .wons-district-panel__toggle::after { position:absolute; top:50%; right:14px; width:12px; height:2px; border-radius:999px; background:currentColor; content:""; transition:transform .3s ease; }
  .wons-district-panel__toggle::before { transform:translate(-4px,-50%) rotate(45deg); }
  .wons-district-panel__toggle::after { transform:translate(4px,-50%) rotate(-45deg); }
  .wons-district-panel.is-mobile-open .wons-district-panel__toggle::before { transform:translate(-4px,-50%) rotate(-45deg); }
  .wons-district-panel.is-mobile-open .wons-district-panel__toggle::after { transform:translate(4px,-50%) rotate(45deg); }
  .wons-district-panel:not(.is-mobile-open) .wons-district-panel__temples,
  .wons-district-panel:not(.is-mobile-open) .wons-district-panel__content > p,
  .wons-district-panel:not(.is-mobile-open) .wons-district-panel__content > a { visibility:hidden; opacity:0 !important; transform:translateY(10px) !important; pointer-events:none; }
  .wons-district-panel.is-mobile-open .wons-district-panel__temples,
  .wons-district-panel.is-mobile-open .wons-district-panel__content > p,
  .wons-district-panel.is-mobile-open .wons-district-panel__content > a { visibility:visible; opacity:1 !important; transform:none !important; pointer-events:auto; }
  .wons-district-panel__temples { margin-top:20px; }
}

/* Full-bleed hero component */
.wons-story-hero.wons-story-hero--height-fullscreen { min-height:100svh; }
.wons-story-hero.wons-story-hero--height-large { min-height:clamp(720px, 86svh, 940px); }
.wons-story-hero.wons-story-hero--height-medium { min-height:clamp(620px, 72svh, 780px); }
.wons-story-hero .wons-home-slide { position:relative; min-height:inherit; isolation:isolate; }
.wons-story-hero .wons-home-slide::after { position:absolute; inset:0; z-index:1; content:""; pointer-events:none; }
.wons-story-hero--overlay-dark .wons-home-slide::after { background:linear-gradient(90deg, rgba(38,37,34,var(--wons-hero-overlay, .55)) 0%, rgba(38,37,34,calc(var(--wons-hero-overlay, .55) * .7)) 46%, rgba(38,37,34,calc(var(--wons-hero-overlay, .55) * .28)) 100%); }
.wons-story-hero--overlay-light .wons-home-slide::after { background:linear-gradient(90deg, rgba(248,245,236,var(--wons-hero-overlay, .55)) 0%, rgba(248,245,236,calc(var(--wons-hero-overlay, .55) * .7)) 48%, rgba(248,245,236,calc(var(--wons-hero-overlay, .55) * .2)) 100%); }
.wons-story-hero .wons-story-hero__media { position:absolute; inset:0; z-index:0; width:100%; height:100%; margin:0; aspect-ratio:auto; border-radius:0; box-shadow:none; }
.wons-story-hero .wons-story-hero__media > img { transform:scale(calc(1.025 + (var(--wons-hero-progress, 0) * .035))); transform-origin:center; transition:transform .12s linear; }
.wons-story-hero .wons-story-media__placeholder { inset:0; }
.wons-story-hero .wons-story-hero__inner { position:relative; z-index:2; display:flex; width:min(calc(100% - clamp(32px, 4vw, 64px)), 1480px); min-height:inherit; grid-template-columns:none; align-items:flex-end; justify-content:flex-start; gap:0; padding-block:clamp(120px, 16vh, 190px) clamp(76px, 10vh, 112px); }
.wons-story-hero--position-left-center .wons-story-hero__inner { align-items:center; padding-block:clamp(110px, 14vh, 170px); }
.wons-story-hero--position-center-center .wons-story-hero__inner { align-items:center; justify-content:center; padding-block:clamp(110px, 14vh, 170px); text-align:center; }
.wons-story-hero__copy { width:min(100%, 850px); padding:clamp(24px, 3vw, 42px); border-left:3px solid var(--wons-gold); background:linear-gradient(90deg, rgba(38,37,34,.22), transparent); backdrop-filter:blur(2px); }
.wons-story-hero--position-center-center .wons-story-hero__copy { border-right:3px solid var(--wons-gold); background:rgba(38,37,34,.18); }
.wons-story-hero--overlay-dark h1,
.wons-story-hero--overlay-dark h2 { color:#fff; text-shadow:0 3px 34px rgba(0,0,0,.28); }
.wons-story-hero--overlay-dark .wons-story-eyebrow { color:#f0d680; }
.wons-story-hero--overlay-dark .wons-story-lead { color:rgba(255,255,255,.86); }
.wons-story-hero--overlay-dark .wons-home-slide__actions a { border-color:#fff; color:var(--wons-navy); background: var(--we-color-surface, #fbf7f0); }
.wons-story-hero--overlay-dark .wons-home-slide__actions a.is-secondary { color:#fff; background:rgba(255,255,255,.08); }
.wons-story-hero--overlay-dark .wons-home-slide__actions a.is-tertiary { border-color:transparent; color:#fff; background:transparent; }
.wons-story-hero--overlay-light .wons-story-hero__copy { background:linear-gradient(90deg, rgba(248,245,236,.26), transparent); }
.wons-story-hero--position-center-center .wons-story-lead { margin-inline:auto; }
.wons-story-hero--position-center-center .wons-home-slide__actions { justify-content:center; }
.wons-story-hero .wons-story-scroll { z-index:4; left:max(24px, calc((100vw - 1280px) / 2)); }
.wons-story-hero--overlay-dark .wons-story-scroll { color:#fff; }
.wons-story-hero .wons-home-slider__controls { bottom:38px; }
.wons-story-hero--overlay-dark .wons-home-slider__dots button { background:rgba(255,255,255,.42); }
.wons-story-hero--overlay-dark .wons-home-slider__dots button.is-active { background:var(--wons-gold); }

@media (max-width:767px) {
  .wons-story-hero.wons-story-hero--height-fullscreen { min-height:100svh; }
  .wons-story-hero.wons-story-hero--height-large { min-height:82svh; }
  .wons-story-hero.wons-story-hero--height-medium { min-height:680px; }
  .wons-story-hero .wons-story-hero__inner { display:flex; width:min(calc(100% - 32px), 1480px); padding-block:110px 96px; }
  .wons-story-hero--position-left-center .wons-story-hero__inner,
  .wons-story-hero--position-center-center .wons-story-hero__inner { padding-block:105px 100px; }
  .wons-story-hero__copy { padding:22px 18px; }
  .wons-story-hero h1,
  .wons-story-hero h2 { font-size:clamp(38px, 11vw, 56px); }
  .wons-story-hero .wons-story-lead { margin-top:22px; font-size:16px; line-height:1.7; }
  .wons-story-hero .wons-home-slider__controls { bottom:24px; }
}

/* Static full-page capture mode: /?capture=1 */
.wons-home-story[data-capture-mode="true"] *,
.wons-home-story[data-capture-mode="true"] *::before,
.wons-home-story[data-capture-mode="true"] *::after {
  scroll-behavior:auto !important;
  animation:none !important;
  transition-duration:.01ms !important;
}
.wons-home-story[data-capture-mode="true"] [data-story-reveal] {
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
.wons-home-story[data-capture-mode="true"] .wons-story-intro__copy,
.wons-home-story[data-capture-mode="true"] .wons-story-finder__intro {
  position:static;
  top:auto;
}

/* Desktop viewport chapters: compact sections occupy one screen, dense content may expand. */
@media (min-width:1025px) {
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-districts,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-network,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-needs,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-finder {
    box-sizing:border-box;
    min-height:100svh;
    padding-block:clamp(48px, 6svh, 64px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-districts > .wons-story-shell,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-network > .wons-story-shell,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-needs > .wons-story-shell,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-finder > .wons-story-shell {
    display:flex;
    min-height:calc(100svh - clamp(96px, 12svh, 128px));
    flex-direction:column;
    justify-content:center;
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-districts-heading,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-network__intro,
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-needs .wons-story-heading {
    margin-bottom:clamp(26px, 4svh, 38px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-districts .wons-districts-split {
    height:min(50svh, 460px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-story-network .wons-temple-map-stage {
    height:clamp(500px, 62svh, 640px);
    min-height:500px;
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-home-content {
    padding-block:0;
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-home-content__chapter {
    display:flex;
    box-sizing:border-box;
    min-height:100svh;
    flex-direction:column;
    justify-content:center;
    padding-block:clamp(48px, 6svh, 64px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-home-content__chapter--links > .wons-story-heading {
    margin-bottom:clamp(26px, 4svh, 38px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-home-content-card {
    min-height:250px;
    padding:clamp(24px, 2.6vw, 36px);
  }
  .wons-home-story:not([data-capture-mode="true"]) .wons-home-content__chapter--latest .wons-home-latest {
    margin-top:0;
  }
}

@media (min-width:1025px) {
  .wons-home-story[data-capture-mode="true"] .wons-story-experiences { overflow:visible; }
  .wons-home-story[data-capture-mode="true"] .wons-experience-story { height:auto; }
  .wons-home-story[data-capture-mode="true"] .wons-experience-story__sticky {
    position:static;
    display:block;
    height:auto;
    overflow:visible;
    padding:0;
  }
  .wons-home-story[data-capture-mode="true"] .wons-experience-story__sticky > .wons-story-heading { margin-bottom:clamp(42px, 7vw, 88px); }
  .wons-home-story[data-capture-mode="true"] .wons-experiences-viewport { overflow:visible; }
  .wons-home-story[data-capture-mode="true"] .wons-experiences-list {
    display:grid;
    width:auto;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    transform:none;
  }
  .wons-home-story[data-capture-mode="true"] .wons-experience {
    display:grid;
    width:auto;
    height:auto;
    min-height:430px;
    aspect-ratio:4 / 5;
    flex:none;
    opacity:1;
    transform:none;
  }
  .wons-home-story[data-capture-mode="true"] .wons-experience h3 { font-size:clamp(38px, 4.4vw, 62px); }
  .wons-home-story[data-capture-mode="true"] .wons-experience-story__progress { display:none; }
}
