/* "Find us" options. The header's own .rail-soc is hidden on these pages; each option renders its own. */
.opt-findus .rail-soc{display:none!important}
.menu-open .fu-a,.menu-open .fu-b,.menu-open .fu-b.is-on,.menu-open .fu-c{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
/* the live-site seal (final.findus) is in the page chrome; the find-us option pages show their own instead */
.opt-findus [data-fu-final]{display:none!important}

/* page context */
.fu-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;max-width:var(--max);margin:0 auto;padding:clamp(4rem,11vh,7rem) var(--gut)}
.fu-intro .lbl{color:var(--red);margin-bottom:1.4rem;display:block}
.fu-intro .lede{margin-top:1.8rem}
.fu-intro__img{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--sky)}
.fu-intro__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.14) translate3d(0,var(--py,0px),0)}
.fu-stars{display:inline-flex;gap:1px;color:var(--red);vertical-align:middle}
.fu-stars .ic{width:12px;height:12px}

/* ============================================================ A · hairline rail */
.fu-a{position:fixed;right:0;top:50%;z-index:58;transform:translate3d(0,-50%,0)}
.fu-a__tab{display:none}
.fu-a__rail{position:relative;width:54px;background:#fff;border:1px solid var(--line);border-right:0;padding:1.15rem 0 .35rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 26px 50px -32px rgba(16,15,75,.5),0 2px 6px -4px rgba(16,15,75,.18);transform:translate3d(105%,0,0);transition:transform 1.1s var(--e-out)}
.fu-a.is-on .fu-a__rail{transform:none}
.fu-a__k{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.6rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);padding-top:.3em}
.fu-a__k::after{content:"";display:inline-block;width:5px;height:5px;background:var(--red);transform:rotate(45deg);margin-top:.9em}
.fu-a__prog{position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:rgba(16,15,75,.08);overflow:hidden}
.fu-a__prog i{position:absolute;inset:0;background:var(--red);transform-origin:50% 0;transform:scaleY(var(--p,0))}
.fu-a ul{margin-top:.9rem;width:100%}
.fu-a li{position:relative;opacity:0;transform:translate3d(14px,0,0);transition:opacity .7s var(--e-out),transform .8s var(--e-out);transition-delay:calc(.55s + var(--i) * .09s)}
.fu-a.is-on li{opacity:1;transform:none}
.fu-a li::before{content:"";position:absolute;left:13px;right:13px;top:0;height:1px;background:var(--line);transform-origin:50% 50%}
.fu-a li a{position:relative;display:grid;place-items:center;height:58px;color:var(--navy)}
.fu-a__ic{position:relative;display:grid;justify-items:center;gap:3px;transition:color .35s,transform .45s var(--e-out)}
.fu-a__ic .ic{width:20px;height:20px}
.fu-a__mini{font-size:.56rem;font-weight:600;letter-spacing:.06em;color:var(--red);line-height:1}
.fu-a li a:hover .fu-a__ic,.fu-a li a:focus-visible .fu-a__ic{color:var(--red);transform:translate3d(-2px,0,0)}
/* the label slides out from behind the rail */
.fu-a__fly{position:absolute;right:100%;top:50%;margin-top:-34px;height:68px;width:max-content;overflow:hidden;pointer-events:none;display:block}
.fu-a__fly>*{display:block;position:relative}
.fu-a__fly::before{content:"";position:absolute;inset:0;background:var(--navy);transform:translate3d(101%,0,0);transition:transform .55s var(--e-out)}
.fu-a__fly small,.fu-a__fly strong,.fu-a__fly em{padding:0 1.15rem 0 1.1rem;transform:translate3d(30px,0,0);opacity:0;transition:transform .55s var(--e-out),opacity .35s}
.fu-a__fly small{padding-top:.95rem;font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#ff5a60}
.fu-a__fly strong{font-family:var(--f-disp);font-weight:400;font-size:1.2rem;line-height:1.25;color:#fff;white-space:nowrap;display:flex;align-items:center;gap:.45rem}
.fu-a__fly strong .fu-stars{color:#ff5a60}
.fu-a__fly em{font-style:normal;font-size:.72rem;color:var(--on-dark-70);margin-top:-.1rem}
.fu-a li:has(em) .fu-a__fly{height:84px;margin-top:-42px}
.fu-a li a:hover .fu-a__fly::before,.fu-a li a:focus-visible .fu-a__fly::before{transform:none}
.fu-a li a:hover .fu-a__fly>*,.fu-a li a:focus-visible .fu-a__fly>*{transform:none;opacity:1;transition-delay:.08s}

/* ============================================================ B · floating seal */
.fu-b{position:fixed;right:clamp(12px,1.4vw,24px);top:50%;z-index:58;width:80px;height:80px;margin-top:-40px;opacity:0;transform:translate3d(30px,0,0) rotate(30deg);transition:opacity .9s var(--e-out),transform 1.2s var(--e-out)}
.fu-b.is-on{opacity:1;transform:none}
.fu-b__seal{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(16,15,75,.12),0 16px 34px -16px rgba(10,9,52,.75);transition:transform .5s var(--e-out)}
.fu-b__seal:hover{transform:scale(1.05)}
.fu-b__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(var(--r,0deg));will-change:transform}
.fu-b__ring text{font-family:var(--f-sans);font-weight:600;fill:#fff}
.fu-b__rd{font-size:12.5px}
.fu-b__rm{font-size:15px;display:none}
.fu-b__sep{fill:#ff5a60}
.fu-b__seal::after{content:"";position:absolute;inset:27%;border-radius:50%;border:1px solid rgba(255,255,255,.3);pointer-events:none}
.fu-b__core{position:relative;width:36%;height:36%;border-radius:50%;background:var(--red);display:grid;place-items:center;transition:transform .6s var(--e-out)}
.fu-b__core .ic{width:54%;height:54%;color:#fff}
.fu-b.is-open .fu-b__core{transform:rotate(144deg) scale(1.08)}
.fu-b__fan{position:absolute;left:50%;top:50%;width:0;height:0;z-index:1;margin:0;padding:0;list-style:none}
.fu-b__fan li{--a:calc(232deg - var(--i) * (104deg / max(1, var(--n) - 1)));position:absolute;left:-22px;top:-22px;width:44px;height:44px;opacity:0;transform:rotate(var(--a)) translateX(0) rotate(calc(-1 * var(--a))) scale(.4);transition:transform .6s var(--e-out),opacity .35s;transition-delay:calc((var(--n) - 1 - var(--i)) * 40ms);pointer-events:none}
.fu-b.is-open .fu-b__fan li{opacity:1;transform:rotate(var(--a)) translateX(var(--R,76px)) rotate(calc(-1 * var(--a))) scale(1);transition-delay:calc(var(--i) * 70ms);pointer-events:auto}
.fu-b__fan a{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 12px 26px -14px rgba(10,9,52,.6),inset 0 0 0 1px var(--line);transition:background .3s,color .3s}
.fu-b__fan a .ic{width:18px;height:18px}
.fu-b__fan a:hover,.fu-b__fan a:focus-visible{background:var(--navy);color:#fff}
.fu-b__tip{position:absolute;right:calc(100% + 9px);top:50%;transform:translate3d(8px,-50%,0);opacity:0;white-space:nowrap;background:var(--navy);color:var(--on-dark-70);font-size:.72rem;line-height:1.25;padding:.45rem .75rem;border-radius:9px;pointer-events:none;transition:opacity .25s,transform .4s var(--e-out)}
.fu-b__tip b{display:block;color:#fff;font-weight:500}
.fu-b__fan a:hover .fu-b__tip,.fu-b__fan a:focus-visible .fu-b__tip{opacity:1;transform:translate3d(0,-50%,0)}

/* ============================================================ C · proof card */
.fu-c{position:static}
.fu-c__tab{position:fixed;right:0;top:50%;z-index:58;width:48px;padding:.95rem 0 1rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;background:var(--navy);color:#fff;border-radius:12px 0 0 12px;box-shadow:0 20px 40px -22px rgba(10,9,52,.7),inset 3px 0 0 var(--red),0 0 0 1px rgba(255,255,255,.16);transform:translate3d(105%,-50%,0);transition:transform .8s var(--e-out)}
.fu-c.is-on .fu-c__tab{transform:translate3d(0,-50%,0)}
.fu-c.is-on.is-open .fu-c__tab{transform:translate3d(105%,-50%,0);transition-duration:.5s}
.fu-c__tab-r{display:grid;justify-items:center;gap:2px}
.fu-c__tab-r .ic{width:13px;height:13px;color:#ff5a60}
.fu-c__tab-r b{font-family:var(--f-disp);font-weight:400;font-size:1.05rem;line-height:1}
.fu-c__tab-t{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--on-dark-70);border-top:1px solid var(--line-dark);padding-bottom:.85rem}
.fu-c__tab:hover{background:var(--navy-3)}
.fu-c__scrim{display:none}
.fu-c__card{position:fixed;right:0;top:50%;z-index:59;width:330px;overflow:hidden;background:#fff;border-radius:18px 0 0 18px;padding:1.7rem 1.5rem 1.2rem;box-shadow:0 40px 80px -40px rgba(10,9,52,.6),0 0 0 1px var(--line);transform:translate3d(105%,-50%,0);visibility:hidden;transition:transform .75s var(--e-out),visibility 0s .75s}
.fu-c__card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red) 0 70%,var(--navy) 70%)}
.fu-c.is-open .fu-c__card{transform:translate3d(0,-50%,0);visibility:visible;transition:transform .75s var(--e-out),visibility 0s}
.fu-c__card .lbl{color:var(--red)}
.fu-c__close{position:absolute;right:.8rem;top:1rem;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--navy);border:1px solid var(--line);transition:background .3s,color .3s}
.fu-c__close:hover{background:var(--navy);color:#fff}
.fu-c__close .ic{width:16px;height:16px}
.fu-c__score{display:flex;align-items:center;gap:.9rem;margin:.9rem 0 1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.fu-c__score b{font-family:var(--f-disp);font-weight:400;font-size:3.6rem;line-height:.85;color:var(--navy)}
.fu-c__score small{display:block;font-size:.8rem;color:var(--ink-70);margin-top:.3rem}
.fu-c__score .fu-stars .ic{width:16px;height:16px}
.fu-c__rows li{opacity:0;transform:translate3d(24px,0,0);transition:opacity .5s var(--e-out),transform .7s var(--e-out)}
.fu-c.is-open .fu-c__rows li{opacity:1;transform:none;transition-delay:calc(.22s + var(--i) * .08s)}
.fu-c__rows a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:.85rem;padding:.7rem .5rem .7rem 0;border-bottom:1px solid var(--line);color:var(--navy);transition:padding .4s var(--e-out)}
.fu-c__ic{width:40px;height:40px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:background .3s,color .3s}
.fu-c__ic .ic{width:18px;height:18px}
.fu-c__t{font-family:var(--f-it);font-style:italic;font-size:1.05rem;line-height:1.25}
.fu-c__t small{display:block;font-family:var(--f-sans);font-style:normal;font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);margin-bottom:.15rem}
.fu-c__rows a>.ic{width:18px;height:18px;transition:transform .4s var(--e-out)}
.fu-c__rows a:hover{padding-left:.35rem}
.fu-c__rows a:hover .fu-c__ic{background:var(--navy);color:#fff}
.fu-c__rows a:hover>.ic{transform:translateX(4px);color:var(--red)}
.fu-c__write{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1rem;font-size:.78rem;font-weight:500;color:var(--ink-70)}
.fu-c__write .ic{width:15px;height:15px}
.fu-c__write:hover{color:var(--red)}

/* ============================================================ phone */
@media (max-width:899px){
  /* A folds into a slim tab; tap opens the rail */
  .fu-a__tab{position:absolute;right:0;top:50%;display:flex;flex-direction:column;align-items:center;gap:.55rem;width:28px;padding:.85rem 0 .7rem;background:#fff;border:1px solid var(--line);border-right:0;box-shadow:0 16px 34px -20px rgba(16,15,75,.55),inset 2px 0 0 var(--red);transform:translate3d(105%,-50%,0);transition:transform .7s var(--e-out)}
  .fu-a__tab span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.56rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--navy)}
  .fu-a__tab i{width:5px;height:5px;background:var(--red);transform:rotate(45deg)}
  .fu-a.is-on .fu-a__tab{transform:translate3d(0,-50%,0)}
  .fu-a.is-on.is-open .fu-a__tab{transform:translate3d(105%,-50%,0)}
  .fu-a__rail{width:54px}
  .fu-a.is-on .fu-a__rail{transform:translate3d(105%,0,0)}
  .fu-a.is-on.is-open .fu-a__rail{transform:none}
  .fu-a li a{height:54px}
  .fu-a__fly{display:none}

  /* B: a small seal just above the Call / Text bar; it tucks to the edge while you scroll down */
  .fu-b{top:auto;margin-top:0;bottom:calc(64px + 12px + env(safe-area-inset-bottom));right:12px;width:56px;height:56px}
  .fu-b.is-on.is-tuck:not(.is-open){transform:translate3d(46px,0,0);transition:transform .55s var(--e-out)}
  .fu-b__rd{display:none}
  .fu-b__rm{display:inline}
  .fu-b__seal{box-shadow:0 0 0 2px #fff,0 12px 26px -12px rgba(10,9,52,.7)}
  .fu-b__seal:hover{transform:none}
  .fu-b__fan li{left:-20px;top:-20px;width:40px;height:40px;transform:translate3d(0,0,0) scale(.4)}
  .fu-b.is-open .fu-b__fan li{transform:translate3d(0,calc((var(--i) + 1) * -50px - 6px),0) scale(1)}
  .fu-b__fan a .ic{width:17px;height:17px}
  .fu-b.is-open .fu-b__tip{opacity:1;transform:translate3d(0,-50%,0)}
  .fu-b__tip{padding:.32rem .6rem;font-size:.66rem}

  /* C: slim tab on the edge, the card rises as a sheet above the bar */
  .fu-c__tab{width:36px;padding:.7rem 0 .75rem;gap:.6rem;border-radius:10px 0 0 10px}
  .fu-c__tab-r b{font-size:.9rem}
  .fu-c__tab-t{font-size:.52rem;padding-bottom:.7rem}
  .fu-c__scrim{display:block;position:fixed;inset:0;z-index:58;background:rgba(10,9,52,.42);opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
  .fu-c.is-open .fu-c__scrim{opacity:1;visibility:visible;transition:opacity .45s,visibility 0s}
  .fu-c__card{top:auto;left:10px;right:10px;bottom:calc(64px + 10px + env(safe-area-inset-bottom));width:auto;border-radius:20px;padding:1.5rem 1.2rem 1.1rem;transform:translate3d(0,calc(100% + 100px),0)}
  .fu-c.is-open .fu-c__card{transform:translate3d(0,0,0)}
  .fu-c__close .ic{transform:rotate(90deg)}
  .fu-c__score b{font-size:3rem}

  .fu-intro{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3rem}
}

@media (prefers-reduced-motion:reduce){
  .fu-a__rail,.fu-a li,.fu-b,.fu-c__tab{transition:none}
}
