/* Motion stays on headings and interactive affordances, never on whole photo grids. */
body.tf-wedding-fix main section[id],body.tf-wedding-fix main h1[id],body.tf-wedding-fix main h2[id],body.tf-wedding-fix main h3[id] { scroll-margin-top:110px; }
body.tf-wedding-fix .tf-m-heading-enter { animation:tf-m-heading 700ms cubic-bezier(.16,1,.3,1) backwards; }
@keyframes tf-m-heading { from { opacity:.4; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
body.tf-wedding-fix .tf-photo-grid a { display:block; overflow:hidden; }
body.tf-wedding-fix .tf-photo-grid img,body.tf-wedding-fix #carousel_9db9 .u-back-image,body.tf-wedding-fix .tf-wv-photo img { transition:transform 850ms cubic-bezier(.2,.7,.2,1); }
body.tf-wedding-fix main .u-btn,body.tf-wedding-fix .tf-wv-contact,body.tf-wedding-fix .tf-unique-contact,body.tf-wedding-fix .tf-wfaq-contact { transition:transform 300ms ease,color 300ms ease,background-color 300ms ease; }
body.tf-wedding-fix main a:focus-visible,body.tf-wedding-fix main button:focus-visible { outline:2px solid #94614f; outline-offset:4px; }
body.tf-wedding-fix .tf-wv-photo { overflow:hidden; }
body.tf-wedding-fix .tf-wv-photo figcaption { position:relative; background:white; }
body.tf-wedding-fix .tf-wv-medium { display:flex; flex-direction:column; gap:10px; }
body.tf-wedding-fix .tf-wv-medium svg { width:26px; height:26px; stroke-width:1.4; }
body.tf-wedding-fix .tf-wo-list li { padding-left:28px; position:relative; }
body.tf-wedding-fix .tf-wo-list li::before { display:none; }
body.tf-wedding-fix .tf-wo-list li > svg { position:absolute; left:0; top:4px; width:18px; height:18px; color:#a0796f; stroke-width:1.6; }
body.tf-wedding-fix .tf-wedding-steps h3 { display:flex; align-items:center; gap:10px; }
body.tf-wedding-fix .tf-wedding-steps h3 > svg { width:22px; height:22px; flex:0 0 22px; color:#94614f; stroke-width:1.5; }
@media(hover:hover) and (pointer:fine) {
  body.tf-wedding-fix .tf-photo-grid a:hover img,body.tf-wedding-fix #carousel_9db9 .u-gallery-item:hover .u-back-image { transform:scale(1.025); }
  body.tf-wedding-fix .tf-wv-photo:hover img { transform:scale(1.015); }
  body.tf-wedding-fix main .u-btn:hover,body.tf-wedding-fix .tf-wv-contact:hover,body.tf-wedding-fix .tf-unique-contact:hover,body.tf-wedding-fix .tf-wfaq-contact:hover { transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) {
  body.tf-wedding-fix .tf-m-heading-enter { animation:none!important; }
  body.tf-wedding-fix .tf-photo-grid img,body.tf-wedding-fix #carousel_9db9 .u-back-image,body.tf-wedding-fix .tf-wv-photo img,body.tf-wedding-fix main .u-btn,body.tf-wedding-fix .tf-wv-contact,body.tf-wedding-fix .tf-unique-contact,body.tf-wedding-fix .tf-wfaq-contact { transition:none!important; transform:none!important; }
}
@media(max-width:1199px) { body.tf-wedding-fix main section[id],body.tf-wedding-fix main h1[id],body.tf-wedding-fix main h2[id],body.tf-wedding-fix main h3[id] { scroll-margin-top:88px; } }
