
/* MagicMed Cinematic Motion — uses native scroll; no wheel event interception. */
.cinematic-section{height:170vh;background:#06182c;color:#fff;position:relative}
.cinematic-sticky{height:100vh;position:sticky;top:0;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 68% 45%,#123d69 0%,#071b32 52%,#050f20)}
.cinematic-grid{width:100%;display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center}
.cinematic-copy{position:relative;z-index:2}.cinematic-copy .eyebrow{color:#63e0d5}
.suture-title{font-size:clamp(2.6rem,4.6vw,5rem);line-height:1.12;margin:10px 0 25px;letter-spacing:-.047em;min-height:3.6em}
.suture-title .suture-char{display:inline-block;opacity:.2;transform:translateY(16px) rotateX(75deg);transition:opacity .12s,transform .28s;will-change:transform}
.suture-title .suture-char.active{opacity:1;transform:none;text-shadow:0 0 28px rgba(65,205,239,.3)}
.suture-title .suture-char.highlight{color:#70e9df}
.cinematic-copy p{font-size:1.05rem;color:#aac8df;max-width:450px}.cinematic-link{background:#0e6bd2;color:white;margin-top:16px}
.journey-map{position:relative;transform:translateY(25px) scale(.92);opacity:.72;transition:transform .2s,opacity .2s;filter:drop-shadow(0 30px 50px rgba(0,0,0,.22))}
.journey-map svg{width:100%;display:block;overflow:visible}.journey-map text{fill:#bbd9e8;font:13px 'DM Sans',sans-serif;letter-spacing:.065em}
.route-glow{fill:none;stroke:#5dedde;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:12 19;filter:url(#lineglow);animation:route-dash 2.5s linear infinite}
.route-b{stroke:#ff9bbf;animation-delay:-1s}.map-pulse{fill:none;stroke:#72ebdf;stroke-width:3;transform-origin:520px 225px;animation:map-pulse 2.3s ease-out infinite}
@keyframes route-dash{to{stroke-dashoffset:-124}}@keyframes map-pulse{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(3.2)}}
.bubble-section{padding-top:70px!important}.physics-world{height:390px;position:relative;overflow:hidden;border-radius:34px;border:1px solid #d8e8f4;background:radial-gradient(circle at 48% 55%,#e3f6fe,#f5faff 65%);touch-action:pan-y}
.physics-world:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#58a9d020 1px,transparent 1px);background-size:25px 25px;pointer-events:none}
.bubble-item{position:absolute;top:0;left:0;width:145px;height:145px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 25% 18%,#ffffffed 0%,#f7ffffba 45%,#96c8e068 79%,#fff8 100%);border:2px solid rgba(255,255,255,.95);box-shadow:inset -14px -18px 30px rgba(45,102,149,.13),inset 8px 8px 20px rgba(255,255,255,.95),0 18px 35px #084e8430;cursor:grab;user-select:none;touch-action:none;will-change:transform;transition:box-shadow .2s}
.bubble-item:active{cursor:grabbing;box-shadow:0 30px 55px #084e8450,inset 0 0 35px #fff8}
.bubble-item img{max-width:112px;max-height:84px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 6px #0c3f6028)}.physics-note{font-size:12px;color:#68819a;margin:14px 0}
.partner-detail-area{background:linear-gradient(180deg,#f3f9ff,#fff)}.partner-story-heading{text-align:center;max-width:700px;margin:0 auto 55px}.partner-story-heading h2{margin:0 0 20px}.partner-story-heading em{font-style:normal;color:#1176d8}.partner-story-heading p{color:#637992}
.partner-story{display:grid;grid-template-columns:.86fr 1.14fr;gap:52px;align-items:center;padding:40px;margin:26px 0 70px;border:1px solid #dae9f3;border-radius:34px;background:#fff;box-shadow:0 22px 70px #17477712}
.partner-story:nth-of-type(even){grid-template-columns:1.14fr .86fr}.partner-story:nth-of-type(even) .story-orbit{order:2}
.story-orbit{position:relative;height:355px;border-radius:28px;background:radial-gradient(circle at 42% 34%,#174875,#091e36);display:grid;place-items:center;isolation:isolate;overflow:hidden}
.story-orbit:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #83daff55;border-radius:50%;box-shadow:0 0 0 48px #2f83d518,0 0 0 93px #5cc6ed0a;animation:story-orbit 14s linear infinite}
.story-orbit-ring{position:absolute;width:315px;height:118px;border:1px solid #8ce6fb99;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 28px #34b7f53d;animation:story-orbit 10s linear infinite reverse}
@keyframes story-orbit{to{rotate:360deg}}
.story-orbit>img{position:relative;z-index:2;max-width:70%;max-height:160px;object-fit:contain;filter:drop-shadow(0 22px 22px #0007);background:#fffffff0;padding:24px;border-radius:22px;animation:story-float 6s ease-in-out infinite}
@keyframes story-float{50%{transform:translateY(-12px) rotateY(8deg)}}
.story-seq{position:absolute;left:22px;bottom:18px;color:#a5d7ee;font-weight:800;font-size:12px;letter-spacing:.14em}
.story-copy h3{font-size:clamp(2.3rem,4vw,3.8rem);margin:5px 0 15px}.story-copy>p{color:#64788e;font-size:17px;line-height:1.8}
.story-products{display:grid;gap:8px;margin:25px 0}.story-label{font-weight:800;letter-spacing:.13em;font-size:11px;color:#1772ce;margin-bottom:5px}.story-product{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e2edf4;font-size:14px}.story-product b{color:#1472d3}
.story-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.outline-brand{background:#fff;border:1px solid #d9e6f2;color:#1767bd}.site-note{font-size:12px;color:#73879a}
.product{transform-style:preserve-3d;perspective:1000px;position:relative}.product-3d-lid{transition:transform .55s cubic-bezier(.2,.8,.2,1)!important;transform-origin:center top;backface-visibility:hidden}
.product:hover .product-3d-lid,.product:focus-within .product-3d-lid{transform:rotateX(-17deg) translateY(-8px) translateZ(24px);box-shadow:0 20px 30px #174a7d22}
.product-3d-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 14px;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .45s,padding .4s}
.product:hover .product-3d-layers,.product:focus-within .product-3d-layers{max-height:130px;opacity:1;padding:0 14px 16px}
.product-3d-layers>div{min-width:0;border-radius:12px;padding:9px 7px;background:#eef7fd;transform:translateY(14px) rotateX(25deg);transition:transform .4s}.product:hover .product-3d-layers>div{transform:none}
.product-3d-layers small{font-size:8px;font-weight:800;letter-spacing:.04em;color:#1e8ec0;display:block}.product-3d-layers strong{display:block;font-size:9px;line-height:1.35;margin-top:5px;color:#1b3c5f;overflow-wrap:anywhere}
@media(max-width:850px){.cinematic-section{height:auto}.cinematic-sticky{position:relative;height:auto;padding:65px 0}.cinematic-grid,.partner-story,.partner-story:nth-of-type(even){grid-template-columns:1fr}.suture-title{min-height:0}.partner-story:nth-of-type(even) .story-orbit{order:0}.journey-map{transform:none!important;opacity:1!important}.partner-story{padding:22px;gap:25px}.story-orbit{height:250px}.bubble-item{width:115px;height:115px}.bubble-item img{max-width:90px;max-height:65px}}
@media(prefers-reduced-motion:reduce){.suture-title .suture-char{opacity:1;transform:none}.route-glow,.map-pulse,.story-orbit:before,.story-orbit-ring,.story-orbit>img{animation:none!important}.product-3d-layers{max-height:150px;opacity:1;padding:0 14px 16px}}
