/* ===== shared chrome: header, mobile nav, signup, footer (directions restyle via their own CSS) ===== */
.hdr{position:fixed;inset:0 0 auto;z-index:100;transition:transform .6s var(--ease),background-color .4s,box-shadow .4s,color .4s}
.hdr__in{max-width:var(--max);margin:0 auto;padding:16px var(--gutter);display:flex;align-items:center;gap:24px}
.hdr .ffs-logo{flex:none}
.hdr__nav{display:flex;gap:32px;margin:0 auto;font:500 14.5px/1 var(--font-body)}
.hdr__nav a{text-decoration:none;padding:6px 0}
.hdr__act{display:flex;align-items:center;gap:6px}
.ic{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:transparent;cursor:pointer;color:inherit;text-decoration:none;transition:background-color .25s}
.ic:hover{background:rgba(14,14,14,.07)}
.on-dark .ic:hover,.hdr.is-dark .ic:hover{background:rgba(246,244,240,.12)}
.ic .ct{position:absolute;top:6px;right:4px;min-width:17px;height:17px;border-radius:9px;background:var(--blue-ink);color:#fff;font:700 10px/17px var(--font-body);text-align:center}
.hdr__cta{margin-left:8px}
.hdr__menu{display:none}
.hdr__menu .c{display:none}
.hdr.menu-open .hdr__menu .o{display:none}.hdr.menu-open .hdr__menu .c{display:block}
.hdr.is-scrolled{background:rgba(246,244,240,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.mnav{display:none}
@media (max-width:1023px){
  .hdr__nav,.hdr__cta{display:none}
  .hdr__menu{display:inline-grid}
  .hdr__act{margin-left:auto}
  .mnav{display:flex;flex-direction:column;gap:6px;position:fixed;inset:0;z-index:-1;padding:110px var(--gutter) 40px;background:var(--ivory);color:var(--black);
    clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);visibility:hidden}
  .mnav a:not(.btn){font:800 clamp(40px,11vw,64px)/1.05 var(--font-display);letter-spacing:-.04em;text-decoration:none;padding:4px 0}
  .mnav .btn{margin-top:auto;align-self:stretch}
  .hdr.menu-open{background:var(--ivory)!important;color:var(--black)!important}
  .hdr.menu-open .mnav{clip-path:inset(0);visibility:visible}
}

/* signup */
.signup{background:var(--black);color:var(--ivory);padding:clamp(72px,10vw,140px) 0 clamp(56px,7vw,96px)}
.signup__in{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,96px);align-items:end}
.signup__h{font-size:clamp(56px,9vw,150px);letter-spacing:-.055em;line-height:.86}
.signup__lede{font:600 clamp(20px,2vw,26px)/1.3 var(--font-display);letter-spacing:-.01em;margin-bottom:24px}
.signup__form{display:flex;flex-wrap:wrap;gap:10px;position:relative}
.signup__form input{flex:1 1 220px;min-height:56px;padding:0 24px;border-radius:var(--pill);border:1.5px solid rgba(246,244,240,.35);background:transparent;color:var(--ivory);font-size:16px}
.signup__form input::placeholder{color:var(--gray-on-black)}
.signup__form input:focus{border-color:var(--blue-hi);outline:none;box-shadow:0 0 0 3px rgba(47,143,222,.35)}
.signup__form .btn{min-height:56px}
.signup__ok{display:none;width:100%;color:var(--blue-hi);font-weight:600;margin-top:6px}
.signup__form.is-done .signup__ok,.signup__ok.is-err{display:block}
.signup__ok.is-err{color:#FF9C94}
.signup__form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.signup__fine{margin-top:16px;font-size:13px;color:var(--gray-on-black)}
@media (max-width:860px){.signup__in{grid-template-columns:1fr}}

/* footer */
.ftr{background:var(--black);color:var(--ivory);border-top:1px solid var(--line-on-black)}
.ftr__top{max-width:var(--max);margin:0 auto;padding:clamp(48px,6vw,88px) var(--gutter);display:grid;grid-template-columns:1fr 2fr;gap:48px}
.ftr .ffs-logo .w{font-size:40px}.ftr .ffs-logo .crown{width:40px;height:32px}.ftr .ffs-logo .s{font-size:11px;margin-top:8px}
.ftr__tag{margin:22px 0 18px;color:var(--gray-on-black);font-size:15px}
.ftr__social{display:flex;gap:4px;margin-left:-10px}
.ftr__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ftr__cols h3{font:600 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gray-on-black);margin-bottom:18px}
.ftr__cols a{display:block;width:fit-content;text-decoration:none;padding:6px 0;font-size:15px}
.ftr__bottom{max-width:var(--max);margin:0 auto;padding:22px var(--gutter) 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line-on-black);color:var(--gray-on-black);font-size:13px}
@media (max-width:860px){.ftr__top{grid-template-columns:1fr}.ftr__cols{grid-template-columns:repeat(2,1fr)}}
