/* Funnel Library: shared tokens, nav and footer (DTC Daily design system, Home v2 from Claude Design).
   Screen styles stay in each page; the sn- / sf- prefixes keep the shared parts from clashing with them. */
:root{--navy-900:#0E1C36;--navy-800:#14264A;--navy-700:#1C3664;--navy-600:#284884;--navy-500:#3A5DA0;--navy-200:#D2DCEC;--navy-100:#E9EFF7;--navy-50:#F3F6FB;
--orange-700:#C2570F;--orange-600:#F37721;--orange-200:#FDE0CB;--orange-100:#FEF1E7;
--fg1:#1A2233;--fg2:#5A6478;--fg3:#79839A;--bg2:#F7F9FC;--bg3:#EFF2F7;--border:#E1E7F0;--border-strong:#C3CBD9;--divider:#EFF2F7;--success:#1E9E63;
--font-display:"Montserrat",system-ui,sans-serif;--font-body:"Source Sans 3",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;
--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;
--shadow-xs:0 1px 2px rgba(20,33,58,.06);--shadow-sm:0 1px 3px rgba(20,33,58,.08),0 1px 2px rgba(20,33,58,.04);--shadow-md:0 4px 12px rgba(20,33,58,.10),0 2px 4px rgba(20,33,58,.05);
--nav-h:64px}
html{scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;-webkit-font-smoothing:antialiased}
.sn{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);font-family:var(--font-body)}
.sn-in{max-width:1320px;margin:0 auto;padding:0 24px;height:var(--nav-h);display:flex;align-items:center;gap:24px;box-sizing:border-box}
.sn a{text-decoration:none}
.sn-logo{display:flex;align-items:center;gap:10px;color:var(--navy-700);flex:none}
.sn-logo img{height:28px;width:auto;display:block}
.sn-logo span{display:flex;flex-direction:column;line-height:1}
.sn-logo b{font:800 16px var(--font-display);letter-spacing:-.01em}
.sn-logo small{font:700 9.5px var(--font-display);letter-spacing:.14em;color:var(--orange-600);margin-top:4px}
.sn-links{display:flex;gap:4px;flex:1 1 auto;min-width:0}
.sn-links a{font:600 15px var(--font-body);color:var(--fg2);padding:8px 10px;border-radius:var(--radius-md);white-space:nowrap}
.sn-links a:hover,.sn-links a.on{color:var(--navy-700);background:var(--navy-50)}
.sn-search{display:flex;align-items:center;gap:10px;flex:0 1 300px;min-width:140px;height:40px;margin:0;padding:0 8px 0 12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box}
.sn-search:hover,.sn-search:focus-within{border-color:var(--border-strong)}
.sn-search svg{color:var(--fg3);flex:none}
.sn-search input{border:0;outline:0;font:15px var(--font-body);flex:1;min-width:0;background:none;color:var(--fg1);padding:0}
.sn-search input::placeholder{color:var(--fg3)}
.sn-kbd{flex:none;font:500 11.5px var(--font-mono);color:var(--fg3);border:1px solid var(--border);background:#fff;border-radius:var(--radius-xs);padding:2px 6px}
.sn-cta{display:flex;align-items:center;font:600 14px var(--font-body);height:38px;padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--navy-700);background:var(--navy-700);color:#fff!important;white-space:nowrap;flex:none}
.sn-cta:hover{background:var(--navy-800)}
.sn-burger{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--navy-700);cursor:pointer;flex:none;align-items:center;justify-content:center}
.sn-menu{display:none;border-top:1px solid var(--border);background:#fff;padding:8px 16px 14px}
.sn-menu a{display:block;font:600 16px var(--font-body);color:var(--navy-800);padding:11px 4px;border-bottom:1px solid var(--divider)}
.sn-menu a.on{color:var(--orange-700)}
.sn.open .sn-menu{display:block}
.sf{margin-top:64px;background:var(--navy-700);color:var(--navy-200);font-family:var(--font-body)}
.sf-in{max-width:1320px;margin:0 auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;box-sizing:border-box}
.sf img{height:56px;width:auto;display:block;margin:-10px 0}
.sf span{font-size:14px}
.sf a{color:#fff}
.fl-empty{padding:80px 0;text-align:center;color:var(--fg2);font:16px var(--font-body)}
@media (max-width:900px){.sn-kbd{display:none}.sn-cta{padding:0 12px}}
@media (max-width:760px){.sn-links{display:none}.sn-burger{display:flex}.sn-search{flex:1 1 auto}.sn-cta{display:none}}
@media (max-width:640px){.sn-in{padding:0 16px;gap:10px}.sn-logo small{display:none}}
@media (max-width:460px){.sn-logo span{display:none}.sn-search{min-width:0}}
.fl-lg{background:#fff!important;overflow:hidden;padding:0!important}
.fl-lg img{width:100%;height:100%;object-fit:contain;display:block}

/* Follow button (follow.js) */
.fl-fol{display:inline-flex;align-items:center;gap:6px;font:600 14px var(--font-body);border-radius:var(--radius-md);padding:9px 16px;border:1px solid var(--navy-700);background:var(--navy-700);color:#fff;cursor:pointer;white-space:nowrap}
.fl-fol:hover{background:var(--navy-800)}.fl-fol:disabled{opacity:.6;cursor:wait}
.fl-fol.on{background:#fff;color:var(--navy-700);border-color:var(--border-strong)}.fl-fol.on span::before{content:"✓ "}
.fl-fol.sm{font-size:13px;padding:6px 11px}
.fl-fol-note{font:14px var(--font-body);color:var(--fg2);margin-top:8px;max-width:340px}.fl-fol-note a{color:var(--orange-700);font-weight:700}

/* accounts: a page address with its path hidden (free levels) */
.fl-hid{letter-spacing:.08em;color:var(--fg3);cursor:help}
.fl-upsell{background:var(--orange-100);border-bottom:1px solid var(--orange-200);color:#7A3E00;font:15px var(--font-body);text-align:center;padding:9px 16px}
.fl-upsell a{color:var(--orange-700);font-weight:700;margin-left:6px}
.fl-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:640px;margin:0 auto;background:var(--navy-800);color:#fff;border-radius:var(--radius-lg);padding:12px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:14.5px var(--font-body);box-shadow:var(--shadow-md)}
.fl-consent span{flex:1 1 260px}.fl-consent button{font:700 14px var(--font-body);border-radius:var(--radius-md);padding:7px 14px;border:1px solid #fff;background:#fff;color:var(--navy-800);cursor:pointer}
.fl-consent button.ghost{background:transparent;color:#fff}
