/*
 * VANDAL NIGHTS / DARKWOODS SYSTEM
 * A collection of intentional independent compositions.
 *
 * 90s adventure menus are the accent. Original merchandise remains the hero.
 * Keep this ONE source of truth for the fourteen blocks and Atlas.
 */
/* Unlayered on purpose: WordPress global styles must not defeat block art direction. */
/* Phosphor right arrows inherit each RPG link/button's text treatment. */
.vn2 .ph-arrow-right, .vn2 .ph-caret-right, .vn2 .ph-plus, .vn2 .ph-shopping-cart {display:inline-block;line-height:1;vertical-align:-.08em;font-size:1em;}
  .vn2 .vn2-shelf__shopmark .ph-shopping-cart {font-size:1.2rem;}

  .vn2 {
    --vn2-bg:#061733;
    --vn2-shadow:#030b14;
    --vn2-deep:#0a2028;
    --vn2-green:#12543b;
    --vn2-bark:#7b3219;
    --vn2-gold:#ffe4a8;
    --vn2-cream:#fff9ee;
    --vn2-muted:#a9bdb8;
    --vn2-line:rgba(255,228,168,.28);
    --vn2-motion:cubic-bezier(.22,1,.36,1);
    color:var(--vn2-cream);
    width:100%;
    min-width:0;
    font-family:"Noto Sans",system-ui,sans-serif;
    font-size:1rem;
    line-height:1.55;
    box-sizing:border-box;
  }
  .vn2 *, .vn2 *::before, .vn2 *::after { box-sizing:border-box; }
  .vn2 :is(h2,h3,p,ul) { margin:0; }
  .vn2 :is(h2,h3) {
    color:var(--vn2-cream)!important;
    font-weight:700!important;
    font-family:Georgia,"Times New Roman",serif!important;
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:balance;
  }
  .vn2 :is(a,a:visited) { color:inherit; text-decoration:none!important; }
  .vn2 :is(h2,h3,p,span,a,button) { overflow-wrap:break-word; }
  .vn2 :is(a,button) { cursor:pointer; }
  .vn2 :is(a,button):focus-visible, .vn2 :is(a,button):focus { outline:2px solid var(--vn2-gold); outline-offset:4px; }
  .vn2-kicker {
    display:flex; align-items:center; gap:.75rem; width:fit-content;
    color:var(--vn2-gold); text-transform:uppercase; letter-spacing:.17em;
    font-size:.71rem; line-height:1.45; font-family:ui-monospace,"SFMono-Regular",monospace; font-weight:700;
  }
  .vn2-kicker::before { content:""; width:1.15rem; height:2px; background:var(--vn2-bark); flex:none; }
  .vn2-copy { color:var(--vn2-muted); max-width:54ch; font-size:clamp(.96rem,1.1vw,1.1rem); line-height:1.75; }
  .vn2-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; }
  .vn2-button, .vn2-button:visited {
    display:inline-flex; justify-content:center; align-items:center; gap:1.2rem;
    min-height:3.25rem; padding:.82rem 1.5rem;
    font-size:.88rem; line-height:1.2; font-weight:800;
    border-radius:2px; border:1px solid var(--vn2-line);
    background:#081d28; color:var(--vn2-cream)!important;
    transition:transform .3s var(--vn2-motion),background .2s,border-color .2s;
  }
  .vn2-button:hover { transform:translateY(-2px); border-color:var(--vn2-gold); }
  .vn2-button--gold, .vn2-button--gold:visited {
    color:var(--vn2-bg)!important; background:var(--vn2-gold); border-color:var(--vn2-gold);
    box-shadow:3px 3px 0 var(--vn2-bark);
  }
  .vn2-button--gold:hover { background:var(--vn2-cream); }
  .vn2-button--quiet { background:rgba(3,11,20,.57); }
  .vn2-text-link,.vn2-text-link:visited { display:inline-flex; align-items:center; gap:1.2rem; width:fit-content; color:var(--vn2-gold)!important; border-bottom:1px solid var(--vn2-gold); padding-bottom:.27rem; font-size:.87rem; font-weight:800; white-space:normal; }
  .vn2-text-link:hover { color:var(--vn2-cream)!important; }
  .vn2-illustration { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%); }/* 01. A true campaign image, with text framed in its own readable zone. */





























  /* 02. Merchant shelf: a product-first retail collection, never a faux battle grid. */
  .vn2-merchant-shelf { display:block; padding:clamp(1.15rem,2.3vw,2.4rem); background:#091e28; border:1px solid #63827c75; position:relative; }
  .vn2-merchant-shelf__head {
    display:flex; justify-content:space-between; gap:2rem; align-items:end;
    padding:0 0 1.6rem; margin-bottom:1.3rem;
    border-bottom:1px solid var(--vn2-line);
  }
  .vn2-merchant-shelf__head > div { display:grid; justify-items:start; gap:.65rem; min-width:0; }
  .vn2-merchant-shelf h2 { font-size:clamp(2.2rem,4vw,4.25rem)!important; }
  .vn2-shelf { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.8rem,1.6vw,1.5rem); margin:0; padding:0; list-style:none; }
  .vn2-shelf__item { display:block; min-width:0; }
  .vn2-shelf__product { display:flex; flex-direction:column; height:100%; min-width:0; background:#071b26; border:1px solid #ffe4a83d; box-shadow:inset 0 0 0 3px #071b26; transition:border-color .2s,box-shadow .25s; }
  .vn2-shelf__product:hover,.vn2-shelf__product:focus-visible {border-color:#ffe4a8;box-shadow:inset 0 0 0 3px #071b26,0 10px 30px #0005;}
  .vn2-shelf__image { display:block; position:relative; aspect-ratio:1 / 1.08; overflow:hidden; background:#e6dccb; border:1px solid #e8dbbe55; }
  .vn2-shelf__image img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .45s var(--vn2-motion); }
  .vn2-shelf__product:hover img { transform:scale(1.035); }
  .vn2-shelf__meta {
    display:flex; justify-content:space-between; gap:.5rem; margin:.8rem .85rem 0; padding-bottom:.6rem;
    border-bottom:1px solid var(--vn2-line); font-size:.66rem;
    font-weight:800; font-family:ui-monospace,monospace; color:var(--vn2-muted);
  }
  .vn2-shelf__meta > span:last-child { color:var(--vn2-gold); font-size:1rem; line-height:1; }
  .vn2-shelf__name { display:block; margin:.6rem .85rem 0; font-size:clamp(1.06rem,1.5vw,1.42rem); font-weight:850; line-height:1.25; color:var(--vn2-cream)!important; text-decoration:none!important; }
  .vn2-shelf__price { display:block; margin-top:.35rem; color:var(--vn2-gold); font-weight:850; font-size:clamp(1rem,1.22vw,1.15rem); }
  .vn2-shelf__bottom {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:.6rem .85rem .85rem;}
  .vn2-shelf__shopmark {display:grid;place-items:center;flex:none;width:2.65rem;height:2.65rem;color:#061733;background:#ffe4a8;border:1px solid #9d6c40;transition:background-color .2s;}
  .vn2-shelf__product:hover .vn2-shelf__shopmark {background:#fff9ee;}

  .vn2-shelf__price del, .vn2-item-inspect__price del { color:var(--vn2-muted); opacity:.8; margin-right:.4rem; font-size:.83em; }
  .vn2-shelf__price ins, .vn2-item-inspect__price ins { text-decoration:none; }
  /* One published design earns the whole shelf, never a fictitious second tile. */
  .vn2-merchant-shelf--count-1 .vn2-shelf {grid-template-columns:minmax(0,1fr);}
  .vn2-merchant-shelf--count-1 .vn2-shelf__product {
    display:grid;grid-template-columns:minmax(0,.47fr) minmax(0,.53fr);
    grid-template-rows:1fr auto auto auto auto 1fr;
    min-height:clamp(20rem,25vw,26rem);
    position:relative;isolation:isolate;background:#09222b;
    border:1px solid #d3b67f69;overflow:hidden;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__product::before {
    content:"";position:absolute;inset:0 0 0 47%;z-index:-1;
    background:linear-gradient(90deg,#091f2aec,#061b27df 65%,#061923b5),url("../../resources/images/masters/night-market-hero.webp") 68% center/cover no-repeat;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__image {
    grid-column:1;grid-row:1/-1;align-self:stretch;min-height:100%;
    aspect-ratio:auto;background:#e7ddcc;border:0;border-right:1px solid #c0a16e7b;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__image img {height:100%;object-fit:contain;}
  .vn2-merchant-shelf--count-1 .vn2-shelf__meta {
    grid-column:2;grid-row:2;margin:0 clamp(1.3rem,3vw,3rem) .8rem;
    padding:0 0 .75rem;border-bottom:1px solid #ffe4a85b;
    font-size:.72rem;color:#ffe4a8;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__name {
    grid-column:2;grid-row:3;padding:0 clamp(1.3rem,3vw,3rem);margin:0;
    font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.5vw,3.8rem);
    font-weight:700;line-height:1.08;text-wrap:balance;color:#fff9ee!important;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__solo-description {
    display:block;grid-column:2;grid-row:4;max-width:38ch;
    padding:.9rem clamp(1.3rem,3vw,3rem) 1.25rem;
    color:#d4ded9;font-size:clamp(.87rem,1.1vw,1.05rem);line-height:1.65;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__bottom {
    grid-column:2;grid-row:5;align-self:start;
    margin:0 clamp(1.3rem,3vw,3rem);padding-top:1rem;
    border-top:1px solid #ffe4a84b;
  }
  .vn2-merchant-shelf--count-1 .vn2-shelf__price {padding:0;margin:0;font-size:clamp(1.1rem,1.8vw,1.6rem);}
  .vn2-shelf__solo-description {display:none;}
  .vn2-merchant-shelf--count-2 .vn2-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vn2-merchant-shelf--count-3 .vn2-shelf { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vn2-empty { display:grid; gap:.5rem; min-height:9rem; align-content:center; padding:1.5rem 2rem; border:1px dashed var(--vn2-line); color:var(--vn2-muted); }
  .vn2-empty strong { color:var(--vn2-cream); }

  /* 03. Inspect an Item: a full-fledged featured editorial, no fake cart functionality. */
  .vn2-item-inspect { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); overflow:hidden; background:var(--vn2-deep); border:1px solid var(--vn2-line); }
  .vn2-item-inspect__media { position:relative; display:grid; place-items:center; min-height:26rem; background:#e9dfce; overflow:hidden; isolation:isolate; }
  .vn2-item-inspect__media::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#396a5947,transparent 39%),url("../../resources/images/reference/ref-field.webp") center bottom/cover no-repeat;opacity:.19;pointer-events:none;}
  .vn2-item-inspect__media::after {content:"";position:absolute;inset:.6rem;border:3px double #326456b0;box-shadow:inset 0 0 0 4px #e9dfce40,0 0 0 2px #dac8a8;pointer-events:none;z-index:3;}
  .vn2-item-inspect__media > img {display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
  .vn2-item-inspect__empty { color:var(--vn2-bark); font-family:Georgia,serif;font-size:8rem; }
  .vn2-item-inspect__stamp { position:absolute;top:1rem;left:1rem;padding:.55rem .7rem;background:#061733;color:var(--vn2-gold);font:.7rem ui-monospace,monospace;letter-spacing:.12em; }
  .vn2-item-inspect__content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:clamp(1rem,1.8vw,1.6rem);padding:clamp(1.6rem,4vw,4rem); }
  .vn2-item-inspect h2 { font-size:clamp(2rem,3.5vw,3.8rem)!important; }
  .vn2-item-inspect__record { display:grid; gap:.4rem; width:100%; padding:1.05rem 0; border-block:1px solid var(--vn2-line); }
  .vn2-item-inspect__record > span { font:.7rem ui-monospace,monospace;letter-spacing:.13em;color:var(--vn2-muted); }
  .vn2-item-inspect__record h3 {font-family:"Noto Sans",sans-serif;font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.3;font-weight:850;}
  .vn2-item-inspect__price {color:var(--vn2-gold);font-size:clamp(1.35rem,2vw,2rem);font-weight:900;}

  /* 04. World destinations: dramatic editorial chapter posters, with unique art support. */
  .vn2-world-card { container-type:inline-size; position:relative; display:flex; flex-direction:column; min-height:clamp(23rem,30vw,34rem); overflow:hidden; isolation:isolate; border:1px solid var(--vn2-line); background:#144239; transition:transform .3s var(--vn2-motion); }
  .vn2-world-card:hover {transform:translateY(-5px);}
  .vn2-world-card--twilight {background:#182f51;}
  .vn2-world-card--ember {background:#6a3229;}
  .vn2-world-card__art { position:absolute;inset:0;z-index:-1;overflow:hidden; }
  /* Intrinsic poster proportions: the illustrated figure is not a square thumbnail. */
  .vn2-world-card--poster {aspect-ratio:432 / 486;min-height:0;}
  .vn2-world-card--poster .vn2-world-card__content {min-height:0;}

  /* Scene-only artwork: numerals, chapter frames, titles and menus are always DOM/CSS. */
  .vn2-world-card--moss .vn2-world-card__art { background:#15473d url("../../resources/images/masters/folklore-poster.webp") 50% 50% / cover no-repeat; image-rendering:auto; }
  .vn2-world-card--twilight .vn2-world-card__art { background:#283e52 url("../../resources/images/masters/woodland-poster.webp") 50% 50% / cover no-repeat; image-rendering:auto; }
  .vn2-world-card--ember .vn2-world-card__art { background:#163048 url("../../resources/images/masters/after-dark-poster.webp") 50% 50% / cover no-repeat; image-rendering:auto; }
  .vn2-world-card__art img {display:block;width:100%;height:100%;object-fit:cover;object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);image-rendering:auto;}
  .vn2-world-card__art::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,11,20,.96),rgba(3,11,20,.73) 18%,rgba(3,11,20,.24) 46%,transparent 72%);pointer-events:none;}
  /* The first approved teaser uses an artwork window above a dark RPG card. */
  .vn2-world-card--chapter {min-height:23rem;background:#08232c;display:flex;flex-direction:column;}
  .vn2-world-card--chapter .vn2-world-card__art {position:relative;inset:auto;z-index:0;height:auto;min-height:0;aspect-ratio:580 / 452;flex:0 0 auto;background-size:cover;background-position:center center;}
  /* Frame drawn by CSS, not baked into the scene. */
  .vn2-world-card--chapter .vn2-world-card__art::after {
    display:block;content:"";position:absolute;inset:0;z-index:2;
    background:none;border:1px solid #ffe4a856;
    box-shadow:inset 0 0 0 4px #071e29bd,inset 0 0 0 5px #ffe4a827;
    pointer-events:none;
  }
  .vn2-world-card--chapter.vn2-world-card--moss .vn2-world-card__art {background-image:url("../../resources/images/scene-only/chapter-folklore.svg");}
  .vn2-world-card--chapter.vn2-world-card--twilight .vn2-world-card__art {background-image:url("../../resources/images/scene-only/chapter-woodland.svg");}
  .vn2-world-card--chapter.vn2-world-card--ember .vn2-world-card__art {background-image:url("../../resources/images/scene-only/chapter-after-dark.svg");}
  .vn2-world-card--chapter .vn2-world-card__content {flex:0 0 auto;min-height:0;background:#08232c;padding:1.25rem;gap:.6rem;}
  .vn2-world-card--chapter h3 {font-size:clamp(1.5rem,5.5cqw,2.4rem)!important;}
  .vn2-world-card--chapter .vn2-copy {color:#c6d5d3;}
  /* Never bake chapter identifiers into the artwork. Render editable block text on top. */
  .vn2-world-card__number {
    position:absolute;z-index:4;left:clamp(.45rem,1.5cqw,1.3rem);
    top:clamp(.45rem,1.5cqw,1.2rem);display:grid;place-items:center;
    width:clamp(3rem,21cqw,5.6rem);min-height:clamp(3.2rem,22cqw,5.8rem);
    padding:.35rem .4rem;
    color:#fff9ee;font:500 clamp(1.7rem,10cqw,3.1rem)/1 Georgia,"Times New Roman",serif;
    letter-spacing:-.065em;text-align:center;
    background:linear-gradient(135deg,#061725ec,#061725da);
    border:1px solid #ffe4a875;
    box-shadow:inset 0 0 0 3px #061725d1,inset 0 0 0 4px #ffe4a824,0 4px 15px #04111c70;
    text-shadow:0 2px 9px #03101a;
    pointer-events:none;
  }
  .vn2-world-card--chapter .vn2-world-card__number {
    top:.55rem;left:.55rem;width:clamp(2.8rem,16cqw,4rem);
    min-height:clamp(2.8rem,16cqw,4rem);
    font-size:clamp(1.35rem,8cqw,2rem);
  }
  /* The number remains directly editable from the Gutenberg canvas. */
  .editor-styles-wrapper .vn2-world-card__number {pointer-events:auto;}

  .vn2-world-card__content { display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:flex-end;gap:.7rem;padding:clamp(1.4rem,2.7vw,2.6rem);min-height:23rem; }
  .vn2-world-card h3 {max-width:13ch;font-size:clamp(1.85rem,2.85vw,3.15rem)!important;font-family:Georgia,serif!important;line-height:1.06!important;letter-spacing:-.045em;text-shadow:0 2px 13px #000c;}
  .vn2-world-card .vn2-copy {color:#e3ebe2;font-size:.91rem;}
  .vn2-world-card__action { display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;margin-top:.65rem;padding-top:.85rem;border-top:1px solid #fff9ee81;color:var(--vn2-gold)!important;font-weight:800;font-size:.88rem; }
  .vn2-world-card__action span {font-size:1.3rem;}

  /* Collection Showcase: one art-directed merchandising unit, made of editable World Destinations. */
  .vn2-collection-showcase {
    display:flex;flex-direction:column;gap:clamp(1rem,1.8vw,1.5rem);
    padding:clamp(1.15rem,2.1vw,2.25rem);
    background:linear-gradient(135deg,#0b2730,#071a25);border:1px solid #ffe4a854;
    container-type:inline-size;min-width:0;
  }
  .vn2-collection-showcase__head {
    display:flex;align-items:end;justify-content:space-between;gap:1.5rem;
    border-bottom:1px solid #ffe4a83e;padding-bottom:clamp(.85rem,1.5vw,1.3rem);
  }
  .vn2-collection-showcase__heading {display:grid;gap:.55rem;min-width:0;}
  .vn2-collection-showcase h2 {font-size:clamp(2rem,4cqw,3.6rem)!important;}
  .vn2-collection-showcase__head .vn2-copy {font-size:clamp(.85rem,1.1cqw,1rem);line-height:1.55;}
  .vn2-collection-showcase__head .vn2-text-link {flex:none;}
  .vn2-collection-showcase__cards {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.55rem,1.25cqw,1rem);
    align-items:stretch;min-width:0;
  }
  .vn2-collection-showcase__cards > * {min-width:0;display:flex;}
  .vn2-collection-showcase__cards > .block-editor-block-list__layout {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:inherit;width:100%;
  }
  .vn2-collection-showcase__cards .block-editor-block-list__block {display:flex;min-width:0;margin:0;}
  .vn2-collection-showcase__cards .vn2-world-card {
    flex:1;width:100%;min-height:clamp(21rem,40cqw,29rem);aspect-ratio:auto;
  }
  .vn2-collection-showcase__cards .vn2-world-card__content {
    padding:clamp(.9rem,2cqw,1.5rem);gap:.5rem;min-height:0;
  }
  .vn2-collection-showcase__cards .vn2-world-card h3 {
    font-size:clamp(1.35rem,9cqw,2.4rem)!important;
  }
  .vn2-collection-showcase__cards .vn2-world-card .vn2-copy {
    font-size:clamp(.78rem,1.55cqw,.95rem);line-height:1.48;
  }
  /* Cover the full Showcase poster even when editable copy grows taller than
     its intrinsic artwork. Respect the explicit 'show entire image' setting. */
  .vn2-collection-showcase__cards .vn2-world-card__art > img {
    position:absolute!important;inset:0!important;display:block!important;
    width:100%!important;height:100%!important;
    max-width:none!important;max-height:none!important;margin:0!important;
    object-fit:var(--vn2-media-fit,cover)!important;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%)!important;
  }
  /*
   * Use the gallery's width for one destination and balance additional cards.
   * Match the frontend child count and the Gutenberg InnerBlocks wrappers.
   */
  .vn2-collection-showcase__cards:has(> .vn2-world-card:only-child),
  .vn2-collection-showcase__cards > .block-editor-block-list__layout:has(> .block-editor-block-list__block):not(:has(> .block-editor-block-list__block ~ .block-editor-block-list__block)) {
    grid-template-columns:minmax(0,1fr);
  }
  @container (min-width:441px) {
    .vn2-collection-showcase__cards:has(> .vn2-world-card:nth-child(2):last-child),
    .vn2-collection-showcase__cards > .block-editor-block-list__layout:has(> .block-editor-block-list__block ~ .block-editor-block-list__block):not(:has(> .block-editor-block-list__block ~ .block-editor-block-list__block ~ .block-editor-block-list__block)) {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }
  @container (min-width:661px) {
    .vn2-collection-showcase__cards:has(> .vn2-world-card:nth-child(4)),
    .vn2-collection-showcase__cards > .block-editor-block-list__layout:has(> .block-editor-block-list__block ~ .block-editor-block-list__block ~ .block-editor-block-list__block ~ .block-editor-block-list__block) {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  /*
   * A Showcase responds to its own width, including Gutenberg Columns and the
   * editor's InnerBlocks grid. Keep three posters only when each has room.
   */
  @container (max-width:660px) {
    .vn2-collection-showcase__cards,
    .vn2-collection-showcase__cards > .block-editor-block-list__layout {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }
  @container (max-width:440px) {
    .vn2-collection-showcase__head {
      align-items:start;flex-direction:column;gap:.75rem;
    }
    .vn2-collection-showcase h2 {
      font-size:clamp(1.55rem,7.5cqw,2.2rem)!important;
    }
    .vn2-collection-showcase__cards,
    .vn2-collection-showcase__cards > .block-editor-block-list__layout {
      grid-template-columns:minmax(0,1fr);
    }
    .vn2-collection-showcase__cards .vn2-world-card--poster {
      aspect-ratio:432 / 486;min-height:20rem;
    }
  }
  @container (max-width:340px) {
    .vn2-collection-showcase__cards .vn2-world-card {
      min-height:clamp(17rem,110cqw,23rem);
    }
    .vn2-collection-showcase__cards .vn2-world-card__content {
      padding:.75rem;gap:.4rem;
    }
    .vn2 .vn2-collection-showcase__cards .vn2-world-card h3 {
      font-size:clamp(1.15rem,8cqw,1.6rem)!important;
      overflow-wrap:break-word;word-break:normal;hyphens:none;
    }
    .vn2-collection-showcase__cards .vn2-world-card .vn2-copy {
      font-size:clamp(.72rem,4cqw,.82rem);line-height:1.4;
    }
    .vn2-collection-showcase__cards .vn2-world-card__number {
      width:2.4rem;min-height:2.4rem;font-size:1.35rem;
    }
  }
  @container (max-width:300px) {
    .vn2-collection-showcase h2 {
      font-size:clamp(1rem,8cqw,1.4rem)!important;line-height:1.12!important;
      overflow-wrap:break-word;word-break:normal;hyphens:none;
    }
    .vn2-collection-showcase__head .vn2-copy {font-size:.72rem;line-height:1.4;}
    .vn2-collection-showcase__head .vn2-text-link {font-size:.7rem;white-space:normal;}
  }

  /* 05. Dialogue: portrait + meticulously framed command window. */
  .vn2-dialogue-window { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--vn2-line);background:#091b28;overflow:hidden; }
  .vn2-dialogue-window__portrait { position:relative;display:grid;place-items:center;min-height:27rem;overflow:hidden;background:#092931 url("../../resources/images/scene-only/keeper-portrait.svg") center 24% / cover no-repeat; image-rendering:auto; }
   .vn2-dialogue-window__portrait::before {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,11,20,.34),transparent 55%);pointer-events:none;}
   .vn2-dialogue-window__portrait .vn2-illustration {position:absolute;inset:0;z-index:1;image-rendering:auto;}
   .vn2-dialogue-window__sigil {display:none;}
  .vn2-dialogue-window__portrait-label {position:absolute;z-index:2;left:1rem;top:1rem;color:var(--vn2-gold);font:.7rem ui-monospace,monospace;letter-spacing:.14em;background:#061733b9;padding:.4rem .7rem;}
  .vn2-dialogue-window__content {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.1rem;padding:clamp(1.5rem,3.7vw,3.6rem);}
  .vn2-dialogue-window h2 {font-size:clamp(2rem,3vw,3.25rem)!important;}
  .vn2-dialogue-window__speech {display:flex;gap:.9rem;padding:1.2rem 1.3rem;border:1px solid var(--vn2-gold);box-shadow:inset 0 0 0 4px #091b28,inset 0 0 0 5px #ffe4a83c;width:100%;color:var(--vn2-cream);line-height:1.72;background:#071521;}
  .vn2-dialogue-window__speech > span {flex:none;color:var(--vn2-gold);font-size:.8rem;margin-top:.25rem;}
  .vn2-dialogue-window__choices {display:grid;gap:.5rem;width:100%;}
  /* The cutscene composition matches the teaser's full-scene dialogue window. */
  .vn2-dialogue-window--cutscene {position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;overflow:hidden;isolation:isolate;background:#081b28;}
  .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:auto;aspect-ratio:1193 / 281;min-height:0;max-height:none;background:#0b2733 url("../../resources/images/masters/forest-keeper-stage.webp") center center/cover no-repeat;}
  /* The clean Keeper master has a deeper composition than the original narrow strip. */
  .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait:has(img) {
    aspect-ratio: 1536 / 720;
  }
  .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait:has(img) > img {
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);
  }
  .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait::before {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#061421b9 0%,#0614210d 38%,transparent 65%);}
  .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {position:relative;z-index:1;display:grid;grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) minmax(10rem,.44fr);gap:.6rem 1.5rem;align-items:center;margin:clamp(-2.15rem,-3vw,-1.25rem) clamp(.75rem,2vw,2rem) clamp(.75rem,2vw,2rem);padding:clamp(1rem,2vw,1.65rem);border:2px solid #c6a16c;background:#061421f5;box-shadow:inset 0 0 0 4px #061421,inset 0 0 0 5px #bb915b50,0 12px 24px #0007;}
  .vn2-dialogue-window--cutscene .vn2-dialogue-window__content > .vn2-kicker {grid-column:1;grid-row:1;}
  .vn2-dialogue-window--cutscene h2 {grid-column:1;grid-row:2;font-family:ui-monospace,monospace!important;font-size:clamp(.85rem,1.2vw,1.2rem)!important;letter-spacing:.1em;text-transform:uppercase;color:#ffe4a8!important;}
  .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {grid-column:1;grid-row:3;border:0;box-shadow:none;background:transparent;padding:.25rem 0;color:#fff9ee;font-size:clamp(.9rem,1.14vw,1.15rem);}
  .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {grid-column:2;grid-row:1 / span 3;align-self:stretch;align-content:center;}
  .vn2-dialogue-window--cutscene .vn2-dialogue-window__portrait-label {display:none;}

  .vn2-choice {display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.1rem;gap:1rem;min-height:3rem;border:1px solid var(--vn2-line);font-size:.87rem;font-weight:800;color:var(--vn2-cream)!important;transition:background-color .2s,border-color .2s;}
  .vn2-choice:hover {border-color:var(--vn2-gold);background:#ffe4a812;}
  .vn2-choice--selected {background:var(--vn2-gold);border-color:var(--vn2-gold);color:var(--vn2-bg)!important;}
  .vn2-choice--selected:hover {background:var(--vn2-cream);color:var(--vn2-bg)!important;}
  .vn2-choice span {font-size:1.15rem;}

  /* 06. Field Notes: literary editorial spread and a typographic fallback. */
  .vn2-field-note {display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:28rem;border:1px solid var(--vn2-line);background:#0f2d32;overflow:hidden;}
  .vn2-field-note__art {position:relative;display:grid;place-items:center;background:#142c36 url("../../resources/images/masters/field-campfire-lake.webp") center center/cover no-repeat;min-height:25rem;overflow:hidden;image-rendering:auto;}
  /* Replaceable art must stay inside the defined composition at any aspect ratio. */
  .vn2-field-note__art img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);}
  .vn2-field-note__typography {display:none;}
  /* Keep the scene visible while a slow/lazy image decodes or fails. */
  .vn2-field-note__typography span {font:.8rem ui-monospace,monospace;letter-spacing:.2em;font-weight:800;}
  .vn2-field-note__typography strong {font-family:Georgia,serif;font-size:clamp(3rem,5.5vw,6.5rem);line-height:.85;letter-spacing:-.06em;}
  .vn2-field-note__typography i {align-self:end;font-size:6rem;font-style:normal;}
  .vn2-field-note__content {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.3rem;padding:clamp(2rem,4.7vw,4.8rem);}
  .vn2-field-note h2 {font-size:clamp(2.35rem,3.7vw,4rem)!important;}
  .vn2-field-note--reverse .vn2-field-note__art {order:2;}

  /* 07. Quick Travel: functional nav without gratuitous game chrome. */
  .vn2-quick-travel {display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.5rem,3.2vw,3rem);background:linear-gradient(135deg,#153b32,#071c2c);border:1px solid var(--vn2-line);}
  .vn2-quick-travel__intro {display:flex;flex-direction:column;gap:.8rem;}
  .vn2-quick-travel h2 {font-size:clamp(2rem,3vw,3rem)!important;}
  .vn2-quick-travel__links {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;}
  .vn2-quick-travel__links li {min-width:0;}
  .vn2-quick-travel__links :is(a,.vn2-quick-travel__entry) {display:flex;align-items:center;gap:.7rem;padding:1.2rem;min-height:8rem;border:1px solid #ffe4a83f;background:#03131d6b;font-weight:800;font-size:.85rem;transition:background-color .2s,border-color .2s;flex-direction:column;justify-content:center;text-align:center;}
  .vn2-quick-travel__links :is(a,.vn2-quick-travel__entry):hover,.vn2-quick-travel__links a:focus-visible {background:#173e35;border-color:var(--vn2-gold);}
  .vn2-command-marker {font-size:.7rem;color:var(--vn2-gold);flex:none;}
  .vn2-travel-icon {display:block;width:3.4rem;height:3.4rem;flex:none;color:var(--vn2-gold);margin-bottom:.4rem;filter:drop-shadow(0 0 7px #ffe4a835);}
  .vn2-quick-travel__links :is(a,.vn2-quick-travel__entry):hover .vn2-travel-icon {filter:drop-shadow(0 0 12px #ffe4a896);}

  .vn2-quick-travel__index {margin-left:auto;color:var(--vn2-gold);font:.67rem ui-monospace,monospace;white-space:nowrap;}

  /* Guides exist for design QA. They must never dictate storefront composition. */
  .vn-darkwoods-home > .wp-block-spacer {height:clamp(1.75rem,3.7vw,3rem)!important;}
  /* Give the ordinary core Heading a true chapter identity too. */
  .vn-darkwoods-home > .wp-block-group:has(> .wp-block-heading) {
    position:relative;border-top:1px solid #ffe4a84b;
    padding:clamp(1.3rem,2vw,2.2rem) 0 .75rem;
    margin:0!important;
  }
  .vn-darkwoods-home > .wp-block-group > .wp-block-heading {
    margin:0!important;text-align:left!important;color:#fff9ee!important;
    font:700 clamp(2rem,3.6vw,3.7rem)/1.08 Georgia,"Times New Roman",serif!important;
    letter-spacing:-.045em!important;text-wrap:balance;
  }
  .vn-darkwoods-home > .wp-block-group:has(> .wp-block-heading)::before {
    content:"02 / FOLLOW A PATH";display:block;margin-bottom:.8rem;
    font:800 .66rem/1.5 ui-monospace,monospace;letter-spacing:.17em;color:#ffe4a8;
  }

  .vn-style-guide {color:#fff9ee;}
  .vn-style-guide > * + * {margin-block-start:clamp(1.5rem,3vw,2.75rem);}
  .vn-style-guide .wp-block-columns {gap:clamp(.8rem,1.5vw,1.4rem);align-items:stretch;}
  .vn-style-guide .wp-block-column {min-width:0;display:flex;}
  .vn-style-guide .wp-block-column > .vn2 {flex:1;}
  .vn-style-guide__intro {padding:clamp(1.5rem,3vw,3rem);background:#12372f;border-left:4px solid #7b3219;}
  .vn-style-guide__intro h2 {font-family:Georgia,serif;color:#fff9ee;font-size:clamp(2rem,3.3vw,3.8rem);line-height:1.08;}
  .vn-style-guide__intro p {font-size:1rem;color:#c5d3cc;max-width:65ch;line-height:1.75;}
  .vn-style-guide__label {display:flex;align-items:center;gap:.8rem;font-size:.72rem;color:#ffe4a8;letter-spacing:.12em;font-family:ui-monospace,monospace;font-weight:700;text-transform:uppercase;}
  .vn-style-guide__label::after {content:"";height:1px;flex:1;background:#ffe4a840;}
  .vn-style-guide__swatch {padding:1rem;}
  .vn-style-guide__swatch--canvas {background:#061733;}
  .vn-style-guide__swatch--pine {background:#12543b;}
  .vn-style-guide__swatch--bark {background:#7b3219;}
  .vn-style-guide__swatch--ember {background:#c33d3d;}
  .vn-style-guide__swatch--moon {background:#ffe4a8;color:#061733;}
  .vn-style-guide__base-content {padding:clamp(1.4rem,3vw,2.4rem);background:#0c2029;border:1px solid #ffe4a844;}
  .vn-style-guide__base-content :where(h1,h2,h3) {color:#fff9ee;}
  .vn-style-guide__base-content :where(p,li) {color:#c5d0c8;line-height:1.7;}
  .vn-style-guide__base-content ul {list-style:disc;padding-left:1.5rem;}
  .vn-style-guide__base-content ol {list-style:decimal;padding-left:1.5rem;}
  .vn-style-guide__base-content blockquote {border-left:2px solid #7b3219;padding-left:1rem;}
  .vn-style-guide__base-content .wp-block-button__link {background:#12543b;border-radius:2px;color:#fff9ee;}
  .vn-style-guide__base-content .wp-block-button.is-style-outline .wp-block-button__link {background:transparent;border:1px solid #ffe4a8;color:#ffe4a8;}


  /* Teaser reference atlas: replicate the layout of the approved concept, not
     the long-form customer homepage. Source content remains real and editable. */
  .vn-reference-atlas {width:min(1536px,calc(100% - 36px))!important;max-width:none!important;margin-inline:auto;color:#fff9ee;display:grid;gap:clamp(1.25rem,2.4vw,2.4rem);}
  .vn-reference-atlas .wp-block-group {min-width:0;}
  .vn-reference-atlas__row {display:grid!important;gap:1.1rem;align-items:stretch;min-width:0;}
  .vn-reference-atlas__row--top {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.87fr);}
  .vn-reference-atlas__row--features {grid-template-columns:minmax(0,1.07fr) minmax(0,.88fr) minmax(0,1.04fr);}
  .vn-reference-atlas__row--lower {grid-template-columns:minmax(0,1.03fr) minmax(0,.89fr) minmax(0,1.03fr);}
  .vn-reference-atlas__row--closing {grid-template-columns:minmax(0,.48fr) minmax(0,1fr);}
  .vn-reference-atlas__module {min-width:0;display:flex;flex-direction:column;gap:.6rem;}
  .vn-reference-atlas__label {margin:0!important;color:#d6d4cc;font:700 clamp(.6rem,.72vw,.76rem)/1.45 ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;}
  .vn-reference-atlas__module > .vn2 {flex:1;min-width:0;margin:0;}
  .vn-reference-atlas__module > .wp-block-columns {flex:1;display:flex;gap:.55rem;margin:0;}
  .vn-reference-atlas__module > .wp-block-columns .wp-block-column {display:flex;flex:1 1 0;min-width:0;margin:0;}
  .vn-reference-atlas__module > .wp-block-columns .wp-block-column > .vn2 {flex:1;}








  .vn-reference-atlas .vn2-button {min-height:2.65rem;padding:.6rem .85rem;font-size:.76rem;}
  .vn-reference-atlas .vn2-world-card {min-height:22rem;}
  .vn-reference-atlas .vn2-world-card__content {min-height:21rem;padding:1rem;gap:.45rem;}
  .vn-reference-atlas .vn2-world-card h3 {font-size:clamp(1.3rem,11cqw,2.15rem)!important;}
  .vn-reference-atlas .vn2-world-card .vn2-copy {font-size:.7rem;line-height:1.42;}
  .vn-reference-atlas .vn2-world-card .vn2-kicker {font-size:.55rem;}
  .vn-reference-atlas .vn2-world-card__action {font-size:.72rem;padding-top:.5rem;}
  .vn-reference-atlas .vn2-merchant-shelf {padding:1.1rem;}
  .vn-reference-atlas .vn2-merchant-shelf__head {align-items:start;margin-bottom:.7rem;padding-bottom:.7rem;}
  .vn-reference-atlas .vn2-merchant-shelf h2 {font-size:clamp(1.65rem,3vw,3rem)!important;}
  .vn-reference-atlas .vn2-merchant-shelf__head .vn2-copy {display:none;}
  .vn-reference-atlas .vn2-merchant-shelf__head .vn2-text-link {font-size:.7rem;}
  .vn-reference-atlas .vn2-shelf__name {font-size:.85rem;}
  .vn-reference-atlas .vn2-shelf__price {font-size:.83rem;}
  .vn-reference-atlas .vn2-shelf__shopmark {width:2.1rem;height:2.1rem;}
  .vn-reference-atlas .vn2-item-inspect {grid-template-columns:minmax(0,1fr) minmax(0,.93fr);}
  .vn-reference-atlas .vn2-item-inspect__media {min-height:22rem;}
  .vn-reference-atlas .vn2-item-inspect__content {padding:1.3rem;gap:.7rem;}
  .vn-reference-atlas .vn2-item-inspect h2 {font-size:clamp(1.5rem,2.4vw,2.6rem)!important;}
  .vn-reference-atlas .vn2-item-inspect__content .vn2-copy {font-size:.75rem;}
  .vn-reference-atlas .vn2-item-inspect__record {padding:.5rem 0;}














  .vn-reference-atlas .vn2-dialogue-window--cutscene {min-height:0;}
  .vn-reference-atlas .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {gap:.35rem .7rem;margin:.7rem;padding:.85rem;}
  .vn-reference-atlas .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {font-size:.75rem;line-height:1.4;}
  .vn-reference-atlas .vn2-dialogue-window--cutscene .vn2-choice {min-height:2.5rem;padding:.5rem .65rem;font-size:.72rem;}
  .vn-reference-atlas .vn2-field-note {min-height:15rem;}
  .vn-reference-atlas .vn2-field-note__art {min-height:15rem;}
  .vn-reference-atlas .vn2-field-note__content {padding:1.2rem;gap:.6rem;}
  .vn-reference-atlas .vn2-field-note h2 {font-size:clamp(1.5rem,2.3vw,2.3rem)!important;}
  .vn-reference-atlas .vn2-field-note .vn2-copy {font-size:.77rem;line-height:1.45;}
  .vn-reference-atlas .vn2-quick-travel {padding:.7rem;align-content:center;}
  .vn-reference-atlas .vn2-quick-travel__intro {display:none;}
  .vn-reference-atlas .vn2-quick-travel__links {grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;}
  .vn-reference-atlas .vn2-quick-travel__links a {min-height:10.5rem;padding:.6rem;font-size:.71rem;}
  .vn-reference-atlas .vn2-travel-icon {width:2.8rem;height:2.8rem;}
  .vn-reference-atlas .vn2-quick-travel__index {font-size:.55rem;}
  .vn-reference-atlas .vn2-campfire-mail {min-height:15rem;}
  .vn-reference-atlas .vn2-campfire-mail__scene {min-height:15rem;}
  .vn2-campfire-mail__scene {position:relative;overflow:hidden;}
  .vn2-campfire-mail__scene > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);image-rendering:auto;}

  .vn-reference-atlas .vn2-campfire-mail__content {padding:1.1rem;gap:.7rem;}
  .vn-reference-atlas .vn2-campfire-mail h2 {font-size:clamp(1.45rem,2.1vw,2.1rem)!important;}
  .vn-reference-atlas .vn2-rpg-faq {padding:1.2rem;}
  .vn-reference-atlas .vn2-rpg-faq h2 {font-size:clamp(1.6rem,2.6vw,2.8rem)!important;}
  .vn-reference-atlas .vn2-rpg-faq__item summary {padding:.65rem .8rem;font-size:.75rem;}
  .vn-reference-atlas .vn2-final-chapter {min-height:17rem;}
  .vn-reference-atlas .vn2-final-chapter__content {padding:1.7rem;gap:.65rem;}
  .vn-reference-atlas .vn2-final-chapter h2 {font-size:clamp(2rem,3.3vw,3.6rem)!important;}

  /* Approved teaser A: asymmetrical museum-like arrangement with shorter
     chapter-card illustrations, not the portrait posters of teaser B. */
  .vn-reference-atlas--editorial .vn-reference-atlas__row--opening-a {grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);}
  .vn-reference-atlas--editorial .vn-reference-atlas__row--market-a {grid-template-columns:minmax(0,.55fr) minmax(0,.45fr);}
  .vn-reference-atlas--editorial .vn-reference-atlas__row--feature-a {grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);}
  .vn-reference-atlas--editorial .vn-reference-atlas__row--bottom-a {grid-template-columns:minmax(0,.42fr) minmax(0,.36fr) minmax(0,.22fr);}
  .vn-reference-atlas__masthead {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.5rem;padding:clamp(1.2rem,2.4vw,2.5rem) 0;}
  .vn-reference-atlas__masthead h2 {font:700 clamp(2.1rem,3vw,3.75rem)/1.1 Georgia,serif;color:#fff9ee;}
  .vn-reference-atlas__masthead p {font:.85rem/1.65 ui-monospace,monospace;letter-spacing:.07em;color:#c1cbcc;max-width:34ch;}
  .vn-reference-atlas__masthead p:nth-child(2) {font-size:.75rem;color:#ffe4a8;letter-spacing:.25em;}


  .vn-reference-atlas--editorial .vn2-world-card--chapter {min-height:14rem;}
  .vn-reference-atlas--editorial .vn2-world-card--chapter .vn2-world-card__art {min-height:7rem;flex-basis:50%;}
  .vn-reference-atlas--editorial .vn2-world-card--chapter .vn2-world-card__content {min-height:0;padding:.85rem;gap:.4rem;}
  .vn-reference-atlas--editorial .vn2-world-card--chapter h3 {font-size:clamp(1.15rem,8cqw,1.65rem)!important;}
  .vn-reference-atlas--editorial .vn2-world-card--chapter .vn2-copy {font-size:.7rem;}
  .vn-reference-atlas--editorial .vn2-world-card--chapter .vn2-world-card__action {font-size:.67rem;}
  .vn-reference-atlas--editorial .vn2-dialogue-window {grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);}
  .vn-reference-atlas--editorial .vn2-dialogue-window__portrait {min-height:17rem;}
  .vn-reference-atlas--editorial .vn2-dialogue-window__content {gap:.6rem;padding:1rem;}
  .vn-reference-atlas--editorial .vn2-dialogue-window h2 {font-size:clamp(1.4rem,2vw,2rem)!important;}
  .vn-reference-atlas--editorial .vn2-dialogue-window__speech {font-size:.8rem;padding:.75rem;}
  .vn-reference-atlas--editorial .vn2-choice {min-height:2.6rem;font-size:.7rem;padding:.55rem;}
  .vn-reference-atlas--editorial .vn2-quest-notice {flex:0 0 auto;padding:.75rem;}
  .vn-reference-atlas--editorial .vn2-quest-notice__seal {font-size:2rem;}
  .vn-reference-atlas--editorial .vn2-quest-notice__content h2 {font-size:1.1rem!important;}
  .vn-reference-atlas--editorial .vn2-dispatch-list {padding:1rem;}
  .vn-reference-atlas--editorial .vn2-dispatch-list h2 {font-size:1.3rem!important;}
  .vn-reference-atlas--editorial .vn2-rpg-faq {padding:1rem;}
  .vn-reference-atlas--editorial .vn2-rpg-faq h2 {font-size:1.5rem!important;}
  @media(max-width:1320px) {
    .vn-reference-atlas--editorial .vn-reference-atlas__row {grid-template-columns:minmax(0,1fr);}
    .vn-reference-atlas--editorial .vn-reference-atlas__row .vn-reference-atlas__module:first-child {grid-column:auto;}
  }
  @media(max-width:760px) {
    .vn-reference-atlas--editorial .vn-reference-atlas__row {grid-template-columns:minmax(0,1fr);}
    .vn-reference-atlas--editorial .vn-reference-atlas__row .vn-reference-atlas__module:first-child {grid-column:auto;}
    .vn-reference-atlas--editorial .vn-reference-atlas__masthead {padding:1.4rem;}
  }

  @media(max-width:1320px) {
    .vn-reference-atlas__row {grid-template-columns:repeat(2,minmax(0,1fr));}
    .vn-reference-atlas__row .vn-reference-atlas__module:first-child {grid-column:1/-1;}




  }
  @media(max-width:760px) {
    .vn-reference-atlas {width:calc(100% - 24px)!important;gap:1.5rem;}
    .vn-reference-atlas__row {grid-template-columns:minmax(0,1fr);}
    .vn-reference-atlas__row .vn-reference-atlas__module:first-child {grid-column:auto;}
    .vn-reference-atlas__module > .wp-block-columns {flex-wrap:wrap;}
    .vn-reference-atlas__module > .wp-block-columns .wp-block-column {flex:1 1 31%;min-width:0;}
    .vn-reference-atlas .vn2-item-inspect {grid-template-columns:1fr;}
    .vn-reference-atlas .vn2-dialogue-window--cutscene {min-height:0;}
    .vn-reference-atlas .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media(max-width:420px) {
    .vn-reference-atlas__module > .wp-block-columns .wp-block-column {flex:1 1 100%;}
    .vn-reference-atlas .vn2-world-card {min-height:20rem;}
  }

  /* Container widths matter even when one block is nested in Columns. */
  @media(max-width:980px) {
    .vn2-shelf {grid-template-columns:repeat(3,minmax(0,1fr));}
    .vn2-dialogue-window:not(.vn2-dialogue-window--cutscene) {grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);}
  }
  @media(max-width:760px) {










    .vn2-shelf {grid-template-columns:repeat(2,minmax(0,1fr));}
    .vn2-merchant-shelf--count-1 .vn2-shelf__product {
      grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;min-height:0;
    }
    .vn2-merchant-shelf--count-1 .vn2-shelf__product::before {inset:43% 0 0;background:linear-gradient(0deg,#061923df,#09232af7);}
    .vn2-merchant-shelf--count-1 .vn2-shelf__image {grid-column:1;grid-row:1;min-height:0;aspect-ratio:4/3.4;border:0;}
    .vn2-merchant-shelf--count-1 .vn2-shelf__meta {grid-column:1;grid-row:2;margin:1.2rem 1.3rem .8rem;}
    .vn2-merchant-shelf--count-1 .vn2-shelf__name {grid-column:1;grid-row:3;padding:0 1.3rem;font-size:clamp(2rem,7vw,3rem);}
    .vn2-merchant-shelf--count-1 .vn2-shelf__solo-description {grid-column:1;grid-row:4;padding:.65rem 1.3rem .9rem;}
    .vn2-merchant-shelf--count-1 .vn2-shelf__bottom {grid-column:1;grid-row:5;margin:0 1.3rem 1.3rem;}
    .vn2-merchant-shelf__head {align-items:start;}
    .vn2-item-inspect,.vn2-field-note,.vn2-dialogue-window {grid-template-columns:minmax(0,1fr);}
    .vn2-item-inspect__media {min-height:20rem;aspect-ratio:5/4;}
    .vn2-item-inspect__content {padding:1.7rem;}
    .vn2-field-note__art {min-height:19rem;}
    .vn2-field-note--reverse .vn2-field-note__art {order:0;}
    .vn2-dialogue-window__portrait {min-height:15rem;max-height:19rem;}
    .vn2-dialogue-window--cutscene {min-height:0;}
    .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {max-height:none;min-height:0;aspect-ratio:1193 / 360;background-position:center top;background-size:cover;}
    .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {grid-template-columns:1fr;margin:-.85rem .85rem .85rem;gap:.65rem;padding:1rem;}
    .vn2-dialogue-window--cutscene .vn2-dialogue-window__content > .vn2-kicker,
    .vn2-dialogue-window--cutscene h2,
    .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech,
    .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {grid-column:1;grid-row:auto;}

    .vn2-dialogue-window__sigil {font-size:9rem;}
    .vn2-dialogue-window__content {padding:1.55rem;}
    .vn2-quick-travel {grid-template-columns:minmax(0,1fr);}
  }
  @media(max-width:520px) {
    .vn2-merchant-shelf__head {display:grid;gap:.85rem;}
    .vn2-world-card {min-height:25rem;}
    .vn2-shelf {gap:.8rem;}
    .vn2-shelf__meta {font-size:.55rem;}
    .vn2-shelf__name {font-size:1rem;}
    .vn2-shelf__price {font-size:1rem;}
    .vn2-quick-travel__links {grid-template-columns:minmax(0,1fr);}


    .vn2-actions {width:100%;}
    .vn2-actions .vn2-button {flex:1 1 100%;}
  }
  @media(prefers-reduced-motion:reduce) {
    /* Keep positioning transforms (the duel emblem and expanded FAQ indicator). */
    .vn2 *, .vn2 *::before, .vn2 *::after {transition:none!important;animation:none!important;}/* Hover and focus affordances should not jump or scale under reduced motion. */
.vn2 :is(.vn2-button,.vn2-world-card):hover,
.vn2-shelf__product:hover img,
.vn2-collection-showcase__cards .vn2-world-card:focus-within {
      transform:none!important;
    }
  }/* Teaser 05 / Duel — two actual products, drawn as an editorial RPG face-off. */



/* The duel may grow much taller in Columns: its one scene image must cover
     the entire art layer, regardless of WordPress intrinsic image dimensions. */






























  .vn2-icon-action {display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid #ffe4a8;color:#061733!important;background:#ffe4a8;font-size:1.4rem;}
  .vn2-icon-action:hover {background:#fff9ee;}













  /* Teaser 08 / A notice from the RPG world. Claim-safe by default. */
  .vn2-quest-notice {display:flex;gap:clamp(.8rem,2vw,1.8rem);align-items:center;padding:clamp(1.1rem,2vw,1.8rem);background:linear-gradient(135deg,#edd3a0,#f8e5bd 66%,#cebb8d);color:#142b2a;border:3px double #a97943;position:relative;}
  .vn2-quest-notice::after {content:"";position:absolute;inset:5px;border:1px solid #a27745a8;pointer-events:none;}
  .vn2-quest-notice--moonlight {background:linear-gradient(120deg,#152e39,#275247);color:#fff9ee;border-color:#baaa78;}
  .vn2-quest-notice--ember {background:linear-gradient(120deg,#8c3c2a,#441c20);color:#fff9ee;border-color:#c4a073;}
  .vn2-quest-notice__seal {font-size:3.5rem;line-height:1;color:#7b3319;padding:.2rem .7rem;}
  .vn2-quest-notice--moonlight .vn2-quest-notice__seal,.vn2-quest-notice--ember .vn2-quest-notice__seal {color:#ffe4a8;}
  .vn2-quest-notice__content {display:grid;gap:.3rem;flex:1;min-width:0;}
  .vn2-quest-notice__content .vn2-kicker {color:inherit;font-size:.63rem;opacity:.8;}
  .vn2-quest-notice__content h2 {font-size:clamp(1.2rem,2.15vw,2.1rem)!important;color:inherit!important;}
  .vn2-quest-notice__content > p:last-child {font-size:.9rem;line-height:1.4;}
  .vn2-quest-notice__button {display:inline-flex;gap:.8rem;align-items:center;border:1px solid currentColor;padding:.8rem 1rem;white-space:nowrap;font-weight:900;font-size:.8rem;z-index:1;}
  .vn2-quest-notice__button:hover {background:#061733;color:#fff9ee!important;}

  /* Teaser 08 / Noticeboard — posts supply dates and preview images. */
  .vn2-dispatch-list {padding:clamp(1.3rem,2.5vw,2.6rem);background:#0b202a;border:1px solid #63827c75;}
  .vn2-dispatch-list__header {display:grid;gap:.5rem;margin-bottom:1.5rem;}
  .vn2-dispatch-list h2 {font-size:clamp(1.9rem,3vw,3rem)!important;}
  .vn2-dispatch-list__entries {margin:0;padding:0;list-style:none;border-top:1px solid #ffe4a83c;}
  .vn2-dispatch-list__entries li a {display:flex;align-items:center;gap:1rem;min-height:5rem;padding:.8rem 0;border-bottom:1px solid #ffe4a83c;}
  .vn2-dispatch-list__thumbnail {display:grid;place-items:center;flex:0 0 4rem;height:4rem;background:#1d433e;color:#ffe4a8;font:2rem Georgia,serif;border:1px solid #ffe4a84a;overflow:hidden;}
  .vn2-dispatch-list__thumbnail img {width:100%;height:100%;object-fit:cover;}
  .vn2-dispatch-list__story {display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0;}
  .vn2-dispatch-list__story strong {font-size:1rem;font-weight:800;color:#fff9ee;}
  .vn2-dispatch-list__story small {font:.7rem ui-monospace,monospace;color:#ffe4a8;}
  .vn2-dispatch-list__arrow {color:#ffe4a8;font-size:1.7rem;}
  .vn2-dispatch-list > .vn2-text-link {margin-top:1.3rem;}

  /* Teaser 09 / FAQ with genuine native keyboard-accessible details. */
  .vn2-rpg-faq {position:relative;padding:clamp(1.4rem,2.8vw,2.8rem);background:linear-gradient(90deg,#051723 30%,#061927bb),url("../../resources/images/masters/night-market-hero.webp") right center/auto 100% no-repeat,#061825;border:1px solid #66847e77;}
  .vn2-rpg-faq__header {display:grid;gap:.75rem;margin-bottom:1.5rem;}
  .vn2-rpg-faq h2 {font-size:clamp(2.1rem,3vw,3.4rem)!important;}
  .vn2-rpg-faq__items {max-width:100%;}
  .vn2-rpg-faq__item {margin-bottom:.5rem;border:1px solid #52747470;background:#041623a8;}
  .vn2-rpg-faq__item summary {display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;color:#fff9ee;font-weight:750;cursor:pointer;list-style:none;}
  .vn2-rpg-faq__item summary::-webkit-details-marker {display:none;}
  .vn2-rpg-faq__item summary span {color:#ffe4a8;font-size:1.45rem;line-height:1;}
  .vn2-rpg-faq__item[open] summary span {transform:rotate(45deg);}
  .vn2-rpg-faq__answer {border-top:1px solid #ffe4a837;padding:1rem 1.2rem;color:#cdd8d3;line-height:1.7;}

  /* Teaser 09 / Mailing-list signup — real form or transparent external CTA.
     Edge-to-edge artwork: outer page gutters must not pad this framed grid. */
  .vn2-campfire-mail {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);container-type:inline-size;background:#0b2530;border:1px solid #63827c75;min-height:18rem;overflow:hidden;padding-inline:0!important;}
  .vn2-campfire-mail__scene {width:100%;min-width:0;max-width:100%;min-height:17rem;align-self:stretch;background:#0b2530;}
  .vn2 .vn2-campfire-mail__scene:not(.vn2-artwork--custom) > img {image-rendering:pixelated;}
  .vn2-campfire-mail__content {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;gap:clamp(.55rem,1.6cqw,1rem);padding:clamp(.8rem,4.5cqw,3rem);}
  .vn2-campfire-mail h2 {max-width:100%;font-size:clamp(1.05rem,4.5cqw,3.3rem)!important;line-height:1.04!important;overflow-wrap:anywhere;text-wrap:balance;}
  .vn2-campfire-mail .vn2-kicker {max-width:100%;gap:clamp(.35rem,1.2cqw,.75rem);font-size:clamp(.58rem,1.8cqw,.71rem);letter-spacing:.08em;}
  .vn2-campfire-mail .vn2-kicker::before {width:clamp(.5rem,1.6cqw,1.15rem);}
  .vn2-campfire-mail .vn2-copy {font-size:clamp(.76rem,2.5cqw,1rem);line-height:1.55;}
  .vn2-campfire-mail__content > .vn2-button {min-width:0;max-width:100%;min-height:clamp(2.5rem,6cqw,3.25rem);gap:clamp(.35rem,1.4cqw,1.2rem);padding:clamp(.55rem,1.4cqw,.82rem) clamp(.7rem,2.3cqw,1.5rem);font-size:clamp(.72rem,2.3cqw,.88rem);white-space:normal;text-align:center;}
  .vn2-campfire-mail__form {width:100%;min-width:0;}
  .vn2-campfire-mail__form form {display:flex;flex-wrap:wrap;gap:.5rem;}
  .vn2-campfire-mail__form input {min-width:0;flex:1;padding:.8rem;border:1px solid #ffe4a861;background:#f7f0e0;color:#061733;}
  .vn2-campfire-mail__form button,.vn2-campfire-mail__form input[type=submit] {background:#ffe4a8;color:#061733;padding:.8rem 1.2rem;border:0;font-weight:800;}

  /* Teaser 11 / Last frame — a full-bleed moonlit closing call. */
  .vn2-final-chapter {position:relative;display:flex;align-items:center;min-height:clamp(20rem,35vw,31rem);isolation:isolate;overflow:hidden;border:1px solid #63827c75;background:#071928;}
  .vn2-final-chapter__art {position:absolute;inset:0;z-index:-1;background:#0a2737 url("../../resources/images/reference/ref-finale-fixed.webp") right center/cover no-repeat;image-rendering:auto;}
  .vn2-final-chapter__art img {width:100%;height:100%;display:block;object-fit:cover;object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);image-rendering:auto;}
  .vn2-final-chapter__art::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061420f5,#061420c1 40%,#06142036 93%);}
  .vn2-final-chapter__content {display:flex;flex-direction:column;align-items:flex-start;gap:1rem;max-width:45rem;padding:clamp(2rem,4.4vw,4rem);}
  .vn2-final-chapter h2 {font-size:clamp(2.8rem,4.5vw,5.3rem)!important;}
  .vn2-final-chapter .vn2-copy {color:#eff1e8;}

  /* Featured gallery and product options are real WooCommerce media/data. */
  .vn2-item-inspect__thumbnails {position:absolute;z-index:2;display:grid;gap:.45rem;left:1rem;top:4rem;max-height:70%;overflow-y:auto;}
  .vn2-item-inspect__thumb {position:relative;display:block;overflow:hidden;width:3.5rem;height:3.9rem;padding:.2rem;background:#e8e0d2;border:2px solid #152a30;cursor:pointer;}
  .vn2-item-inspect__thumb[aria-pressed=true] {border-color:#ffe4a8;box-shadow:0 0 0 2px #7b3219;}
  .vn2-item-inspect__thumb img {position:absolute!important;inset:.2rem;display:block;width:calc(100% - .4rem)!important;height:calc(100% - .4rem)!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:contain!important;object-position:center!important;}
  .vn2-item-inspect__sizes {display:grid;gap:.5rem;width:100%;}
  .vn2-item-inspect__sizes > span {color:#ffe4a8;font:700 .68rem ui-monospace,monospace;letter-spacing:.12em;}
  .vn2-item-inspect__sizes > div {display:flex;flex-wrap:wrap;gap:.35rem;}
  .vn2-item-inspect__size {display:grid;place-items:center;min-width:2.3rem;padding:.35rem .5rem;background:#061723;border:1px solid #ffe4a868;color:#fff9ee;font-size:.75rem;font-weight:850;}
  .vn2-item-inspect__sizes small {color:#a9bdb8;font-size:.75rem;}

  /* Responsive art direction: compositions reflow rather than cropping copy. */
  @media (max-width:980px) {
    .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}


  }
  @media (max-width:760px) {
    .vn2-merchant-shelf {padding:1rem;}




    .vn2-campfire-mail {grid-template-columns:1fr;}
    .vn2-campfire-mail__scene {min-height:15rem;}


    .vn2-final-chapter__art {background-size:auto 100%;}
  }
  @media (max-width:520px) {
    .vn2-quest-notice {flex-wrap:wrap;}
    .vn2-quest-notice__seal {font-size:2rem;}
    .vn2-quest-notice__button {width:100%;justify-content:center;}




    .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
    .vn2-quick-travel__links :is(a,.vn2-quick-travel__entry) {padding:.75rem;min-height:6rem;}
    .vn2-item-inspect__thumbnails {left:.5rem;top:3rem;}
    .vn2-item-inspect__thumb {width:2.7rem;height:3.1rem;}
  }


  /* 0.10.1 — The destination poster is one navigable surface, not a tiny
     footer-only target. Only the storefront's real <a> gets this overlay;
     Gutenberg's RichText canvas remains directly editable. */
  .vn2-world-card a.vn2-world-card__action::before {
    content:"";position:absolute;inset:0;z-index:2;
  }
  .vn2-world-card:focus-within {
    outline:3px solid var(--vn2-gold);
    outline-offset:3px;
    border-color:var(--vn2-gold);
  }
  .vn2-world-card a.vn2-world-card__action:focus-visible {outline:none;}
  .vn2-world-card:has(a.vn2-world-card__action:hover) {
    border-color:var(--vn2-gold);
    box-shadow:0 14px 35px #0007;
  }
  /* Consistent keyboard focus: never rely exclusively on hover animations. */
  .vn2 :is(a,button,summary):focus-visible {
    outline:2px solid #ffe4a8;
    outline-offset:3px;
    box-shadow:0 0 0 5px #071823;
  }
  .vn2 .vn2-world-card__action:focus-visible::before {outline:2px solid #ffe4a8;outline-offset:-5px;}
  .vn2-rpg-faq__item:focus-within {border-color:#ffe4a8;}
  .vn2-item-inspect__thumb:focus-visible {z-index:3;}
  .vn2-quick-travel__links li:focus-within {position:relative;z-index:1;}

  /* A columnized poster can be narrow on a large desktop. Viewport-width
     breakpoints cannot detect this; use the card's existing inline container. */
  @container (max-width: 285px) {
    .vn2-world-card__content {
      padding:clamp(.8rem,6cqw,1.4rem);
      gap:.45rem;
    }
    .vn2-world-card h3 {
      font-size:clamp(1.3rem,11cqw,1.9rem)!important;
      letter-spacing:-.035em;
    }
    .vn2-world-card .vn2-copy {font-size:clamp(.72rem,4cqw,.9rem);line-height:1.45;}
    .vn2-world-card .vn2-kicker {font-size:.55rem;letter-spacing:.08em;}
    .vn2-world-card__action {font-size:.74rem;padding-top:.6rem;}
    .vn2-world-card__number {font-size:1.35rem;}
  }/* The duel can be placed in a narrow Gutenberg column, not only full width.
     Use the available block width, not the browser viewport. */



























  

























  
  @media (max-width:520px) {


    .vn2-quest-notice__button {white-space:normal;text-align:center;}
    .vn2-dispatch-list__thumbnail {flex-basis:3.25rem;height:3.25rem;}
    .vn2-dispatch-list__story strong {overflow-wrap:anywhere;}
    .vn2-campfire-mail__content {min-width:0;}
    .vn2-campfire-mail__form form > * {max-width:100%;}
  }

  /* 0.10 — Reusable image frame contract for every illustrated Gutenberg block.
     Image content is interchangeable. All numbers, text and RPG chrome stay in DOM/CSS.
     "Contain" leaves tasteful dark negative space rather than cropping the selected art.
     Custom assets must never reveal the original theme illustration behind them. */
  .vn2 :is(
    .vn2-scene-banner__art,
    .vn2-world-card__art,
    .vn2-dialogue-window__portrait,
    .vn2-field-note__art,
    .vn2-campfire-mail__scene,
    .vn2-final-chapter__art
  ).vn2-artwork--custom {
    background-color:#0d2531;
    background-image:none!important;
  }
  .vn2 .vn2-artwork--custom > img {
    position:absolute!important;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    margin:0;
    object-fit:var(--vn2-media-fit,cover)!important;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%)!important;
    image-rendering:auto;
  }/* Content remains readable over photographs of any brightness. */
.vn2.vn2-world-card--poster .vn2-world-card__art::after,
.vn2 .vn2-final-chapter__art::after {
    opacity:var(--vn2-art-shade,1);
  }
  /* Both layouts still use CSS-created frames and actual content boxes. */
  .vn2.vn2-world-card--chapter .vn2-world-card__art::after {
    opacity:1;
  }
  .vn2 .vn2-artwork--custom {
    overflow:hidden;
    isolation:isolate;
  }

  /* A narrower viewport crops cover images differently. Give it a separate
     editable focal point while keeping typography and RPG frames untouched. */
  @media (max-width:760px) {
    .vn2 .vn2-artwork--custom > img {
      object-position:var(--vn2-mobile-focal-x,50%) var(--vn2-mobile-focal-y,50%)!important;
    }
    .vn2 .vn2-artwork--custom {
      background-position:var(--vn2-mobile-focal-x,50%) var(--vn2-mobile-focal-y,50%);
    }
  }

  /* 0.10.2 — Reference Atlas composition.
     The old eleven-module 3-up grid forced complex stores into 300px slots.
     This layout is intentionally editorial: each block has a usable canvas,
     and no block is stretched merely to match the tallest neighbor. */
  .vn-reference-atlas__row {
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    align-items:start;
    gap:clamp(1rem,2vw,1.8rem);
  }
  .vn-reference-atlas__module {
    min-width:0;
    container-type:inline-size;
    align-self:start;
  }
  .vn-reference-atlas__module > .vn2 {flex:0 0 auto;}
  .vn-reference-atlas__module > .wp-block-columns {flex:0 0 auto;}
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:first-child {grid-column:1/-1;}
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(2) {grid-column:1/7;}
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3) {grid-column:7/-1;}
  .vn-reference-atlas__row--features > .vn-reference-atlas__module:first-child {grid-column:1/7;}
  .vn-reference-atlas__row--features > .vn-reference-atlas__module:nth-child(2) {grid-column:7/-1;}
  .vn-reference-atlas__row--features > .vn-reference-atlas__module:nth-child(3) {grid-column:1/-1;}
  .vn-reference-atlas__row--lower > .vn-reference-atlas__module:first-child {grid-column:1/7;}
  .vn-reference-atlas__row--lower > .vn-reference-atlas__module:nth-child(2) {grid-column:7/-1;}
  .vn-reference-atlas__row--lower > .vn-reference-atlas__module:nth-child(3) {grid-column:1/-1;}
  .vn-reference-atlas__row--notices > .vn-reference-atlas__module:first-child {grid-column:1/7;}
  .vn-reference-atlas__row--notices > .vn-reference-atlas__module:nth-child(2) {grid-column:7/-1;}
  .vn-reference-atlas__row--closing > .vn-reference-atlas__module:first-child {grid-column:1/6;}
  .vn-reference-atlas__row--closing > .vn-reference-atlas__module:nth-child(2) {grid-column:6/-1;}






  .vn-reference-atlas__row--top .vn2-world-card {min-height:0;aspect-ratio:2/3;}
  .vn-reference-atlas__row--top .vn2-collection-showcase {padding:1rem;}
  .vn-reference-atlas__row--top .vn2-collection-showcase h2 {font-size:clamp(1.7rem,3cqw,2.6rem)!important;}
  .vn-reference-atlas__row--top .vn2-collection-showcase .vn2-world-card {min-height:clamp(20rem,24cqw,26rem);height:auto;aspect-ratio:auto;}
  .vn-reference-atlas__row--top .vn2-world-card__content {min-height:0;}
  .vn-reference-atlas__row--top .vn2-merchant-shelf {height:auto;}


  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene {
    min-height:0;grid-template-rows:auto auto;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
    margin:-1.6rem clamp(1rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem);
    padding:clamp(1rem,2vw,1.6rem);
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {
    min-height:0;max-height:none;
    aspect-ratio:1193/340;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__intro {display:grid;}
  .vn-reference-atlas__row--lower .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
  .vn-reference-atlas__row--lower .vn2-quick-travel__links a {min-height:7rem;}
  .vn-reference-atlas__row--lower .vn2-campfire-mail {min-height:20rem;}
  .vn-reference-atlas__row--notices .vn2-quest-notice {min-height:11rem;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list {height:auto;}
  .vn-reference-atlas__row--closing .vn2-final-chapter {min-height:clamp(21rem,29vw,28rem);}
  @media (min-width: 1251px) {
    .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(2),
    .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3),
    .vn-reference-atlas__row--features > .vn-reference-atlas__module:nth-child(1),
    .vn-reference-atlas__row--features > .vn-reference-atlas__module:nth-child(2) {align-self:stretch;}
    .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(2) > .wp-block-columns {flex:1;}
    .vn-reference-atlas__row--top .vn2-world-card {aspect-ratio:auto;height:100%;min-height:25rem;}
    .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3) > .vn2-merchant-shelf {display:flex;flex-direction:column;flex:1;}
    .vn-reference-atlas__row--top .vn2-merchant-shelf .vn2-shelf {flex:1;}
    .vn-reference-atlas__row--features > .vn-reference-atlas__module > .vn2 {flex:1;}




  }

  /* A product gallery needs room for merchandise and real options.
     Intrinsic grids stack on their own at narrow widths, including in Columns,
     without requiring the whole browser to become mobile sized. */
  .vn2-item-inspect,
  .vn-reference-atlas .vn2-item-inspect {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr));
  }
  .vn2-field-note,
  .vn-reference-atlas .vn2-field-note {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr));
  }
  .vn2-campfire-mail,
  .vn-reference-atlas .vn2-campfire-mail {
    grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));
  }
  @container (max-width:560px) {
    .vn2-campfire-mail__scene {min-height:0;aspect-ratio:3/2;}
    .vn2-campfire-mail h2 {font-size:clamp(1.05rem,6.5cqw,2.6rem)!important;}
    .vn2-campfire-mail__form form > * {max-width:100%;}
  }
  @container (max-width:300px) {
    .vn2-campfire-mail__content {padding:.9rem;gap:.55rem;}
    .vn2-campfire-mail h2 {font-size:clamp(1.08rem,8cqw,1.45rem)!important;line-height:1.12!important;}
    .vn2-campfire-mail .vn2-kicker {font-size:.63rem;line-height:1.3;}
    .vn2-campfire-mail .vn2-copy {font-size:.84rem;line-height:1.45;}
    .vn2-campfire-mail__content > .vn2-button {width:100%;justify-content:space-between;font-size:.8rem;line-height:1.3;}
  }
  @container (max-width: 390px) {
    .vn-reference-atlas :is(.vn2-item-inspect,.vn2-field-note,.vn2-campfire-mail) {
      grid-template-columns:minmax(0,1fr);
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__product {
      grid-template-columns:minmax(0,1fr);
      grid-template-rows:auto auto auto auto auto;
      min-height:0;
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__product::before {
      inset:42% 0 0;
      background:linear-gradient(0deg,#061923dd,#09232afa);
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__image {
      grid-column:1;grid-row:1;aspect-ratio:4/3.3;min-height:0;border:0;
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__meta {
      grid-column:1;grid-row:2;margin:1rem 1.25rem .7rem;
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__name {
      grid-column:1;grid-row:3;padding:0 1.25rem;font-size:clamp(1.8rem,7cqw,2.8rem);
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__solo-description {
      grid-column:1;grid-row:4;padding:.7rem 1.25rem 1rem;
    }
    .vn-reference-atlas .vn2-merchant-shelf--count-1 .vn2-shelf__bottom {
      grid-column:1;grid-row:5;margin:0 1.25rem 1.25rem;
    }
    .vn-reference-atlas__row--lower .vn2-quick-travel__links {grid-template-columns:repeat(4,minmax(0,1fr));}
  }
  @media (max-width: 1250px) {
    .vn-reference-atlas__row {grid-template-columns:minmax(0,1fr);}
    .vn-reference-atlas__row > .vn-reference-atlas__module {grid-column:1/-1!important;}




    .vn-reference-atlas__row--lower .vn2-quick-travel__links {grid-template-columns:repeat(4,minmax(0,1fr));}
  }
  @media (max-width: 760px) {
    :is(.vn2-item-inspect,.vn2-field-note,.vn2-campfire-mail),
    .vn-reference-atlas :is(.vn2-item-inspect,.vn2-field-note,.vn2-campfire-mail) {
      grid-template-columns:minmax(0,1fr);
    }






    .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
      margin:-.65rem .8rem .8rem;
    }
    .vn-reference-atlas__row--lower .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media (max-width: 420px) {


    .vn-reference-atlas__row--lower .vn2-quick-travel__links {grid-template-columns:minmax(0,1fr);}
  }


/* Campaign page: a curated retail journey, distinct from the fourteen-block Component Atlas. */
.vn-campaign {
  width:min(1536px,calc(100% - clamp(1.5rem,4vw,4rem)))!important;
  max-width:none!important;margin-inline:auto!important;display:grid;
  gap:clamp(2.2rem,3.7vw,4rem);color:#fff9ee;
}
.vn-campaign :is(.wp-block-group,.wp-block-columns,.wp-block-column) {min-width:0;max-width:none;margin-block:0;}
.vn-campaign :is(.vn-campaign__market-row,.vn-campaign__features,.vn-campaign__story-row,.vn-campaign__bulletin,.vn-campaign__closing) {
  display:grid!important;align-items:stretch;gap:clamp(1.1rem,2vw,1.8rem);
}
.vn-campaign__market-row {grid-template-columns:minmax(0,1fr);}
.vn-campaign__features {grid-template-columns:minmax(0,1fr);}
.vn-campaign__story-row {grid-template-columns:minmax(0,1fr);}
.vn-campaign__bulletin {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.vn-campaign__closing {grid-template-columns:minmax(0,.42fr) minmax(0,.98fr);}
.vn-campaign__label {
  display:flex;align-items:center;gap:.85rem;margin:0 0 .85rem!important;
  color:#d6be83;font:800 clamp(.7rem,.8vw,.83rem)/1.45 ui-monospace,monospace;
  text-transform:uppercase;letter-spacing:.14em;
}
.vn-campaign__label::after {content:"";height:1px;flex:1;background:linear-gradient(90deg,#ffe4a85c,transparent);}
.vn-campaign :is(.vn-campaign__collections,.vn-campaign__market,.vn-campaign__inspect,.vn-campaign__duel,.vn-campaign__field,.vn-campaign__travel,.vn-campaign__quest,.vn-campaign__dispatch,.vn-campaign__faq,.vn-campaign__finale) {
  display:flex;flex-direction:column;min-width:0;
}
.vn-campaign :is(.vn-campaign__market,.vn-campaign__inspect,.vn-campaign__duel,.vn-campaign__field,.vn-campaign__travel,.vn-campaign__quest,.vn-campaign__dispatch,.vn-campaign__faq,.vn-campaign__finale) > .vn2 {
  flex:1;min-width:0;
}
.vn-campaign__collections > .wp-block-heading {
  margin:0 0 1.2rem!important;color:#fff9ee!important;
  font:700 clamp(1.9rem,2.7vw,3.2rem)/1.05 Georgia,serif!important;
  letter-spacing:-.04em;
}
.vn-campaign__collections > .wp-block-columns {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;gap:clamp(.65rem,1vw,1rem);margin:0!important;flex:1;
}
.vn-campaign__collections .wp-block-column {display:flex;min-width:0;}
.vn-campaign__collections > .vn2-collection-showcase {flex:1;}
.vn-campaign__collections .vn2-world-card {flex:1;min-height:clamp(20rem,29vw,28rem);aspect-ratio:auto;}
.vn-campaign__collections .vn2-world-card__content {min-height:0;padding:clamp(.85rem,1.4vw,1.45rem);gap:.55rem;}
.vn-campaign__collections .vn2-world-card h3 {font-size:clamp(1.35rem,9cqw,2.4rem)!important;}
.vn-campaign__collections .vn2-world-card .vn2-copy {font-size:clamp(.76rem,1vw,.93rem);line-height:1.5;}
.vn-campaign__market .vn2-merchant-shelf {display:flex;flex-direction:column;}
.vn-campaign__market .vn2-shelf {flex:1;}
.vn-campaign__market .vn2-merchant-shelf h2 {font-size:clamp(1.9rem,3vw,3.3rem)!important;}
.vn-campaign__market .vn2-merchant-shelf--count-1 .vn2-shelf__product {min-height:clamp(24rem,32vw,33rem);}
.vn-campaign__features .vn2-item-inspect {grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);}
.vn-campaign__features .vn2-item-inspect__media {min-height:22rem;}
.vn-campaign__features .vn2-item-inspect__content {padding:clamp(1.15rem,2vw,2.2rem);}
.vn-campaign__features .vn2-item-inspect h2 {font-size:clamp(1.8rem,2.6vw,3rem)!important;}








.vn-campaign__field .vn2-field-note {min-height:21rem;}
.vn-campaign__field .vn2-field-note__art {min-height:21rem;}
.vn-campaign__field .vn2-field-note__content {padding:clamp(1.2rem,2.2vw,2.3rem);}
.vn-campaign__field .vn2-field-note h2 {font-size:clamp(1.9rem,2.5vw,3rem)!important;}
.vn-campaign__travel .vn2-quick-travel {height:100%;align-content:center;padding:clamp(1.25rem,2vw,2.25rem);}
.vn-campaign__travel .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
.vn-campaign__travel .vn2-quick-travel__links a {min-height:7rem;}
.vn-campaign__letters .vn2-campfire-mail {min-height:21rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.vn-campaign__letters .vn2-campfire-mail__scene {min-height:21rem;}
.vn-campaign__quest .vn2-quest-notice {min-height:16rem;}
.vn-campaign__faq .vn2-rpg-faq {height:100%;}
.vn-campaign__finale .vn2-final-chapter {min-height:24rem;height:100%;}
@media (max-width:1160px) {
  .vn-campaign :is(.vn-campaign__market-row,.vn-campaign__features,.vn-campaign__story-row,.vn-campaign__bulletin,.vn-campaign__closing) {grid-template-columns:minmax(0,1fr);}
  .vn-campaign__collections .vn2-world-card {min-height:26rem;}
  .vn-campaign__travel .vn2-quick-travel__links {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:760px) {
  .vn-campaign {width:calc(100% - 1.5rem)!important;gap:2.2rem;}
  .vn-campaign__collections > .wp-block-columns {grid-template-columns:repeat(2,minmax(0,1fr));}
  .vn-campaign__collections .wp-block-column:last-child {grid-column:1/-1;}
  .vn-campaign__features .vn2-item-inspect {grid-template-columns:minmax(0,1fr);}
  .vn-campaign__letters .vn2-campfire-mail {grid-template-columns:minmax(0,1fr);}
  .vn-campaign__travel .vn2-quick-travel__links {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:480px) {
  .vn-campaign__collections > .wp-block-columns {grid-template-columns:minmax(0,1fr);}
  .vn-campaign__collections .wp-block-column:last-child {grid-column:auto;}
  .vn-campaign__collections .vn2-world-card {min-height:24rem;}
}


/*
 * Reference-locked composition rules.
 * The standalone block can live in any Gutenberg column; these two canonical
 * patterns require predictable desktop geometry regardless of nested containers.
 */
.vn-reference-atlas__row--top .vn2-collection-showcase,
.vn-campaign__collections .vn2-collection-showcase {
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-self:stretch;
}
.vn-reference-atlas__row--top .vn2-collection-showcase__cards,
.vn-campaign__collections .vn2-collection-showcase__cards {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(.65rem,1.1vw,1.1rem);
  align-items:stretch;
}
.vn-reference-atlas__row--top .vn2-collection-showcase__cards > .vn2-world-card,
.vn-campaign__collections .vn2-collection-showcase__cards > .vn2-world-card {
  display:flex;width:100%;max-width:none;min-width:0;margin:0;
  flex-direction:column;aspect-ratio:auto;
}
.vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card {
  min-height:clamp(19rem,27vw,25rem);height:auto;
}
.vn-campaign__collections .vn2-collection-showcase__cards .vn2-world-card {
  min-height:clamp(22rem,30vw,31rem);height:auto;
}
.vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card h3 {
  font-size:clamp(1.2rem,1.65vw,1.85rem)!important;
}
.vn-campaign__collections .vn2-collection-showcase__cards .vn2-world-card h3 {
  font-size:clamp(1.65rem,2.5vw,2.7rem)!important;
}
@media (min-width:1100px) {
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(2),
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3),
  .vn-reference-atlas__row--features > .vn-reference-atlas__module:nth-child(2) {
    align-self:stretch;
  }
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3) .vn2-merchant-shelf {
    display:flex;flex:1;flex-direction:column;
  }
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3) .vn2-shelf {
    flex:1;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect {
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
    height:100%;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media {
    min-height:clamp(20rem,26vw,27rem);
  }




  .vn-reference-atlas__row--lower .vn2-field-note {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
}
@media (max-width:600px) {
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards,
  .vn-campaign__collections .vn2-collection-showcase__cards {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card,
  .vn-campaign__collections .vn2-collection-showcase__cards .vn2-world-card {
    min-height:clamp(20rem,88vw,30rem);
  }
}


/* 1:1 reference atlas: the 1536px approved teaser's measured editorial grid. */
@media (min-width:1100px) {
  .vn-reference-atlas {
    width:min(1536px,calc(100% - 44px))!important;
    gap:clamp(.8rem,1.1vw,1.2rem);
  }
  .vn-reference-atlas :is(.vn-reference-atlas__row--top,.vn-reference-atlas__row--features,.vn-reference-atlas__row--lower) {
    gap:clamp(.75rem,1.05vw,1rem);
    align-items:stretch;
  }
  .vn-reference-atlas__row--top {
    grid-template-columns:minmax(0,1.24fr) minmax(0,1.06fr) minmax(0,.91fr)!important;
  }
  .vn-reference-atlas__row--features {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.98fr) minmax(0,1.14fr)!important;
  }
  .vn-reference-atlas__row--lower {
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.13fr)!important;
  }
  .vn-reference-atlas__row--notices {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .vn-reference-atlas__row--closing {
    grid-template-columns:minmax(0,1fr) minmax(0,2.16fr)!important;
  }
  .vn-reference-atlas__row > .vn-reference-atlas__module {
    grid-column:auto!important;align-self:stretch!important;display:flex;
    flex-direction:column;min-width:0;
  }








  .vn-reference-atlas__row--top .vn2-collection-showcase {
    min-height:20.3rem;padding:0;background:transparent;border:0;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__head {
    display:none;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards {
    flex:1;min-height:0;gap:.65rem;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card {
    height:100%;min-height:20.3rem!important;max-height:none;
    aspect-ratio:auto;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card__content {
    padding:.85rem .65rem;gap:.35rem;
  }
  .vn-reference-atlas__row--top .vn2-world-card h3 {
    font-size:clamp(1.15rem,1.4vw,1.55rem)!important;
  }
  .vn-reference-atlas__row--top .vn2-world-card .vn2-copy {
    font-size:.67rem;line-height:1.34;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf {
    min-height:20.3rem;height:100%;padding:1rem;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf h2 {
    font-size:clamp(2rem,2.5vw,2.8rem)!important;
  }


  .vn-reference-atlas__row--features .vn2-item-inspect {
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media {
    min-height:16rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content {
    padding:1rem;gap:.45rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect h2 {
    font-size:clamp(1.4rem,1.8vw,2rem)!important;
  }




  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene {
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {
    aspect-ratio:500/190;min-height:0;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
    margin:-1.4rem .85rem .85rem;padding:.75rem .9rem;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {
    line-height:1.4;font-size:.73rem;
  }
  .vn-reference-atlas__row--lower :is(.vn2-field-note,.vn2-quick-travel,.vn2-campfire-mail) {
    min-height:11.5rem;flex:1;
  }
  .vn-reference-atlas__row--lower .vn2-field-note,
  .vn-reference-atlas__row--lower .vn2-campfire-mail {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .vn-reference-atlas__row--lower :is(.vn2-field-note__art,.vn2-campfire-mail__scene) {
    min-height:11.5rem;
  }
  .vn-reference-atlas__row--lower :is(.vn2-field-note__content,.vn2-campfire-mail__content) {
    padding:1rem;gap:.45rem;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.5rem;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links a {
    min-height:11.5rem;
  }
  .vn-reference-atlas__row--closing .vn2-final-chapter {
    min-height:13rem;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq {
    padding:1rem;
  }
}


/* 1:1 editorial storefront: the 1312px approved teaser's block pairings. */
@media (min-width:1100px) {
  .vn-campaign__market-row {
    grid-template-columns:minmax(0,1.12fr) minmax(0,.98fr)!important;
  }
  .vn-campaign__features {
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  }
  .vn-campaign__story-row {
    grid-template-columns:minmax(0,1.15fr) minmax(0,.97fr) minmax(0,.78fr)!important;
  }
  .vn-campaign__market-row > .wp-block-group,
  .vn-campaign__features > .wp-block-group,
  .vn-campaign__story-row > .wp-block-group {
    min-width:0;align-self:stretch;
  }
  .vn-campaign__collections .vn2-collection-showcase {
    min-height:0;padding:clamp(.8rem,1.2vw,1.25rem);
  }
  .vn-campaign__collections .vn2-collection-showcase__cards {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(.45rem,.7vw,.75rem);
  }
  .vn-campaign__collections .vn2-collection-showcase__cards .vn2-world-card {
    min-height:clamp(13rem,18vw,16rem)!important;height:auto;
  }
  .vn-campaign__collections .vn2-world-card h3 {
    font-size:clamp(1.15rem,1.5vw,1.55rem)!important;
  }
  .vn-campaign__collections .vn2-world-card .vn2-copy {
    font-size:.71rem;line-height:1.4;
  }
  .vn-campaign__features .vn2-item-inspect,
  .vn-campaign__features .vn2-field-note {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    min-height:20rem;
  }
  .vn-campaign__features :is(.vn2-item-inspect__media,.vn2-field-note__art) {
    min-height:20rem;
  }
  .vn-campaign__features :is(.vn2-item-inspect__content,.vn2-field-note__content) {
    padding:clamp(.85rem,1.6vw,1.5rem);
  }
  .vn-campaign__story-row .vn2-dialogue-window--portrait {
    grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);
    min-height:15rem;height:100%;
  }
  .vn-campaign__story-row .vn2-dialogue-window--portrait .vn2-dialogue-window__portrait {
    min-height:15rem;
  }
  .vn-campaign__story-row .vn2-dialogue-window__content {
    padding:clamp(.65rem,1vw,1rem);gap:.55rem;
  }
  .vn-campaign__story-row .vn2-dialogue-window__speech {
    padding:.75rem;font-size:.78rem;line-height:1.48;
  }
  .vn-campaign__story-row .vn2-choice {
    min-height:2.25rem;padding:.4rem .65rem;
  }
  .vn-campaign__story-row .vn-campaign__bulletin {
    display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;
    gap:.65rem;
  }
  .vn-campaign__story-row .vn2-quest-notice {
    min-height:6rem;
  }
  .vn-campaign__story-row .vn2-dispatch-list {
    height:100%;
  }
  .vn-campaign__story-row .vn2-rpg-faq {
    padding:1rem;height:100%;
  }
  .vn-campaign__story-row .vn2-rpg-faq h2 {
    font-size:clamp(1.4rem,1.7vw,1.9rem)!important;
  }
}/* Editorial wordmark is real text, with independent decorative tree silhouettes. */






/*
 * Opt-in preview stock for reference layouts. These are visual concept cards,
 * never WooCommerce products or clickable purchase controls.
 */
.vn2-shelf__product--preview {
  cursor:default;
}
.vn2-shelf__product--preview:hover {
  border-color:#ffe4a83d;
  box-shadow:inset 0 0 0 3px #071b26;
}
.vn2-shelf__product--preview:hover .vn2-product-media--preview {
  transform:none;
}
.vn2-shelf__product--preview .vn2-shelf__image {
  background:#e5dbc7;
}
.vn2-shelf__product--preview .vn2-shelf__image .vn2-product-media--preview {
  display:block;width:100%;height:100%;object-fit:contain;
}
.vn2-shelf__product--preview .vn2-shelf__meta {
  color:#dbc28e;
}
.vn2-shelf__product--preview .vn2-shelf__name {
  color:#fff9ee;
}
.vn2-shelf__product--preview .vn2-shelf__price {
  color:#d6bd8c;font-size:clamp(.77rem,1vw,.98rem);font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;
}
.vn2-shelf__shopmark--preview,
.vn2-icon-action--preview {
  background:transparent;border-color:#ffe4a88a;color:#ffe4a8!important;
}








/*
 * Approved teaser dossier / geometry and frame corrections.
 * See docs/reference/teaser-visual-dossier.md for the visual rules and QA.
 */

/* There is only ever one active scene image. The CSS artwork remains a true
   fallback when PHP has no usable media; transparent and contained replacements
   cannot reveal a second, unrelated illustration behind themselves. */
.vn2 :is(
  .vn2-scene-banner__art,
  .vn2-world-card__art,
  .vn2-dialogue-window__portrait,
  .vn2-field-note__art,
  .vn2-campfire-mail__scene,
  .vn2-final-chapter__art
):has(> img) {
  background-image:none!important;
  background-color:#0d2531;
}
.vn2-campfire-mail__scene {
  position:relative;overflow:hidden;isolation:isolate;
}
/* Cover must fill the whole scene, even when WordPress or editor image rules
   impose intrinsic dimensions. Contain remains available by block setting. */
.vn2 .vn2-campfire-mail__scene > img {
  position:absolute!important;inset:0!important;display:block;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;margin:0!important;
  object-fit:var(--vn2-media-fit,cover)!important;
  object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%);
}
.vn2-dialogue-window__portrait > img,
.vn2-field-note__art > img,
.vn2-final-chapter__art > img,
.vn2-world-card__art > img {
  max-width:none;max-height:none;
}

/* The reference's hierarchy is mostly one quiet hairline. Only authentic
   dialogue command boxes and signposts receive a two-tone RPG frame. */
.vn2 {
  --vn2-line:rgba(120,151,141,.49);
}


.vn2-shelf__product {
  border-color:rgba(120,151,141,.5);
  box-shadow:none;
}
.vn2-shelf__product:hover,.vn2-shelf__product:focus-visible {
  border-color:#f5dca1;
  box-shadow:0 8px 20px #0005;
}
.vn2-world-card {
  border-color:rgba(184,155,105,.58);
}
.vn2-world-card__action {
  border-top-color:rgba(255,243,222,.26);
}
.vn2-collection-showcase__head,
.vn2-merchant-shelf__head {
  border-bottom-color:rgba(255,243,222,.23);
}

/* The featured-product mockup is a single clean garment on parchment, not
   a photograph blended with a second illustrated campfire behind it. */
.vn2-item-inspect__media {
  background:#e9dfce;
}
.vn2-item-inspect__media::before {
  background:linear-gradient(0deg,#b4c8b450,transparent 28%);
  opacity:1;
}
.vn2-item-inspect__media > img {
  position:relative;z-index:1;mix-blend-mode:normal;
  object-fit:contain;
}
.vn2-item-inspect__media::after {
  inset:6px;border:1px solid rgba(45,99,84,.83);
  box-shadow:inset 0 0 0 2px #e9dfce,0 0 0 1px #e1d8c3;
  background:
    linear-gradient(#30645c,#30645c) left top/19px 3px no-repeat,
    linear-gradient(#30645c,#30645c) left top/3px 19px no-repeat,
    linear-gradient(#30645c,#30645c) right top/19px 3px no-repeat,
    linear-gradient(#30645c,#30645c) right top/3px 19px no-repeat,
    linear-gradient(#30645c,#30645c) left bottom/19px 3px no-repeat,
    linear-gradient(#30645c,#30645c) left bottom/3px 19px no-repeat,
    linear-gradient(#30645c,#30645c) right bottom/19px 3px no-repeat,
    linear-gradient(#30645c,#30645c) right bottom/3px 19px no-repeat;
}
.vn2-item-inspect__thumbnails {
  left:.8rem;top:2.5rem;gap:.32rem;
}
.vn2-item-inspect__thumb {
  width:2.7rem;height:3rem;padding:.15rem;
  border:1px solid #43655b;
}
.vn2-item-inspect__thumb[aria-pressed=true] {
  border-color:#e5c58a;box-shadow:0 0 0 1px #346355;
}/* The flattened teasers do not contain the invented footer strip added
   underneath the cinematic hero in earlier iterations. */
/* Teaser B's brand headline is four independent lines, not an accidental
   two-line storefront headline. Teaser A keeps its wider two-line treatment. */






@media (min-width:1100px) {


  .vn-campaign__features .vn2-item-inspect {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
}

/*
 * Compact reference atlas: preserve each teaser block's inner composition
 * at tablet and medium-desktop widths. The outer modules can wrap without
 * turning three portrait chapters into a giant vertical scrolling gallery.
 */
@media (min-width:601px) and (max-width:1099px) {
  .vn-reference-atlas__row--top .vn2-collection-showcase {
    padding:0;
    border:0;
    background:transparent;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__head {
    display:none;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards,
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards > .block-editor-block-list__layout {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.5rem;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card {
    min-height:clamp(17rem,28vw,22rem);
    aspect-ratio:auto;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card__content {
    padding:.7rem .55rem;gap:.3rem;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card h3 {
    font-size:clamp(1.05rem,1.65vw,1.5rem)!important;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card .vn2-copy {
    font-size:.7rem;line-height:1.35;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect,
  .vn-reference-atlas__row--lower .vn2-field-note,
  .vn-reference-atlas__row--lower .vn2-campfire-mail {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel {
    padding:0;background:transparent;border:0;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__intro {
    display:none;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:.5rem;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links a {
    min-height:9.5rem;padding:.65rem;
  }
  .vn-reference-atlas__row--notices .vn2-quest-notice {
    min-height:6.5rem;
  }
}

/* A dialogue on the teaser is a scene with a lower-third command panel;
   spare page furniture must not inflate its height or move the command frame. */
@media (min-width:1100px) {
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
    grid-template-columns:minmax(0,1fr) minmax(8rem,.45fr);
    align-items:center;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {
    max-width:65ch;
  }
}/* Teaser B's design duel ends with editable parchment dialogue. This is
   deliberately a DOM surface, never lettering baked into concept artwork. */



/*
 * Reference B / exact-size Atlas artboards. Every region has a measured height;
 * the contents must fit their own artboard rather than increasing a neighbor's
 * height. Use the natural responsive layouts below this desktop threshold.
 */
@media (min-width:1100px) {
  .vn-reference-atlas {
    gap:1rem;
  }
  .vn-reference-atlas__row {
    align-items:start!important;
  }
  .vn-reference-atlas__module {
    gap:.45rem;
  }
  .vn-reference-atlas__label {
    font-size:.65rem;line-height:1.3;
  }

  /* Row 01: 563/485/411 by 325px on the 1536px reference canvas. */
  .vn-reference-atlas__row--top > .vn-reference-atlas__module > .vn2 {
    flex:none;height:20.3rem!important;min-height:0!important;
    max-height:20.3rem;overflow:hidden;
  }













  .vn-reference-atlas__row--top .vn2-collection-showcase {
    display:flex;flex-direction:column;padding:0;border:0;background:transparent;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__head {
    display:none;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards {
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    height:100%;min-height:0;gap:.6rem;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards > .block-editor-block-list__layout {
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    height:100%;min-height:0;gap:.6rem;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card {
    height:100%;min-height:0!important;max-height:none;aspect-ratio:auto;
  }
  .vn-reference-atlas__row--top .vn2-world-card__content {
    padding:.85rem .75rem;gap:.35rem;
  }
  .vn-reference-atlas__row--top .vn2-world-card__content .vn2-kicker {
    display:none;
  }
  .vn-reference-atlas__row--top .vn2-world-card h3 {
    font-size:clamp(1.1rem,1.35vw,1.4rem)!important;
  }
  .vn-reference-atlas__row--top .vn2-world-card .vn2-copy {
    font-size:.7rem;line-height:1.42;
  }
  .vn-reference-atlas__row--top .vn2-world-card__number {
    left:.6rem;top:.6rem;width:2rem;min-height:2rem;
    font-size:1.3rem;padding:.2rem;
  }
  .vn-reference-atlas__row--top .vn2-world-card__action {
    justify-content:flex-end;margin-top:.1rem;padding-top:.35rem;
    border-top:0;font-size:0;
  }
  .vn-reference-atlas__row--top .vn2-world-card__action span {
    font-size:1.1rem;
  }

  .vn-reference-atlas__row--top .vn2-merchant-shelf {
    display:flex;flex-direction:column;padding:.85rem;height:100%;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf__head {
    flex:0 0 auto;margin-bottom:.65rem;padding-bottom:.55rem;
    align-items:center;gap:.5rem;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf__head > div {
    gap:.25rem;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf h2 {
    font-size:1.8rem!important;line-height:1;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf__head .vn2-text-link {
    font-size:.61rem;max-width:8rem;text-align:right;
  }
  .vn-reference-atlas__row--top .vn2-shelf {
    display:grid;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.5rem;height:100%;min-height:0;
  }
  .vn-reference-atlas__row--top .vn2-shelf__item,
  .vn-reference-atlas__row--top .vn2-shelf__product {
    height:100%;min-height:0;min-width:0;
  }
  .vn-reference-atlas__row--top .vn2-shelf__product {
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto auto;box-shadow:none;
  }
  .vn-reference-atlas__row--top .vn2-shelf__image {
    grid-column:1;grid-row:1;min-height:0;min-width:0;
    height:100%;aspect-ratio:auto;border:0;
  }
  .vn-reference-atlas__row--top .vn2-shelf__meta {
    display:none;
  }
  /* Opaque Woo photos and transparent previews share a dark, backlit product well. */
  .vn-reference-atlas__row--top .vn2-shelf__image {
    background:radial-gradient(ellipse 76% 83% at 50% 44%,#bcc4b1 0%,#748d80 48%,#2a4b50 82%,#102730 100%);
    isolation:isolate;
  }
  .vn-reference-atlas__row--top .vn2-shelf__product:not(.vn2-shelf__product--preview) .vn2-shelf__image img {
    mix-blend-mode:multiply;
  }
  .vn-reference-atlas__row--top .vn2-shelf__name {
    grid-column:1;grid-row:2;
    margin:.45rem .5rem 0;padding:0;
    min-height:1.75rem;font:700 .76rem/1.18 "Noto Sans",sans-serif;
    overflow-wrap:anywhere;
  }
  .vn-reference-atlas__row--top .vn2-shelf__bottom {
    grid-column:1;grid-row:3;
    margin:0;padding:.25rem .5rem .5rem;gap:.25rem;
    align-items:end;
  }
  .vn-reference-atlas__row--top .vn2-shelf__price {
    font-size:.68rem;line-height:1.3;letter-spacing:0;
  }
  .vn-reference-atlas__row--top .vn2-shelf__shopmark {
    width:1.8rem;height:1.8rem;font-size:.8rem;
  }

  /* Row 02: the 241px editorial product, duel and Keeper panels. */
  .vn-reference-atlas__row--features > .vn-reference-atlas__module > .vn2 {
    flex:1 1 auto!important;height:auto!important;min-height:15.15rem!important;
    max-height:none;overflow:hidden;
  }


  .vn-reference-atlas__row--features .vn2-item-inspect {
    display:grid;grid-template-columns:1fr 1fr!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media {
    min-height:0;height:100%;aspect-ratio:auto;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media > img {
    width:100%;height:100%;object-fit:contain;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__thumbnails {
    top:2.15rem;left:.45rem;gap:.2rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__thumb {
    width:2.2rem;height:2.5rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content {
    padding:.65rem;gap:.18rem;justify-content:space-between;overflow:hidden;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect h2 {
    font-size:1.25rem!important;line-height:1.02!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content .vn2-copy {
    font-size:.7rem;line-height:1.34;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__record {
    gap:.12rem;padding:.25rem 0;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__record h3 {
    font-size:.9rem!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__price {
    font-size:1rem;line-height:1.2;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__sizes {
    gap:.2rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__size {
    min-width:1.6rem;padding:.12rem .25rem;font-size:.64rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__sizes small {
    display:none;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect .vn2-button {
    min-height:1.85rem;padding:.35rem .6rem;font-size:.68rem;
  }





















/* Shared forest battleground; original concept tees have transparent media. */















  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene {
    display:block;position:relative;height:100%;
    isolation:isolate;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {
    position:absolute;inset:0;height:100%;width:100%;
    aspect-ratio:auto;min-height:0;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
    position:absolute;left:.7rem;right:.7rem;bottom:.45rem;z-index:2;
    display:grid;grid-template-columns:minmax(0,1fr) minmax(7.5rem,.42fr);
    gap:.18rem .6rem;margin:0;padding:.5rem .7rem;
    min-height:0;align-items:center;
  }
  /* Show the Keeper above the lower dialogue; custom focal controls still win. */
  .vn-reference-atlas__row--features .vn2-dialogue-window__portrait:not(.vn2-artwork--custom) {background-position:center bottom;}
  .vn-reference-atlas__row--features .vn2-dialogue-window__portrait:not(.vn2-artwork--custom) > img {object-position:50% 100%!important;}
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene h2 {
    display:none;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content > .vn2-kicker {
    grid-column:1;grid-row:1;font-size:.6rem;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {
    grid-column:1;grid-row:2;max-width:none;
    font-size:.7rem;line-height:1.38;padding:.2rem 0;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {
    grid-column:2;grid-row:1/span 2;gap:.3rem;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-choice {
    min-height:1.8rem;padding:.3rem .5rem;font-size:.64rem;
  }

  /* Row 03: 144px landscape/story, four commands, and a concise mailing pane. */
  .vn-reference-atlas__row--lower > .vn-reference-atlas__module > .vn2 {
    flex:none;height:9.1rem!important;min-height:0!important;
    max-height:9.1rem;overflow:hidden;
  }
  .vn-reference-atlas__row--lower .vn2-field-note {grid-template-columns:1.1fr .9fr!important;}
  .vn-reference-atlas__row--lower .vn2-campfire-mail {grid-template-columns:.94fr 1.06fr!important;}
  .vn-reference-atlas__row--lower .vn2-field-note__art,
  .vn-reference-atlas__row--lower .vn2-campfire-mail__scene {
    height:100%;min-height:0;
  }
  .vn-reference-atlas__row--lower .vn2-field-note__content,
  .vn-reference-atlas__row--lower .vn2-campfire-mail__content {
    padding:.48rem .65rem;gap:.2rem;justify-content:center;
  }
  .vn-reference-atlas__row--lower :is(.vn2-field-note__content,.vn2-campfire-mail__content) .vn2-kicker {font-size:.5rem;line-height:1.2;letter-spacing:.12em;gap:.3rem;}
  .vn-reference-atlas__row--lower :is(.vn2-field-note__content,.vn2-campfire-mail__content) .vn2-kicker::before {width:.65rem;}
  .vn-reference-atlas__row--lower .vn2-field-note .vn2-text-link {font-size:.63rem;line-height:1.2;gap:.3rem;padding-bottom:.12rem;}
  .vn-reference-atlas__row--lower .vn2-field-note h2,
  .vn-reference-atlas__row--lower .vn2-campfire-mail h2 {
    font-size:clamp(1.05rem,1.4vw,1.27rem)!important;line-height:1.07!important;
  }
  .vn-reference-atlas__row--lower .vn2-field-note .vn2-copy,
  .vn-reference-atlas__row--lower .vn2-campfire-mail .vn2-copy {
    font-size:.59rem;line-height:1.24;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel {
    padding:0;background:transparent;border:0;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__intro {
    display:none;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:.6rem;height:100%;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__links a {
    min-height:0;height:100%;padding:.5rem;font-size:.7rem;
  }
  .vn-reference-atlas__row--lower .vn2-travel-icon {
    width:2.65rem;height:2.65rem;margin:0;
    shape-rendering:crispEdges;filter:drop-shadow(0 2px 0 #071821);
  }
  .vn-reference-atlas__row--lower .vn2-campfire-mail .vn2-button {
    min-height:1.65rem;padding:.25rem .6rem;font-size:.61rem;gap:.45rem;
  }

  /* Teaser A: a brief parchment notice and a news list, not billboards. */
  .vn-reference-atlas__row--notices .vn2-quest-notice {min-height:6.25rem;padding:.5rem .85rem;gap:.65rem;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__seal {font-size:2rem;padding:.12rem .4rem;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__content {gap:.12rem;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__content .vn2-kicker {font-size:.52rem;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__content h2 {font-size:1.35rem!important;line-height:1.02!important;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__content > p:last-child {font-size:.67rem;line-height:1.28;}
  .vn-reference-atlas__row--notices .vn2-quest-notice__button {padding:.5rem .65rem;gap:.45rem;font-size:.68rem;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list {min-height:0;padding:.7rem .85rem;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list__header {gap:.2rem;margin-bottom:.4rem;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list h2 {font-size:1.35rem!important;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list__entries li a {min-height:2.6rem;padding:.3rem 0;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list__thumbnail {flex-basis:2.45rem;height:2.45rem;}
  .vn-reference-atlas__row--notices .vn2-dispatch-list > .vn2-text-link {margin-top:.55rem;font-size:.7rem;}

  /* Row 05: the FAQ and panoramic closing chapter are 155–157px high. */
  .vn-reference-atlas__row--closing > .vn-reference-atlas__module > .vn2 {
    flex:none;height:auto!important;min-height:9.75rem!important;
    max-height:none;overflow:visible;
  }
  .vn-reference-atlas__row--closing > .vn-reference-atlas__module > .vn2-final-chapter {
    overflow:hidden;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq {
    padding:.4rem .7rem;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq__header {
    margin-bottom:.3rem;gap:0;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq__header .vn2-kicker {
    display:none;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq h2 {
    font-size:1.3rem!important;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq__item {
    margin-bottom:.1rem;
  }
  .vn-reference-atlas__row--closing .vn2-rpg-faq__item summary {
    min-height:1.4rem;padding:.18rem .5rem;
    font-size:.64rem;line-height:1.15;
  }
  .vn-reference-atlas__row--closing .vn2-final-chapter__content {
    padding:1.1rem 1.6rem;gap:.4rem;
  }
  .vn-reference-atlas__row--closing .vn2-final-chapter h2 {
    font-size:2.3rem!important;line-height:1.03;
  }
  .vn-reference-atlas__row--closing .vn2-final-chapter .vn2-copy {
    font-size:.75rem;
  }
  .vn-reference-atlas__row--closing .vn2-final-chapter .vn2-button {
    min-height:2rem;padding:.4rem .7rem;font-size:.69rem;
  }/*
   * Image-frame contract: each illustration fills exactly one assigned stage.
   * Theme CSS and WordPress global image dimensions must not shrink a cover
   * image into a thin band above an empty panel.
   */
.vn-reference-atlas__row--top .vn2-world-card__art,
.vn-reference-atlas__row--features .vn2-dialogue-window__portrait,
.vn-reference-atlas__row--lower .vn2-field-note__art,
.vn-reference-atlas__row--lower .vn2-campfire-mail__scene,
.vn-reference-atlas__row--closing .vn2-final-chapter__art {
    overflow:hidden;min-height:0;
  }
.vn-reference-atlas__row--top .vn2-world-card__art > img,
.vn-reference-atlas__row--features .vn2-dialogue-window__portrait > img,
.vn-reference-atlas__row--lower .vn2-field-note__art > img,
.vn-reference-atlas__row--lower .vn2-campfire-mail__scene > img,
.vn-reference-atlas__row--closing .vn2-final-chapter__art > img {
    position:absolute!important;inset:0;display:block!important;
    width:100%!important;height:100%!important;
    min-width:100%;max-width:none!important;max-height:none!important;
    margin:0!important;object-fit:var(--vn2-media-fit,cover)!important;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%)!important;
  }
  .vn-reference-atlas__row--lower .vn2-field-note__art,
  .vn-reference-atlas__row--lower .vn2-campfire-mail__scene {
    position:relative;display:block;align-self:stretch;
    height:100%!important;min-height:0!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media {
    position:relative;align-self:stretch;overflow:hidden;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media > img {
    position:absolute!important;inset:0;display:block!important;
    width:100%!important;height:100%!important;
    max-width:none!important;max-height:none!important;margin:0!important;
    object-fit:contain!important;object-position:center center;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__thumbnails {
    z-index:5;
  }

  /*
   * WordPress adds margin-block-start to sibling Groups. In a CSS grid that
   * moves columns 02/03 down by a full block gap and then doubles the distance
   * to the next row. Align every labelled artboard at the same y coordinate.
   */
  .vn-reference-atlas > .vn-reference-atlas__row,
  .vn-reference-atlas__row > .vn-reference-atlas__module {
    margin-block-start:0!important;
  }/*
   * The teaser duel has two legible full shirts on a single battlefield,
   * a VS crest at their center and short caption plates at their feet.
   * No source shirt's white background should turn the whole forest beige.
   */































  /* Let the actual WooCommerce product be the spotlight headline. The
   * reference has one product title, not an unrelated headline plus a second
   * smaller product name; HTML remains editable and no product data is faked. */
  .vn-reference-atlas__row--features .vn2-item-inspect__content {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:repeat(6,auto);
    align-content:center;
    justify-items:start;gap:clamp(.35rem,.7vw,.75rem);
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content > h2 {display:none;}
  .vn-reference-atlas__row--features .vn2-item-inspect__content > .vn2-kicker {grid-row:1;}
  .vn-reference-atlas__row--features .vn2-item-inspect__record {display:contents;}
  .vn-reference-atlas__row--features .vn2-item-inspect__record > span {display:none;}
  .vn-reference-atlas__row--features .vn2-item-inspect__record h3 {
    grid-row:2;font-family:Georgia,serif!important;
    font-size:1.38rem!important;line-height:1.05!important;letter-spacing:-.025em;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content > .vn2-copy {grid-row:3;}
  .vn-reference-atlas__row--features .vn2-item-inspect__record .vn2-item-inspect__price {grid-row:4;font-size:1.02rem;line-height:1.15;}
  .vn-reference-atlas__row--features .vn2-item-inspect__sizes {grid-row:5;gap:.25rem;}
  .vn-reference-atlas__row--features .vn2-item-inspect__content > .vn2-button {grid-row:6;justify-self:start;}

  /*
   * Spotlight merchandise should sit to the right of its real thumbnail rail;
   * the source image must never be covered by the gallery controls. The stage
   * is plain parchment instead of a ghost illustration behind the product.
   */
  .vn-reference-atlas__row--features .vn2-item-inspect__media::before {
    background:linear-gradient(0deg,#699b832a,transparent 41%);
    opacity:1;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media::after {
    inset:.4rem;border:1px solid #4c776b;
    box-shadow:none;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media:has(.vn2-item-inspect__thumbnails) > img {
    left:2.55rem!important;width:calc(100% - 2.9rem)!important;
    min-width:0!important;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__thumbnails {
    left:.45rem;top:2.35rem;bottom:.45rem;
    max-height:calc(100% - 2.8rem);
    align-content:start;grid-auto-rows:max-content;
    overflow:hidden;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__thumb {
    width:2rem;height:2.15rem;
  }

  /* The split story retains the teaser's 58/42 image/text composition. */
  .vn-reference-atlas__row--lower .vn2-field-note {
    grid-template-columns:1.4fr 1fr!important;
  }/*
   * Final-stage garment lighting is a vignette, not two rectangular photos.
   * Fade the photo's corners while keeping the shirt body and its print intact.
   * The prompt owns the bottom strip so it does not cover real Woo prices.
   */





/* The alpha cutout replaces the earlier rectangular-photo vignette. */





  /*
   * The garment itself must not paint over the product gallery label.
   * Position chrome above the real product photo and keep the entire label.
   */
  .vn-reference-atlas__row--features .vn2-item-inspect__stamp {
    z-index:6;top:.6rem;left:.6rem;
    padding:.3rem .5rem;font-size:.57rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__media > img {
    mix-blend-mode:multiply;
  }

  /* Teaser controls are flat gold and dark outlines; no offset comic shadow. */
  .vn-reference-atlas .vn2-button--gold,
  .vn-reference-atlas .vn2-button--gold:visited {
    border:1px solid #e0bc77;
    border-radius:0;
    box-shadow:none;
  }
  .vn-reference-atlas .vn2-button--quiet {
    border-radius:0;box-shadow:none;
  }

  /* Prevent the older fill-height helpers from undoing the measured artboards. */
  .vn-reference-atlas__row--top > .vn-reference-atlas__module:nth-child(3) > .vn2-merchant-shelf,
  .vn-reference-atlas__row--lower > .vn-reference-atlas__module > .vn2 {
    flex:0 0 auto!important;
  }
}

/*
 * Intermediate desktop widths must use the SAME art-directed composition as
 * the 1536px teaser. Relax only module height enough for narrower copy; never
 * revert to the old tall, mismatched stacked layouts at 1100–1249px.
 */
@media (min-width:1100px) and (max-width:1249px) {
  .vn-reference-atlas__row--top > .vn-reference-atlas__module > .vn2 {
    height:21rem!important;max-height:21rem;
  }
  .vn-reference-atlas__row--features > .vn-reference-atlas__module > .vn2 {
    height:auto!important;min-height:18rem!important;max-height:none;
  }


  .vn-reference-atlas__row--lower > .vn-reference-atlas__module > .vn2 {
    height:11.8rem!important;max-height:11.8rem;
  }
  .vn-reference-atlas__row--closing > .vn-reference-atlas__module > .vn2 {
    height:auto!important;min-height:11rem!important;max-height:none;
  }


  .vn-reference-atlas__row--features .vn2-item-inspect__content {
    gap:.3rem;padding:.8rem;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__content .vn2-copy {
    font-size:.68rem;line-height:1.28;
  }
  .vn-reference-atlas__row--features .vn2-item-inspect__sizes small {
    display:none;
  }
  .vn-reference-atlas__row--lower .vn2-field-note h2,
  .vn-reference-atlas__row--lower .vn2-campfire-mail h2 {
    font-size:clamp(1.15rem,1.6vw,1.45rem)!important;
  }
}/* Duel crop is independently art-directed on phones, without moving its controls. */






/* Quick Travel destinations keep their own editable microcopy and a
 * keyboard-focusable full-card hit target, like the approved RPG menu. */
.vn2-quick-travel__label {
  display:block;line-height:1.18;text-wrap:balance;
}
.vn2-quick-travel__description {
  display:block;max-width:20ch;color:#b9cac6;
  font-size:.75rem;font-weight:500;line-height:1.35;
  text-wrap:balance;overflow-wrap:anywhere;
}
.vn2-quick-travel__links :is(a,.vn2-quick-travel__entry):focus-visible {
  outline:2px solid #ffe4a8;outline-offset:3px;
}

@media (min-width:1100px) {
  /* Four genuine menu entries, not four isolated icons: compact but readable. */
  .vn-reference-atlas__row--lower .vn2-quick-travel__links :is(a,.vn2-quick-travel__entry) {
    justify-content:flex-start;gap:.28rem;padding:.43rem .3rem;
  }
  .vn-reference-atlas__row--lower .vn2-travel-icon {
    width:2.3rem;height:2.3rem;margin:0;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__label {
    display:grid;place-items:center;min-height:1.55rem;
    font-size:.69rem;line-height:1.12;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__description {
    font-size:.56rem;line-height:1.2;max-width:14ch;
    min-height:2.4em;
  }
  .vn-reference-atlas__row--lower .vn2-quick-travel__index {
    margin-top:auto;align-self:flex-end;font-size:.51rem;
  }/* Teaser B's duel has full-size garments over ONE forest clearing. */












}


/*
 * A whole chapter card rises on hover. The Atlas locks each module to the
 * reference artboard height, so its generic overflow:hidden must not clip
 * the raised collection cards. Their own artwork remains clipped internally.
 */
.vn-reference-atlas__row--top > .vn-reference-atlas__module > .vn2-collection-showcase {
  overflow:visible;
}
.vn2-collection-showcase__cards {
  overflow:visible;
}
.vn2-collection-showcase__cards .vn2-world-card:is(:hover,:focus-within) {
  transform:translateY(-5px);
  z-index:2;
}


/*
 * The Atlas cutscene keeps its scene-wide portrait and a readable command
 * panel below 1100px; the desktop lower-third only belongs to its artboard.
 */
@media (max-width:1099px) {
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene {
    display:grid;position:relative;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    height:auto;max-height:none;min-height:0;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene > .vn2-dialogue-window__portrait {
    position:relative;inset:auto;
    display:block;grid-column:1;grid-row:1;
    width:100%;height:auto;min-height:0;max-height:none;
    aspect-ratio:16/7;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content {
    position:relative;left:auto;right:auto;bottom:auto;
    display:grid;grid-column:1;grid-row:2;
    grid-template-columns:minmax(0,1fr);
    gap:.45rem;align-items:start;
    margin:-1.25rem clamp(.7rem,2vw,1.25rem) clamp(.7rem,2vw,1.25rem);
    padding:clamp(.8rem,2vw,1.1rem);min-height:0;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__content > .vn2-kicker,
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene h2,
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech,
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {
    grid-column:1;grid-row:auto;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__speech {
    max-width:70ch;font-size:clamp(.78rem,1.6vw,.95rem);line-height:1.45;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.5rem;align-self:stretch;
  }
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-choice {
    min-height:2.5rem;font-size:clamp(.72rem,1.4vw,.86rem);
  }
}
@media (max-width:480px) {
  .vn-reference-atlas__row--features .vn2-dialogue-window--cutscene .vn2-dialogue-window__choices {
    grid-template-columns:minmax(0,1fr);
  }
}


/*
 * Three published Market products need tappable, readable tiles on phones.
 * Keep the desktop/tablet trio, but let the mobile Atlas use its available
 * width instead of forcing ~100px-wide merchandise cards.
 */
@media (max-width:520px) {
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf {
    grid-template-columns:repeat(2,minmax(0,1fr));
    height:auto;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item,
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__product {
    height:auto;
  }
}
@media (max-width:360px) {
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf {
    grid-template-columns:minmax(0,1fr);
  }
}


/*
 * An odd final product completes the phone Market as a landscape feature,
 * using the same WooCommerce image, label, price and link as ordinary tiles.
 */
@media (min-width:361px) and (max-width:520px) {
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child {
    grid-column:1/-1;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child .vn2-shelf__product {
    display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr) auto;
    min-height:10.5rem;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child .vn2-shelf__image {
    grid-column:1;grid-row:1/span 3;
    height:100%;aspect-ratio:auto;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child .vn2-shelf__meta {
    grid-column:2;grid-row:1;
    margin:.55rem .65rem .1rem;padding-bottom:.35rem;font-size:.56rem;
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child .vn2-shelf__name {
    grid-column:2;grid-row:2;align-self:end;
    margin:.4rem .65rem 0;font-size:clamp(.98rem,4vw,1.12rem);
  }
  .vn-reference-atlas__row--top .vn2-merchant-shelf--count-3 .vn2-shelf__item:last-child .vn2-shelf__bottom {
    grid-column:2;grid-row:3;
    margin:0;padding:.5rem .65rem .65rem;gap:.35rem;align-items:center;
  }
}


/*
 * Gutenberg's limited inline emphasis is real storefront typography, and
 * authored titles or URLs may be longer than the Atlas's sample strings.
 */
.vn2 :is(.vn2-copy,.vn2-dialogue-window__speech p,.vn2-quick-travel__description,.vn2-world-card__content h3,.vn2-shelf__name) {
  overflow-wrap:anywhere;
}
.vn2 :is(.vn2-copy,.vn2-dialogue-window__speech p) :is(strong,b) {
  font-weight:850;
}
.vn2 :is(.vn2-copy,.vn2-dialogue-window__speech p) :is(em,i) {
  font-style:italic;
}

/*
 * The image rail and choice menu are real touch interactions. Give them
 * 44px targets on phone-sized touchscreens while keeping desktop artboards.
 */
@media (max-width:600px) and (pointer:coarse) {
  .vn2-item-inspect__thumb {
    min-width:2.75rem;min-height:2.75rem;
  }
  .vn2-rpg-faq__item summary,
  .vn2-dialogue-window--cutscene .vn2-choice {
    min-height:2.75rem;
  }
}


/* The Atlas QA appendix is deliberately separate from the approved thirteen panels. */
.vn-reference-atlas__row--qa {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:clamp(.75rem,1.05vw,1rem);
  padding-top:1rem;
  border-top:1px solid #d5b57d55;
}
.vn-reference-atlas__row--qa .vn-reference-atlas__qa-heading {
  grid-column:1/-1;
  margin:0!important;
  color:#ffdda0;
  font:700 .72rem/1.4 ui-monospace,monospace;
  letter-spacing:.12em;
}
.vn-reference-atlas__row--qa > .vn-reference-atlas__module {
  grid-column:auto!important;
  align-self:start!important;
  min-width:0;
}
.vn-reference-atlas__row--qa > .vn-reference-atlas__module > .vn2 {
  flex:0 0 auto!important;
  min-width:0;
  height:auto!important;
}
@media (min-width:1100px) {
  .vn-reference-atlas__row--qa {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  /* These are true narrow-content fixtures, not three equally tall billboards. */
  .vn-reference-atlas__row--qa .vn2-field-note {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto;
    min-height:0;
  }
  .vn-reference-atlas__row--qa .vn2-field-note__art {
    height:10rem;
    min-height:0;
  }
  .vn-reference-atlas__row--qa .vn2-field-note__content {
    padding:1rem;
    gap:.55rem;
    justify-content:flex-start;
  }
  .vn-reference-atlas__row--qa .vn2-field-note h2 {
    font-size:clamp(1.5rem,2vw,1.9rem)!important;
    line-height:1.08!important;
  }

  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto;
    min-height:0;
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-dialogue-window__portrait {
    height:10rem;
    min-height:0;
    max-height:none;
    background-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,35%);
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-dialogue-window__portrait > img {
    width:100%;
    height:100%;
    object-fit:var(--vn2-media-fit,cover)!important;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,35%)!important;
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-dialogue-window__content {
    padding:1rem;
    gap:.55rem;
    justify-content:flex-start;
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait h2 {
    font-size:1.7rem!important;
    line-height:1.05!important;
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-dialogue-window__speech {
    padding:.75rem;
    font-size:.85rem;
    line-height:1.5;
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-dialogue-window__choices {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vn-reference-atlas__row--qa .vn2-dialogue-window--portrait .vn2-choice {
    min-height:2.75rem;
    padding:.5rem;
    font-size:.72rem;
  }
  .vn-reference-atlas__row--qa .vn2-rpg-faq {
    padding:1rem;
  }
  .vn-reference-atlas__row--qa .vn2-rpg-faq h2 {
    font-size:clamp(1.5rem,2vw,1.9rem)!important;
  }
  .vn-reference-atlas__row--qa .vn2-rpg-faq__header {
    margin-bottom:.8rem;
  }
  .vn-reference-atlas__row--qa .vn2-rpg-faq__answer {
    padding:.75rem;
    line-height:1.5;
  }
}


/* Keep ordinary collection names intact while retaining emergency wraps for custom titles. */
@media (min-width:1100px) {
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card__content {
    padding-inline:.5rem;
  }
  .vn-reference-atlas__row--top .vn2-collection-showcase__cards .vn2-world-card h3 {
    font-size:clamp(1.05rem,1.23vw,1.32rem)!important;
    letter-spacing:-.055em;
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:none;
    text-wrap:balance;
  }
}/*
 * The optional sign is a real navigation menu. In a narrow column it must
 * join the normal layout beneath the hero copy instead of overlaying it or
 * disappearing at tablet and phone widths. The approved sign-free hero is
 * completely unaffected.
 */

/* Genuine Gutenberg Columns have their own widths. Let copy and the optional
 * menu determine a Column hero's height instead of imposing a 43rem desktop
 * stage on a quarter-width card. The artwork remains inset across the stage. */

/*
 * The scene itself is the query container. Style its descendants using the
 * real available width, whether it is a top-level hero or a nested Column.
 * Keep the navigation available on touchscreens rather than hiding it.
 */







/* At card widths, the Opening Scene becomes a legible vertical composition. */






















/*
   * A narrow Opening Scene remains an illustrated scene, not a separate
   * picture and text card. Only the overlay composition changes with width.
   */
























/* Below the smallest practical two-column menu, preserve 44px link targets. */





/* Additional Atlas fixtures test existing composition variants without
 * forcing the thirteen approved reference panels to change shape. */
.vn-reference-atlas__row--qa-variants .vn2-world-card--chapter {
  width:100%;
  min-height:0;
}
.vn-reference-atlas__row--qa-variants .vn2-world-card--chapter .vn2-world-card__content {
  padding:1rem;
  gap:.55rem;
  min-height:0;
}
.vn-reference-atlas__row--qa-variants .vn2-world-card--chapter h3 {
  max-width:100%;
  font-size:clamp(1.4rem,2vw,1.85rem)!important;
  overflow-wrap:anywhere;
}


@media (min-width:1100px) {
  .vn-reference-atlas__row--qa-variants .vn2-field-note--reverse {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;
    /* Let the story define the row height; the adjacent artwork stretches to match. */
    grid-template-rows:auto!important;
    align-items:stretch;
    min-height:0;
  }
  .vn-reference-atlas__row--qa-variants .vn2-field-note--reverse .vn2-field-note__content {
    grid-column:1;
    grid-row:1;
    padding:.9rem;
    gap:.5rem;
  }
  .vn-reference-atlas__row--qa-variants .vn2-field-note--reverse h2 {
    font-size:clamp(1.25rem,1.55vw,1.5rem)!important;
    line-height:1.08!important;
  }
  .vn-reference-atlas__row--qa-variants .vn2-field-note--reverse .vn2-field-note__art {
    grid-column:2;
    grid-row:1;
    position:relative;
    display:block;
    align-self:stretch;
    height:auto!important;
    min-height:0!important;
    overflow:hidden;
  }
  .vn-reference-atlas__row--qa-variants .vn2-field-note--reverse .vn2-field-note__art > img {
    position:absolute!important;
    inset:0;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:var(--vn2-media-fit,cover)!important;
    object-position:var(--vn2-focal-x,50%) var(--vn2-focal-y,50%)!important;
  }
}/*
 * Design Duel / original concept composition.
 * The forest is a single covering art layer; garments float on it without
 * opaque merchandise tiles. Keep Woo names, prices, links and artwork live.
 */














/* Garments use alpha cutouts, so no blending stack is required. */




/* Garments must fit their own row; never bleed into the menus or parchment. */



/* Cutouts retain the original garment's color without a darkening blend. */







/* Let the action occupy the height of the title and price, as in an RPG item menu. */













/* Pixel-stepped parchment edges are CSS, so editable descriptions can grow. */





/*
 * Reference composition: lift the duelants into the forest canopy, leaving a
 * clean gap between their menus and the parchment without absolute positioning
 * that would collide with a longer, directly editable description.
 */







/* One compact artboard still compares two designs at phone widths. */













/*
 * A narrow Gutenberg column needs a different battle layout from a phone-
 * width viewport: each challenger becomes a compact merchandise row. The
 * scene still covers the whole block, with VS between rows, not across links.
 */





























































/* Keep all genuine product actions visibly keyboard-accessible. */

/* Atlas uses a short artboard, but must share the same transparent stage. */















/*
 * Design Duel / reference-faithful layout for every block width.
 * The Atlas is a consumer of the component, not a different composition:
 * keep heading, shop link, design names, prices and parchment in the frame.
 */





















/*
 * On wide face-offs, the product artwork should occupy the upper clearing,
 * like the approved mockup. Lift only transparent merch (cutouts and concept
 * previews), not a fallback opaque WooCommerce photo. Keep the DOM grid and
 * parchment in flow so longer editable copy never collides with the menus.
 */







































/* Atlas artboard widths must not hide or compress any Design Duel content. */









/* Narrow Columns become two legible merchandise rows rather than clipped tees. */













































/*
 * Design Duel real product photography.
 * A near-white background is removed from a cached PNG server-side rather
 * than darkening every product pixel with mix-blend-mode:multiply.
 * If Imagick or the source photo is unsuitable, show the original photo
 * legibly instead of rendering a nearly invisible black shirt.
 */







/*
 * Design Duel: approved illustration study (05) finishing pass.
 * Keep these shared between storefront and Gutenberg instead of creating a
 * separate Atlas-only composition. The two garments stop at the RPG menus;
 * an edited parchment message can still grow in normal document flow.
 */




/* Prevent the image's hidden lower torso from hanging below its nameplate. */





/* The original calls for a central medallion, not a floating title. */



/* Two compact inventory windows, with a second row for the real price. */









/* One dark outline and one parchment face, with pixel-stepped side tabs. */






/* A concept cart is decorative until a real product is selected. */

/*
 * Design Duel / compact composition.
 *
 * The full-size forest is a 1.74:1 face-off, but a narrow Columns block must
 * grow vertically. Otherwise the second fighter and its price overflow the
 * fixed-ratio grid and disappear underneath the parchment. Keep the compact
 * size based on its parent module, not the browser viewport.
 *
 * @since 0.12.0
 */












































/*
   * At one-third and one-quarter column widths, the image/details split
   * becomes illegible. Give each challenger a shirt row and a full-width
   * inventory panel, while keeping the VS and parchment between/below them.
   */
















/* Standalone small-viewport blocks may not have an ancestor CSS container. */



/*
 * Native Gutenberg Columns do not automatically create CSS query containers.
 * Make Design Duel's own column a container, and let the outer block derive
 * its height from the arena and parchment rather than forcing a wide ratio.
 * The arena remains proportional via the wide container query above.
 */




