/* Scoped wedding prototype; existing design and hero stylesheet stay byte-identical. */
.wedding-experience{--w-head:76px;--w-accent:#0A84FF;--w-light:#5AC8FA;--w-playhead:10%;margin-top:64px;scroll-margin-top:76px}
.w-story{display:none}.w-stills{margin:0;padding:24px 0;border-top:1px solid #36363C;border-bottom:1px solid #36363C}.w-stills>summary{font-size:16px;line-height:26px;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-weight:500;cursor:pointer;color:#B5B7BE}.w-stills>summary::-webkit-details-marker{display:none}.w-stills>summary:after{content:'+';font-size:24px;color:var(--w-light)}.w-stills[open]>summary:after{content:'−'}.w-still-grid{display:grid;gap:28px;padding-top:24px}.w-still-grid figure{margin:0;min-width:0}.w-still-grid img{width:100%;height:auto;border-radius:12px}.w-still-grid figcaption{font-size:13px;line-height:22px;color:#B5B7BE;padding-top:10px}
.wedding-enabled .w-story{display:block;height:calc(260svh - var(--w-head));width:100vw;margin-left:calc(50% - 50vw);position:relative;background:#050505}
.w-stage{height:calc(100svh - var(--w-head));position:sticky;top:var(--w-head);background:#050505;isolation:isolate;overflow:hidden}
.w-canvas{height:calc(100% - 102px);position:relative;overflow:hidden;background:#050505;isolation:isolate}
.w-backdrop{position:absolute;inset:0;opacity:.2;z-index:0;overflow:hidden}.w-backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(28px);transform:scale(1.1)}
.w-camera{position:absolute;left:0;top:0;max-width:none;width:1672px;height:941px;transform-origin:0 0;will-change:transform;z-index:2}
.w-portal{position:absolute;left:0;top:0;overflow:hidden;z-index:3;background:#151517;will-change:transform;transform-origin:0 0;isolation:isolate}.w-couple{width:100%;height:100%;max-width:none;object-fit:cover;object-position:44% 42%;display:block}
.w-controls{height:64px;padding:10px 20px 0;display:flex;align-items:center;justify-content:center;gap:20px;position:relative;z-index:5;background:#050505}.w-buttons{display:flex;gap:10px;align-items:center}.w-play,.w-replay{border-radius:24px;min-height:44px;padding:10px 18px;font-family:inherit;font-size:14px;line-height:22px;font-weight:500;cursor:pointer;white-space:nowrap}.w-play{border:1px solid transparent;background:#0071E3;color:#fff}.w-play:hover{background:#0066CC}.w-replay{border:1px solid #555860;background:#151517;color:#F5F5F7}.w-replay:hover{background:#252529;border-color:#B5B7BE}.w-replay[hidden]{display:none}.w-play:focus-visible,.w-replay:focus-visible{outline:3px solid #fff;outline-offset:4px}.w-progress{display:none;gap:6px;width:108px}.w-progress i{height:2px;flex:1;background:#36363C;position:relative}.w-progress i:after{content:'';display:block;height:100%;width:var(--w-step,0%);background:var(--w-accent)}.w-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wedding-experience .w-disclosure{height:38px;padding:4px 16px 8px;text-align:center;font-size:11px;line-height:16px;color:#B5B7BE;max-width:none;margin:0;background:#050505}
.w-editor{position:absolute;z-index:1;border:1px solid #35363D;background:#101012;border-radius:14px;box-shadow:0 24px 64px #0008;overflow:hidden;opacity:0;color:#B5B7BE}.w-editor-bar{height:40px;border-bottom:1px solid #ffffff14;display:flex;gap:12px;align-items:center;padding:0 14px;font-size:10px;line-height:16px;font-weight:500;letter-spacing:.015em}.w-editor-kind{margin-left:auto}.w-blue-dot{display:none;width:5px;height:5px;background:var(--w-accent);border-radius:50%}.w-media-bin,.w-inspector{position:absolute;top:52px;bottom:172px;display:none;font-size:11px;line-height:20px;color:#B5B7BE}.w-media-bin{left:18px;width:160px}.w-inspector{right:18px;width:160px}.w-bin-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.w-bin-thumb{border:1px solid #3d4148;border-radius:3px;overflow:hidden;aspect-ratio:1.5}.w-bin-thumb:nth-child(2){border-color:var(--w-accent)}.w-bin-thumb img{width:100%;height:100%;object-fit:cover}.w-slider{height:2px;background:#383F49;margin-top:26px;position:relative}.w-slider:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--w-light);left:42%;top:-2.5px}.w-slider:nth-of-type(2):after{left:60%}.w-slider:nth-of-type(3):after{left:28%}.w-tonal{display:flex;gap:8px;margin-top:40px}.w-tonal i{width:42px;height:42px;border:1px solid #496079;border-radius:50%;background:radial-gradient(circle,#526C87 1px,transparent 3px);box-shadow:inset 0 0 18px #0A84FF10}
.w-preview-baseline{position:absolute;left:16px;right:16px;display:flex;gap:12px;align-items:center;font-size:10px;line-height:18px}.w-preview-line{flex:1;height:1px;background:#36363C}.w-timeline{position:absolute;left:14px;right:14px;bottom:15px;height:94px;border-top:1px solid #35363D;overflow:hidden}.w-ruler{height:16px;background:repeating-linear-gradient(90deg,#64707F 0 1px,transparent 1px 14px) 0 5px/100% 4px no-repeat}.w-film-track{height:34px;display:flex;gap:4px}.w-clip{height:100%;width:25%;border:1px solid #5278A3;border-radius:3px;background-position:center;background-size:auto 100%;background-repeat:repeat-x}.wedding-visible .w-clip{background-image:url('assets/wedding-couple-836.webp')}.wedding-visible .w-clip:first-child{background-image:url('assets/wedding-camera-836.webp')}.w-clip:nth-child(3){width:32%}.w-clip:last-child{width:18%}.w-audio-track{height:16px;margin-top:4px;padding:2px 4px;border:1px solid #244A76;background:#102D4C;border-radius:3px;display:flex;justify-content:space-between;align-items:center;gap:2px}.w-audio-track i{height:45%;background:#5AC8FA;width:2px;opacity:.65}.w-audio-track i:nth-child(3n){height:90%}.w-audio-track i:nth-child(5n){height:20%}.w-secondary-track{height:12px;margin-top:4px;display:flex;gap:12px}.w-secondary-track span{background:#172941;border:1px solid #355679;border-radius:3px;width:22%}.w-secondary-track span:nth-child(2){width:38%}.w-secondary-track span:nth-child(3){width:15%;margin-left:auto}.w-edit-playhead{position:absolute;left:var(--w-playhead);top:5px;bottom:0;width:1px;background:#5AC8FA;box-shadow:0 0 4px #000}.w-edit-playhead:before{content:'';position:absolute;top:0;left:-3px;width:7px;height:6px;background:#5AC8FA;clip-path:polygon(0 0,100% 0,50% 100%)}
@media(min-width:700px){.wedding-experience{margin-top:88px}.w-controls{padding-inline:32px;gap:32px}.w-progress{display:flex}.w-still-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.wedding-experience .w-disclosure{font-size:12px;line-height:20px}.w-editor-bar{height:44px;padding-inline:20px;font-size:12px}.w-blue-dot{display:block}.w-preview-baseline{font-size:12px;line-height:20px}.w-timeline{height:126px;left:20px;right:20px;bottom:18px}.w-film-track{height:48px}.w-audio-track{height:22px}.w-secondary-track{height:16px}}
@media(min-width:1100px){.w-media-bin,.w-inspector{display:block}.w-editor{border-radius:16px}.w-still-grid{gap:24px}}
@media(min-width:1200px){.wedding-experience{--w-head:84px;scroll-margin-top:84px}}
@media(prefers-reduced-motion:reduce){.wedding-experience .w-story{display:none!important}.wedding-experience .w-stills{display:block}.wedding-experience .w-still-grid{display:grid}}
@media(max-width:359px){.w-controls{gap:8px;padding-inline:12px}.w-play,.w-replay{font-size:13px;padding-inline:14px}.w-editor-kind{font-size:9px}.w-editor-bar{gap:8px;padding-inline:12px}.wedding-experience .w-disclosure{font-size:10px;line-height:15px}}
