/* Shared motion keeps every funnel wall aligned with its openings. */
.funnel-tier{animation:none}.funnel-front-wall{isolation:isolate}.funnel-opening{filter:drop-shadow(0 4px 5px #0008)}
.wedding-film>img{object-position:50% 25%;animation:wedding-documentary-drift 20s ease-in-out infinite alternate}.wedding-warmth{background:linear-gradient(0deg,#000a,transparent 34%)}.wedding-signature a{max-width:195px;text-align:right;font-size:10px;line-height:1.5;color:#bfb6aa}.wedding-signature a:hover{color:#fff}
@keyframes wedding-documentary-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
/* Coverage is a spatial edit: a full view becomes a multicamera wall, then outputs. */
.visual-event,.visual-music{height:820px;width:57%;right:0}.event-control-room,.music-control-room{padding:18px 30px;overflow:visible}
.event-universe{position:relative;height:455px;perspective:1200px;isolation:isolate}.event-floor{position:absolute;inset:58% -8% -10%;background:repeating-linear-gradient(90deg,transparent 0 62px,#ad704526 63px 64px),repeating-linear-gradient(0deg,transparent 0 41px,#ad704526 42px 43px);transform:rotateX(68deg);mask-image:radial-gradient(ellipse,#0007,transparent 65%)}
.event-light-beam{position:absolute;inset:5% -8% 0;background:conic-gradient(from 170deg at 50% 95%,transparent 0deg,#ffa34c14 15deg,transparent 26deg);animation:event-beam 8s ease-in-out infinite alternate;filter:blur(8px)}
.event-master{position:absolute;left:3%;top:9%;width:94%;height:72%;border:1px solid #c4936570;background:#080706;box-shadow:0 35px 60px #000,0 0 40px #c06b2614;overflow:hidden;transform:rotateY(-8deg) rotateX(4deg);transition:width 1.15s,left 1.15s,top 1.15s,height 1.15s,transform 1.15s,opacity .6s}
.event-master>img,.event-camera>img,.event-delivery img{width:100%;height:100%;object-fit:cover;display:block}.event-master>img{animation:event-camera-travel 11s ease-in-out infinite alternate;object-position:50% 55%}
.event-master:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 36%,transparent 73%,#0008)}.event-frame-label{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;z-index:3;font-size:11px;letter-spacing:.06em;color:#f2d8ba}.event-time{font-variant-numeric:tabular-nums}.event-frame-footer{position:absolute;bottom:18px;left:18px;z-index:3;font-size:12px;letter-spacing:.08em}.event-focus-grid{position:absolute;inset:14%;z-index:2;border:1px solid #f5d4ae55;clip-path:polygon(0 0,18% 0,18% 2%,2% 2%,2% 18%,0 18%,0 0,100% 0,100% 18%,98% 18%,98% 2%,82% 2%,82% 0,100% 0,100% 100%,82% 100%,82% 98%,98% 98%,98% 82%,100% 82%,100% 100%,0 100%,0 82%,2% 82%,2% 98%,18% 98%,18% 100%,0 100%);animation:event-focus 5s ease-in-out infinite alternate}
.event-scan{position:absolute;top:0;bottom:0;width:18%;background:linear-gradient(90deg,transparent,#ffd6a51d,transparent);z-index:2;animation:event-scan 6s ease-in-out infinite}
.event-camera{position:absolute;right:0;width:33%;height:31%;overflow:hidden;opacity:0;border:1px solid #786252;background:#090706;transform:translateX(55px) rotateY(-25deg) scale(.8);transition:opacity .65s,transform 1s cubic-bezier(.2,.8,.2,1);box-shadow:0 20px 40px #000}.camera-detail{top:7%;transition-delay:.2s}.camera-detail>img{object-position:0 50%;transform:scale(1.7)}.camera-audience{top:43%;transition-delay:.42s}.camera-audience>img{object-position:100% 60%;transform:scale(1.45)}.event-camera>span{position:absolute;bottom:0;left:0;right:0;padding:10px;background:#000b;font-size:10px;color:#eccbab}
.event-control-room[data-chapter="1"] .event-master{width:63%;height:61%;left:0;top:13%;transform:rotateY(10deg) rotateX(1deg)}.event-control-room[data-chapter="1"] .event-camera{opacity:1;transform:translateX(0) rotateY(-9deg) scale(1)}
.event-deliveries{position:absolute;inset:6% -1% 8%;display:grid;grid-template-columns:1.2fr .77fr 1fr;gap:16px;align-items:center;pointer-events:none}
.event-delivery{opacity:0;transform:translateY(90px) rotateY(-28deg) scale(.6);transition:opacity .6s,transform 1.2s cubic-bezier(.16,.8,.2,1);min-width:0}.event-delivery>div{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid #c38c626e;background:#160c07;box-shadow:0 28px 40px #000}.event-delivery img{animation:event-camera-travel 10s ease-in-out infinite alternate}.event-delivery>span{display:block;font-size:11px;letter-spacing:.1em;color:#ffd2a4;margin-top:14px}.event-delivery>b{display:block;font-size:14px;line-height:1.5;font-weight:400;margin-top:7px;color:#bcb2ab}.delivery-reel{transition-delay:.2s}.delivery-photo{transition-delay:.38s}.delivery-reel>div{aspect-ratio:9/16}.delivery-reel img{object-position:70% center}.delivery-photo>div{aspect-ratio:4/5}.delivery-photo img{object-position:20% center;filter:saturate(.5)}.delivery-film>div>i{position:absolute;inset:0;border-block:12px solid #000a}.delivery-reel>div>i{position:absolute;left:12%;right:12%;bottom:14%;height:3px;background:#eee;box-shadow:0 8px 0 #eee8}
.event-control-room[data-chapter="2"] .event-master{opacity:0;transform:translateZ(-300px) scale(.6)}.event-control-room[data-chapter="2"] .event-delivery{opacity:1;transform:translateY(0) rotateY(0) scale(1)}
.event-cut-line{position:absolute;left:5%;right:5%;bottom:0;display:flex;align-items:center;gap:13px;color:#caa98c;font-size:10px;letter-spacing:.1em}.event-cut-line i{height:1px;flex:1;background:#7a412955}.event-cut-line i:after{content:'';display:block;width:30%;height:1px;background:#efa375;animation:cut-travel 3s linear infinite}
.event-story-caption,.music-story-caption{position:relative;inset:auto;margin:29px 0 22px;min-height:76px;gap:8px}.event-story-caption>b,.music-story-caption>b{font-size:28px;line-height:1.25}.event-story-caption>span,.music-story-caption>span{font-size:11px;letter-spacing:.07em}
.event-edit-timeline{position:relative;display:grid;grid-template-columns:53px 1fr;gap:9px;align-items:center;padding:14px 12px;background:#0c0907;border:1px solid #33261e;overflow:hidden}.event-edit-timeline>span{font-size:9px;color:#b69b83}.event-edit-clips{height:28px;display:flex;gap:3px}.event-edit-clips i{flex:calc(1 + var(--cut)*.09);background:linear-gradient(130deg,#7d4124,#382419);border-top:2px solid #bd8054;animation:edit-clip 6s calc(var(--cut)*-.3s) ease-in-out infinite}.event-edit-wave{display:flex;align-items:center;height:17px;gap:2px}.event-edit-wave i{flex:1;height:var(--wave);background:#a78358;opacity:.65}.event-playhead{position:absolute;top:7px;bottom:7px;left:18%;width:1px;background:#ffd6b5;box-shadow:0 0 9px #ee9349;animation:event-playhead 6s linear infinite}
.event-control-room .chapter-tabs,.music-control-room .chapter-tabs{margin-top:20px}.event-control-room .chapter-bottom>p{font-size:11px;color:#9f8b7b}
@keyframes event-camera-travel{from{scale:1}to{scale:1.13}}@keyframes event-beam{to{rotate:35deg;opacity:.4}}@keyframes event-focus{to{inset:20% 18%;opacity:.35}}@keyframes event-scan{from{left:-20%}to{left:120%}}@keyframes cut-travel{from{transform:translateX(0);opacity:0}30%{opacity:1}to{transform:translateX(280%);opacity:0}}@keyframes event-playhead{from{left:18%}to{left:98%}}@keyframes edit-clip{50%{opacity:.5}}
/* A real studio image above a session that changes with each production phase. */
.music-universe{height:485px;position:relative;perspective:1200px}.studio-picture{position:absolute;top:0;left:0;right:0;height:64%;overflow:hidden;mask-image:linear-gradient(0deg,transparent,#000 30%,#000 100%);transition:height 1.2s,transform 1.2s,opacity 1.2s}.studio-picture .chapter-shot img{object-position:50% 45%;animation:studio-camera 14s ease-in-out infinite alternate}.studio-picture-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 55%)}.studio-session-label{position:absolute;top:18px;left:20px;color:#ffe4c5;font-size:11px;letter-spacing:.09em;text-shadow:0 2px 10px #000}.music-orbit-wave{position:absolute;left:4%;right:4%;bottom:8%;height:72px;display:flex;gap:3px;align-items:center;opacity:.65}.music-orbit-wave i{flex:1;height:var(--wave);background:#ffe1b1;animation:studio-wave 1.1s var(--delay) ease-in-out infinite alternate;box-shadow:0 0 9px #ff963a55}
.music-console{position:absolute;left:5%;right:5%;top:43%;height:56%;padding:16px 19px;background:linear-gradient(150deg,#211914f5,#090908fc);border:1px solid #9a806159;box-shadow:0 25px 40px #000,0 1px 0 #c0996a80 inset;transform:rotateX(13deg) rotateY(-7deg);transition:transform 1.2s,top 1.2s,height 1.2s;overflow:hidden}.console-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.1em;color:#b9a286;margin-bottom:14px}.console-heading>span:last-child{color:#fbc78e}.console-tracks{display:flex;flex-direction:column;gap:8px}.console-track{display:flex;align-items:center;gap:12px;height:30px;transition:opacity .7s}.console-track>span{width:42px;font-size:9px;color:#c0ac98;flex-shrink:0}.console-track>div{flex:1;display:flex;gap:2px;align-items:center;height:28px;background:#c5a36f0a;border-block:1px solid #e8b77515;overflow:hidden}.console-track i{height:var(--wave);flex:1;background:#c89963;animation:studio-wave .8s var(--delay) ease-in-out infinite alternate}.console-track>b{font-size:9px;color:#d19d54;font-weight:400}.track-voice i{background:#fbab77}.track-base i{background:#8c9b92}.music-control-room[data-chapter="0"] .track-piano,.music-control-room[data-chapter="0"] .track-base{opacity:.2}.music-control-room[data-chapter="0"] .track-piano i,.music-control-room[data-chapter="0"] .track-base i{animation-play-state:paused;scale:1 .16}
.console-mixer{height:91px;display:flex;gap:12px;padding-top:14px;margin-top:12px;border-top:1px solid #b7976730}.mixer-channel{flex:1;min-width:0}.mixer-channel>span{font-size:8px;letter-spacing:.03em;color:#a39584;display:block;margin-bottom:8px}.mixer-strip{display:flex;gap:9px;height:58px}.channel-meter{width:10px;background:repeating-linear-gradient(0deg,transparent 0 3px,#151512 4px 5px),linear-gradient(0deg,#947341,#d7b77a 75%,#e9cf9c);transform-origin:bottom;animation:channel-level .7s calc(var(--channel)*-.21s) ease-in-out infinite alternate}.channel-rail{position:relative;width:4px;height:100%;background:#050504;box-shadow:1px 0 0 #726656}.channel-rail>b{position:absolute;left:-5px;width:15px;height:8px;background:linear-gradient(#dfcaaa,#7e6a50);border:1px solid #d6b992;border-radius:2px;bottom:var(--level);box-shadow:0 2px 3px #000;animation:fader-mix 3.5s calc(var(--channel)*-.6s) ease-in-out infinite alternate}.console-playhead{position:absolute;top:45px;height:105px;width:1px;left:20%;background:#fff1bf9c;animation:event-playhead 6s linear infinite}.music-control-room[data-chapter="1"] .music-console{transform:rotateX(5deg) rotateY(5deg)}.music-control-room[data-chapter="2"] .music-console{transform:rotateX(0deg) rotateY(0deg);top:36%;height:63%}.music-control-room[data-chapter="2"] .studio-picture{height:56%;transform:translateY(-5px)}.music-control-room[data-chapter="2"] .console-mixer{height:112px}.music-control-room[data-chapter="2"] .mixer-strip{height:77px}.music-control-room .chapter-title>b{font-size:28px}
@keyframes studio-camera{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.12) translateX(1%)}}@keyframes studio-wave{from{scale:1 .35}to{scale:1 1}}@keyframes channel-level{from{scale:1 .33}to{scale:1 .94}}@keyframes fader-mix{from{transform:translateY(-5px)}to{transform:translateY(9px)}}
/* Holographic image gallery: one main projection, quiet neighboring frames. */
.people-story.holo-story{display:flex;flex-direction:column;gap:20px;margin-top:100px;padding-top:50px;border-top:1px solid #3d2a20}.holo-story>.people-copy{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:16px 70px}.holo-story .people-copy>span{grid-column:1/-1;font-size:12px;color:#c6a68e;letter-spacing:.1em}.holo-story .people-copy h3{font-size:clamp(48px,6vw,90px);line-height:1;letter-spacing:-.06em;margin:10px 0}.holo-story .people-copy>p{font-size:17px;line-height:1.8;max-width:430px;margin:0 0 12px}.holo-gallery{position:relative;--holo-progress:0}.holo-topline{display:flex;justify-content:space-between;padding:25px 0 0;color:#a89282;font-size:11px;letter-spacing:.14em}.holo-count{font-weight:400;font-variant-numeric:tabular-nums}
.holo-stage{height:600px;position:relative;perspective:1500px;isolation:isolate;overflow:hidden}.holo-grid{position:absolute;left:0;right:0;bottom:-12%;height:50%;background:repeating-linear-gradient(90deg,transparent 0 68px,#d78f4c2e 69px 70px),repeating-linear-gradient(0deg,transparent 0 44px,#d78f4c24 45px 46px);transform:rotateX(70deg);mask-image:radial-gradient(ellipse,#0007,transparent 70%)}
.holo-main{position:absolute;left:19%;right:19%;top:10%;height:66%;transform:rotateY(-5deg) rotateX(3deg);transform-style:preserve-3d;animation:holo-float 8s ease-in-out infinite alternate;z-index:3}.holo-screen{position:absolute;inset:0;overflow:hidden;background:#0b0b0b;border:1px solid #d8b7939c;box-shadow:0 0 0 6px #dc975714,0 0 32px #d9872520,0 40px 65px #000;transition:clip-path .8s,opacity .8s,transform .8s;clip-path:inset(0 0 0 0)}.holo-image{width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:holo-image-drift 10s ease-in-out infinite alternate}.holo-glass{position:absolute;inset:0;background:linear-gradient(115deg,#eec99c10,transparent 25%,transparent 70%,#eec99c14);box-shadow:0 0 40px #0003 inset;pointer-events:none}.holo-scan{position:absolute;left:0;right:0;height:25%;background:linear-gradient(0deg,transparent,#ffce9220,transparent);border-top:1px solid #f6cf9b70;animation:holo-scan 6s ease-in-out infinite;opacity:.65}.holo-corner{position:absolute;left:12px;top:12px;width:25px;height:25px;border-left:2px solid #ffe1b0;border-top:2px solid #ffe1b0}.holo-corner:last-child{left:auto;top:auto;right:12px;bottom:12px;rotate:180deg}
.holo-reflection{position:absolute;top:102%;left:0;right:0;height:37%;overflow:hidden;opacity:.14;transform:scaleY(-1);mask-image:linear-gradient(0deg,#000,transparent 85%);filter:blur(2px)}.holo-reflection img{width:100%;height:280%;object-fit:cover;object-position:center 60%}.holo-side{position:absolute;top:24%;width:28%;height:42%;opacity:.35;overflow:hidden;border:1px solid #ac80583b;transition:opacity .7s,transform .9s;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 85%,transparent)}.holo-side img{width:100%;height:100%;object-fit:cover}.side-prev{left:-6%;transform:rotateY(34deg) translateZ(-90px)}.side-next{right:-6%;transform:rotateY(-34deg) translateZ(-90px)}
.holo-beam{position:absolute;bottom:16%;width:48%;height:56%;background:linear-gradient(0deg,#df7f2340,transparent 85%);clip-path:polygon(2% 0,98% 0,52% 100%,48% 100%);filter:blur(9px);mix-blend-mode:screen;opacity:.34;animation:holo-beam 5s ease-in-out infinite alternate;z-index:2}.beam-left{left:0;rotate:-13deg}.beam-right{right:0;rotate:13deg;animation-delay:-2s}.holo-ground{position:absolute;left:20%;right:20%;bottom:17%;height:1px;background:linear-gradient(90deg,transparent,#f0bf83,transparent);box-shadow:0 0 25px 4px #f89d3030;animation:holo-ground 6s ease-in-out infinite alternate}.holo-axis{position:absolute;bottom:9%;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.35em;color:#aa8464}
.holo-details{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:-8px}.holo-category{font-size:11px;letter-spacing:.12em;color:#edac7d}.holo-caption{font-size:26px;line-height:1.35;letter-spacing:-.025em;margin:10px 0 17px}.holo-navigation{display:flex;gap:8px}.holo-navigation button{width:46px;height:46px;border:1px solid #60422f;background:#110c08;color:#efd0b6;font:inherit;font-size:19px;cursor:pointer}.holo-navigation button:hover{background:#372316}.holo-progress{height:1px;background:#382820;margin:9px 0 22px}.holo-progress>i{display:block;height:1px;background:#f6b47c;transform:scaleX(var(--holo-progress));transform-origin:left}
.holo-thumbnails{display:flex;gap:10px;overflow:auto;padding:5px 3px 15px;scrollbar-width:thin;scrollbar-color:#955833 #17100b}.holo-thumbnails button{position:relative;flex:0 0 105px;border:1px solid #34281e;border-bottom:2px solid #34281e;padding:0;background:#0c0907;color:#bca18b;cursor:pointer}.holo-thumbnails img{width:100%;height:65px;object-fit:cover;opacity:.45;transition:opacity .3s}.holo-thumbnails span{display:block;padding:7px;font-size:11px}.holo-thumbnails button[aria-pressed=true]{border-color:#de975c;color:#ffe2c8}.holo-thumbnails button[aria-pressed=true] img{opacity:1}.holo-gallery button:focus-visible{outline:2px solid #ffd8ad;outline-offset:3px}
.holo-gallery.is-changing .holo-screen{animation:holo-materialize .85s cubic-bezier(.2,.8,.2,1)}.holo-gallery.is-changing .holo-side{opacity:.12}.holo-gallery.is-still *{animation-play-state:paused!important}
@keyframes holo-float{from{transform:translateY(-7px) rotateY(-5deg) rotateX(3deg)}to{transform:translateY(9px) rotateY(4deg) rotateX(-1deg)}}@keyframes holo-image-drift{to{transform:scale(1.035)}}@keyframes holo-scan{from{top:-25%}to{top:115%}}@keyframes holo-beam{to{opacity:.15}}@keyframes holo-ground{to{scale:.75 1;opacity:.55}}@keyframes holo-materialize{0%{clip-path:inset(48% 0);opacity:.15;transform:translateY(8px)}65%{clip-path:inset(0);opacity:1}100%{clip-path:inset(0);transform:none}}
@media(max-width:1100px) and (min-width:701px){.event-control-room,.music-control-room{padding-inline:14px}.event-universe{height:400px}.event-story-caption>b,.music-story-caption>b{font-size:24px}.holo-stage{height:480px}.holo-story>.people-copy{gap:20px 35px}.event-deliveries{gap:9px}}
@media(max-width:700px){
 .wedding-film>img{object-position:50% 25%}.wedding-signature{bottom:5%;left:24px;right:24px}.wedding-signature a{font-size:9px;max-width:170px}.wedding-film-title{bottom:16%}
 .service-scene>.visual-event,.service-scene>.visual-music{padding:0 16px;height:auto!important}.event-control-room,.music-control-room{padding:0}.event-universe{height:330px}.event-master{top:9%;height:70%}.event-frame-label{font-size:9px;left:10px;right:10px;top:11px}.event-frame-footer{font-size:9px;bottom:11px;left:10px}.event-camera>span{font-size:8px;padding:7px}.event-cut-line{font-size:9px;gap:8px;left:2%;right:2%}.event-deliveries{gap:9px;inset:5% 0 10%}.event-delivery>span{font-size:9px;margin-top:10px;letter-spacing:0}.event-delivery>b{font-size:11px;margin-top:5px}.event-control-room .chapter-top,.music-control-room .chapter-top{font-size:11px;margin-bottom:15px}.event-story-caption,.music-story-caption{margin:24px 7px 17px;min-height:90px}.event-story-caption>b,.music-story-caption>b,.music-control-room .chapter-title>b{font-size:24px}.event-story-caption>span,.music-story-caption>span{font-size:10px;line-height:1.5}.event-edit-timeline{padding:11px 10px;grid-template-columns:43px 1fr;gap:7px}.event-edit-timeline>span{font-size:8px}.event-edit-clips{height:24px}.event-control-room .chapter-tabs,.music-control-room .chapter-tabs{margin-top:16px;gap:18px}.event-control-room .chapter-bottom>p{font-size:11px}
 .music-universe{height:455px}.studio-picture{height:61%;margin:0 -16px}.music-console{left:2%;right:2%;padding:13px 12px;top:41%;height:58%}.console-heading{font-size:9px;gap:8px}.console-track{gap:7px}.console-track>span{font-size:8px;width:36px}.console-track>div{gap:2px}.console-mixer{gap:8px}.mixer-channel>span{font-size:7px}.mixer-strip{gap:9px}.studio-session-label{font-size:10px;top:15px}.music-control-room[data-chapter="2"] .music-console{top:34%;height:65%}
 .people-story.holo-story{margin-top:52px;padding-top:34px}.holo-story>.people-copy{display:block}.holo-story .people-copy>span{font-size:11px;line-height:1.5}.holo-story .people-copy h3{font-size:48px;margin:20px 0}.holo-story .people-copy>p{font-size:16px;line-height:1.75}.holo-gallery{margin:0 -24px}.holo-topline{font-size:10px;letter-spacing:.06em;padding:12px 24px 0}.holo-stage{height:365px;perspective:1000px}.holo-main{left:12%;right:12%;top:13%;height:64%}.holo-side{width:31%;height:42%;top:24%;opacity:.2}.side-prev{left:-13%}.side-next{right:-13%}.holo-screen{box-shadow:0 0 0 4px #dc975711,0 15px 30px #000}.holo-beam{width:65%;height:60%;bottom:12%}.beam-left{left:-14%}.beam-right{right:-14%}.holo-axis{font-size:9px;letter-spacing:.2em;bottom:4%}.holo-details{margin:12px 24px 0;align-items:flex-start;gap:10px;flex-direction:column}.holo-category{font-size:11px}.holo-caption{font-size:23px;margin:9px 0 6px;min-height:63px}.holo-navigation{align-self:flex-end}.holo-progress{margin:20px 24px}.holo-thumbnails{padding:5px 24px 15px;gap:8px}.holo-thumbnails button{flex-basis:88px}.holo-thumbnails img{height:58px}
}
@media(prefers-reduced-motion:reduce){.event-control-room *,.music-control-room *,.holo-gallery *,.wedding-film>img{animation:none!important;transition:none!important}.holo-main{transform:none}.event-master{transform:none}.music-console{transform:none}}
.holo-story>.people-copy,.holo-story>.holo-gallery{width:100%;min-width:0;box-sizing:border-box}.holo-thumbnails{max-width:100%;box-sizing:border-box}
html:not(.motion-paused):not(.reduced-motion) .holo-gallery.is-still.is-changing .holo-screen{animation-play-state:running!important}
@media(max-width:700px){.holo-story>.holo-gallery{width:calc(100% + 48px)}}
