@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--night:#060817;--night2:#0b1030;--blue:#566dff;--electric:#81e8ff;--cream:#f5f0e5;--gold:#c99a50;--ink:#15120e;--ease:cubic-bezier(.22,.78,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:#fff;font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{color:inherit}.skip{position:fixed;z-index:999;top:8px;left:8px;padding:10px 16px;background:#fff;color:#000;transform:translateY(-150%)}.skip:focus{transform:none}
video::-webkit-media-controls,video::-webkit-media-controls-enclosure,video::-webkit-media-controls-panel,video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}video{pointer-events:none}
.topbar{position:fixed;z-index:100;left:0;top:0;width:100%;height:86px;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;padding:0 3.2vw;color:#fff;mix-blend-mode:difference;pointer-events:none}.topbar>*{pointer-events:auto}.brand{width:132px;height:44px;display:flex;align-items:center}.brand img,footer img{display:block;width:100%;height:auto}.path-switcher{justify-self:center;display:flex;gap:4px;padding:5px;border:1px solid #ffffff4d;border-radius:40px;background:#05071399;backdrop-filter:blur(18px);opacity:0;transform:translateY(-10px);transition:.5s var(--ease)}body[data-path] .path-switcher{opacity:1;transform:none}body[data-path=""] .path-switcher{opacity:0;pointer-events:none}.path-switcher button,.motion-toggle{border:0;background:transparent;color:#fff;cursor:pointer}.path-switcher button{padding:10px 17px;border-radius:30px;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.path-switcher i{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:8px;background:#fff6}.path-switcher button[aria-pressed=true]{background:#fff;color:#080817}.path-switcher button[aria-pressed=true] i{background:#394cff;box-shadow:0 0 10px #394cff}.motion-toggle{justify-self:end;font-size:10px;letter-spacing:.12em;display:flex;gap:10px;align-items:center}.motion-toggle b{font-weight:500}
.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1,h2{font-size:clamp(48px,7vw,116px);line-height:.88;letter-spacing:-.055em;font-weight:500;margin-bottom:24px}em{font-family:"Playfair Display",Georgia,serif;font-weight:500}
.chooser{min-height:100svh;background:#050713;display:grid;grid-template-columns:1fr 1fr;position:relative}.choice-title{position:absolute;z-index:5;left:50%;top:20%;width:min(760px,90vw);text-align:center;transform:translateX(-50%);pointer-events:none;text-shadow:0 3px 40px #000}.choice-title h1{font-size:clamp(44px,6.2vw,96px);margin-bottom:18px}.choice-title>p:last-child{font-size:14px;color:#ffffffb8}.choice{position:relative;border:0;padding:0;overflow:hidden;min-height:100svh;text-align:left;cursor:pointer;color:#fff;background:#080914}.choice:after{content:"";position:absolute;inset:0;border:1px solid #ffffff1a;transition:.6s var(--ease)}.choice:hover:after,.choice:focus-visible:after{inset:18px;border-color:#ffffff99}.choice-wedding img{width:100%;height:100%;object-fit:cover;object-position:52% 50%;filter:saturate(.72) brightness(.66);transform:scale(1.03);transition:1.3s var(--ease)}.choice-wedding:hover img,.choice-wedding:focus-visible img{filter:saturate(.93) brightness(.74);transform:scale(1.09)}.choice-shade{position:absolute;inset:0;background:linear-gradient(90deg,#6a48291c,#130d05a0),linear-gradient(0deg,#000b 0%,transparent 45%)}.choice-index{position:absolute;left:5vw;bottom:26%;font-size:10px;letter-spacing:.2em}.choice-copy{position:absolute;left:5vw;bottom:7%;display:flex;flex-direction:column}.choice-copy small{font-size:12px;letter-spacing:.1em}.choice-copy strong{font:500 italic clamp(48px,6vw,90px)/1 "Playfair Display",serif}.choice-copy b{font-size:10px;letter-spacing:.13em;margin-top:22px}.choice-copy b i{font-size:20px;margin-left:8px}.choice-web{background:radial-gradient(circle at 68% 40%,#1d2f8a 0%,#0b123a 28%,#050713 68%)}.choice-grid,.map-grid{position:absolute;inset:0;background-image:linear-gradient(#7ee9ff10 1px,transparent 1px),linear-gradient(90deg,#7ee9ff10 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 55% 55%,#000,transparent 72%)}.choice-web svg{position:absolute;width:83%;left:8%;top:18%;stroke:#72e2ff;stroke-width:1.5;opacity:.6;filter:drop-shadow(0 0 9px #536bff)}.choice-web svg path{stroke-dasharray:9 7}.choice-web svg circle{fill:#fff;stroke:none;filter:drop-shadow(0 0 9px #76eaff)}.choice-orbit{position:absolute;border:1px solid #718bff99;border-radius:50%;box-shadow:0 0 50px #4a64ff30}.orbit-one{width:42vw;height:42vw;right:-13vw;top:10vh}.orbit-two{width:28vw;height:28vw;right:2vw;top:23vh;border-color:#78e8ff55}.choice-web:hover .orbit-one{transform:scale(1.08) rotate(10deg)}.choice-web:hover svg{opacity:1;transform:scale(1.025)}.choice-web svg,.choice-orbit{transition:1.2s var(--ease)}.ai-note{position:absolute;z-index:7;bottom:10px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.12em;color:#ffffff70;white-space:nowrap}
.experience{height:760svh;position:relative;background:var(--night)}.experience-stage{height:100svh;position:sticky;top:0;overflow:hidden}.no-choice{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#ffffff99}.no-choice a{font-size:11px;letter-spacing:.15em}.branch,.beat{position:absolute;inset:0;opacity:0;pointer-events:none}.branch[aria-hidden=false]{opacity:1}.wedding-branch{background:var(--cream);color:var(--ink)}.web-branch{background:radial-gradient(circle at 50% 42%,#121c56,var(--night) 65%);color:#fff}.wedding-intro{opacity:1}.photo-wrap{position:absolute;inset:0;will-change:transform,opacity}.photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:52% 50%;filter:saturate(.78) sepia(.07)}.photo-wrap span{position:absolute;inset:0;background:linear-gradient(90deg,#1a100675,transparent 50%,#f5ead820)}.ring-canvas{position:absolute;width:min(76vw,76vh);height:min(76vw,76vh);left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;filter:drop-shadow(0 20px 60px #62390044);will-change:opacity,transform}.intro-copy{position:absolute;left:6vw;top:26vh}.intro-copy h2{font-size:clamp(55px,8vw,124px)}.intro-copy>p:last-child{font-size:14px;line-height:1.7}.ring-words{position:absolute;left:50%;top:50%;text-align:center;transform:translate(-50%,-50%);opacity:0}.ring-words small{font-size:9px;letter-spacing:.25em}.ring-words strong{display:block;font-size:clamp(34px,5vw,72px);line-height:.95;margin-top:12px}.ai-badge{position:absolute;left:3vw;bottom:3vh;font-size:8px;letter-spacing:.18em;color:#29201088}.wedding-films{background:#000}.wedding-film{position:absolute;inset:0;margin:0;opacity:0;will-change:opacity,transform}.wedding-film:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02030bcf 0%,transparent 53%),linear-gradient(0deg,#000b 0%,transparent 40%)}.wedding-film video{width:100%;height:100%;object-fit:cover}.wedding-film[data-film="3"] video{object-position:center 35%}.wedding-film figcaption{position:absolute;z-index:2;left:6vw;bottom:9vh;display:flex;flex-direction:column}.wedding-film figcaption small{font-size:9px;letter-spacing:.2em}.wedding-film figcaption strong{font:500 italic clamp(45px,7vw,100px)/1 "Playfair Display",serif}.wedding-film figcaption span{font-size:9px;letter-spacing:.16em;margin-top:17px;color:#ffffff9c}.film-progress{position:absolute;z-index:4;right:3vw;top:50%;height:48vh;width:22px;display:grid;grid-template-columns:3px 1fr;grid-template-rows:1fr auto;gap:8px 9px;font-size:8px}.film-progress i{grid-row:1/3;background:#ffffff36;position:relative}.film-progress i:after{content:"";position:absolute;inset:0;background:white;transform-origin:top;transform:scaleY(var(--film-progress,0))}.film-progress span:last-child{align-self:end}.journey-progress{position:absolute;z-index:20;left:3.2vw;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:#ffffff9c}.journey-progress>i{height:80px;width:1px;background:#ffffff34;position:relative}.journey-progress>i b{position:absolute;inset:0;background:#fff;transform-origin:top;transform:scaleY(var(--journey,0))}body[data-path=wedding] .journey-progress{color:#1118;mix-blend-mode:difference}
.mindmap{opacity:1}.map-grid{opacity:.9}.map-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#70e4ff;stroke-width:1.4;filter:drop-shadow(0 0 8px #3b5cff);opacity:.85}.map-lines path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--map,0));vector-effect:non-scaling-stroke}.map-node{position:absolute;padding:14px 18px;border:1px solid #768cff73;background:#08102ccf;box-shadow:0 0 35px #566dff1c;min-width:150px;transform:translate(-50%,-50%) scale(calc(.75 + var(--node,0)*.25));opacity:var(--node,0)}.map-node small{display:block;font-size:8px;letter-spacing:.16em;color:#85e8ff;margin-bottom:7px}.map-node strong{font-size:14px}.map-node.center{left:50%;top:50%;border-radius:50%;width:170px;height:170px;display:grid;place-content:center;text-align:center;background:#566dff22;box-shadow:0 0 80px #566dff66;transform:translate(-50%,-50%) scale(calc(.65 + var(--node,0)*.35))}.map-node.center strong{font-size:28px;line-height:.9}.story{left:13%;top:24%}.audience{left:87%;top:23%}.look{left:91%;top:50%}.content{left:84%;top:79%}.goal{left:14%;top:79%}.web-heading{position:absolute;left:6vw;top:12vh;opacity:var(--heading,1)}.web-heading h2{font-size:clamp(44px,6.5vw,90px)}.website-build{opacity:0}.site-window{position:absolute;width:min(950px,69vw);height:min(620px,72vh);left:47%;top:47%;transform:translate(-50%,-50%);background:#f4f3ed;color:#0a0b16;box-shadow:0 45px 130px #000c,0 0 80px #536aff3d;border:1px solid #fff;overflow:hidden}.window-bar{height:36px;background:#111326;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 16px;font-size:8px;letter-spacing:.13em}.window-bar span{letter-spacing:4px;color:#79e9ff}.window-bar i{font-style:normal}.window-nav{height:13%;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:10px}.window-hero{height:70%;display:grid;grid-template-columns:1.2fr .8fr;padding:5%}.window-hero small{font-size:8px;letter-spacing:.2em}.window-hero h3{font-size:clamp(35px,4.3vw,72px);line-height:.9;letter-spacing:-.05em;margin:4vh 0 2vh}.window-hero p{font-size:12px}.window-hero>div>b{font-size:9px;letter-spacing:.16em;display:inline-block;margin-top:2vh;padding-bottom:6px;border-bottom:1px solid}.window-art{background:radial-gradient(circle,#6f7fff,#19245e 46%,#070919 72%);color:#fff;display:grid;place-content:center;text-align:center;position:relative;overflow:hidden}.window-art i{position:absolute;width:160%;height:160%;left:-30%;top:-30%;border:1px solid #83efff;border-radius:48%;transform:rotate(35deg);box-shadow:0 0 40px #647cff}.window-art span{font-size:clamp(20px,3vw,46px);line-height:.85;z-index:1}.window-strip{height:9%;display:flex;align-items:center;justify-content:space-around;color:white;background:#5268ee;font-size:8px;letter-spacing:.16em}.build-copy{position:absolute;right:5vw;bottom:6vh;width:34vw;text-align:right;opacity:0}.build-copy h2{font-size:clamp(38px,5vw,72px)}.build-copy p:last-child{line-height:1.7;font-size:13px}.packages{padding:13vh 6vw;background:radial-gradient(circle at 80% 25%,#152569,var(--night) 55%)}.package-heading{width:min(820px,72vw)}.package-heading h2{font-size:clamp(50px,7vw,96px)}.package-heading>p:last-child{width:520px;max-width:100%;line-height:1.7;color:#ffffffae}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:7vh}.package-grid article{border:1px solid #ffffff26;padding:28px;min-height:235px;background:#080a1dc9}.package-grid article.featured{background:#5168ed;border-color:#91efff;box-shadow:0 0 45px #5268ee44;transform:translateY(-24px)}.package-grid small{font-size:8px;letter-spacing:.18em;color:#91efff}.package-grid h3{font-size:25px;margin:35px 0 25px}.package-grid ul{list-style:none;padding:0;margin:0;color:#ffffffa6;font-size:12px;line-height:1.9}.package-grid li:before{content:"+ ";color:#8feeff}
.event-gallery{height:480svh;background:#050713;position:relative}.event-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:radial-gradient(circle at 50% 60%,#111d54,#050713 65%)}.event-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#7beaff0c 1px,transparent 1px),linear-gradient(90deg,#7beaff0c 1px,transparent 1px);background-size:55px 55px}.event-heading{position:absolute;left:50%;top:10vh;text-align:center;transform:translateX(-50%);width:90vw}.event-heading h2{font-size:clamp(44px,6vw,86px)}.event-heading>p:last-child{font-size:12px;color:#ffffff9b;line-height:1.7}.floating-gallery{position:absolute;inset:0}.float-card{position:absolute;margin:0;width:min(20vw,285px);aspect-ratio:9/15;background:#0a0b15;padding:7px;box-shadow:0 25px 70px #000b,0 0 35px #536bff38;border:1px solid #ffffff25;will-change:transform}.float-card video{width:100%;height:calc(100% - 42px);object-fit:cover;background:#0a0b15}.float-card figcaption{height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 6px}.float-card figcaption b{font-size:11px}.float-card figcaption span{font-size:7px;letter-spacing:.16em;color:#82e9ff}.card-a{left:5vw;top:35vh}.card-b{left:29vw;top:45vh}.card-c{right:27vw;top:36vh}.card-d{right:5vw;top:48vh}.gallery-foot{position:absolute;left:50%;bottom:2.5vh;transform:translateX(-50%);font-size:8px;letter-spacing:.2em}.gallery-foot span{margin-left:10px;color:#80eaff}
.contact{min-height:100svh;background:var(--cream);color:var(--ink);padding:16vh 7vw 10vh;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-intro h2{font-size:clamp(54px,7vw,104px)}.contact-intro>p:not(.eyebrow){max-width:440px;line-height:1.7}.direct-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:8vh;gap:12px}.direct-links a{font-size:12px;text-decoration:none;border-bottom:1px solid #20170f45}.contact-form{padding-top:2vh}.contact-form label{display:block;margin-bottom:24px}.contact-form label>span{display:block;font-size:8px;letter-spacing:.18em;margin-bottom:8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #251d1766;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:#303dce;box-shadow:0 1px #303dce}.contact-form button{width:100%;padding:18px;border:0;background:#0b0d22;color:#fff;font-size:10px;letter-spacing:.16em;display:flex;justify-content:space-between;cursor:pointer}.contact-form button:hover{background:#5368ed}.form-note,.form-status{font-size:9px!important;color:#1e18118a;margin-top:12px}.form-status{color:#3446cc}.contact+footer{}.contact ~ *{}footer{background:#03040d;padding:8vh 4vw;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.15em}footer img{width:120px}footer a{text-decoration:none}
body.quiet .experience,body.quiet .event-gallery{height:auto}body.quiet .experience-stage,body.quiet .event-stage{position:relative;height:auto;overflow:visible}body.quiet .branch[aria-hidden=false],body.quiet .beat{position:relative;inset:auto;opacity:1!important;pointer-events:auto}body.quiet .branch[aria-hidden=false]{display:block}body.quiet .branch[aria-hidden=true]{display:none}.quiet .journey-progress,.quiet .no-choice{display:none}.quiet .wedding-intro,.quiet .mindmap,.quiet .website-build,.quiet .packages{min-height:100svh}.quiet .photo-wrap{opacity:.45!important;transform:none!important}.quiet .ring-canvas{opacity:1!important}.quiet .wedding-films{display:grid}.quiet .wedding-film{position:relative;inset:auto;opacity:1!important;height:100svh}.quiet .mindmap{position:relative}.quiet .map-lines{--map:1}.quiet .map-node{--node:1}.quiet .website-build{display:flex;align-items:center}.quiet .site-window{position:relative;left:auto;top:auto;transform:none;margin-left:6vw}.quiet .build-copy{opacity:1;position:relative;right:auto;bottom:auto;padding:4vw}.quiet .event-stage{padding:12vh 5vw}.quiet .event-heading{position:relative;left:auto;top:auto;transform:none}.quiet .floating-gallery{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:7vh}.quiet .float-card{position:relative;inset:auto;width:auto!important;transform:none!important}.quiet .gallery-foot{display:none}
@media(max-width:850px){.topbar{height:72px;grid-template-columns:95px 1fr 42px;padding:0 14px}.brand{width:90px}.motion-toggle b{display:none}.path-switcher button{padding:9px 11px;font-size:8px}.chooser{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.choice{min-height:50svh}.choice-title{top:12%;}.choice-title h1{font-size:42px}.choice-copy{bottom:8%;left:7vw}.choice-copy strong{font-size:45px}.choice-index{left:auto;right:5vw;bottom:8%}.choice-web svg{top:0;height:100%}.orbit-one{width:70vw;height:70vw}.ai-note{width:90%;white-space:normal;text-align:center}.intro-copy{left:8vw;top:20vh}.intro-copy h2{font-size:52px}.map-node{min-width:108px;padding:10px}.map-node strong{font-size:11px}.map-node.center{width:115px;height:115px}.map-node.center strong{font-size:20px}.story{left:17%}.audience{left:82%}.look{left:84%}.content{left:79%}.goal{left:18%}.site-window{width:88vw;height:60vh;left:50%;top:39%}.window-nav span{display:none}.build-copy{width:86vw;bottom:5vh;right:7vw}.build-copy h2{font-size:38px}.package-grid{grid-template-columns:1fr;gap:8px;margin-top:3vh}.package-grid article{min-height:0;padding:18px}.package-grid article.featured{transform:none}.package-grid h3{margin:15px 0}.packages{padding-top:10vh}.package-heading h2{font-size:48px}.float-card{width:31vw}.card-a{left:3vw;top:38vh}.card-b{left:35vw;top:45vh}.card-c{right:3vw;top:36vh}.card-d{right:18vw;top:59vh}.event-heading{top:9vh}.contact{grid-template-columns:1fr;padding:13vh 7vw 8vh;gap:3vh}.direct-links{margin-top:4vh}footer{align-items:flex-start;gap:22px;flex-direction:column}.quiet .floating-gallery{grid-template-columns:repeat(2,1fr)}.quiet .site-window{margin:8vh auto 0}.quiet .website-build{display:block}.quiet .build-copy{padding:5vh 7vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* Final compact cut: immediate ring zoom, overview walls, no gallery parallax. */
.experience{height:100svh}
body[data-path="wedding"] .experience{height:190svh}
body[data-path="web"] .experience{height:310svh}
.zoom-target{position:absolute;left:50.5%;top:41.5%;width:4px;height:4px;border-radius:50%;box-shadow:0 0 0 1px #fff8,0 0 30px 12px #fff5;opacity:0}
.wedding-intro .photo-wrap{transform-origin:50.5% 41.5%}
.wedding-films{display:block;background:radial-gradient(circle at 50% 42%,#25315f 0,#0c102a 36%,#050713 76%);color:#fff;overflow:hidden}
.wedding-films:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#89eaff0b 1px,transparent 1px),linear-gradient(90deg,#89eaff0b 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle,#000,transparent 78%)}
.wedding-wall-heading{position:absolute;z-index:4;left:50%;top:10vh;transform:translateX(-50%);width:90%;text-align:center}
.wedding-wall-heading h2{font-size:clamp(44px,6vw,86px);margin-bottom:13px}.wedding-wall-heading>span{font-size:10px;letter-spacing:.12em;color:#ffffff8f}
.wedding-wall{position:absolute;inset:0;z-index:3}
.wedding-film{position:absolute!important;inset:auto!important;margin:0!important;opacity:1;width:min(29vw,430px);aspect-ratio:16/10;background:#05060d;padding:6px;border:1px solid #ffffff31;box-shadow:0 28px 70px #000b,0 0 35px #5b72ff2b;will-change:transform,opacity}
.wedding-film video{display:block;width:100%;height:100%;object-fit:cover;background:#05060d}
.wedding-film>span{position:absolute;right:10px;top:10px;background:#050713d9;border:1px solid #ffffff4d;border-radius:50%;width:27px;height:27px;display:grid;place-content:center;font-size:8px;letter-spacing:.1em}
.wedding-film.film-one{left:4vw;top:34vh;transform:rotate(-3deg)}
.wedding-film.film-two{left:35.5vw;top:28vh;transform:rotate(2deg)}
.wedding-film.film-three{right:4vw;top:37vh;transform:rotate(-1.5deg)}
.wedding-film.film-four{width:min(16vw,230px);aspect-ratio:9/14;left:50%;top:60vh;transform:translateX(-50%) rotate(1.5deg)}
.film-progress,.ring-canvas,.ring-words{display:none!important}

.event-gallery{height:auto;min-height:115svh;position:relative;background:#050713}
.event-stage{position:relative;top:auto;height:auto;min-height:115svh;overflow:hidden;padding:11vh 4vw 8vh;background:radial-gradient(circle at 50% 63%,#16245d,#050713 66%)}
.event-heading{position:relative;left:auto;top:auto;transform:none;width:100%;z-index:3}.event-heading h2{margin-bottom:13px}.event-heading>p:last-child{font:500 italic 22px/1.2 "Playfair Display",serif;color:#9aeaff}
.event-marquee{position:absolute;left:-2%;top:43%;display:flex;width:104%;overflow:hidden;gap:3vw;white-space:nowrap;color:#ffffff08;font-size:clamp(64px,10vw,160px);font-weight:600;letter-spacing:-.06em;transform:rotate(-3deg);pointer-events:none}
.floating-gallery{position:relative;inset:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.4vw,22px);align-items:center;width:min(1150px,92vw);margin:8vh auto 0}
.float-card{position:relative;inset:auto!important;width:100%;aspect-ratio:9/14;margin:0;padding:5px;background:#080a16;border:1px solid #ffffff2c;box-shadow:0 22px 65px #000a,0 0 30px #526aff26;transform:none!important}
.float-card:nth-child(even){margin-top:5vh}.float-card video{display:block;width:100%;height:100%;object-fit:cover}.float-card figcaption{display:none}
.event-statement{position:relative;text-align:center;margin:7vh 0 0;font-size:11px;letter-spacing:.2em}.event-statement em{font-size:19px;color:#8eebff;margin-left:8px}.gallery-foot{display:none}

body.quiet[data-path="wedding"] .experience,body.quiet[data-path="web"] .experience{height:auto}
.quiet .wedding-films{min-height:100svh}.quiet .wedding-wall{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:90vw;margin:30vh auto 8vh}.quiet .wedding-film{position:relative!important;inset:auto!important;width:100%!important;aspect-ratio:16/10!important;transform:none!important}.quiet .wedding-film.film-four{aspect-ratio:9/12!important;width:55%!important;justify-self:center}
.quiet .event-gallery,.quiet .event-stage{min-height:auto}.quiet .event-stage{padding:12vh 5vw}.quiet .floating-gallery{grid-template-columns:repeat(4,1fr)}

@media(max-width:850px){body[data-path="wedding"] .experience{height:195svh}body[data-path="web"] .experience{height:300svh}.wedding-wall-heading{top:10vh}.wedding-wall-heading>span{font-size:8px}.wedding-film{width:43vw}.wedding-film.film-one{left:4vw;top:36vh}.wedding-film.film-two{left:auto;right:4vw;top:33vh}.wedding-film.film-three{left:4vw;right:auto;top:59vh}.wedding-film.film-four{width:27vw;left:auto;right:9vw;top:57vh;transform:rotate(2deg)}.event-gallery,.event-stage{min-height:auto}.event-stage{padding:11vh 4vw 9vh}.floating-gallery{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:6vh}.float-card:nth-child(even){margin-top:3vh}.event-statement{margin-top:5vh}.event-marquee{top:48%}.quiet .wedding-wall{margin-top:25vh}.quiet .floating-gallery{grid-template-columns:repeat(2,1fr)}}

/* Explicit edges prevent the legacy full-screen inset from stacking cards at 0/0. */
body:not(.quiet) .wedding-film.film-one{inset:34vh auto auto 4vw!important}
body:not(.quiet) .wedding-film.film-two{inset:29vh auto auto 35.5vw!important}
body:not(.quiet) .wedding-film.film-three{inset:37vh 4vw auto auto!important}
body:not(.quiet) .wedding-film.film-four{inset:60vh auto auto 50%!important}
@media(max-width:850px){body:not(.quiet) .wedding-film.film-one{inset:36vh auto auto 4vw!important}body:not(.quiet) .wedding-film.film-two{inset:33vh 4vw auto auto!important}body:not(.quiet) .wedding-film.film-three{inset:59vh auto auto 4vw!important}body:not(.quiet) .wedding-film.film-four{inset:57vh 9vw auto auto!important}}

/* Faster cinematic progression: the visuals react after a short, deliberate scroll. */
body[data-path="wedding"] .experience{height:155svh}
body[data-path="web"] .experience{height:235svh}
