/* Reusable catalogue scenes. Motion is an enhancement; every card is a native link. */
.gw-hero--worlds { padding-block:36px 72px; overflow:clip; background:radial-gradient(ellipse at 84% 20%,#ffe4d470,transparent 50%); }
.gw-hero--worlds .gw-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; }
.gw-hero--worlds .gw-hero-title,.gw-hero--worlds .gw-hero-title :is(h1,h2) { font-size:clamp(44px,4.65vw,70px); letter-spacing:-.045em; }
.gw-hero--worlds .gw-highlight { transform:rotate(-2deg); padding:2px 16px 7px; margin-top:5px; }
.gw-hero--worlds .gw-actions .gw-button:nth-child(n) { flex:0 1 auto; min-height:54px; padding:14px 22px; font-size:14px; }
.gw-world-stage { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:24px 12px 12px; isolation:isolate; }
.gw-world-stage:before { content:""; position:absolute; z-index:-1; inset:20% -4% 0 3%; border-radius:45% 50% 32% 44%; background:var(--gw-lavender); transform:rotate(-9deg); }
.gw-world-shot { position:relative; display:flex; flex-direction:column; color:var(--gw-ink); text-decoration:none; background:white; border:6px solid white; border-radius:22px; overflow:hidden; box-shadow:0 18px 38px #42226920; min-width:0; }
.gw-world-shot--1 { grid-column:1/-1; margin-right:24px; transform:rotate(-3deg); }
.gw-world-shot--2 { transform:rotate(-5deg); margin-top:-16px; }
.gw-world-shot--3 { transform:rotate(5deg); margin-top:-4px; }
.gw-world-shot-art { overflow:hidden; border-radius:16px; aspect-ratio:1.9; background:var(--gw-soft); }
.gw-world-shot:not(.gw-world-shot--1) .gw-world-shot-art { aspect-ratio:1.65; }
.gw-world-image { display:block; width:100%; height:100%; object-fit:cover; }
.gw-world-image--cover { object-fit:contain; padding:12px; box-sizing:border-box; background:var(--gw-lavender); }
.gw-world-shot-copy { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 8px 8px; }
.gw-world-shot-copy strong { display:block; font:700 clamp(16px,1.35vw,20px)/1.12 var(--gw-display); letter-spacing:-.4px; }
.gw-world-shot-copy small { display:block; margin-bottom:5px; color:var(--gw-purple); font:700 10px/1.4 var(--gw-body); letter-spacing:1px; text-transform:uppercase; }
.gw-world-shot--1 .gw-world-shot-copy strong { font-size:clamp(22px,1.85vw,28px); }
.gw-world-arrow { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; background:var(--gw-soft); color:var(--gw-purple); font-size:20px; }
.gw-world-sticker { position:absolute; right:-2px; top:0; padding:15px 20px; border-radius:18px; background:var(--gw-apricot); color:var(--gw-ink); box-shadow:0 7px 20px #42226920; transform:rotate(8deg); font:800 14px/1.25 var(--gw-display); white-space:pre-line; text-align:center; pointer-events:none; }
.gw-world-spark { position:absolute; left:-28px; top:10px; color:var(--gw-purple); font:400 68px/1 var(--gw-body); transform:rotate(-12deg); z-index:1; pointer-events:none; }
.gw-world-stage--1 .gw-world-shot--1 { margin:0; }.gw-world-stage--1:before { inset:0; }
.gw-world-stage--2 .gw-world-shot--2 { grid-column:2; }
.gw-hero--worlds+.gw-benefits { border-top:1px solid var(--gw-line); padding-block:28px; }
.gw-discovery--audiences { position:relative; padding-block:72px 80px; overflow:clip; }
.gw-discovery--audiences:before { content:"✳"; position:absolute; top:18px; right:5%; color:#dfd2f51a; font:400 220px/1 var(--gw-body); pointer-events:none; }
.gw-discovery .gw-section-heading { gap:18px; }
.gw-discovery .gw-section-heading .gw-lead { max-width:720px; }
.gw-worlds-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.gw-world-card { display:flex; flex-direction:column; grid-column:span 2; min-width:0; text-decoration:none; color:var(--gw-ink); border:6px solid var(--gw-cream); border-radius:26px; background:var(--gw-cream); overflow:hidden; }
.gw-world-card:nth-child(-n+2) { grid-column:span 3; }
.gw-world-card-art { position:relative; height:210px; overflow:hidden; border-radius:20px; background:var(--gw-lavender); }
.gw-world-card:nth-child(-n+2) .gw-world-card-art { height:260px; }
.gw-world-example { position:absolute; left:12px; bottom:12px; max-width:calc(100% - 48px); background:var(--gw-cream); padding:7px 10px; border-radius:8px; color:var(--gw-deep); font-size:11px; line-height:1.3; font-weight:700; }
.gw-world-card-copy { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 14px 14px; flex:1; }
.gw-world-label { display:block; color:var(--gw-purple); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; margin-bottom:5px; }
.gw-world-card-copy strong { display:block; font:700 clamp(22px,2vw,30px)/1.08 var(--gw-display); letter-spacing:-.6px; }
.gw-world-count { flex-shrink:0; color:var(--gw-purple); font-size:12px; white-space:nowrap; }
.gw-world-count span { display:inline-block; margin-left:5px; font-size:24px; vertical-align:middle; }
.gw-discovery-documents { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gw-sample-card { display:flex; flex-direction:column; min-width:0; border-radius:28px; background:white; overflow:hidden; }
.gw-sample-art { display:grid; place-items:center; position:relative; aspect-ratio:1; isolation:isolate; overflow:hidden; background:var(--gw-deep); }
.gw-sample-world { position:absolute; z-index:-2; width:100%; height:100%; object-fit:cover; }
.gw-sample-art:after { content:""; position:absolute; z-index:-1; inset:0; background:#291b3540; }
.gw-sample-page { width:62%; height:78%; object-fit:contain; transform:rotate(-7deg); filter:drop-shadow(0 12px 15px #291b355c); }
.gw-sample-card:nth-child(2n) .gw-sample-page { transform:rotate(6deg); }
.gw-sample-tag { position:absolute; bottom:14px; left:14px; right:14px; display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:10px; background:var(--gw-cream); color:var(--gw-deep); font-size:10px; font-weight:700; letter-spacing:.6px; }
.gw-sample-copy { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:24px; flex:1; }
.gw-sample-copy .gw-eyebrow { font-size:10px; line-height:1.5; }
.gw-sample-copy h3 { font:700 28px/1.1 var(--gw-display); letter-spacing:-.6px; margin:0; }
.gw-sample-copy .gw-text-link { font-size:14px; font-weight:700; margin-top:auto; }
.gw-world-shot:focus-visible,.gw-world-card:focus-visible,.gw-sample-art:focus-visible { outline:3px solid var(--gw-apricot); outline-offset:5px; }
.gw-sample-copy a:focus-visible { outline:3px solid var(--gw-purple); outline-offset:4px; }
.editor-styles-wrapper .gw-discovery-preview .gw-section-heading { display:none; }
.editor-styles-wrapper .gw-discovery-preview .gw-discovery { padding-block:0; }
.editor-styles-wrapper .gw-discovery-editor { padding-block:32px; }
.editor-styles-wrapper .gw-hero-dynamic-preview .gw-hero--worlds { background:none; overflow:visible; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .gw-world-shot,.gw-world-card { transition:translate .28s ease,box-shadow .28s ease; }
 .gw-world-shot:hover,.gw-world-card:hover { translate:0 -5px; box-shadow:0 24px 44px #291b3533; }
 .gw-world-card-art .gw-world-image,.gw-world-shot-art .gw-world-image,.gw-sample-page { transition:scale .45s cubic-bezier(.2,.65,.3,1); }
 .gw-world-card:hover .gw-world-image,.gw-world-shot:hover .gw-world-image { scale:1.035; }
 .gw-sample-art:hover .gw-sample-page { scale:1.04; }
}
@media(max-width:1100px) {
 .gw-hero--worlds .gw-hero-grid { gap:32px; }
 .gw-world-stage { gap:12px; }
 .gw-world-shot-copy { gap:5px; }
 .gw-world-shot-copy strong { font-size:16px; }
 .gw-world-shot--1 .gw-world-shot-copy strong { font-size:23px; }
 .gw-world-card-copy { flex-wrap:wrap; padding:14px 10px 10px; }
 .gw-world-card-art { height:190px; }
 .gw-world-card:nth-child(-n+2) .gw-world-card-art { height:240px; }
}
@media(min-width:701px) and (max-width:900px) {
 .gw-hero--worlds .gw-hero-grid { grid-template-columns:1fr 1.05fr; gap:24px; }
 .gw-hero--worlds .gw-hero-title,.gw-hero--worlds .gw-hero-title :is(h1,h2) { font-size:42px; }
 .gw-world-shot { border-width:4px; }
 .gw-world-stage { padding-inline:0; }
 .gw-world-shot--1 { margin-right:0; }
 .gw-world-shot-copy { padding:10px 4px 6px; }
 .gw-world-shot-copy strong { font-size:14px; }
 .gw-world-arrow { display:none; }
 .gw-world-sticker { font-size:11px; padding:12px; }
 .gw-world-spark { font-size:44px; left:-12px; }
 .gw-worlds-grid { gap:16px; }
 .gw-world-card-art { height:150px; }
 .gw-world-card:nth-child(-n+2) .gw-world-card-art { height:210px; }
 .gw-world-card-copy strong { font-size:22px; }
 .gw-discovery-documents { gap:16px; }
 .gw-sample-copy { padding:18px; }.gw-sample-copy h3 { font-size:24px; }
}
@media(max-width:700px) {
 .gw-hero--worlds { padding-block:24px 40px; }
 .gw-hero--worlds .gw-hero-grid { display:flex; flex-direction:column; gap:32px; }
 .gw-hero--worlds .gw-hero-copy { display:contents; }
 .gw-hero--worlds .gw-pill { order:0; }
 .gw-hero--worlds .gw-hero-title { order:1; align-self:flex-start; font-size:clamp(36px,10vw,62px); margin-top:-12px; }
 .gw-hero--worlds .gw-hero-art { order:3; }
 .gw-hero--worlds .gw-lead { order:4; }
 .gw-hero--worlds .gw-actions { display:contents; }
 .gw-hero--worlds .gw-actions .gw-button:first-child { order:2; margin-top:-12px; }
 .gw-hero--worlds .gw-actions .gw-button:nth-child(2) { order:6; margin-top:-12px; border:0; min-height:44px; padding:8px 16px; text-decoration:underline; text-underline-offset:4px; }
 .gw-hero--worlds .gw-note { order:5; align-self:flex-start; margin-top:-16px; font-size:12px; }
 .gw-hero--worlds .gw-actions .gw-button:nth-child(n) { flex:none; width:100%; }
 .gw-world-stage { padding:16px 3px 10px; gap:16px; }
 .gw-world-shot { border-width:5px; border-radius:18px; }
 .gw-world-shot-art { border-radius:12px; }
 .gw-world-shot--1 { margin-right:12px; }
 .gw-world-shot-copy { padding:10px 4px 6px; gap:4px; }
 .gw-world-shot-copy strong { font-size:15px; }
 .gw-world-shot--1 .gw-world-shot-copy strong { font-size:22px; }
 .gw-world-shot:not(.gw-world-shot--1) .gw-world-arrow { display:none; }
 .gw-world-sticker { font-size:11px; padding:12px 14px; border-radius:13px; }
 .gw-world-spark { font-size:44px; top:0; left:-12px; }
 .gw-discovery--audiences { padding-block:48px 56px; }
 .gw-discovery--audiences:before { font-size:140px; top:12px; right:-12px; }
 .gw-worlds-grid { grid-template-columns:1fr 1fr; gap:16px; }
 .gw-world-card,.gw-world-card:nth-child(-n+2) { grid-column:auto; border-width:4px; border-radius:22px; }
 .gw-world-card:first-child { grid-column:1/-1; }
 .gw-world-card .gw-world-card-art,.gw-world-card:nth-child(-n+2) .gw-world-card-art { height:auto; aspect-ratio:1.1; border-radius:16px; }
 .gw-world-card:first-child .gw-world-card-art { aspect-ratio:1.8; }
 .gw-world-card-copy { gap:8px; padding:12px 8px 8px; }
 .gw-world-card-copy strong { font-size:22px; }
 .gw-world-label { font-size:9px; }
 .gw-world-example { font-size:9px; left:8px; bottom:8px; padding:6px 8px; max-width:calc(100% - 32px); }
 .gw-world-count { font-size:11px; }
 .gw-world-count span { font-size:18px; }
 .gw-discovery-documents { grid-template-columns:1fr; gap:24px; }
 .gw-sample-art { aspect-ratio:1.15; }
 .gw-sample-copy { padding:22px; }
}
@media(max-width:350px) {
 .gw-world-stage { gap:10px; }
 .gw-world-shot-copy strong { font-size:13px; }
 .gw-world-shot--1 .gw-world-shot-copy strong { font-size:19px; }
 .gw-world-shot-copy small { font-size:8px; }
 .gw-world-card-copy strong { font-size:19px; }
 .gw-worlds-grid { gap:12px; }
 .gw-world-label { letter-spacing:0; }
}
