/* Static HTML owns the story. Keep screenshot, source caption and reply cards
 * separate: .hunt-story-visual > .hunt-story-device > img + sibling figcaption.
 * Each [data-hunt-panel] pairs that figure with .hunt-story-copy. */
#world-hunt-story { --hunt-progress:.25; width:min(1384px,calc(100% - 96px)); margin:0 auto; padding:88px 0 96px; border-top:1px solid #D6C1CC; color:#302525; font-family:'Plus Jakarta Sans',sans-serif; scroll-margin-top:24px; }
#world-hunt-story *, #world-hunt-story *::before, #world-hunt-story *::after { box-sizing:border-box; }
#world-hunt-story [hidden] { display:none!important; }
.hunt-story-heading { max-width:740px; margin-bottom:40px; }
.hunt-story-heading h2 { margin:0 0 20px; color:#11100E; font:700 clamp(44px,5.2vw,74px)/1.05 'Playfair Display',Georgia,serif; letter-spacing:-.04em; }
.hunt-story-heading h2 em { color:#8B3A62; font-weight:inherit; }
.hunt-story-heading > p { max-width:620px; margin:0; color:#6B5B63; font-size:16px; line-height:1.7; }
.hunt-story-heading .world-landing-kicker { margin-bottom:18px; color:#8B3A62; font-size:12px; font-weight:700; letter-spacing:.08em; }
.hunt-story-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 0 32px; border-top:1px solid #D6C1CC; border-bottom:1px solid #D6C1CC; }
.hunt-story-steps button { display:flex; align-items:center; gap:12px; min-width:0; min-height:72px; padding:14px 16px; border:0; border-radius:0; background:transparent; color:#6B5B63; text-align:left; font:600 13px/1.5 'Plus Jakarta Sans',sans-serif; overflow-wrap:anywhere; cursor:pointer; }
.hunt-story-steps button > span:first-child { flex:0 0 auto; color:#8B3A62; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.hunt-story-steps button[aria-pressed='true'] { box-shadow:inset 0 -3px #8B3A62; background:#F0E4EC; color:#5D2440; }
.hunt-story-steps button:hover { background:#F4E9EF; }
#hunt-story-stage { position:relative; min-width:0; padding:40px clamp(24px,5vw,72px); border:1px solid #E2D4D9; border-radius:32px; background:radial-gradient(ellipse at 18% 40%,#EEDFE7 0,transparent 65%),#F5EEE8; }
#hunt-story-stage [data-hunt-panel] { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); align-items:center; gap:clamp(32px,6vw,88px); min-width:0; }
.hunt-story-visual { min-width:0; margin:0; }
.hunt-story-device { width:min(100%,330px); margin:0 auto; padding:5px; border:1px solid #AF9FA0; border-radius:32px; background:#302525; box-shadow:0 22px 48px #5D244026; }
.hunt-story-device > img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:9/19.5; object-fit:contain; object-position:center; border-radius:26px; background:#FFFDFA; }
.hunt-story-visual > figcaption { max-width:340px; margin:16px auto 0; color:#6B5B63; text-align:center; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.hunt-story-visual > figcaption a { color:#71304F; text-decoration:underline; text-underline-offset:3px; }
.hunt-story-copy { min-width:0; max-width:540px; }
.hunt-story-beat { display:block; margin:0 0 16px; color:#8B3A62; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; }
.hunt-story-copy h3 { margin:0 0 20px; color:#5D2440; font:700 clamp(30px,3.2vw,46px)/1.14 'Playfair Display',Georgia,serif; letter-spacing:-.025em; }
.hunt-story-copy > p { margin:0 0 24px; color:#51433A; font-size:15px; line-height:1.8; }
.hunt-story-reply { position:relative; max-width:440px; margin:16px 0 0; padding:18px 20px; border:1px solid #D6C1CC; border-radius:4px 20px 20px; background:#FFFDFA; }
.hunt-story-reply.carrie { margin-left:24px; border-radius:20px 4px 20px 20px; background:#EEDFE7; }
.hunt-story-reply b { display:block; margin-bottom:6px; color:#71304F; font-size:12px; line-height:1.5; }
.hunt-story-reply.carrie b { color:#8B4935; }
.hunt-story-reply p { margin:0; color:#302525; font-size:15px; line-height:1.6; }
.hunt-story-copy .hunt-story-note { margin:20px 0 0; color:#6B5B63; font-size:11px; line-height:1.7; }
.hunt-story-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.hunt-story-controls button { min-width:44px; min-height:44px; max-width:100%; padding:12px 18px; border:1px solid #C7A9BA; border-radius:999px; background:#FFFDFA; color:#5D2440; font:700 12px/1.5 'Plus Jakarta Sans',sans-serif; overflow-wrap:anywhere; cursor:pointer; }
#hunt-story-next { margin-left:auto; background:#71304F; border-color:#71304F; color:#FFFAF4; }
#world-hunt-story button:disabled { opacity:.55; cursor:default; }
#world-hunt-story button:focus-visible, #world-hunt-story a:focus-visible { outline:3px solid #8B3A62; outline-offset:4px; }
.hunt-story-progress { position:relative; flex:1 1 120px; max-width:240px; height:2px; overflow:hidden; background:#D6C1CC; }
.hunt-story-progress::after { content:''; position:absolute; inset:0; background:#8B3A62; transform:scaleX(var(--hunt-progress)); transform-origin:left; }
.hunt-story-destination { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; color:#71304F; font:600 12px/1.5 'Plus Jakarta Sans',sans-serif; text-decoration:underline; text-underline-offset:4px; }
.hunt-story-proof { margin-top:20px; max-width:720px; color:#6B5B63; font-size:12px; line-height:1.8; }
.hunt-story-proof summary { width:max-content; max-width:100%; min-height:44px; padding:12px 0; color:#71304F; font-weight:600; cursor:pointer; }
.hunt-story-proof a { text-decoration:underline; text-underline-offset:3px; }
.hunt-story-proof summary:focus-visible { outline:3px solid #8B3A62; outline-offset:4px; }
@media (prefers-reduced-motion:no-preference) {
  .hunt-story-steps button, .hunt-story-controls button { transition:background-color .2s ease; }
  #world-hunt-story[data-hunt-ready='true'] [data-hunt-panel]:not([hidden]) .hunt-story-copy { animation:hunt-story-arrive .35s ease both; }
  @keyframes hunt-story-arrive { from { opacity:.55; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
@media (max-width:760px) {
  #world-hunt-story { width:calc(100% - 40px); padding:56px 0 64px; }
  .hunt-story-heading { margin-bottom:28px; }
  .hunt-story-heading h2 { font-size:clamp(39px,10vw,58px); }
  .hunt-story-heading > p { font-size:14px; }
  .hunt-story-steps { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:24px; }
  .hunt-story-steps button { min-height:60px; padding:12px; gap:8px; font-size:12px; }
  #hunt-story-stage { padding:28px 20px; border-radius:24px; }
  #hunt-story-stage [data-hunt-panel] { grid-template-columns:1fr; gap:28px; }
  .hunt-story-device { width:min(100%,246px); }
  .hunt-story-copy { max-width:none; }
  .hunt-story-beat { margin-bottom:10px; }
  .hunt-story-copy h3 { margin-bottom:16px; font-size:32px; }
  .hunt-story-copy > p { font-size:14px; line-height:1.7; }
  .hunt-story-reply { padding:14px 16px; }
  .hunt-story-reply.carrie { margin-left:14px; }
  .hunt-story-reply p { font-size:14px; }
  .hunt-story-controls { gap:10px; margin-top:18px; }
  .hunt-story-progress { flex-basis:100%; max-width:none; order:3; }
}
@media (max-width:360px) {
  #world-hunt-story { width:calc(100% - 32px); }
  #hunt-story-stage { padding:24px 14px; }
  .hunt-story-device { width:min(100%,226px); }
  .hunt-story-copy h3 { font-size:29px; }
  .hunt-story-controls button { padding:10px 12px; font-size:11px; }
}
