.social-page { padding-bottom:28px; }
.social-page-head { max-width:820px; padding-bottom:32px; }
.social-page-head h1 { max-width:none; }
.social-page-head > p:last-child { max-width:680px; }
.social-accounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.social-account { display:flex; align-items:stretch; border:1px solid var(--line); border-radius:5px; overflow:hidden; background:#fffdf7; }
.social-account-brand { display:flex; align-items:center; justify-content:center; width:32%; min-width:130px; padding:20px; background:#173b30; }
.social-account-brand img { width:100%; height:auto; max-height:85px; object-fit:contain; }
.social-account-copy { padding:24px; min-width:0; }
.social-account h2 { font-size:22px; font-weight:500; line-height:1.3; margin:0 0 10px; }
.social-account p { color:var(--muted); font-size:16px; line-height:1.6; margin:0 0 16px; }
.social-links { display:flex; flex-wrap:wrap; gap:10px; }
.social-icon {
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:48px; height:48px; border:1px solid #cbd5c6; border-radius:50%;
  background:#fffdf7; text-decoration:none;
}
.social-icon img { display:block; width:26px; height:26px; }
.social-icon:hover { background:#e7eddf; border-color:#476650; }
.social-icon:focus-visible { outline:3px solid #a3651d; outline-offset:3px; }
.social-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#234c3b; font-size:16px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.social-link:hover { color:#986120; }
.social-link:focus-visible,.social-film-cover:focus-visible { outline:3px solid #a3651d; outline-offset:5px; }
.social-videos { padding:48px 0 36px; }
.social-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; margin-bottom:24px; }
.social-section-heading h2 { font-size:32px; font-weight:400; letter-spacing:-.025em; line-height:1.2; margin:0; }
.social-film { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); background:#edf0e6; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.social-film + .social-film { margin-top:24px; }
.social-film-cover { display:block; position:relative; min-width:0; aspect-ratio:16/9; background:#173b30; }
.social-film-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,#09271bd9); pointer-events:none; }
.social-film-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.social-play { display:grid; place-items:center; width:64px; height:64px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%; background:#fbfaf5; color:#173b30; font-size:23px; padding-left:4px; z-index:1; }
.social-film-platform { position:absolute; bottom:22px; left:24px; right:24px; color:white; font-size:16px; font-weight:600; z-index:1; }
.social-film-copy { align-self:center; padding:32px; }
.social-film-copy h3 { font-family:Georgia,serif; font-size:32px; font-weight:400; line-height:1.2; margin:12px 0 16px; }
.social-film-copy > p:not(.kicker) { font-size:17px; line-height:1.65; color:var(--muted); }
.social-film-copy .social-credit { font-size:14px!important; margin-bottom:0; }
.social-contact { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.social-contact p { margin:0; font-size:18px; }
.social-notes { margin:24px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.social-notes a { display:inline-block; margin-left:12px; text-underline-offset:3px; }
@media(max-width:1000px) {
  .social-account { display:block; }
  .social-account-brand { width:100%; height:110px; }
  .social-account-brand img { width:150px; }
  .social-film-copy { padding:24px; }
  .social-film-copy h3 { font-size:28px; }
}
@media(max-width:640px) {
  .social-accounts,.social-film { grid-template-columns:1fr; }
  .social-accounts { gap:16px; }
  .social-account { display:flex; }
  .social-account-brand { width:28%; min-width:100px; height:auto; padding:14px; }
  .social-account-copy { padding:20px; }
  .social-account h2 { font-size:20px; }
  .social-videos { padding-top:36px; }
  .social-section-heading h2 { font-size:28px; }
  .social-film-platform { bottom:16px; left:18px; }
  .social-notes a { display:block; margin-left:0; padding-top:6px; }
}
@media(max-width:360px) {
  .social-account { display:block; }
  .social-account-brand { width:100%; height:92px; }
  .social-account-brand img { width:135px; }
}
