/* A single viewport-wide particle field, independent of the document's scroll. */
.medical-backdrop{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:strict}
.medical-backdrop canvas{position:relative;z-index:1;display:block;width:100%;height:100%;pointer-events:none}
.medical-backdrop:before{content:'';position:absolute;inset:-25%;opacity:var(--light-opacity,.34);background:radial-gradient(ellipse at var(--light-x,58%) var(--light-y,40%),#fffbc18c,transparent 42%),radial-gradient(ellipse at 30% 60%,#8c9c6266,transparent 55%),linear-gradient(112deg,transparent 31%,#c4cd8b40 43%,#fffde68c 48%,transparent 58%);transform:rotate(var(--light-angle,-24deg));filter:blur(35px);pointer-events:none}
.medical-backdrop:after{content:'';position:absolute;inset:0;opacity:var(--pointer-strength,0);background:radial-gradient(circle 65px at var(--pointer-x,-500px) var(--pointer-y,-500px),#fff6b345,transparent 75%);mix-blend-mode:soft-light}
.scene-action{opacity:var(--action-presence,1);translate:0 var(--action-y,0px);scale:var(--action-scale,1);filter:blur(var(--action-blur,0px));transform-origin:center;will-change:translate,scale,opacity}
.scene-action:hover,.scene-action:focus-visible{opacity:1;translate:0 0;scale:1;filter:none}
.motion-paused .scene-action{opacity:1;translate:0 0;scale:1;filter:none}
.floating-identity .light-hero,.floating-identity .sleep-section{isolation:auto}
.floating-identity .light-hero:before{z-index:0}.floating-identity .hero-light-field{z-index:0}
.floating-identity .sleep-section:before{z-index:0}
.floating-identity .sleep-copy,.floating-identity .sleep-art,.floating-identity .origin-copy,.floating-identity .origin-photo,.floating-identity .journal>.section-heading,.floating-identity .journal>.journal-grid,.floating-identity .visit-info,.floating-identity .visit-image{position:relative;z-index:2}
.floating-identity .gallery-sticky{z-index:2;background:transparent}
.floating-identity .site-header,.floating-identity .footer{position:relative;z-index:4}
/* The mobile menu must sit above the hero copy and its particle layers. */
@media(max-width:850px){.floating-identity .site-header{z-index:20}}
.logo-stage{pointer-events:none;height:550px;margin-left:18px}
.logo-fallback{position:absolute;inset:15% 10%;background:url('/assets/logo-original.png') center 12%/210% auto no-repeat;opacity:.5}
.particles-ready .logo-fallback{visibility:hidden}
.origin-photo>img{object-position:60% center}.origin-services{grid-template-columns:1fr}
.reading-scene .floating-backdrop{position:absolute;z-index:0}
.reading-scene .medical-backdrop canvas{opacity:1}
@media(max-width:699px){.logo-stage{height:340px;margin:0}.floating-identity .origin-services{grid-template-columns:1fr}.origin-services>a{font-size:13px}.logo-fallback{inset:10% 12%}}
@media(max-width:360px){.logo-stage{height:290px}}
@media(prefers-reduced-motion:reduce){.medical-backdrop:after{display:none}.scene-action{opacity:1;translate:0 0;scale:1;filter:none}}
