/* One composition: the city and the headline occupy the same hero. */
.hero-city,.hero-city-cue{display:none}
.concepts-hero[data-hero-concept=worlds]{--concept-ink:#eef6f0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;gap:0;min-height:clamp(720px,calc(100svh - 112px),930px);padding:22px 5.5vw 40px;background:#07151e;color:#eef6f0;border:0}
.concepts-hero[data-hero-concept=worlds]>.concept-visual{display:none}
.concepts-hero[data-hero-concept=worlds]>.hero-city{display:block;position:absolute;inset:0;z-index:0;overflow:hidden;touch-action:pan-y;cursor:crosshair}
.hero-city canvas,.hero-city-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hero-city canvas{opacity:0;transition:opacity .5s}
.hero-city[data-city-state=ready] canvas{opacity:1}
.hero-city-fallback{object-position:right center;opacity:.48;filter:saturate(.8)}
.hero-city[data-city-state=ready] .hero-city-fallback{visibility:hidden}
.hero-city:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#07151e 0%,#07151ef5 21%,#07151ec9 34%,#07151e45 50%,#07151e00 66%),linear-gradient(180deg,#07151e65,transparent 24%,transparent 82%,#07151e)}
.concepts-hero[data-hero-concept=worlds]>.concept-selector{grid-row:1;grid-column:1;align-self:start;border-color:#29414a;padding-bottom:14px;background:transparent;pointer-events:none}
.concepts-hero[data-hero-concept=worlds] .concept-tabs{pointer-events:auto}
.concepts-hero[data-hero-concept=worlds] .concept-selector>span{color:#8aa8ad}
.concepts-hero[data-hero-concept=worlds] .concept-tabs button{color:#a2b9be}
.concepts-hero[data-hero-concept=worlds] .concept-tabs button>span{color:#74959f}
.concepts-hero[data-hero-concept=worlds] .concept-tabs button:hover{background:#18333dc9;color:#f0faf7}
.concepts-hero[data-hero-concept=worlds] .concept-tabs button[aria-selected=true]{color:#dcf7ee;background:#1c3a42d9;border-color:#44636b}
.concepts-hero[data-hero-concept=worlds] .concept-tabs button[aria-selected=true]>span{color:#9ad8c8}
.concepts-hero[data-hero-concept=worlds]>.hero-copy{grid-row:2;grid-column:1;position:static;display:block;width:min(49%,660px);max-width:none;align-self:center;padding:48px 0 76px}
.concepts-hero[data-hero-concept=worlds] h1{font-size:clamp(48px,4.7vw,76px);font-weight:450;line-height:1.045;letter-spacing:-.055em;margin:0 0 28px;color:#f1f7ef;max-width:650px;text-wrap:balance}
.concepts-hero[data-hero-concept=worlds] h1 em{color:#a4e5cf}
.concepts-hero[data-hero-concept=worlds] .hero-promise{font-size:clamp(18px,1.45vw,22px);line-height:1.45;color:#d3e4df;max-width:490px;margin:0 0 19px;letter-spacing:-.02em}
.concepts-hero[data-hero-concept=worlds] .hero-lead{font-size:15px;line-height:1.7;color:#a9bec2;max-width:465px;margin:0}
.concepts-hero[data-hero-concept=worlds] .hero-actions{margin-top:28px;gap:22px}
.concepts-hero[data-hero-concept=worlds] .button{background:#c5edab;border-color:#c5edab;color:#122e30;padding:16px 21px;font-size:14px;min-height:54px}
.concepts-hero[data-hero-concept=worlds] .button:hover{background:#daf7c7;box-shadow:0 8px 32px #0003}
.concepts-hero[data-hero-concept=worlds] .text-link{color:#d5eae1;border-color:#6f968d;font-size:13px}
.concepts-hero[data-hero-concept=worlds] :is(a,button):focus-visible{outline:2px solid #b9f2d7;outline-offset:5px}
.concepts-hero[data-hero-concept=worlds] .hero-city-cue{position:absolute;display:flex;align-items:center;gap:12px;right:5.5vw;bottom:36px;z-index:2;padding:12px 0 0 18px;border-left:1px solid #52717d;pointer-events:none}
.hero-city-cue p{font-size:12px;color:#c1d8d9;margin:0 0 7px}
.hero-city-cue small{font:10px/1.4 ui-monospace,SFMono-Regular,monospace;color:#779ca7;font-variant-numeric:tabular-nums;letter-spacing:.015em;display:block}
.city-cue-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#a6e6d0;box-shadow:0 0 12px #a6e6d065}
.hero-city-cue button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;background:#112c36a1;border:1px solid #476670;color:#b5e4d6;border-radius:50%;padding:11px;margin-left:7px}
.hero-city-cue button:hover{background:#20414b;color:#fff}
.hero-city-cue svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round}
@media(min-width:1700px){.concepts-hero[data-hero-concept=worlds]{padding-left:max(5.5vw,calc((100vw - 1650px)/2));padding-right:max(5.5vw,calc((100vw - 1650px)/2))}}
@media(max-width:1100px) and (min-width:651px){.concepts-hero[data-hero-concept=worlds]>.hero-copy{width:53%;padding-bottom:92px}.concepts-hero[data-hero-concept=worlds] h1{font-size:clamp(43px,5.1vw,56px)}.concepts-hero[data-hero-concept=worlds] .hero-promise{font-size:18px}.concepts-hero[data-hero-concept=worlds] .hero-lead{font-size:14px}.concepts-hero[data-hero-concept=worlds] .hero-actions{gap:17px;align-items:start;flex-direction:column}.concepts-hero[data-hero-concept=worlds] .concept-selector{border-top:0;flex-wrap:nowrap;gap:18px}.concept-tabs button{padding-left:11px;padding-right:11px}.hero-city:after{background:linear-gradient(90deg,#07151e 0%,#07151ef2 20%,#07151ec9 35%,#07151e55 52%,transparent 72%),linear-gradient(0deg,#07151e,transparent 22%)}}
@media(max-width:650px){
 .concepts-hero[data-hero-concept=worlds]{display:block;min-height:0;padding:16px 6vw 34px}
 .concepts-hero[data-hero-concept=worlds]>.concept-selector{padding:0 0 12px;border-top:0;display:block}
 .concepts-hero[data-hero-concept=worlds] .concept-selector>span{display:none}
 .concepts-hero[data-hero-concept=worlds] .concept-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .concepts-hero[data-hero-concept=worlds] .concept-tabs button{padding:8px 9px;min-height:50px;font-size:11px;display:block}
 .concepts-hero[data-hero-concept=worlds] .concept-tabs button>span{display:block;font-size:9px;margin-bottom:3px}
 .concepts-hero[data-hero-concept=worlds]>.hero-copy{width:100%;padding:31px 0 0;display:block;position:relative}
 .concepts-hero[data-hero-concept=worlds] h1{font-size:clamp(40px,10.5vw,58px);max-width:520px;margin:0;line-height:1.04;letter-spacing:-.05em;text-wrap:initial}
 .concepts-hero[data-hero-concept=worlds] h1 br{display:none}
 .concepts-hero[data-hero-concept=worlds] .hero-promise{margin:0 0 18px;font-size:19px;max-width:none}
 .concepts-hero[data-hero-concept=worlds] .hero-lead{font-size:14px;line-height:1.65;max-width:none;margin-top:22px}
 .concepts-hero[data-hero-concept=worlds] .hero-actions{margin-top:25px;gap:19px;align-items:center}
 .concepts-hero[data-hero-concept=worlds] .button{padding:14px 16px;font-size:12px;min-height:50px}
 .concepts-hero[data-hero-concept=worlds] .text-link{font-size:12px}
 .hero-city:after{background:linear-gradient(180deg,#07151e 0%,#07151ef0 25%,#07151e91 42%,#07151e00 53%,#07151e00 65%,#07151ed6 78%,#07151e 86%)}
 .concepts-hero[data-hero-concept=worlds] .hero-city-cue{position:relative;left:auto;right:auto;bottom:auto;top:auto;margin:230px 0 26px;padding:0;border:0;gap:9px;justify-content:start}
 .hero-city-cue p{font-size:11px;margin-bottom:5px}.hero-city-cue small{font-size:9px}.hero-city-cue button{margin-left:auto;background:#0b2530d9}.hero-city-fallback{object-position:65% center}
}
@media(prefers-reduced-motion:reduce){.hero-city canvas{transition:none}}
