body[data-concept=play]{--play-button-radius:999px}
body[data-concept=play] :is(.filters button,.map-zoom,.places-more,.load-more,.more,.cta){border-radius:var(--play-button-radius)}
body[data-concept=play] .hero-art.hero-ensemble{height:auto;width:min(1080px,100%);margin:24px auto 0;aspect-ratio:3/2}
body[data-concept=play] .hero-ensemble .village-art{--piece-width:100%;height:auto;object-fit:contain;max-height:none;border-radius:0}
body[data-concept=play] .illustrated-value{overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,28%);column-gap:24px;min-height:0;padding:36px;align-items:center}
body[data-concept=play] .illustrated-value h2{grid-column:1;font-size:clamp(27px,3.1vw,44px);line-height:1.25;letter-spacing:-.04em;margin:0 0 10px}
body[data-concept=play] .illustrated-value>p{grid-column:1;margin:0;max-width:none}
body[data-concept=play] .illustrated-value>p:not(.manuscript-english){margin-top:22px;color:#202329;line-height:1.7}
body[data-concept=play] .illustrated-value .value-illustration,body[data-concept=play] .value:nth-child(2) .value-illustration{position:relative;grid-column:2;grid-row:1/4;right:auto;bottom:auto;width:100%;height:220px;max-width:100%;overflow:hidden}
body[data-concept=play] .illustrated-value .character-rig svg{overflow:hidden}
body[data-concept=play] .story-scene{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:0;min-height:0;padding:40px 6vw 24px;margin-block:12px}
body[data-concept=play] .story-scene .story-bubble{grid-column:1/-1;grid-row:1;width:100%;margin:0;padding:36px 40px;border-radius:36px;animation:none}
body[data-concept=play] .story-bubble:after{width:36px;height:30px;bottom:-26px;left:22%;transform:none}
body[data-concept=play] .project-bubble:after{top:auto;bottom:-26px;left:auto;right:22%;transform:scaleX(-1)}
body[data-concept=play] .story-scene .art-reveal{position:relative;left:auto;right:auto;bottom:auto;top:auto;grid-row:2;width:100%;margin:8px 0 0;transform:none}
body[data-concept=play] .intro-person{grid-column:2/6;height:240px}
body[data-concept=play] .intro-cup{grid-column:6/9;height:170px;opacity:.6}
body[data-concept=play] .project-person{grid-column:8/12;height:260px}
body[data-concept=play] .project-flower{grid-column:5/8;height:125px;align-self:center}
body[data-concept=play] .story-bubble :is(.intro-body,p:not(.eyebrow)){color:#202329;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
body[data-concept=play] .copy-sentence{display:block;margin-top:0}
body[data-concept=play] .copy-sentence:first-child{margin-top:0}
body[data-concept=play] .impact .metrics{gap:48px 24px}
body[data-concept=play] .impact .metric.primary{padding-bottom:40px;border-bottom:1px solid #15326940}
body[data-concept=play] .impact .metric:not(.primary){background:#ffffffb8;border:1px solid #15326918;border-radius:24px;padding:28px 18px;container-type:inline-size}
body[data-concept=play] .impact .metric:not(.primary) strong{font-size:clamp(38px,21cqw,88px)}
body[data-concept=play] .map-image-frame{position:relative;isolation:isolate}
body[data-concept=play] .map-image-frame .map-toolbar{position:absolute;right:18px;top:18px;z-index:3;margin:0;padding:0}
body[data-concept=play] .map-zoom{background:white;min-height:44px}
body[data-concept=play] .place-info>p{font-size:13px!important;color:#202329;line-height:1.6!important}
@media(max-width:760px){
 body[data-concept=play] .illustrated-value{padding:28px;grid-template-columns:minmax(0,1fr) 26%;column-gap:18px}
 body[data-concept=play] .illustrated-value h2{font-size:clamp(25px,4vw,32px)}
 body[data-concept=play] .story-scene{padding:26px 5vw 12px}
 body[data-concept=play] .story-scene .story-bubble{padding:28px;border-radius:30px}
 body[data-concept=play] .intro-person{height:190px;grid-column:1/6}
 body[data-concept=play] .intro-cup{height:130px;grid-column:6/9}
 body[data-concept=play] .project-person{height:210px;grid-column:8/13}
 body[data-concept=play] .project-flower{height:100px;grid-column:5/8}
 body[data-concept=play] .impact .metrics{gap:36px 16px}
 body[data-concept=play] .map-image-frame .map-toolbar{right:10px;top:10px}
}
@media(max-width:480px){
 body[data-concept=play] .illustrated-value{grid-template-columns:1fr;padding:26px}
 body[data-concept=play] .illustrated-value .value-illustration,body[data-concept=play] .value:nth-child(2) .value-illustration{grid-column:1;grid-row:4;height:150px;width:50%;justify-self:end;margin-top:16px}
 body[data-concept=play] .story-scene .story-bubble{padding:24px}
 body[data-concept=play] .intro-person{height:160px}
 body[data-concept=play] .project-person{height:180px}
 body[data-concept=play] .intro-cup{height:110px}
 body[data-concept=play] .map-zoom{font-size:13px;padding:10px 12px}
}

/* Existing flat SVG characters form a compact village scene. */
body[data-concept=play] .hero-art.hero-ensemble.village-2d{position:relative;isolation:isolate;aspect-ratio:1.7;max-width:980px;margin-top:32px}
.village-2d:before{content:"";position:absolute;left:5%;right:5%;top:33%;bottom:5%;border-radius:50%;background:#d2eacb;transform:rotate(-5deg);z-index:0}
body[data-concept=play] .village-2d .village-piece{position:absolute;object-fit:contain;width:var(--piece-width);height:auto;border-radius:0;transform:none!important;max-height:none}
.village-jeju-mountain{--piece-width:35%;left:47%;top:0;z-index:1}
.village-jeju-horse{--piece-width:17%;left:70%;top:29%;z-index:2}
.village-tumbler-straw{--piece-width:16%;left:16%;top:12%;z-index:2}
.village-tumbler-handle{--piece-width:34%;left:30%;top:10%;z-index:3}
.village-person-wave{--piece-width:22%;left:9%;top:32%;z-index:5}
.village-person-senior{--piece-width:18%;left:56%;top:36%;z-index:5}
.village-person-walk{--piece-width:18%;left:73%;top:42%;z-index:6}
.village-person-sit{--piece-width:21%;left:32%;top:57%;z-index:6}
.village-jeju-haenyeo{--piece-width:14%;left:59%;top:66%;z-index:7}
.village-jeju-camellia{--piece-width:12%;left:19%;top:75%;z-index:7}
.village-wash-drops{--piece-width:9%;left:8%;top:23%;z-index:2}

/* Keep full-width scene backgrounds, but anchor all artwork to one bounded grid. */
body[data-concept=play] .story-scene{display:block;padding:40px 0 24px}
body[data-concept=play] .story-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:0;width:88%;max-width:1120px;margin-inline:auto;position:relative;min-width:0}
body[data-concept=play] .story-container>*{min-width:0;max-width:100%}
body[data-concept=play] .story-container .story-bubble{box-sizing:border-box}
body[data-concept=play] .story-container .art-reveal{max-width:100%;overflow:hidden}
body[data-concept=play] .story-container .character-rig svg{overflow:hidden}
@media(max-width:760px){body[data-concept=play] .story-scene{padding:26px 0 12px}body[data-concept=play] .story-container{width:90%}}

body[data-concept=play] .hero-art.hero-ensemble.village-final{width:min(1080px,100%);height:auto;aspect-ratio:3/2;margin:24px auto 0}
body[data-concept=play] .village-final .village-art{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none!important}

body[data-concept=play] .directory-heading{min-height:0;padding-right:110px;margin-bottom:22px}
body[data-concept=play] .directory-person{width:90px;height:105px;right:8px;bottom:0}
@media(max-width:760px){body[data-concept=play] .directory-heading{padding-right:80px;margin-bottom:18px}body[data-concept=play] .directory-person{width:68px;height:82px;right:0}}
