/* One continuous palette; storytelling relies on typography, not card containers. */
.r-page .story-hero{padding:100px 24px 42px}
.story-season{font-size:clamp(20px,2.6vw,30px);line-height:1.55;font-weight:500;margin:40px 0 28px;letter-spacing:-.025em}
.story-animals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:840px;margin:0 auto 28px;padding-top:32px}
.story-animals>div{position:relative;min-width:0}
.story-animals span{position:absolute;bottom:100%;left:0;right:0;max-width:180px;margin:0 auto 8px;padding:6px;background:#fff8e8;border-radius:16px 16px 16px 3px;font-size:11px;line-height:1.6}
.story-animals i{display:block;aspect-ratio:1.5;background:url('assets/lounge-tables.png') 0 0/200% 200%}
.story-animals>div:nth-child(2) i{background-position:100% 0}
.story-animals>div:nth-child(3) i{background-position:0 100%}
.story-animals>div:nth-child(4) i{background-position:100% 100%}
.r-page .story-hero h1{font-size:clamp(30px,4.2vw,56px);line-height:1.4;margin:12px 0 20px;letter-spacing:-.045em}
.r-page .story-hero .r-lead{font-size:16px;line-height:1.9}
.story-event{font-size:12px;line-height:1.7;margin:18px 0;color:var(--ink)}
.story-scroll{display:inline-block;margin:16px 0 0;font-size:13px;color:inherit;text-decoration:none}
.story-empathy{max-width:1040px;margin:auto;padding:70px 32px;scroll-margin-top:80px}
.story-empathy>.u-kicker{text-align:center}
.story-empathy>h2,.story-answer h2{font-size:clamp(34px,4.5vw,56px);line-height:1.4;letter-spacing:-.04em;text-align:center;font-weight:600;margin:18px 0 44px;word-break:keep-all}
.story-empathy em,.story-answer em{font-style:normal;color:var(--red)}
.story-situations{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;row-gap:42px;padding:0;margin:0;list-style:none;text-align:left}
.story-situations li{min-width:0}
.story-situations span{display:block;font-size:12px;margin-bottom:12px;color:var(--red);font-weight:600}
.story-situations h3{font-size:clamp(23px,2.8vw,32px);line-height:1.5;letter-spacing:-.035em;margin:0 0 12px;font-weight:600;word-break:keep-all}
.story-situations p{font-size:15px;line-height:1.9;margin:0;word-break:keep-all;opacity:.85}
.story-answer{text-align:center;max-width:880px;margin:auto;padding:42px 24px 48px}
.story-answer h2{margin-bottom:24px}
.story-answer>p:not(.u-kicker){font-size:16px;line-height:2;word-break:keep-all}
.story-answer .story-answer-end{margin:28px 0 0}
.story-price-note{font-size:13px!important;line-height:1.9!important}
.r-page .r-invite .r-button{margin-top:18px}
.r-page .r-apply h2{font-size:clamp(36px,6vw,72px);line-height:1.3;letter-spacing:-.04em}
.r-page .r-apply h2 em{font-style:normal}
@media(max-width:600px){
 .r-page .story-hero{padding:86px 20px 28px}.story-season{margin:24px 0 22px;font-size:21px}
 .story-animals{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 20px;max-width:340px;margin-bottom:22px}
 .story-animals span{font-size:10px}.r-page .story-hero h1{font-size:30px}.r-page .story-hero .r-lead{font-size:14px}
 .story-empathy{padding:44px 24px}.story-empathy>h2{margin-bottom:32px}
 .story-situations{grid-template-columns:1fr;gap:30px;max-width:390px;margin:auto}
 .story-situations h3{font-size:27px}.story-situations p{font-size:14px}.story-situations p br{display:none}
 .story-answer{padding:24px 24px 38px}.story-answer h2{font-size:30px}.story-answer>p:not(.u-kicker){font-size:14px}
}
