* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { background: #F7F6F4; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  a { color: #141414; text-decoration: none; }
  a:hover { color: #575349; }
  :focus-visible { outline: 2px solid #575349; outline-offset: 3px; }
  .fl-line-mask { display: block; overflow: hidden; padding: 0.14em 0 0.2em; margin: -0.14em 0 -0.2em; }
  .fl-line { display: block; will-change: transform; }
  .fl-img-inner { will-change: transform; }
  .fl-anim-clip { transition: clip-path 1.15s cubic-bezier(.16,1,.3,1); }
  .fl-anim-clip.fl-hidden { clip-path: inset(0 0 100% 0); }
  .fl-anim-clip .fl-img-inner { transition: transform 1.35s cubic-bezier(.16,1,.3,1); }
  .fl-anim-clip.fl-hidden .fl-img-inner { transform: scale(1.08); }
  .fl-anim-fade > * { transition: opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1); }
  #hero-h { text-transform: uppercase; }
  #about-copy .fl-word { transition: color .45s ease; }
  #fl-about-img { transition: clip-path 1.1s cubic-bezier(.16,1,.3,1), transform 1.3s cubic-bezier(.16,1,.3,1); }
  #fl-film-wrap { transform-origin: center center; transition: transform .18s linear, border-radius .18s linear; }
  #fl-more-img { transition: transform .2s linear; }
  #fl-cta-img { transition: transform .12s linear, opacity 1s ease, scale 1.4s cubic-bezier(.16,1,.3,1); }
  @media (prefers-reduced-motion: reduce) { #fl-more-img, #fl-hero-img, #fl-cta-img { transform: none !important; } }
  #fl-socials li:first-child a { margin-left: -10px; }
  .fl-burger { display: block; position: relative; width: 20px; height: 14px; }
  .fl-burger > span { position: absolute; left: 0; width: 100%; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform .4s cubic-bezier(.16,1,.3,1), opacity .25s ease, top .3s ease; }
  .fl-burger > span:nth-child(1) { top: 0; }
  .fl-burger > span:nth-child(2) { top: 6.25px; }
  .fl-burger > span:nth-child(3) { top: 12.5px; }
  #fl-menu-btn:hover .fl-burger > span:nth-child(1) { top: -1px; }
  #fl-menu-btn:hover .fl-burger > span:nth-child(3) { top: 13.5px; }
  .fl-burger.is-x > span:nth-child(1) { top: 6.25px; transform: rotate(45deg); }
  .fl-burger.is-x > span:nth-child(2) { opacity: 0; }
  .fl-burger.is-x > span:nth-child(3) { top: 6.25px; transform: rotate(-45deg); }
  .fl-sermon-shot img { transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
  @media (max-width: 900px) { #fl-sermon-row { grid-template-columns: repeat(3, minmax(0,1fr)); } }
  @media (max-width: 620px) { #fl-sermon-row { grid-template-columns: 1fr; } }
  .fl-sermon-shot:hover img { transform: scale(1.06); }
  @media (max-width: 560px) { .fl-sermon-shot { transform: none !important; } }
  .fl-tile img { transition: transform 1.1s cubic-bezier(.16,1,.3,1), filter .8s ease; }
  .fl-tile:hover img, .fl-tile:focus-within img { transform: scale(1.06); filter: saturate(1.06); }
  .fl-tile .fl-tile-scrim { transition: background .6s ease; }
  .fl-tile:hover .fl-tile-scrim, .fl-tile:focus-within .fl-tile-scrim { background: linear-gradient(to bottom, rgba(10,10,10,0.66) 0%, rgba(10,10,10,0.76) 45%, rgba(10,10,10,0.9) 100%); }
  @media (prefers-reduced-motion: reduce) { .fl-tile:hover img, .fl-tile:focus-within img { transform: none; } }
  @media (prefers-reduced-motion: reduce) { #fl-film-wrap { transform: none !important; border-radius: 0 !important; } }
  #fl-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: transparent; transition: background .4s ease, box-shadow .4s ease; }
  #fl-header.is-stuck { background: #141414; box-shadow: 0 1px 0 rgba(255,255,255,0.08); }
  #fl-menu { position: fixed; inset: 0; z-index: 60; visibility: hidden; transform: translateY(-100%); transition: transform .6s cubic-bezier(.16,1,.3,1); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  @media (max-height: 620px) {
    #fl-menu li a { font-size: clamp(20px, 5vh, 28px) !important; padding: 8px 0 !important; }
    #fl-menu > ul { gap: 0 !important; }
  }
  #fl-menu.is-open { visibility: visible; transform: translateY(0); }
  #fl-menu li { opacity: 0; transform: translateY(24px); transition: opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1); }
  #fl-menu.is-open li { opacity: 1; transform: translateY(0); }
  #fl-menu.is-open li:nth-child(2) { transition-delay: .06s; }
  #fl-menu.is-open li:nth-child(3) { transition-delay: .12s; }
  #fl-menu.is-open li:nth-child(4) { transition-delay: .18s; }
  #fl-menu.is-open li:nth-child(5) { transition-delay: .24s; }
  #fl-menu.is-open li:nth-child(6) { transition-delay: .30s; }
  @media (max-width: 900px) {
    #fl-navlinks { display: none !important; }
    #fl-menu-btn { display: inline-flex !important; align-items: center; justify-content: center; }
    #fl-header nav { padding: 12px 20px !important; flex-wrap: nowrap !important; }
  }
  @media (max-width: 560px) {
    #fl-header nav { padding: 10px 16px !important; }
    #fl-header nav img { height: 44px !important; }
    #fl-header .fl-join { padding: 12px 18px !important; font-size: 12px !important; }
    #fl-menu-btn { width: 46px !important; height: 46px !important; }
    #fl-menu li a { font-size: clamp(26px, 8vw, 40px) !important; }
  }
  @media (max-width: 420px) {
    #fl-header .fl-join { display: none !important; }
  }
  .fl-anim-fade.fl-hidden > * { opacity: 0; transform: translateY(22px); }
  @media (prefers-reduced-motion: reduce) {
    .fl-line { transform: none !important; }
    .fl-anim-clip, .fl-anim-fade > * { transition: none !important; }
    .fl-hidden { clip-path: none !important; }
    .fl-anim-fade.fl-hidden > * { opacity: 1 !important; transform: none !important; }
  }
