@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f4f8fc;--ice:#eaf5fb;--blue:#24659c;--navy:#0b263f;--turquoise:#06d0d1;--white:#fff;--coral:#ff704f;--soft:#dbeaf4;--font:Manrope,'Segoe UI',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--ice);color:var(--navy);font-family:var(--font);font-size:17px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-weight:750;letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(40px,4.1vw,64px)}h2{font-size:clamp(38px,4.3vw,64px)}h3{font-size:23px;letter-spacing:-.035em;line-height:1.25;font-weight:700}p{text-wrap:pretty}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--turquoise);color:var(--navy)}.shell{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.skip{position:absolute;left:24px;top:-90px;z-index:50;background:var(--navy);color:var(--white);padding:12px 20px}.skip:focus{top:12px}.header{height:110px;display:flex;align-items:center;gap:44px;position:relative;z-index:10}.brand{width:142px;display:block;flex-shrink:0}.header nav{display:flex;gap:40px;margin-left:auto;font-size:15px;font-weight:650}.header nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:52px;padding:14px 27px;border-radius:100px;background:var(--navy);color:var(--white);font-size:15px;line-height:1.4;font-weight:700;transition:background .2s,transform .3s var(--ease)}.button:hover{background:var(--blue);transform:translateY(-3px)}.button:active{transform:scale(.97)}.button span{font-size:23px;line-height:1}.menu{display:none}.hero{position:relative;min-height:760px;display:grid;grid-template-columns:.39fr .61fr;align-items:center;padding-bottom:88px}.hero-copy{position:relative;z-index:2;padding-bottom:10px;max-width:480px}.hero-copy p{font-size:18px;max-width:360px;margin:32px 0}.quiet-link{display:block;font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:6px;transition:color .2s}.quiet-link:hover{color:var(--blue)}.hero-copy .quiet-link{margin-top:21px}.hero-art{position:relative;align-self:stretch;min-width:0}.hero-logo{position:absolute;width:62%;left:23%;top:0;z-index:2;animation:logo-in .9s var(--ease) both}.hero-hospital{position:absolute;width:124%;max-width:none;left:-13%;top:155px;mix-blend-mode:multiply;animation:hospital-in 1.1s var(--ease) both}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;gap:24px;font-size:14px;font-weight:600}.hero-bottom a{display:flex;gap:28px;align-items:center}.hero-bottom span{font-size:23px}.principles{display:grid;grid-template-columns:1.13fr repeat(3,1fr);gap:35px;padding:65px 0 110px}.principles h2{font-size:30px;letter-spacing:-.04em}.principles h3{font-size:20px;margin-bottom:17px}.principles p{font-size:15px;line-height:1.7}.team{background:var(--navy);color:var(--white);padding:100px 0;overflow:hidden}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.team-art{margin-left:-35px}.team-art img{width:110%;max-width:none}.section-copy p{margin-top:28px;max-width:450px}.section-copy .quiet-link{margin-top:32px}.team .quiet-link:hover{color:var(--turquoise)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.section-heading>p{max-width:415px}.worlds{padding-block:125px 115px}.world-selector{display:flex;gap:10px;margin:40px 0 32px;flex-wrap:wrap}.world-selector button{background:var(--soft);color:var(--navy);font-size:15px;padding:12px 24px;border-radius:100px;font-weight:650;transition:background .2s,color .2s,transform .3s}.world-selector button.active{background:var(--navy);color:var(--white)}.world-selector button:hover{transform:translateY(-2px)}.world-showcase{background:var(--white);overflow:hidden}.world-showcase img{width:100%;max-height:760px;object-fit:contain;mix-blend-mode:multiply}.world-caption{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:28px;align-items:start}.world-caption p{max-width:540px;font-size:16px}.scenarios{background:var(--soft);padding:100px 0 85px}.scenario-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:45px;align-items:center;margin-top:55px}.scenario-list{display:flex;flex-direction:column;gap:6px}.scenario-list button{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;background:transparent;color:var(--navy);padding:15px 20px;font-size:23px;font-weight:650;border-radius:0;transition:background .2s,color .2s,transform .25s}.scenario-list button.active{background:var(--navy);color:var(--white)}.scenario-list button:hover{transform:translateX(4px)}.scenario-list span{font-size:24px}.scenario-detail{padding:28px 20px 0;min-height:188px}.scenario-detail h3{margin-bottom:17px}.scenario-detail p{font-size:16px}.equipment{width:112%;max-width:none;margin-left:-4%}.process{padding-block:120px}.process>h2{max-width:700px}.process ol{list-style:none;padding:0;margin:55px 0 0;display:grid;gap:35px}.process li{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:baseline}.process li:nth-child(2){padding-left:6%}.process li:nth-child(3){padding-left:12%}.process h3{font-size:30px}.process p{font-size:16px;max-width:480px}.start{background:var(--blue);color:var(--white);padding:90px 0}.start-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.start h2{font-size:clamp(42px,5vw,76px)}.start p{max-width:425px;margin-top:28px}.start .button{margin-top:30px;background:var(--white);color:var(--navy)}.start .button:hover{background:var(--turquoise)}.start img{width:100%}.small{font-size:13px;line-height:1.6}.start .small{margin-top:18px}.footer{padding-block:55px;display:flex;justify-content:space-between;align-items:center;gap:35px}.footer p{font-size:14px;margin-top:12px}.footer nav{display:flex;gap:30px;font-size:14px}.footer .small{margin:0}.footer .brand{width:170px}
dialog{width:min(660px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:48px;background:var(--paper);color:var(--navy);border:0;overflow:auto}dialog::backdrop{background:rgba(11,38,63,.72)}dialog h2{font-size:38px;margin:14px 0 24px}dialog>p{margin-bottom:24px}.close{position:absolute;top:10px;right:12px;width:44px;height:44px;background:var(--soft);color:var(--navy);font-size:28px;border-radius:50%}.choices{display:grid;gap:12px;margin:25px 0}.choices button{padding:18px 20px;text-align:left;background:var(--soft);color:var(--navy);font-size:16px;transition:background .2s}.choices button:hover,.choices button[aria-pressed=true]{background:var(--navy);color:var(--white)}.feedback{background:var(--white);padding:23px;margin-bottom:24px}.feedback h3{margin:10px 0 16px}.reset{margin-top:20px;background:var(--navy);color:var(--white);padding:12px 16px;border-radius:100px;font-size:14px}dialog>.small{margin-bottom:0}.feedback[hidden]{display:none}
@keyframes logo-in{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hospital-in{from{opacity:.3;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.pending{opacity:0;transform:translateY(24px)}.reveal:nth-child(2){transition-delay:70ms}.reveal:nth-child(3){transition-delay:140ms}.hero-copy h1{animation:logo-in .7s var(--ease)}.hero-copy>p{animation:logo-in .8s var(--ease)}.hero-copy>.button{animation:logo-in .9s var(--ease)}@supports(animation-timeline:view()){.hero-hospital{animation:hospital-in 1.1s var(--ease),hospital-drift linear both;animation-timeline:auto,view();animation-range:normal,entry 0% exit 100%}@keyframes hospital-drift{from{translate:0 -8px}to{translate:0 22px}}}}
@media(min-width:1650px){.hero{min-height:860px}.hero-hospital{top:185px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero{min-height:680px;grid-template-columns:.43fr .57fr}.hero-hospital{top:160px;width:130%;left:-15%}.hero-logo{width:80%;left:10%;top:30px}.hero-copy p{max-width:320px;font-size:16px}.header{gap:25px}.header nav{gap:25px}.principles{grid-template-columns:1fr 1fr;gap:40px}.split{gap:30px}.section-heading>p{max-width:345px}.scenario-layout{gap:20px}.footer{flex-wrap:wrap}.process h3{font-size:26px}}
@media(max-width:1000px){body{font-size:16px}.shell{width:calc(100% - 40px)}.header{height:88px;gap:14px}.brand{width:112px}.header-cta{margin-left:auto;min-height:44px;padding:11px 18px;font-size:13px}.menu{display:flex;width:42px;height:44px;flex-direction:column;justify-content:center;gap:6px;background:transparent;padding:10px}.menu span{display:block;height:2px;background:var(--navy);width:22px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:24px;background:var(--white);font-size:17px;flex-direction:column;gap:22px}.header nav.open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0}.hero-copy{padding-top:24px;max-width:none}.hero h1{font-size:clamp(32px,7.7vw,54px);letter-spacing:-.05em}.hero-copy p{max-width:480px;margin:24px 0;font-size:16px}.hero-copy .quiet-link{display:none}.hero-art{height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;margin-top:30px}.hero-logo{position:relative;width:72%;left:auto;top:auto;margin-bottom:-8px}.hero-hospital{position:relative;top:auto;left:auto;width:112%;max-width:none}.hero-bottom{position:static;display:flex;margin:22px 0 0;padding-bottom:30px;font-size:13px;align-items:center}.hero-bottom p{max-width:150px}.hero-bottom a{max-width:150px;gap:12px}.principles{padding:45px 0 65px;gap:30px;grid-template-columns:1fr}.principles h2{font-size:34px}.principles>div{max-width:440px}.principles h3{font-size:23px;margin-bottom:10px}.principles p{font-size:16px}.team{padding:55px 0}.split{grid-template-columns:1fr;gap:28px}.team-art{margin:0;order:2}.team-art img{width:112%;max-width:none;margin-left:-6%}.section-copy p{margin-top:24px}.section-copy .quiet-link{margin-top:24px}h2{font-size:42px}.worlds{padding-block:70px}.section-heading{display:block}.section-heading>p{max-width:470px;margin-top:26px}.world-selector{gap:8px;margin:30px 0 24px}.world-selector button{font-size:13px;padding:11px 16px}.world-showcase{margin-inline:-10px}.world-caption{grid-template-columns:1fr;gap:12px;margin-top:24px}.world-caption h3{font-size:26px}.scenarios{padding:65px 0 45px}.scenario-layout{grid-template-columns:1fr;margin-top:30px;gap:24px}.scenario-list button{font-size:21px;padding:14px 16px;min-height:54px}.scenario-detail{padding:25px 6px 0;min-height:200px}.equipment{width:108%;max-width:none;margin-left:-4%}.process{padding-block:70px}.process ol{gap:32px;margin-top:35px}.process li{display:block}.process li:nth-child(2),.process li:nth-child(3){padding-left:0}.process h3{font-size:24px}.process p{margin-top:12px}.start{padding:65px 0}.start-inner{grid-template-columns:1fr;gap:35px}.start h2{font-size:48px}.start img{max-width:470px;margin:auto}.footer{padding-block:35px;display:block}.footer nav{flex-wrap:wrap;gap:22px;margin:28px 0}.footer .brand{width:150px}dialog{padding:32px 22px}dialog h2{font-size:32px;padding-right:12px}.choices button{font-size:15px}.feedback{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}

/* Refinements after the first browser review: full silhouettes and two-line titles. */
h1{font-size:clamp(32px,3.4vw,54px)}
.hero-hospital{width:100%;left:0;mix-blend-mode:normal}
.hero-logo{width:72%;left:14%}
.equipment{width:100%;margin-left:0}
.principles p{font-size:16px}
@media(max-width:1100px){.hero-hospital{width:100%;left:0;top:190px}.hero-logo{width:88%;left:6%}}
@media(max-width:1000px){.hero h1{font-size:clamp(30px,7.7vw,48px)}.hero-hospital{width:100%;top:auto;left:auto}.hero-logo{width:78%;left:auto}.equipment{width:100%;margin-left:0}h2{font-size:38px}}
.principles h2{font-size:26px}
@media(max-width:1000px){.principles h2{font-size:34px}}

.hero-copy{max-width:none}
h1{font-size:clamp(32px,3.2vw,50px)}
@media(min-width:1001px){.hero-copy{width:100%}.hero h1{white-space:nowrap}}
@media(max-width:1000px) and (min-width:600px){.hero{display:grid;grid-template-columns:1fr;padding-top:20px}.hero-copy{max-width:640px}.hero h1{font-size:56px}.hero-copy p{max-width:580px}.hero-art{margin-top:20px;max-width:760px;width:100%;margin-inline:auto}.hero-logo{width:55%}.hero-hospital{width:100%}.hero-bottom{margin-top:22px}.principles{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr 1fr}.team-art{order:0}.section-copy h2{font-size:42px}}
/* Five-role type scale; small, body, subheading, title and display. */
body,.hero-copy p,.principles p,.section-heading>p,.section-copy p,.world-caption p,.scenario-detail p,.process p,.start p{font-size:16px}
.header nav,.button,.quiet-link,.hero-bottom,.world-selector button,.small,.footer p,.footer nav{font-size:14px}
.principles h2,.principles h3,h3,.process h3,.scenario-list button{font-size:24px}
h1,h2,.start h2{font-size:46px}
@media(max-width:1100px) and (min-width:1001px){h1,h2,.start h2{font-size:38px}}
@media(max-width:1000px){h1,h2,.start h2,.section-copy h2{font-size:46px}.hero h1{font-size:46px}.principles h2{font-size:24px}.header-cta,.world-selector button{font-size:14px}.world-caption h3{font-size:24px}}
@media(max-width:599px){.hero h1{font-size:30px}h2,.start h2,.section-copy h2{font-size:38px}.principles h2{font-size:30px}.process h3,.scenario-list button{font-size:24px}}
/* Unreleased example round: communicate status without suggesting an action. */
.button:disabled{cursor:default;opacity:.72}
.button:disabled:hover,.button:disabled:active{transform:none;background:var(--navy)}
.start .button:disabled:hover{background:var(--white)}
/* Freestanding raster dioramas retain their own translucent ground shadows. */
.world-showcase{background:transparent;overflow:visible}
.world-showcase img,.hero-hospital{mix-blend-mode:normal}
/* Ground the cutout platforms whose PNGs have no exterior contact shadow.
   Other dioramas and scenario resources already include their own shadows. */
.world-showcase img[src$="/station-modular-belebt.png"],
.world-showcase img[src$="/op-belebt.png"]{filter:drop-shadow(0 12px 9px rgba(11,38,63,.22))}
.team-art img{filter:drop-shadow(0 12px 9px rgba(0,8,18,.46))}
@media(max-width:599px){
  .world-showcase img[src$="/station-modular-belebt.png"],
  .world-showcase img[src$="/op-belebt.png"]{filter:drop-shadow(0 6px 5px rgba(11,38,63,.22))}
  .team-art img{filter:drop-shadow(0 6px 5px rgba(0,8,18,.46))}
}
/* Responsive hero: both columns may shrink; the artwork remains in normal flow. */
.hero{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:32px;min-height:0;padding-top:20px;padding-bottom:28px;align-items:center}
.hero-copy{min-width:0;width:auto;max-width:none;padding:0}
.hero h1{font-size:clamp(30px,3.2vw,46px);white-space:normal}
.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;align-self:center;width:100%;max-width:880px;min-width:0;min-height:0;height:auto;margin:0;justify-self:end}
.hero-logo{position:relative;inset:auto;display:block;width:72%;max-width:620px;height:auto;flex:none;margin:0 0 -3%;z-index:1}
.hero-hospital{position:relative;inset:auto;display:block;width:100%;max-width:100%;height:auto;flex:none;margin:0;animation:hospital-in 1.1s var(--ease) both;translate:none}
.hero-bottom{position:static;grid-column:1/-1;width:100%;margin:12px 0 0;padding:0;gap:24px}
@media(min-width:1001px){.hero-art{min-height:0}.hero-bottom p,.hero-bottom a{max-width:none}}
@media(max-width:1000px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:24px;padding-bottom:30px}.hero-copy{width:100%;max-width:640px}.hero h1{font-size:clamp(30px,5.8vw,46px)}.hero-art{align-self:center;max-width:700px;margin:0}.hero-logo{width:68%;margin-bottom:-3%}.hero-bottom{margin:0}.hero-copy p{max-width:580px}}
@media(prefers-reduced-motion:reduce){.hero-hospital{animation:none}}
/* Small, independent depth movements preserve the responsive layout and reveals. */
@media(prefers-reduced-motion:no-preference){
  .scroll-art{translate:var(--pointer-x,0px) calc(var(--scroll-y,0px) + var(--pointer-y,0px));rotate:var(--pointer-rotate,none);scale:none;transition:translate .45s cubic-bezier(.2,.7,.2,1),rotate .55s cubic-bezier(.2,.7,.2,1)}
  .hero-logo.scroll-art,.closing-logo.scroll-art{animation:logo-hover 8s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 65%}
  .hero-logo.scroll-art.motion-visible,.closing-logo.scroll-art.motion-visible{animation-play-state:running}
  @keyframes logo-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
}
@media(prefers-reduced-motion:reduce){.scroll-art{translate:none;rotate:none;scale:none}.hero-logo.scroll-art{animation:none;transform:none}}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .hero-logo.scroll-art,.closing-logo.scroll-art{transition:translate .25s ease-out,rotate .3s ease-out}
}

/* The logo floats in front of the hospital roof at every breakpoint. */
.hero-logo{margin-bottom:-14%;z-index:2}
.scenario-list button{transition:background .28s,color .28s,transform .25s}
/* Reserve room for the longest description so automatic changes do not shift the page. */
.scenario-detail{min-height:260px}
@media(max-width:599px){.scenario-detail{min-height:330px}}

.hero-bottom{justify-content:flex-end}
.process .process-intro{max-width:none;margin-top:28px;font-size:24px;line-height:1.45}
/* Keep each decision and its explanation together in one readable sequence. */
.process{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,110px);align-items:start;padding-block:100px}
.process-heading h2{font-size:clamp(36px,3.4vw,46px);max-width:480px}
.process .process-intro{margin-top:30px;font-size:20px;line-height:1.5;color:var(--blue)}
.process ol{margin:0;display:grid;gap:36px}
.process li,.process li:nth-child(2),.process li:nth-child(3){display:block;padding:0}
.process h3{font-size:clamp(24px,2.15vw,31px);line-height:1.2;letter-spacing:-.04em;color:var(--blue)}
.process li p{margin-top:12px;max-width:530px;line-height:1.7}
@media(max-width:760px){.process{grid-template-columns:1fr;gap:38px;padding-block:65px}.process .process-intro{margin-top:22px;font-size:18px}.process ol{gap:30px}.process h3{font-size:26px}}
/* Independent character layers meet behind the floating foreground logo. */
.closing-art{position:relative;isolation:isolate;aspect-ratio:5/4;min-width:0;width:100%;--meet-gap:0%}
.closing-art .closing-character{position:absolute;top:0;width:50%;height:auto;z-index:1;clip-path:inset(0 0 25% 0);pointer-events:none}
.closing-character--nurse{left:3%;transform:translateX(calc(-1 * var(--meet-gap)))}
.closing-character--doctor{right:3%;transform:translateX(var(--meet-gap))}
.closing-art .closing-logo{position:absolute;left:0;bottom:0;width:100%;max-width:none;height:auto;z-index:2}
@media(prefers-reduced-motion:no-preference){.closing-character{transition:transform .3s ease-out}}
@media(prefers-reduced-motion:reduce){.closing-character--nurse,.closing-character--doctor{transform:none}}

/* Shared type roles keep the same hierarchy across every section. */
:root{--type-small:14px;--type-body:16px;--type-lead:20px;--type-sub:24px;--type-title:clamp(36px,3.3vw,46px)}
body,button{font-family:var(--font)}
body,.hero-copy p,.principles p,.section-heading>p,.section-copy p,.world-caption p,.scenario-detail p,.process li p,.start p{font-size:var(--type-body);font-weight:400;line-height:1.7}
h2,.section-copy h2,.start h2,.process-heading h2{font-size:var(--type-title);font-weight:750;letter-spacing:-.045em;line-height:1.12}
.hero h1{font-weight:750;letter-spacing:-.045em;line-height:1.12}
h3,.principles h2,.principles h3,.world-caption h3,.process h3{font-size:var(--type-sub);font-weight:700;letter-spacing:-.035em;line-height:1.3}
.principles h3{margin-bottom:12px}
.process .process-intro{font-size:var(--type-lead);font-weight:500;line-height:1.5}
.header nav,.footer nav,.footer p,.small,.button,.quiet-link,.world-selector button{font-size:var(--type-small);line-height:1.5}
.header nav,.quiet-link,.world-selector button{font-weight:650}
.scenario-list button{font-size:var(--type-lead);font-weight:650;line-height:1.4;letter-spacing:-.025em}
.scenario-list span{flex-shrink:0;font-size:var(--type-lead)}
.section-copy p+p{margin-top:20px}
.world-caption p,.process li p{max-width:56ch}
@media(max-width:1000px){.header nav{font-size:var(--type-body)}}
@media(max-width:599px){:root{--type-title:clamp(30px,9.2vw,36px)}.process .process-intro{font-size:var(--type-lead)}}
/* Caption stays near the image without covering the central clinic rooms. */
.worlds{padding-bottom:80px}
.world-showcase{position:relative;padding-bottom:72px}
.world-showcase .world-caption{position:absolute;left:0;bottom:0;display:block;width:min(420px,38%);margin:0;padding:24px 28px;background:var(--navy);color:var(--white);z-index:2}
.world-caption p{margin-top:12px}
.world-caption h3{font-size:var(--type-sub)}
@media(max-width:1000px){.world-showcase{padding-bottom:0}.world-showcase .world-caption{position:static;width:auto;margin:20px 10px 0;padding:24px}.worlds{padding-bottom:65px}}
/* Cinematic stage, matching the BCM landing slideshow's layered crossfade. */
.world-showcase{height:clamp(520px,54vw,760px);padding:0;overflow:hidden;isolation:isolate;background:var(--navy)}
.world-showcase #gallery-image,.world-showcase .gallery-previous{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;background:var(--navy);margin:0}
.world-showcase .gallery-previous{z-index:0;opacity:1}
.world-showcase #gallery-image{z-index:1}
.world-showcase::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(11,38,63,.95),rgba(11,38,63,.6) 28%,rgba(11,38,63,0) 65%)}
.world-showcase .world-caption{position:absolute;left:44px;bottom:44px;width:min(350px,32%);padding:0;margin:0;background:none;z-index:3}
@media(prefers-reduced-motion:no-preference){
  .world-showcase #gallery-image,.world-showcase .gallery-previous{animation:gallery-drift 18s ease-in-out infinite alternate}
  .world-showcase.gallery-paused img{animation-play-state:paused}
  @keyframes gallery-drift{from{transform:scale(1.01)}to{transform:scale(1.045)}}
}
@media(max-width:1000px){
  .world-showcase{height:auto}
  .world-showcase #gallery-image{position:relative;display:block;aspect-ratio:3/2;height:auto;object-fit:contain}
  .world-showcase .gallery-previous{aspect-ratio:3/2;height:auto;object-fit:contain}
  .world-showcase::after{display:none}
  .world-showcase .world-caption{position:relative;inset:auto;width:auto;padding:24px;margin:0;background:var(--navy)}
}
