body.tf-wedding-fix #tf-wedding-video { background:#fff!important; color:#302b2a; padding:64px 28px; border-top:1px solid #eadfe1; border-bottom:1px solid #eadfe1; }
.tf-wedding-video * { box-sizing:border-box; }
.tf-wedding-video .tf-wv-inner { max-width:1140px; margin:auto; }
.tf-wedding-video .tf-wv-kicker { margin:0 0 18px; font-size:12px; font-weight:600; color:#94614f; text-transform:uppercase; text-align:center; }
body.tf-wedding-fix #tf-wedding-video h2 { font-family:Georgia,'Times New Roman',serif!important; font-size:44px!important; line-height:1.15; font-weight:400!important; color:#302b2a; margin:0 0 40px!important; text-align:center; }
.tf-wedding-video h2 em { font-weight:400; color:#94614f; }
.tf-wedding-video .tf-wv-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:center; }
.tf-wedding-video .tf-wv-photo { margin:0; min-width:0; }
.tf-wedding-video .tf-wv-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center; }
.tf-wedding-video .tf-wv-photo figcaption { font-family:Georgia,'Times New Roman',serif!important; font-size:19px; line-height:1.5; color:#6e625e; margin:16px 0 0; }
.tf-wedding-video .tf-wv-team { margin:0 0 28px; font-size:17px; line-height:1.8; color:#625a57; }
.tf-wedding-video .tf-wv-team strong { font-weight:600; color:#302b2a; }
.tf-wedding-video .tf-wv-roles { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.tf-wedding-video .tf-wv-roles li { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; border-top:1px solid #dfd3d5; padding:24px 0; }
.tf-wedding-video .tf-wv-medium { font-family:Georgia,'Times New Roman',serif!important; font-size:30px; line-height:1.2; color:#94614f; }
.tf-wedding-video .tf-wv-roles h3 { font-size:18px; margin:0 0 8px; color:#302b2a; line-height:1.5; }
.tf-wedding-video .tf-wv-roles p { font-size:15px; line-height:1.7; color:#625a57; margin:0; }
.tf-wedding-video .tf-wv-conclusion { font-size:15px; line-height:1.7; color:#625a57; padding:18px 20px; margin:0; background:#fff5f5; border-left:2px solid #d5aaa7; }
.tf-wedding-video .tf-wv-contact { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; max-width:100%; min-height:48px; padding:14px 0; margin-top:20px; border-bottom:1px solid #bc9d8c; color:#684d40; font-size:15px; font-weight:600; text-decoration:none; }
.tf-wedding-video .tf-wv-contact span { font-size:24px; flex:0 0 auto; }
.tf-wedding-video .tf-wv-contact:hover { color:#302b2a; }
.tf-wedding-video .tf-wv-contact:focus-visible { outline:2px solid #94614f; outline-offset:5px; }
@media(max-width:991px) {
  .tf-wedding-video .tf-wv-layout { gap:32px; }
  .tf-wedding-video .tf-wv-roles li { grid-template-columns:80px minmax(0,1fr); gap:14px; }
  .tf-wedding-video .tf-wv-medium { font-size:26px; }
  body.tf-wedding-fix #tf-wedding-video h2 { font-size:38px!important; }
}
@media(max-width:700px) {
  body.tf-wedding-fix #tf-wedding-video { padding:44px 20px; }
  body.tf-wedding-fix #tf-wedding-video h2 { font-size:36px!important; margin-bottom:28px!important; }
  .tf-wedding-video .tf-wv-layout { grid-template-columns:1fr; gap:28px; }
  .tf-wedding-video .tf-wv-photo img { aspect-ratio:4/3; }
  .tf-wedding-video .tf-wv-photo figcaption { font-size:18px; }
  .tf-wedding-video .tf-wv-team { font-size:16px; margin-bottom:24px; }
}
