/* FileFunding shared site styles (nav, footer, content pages, /learn). Brand tokens match styles.css. */
:root{--ff-ink:#14211b;--ff-green:#0b3d2e;--ff-green2:#12543f;--ff-amber:#e8b04a;--ff-paper:#f6f3ea;--ff-card:#fff;--ff-line:#e2ddd0;--ff-muted:#5d6b64;--ff-err:#a3261b;--ff-r:14px}
.ff-page{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;color:var(--ff-ink);background:var(--ff-paper);overflow-x:hidden;-webkit-text-size-adjust:100%}
.ff-page *{box-sizing:border-box}
.ff-page img,.ff-page svg{display:block;max-width:100%}
.ff-page a{color:var(--ff-green2)}
.ff-page h1,.ff-page h2,.ff-page h3{line-height:1.18;letter-spacing:-.015em;margin:0 0 .5em;color:var(--ff-ink)}
.ff-page h1{font-size:clamp(1.95rem,7vw,3.1rem);font-weight:800}
.ff-page h2{font-size:clamp(1.4rem,4.6vw,2rem);font-weight:780}
.ff-page h3{font-size:1.1rem;font-weight:720}
.ff-page p{margin:0 0 1em}
.ff-skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:99}
.ff-skip:focus{left:8px;top:8px}
.ff-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ff-page :focus-visible,.ff-top :focus-visible,.ff-foot :focus-visible{outline:3px solid var(--ff-amber);outline-offset:2px}
.ff-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.ff-narrow{max-width:760px}

/* header: brand + 3 doors + one CTA. Two rows on phones so both audience doors are always visible. */
.ff-top{background:rgba(246,243,234,.96);border-bottom:1px solid var(--ff-line);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;position:relative;z-index:30}
.ff-top-in{max-width:1080px;margin:0 auto;padding:8px 16px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.ff-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.12rem;color:var(--ff-ink)!important;text-decoration:none;letter-spacing:-.02em;min-height:44px}
.ff-brand img{width:28px;height:28px}
.ff-cta{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;background:var(--ff-green);color:#fff!important;border-radius:999px;padding:8px 16px;min-height:40px;font-weight:700;font-size:.93rem;text-decoration:none;white-space:nowrap}
.ff-cta:hover{background:var(--ff-green2)}
.ff-nav{order:3;width:100%;display:flex;gap:4px;border-top:1px solid var(--ff-line);padding:6px 0}
.ff-nav a{flex:1;text-align:center;padding:9px 6px;border-radius:999px;color:#33433b;text-decoration:none;font-weight:650;font-size:.95rem;min-height:40px}
.ff-nav a:hover{background:rgba(11,61,46,.06)}
.ff-nav a[aria-current]{background:rgba(11,61,46,.1);color:var(--ff-green)}
@media(min-width:760px){
 .ff-top{position:sticky;top:0;backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);background:rgba(246,243,234,.92)}
 .ff-top-in{flex-wrap:nowrap;height:60px;padding:0 20px}
 .ff-nav{order:0;width:auto;border:0;padding:0;margin-left:24px}
 .ff-nav a{flex:none;padding:8px 14px}
}

/* buttons */
.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ff-green);color:#fff!important;border:0;border-radius:999px;padding:13px 22px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;min-height:50px;transition:transform .12s,background .15s}
.ff-btn:hover{background:var(--ff-green2)}
.ff-btn:active{transform:scale(.98)}
.ff-btn[disabled]{opacity:.6;cursor:progress}
.ff-btn-amber{background:var(--ff-amber);color:var(--ff-ink)!important}
.ff-btn-amber:hover{background:#d9a03a}
.ff-btn-ghost{background:transparent;color:var(--ff-green)!important;box-shadow:inset 0 0 0 2px var(--ff-green)}
.ff-btn-ghost:hover{background:rgba(11,61,46,.06)}
.ff-btn-block{width:100%}
.ff-link{font-weight:700;text-decoration:none}
.ff-link:hover{text-decoration:underline}

/* page sections */
.ff-hero{padding:36px 0 30px;background:radial-gradient(900px 400px at 85% -10%,rgba(232,176,74,.22),transparent 70%)}
.ff-hero.ff-dark{background:var(--ff-green);color:#eef3ef}
.ff-hero.ff-dark h1{color:#fff}
.ff-hero.ff-dark .ff-lede{color:#d5e2da}
.ff-hero.ff-dark .ff-eyebrow{background:rgba(232,176,74,.18);color:var(--ff-amber)}
.ff-eyebrow{display:inline-block;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--ff-green2);background:rgba(11,61,46,.08);padding:5px 10px;border-radius:999px;margin-bottom:14px}
.ff-lede{font-size:clamp(1.05rem,3.6vw,1.2rem);color:#33433b;max-width:680px}
.ff-hero-cta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:20px 0 6px}
.ff-note{font-size:.9rem;color:var(--ff-muted)}
.ff-dark .ff-note{color:#b9cbc1}
.ff-sec{padding:36px 0}
.ff-sec-alt{background:#efebdf}
.ff-sec h2{margin-bottom:.4em}
.ff-sub{color:var(--ff-muted);max-width:680px;margin-bottom:1.4em}
.ff-hl{background:linear-gradient(transparent 62%,rgba(232,176,74,.55) 62%);padding:0 .08em}

.ff-grid{display:grid;gap:14px}
@media(min-width:700px){.ff-grid-2{grid-template-columns:1fr 1fr}.ff-grid-3{grid-template-columns:repeat(3,1fr)}.ff-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.ff-grid-4{grid-template-columns:repeat(4,1fr)}}
.ff-card{background:var(--ff-card);border:1px solid var(--ff-line);border-radius:var(--ff-r);padding:20px}
.ff-card h3{margin-bottom:.35em}
.ff-card p:last-child{margin-bottom:0}
.ff-card .ff-ic{width:38px;height:38px;border-radius:10px;background:rgba(11,61,46,.08);display:grid;place-items:center;font-size:1.15rem;margin-bottom:10px;color:var(--ff-green)}
a.ff-card{display:block;text-decoration:none;color:inherit;transition:border-color .15s,transform .12s}
a.ff-card:hover{border-color:var(--ff-green2);transform:translateY(-1px)}
.ff-card .ff-more{color:var(--ff-green2);font-weight:700}

/* domain start box */
.ff-start{background:var(--ff-card);border:1px solid var(--ff-line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(11,61,46,.08);max-width:640px;margin-top:22px}
.ff-start label{display:block;font-weight:700;margin-bottom:8px}
.ff-start-row{display:flex;flex-direction:column;gap:10px}
.ff-start input{font:inherit;font-size:1.05rem;padding:14px 16px;border:1.5px solid #cfc9b9;border-radius:12px;background:#fff;min-height:52px;width:100%}
.ff-start input:focus{border-color:var(--ff-green);outline:none;box-shadow:0 0 0 3px rgba(232,176,74,.45)}
@media(min-width:560px){.ff-start-row{flex-direction:row}.ff-start-row input{flex:1}}
.ff-start .ff-note{margin:10px 0 0}

/* trust strip */
.ff-trust{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.ff-trust li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.ff-trust li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--ff-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' stroke='%23e8b04a' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.ff-dark .ff-trust li::before{background-color:rgba(232,176,74,.2)}
@media(min-width:760px){.ff-trust{grid-template-columns:repeat(2,1fr)}}

/* steps / timeline */
.ff-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.ff-steps li{position:relative;padding:0 0 22px 52px}
.ff-steps li::before{counter-increment:ffstep;content:counter(ffstep);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--ff-green);color:var(--ff-amber);font-weight:800;display:grid;place-items:center}
.ff-steps li::after{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:var(--ff-line)}
.ff-steps li:last-child::after{display:none}
.ff-steps{counter-reset:ffstep}
.ff-steps h3{margin:.3em 0 .2em}
.ff-steps p{margin:0;color:#33433b}
.ff-steps .ff-when{display:inline-block;font-size:.78rem;font-weight:700;color:var(--ff-green2);background:rgba(11,61,46,.08);border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:2px}

/* lists */
.ff-ticks,.ff-crosses{list-style:none;padding:0;margin:0 0 1em}
.ff-ticks li,.ff-crosses li{position:relative;padding:5px 0 5px 28px}
.ff-ticks li::before{content:"✓";position:absolute;left:2px;top:4px;color:var(--ff-green2);font-weight:900}
.ff-crosses li::before{content:"✕";position:absolute;left:3px;top:4px;color:var(--ff-err);font-weight:900}

/* FAQ */
.ff-faq details{background:var(--ff-card);border:1px solid var(--ff-line);border-radius:12px;margin:0 0 10px;padding:0 16px}
.ff-faq summary{cursor:pointer;font-weight:700;padding:15px 24px 15px 0;list-style:none;position:relative;min-height:44px}
.ff-faq summary::-webkit-details-marker{display:none}
.ff-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.3rem;color:var(--ff-green2)}
.ff-faq details[open] summary::after{content:"–"}
.ff-faq details p{margin:0 0 14px;color:#33433b}

/* final CTA band */
.ff-band{background:var(--ff-green);color:#e6efe9;border-radius:18px;padding:26px 22px;text-align:left}
.ff-band h2{color:#fff}
.ff-band p{color:#cfe0d6}
.ff-band .ff-hero-cta{margin-bottom:0}
.ff-band a:not(.ff-btn){color:var(--ff-amber)}

/* breadcrumbs */
.ff-crumbs{font-size:.85rem;color:var(--ff-muted);margin:0 0 14px}
.ff-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.ff-crumbs li+li::before{content:"›";margin:0 6px 0 2px;color:#a9a493}
.ff-crumbs a{color:var(--ff-muted);text-decoration:none}
.ff-crumbs a:hover{text-decoration:underline}
.ff-dark .ff-crumbs,.ff-dark .ff-crumbs a{color:#b9cbc1}

/* forms */
.ff-form{display:grid;gap:16px}
.ff-f label,.ff-f legend{display:block;font-weight:700;margin-bottom:6px}
.ff-f em{font-weight:400;color:var(--ff-muted);font-style:normal}
.ff-f input[type=text],.ff-f input[type=email],.ff-f select,.ff-f textarea{font:inherit;width:100%;padding:12px 14px;border:1.5px solid #cfc9b9;border-radius:12px;background:#fff;min-height:50px}
.ff-f textarea{min-height:96px;resize:vertical}
.ff-f input:focus,.ff-f select:focus,.ff-f textarea:focus{border-color:var(--ff-green);outline:none;box-shadow:0 0 0 3px rgba(232,176,74,.45)}
.ff-f fieldset{border:0;margin:0;padding:0}
.ff-chips{display:flex;flex-wrap:wrap;gap:8px}
.ff-chips label{position:relative;margin:0;font-weight:600}
.ff-chips input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ff-chips span{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1.5px solid #cfc9b9;border-radius:999px;background:#fff;font-size:.95rem}
.ff-chips input:checked+span{background:var(--ff-green);border-color:var(--ff-green);color:#fff}
.ff-chips input:focus-visible+span{outline:3px solid var(--ff-amber);outline-offset:2px}
.ff-grid2{display:grid;gap:16px}
@media(min-width:640px){.ff-grid2{grid-template-columns:1fr 1fr}}
.ff-consent{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:#33433b}
.ff-consent input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--ff-green)}
.ff-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.ff-err{color:var(--ff-err);font-weight:600}
.ff-ok{background:#fff;border:1px solid var(--ff-line);border-radius:var(--ff-r);padding:24px}
.ff-ok h2{display:flex;gap:10px;align-items:center}

/* /learn */
.ff-art{padding:26px 0 10px}
.ff-art-head h1{font-size:clamp(1.8rem,6.4vw,2.7rem)}
.ff-meta{font-size:.9rem;color:var(--ff-muted);margin:0 0 18px}
.ff-tldr{background:#fff;border-left:4px solid var(--ff-amber);border-radius:0 12px 12px 0;padding:14px 16px;margin:0 0 22px}
.ff-tldr p:last-child{margin:0}
.ff-tldr b{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ff-green2);margin-bottom:4px}
.ff-toc{background:#efebdf;border-radius:12px;padding:14px 16px;margin:0 0 26px;font-size:.95rem}
.ff-toc b{display:block;margin-bottom:6px}
.ff-toc ol{margin:0;padding-left:20px}
.ff-toc li{margin:3px 0}
.ff-prose{font-size:1.04rem;line-height:1.7}
.ff-prose h2{font-size:clamp(1.3rem,4.6vw,1.7rem);margin:1.6em 0 .5em;scroll-margin-top:80px}
.ff-prose h3{margin:1.3em 0 .4em;scroll-margin-top:80px}
.ff-prose ul,.ff-prose ol{padding-left:22px;margin:0 0 1em}
.ff-prose li{margin:.3em 0}
.ff-prose blockquote{margin:1.2em 0;padding:12px 16px;border-left:4px solid var(--ff-line);background:#fbf9f3;border-radius:0 10px 10px 0;color:#33433b}
.ff-prose blockquote p:last-child{margin:0}
.ff-prose table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.93rem;display:block;overflow-x:auto}
.ff-prose th,.ff-prose td{border-bottom:1px solid var(--ff-line);padding:9px 10px 9px 0;text-align:left;vertical-align:top}
.ff-prose th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted)}
.ff-prose code{background:#efebdf;padding:1px 5px;border-radius:5px;font-size:.9em}
.ff-prose a{word-break:break-word}
.ff-prose .ff-unsourced,.ff-unsourced{font-size:.78rem;font-weight:700;color:#8a5a00;background:rgba(232,176,74,.22);border-radius:6px;padding:1px 6px;white-space:nowrap}
.ff-callout{background:var(--ff-green);color:#e6efe9;border-radius:16px;padding:20px;margin:28px 0}
.ff-callout h3{color:#fff;margin-bottom:.3em}
.ff-callout p{color:#cfe0d6}
.ff-callout form{margin:0}
.ff-callout .ff-start{background:transparent;border:0;box-shadow:none;padding:0;margin:12px 0 0}
.ff-callout .ff-start label{color:#fff}
.ff-callout .ff-note{color:#b9cbc1}
.ff-sources{font-size:.9rem;color:#33433b}
.ff-sources ol{padding-left:22px}
.ff-sources li{margin:6px 0;word-break:break-word}
.ff-related{display:grid;gap:12px}
@media(min-width:700px){.ff-related{grid-template-columns:repeat(3,1fr)}}
.ff-tag{display:inline-block;font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--ff-green2);margin-bottom:6px}
.ff-author{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--ff-line);border-radius:14px;padding:14px 16px;margin:24px 0}
.ff-author img{width:40px;height:40px}
.ff-author p{margin:0;font-size:.92rem;color:#33433b}

/* footer */
.ff-foot{background:#0b2b21;color:#c8d6ce;padding:36px 0 110px;font-size:.92rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;line-height:1.55}
@media(min-width:760px){.ff-foot{padding-bottom:36px}}
.ff-foot a{color:#e6efe9;text-decoration:none}
.ff-foot a:hover{text-decoration:underline}
.ff-foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-bottom:24px}
@media(min-width:860px){.ff-foot-cols{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}}
.ff-foot h2{font-size:.78rem!important;letter-spacing:.09em;text-transform:uppercase;color:var(--ff-amber)!important;margin:0 0 10px!important;font-weight:800}
.ff-foot ul{list-style:none;margin:0;padding:0}
.ff-foot li{margin:0 0 8px}
.ff-foot-brand{grid-column:1/-1}
@media(min-width:860px){.ff-foot-brand{grid-column:auto}}
.ff-foot-brand .ff-brand{color:#fff!important;min-height:0;margin-bottom:8px}
.ff-foot-fine{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;color:#9fb3a8;font-size:.84rem}
.ff-foot-fine p{margin:0 0 8px}
.ff-404{padding:60px 0 50px}

/* sticky mobile CTA on content pages */
.ff-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(246,243,234,.96);border-top:1px solid var(--ff-line);transform:translateY(110%);transition:transform .2s}
.ff-sticky.ff-show{transform:none}
@media(min-width:760px){.ff-sticky{display:none}}
@media(prefers-reduced-motion:reduce){.ff-page *{transition:none!important;scroll-behavior:auto!important}}

/* home additions (lab door, thanks timeline, agent door) */
.ff-labdoor{display:inline-flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:14px 0 4px;padding:10px 14px;border-radius:12px;background:rgba(11,61,46,.07);border:1px solid rgba(11,61,46,.14);color:var(--ff-ink);text-decoration:none;font-size:.95rem}
.ff-labdoor b{color:var(--ff-green)}
.ff-labdoor:hover{background:rgba(11,61,46,.11)}
.ff-next{text-align:left;margin:12px auto 14px;padding-left:22px;max-width:420px;font-size:.95rem}
.ff-next li{margin:6px 0}
.ff-agentdoor{display:block;margin:10px 0 0;font-weight:700}
fieldset.ff-f{border:0;margin:0;padding:0;min-width:0}
fieldset.ff-f legend{padding:0;font-weight:700;margin-bottom:8px}
