:root{--omc-black:#090909;--omc-white:#fff;--omc-pink:#f23bd7;--omc-magenta:#d83de8;--omc-purple:#794cff;--omc-violet:#5130d8;--omc-blush:#f3b8ea;--omc-teal:#2f9aa3;--omc-teal-dark:#227c83;--omc-lime:#dffc69;--omc-mint:#cff5e3;--omc-cream:#fff6e8;--omc-coral:#ff6f72;--omc-radius:20px}
html{scroll-behavior:smooth}.omc-lp{margin:0;background:var(--omc-white);color:var(--omc-black);font-family:"BIZ UDPGothic","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;font-size:16px;line-height:1.72;overflow-wrap:anywhere}.omc-lp *{box-sizing:border-box}.omc-lp img{display:block;max-width:100%;height:auto}.omc-lp a{color:inherit;text-underline-offset:.2em}.omc-lp a:focus-visible,.omc-lp button:focus-visible,.omc-lp summary:focus-visible{outline:4px solid #ffd84d;outline-offset:4px}.omc-container,.omc-scene__inner{width:min(calc(100% - 36px),1120px);margin-inline:auto}.omc-skip{position:fixed;z-index:9999;top:8px;left:8px;padding:12px 18px;background:#fff;color:#090909;transform:translateY(-180%)}.omc-skip:focus{transform:none}.omc-announcement{position:relative;z-index:100;padding:7px 0;background:var(--omc-blush);color:#30102b;font-size:.76rem;font-weight:800}.omc-announcement .omc-container{display:flex;gap:10px;align-items:center;justify-content:center}.omc-announcement__link{font-weight:900}.omc-header{position:absolute;z-index:90;top:34px;left:0;width:100%;color:#fff;transition:background .25s ease,box-shadow .25s ease}.omc-header.is-scrolled{position:fixed;top:0;background:rgba(9,9,9,.86);box-shadow:0 10px 32px rgba(0,0,0,.2);backdrop-filter:blur(16px)}.omc-header__inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px}.omc-logo{color:#fff!important;font-size:.86rem;font-weight:900;letter-spacing:.17em;text-decoration:none}.omc-menu-button{min-width:48px;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(9,9,9,.22);color:#fff;font-weight:800}.omc-nav{display:none;position:absolute;top:62px;left:0;width:100%;padding:20px;background:rgba(9,9,9,.96);box-shadow:0 18px 35px rgba(0,0,0,.28);flex-direction:column;align-items:stretch}.omc-nav.is-open{display:flex}.omc-nav>a{min-height:48px;padding:10px;color:#fff;text-decoration:none}.omc-button{display:inline-flex;min-height:54px;padding:13px 22px;align-items:center;justify-content:center;border:2px solid var(--omc-teal-dark);border-radius:999px;background:var(--omc-teal-dark);color:#fff!important;font-weight:900;text-align:center;text-decoration:none;transition:transform .2s ease,background .2s ease}.omc-button:hover{transform:translateY(-2px);background:#185f65}.omc-button:active{transform:scale(.98)}.omc-button--hero{min-height:60px;border-color:#fff;border-radius:10px;background:#fff;color:#090909!important;box-shadow:0 12px 32px rgba(0,0,0,.2)}.omc-button--hero:hover{background:#f4f4f4}.omc-button--ghost{min-height:60px;border-color:rgba(255,255,255,.8);border-radius:10px;background:rgba(9,9,9,.12);color:#fff!important}.omc-button--small{min-height:44px;padding:8px 16px}.omc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.omc-support{font-size:.84rem}.omc-scene{position:relative;padding:96px 0;scroll-margin-top:68px}.omc-index,.omc-kicker{margin:0 0 14px;font-size:.72rem;font-weight:900;letter-spacing:.18em}.omc-scene h1,.omc-scene h2{margin:0;font-weight:900;line-height:.96;letter-spacing:-.05em}.omc-scene h2{font-size:clamp(3rem,13vw,5.8rem)}.omc-lead{max-width:35rem;margin:24px 0 0;font-size:clamp(1rem,4.4vw,1.22rem);font-weight:700;line-height:1.65}.omc-intro{position:relative;overflow:hidden;overflow:clip;background:var(--omc-black);color:#fff}.omc-intro__visual-clip{position:absolute;z-index:0;inset:0;overflow:hidden;overflow:clip;pointer-events:none}.omc-intro__visual-layer,.omc-intro__shared-photo-layer{position:absolute;inset:0}.omc-scene--hero{min-height:105svh;padding:44svh 0 64px;display:flex;align-items:flex-end}.omc-scene--hero:before{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(to bottom,rgba(0,0,0,.05) 15%,rgba(0,0,0,.12) 30%,rgba(201,42,221,.38) 49%,rgba(230,55,223,.9) 68%,rgba(81,48,216,.98) 100%)}.omc-scene--hero .omc-scene__inner{position:relative;z-index:3}.omc-scene--hero h1{max-width:7ch;color:#fff;font-size:clamp(4rem,18vw,7.5rem);line-height:.88}.omc-scene--hero .omc-kicker{display:inline-flex;padding:7px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(9,9,9,.2);color:#fff}.omc-scene--hero .omc-support{color:#fff}.omc-floating-photo{position:absolute;margin:0;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28));transform:rotate(var(--r,0deg))}.omc-floating-photo picture,.omc-floating-photo img{width:100%;height:100%}.omc-floating-photo img{object-fit:cover}.omc-floating-photo--1{z-index:0;inset:0 0 auto;width:100%;height:105svh;filter:none;transform:none}.omc-floating-photo--1 img{height:100%;border:0}.omc-floating-photo--2,.omc-floating-photo--3,.omc-floating-photo--4,.omc-floating-photo--5,.omc-floating-photo--6{z-index:2;width:45vw;max-width:250px;height:57vw;max-height:320px}.omc-floating-photo--2 img,.omc-floating-photo--3 img,.omc-floating-photo--4 img,.omc-floating-photo--5 img,.omc-floating-photo--6 img{border:6px solid #fff;border-radius:10px}.omc-floating-photo--2{top:118svh;left:-8%;--r:-8deg}.omc-floating-photo--3{top:132svh;right:-9%;--r:7deg}.omc-floating-photo--4{top:169svh;left:25%;--r:3deg}.omc-floating-photo--5{top:197svh;left:-12%;--r:9deg}.omc-floating-photo--6{top:207svh;right:-10%;--r:-7deg}.omc-preview-fallback{position:absolute;z-index:4;inset:15% 5% auto}.omc-preview-fallback img{width:100%;max-height:50svh;object-fit:cover;border:4px solid #fff}.omc-scene--many{min-height:150svh;padding:110px 0 190px;background:radial-gradient(circle at 80% 20%,rgba(242,59,215,.3),transparent 35%),linear-gradient(155deg,#090909 10%,#28105c 65%,#5130d8);color:#fff}.omc-scene--many .omc-scene__inner{position:relative;z-index:3}.omc-scene--many .omc-index{color:var(--omc-blush)}.omc-scene--many h2{font-size:clamp(3.7rem,16vw,7.5rem)}.omc-scene--many p:not(.omc-index):not(.omc-many__final){max-width:25rem;font-size:1.12rem}.omc-many__final{margin:72svh 0 0 auto;max-width:7ch;color:var(--omc-lime);font-size:clamp(3.3rem,14vw,6.5rem);font-weight:900;line-height:.95;letter-spacing:-.05em}.omc-scene--lost{min-height:125svh;overflow:hidden;overflow:clip;background:#090909;color:#fff}.omc-scene--lost:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 20% 70%,rgba(121,76,255,.38),transparent 35%)}.omc-scene--lost .omc-scene__inner{position:relative;z-index:2}.omc-scene--lost .omc-index{color:var(--omc-blush)}.omc-lost__lead{font-size:1.15rem}.omc-lost__photos{position:relative;height:58svh;margin-top:35px}.omc-lost-photo{position:absolute;width:42vw;max-width:230px;margin:0}.omc-lost-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border:5px solid #fff;border-radius:8px}.omc-lost-photo--1{left:-7%;top:8%;transform:rotate(-8deg)}.omc-lost-photo--2{right:-5%;top:0;transform:rotate(7deg)}.omc-lost-photo--3{left:30%;bottom:0;transform:rotate(2deg)}.omc-conversation{position:relative;margin-top:-8svh}.omc-conversation p{width:max-content;max-width:88%;margin:18px 0;padding:13px 18px;border:1px solid rgba(255,255,255,.4);border-radius:18px;background:rgba(255,255,255,.13);box-shadow:0 12px 30px rgba(0,0,0,.3);font-weight:800}.omc-conversation p:nth-child(1){transform:rotate(-2deg)}.omc-conversation p:nth-child(2){margin-left:auto;transform:rotate(3deg)}.omc-conversation p:nth-child(3){margin-left:8%;transform:rotate(-1deg)}.omc-magic{height:340svh;padding:0;background:var(--omc-lime);transition:background .55s ease}.omc-magic[data-magic-phase="1"]{background:var(--omc-coral)}.omc-magic[data-magic-phase="2"]{background:var(--omc-magenta)}.omc-magic[data-magic-phase="3"]{background:var(--omc-purple);color:#fff}.omc-magic__sticky{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:visible}.omc-magic__content{position:relative;z-index:3;width:min(calc(100% - 36px),1120px);margin:auto}.omc-magic__content h2{max-width:8ch;font-size:clamp(3.2rem,14vw,6.6rem)}.omc-magic__steps{margin:28px 0 0;padding:0;list-style:none}.omc-magic__steps li{position:absolute;left:0;max-width:50%;opacity:0;transform:translateY(28px);transition:opacity .35s ease,transform .35s ease}.omc-magic__steps li.is-active{opacity:1;transform:none}.omc-magic__steps span{font-size:.75rem;font-weight:900;letter-spacing:.2em}.omc-magic__steps h3{margin:.05em 0;font-size:clamp(2.8rem,13vw,5.5rem);line-height:.92}.omc-magic__steps p{margin:8px 0;font-weight:700}.omc-magic__visual-clip{position:absolute;inset:0;overflow:hidden;overflow:clip;pointer-events:none}.omc-magic__visual-layer{position:absolute;inset:0}.omc-magic__ui{position:absolute;right:-20%;top:30%;width:78vw;max-width:560px;opacity:0;transform:translateX(20%) rotate(6deg) scale(.9);transition:opacity .4s ease,transform .55s cubic-bezier(.2,.8,.2,1)}.omc-magic__ui:nth-child(even){right:-12%;transform:translateX(20%) rotate(-5deg) scale(.9)}.omc-magic__ui.is-active{opacity:1;transform:translateX(0) rotate(-2deg) scale(1)}.omc-magic__ui img{width:100%;max-height:60svh;object-fit:contain;filter:drop-shadow(0 28px 32px rgba(0,0,0,.28))}.omc-magic__reduced-ui{display:none}.omc-scene--recap{min-height:100svh;display:flex;align-items:center;overflow:hidden;overflow:clip;background:var(--omc-cream)}.omc-scene--recap h2{display:grid;gap:.02em}.omc-scene--recap h2 span:nth-child(2){color:var(--omc-pink);margin-left:12%}.omc-scene--recap h2 span:nth-child(3){color:var(--omc-purple);margin-left:24%}.omc-recap-flow{display:flex;gap:8px;align-items:center;margin:46px -20px 22px;padding:18px 20px;overflow:hidden;background:#090909;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.omc-recap-flow span{padding:8px 10px;border:1px solid rgba(255,255,255,.45);border-radius:999px}.omc-recap-flow i{color:var(--omc-pink);font-style:normal}.omc-scene--events{min-height:170svh;overflow:hidden;overflow:clip;background:#f23bd7;color:#090909}.omc-scene--events .omc-index{color:#3d0735}.omc-scene--events h2{position:relative;z-index:3;font-size:clamp(3.5rem,15vw,7rem)}.omc-event-collage{position:relative;height:118svh;margin-top:38px}.omc-event-collage figure{position:absolute;width:62vw;max-width:350px;margin:0;filter:drop-shadow(0 18px 22px rgba(76,4,63,.25));transform:rotate(var(--r,0deg))}.omc-event-collage picture,.omc-event-collage img{width:100%}.omc-event-collage img{aspect-ratio:4/5;object-fit:cover;border:6px solid #fff;border-radius:9px}.omc-event-collage figcaption{display:inline-block;margin-top:7px;padding:3px 9px;border-radius:999px;background:#fff;font-size:.72rem;font-weight:800}.omc-event-collage figure:nth-child(1){left:-13%;top:0;--r:-7deg}.omc-event-collage figure:nth-child(2){right:-12%;top:13%;--r:7deg}.omc-event-collage figure:nth-child(3){left:8%;top:36%;--r:3deg}.omc-event-collage figure:nth-child(4){right:-5%;top:55%;--r:-6deg}.omc-event-collage figure:nth-child(5){left:-10%;top:72%;--r:8deg}.omc-event-collage figure:nth-child(6){right:9%;top:88%;--r:-3deg}.omc-scene--why{overflow:hidden;overflow:clip;background:var(--omc-lime)}.omc-scene--why h2{font-size:clamp(3.4rem,14vw,6.8rem)}.omc-benefit-flow{display:grid;gap:0;margin-top:64px}.omc-benefit-flow p{position:relative;margin:0;padding:32px 0;border-top:3px solid #090909}.omc-benefit-flow p:nth-child(even){padding-left:15%;transform:rotate(-2deg)}.omc-benefit-flow p:nth-child(odd){padding-right:10%;transform:rotate(1deg)}.omc-benefit-flow p:last-child{border-bottom:3px solid #090909}.omc-benefit-flow strong,.omc-benefit-flow span{display:block}.omc-benefit-flow strong{font-size:clamp(1.7rem,7vw,3.4rem);line-height:1.1}.omc-benefit-flow span{margin-top:7px;font-size:1.1rem;font-weight:800}.omc-scene--safety{overflow:hidden;overflow:clip;background:linear-gradient(145deg,#cff5e3,#dceeff);color:#102c31}.omc-scene--safety h2{font-size:clamp(3.2rem,13vw,6.2rem)}.omc-scene--safety ul{position:relative;z-index:2;margin:45px 0;padding:0;list-style:none}.omc-scene--safety li{width:86%;margin:14px 0;padding:14px 18px;border:2px solid #102c31;border-radius:999px;background:rgba(255,255,255,.68);font-weight:800}.omc-scene--safety li:nth-child(even){margin-left:auto}.omc-safety-ui{width:78vw;max-width:390px;margin:45px auto;transform:rotate(3deg)}.omc-safety-ui img{width:100%;max-height:62svh;object-fit:contain;border-radius:24px;filter:drop-shadow(0 25px 30px rgba(20,80,90,.25))}.omc-scene--roadmap{background:var(--omc-cream)}.omc-scene--roadmap h2{font-size:clamp(3.5rem,15vw,7rem)}.omc-roadmap__declaration{margin:44px 0;font-size:clamp(2.4rem,10vw,5rem);font-weight:900;line-height:1;color:var(--omc-purple)}.omc-roadmap{display:flex;flex-wrap:wrap;gap:12px;margin:48px 0 0;padding:0;list-style:none}.omc-roadmap li{display:grid;gap:7px;min-width:44%;padding:16px;border:2px solid #090909;border-radius:14px;background:#fff;box-shadow:5px 5px 0 #090909;transform:rotate(var(--r,-2deg))}.omc-roadmap li:nth-child(even){--r:2deg}.omc-roadmap span{width:max-content;padding:4px 10px;border-radius:999px;background:#e8e8e8;font-size:.75rem;font-weight:900}.omc-roadmap [data-status=completed] span{background:var(--omc-mint)}.omc-roadmap [data-status=in_progress] span{background:var(--omc-lime)}.omc-scene--campfire{min-height:105svh;display:flex;align-items:center;overflow:hidden;overflow:clip;background:#090909;color:#fff}.omc-scene--campfire .omc-scene__inner{position:relative;z-index:2}.omc-scene--campfire .omc-index{color:var(--omc-blush)}.omc-scene--campfire h2{font-size:clamp(3.6rem,15vw,7.4rem)}.omc-scene--campfire .omc-support{color:#fff}.omc-campfire__orb{position:absolute;width:95vw;height:95vw;right:-35vw;bottom:-20vw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f23bd7,#794cff 48%,transparent 70%);filter:blur(5px);opacity:.9}.omc-scene--faq{padding-bottom:0;background:#fff}.omc-scene--faq h2{margin-bottom:42px}.omc-scene--faq details{border-top:2px solid #090909}.omc-scene--faq details:last-of-type{border-bottom:2px solid #090909}.omc-scene--faq summary{position:relative;min-height:68px;padding:22px 52px 22px 0;cursor:pointer;font-size:clamp(1.05rem,4.6vw,1.35rem);font-weight:900;line-height:1.45;list-style:none}.omc-scene--faq summary::-webkit-details-marker{display:none}.omc-scene--faq summary:after{position:absolute;right:4px;top:14px;display:grid;width:42px;height:42px;place-items:center;border:2px solid #090909;border-radius:50%;content:"＋";font-size:1.5rem}.omc-scene--faq details[open] summary:after{content:"−"}.omc-scene--faq details p{padding:0 30px 22px 0}.omc-sponsor{margin:90px -18px 0;padding:72px 22px 82px;background:linear-gradient(145deg,var(--omc-pink),var(--omc-purple));color:#fff}.omc-sponsor .omc-index{color:#fff}.omc-sponsor h2{margin-bottom:22px;font-size:clamp(2.8rem,12vw,5.5rem)}.omc-final{min-height:125svh;display:flex;align-items:center;overflow:hidden;overflow:clip;text-align:center;background:radial-gradient(circle at 50% 50%,#5130d8,#180c45 55%,#090909 90%);color:#fff}.omc-final .omc-scene__inner{position:relative;z-index:3}.omc-final .omc-index{color:var(--omc-blush)}.omc-final h2{margin-inline:auto;font-size:clamp(3.5rem,15vw,7rem)}.omc-wordmark{margin:42px 0 28px;font-size:1.1rem;font-weight:900}.omc-wordmark span{font-size:.78rem;letter-spacing:.25em}.omc-final .omc-support{color:#fff;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.6)}.omc-final__visual-clip{position:absolute;inset:0;overflow:hidden;overflow:clip}.omc-final__photo-layer{position:absolute;inset:0}.omc-final-photo{position:absolute;width:42vw;max-width:240px;margin:0;opacity:.86;transform:rotate(var(--r,3deg))}.omc-final-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:5px solid #fff;border-radius:9px;box-shadow:0 20px 36px rgba(0,0,0,.35)}.omc-final-photo--1{left:-17%;top:5%;--r:-9deg}.omc-final-photo--2{right:-16%;top:8%;--r:8deg}.omc-final-photo--3{left:-11%;bottom:9%;--r:7deg}.omc-final-photo--4{right:-10%;bottom:7%;--r:-8deg}.omc-final-photo--5{left:32%;top:-12%;--r:3deg}.omc-final-photo--6{right:30%;bottom:-15%;--r:-3deg}.omc-footer{padding:52px 0 calc(96px + env(safe-area-inset-bottom));background:#090909;color:#fff}.omc-footer .omc-container{display:grid;gap:20px}.omc-footer nav{display:flex;flex-wrap:wrap;gap:18px}.omc-footer a{color:#fff}.omc-sticky{position:fixed;z-index:70;right:0;bottom:0;left:0;padding:8px 18px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #d8d8d8;transition:transform .2s ease,opacity .2s ease}.omc-sticky[hidden]{display:none}.omc-sticky .omc-button{width:100%;min-height:54px}.omc-return{padding:64px 0;background:var(--omc-mint);border-block:2px solid #090909}.omc-return .omc-scene__inner{display:grid;gap:24px}.omc-return h2{margin:0}
@media(min-width:768px){.omc-container,.omc-scene__inner{width:min(calc(100% - 80px),1120px)}.omc-menu-button{display:none}.omc-nav{position:static;width:auto;padding:0;display:flex;border:0;box-shadow:none;background:transparent;flex-direction:row;align-items:center;gap:16px}.omc-nav>a{padding:8px}.omc-scene{padding:150px 0}.omc-scene--hero{min-height:100svh;padding:35svh 0 90px}.omc-scene--hero .omc-scene__inner{padding-right:38%}.omc-floating-photo--1{height:100svh}.omc-floating-photo--2,.omc-floating-photo--3,.omc-floating-photo--4,.omc-floating-photo--5,.omc-floating-photo--6{width:24vw;height:31vw}.omc-floating-photo--2{top:113svh;left:4%}.omc-floating-photo--3{top:125svh;right:2%}.omc-floating-photo--4{top:143svh;left:37%}.omc-floating-photo--5{top:172svh;left:-3%}.omc-floating-photo--6{top:180svh;right:14%}.omc-scene--many{min-height:135svh}.omc-many__final{margin-top:55svh}.omc-lost__photos{height:65svh}.omc-lost-photo{width:25vw}.omc-magic__content h2{max-width:48%}.omc-magic__steps li{max-width:38%}.omc-magic__ui{right:0;top:17%;width:58vw}.omc-event-collage{height:1250px}.omc-event-collage figure{width:36vw}.omc-event-collage figure:nth-child(1){left:-3%}.omc-event-collage figure:nth-child(2){right:1%}.omc-event-collage figure:nth-child(3){left:27%}.omc-event-collage figure:nth-child(4){right:4%}.omc-event-collage figure:nth-child(5){left:0}.omc-event-collage figure:nth-child(6){right:24%}.omc-benefit-flow p:nth-child(even){padding-left:28%}.omc-safety-ui{max-width:470px}.omc-roadmap li{min-width:180px}.omc-sponsor{margin-inline:0;padding:70px;display:flex;align-items:center;justify-content:space-between;gap:42px;border-radius:28px 28px 0 0}.omc-final-photo{width:19vw}.omc-return .omc-scene__inner{grid-template-columns:1fr auto;align-items:center}.omc-sticky{display:none!important}.omc-footer{padding-bottom:52px}}
@media(max-width:767px) and (orientation:landscape){.omc-sticky{display:none!important}}
@media(max-width:374px){.omc-container,.omc-scene__inner{width:min(calc(100% - 28px),1120px)}.omc-scene--hero h1{font-size:3.8rem}.omc-scene h2{font-size:2.8rem}.omc-actions{display:grid}.omc-actions .omc-button{width:100%}.omc-magic__ui{width:82vw}.omc-event-collage figure{width:66vw}.omc-benefit-flow strong{font-size:1.55rem}.omc-sponsor{margin-inline:-14px}.omc-final h2{font-size:3.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.omc-button,.omc-header,.omc-magic{transition:none}.omc-button:hover,.omc-button:active{transform:none}.omc-floating-photo,.omc-lost-photo,.omc-event-collage figure,.omc-benefit-flow p,.omc-roadmap li,.omc-final-photo,.omc-safety-ui{transform:none}.omc-magic{height:auto;padding:96px 0;background:var(--omc-lime)!important;color:#090909!important}.omc-magic__sticky{position:static;height:auto;display:block}.omc-magic__visual-clip{display:none}.omc-magic__content{width:min(calc(100% - 36px),1120px)}.omc-magic__content h2{max-width:none}.omc-magic__steps{display:grid;gap:64px}.omc-magic__steps li{position:static;max-width:none;opacity:1;transform:none;transition:none}.omc-magic__reduced-ui{display:grid;gap:18px;max-width:360px;margin-top:22px}.omc-magic__reduced-ui img{max-height:430px;object-fit:contain}.omc-sticky{transition:none}}
@media print{.omc-header,.omc-announcement,.omc-sticky,.omc-actions{display:none!important}.omc-magic{height:auto}.omc-magic__sticky{position:static;height:auto}.omc-magic__steps li{position:static;opacity:1;transform:none}.omc-magic__visual-clip{display:none}}

/* V5 independent photo stages: Hero uses one LCP asset; later scenes reuse cached attachments. */
.omc-scene--many{overflow:hidden;overflow:clip}.omc-many__photos{position:absolute;z-index:1;inset:0}.omc-many-photo{position:absolute;width:46vw;max-width:250px;margin:0;filter:drop-shadow(0 18px 28px rgba(0,0,0,.35));transform:rotate(var(--r,0deg))}.omc-many-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:6px solid #fff;border-radius:9px}.omc-many-photo--1{left:-8%;top:30%;--r:-8deg}.omc-many-photo--2{right:-10%;top:36%;--r:7deg}.omc-many-photo--3{left:27%;top:52%;--r:3deg}.omc-many-photo--4{left:-12%;top:68%;--r:9deg}.omc-many-photo--5{right:-8%;top:72%;--r:-6deg}.omc-many-photo--6{left:31%;top:82%;--r:-2deg}.omc-many__final{position:relative;z-index:2}.omc-scene--roadmap{overflow:hidden;overflow:clip}.omc-scene--roadmap .omc-scene__inner{position:relative;z-index:2}.omc-roadmap__photos{position:absolute;inset:0;pointer-events:none}.omc-roadmap-photo{position:absolute;width:34vw;max-width:260px;margin:0;opacity:.88}.omc-roadmap-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:5px solid #fff;box-shadow:0 18px 30px rgba(0,0,0,.18)}.omc-roadmap-photo--1{right:-10%;top:5%;transform:rotate(8deg)}.omc-roadmap-photo--2{left:-13%;top:38%;transform:rotate(-8deg)}
@media(min-width:768px){.omc-many-photo{width:24vw}.omc-roadmap-photo{width:22vw}}
@media(prefers-reduced-motion:reduce){.omc-many-photo,.omc-roadmap-photo{transform:none}}

/* V5.2 Hero: dedicated media, overlay, and content stacking. */
.omc-scene--hero{isolation:isolate;min-height:106svh;padding:48svh 0 60px;overflow:hidden;overflow:clip;background:#090909}.omc-scene--hero:before{content:none}.omc-hero-media{position:absolute;z-index:0;inset:0 0 auto;width:100%;height:54svh}.omc-hero-media picture,.omc-hero-media img{display:block;width:100%;height:100%}.omc-hero-media img{object-fit:cover;object-position:50% 45%!important}.omc-hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.02) 18%,rgba(0,0,0,.08) 36%,rgba(218,48,213,.3) 50%,rgba(235,58,218,.78) 66%,rgba(121,76,255,.96) 100%);pointer-events:none}.omc-scene--hero .omc-scene__inner{position:relative;z-index:2}.omc-scene--hero h1{font-size:clamp(4rem,18vw,5.125rem);line-height:.9;text-shadow:0 3px 16px rgba(28,5,52,.2)}.omc-scene--hero .omc-lead{font-size:clamp(1.125rem,4.8vw,1.3125rem);color:#fff}.omc-scene--hero .omc-actions{position:relative;z-index:2}.omc-scene--hero .omc-button{min-height:60px}.omc-scene--hero .omc-preview-fallback{z-index:3}
@media(max-width:374px){.omc-scene--hero h1{font-size:4rem}}
@media(min-width:768px){.omc-scene--hero{min-height:100svh;padding:46svh 0 84px}.omc-hero-media{height:66svh}.omc-scene--hero h1{font-size:clamp(5rem,9vw,7.5rem)}}

/* V5.3 Mobile Hero polish: compact chrome, complete copy rhythm, and unobstructed CTA. */
.omc-announcement{height:40px;padding:0;font-size:.8125rem;line-height:1}.omc-announcement .omc-container{height:100%;width:min(calc(100% - 20px),1120px)}.omc-announcement__mobile{display:block;max-width:100%;color:#30102b!important;font-weight:800;line-height:40px;text-decoration:none;white-space:nowrap}.omc-announcement__desktop{display:none}.omc-header{top:40px}.omc-header__inner{min-height:60px}.omc-logo{font-size:.78rem;letter-spacing:.15em}.omc-menu-button{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;border:0;border-radius:50%;place-content:center;gap:5px;background:rgba(9,9,9,.14)}.omc-menu-button span{display:block;width:22px;height:2px;border-radius:999px;background:#fff;transition:transform .2s ease,opacity .2s ease}.omc-menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.omc-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.omc-menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.omc-scene--hero{min-height:122svh;padding:50svh 0 72px}.omc-hero-media{height:56svh}.omc-hero-media img{object-position:50% 42%!important}.omc-hero-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.01) 18%,rgba(0,0,0,.06) 35%,rgba(218,48,213,.26) 49%,rgba(235,58,218,.78) 65%,rgba(121,76,255,.97) 100%)}.omc-scene--hero .omc-kicker{margin-bottom:24px;padding:6px 11px;font-size:.6875rem}.omc-scene--hero h1{font-size:clamp(3.75rem,16vw,4.75rem);line-height:.9}.omc-scene--hero .omc-lead{margin-top:24px;font-size:clamp(1.125rem,4.8vw,1.25rem);line-height:1.52}.omc-scene--hero .omc-actions{margin-top:28px}.omc-scene--hero .omc-button--hero{width:auto;max-width:100%;min-width:min(280px,100%);min-height:60px;padding-inline:24px;border-color:#fff;border-radius:12px;background:#fff;color:#090909!important}.omc-scene--hero .omc-button--hero:hover{background:#f4f4f4}.omc-scene--hero .omc-support{margin-bottom:0}
@media(max-width:374px){.omc-announcement{font-size:.75rem}.omc-announcement .omc-container{width:min(calc(100% - 12px),1120px)}.omc-logo{font-size:.72rem}.omc-scene--hero{min-height:126svh;padding-top:51svh}.omc-hero-media{height:56svh}.omc-scene--hero h1{font-size:clamp(3.6rem,16vw,4rem)}.omc-scene--hero .omc-lead{font-size:1.0625rem}.omc-scene--hero .omc-actions{display:flex}.omc-scene--hero .omc-actions .omc-button{width:auto}.omc-scene--hero .omc-button--hero{min-width:min(276px,100%)}}
@media(min-width:768px){.omc-announcement{height:auto;min-height:34px;padding:7px 0;font-size:.76rem;line-height:1.3}.omc-announcement .omc-container{height:auto;width:min(calc(100% - 80px),1120px)}.omc-announcement__mobile{display:none}.omc-announcement__desktop{display:flex;gap:10px;align-items:center;justify-content:center}.omc-header{top:34px}.omc-header__inner{min-height:62px}.omc-logo{font-size:.86rem;letter-spacing:.17em}.omc-menu-button{display:none}.omc-scene--hero{min-height:100svh;padding:46svh 0 84px}.omc-hero-media{height:66svh}.omc-hero-media img{object-position:50% 45%!important}.omc-scene--hero h1{font-size:clamp(5rem,9vw,7.5rem)}.omc-scene--hero .omc-lead{font-size:clamp(1.125rem,2vw,1.3125rem)}}

/* V5.4 Copy typography: explicit phrase-level lines prevent Japanese orphan breaks. */
.omc-copy-line{display:block;white-space:nowrap}.omc-magic__steps h3>.omc-copy-line{font-size:inherit;font-weight:inherit;letter-spacing:inherit}.omc-scene--hero h1{line-height:.96}
@media(max-width:374px){.omc-scene--lost h2,.omc-scene--events h2,.omc-scene--why h2,.omc-scene--safety h2,.omc-scene--roadmap h2,.omc-scene--campfire h2,.omc-sponsor h2,.omc-final h2{font-size:clamp(2.55rem,12vw,2.8rem)}.omc-magic__steps h3{font-size:clamp(2.65rem,12vw,3.2rem)}}

/* V5.4.1 Responsive typography: mobile phrases stay fixed; wider layouts rejoin them. */
@media(min-width:768px){.omc-copy-line{display:inline}.omc-copy-line--desktop-break{display:block}.omc-scene--lost h2,.omc-scene--events h2,.omc-scene--why h2,.omc-scene--safety h2,.omc-scene--roadmap h2,.omc-scene--campfire h2,.omc-final h2{font-size:clamp(3.4rem,7vw,6rem)}.omc-magic__steps h3{font-size:clamp(3rem,5.6vw,4.75rem)}.omc-sponsor h2{font-size:clamp(3.25rem,5vw,4rem)}}
@media(min-width:768px) and (max-width:1023px){.omc-sponsor h2{font-size:clamp(2rem,4vw,2.5rem)}}

/* V5.4.2 Scene-local rhythm: pull visuals toward copy without global overflow hacks. */
.omc-scene--many h2{font-size:clamp(3.25rem,15vw,6.75rem)}.omc-many-photo--1{top:27%}.omc-many-photo--2{top:33%}.omc-many-photo--3{top:48%}.omc-lost__photos{height:52svh;margin-top:24px}.omc-conversation{margin-top:-12svh}.omc-magic__ui{top:24%}.omc-event-collage{margin-top:24px}.omc-benefit-flow{margin-top:40px}.omc-scene--safety ul{margin-top:32px;margin-bottom:28px}.omc-safety-ui{margin:18px auto 36px}.omc-roadmap__declaration{margin:32px 0}.omc-roadmap{margin-top:32px}.omc-roadmap-photo--1{top:3%}.omc-roadmap-photo--2{top:32%}.omc-scene--campfire h2+p{margin-top:24px}.omc-scene--campfire .omc-actions{margin-top:22px}.omc-campfire__orb{right:-28vw;bottom:-10vw}.omc-final{min-height:118svh}.omc-final h2{text-align:center}.omc-final h2>.omc-copy-line{margin-inline:auto}.omc-wordmark{margin:32px 0 24px}.omc-final-photo{width:46vw;opacity:.92}.omc-final-photo--1{left:-10%;top:10%}.omc-final-photo--2{right:-10%;top:12%}.omc-final-photo--3{left:-7%;bottom:12%}.omc-final-photo--4{right:-7%;bottom:10%}.omc-final-photo--5{left:30%;top:-5%}.omc-final-photo--6{right:29%;bottom:-6%}
@media(max-width:374px){.omc-scene--many h2{font-size:clamp(3rem,14vw,3.35rem)}}
@media(min-width:768px){.omc-scene--many h2{font-size:clamp(4rem,7vw,6rem)}.omc-many-photo--1{top:24%}.omc-many-photo--2{top:30%}.omc-many-photo--3{top:45%}.omc-lost__photos{height:58svh;margin-top:28px}.omc-conversation{margin-top:-10svh}.omc-magic__ui{top:15%}.omc-event-collage{margin-top:28px}.omc-benefit-flow{margin-top:48px}.omc-safety-ui{margin-top:24px}.omc-roadmap-photo--2{top:34%}.omc-campfire__orb{right:-24vw;bottom:-12vw}.omc-final{min-height:118svh}.omc-final-photo{width:20vw}}

/* V5.4.3 hotfix: final alignment, CAMPFIRE identity, readability, hero blend and sticky header. */
.omc-final h2{width:100%;margin-inline:auto;text-align:center}
.omc-final h2>.omc-copy-line{margin-inline:0;text-align:center;transform:none;translate:none;rotate:none;position:static;inset:auto;justify-self:stretch;align-self:auto}
.omc-announcement{background:#ffe3d4;color:#672200}
.omc-announcement__mobile,.omc-announcement__desktop{color:#672200!important}
.omc-announcement__link{color:#9d3100!important;text-decoration-color:#e65416}
.omc-header [data-placement=cf_click_header]{border-color:#b83b00;background:#b83b00;color:#fff!important}
.omc-header [data-placement=cf_click_header]:hover{border-color:#942f00;background:#942f00}
.omc-scene--campfire .omc-index{color:#ffb08a}
.omc-scene--campfire h2{color:#fff3ec}
.omc-scene--campfire h2+p,.omc-scene--campfire .omc-support{font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.42)}
.omc-scene--campfire .omc-button--hero,.omc-sponsor .omc-button--hero,.omc-final .omc-button--hero{border-color:#fff;background:#fff;color:#a93400!important}
.omc-scene--campfire .omc-button--hero:hover,.omc-sponsor .omc-button--hero:hover,.omc-final .omc-button--hero:hover{border-color:#fff0e8;background:#fff0e8;color:#842900!important}
.omc-scene--campfire .omc-button--hero:active,.omc-sponsor .omc-button--hero:active,.omc-final .omc-button--hero:active{background:#ffd8c4}
.omc-campfire__orb{background:radial-gradient(circle at 35% 35%,#ff9b52,#f06422 45%,#b93312 62%,transparent 72%)}
.omc-sponsor{background:linear-gradient(145deg,#f47a32,#c74418 58%,#6d1e27)}
.omc-footer a[href*="camp-fire.jp"]{color:#ff9b61;font-weight:800}
.omc-scene--many p:not(.omc-index),.omc-scene--lost p,.omc-scene--campfire p,.omc-final .omc-wordmark{font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.38)}
.omc-header.is-scrolled{top:0;background:rgba(9,9,9,.92);box-shadow:0 8px 24px rgba(0,0,0,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.admin-bar .omc-header.is-scrolled{top:46px}
@media(max-width:767px){.omc-final h2{display:flex;width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px);margin-right:0;flex-direction:column;align-items:center}.omc-final h2>.omc-copy-line{display:block;width:max-content;max-width:100%;margin-inline:auto;text-align:center}.omc-many__lead-line{display:block;white-space:nowrap}}
@media(min-width:768px){.omc-final h2{display:flex;flex-wrap:wrap;justify-content:center}.omc-final h2>.omc-copy-line{display:inline-block;width:auto}.omc-final h2>.omc-copy-line:first-child{flex-basis:100%}.omc-many__lead-line{display:inline;white-space:normal}}
@media(min-width:783px){.admin-bar .omc-header.is-scrolled{top:32px}}
@media(prefers-reduced-transparency:reduce){.omc-header.is-scrolled{background:#090909;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* V5.4.4: every explicit CAMPFIRE CTA shares the orange action color. */
.omc-sticky .omc-button{border-color:#cf3f08;background:#cf3f08;color:#fff!important}
.omc-sticky .omc-button:hover{border-color:#c94110;background:#c94110;color:#fff!important}
.omc-sticky .omc-button:active{border-color:#a93400;background:#a93400;color:#fff!important}

/* V5.4.5: local readability lift without changing the expressive typography. */
.omc-magic[data-magic-phase="3"] .omc-magic__content{text-shadow:0 1px 3px rgba(0,0,0,.34)}
.omc-magic__steps p{font-weight:750}
.omc-roadmap__declaration{text-shadow:0 1px 0 rgba(255,255,255,.82),0 2px 6px rgba(42,18,92,.1)}
.omc-scene--campfire h2+p{line-height:1.75}
.omc-final .omc-index,.omc-final .omc-wordmark,.omc-final .omc-support{text-shadow:0 1px 4px rgba(0,0,0,.55)}

/* V5.4.6: high-saturation CAMPFIRE fire system and iOS-safe floating action. */
.omc-lp{--omc-fire-deep:#c93400;--omc-fire:#d63a00;--omc-fire-hot:#d83c08;--omc-fire-bright:#ff5a1f;--omc-fire-flare:#ff6b00;--omc-fire-active:#b92e00}
.omc-header [data-placement=cf_click_header],.omc-scene--campfire .omc-button--hero,.omc-sponsor .omc-button--hero,.omc-final .omc-button--hero,.omc-sticky .omc-button{border-color:var(--omc-fire-deep);background:linear-gradient(120deg,var(--omc-fire-deep),var(--omc-fire) 52%,var(--omc-fire-hot));color:#fff!important;box-shadow:0 8px 22px rgba(255,80,20,.22)}
.omc-header [data-placement=cf_click_header]:hover,.omc-scene--campfire .omc-button--hero:hover,.omc-sponsor .omc-button--hero:hover,.omc-final .omc-button--hero:hover,.omc-sticky .omc-button:hover{border-color:var(--omc-fire-active);background:linear-gradient(120deg,var(--omc-fire-active),var(--omc-fire-deep) 55%,var(--omc-fire));color:#fff!important}
.omc-header [data-placement=cf_click_header]:active,.omc-scene--campfire .omc-button--hero:active,.omc-sponsor .omc-button--hero:active,.omc-final .omc-button--hero:active,.omc-sticky .omc-button:active{border-color:var(--omc-fire-active);background:var(--omc-fire-active);color:#fff!important}
.omc-announcement{border-bottom:2px solid var(--omc-fire-flare)}
.omc-announcement__link{color:var(--omc-fire-deep)!important;text-decoration-color:var(--omc-fire-bright)}
.omc-campfire__orb{background:radial-gradient(circle at 35% 35%,var(--omc-fire-flare),var(--omc-fire-bright) 30%,var(--omc-fire) 58%,transparent 73%)}
.omc-footer a[href*="camp-fire.jp"]{color:#ff7840}
.omc-sticky{right:14px;bottom:calc(12px + env(safe-area-inset-bottom));left:14px;padding:0;background:transparent;border:0;z-index:70}
.omc-sticky .omc-button{min-height:54px}

/* V5.4.9: Scene 12 restored to the V5.4.7 mobile positioning only. */
@media(max-width:767px) and (orientation:portrait){
  .omc-final h2>.omc-copy-line:nth-child(1),
  .omc-final h2>.omc-copy-line:nth-child(3){transform:translateX(.24em)}
}


/* v1.5.04 — Desktop Scene 02/03 balance refinements.
 * Keep Mobile and Tablet frozen; only adjust the approved Desktop composition.
 */
@media (min-width:1200px){
  .omc-scene--many .omc-many__final{
    margin-top:48svh;
  }

  .omc-scene--lost .omc-conversation{
    width:min(64vw,900px);
    display:grid;
    justify-items:center;
    gap:14px;
  }

  .omc-scene--lost .omc-conversation p{
    margin:0 auto;
    padding:20px 24px;
    border-width:2px;
    text-align:center;
  }

  .omc-scene--lost .omc-conversation p:nth-child(1){
    width:min(60%,500px);
    margin-inline:auto;
  }

  .omc-scene--lost .omc-conversation p:nth-child(2){
    width:min(55%,460px);
    margin-inline:auto;
  }

  .omc-scene--lost .omc-conversation p:nth-child(3){
    width:min(68%,560px);
    margin-inline:auto;
  }
}

/* V5.5.0: targeted readability pass; preserve composition and Scene 12 V5.4.7 positioning. */
.omc-scene--many .omc-many__lead{position:relative;z-index:4;margin-top:22px;font-weight:800;line-height:1.62;text-shadow:0 1px 2px rgba(0,0,0,.92),0 4px 12px rgba(0,0,0,.48)}
.omc-roadmap__declaration{color:#6538e8;text-shadow:0 1px 0 rgba(255,255,255,.96),0 3px 10px rgba(53,24,105,.18)}
.omc-scene--campfire .omc-index{text-shadow:0 1px 4px rgba(0,0,0,.55)}
.omc-scene--campfire h2+p{font-weight:750;text-shadow:0 1px 2px rgba(0,0,0,.86),0 4px 12px rgba(0,0,0,.42)}
.omc-final .omc-scene__inner:before{position:absolute;z-index:-1;left:50%;top:23%;width:min(94vw,760px);height:54%;content:"";transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(17,8,57,.42) 0,rgba(17,8,57,.24) 44%,rgba(17,8,57,.08) 66%,transparent 78%);filter:blur(10px);pointer-events:none}
.omc-final h2{text-shadow:0 2px 3px rgba(8,4,28,.68),0 7px 18px rgba(8,4,28,.28)}
.omc-final .omc-index{text-shadow:0 1px 2px rgba(20,8,55,.95),0 4px 12px rgba(0,0,0,.48)}
@media(max-width:767px){.omc-many-photo--1{top:30%}.omc-final .omc-scene__inner:before{top:22%;width:96vw;height:52%}}


/* V5.5.1: surface the shared-album Like feature as a playful MEMORY AWARD use case. */
.omc-memory-award{position:relative;margin:64px 0 10px;padding:28px 24px 30px;overflow:hidden;overflow:clip;border:3px solid #090909;border-radius:24px;background:#090909;color:#fff;box-shadow:8px 8px 0 rgba(81,48,216,.9);transform:rotate(-1deg)}
.omc-memory-award:before{display:none!important;content:none!important;background:none!important;box-shadow:none!important}
.omc-memory-award__copy,.omc-memory-award__flow{position:relative;z-index:1}
.omc-memory-award__kicker{margin:0 0 12px;color:var(--omc-lime);font-size:.74rem;font-weight:900;letter-spacing:.18em}
.omc-memory-award h3{margin:0;max-width:9ch;font-size:clamp(2.6rem,11.5vw,5rem);font-weight:900;line-height:.94;letter-spacing:-.05em}
.omc-memory-award h3 span{display:block}
.omc-memory-award__copy>p:last-child{max-width:28rem;margin:22px 0 0;font-size:1rem;font-weight:750;line-height:1.72;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.omc-memory-award__copy strong{color:var(--omc-lime);font-weight:900}
.omc-memory-award__flow{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:26px;font-size:.82rem;font-weight:900;letter-spacing:.04em}
.omc-memory-award__flow span{display:inline-flex;min-height:44px;padding:9px 14px;align-items:center;border:2px solid #fff;border-radius:999px;background:#fff;color:#090909;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.omc-memory-award__like{color:#b20b62!important}
.omc-memory-award__pick{background:var(--omc-lime)!important;border-color:var(--omc-lime)!important;color:#090909!important}
.omc-memory-award__flow i{color:#fff;font-style:normal;font-size:1.2rem}
@media(max-width:374px){.omc-memory-award{margin-top:48px;padding:24px 20px 26px}.omc-memory-award h3{font-size:clamp(2.35rem,11vw,2.75rem)}.omc-memory-award__copy>p:last-child{font-size:.94rem}.omc-memory-award__flow{gap:6px}.omc-memory-award__flow span{padding-inline:11px;font-size:.74rem}}
@media(min-width:768px){.omc-memory-award{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:40px;align-items:end;margin-top:76px;padding:42px 44px 44px;transform:rotate(-.5deg)}.omc-memory-award:before{right:-8%;bottom:-65%;width:420px}.omc-memory-award h3{font-size:clamp(3.3rem,5.5vw,5rem)}.omc-memory-award__copy>p:last-child{font-size:1.08rem}.omc-memory-award__flow{justify-content:flex-end;margin-top:0}}

/* V5.5.3: activate the MEMORY AWARD photo slot with the shared-album Like UI capture. */
.omc-memory-award__photo{position:relative;z-index:2;width:min(82%,340px);margin:22px auto 6px;overflow:hidden;border:7px solid #fff;border-radius:14px;background:#171717;box-shadow:0 16px 32px rgba(0,0,0,.28);transform:rotate(2.2deg)}
.omc-memory-award__photo img,.omc-memory-award__photo-image{display:block;width:100%;height:auto}
.omc-memory-award__photo{position:relative}
.omc-memory-award__like-burst{position:absolute;left:55%;top:42.8%;display:inline-flex;align-items:center;gap:7px;min-width:76px;min-height:42px;padding:7px 14px;border:2px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(18,18,20,.88);color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.28);transform:translate(-50%,-50%) scale(.92);opacity:0;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:3}
.omc-memory-award__like-burst-heart{display:inline-block;color:#fff;font-size:1.22rem;line-height:1;transition:color .22s ease,filter .22s ease,transform .22s ease}
.omc-memory-award__like-burst-count{display:inline-block;font-size:1rem;font-weight:900;line-height:1;letter-spacing:.01em}
.omc-memory-award__like-burst::after{position:absolute;inset:-8px;border-radius:999px;content:"";pointer-events:none;opacity:0;box-shadow:0 0 28px rgba(255,74,164,.52)}
.omc-memory-award.is-like-ready .omc-memory-award__like-burst{opacity:1;animation:omcMemoryAwardLikeEnter .58s cubic-bezier(.18,.96,.28,1.08) forwards}
.omc-memory-award.is-liked .omc-memory-award__like-burst{box-shadow:0 10px 22px rgba(0,0,0,.3)}
.omc-memory-award.is-liked .omc-memory-award__like-burst-heart{color:#ff4aa4;animation:omcMemoryAwardHeartPop .72s cubic-bezier(.22,1,.36,1) 1}
.omc-memory-award.is-liked .omc-memory-award__like-burst-count{animation:omcMemoryAwardCountPop .42s cubic-bezier(.22,1,.36,1) 1}
.omc-memory-award.is-liked .omc-memory-award__like-burst::after{animation:omcMemoryAwardGlow .72s ease-out 1}
@keyframes omcMemoryAwardLikeEnter{0%{opacity:0;transform:translate(-50%,-50%) scale(.78)}72%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes omcMemoryAwardHeartPop{0%{transform:scale(1);filter:none}42%{transform:scale(1.3);filter:drop-shadow(0 0 15px rgba(255,74,164,.78))}72%{transform:scale(1.08);filter:drop-shadow(0 0 6px rgba(255,74,164,.32))}100%{transform:scale(1);filter:none}}
@keyframes omcMemoryAwardCountPop{0%{transform:translateY(0);opacity:1}50%{transform:translateY(-2px) scale(1.1)}100%{transform:translateY(0) scale(1)}}
@keyframes omcMemoryAwardGlow{0%{opacity:0;transform:scale(.84)}38%{opacity:.9;transform:scale(1.04)}100%{opacity:0;transform:scale(1.24)}}
@media(max-width:374px){.omc-memory-award__like-burst{left:55.2%;top:43.1%;min-width:68px;min-height:38px;padding:6px 12px;gap:6px}.omc-memory-award__like-burst-heart{font-size:1.12rem}.omc-memory-award__like-burst-count{font-size:.92rem}}
@media(min-width:768px){.omc-memory-award__like-burst{left:54.3%;top:42%;min-width:78px}}
@media(prefers-reduced-motion:reduce){.omc-memory-award__like-burst{opacity:1;transform:translate(-50%,-50%) scale(1)}.omc-memory-award__like-burst-heart{color:#ff4aa4;filter:none}}
@media(min-width:768px){.omc-memory-award__photo{width:min(58%,320px);margin:28px 0 8px;transform:rotate(1.6deg)}}



/* V5.5.7: mobile readability refinements for Scene 07 and Scene 09 */
@media(max-width:767px){
  .omc-memory-award__flow{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;margin-top:24px}
  .omc-memory-award__flow span{min-height:42px;padding:8px 12px;white-space:nowrap;font-size:clamp(.76rem,2.8vw,.92rem);line-height:1.1;flex:0 1 auto}
  .omc-memory-award__flow i{flex:0 0 auto;font-size:1.05rem;line-height:1}
  .omc-memory-award__pick{padding-inline:13px;font-size:clamp(.74rem,2.7vw,.9rem)}
  .omc-scene--roadmap{padding-top:108px}
  .omc-roadmap__photos{inset:0 0 auto;height:56svh}
  .omc-roadmap-photo{width:29vw;max-width:170px;opacity:.94}
  .omc-roadmap-photo--1{right:-14%;top:6%;transform:rotate(7deg)}
  .omc-roadmap-photo--2{left:-16%;top:52%;transform:rotate(-7deg)}
  .omc-roadmap__declaration{max-width:7.6ch;margin:28px 0 30px}
}

@media(max-width:420px){
  .omc-memory-award__flow{gap:6px}
  .omc-memory-award__flow span{padding:8px 11px;font-size:.74rem}
  .omc-memory-award__flow i{font-size:.98rem}
  .omc-memory-award__pick{padding-inline:12px;font-size:.72rem}
  .omc-roadmap-photo{width:27vw;max-width:150px}
  .omc-roadmap-photo--1{right:-16%;top:5%}
  .omc-roadmap-photo--2{left:-18%;top:54%}
}


/* V5.5.9: Scene 09 SP photo refinement for more natural overlap and balance */
@media(max-width:767px){
  .omc-scene--roadmap{padding-top:104px}
  .omc-roadmap__photos{inset:0;height:auto}
  .omc-roadmap-photo{width:37vw;max-width:220px;opacity:.94}
  .omc-roadmap-photo--1{right:-1.5%;top:9.5%;transform:rotate(8deg)}
  .omc-roadmap-photo--2{left:auto;right:4%;top:34%;transform:rotate(-7deg)}
  .omc-roadmap__declaration{margin:30px 0 30px}
}
@media(max-width:420px){
  .omc-roadmap-photo{width:35vw;max-width:192px}
  .omc-roadmap-photo--1{right:-2.5%;top:10%}
  .omc-roadmap-photo--2{right:2%;top:35%}
}


/* V5.5.10: Hero copy cleanup + scene-level polish */
.omc-many__final{text-shadow:0 2px 8px rgba(0,0,0,.35)}
.omc-memory-award h3{max-width:10ch}
.omc-roadmap__declaration span{display:block}

/* Scene 08: centered safety cards */
.omc-scene--safety ul{display:grid;gap:14px;justify-items:center}
.omc-scene--safety li,.omc-scene--safety li:nth-child(even){width:min(92%,620px);margin:0 auto;padding:15px 20px;text-align:center}

/* Scene 10: center CAMPFIRE CTA block while retaining campaign deadline */
.omc-scene--campfire .omc-actions{justify-content:center}
.omc-scene--campfire .omc-support{text-align:center}

/* Sponsor panel CTA centered */
.omc-sponsor>.omc-button{display:flex;width:max-content;max-width:100%;margin-inline:auto}

@media(max-width:767px){
  .omc-scene--hero .omc-lead{max-width:22rem}
}
@media(min-width:768px){
  .omc-sponsor>.omc-button{flex:0 0 auto}
}


/* V5.5.12: handwritten-style hashtags, quieter placement, and scene-safe positioning. */
.omc-photo-hashtag{position:absolute;z-index:6;display:block;width:max-content;max-width:88%;padding:.16em .48em;border-radius:999px;background:rgba(0,0,0,.16);color:#fff;font-family:"Hannotate SC","HanziPen TC","Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:clamp(.76rem,3.15vw,1rem);font-weight:700;line-height:1;letter-spacing:.01em;white-space:nowrap;pointer-events:none;text-shadow:0 1px 5px rgba(0,0,0,.44),0 1px 1px rgba(0,0,0,.55);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);opacity:.95}
.omc-photo-hashtag--1{left:7%;bottom:8%;transform:rotate(-2deg)}
.omc-photo-hashtag--2{right:7%;top:10%;transform:rotate(2deg)}
.omc-photo-hashtag--3{left:7%;top:12%;transform:rotate(-1.5deg)}
.omc-photo-hashtag--4{right:8%;bottom:10%;transform:rotate(1.5deg)}
.omc-event-collage figcaption{position:relative;z-index:5}
.omc-many-photo .omc-photo-hashtag,.omc-lost-photo .omc-photo-hashtag,.omc-roadmap-photo .omc-photo-hashtag,.omc-final-photo .omc-photo-hashtag{font-size:clamp(.72rem,2.9vw,.96rem)}
.omc-roadmap-photo .omc-photo-hashtag{opacity:.92}
@media(min-width:768px){
  .omc-photo-hashtag{font-size:clamp(.78rem,1.1vw,1rem)}
}


/* V5.5.13: Scene 06 — memories arrive one-by-one from outside the viewport. */
.has-events-motion .omc-event-collage figure[data-events-photo]{
  opacity:0;
  transform:translate3d(var(--event-entry-x),0,0) rotate(var(--r,0deg)) scale(.985);
  transition:transform .74s cubic-bezier(.16,1,.3,1) var(--event-delay,0ms),opacity .38s ease var(--event-delay,0ms);
  will-change:transform,opacity;
}
.has-events-motion .omc-event-collage figure[data-events-photo][data-entry="left"]{--event-entry-x:-115vw;--event-tag-entry-x:-28px}
.has-events-motion .omc-event-collage figure[data-events-photo][data-entry="right"]{--event-entry-x:115vw;--event-tag-entry-x:28px}
.has-events-motion .omc-event-collage figure[data-events-photo].is-revealed{
  opacity:1;
  transform:translate3d(0,0,0) rotate(var(--r,0deg)) scale(1);
}
.omc-event-collage .omc-photo-hashtag--1{--event-tag-r:-2deg}
.omc-event-collage .omc-photo-hashtag--2{--event-tag-r:2deg}
.omc-event-collage .omc-photo-hashtag--3{--event-tag-r:-1.5deg}
.omc-event-collage .omc-photo-hashtag--4{--event-tag-r:1.5deg}
.has-events-motion .omc-event-collage figure[data-events-photo] .omc-photo-hashtag{
  opacity:0;
  transform:translate3d(var(--event-tag-entry-x),0,0) rotate(var(--event-tag-r,0deg));
  transition:transform .48s cubic-bezier(.16,1,.3,1) calc(var(--event-delay,0ms) + 170ms),opacity .3s ease calc(var(--event-delay,0ms) + 170ms);
}
.has-events-motion .omc-event-collage figure[data-events-photo].is-revealed .omc-photo-hashtag{
  opacity:.95;
  transform:translate3d(0,0,0) rotate(var(--event-tag-r,0deg));
}
@media(prefers-reduced-motion:reduce){
  .has-events-motion .omc-event-collage figure[data-events-photo],
  .has-events-motion .omc-event-collage figure[data-events-photo] .omc-photo-hashtag{opacity:1;transform:none;transition:none;will-change:auto}
}
@media print{
  .has-events-motion .omc-event-collage figure[data-events-photo],
  .has-events-motion .omc-event-collage figure[data-events-photo] .omc-photo-hashtag{opacity:1!important;transform:none!important;transition:none!important}
}


/* V5.5.14: Scene 02 copy choreography — stepped typewriter lead + bottom-to-top final call. */
.omc-scene--many{overflow:hidden;overflow:clip}
.omc-many__lead[data-many-typing]{position:relative;z-index:4}
.omc-many__lead-line{position:relative;display:inline-block;max-width:100%;clip-path:inset(0 100% 0 0);opacity:0;will-change:clip-path,opacity}
.omc-many__lead-line::after{content:"";position:absolute;top:.12em;right:-.12em;width:2px;height:1.02em;border-radius:999px;background:currentColor;box-shadow:0 0 0 1px rgba(0,0,0,.16);opacity:0}
.omc-many__final[data-many-final]{opacity:0;transform:translate3d(0,46svh,0);will-change:transform,opacity}
.omc-scene--many.is-many-copy-active .omc-many__lead-line{opacity:1;animation:omcManyTypeReveal var(--many-duration,980ms) steps(var(--many-steps,12),end) var(--many-delay,0ms) forwards}
.omc-scene--many.is-many-copy-active .omc-many__lead-line::after{opacity:1;animation:omcManyCaretPulse .82s steps(1,end) calc(var(--many-delay,0ms) + 40ms) 3,omcManyCaretHide 1ms linear calc(var(--many-delay,0ms) + var(--many-duration,980ms) + 40ms) forwards}
.omc-scene--many.is-many-final-active .omc-many__final[data-many-final]{opacity:1;animation:omcManyFinalRiseIn 1.02s cubic-bezier(.16,1,.3,1.08) forwards}
@keyframes omcManyTypeReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes omcManyCaretPulse{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes omcManyCaretHide{to{opacity:0}}
@keyframes omcManyFinalRiseIn{0%{opacity:0;transform:translate3d(0,50svh,0)}72%{opacity:1;transform:translate3d(0,-18px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@media(min-width:768px){.omc-many__lead-line{display:inline-block}.omc-many__final[data-many-final]{transform:translate3d(0,36svh,0)}@keyframes omcManyFinalRiseIn{0%{opacity:0;transform:translate3d(0,40svh,0)}72%{opacity:1;transform:translate3d(0,-14px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}}
@media(prefers-reduced-motion:reduce){.omc-many__lead-line,.omc-many__lead-line::after,.omc-many__final[data-many-final]{clip-path:none;opacity:1;transform:none;animation:none;transition:none;will-change:auto}}
@media print{.omc-many__lead-line,.omc-many__lead-line::after,.omc-many__final[data-many-final]{clip-path:none!important;opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}


/* V5.5.15a: Scene 03 conversation bubbles begin a little earlier so they rush in right after the 3 photos cross and disappear. */
.omc-scene--lost .omc-conversation{margin-top:-14svh}
.omc-conversation[data-lost-conversation] p{opacity:0;will-change:transform,opacity}
.omc-conversation[data-lost-conversation] p:nth-child(1){--conv-from-x:-10px;--conv-from-y:36svh;--conv-overshoot-x:0px;--conv-overshoot-y:-24px;--conv-delay:0ms;--conv-rot:-2deg}
.omc-conversation[data-lost-conversation] p:nth-child(2){--conv-from-x:8px;--conv-from-y:40svh;--conv-overshoot-x:0px;--conv-overshoot-y:-28px;--conv-delay:90ms;--conv-rot:3deg}
.omc-conversation[data-lost-conversation] p:nth-child(3){--conv-from-x:-6px;--conv-from-y:44svh;--conv-overshoot-x:0px;--conv-overshoot-y:-24px;--conv-delay:180ms;--conv-rot:-1deg}
.omc-scene--lost .omc-conversation[data-lost-conversation] p{transform:translate3d(var(--conv-from-x),var(--conv-from-y),0) scale(.76) rotate(var(--conv-rot))}
.omc-scene--lost.is-lost-conversation-active .omc-conversation[data-lost-conversation] p{animation:omcLostBubbleRiseIn 1.02s cubic-bezier(.16,1,.3,1.08) var(--conv-delay,0ms) forwards}
@keyframes omcLostBubbleRiseIn{0%{opacity:0;transform:translate3d(var(--conv-from-x),var(--conv-from-y),0) scale(.76) rotate(var(--conv-rot))}62%{opacity:1;transform:translate3d(var(--conv-overshoot-x),var(--conv-overshoot-y),0) scale(1.15) rotate(calc(var(--conv-rot)*.72))}100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(var(--conv-rot))}}
@media(prefers-reduced-motion:reduce){.omc-scene--lost .omc-conversation{margin-top:-10svh}.omc-conversation[data-lost-conversation] p{opacity:1;transform:rotate(var(--conv-rot));animation:none;transition:none;will-change:auto}}
@media print{.omc-conversation[data-lost-conversation] p{opacity:1!important;transform:rotate(var(--conv-rot))!important;animation:none!important;transition:none!important;will-change:auto!important}}


/* V5.5.20: Scene 09 roadmap motion — CSS-first so motion is visible even if observer timing fails. */
.omc-scene--roadmap .omc-roadmap li{transform-origin:50% 50%;will-change:transform}
.omc-scene--roadmap .omc-roadmap li:nth-child(1){animation:omcRoadmapFloatA 5.2s ease-in-out -1.1s infinite}
.omc-scene--roadmap .omc-roadmap li:nth-child(2){animation:omcRoadmapFloatB 6.0s ease-in-out -3.0s infinite}
.omc-scene--roadmap .omc-roadmap li:nth-child(3){animation:omcRoadmapFloatC 4.8s ease-in-out -2.0s infinite}
.omc-scene--roadmap .omc-roadmap li:nth-child(4){animation:omcRoadmapFloatD 5.6s ease-in-out -.7s infinite}
.omc-scene--roadmap .omc-roadmap li:nth-child(5){animation:omcRoadmapFloatRelease 6.4s ease-in-out -4.0s infinite}
.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span{position:relative;animation:omcRoadmapProgressPulse 1.45s ease-in-out infinite;will-change:transform,filter,box-shadow}
.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span:after{position:absolute;inset:-5px;border-radius:999px;content:"";pointer-events:none;opacity:0;box-shadow:0 0 0 1px rgba(121,76,255,.24),0 0 20px rgba(121,76,255,.34);animation:omcRoadmapProgressAura 1.45s ease-in-out infinite}
.omc-scene--roadmap.is-roadmap-motion-paused .omc-roadmap li,
.omc-scene--roadmap.is-roadmap-motion-paused .omc-roadmap [data-status=in_progress] span,
.omc-scene--roadmap.is-roadmap-motion-paused .omc-roadmap [data-status=in_progress] span:after{animation-play-state:paused}
@keyframes omcRoadmapFloatA{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,-2deg))}50%{transform:translate3d(4px,-5px,0) rotate(calc(var(--r,-2deg) + .9deg))}}
@keyframes omcRoadmapFloatB{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,2deg))}50%{transform:translate3d(5px,4px,0) rotate(calc(var(--r,2deg) - .8deg))}}
@keyframes omcRoadmapFloatC{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,-2deg))}50%{transform:translate3d(-4px,5px,0) rotate(calc(var(--r,-2deg) + 1deg))}}
@keyframes omcRoadmapFloatD{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,2deg))}50%{transform:translate3d(-5px,-4px,0) rotate(calc(var(--r,2deg) - .9deg))}}
@keyframes omcRoadmapFloatRelease{0%,100%{transform:translate3d(0,0,0) rotate(var(--r,-2deg))}50%{transform:translate3d(8px,-3px,0) rotate(calc(var(--r,-2deg) + .8deg))}}
@keyframes omcRoadmapProgressPulse{0%,64%,100%{transform:scale(1);filter:brightness(1);box-shadow:none}74%{transform:scale(1.075);filter:brightness(1.12);box-shadow:0 0 18px rgba(121,76,255,.3)}84%{transform:scale(1.02);filter:brightness(1.04);box-shadow:0 0 10px rgba(121,76,255,.18)}}
@keyframes omcRoadmapProgressAura{0%,64%,100%{opacity:0;transform:scale(.92)}74%{opacity:.9;transform:scale(1.08)}90%{opacity:0;transform:scale(1.2)}}
@media(prefers-reduced-motion:reduce){.omc-scene--roadmap .omc-roadmap li,.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span,.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span:after{animation:none!important;will-change:auto}}


/* V5.5.21: later motion triggers + faster Beta pulse + tighter Scene 12 wordmark. */
.omc-final .omc-wordmark{line-height:1.1}
.omc-final .omc-wordmark span{display:inline-block;transform:translateY(-.12em)}


/* V5.5.22: later MEMORY AWARD like, faster Beta pulse, and a slightly higher Scene 12 composition. */
.omc-final .omc-scene__inner{transform:translateY(-4svh)}
@media(min-width:768px){.omc-final .omc-scene__inner{transform:translateY(-2.5svh)}}


/* V5.5.23: Scene 04 copy update, transient MEMORY AWARD glow, and lower Scene 12 headline block. */
.omc-final .omc-index,.omc-final h2{position:relative;top:2.4svh}
@media(min-width:768px){.omc-final .omc-index,.omc-final h2{top:1.4svh}}


/* V5.5.25: Scene 01 centered CTA + cute secondary card, Scene 10 tighter/right-aligned headline. */
.omc-scene--hero .omc-actions{flex-direction:column;align-items:center;justify-content:center}
.omc-scene--hero .omc-actions [data-placement=cf_click_hero]{display:flex;margin-inline:auto}
.omc-scene--hero .omc-button--ghost{position:relative;min-height:50px;padding:10px 20px 10px 42px;border:2px solid rgba(255,255,255,.86);border-radius:999px;background:rgba(255,255,255,.16);color:#fff!important;box-shadow:0 10px 24px rgba(39,12,84,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:rotate(-1.2deg);font-size:.94rem;letter-spacing:.02em}
.omc-scene--hero .omc-button--ghost:before{position:absolute;left:17px;top:50%;content:"✦";color:var(--omc-lime);font-size:1.05rem;line-height:1;transform:translateY(-52%) rotate(-12deg);text-shadow:0 0 12px rgba(210,255,92,.45)}
.omc-scene--hero .omc-button--ghost:hover{background:rgba(255,255,255,.24);transform:translateY(-2px) rotate(-1.2deg)}
.omc-scene--hero .omc-button--ghost:active{transform:scale(.98) rotate(-1.2deg)}
.omc-scene--campfire h2{display:flex;width:max-content;max-width:100%;flex-direction:column;align-items:flex-end;line-height:.84}
.omc-scene--campfire h2>.omc-copy-line{display:block;width:100%;text-align:right}
@media(max-width:374px){.omc-scene--hero .omc-actions{display:flex}.omc-scene--hero .omc-actions .omc-button{width:auto}.omc-scene--hero .omc-button--ghost{padding-left:39px}.omc-scene--campfire h2{line-height:.86}}
@media(min-width:768px){.omc-scene--campfire h2>.omc-copy-line--desktop-break{display:block}}


/* V5.5.26: Scene 01 wobble, Scene 07 larger like burst, Scene 09 typewriter + faster motion, Scene 10 tighter punctuation lockup. */
.omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){animation:omcHeroGhostWiggle 1.6s ease-in-out infinite}
@keyframes omcHeroGhostWiggle{0%,100%{transform:translate3d(0,0,0) rotate(-1.2deg)}10%{transform:translate3d(-1px,0,0) rotate(-2deg)}22%{transform:translate3d(1.5px,0,0) rotate(-.4deg)}34%{transform:translate3d(-1px,.4px,0) rotate(-1.9deg)}46%{transform:translate3d(1px,-.2px,0) rotate(-.6deg)}58%{transform:translate3d(-.6px,.2px,0) rotate(-1.6deg)}70%{transform:translate3d(.5px,0,0) rotate(-.9deg)}82%{transform:translate3d(-.4px,0,0) rotate(-1.35deg)}}

.omc-memory-award__like-burst{min-width:92px;min-height:50px;padding:8px 16px;gap:8px}
.omc-memory-award__like-burst-heart{font-size:1.44rem}
.omc-memory-award__like-burst-count{font-size:1.14rem}
@media(max-width:374px){.omc-memory-award__like-burst{min-width:82px;min-height:45px;padding:7px 14px}.omc-memory-award__like-burst-heart{font-size:1.28rem}.omc-memory-award__like-burst-count{font-size:1.04rem}}
@media(min-width:768px){.omc-memory-award__like-burst{min-width:98px;min-height:52px}}

.omc-roadmap__declaration[data-roadmap-typing]{position:relative}
.omc-roadmap__declaration-line{position:relative;display:block;width:max-content;max-width:100%;clip-path:inset(0 100% 0 0);opacity:0;will-change:clip-path,opacity}
.omc-roadmap__declaration-line::after{content:"";position:absolute;top:.1em;right:-.12em;width:2px;height:1.04em;border-radius:999px;background:currentColor;box-shadow:0 0 0 1px rgba(255,255,255,.22);opacity:0}
.omc-scene--roadmap.is-roadmap-copy-active .omc-roadmap__declaration-line{opacity:1;animation:omcRoadmapTypeReveal var(--roadmap-duration,760ms) steps(var(--roadmap-steps,8),end) var(--roadmap-delay,0ms) forwards}
.omc-scene--roadmap.is-roadmap-copy-active .omc-roadmap__declaration-line::after{opacity:1;animation:omcRoadmapCaretPulse .82s steps(1,end) calc(var(--roadmap-delay,0ms) + 40ms) 3,omcRoadmapCaretHide 1ms linear calc(var(--roadmap-delay,0ms) + var(--roadmap-duration,760ms) + 40ms) forwards}
@keyframes omcRoadmapTypeReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes omcRoadmapCaretPulse{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes omcRoadmapCaretHide{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible),.omc-roadmap__declaration-line,.omc-roadmap__declaration-line::after{animation:none!important;clip-path:none;opacity:1;will-change:auto}}
@media print{.omc-scene--hero .omc-button--ghost,.omc-roadmap__declaration-line,.omc-roadmap__declaration-line::after{animation:none!important;clip-path:none!important;opacity:1!important;will-change:auto!important}}

.omc-scene--roadmap .omc-roadmap li:nth-child(1){animation-duration:4.2s}
.omc-scene--roadmap .omc-roadmap li:nth-child(2){animation-duration:4.8s}
.omc-scene--roadmap .omc-roadmap li:nth-child(3){animation-duration:3.9s}
.omc-scene--roadmap .omc-roadmap li:nth-child(4){animation-duration:4.5s}
.omc-scene--roadmap .omc-roadmap li:nth-child(5){animation-duration:5.1s}
.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span{animation-duration:1.08s}
.omc-scene--roadmap .omc-roadmap [data-status=in_progress] span:after{animation-duration:1.08s}

.omc-campfire-connector,.omc-campfire-destination{display:inline-block}
.omc-campfire-destination{margin-left:-.18em}
@media(max-width:374px){.omc-campfire-destination{margin-left:-.14em}}


/* V5.5.27: hero tilt, memory-award rollback, Scene 10 three-line title. */
.omc-hero-media{overflow:hidden;overflow:clip}
.omc-hero-media img{transform:rotate(-10deg) scale(1.18);transform-origin:center center}
@media(min-width:768px){.omc-hero-media img{transform:rotate(-10deg) scale(1.14)}}

.omc-memory-award__like-burst{min-width:76px;min-height:42px;padding:7px 14px;gap:7px}
.omc-memory-award__like-burst-heart{font-size:1.22rem}
.omc-memory-award__like-burst-count{font-size:1rem}
@media(max-width:374px){.omc-memory-award__like-burst{min-width:68px;min-height:38px;padding:6px 12px;gap:6px}.omc-memory-award__like-burst-heart{font-size:1.12rem}.omc-memory-award__like-burst-count{font-size:.92rem}}
@media(min-width:768px){.omc-memory-award__like-burst{min-width:78px;min-height:42px;padding:7px 14px;gap:7px}.omc-memory-award__like-burst-heart{font-size:1.22rem}.omc-memory-award__like-burst-count{font-size:1rem}}

.omc-scene--campfire h2{display:flex;width:max-content;max-width:100%;flex-direction:column;align-items:flex-end;line-height:.82}
.omc-scene--campfire h2>.omc-copy-line{display:block;width:100%;text-align:right}


/* V5.5.28: hero lower edge slant and Scene 10 left alignment. */
.omc-hero-media{
  -webkit-clip-path:polygon(0 0,100% 0,100% 92%,0 100%);
  clip-path:polygon(0 0,100% 0,100% 92%,0 100%);
}
@media(min-width:768px){
  .omc-hero-media{
    -webkit-clip-path:polygon(0 0,100% 0,100% 90%,0 100%);
    clip-path:polygon(0 0,100% 0,100% 90%,0 100%);
  }
}

/* v1.5.114 cascade-final — Explain minimum selection without covering the product UI. */
@media(max-width:767px){
  .omc-magic__choice,
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    width:min(46vw,11.5rem);padding:10px 11px;border:1px solid currentColor;border-radius:12px;
    background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(0,0,0,.12);color:#101317;
    backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
  }
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    border-color:rgba(255,255,255,.7);background:rgba(22,10,52,.82);color:#fff
  }
  .omc-magic__auto-note,.omc-magic__choice-note{
    font-size:clamp(.74rem,3.05vw,.86rem);line-height:1.45
  }
  .omc-magic__choice-flow{
    display:grid;width:100%;gap:4px;margin-top:8px;padding:7px 8px;border-radius:9px;
    font-size:clamp(.63rem,2.65vw,.74rem);line-height:1.35;white-space:normal
  }
  .omc-magic__choice-flow i{display:none}
  .omc-magic__choice-flow span{display:block;white-space:normal}
  .omc-magic__choice-flow span::before{content:"→ ";opacity:.62}
  .omc-magic__choice-flow span:first-child::before{content:""}
}

/* v1.5.115 cascade-final — Hero development note and distinct Scene 04 flow cards. */
.omc-hero__development-note{
  max-width:34rem;margin:7px 0 0;color:rgba(255,255,255,.88);font-size:clamp(.68rem,2.9vw,.78rem);
  font-weight:700;line-height:1.55;text-shadow:0 2px 8px rgba(0,0,0,.58)
}
@media(max-width:767px){
  .omc-magic__choice,
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    width:min(46vw,11.5rem);padding:0;border:0;border-radius:0;background:transparent;
    box-shadow:none;color:currentColor;backdrop-filter:none;-webkit-backdrop-filter:none
  }
  .omc-magic__choice-flow,
  .omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{
    display:grid;width:100%;gap:15px;margin:0;padding:0;border:0;background:transparent;
    box-shadow:none;font-size:clamp(.68rem,2.85vw,.8rem);line-height:1.35
  }
  .omc-magic__choice-flow span{
    position:relative;display:grid;min-height:46px;padding:8px 9px;place-items:center;border:1.5px solid #101317;
    border-radius:10px;background:rgba(255,255,255,.94);box-shadow:3px 4px 0 rgba(16,19,23,.9);
    color:#101317;text-align:center;white-space:normal
  }
  .omc-magic__choice-flow span::before{position:absolute;top:-16px;left:50%;content:"↓";opacity:.72;transform:translateX(-50%)}
  .omc-magic__choice-flow span:first-child::before{content:""}
  .omc-magic[data-magic-phase="3"] .omc-magic__choice-flow span{
    border-color:rgba(255,255,255,.92);background:rgba(22,10,52,.94);box-shadow:3px 4px 0 rgba(255,255,255,.72);color:#fff
  }
}

.omc-scene--campfire h2{
  width:100%;
  max-width:100%;
  align-items:flex-start;
  line-height:.82;
}
.omc-scene--campfire h2>.omc-copy-line{
  width:auto;
  text-align:left;
}
@media(min-width:768px){
  .omc-scene--campfire h2{
    justify-content:flex-start;
  }
  .omc-scene--campfire h2>.omc-copy-line:first-child{
    flex-basis:auto;
  }
}


/* V5.5.29: subtle hero zoom and balanced Scene 10 line-height. */
.omc-hero-media img{will-change:transform;animation:omcHeroPhotoSlowZoom 9s ease-in-out infinite alternate}
@keyframes omcHeroPhotoSlowZoom{from{transform:rotate(-10deg) scale(1.18)}to{transform:rotate(-10deg) scale(1.215)}}
@media(min-width:768px){.omc-hero-media img{animation-name:omcHeroPhotoSlowZoomDesktop}@keyframes omcHeroPhotoSlowZoomDesktop{from{transform:rotate(-10deg) scale(1.14)}to{transform:rotate(-10deg) scale(1.175)}}}
.omc-scene--campfire h2{line-height:.96}
@media(prefers-reduced-motion:reduce){.omc-hero-media img{animation:none!important}}

/* Hero Mobile Ultra First V1.2 — ChatGPT build from v5.5.33 baseline.
 * Scope: Scene 01 mobile only. 390×844 is the primary viewport.
 */
@keyframes omcHeroPhotoSlowZoomMobileV1{
  from{transform:scale(1.035)}
  to{transform:scale(1.055)}
}
@media(max-width:767px){
  .omc-scene--hero{
    display:block;
    min-height:calc(100svh - 40px);
    padding:43svh 0 20px;
    overflow:hidden;
    overflow:clip;
    background:
      radial-gradient(circle at 92% 47%,rgba(121,76,255,.18),transparent 27%),
      radial-gradient(circle at 12% 52%,rgba(235,58,218,.13),transparent 26%),
      radial-gradient(circle at 54% 54%,rgba(47,154,163,.08),transparent 30%),
      #090909;
  }
  .omc-hero-media{
    top:24px;
    right:auto;
    left:-3vw;
    width:106vw;
    height:49svh;
    border-radius:14px;
    overflow:hidden;
    overflow:clip;
    -webkit-clip-path:none;
    clip-path:none;
    transform:rotate(-2.6deg);
    transform-origin:center center;
  }
  .omc-hero-media picture,
  .omc-hero-media img{
    width:100%;
    height:100%;
  }
  .omc-hero-media img{
    object-fit:cover;
    object-position:50% 42%!important;
    transform:scale(1.035);
    transform-origin:center center;
    will-change:transform;
    animation:omcHeroPhotoSlowZoomMobileV1 12s ease-in-out infinite alternate;
  }
  .omc-hero-overlay{
    background:
      radial-gradient(circle at 88% 43%,rgba(121,76,255,.16),transparent 23%),
      radial-gradient(circle at 13% 46%,rgba(235,58,218,.12),transparent 24%),
      linear-gradient(to bottom,rgba(9,9,9,0) 38%,rgba(9,9,9,.08) 47%,rgba(9,9,9,.72) 57%,#090909 66%);
  }
  .omc-scene--hero .omc-scene__inner{
    position:relative;
    z-index:2;
  }
  .omc-scene--hero h1{
    max-width:7ch;
    font-size:clamp(3.2rem,14vw,4.8rem);
    line-height:.92;
    letter-spacing:-.04em;
  }
  .omc-scene--hero .omc-lead{
    max-width:22rem;
    margin-top:18px;
    color:#fff;
    font-size:clamp(1rem,4.3vw,1.125rem);
    line-height:1.58;
  }
  .omc-scene--hero .omc-actions{
    margin-top:22px;
    align-items:stretch;
  }
  .omc-scene--hero .omc-actions [data-placement=cf_click_hero]{
    width:100%;
    min-height:54px;
    margin-inline:0;
  }
  .omc-scene--hero .omc-button--ghost{
    width:auto;
    align-self:center;
  }
}
@media(max-width:374px){
  .omc-scene--hero{
    min-height:calc(100svh - 40px);
    padding:42svh 0 16px;
  }
  .omc-hero-media{
    height:48svh;
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-hero-media img{
    animation:none!important;
    transform:scale(1.035)!important;
    will-change:auto;
  }
}

/* v1.5.96 — Lock the supporter message to two lines and add a neon glow. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge{
    font-size:clamp(1.22rem,5.9vw,1.85rem)
  }
  .omc-supporter-avatar__bridge span,
  .omc-supporter-avatar__bridge strong{
    width:100%;font-size:1em;line-height:1.22;white-space:nowrap
  }
  .omc-supporter-avatar__bridge span{
    color:#efff78;
    text-shadow:0 0 3px #fff,0 0 8px rgba(234,255,98,.95),0 0 18px rgba(181,255,40,.82),3px 3px 0 #351a77
  }
  .omc-supporter-avatar__bridge strong{
    margin-top:.22em;color:#fff;
    text-shadow:0 0 3px #fff,0 0 9px rgba(255,115,224,.95),0 0 20px rgba(242,59,215,.88),3px 3px 0 #351a77
  }
}
@media(max-width:374px){
  .omc-supporter-avatar__bridge{margin-inline:-12px;padding-inline:10px;font-size:clamp(1.08rem,5.55vw,1.3rem)}
}

/* v1.5.97 cascade-final — Safe Scene 02 right edge and reachable card trigger. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{
    right:12px;width:max-content;max-width:calc(100vw - 56px);margin-right:0;margin-left:auto;
    font-size:clamp(2.8rem,12vw,3.45rem);text-align:right
  }
}


/* Readability Pass V1 — 2026-08-14
 * Scope: contrast/readability only. No scene layout, copy, motion, CMS or gate changes.
 */
.omc-scene--many .omc-index{color:#f8d7f3}
.omc-scene--many h2,
.omc-scene--many .omc-many__lead,
.omc-scene--many .omc-many__final{color:#fff}
.omc-scene--many h2{ text-shadow:0 2px 3px rgba(0,0,0,.72),0 8px 24px rgba(0,0,0,.28)}
.omc-scene--many .omc-many__lead{font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.92),0 5px 16px rgba(0,0,0,.58)}
.omc-scene--many .omc-many__final{color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.86),0 8px 24px rgba(0,0,0,.55)}

.omc-scene--lost .omc-index{color:#f8d7f3}
.omc-scene--lost h2,
.omc-scene--lost .omc-lost__lead,
.omc-scene--lost .omc-conversation p{color:#fff}
.omc-scene--lost h2{ text-shadow:0 2px 3px rgba(0,0,0,.82),0 8px 22px rgba(0,0,0,.34)}
.omc-scene--lost .omc-conversation p{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.20);text-shadow:0 1px 2px rgba(0,0,0,.62)}

.omc-magic,
.omc-magic[data-magic-phase="1"],
.omc-magic[data-magic-phase="2"]{color:#101317}
.omc-magic[data-magic-phase="3"]{color:#fff}
.omc-magic__content h2,
.omc-magic__steps h3{font-weight:900}
.omc-magic__steps p{font-weight:800}

.omc-scene--recap{color:#101317}
.omc-scene--recap h2 span:nth-child(2){color:#a3158f}
.omc-scene--recap h2 span:nth-child(3){color:#4d2ab8}
.omc-scene--recap> .omc-scene__inner > p:last-child{color:#24292f;font-weight:750}

.omc-scene--events{color:#101317}
.omc-scene--events .omc-index{color:#2f0629}
.omc-scene--events h2{text-shadow:0 1px 0 rgba(255,255,255,.34)}
.omc-event-collage figcaption{color:#101317;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.omc-photo-hashtag{background:rgba(0,0,0,.30);text-shadow:0 1px 2px rgba(0,0,0,.82),0 3px 8px rgba(0,0,0,.48)}

.omc-scene--why{color:#101317}
.omc-scene--why .omc-index{color:#27300d}
.omc-benefit-flow strong{color:#101317}
.omc-benefit-flow span{color:#263015;font-weight:850}

.omc-scene--safety{color:#102c31}
.omc-scene--safety .omc-index{color:#20484d}
.omc-scene--safety li{background:rgba(255,255,255,.90);color:#102c31}

.omc-scene--roadmap{color:#101317}
.omc-scene--roadmap .omc-index{color:#594267}
.omc-roadmap__declaration{color:#5528c5;text-shadow:0 1px 0 #fff,0 3px 10px rgba(53,24,105,.16)}
.omc-roadmap li{color:#101317;background:#fff}

.omc-scene--campfire .omc-index{color:#ffd4c2}
.omc-scene--campfire h2{color:#fff}
.omc-scene--campfire h2+p,
.omc-scene--campfire .omc-support{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.92),0 5px 14px rgba(0,0,0,.46)}

.omc-scene--faq{color:#101317}
.omc-scene--faq summary{color:#101317}
.omc-scene--faq details p{color:#293238;font-weight:650}
.omc-sponsor h2,
.omc-sponsor p{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.58)}

.omc-final h2,
.omc-final .omc-wordmark,
.omc-final .omc-support{color:#fff}
.omc-final .omc-index{color:#f4dff4}
.omc-final h2{text-shadow:0 2px 3px rgba(0,0,0,.82),0 8px 22px rgba(0,0,0,.42)}


/* Scene 02 Gradient Transition V1 */
.omc-scene--many-eyes{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#31125f;
}
.omc-scene--many-eyes::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  background:
    radial-gradient(44% 46% at 12% 18%, rgba(255, 113, 173, .28) 0%, rgba(255, 113, 173, 0) 68%),
    radial-gradient(46% 42% at 86% 16%, rgba(147, 85, 255, .34) 0%, rgba(147, 85, 255, 0) 70%),
    radial-gradient(42% 40% at 52% 82%, rgba(255, 182, 117, .22) 0%, rgba(255, 182, 117, 0) 68%),
    linear-gradient(120deg, #2f0b56 0%, #4a1982 28%, #6b26b6 52%, #d9488f 76%, #ff9b67 100%);
  background-size: 100% 100%, 100% 100%, 100% 100%, 240% 240%;
  background-position: center center, center center, center center, 0% 50%;
  filter:saturate(1.03);
  transform:translate3d(0,0,0);
  animation:omcScene02GradientShift 16s ease-in-out infinite alternate;
}
.omc-scene--many-eyes::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg, rgba(15,5,35,.10) 0%, rgba(15,5,35,.04) 30%, rgba(15,5,35,.16) 100%);
  pointer-events:none;
}
.omc-scene--many-eyes > *{
  position:relative;
  z-index:1;
}
.omc-many__eyebrow{
  color:#ffc7de!important;
}
.omc-many h2,
.omc-many .omc-copy-line,
.omc-many .omc-lead,
.omc-many__final{
  color:#fff!important;
  text-shadow:0 4px 18px rgba(10,4,31,.28);
}
.omc-many__final{
  text-shadow:0 5px 20px rgba(10,4,31,.32);
}
@keyframes omcScene02GradientShift{
  0%{
    background-position:center center, center center, center center, 0% 50%;
    transform:scale(1) translate3d(0,0,0);
  }
  50%{
    background-position:center center, center center, center center, 52% 46%;
    transform:scale(1.04) translate3d(0,-1%,0);
  }
  100%{
    background-position:center center, center center, center center, 100% 52%;
    transform:scale(1.02) translate3d(0,1%,0);
  }
}
@media (prefers-reduced-motion: reduce){
  .omc-scene--many-eyes::before{
    animation:none!important;
    background-position:center center, center center, center center, 50% 50%;
    transform:none;
  }
}


/* Scene 02 — White + shadow readability V1.
   Remove the warm gradient and return to a cleaner, higher-contrast finish.
   Keep the copy in solid white with a stronger dark shadow so it remains legible
   over overlapping photos while still feeling bold and lively. */
.omc-scene--many .omc-many__final{
  color:#fff!important;
  -webkit-text-fill-color:#fff;
  text-shadow:
    0 3px 0 rgba(29,12,77,.20),
    0 8px 18px rgba(10,3,33,.62),
    0 16px 32px rgba(8,3,26,.28);
  filter:none;
}
@media (forced-colors:active){
  .omc-scene--many .omc-many__final{
    -webkit-text-fill-color:CanvasText!important;
    color:CanvasText!important;
    text-shadow:none!important;
  }
}


/* Scene 02 — White + shadow V1.1
   Keep the successful white + shadow direction, but lock
   「だから、」 and 「ぜんぶ見たい。」 into a clean 2-line layout
   so the copy never splits awkwardly on mobile. */
.omc-scene--many .omc-many__final{
  line-height:.88;
}
.omc-scene--many .omc-many__final-line{
  display:block;
}
.omc-scene--many .omc-many__final-line--2{
  white-space:nowrap;
}
@media (max-width:389px){
  .omc-scene--many .omc-many__final{
    font-size:clamp(3.05rem,13.4vw,4.5rem);
  }
}


/* Scene 02 — White + shadow V1.2
   Preserve the approved white + shadow treatment.
   Keep both lines fixed, but size the second line to fit the mobile content width
   without losing the large, expressive feel. */
.omc-scene--many .omc-many__final{
  width:100%;
  max-width:none;
  text-align:right;
}
.omc-scene--many .omc-many__final-line{
  width:max-content;
  max-width:100%;
  margin-left:auto;
}
.omc-scene--many .omc-many__final-line--2{
  white-space:nowrap;
  font-size:clamp(2.8rem,12vw,4.35rem);
  letter-spacing:-.06em;
}
@media (max-width:374px){
  .omc-scene--many .omc-many__final-line--2{
    font-size:clamp(2.65rem,11.8vw,3.05rem);
  }
}


/* Scene 02 approved manual position — move final copy 50px upward on mobile. */
@media (max-width:767px){
  .omc-scene--many .omc-many__final{
    position:relative;
    top:-50px;
    z-index:6;
  }
}

/* v1.5.13 — Scene 11 JOIN THE PARADE oval frame. */
.omc-sponsor{
  border-radius:999px;
}


/* Scene 03 Photo Scatter V8
   Go much harder: clear the center decisively by sending all three photos well off-screen.
   End state is intentionally almost gone so the empty / scattered feeling reads immediately. */
.omc-scene--lost .omc-lost__photos{
  z-index:2;
  overflow:visible;
}
.omc-scene--lost .omc-lost-photo{
  will-change:transform,opacity;
  transform-origin:50% 50%;
  backface-visibility:hidden;
}
.omc-scene--lost .omc-lost-photo::before,
.omc-scene--lost .omc-lost-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border:5px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:rgba(255,255,255,.03);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  opacity:0;
  pointer-events:none;
  filter:blur(1px);
}
.omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--1{opacity:1;transform:rotate(-8deg)}
.omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--2{opacity:1;transform:rotate(7deg)}
.omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--3{opacity:1;transform:rotate(2deg)}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1{animation:omcLostScatterPhoto1V8 1.18s cubic-bezier(.18,.88,.24,1) forwards}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2{animation:omcLostScatterPhoto2V8 1.18s cubic-bezier(.18,.88,.24,1) .03s forwards}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3{animation:omcLostScatterPhoto3V8 1.1s cubic-bezier(.18,.88,.24,1) .05s forwards}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1::before,
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1::after,
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2::before,
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2::after,
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3::before,
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3::after{
  animation-duration:.44s;
  animation-fill-mode:forwards;
  animation-timing-function:cubic-bezier(.22,.78,.3,1);
}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1::before{animation-name:omcLostTrail1aV8}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1::after{animation-name:omcLostTrail1bV8}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2::before{animation-name:omcLostTrail2aV8}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2::after{animation-name:omcLostTrail2bV8}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3::before{animation-name:omcLostTrail3aV8}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3::after{animation-name:omcLostTrail3bV8}
@keyframes omcLostScatterPhoto1V8{
  0%{opacity:1;transform:translate3d(0,0,0) rotate(-8deg) scale(1)}
  32%{opacity:1;transform:translate3d(44vw,18svh,0) rotate(6deg) scale(.98)}
  100%{opacity:0;transform:translate3d(132vw,76svh,0) rotate(26deg) scale(.58)}
}
@keyframes omcLostScatterPhoto2V8{
  0%{opacity:1;transform:translate3d(0,0,0) rotate(7deg) scale(1)}
  32%{opacity:1;transform:translate3d(-44vw,18svh,0) rotate(-6deg) scale(.98)}
  100%{opacity:0;transform:translate3d(-132vw,76svh,0) rotate(-26deg) scale(.58)}
}
@keyframes omcLostScatterPhoto3V8{
  0%{opacity:1;transform:translate3d(0,0,0) rotate(2deg) scale(1)}
  28%{opacity:1;transform:translate3d(-8vw,-24svh,0) rotate(-4deg) scale(.96)}
  100%{opacity:0;transform:translate3d(-22vw,-108svh,0) rotate(-16deg) scale(.52)}
}
@keyframes omcLostTrail1aV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(-8deg)}25%{opacity:.16;transform:translate3d(-24px,-12px,0) rotate(-8deg)}100%{opacity:0;transform:translate3d(-64px,-30px,0) rotate(-8deg)}}
@keyframes omcLostTrail1bV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(-8deg)}28%{opacity:.08;transform:translate3d(-46px,-22px,0) rotate(-8deg) scale(.95)}100%{opacity:0;transform:translate3d(-86px,-38px,0) rotate(-8deg) scale(.9)}}
@keyframes omcLostTrail2aV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(7deg)}25%{opacity:.16;transform:translate3d(24px,-12px,0) rotate(7deg)}100%{opacity:0;transform:translate3d(64px,-30px,0) rotate(7deg)}}
@keyframes omcLostTrail2bV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(7deg)}28%{opacity:.08;transform:translate3d(46px,-22px,0) rotate(7deg) scale(.95)}100%{opacity:0;transform:translate3d(86px,-38px,0) rotate(7deg) scale(.9)}}
@keyframes omcLostTrail3aV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(2deg)}25%{opacity:.16;transform:translate3d(10px,34px,0) rotate(2deg)}100%{opacity:0;transform:translate3d(18px,62px,0) rotate(2deg)}}
@keyframes omcLostTrail3bV8{0%{opacity:0;transform:translate3d(0,0,0) rotate(2deg)}28%{opacity:.08;transform:translate3d(18px,56px,0) rotate(2deg) scale(.95)}100%{opacity:0;transform:translate3d(28px,88px,0) rotate(2deg) scale(.9)}}
@media (min-width:768px){
  @keyframes omcLostScatterPhoto1V8{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(-8deg) scale(1)}
    32%{opacity:1;transform:translate3d(24vw,12svh,0) rotate(6deg) scale(.98)}
    100%{opacity:0;transform:translate3d(72vw,48svh,0) rotate(26deg) scale(.58)}
  }
  @keyframes omcLostScatterPhoto2V8{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(7deg) scale(1)}
    32%{opacity:1;transform:translate3d(-24vw,12svh,0) rotate(-6deg) scale(.98)}
    100%{opacity:0;transform:translate3d(-72vw,48svh,0) rotate(-26deg) scale(.58)}
  }
  @keyframes omcLostScatterPhoto3V8{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(2deg) scale(1)}
    28%{opacity:1;transform:translate3d(-6vw,-14svh,0) rotate(-4deg) scale(.96)}
    100%{opacity:0;transform:translate3d(-18vw,-72svh,0) rotate(-16deg) scale(.54)}
  }
}

@media (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost-photo{
    opacity:1!important;
    animation:none!important;
    will-change:auto;
  }
  .omc-scene--lost .omc-lost-photo--1{transform:rotate(-8deg)!important}
  .omc-scene--lost .omc-lost-photo--2{transform:rotate(7deg)!important}
  .omc-scene--lost .omc-lost-photo--3{transform:rotate(2deg)!important}
}
@media print{
  .omc-scene--lost .omc-lost-photo{
    opacity:1!important;
    animation:none!important;
    will-change:auto!important;
  }
  .omc-scene--lost .omc-lost-photo--1{transform:rotate(-8deg)!important}
  .omc-scene--lost .omc-lost-photo--2{transform:rotate(7deg)!important}
  .omc-scene--lost .omc-lost-photo--3{transform:rotate(2deg)!important}
}


/* Scene 09 Future Card V1 — a calm continuation beyond Release. */
.omc-roadmap-future{
  position:relative;
  z-index:3;
  margin:104px 0 10px;
  padding-top:68px;
  opacity:0;
  transform:translate3d(0,112px,0);
  will-change:transform,opacity;
}
.omc-roadmap-future__connector{
  position:absolute;
  top:0;
  left:50%;
  width:2px;
  height:58px;
  transform:translateX(-50%);
  background:linear-gradient(to bottom,rgba(9,9,9,.70),rgba(121,76,255,.40),rgba(121,76,255,0));
}
.omc-roadmap-future__connector:after{
  position:absolute;
  left:50%;
  bottom:-8px;
  width:10px;
  height:10px;
  border-right:2px solid rgba(121,76,255,.72);
  border-bottom:2px solid rgba(121,76,255,.72);
  content:"";
  transform:translateX(-50%) rotate(45deg);
}
.omc-roadmap-future__card{
  position:relative;
  overflow:hidden;
  padding:30px 22px 28px;
  border:2px dashed rgba(35,18,67,.68);
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 10%,rgba(242,59,215,.22),transparent 34%),
    radial-gradient(circle at 8% 92%,rgba(121,76,255,.22),transparent 36%),
    rgba(255,255,255,.88);
  box-shadow:8px 8px 0 rgba(35,18,67,.10),0 22px 45px rgba(60,30,120,.12);
}
.omc-roadmap-future__card:before{
  position:absolute;
  top:-42px;
  right:-42px;
  width:124px;
  height:124px;
  border:1px solid rgba(121,76,255,.22);
  border-radius:50%;
  content:"";
}
.omc-roadmap-future__eyebrow{
  margin:0 0 14px;
  color:#6538e8;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.18em;
}
.omc-roadmap-future h3{
  max-width:9ch;
  margin:0;
  color:#101317;
  font-size:clamp(2.35rem,10.8vw,4.6rem);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.055em;
}
.omc-roadmap-future__question{
  margin:28px 0 0;
  color:#5528c5;
  font-size:clamp(1.45rem,6.5vw,2.65rem);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.035em;
}
.omc-roadmap-future__note{
  margin:14px 0 0;
  color:#38313f;
  font-size:1rem;
  font-weight:800;
  line-height:1.65;
}
.omc-scene--roadmap.is-roadmap-future-active .omc-roadmap-future{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:opacity 1.05s ease,transform 1.42s cubic-bezier(.22,1,.36,1);
}
@media(min-width:768px){
  .omc-roadmap-future{max-width:780px;margin:128px auto 20px;padding-top:76px}
  .omc-roadmap-future__connector{height:66px}
  .omc-roadmap-future__card{padding:44px 48px 42px;border-radius:30px}
  .omc-roadmap-future h3{max-width:none}
  .omc-roadmap-future__question{margin-top:34px}
}
@media(prefers-reduced-motion:reduce){
  .omc-roadmap-future{opacity:1;transform:none;transition:none;will-change:auto}
}
@media print{
  .omc-roadmap-future{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}
}


/* V1.0: Scene 09 bon-odori decorative photo lifted slightly upward on mobile. */
@media(max-width:767px){
  .omc-roadmap-photo--2{top:28%}
}
@media(max-width:420px){
  .omc-roadmap-photo--2{top:29%}
}


/* V1.0: Scene 12 photo gather + headline fade-in. */
body.has-final-motion .omc-final .omc-final-photo{
  opacity:0;
  will-change:transform,opacity,filter;
  transition:transform 1.18s cubic-bezier(.2,.82,.2,1),opacity .82s ease,filter 1.05s ease;
  filter:blur(2px);
}
body.has-final-motion .omc-final .omc-final-photo--1{transform:translate3d(-42vw,-24svh,0) rotate(-18deg) scale(.74);transition-delay:.02s}
body.has-final-motion .omc-final .omc-final-photo--2{transform:translate3d(42vw,-22svh,0) rotate(18deg) scale(.76);transition-delay:.1s}
body.has-final-motion .omc-final .omc-final-photo--3{transform:translate3d(-44vw,26svh,0) rotate(16deg) scale(.75);transition-delay:.18s}
body.has-final-motion .omc-final .omc-final-photo--4{transform:translate3d(44vw,24svh,0) rotate(-18deg) scale(.75);transition-delay:.26s}
body.has-final-motion .omc-final .omc-final-photo--5{transform:translate3d(-4vw,-34svh,0) rotate(8deg) scale(.72);transition-delay:.34s}
body.has-final-motion .omc-final .omc-final-photo--6{transform:translate3d(4vw,32svh,0) rotate(-8deg) scale(.72);transition-delay:.42s}
body.has-final-motion .omc-final h2{
  opacity:.04;
  transform:translateY(3.4svh) scale(.985);
  filter:blur(8px);
  transition:opacity 1.12s ease,transform 1.12s cubic-bezier(.2,.82,.2,1),filter .96s ease;
  transition-delay:.48s;
}
body.has-final-motion .omc-final.is-final-gathered .omc-final-photo{
  opacity:.92;
  transform:translate3d(0,0,0) rotate(var(--r,3deg)) scale(1);
  filter:none;
}
body.has-final-motion .omc-final.is-final-gathered h2{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:none;
}
@media(min-width:768px){
  body.has-final-motion .omc-final .omc-final-photo--1{transform:translate3d(-28vw,-19svh,0) rotate(-18deg) scale(.78)}
  body.has-final-motion .omc-final .omc-final-photo--2{transform:translate3d(28vw,-18svh,0) rotate(18deg) scale(.8)}
  body.has-final-motion .omc-final .omc-final-photo--3{transform:translate3d(-28vw,20svh,0) rotate(16deg) scale(.79)}
  body.has-final-motion .omc-final .omc-final-photo--4{transform:translate3d(28vw,19svh,0) rotate(-18deg) scale(.79)}
  body.has-final-motion .omc-final .omc-final-photo--5{transform:translate3d(-2vw,-24svh,0) rotate(8deg) scale(.76)}
  body.has-final-motion .omc-final .omc-final-photo--6{transform:translate3d(2vw,23svh,0) rotate(-8deg) scale(.76)}
  body.has-final-motion .omc-final h2{transform:translateY(2.6svh) scale(.985)}
}


/* Header Gap V1: tighten mobile section heading spacing for better scroll tempo. */
@media(max-width:767px){
  .omc-scene--many,
  .omc-scene--lost,
  .omc-scene--recap,
  .omc-scene--events,
  .omc-scene--why,
  .omc-scene--safety,
  .omc-scene--roadmap,
  .omc-scene--campfire,
  .omc-scene--faq{
    padding-top:80px;
  }
  .omc-scene--many .omc-index,
  .omc-scene--lost .omc-index,
  .omc-scene--recap .omc-index,
  .omc-scene--events .omc-index,
  .omc-scene--why .omc-index,
  .omc-scene--safety .omc-index,
  .omc-scene--roadmap .omc-index,
  .omc-scene--campfire .omc-index,
  .omc-scene--faq .omc-index{
    margin-bottom:10px;
  }
  .omc-scene--many .omc-lead,
  .omc-scene--lost .omc-lead,
  .omc-scene--recap .omc-lead,
  .omc-scene--events .omc-lead,
  .omc-scene--why .omc-lead,
  .omc-scene--safety .omc-lead,
  .omc-scene--roadmap .omc-lead,
  .omc-scene--campfire .omc-lead,
  .omc-scene--faq .omc-lead,
  .omc-scene--campfire h2 + p{
    margin-top:18px;
  }
}

/* v1.5.11 — Explicit RGB split and Scene 09 upper-photo relocation. */
@media (min-width:1200px){
  .omc-scene--many .omc-many__final-line{
    position:relative;
    isolation:isolate;
    text-shadow:0 8px 18px rgba(0,0,0,.46);
  }

  .omc-scene--many .omc-many__final-line::before,
  .omc-scene--many .omc-many__final-line::after{
    position:absolute;
    z-index:-1;
    inset:0;
    width:100%;
    content:attr(data-glitch-text);
    pointer-events:none;
  }

  .omc-scene--many .omc-many__final-line::before{
    color:#00f0f4;
    -webkit-text-fill-color:#00f0f4;
    transform:translateX(8px);
    clip-path:inset(0 0 48% 0);
  }

  .omc-scene--many .omc-many__final-line::after{
    color:#ff149d;
    -webkit-text-fill-color:#ff149d;
    transform:translateX(-8px);
    clip-path:inset(48% 0 0 0);
  }

  .omc-roadmap-photo--1{
    left:auto;
    right:20%;
    top:12%;
  }
}


/* Scene 04 Share Choice V1: reassure users that shared photos are selected before sending. */
.omc-magic__choice{position:relative;z-index:4;width:min(100%,25rem);margin-top:16px;color:currentColor}
.omc-magic__choice-note{margin:0;font-size:clamp(.84rem,3.6vw,.98rem);font-weight:800;line-height:1.55;letter-spacing:.01em}
.omc-magic__choice-flow{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:9px 0 0;padding:7px 10px;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.34);font-size:.72rem;font-weight:900;line-height:1;letter-spacing:.05em;box-shadow:0 5px 16px rgba(0,0,0,.08)}
.omc-magic__choice-flow span{white-space:nowrap}
.omc-magic__choice-flow i{font-style:normal;opacity:.68}
.omc-magic[data-magic-phase="3"] .omc-magic__choice-flow{background:rgba(9,9,9,.18);border-color:rgba(255,255,255,.72)}
@media(max-width:374px){.omc-magic__choice{margin-top:13px}.omc-magic__choice-note{font-size:.8rem}.omc-magic__choice-flow{gap:5px;margin-top:7px;padding:6px 9px;font-size:.68rem}}
@media(min-width:768px){.omc-magic__choice{width:min(42%,28rem);margin-top:18px}.omc-magic__choice-note{font-size:1rem}.omc-magic__choice-flow{margin-top:10px;font-size:.76rem}}


/* Scene 07 Memory Award V1: larger like badge + one-beat pink flash. */
.omc-memory-award__like-burst{
  min-width:132px;
  min-height:64px;
  padding:11px 20px;
  gap:12px;
  border:2px solid rgba(255,255,255,.18);
  background:rgba(18,18,20,.92);
  box-shadow:0 14px 30px rgba(0,0,0,.32);
}
.omc-memory-award__like-burst-heart{
  font-size:1.64rem;
  flex:0 0 auto;
}
.omc-memory-award__like-burst-count{
  display:inline-block;
  min-width:2.5em;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  text-align:center;
  font-variant-numeric:tabular-nums;
  font-size:1.34rem;
  line-height:1;
  flex:0 0 auto;
}
.omc-memory-award__like-burst::before{
  position:absolute;
  left:50%;
  top:50%;
  width:72px;
  height:72px;
  border-radius:999px;
  content:"";
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.12);
  background:radial-gradient(circle, rgba(255,248,252,.98) 0%, rgba(255,185,226,.96) 16%, rgba(255,102,183,.92) 32%, rgba(255,74,164,.62) 52%, rgba(255,74,164,.24) 68%, rgba(255,74,164,0) 82%);
  filter:blur(2px);
}
.omc-memory-award.is-liked .omc-memory-award__like-burst{
  animation:omcMemoryAwardButtonPulse .88s cubic-bezier(.22,1,.36,1) 1;
}
.omc-memory-award.is-liked .omc-memory-award__like-burst::before{
  animation:omcMemoryAwardPinkFlash .92s cubic-bezier(.18,.88,.24,1) 1;
}
.omc-memory-award.is-liked .omc-memory-award__like-burst::after{
  animation:omcMemoryAwardGlow .96s ease-out 1;
  box-shadow:0 0 76px rgba(255,74,164,.72);
}
@keyframes omcMemoryAwardButtonPulse{
  0%{transform:translate(-50%,-50%) scale(1)}
  22%{transform:translate(-50%,-50%) scale(1.16)}
  44%{transform:translate(-50%,-50%) scale(.96)}
  68%{transform:translate(-50%,-50%) scale(1.1)}
  100%{transform:translate(-50%,-50%) scale(1)}
}
@keyframes omcMemoryAwardPinkFlash{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  14%{opacity:1;transform:translate(-50%,-50%) scale(1.8)}
  38%{opacity:.84;transform:translate(-50%,-50%) scale(4.8)}
  68%{opacity:.34;transform:translate(-50%,-50%) scale(7.8)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(10.4)}
}
@media(max-width:374px){
  .omc-memory-award__like-burst{min-width:116px;min-height:56px;padding:9px 17px;gap:9px}
  .omc-memory-award__like-burst-heart{font-size:1.46rem}
  .omc-memory-award__like-burst-count{min-width:2.4em;font-size:1.16rem}
}
@media(min-width:768px){
  .omc-memory-award__like-burst{min-width:138px;min-height:66px;padding:12px 22px}
  .omc-memory-award__like-burst-count{font-size:1.38rem}
}
@media(prefers-reduced-motion:reduce){
  .omc-memory-award__like-burst::before,
  .omc-memory-award__like-burst::after,
  .omc-memory-award.is-liked .omc-memory-award__like-burst,
  .omc-memory-award.is-liked .omc-memory-award__like-burst-heart,
  .omc-memory-award.is-liked .omc-memory-award__like-burst-count{
    animation:none!important;
  }
}


/* Scene 04 copy fix + Scene 07 flash V1.2: lighter, wider full-screen burst. */
.omc-memory-award,
.omc-memory-award__photo{overflow:visible}
.omc-memory-award__like-burst::before{
  width:132px;
  height:132px;
  transform:translate(-50%,-50%) scale(.08);
  background:radial-gradient(circle, rgba(255,251,253,.62) 0%, rgba(255,226,241,.54) 14%, rgba(255,184,219,.42) 28%, rgba(255,128,192,.28) 48%, rgba(255,128,192,.14) 64%, rgba(255,128,192,.06) 74%, rgba(255,128,192,0) 84%);
  filter:blur(6px);
}
.omc-memory-award.is-liked .omc-memory-award__like-burst::after{
  animation:omcMemoryAwardGlow 1.08s ease-out 1;
  box-shadow:0 0 168px rgba(255,154,214,.34);
}
@keyframes omcMemoryAwardPinkFlash{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}
  12%{opacity:.72;transform:translate(-50%,-50%) scale(1.4)}
  34%{opacity:.52;transform:translate(-50%,-50%) scale(4.4)}
  62%{opacity:.24;transform:translate(-50%,-50%) scale(8.8)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(14.6)}
}
@media(max-width:374px){
  .omc-memory-award__like-burst::before{width:120px;height:120px}
}
@media(min-width:768px){
  .omc-memory-award__like-burst::before{width:150px;height:150px}
  .omc-memory-award.is-liked .omc-memory-award__like-burst::after{box-shadow:0 0 220px rgba(255,154,214,.3)}
}


/* Scene 07 ripple V1: replace flash with soft full-screen water-ripple effect. */
.omc-memory-award,
.omc-memory-award__photo,
.omc-memory-award__like-burst{overflow:visible}
.omc-memory-award__like-burst::before,
.omc-memory-award__like-burst::after{
  position:absolute;
  left:50%;
  top:50%;
  width:30px;
  height:30px;
  border-radius:999px;
  content:"";
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.22);
}
.omc-memory-award__like-burst::before{
  border:3px solid rgba(255,182,220,.42);
  box-shadow:0 0 0 1px rgba(255,236,246,.12) inset, 0 0 18px rgba(255,164,214,.12);
  background:radial-gradient(circle, rgba(255,214,234,.12) 0%, rgba(255,214,234,.06) 24%, rgba(255,214,234,0) 58%);
}
.omc-memory-award__like-burst::after{
  border:2px solid rgba(208,172,255,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 0 20px rgba(198,165,255,.10);
  background:radial-gradient(circle, rgba(226,210,255,.08) 0%, rgba(226,210,255,.04) 22%, rgba(226,210,255,0) 56%);
}
.omc-memory-award.is-liked .omc-memory-award__like-burst{
  animation:omcMemoryAwardButtonPulse .74s cubic-bezier(.22,1,.36,1) 1;
}
.omc-memory-award.is-liked .omc-memory-award__like-burst::before{
  animation:omcMemoryAwardRippleOne 1.48s cubic-bezier(.16,.84,.2,1) 1;
}
.omc-memory-award.is-liked .omc-memory-award__like-burst::after{
  animation:omcMemoryAwardRippleTwo 1.62s cubic-bezier(.16,.84,.2,1) .12s 1 both;
}
@keyframes omcMemoryAwardRippleOne{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.22)}
  10%{opacity:.78;transform:translate(-50%,-50%) scale(.9)}
  42%{opacity:.46;transform:translate(-50%,-50%) scale(8.8)}
  72%{opacity:.20;transform:translate(-50%,-50%) scale(14.6)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(18.8)}
}
@keyframes omcMemoryAwardRippleTwo{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.22)}
  14%{opacity:.58;transform:translate(-50%,-50%) scale(1.2)}
  44%{opacity:.34;transform:translate(-50%,-50%) scale(10.6)}
  76%{opacity:.14;transform:translate(-50%,-50%) scale(16.8)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(22.4)}
}
@media(max-width:374px){
  .omc-memory-award__like-burst::before,
  .omc-memory-award__like-burst::after{width:26px;height:26px}
}
@media(min-width:768px){
  .omc-memory-award__like-burst::before,
  .omc-memory-award__like-burst::after{width:34px;height:34px}
}
@media(prefers-reduced-motion:reduce){
  .omc-memory-award__like-burst::before,
  .omc-memory-award__like-burst::after,
  .omc-memory-award.is-liked .omc-memory-award__like-burst{
    animation:none!important;
  }
}


/* Scene 04 / 07 / 12 refinement V2 */
.omc-magic__steps .omc-magic__merge-copy{
  width:max-content;
  max-width:none;
}
.omc-magic__steps .omc-magic__merge-copy span{
  display:block;
  width:max-content;
  max-width:calc(100vw - 64px);
  white-space:nowrap;
}
.omc-memory-award::before,
.omc-memory-award:before{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
  opacity:0!important;
}
.omc-final__message{
  position:relative;
  z-index:1;
  transform:translateY(3svh);
}
@media(min-width:768px){
  .omc-final__message{transform:translateY(2svh)}
}


/* Scene 04 + Photo Corners + Scene 09 Future Swing V1 */
.omc-magic__merge-copy{
  margin-top:10px;
  font-size:clamp(1rem,4.2vw,1.16rem);
  font-weight:800;
  line-height:1.55;
  letter-spacing:.01em;
}
.omc-magic__merge-copy span{
  display:block;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap;
}

/* Real-photo treatment: square corners like printed photographs.
   UI screenshots, buttons, cards and badges intentionally keep their radii. */
.omc-hero-media,
.omc-hero-media img,
.omc-floating-photo img,
.omc-many-photo img,
.omc-lost-photo img,
.omc-event-collage figure,
.omc-event-collage img,
.omc-roadmap-photo,
.omc-roadmap-photo img,
.omc-final-photo,
.omc-final-photo img{
  border-radius:0!important;
}

/* Scene 03 motion trails inherit the same sharp photographic corners. */
.omc-scene--lost .omc-lost-photo::before,
.omc-scene--lost .omc-lost-photo::after{
  border-radius:0!important;
}

/* Scene 09 FUTURE: slow pendulum swing after reveal. */
.omc-scene--roadmap.is-roadmap-future-active .omc-roadmap-future__card{
  transform-origin:50% 0;
  animation:omcRoadmapFuturePendulum 7.2s ease-in-out 1.2s infinite alternate;
  will-change:transform;
}
@keyframes omcRoadmapFuturePendulum{
  0%{transform:rotate(-1.25deg)}
  50%{transform:rotate(.35deg)}
  100%{transform:rotate(1.25deg)}
}
@media(min-width:768px){
  .omc-magic__merge-copy{font-size:1.08rem}
}
@media(prefers-reduced-motion:reduce){
  .omc-scene--roadmap.is-roadmap-future-active .omc-roadmap-future__card{
    animation:none!important;
    transform:none!important;
    will-change:auto;
  }
}


/* V1.1.96 final refinements: Scene 04 size, Memory Award round photo, Future pendulum, font-weight parity. */

/* Keep Japanese typography visually consistent between iPhone Safari and desktop device emulation. */
.omc-lp{
  font-synthesis:weight style;
}
.omc-scene h1,
.omc-scene h2,
.omc-magic__steps h3,
.omc-memory-award h3,
.omc-roadmap-future h3{
  font-weight:900!important;
}
.omc-index,
.omc-kicker,
.omc-magic__steps>li>span,
.omc-magic__choice-note,
.omc-magic__merge-copy,
.omc-roadmap-future__question{
  font-weight:900!important;
}

/* Scene 04: fixed two lines, but restore strong readable size on mobile. */
.omc-magic__steps .omc-magic__merge-copy{
  width:max-content!important;
  max-width:calc(100vw - 54px)!important;
  margin-top:12px!important;
  font-size:clamp(1.28rem,5.4vw,1.52rem)!important;
  font-weight:900!important;
  line-height:1.48!important;
  letter-spacing:.005em!important;
}
.omc-magic__steps .omc-magic__merge-copy span{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  font-size:1em!important;
  font-weight:900!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap!important;
}
@media(max-width:374px){
  .omc-magic__steps .omc-magic__merge-copy{font-size:clamp(1.18rem,5.2vw,1.32rem)!important}
}
@media(min-width:768px){
  .omc-magic__steps .omc-magic__merge-copy{font-size:1.34rem!important}
}

/* All documentary/event photos stay square, except MEMORY AWARD which intentionally returns to rounded photo corners. */
.omc-memory-award__photo{
  border-radius:16px!important;
}
.omc-memory-award__photo img,
.omc-memory-award__photo picture,
.omc-memory-award__photo-image{
  border-radius:9px!important;
}

/* Scene 09 FUTURE: guaranteed slow pendulum, independent of reveal-state class. */
.omc-roadmap-future__card{
  transform-origin:50% 0!important;
  animation:omcRoadmapFuturePendulumV2 5.8s ease-in-out .8s infinite!important;
  will-change:transform;
}
@keyframes omcRoadmapFuturePendulumV2{
  0%,100%{transform:rotate(-2.4deg)}
  50%{transform:rotate(2.4deg)}
}
@media(prefers-reduced-motion:reduce){
  .omc-roadmap-future__card{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}


/* V1.1.97 — iPhone-reference typography + Scene 04 size + faster FUTURE pendulum. */

/* Main display copy:
   iPhone Safari does not normally use BIZ UDPGothic from the desktop Mac stack.
   Use the Hiragino family first so desktop device emulation visually tracks iPhone Safari more closely. */
.omc-scene h1,
.omc-scene h2,
.omc-magic__steps h3,
.omc-memory-award h3,
.omc-roadmap-future h3{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",system-ui,sans-serif!important;
  font-weight:900!important;
  font-synthesis:weight!important;
}

/* Supporting strong copy also follows the iPhone-reference face. */
.omc-magic__choice-note,
.omc-magic__merge-copy,
.omc-benefit-flow strong,
.omc-roadmap-future__question{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",system-ui,sans-serif!important;
  font-weight:900!important;
}

/* Scene 04: keep the approved 2-line break, but make the supporting message clearly larger. */
.omc-magic__steps .omc-magic__merge-copy{
  width:max-content!important;
  max-width:calc(100vw - 42px)!important;
  margin-top:12px!important;
  font-size:clamp(1.42rem,6vw,1.66rem)!important;
  font-weight:900!important;
  line-height:1.42!important;
  letter-spacing:.005em!important;
}
.omc-magic__steps .omc-magic__merge-copy span{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  font-size:1em!important;
  font-family:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap!important;
}
@media(max-width:374px){
  .omc-magic__steps .omc-magic__merge-copy{
    font-size:clamp(1.32rem,5.8vw,1.48rem)!important;
  }
}
@media(min-width:768px){
  .omc-magic__steps .omc-magic__merge-copy{
    font-size:1.5rem!important;
  }
}

/* Memory Award is the intentional exception: rounded photographic frame. */
.omc-memory-award__photo{
  border-radius:16px!important;
}
.omc-memory-award__photo img,
.omc-memory-award__photo picture,
.omc-memory-award__photo-image{
  border-radius:9px!important;
}

/* Scene 09 FUTURE: same approved pendulum, noticeably faster. */
.omc-roadmap-future__card{
  transform-origin:50% 0!important;
  animation:omcRoadmapFuturePendulumV3 3.8s ease-in-out .45s infinite!important;
  will-change:transform;
}
@keyframes omcRoadmapFuturePendulumV3{
  0%,100%{transform:rotate(-2.4deg)}
  50%{transform:rotate(2.4deg)}
}
@media(prefers-reduced-motion:reduce){
  .omc-roadmap-future__card{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}


/* v1.1.98 — Correct direction: preserve iPhone-reference weight, reduce Scene 04 weight, speed FUTURE. */
/* Remove the synthetic heavy look introduced in v1.1.97. */
.omc-scene h1,
.omc-scene h2,
.omc-magic__steps h3,
.omc-memory-award h3,
.omc-roadmap-future h3{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",system-ui,sans-serif!important;
  font-weight:800!important;
  font-synthesis:none!important;
}

/* Scene 04 approved 2-line copy: keep the size, make it clearly lighter. */
.omc-magic__steps .omc-magic__merge-copy{
  font-weight:700!important;
}
.omc-magic__steps .omc-magic__merge-copy span{
  font-weight:700!important;
}

/* v1.2.00 — restore main text size to base, lighten Scene 04 two-line copy to body-copy weight, keep Scene 09 speed OK. */
.omc-magic__steps .omc-magic__merge-copy,
.omc-magic__steps .omc-magic__merge-copy span{
  font-weight: 400 !important;
}

/* Keep Scene 09 FUTURE speed from v1.1.99 */
.omc-roadmap-future__card{
  animation: omcRoadmapFuturePendulumV5 2.2s ease-in-out .18s infinite !important;
  transform-origin: 50% 0%;
}
@keyframes omcRoadmapFuturePendulumV5{
  0%,100%{transform:rotate(-2.6deg)}
  50%{transform:rotate(2.6deg)}
}
@media(prefers-reduced-motion:reduce){
  .omc-roadmap-future__card{
    animation:none !important;
    transform:none !important;
  }
}


.omc-scene--hero h1,
.omc-scene--many h2,
.omc-scene--lost h2,
.omc-magic__content h2,
.omc-magic__steps h3,
.omc-scene--recap h2,
.omc-scene--events h2,
.omc-scene--why h2,
.omc-scene--safety h2,
.omc-scene--roadmap h2,
.omc-scene--campfire h2,
.omc-sponsor h2,
.omc-final h2{
  font-family:"源暎ゴシックN","Genei Gothic N","GeneiGothicN","Hiragino Sans","Noto Sans JP",sans-serif!important;
  font-weight:700!important;
}

/* v1.2.03 — Genei Gothic N, one-step lighter headline weight, original responsive headline sizes retained. */
.omc-scene--hero h1,
.omc-scene--many h2,
.omc-scene--lost h2,
.omc-magic__content h2,
.omc-magic__steps h3,
.omc-scene--recap h2,
.omc-scene--events h2,
.omc-scene--why h2,
.omc-scene--safety h2,
.omc-scene--roadmap h2,
.omc-scene--campfire h2,
.omc-sponsor h2,
.omc-final h2{
  font-family:"源暎ゴシックN","Genei Gothic N","GeneiGothicN","Hiragino Sans","Noto Sans JP",sans-serif!important;
  font-weight:600!important;
}

/* v1.2.11 — Scene 04 typography standard:
   「みんなが、それぞれの瞬間を撮る。」 is the reference.
   Match 「別々だった景色が、ひとつになる。」 to its size / weight / tracking. */
.omc-magic__steps .omc-magic__merge-copy{
  font-size:1rem!important;
  font-weight:800!important;
  letter-spacing:normal!important;
}
.omc-magic__steps .omc-magic__merge-copy span{
  font-size:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
}

/* v1.5.00 — Desktop Phase 1 / Scene 01 HERO.
 * Scope: Desktop >=1200px only.
 * Mobile v1.2.12 remains the source of truth. Tablet 768–1199px is intentionally untouched.
 */
@keyframes omcHeroPhotoSlowZoomDesktopV1500{
  from{transform:scale(1.015)}
  to{transform:scale(1.045)}
}

@media (min-width:1200px){
  .omc-scene--hero{
    display:flex;
    min-height:calc(100svh - 34px);
    padding:118px 0 72px;
    align-items:center;
    overflow:hidden;
    overflow:clip;
    background:
      radial-gradient(circle at 14% 62%,rgba(235,58,218,.13),transparent 28%),
      radial-gradient(circle at 88% 36%,rgba(121,76,255,.18),transparent 31%),
      radial-gradient(circle at 72% 80%,rgba(47,154,163,.08),transparent 27%),
      #090909;
  }

  .omc-scene--hero .omc-scene__inner{
    position:relative;
    z-index:3;
    width:min(calc(100% - 112px),1440px);
    padding-right:55%;
  }

  .omc-hero-media{
    position:absolute;
    z-index:0;
    top:10%;
    right:-3.5vw;
    bottom:auto;
    left:auto;
    width:min(60vw,980px);
    height:80%;
    border-radius:30px;
    overflow:hidden;
    overflow:clip;
    -webkit-clip-path:none;
    clip-path:none;
    transform:rotate(1.8deg);
    transform-origin:center center;
    box-shadow:0 34px 80px rgba(0,0,0,.34);
  }

  .omc-hero-media picture,
  .omc-hero-media img{
    display:block;
    width:100%;
    height:100%;
  }

  .omc-hero-media img{
    object-fit:cover;
    object-position:50% 44%!important;
    transform:scale(1.015);
    transform-origin:center center;
    animation:omcHeroPhotoSlowZoomDesktopV1500 12s ease-in-out infinite alternate;
    will-change:transform;
  }

  .omc-hero-overlay{
    position:absolute;
    z-index:1;
    inset:0;
    background:
      linear-gradient(to right,#090909 0%,#090909 28%,rgba(9,9,9,.96) 38%,rgba(9,9,9,.63) 53%,rgba(9,9,9,.10) 74%,rgba(9,9,9,.04) 100%),
      linear-gradient(to top,#090909 0%,rgba(9,9,9,.34) 13%,rgba(9,9,9,0) 38%);
    pointer-events:none;
  }

  .omc-scene--hero h1{
    max-width:6.4ch;
    font-size:clamp(6rem,7.25vw,8.4rem);
    line-height:.9;
    letter-spacing:-.045em;
    text-shadow:0 5px 28px rgba(0,0,0,.28);
  }

  .omc-scene--hero .omc-lead{
    max-width:31rem;
    margin-top:28px;
    color:#fff;
    font-size:clamp(1.16rem,1.35vw,1.34rem);
    line-height:1.72;
  }

  .omc-scene--hero .omc-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
    align-items:center;
    justify-content:flex-start;
  }

  .omc-scene--hero .omc-actions [data-placement=cf_click_hero]{
    width:auto;
    min-width:300px;
    min-height:60px;
    margin-inline:0;
  }

  .omc-scene--hero .omc-button--ghost{
    width:auto;
    min-height:54px;
    align-self:center;
  }
}

@media (min-width:1600px){
  .omc-scene--hero .omc-scene__inner{
    width:min(calc(100% - 144px),1500px);
    padding-right:56%;
  }

  .omc-hero-media{
    right:-1.5vw;
    width:min(58vw,1040px);
    height:82%;
  }

  .omc-scene--hero h1{
    font-size:clamp(7.2rem,7vw,9rem);
  }
}

@media (min-width:1200px) and (prefers-reduced-motion:reduce){
  .omc-hero-media img{
    animation:none!important;
    transform:scale(1.015)!important;
    will-change:auto!important;
  }
}

/* v1.5.01 — Desktop Phase 2 / Scene 02–03.
 * Scope: Desktop >=1200px only.
 * Mobile v1.2.12 stays frozen. Tablet 768–1199px remains untouched.
 */
@media (min-width:1200px){
  /* 02 / MANY EYES — large editorial copy + scattered viewpoints */
  .omc-scene--many{
    min-height:150svh;
    padding:150px 0 180px;
  }

  .omc-scene--many .omc-scene__inner{
    width:min(calc(100% - 112px),1440px);
    max-width:none;
  }

  .omc-scene--many h2{
    position:relative;
    z-index:5;
    max-width:8.2ch;
    font-size:clamp(6.4rem,8vw,9.6rem);
    line-height:.88;
    letter-spacing:-.055em;
  }

  .omc-scene--many .omc-many__lead{
    position:relative;
    z-index:6;
    max-width:34rem;
    margin-top:32px;
    font-size:clamp(1.18rem,1.4vw,1.38rem);
    line-height:1.7;
  }

  .omc-many__photos{
    z-index:2;
  }

  .omc-many-photo{
    width:clamp(220px,18vw,330px);
    max-width:none;
  }

  .omc-many-photo img{
    border-width:7px;
    border-radius:12px;
    box-shadow:0 24px 54px rgba(0,0,0,.28);
  }

  .omc-many-photo--1{left:auto;right:5%;top:7%;--r:6deg}
  .omc-many-photo--2{left:auto;right:29%;top:25%;--r:-7deg}
  .omc-many-photo--3{left:auto;right:-2%;top:40%;--r:4deg}
  .omc-many-photo--4{left:5%;top:58%;--r:-7deg}
  .omc-many-photo--5{left:auto;right:22%;top:64%;--r:8deg}
  .omc-many-photo--6{left:auto;right:3%;top:79%;--r:-4deg}

  .omc-scene--many .omc-many__final{
    position:relative;
    z-index:7;
    width:100%;
    max-width:none;
    margin:57svh auto 0;
    text-align:center;
    font-size:clamp(5.2rem,6.4vw,8rem);
    line-height:.88;
  }

  .omc-scene--many .omc-many__final-line{
    width:max-content;
    max-width:100%;
    margin-inline:auto;
  }

  .omc-scene--many .omc-many__final-line--2{
    font-size:.82em;
    letter-spacing:-.055em;
  }

  /* 03 / WHERE DID THEY GO? — photos gather in the middle, then scatter away */
  .omc-scene--lost{
    min-height:132svh;
    padding:150px 0 170px;
  }

  .omc-scene--lost .omc-scene__inner{
    width:min(calc(100% - 112px),1440px);
    max-width:none;
  }

  .omc-scene--lost h2{
    position:relative;
    z-index:5;
    max-width:8.4ch;
    font-size:clamp(6rem,7.35vw,9rem);
    line-height:.9;
    letter-spacing:-.052em;
  }

  .omc-lost__lead{
    position:relative;
    z-index:5;
    max-width:32rem;
    margin-top:28px;
    font-size:clamp(1.16rem,1.3vw,1.34rem);
  }

  .omc-lost__photos{
    z-index:3;
    width:min(70vw,1020px);
    height:62svh;
    margin:34px auto 0;
  }

  .omc-lost-photo{
    width:clamp(240px,20vw,340px);
    max-width:none;
  }

  .omc-lost-photo img{
    border-width:7px;
    border-radius:11px;
    box-shadow:0 28px 58px rgba(0,0,0,.36);
  }

  .omc-lost-photo--1{left:4%;top:16%}
  .omc-lost-photo--2{right:4%;top:8%}
  .omc-lost-photo--3{left:50%;bottom:0;transform:translateX(-50%) rotate(2deg)}

  .omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--3{
    transform:translateX(-50%) rotate(2deg);
  }

  .omc-conversation{
    z-index:6;
    width:min(720px,62vw);
    max-width:none;
    margin:-5svh auto 0;
  }

  .omc-conversation p{
    max-width:74%;
    padding:16px 22px;
    border-radius:22px;
    font-size:clamp(1.03rem,1.15vw,1.2rem);
  }

  .omc-conversation p:nth-child(1){margin-left:2%}
  .omc-conversation p:nth-child(2){margin-left:auto;margin-right:3%}
  .omc-conversation p:nth-child(3){margin-left:16%}
}

@media (min-width:1200px){
  @keyframes omcLostScatterPhoto1V8{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(-8deg) scale(1)}
    34%{opacity:1;transform:translate3d(-11vw,-7svh,0) rotate(-14deg) scale(.96)}
    100%{opacity:0;transform:translate3d(-54vw,-34svh,0) rotate(-30deg) scale(.62)}
  }
  @keyframes omcLostScatterPhoto2V8{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(7deg) scale(1)}
    34%{opacity:1;transform:translate3d(11vw,-7svh,0) rotate(14deg) scale(.96)}
    100%{opacity:0;transform:translate3d(54vw,-34svh,0) rotate(30deg) scale(.62)}
  }
  @keyframes omcLostScatterPhoto3V8{
    0%{opacity:1;transform:translate3d(-50%,0,0) rotate(2deg) scale(1)}
    30%{opacity:1;transform:translate3d(calc(-50% + 3vw),12svh,0) rotate(8deg) scale(.96)}
    100%{opacity:0;transform:translate3d(calc(-50% + 12vw),72svh,0) rotate(22deg) scale(.58)}
  }
}

@media (min-width:1600px){
  .omc-scene--many .omc-scene__inner,
  .omc-scene--lost .omc-scene__inner{
    width:min(calc(100% - 144px),1500px);
  }

  .omc-many-photo{
    width:clamp(260px,17vw,350px);
  }

  .omc-lost-photo{
    width:clamp(270px,18vw,360px);
  }
}

/* v1.5.03 — Desktop Scene 03 conversation card enlargement */
@media (min-width:1200px){
  .omc-scene--lost .omc-conversation{
    width:min(58vw,860px);
    max-width:none;
    margin-inline:auto;
  }

  .omc-scene--lost .omc-conversation p{
    max-width:none;
    padding:22px 30px;
    font-size:clamp(1.22rem,1.5vw,1.62rem);
    line-height:1.45;
    border-radius:24px;
    box-shadow:0 18px 42px rgba(0,0,0,.34);
  }

  .omc-scene--lost .omc-conversation p:nth-child(1){
    width:min(62%,500px);
  }

  .omc-scene--lost .omc-conversation p:nth-child(2){
    width:min(58%,470px);
  }

  .omc-scene--lost .omc-conversation p:nth-child(3){
    width:min(70%,570px);
  }
}

/* v1.5.05 — Desktop multi-scene refinement.
 * Mobile v1.2.12 and Tablet layout remain unchanged, except for the requested
 * Scene 08 safety-copy addition and the sponsor card's complete corner radius.
 */
.omc-sponsor{
  border-radius:28px;
}

@media (min-width:1200px){
  /* 02: keep the final copy centered and move it substantially higher. */
  .omc-scene--many .omc-many__final{
    margin-top:30svh;
  }

  /* 03: restore the approved staggered, scattered card composition. */
  .omc-scene--lost .omc-conversation{
    width:min(58vw,860px);
    display:block;
    margin-inline:auto;
  }

  .omc-scene--lost .omc-conversation p{
    padding:22px 30px;
    border-width:1px;
    text-align:left;
  }

  .omc-scene--lost .omc-conversation p:nth-child(1){
    width:min(62%,500px);
    margin-left:2%;
    margin-right:0;
  }

  .omc-scene--lost .omc-conversation p:nth-child(2){
    width:min(58%,470px);
    margin-left:auto;
    margin-right:3%;
  }

  .omc-scene--lost .omc-conversation p:nth-child(3){
    width:min(70%,570px);
    margin-left:16%;
    margin-right:0;
  }

  /* 04: preserve each UI's offset character while moving the group left. */
  .omc-magic__ui{
    right:6%;
  }

  .omc-magic__ui:nth-child(even){
    right:14%;
  }

  /* 07: let the MEMORY AWARD image land squarely in the visual center. */
  .omc-memory-award__photo{
    width:min(52vw,520px);
    margin:32px auto 14px;
    transform:none;
  }

  /* 09: bring the two edge photos inward without changing their tilt. */
  .omc-roadmap-photo--1{
    left:8%;
    right:auto;
  }

  .omc-roadmap-photo--2{
    left:auto;
    right:8%;
  }

  /* 12: lock the heading to three lines and gather final photos nearer it. */
  .omc-final h2{
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:center;
  }

  .omc-final h2>.omc-copy-line{
    display:block;
    width:max-content;
    max-width:100%;
    flex-basis:auto;
    margin-inline:auto;
  }

  .omc-final-photo--1{left:7%;top:12%}
  .omc-final-photo--2{right:7%;top:14%}
  .omc-final-photo--3{left:9%;bottom:13%}
  .omc-final-photo--4{right:9%;bottom:12%}
  .omc-final-photo--5{left:38%;top:1%}
  .omc-final-photo--6{right:38%;bottom:1%}
}

/* v1.5.06 — Alignment corrections from desktop visual review. */
@media (min-width:1200px){
  /* 03: scatter the cards, but center each border's text content. */
  .omc-scene--lost .omc-conversation p{
    text-align:center;
  }

  /* 07: center the photo across the full award card and restore a light tilt. */
  .omc-memory-award__photo{
    position:relative;
    left:30%;
    margin:32px auto 14px;
    transform:rotate(1.8deg);
  }

  /* 09: move only the upper photo farther right; keep the lower placement. */
  .omc-roadmap-photo--1{
    left:18%;
    right:auto;
  }

  /* 12: center all three heading lines on one shared axis. */
  .omc-final h2{
    width:100%;
    max-width:none;
    margin-inline:auto;
    align-items:center;
    text-align:center;
  }

  .omc-final h2>.omc-copy-line{
    margin-inline:auto;
    text-align:center;
    transform:none;
  }
}

/* v1.5.08 — Desktop Scene 03 motion and mobile-card parity. */
@media (min-width:1200px){
  /* Slow the desktop scatter by roughly 20% without changing its path. */
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1{
    animation-duration:1.42s;
  }

  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2{
    animation-duration:1.42s;
    animation-delay:.04s;
  }

  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3{
    animation-duration:1.32s;
    animation-delay:.06s;
  }

  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo::before,
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo::after{
    animation-duration:.53s;
  }

  /* Match the mobile bubble design and rise-in choreography on desktop. */
  .omc-scene--lost .omc-conversation p{
    width:max-content;
    max-width:88%;
    padding:13px 18px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:18px;
    background:rgba(255,255,255,.20);
    box-shadow:0 12px 30px rgba(0,0,0,.3);
    font-size:1rem;
    line-height:1.72;
    text-align:center;
  }

  .omc-scene--lost .omc-conversation p:nth-child(1){
    width:max-content;
    margin-left:2%;
    margin-right:0;
  }

  .omc-scene--lost .omc-conversation p:nth-child(2){
    width:max-content;
    margin-left:auto;
    margin-right:3%;
  }

  .omc-scene--lost .omc-conversation p:nth-child(3){
    width:max-content;
    margin-left:16%;
    margin-right:0;
  }

  .omc-scene--lost.is-lost-conversation-active .omc-conversation[data-lost-conversation] p{
    animation-duration:1.02s;
    animation-timing-function:cubic-bezier(.16,1,.3,1.08);
  }
}

/* v1.5.09 — Glitch title, crossing scatter, larger cards and loop typing. */
.omc-loop-typing [data-loop-typing]{
  display:inline-block;
  min-height:1.7em;
  padding-right:.12em;
  border-right:2px solid currentColor;
  white-space:pre-line;
  animation:omcLoopTypingCaret .8s steps(1,end) infinite;
}

@keyframes omcLoopTypingCaret{
  0%,48%{border-right-color:currentColor}
  49%,100%{border-right-color:transparent}
}

.omc-recap__loop-copy{
  min-height:3.4em;
}

.omc-roadmap__declaration.omc-loop-typing .omc-roadmap__declaration-line{
  width:auto;
  max-width:100%;
  clip-path:none;
  opacity:1;
  animation:omcLoopTypingCaret .8s steps(1,end) infinite;
}

@media (min-width:1200px){
  /* 02: cyan/magenta channel split inspired by the supplied glitch reference. */
  .omc-scene--many h2{
    transform:skewX(-6deg);
    transform-origin:left center;
    font-style:italic;
    letter-spacing:-.035em;
    text-shadow:
      5px 0 0 rgba(0,231,235,.92),
      -5px 0 0 rgba(255,0,153,.86),
      0 7px 0 rgba(0,0,0,.26);
    animation:omcDesktopGlitchPulse 3.2s steps(1,end) infinite;
  }

  .omc-scene--many h2 .omc-copy-line{
    display:inline-block;
  }

  @keyframes omcDesktopGlitchPulse{
    0%,86%,100%{translate:0 0;filter:none}
    88%{translate:3px -1px;filter:contrast(1.12)}
    90%{translate:-2px 1px;filter:contrast(1.05)}
    92%{translate:1px 0;filter:none}
  }

  /* 03: enlarge the approved bubble design without changing its styling. */
  .omc-scene--lost .omc-conversation p{
    padding:19px 28px;
    border-radius:22px;
    font-size:clamp(1.22rem,1.45vw,1.55rem);
    line-height:1.5;
  }

  /* Make all three photos cross the center before leaving the viewport. */
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1{
    animation-name:omcLostCrossDesktop1;
  }

  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2{
    animation-name:omcLostCrossDesktop2;
  }

  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3{
    animation-name:omcLostCrossDesktop3;
  }

  @keyframes omcLostCrossDesktop1{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(-8deg) scale(1)}
    48%{opacity:1;transform:translate3d(31vw,10svh,0) rotate(5deg) scale(.94)}
    100%{opacity:0;transform:translate3d(67vw,-26svh,0) rotate(28deg) scale(.6)}
  }

  @keyframes omcLostCrossDesktop2{
    0%{opacity:1;transform:translate3d(0,0,0) rotate(7deg) scale(1)}
    48%{opacity:1;transform:translate3d(-31vw,12svh,0) rotate(-6deg) scale(.94)}
    100%{opacity:0;transform:translate3d(-67vw,-24svh,0) rotate(-28deg) scale(.6)}
  }

  @keyframes omcLostCrossDesktop3{
    0%{opacity:1;transform:translate3d(-50%,0,0) rotate(2deg) scale(1)}
    48%{opacity:1;transform:translate3d(calc(-50% - 8vw),-9svh,0) rotate(-7deg) scale(.94)}
    100%{opacity:0;transform:translate3d(calc(-50% + 48vw),-48svh,0) rotate(24deg) scale(.58)}
  }
}

@media (prefers-reduced-motion:reduce){
  .omc-loop-typing [data-loop-typing],
  .omc-roadmap__declaration.omc-loop-typing .omc-roadmap__declaration-line{
    border-right:0;
    animation:none;
  }

  .omc-scene--many h2{
    animation:none;
  }
}

/* v1.5.10 — Corrected glitch target, wider card scatter, heartbeat and tighter final gather. */
@media (min-width:1200px){
  /* 02: restore the main title and move the glitch treatment to the final copy. */
  .omc-scene--many h2{
    transform:none;
    font-style:normal;
    letter-spacing:-.055em;
    text-shadow:none;
    animation:none;
  }

  .omc-scene--many .omc-many__final{
    transform-origin:center center;
    font-style:italic;
    text-shadow:
      5px 0 0 rgba(0,231,235,.92),
      -5px 0 0 rgba(255,0,153,.86),
      0 8px 0 rgba(0,0,0,.28);
    animation:omcFinalGlitchPulse 3.2s steps(1,end) infinite;
  }

  .omc-scene--many .omc-many__final-line{
    transform:skewX(-6deg);
  }

  .omc-scene--many.is-many-final-active .omc-many__final[data-many-final]{
    animation:
      omcManyFinalRiseIn 1.02s cubic-bezier(.16,1,.3,1.08) forwards,
      omcFinalGlitchPulse 3.2s steps(1,end) 1.02s infinite;
  }

  @keyframes omcFinalGlitchPulse{
    0%,86%,100%{translate:0 0;filter:none}
    88%{translate:3px -1px;filter:contrast(1.12)}
    90%{translate:-2px 1px;filter:contrast(1.05)}
    92%{translate:1px 0;filter:none}
  }

  /* 03: retain the three designs while spreading their landing positions. */
  .omc-scene--lost .omc-conversation{
    width:min(74vw,1080px);
  }

  .omc-scene--lost .omc-conversation p:nth-child(1){
    margin:18px 0 30px 0;
  }

  .omc-scene--lost .omc-conversation p:nth-child(2){
    margin:30px 0 34px auto;
  }

  .omc-scene--lost .omc-conversation p:nth-child(3){
    margin:34px 0 18px 28%;
  }

  /* 12: pull every final photo landing point closer to the center. */
  .omc-final-photo--1{left:16%;top:14%}
  .omc-final-photo--2{right:16%;top:16%}
  .omc-final-photo--3{left:18%;bottom:15%}
  .omc-final-photo--4{right:18%;bottom:14%}
  .omc-final-photo--5{left:41%;top:3%}
  .omc-final-photo--6{right:41%;bottom:3%}
}

/* MEMORY AWARD: keep the 119 badge beating after the count changes. */
.omc-memory-award.is-liked .omc-memory-award__like-burst{
  animation:omcMemoryAwardContinuousHeartbeat 1.25s ease-in-out infinite;
  transform-origin:center center;
}

.omc-memory-award.is-liked .omc-memory-award__like-burst-count,
.omc-memory-award.is-liked .omc-memory-award__like-burst-heart{
  animation:omcMemoryAwardInnerHeartbeat 1.25s ease-in-out infinite;
}

@keyframes omcMemoryAwardContinuousHeartbeat{
  0%,34%,100%{transform:translate(-50%,-50%) scale(1)}
  10%{transform:translate(-50%,-50%) scale(1.13)}
  20%{transform:translate(-50%,-50%) scale(1.02)}
  28%{transform:translate(-50%,-50%) scale(1.09)}
}

@keyframes omcMemoryAwardInnerHeartbeat{
  0%,34%,100%{transform:scale(1)}
  10%{transform:scale(1.08)}
  20%{transform:scale(1)}
  28%{transform:scale(1.05)}
}

@media (prefers-reduced-motion:reduce){
  .omc-scene--many .omc-many__final,
  .omc-memory-award.is-liked .omc-memory-award__like-burst,
  .omc-memory-award.is-liked .omc-memory-award__like-burst-count,
  .omc-memory-award.is-liked .omc-memory-award__like-burst-heart{
    animation:none;
  }
}

/* v1.5.11 final cascade — explicit RGB split and right-side roadmap placement. */
@media (min-width:1200px){
  .omc-scene--many .omc-many__final-line{
    position:relative;
    isolation:isolate;
    text-shadow:0 8px 18px rgba(0,0,0,.46);
  }

  .omc-scene--many .omc-many__final-line::before,
  .omc-scene--many .omc-many__final-line::after{
    position:absolute;
    z-index:-1;
    inset:0;
    width:100%;
    content:attr(data-glitch-text);
    pointer-events:none;
  }

  .omc-scene--many .omc-many__final-line::before{
    color:#00f0f4;
    -webkit-text-fill-color:#00f0f4;
    transform:translateX(8px);
    clip-path:inset(0 0 48% 0);
  }

  .omc-scene--many .omc-many__final-line::after{
    color:#ff149d;
    -webkit-text-fill-color:#ff149d;
    transform:translateX(-8px);
    clip-path:inset(48% 0 0 0);
  }

  .omc-roadmap-photo--1{
    left:auto;
    right:20%;
    top:12%;
  }
}

/* v1.5.12 — Stable roadmap typewriter space + mobile final-copy glitch. */
.omc-roadmap__declaration.omc-loop-typing{
  position:relative;
  height:2.15em;
  min-height:2.15em;
  overflow:visible;
}

.omc-roadmap__declaration.omc-loop-typing [data-loop-typing]{
  position:absolute;
  inset:0 auto auto 0;
  min-height:2.15em;
}

@media (max-width:767px){
  .omc-scene--many .omc-many__final{
    font-style:italic;
  }

  .omc-scene--many .omc-many__final-line{
    position:relative;
    isolation:isolate;
    transform:skewX(-5deg);
    text-shadow:0 6px 14px rgba(0,0,0,.46);
  }

  .omc-scene--many .omc-many__final-line::before,
  .omc-scene--many .omc-many__final-line::after{
    position:absolute;
    z-index:-1;
    inset:0;
    width:100%;
    content:attr(data-glitch-text);
    pointer-events:none;
  }

  .omc-scene--many .omc-many__final-line::before{
    color:#00f0f4;
    -webkit-text-fill-color:#00f0f4;
    transform:translateX(4px);
    clip-path:inset(0 0 48% 0);
  }

  .omc-scene--many .omc-many__final-line::after{
    color:#ff149d;
    -webkit-text-fill-color:#ff149d;
    transform:translateX(-4px);
    clip-path:inset(48% 0 0 0);
  }
}

/* v1.5.13 final cascade — JOIN THE PARADE oval frame. */
.omc-sponsor{
  border-radius:999px;
}

/* v1.5.14 — Centered, simplified footer. */
.omc-footer .omc-container{
  justify-items:center;
  text-align:center;
}

.omc-footer nav{
  justify-content:center;
}

/* v1.5.15 — Keep the oval sponsor frame off Mobile. */
@media (max-width:767px){
  .omc-sponsor{
    border-radius:28px;
  }
}

/* v1.5.17 — Optional event-photo expansion and four safety UI screens. */
.omc-many-photo--7{left:4%;top:16%;--r:5deg}.omc-many-photo--8{right:4%;top:22%;--r:-5deg}
.omc-many-photo--9{left:8%;top:43%;--r:-4deg}.omc-many-photo--10{right:8%;top:52%;--r:6deg}
.omc-many-photo--11{left:12%;top:76%;--r:4deg}.omc-many-photo--12{right:12%;top:87%;--r:-6deg}
.omc-lost-photo--4{left:2%;bottom:4%;transform:rotate(6deg)}
.omc-lost-photo--5{right:1%;bottom:10%;transform:rotate(-5deg)}
.omc-event-collage{height:228svh}
.omc-event-collage figure:nth-child(7){left:8%;top:102%;--r:-6deg}.omc-event-collage figure:nth-child(8){right:-6%;top:119%;--r:5deg}
.omc-event-collage figure:nth-child(9){left:-8%;top:137%;--r:7deg}.omc-event-collage figure:nth-child(10){right:8%;top:154%;--r:-5deg}
.omc-event-collage figure:nth-child(11){left:5%;top:173%;--r:-4deg}.omc-event-collage figure:nth-child(12){right:-4%;top:191%;--r:6deg}
.omc-scene--events{min-height:280svh}
.omc-safety-ui-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:center;margin-top:36px}
.omc-safety-ui-gallery .omc-safety-ui{width:auto;max-width:none;margin:0;transform:rotate(var(--ui-r,-2deg))}
.omc-safety-ui-gallery .omc-safety-ui:nth-child(even){--ui-r:2deg}
.omc-final-photo--7{left:24%;top:18%;--r:-6deg}.omc-final-photo--8{right:24%;top:22%;--r:5deg}
.omc-final-photo--9{left:25%;bottom:18%;--r:5deg}.omc-final-photo--10{right:25%;bottom:20%;--r:-5deg}
body.has-final-motion .omc-final .omc-final-photo--7{transform:translate3d(-18vw,-12svh,0) rotate(-12deg) scale(.76);transition-delay:.5s}
body.has-final-motion .omc-final .omc-final-photo--8{transform:translate3d(18vw,-10svh,0) rotate(12deg) scale(.76);transition-delay:.56s}
body.has-final-motion .omc-final .omc-final-photo--9{transform:translate3d(-18vw,12svh,0) rotate(12deg) scale(.76);transition-delay:.62s}
body.has-final-motion .omc-final .omc-final-photo--10{transform:translate3d(18vw,12svh,0) rotate(-12deg) scale(.76);transition-delay:.68s}
@media(min-width:768px){
  .omc-scene--events{min-height:2450px}.omc-event-collage{height:2050px}
  .omc-event-collage figure:nth-child(7){left:7%;top:101%}.omc-event-collage figure:nth-child(8){right:3%;top:116%}
  .omc-event-collage figure:nth-child(9){left:28%;top:132%}.omc-event-collage figure:nth-child(10){right:5%;top:149%}
  .omc-event-collage figure:nth-child(11){left:1%;top:166%}.omc-event-collage figure:nth-child(12){right:25%;top:183%}
  .omc-safety-ui-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .omc-safety-ui-gallery .omc-safety-ui img{max-height:540px}
}
@media(max-width:767px){.omc-many-photo:nth-child(n+9){display:none}.omc-safety-ui-gallery{grid-template-columns:1fr}.omc-lost-photo--4,.omc-lost-photo--5{width:34vw}}

/* v1.5.18 — Recompose expanded photo sets after desktop visual review. */
.omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--4{opacity:1;transform:rotate(6deg)}
.omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--5{opacity:1;transform:rotate(-5deg)}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--4{animation:omcLostCrossPhoto4 1.42s cubic-bezier(.18,.88,.24,1) .08s forwards}
.omc-scene--lost.is-lost-scatter-active .omc-lost-photo--5{animation:omcLostCrossPhoto5 1.42s cubic-bezier(.18,.88,.24,1) .11s forwards}
@keyframes omcLostCrossPhoto4{0%{opacity:1;transform:translate3d(0,0,0) rotate(6deg) scale(1)}48%{opacity:1;transform:translate3d(38vw,-10svh,0) rotate(-5deg) scale(.94)}100%{opacity:0;transform:translate3d(74vw,30svh,0) rotate(30deg) scale(.58)}}
@keyframes omcLostCrossPhoto5{0%{opacity:1;transform:translate3d(0,0,0) rotate(-5deg) scale(1)}48%{opacity:1;transform:translate3d(-38vw,-8svh,0) rotate(6deg) scale(.94)}100%{opacity:0;transform:translate3d(-74vw,28svh,0) rotate(-30deg) scale(.58)}}

@media(min-width:1200px){
  /* 02: protect the headline while keeping a dense 12-photo parade. */
  .omc-many-photo--7{left:auto;right:8%;top:13%;--r:5deg}
  .omc-many-photo--8{left:auto;right:34%;top:34%;--r:-5deg}
  .omc-many-photo--9{left:auto;right:-3%;top:48%;--r:4deg}
  .omc-many-photo--10{left:3%;right:auto;top:61%;--r:-6deg}
  .omc-many-photo--11{left:auto;right:28%;top:73%;--r:6deg}
  .omc-many-photo--12{left:auto;right:2%;top:88%;--r:-5deg}

  /* 03: five visible cards form a loose cluster before crossing paths. */
  .omc-lost-photo--1{left:1%;top:11%}.omc-lost-photo--2{right:1%;top:6%}
  .omc-lost-photo--3{left:50%;bottom:2%}.omc-lost-photo--4{left:18%;bottom:-5%}.omc-lost-photo--5{right:18%;bottom:3%}

  /* 06: compact the former long gaps into four irregular rows. */
  .omc-scene--events{min-height:0}
  .omc-event-collage{height:1740px;margin-top:36px}
  .omc-event-collage figure{width:clamp(250px,24vw,330px)}
  .omc-event-collage figure:nth-child(1){left:1%;right:auto;top:0}.omc-event-collage figure:nth-child(2){left:37%;right:auto;top:5%}.omc-event-collage figure:nth-child(3){left:auto;right:0;top:1%}
  .omc-event-collage figure:nth-child(4){left:5%;right:auto;top:25%}.omc-event-collage figure:nth-child(5){left:40%;right:auto;top:29%}.omc-event-collage figure:nth-child(6){left:auto;right:4%;top:23%}
  .omc-event-collage figure:nth-child(7){left:0;right:auto;top:50%}.omc-event-collage figure:nth-child(8){left:35%;right:auto;top:47%}.omc-event-collage figure:nth-child(9){left:auto;right:1%;top:52%}
  .omc-event-collage figure:nth-child(10){left:5%;right:auto;top:75%}.omc-event-collage figure:nth-child(11){left:40%;right:auto;top:72%}.omc-event-collage figure:nth-child(12){left:auto;right:4%;top:77%}

  /* 08: two readable screens per row instead of four tiny thumbnails. */
  .omc-safety-ui-gallery{width:min(100%,920px);grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 42px;margin:48px auto 30px}
  .omc-safety-ui-gallery .omc-safety-ui img{width:100%;max-height:760px}

  /* 12: reserve an unobstructed central column for headline and CTA. */
  .omc-final-photo--1{left:2%;right:auto;top:8%}.omc-final-photo--2{left:auto;right:2%;top:10%}
  .omc-final-photo--3{left:4%;right:auto;bottom:9%}.omc-final-photo--4{left:auto;right:4%;bottom:8%}
  .omc-final-photo--5{left:20%;right:auto;top:-4%}.omc-final-photo--6{left:auto;right:20%;bottom:-5%}
  .omc-final-photo--7{left:7%;right:auto;top:38%}.omc-final-photo--8{left:auto;right:7%;top:40%}
  .omc-final-photo--9{left:20%;right:auto;bottom:3%}.omc-final-photo--10{left:auto;right:20%;bottom:4%}
  .omc-final__message{position:relative;z-index:8}
  .omc-final .omc-button,.omc-final .omc-support{position:relative;z-index:8}
}

/* v1.5.21 — Fully opaque photos and guaranteed non-overlapping PC coordinates. */
.omc-many-photo,.omc-final-photo{opacity:1}
.omc-many-photo img,.omc-lost-photo img,.omc-event-collage img,.omc-final-photo img{opacity:1}

@media(min-width:1024px){
  /* 02: three separated columns across four rows. */
  .omc-scene--many{min-height:172svh}
  .omc-many-photo{width:clamp(150px,15.5vw,185px);max-width:185px}
  .omc-many-photo--1{left:4%;right:auto;top:7%;--r:-5deg}
  .omc-many-photo--2{left:42%;right:auto;top:5%;--r:4deg}
  .omc-many-photo--3{left:78%;right:auto;top:8%;--r:-4deg}
  .omc-many-photo--4{left:5%;right:auto;top:30%;--r:5deg}
  .omc-many-photo--5{left:40%;right:auto;top:28%;--r:-4deg}
  .omc-many-photo--6{left:77%;right:auto;top:31%;--r:5deg}
  .omc-many-photo--7{left:3%;right:auto;top:54%;--r:-4deg}
  .omc-many-photo--8{left:43%;right:auto;top:52%;--r:5deg}
  .omc-many-photo--9{left:79%;right:auto;top:55%;--r:-5deg}
  .omc-many-photo--10{left:5%;right:auto;top:78%;--r:4deg}
  .omc-many-photo--11{left:41%;right:auto;top:76%;--r:-5deg}
  .omc-many-photo--12{left:77%;right:auto;top:79%;--r:4deg}
  .omc-scene--many .omc-many__final{z-index:9}

  /* 12: five independent lower landing zones with generous horizontal gaps. */
  .omc-final-photo{width:clamp(130px,13.5vw,165px);max-width:165px;opacity:1}
  .omc-final-photo--1{left:3%;right:auto;top:7%}.omc-final-photo--2{left:auto;right:3%;top:8%}
  .omc-final-photo--5{left:27%;right:auto;top:-2%}.omc-final-photo--7{left:5%;right:auto;top:42%}.omc-final-photo--8{left:auto;right:5%;top:43%}
  .omc-final-photo--3{left:2%;right:auto;bottom:4%}
  .omc-final-photo--9{left:22%;right:auto;bottom:1%}
  .omc-final-photo--6{left:42%;right:auto;bottom:-2%}
  .omc-final-photo--10{left:62%;right:auto;bottom:1%}
  .omc-final-photo--4{left:82%;right:auto;bottom:4%}
}

/* v1.5.29 — Mobile recomposition after the expanded photo set. */
@media(max-width:767px){
  /* 02: reserve the opening copy area and begin the photo parade below it. */
  .omc-scene--many{min-height:205svh;padding-bottom:150px}
  .omc-scene--many .omc-scene__inner{position:relative;z-index:14}
  .omc-scene--many h2,.omc-scene--many .omc-many__lead{position:relative;z-index:15}
  .omc-many-photo{width:44vw;max-width:190px}
  .omc-many-photo--1{left:-8%;right:auto;top:38%;--r:-7deg}
  .omc-many-photo--2{left:auto;right:-9%;top:45%;--r:6deg}
  .omc-many-photo--3{left:24%;right:auto;top:57%;--r:-3deg}
  .omc-many-photo--4{left:-10%;right:auto;top:69%;--r:7deg}
  .omc-many-photo--5{left:auto;right:-8%;top:77%;--r:-6deg}
  .omc-many-photo--6{left:25%;right:auto;top:89%;--r:4deg}
  .omc-many-photo--7{left:-7%;right:auto;top:101%;--r:-5deg}
  .omc-many-photo--8{left:auto;right:-6%;top:110%;--r:6deg}

  /* 08: large, swipeable screens with the next screen peeking in. */
  .omc-safety-ui-gallery{
    display:flex;width:auto;max-width:none;gap:16px;margin:34px -18px 8px;padding:12px 18px 28px;
    overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:18px;
    -webkit-overflow-scrolling:touch
  }
  .omc-safety-ui-gallery .omc-safety-ui{
    flex:0 0 78vw;width:78vw;max-width:330px;margin:0;scroll-snap-align:center;transform:rotate(var(--ui-r,-1.5deg))
  }
  .omc-safety-ui-gallery .omc-safety-ui:nth-child(even){--ui-r:1.5deg}
  .omc-safety-ui-gallery .omc-safety-ui img{width:100%;max-height:none;object-fit:contain}

  /* 09: keep the development cards clear of the looping declaration. */
  .omc-roadmap__declaration.omc-loop-typing{margin-bottom:66px}
  .omc-roadmap{margin-top:0}

  /* 11: retain the rounded orange panel and open the handoff into Scene 12. */
  .omc-scene--faq{padding-bottom:72px}
  .omc-sponsor{margin-bottom:18px;border-radius:30px}

  /* 12: smaller outer-frame photos and a protected central copy column. */
  .omc-final{min-height:150svh}
  .omc-final-photo{width:35vw;max-width:155px;opacity:1}
  .omc-final-photo--1{left:-8%;right:auto;top:5%;bottom:auto}
  .omc-final-photo--2{left:auto;right:-8%;top:7%;bottom:auto}
  .omc-final-photo--5{left:22%;right:auto;top:-3%;bottom:auto}
  .omc-final-photo--7{left:-10%;right:auto;top:30%;bottom:auto}
  .omc-final-photo--8{left:auto;right:-10%;top:33%;bottom:auto}
  .omc-final-photo--3{left:-8%;right:auto;top:auto;bottom:7%}
  .omc-final-photo--4{left:auto;right:-8%;top:auto;bottom:7%}
  .omc-final-photo--9{left:13%;right:auto;top:auto;bottom:-1%}
  .omc-final-photo--6{left:34%;right:auto;top:auto;bottom:-5%}
  .omc-final-photo--10{left:auto;right:9%;top:auto;bottom:-1%}
  .omc-final__message,.omc-final .omc-index,.omc-final .omc-button,.omc-final .omc-support{position:relative;z-index:12}
  .omc-final .omc-scene__inner::before{
    position:absolute;z-index:-1;left:50%;top:48%;width:108%;height:68%;content:"";
    transform:translate(-50%,-50%);pointer-events:none;
    background:radial-gradient(ellipse,rgba(33,14,91,.94) 0,rgba(44,19,119,.78) 48%,rgba(31,13,79,.22) 72%,transparent 82%);
    filter:blur(5px)
  }
}

/* v1.5.26 — Scene 02 fine placement, earlier Scene 03 cards, compact award, explicit Scene 12 right frame. */
@media(min-width:1024px){
  /* 02: move only omoticamera-event-music-audience-06 slightly left. */
  .omc-many-photo--12{left:41%;right:auto}

  /* MEMORY AWARD: keep the album visual subordinate and the requested sentence on one line. */
  .omc-memory-award__photo{width:min(50%,280px)}
  .omc-memory-award__single-line{display:inline-block;white-space:nowrap;font-size:clamp(.78rem,1.02vw,1rem)}

  /* 12: reserve visible photographs at both upper-right and middle-right. */
  .omc-final-photo--2{left:auto;right:4%;top:8%;bottom:auto;z-index:7}
  .omc-final-photo--8{left:auto;right:5%;top:34%;bottom:auto;z-index:7}
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--2{
    transform:translate3d(0,0,0) rotate(8deg) scale(1)
  }
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--8{
    transform:translate3d(0,0,0) rotate(5deg) scale(1)
  }
}

/* v1.5.22 — Circular Scene 02, longer Scene 03 reveal, inward Scene 12. */
@media(min-width:1024px){
  /* 02: an irregular ellipse rather than rows. */
  .omc-scene--many{min-height:174svh}
  .omc-many-photo{width:clamp(145px,15vw,180px);max-width:180px}
  .omc-many-photo--1{left:43%;right:auto;top:23%;--r:-6deg}
  .omc-many-photo--2{left:64%;right:auto;top:27%;--r:4deg}
  .omc-many-photo--3{left:81%;right:auto;top:37%;--r:-5deg}
  .omc-many-photo--4{left:84%;right:auto;top:54%;--r:6deg}
  .omc-many-photo--5{left:76%;right:auto;top:72%;--r:-4deg}
  .omc-many-photo--6{left:61%;right:auto;top:84%;--r:5deg}
  .omc-many-photo--7{left:42%;right:auto;top:87%;--r:-5deg}
  .omc-many-photo--8{left:23%;right:auto;top:82%;--r:4deg}
  .omc-many-photo--9{left:8%;right:auto;top:70%;--r:-6deg}
  .omc-many-photo--10{left:2%;right:auto;top:52%;--r:5deg}
  .omc-many-photo--11{left:10%;right:auto;top:36%;--r:-4deg}
  .omc-many-photo--12{left:25%;right:auto;top:26%;--r:6deg}
  .omc-scene--many .omc-many__final{z-index:10}

  /* 03: show the five-photo fan clearly before the slower scatter begins. */
  .omc-scene--lost{min-height:145svh}
  .omc-lost__photos{position:absolute;z-index:4;top:18%;right:4%;width:58%;height:66svh;margin:0}
  .omc-lost-photo{width:clamp(180px,17vw,260px)}
  .omc-lost-photo--1{left:0;right:auto;top:4%;bottom:auto}
  .omc-lost-photo--2{left:34%;right:auto;top:0;bottom:auto}
  .omc-lost-photo--3{left:66%;right:auto;top:11%;bottom:auto;transform:rotate(2deg)}
  .omc-lost-photo--4{left:14%;right:auto;top:43%;bottom:auto;transform:rotate(6deg)}
  .omc-lost-photo--5{left:50%;right:auto;top:48%;bottom:auto;transform:rotate(-5deg)}
  .omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--3{transform:rotate(2deg)}
  .omc-conversation{margin-top:58svh}
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--1,
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--2,
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--3,
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--4,
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo--5{animation-duration:2.1s}

  /* 12: move the surrounding frame one step inward without reintroducing overlap. */
  .omc-final-photo--1{left:7%;right:auto;top:8%}.omc-final-photo--2{left:auto;right:7%;top:9%}.omc-final-photo--5{left:30%;right:auto;top:0}
  .omc-final-photo--7{left:10%;right:auto;top:42%}.omc-final-photo--8{left:auto;right:10%;top:43%}
  .omc-final-photo--3{left:7%;right:auto;bottom:5%}.omc-final-photo--9{left:25%;right:auto;bottom:2%}.omc-final-photo--6{left:43%;right:auto;bottom:-1%}
  .omc-final-photo--10{left:61%;right:auto;bottom:2%}.omc-final-photo--4{left:79%;right:auto;bottom:5%}
}

/* v1.5.20 — Dedicated compact-desktop composition (1024–1199px). */
@media(min-width:1024px) and (max-width:1199px){
  /* 02: smaller photos in four clearly separated rows. */
  .omc-scene--many{min-height:165svh}
  .omc-many-photo{width:clamp(170px,18vw,215px)}
  .omc-many-photo--1{left:auto;right:3%;top:5%;--r:5deg}
  .omc-many-photo--2{left:auto;right:24%;top:10%;--r:-5deg}
  .omc-many-photo--3{left:auto;right:45%;top:18%;--r:3deg}
  .omc-many-photo--4{left:3%;right:auto;top:38%;--r:-6deg}
  .omc-many-photo--5{left:29%;right:auto;top:34%;--r:5deg}
  .omc-many-photo--6{left:auto;right:18%;top:40%;--r:-4deg}
  .omc-many-photo--7{left:7%;right:auto;top:61%;--r:4deg}
  .omc-many-photo--8{left:34%;right:auto;top:57%;--r:-5deg}
  .omc-many-photo--9{left:auto;right:7%;top:62%;--r:4deg}
  .omc-many-photo--10{left:2%;right:auto;top:82%;--r:-5deg}
  .omc-many-photo--11{left:38%;right:auto;top:79%;--r:5deg}
  .omc-many-photo--12{left:auto;right:2%;top:83%;--r:-4deg}
  .omc-scene--many .omc-many__final{position:relative;z-index:8}
  .omc-scene--many .omc-many__final::before{
    position:absolute;z-index:-1;left:50%;top:50%;width:min(650px,72vw);height:145%;content:"";
    transform:translate(-50%,-50%);border-radius:50%;
    background:radial-gradient(ellipse,rgba(12,5,39,.78),rgba(12,5,39,.4) 55%,transparent 78%);filter:blur(7px)
  }

  /* 12: retain the loose frame, but separate the lower-left and lower-right pairs. */
  .omc-final-photo{width:clamp(160px,16vw,190px)}
  .omc-final-photo--1{left:2%;right:auto;top:6%}.omc-final-photo--2{left:auto;right:2%;top:8%}
  .omc-final-photo--3{left:3%;right:auto;bottom:10%}.omc-final-photo--4{left:auto;right:3%;bottom:10%}
  .omc-final-photo--5{left:24%;right:auto;top:-3%}.omc-final-photo--6{left:auto;right:24%;bottom:-8%}
  .omc-final-photo--7{left:5%;right:auto;top:44%}.omc-final-photo--8{left:auto;right:5%;top:45%}
  .omc-final-photo--9{left:27%;right:auto;bottom:0}.omc-final-photo--10{left:auto;right:27%;bottom:1%}
  .omc-final__message,.omc-final .omc-button,.omc-final .omc-support{position:relative;z-index:9}
}

@media(prefers-reduced-motion:reduce){.omc-scene--lost .omc-lost-photo--4{transform:rotate(6deg)!important}.omc-scene--lost .omc-lost-photo--5{transform:rotate(-5deg)!important}}

/* v1.5.19 — Keep intentional overlap, improve readability and restore rough rhythm. */
@media(min-width:1200px){
  /* 02: allow a small visual collision, but place a dark breathing layer behind the glitch copy. */
  .omc-scene--many .omc-many__final::before{
    position:absolute;z-index:-1;left:50%;top:50%;width:min(760px,72vw);height:150%;content:"";
    transform:translate(-50%,-50%);border-radius:50%;
    background:radial-gradient(ellipse at center,rgba(12,5,39,.86) 0,rgba(12,5,39,.58) 48%,rgba(12,5,39,.12) 72%,transparent 82%);
    filter:blur(8px);pointer-events:none;
  }
  .omc-scene--many .omc-many__final-line{position:relative;z-index:2}
  .omc-many-photo--8{right:37%;top:31%}.omc-many-photo--9{right:-5%;top:46%}
  .omc-many-photo--10{left:1%;top:57%}.omc-many-photo--11{right:25%;top:76%}

  /* 03: make the five-photo gathering read as a loose fan, not one solid stack. */
  .omc-lost__photos{width:min(78vw,1120px);height:60svh}
  .omc-lost-photo{width:clamp(220px,18vw,310px)}
  .omc-lost-photo--1{left:3%;top:7%}.omc-lost-photo--2{right:3%;top:4%}
  .omc-lost-photo--3{left:50%;bottom:3%}.omc-lost-photo--4{left:22%;bottom:-1%}.omc-lost-photo--5{right:22%;bottom:5%}
  .omc-conversation{margin-top:-9svh}

  /* 06: deliberately uneven sizes, offsets and row heights. */
  .omc-event-collage{height:1700px}
  .omc-event-collage figure:nth-child(3n+1){width:clamp(250px,25vw,350px)}
  .omc-event-collage figure:nth-child(3n+2){width:clamp(225px,22vw,310px)}
  .omc-event-collage figure:nth-child(3n){width:clamp(260px,24vw,340px)}
  .omc-event-collage figure:nth-child(1){left:-2%;top:1%;--r:-8deg}.omc-event-collage figure:nth-child(2){left:35%;top:8%;--r:4deg}.omc-event-collage figure:nth-child(3){right:-3%;top:-1%;--r:7deg}
  .omc-event-collage figure:nth-child(4){left:7%;top:23%;--r:5deg}.omc-event-collage figure:nth-child(5){left:43%;top:31%;--r:-7deg}.omc-event-collage figure:nth-child(6){right:2%;top:21%;--r:-3deg}
  .omc-event-collage figure:nth-child(7){left:-3%;top:51%;--r:8deg}.omc-event-collage figure:nth-child(8){left:32%;top:45%;--r:-4deg}.omc-event-collage figure:nth-child(9){right:-1%;top:54%;--r:6deg}
  .omc-event-collage figure:nth-child(10){left:8%;top:76%;--r:-6deg}.omc-event-collage figure:nth-child(11){left:44%;top:70%;--r:5deg}.omc-event-collage figure:nth-child(12){right:1%;top:79%;--r:-8deg}

  /* 08: restore the preferred four-across composition. */
  .omc-safety-ui-gallery{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:36px auto 30px}
  .omc-safety-ui-gallery .omc-safety-ui img{max-height:540px}

  /* 12: keep slight pair overlap while opening the clustered lower corners. */
  .omc-final-photo{width:clamp(190px,17vw,235px)}
  .omc-final-photo--1{left:3%;top:7%}.omc-final-photo--2{right:3%;top:9%}
  .omc-final-photo--3{left:4%;bottom:8%}.omc-final-photo--4{right:4%;bottom:8%}
  .omc-final-photo--5{left:22%;top:-4%}.omc-final-photo--6{right:22%;bottom:-6%}
  .omc-final-photo--7{left:9%;top:40%}.omc-final-photo--8{right:9%;top:42%}
  .omc-final-photo--9{left:24%;bottom:1%}.omc-final-photo--10{right:24%;bottom:2%}
}

/* v1.5.21 final cascade: these coordinates must win at every PC width. */
.omc-many-photo,.omc-final-photo{opacity:1}
.omc-many-photo img,.omc-lost-photo img,.omc-event-collage img,.omc-final-photo img{opacity:1}
@media(min-width:1024px){
  .omc-scene--many{min-height:172svh}.omc-many-photo{width:clamp(150px,15.5vw,185px);max-width:185px}
  .omc-many-photo--1{left:4%;right:auto;top:7%}.omc-many-photo--2{left:42%;right:auto;top:5%}.omc-many-photo--3{left:78%;right:auto;top:8%}
  .omc-many-photo--4{left:5%;right:auto;top:30%}.omc-many-photo--5{left:40%;right:auto;top:28%}.omc-many-photo--6{left:77%;right:auto;top:31%}
  .omc-many-photo--7{left:3%;right:auto;top:54%}.omc-many-photo--8{left:43%;right:auto;top:52%}.omc-many-photo--9{left:79%;right:auto;top:55%}
  .omc-many-photo--10{left:5%;right:auto;top:78%}.omc-many-photo--11{left:41%;right:auto;top:76%}.omc-many-photo--12{left:77%;right:auto;top:79%}
  .omc-scene--many .omc-many__final{z-index:9}
  .omc-final-photo{width:clamp(130px,13.5vw,165px);max-width:165px;opacity:1}
  .omc-final-photo--1{left:3%;right:auto;top:7%}.omc-final-photo--2{left:auto;right:3%;top:8%}.omc-final-photo--5{left:27%;right:auto;top:-2%}
  .omc-final-photo--7{left:5%;right:auto;top:42%}.omc-final-photo--8{left:auto;right:5%;top:43%}
  .omc-final-photo--3{left:2%;right:auto;bottom:4%}.omc-final-photo--9{left:22%;right:auto;bottom:1%}.omc-final-photo--6{left:42%;right:auto;bottom:-2%}
  .omc-final-photo--10{left:62%;right:auto;bottom:1%}.omc-final-photo--4{left:82%;right:auto;bottom:4%}
}

/* v1.5.22 final cascade. Scene 06 intentionally has no rules here. */
@media(min-width:1024px){
  .omc-scene--many{min-height:174svh}.omc-many-photo{width:clamp(145px,15vw,180px);max-width:180px}
  .omc-many-photo--1{left:43%;right:auto;top:23%}.omc-many-photo--2{left:64%;right:auto;top:27%}.omc-many-photo--3{left:81%;right:auto;top:37%}
  .omc-many-photo--4{left:84%;right:auto;top:54%}.omc-many-photo--5{left:76%;right:auto;top:72%}.omc-many-photo--6{left:61%;right:auto;top:84%}
  .omc-many-photo--7{left:42%;right:auto;top:87%}.omc-many-photo--8{left:23%;right:auto;top:82%}.omc-many-photo--9{left:8%;right:auto;top:70%}
  .omc-many-photo--10{left:2%;right:auto;top:52%}.omc-many-photo--11{left:10%;right:auto;top:36%}.omc-many-photo--12{left:25%;right:auto;top:26%}
  .omc-scene--many .omc-many__final{z-index:10}
  .omc-scene--lost{min-height:145svh}.omc-lost__photos{position:absolute;z-index:4;top:18%;right:4%;width:58%;height:66svh;margin:0}
  .omc-lost-photo{width:clamp(180px,17vw,260px)}
  .omc-lost-photo--1{left:0;right:auto;top:4%;bottom:auto}.omc-lost-photo--2{left:34%;right:auto;top:0;bottom:auto}.omc-lost-photo--3{left:66%;right:auto;top:11%;bottom:auto;transform:rotate(2deg)}
  .omc-lost-photo--4{left:14%;right:auto;top:43%;bottom:auto}.omc-lost-photo--5{left:50%;right:auto;top:48%;bottom:auto}
  .omc-scene--lost:not(.is-lost-scatter-active) .omc-lost-photo--3{transform:rotate(2deg)}.omc-conversation{margin-top:58svh}
  .omc-scene--lost.is-lost-scatter-active .omc-lost-photo{animation-duration:2.1s}
  .omc-final-photo--1{left:7%;right:auto;top:8%}.omc-final-photo--2{left:auto;right:7%;top:9%}.omc-final-photo--5{left:30%;right:auto;top:0}
  .omc-final-photo--7{left:10%;right:auto;top:42%}.omc-final-photo--8{left:auto;right:10%;top:43%}
  .omc-final-photo--3{left:7%;right:auto;bottom:5%}.omc-final-photo--9{left:25%;right:auto;bottom:2%}.omc-final-photo--6{left:43%;right:auto;bottom:-1%}
  .omc-final-photo--10{left:61%;right:auto;bottom:2%}.omc-final-photo--4{left:79%;right:auto;bottom:5%}
}

/* v1.5.23 — Freeform Scene 02 and a tighter final gathering. */
@media(min-width:1024px){
  /* 02: asymmetric scatter with protected copy zones. */
  .omc-scene--many{min-height:176svh}
  .omc-many-photo{max-width:none}
  .omc-many-photo:nth-child(3n+1){width:clamp(145px,15vw,180px)}
  .omc-many-photo:nth-child(3n+2){width:clamp(130px,13vw,160px)}
  .omc-many-photo:nth-child(3n){width:clamp(155px,16vw,195px)}
  .omc-many-photo--1{left:auto;right:3%;top:6%;--r:7deg}
  .omc-many-photo--2{left:auto;right:30%;top:18%;--r:-5deg}
  .omc-many-photo--3{left:auto;right:-1%;top:31%;--r:4deg}
  .omc-many-photo--4{left:57%;right:auto;top:40%;--r:-8deg}
  .omc-many-photo--5{left:auto;right:2%;top:53%;--r:6deg}
  .omc-many-photo--6{left:auto;right:20%;top:72%;--r:-4deg}
  .omc-many-photo--7{left:3%;right:auto;top:37%;--r:8deg}
  .omc-many-photo--8{left:1%;right:auto;top:59%;--r:-5deg}
  .omc-many-photo--9{left:16%;right:auto;top:78%;--r:5deg}
  .omc-many-photo--10{left:43%;right:auto;top:87%;--r:-7deg}
  .omc-many-photo--11{left:auto;right:1%;top:88%;--r:4deg}
  .omc-many-photo--12{left:43%;right:auto;top:28%;--r:-3deg}
  .omc-scene--many h2,.omc-scene--many .omc-many__lead,.omc-scene--many .omc-many__final{position:relative;z-index:12}

  /* 12: pull the complete outer frame further toward the center. */
  .omc-final-photo--1{left:14%;right:auto;top:9%}.omc-final-photo--2{left:auto;right:14%;top:10%}.omc-final-photo--5{left:32%;right:auto;top:1%}
  .omc-final-photo--7{left:17%;right:auto;top:42%}.omc-final-photo--8{left:auto;right:17%;top:43%}
  .omc-final-photo--3{left:12%;right:auto;bottom:6%}.omc-final-photo--9{left:28%;right:auto;bottom:3%}.omc-final-photo--6{left:44%;right:auto;bottom:0}
  .omc-final-photo--10{left:60%;right:auto;bottom:3%}.omc-final-photo--4{left:76%;right:auto;bottom:6%}
}

/* v1.5.24 — Larger PC photos, protected Scene 02 lead, varied Scene 12 frame. */
@media(min-width:1024px){
  /* 02: exactly 20% larger than v1.5.23; move only the lead-side collision away. */
  .omc-many-photo:nth-child(3n+1){width:clamp(174px,18vw,216px)}
  .omc-many-photo:nth-child(3n+2){width:clamp(156px,15.6vw,192px)}
  .omc-many-photo:nth-child(3n){width:clamp(186px,19.2vw,234px)}
  .omc-many-photo--7{left:2%;right:auto;top:46%}
  .omc-many-photo--12{left:47%;right:auto;top:27%}
  .omc-scene--many .omc-many__lead{z-index:14}

  /* 12: fill the upper-right gap and vary scale/height without covering the copy. */
  .omc-final-photo:nth-child(3n+1){width:clamp(135px,12.5vw,155px)}
  .omc-final-photo:nth-child(3n+2){width:clamp(150px,13.5vw,170px)}
  .omc-final-photo:nth-child(3n){width:clamp(145px,13vw,165px)}
  .omc-final-photo--1{left:13%;right:auto;top:8%}.omc-final-photo--2{left:auto;right:12%;top:5%}.omc-final-photo--5{left:31%;right:auto;top:1%}
  .omc-final-photo--7{left:16%;right:auto;top:39%}.omc-final-photo--8{left:auto;right:7%;top:29%}
  .omc-final-photo--3{left:11%;right:auto;bottom:7%}.omc-final-photo--9{left:27%;right:auto;bottom:2%}.omc-final-photo--6{left:44%;right:auto;bottom:-1%}
  .omc-final-photo--10{left:61%;right:auto;bottom:4%}.omc-final-photo--4{left:77%;right:auto;bottom:8%}
}

/* v1.5.25 — Global PC photo enlargement, with UI and MEMORY AWARD exclusions. */
@media(min-width:1024px){
  /* Increase every decorative/event photograph by 20%. Scene 04 UI and MEMORY AWARD are not selected. */
  .omc-floating-photo--2,.omc-floating-photo--3,.omc-floating-photo--4,.omc-floating-photo--5,.omc-floating-photo--6,
  .omc-many-photo,.omc-lost-photo,.omc-event-collage figure,.omc-roadmap-photo,.omc-final-photo{
    scale:1.2;
    transform-origin:center;
  }

  /* 02: use the pre-enlargement sizes once, then apply the shared 1.2 scale above. */
  .omc-many-photo:nth-child(3n+1){width:clamp(145px,15vw,180px)}
  .omc-many-photo:nth-child(3n+2){width:clamp(130px,13vw,160px)}
  .omc-many-photo:nth-child(3n){width:clamp(155px,16vw,195px)}
  .omc-many-photo--1{left:auto;right:8%;top:6%}.omc-many-photo--2{left:auto;right:32%;top:18%}.omc-many-photo--3{left:auto;right:5%;top:31%}
  .omc-many-photo--4{left:55%;right:auto;top:40%}.omc-many-photo--5{left:auto;right:8%;top:53%}.omc-many-photo--6{left:auto;right:24%;top:72%}
  .omc-many-photo--7{left:8%;right:auto;top:46%}.omc-many-photo--8{left:7%;right:auto;top:59%}.omc-many-photo--9{left:20%;right:auto;top:78%}
  .omc-many-photo--10{left:44%;right:auto;top:87%}.omc-many-photo--11{left:auto;right:7%;top:88%}.omc-many-photo--12{left:48%;right:auto;top:27%}

  /* 12: make the upper-right photograph unmistakable and center every heading line. */
  .omc-final-photo--2{left:auto;right:16%;top:7%;z-index:4}
  .omc-final-photo--8{left:auto;right:12%;top:25%;z-index:5}
  .omc-final h2{width:100%;text-align:center}
  .omc-final h2>.omc-copy-line{display:block;width:max-content;max-width:100%;margin-inline:auto;text-align:center}
}

/* v1.5.26 final cascade — keep these corrections after all earlier version blocks. */
@media(min-width:1024px){
  .omc-many-photo--12{left:41%;right:auto}
  .omc-memory-award__photo{width:min(50%,280px)}
  .omc-memory-award__single-line{display:inline-block;white-space:nowrap;font-size:clamp(.78rem,1.02vw,1rem)}
  .omc-final-photo--2{left:auto;right:4%;top:8%;bottom:auto;z-index:7}
  .omc-final-photo--8{left:auto;right:5%;top:34%;bottom:auto;z-index:7}
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--2{transform:translate3d(0,0,0) rotate(8deg) scale(1)}
body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--8{transform:translate3d(0,0,0) rotate(5deg) scale(1)}
}

/* v1.5.27 — Scene 12 only: bring the right-side frame visibly inward. */
@media(min-width:1024px){
  .omc-final-photo--2{left:auto;right:18%;top:7%;bottom:auto;z-index:7}
  .omc-final-photo--8{left:auto;right:13%;top:33%;bottom:auto;z-index:7}
}

/* v1.5.28 — Scene 12 semantic placement: fill the actual upper-right void with different photos. */
@media(min-width:1024px){
  /* Restore the two photographs that were already occupying the outer-right frame. */
  .omc-final-photo--key-festival_family{left:auto;right:3%;top:7%;bottom:auto;z-index:4}
  .omc-final-photo--key-event_photo_02{left:auto;right:4%;top:34%;bottom:auto;z-index:4}

  /* Pull two different lower-row photographs into the empty upper/right-middle area. */
  .omc-final-photo--key-event_photo_01{left:57%;right:auto;top:3%;bottom:auto;z-index:5;--r:-5deg}
  .omc-final-photo--key-event_photo_03{left:64%;right:auto;top:27%;bottom:auto;z-index:5;--r:6deg}

  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--key-event_photo_01{
    transform:translate3d(0,0,0) rotate(-5deg) scale(1)
  }
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--key-event_photo_03{
    transform:translate3d(0,0,0) rotate(6deg) scale(1)
  }
}

/* v1.5.29 final mobile cascade — intentionally last. */
@media(max-width:767px){
  .omc-scene--many{min-height:205svh;padding-bottom:150px}
  .omc-scene--many .omc-scene__inner{position:relative;z-index:14}
  .omc-scene--many h2,.omc-scene--many .omc-many__lead{position:relative;z-index:15}
  .omc-many-photo{width:44vw;max-width:190px}
  .omc-many-photo--1{left:-8%;right:auto;top:38%}.omc-many-photo--2{left:auto;right:-9%;top:45%}
  .omc-many-photo--3{left:24%;right:auto;top:55%}.omc-many-photo--4{left:-10%;right:auto;top:64%}
  .omc-many-photo--5{left:auto;right:-8%;top:72%}.omc-many-photo--6{left:25%;right:auto;top:79%}
  .omc-many-photo--7{left:-7%;right:auto;top:88%}.omc-many-photo--8{left:auto;right:-6%;top:91%}

  .omc-safety-ui-gallery{display:flex;width:auto;max-width:none;gap:16px;margin:34px -18px 8px;padding:12px 18px 28px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:18px;-webkit-overflow-scrolling:touch}
  .omc-safety-ui-gallery .omc-safety-ui{flex:0 0 78vw;width:78vw;max-width:330px;margin:0;scroll-snap-align:center;transform:rotate(var(--ui-r,-1.5deg))}
  .omc-safety-ui-gallery .omc-safety-ui:nth-child(even){--ui-r:1.5deg}
  .omc-safety-ui-gallery .omc-safety-ui img{width:100%;max-height:none;object-fit:contain}

  .omc-roadmap__declaration.omc-loop-typing{margin-bottom:66px}
  .omc-roadmap{margin-top:0}
  .omc-scene--faq{padding-bottom:72px}
  .omc-sponsor{margin-bottom:18px;border-radius:30px}

  .omc-final{min-height:150svh}
  .omc-final-photo{width:35vw;max-width:155px;opacity:1}
  .omc-final-photo--1{left:-8%;right:auto;top:5%;bottom:auto}.omc-final-photo--2{left:auto;right:-8%;top:7%;bottom:auto}
  .omc-final-photo--5{left:22%;right:auto;top:-3%;bottom:auto}.omc-final-photo--7{left:-10%;right:auto;top:30%;bottom:auto}
  .omc-final-photo--8{left:auto;right:-10%;top:33%;bottom:auto}.omc-final-photo--3{left:-8%;right:auto;top:auto;bottom:7%}
  .omc-final-photo--4{left:auto;right:-8%;top:auto;bottom:7%}.omc-final-photo--9{left:13%;right:auto;top:auto;bottom:-1%}
  .omc-final-photo--6{left:34%;right:auto;top:auto;bottom:-5%}.omc-final-photo--10{left:auto;right:9%;top:auto;bottom:-1%}
  .omc-final__message,.omc-final .omc-index,.omc-final .omc-button,.omc-final .omc-support{position:relative;z-index:12}
  .omc-final .omc-scene__inner::before{position:absolute;z-index:-1;left:50%;top:48%;width:108%;height:68%;content:"";transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(ellipse,rgba(33,14,91,.94) 0,rgba(44,19,119,.78) 48%,rgba(31,13,79,.22) 72%,transparent 82%);filter:blur(5px)}
}

/* v1.5.30 — Mobile refinements from the on-device review. */
@media(max-width:767px){
  /* 02: retain the safe copy area but shorten the empty pause before photos. */
  .omc-many-photo--1{top:34%}.omc-many-photo--2{top:40%}.omc-many-photo--3{top:50%}.omc-many-photo--4{top:59%}
  .omc-many-photo--5{top:68%}.omc-many-photo--6{top:76%}.omc-many-photo--7{top:84%}.omc-many-photo--8{top:88%}

  /* 11: make JOIN THE PARADE as close to a circle as the copy permits. */
  .omc-sponsor{
    width:min(92vw,360px);min-height:min(92vw,360px);aspect-ratio:1/1;margin:90px auto 26px;padding:46px 34px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-radius:50%;text-align:center
  }
  .omc-sponsor h2{font-size:clamp(2.25rem,10.5vw,3.15rem)}
  .omc-sponsor .omc-button{width:min(100%,260px)}

  /* 12: surround the centered message with a visible outer photo ring. */
  .omc-final{min-height:165svh}
  .omc-final-photo{width:31vw;max-width:138px;opacity:1;z-index:2}
  .omc-final-photo--1{left:-5%;right:auto;top:8%;bottom:auto}.omc-final-photo--2{left:auto;right:-5%;top:10%;bottom:auto}
  .omc-final-photo--5{left:33%;right:auto;top:-2%;bottom:auto}.omc-final-photo--7{left:-7%;right:auto;top:34%;bottom:auto}
  .omc-final-photo--8{left:auto;right:-7%;top:36%;bottom:auto}.omc-final-photo--9{left:-3%;right:auto;top:63%;bottom:auto}
  .omc-final-photo--10{left:auto;right:-3%;top:65%;bottom:auto}.omc-final-photo--3{left:8%;right:auto;top:auto;bottom:0}
  .omc-final-photo--4{left:auto;right:8%;top:auto;bottom:0}.omc-final-photo--6{left:35%;right:auto;top:auto;bottom:-6%}
  .omc-final .omc-scene__inner::before{display:none}
  .omc-final h2{text-shadow:0 4px 0 rgba(12,5,39,.88),0 8px 22px rgba(12,5,39,.95)}
}

/* v1.5.31 — Mobile: earlier Scene 02 photos, capsule CTA, tighter Scene 12 frame. */
@media(max-width:767px){
  /* 02: bring the photographic stream decisively into the upper half. */
  .omc-scene--many{min-height:188svh}
  .omc-many-photo--1{top:25%}.omc-many-photo--2{top:30%}.omc-many-photo--3{top:39%}.omc-many-photo--4{top:48%}
  .omc-many-photo--5{top:57%}.omc-many-photo--6{top:66%}.omc-many-photo--7{top:75%}.omc-many-photo--8{top:82%}

  /* 11: a tall medicine-capsule silhouette, not a circle. */
  .omc-sponsor{
    width:min(78vw,300px);min-height:430px;aspect-ratio:auto;margin:90px auto 32px;padding:56px 30px;
    border-radius:999px
  }
  .omc-sponsor h2{font-size:clamp(2.05rem,9.8vw,2.75rem)}

  /* 12: shorten the scene and pull every row toward the centered message. */
  .omc-final{min-height:132svh}
  .omc-final-photo{width:30vw;max-width:132px}
  .omc-final-photo--1{left:-4%;top:5%}.omc-final-photo--2{right:-4%;top:7%}
  .omc-final-photo--5{left:34%;top:1%}.omc-final-photo--7{left:-6%;top:27%}
  .omc-final-photo--8{right:-6%;top:29%}.omc-final-photo--9{left:-3%;top:54%}
  .omc-final-photo--10{right:-3%;top:56%}.omc-final-photo--3{left:7%;bottom:-1%}
  .omc-final-photo--4{right:7%;bottom:-1%}.omc-final-photo--6{left:35%;bottom:-5%}
}

/* v1.5.32 — Mobile sponsor label and Scene 12/footer overlap. */
@media(max-width:767px){
  .omc-sponsor .omc-button{
    width:min(100%,260px);padding-inline:12px;font-size:clamp(.82rem,3.75vw,.96rem);
    letter-spacing:-.035em;white-space:nowrap;word-break:keep-all
  }

  /* Keep the footer in place; only the photographic layer may cross its boundary. */
  .omc-final{position:relative;z-index:2;overflow:visible}
  .omc-final__visual-clip{overflow:visible}
  .omc-final__photo-layer{z-index:3;overflow:visible}
  .omc-final-photo--3{left:7%;bottom:-.5%;z-index:4}
  .omc-final-photo--4{right:7%;bottom:-.5%;z-index:4}
  .omc-final-photo--6{left:35%;bottom:-.5%;z-index:5}
  .omc-footer{position:relative;z-index:1}
}

/* v1.5.33 — Lock accidental mobile horizontal panning; raise Scene 12 lower trio. */
@media(max-width:767px){
  html,body,.omc-lp{max-width:100%;overflow-x:hidden}
  @supports(overflow:clip){html,body,.omc-lp{overflow-x:clip}}

  .omc-final-photo--3{left:7%;bottom:14%;z-index:4}
  .omc-final-photo--4{right:7%;bottom:14%;z-index:4}
  .omc-final-photo--6{left:35%;bottom:9%;z-index:5}
}

/* v1.5.34 — Seamless final/footer join and a little more copy clearance. */
@media(max-width:767px){
  .omc-final,.omc-footer{
    border:0!important;border-top:0!important;border-bottom:0!important;outline:0!important;box-shadow:none!important
  }
  .omc-final::after,.omc-footer::before{display:none!important;border:0!important;content:none!important}
  .omc-footer{margin-top:-1px}

  .omc-final-photo--7{left:-10%;right:auto}
  .omc-final-photo--8{left:auto;right:-10%}
}

/* v1.5.35 — Mobile photo clearance for Scene 02 and Scene 12. */
@media(max-width:767px){
  /* 02: lift the upper-right image strongly, then open a readable stagger below it. */
  .omc-many-photo--1{top:24%}
  .omc-many-photo--2{top:20%}
  .omc-many-photo--3{top:35%}
  .omc-many-photo--4{top:44%}
  .omc-many-photo--5{top:53%}
  .omc-many-photo--6{top:62%}
  .omc-many-photo--7{top:71%}
  .omc-many-photo--8{top:79%}

  /* 12: move the fourth/fifth photographs from the bottom away from the title. */
  .omc-final-photo--9{left:-10%;right:auto}
  .omc-final-photo--10{left:auto;right:-10%}
}

/* v1.5.36 — Scene 02 mobile photo wall; Scene 12 stays frozen. */
@media(max-width:767px){
  .omc-scene--many{min-height:202svh}
  .omc-many-photo{width:49vw;max-width:205px}

  /* Use all twelve photographs, including the otherwise empty upper-right pocket. */
  .omc-many-photo--1{left:-11%;right:auto;top:23%}
  .omc-many-photo--2{left:auto;right:-12%;top:17%}
  .omc-many-photo--3{left:27%;right:auto;top:32%}
  .omc-many-photo--4{left:-11%;right:auto;top:40%}
  .omc-many-photo--5{left:auto;right:-11%;top:46%}
  .omc-many-photo--6{left:25%;right:auto;top:54%}
  .omc-many-photo--7{left:-10%;right:auto;top:62%}
  .omc-many-photo--8{left:auto;right:-10%;top:67%}
  .omc-many-photo--9{left:25%;right:auto;top:73%}
  .omc-many-photo--10{left:-12%;right:auto;top:82%}
  .omc-many-photo--11{left:auto;right:-12%;top:83%}
  .omc-many-photo--12{left:auto;right:-20%;top:2%;z-index:2}

  /* Keep the closing statement above the collage with a clean readable halo. */
  .omc-scene--many .omc-many__final{position:relative;z-index:20;text-shadow:0 4px 0 rgba(28,8,65,.92),0 9px 24px rgba(16,4,42,.94)}
  .omc-scene--many .omc-many__final::before{
    position:absolute;z-index:-1;inset:-.5em -.35em;content:"";pointer-events:none;
    background:radial-gradient(ellipse,rgba(34,10,78,.88),rgba(34,10,78,.55) 52%,transparent 76%);filter:blur(8px)
  }
}

/* v1.5.37 — Trim only the mobile tail between Scene 02 and Scene 03. */
@media(max-width:767px){
  .omc-scene--many{min-height:182svh;padding-bottom:80px}
}

/* v1.5.38 — Further shorten the mobile Scene 02 tail. */
@media(max-width:767px){
  .omc-scene--many{min-height:162svh;padding-bottom:40px}
}

/* v1.5.39 — Lower only the closing Scene 02 statement on mobile. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{top:8svh}
}

/* v1.5.40 — Mobile JOIN THE PARADE floating capsule shadow. */
@media(max-width:767px){
  .omc-sponsor{
    position:relative;z-index:1;margin-bottom:64px;
    box-shadow:0 20px 24px -18px rgba(75,22,10,.44),0 30px 42px -28px rgba(75,22,10,.32)
  }
  .omc-sponsor::after{
    position:absolute;z-index:-1;left:13%;right:13%;bottom:-34px;height:30px;
    content:"";border-radius:50%;background:rgba(53,18,12,.32);
    filter:blur(13px);transform:scaleX(.94);pointer-events:none
  }
}

/* v1.5.41 — Dedicated tablet composition (768–1023px). */
@media(min-width:768px) and (max-width:1023px){
  .omc-container,.omc-scene__inner{width:min(calc(100% - 56px),900px)}
  .omc-header__inner{gap:12px}.omc-nav{gap:8px}.omc-nav>a{padding:8px 6px;font-size:.88rem}
  .omc-nav .omc-button{padding-inline:16px;font-size:.86rem}
  .omc-scene{padding-block:112px}
  .omc-scene h2{font-size:clamp(3.8rem,8.4vw,5.35rem)}

  /* 01: preserve the PC balance at a narrower canvas. */
  .omc-scene--hero{min-height:100svh;padding:34svh 0 82px}
  .omc-scene--hero .omc-scene__inner{padding-right:34%}
  .omc-scene--hero h1{font-size:clamp(4.6rem,10.5vw,6.5rem)}

  /* 02: twelve photographs form an irregular two-sided stream around the copy. */
  .omc-scene--many{min-height:178svh;padding-bottom:150px}
  .omc-scene--many h2{max-width:5.2ch;font-size:clamp(5.2rem,12vw,7.5rem)}
  .omc-many-photo{width:clamp(150px,22vw,205px);max-width:205px;opacity:1}
  .omc-many-photo--1{left:3%;right:auto;top:7%;--r:-6deg}.omc-many-photo--2{left:auto;right:4%;top:5%;--r:5deg}
  .omc-many-photo--3{left:39%;right:auto;top:18%;--r:-3deg}.omc-many-photo--4{left:4%;right:auto;top:31%;--r:6deg}
  .omc-many-photo--5{left:auto;right:2%;top:28%;--r:-5deg}.omc-many-photo--6{left:38%;right:auto;top:43%;--r:4deg}
  .omc-many-photo--7{left:1%;right:auto;top:55%;--r:-5deg}.omc-many-photo--8{left:auto;right:5%;top:52%;--r:6deg}
  .omc-many-photo--9{left:39%;right:auto;top:66%;--r:-4deg}.omc-many-photo--10{left:4%;right:auto;top:78%;--r:5deg}
  .omc-many-photo--11{left:auto;right:3%;top:76%;--r:-6deg}.omc-many-photo--12{left:38%;right:auto;top:88%;--r:4deg}
  .omc-scene--many h2,.omc-scene--many .omc-many__lead,.omc-scene--many .omc-many__final{position:relative;z-index:12}
  .omc-many__final{margin-top:62svh}

  /* 03: visible opening fan with a measured scatter distance. */
  .omc-scene--lost{min-height:142svh}
  .omc-lost__photos{position:absolute;z-index:4;top:24%;right:2%;width:62%;height:58svh;margin:0}
  .omc-lost-photo{width:clamp(160px,23vw,220px)}
  .omc-lost-photo--1{left:0;right:auto;top:5%;bottom:auto}.omc-lost-photo--2{left:35%;right:auto;top:0;bottom:auto}
  .omc-lost-photo--3{left:68%;right:auto;top:12%;bottom:auto}.omc-lost-photo--4{left:15%;right:auto;top:46%;bottom:auto}
  .omc-lost-photo--5{left:52%;right:auto;top:49%;bottom:auto}.omc-conversation{margin-top:60svh}

  /* 04–07: use the available width without stretching the copy. */
  .omc-magic__content h2{max-width:62%}.omc-magic__steps li{max-width:54%}.omc-magic__ui{width:62vw}
  .omc-memory-award{width:min(100%,760px);margin-inline:auto}.omc-memory-award__photo{width:min(54%,310px)}
  .omc-scene--events{min-height:0}.omc-event-collage{height:2100px;margin-top:40px}
  .omc-event-collage figure{width:clamp(245px,34vw,320px)}
  .omc-event-collage figure:nth-child(1){left:2%;right:auto;top:0}.omc-event-collage figure:nth-child(2){left:auto;right:2%;top:4%}
  .omc-event-collage figure:nth-child(3){left:8%;right:auto;top:17%}.omc-event-collage figure:nth-child(4){left:auto;right:7%;top:20%}
  .omc-event-collage figure:nth-child(5){left:1%;right:auto;top:34%}.omc-event-collage figure:nth-child(6){left:auto;right:1%;top:37%}
  .omc-event-collage figure:nth-child(7){left:9%;right:auto;top:51%}.omc-event-collage figure:nth-child(8){left:auto;right:8%;top:54%}
  .omc-event-collage figure:nth-child(9){left:2%;right:auto;top:68%}.omc-event-collage figure:nth-child(10){left:auto;right:3%;top:71%}
  .omc-event-collage figure:nth-child(11){left:8%;right:auto;top:84%}.omc-event-collage figure:nth-child(12){left:auto;right:7%;top:87%}

  /* 08: four UI screens remain readable in a 2 × 2 composition. */
  .omc-safety-ui-gallery{width:min(100%,820px);grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:42px auto 24px}
  .omc-safety-ui-gallery .omc-safety-ui{transform:rotate(var(--ui-r,-1deg))}
  .omc-safety-ui-gallery .omc-safety-ui:nth-child(even){--ui-r:1deg}
  .omc-safety-ui-gallery .omc-safety-ui img{width:100%;max-height:650px;object-fit:contain}

  /* 09–11: retain breathing room and a wide, rounded sponsor panel. */
  .omc-roadmap{overflow-x:auto;padding-bottom:18px}.omc-roadmap__declaration{margin-bottom:54px}
  .omc-sponsor{width:min(88%,780px);margin:82px auto 38px;padding:58px 52px;gap:32px;border-radius:56px}
  .omc-sponsor h2{font-size:clamp(3rem,7vw,4.5rem)}

  /* 12: a loose outer frame protects the centered three-line message. */
  .omc-final{min-height:148svh}.omc-final h2{font-size:clamp(4.5rem,9.5vw,6.25rem);text-align:center}
  .omc-final h2>.omc-copy-line{display:block;width:max-content;max-width:100%;margin-inline:auto;text-align:center}
  .omc-final-photo{width:clamp(145px,20vw,190px);max-width:190px;opacity:1}
  .omc-final-photo--1{left:2%;right:auto;top:7%}.omc-final-photo--2{left:auto;right:2%;top:9%}.omc-final-photo--5{left:39%;right:auto;top:-2%}
  .omc-final-photo--7{left:4%;right:auto;top:38%}.omc-final-photo--8{left:auto;right:4%;top:40%}
  .omc-final-photo--3{left:2%;right:auto;bottom:5%}.omc-final-photo--9{left:22%;right:auto;bottom:1%}.omc-final-photo--6{left:42%;right:auto;bottom:-2%}
  .omc-final-photo--10{left:62%;right:auto;bottom:1%}.omc-final-photo--4{left:auto;right:2%;bottom:5%}
  .omc-final__message,.omc-final .omc-index,.omc-final .omc-button,.omc-final .omc-support{position:relative;z-index:12}
}

/* v1.5.42 — Tablet visual review refinements. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: center the paired actions as one unit. */
  .omc-scene--hero .omc-actions{
    width:100%;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px
  }
  .omc-scene--hero .omc-actions [data-placement=cf_click_hero],
  .omc-scene--hero .omc-button--ghost{width:auto;min-width:190px;margin-inline:0;align-self:center}

  /* 02: event-collage scale, with an explicit cyan/magenta glitch headline. */
  .omc-scene--many{min-height:226svh}
  .omc-many-photo{width:clamp(245px,34vw,320px);max-width:320px}
  .omc-many-photo--1{left:-4%;right:auto;top:17%}.omc-many-photo--2{left:auto;right:-3%;top:12%}
  .omc-many-photo--3{left:31%;right:auto;top:25%}.omc-many-photo--4{left:-5%;right:auto;top:36%}
  .omc-many-photo--5{left:auto;right:-4%;top:39%}.omc-many-photo--6{left:32%;right:auto;top:50%}
  .omc-many-photo--7{left:-3%;right:auto;top:60%}.omc-many-photo--8{left:auto;right:-4%;top:63%}
  .omc-many-photo--9{left:32%;right:auto;top:73%}.omc-many-photo--10{left:-5%;right:auto;top:83%}
  .omc-many-photo--11{left:auto;right:-4%;top:86%}.omc-many-photo--12{left:33%;right:auto;top:94%}
  .omc-scene--many .omc-many__final{font-style:italic;z-index:20}
  .omc-scene--many .omc-many__final-line{
    position:relative;isolation:isolate;transform:skewX(-5deg);text-shadow:0 7px 17px rgba(0,0,0,.5)
  }
  .omc-scene--many .omc-many__final-line::before,
  .omc-scene--many .omc-many__final-line::after{
    position:absolute;z-index:-1;inset:0;width:100%;content:attr(data-glitch-text);pointer-events:none
  }
  .omc-scene--many .omc-many__final-line::before{
    color:#00f0f4;-webkit-text-fill-color:#00f0f4;transform:translateX(6px);clip-path:inset(0 0 48% 0)
  }
  .omc-scene--many .omc-many__final-line::after{
    color:#ff149d;-webkit-text-fill-color:#ff149d;transform:translateX(-6px);clip-path:inset(48% 0 0 0)
  }

  /* 03: begin as a centered fan shifted slightly left; place the three cards lower. */
  .omc-lost__photos{left:22%;right:auto;top:25%;width:67%;height:60svh}
  .omc-lost-photo--1{left:0;top:7%}.omc-lost-photo--2{left:31%;top:1%}.omc-lost-photo--3{left:62%;top:9%}
  .omc-lost-photo--4{left:13%;top:45%}.omc-lost-photo--5{left:46%;top:49%}
  .omc-scene--lost .omc-conversation{margin-top:78svh}
  .omc-scene--lost .omc-conversation p:nth-child(1){margin-left:8%}
  .omc-scene--lost .omc-conversation p:nth-child(2){margin-left:auto;margin-right:4%}
  .omc-scene--lost .omc-conversation p:nth-child(3){margin-left:28%}

  /* MEMORY AWARD: centered album and a single centered result flow. */
  .omc-memory-award{display:grid;grid-template-columns:1fr;gap:24px;text-align:left}
  .omc-memory-award__photo{width:min(48%,300px);margin:28px auto 10px}
  .omc-memory-award__copy>p:last-child{margin-inline:auto;max-width:38rem}
  .omc-memory-award__flow{
    width:100%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;margin:0 auto
  }
  .omc-memory-award__flow span{white-space:nowrap}.omc-memory-award__flow i{flex:0 0 auto}

  /* 12: force the requested three lines and tighten the surrounding photo frame. */
  .omc-final{min-height:138svh}
  .omc-final h2>.omc-copy-line{display:block!important;width:max-content!important;margin-inline:auto!important;text-align:center!important}
  .omc-final-photo{width:clamp(170px,23vw,220px);max-width:220px}
  .omc-final-photo--1{left:-2%;right:auto;top:4%}.omc-final-photo--2{left:auto;right:-2%;top:6%}.omc-final-photo--5{left:37%;right:auto;top:-3%}
  .omc-final-photo--7{left:-4%;right:auto;top:34%}.omc-final-photo--8{left:auto;right:-4%;top:36%}
  .omc-final-photo--9{left:13%;right:auto;top:66%;bottom:auto}.omc-final-photo--10{left:auto;right:13%;top:68%;bottom:auto}
  .omc-final-photo--3{left:-2%;right:auto;top:auto;bottom:-1%}.omc-final-photo--6{left:38%;right:auto;top:auto;bottom:-5%}
  .omc-final-photo--4{left:auto;right:-2%;top:auto;bottom:-1%}
}

/* v1.5.43 — Tablet second visual review. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: center against the tablet viewport, not the narrow text column. */
  .omc-scene--hero .omc-scene__inner{padding-right:0}
  .omc-scene--hero h1,.omc-scene--hero .omc-lead{max-width:60%}
  .omc-scene--hero .omc-actions{width:100%;margin-inline:auto;transform:none}

  /* 02: raise the closing statement while preserving the approved photo scale. */
  .omc-scene--many .omc-many__final{top:-13svh}

  /* 03: larger cards, brought substantially upward. */
  .omc-scene--lost .omc-conversation{margin-top:43svh}
  .omc-scene--lost .omc-conversation p{
    padding:18px 25px;border-radius:22px;font-size:clamp(1.05rem,2.25vw,1.3rem);box-shadow:0 16px 34px rgba(0,0,0,.34)
  }

  /* 06: interrupt the two-column rhythm with several centered landings. */
  .omc-event-collage figure:nth-child(3){left:31%;right:auto;top:16%}
  .omc-event-collage figure:nth-child(4){left:auto;right:3%;top:23%}
  .omc-event-collage figure:nth-child(6){left:27%;right:auto;top:39%}
  .omc-event-collage figure:nth-child(7){left:1%;right:auto;top:53%}
  .omc-event-collage figure:nth-child(9){left:32%;right:auto;top:67%}
  .omc-event-collage figure:nth-child(10){left:2%;right:auto;top:75%}
  .omc-event-collage figure:nth-child(11){left:23%;right:auto;top:84%}
  .omc-event-collage figure:nth-child(12){left:auto;right:1%;top:88%}

  /* 08: use the same swipe-and-peek interaction as Mobile, scaled for Tablet. */
  .omc-safety-ui-gallery{
    display:flex;width:auto;max-width:none;gap:24px;margin:42px -28px 16px;padding:14px 28px 32px;
    overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:28px;-webkit-overflow-scrolling:touch
  }
  .omc-safety-ui-gallery .omc-safety-ui{
    flex:0 0 58vw;width:58vw;max-width:480px;margin:0;scroll-snap-align:center;transform:rotate(var(--ui-r,-1deg))
  }
  .omc-safety-ui-gallery .omc-safety-ui:nth-child(even){--ui-r:1deg}
  .omc-safety-ui-gallery .omc-safety-ui img{width:100%;max-height:none;object-fit:contain}

  /* 09: both photographs on the right; the upper one sits farther left. */
  .omc-roadmap-photo{width:clamp(225px,30vw,300px);max-width:300px;opacity:1}
  .omc-roadmap-photo--1{left:auto;right:27%;top:7%;transform:rotate(7deg)}
  .omc-roadmap-photo--2{left:auto;right:2%;top:39%;transform:rotate(-6deg)}

  /* 12: each flex item must claim a complete row. */
  .omc-final h2{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:center!important}
  .omc-final h2>.omc-copy-line{
    display:block!important;flex:0 0 auto!important;flex-basis:auto!important;width:max-content!important;max-width:100%!important
  }
  .omc-final-photo{width:clamp(185px,25vw,235px);max-width:235px}
  .omc-final-photo--1{left:-4%;top:4%}.omc-final-photo--2{right:-4%;top:5%}.omc-final-photo--5{left:36%;top:-4%}
  .omc-final-photo--7{left:-6%;top:33%}.omc-final-photo--8{right:-6%;top:35%}
  .omc-final-photo--9{left:9%;top:64%}.omc-final-photo--10{right:9%;top:66%}
}

/* v1.5.44 — Tablet third visual review. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: stack the two actions and center the pair against the viewport. */
  .omc-scene--hero .omc-actions{
    width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:14px
  }
  .omc-scene--hero .omc-actions [data-placement=cf_click_hero],
  .omc-scene--hero .omc-button--ghost{width:min(260px,42vw);min-width:0;margin-inline:auto}

  /* 02: retain the approved height while shifting the closing statement inward. */
  .omc-scene--many .omc-many__final{width:max-content;max-width:7ch;margin-left:44%;margin-right:0}

  /* 03: make the three emotional prompts substantially more present. */
  .omc-scene--lost .omc-conversation p{
    padding:23px 32px;border-radius:25px;font-size:clamp(1.35rem,2.9vw,1.7rem);line-height:1.35
  }

  /* 09: move the upper image right and lift the lower image. */
  .omc-roadmap-photo--1{left:auto;right:18%;top:7%}
  .omc-roadmap-photo--2{left:auto;right:2%;top:30%}

  /* 12: gather the frame inward without entering the central copy-safe area. */
  .omc-final-photo--1{left:1%;right:auto;top:4%}
  .omc-final-photo--2{left:auto;right:1%;top:5%}
  .omc-final-photo--5{left:37%;right:auto;top:0}
  .omc-final-photo--7{left:0;right:auto;top:31%}
  .omc-final-photo--8{left:auto;right:0;top:33%}
  .omc-final-photo--9{left:16%;right:auto;top:62%}
  .omc-final-photo--10{left:auto;right:16%;top:64%}
  .omc-final-photo--3{left:1%;right:auto;bottom:1%}
  .omc-final-photo--6{left:38%;right:auto;bottom:-2%}
  .omc-final-photo--4{left:auto;right:1%;bottom:1%}
}

/* v1.5.45 — Tablet motion and closing-density review. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: the secondary action behaves like a small, playful extra. */
  .omc-scene--hero .omc-actions [data-placement=cf_click_hero]{width:min(260px,42vw)}
  .omc-scene--hero .omc-button--ghost{
    width:min(210px,34vw);min-height:52px;margin-top:-2px;transform:translateX(34px) rotate(-5deg)
  }
  .omc-scene--hero .omc-button--ghost:hover{transform:translateX(34px) translateY(-2px) rotate(-5deg)}

  /* 02: replace the long float with a short, crisp snap-in. */
  .omc-scene--many.is-many-final-active .omc-many__final[data-many-final]{
    animation:omcManyFinalTabletSnap .48s cubic-bezier(.16,1,.3,1) forwards
  }
  @keyframes omcManyFinalTabletSnap{
    0%{opacity:0;transform:translate3d(0,15svh,0) scale(.96)}
    76%{opacity:1;transform:translate3d(0,-9px,0) scale(1.015)}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }

  /* 09: refine the approved right-side pairing. */
  .omc-roadmap-photo--1{left:auto;right:10%;top:3%}
  .omc-roadmap-photo--2{left:auto;right:2%;top:27%}

  /* 12: shorten the scene and pull only the upper/lower photographs inward. */
  .omc-final{min-height:124svh}
  .omc-final-photo--1{left:1%;right:auto;top:11%}
  .omc-final-photo--2{left:auto;right:1%;top:12%}
  .omc-final-photo--5{left:37%;right:auto;top:8%}
  .omc-final-photo--9{left:16%;right:auto;top:56%}
  .omc-final-photo--10{left:auto;right:16%;top:57%}
  .omc-final-photo--3{left:1%;right:auto;bottom:7%}
  .omc-final-photo--6{left:38%;right:auto;bottom:4%}
  .omc-final-photo--4{left:auto;right:1%;bottom:7%}
}

/* v1.5.46 — Tablet overlap and CTA correction. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: force the extra action below-right with a visible left tilt. */
  .omc-scene--hero .omc-actions{align-items:center!important}
  .omc-scene--hero .omc-button--ghost{
    position:relative!important;left:46px!important;align-self:center!important;width:min(205px,33vw)!important;
    margin:-2px auto 0!important;transform:rotate(-7deg)!important;transform-origin:center!important
  }
  .omc-scene--hero .omc-button--ghost:hover{transform:translateY(-2px) rotate(-7deg)!important}

  /* 02: restore the previously approved rise timing. */
  .omc-scene--many.is-many-final-active .omc-many__final[data-many-final]{
    animation:omcManyFinalRiseIn 1.02s cubic-bezier(.16,1,.3,1.08) forwards
  }

  /* 09: lift the lower photo into a subtle overlap with the upper photo. */
  .omc-roadmap-photo--2{left:auto;right:3%;top:20%}

  /* 12: overlap neighboring photos slightly while retaining the copy-safe center. */
  .omc-final-photo--1{left:3%;top:11%}.omc-final-photo--5{left:34%;top:9%}.omc-final-photo--2{right:3%;top:11%}
  .omc-final-photo--9{left:18%;top:54%}.omc-final-photo--10{right:18%;top:55%}
  .omc-final-photo--3{left:4%;bottom:8%}.omc-final-photo--6{left:36%;bottom:6%}.omc-final-photo--4{right:4%;bottom:8%}
}

/* v1.5.47 — Tablet playful extra, roadmap clearance, and CTA-side spacing. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: preserve the corrected position while restoring the playful sway. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    transform:none!important;animation:omcHeroGhostTabletDangle 1.55s ease-in-out infinite!important
  }
  @keyframes omcHeroGhostTabletDangle{
    0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}
    22%{transform:translate3d(-4px,2px,0) rotate(-10deg)}
    48%{transform:translate3d(3px,-1px,0) rotate(-5deg)}
    72%{transform:translate3d(-2px,1px,0) rotate(-8.5deg)}
  }

  /* 09: reduce only the typing headline so it clears the approved photographs. */
  .omc-roadmap__declaration.omc-loop-typing,
  .omc-roadmap__declaration.omc-loop-typing .omc-roadmap__declaration-line{
    font-size:clamp(3rem,7vw,4.25rem);line-height:.98
  }

  /* 12: separate the two photographs flanking the CAMPFIRE card. */
  .omc-final-photo--9{left:9%;right:auto;top:54%}
  .omc-final-photo--10{left:auto;right:9%;top:55%}
}

/* v1.5.48 — Tablet visible dangle and selective photo overlap. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: animate position, avoiding the forced rotation that blocked transform keyframes. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    left:46px!important;top:0;animation:omcHeroGhostTabletPositionDangle 1.45s ease-in-out infinite!important
  }
  @keyframes omcHeroGhostTabletPositionDangle{
    0%,100%{left:46px;top:0}
    22%{left:37px;top:3px}
    48%{left:53px;top:-2px}
    72%{left:41px;top:2px}
  }

  /* 12: overlap only the lower photo group; keep its distance from the copy unchanged. */
  .omc-final-photo--3{left:6%;bottom:8%}
  .omc-final-photo--6{left:34%;bottom:6%;width:clamp(210px,28vw,260px);max-width:260px;z-index:2}
  .omc-final-photo--4{right:9%;bottom:8%}
}

/* v1.5.49 — Tablet left tilt and unmistakable selective overlap. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: retain the position-based sway and restore a gentle left tilt. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    transform:rotate(-7deg)!important;transform-origin:center!important
  }

  /* 12: make the lower trio visibly overlap without moving it toward the copy. */
  .omc-final-photo--3{left:8%;right:auto;bottom:8%;z-index:1}
  .omc-final-photo--6{
    left:26%;right:auto;bottom:6%;width:clamp(235px,36vw,300px);max-width:300px;z-index:3
  }
  .omc-final-photo--4{left:auto;right:16%;bottom:8%;z-index:2}
}

/* v1.5.50 — Tablet CTA position and equal-size opaque photo overlap. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: move the tilted, swaying extra farther right. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    left:72px!important
  }
  @keyframes omcHeroGhostTabletPositionDangle{
    0%,100%{left:72px;top:0}
    22%{left:63px;top:3px}
    48%{left:79px;top:-2px}
    72%{left:67px;top:2px}
  }

  /* 12: equal photo sizing, true opacity, and overlap created only by position. */
  .omc-final-photo,
  .omc-final-photo img,
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo{
    opacity:1!important
  }
  .omc-final-photo--3{left:8%;right:auto;bottom:8%;z-index:1}
  .omc-final-photo--6{
    left:25%;right:auto;bottom:6%;width:clamp(185px,25vw,235px);max-width:235px;z-index:3
  }
  .omc-final-photo--4{left:auto;right:27%;bottom:8%;z-index:2}
}

/* v1.5.51 — Tablet larger extra CTA and balanced photo overlap. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: keep the sway and tilt, but move the entire motion range right and enlarge slightly. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    left:98px!important;width:min(225px,36vw)!important
  }
  @keyframes omcHeroGhostTabletPositionDangle{
    0%,100%{left:98px;top:0}
    22%{left:89px;top:3px}
    48%{left:105px;top:-2px}
    72%{left:93px;top:2px}
  }

  /* 12: use similar overlap amounts on both sides of the upper and lower trios. */
  .omc-final-photo--1{left:5%;right:auto;top:11%;z-index:1}
  .omc-final-photo--5{left:28%;right:auto;top:9%;z-index:3}
  .omc-final-photo--2{left:auto;right:23%;top:11%;z-index:2}

  .omc-final-photo--3{left:8%;right:auto;bottom:8%;z-index:1}
  .omc-final-photo--6{left:25%;right:auto;bottom:6%;z-index:3}
  .omc-final-photo--4{left:auto;right:33%;bottom:8%;z-index:2}
}

/* v1.5.52 — Tablet right-thumb CTA zone, roadmap clearance, and centered lower trio. */
@media(min-width:768px) and (max-width:1023px){
  /* 01: place the secondary action in the comfortable right-thumb zone. */
  .omc-scene--hero .omc-button--ghost:not(:hover):not(:active):not(:focus-visible){
    left:155px!important
  }
  @keyframes omcHeroGhostTabletPositionDangle{
    0%,100%{left:155px;top:0}
    22%{left:146px;top:3px}
    48%{left:162px;top:-2px}
    72%{left:150px;top:2px}
  }

  /* 09: reveal the complete upper edges of the development cards. */
  .omc-scene--roadmap .omc-roadmap{margin-top:46px}

  /* 12: move the complete lower trio toward the viewport center, preserving overlap. */
  .omc-final-photo--3{left:18%;right:auto;bottom:8%;z-index:1}
  .omc-final-photo--6{left:39%;right:auto;bottom:6%;z-index:3}
  .omc-final-photo--4{left:auto;right:17%;bottom:8%;z-index:2}
}

/* v1.5.53 — Tablet empathy beat, roadmap clearance, and gentler final overlap. */
.omc-lost__empathy{display:none}
@media(min-width:768px) and (max-width:1023px){
  /* 03: reveal the empathy copy only after all three conversation cards settle. */
  .omc-lost__empathy{
    display:block;width:max-content;max-width:100%;margin:clamp(54px,7svh,82px) auto 0;
    color:#fff;font-size:clamp(2.1rem,5.4vw,3.5rem);font-weight:900;line-height:1.08;
    letter-spacing:-.045em;text-align:center;opacity:0;transform:translateY(26px) scale(.96)
  }
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyIn .72s cubic-bezier(.16,1,.3,1) 1.45s forwards
  }
  @keyframes omcLostEmpathyIn{to{opacity:1;transform:none}}

  /* 09: move the cards themselves down so their top borders cannot be clipped. */
  .omc-scene--roadmap .omc-roadmap{position:relative;top:26px}

  /* 12: keep the centered lower trio, easing only the overlap between photos. */
  .omc-final-photo--3{left:15%;right:auto;bottom:8%;z-index:1}
  .omc-final-photo--6{left:39%;right:auto;bottom:6%;z-index:3}
  .omc-final-photo--4{left:auto;right:14%;bottom:8%;z-index:2}
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost__empathy{opacity:1;transform:none;animation:none}
}

/* v1.5.58 final cascade guard — supplied Scene 03 speech-bubble artwork. */
@media(min-width:768px) and (max-width:1023px){
  .omc-lost__empathy{
    width:min(100%,854px);max-width:none;aspect-ratio:854/217;
    margin-top:clamp(105px,14svh,150px);margin-inline:auto;padding:0 7% 2.4%;
    display:grid;place-items:center;position:relative;
    border:0;border-radius:0;background-color:transparent;
    background-image:url("../images/e1587_0.png");background-repeat:no-repeat;
    background-position:center;background-size:contain;box-shadow:none;color:#090909;
    transform:translateY(34px) scale(.72) rotate(-2deg)
  }
  .omc-lost__empathy:after{display:none;content:none}
  .omc-lost__empathy>span{display:inline-block;white-space:nowrap;transform-origin:50% 65%}
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost__empathy{opacity:1;transform:none;animation:none}
  .omc-scene--lost .omc-lost__empathy>span{animation:none}
}

/* v1.5.56 — Tablet empathy copy keeps trembling after its strong landing. */
@media(min-width:768px) and (max-width:1023px){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyBubbleIn .58s cubic-bezier(.18,1.45,.35,1) 1.45s forwards,
      omcLostEmpathyTremble .22s steps(2,end) 2.2s infinite
  }
  @keyframes omcLostEmpathyTremble{
    0%,100%{transform:translate3d(0,0,0) rotate(0)}
    25%{transform:translate3d(-2px,1px,0) rotate(-.45deg)}
    50%{transform:translate3d(2px,-1px,0) rotate(.4deg)}
    75%{transform:translate3d(-1px,-1px,0) rotate(-.25deg)}
  }
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{animation:none}
}

/* v1.5.57 — Separate landing and trembling so both remain visibly reliable. */
@media(min-width:768px) and (max-width:1023px){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyBubbleIn .58s cubic-bezier(.18,1.45,.35,1) 1.45s forwards
  }
  .omc-lost__empathy>span{display:inline-block;transform-origin:50% 65%}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy>span{
    animation:omcLostEmpathyTextTremble .34s steps(2,end) 2.15s infinite
  }
  @keyframes omcLostEmpathyTextTremble{
    0%,100%{transform:translate3d(0,0,0) rotate(0)}
    20%{transform:translate3d(-4px,2px,0) rotate(-1deg)}
    40%{transform:translate3d(4px,-2px,0) rotate(.9deg)}
    60%{transform:translate3d(-3px,-1px,0) rotate(-.7deg)}
    80%{transform:translate3d(3px,2px,0) rotate(.65deg)}
  }
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy>span{animation:none}
}

/* v1.5.58 — Use the supplied custom speech-bubble artwork in Scene 03. */
@media(min-width:768px) and (max-width:1023px){
  .omc-lost__empathy{
    width:min(100%,854px);max-width:none;aspect-ratio:854/217;margin-inline:auto;padding:0 7% 2.4%;
    display:grid;place-items:center;border:0;border-radius:0;background-color:transparent;
    background-image:url("../images/e1587_0.png");background-repeat:no-repeat;background-position:center;
    background-size:contain;box-shadow:none;color:#090909
  }
  .omc-lost__empathy:after{display:none}
  .omc-lost__empathy>span{white-space:nowrap}
}

/* v1.5.54 — Tablet empathy spacing and Scene 09 viewport fit correction. */
@media(min-width:768px) and (max-width:1023px){
  /* 03: leave a stronger pause after the third card before the empathy statement. */
  .omc-lost__empathy{margin-top:clamp(105px,14svh,150px)}

  /* 09: undo the mistaken downward offset and tighten the gap above the cards. */
  .omc-scene--roadmap .omc-roadmap{position:relative;top:0;margin-top:30px}
}

/* v1.5.55 — Tablet empathy speech bubble and complete roadmap borders. */
@media(min-width:768px) and (max-width:1023px){
  /* 03: a strong, friendly speech bubble that lands after the three cards. */
  .omc-lost__empathy{
    position:relative;padding:24px 34px 26px;border:4px solid #090909;border-radius:30px;
    background:var(--omc-lime);color:#090909;box-shadow:9px 10px 0 rgba(242,59,215,.9),0 20px 36px rgba(0,0,0,.42);
    transform:translateY(34px) scale(.72) rotate(-2deg)
  }
  .omc-lost__empathy:after{
    position:absolute;left:22%;bottom:-25px;width:38px;height:38px;border-right:4px solid #090909;
    border-bottom:4px solid #090909;background:var(--omc-lime);content:"";transform:rotate(45deg)
  }
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyBubbleIn .58s cubic-bezier(.18,1.45,.35,1) 1.45s forwards
  }
  @keyframes omcLostEmpathyBubbleIn{
    0%{opacity:0;transform:translateY(34px) scale(.72) rotate(-2deg)}
    72%{opacity:1;transform:translateY(-5px) scale(1.06) rotate(-2deg)}
    100%{opacity:1;transform:none}
  }

  /* 09: the horizontal scroll container was clipping animated card borders. */
  .omc-scene--roadmap .omc-roadmap{
    overflow:visible;padding:6px 8px 18px;margin-right:-8px;margin-left:-8px;gap:12px
  }
  .omc-scene--roadmap .omc-roadmap li{
    flex:0 1 calc(25% - 9px);min-width:0
  }
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost__empathy{opacity:1;transform:none;animation:none}
}

/* v1.5.58 cascade-final — supplied Scene 03 speech-bubble artwork. */
@media(min-width:768px) and (max-width:1023px){
  .omc-lost__empathy{
    width:min(100%,854px);max-width:none;aspect-ratio:854/217;
    margin-top:clamp(105px,14svh,150px);margin-inline:auto;padding:0 7% 2.4%;
    display:grid;place-items:center;position:relative;
    border:0;border-radius:0;background-color:transparent;
    background-image:url("../images/e1587_0.png");background-repeat:no-repeat;
    background-position:center;background-size:contain;box-shadow:none;color:#090909;
    transform:translateY(34px) scale(.72) rotate(-2deg)
  }
  .omc-lost__empathy:after{display:none;content:none}
  .omc-lost__empathy>span{display:inline-block;white-space:nowrap;transform-origin:50% 65%}
}

/* v1.5.59 — Tremble the complete supplied bubble, not only its text. */
@media(min-width:768px) and (max-width:1023px){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyBubbleIn .58s cubic-bezier(.18,1.45,.35,1) 1.45s forwards,
      omcLostEmpathyFrameTremble .34s steps(2,end) 2.15s infinite
  }
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy>span{animation:none}
  @keyframes omcLostEmpathyFrameTremble{
    0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}
    20%{opacity:1;transform:translate3d(-4px,2px,0) rotate(-1deg)}
    40%{opacity:1;transform:translate3d(4px,-2px,0) rotate(.9deg)}
    60%{opacity:1;transform:translate3d(-3px,-1px,0) rotate(-.7deg)}
    80%{opacity:1;transform:translate3d(3px,2px,0) rotate(.65deg)}
  }
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{opacity:1;transform:none;animation:none}
}

/* v1.5.64 true cascade-final — remove the mobile Scene 02 copy plate. */
@media(max-width:767px){
  .omc-scene--many .omc-many__lead{
    position:relative;z-index:24;width:auto!important;max-width:calc(100vw - 36px)!important;
    margin-left:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:none!important;background-color:transparent!important;background-image:none!important;
    box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    text-shadow:0 2px 1px rgba(0,0,0,1),0 5px 9px rgba(0,0,0,.98),0 12px 26px rgba(0,0,0,.88)!important
  }
  .omc-scene--many .omc-many__lead::before,
  .omc-scene--many .omc-many__lead::after{display:none!important;content:none!important}
  .omc-scene--lost .omc-conversation{margin-top:50svh}
  .omc-lost__empathy{margin-top:clamp(48px,7svh,72px)}
  .omc-safety-ui-gallery .omc-safety-ui{flex-basis:72vw;width:72vw;max-width:305px}
}

/* v1.5.68 cascade-final — Desktop composition repair after visual QA. */
@media(min-width:1024px){
  .omc-scene--lost{min-height:184svh}
  .omc-scene--lost .omc-conversation{display:block;width:min(76vw,1080px);margin:90svh auto 0}
  .omc-scene--lost .omc-conversation p,
  .omc-scene--lost .omc-conversation p:nth-child(n){width:auto;min-height:112px;padding:24px 40px;font-size:clamp(1.35rem,1.8vw,2rem)}
  .omc-scene--lost .omc-conversation p:nth-child(1){width:48%;margin:0 0 0 3%;transform:rotate(-2deg)}
  .omc-scene--lost .omc-conversation p:nth-child(2){width:43%;margin:54px 2% 0 auto;transform:rotate(3deg)}
  .omc-scene--lost .omc-conversation p:nth-child(3){width:57%;margin:54px 0 0 22%;transform:rotate(-1deg)}
  .omc-scene--lost .omc-lost__empathy{
    width:min(720px,52vw);margin:clamp(110px,13svh,170px) auto 0;
    opacity:0;transform:translateY(38px) scale(.78) rotate(-3.45deg)
  }
  .omc-scene--lost .omc-lost__empathy>span{transform:none}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyPcIn .62s cubic-bezier(.18,1.38,.35,1) 2.65s forwards,
      omcLostEmpathyPcTremble .54s steps(2,end) 3.45s infinite
  }
  @keyframes omcLostEmpathyPcIn{
    0%{opacity:0;transform:translateY(38px) scale(.78) rotate(-3.45deg)}
    76%{opacity:1;transform:translateY(-4px) scale(1.02) rotate(-3.45deg)}
    100%{opacity:1;transform:translateY(0) scale(1) rotate(-3.45deg)}
  }
  @keyframes omcLostEmpathyPcTremble{
    0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(-3.45deg)}
    33%{opacity:1;transform:translate3d(-1.5px,1px,0) rotate(-3.62deg)}
    66%{opacity:1;transform:translate3d(1.5px,-1px,0) rotate(-3.28deg)}
  }

  .omc-roadmap-photo--1{left:auto;right:24%;top:12%}

  .omc-final__message{position:relative;z-index:50;width:min(900px,58vw);margin-inline:auto;text-align:center;overflow:visible}
  .omc-final h2{
    display:flex!important;flex-direction:column;align-items:center;justify-content:center;
    width:100%;margin-inline:auto;font-size:clamp(4.5rem,5.6vw,7rem);line-height:.91;
    text-align:center;white-space:normal;overflow:visible
  }
  .omc-final h2>.omc-copy-line{
    display:block!important;width:max-content!important;max-width:100%;margin-inline:auto!important;
    text-align:center!important;white-space:nowrap
  }
  .omc-final-photo{z-index:2!important;opacity:1!important;width:clamp(205px,13.5vw,285px);max-width:285px}
  .omc-final-photo--1{left:2%;right:auto;top:4%}
  .omc-final-photo--5{left:40%;right:auto;top:-8%}
  .omc-final-photo--2{left:auto;right:2%;top:5%}
  .omc-final-photo--7{left:-3%;right:auto;top:36%}
  .omc-final-photo--8{left:auto;right:-3%;top:37%}
  .omc-final-photo--3{left:3%;right:auto;bottom:2%}
  .omc-final-photo--9{left:21%;right:auto;bottom:-2%}
  .omc-final-photo--6{left:43%;right:auto;bottom:-4%}
  .omc-final-photo--10{left:auto;right:20%;bottom:-2%}
  .omc-final-photo--4{left:auto;right:3%;bottom:2%}
}
@media(min-width:1024px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{opacity:1;transform:rotate(-3.45deg);animation:none}
}

/* v1.5.67 — PC final composition corrections. */
@media(min-width:1024px){
  /* 02: keep the closing thought left of the viewport centre and restore the full glitch treatment. */
  .omc-scene--many .omc-many__final{
    width:max-content;max-width:7ch;margin-right:auto;margin-left:31%;
    color:#fff;font-style:italic;text-align:left;z-index:24
  }
  .omc-scene--many .omc-many__final-line{
    position:relative;display:block;isolation:isolate;transform:skewX(-6deg);
    text-shadow:0 8px 20px rgba(0,0,0,.52)
  }
  .omc-scene--many .omc-many__final-line::before,
  .omc-scene--many .omc-many__final-line::after{
    position:absolute;z-index:-1;inset:0;width:100%;content:attr(data-glitch-text);pointer-events:none
  }
  .omc-scene--many .omc-many__final-line::before{
    color:#00f0f4;-webkit-text-fill-color:#00f0f4;transform:translateX(8px);clip-path:inset(0 0 47% 0)
  }
  .omc-scene--many .omc-many__final-line::after{
    color:#ff149d;-webkit-text-fill-color:#ff149d;transform:translateX(-8px);clip-path:inset(47% 0 0 0)
  }

  /* 03: reserve a clear lower act for the three cards and the empathy beat. */
  .omc-scene--lost{min-height:178svh}
  .omc-scene--lost .omc-conversation{
    width:min(78vw,1120px);margin:88svh auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:center;gap:clamp(28px,5vw,76px)
  }
  .omc-scene--lost .omc-conversation p,
  .omc-scene--lost .omc-conversation p:nth-child(n){
    width:auto;max-width:none;margin:0;padding:20px 26px;text-align:center
  }
  .omc-scene--lost .omc-conversation p:nth-child(2){transform:translateY(42px) rotate(3deg)}
  .omc-scene--lost .omc-conversation p:nth-child(3){transform:translateY(8px) rotate(-1deg)}
  .omc-scene--lost .omc-lost__empathy{
    width:min(720px,52vw);max-width:none;aspect-ratio:854/217;margin:clamp(82px,10svh,140px) auto 0;padding:0 8% 2.5%;
    display:grid;place-items:center;position:relative;border:0;border-radius:0;
    background:transparent url("../images/e1587_0.png") center/contain no-repeat;box-shadow:none;
    color:#090909;font-size:clamp(1.35rem,2.1vw,2rem);font-weight:900;line-height:1.08;letter-spacing:-.035em;
    text-align:center;opacity:1;transform:rotate(-1deg)
  }
  .omc-scene--lost .omc-lost__empathy::after{display:none;content:none}
  .omc-scene--lost .omc-lost__empathy>span{white-space:nowrap;transform:rotate(-3.45deg)}

  /* MEMORY AWARD: the album capture is the visual centre, independent of the copy grid. */
  .omc-memory-award{grid-template-columns:1fr;justify-items:center;text-align:center}
  .omc-memory-award__copy{width:100%}
  .omc-memory-award__photo{width:min(30vw,360px);margin:30px auto 10px;justify-self:center;transform:rotate(1.6deg)}
  .omc-memory-award__copy>p:last-child{margin-inline:auto}
  .omc-memory-award__flow{justify-content:center;margin-top:24px}

  /* 09: keep both documentary photographs on the right-hand side. */
  .omc-roadmap-photo--2{left:auto;right:5%;top:39%;transform:rotate(-6deg)}

  /* 11: give the sponsor capsule a visible floating shadow beneath the whole oval. */
  .omc-sponsor{box-shadow:0 34px 38px -18px rgba(70,24,19,.52),0 16px 0 -10px rgba(53,19,17,.22)}

  /* 12: enforce the approved three-line lock-up and a clear central reading corridor. */
  .omc-final__message{position:relative;z-index:24;width:min(760px,46vw);margin-inline:auto;text-align:center}
  .omc-final h2{display:block;text-align:center;white-space:normal}
  .omc-final h2>.omc-copy-line{
    display:block!important;width:max-content!important;max-width:100%;margin-inline:auto!important;text-align:center!important
  }
  .omc-final-photo{opacity:1;width:clamp(230px,16vw,330px);max-width:330px}
  .omc-final-photo--1{left:1%;right:auto;top:5%}
  .omc-final-photo--5{left:22%;right:auto;top:1%}
  .omc-final-photo--2{left:auto;right:1%;top:6%}
  .omc-final-photo--7{left:-2%;right:auto;top:37%}
  .omc-final-photo--8{left:auto;right:-2%;top:39%}
  .omc-final-photo--3{left:3%;right:auto;bottom:3%}
  .omc-final-photo--9{left:22%;right:auto;bottom:-1%}
  .omc-final-photo--6{left:42%;right:auto;bottom:-3%}
  .omc-final-photo--10{left:auto;right:22%;bottom:-1%}
  .omc-final-photo--4{left:auto;right:3%;bottom:3%}
}

/* v1.5.65 — Mobile Scene 02 closing beat and scene-directed sticky CTA. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{top:11svh}
  .omc-sticky{will-change:transform,opacity}
}

/* v1.5.64 cascade-final — definitively remove the mobile Scene 02 copy plate. */
@media(max-width:767px){
  .omc-scene--many .omc-many__lead{
    width:auto!important;max-width:calc(100vw - 36px)!important;
    margin-left:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:none!important;background-color:transparent!important;background-image:none!important;
    box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    text-shadow:0 2px 1px rgba(0,0,0,1),0 5px 9px rgba(0,0,0,.98),0 12px 26px rgba(0,0,0,.88)!important
  }
  .omc-scene--many .omc-many__lead::before,
  .omc-scene--many .omc-many__lead::after{display:none!important;content:none!important}
}

/* v1.5.63 cascade-final — Mobile Scene 02/03 and MEMORY AWARD refinement. */
@media(max-width:767px){
  /* 02: use a strong shadow instead of a background plate. */
  .omc-scene--many .omc-many__lead{
    width:auto;max-width:calc(100vw - 36px);margin-left:0;padding:0;border-radius:0;
    background:none;box-shadow:none;
    text-shadow:0 2px 1px rgba(0,0,0,1),0 5px 9px rgba(0,0,0,.98),0 12px 26px rgba(0,0,0,.88)
  }
  .omc-scene--many .omc-many__final{
    width:max-content;max-width:92vw;margin-right:auto;margin-left:0;text-align:left
  }

  /* 03: lift both the three-card beat and its concluding speech bubble. */
  .omc-scene--lost .omc-conversation{margin-top:32svh}
  .omc-lost__empathy{margin-top:clamp(26px,4svh,44px)}

  /* MEMORY AWARD: add a little more handmade tilt to the frame and album screen. */
  .omc-memory-award{transform:rotate(-2.2deg)}
  .omc-memory-award__photo{transform:rotate(4.3deg)}
}

/* v1.5.62 — Mobile copy protection, earlier Scene 03 beat, and lighter Scene 08 cards. */
@media(max-width:767px){
  /* 02: retain the collage while giving the explanatory copy a dependable dark reading surface. */
  .omc-scene--many .omc-many__lead{
    position:relative;z-index:24;width:fit-content;max-width:calc(100vw - 30px);
    margin-left:0;padding:0;border-radius:0;
    background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    text-shadow:0 2px 1px rgba(0,0,0,1),0 5px 9px rgba(0,0,0,.98),0 12px 26px rgba(0,0,0,.88)
  }

  /* 03: bring the complete emotional sequence upward as one unit. */
  .omc-scene--lost .omc-conversation{margin-top:50svh}
  .omc-lost__empathy{margin-top:clamp(48px,7svh,72px)}

  /* 08: preserve swipe/peek affordance while reducing each of the four screens. */
  .omc-safety-ui-gallery .omc-safety-ui{
    flex-basis:72vw;width:72vw;max-width:305px
  }
}

/* v1.5.61 — Mobile empathy bubble, non-obscuring sticky CTA, and Scene 08 swipe cue. */
.omc-safety-swipe{display:none}
@media(max-width:767px){
  /* 03: carry the tablet's empathy beat into mobile after the three cards settle. */
  .omc-lost__empathy{
    width:min(94vw,430px);max-width:none;aspect-ratio:854/217;
    margin:clamp(78px,11svh,112px) auto 0;padding:0 8% 2.5%;
    display:grid;place-items:center;position:relative;
    border:0;border-radius:0;background:transparent url("../images/e1587_0.png") center/contain no-repeat;
    box-shadow:none;color:#090909;font-size:clamp(1rem,4.7vw,1.35rem);font-weight:900;
    line-height:1.08;letter-spacing:-.035em;text-align:center;opacity:0;
    transform:translateY(28px) scale(.76) rotate(-2deg)
  }
  .omc-lost__empathy:after{display:none;content:none}
  .omc-lost__empathy>span{display:inline-block;white-space:nowrap;transform:rotate(-3.45deg)}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyMobileIn .56s cubic-bezier(.18,1.38,.35,1) 1.45s forwards,
      omcLostEmpathyMobileTremble .48s steps(2,end) 2.15s infinite
  }
  @keyframes omcLostEmpathyMobileIn{
    0%{opacity:0;transform:translateY(28px) scale(.76) rotate(-2deg)}
    74%{opacity:1;transform:translateY(-3px) scale(1.025) rotate(0)}
    100%{opacity:1;transform:none}
  }
  @keyframes omcLostEmpathyMobileTremble{
    0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}
    33%{opacity:1;transform:translate3d(-1px,1px,0) rotate(-.18deg)}
    66%{opacity:1;transform:translate3d(1px,-1px,0) rotate(.16deg)}
  }

  /* Keep the fixed conversion action, but slide it away whenever it would cover readable content. */
  .omc-sticky{transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .18s ease}
  .omc-sticky.is-retreating{opacity:0;transform:translateY(calc(100% + 28px));pointer-events:none}

  /* 08: make the existing horizontal gallery discoverable without changing its presentation. */
  .omc-safety-swipe{
    display:flex;width:max-content;max-width:100%;margin:30px auto -20px;gap:10px;align-items:center;
    color:#102c31;font-size:.84rem;font-weight:900;letter-spacing:.04em
  }
  .omc-safety-swipe span{display:inline-block;animation:omcSafetySwipeHint 1.35s ease-in-out infinite alternate}
  .omc-safety-swipe span:last-child{animation-direction:alternate-reverse}
  @keyframes omcSafetySwipeHint{to{transform:translateX(5px)}}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost__empathy{opacity:1;transform:none;animation:none}
  .omc-safety-swipe span{animation:none}
  .omc-sticky{transition:none}
}

/* v1.5.60 — Match the copy angle to the supplied frame and soften its tremble. */
@media(min-width:768px) and (max-width:1023px){
  .omc-lost__empathy>span{transform:rotate(-3.45deg)}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyBubbleIn .58s cubic-bezier(.18,1.45,.35,1) 1.45s forwards,
      omcLostEmpathyFrameTrembleSoft .42s steps(2,end) 2.15s infinite
  }
  @keyframes omcLostEmpathyFrameTrembleSoft{
    0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}
    25%{opacity:1;transform:translate3d(-2px,1px,0) rotate(-.3deg)}
    50%{opacity:1;transform:translate3d(2px,-1px,0) rotate(.28deg)}
    75%{opacity:1;transform:translate3d(-1px,0,0) rotate(-.18deg)}
  }
}
@media(min-width:768px) and (max-width:1023px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{opacity:1;transform:none;animation:none}
}

/* v1.5.62 cascade-final — Mobile review corrections. */
@media(max-width:767px){
  .omc-scene--many .omc-many__lead{
    position:relative;z-index:24;width:fit-content;max-width:calc(100vw - 30px);
    margin-left:0;padding:0;border-radius:0;
    background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    text-shadow:0 2px 1px rgba(0,0,0,1),0 5px 9px rgba(0,0,0,.98),0 12px 26px rgba(0,0,0,.88)
  }
  .omc-scene--lost .omc-conversation{margin-top:50svh}
  .omc-lost__empathy{margin-top:clamp(48px,7svh,72px)}
  .omc-safety-ui-gallery .omc-safety-ui{flex-basis:72vw;width:72vw;max-width:305px}
}

/* v1.5.68 definitive desktop overrides — must remain last in this file. */
@media(min-width:1024px){
  .omc-scene--lost{min-height:184svh}
  .omc-scene--lost .omc-conversation{display:block;width:min(76vw,1080px);margin:90svh auto 0}
  .omc-scene--lost .omc-conversation p,.omc-scene--lost .omc-conversation p:nth-child(n){width:auto;min-height:112px;padding:24px 40px;font-size:clamp(1.35rem,1.8vw,2rem)}
  .omc-scene--lost .omc-conversation p:nth-child(1){width:48%;margin:0 0 0 3%;transform:rotate(-2deg)}
  .omc-scene--lost .omc-conversation p:nth-child(2){width:43%;margin:54px 2% 0 auto;transform:rotate(3deg)}
  .omc-scene--lost .omc-conversation p:nth-child(3){width:57%;margin:54px 0 0 22%;transform:rotate(-1deg)}
  .omc-scene--lost .omc-lost__empathy{width:min(720px,52vw);margin:clamp(110px,13svh,170px) auto 0;opacity:0;transform:translateY(38px) scale(.78) rotate(-3.45deg)}
  .omc-scene--lost .omc-lost__empathy>span{transform:none}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{animation:omcLostEmpathyPcIn .62s cubic-bezier(.18,1.38,.35,1) 2.65s forwards,omcLostEmpathyPcTremble .54s steps(2,end) 3.45s infinite}
  .omc-roadmap-photo--1{left:auto;right:24%;top:12%}
  .omc-final__message{position:relative;z-index:50;width:min(900px,58vw);margin-inline:auto;text-align:center;overflow:visible}
  .omc-final h2{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;margin-inline:auto;font-size:clamp(4.5rem,5.6vw,7rem);line-height:.91;text-align:center;white-space:normal;overflow:visible}
  .omc-final h2>.omc-copy-line{display:block!important;width:max-content!important;max-width:100%;margin-inline:auto!important;text-align:center!important;white-space:nowrap}
  .omc-final-photo{z-index:2!important;opacity:1!important;width:clamp(205px,13.5vw,285px);max-width:285px}
  .omc-final-photo--1{left:2%;right:auto;top:4%}.omc-final-photo--5{left:40%;right:auto;top:-8%}.omc-final-photo--2{left:auto;right:2%;top:5%}
  .omc-final-photo--7{left:-3%;right:auto;top:36%}.omc-final-photo--8{left:auto;right:-3%;top:37%}
  .omc-final-photo--3{left:3%;right:auto;bottom:2%}.omc-final-photo--9{left:21%;right:auto;bottom:-2%}.omc-final-photo--6{left:43%;right:auto;bottom:-4%}.omc-final-photo--10{left:auto;right:20%;bottom:-2%}.omc-final-photo--4{left:auto;right:3%;bottom:2%}
}
@media(min-width:1024px) and (prefers-reduced-motion:reduce){.omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{opacity:1;transform:rotate(-3.45deg);animation:none}}

/* v1.5.69 definitive PC polish — card typography, roadmap photos, sponsor lift, final collage. */
@media(min-width:1024px){
  /* 03: let the copy carry the larger card frames, then land the empathy beat on the right. */
  .omc-scene--lost .omc-conversation p,
  .omc-scene--lost .omc-conversation p:nth-child(n){
    min-height:118px;padding:27px 42px;font-size:clamp(1.7rem,2.15vw,2.4rem);line-height:1.08
  }
  .omc-scene--lost .omc-conversation p:nth-child(3){font-size:clamp(1.5rem,1.9vw,2.1rem)}
  .omc-scene--lost .omc-lost__empathy{
    margin:clamp(110px,13svh,170px) 7vw 0 auto
  }

  /* 09: keep both documentary photos on the right and tighten their vertical relationship. */
  .omc-roadmap-photo--1{left:auto;right:13%;top:5%}
  .omc-roadmap-photo--2{left:auto;right:5%;top:30%}

  /* 11: a straight-down cast shadow makes the orange capsule read as floating above a floor. */
  .omc-sponsor{
    box-shadow:0 30px 8px -22px rgba(54,18,14,.34),0 52px 38px -22px rgba(54,18,14,.48),0 78px 70px -40px rgba(54,18,14,.3)
  }

  /* 12: smartphone-like density — photos gather around, but stay behind, the copy. */
  .omc-final-photo{width:clamp(220px,14.5vw,300px);max-width:300px}
  .omc-final-photo--1{left:11%;right:auto;top:7%}
  .omc-final-photo--5{left:41%;right:auto;top:0}
  .omc-final-photo--2{left:auto;right:11%;top:7%}
  .omc-final-photo--7{left:7%;right:auto;top:35%}
  .omc-final-photo--8{left:auto;right:7%;top:36%}
  .omc-final-photo--3{left:8%;right:auto;bottom:6%}
  .omc-final-photo--9{left:25%;right:auto;bottom:0}
  .omc-final-photo--6{left:42%;right:auto;bottom:-2%}
  .omc-final-photo--10{left:auto;right:24%;bottom:0}
  .omc-final-photo--4{left:auto;right:8%;bottom:6%}
}

/* v1.5.70 — Lock the approved PC compositions without touching mobile/tablet. */
@media(min-width:1024px){
  /* 03: balance the three cards, then keep frame and copy on one shared angle. */
  .omc-scene--lost .omc-conversation{width:min(74vw,1060px)}
  .omc-scene--lost .omc-conversation p,
  .omc-scene--lost .omc-conversation p:nth-child(n){
    display:flex;align-items:center;justify-content:center;
    min-height:clamp(88px,5.4vw,104px);padding:18px clamp(20px,2vw,32px);
    font-size:clamp(1.25rem,1.45vw,1.62rem);line-height:1.12;text-align:center;white-space:nowrap
  }
  .omc-scene--lost .omc-conversation p:nth-child(3){font-size:clamp(1.15rem,1.32vw,1.5rem)}
  .omc-scene--lost .omc-lost__empathy{
    margin:clamp(110px,13svh,170px) 7vw 0 auto;
    transform:translateY(38px) scale(.78) rotate(-3.45deg)
  }
  .omc-scene--lost .omc-lost__empathy>span{transform:none!important}
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyPcIn70 .62s cubic-bezier(.18,1.38,.35,1) 2.65s forwards,
      omcLostEmpathyPcTremble70 .62s steps(2,end) 3.45s infinite
  }

  /* 04: retain the authored three lines; never create an extra line on PC. */
  .omc-magic .omc-magic__content h2{
    width:max-content!important;max-width:none!important;white-space:nowrap!important
  }

  /* 09: bring the lower photograph upward until the pair just overlaps. */
  .omc-roadmap-photo--1{left:auto;right:12%;top:5%}
  .omc-roadmap-photo--2{left:auto;right:9%;top:18%}

  /* 11: a broad ground shadow, matching the floating mobile capsule. */
  .omc-sponsor{
    position:relative;z-index:1;margin-bottom:64px;
    box-shadow:0 20px 24px -18px rgba(75,22,10,.44),0 30px 42px -28px rgba(75,22,10,.32)
  }
  .omc-sponsor::after{
    position:absolute;z-index:-1;left:13%;right:13%;bottom:-34px;height:30px;
    content:"";border-radius:50%;background:rgba(53,18,12,.32);
    filter:blur(13px);transform:scaleX(.94);pointer-events:none
  }

  /* 12: equal-size photographs gather around, but never cover, the message. */
  .omc-final-photo{width:clamp(260px,17vw,390px);max-width:390px;opacity:1}
  .omc-final-photo--1{left:10%;right:auto;top:5%}
  .omc-final-photo--5{left:40%;right:auto;top:0}
  .omc-final-photo--2{left:auto;right:10%;top:5%}
  .omc-final-photo--7{left:5%;right:auto;top:32%}
  .omc-final-photo--8{left:auto;right:5%;top:33%}
  .omc-final-photo--3{left:12%;right:auto;bottom:3%;z-index:1}
  .omc-final-photo--9{left:25%;right:auto;bottom:0;z-index:3}
  .omc-final-photo--6{left:39%;right:auto;bottom:-2%;z-index:2}
  .omc-final-photo--10{left:auto;right:25%;bottom:0;z-index:3}
  .omc-final-photo--4{left:auto;right:12%;bottom:3%;z-index:1}
  .omc-final__message{position:relative;z-index:20}
  .omc-final h2>.omc-copy-line{display:block;width:max-content;max-width:100%;margin-inline:auto;text-align:center}
}

@keyframes omcLostEmpathyPcIn70{
  0%{opacity:0;transform:translateY(38px) scale(.78) rotate(-3.45deg)}
  72%{opacity:1;transform:translateY(-3px) scale(1.015) rotate(-3.45deg)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(-3.45deg)}
}
@keyframes omcLostEmpathyPcTremble70{
  0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(-3.45deg)}
  33%{opacity:1;transform:translate3d(-1px,1px,0) rotate(-3.58deg)}
  66%{opacity:1;transform:translate3d(1px,-1px,0) rotate(-3.32deg)}
}
@media(min-width:1024px) and (prefers-reduced-motion:reduce){
  .omc-scene--lost .omc-lost__empathy{margin-right:7vw;margin-left:auto}
}

/* v1.5.71 — PC angle lock, opaque photography, and a tighter final gathering. */
/* Every photographic layer remains fully solid; animation may move it, never fade it. */
.omc-many-photo,.omc-lost-photo,.omc-event-card,.omc-memory-award__photo,
.omc-roadmap-photo,.omc-final-photo,
.omc-many-photo img,.omc-lost-photo img,.omc-event-card img,.omc-memory-award__photo img,
.omc-roadmap-photo img,.omc-final-photo img{opacity:1!important}

@media(min-width:1024px){
  /* 03: the lettering follows the perspective already baked into the balloon artwork. */
  .omc-scene--lost .omc-lost__empathy>span{
    transform:rotate(-3.45deg)!important;transform-origin:50% 50%
  }

  /* 09: keep the pair overlapped, but let the lower photograph settle slightly lower. */
  .omc-roadmap-photo--2{top:20%}

  /* 12: pull the whole collage clearly inward around the protected copy area. */
  .omc-final-photo--1{left:17%;right:auto;top:6%}
  .omc-final-photo--5{left:41%;right:auto;top:1%}
  .omc-final-photo--2{left:auto;right:17%;top:6%}
  .omc-final-photo--7{left:12%;right:auto;top:34%}
  .omc-final-photo--8{left:auto;right:12%;top:35%}
  .omc-final-photo--3{left:18%;right:auto;bottom:3%;z-index:1}
  .omc-final-photo--9{left:29%;right:auto;bottom:0;z-index:3}
  .omc-final-photo--6{left:41%;right:auto;bottom:-2%;z-index:2}
  .omc-final-photo--10{left:auto;right:29%;bottom:0;z-index:3}
  .omc-final-photo--4{left:auto;right:18%;bottom:3%;z-index:1}
}

/* v1.5.72 — PC conversation timing and a denser final gathering. */
@media(min-width:1024px){
  /* 03: the empathy balloon follows immediately after the third card lands. */
  .omc-scene--lost.is-lost-conversation-active .omc-lost__empathy{
    animation:omcLostEmpathyPcIn70 .62s cubic-bezier(.18,1.38,.35,1) 1.22s forwards,
      omcLostEmpathyPcTremble70 .62s steps(2,end) 1.95s infinite
  }

  /* MEMORY AWARD: add a little more playful tilt to the shared album. */
  .omc-memory-award__photo{transform:rotate(4deg)}

  /* 09: settle the lower photograph only a touch farther down. */
  .omc-roadmap-photo--2{top:21%}

  /* 12: enlarge and gather every photograph around the protected central copy. */
  .omc-final-photo{width:clamp(285px,18.5vw,420px);max-width:420px}
  .omc-final-photo--1{left:23%;right:auto;top:4%}
  .omc-final-photo--5{left:40.5%;right:auto;top:-6%}
  .omc-final-photo--2{left:auto;right:23%;top:4%}
  .omc-final-photo--7{left:18%;right:auto;top:31%}
  .omc-final-photo--8{left:auto;right:18%;top:32%}
  .omc-final-photo--3{left:23%;right:auto;bottom:4%;z-index:1}
  .omc-final-photo--9{left:32.5%;right:auto;bottom:1%;z-index:3}
  .omc-final-photo--6{left:42%;right:auto;bottom:-2%;z-index:2}
  .omc-final-photo--10{left:auto;right:32.5%;bottom:1%;z-index:3}
  .omc-final-photo--4{left:auto;right:23%;bottom:4%;z-index:1}
}

/* v1.5.73 — Keep Scene 12 photography clear of the copy and reduce its vertical spread. */
@media(min-width:1024px){
  /* Move the parent-and-child photograph away from the first line of the message. */
  .omc-final-photo--7{left:5%;right:auto;top:35%}

  /* Pull the upper and lower rows inward so the collage occupies a tighter vertical band. */
  .omc-final-photo--1{top:10%}
  .omc-final-photo--5{top:4%}
  .omc-final-photo--2{top:10%}
  .omc-final-photo--3{bottom:10%}
  .omc-final-photo--9{bottom:7%}
  .omc-final-photo--6{bottom:5%}
  .omc-final-photo--10{bottom:7%}
  .omc-final-photo--4{bottom:10%}
}

/* v1.5.74 — PC visual-balance corrections from the staging review. */
@media(min-width:1024px){
  /* 02: retain the cyan/magenta glitch, replacing the heavy black drop shadow with a light violet glow. */
  .omc-scene--many .omc-many__final,
  .omc-scene--many .omc-many__final-line{
    text-shadow:0 2px 0 rgba(117,80,220,.42),0 8px 24px rgba(151,96,255,.34)
  }

  /* 03: give the three cards a little more horizontal separation. */
  .omc-scene--lost .omc-conversation{width:min(84vw,1180px)}
  .omc-scene--lost .omc-conversation p:nth-child(1){width:45%;margin-left:0;margin-right:auto}
  .omc-scene--lost .omc-conversation p:nth-child(2){width:41%;margin-left:auto;margin-right:0}
  .omc-scene--lost .omc-conversation p:nth-child(3){width:53%;margin-left:13%;margin-right:auto}

  /* MEMORY AWARD: centre the album frame geometrically and remove the recurrent rotational drift. */
  .omc-memory-award__copy{width:100%}
  .omc-memory-award__photo{
    left:50%;right:auto;justify-self:auto;margin:30px 0 10px;
    transform:translateX(-50%) rotate(0deg)
  }

  /* JOIN THE PARADE: the oval is viewed side-on, so its cast shadow sits only below it. */
  .omc-sponsor{box-shadow:none}
  .omc-sponsor::after{
    left:10%;right:10%;bottom:-46px;height:26px;
    background:rgba(48,15,8,.48);filter:blur(14px);transform:scaleX(.96)
  }

  /* 12: undo the inward squeeze; shrink the upper/lower photos and protect a wide copy corridor. */
  .omc-final-photo{width:clamp(235px,15.5vw,340px);max-width:340px}
  .omc-final-photo--1{left:5%;right:auto;top:3%}
  .omc-final-photo--5{left:40.5%;right:auto;top:-4%}
  .omc-final-photo--2{left:auto;right:5%;top:3%}
  .omc-final-photo--7{left:0;right:auto;top:34%}
  .omc-final-photo--8{left:auto;right:0;top:35%}
  .omc-final-photo--3{left:6%;right:auto;bottom:3%}
  .omc-final-photo--9{left:25%;right:auto;bottom:-1%}
  .omc-final-photo--6{left:41%;right:auto;bottom:-4%}
  .omc-final-photo--10{left:auto;right:25%;bottom:-1%}
  .omc-final-photo--4{left:auto;right:6%;bottom:3%}
}

/* v1.5.75 — Subtle Scene 02 depth, Memory Award copy lock, and semantic Scene 12 placement. */
@media(min-width:1024px){
  /* 02: keep just enough depth to separate the white copy without making it glow. */
  .omc-scene--many .omc-many__final,
  .omc-scene--many .omc-many__final-line{
    text-shadow:0 2px 4px rgba(52,31,92,.22),0 6px 14px rgba(115,78,181,.14)
  }

  /* MEMORY AWARD: fixed three-line, left-aligned heading inside a centred copy column. */
  .omc-memory-award__copy h3{
    width:min(100%,560px);margin-inline:auto;text-align:left
  }
  .omc-memory-award__copy h3>span{display:block;width:100%;text-align:left}

  /* 12: gather the collage, but keep event_photo_03 outside the protected copy corridor. */
  .omc-final-photo{width:clamp(270px,17.5vw,395px);max-width:395px}
  .omc-final-photo--1{left:18%;right:auto;top:4%}
  .omc-final-photo--5{left:40.5%;right:auto;top:-5%}
  .omc-final-photo--2{left:auto;right:18%;top:4%}
  .omc-final-photo--7{left:12%;right:auto;top:34%}
  .omc-final-photo--8{left:auto;right:12%;top:35%}
  .omc-final-photo--3{left:18%;right:auto;bottom:4%}
  .omc-final-photo--9{left:30%;right:auto;top:auto;bottom:0}
  .omc-final-photo--6{left:41%;right:auto;bottom:-3%}
  .omc-final-photo--10{left:auto;right:30%;bottom:0}
  .omc-final-photo--4{left:auto;right:18%;bottom:4%}
  .omc-final-photo--key-event_photo_03{
    left:3%;right:auto;top:25%;bottom:auto;z-index:4;--r:-5deg
  }
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--key-event_photo_03{
    transform:translate3d(0,0,0) rotate(-5deg) scale(1)
  }
}

/* v1.5.76 — Remove Scene 02 shadow and make the final gathering unmistakable. */
.omc-memory-award__copy h3{
  width:min(100%,560px);margin-inline:auto;text-align:left
}
.omc-memory-award__copy h3>span{
  display:block!important;width:100%;text-align:left!important
}

@media(min-width:1024px){
  /* 02: no drop shadow or glow; only the cyan/magenta channel split remains. */
  .omc-scene--many .omc-many__final,
  .omc-scene--many .omc-many__final-line{
    text-shadow:none!important
  }

  /* 12: pull the upper and lower rows decisively toward the central message. */
  .omc-final-photo{width:clamp(285px,18.5vw,420px);max-width:420px}
  .omc-final-photo--1{left:25%;right:auto;top:5%}
  .omc-final-photo--5{left:41%;right:auto;top:-5%}
  .omc-final-photo--2{left:auto;right:25%;top:5%}
  .omc-final-photo--7{left:14%;right:auto;top:34%}
  .omc-final-photo--8{left:auto;right:14%;top:35%}
  .omc-final-photo--3{left:25%;right:auto;bottom:4%}
  .omc-final-photo--9{left:34%;right:auto;top:auto;bottom:0}
  .omc-final-photo--6{left:42%;right:auto;bottom:-3%}
  .omc-final-photo--10{left:auto;right:34%;bottom:0}
  .omc-final-photo--4{left:auto;right:25%;bottom:4%}

  /* The named parent-child image stays clear of the copy while joining the left cluster. */
  .omc-final-photo--key-event_photo_03{
    left:12%;right:auto;top:25%;bottom:auto;z-index:4;--r:-5deg
  }
}

/* v1.5.77 — A tighter, balanced photographic ring around the final message. */
@media(min-width:1024px){
  .omc-final-photo--1{left:30%;right:auto;top:5%;z-index:3;--r:-5deg}
  .omc-final-photo--5{left:41%;right:auto;top:-4%;z-index:2;--r:3deg}
  .omc-final-photo--2{left:auto;right:30%;top:5%;z-index:3;--r:5deg}

  .omc-final-photo--7{left:16%;right:auto;top:36%;z-index:2;--r:4deg}
  .omc-final-photo--8{left:auto;right:17%;top:36%;z-index:3;--r:-4deg}

  .omc-final-photo--3{left:29%;right:auto;bottom:4%;z-index:2;--r:5deg}
  .omc-final-photo--9{left:35%;right:auto;top:auto;bottom:0;z-index:3;--r:-4deg}
  .omc-final-photo--6{left:42%;right:auto;bottom:-3%;z-index:2;--r:3deg}
  .omc-final-photo--10{left:auto;right:35%;bottom:0;z-index:3;--r:4deg}
  .omc-final-photo--4{left:auto;right:29%;bottom:4%;z-index:2;--r:-5deg}

  /* Parent-child photo joins the left cluster but remains outside the copy-safe corridor. */
  .omc-final-photo--key-event_photo_03{
    left:18%;right:auto;top:27%;bottom:auto;z-index:4;--r:-5deg
  }
}

/* v1.5.78 — Clock-face baseline with restrained, intentional irregularity. */
@media(min-width:1024px){
  .omc-final-photo{width:clamp(270px,17.5vw,390px);max-width:390px}

  /* 10:30, 11:30, 12 and 1 o'clock. */
  .omc-final-photo--7{left:12%;right:auto;top:18%;bottom:auto;z-index:2;--r:-5deg}
  .omc-final-photo--1{left:27%;right:auto;top:5%;bottom:auto;z-index:3;--r:4deg}
  .omc-final-photo--5{left:41%;right:auto;top:-5%;bottom:auto;z-index:2;--r:-3deg}
  .omc-final-photo--2{left:auto;right:27%;top:6%;bottom:auto;z-index:3;--r:5deg}

  /* 2:30 and 9 o'clock. */
  .omc-final-photo--8{left:auto;right:12%;top:24%;bottom:auto;z-index:3;--r:-4deg}
  .omc-final-photo--key-event_photo_03{
    left:10%;right:auto;top:42%;bottom:auto;z-index:4;--r:-5deg
  }

  /* 4 through 8 o'clock. */
  .omc-final-photo--4{left:auto;right:13%;top:auto;bottom:22%;z-index:2;--r:5deg}
  .omc-final-photo--10{left:auto;right:28%;top:auto;bottom:3%;z-index:3;--r:-4deg}
  .omc-final-photo--6{left:42%;right:auto;top:auto;bottom:-4%;z-index:2;--r:3deg}
  .omc-final-photo--3{left:28%;right:auto;top:auto;bottom:3%;z-index:3;--r:-5deg}

  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo--key-event_photo_03{
    transform:translate3d(0,0,0) rotate(-5deg) scale(1)
  }
}

/* v1.5.79 — Slightly increase Scene 12 photo density without changing the clock layout. */
@media(min-width:1024px){
  .omc-final-photo{width:clamp(280px,18vw,405px);max-width:405px}
}

/* v1.5.80 — Increase the final visual impact and gather the clock-face collage inward. */
@media(min-width:1024px){
  .omc-final-photo{width:clamp(315px,20.25vw,455px);max-width:455px}

  .omc-final-photo--7{left:16%;right:auto}
  .omc-final-photo--1{left:30%;right:auto}
  .omc-final-photo--2{left:auto;right:30%}
  .omc-final-photo--8{left:auto;right:16%}
  .omc-final-photo--key-event_photo_03{left:14%;right:auto}

  .omc-final-photo--4{left:auto;right:17%}
  .omc-final-photo--10{left:auto;right:31%}
  .omc-final-photo--3{left:31%;right:auto}
}

/* v1.5.81 — Match Scene 12's photo rhythm to the three sizes used in Scene 06. */
@media(min-width:1024px){
  .omc-final-photo{width:clamp(250px,25vw,350px);max-width:350px}
  .omc-final-photo--2,.omc-final-photo--5,.omc-final-photo--8{
    width:clamp(225px,22vw,310px);max-width:310px
  }
  .omc-final-photo--3,.omc-final-photo--6,.omc-final-photo--9{
    width:clamp(260px,24vw,340px);max-width:340px
  }
}

/* v1.5.82 — Match Scene 06's apparent size after comparing both staging captures. */
@media(min-width:1024px){
  .omc-final-photo{transform:rotate(var(--r,3deg)) scale(1.62)}
  body.has-final-motion .omc-final.is-final-gathered .omc-final-photo{
    transform:translate3d(0,0,0) rotate(var(--r,3deg)) scale(1.62)!important
  }
}

/* v1.5.84 — Open a clearer corridor around the final copy without changing photo size. */
@media(min-width:1024px){
  .omc-final-photo--7{left:8%;right:auto;top:12%}
  .omc-final-photo--1{left:24%;right:auto;top:-2%}
  .omc-final-photo--5{left:40%;right:auto;top:-12%}
  .omc-final-photo--2{left:auto;right:24%;top:-1%}

  .omc-final-photo--8{left:auto;right:8%;top:18%}
  .omc-final-photo--key-event_photo_03{left:6%;right:auto;top:42%}

  .omc-final-photo--4{left:auto;right:9%;top:auto;bottom:16%}
  .omc-final-photo--10{left:auto;right:25%;top:auto;bottom:-4%}
  .omc-final-photo--6{left:41%;right:auto;top:auto;bottom:-12%}
  .omc-final-photo--3{left:25%;right:auto;top:auto;bottom:-4%}
}

/* v1.5.85 — Extend Scene 12 downward and keep the lower row clear of the footer. */
@media(min-width:1024px){
  .omc-final{min-height:142svh;padding-bottom:calc(150px + 18svh)}
  .omc-final-photo--4{bottom:18%}
  .omc-final-photo--10{bottom:12%}
  .omc-final-photo--6{bottom:9%}
  .omc-final-photo--3{bottom:12%}
}

/* v1.5.86 — Lower and counter-rotate Scene 02; remove the Scene 12/footer seam. */
@media(min-width:1024px){
  .omc-scene--many .omc-many__final{
    top:3svh;rotate:-3deg;transform-origin:50% 50%
  }
  .omc-final,.omc-footer{
    border:0!important;border-top:0!important;border-bottom:0!important;
    outline:0!important;box-shadow:none!important
  }
  .omc-final::after,.omc-footer::before{
    display:none!important;border:0!important;content:none!important
  }
  .omc-footer{margin-top:-1px}
}

/* v1.5.87 — Lower Scene 02 once more and give JOIN THE PARADE a soft floating rhythm. */
@media(min-width:1024px){
  .omc-scene--many .omc-many__final{top:5svh}
}

.omc-sponsor{
  animation:omcSponsorSoftFloat 5.2s ease-in-out infinite;
  will-change:translate,rotate
}
@keyframes omcSponsorSoftFloat{
  0%,100%{translate:0 0;rotate:0deg}
  45%{translate:0 -10px;rotate:-.45deg}
  70%{translate:0 -5px;rotate:.25deg}
}
@media(prefers-reduced-motion:reduce){
  .omc-sponsor{animation:none;translate:none;rotate:none}
}

/* v1.5.88 — Remove Scene 02's dark halo and quicken the sponsor float. */
@media(min-width:1024px){
  .omc-scene--many .omc-many__final,
  .omc-scene--many .omc-many__final-line{
    text-shadow:none!important;filter:none!important
  }
  .omc-scene--many .omc-many__final::before{
    display:none!important;content:none!important;background:none!important;filter:none!important
  }
}
.omc-sponsor{animation-duration:3.8s}

/* v1.5.89 — Enlarge Scene 02 photography by exactly ten percent on desktop. */
@media(min-width:1024px){
  .omc-many-photo{width:clamp(159.5px,16.5vw,198px);max-width:198px}
}

/* v1.5.91 — Mobile-only bridge from the product story to CAMPFIRE support. */
.omc-supporter-avatar{display:none}
@media(max-width:767px){
  .omc-supporter-avatar{
    position:relative;display:block;overflow:hidden;overflow:clip;
    padding:96px 0 104px;background:linear-gradient(180deg,#fff7fb 0%,#f5ecff 58%,#090909 100%);
    color:#101014
  }
  .omc-supporter-avatar::before{
    position:absolute;top:-90px;right:-110px;width:290px;height:290px;border-radius:50%;
    background:radial-gradient(circle,rgba(242,59,215,.25),rgba(121,76,255,.08) 58%,transparent 72%);
    content:"";pointer-events:none
  }
  .omc-supporter-avatar .omc-scene__inner{position:relative;z-index:1}
  .omc-supporter-avatar .omc-index{color:#6b36db}
  .omc-supporter-avatar h2{font-size:clamp(2.65rem,12.5vw,4.2rem);line-height:.94}
  .omc-supporter-avatar h2 span{display:block}
  .omc-supporter-avatar h2 span:last-child{margin-top:.12em;color:#7a43e8}
  .omc-supporter-avatar__lead{margin:24px 0 0;font-weight:800;line-height:1.75}
  .omc-supporter-avatar__screen{
    position:relative;width:min(76vw,330px);margin:52px auto 42px;padding:10px 10px 0;
    border:2px solid #17131f;border-radius:32px;background:#fff;box-shadow:12px 16px 0 #e42fbe,22px 27px 0 #7a43e8;
    transform:rotate(2deg)
  }
  .omc-supporter-avatar__screen img{width:100%;border-radius:23px 23px 13px 13px}
  .omc-supporter-avatar__screen figcaption{
    margin:0 -10px;padding:13px 10px 15px;color:#fff;background:#17131f;border-radius:0 0 28px 28px;
    font-size:.72rem;font-weight:900;text-align:center
  }
  .omc-supporter-avatar__tiers{display:grid;gap:14px;margin-top:58px}
  .omc-supporter-tier{
    display:grid;grid-template-columns:78px 1fr;gap:15px;align-items:center;padding:16px;
    border:2px solid #17131f;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:5px 5px 0 #17131f;
    transform:rotate(-1deg)
  }
  .omc-supporter-tier:nth-child(even){transform:rotate(1deg)}
  .omc-supporter-tier--featured{background:#f2ffd0}
  .omc-supporter-tier p{margin:2px 0;font-size:.83rem;font-weight:700;line-height:1.45}
  .omc-supporter-tier__name{font-size:.96rem!important;font-weight:900!important}
  .omc-supporter-tier strong{color:#e12645}
  .omc-avatar-sample{position:relative;width:68px;height:68px;padding:5px;border-radius:50%;background:#ff7b00}
  .omc-avatar-sample>span{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:50%;background:#eef0f4}
  .omc-avatar-sample>span::before,.omc-avatar-sample>span::after{position:absolute;left:50%;content:"";transform:translateX(-50%);background:#b7bbc4}
  .omc-avatar-sample>span::before{top:12px;width:20px;height:20px;border-radius:50%}
  .omc-avatar-sample>span::after{bottom:-6px;width:42px;height:29px;border-radius:50% 50% 8px 8px}
  .omc-avatar-sample--single{background:linear-gradient(145deg,#ff8800,#ff541f)}
  .omc-avatar-sample--rainbow{background:conic-gradient(#ff42b5,#774cff,#28cfe7,#2bc95d,#f5d62d,#ff6947,#ff42b5)}
  .omc-avatar-sample--star{background:linear-gradient(145deg,#9d69ff,#2f6cff)}
  .omc-avatar-sample--star i{position:absolute;z-index:2;right:-7px;top:-9px;color:#ffd83d;font-size:1.65rem;font-style:normal;filter:drop-shadow(0 2px 0 #9d7810)}
  .omc-supporter-avatar__benefits{display:grid;gap:10px;margin:40px 0 0;padding:0;list-style:none}
  .omc-supporter-avatar__benefits li{position:relative;padding-left:29px;font-size:.9rem;font-weight:900;line-height:1.55}
  .omc-supporter-avatar__benefits li::before{position:absolute;left:0;top:.05em;color:#20a989;content:"✓";font-size:1.2rem}
  .omc-supporter-avatar__note{margin:24px 0 0;color:#5c5765;font-size:.73rem}
  .omc-supporter-avatar__bridge{margin:68px 0 0;color:#fff;font-size:clamp(1.65rem,8vw,2.4rem);font-weight:900;line-height:1.25;text-align:center}
}
@media(max-width:374px){
  .omc-supporter-tier{grid-template-columns:67px 1fr;padding:14px;gap:11px}
  .omc-avatar-sample{width:59px;height:59px}
  .omc-supporter-tier__name{font-size:.86rem!important}
  .omc-supporter-tier p{font-size:.76rem}
}

/* v1.5.92 — Clear Scene 03 after its flight and brighten the supporter story. */
@media(max-width:767px){
  .omc-scene--lost.is-lost-conversation-active .omc-lost-photo{
    opacity:0!important;visibility:hidden!important;pointer-events:none
  }
  .omc-supporter-avatar{
    padding-bottom:118px;
    background:linear-gradient(180deg,#fff7fb 0%,#f5ecff 78%,#ded0ff 89%,#090909 100%)
  }
  .omc-supporter-avatar__limited{margin:24px 0 0;text-align:left}
  .omc-supporter-avatar__limited span{
    display:inline-block;padding:8px 14px;border:2px solid #17131f;border-radius:999px;
    background:#eaff62;box-shadow:4px 4px 0 #17131f;font-size:.78rem;font-weight:900;letter-spacing:.05em;
    transform:rotate(-2deg)
  }
  .omc-supporter-avatar__bridge{
    position:relative;margin:92px -8px 0;padding:35px 16px 38px;border:2px solid rgba(255,255,255,.92);
    border-radius:26px;background:linear-gradient(145deg,#f23bd7 0%,#7a43e8 58%,#4930c8 100%);
    box-shadow:8px 9px 0 #eaff62,0 26px 55px rgba(38,15,81,.35);
    transform:rotate(-1.5deg)
  }
  .omc-supporter-avatar__bridge::before{
    position:absolute;top:-19px;left:50%;padding:5px 13px;border:2px solid #17131f;border-radius:999px;
    background:#fff;color:#17131f;content:"NEXT → CAMPFIRE";font-size:.64rem;font-weight:900;letter-spacing:.14em;
    transform:translateX(-50%) rotate(1.5deg);white-space:nowrap
  }
  .omc-supporter-avatar__bridge span,.omc-supporter-avatar__bridge strong{display:block}
  .omc-supporter-avatar__bridge span{
    color:#eaff62;font-size:1.08em;line-height:1.12;letter-spacing:0;
    text-shadow:3px 3px 0 #351a77
  }
  .omc-supporter-avatar__bridge strong{margin-top:.2em;color:#fff;text-shadow:3px 3px 0 #351a77;font-size:1.08em;line-height:1.12}
}

/* v1.5.94 — Give both bridge-copy lines equal visual weight with contrasting colours. */

/* v1.5.95 — Mobile Scene 02 placement and a two-stage supporter-card entrance. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{
    width:max-content;max-width:7ch;margin-right:0;margin-left:auto;text-align:right
  }
  .omc-supporter-avatar__bridge[data-supporter-bridge]{
    opacity:0;transform:translate3d(0,55svh,0) rotate(7deg) scale(.9);will-change:transform,opacity
  }
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    animation:omcSupporterBridgeLand 1.05s cubic-bezier(.18,1.18,.28,1) forwards,
      omcSupporterBridgeSway 4.2s ease-in-out 1.05s infinite
  }
  @keyframes omcSupporterBridgeLand{
    0%{opacity:0;transform:translate3d(0,55svh,0) rotate(7deg) scale(.9)}
    68%{opacity:1;transform:translate3d(0,-18px,0) rotate(-3deg) scale(1.025)}
    84%{opacity:1;transform:translate3d(0,7px,0) rotate(-.5deg) scale(.99)}
    100%{opacity:1;transform:translate3d(0,0,0) rotate(-1.5deg) scale(1)}
  }
  @keyframes omcSupporterBridgeSway{
    0%,100%{opacity:1;transform:translate3d(0,0,0) rotate(-1.5deg)}
    35%{opacity:1;transform:translate3d(-3px,-5px,0) rotate(-2.2deg)}
    68%{opacity:1;transform:translate3d(3px,-2px,0) rotate(-.7deg)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    opacity:1;transform:rotate(-1.5deg);animation:none;will-change:auto
  }
}

/* v1.5.96 cascade-final — Keep the neon copy on exactly two lines. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge{font-size:clamp(1.22rem,5.9vw,1.85rem)}
  .omc-supporter-avatar__bridge span,
  .omc-supporter-avatar__bridge strong{
    display:block;width:100%;font-size:1em;line-height:1.22;white-space:nowrap
  }
  .omc-supporter-avatar__bridge span{
    color:#efff78;
    text-shadow:0 0 3px #fff,0 0 8px rgba(234,255,98,.95),0 0 18px rgba(181,255,40,.82),3px 3px 0 #351a77
  }
  .omc-supporter-avatar__bridge strong{
    margin-top:.22em;color:#fff;
    text-shadow:0 0 3px #fff,0 0 9px rgba(255,115,224,.95),0 0 20px rgba(242,59,215,.88),3px 3px 0 #351a77
  }
}
@media(max-width:374px){
  .omc-supporter-avatar__bridge{margin-inline:-12px;padding-inline:10px;font-size:clamp(1.08rem,5.55vw,1.3rem)}
}

/* v1.5.97 cascade-final — Keep the Scene 02 copy inside the mobile right edge. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{
    right:12px;width:max-content;max-width:calc(100vw - 56px);margin-right:0;margin-left:auto;
    font-size:clamp(2.8rem,12vw,3.45rem);text-align:right
  }
}

/* v1.5.98 cascade-final — Shift Scene 02 left and soften the neon bloom. */
@media(max-width:767px){
  .omc-scene--many .omc-many__final{right:28px}
  .omc-supporter-avatar__bridge span{
    text-shadow:0 0 2px rgba(255,255,255,.8),0 0 6px rgba(234,255,98,.68),0 0 12px rgba(181,255,40,.42),3px 3px 0 #351a77
  }
  .omc-supporter-avatar__bridge strong{
    text-shadow:0 0 2px rgba(255,255,255,.82),0 0 6px rgba(255,115,224,.62),0 0 13px rgba(242,59,215,.46),3px 3px 0 #351a77
  }
}

/* v1.5.101 cascade-final — Replace the card flight with an LED-style ticker. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    opacity:1;transform:rotate(-1.5deg);animation:none;will-change:auto
  }
  .omc-supporter-avatar__ticker{
    width:100%;overflow:hidden;padding:3px 0 5px
  }
  .omc-supporter-avatar__ticker-track{
    position:relative;left:100%;width:max-content;margin:0;
    animation:none;will-change:transform
  }
  .omc-supporter-avatar__bridge.is-supporter-bridge-active .omc-supporter-avatar__ticker-track{
    animation:omcSupporterLedTicker 7.2s linear infinite
  }
  .omc-supporter-avatar__ticker-track span,
  .omc-supporter-avatar__ticker-track strong{
    display:block;width:max-content;white-space:nowrap
  }
  @keyframes omcSupporterLedTicker{
    0%{transform:translate3d(0,0,0)}
    100%{transform:translate3d(-250%,0,0)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__ticker{overflow:visible}
  .omc-supporter-avatar__ticker-track{
    left:auto;width:100%;animation:none!important;transform:none!important;will-change:auto
  }
  .omc-supporter-avatar__ticker-track span,
  .omc-supporter-avatar__ticker-track strong{width:100%;text-align:center}
}

/* v1.5.102 cascade-final — One large, blinking white-to-pink LED line. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge{padding-top:39px;padding-bottom:40px}
  .omc-supporter-avatar__ticker{padding:5px 0 7px}
  .omc-supporter-avatar__ticker-track strong{
    display:block;width:max-content;margin:0;color:#fff;font-size:clamp(2rem,9vw,3rem);line-height:1.05;
    white-space:nowrap;letter-spacing:-.035em;
    text-shadow:0 0 2px #fff,0 0 6px rgba(255,181,235,.78),0 0 14px rgba(242,59,215,.56),3px 3px 0 #351a77
  }
  .omc-supporter-avatar__bridge.is-supporter-bridge-active .omc-supporter-avatar__ticker-track{
    animation:omcSupporterLedTicker 7.2s linear infinite,omcSupporterLedBlink 1.15s steps(1,end) infinite
  }
  @keyframes omcSupporterLedBlink{
    0%,20%,24%,58%,62%,100%{opacity:1;filter:brightness(1)}
    21%,23%{opacity:.48;filter:brightness(.78)}
    59%,61%{opacity:.7;filter:brightness(.88)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__ticker-track strong{
    width:100%;font-size:clamp(.68rem,2.9vw,.9rem);letter-spacing:-.04em;text-align:center
  }
}

/* v1.5.103 cascade-final — Slow the LED ticker for easier reading. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge.is-supporter-bridge-active .omc-supporter-avatar__ticker-track{
    animation:omcSupporterLedTicker 11.5s linear infinite,omcSupporterLedBlink 1.15s steps(1,end) infinite
  }
}

/* v1.5.104 cascade-final — Seamless two-copy marquee without a blank interval. */
@media(max-width:767px){
  .omc-supporter-avatar__ticker-track{
    left:0;display:flex;width:max-content;align-items:center
  }
  .omc-supporter-avatar__ticker-track strong{
    flex:0 0 auto;padding-right:2.2em
  }
  .omc-supporter-avatar__bridge.is-supporter-bridge-active .omc-supporter-avatar__ticker-track{
    animation:omcSupporterLedTickerLoop 11.5s linear infinite,omcSupporterLedBlink 1.15s steps(1,end) infinite
  }
  @keyframes omcSupporterLedTickerLoop{
    0%{transform:translate3d(0,0,0)}
    100%{transform:translate3d(-50%,0,0)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__ticker-track{display:block;width:100%}
  .omc-supporter-avatar__ticker-track strong{padding-right:0}
  .omc-supporter-avatar__ticker-track strong[aria-hidden="true"]{display:none}
}

/* v1.5.113 cascade-final — Keep Scene 04 copy readable over every UI phase. */
@media(max-width:767px){
  .omc-magic__choice{
    width:min(100%,22rem);padding:12px 14px 13px;border:1px solid rgba(9,9,9,.72);border-radius:14px;
    background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(0,0,0,.16);color:#101317;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
  }
  .omc-magic__auto-note,.omc-magic__choice-note{
    max-width:100%;font-size:clamp(.84rem,3.55vw,.98rem);line-height:1.48;letter-spacing:0;text-shadow:none
  }
  .omc-magic__choice-flow{background:rgba(255,255,255,.76)}
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    border-color:rgba(255,255,255,.72);background:rgba(22,10,52,.9);color:#fff;box-shadow:0 12px 28px rgba(13,5,35,.36)
  }
  .omc-magic[data-magic-phase="3"] .omc-magic__content h2,
  .omc-magic[data-magic-phase="3"] .omc-magic__steps h3,
  .omc-magic[data-magic-phase="3"] .omc-magic__steps p{
    text-shadow:0 2px 0 rgba(9,9,9,.9),0 0 14px rgba(9,9,9,.66)
  }
}

/* v1.5.105 cascade-final — Gently sway the whole NEXT→CAMPFIRE card. */
@media(max-width:767px){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    transform-origin:50% 55%;
    animation:omcSupporterCardSway 4.6s ease-in-out infinite;
    will-change:transform
  }
  @keyframes omcSupporterCardSway{
    0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg)}
    30%{transform:translate3d(-2px,-4px,0) rotate(-2deg)}
    68%{transform:translate3d(3px,-1px,0) rotate(-.9deg)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    transform:rotate(-1.5deg);animation:none;will-change:auto
  }
}

/* v1.5.108 cascade-final — Keep the new Scene 10 two-line copy inside mobile screens. */
@media(max-width:767px){
  .omc-scene--campfire h2{
    width:100%;max-width:100%;font-size:clamp(3.6rem,15vw,6rem)
  }
  .omc-scene--campfire h2>.omc-copy-line:first-child{
    font-size:clamp(2rem,8.2vw,3rem);letter-spacing:-.07em;white-space:nowrap
  }
}

/* v1.5.109 cascade-final — Uniform three-line Scene 10 copy. */
@media(max-width:767px){
  .omc-scene--campfire h2{
    width:100%;max-width:100%;font-size:clamp(3rem,12.3vw,5.4rem);letter-spacing:-.05em
  }
  .omc-scene--campfire h2>.omc-copy-line,
  .omc-scene--campfire h2>.omc-copy-line:first-child{
    font-size:inherit;letter-spacing:inherit;white-space:nowrap
  }
}

/* v1.5.110 cascade-final — Do not expose Scene 12 photos in the preceding scene. */
@media(max-width:767px){
  .omc-final{
    overflow:hidden;overflow:clip
  }
  .omc-final__visual-clip{
    overflow:hidden;overflow:clip
  }
}

/* v1.5.111 cascade-final — P0 conversion, responsive supporter and sticky collision fixes. */
.omc-supporter-avatar{
  position:relative;display:block;overflow:hidden;overflow:clip;padding:104px 0 116px;
  background:linear-gradient(180deg,#fff7fb 0%,#f5ecff 76%,#ded0ff 88%,#090909 100%);color:#101014
}
.omc-supporter-avatar::before{
  position:absolute;top:-90px;right:-110px;width:290px;height:290px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,59,215,.25),rgba(121,76,255,.08) 58%,transparent 72%);
  content:"";pointer-events:none
}
.omc-supporter-avatar .omc-scene__inner{position:relative;z-index:1}
.omc-supporter-avatar__overview{display:block}
.omc-supporter-avatar__cta{
  width:min(100%,420px);min-height:52px;margin:28px auto 0;border-color:#fff;background:#fff;color:#5b28ba!important;
  box-shadow:0 10px 24px rgba(24,9,57,.26);font-size:clamp(.88rem,3.8vw,1.05rem)
}
.omc-roadmap-future__invitation{margin:26px 0 0;color:#31233e;font-weight:900;line-height:1.65}
.omc-roadmap-future__invitation span,.omc-roadmap-future__note span{display:block}
.omc-scene--campfire .omc-scene__inner{width:min(calc(100% - 36px),1120px)}
.omc-campfire__appeal{max-width:42rem;margin:34px 0 0;font-size:clamp(1rem,4.1vw,1.16rem);line-height:1.72}
.omc-campfire__appeal p{margin:0 0 22px}
.omc-campfire__appeal .omc-campfire__request{margin-top:30px;font-size:clamp(1.2rem,5.2vw,1.55rem);font-weight:900;line-height:1.5}
.omc-scene--campfire .omc-campfire__appeal+.omc-actions{margin-top:24px}
@media(max-width:767px){
  .omc-supporter-avatar__bridge .omc-supporter-avatar__cta{display:flex;color:#5b28ba!important;text-shadow:none}
  .omc-sticky{transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .18s ease}
  .omc-sticky.is-retreating{opacity:0;transform:translateY(calc(100% + 32px + env(safe-area-inset-bottom)));pointer-events:none}
}
@media(min-width:768px){
  .omc-supporter-avatar{padding:130px 0 140px;background:linear-gradient(155deg,#fff7fb 0%,#eee5ff 68%,#d9caff 100%)}
  .omc-supporter-avatar::before{top:-130px;right:-80px;width:430px;height:430px}
  .omc-supporter-avatar__overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);gap:54px;align-items:center}
  .omc-supporter-avatar .omc-index{color:#6b36db}
  .omc-supporter-avatar h2{margin:0;font-size:clamp(3.15rem,6.4vw,5.4rem);line-height:.94;letter-spacing:-.055em}
  .omc-supporter-avatar h2 span{display:block}
  .omc-supporter-avatar h2 span:last-child{margin-top:.12em;color:#7a43e8}
  .omc-supporter-avatar__lead{max-width:38rem;margin:28px 0 0;font-size:1.05rem;font-weight:800;line-height:1.75}
  .omc-supporter-avatar__limited{margin:28px 0 0}
  .omc-supporter-avatar__limited span{display:inline-block;padding:9px 16px;border:2px solid #17131f;border-radius:999px;background:#eaff62;box-shadow:4px 4px 0 #17131f;font-weight:900}
  .omc-supporter-avatar__screen{width:100%;max-width:350px;margin:0 auto;padding:10px 10px 0;border:2px solid #17131f;border-radius:32px;background:#fff;box-shadow:12px 16px 0 #e42fbe,22px 27px 0 #7a43e8;transform:rotate(2deg)}
  .omc-supporter-avatar__screen img{width:100%;border-radius:23px 23px 13px 13px}
  .omc-supporter-avatar__screen figcaption{margin:0 -10px;padding:13px 12px 15px;color:#fff;background:#17131f;border-radius:0 0 28px 28px;font-size:.78rem;font-weight:900;text-align:center}
  .omc-supporter-avatar__tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:78px}
  .omc-supporter-tier{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;min-height:132px;padding:18px;border:2px solid #17131f;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:5px 5px 0 #17131f}
  .omc-supporter-tier--featured{background:#f2ffd0}
  .omc-supporter-tier p{margin:3px 0;font-size:1rem;font-weight:700;line-height:1.45}
  .omc-supporter-tier__name{font-size:1rem!important;font-weight:900!important}
  .omc-supporter-tier strong{color:#cf1e3f}
  .omc-avatar-sample{position:relative;width:68px;height:68px;padding:5px;border-radius:50%}
  .omc-avatar-sample>span{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:50%;background:#eef0f4}
  .omc-avatar-sample>span::before,.omc-avatar-sample>span::after{position:absolute;left:50%;content:"";transform:translateX(-50%);background:#b7bbc4}
  .omc-avatar-sample>span::before{top:12px;width:20px;height:20px;border-radius:50%}
  .omc-avatar-sample>span::after{bottom:-6px;width:42px;height:29px;border-radius:50% 50% 8px 8px}
  .omc-avatar-sample--single{background:linear-gradient(145deg,#ff8800,#ff541f)}
  .omc-avatar-sample--rainbow{background:conic-gradient(#ff42b5,#774cff,#28cfe7,#2bc95d,#f5d62d,#ff6947,#ff42b5)}
  .omc-avatar-sample--star{background:linear-gradient(145deg,#9d69ff,#2f6cff)}
  .omc-avatar-sample--star i{position:absolute;z-index:2;right:-7px;top:-9px;color:#ffd83d;font-size:1.65rem;font-style:normal;filter:drop-shadow(0 2px 0 #9d7810)}
  .omc-supporter-avatar__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:52px 0 0;padding:0;list-style:none}
  .omc-supporter-avatar__benefits li{position:relative;padding:16px 16px 16px 48px;border-radius:14px;background:rgba(255,255,255,.72);font-size:1rem;font-weight:900;line-height:1.55}
  .omc-supporter-avatar__benefits li::before{position:absolute;left:18px;top:14px;color:#14886f;content:"✓";font-size:1.25rem}
  .omc-supporter-avatar__note{margin:24px 0 0;color:#514a5b;font-size:.82rem}
  .omc-supporter-avatar__bridge,.omc-supporter-avatar__bridge[data-supporter-bridge],.omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{margin:64px 0 0;padding:36px 42px 40px;border:2px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(145deg,#f23bd7,#7040db 58%,#4930c8);box-shadow:9px 10px 0 #eaff62,0 24px 48px rgba(38,15,81,.25);opacity:1;transform:rotate(-.7deg);animation:none;will-change:auto;text-align:center}
  .omc-supporter-avatar__ticker{overflow:visible;padding:0}
  .omc-supporter-avatar__ticker-track{position:static;left:auto;display:block;width:100%;margin:0;animation:none!important;transform:none!important;will-change:auto}
  .omc-supporter-avatar__ticker-track strong{display:block;width:100%;padding:0;color:#fff;font-size:clamp(1.55rem,3.1vw,2.55rem);line-height:1.25;letter-spacing:-.035em;white-space:normal;text-shadow:0 0 2px #fff,0 0 9px rgba(255,181,235,.58),3px 3px 0 #351a77}
  .omc-supporter-avatar__ticker-track strong[aria-hidden="true"]{display:none}
  .omc-supporter-avatar__cta{font-size:1rem}
}
@media(min-width:768px) and (max-width:1023px){
  .omc-supporter-avatar__overview{grid-template-columns:minmax(0,1fr) minmax(250px,38%);gap:38px}
  .omc-supporter-avatar__tiers{gap:12px}
  .omc-supporter-tier{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:14px}
  .omc-avatar-sample{width:58px;height:58px}
  .omc-supporter-tier p,.omc-supporter-tier__name{font-size:1rem!important}
  .omc-supporter-avatar__benefits{grid-template-columns:1fr}
}
@media(min-width:1024px){
  .omc-supporter-avatar__overview{grid-template-columns:minmax(0,1fr) 360px;gap:76px}
}
@media(prefers-reduced-motion:reduce){
  .omc-supporter-avatar__bridge,.omc-supporter-avatar__ticker-track{animation:none!important;transform:none!important}
}

/* v1.5.112 cascade-final — P1 clarity, measured motion and trust details. */
.omc-hero__quick-fact{display:inline-block;margin-top:.35em;font-weight:900}
.omc-hero__support{margin:12px 0 0;color:#fff;font-size:.82rem;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.omc-magic__auto-note{margin:0 0 4px;font-size:clamp(.9rem,3.8vw,1.04rem);font-weight:900;line-height:1.55}
.omc-footer__operator{font-size:.9rem;font-weight:800}
@media(max-width:767px){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{
    transform:rotate(-1.5deg);animation:none;will-change:auto
  }
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-entering{
    animation:omcSupporterBridgeLand .9s cubic-bezier(.2,.85,.25,1) both
  }
  .omc-supporter-avatar__ticker-track{animation:none!important}
  .omc-supporter-avatar__bridge.is-supporter-bridge-active .omc-supporter-avatar__ticker-track{
    animation:omcSupporterLedTickerLoop 14s linear infinite!important
  }
  @keyframes omcSupporterBridgeLand{
    0%{opacity:0;transform:translate3d(0,90px,0) rotate(4deg)}
    72%{opacity:1;transform:translate3d(0,-6px,0) rotate(-2deg)}
    100%{opacity:1;transform:translate3d(0,0,0) rotate(-1.5deg)}
  }
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .omc-supporter-avatar__bridge[data-supporter-bridge],
  .omc-supporter-avatar__bridge[data-supporter-bridge].is-supporter-bridge-active{animation:none!important;transform:none!important}
  .omc-supporter-avatar__ticker-track{position:static;display:block;width:100%;transform:none!important;animation:none!important}
  .omc-supporter-avatar__ticker-track strong{display:block;width:100%;padding:0;white-space:normal;text-align:center}
  .omc-supporter-avatar__ticker-track strong[aria-hidden="true"]{display:none}
}

/* v1.5.114 cascade-final — Explain minimum selection without covering the product UI. */
@media(max-width:767px){
  .omc-magic__choice,
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    width:min(46vw,11.5rem);padding:10px 11px;border:1px solid currentColor;border-radius:12px;
    background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(0,0,0,.12);color:#101317;
    backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
  }
  .omc-magic[data-magic-phase="3"] .omc-magic__choice{
    border-color:rgba(255,255,255,.7);background:rgba(22,10,52,.82);color:#fff
  }
  .omc-magic__auto-note,.omc-magic__choice-note{font-size:clamp(.74rem,3.05vw,.86rem);line-height:1.45}
  .omc-magic__choice-flow{
    display:grid;width:100%;gap:4px;margin-top:8px;padding:7px 8px;border-radius:9px;
    font-size:clamp(.63rem,2.65vw,.74rem);line-height:1.35;white-space:normal
  }
  .omc-magic__choice-flow i{display:none}
  .omc-magic__choice-flow span{display:block;white-space:normal}
  .omc-magic__choice-flow span::before{content:"→ ";opacity:.62}
  .omc-magic__choice-flow span:first-child::before{content:""}
}
