/* ==========================================================================
   LFFO FIXES - appended layer, loaded last of all. Legible + reversible.
   ========================================================================== */

/* (A) HEADER - NO SHADOW/SCRIM ANYWHERE. */
.site-header::after{ content:none !important; }

/* (B) ABOUT-PAGE PORTRAIT - NO ARCH. */
body:not(.home) #president .pp-frame{ --pp-arch:2px !important; }

/* (C) LIBRARY FILTER CHECKBOXES - NEVER GOLD, NEVER FILLED. */
.lf-opt.is-on .lf-tick{ background:var(--surface,#fff) !important; border-color:var(--navy,#0f2038) !important; }
.lf-opt.is-on .lf-tick svg{ stroke:var(--navy,#0f2038) !important; opacity:1 !important; }
.lf-opt.is-on .lf-lb{
  background:var(--surface-2,#f1f5fb) !important;
  border-color:rgba(28,52,84,.5) !important;
  box-shadow:inset 0 0 0 1px rgba(28,52,84,.18) !important;
}

/* (D) LIBRARY MEMBER FILTER ROWS - NO DOUBLE BOX (single gold outline + glow). */
.lf-opt.is-gated{
  border-radius:6px;
  box-shadow:0 0 0 1px rgba(201,163,78,.55), 0 0 9px -1px rgba(201,163,78,.30) !important;
}
.lf-opt.is-gated .lf-lb{ background:none !important; border-color:transparent !important; box-shadow:none !important; }

/* (E) LIBRARY MEMBER FILTER ROWS - ANIMATED GLOW ALONG THE OUTSIDE. */
.lf-opt.is-gated.spark-run::before{ opacity:.4; filter:drop-shadow(0 0 2px rgba(220,183,99,.4)); }
@media (prefers-reduced-motion: no-preference){
  .lf-opt.is-gated.spark-run::before{
    animation:lffoTravel 7s linear infinite !important; opacity:1 !important;
    filter:drop-shadow(0 0 3px rgba(220,183,99,.65)) !important;
  }
}

/* (F) MEMBER FILTERS ARE FOR MEMBERS. */
body:not(.lffo-member) .lf-opt.is-gated{ display:none !important; }

/* (G) MEMBER DOCUMENT PAGE-FOLD - the public dog-ear design, in GOLD, members only.
   Same two-triangle folded corner and scale animation the public fold uses;
   re-coloured gold and shown only to signed-in members. */
.lb-row.is-mem > .lb-fold{ display:none !important; }
body.lffo-member .lb-row.is-mem > .lb-fold{
  display:block !important;
  position:absolute !important; top:0 !important; right:0 !important; z-index:5 !important;
  width:22px !important; height:22px !important; overflow:visible !important;
  background:transparent !important; pointer-events:none;
  transform:scale(.8) !important; transform-origin:top right !important;
  transition:transform .4s cubic-bezier(.22,1,.36,1) !important;
  clip-path:none !important; -webkit-clip-path:none !important; filter:none !important;
}
body.lffo-member .lb-row.is-mem:hover > .lb-fold,
body.lffo-member .lb-row.is-mem:focus-within > .lb-fold{ transform:scale(1) !important; }
body.lffo-member .lb-row.is-mem > .lb-fold::after{
  content:"" !important; position:absolute !important; inset:0 !important;
  width:auto !important; height:auto !important; border:0 !important; transform:none !important;
  clip-path:polygon(0 0, 100% 0, 100% 100%) !important;
  background:linear-gradient(225deg, #8a6a24 0%, #a07c33 60%, #b98f38 100%) !important; filter:none !important;
}
body.lffo-member .lb-row.is-mem > .lb-fold::before{
  content:"" !important; position:absolute !important; inset:0 !important;
  width:auto !important; height:auto !important; border:0 !important; transform:none !important;
  clip-path:polygon(0 0, 100% 100%, 0 100%) !important;
  background:linear-gradient(225deg, #f6ecd0 44%, #e7d4a6 58%, #d4b877 78%, #c9a34e 100%) !important;
  filter:drop-shadow(-2px 2px 3px rgba(10,23,40,.30)) !important;
}

/* (H) SECTION DIVIDERS - symmetric gold lines + restored entry animation. */
.section-divider .divider-line.left{
  background:linear-gradient(270deg, var(--gold,#c9a34e), rgba(201,163,78,.18) 62%, transparent) !important;
}
.section-divider .divider-line.right{
  background:linear-gradient(90deg, var(--gold,#c9a34e), rgba(201,163,78,.18) 62%, transparent) !important;
}
.section-divider .divider-line{ transition:transform .95s var(--ease-lux,cubic-bezier(.22,1,.36,1)) .1s !important; }
.section-divider .divider-bloom{ transition:transform 1.2s var(--ease-lux,cubic-bezier(.22,1,.36,1)) .05s, opacity 1.4s ease .05s !important; }
.section-divider.landed .divider-line{ transform:scaleX(1) !important; }
.section-divider.landed .divider-bloom{ transform:translate(-50%,-50%) scale(9) !important; opacity:.5 !important; }
.section-divider.landed .divider-leaf{ animation:leaf-drift var(--leaf-fall,1.9s) linear forwards !important; }
@media (prefers-reduced-motion: reduce){
  .section-divider .divider-line, .section-divider .divider-bloom{ transition:none !important; }
  .section-divider.landed .divider-leaf{ animation:none !important; opacity:.85 !important; }
}

/* (I) LOGIN / LOGOUT BUTTON - no gold background fade, no underline sweep. */
.nav-login .nl-rail{ display:none !important; }
.nav-login,
.nav-login:hover, .nav-login:focus-visible, .nav-login:active,
.nav-login.is-authed{ background:transparent !important; }
/* the mobile-menu login plate, same treatment */
.nav-login-m .nl-rail{ display:none !important; }
.nav-login-m, .nav-login-m:hover, .nav-login-m:focus-visible, .nav-login-m:active{ background:transparent !important; }
.nav-login-m::before{ display:none !important; }

/* (J) LAST-SECTION "VIEW MEMBERSHIP" - the hero plate style + shine, in WHITE with a subtle glow. */
body.home .btn-member.btn-line{
  background:#ffffff !important; color:var(--navy,#0f2038) !important;
  border-color:rgba(255,255,255,.55) !important;
  box-shadow:0 1px 3px rgba(10,23,40,.14), 0 0 16px rgba(255,255,255,.22) !important;
}
body.home .btn-member.btn-line:hover,
body.home .btn-member.btn-line:focus-visible{
  background:#ffffff !important; color:var(--navy,#0f2038) !important; border-color:#ffffff !important;
  box-shadow:0 2px 0 rgba(255,255,255,.92), 0 0 22px rgba(255,255,255,.42) !important;
}
body.home .btn-member.btn-line::after{
  content:"" !important; display:block !important;
  position:absolute; top:-25%; bottom:-25%; left:0; width:26%; z-index:1; pointer-events:none;
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 100%) !important;
  transform:translateX(-220%) skewX(-11deg); opacity:0;
  transition:transform 1.02s var(--ease-lux,cubic-bezier(.22,1,.36,1)), opacity .42s ease !important;
}
body.home .btn-member.btn-line:hover::after,
body.home .btn-member.btn-line:focus-visible::after{
  transform:translateX(560%) skewX(-11deg) !important; opacity:1 !important;
}

/* (K) DESKTOP HEADER NAV - a touch more body, and a refined current/hover underline.
   Dropdown menu untouched. */
@media (min-width:1081px){
  .site-header .nav-menu .nav-link{ font-weight:400 !important; position:relative; }
  .site-header .nav-menu .nav-item{ position:relative; }
  .site-header .nav-menu .nav-link::after{
    content:"" !important; position:absolute; left:.86em; right:.86em; bottom:.3em; height:1.5px;
    background:var(--gold-bright,#dcb763); transform:scaleX(0); transform-origin:50% 50%;
    transition:transform .28s var(--ease-lux,cubic-bezier(.22,1,.36,1)); pointer-events:none; opacity:.9;
  }
  .site-header .nav-menu .nav-link:hover::after,
  .site-header .nav-menu .nav-item.open .nav-link::after,
  .site-header .nav-menu .nav-link.is-current::after{ transform:scaleX(1) !important; }
}

/* (L) MOBILE HEADER - stop the 1px detach/gap above on scroll.
   Promote the fixed bar to its own layer and let its surface overlap the top edge. */
.site-header{ transform:translateZ(0); -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.site-header::before{ inset:-1px 0 -1px 0 !important; }
