
/* These rules never select a terminal label, control, color token or font stack. */
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-evidence-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"intro campaign" "aside campaign";column-gap:clamp(28px,4vw,72px);row-gap:28px;align-items:start}
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-intro{grid-area:intro;align-self:start}
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-campaign{grid-area:campaign;min-width:0;max-width:none;width:100%;margin:0;align-self:start}
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-aside{grid-area:aside;align-self:start}
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-intro h1{font-size:clamp(44px,5.05vw,88px);line-height:1.04;letter-spacing:-.055em}
html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-positioning{max-width:34ch;margin-top:24px}
/* Wrap only readable role text. The existing MY.ROLE element is unchanged. */
.preview-role-copy{display:contents}
html body[data-composition-preview=proposed] .preview-role-copy{display:block;font-size:min(var(--preview-role-size),clamp(16px,1.3vw,20px));line-height:1.55;letter-spacing:normal;max-width:56ch;text-wrap:pretty}
/* Alternate large / detail scale without reordering or cropping the photographs. */
@media(min-width:901px){
 html body[data-composition-preview=proposed] [data-preview-photo-grid]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:56px 24px;align-items:start}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure{min-width:0;width:100%;max-width:none;margin:0;padding-top:0;grid-row:auto}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure:nth-of-type(1){grid-column:1/8}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure:nth-of-type(2){grid-column:9/13;align-self:end}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure:nth-of-type(3){grid-column:1/5}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure:nth-of-type(4){grid-column:6/13}
 html body[data-composition-preview=proposed] [data-preview-photo-grid]>figure>img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
 html body[data-composition-preview=proposed][data-preview-route=asteroid] .art-directed-opening{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"intro product" "artwork product" "context product";align-items:start;gap:28px clamp(32px,5vw,72px)}
 html body[data-composition-preview=proposed][data-preview-route=asteroid] .art-directed-opening>.editorial-lead{grid-area:artwork;width:min(100%,320px);margin:0;justify-self:start}
}
[data-preview-product]{display:none}
html body[data-composition-preview=proposed] [data-preview-product]{display:block;grid-area:product;margin:0;min-width:0;width:100%}
html body[data-composition-preview=proposed] [data-preview-product]>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:auto}
@media(max-width:900px){
 html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-evidence-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "campaign" "aside";gap:28px}
 html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-intro h1{font-size:clamp(38px,9.8vw,72px)}
 html body.editorial-home[data-editorial-refinement][data-composition-preview=proposed] .hero-positioning{max-width:47ch;margin-top:18px}
 html body[data-composition-preview=proposed][data-preview-route=asteroid] .art-directed-opening{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "product" "artwork" "context";gap:28px}
 html body[data-composition-preview=proposed][data-preview-route=asteroid] .art-directed-opening>.editorial-lead{width:min(100%,320px);margin:0;justify-self:start}
}
