html.af-actives-world-root { font-size: 16px !important; }
body.af-actives-world-page.com_content.view-article .site-grid { display: block !important; width: 100% !important; max-width: none !important; margin: var(--af-live-header-height, 96px) 0 0 !important; padding: 0 !important; }
/* Header v2 reserves its height in the document flow already. */
body.af-actives-world-page.af-header-v2-page.com_content.view-article .site-grid { margin-top: 0 !important; }
body.af-actives-world-page.com_content.view-article .grid-child.container-component { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.af-actives-world-page.com_content.view-article .container-component > main { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
body.af-actives-world-page .site-grid::before, body.af-actives-world-page .container-component > main::before { display: none; }
body.af-actives-world-page.aw-dialog-open { overflow: hidden; }
.aw-page { --aw-purple: var(--af-purple, #5c3473); --aw-dark: #351145; --aw-ink: #46394e; color: var(--aw-ink); background: #fff; font-family: inherit; line-height: 1.6; letter-spacing: 0; }
.aw-page *, .aw-page *::before, .aw-page *::after { box-sizing: border-box; }
.aw-page [hidden] { display: none !important; }
.aw-shell { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.aw-page h1, .aw-page h2, .aw-page h3, .aw-page p { letter-spacing: 0; }
.aw-page h2 { font-size: 38px; font-weight: 400; line-height: 1.2; color: var(--aw-dark); margin: 0 0 20px; }
.aw-page a, .aw-page button { -webkit-tap-highlight-color: transparent; }
/* Keep legacy article-plugin hover colors out of this page. */
body.af-actives-world-page a:where(:hover, :focus):not(:where(.aw-button, .af-hv2__cta, .btn, .button)) { color: var(--af-purple-dark, #3f1f52); }
.aw-page button { font-family: inherit; }
.aw-page .fas, .aw-page .fas::before { font-family: "Font Awesome 6 Free" !important; font-weight: 900; }
.aw-page :is(a, button):focus-visible { outline: 3px solid var(--aw-purple); outline-offset: 5px; }
.aw-page :is(#aw-worlds, .aw-world, .aw-overview) { scroll-margin-top: 100px; }
.aw-hero { position: relative; isolation: isolate; min-height: 490px; display: flex; align-items: center; overflow: hidden; background: #f6f2f9; }
.aw-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; opacity: .42; }
.aw-hero::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg, rgba(253,252,255,.98) 0%, rgba(253,252,255,.93) 43%, rgba(238,228,247,.2) 100%); }
.aw-hero__content { padding: 54px 0 62px; }
.aw-hero__brand { margin: 0 0 4px; font-size: 24px; font-weight: 400; color: var(--aw-purple); }
.aw-page .aw-hero h1 { max-width: 680px; margin: 0 0 10px; font-size: 58px; font-weight: 300; line-height: 1.07; color: var(--aw-dark); }
.aw-hero h1 strong { font-weight: 700; }
.aw-hero__subtitle { margin: 0 0 20px; font-size: 25px; line-height: 1.35; color: var(--aw-dark); }
.aw-hero__intro { max-width: 570px; margin: 0 0 28px; font-size: 17px; line-height: 1.7; }
.aw-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.aw-page .aw-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 46px; max-width: 100%; padding: 11px 22px; border: 1px solid var(--aw-purple); border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 500; line-height: 1.4; text-align: center; transition: background-color 160ms ease, box-shadow 160ms ease; }
.aw-page .aw-button--primary { color: #fff; background: linear-gradient(135deg, var(--aw-purple), #482158); box-shadow: 0 6px 16px rgba(92,52,115,.13); }
.aw-page .aw-button--primary:hover { background: #482158; box-shadow: 0 8px 20px rgba(92,52,115,.2); }
.aw-page .aw-button--outline { color: var(--aw-purple); background: rgba(255,255,255,.55); border-color: #d4c3df; }
.aw-page .aw-button--outline:hover { background: #fff; }
.aw-world-nav { background: #fff; border-block: 1px solid #eee8f2; padding: 24px 0 22px; }
.aw-world-nav__inner { display: grid; grid-template-columns: 140px minmax(0,1fr); align-items: center; gap: 24px; }
.aw-world-nav__label { margin: 0; max-width: 135px; font-size: 16px; line-height: 1.5; color: var(--aw-dark); }
.aw-world-nav ul { list-style: none; display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; margin: 0; padding: 0; }
.aw-world-nav li { min-width: 0; }
.aw-world-nav__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 0 12px; color: var(--aw-dark); text-decoration: none; }
.aw-world-nav__item img { width: 76px; height: 76px; object-fit: contain; border-radius: 50%; transition: transform 180ms ease; }
.aw-world-nav__item span { font-size: 11px; font-weight: 600; line-height: 1.3; }
.aw-world-nav__item::after { content: ''; position: absolute; bottom: 0; width: 28px; height: 3px; background: var(--aw-purple); transform: scaleX(0); transition: transform 160ms ease; }
.aw-world-nav__item[aria-current='true']::after { transform: scaleX(1); }
.aw-world-nav__item:hover img { transform: scale(1.07); }
.aw-world-nav__item:hover { color: var(--aw-purple); }
.aw-theme-hydration { --aw-accent: #4cbbde; --aw-tint: #f1fbfd; }
.aw-theme-barrier { --aw-accent: #c7b298; --aw-tint: #faf8f5; }
.aw-theme-longevity { --aw-accent: #d5a244; --aw-tint: #fffaf0; }
.aw-theme-renewal { --aw-accent: #cc58ab; --aw-tint: #fff4fc; }
.aw-theme-microbiome { --aw-accent: #59b7a6; --aw-tint: #f2fbf8; }
.aw-theme-soothing { --aw-accent: #8eb8d8; --aw-tint: #f3f9ff; }
.aw-theme-protection { --aw-accent: #e89756; --aw-tint: #fff8f1; }
.aw-world { background: var(--aw-tint); padding: 52px 0 32px; overflow: hidden; }
.aw-world__inner { display: grid; grid-template-columns: minmax(270px,.85fr) minmax(0,1.8fr); gap: 40px; align-items: start; }
.aw-world__copy { padding-top: 46px; position: relative; z-index: 1; }
.aw-eyebrow { color: var(--aw-purple); font-size: 11px; font-weight: 500; text-transform: uppercase; margin: 0 0 10px; }
.aw-page .aw-world h2 { font-size: 46px; margin: 0 0 12px; overflow-wrap: anywhere; }
.aw-world__claim { margin: 0 0 18px; font-size: 22px; line-height: 1.4; color: var(--aw-dark); }
.aw-world__intro { margin: 0 0 26px; font-size: 15px; line-height: 1.7; }
.aw-benefits { display: grid; gap: 17px; margin: 0 0 32px; padding: 0; list-style: none; }
.aw-benefits li { display: flex; align-items: center; gap: 13px; font-size: 14px; line-height: 1.55; }
.aw-benefits__icon { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #b79bc9; border-radius: 50%; color: var(--aw-purple); font-size: 14px; }
.aw-status { display: inline-block; margin: 8px 0 0; border-bottom: 2px solid var(--aw-accent); color: #6b6171; font-size: 13px; }
.aw-stage { position: relative; min-width: 0; min-height: 600px; isolation: isolate; }
.aw-stage__world-image { position: absolute; z-index: -1; left: 50%; top: 0; transform: translateX(-50%); width: 580px; max-width: 100%; height: 490px; object-fit: contain; opacity: .16; }
.aw-nodes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 110px 0 225px; margin: 0; list-style: none; align-items: start; }
.aw-node { position: relative; min-width: 0; text-align: center; }
.aw-stage--pilot .aw-node:nth-child(2) { transform: translateY(-65px); }
.aw-stage--pilot .aw-node:nth-child(3) { transform: translateY(30px); }
.aw-node__button { display: flex; flex-direction: column; align-items: center; width: 100%; min-width: 0; background: none; border: 0; color: var(--aw-dark); padding: 0; cursor: pointer; }
.aw-node__visual { position: relative; width: min(180px,100%); aspect-ratio: 1; margin-bottom: 18px; transition: transform 180ms ease, opacity 180ms ease; }
.aw-node__visual img { width: 100%; height: 100%; object-fit: contain; }
.aw-node__plus { position: absolute; right: 4%; top: 8%; width: 28px; height: 28px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; background: var(--aw-purple); color: #fff; font-size: 12px; box-shadow: 0 2px 6px rgba(53,17,69,.14); }
.aw-node__name { display: block; margin: 0 0 5px; font-size: 17px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.aw-node__descriptor { display: block; font-size: 13px; font-weight: 400; line-height: 1.45; color: #615569; }
.aw-node.is-active .aw-node__visual { transform: scale(1.07); }
.aw-stage--pilot.is-engaged .aw-node:not(.is-active) .aw-node__visual { opacity: .58; }
.aw-node__info { position: absolute; z-index: 3; top: calc(100% + 18px); left: 50%; width: 245px; max-width: calc(100vw - 48px); transform: translateX(-50%); padding: 16px; background: rgba(255,255,255,.97); border: 1px solid #e6dcec; border-radius: 8px; box-shadow: 0 10px 24px rgba(53,17,69,.09); text-align: left; }
.aw-node__info p { font-size: 13px; line-height: 1.6; margin: 0 0 12px; }
.aw-node__info .aw-node__info-title { margin-bottom: 5px; font-size: 15px; font-weight: 600; color: var(--aw-dark); }
.aw-page .aw-text-button { display: inline-flex; align-items: center; gap: 9px; border: 0; padding: 3px 0; background: none; color: var(--aw-purple); font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: none; cursor: pointer; }
.aw-page .aw-text-button:hover { text-decoration: underline; }
.aw-stage--planned { min-height: 390px; }
.aw-stage--planned .aw-nodes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; padding: 30px 0; }
.aw-node__planned img { display: block; width: 130px; height: 130px; object-fit: contain; margin: 0 auto 12px; }
.aw-node__planned .aw-node__name { font-size: 15px; font-weight: 500; }
.aw-overview { padding: 76px 0 84px; background: #fff; }
.aw-overview__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.aw-world-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #ebe4ef; border-radius: 8px; padding: 0 18px 20px; background: #fff; box-shadow: 0 5px 18px rgba(53,17,69,.04); overflow: hidden; }
.aw-world-card__cover { text-decoration: none; color: var(--aw-dark); }
.aw-world-card__cover img { width: 100%; height: 150px; object-fit: contain; display: block; margin: 10px auto 0; background: var(--aw-tint); }
.aw-page .aw-world-card h3 { margin: 18px 0 10px; font-size: 17px; font-weight: 600; line-height: 1.3; }
.aw-world-card__claim { font-size: 14px; line-height: 1.55; margin: 0 0 18px; }
.aw-world-card ul { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 8px; font-size: 13px; }
.aw-world-card li::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; margin: 0 8px 2px 0; background: var(--aw-accent); }
.aw-world-card > .aw-text-button { margin-top: auto; }
.aw-dialog { position: fixed; inset: 0; width: min(820px,calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid #e2d6eb; border-radius: 8px; color: var(--aw-ink); background: #fff; box-shadow: 0 20px 70px rgba(53,17,69,.22); overflow: auto; }
.aw-dialog::backdrop { background: rgba(35,16,46,.45); }
.aw-dialog__close { position: absolute; right: 12px; top: 12px; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--aw-dark); box-shadow: 0 2px 8px rgba(53,17,69,.08); cursor: pointer; }
.aw-dialog__layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); min-width: 0; }
.aw-dialog__visual { display: grid; place-items: center; background: #f1f8fc; padding: 26px; }
.aw-dialog__visual img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.aw-dialog__copy { min-width: 0; padding: 44px 30px 32px; }
.aw-page .aw-dialog h2 { font-size: 28px; font-weight: 500; margin-bottom: 4px; overflow-wrap: anywhere; }
.aw-dialog__descriptor { font-size: 14px; color: var(--aw-purple); margin: 0 0 18px; }
.aw-dialog__copy > p:not(.aw-eyebrow,.aw-dialog__descriptor) { font-size: 14px; line-height: 1.7; margin: 0 0 18px; }
.aw-dialog__benefits { padding: 0; margin: 0 0 24px; list-style: none; display: grid; gap: 7px; font-size: 13px; }
.aw-dialog__benefits li { display: flex; align-items: flex-start; gap: 9px; }
.aw-dialog__benefits li::before { content: '\2713'; color: var(--aw-purple); }
.aw-page .aw-dialog h3 { font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.aw-dialog__tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 0 0 24px; }
.aw-dialog__tags li { font-size: 11px; line-height: 1.4; color: var(--aw-purple); background: #f1eaf7; border-radius: 4px; padding: 5px 8px; }
.aw-page .aw-dialog__copy .aw-button { width: 100%; font-size: 13px; padding-inline: 16px; }
@media (min-width: 1500px) { .aw-overview__grid { grid-template-columns: repeat(7,minmax(0,1fr)); } .aw-world-card { padding-inline: 12px; } .aw-world-card__cover img { height: 130px; } .aw-page .aw-world-card h3 { font-size: 15px; } }
@media (max-width: 1099px) { .aw-world-nav__inner { grid-template-columns: minmax(0,1fr); gap: 15px; } .aw-world-nav__label { max-width: none; } .aw-world__inner { grid-template-columns: minmax(0,1fr); gap: 25px; } .aw-world__copy { padding-top: 0; max-width: 600px; } .aw-world__intro { max-width: 520px; } .aw-stage { min-height: 590px; } .aw-stage__world-image { width: 570px; } .aw-nodes { padding-top: 80px; } .aw-stage--planned { min-height: 0; } }
@media (max-width: 767px) { .aw-shell { width: calc(100% - 40px); } .aw-hero { min-height: 570px; align-items: start; } .aw-hero__content { padding: 45px 0 48px; } .aw-hero__image { opacity: .23; object-position: 65% center; } .aw-hero::before { background: rgba(253,252,255,.6); } .aw-page .aw-hero h1 { font-size: 42px; line-height: 1.15; max-width: 430px; } .aw-hero__subtitle { font-size: 21px; } .aw-hero__intro { font-size: 16px; line-height: 1.7; } .aw-actions { align-items: stretch; gap: 12px; } .aw-actions .aw-button { width: 100%; } .aw-world-nav { padding-block: 22px; } .aw-world-nav ul { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px 8px; } .aw-world-nav__item img { width: 60px; height: 60px; } .aw-world-nav__item span { font-size: 10px; } .aw-world { padding: 42px 0 48px; } .aw-page .aw-world h2 { font-size: 36px; } .aw-world__claim { font-size: 21px; } .aw-overview { padding: 52px 0; } .aw-page .aw-overview h2 { font-size: 28px; } .aw-overview__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; } .aw-world-card { padding-inline: 12px; } .aw-world-card__cover img { height: 110px; } .aw-page .aw-world-card h3 { font-size: 14px; } .aw-world-card__claim { font-size: 13px; } .aw-world-card ul { font-size: 12px; } .aw-dialog__layout { grid-template-columns: minmax(0,1fr); } .aw-dialog { width: calc(100% - 28px); max-height: calc(100dvh - 28px); } .aw-dialog__visual { padding: 16px; height: 180px; } .aw-dialog__visual img { width: 180px; height: 150px; } .aw-dialog__copy { padding: 25px 22px; } }
@media (max-width: 639px) { .aw-stage { min-height: 0; } .aw-stage__world-image { display: none; } .aw-stage--pilot .aw-nodes { grid-template-columns: minmax(0,1fr); gap: 32px; padding: 10px 0 0; } .aw-stage--pilot .aw-node:nth-child(n) { transform: none; } .aw-node__visual { width: 220px; } .aw-node__info { position: static; width: 100%; max-width: none; transform: none; margin: 20px 0 0; text-align: left; } .aw-node__name { font-size: 19px; } .aw-node__descriptor { font-size: 14px; } .aw-stage--planned .aw-nodes { gap: 24px 14px; } .aw-node__planned img { width: 110px; height: 110px; } }
@media (prefers-reduced-motion: reduce) { .aw-page *, .aw-page *::before, .aw-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Supplied hero banner: full image, strong colour, existing copy and actions. */
.aw-hero { background: #fff; }
.aw-hero__image { opacity: 1; object-fit: contain; object-position: right center; }
.aw-hero::before { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.97) 28%, rgba(255,255,255,.82) 42%, rgba(255,255,255,0) 64%); }
@media (max-width: 1099px) {
  .aw-hero__image { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; opacity: 1; }
  .aw-hero::before { background: linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.72)); }
  .aw-hero__content { padding-bottom: 48px; }
}
/* Supplied world strips: preserve the full extracted image and its aspect ratio.
   Keep all visual placement inside the existing stage; no copy or UI changes. */
.aw-stage--final { mix-blend-mode: multiply; }
.aw-stage--final .aw-stage__world-image { position: relative; display: block; left: auto; top: auto; transform: none; width: 100%; max-width: 100%; height: auto; opacity: 1; mix-blend-mode: multiply; }
.aw-stage--final .aw-nodes { padding-top: 22px; }
.aw-stage--final.aw-stage--pilot .aw-node:nth-child(2) { transform: translateY(-28px); }
.aw-stage--final.aw-stage--pilot .aw-node:nth-child(3) { transform: translateY(10px); }
.aw-stage--final .aw-node__visual img, .aw-stage--final .aw-node__planned img { mix-blend-mode: multiply; }
.aw-stage--final .aw-node__visual { border: 0; background: none; border-radius: 0; }
.aw-stage--final .aw-node.is-active .aw-node__visual { filter: drop-shadow(0 5px 10px rgba(92,52,115,.15)); }
.aw-stage--final.aw-stage--planned .aw-nodes { padding-top: 18px; }
.aw-world-nav__item img[src$=".webp"] { object-fit: cover; }
.aw-world-card__cover img[src$=".webp"] { object-fit: cover; }
.aw-dialog__visual img { mix-blend-mode: multiply; }
@media (max-width: 639px) {
  .aw-stage--final .aw-stage__world-image { display: block; }
  .aw-stage--final.aw-stage--pilot .aw-nodes { padding-top: 24px; }
  .aw-stage--final.aw-stage--pilot .aw-node:nth-child(n) { transform: none; }
}

/* Ingredient copy activation: existing cards, readable in-flow detail previews. */
.aw-stage--planned .aw-node__visual { width: 130px; max-width: 100%; margin-bottom: 12px; }
.aw-stage--planned .aw-node__name { font-size: 15px; font-weight: 500; }
.aw-stage--planned .aw-node__info { position: static; width: 100%; max-width: none; transform: none; margin-top: 18px; }
.aw-stage--planned.is-engaged .aw-node:not(.is-active) .aw-node__visual { opacity: .58; }
@media (max-width: 639px) { .aw-stage--planned .aw-node__visual { width: 110px; } }

/* One reusable stage; positions are presentation data, independent of taxonomy. */
.aw-world-nav ul { grid-template-columns: repeat(var(--aw-world-count, 7), minmax(0, 1fr)); }
.aw-world-stage { overflow: visible; }
.aw-world-stage .aw-world__inner { align-items: center; min-height: 560px; }
.aw-world-stage .aw-world__copy { padding-top: 0; }
.aw-stage--composition { min-height: 560px; mix-blend-mode: multiply; }
.aw-stage--composition .aw-stage__world-image { position: absolute; left: 0; top: 210px; transform: none; width: 100%; max-width: 100%; height: 220px; object-fit: contain; opacity: 1; mix-blend-mode: multiply; }
.aw-stage--composition .aw-nodes { display: block; padding: 0; margin: 0; }
.aw-stage--composition .aw-node { position: absolute; left: var(--aw-node-x); top: var(--aw-node-y); width: min(180px, 27%); transform: translateX(-50%); }
.aw-stage--composition .aw-node__visual { width: 150px; max-width: 100%; margin-bottom: 12px; isolation: isolate; }
.aw-stage--composition .aw-node__visual img { border-radius: 50%; background: var(--aw-tint); }
.aw-node__button { min-height: 44px; }
.aw-node__text { min-width: 0; }
.aw-node__visual { transform-origin: center; }
.aw-node__visual img { mix-blend-mode: multiply; }
.aw-node__plus { transition: background-color 160ms ease, transform 160ms ease; }
.aw-node__button:focus-visible .aw-node__visual { transform: scale(1.12); filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--aw-accent) 45%, transparent)); }
.aw-node__button:focus-visible .aw-node__plus { background: var(--aw-dark); transform: rotate(90deg); }
@media (hover: hover) and (pointer: fine) {
  .aw-node__button:hover .aw-node__visual { transform: scale(1.12); filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--aw-accent) 45%, transparent)); }
  .aw-node__button:hover .aw-node__plus { background: var(--aw-dark); transform: rotate(90deg); }
}
.aw-actives { padding-block: 36px 12px; border-top: 1px solid #e8e0ed; scroll-margin-top: 110px; }
.aw-page .aw-actives h3 { font-size: 24px; font-weight: 400; margin: 0 0 28px; color: var(--aw-dark); }
.aw-actives__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 32px 24px; list-style: none; padding: 0; margin: 0; }
.aw-actives__grid .aw-node__visual { width: 110px; margin-bottom: 12px; }
.aw-world-card__count { margin: 0 0 24px; font-size: 13px; color: #615569; }
.aw-visual-placeholder { display: grid; place-items: center; width: 100%; height: 100%; min-height: 104px; padding: 12px; border: 1px dashed #cbbbd5; border-radius: 8px; background: #fcfafd; color: #615569; font-size: 12px; line-height: 1.5; text-align: center; }
.aw-dialog__visual .aw-visual-placeholder { height: auto; aspect-ratio: 1; }
.aw-node.is-active { z-index: 3; }
.aw-actives__grid .aw-node__info { position: static; width: 100%; max-width: none; transform: none; margin-top: 18px; }
@media (min-width: 768px) and (max-width: 1099px) {
  .aw-world-stage .aw-world__inner { gap: 20px; }
  .aw-stage--composition { min-height: 560px; }
}
@media (max-width: 767px) {
  .aw-dialog__visual .aw-visual-placeholder { width: 180px; height: 150px; aspect-ratio: auto; }
  .aw-world-nav ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aw-world-stage .aw-world__inner { min-height: 0; gap: 22px; }
  .aw-stage--composition { min-height: 0; }
  .aw-stage--composition .aw-stage__world-image { position: static; display: block; width: 100%; height: auto; aspect-ratio: 3.5; }
  .aw-stage--composition .aw-nodes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 24px 0 0; }
  .aw-stage--composition .aw-node { position: static; width: 100%; transform: none; text-align: left; }
  .aw-stage--composition .aw-node__button { flex-direction: row; gap: 20px; text-align: left; }
  .aw-stage--composition .aw-node__visual { flex: 0 0 104px; width: 104px; margin: 0; }
  .aw-stage--composition .aw-node__name { font-size: 17px; }
  .aw-stage--composition .aw-node__descriptor { font-size: 13px; }
  .aw-actives__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .aw-actives__grid .aw-node__visual { width: 104px; }
  .aw-actives__grid .aw-node__name { font-size: 15px; }
  .aw-actives__grid .aw-node__descriptor { font-size: 12px; }
}

/* Stage 2 presentation is independent of retained Hero metadata. */
.aw-page [data-aw-stage2] .aw-world__inner { grid-template-columns: minmax(0, 1fr); align-items: start; min-height: 0; gap: 28px; }
.aw-page [data-aw-stage2][data-aw-copy-layout='side'] .aw-world__inner { grid-template-columns: 320px minmax(0, 1fr); gap: 40px; align-items: center; }
.aw-page [data-aw-stage2] .aw-world__copy { padding-top: 0; }
.aw-page .aw-stage--v2 { min-height: 0; mix-blend-mode: multiply; isolation: auto; }
.aw-page .aw-stage--v2 .aw-stage__world-image { pointer-events: none; z-index: 0; left: 0; top: 50%; transform: translateY(-50%); width: 100%; height: 300px; object-fit: contain; opacity: 1; mix-blend-mode: multiply; }
.aw-page .aw-stage--v2 .aw-nodes { position: relative; z-index: 1; padding: 0; margin: 0; list-style: none; min-height: var(--aw-stage-height); }
.aw-page .aw-stage--v2 .aw-node { width: var(--aw-label-width); left: var(--aw-node-x); top: var(--aw-node-y); transform: translateX(-50%); }
.aw-page .aw-stage--v2 .aw-node__button { flex-direction: column; align-items: center; gap: 0; text-align: center; padding: 0; min-height: 44px; }
.aw-page .aw-stage--v2 .aw-node__visual { width: var(--aw-node-size); max-width: none; flex: none; aspect-ratio: 1; margin: 0 0 12px; border: 0; background: none; isolation: auto; }
.aw-page .aw-stage--v2 .aw-node__visual img { object-fit: contain; border-radius: 0; background: none; mix-blend-mode: normal; }
.aw-page .aw-stage--v2 .aw-node__visual img.aw-image--legacy { mix-blend-mode: multiply; }
.aw-page .aw-stage--v2 .aw-node__text { width: 100%; min-height: 108px; text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, 0 0 6px #fff, 0 0 12px #fff; }
.aw-page .aw-stage--v2 .aw-node__name { font-size: 17px; line-height: 22px; margin: 0 0 4px; hyphens: auto; overflow-wrap: anywhere; }
.aw-page .aw-stage--v2 .aw-node__descriptor { font-size: 13px; line-height: 19px; color: var(--aw-ink); hyphens: auto; overflow-wrap: anywhere; }
.aw-page .aw-stage--v2 .aw-node__button:focus-visible { outline: 3px solid var(--aw-purple); outline-offset: 5px; border-radius: 4px; }
.aw-page .aw-stage--v2 .aw-node__button:focus-visible .aw-node__visual { transform: none; }
.aw-page .aw-stage--v2 .aw-node__button:focus-visible .aw-node__plus { background: var(--aw-dark); transform: none; }
.aw-page .aw-stage--v2 .aw-node__plus { pointer-events: none; }
.aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-stage__world-image { position: static; transform: none; height: auto; aspect-ratio: auto; display: block; margin-bottom: 28px; }
.aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; min-height: 0; }
.aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node { position: static; width: 100%; transform: none; }
.aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__visual { width: 140px; max-width: 100%; }
.aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__text { min-height: 0; }
.aw-page .aw-dialog__visual img { mix-blend-mode: normal; }
.aw-page .aw-dialog__visual img.aw-image--legacy { mix-blend-mode: multiply; }
@media (min-width: 1100px) {
  .aw-page [data-aw-stage2][data-aw-copy-layout='full'] .aw-world__copy { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 60px; max-width: none; }
  .aw-page [data-aw-stage2][data-aw-copy-layout='full'] .aw-world__copy > :not(.aw-benefits) { grid-column: 1; }
  .aw-page [data-aw-stage2][data-aw-copy-layout='full'] .aw-benefits { grid-column: 2; grid-row: 1 / span 4; align-self: center; margin: 0; }
}
@media (hover: hover) and (pointer: fine) {
  .aw-page .aw-stage--v2 .aw-node__button:hover .aw-node__visual { transform: scale(1.05); filter: drop-shadow(0 4px 10px rgba(92,52,115,.15)); }
  .aw-page .aw-stage--v2 .aw-node__button:hover .aw-node__plus { transform: none; background: var(--aw-dark); }
}
@media (max-width: 767px) {
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-nodes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__visual { width: 120px; }
  .aw-page [data-aw-stage2] .aw-world__inner { gap: 22px; }
}
@media (max-width: 479px) {
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-nodes { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__button { flex-direction: row; text-align: left; gap: 20px; align-items: center; }
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__visual { flex: 0 0 104px; width: 104px; margin: 0; }
}
@media (max-width: 339px) {
  .aw-page .aw-stage--v2[data-aw-mode='explorer'] .aw-node__button { flex-direction: column; text-align: center; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .aw-page .aw-stage--v2 .aw-node__button:hover .aw-node__visual { transform: none; }
}
