.flourish{display:block;width:min(100%,360px);height:70px;color:var(--cyan);overflow:visible;pointer-events:none}.hero-copy>.flourish{margin:4px 0 12px}.flourish .heart{stroke:var(--orange);transform-origin:center;transform-box:fill-box;animation:heart-breathe 4s ease-in-out infinite}.wedding-divider{text-align:center;padding:55px 6vw 0}.wedding-divider .flourish{margin:auto;width:min(100%,500px)}.wedding-divider>span{font-family:Georgia,serif;font-style:italic;font-size:21px;color:var(--white)}.about-copy>.flourish{width:250px;margin-bottom:24px}.wedding-emblem{width:230px;color:var(--cyan);margin:0 auto 20px;pointer-events:none}.wedding-emblem svg{width:100%;overflow:visible}.wedding-emblem .couple{color:var(--white)}.wedding-emblem .arch{transform-origin:50% 100%;animation:arch-sway 8s ease-in-out infinite}.emblem-heart{transform-origin:center;transform-box:fill-box;animation:heart-breathe 4s ease-in-out infinite}.veil{animation:veil-flow 6s ease-in-out infinite;transform-origin:120px 125px}.services>.wedding-emblem{grid-column:1/-1}.motion-toggle{position:fixed;bottom:18px;left:18px;z-index:30;border:1px solid #ffffff60;background:var(--black);color:var(--white);border-radius:24px;padding:12px 17px;min-height:44px;font-size:11px;cursor:pointer}.motion-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.motion-enter{animation:wedding-enter .9s cubic-bezier(.22,1,.36,1) both}.motion-enter .flourish path[pathLength]{stroke-dasharray:1;animation:flourish-draw 2.4s ease both}.discover span{display:inline-block;animation:scroll-nudge 2.5s ease-in-out infinite}.film-poster .play{animation:heart-breathe 4s ease-in-out infinite}.button,.text-link,.photo-card,.service-choices span{transition-duration:.35s}.motion-paused *, .motion-paused *::before,.motion-paused *::after,.motion-offscreen .flourish *,.motion-offscreen .arch,.motion-offscreen .emblem-heart{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}.motion-paused .motion-enter{animation:none}.motion-paused .flourish path{stroke-dashoffset:0}
@keyframes wedding-enter{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes flourish-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes heart-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}@keyframes arch-sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes veil-flow{0%,100%{transform:skewY(-2deg)}50%{transform:skewY(3deg)}}@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(max-width:760px){.motion-toggle{bottom:80px;left:16px;padding:8px 13px;background:#000e}.wedding-divider{padding-top:30px}.wedding-divider>span{font-size:18px}.wedding-emblem{width:180px}.hero-copy>.flourish{height:54px;width:260px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none}}
/* Detailed ornament placement: separate from all interactive content. */
.detailed-flourish{height:auto;max-height:100px}.vine-left,.vine-right{transform-box:fill-box;transform-origin:center;animation:botanical-breathe 9s ease-in-out infinite}.vine-right{animation-delay:-4.5s}.gallery-end>.flourish,.film-footer>.flourish{margin:0 auto 24px;flex-basis:100%;width:min(420px,100%)}.film-footer{flex-wrap:wrap}.closing-ornament{padding:15px 6vw 35px}.closing-ornament>.flourish{margin:auto;width:min(480px,100%)}.detailed-emblem{width:280px;max-width:100%;position:relative}.contact-emblem{grid-column:1;grid-row:2;margin:0 auto}.contact>#enquiry-form{grid-column:2;grid-row:1/span 2}.couple-illustration{position:absolute;width:67%;height:70%;object-fit:contain;left:16.5%;bottom:7%;pointer-events:none}.detailed-emblem svg{display:block}.detailed-emblem .arch{animation-duration:12s}.motion-paused .vine-left,.motion-paused .vine-right{animation-play-state:paused!important}
@keyframes botanical-breathe{0%,100%{opacity:.75}50%{opacity:1}}
@media(max-width:760px){.detailed-emblem{width:230px}.contact>.contact-emblem{grid-column:auto;grid-row:auto;margin:8px auto 24px}.contact>#enquiry-form{grid-column:auto;grid-row:auto}.detailed-flourish{min-height:58px}.hero-copy>.detailed-flourish{width:min(300px,100%);height:60px}.gallery-end>.flourish,.film-footer>.flourish{width:min(340px,100%)}.closing-ornament{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.vine-left,.vine-right{animation:none}}
.vine-left,.vine-right{transform-box:view-box;transform-origin:0 0}.gallery-end{flex-wrap:wrap}.gallery-end>.flourish,.film-footer>.flourish{flex:0 0 100%;width:100%;max-width:none;height:90px}.gallery-end>.flourish{margin-bottom:12px}
/* Responsive review: controls occupy layout space and never cover content. */
.header{gap:20px;flex-wrap:wrap;height:auto;min-height:108px}.header nav{margin-left:auto}.motion-toggle{position:static;flex-shrink:0;margin:0;z-index:auto}.portrait{left:49%;width:14%}.hero-copy{min-width:0}.services{row-gap:36px}.detailed-emblem{isolation:isolate}.flourish{overflow:hidden}.wedding-emblem svg{overflow:hidden}
@media(min-width:761px) and (max-width:1100px){.portrait{left:51%;width:15%}h1{font-size:clamp(52px,6.8vw,78px)}}
@media(max-width:760px){.header{display:grid;grid-template-columns:1fr auto;gap:12px;min-height:96px;padding-bottom:16px}.header nav{top:100%;margin:0}.motion-toggle{grid-column:1/-1;justify-self:end;min-height:36px;padding:8px 13px}.portrait{left:16%;width:28%}.mobile-enquire{position:relative;inset:auto;width:calc(100% - 12vw);margin:0 6vw 28px;box-shadow:none}.contact{padding-bottom:40px}footer{padding-bottom:35px}}
.film-poster .play.large{color:var(--cyan);border:1px solid var(--cyan)}
.motion-offscreen.motion-enter{animation-play-state:running!important}

