/* V5 COMPOSITE (TASK COMP, 2026-10-21): the borrowed sections re-skinned into the V1 system (v5- classes) and the round-1 polish.
   Loaded after world.css (V1's system, re-scoped to V5). Same rules: scoped under [data-world="V5"], GSAP only (no @keyframes),
   never #000, the static page (no JS, reduced motion) is complete; motion states only under .motion-ok or a class world.js sets. */
[data-world="V5"] {
  --v5-grade: sepia(.12) saturate(1.05) contrast(1.02);
  --v5-mono-grade: grayscale(1) sepia(.16) contrast(1.05);
  --head-x: 47%; --head-y: 6.5%; --joints-x: 33.4%; --joints-y: 21.2%; --back-x: 66%; --back-y: 40%;
  --hips-x: 37%; --hips-y: 46.5%; --knee1-x: 41%; --knee1-y: 68.6%; --knee2-x: 55.6%; --knee2-y: 68.6%;
  --foot-x: 55%; --foot-y: 88.5%;
}
[data-world="V5"].v1-band--paper .v1-proof__vary, [data-world="V5"].v1-band--paper2 .v1-proof__vary { color: var(--v1-muted-paper); }

/* ---------- polish: the vial meter gets its own gutter (round 1: it touched card edges and the map at 1400 to 1450) ---------- */
@media (min-width: 1400px) {
  .motion-ok [data-world="V5"] .aps-wrap { width: min(100% - 2 * max(var(--aps-gutter), 76px), var(--aps-maxw)); }
}

/* =====================================================================
   ACTIVITY ROUTES (the V4 guide cards, V1 skin): [data-v4-card]
   ===================================================================== */
[data-world="V5"] .v5-act__head { display: grid; grid-template-columns: 7fr 5fr; column-gap: 64px; align-items: end; margin-bottom: 64px; }
[data-world="V5"] .v5-act__head .v1-eyebrow { grid-column: 1 / -1; }
[data-world="V5"] .v5-act__head .v1-lead { margin: 0; }
[data-world="V5"] .v5-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: start; }
[data-world="V5"] .v5-card { perspective: 1400px; }
[data-world="V5"] .v5-card:nth-child(2) { margin-top: 48px; }
[data-world="V5"] .v5-card:nth-child(3) { margin-top: 18px; }
[data-world="V5"] .v5-card:nth-child(4) { margin-top: 64px; }
[data-world="V5"] .v5-card__inner { position: relative; display: grid; }
[data-world="V5"] .v5-face { border-radius: var(--v1-r); }
[data-world="V5"] .v5-face--front { margin-bottom: 14px; padding: 8px; background: rgba(255, 255, 255, .55); border: 1px solid var(--v1-line-paper); box-shadow: var(--v1-shadow), inset 0 1px 0 rgba(255, 255, 255, .8); }
[data-world="V5"] .v5-face__media { position: relative; margin: 0; border-radius: var(--v1-r-in); overflow: clip; aspect-ratio: 4 / 5; background: var(--v1-paper-2); }
[data-world="V5"] .v5-face__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--v1-ease); }
[data-world="V5"] .v5-card:hover .v5-face__media img { transform: scale(1.04); }
/* glyphs (POL 2026-10-22): V1's x-ray plate language (.v1-xray): ink plate with a paper hairline, paper 2 px line work, plasma-gold
   accents, a dashed plumb base; no drop shadow, no white-on-photo line art */
[data-world="V5"] .v5-face__glyph { position: absolute; right: 14px; bottom: 14px; width: 76px; height: 76px; overflow: visible; }
[data-world="V5"] .v5-glyph__bg { fill: rgba(8, 23, 28, .86); stroke: rgba(245, 241, 232, .3); stroke-width: 1; }
[data-world="V5"] .v5-glyph__base { fill: none; stroke: rgba(245, 241, 232, .45); stroke-width: 1.5; stroke-dasharray: 4 6; stroke-linecap: round; }
[data-world="V5"] .v5-glyph__line { fill: none; stroke: var(--v1-paper); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[data-world="V5"] .v5-glyph__gold { fill: none; stroke: var(--v1-gold); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[data-world="V5"] .v5-glyph__dot { fill: var(--v1-gold); stroke: none; }
[data-world="V5"] .v5-face__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 8px 10px 14px; }
[data-world="V5"] .v5-face__h { margin: 0; font: 680 25px/1.12 var(--v1-display); letter-spacing: -.015em; }
[data-world="V5"] .v5-face__k { display: block; margin-top: 6px; font: 500 12px/1.4 var(--v1-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-turn { display: none; flex: none; place-items: center; width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1.5px solid var(--v1-ink); background: var(--v1-paper); color: var(--v1-ink); cursor: pointer; transition: background-color .4s var(--v1-ease), transform .5s var(--v1-ease); }
[data-world="V5"] .v5-turn:hover { background: var(--v1-gold); transform: rotate(-30deg); }
[data-world="V5"] .v5-turn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
[data-world="V5"] .v5-face--back { padding: 26px 24px 22px; background: var(--v1-ink); color: var(--v1-paper); box-shadow: var(--v1-shadow); }
[data-world="V5"] .v5-face__label { margin: 0 0 6px; font: 500 12px/1.4 var(--v1-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v1-gold); }
[data-world="V5"] .v5-face__links, [data-world="V5"] .v5-face__fits { list-style: none; margin: 0; padding: 0; }
[data-world="V5"] .v5-face__links { margin-bottom: 20px; }
[data-world="V5"] .v5-face__links a { display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid var(--v1-line-ink); color: var(--v1-paper); font: 650 21px/1.2 var(--v1-display); letter-spacing: -.01em; text-decoration: none; transition: color .3s var(--v1-ease); }
[data-world="V5"] .v5-face__links a::after { content: ""; flex: none; width: 9px; height: 9px; margin-left: auto; border-top: 2px solid var(--v1-gold); border-right: 2px solid var(--v1-gold); transform: rotate(45deg); transition: transform .4s var(--v1-ease); }
[data-world="V5"] .v5-face__links a:hover { color: var(--v1-gold); }
[data-world="V5"] .v5-face__links a:hover::after { transform: translateX(4px) rotate(45deg); }
[data-world="V5"] .v5-face__fits li { padding: 4px 0; color: var(--v1-muted-ink); font-size: 17px; }
[data-world="V5"] .v5-act__vary { margin: 36px 0 0; color: var(--v1-muted-paper); }
/* TASK COPY2 2026-10-23: Hattie L.'s show-jumping review (APS-082, first two sentences verbatim) under the cards, on the arena side:
   one review card in the reviews style (double bezel, Google-gold stars), half the row wide from 1024 px, full width below */
[data-world="V5"] .v5-review.v5-act__voice { margin: 40px 0 0; gap: 16px; }
[data-world="V5"] .v5-act__voice blockquote p { font: 600 clamp(20px, 17px + .5vw, 24px)/1.42 var(--v1-display); letter-spacing: -.01em; color: var(--v1-ink); }
@media (min-width: 1024px) {
  [data-world="V5"] .v5-review.v5-act__voice { width: calc(50% - 10px); margin-left: auto; }
}
.motion-ok [data-world="V5"] .v5-card__inner { transform-style: preserve-3d; }
.motion-ok [data-world="V5"] .v5-face { grid-area: 1 / 1; margin: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.motion-ok [data-world="V5"] .v5-face--back { transform: rotateY(180deg); display: flex; flex-direction: column; justify-content: center; }
.motion-ok [data-world="V5"] .v5-turn { display: grid; }

/* =====================================================================
   PROOF REEL (V1's video cards as an auto-scrolling reel): [data-v5-reel]
   ===================================================================== */
[data-world="V5"].v5-reel { padding-top: calc(var(--aps-section) * .45); }
[data-world="V5"] .v5-reel__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: 36px; }
[data-world="V5"] .v5-reel__hint { margin: 22px 0 0; max-width: 54ch; color: var(--v1-muted-ink); }
[data-world="V5"] .v5-reel__ctrl { display: flex; align-items: center; gap: 10px; }
[data-world="V5"] .v5-reel__arrow { display: none; place-items: center; width: 56px; height: 56px; padding: 0; border-radius: 50%; border: 1.5px solid var(--v1-line-ink); background: transparent; color: var(--v1-paper); cursor: pointer; transition: background-color .4s var(--v1-ease), color .4s var(--v1-ease), border-color .4s var(--v1-ease); }
[data-world="V5"] .v5-reel__arrow svg { width: 22px; height: 22px; }
[data-world="V5"] .v5-reel__arrow:hover { background: var(--v1-gold); border-color: var(--v1-gold); color: var(--v1-ink); }
.js [data-world="V5"] .v5-reel__arrow { display: grid; }
[data-world="V5"] .v5-reel__pause { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 22px 0 6px; border-radius: var(--aps-r-pill); border: 1.5px solid var(--v1-line-ink); background: transparent; color: var(--v1-paper); font: 600 17px/1 var(--v1-body); cursor: pointer; transition: background-color .4s var(--v1-ease), border-color .4s var(--v1-ease); }
[data-world="V5"] .v5-reel__pause:hover { background: rgba(245, 241, 232, .08); border-color: rgba(245, 241, 232, .4); }
[data-world="V5"] .v5-reel__pause-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--v1-gold); color: var(--v1-ink); }
[data-world="V5"] .v5-reel__pause-ico svg { width: 18px; height: 18px; fill: currentColor; }
[data-world="V5"] .v5-reel__i-play { display: none; }
[data-world="V5"] .v5-reel__pause.is-paused .v5-reel__i-play { display: inline; }
[data-world="V5"] .v5-reel__pause.is-paused .v5-reel__i-pause { display: none; }
[data-world="V5"] .v5-reel__pause[hidden] { display: none; }
[data-world="V5"] .v5-reel__view { position: relative; margin: 0 calc(-1 * var(--aps-gutter)); }
[data-world="V5"] .v5-reel__track { list-style: none; margin: 0; padding: 18px var(--aps-gutter) 34px; display: flex; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--aps-gutter); scrollbar-width: thin; scrollbar-color: var(--v1-gold) transparent; }
[data-world="V5"] .v5-reel__card .v1-polar__in { position: relative; }
[data-world="V5"] .v5-reel__play { display: none; position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; margin: -34px 0 0 -34px; padding: 0; place-items: center; border-radius: 50%; border: 1.5px solid rgba(245, 241, 232, .55); background: rgba(11, 30, 36, .72); color: var(--v1-gold); cursor: pointer; transition: transform .45s var(--v1-ease), background-color .45s var(--v1-ease), opacity .3s var(--v1-ease); }
[data-world="V5"] .v5-reel__play svg { width: 26px; height: 26px; margin-left: 3px; fill: currentColor; }
[data-world="V5"] .v5-reel__play:hover { transform: scale(1.06); background: var(--v1-gold); color: var(--v1-ink); }
.js [data-world="V5"] .v5-reel__play { display: grid; }
[data-world="V5"] .v5-reel__card.is-playing .v5-reel__play { opacity: 0; pointer-events: none; }
[data-world="V5"] .v5-reel__vary { margin-top: 6px; }
/* live mode (motion allowed, set by world.js): a strip that glides; GSAP moves the track (transform only) */
[data-world="V5"].v5-reel.is-live .v5-reel__view { overflow: clip; touch-action: pan-y; cursor: grab; }
[data-world="V5"].v5-reel.is-live .v5-reel__track { width: max-content; overflow: visible; scroll-snap-type: none; will-change: transform; }
@media (min-width: 1400px) {
  [data-world="V5"].v5-reel.is-live .v5-reel__view { margin: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0, white 56px, white calc(100% - 56px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, white 56px, white calc(100% - 56px), transparent 100%); }
}

/* =====================================================================
   WRITTEN REVIEWS (paper, five Google-gold stars per card)
   ===================================================================== */
[data-world="V5"] .v5-revs__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0 48px; margin-bottom: 56px; }
[data-world="V5"] .v5-revs__head .v1-eyebrow { flex-basis: 100%; }
[data-world="V5"] .v5-revs__h { margin: 0; font: 720 clamp(38px, 20px + 3.9vw, 78px)/.98 var(--v1-display); letter-spacing: -.03em; font-variation-settings: "opsz" 96; }
[data-world="V5"] .v5-revs__score { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; color: var(--v1-ink); text-decoration: none; }
[data-world="V5"] .v5-revs__stars { display: inline-flex; color: var(--aps-star); }
[data-world="V5"] .v5-revs__stars svg { width: 190px; height: 35px; }
[data-world="V5"] .v5-revs__line { text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: .14em; text-decoration-color: var(--v1-gold); transition: text-decoration-color .4s var(--v1-ease); }
[data-world="V5"] .v5-revs__score:hover .v5-revs__line { text-decoration-color: var(--v1-ink); }
[data-world="V5"] .v5-revs__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: 18px; }
[data-world="V5"] .v5-review { grid-column: 7 / span 6; margin: 0; display: flex; flex-direction: column; gap: 20px; padding: 30px 32px; border-radius: var(--v1-r); background: rgba(255, 255, 255, .62); border: 1px solid var(--v1-line-paper); box-shadow: var(--v1-shadow), inset 0 1px 0 rgba(255, 255, 255, .9); }
[data-world="V5"] .v5-review--feat { grid-column: 1 / span 6; grid-row: span 2; justify-content: space-between; padding: 40px; background: rgba(227, 169, 59, .16); border-color: rgba(138, 90, 11, .28); }
[data-world="V5"] .v5-review__stars { display: inline-flex; color: var(--aps-star); }
[data-world="V5"] .v5-review__stars svg { width: 112px; height: 21px; }
[data-world="V5"] .v5-review blockquote { margin: 0; }
[data-world="V5"] .v5-review blockquote p { margin: 0; }
[data-world="V5"] .v5-review--feat blockquote p { font: 600 clamp(22px, 18px + .6vw, 28px)/1.4 var(--v1-display); letter-spacing: -.01em; }
[data-world="V5"] .v5-review figcaption { font: 500 12px/1.45 var(--v1-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-review__name { display: block; margin-bottom: 4px; font: 700 21px/1.2 var(--v1-display); letter-spacing: -.01em; text-transform: none; color: var(--v1-ink); }
/* TASK-COPY 2026-10-23: five reviews keep the bento gapless: feature left (2 rows), two stacked right, the last two side by side */
@media (min-width: 1024px) {
  [data-world="V5"] .v5-revs__grid--n5 .v5-review:nth-child(n+4) { grid-column: auto / span 6; }
}
[data-world="V5"] .v5-revs__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 32px; margin-top: 26px; }

/* =====================================================================
   BOOKING: the steps joined by a drawn line (V3's rail manner): [data-v5-steps-line]
   ===================================================================== */
[data-world="V5"] .v5-steps .v1-steps__item { position: relative; }
[data-world="V5"] .v5-steps__seg { position: absolute; left: 26.5px; top: 50px; width: 3px; height: 100%; border-radius: 3px; background: rgba(11, 30, 36, .16); overflow: clip; }
[data-world="V5"] .v5-steps__fill { display: block; width: 100%; height: 100%; background: var(--v1-ink); transform-origin: 50% 0; }
[data-world="V5"] .v5-steps .v1-steps__n { position: relative; z-index: 1; box-shadow: 0 0 0 6px var(--v1-field); transition: background-color .45s var(--v1-ease), color .45s var(--v1-ease); }
.motion-ok [data-world="V5"] .v5-steps.is-armed .v1-steps__n:not(.is-lit) { background: var(--v1-field); color: rgba(11, 30, 36, .5); box-shadow: 0 0 0 6px var(--v1-field), inset 0 0 0 2px rgba(11, 30, 36, .35); }

/* =====================================================================
   WHERE DOES IT HURT: V1's chapter + the body map (figure, pins, chart groups)
   ===================================================================== */
[data-world="V5"] .v5-where__head { display: grid; grid-template-columns: 7fr 5fr; column-gap: 64px; align-items: end; margin-bottom: 64px; }
[data-world="V5"] .v5-where__head .v1-eyebrow { grid-column: 1 / -1; }
[data-world="V5"] .v5-where__intro .v1-lead { margin-bottom: 10px; }
[data-world="V5"] .v5-where__map { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
[data-world="V5"] .v5-where__stage { min-width: 0; }
[data-world="V5"] .v5-plate { position: relative; margin: 0 auto; max-width: 470px; padding: 8px; border-radius: 34px; background: rgba(11, 30, 36, .05); border: 1px solid var(--v1-line-paper); box-shadow: var(--v1-shadow); }
[data-world="V5"] .v5-plate__in { position: relative; border-radius: 26px; overflow: clip; background: var(--v5-fig-bg, #EEE4D6); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }
[data-world="V5"] .v5-fig { position: relative; width: 100%; aspect-ratio: 2 / 3; }
[data-world="V5"] .v5-fig__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 60%; }
[data-world="V5"] .v5-fig__tint { position: absolute; inset: 0; background: rgba(227, 169, 59, .18); opacity: 0; pointer-events: none; transition: opacity .5s var(--v1-ease); }
[data-world="V5"] .v5-where__map.is-whole .v5-fig__tint { opacity: 1; }
/* POL2 2026-10-22: the regenerative disclaimer (the owner's text, once, in the regenerative card on ink; [ATTORNEY REVIEW] tag in the mockup) */
[data-world="V5"] .v5-disclaimer { margin: 0 0 30px; padding: 18px 22px 20px; border-radius: 20px; border: 1.5px solid var(--v1-line-ink); background: rgba(245, 241, 232, .05); }
[data-world="V5"] .v5-disclaimer .v1-confirm { color: var(--v1-gold); }
[data-world="V5"] .v5-disclaimer p { margin: 10px 0 0; max-width: 60ch; color: #E7E2D6; }
[data-world="V5"] .v5-pin { position: absolute; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; margin: -24px 0 0 -24px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: opacity .45s var(--v1-ease); }
[data-world="V5"] .v5-pin:focus-visible { outline-offset: -2px; border-radius: 50%; }
[data-world="V5"] .v5-pin__ring { position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border-radius: 50%; border: 1.5px solid var(--v1-ink); opacity: 0; pointer-events: none; }
[data-world="V5"] .v5-pin__core { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--v1-paper); border: 1.5px solid var(--v1-ink); color: var(--v1-ink); font: 600 12px/1 var(--v1-mono); box-shadow: 0 4px 12px -4px rgba(11, 30, 36, .45); transition: background-color .5s var(--v1-ease), color .5s var(--v1-ease), transform .5s var(--v1-ease); }
[data-world="V5"] .v5-pin:hover .v5-pin__core, [data-world="V5"] .v5-pin.is-on .v5-pin__core { background: var(--v1-ink); color: var(--v1-gold); transform: scale(1.18); }
[data-world="V5"] .v5-pin--head { left: var(--head-x); top: var(--head-y); }
[data-world="V5"] .v5-pin--joints { left: var(--joints-x); top: var(--joints-y); }
[data-world="V5"] .v5-pin--back { left: var(--back-x); top: var(--back-y); }
[data-world="V5"] .v5-pin--hips { left: var(--hips-x); top: var(--hips-y); }
[data-world="V5"] .v5-pin--knee1 { left: var(--knee1-x); top: var(--knee1-y); }
[data-world="V5"] .v5-pin--knee2 { left: var(--knee2-x); top: var(--knee2-y); }
[data-world="V5"] .v5-pin--foot { left: var(--foot-x); top: var(--foot-y); }
[data-world="V5"] .v5-tag { position: absolute; z-index: 2; display: flex; align-items: center; width: 24%; min-height: 48px; transform: translateY(-50%); font: 500 12px/1.25 var(--v1-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--v1-ink); text-decoration: none; transition: color .4s var(--v1-ease), opacity .45s var(--v1-ease); }
[data-world="V5"] .v5-tag--l { left: 2%; justify-content: flex-end; text-align: right; }
[data-world="V5"] .v5-tag--r { left: 74%; justify-content: flex-start; text-align: left; }
[data-world="V5"] .v5-tag:hover, [data-world="V5"] .v5-tag.is-on { color: var(--v1-gold-deep); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }
[data-world="V5"] .v5-lead { position: absolute; z-index: 1; height: 1px; background: rgba(11, 30, 36, .38); transition: background-color .4s var(--v1-ease), opacity .45s var(--v1-ease); }
[data-world="V5"] .v5-lead--l { left: 27%; width: calc(var(--x) - 27% - 15px); transform-origin: 100% 50%; }
[data-world="V5"] .v5-lead--r { left: calc(var(--x) + 15px); width: calc(73% - var(--x) - 15px); transform-origin: 0 50%; }
[data-world="V5"] .v5-lead.is-on { background: var(--v1-gold-deep); }
[data-world="V5"] .v5-tag--head, [data-world="V5"] .v5-lead--head { top: var(--head-y); --x: var(--head-x); }
[data-world="V5"] .v5-tag--joints, [data-world="V5"] .v5-lead--joints { top: var(--joints-y); --x: var(--joints-x); }
[data-world="V5"] .v5-tag--back, [data-world="V5"] .v5-lead--back { top: var(--back-y); --x: var(--back-x); }
[data-world="V5"] .v5-tag--hips, [data-world="V5"] .v5-lead--hips { top: var(--hips-y); --x: var(--hips-x); }
[data-world="V5"] .v5-tag--knees, [data-world="V5"] .v5-lead--knees { top: var(--knee2-y); --x: var(--knee2-x); }
[data-world="V5"] .v5-tag--foot, [data-world="V5"] .v5-lead--foot { top: var(--foot-y); --x: var(--foot-x); }
[data-world="V5"] .v5-where__map.has-on .v5-pin:not(.is-on), [data-world="V5"] .v5-where__map.has-on .v5-tag:not(.is-on), [data-world="V5"] .v5-where__map.has-on .v5-lead:not(.is-on) { opacity: .3; }
[data-world="V5"] .v5-where__chart { min-width: 0; }
[data-world="V5"] .v5-where__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; gap: 12px; }
[data-world="V5"] .v5-where__group { padding: 24px 24px 16px; border-radius: 24px; background: rgba(255, 255, 255, .55); border: 1px solid var(--v1-line-paper); scroll-margin-top: 110px; transition: background-color .5s var(--v1-ease), border-color .5s var(--v1-ease); }
[data-world="V5"] .v5-where__group--wide { grid-column: span 2; background: var(--v1-ink); color: var(--v1-paper); border-color: transparent; }
[data-world="V5"] .v5-where__group.is-on { background: var(--v1-field); border-color: var(--v1-gold); }
[data-world="V5"] .v5-where__group--wide.is-on { background: var(--v1-ink-2); border-color: var(--v1-gold); }
[data-world="V5"] .v5-where__gh { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; font: 700 26px/1.1 var(--v1-display); letter-spacing: -.015em; }
[data-world="V5"] .v5-where__group--wide .v5-where__gh { font-size: 36px; }
[data-world="V5"] .v5-where__gn { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid currentColor; font: 600 12px/1 var(--v1-mono); letter-spacing: 0; }
[data-world="V5"] .v5-where__group.is-on .v5-where__gn { background: var(--v1-ink); color: var(--v1-gold); border-color: var(--v1-ink); }
[data-world="V5"] .v5-where__group--wide.is-on .v5-where__gn { background: var(--v1-gold); color: var(--v1-ink); border-color: var(--v1-gold); }
[data-world="V5"] .v5-where__links { list-style: none; margin: 0; padding: 0; }
[data-world="V5"] .v5-where__group--wide .v5-where__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
[data-world="V5"] .v5-where__links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--v1-line-paper); color: var(--v1-ink); font-weight: 600; font-size: 18px; text-decoration: none; transition: color .3s var(--v1-ease); }
[data-world="V5"] .v5-where__links li:last-child a { border-bottom: 0; }
[data-world="V5"] .v5-where__links svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: .55; transition: transform .4s var(--v1-ease), opacity .3s var(--v1-ease); }
[data-world="V5"] .v5-where__links a:hover { color: var(--aps-teal-deep); }
[data-world="V5"] .v5-where__links a:hover svg { transform: translate(3px, -3px); opacity: 1; }
[data-world="V5"] .v5-where__group--wide .v5-where__links a { color: var(--v1-paper); border-color: var(--v1-line-ink); }
[data-world="V5"] .v5-where__group--wide .v5-where__links li:last-child a { border-bottom: 1px solid var(--v1-line-ink); }
[data-world="V5"] .v5-where__group--wide .v5-where__links a:hover { color: var(--v1-gold); }
[data-world="V5"] .v5-where__whole { margin-top: 12px; padding: 24px 26px 16px; border-radius: 24px; background: var(--v1-paper-2); border: 1px solid var(--v1-line-paper); transition: background-color .5s var(--v1-ease); }
[data-world="V5"] .v5-where__whole.is-on { background: var(--v1-field); }
[data-world="V5"] .v5-where__wk { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 500 12px/1.4 var(--v1-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-where__wk::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--v1-gold); box-shadow: 0 0 0 4px rgba(227, 169, 59, .25); }
[data-world="V5"] .v5-where__wgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
[data-world="V5"] .v5-where__wgrid .v5-where__gh { font-size: 22px; }
@media (min-width: 1024px) {
  [data-world="V5"] .v5-where__stage { position: sticky; top: 112px; }
}

/* =====================================================================
   PROVIDERS (the lead portrait + supporting cards anatomy, V1 skin, ink chapter)
   ===================================================================== */
[data-world="V5"] .v5-team__head { margin-bottom: 56px; }
[data-world="V5"] .v5-team__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; }
/* POL 2026-10-22: the supporting people are horizontal cards stacked beside the lead, centred on the lead column */
[data-world="V5"] .v5-team__grid { align-items: center; }
[data-world="V5"] .v5-team__side { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
[data-world="V5"] .v5-team__side .v5-person { display: grid; grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); gap: 0 32px; align-items: center; padding: 10px; border-radius: var(--v1-r); border: 1px solid var(--v1-line-ink); background: rgba(245, 241, 232, .03); }
[data-world="V5"] .v5-team__side .v5-person__frame { padding: 0; border: 0; background: none; box-shadow: none; }
[data-world="V5"] .v5-team__side .v5-person__media { border-radius: var(--v1-r-in); }
[data-world="V5"] .v5-person__body { padding: 8px 18px 8px 0; }
[data-world="V5"] .v5-person__body .v5-person__name { margin-top: 0; }
[data-world="V5"] .v5-person { margin: 0; }
[data-world="V5"] .v5-person__frame { position: relative; margin: 0; padding: 8px; border-radius: var(--v1-r); background: rgba(245, 241, 232, .06); border: 1px solid var(--v1-line-ink); box-shadow: inset 0 1px 0 rgba(245, 241, 232, .06); }
[data-world="V5"] .v5-person__media { display: block; border-radius: var(--v1-r-in); overflow: clip; aspect-ratio: 4 / 5; background: var(--v1-ink-2); }
[data-world="V5"] .v5-person--lead .v5-person__media { aspect-ratio: 3 / 4; }
[data-world="V5"] .v5-person__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; filter: var(--v5-mono-grade); transition: filter .9s var(--v1-ease), transform 1.1s var(--v1-ease); }
[data-world="V5"] .v5-person__media--still img { object-position: 57% 30%; }
/* POL 2026-10-22: black and white on every screen (owner); warms to colour on hover / focus where a mouse is used */
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
  [data-world="V5"] .v5-person:hover .v5-person__media img, [data-world="V5"] .v5-person:focus-within .v5-person__media img { filter: var(--v5-grade); transform: scale(1.03); }
}
[data-world="V5"] .v5-person__l3 { position: absolute; left: 22px; bottom: 26px; max-width: calc(100% - 44px); }
[data-world="V5"] .v5-person__name { margin: 22px 0 0; font: 680 26px/1.12 var(--v1-display); letter-spacing: -.015em; color: var(--v1-paper); }
[data-world="V5"] .v5-person__cred { margin: 8px 0 0; font: 500 12px/1.45 var(--v1-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v1-gold); }
[data-world="V5"] .v5-person__line { margin: 14px 0 0; color: var(--v1-muted-ink); }
[data-world="V5"] .v5-person__bio { margin: 28px 0 0; max-width: 52ch; color: #E7E2D6; font-size: clamp(19px, 17px + .35vw, 22px); line-height: 1.55; }
[data-world="V5"] .v5-person__facts { list-style: none; margin: 18px 0 0; padding: 0; }
[data-world="V5"] .v5-person__facts li { padding: 12px 0; border-top: 1px solid var(--v1-line-ink); color: var(--v1-paper); font-weight: 600; }

/* =====================================================================
   STEP BY STEP on paper (V1's process, the V5 rhythm)
   ===================================================================== */
[data-world="V5"].v5-steps-paper .v1-path__line { background: var(--v1-line-paper); }
[data-world="V5"].v5-steps-paper .v1-path__media { background: rgba(255, 255, 255, .5); border-color: var(--v1-line-paper); box-shadow: var(--v1-shadow); }
[data-world="V5"].v5-steps-paper .v1-path__n { color: var(--v1-gold-deep); }
[data-world="V5"].v5-steps-paper .v1-path__step p:last-child { color: var(--v1-muted-paper); }

/* =====================================================================
   LOOK INSIDE (the V4 taped polaroids, V1 skin, ink chapter)
   ===================================================================== */
[data-world="V5"] .v5-camp__head { margin-bottom: 64px; }
/* POL 2026-10-22: five prints in one row (portrait 3:4 / landscape 4:3 columns sized so the photos share a height) */
[data-world="V5"] .v5-camp__table { display: grid; grid-template-columns: 0.75fr 1.33fr 0.75fr 1.33fr 1.33fr; gap: 28px; align-items: start; padding-top: 14px; }
[data-world="V5"] .v5-pol { position: relative; margin: 0; padding: 10px 10px 14px; border-radius: 4px; background: var(--v1-paper); box-shadow: 0 26px 50px -30px rgba(0, 9, 12, .9), 0 2px 6px rgba(0, 9, 12, .35); rotate: var(--v5-rot, 0deg); transition: rotate .5s var(--v1-ease), transform .5s var(--v1-ease); }
/* POL 2026-10-22: the straighten-on-hover lift only where a mouse hovers and motion is allowed (the phone row and reduced motion stay still) */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  [data-world="V5"] .v5-pol:hover { z-index: 2; rotate: 0deg; transform: translateY(-6px) scale(1.02); }
}
[data-world="V5"] .v5-pol--land { --v5-ar: 4 / 3; }
[data-world="V5"] .v5-pol:nth-child(even) { margin-top: 30px; }
[data-world="V5"] .v5-pol img { width: 100%; height: auto; aspect-ratio: var(--v5-ar, 3 / 4); object-fit: cover; border-radius: 2px; }
[data-world="V5"] .v5-pol figcaption { padding-top: 12px; font: 500 12px/1.4 var(--v1-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--v1-ink); }
[data-world="V5"] .v5-pol__tape { position: absolute; z-index: 1; top: -12px; left: 50%; width: 96px; height: 26px; margin-left: -48px; background: rgba(242, 212, 154, .8); rotate: -4deg; box-shadow: 0 1px 2px rgba(0, 9, 12, .25); }
[data-world="V5"] .v5-pol:nth-child(1) { --v5-rot: -1.5deg; }
[data-world="V5"] .v5-pol:nth-child(2) { --v5-rot: 2deg; }
[data-world="V5"] .v5-pol:nth-child(3) { --v5-rot: -2deg; }
[data-world="V5"] .v5-pol:nth-child(4) { --v5-rot: 1.5deg; }
[data-world="V5"] .v5-pol:nth-child(5) { --v5-rot: -1deg; }
[data-world="V5"] .v5-pol:nth-child(6) { --v5-rot: 1deg; }
[data-world="V5"] .v5-pol:nth-child(7) { --v5-rot: 2.5deg; }
[data-world="V5"] .v5-pol:nth-child(8) { --v5-rot: -2deg; }

/* =====================================================================
   FIND US (the V2 map, V1 skin)
   ===================================================================== */
[data-world="V5"] .v5-find__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
[data-world="V5"] .v5-find__near { max-width: 52ch; margin: 30px 0 0; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-find__nap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 36px 0 34px; padding: 26px 0; border-top: 2px solid var(--v1-ink); border-bottom: 1px solid var(--v1-line-paper); }
[data-world="V5"] .v5-find__k { margin: 0 0 10px; font: 500 12px/1.4 var(--v1-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-find__v { font: 680 24px/1.2 var(--v1-display); font-style: normal; letter-spacing: -.015em; }
[data-world="V5"] .v5-find__tel { display: inline-flex; align-items: center; min-height: var(--aps-tap); margin-top: 6px; font-weight: 700; font-size: 20px; }
[data-world="V5"] .v5-find__hours { margin: 0; }
[data-world="V5"] .v5-find__hours > div { padding: 4px 0 10px; }
[data-world="V5"] .v5-find__hours dt { font-weight: 600; }
[data-world="V5"] .v5-find__hours dd { margin: 0; color: var(--v1-muted-paper); }
[data-world="V5"] .v5-find__call:hover { background: rgba(11, 30, 36, .06); }
[data-world="V5"] .v5-map { margin: 0; }
[data-world="V5"] .v5-map__in { padding: 10px; border-radius: 34px; background: rgba(11, 30, 36, .05); border: 1px solid var(--v1-line-paper); }
[data-world="V5"] .v5-map__svg { display: block; width: 100%; height: auto; border-radius: 26px; background: var(--v1-ink); }
[data-world="V5"] .v5-map__grid circle { stroke: rgba(245, 241, 232, .14); stroke-width: 1.5; stroke-dasharray: 3 7; }
[data-world="V5"] .v5-map__ridge { stroke: rgba(245, 241, 232, .42); stroke-width: 3; stroke-linejoin: round; }
[data-world="V5"] .v5-map__ridge-label { font: 500 13px var(--v1-mono); letter-spacing: .22em; text-transform: uppercase; fill: rgba(245, 241, 232, .62); text-anchor: middle; }
[data-world="V5"] .v5-map__routes path { stroke: var(--v1-gold); stroke-width: 2.5; stroke-dasharray: 6 6; stroke-linecap: round; }
[data-world="V5"] .v5-map__towns circle { fill: var(--v1-paper); }
[data-world="V5"] .v5-map__labels text { font: 600 18px var(--v1-body); fill: var(--v1-paper); }
[data-world="V5"] .v5-map__home { fill: var(--v1-gold); stroke: var(--v1-ink); stroke-width: 3; }
[data-world="V5"] .v5-map__ring { stroke: var(--v1-gold); stroke-width: 3; }
[data-world="V5"] .v5-map__home-label { font: 760 26px var(--v1-display); letter-spacing: -.02em; fill: var(--v1-gold); }
[data-world="V5"] .v5-map__north path { fill: var(--v1-paper); }
[data-world="V5"] .v5-map__north text { font: 600 16px var(--v1-mono); fill: var(--v1-paper); }
[data-world="V5"] .v5-access { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
[data-world="V5"] .v5-access li { padding: 14px 0; border-top: 1px solid var(--v1-line-paper); }
[data-world="V5"] .v5-access span { display: block; font: 700 19px/1.3 var(--v1-display); }

/* =====================================================================
   CTA: the owner's statement
   ===================================================================== */
[data-world="V5"] .v5-close__h { max-width: 17ch; font-size: clamp(46px, 18px + 5vw, 96px); line-height: .94; }

/* =====================================================================
   V5 RESPONSIVE
   ===================================================================== */
@media (max-width: 1023px) {
  [data-world="V5"] .v5-act__head, [data-world="V5"] .v5-where__head, [data-world="V5"] .v5-where__map, [data-world="V5"] .v5-team__grid, [data-world="V5"] .v5-find__grid { grid-template-columns: 1fr; gap: 40px; }
  [data-world="V5"] .v5-act__head, [data-world="V5"] .v5-where__head { row-gap: 0; }
  [data-world="V5"] .v5-act__head .v1-lead, [data-world="V5"] .v5-where__intro { margin-top: 26px; }
  [data-world="V5"] .v5-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-world="V5"] .v5-card:nth-child(n) { margin-top: 0; }
  [data-world="V5"] .v5-card:nth-child(even) { margin-top: 40px; }
  [data-world="V5"] .v5-plate { max-width: 420px; }
  [data-world="V5"] .v5-person--lead { max-width: 560px; }
  [data-world="V5"] .v5-review, [data-world="V5"] .v5-review--feat { grid-column: span 12; grid-row: auto; }
  [data-world="V5"] .v5-camp__table { grid-template-columns: 0.75fr 1.33fr 0.75fr; row-gap: 40px; }
}
@media (max-width: 767px) {
  [data-world="V5"] .v5-act__head { margin-bottom: 36px; }
  [data-world="V5"] .v5-cards { display: flex; gap: 16px; margin: 0 calc(-1 * var(--aps-gutter)); padding: 12px var(--aps-gutter) 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--aps-gutter); scrollbar-width: thin; scrollbar-color: var(--v1-gold) transparent; }
  [data-world="V5"] .v5-card { flex: 0 0 80%; scroll-snap-align: start; }
  [data-world="V5"] .v5-card:nth-child(n) { margin-top: 0; }
  [data-world="V5"] .v5-face__h { font-size: 23px; }

  [data-world="V5"] .v5-reel__head { margin-bottom: 22px; }
  [data-world="V5"] .v5-reel__ctrl { width: 100%; }
  [data-world="V5"] .v5-reel__pause { margin-right: auto; }
  [data-world="V5"] .v1-polar.v5-reel__card { width: 66vw; }
  [data-world="V5"] .v5-reel__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }

  [data-world="V5"] .v5-revs__head { margin-bottom: 34px; }
  [data-world="V5"] .v5-revs__h { font-size: 38px; }
  [data-world="V5"] .v5-revs__stars svg { width: 150px; height: 28px; }
  [data-world="V5"] .v5-review, [data-world="V5"] .v5-review--feat { padding: 24px 22px; }

  [data-world="V5"] .v5-steps__seg { left: 22.5px; top: 46px; }

  [data-world="V5"] .v5-where__head { margin-bottom: 36px; }
  [data-world="V5"] .v5-plate { max-width: min(100%, 340px); padding: 6px; border-radius: 30px; }
  [data-world="V5"] .v5-plate__in { border-radius: 24px; }
  [data-world="V5"] .v5-pin__core { width: 23px; height: 23px; }
  [data-world="V5"] .v5-pin__ring { width: 24px; height: 24px; margin: -12px 0 0 -12px; }
  [data-world="V5"] .v5-tag { width: 25%; font-size: 11px; letter-spacing: .06em; }
  [data-world="V5"] .v5-tag:not(.v5-tag--keep):not(.is-on) { visibility: hidden; opacity: 0; }
  [data-world="V5"] .v5-lead:not(.v5-lead--back):not(.is-on) { visibility: hidden; opacity: 0; }
  [data-world="V5"] .v5-where__map.has-on .v5-tag--keep:not(.is-on), [data-world="V5"] .v5-where__map.has-on .v5-lead--back:not(.is-on) { visibility: hidden; }
  [data-world="V5"] .v5-disclaimer { padding: 16px 16px 18px; }
  [data-world="V5"] .v5-where__groups { grid-template-columns: 1fr; }
  [data-world="V5"] .v5-where__group--wide { grid-column: auto; }
  [data-world="V5"] .v5-where__group--wide .v5-where__links { grid-template-columns: 1fr; }
  [data-world="V5"] .v5-where__group--wide .v5-where__gh { font-size: 30px; }
  [data-world="V5"] .v5-where__wgrid { grid-template-columns: 1fr; row-gap: 18px; }

  [data-world="V5"] .v5-team__side { gap: 20px; }
  [data-world="V5"] .v5-team__side .v5-person { grid-template-columns: 38% 1fr; gap: 0 16px; padding: 8px; }
  [data-world="V5"] .v5-team__side .v5-person:has(.v5-person__facts) { grid-template-columns: 1fr; row-gap: 18px; }
  [data-world="V5"] .v5-person__body { padding: 0 6px 6px; }
  [data-world="V5"] .v5-person__name { font-size: 23px; }
  [data-world="V5"] .v5-person__l3 { left: 14px; bottom: 18px; max-width: calc(100% - 28px); }

  [data-world="V5"] .v5-camp__head { margin-bottom: 40px; }
  [data-world="V5"] .v5-camp__table { display: flex; gap: 18px; margin: 0 calc(-1 * var(--aps-gutter)); padding: 16px var(--aps-gutter) 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--aps-gutter); }
  [data-world="V5"] .v5-camp__table .v5-pol { flex: 0 0 auto; scroll-snap-align: start; padding: 7px 7px 10px; }
  [data-world="V5"] .v5-camp__table .v5-pol img { width: auto; height: 240px; }
  [data-world="V5"] .v5-camp__table .v5-pol figcaption { max-width: 300px; }
  [data-world="V5"] .v5-camp__table .v5-pol--port figcaption { max-width: 166px; }
  [data-world="V5"] .v5-pol:nth-child(even) { margin-top: 12px; }
  [data-world="V5"] .v5-pol figcaption { padding-top: 8px; font-size: 12px; letter-spacing: .04em; }
  [data-world="V5"] .v5-pol__tape { width: 64px; height: 20px; margin-left: -32px; top: -9px; }

  [data-world="V5"] .v5-find__nap { grid-template-columns: 1fr; gap: 22px; }
  [data-world="V5"] .v5-find__v { font-size: 22px; }
  [data-world="V5"] .v5-map__in { padding: 6px; border-radius: 28px; }
  [data-world="V5"] .v5-map__svg { border-radius: 22px; }
  [data-world="V5"] .v5-map__labels text { font-size: 26px; }
  [data-world="V5"] .v5-map__home-label { font-size: 34px; }
  [data-world="V5"] .v5-map__ridge-label { font-size: 18px; }
  [data-world="V5"] .v5-access { grid-template-columns: 1fr; }
}
