/* site.css — Fortify 365 site-specific styles (fonts, design tokens, components, staging UI).
   Loaded after utilities.css. Edit here for anything that is not a Tailwind utility class. */

/* ---------- Self-hosted web fonts (Geist & Sora: SIL Open Font License 1.1) ---------- */
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-latin.woff2) format("woff2");unicode-range:U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Geist Fallback";src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0%;size-adjust:104.76%}
@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/sora-800-latin.woff2) format("woff2");unicode-range:U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/sora-800-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Sora Fallback";src:local("Arial");ascent-override:85.29%;descent-override:25.5%;line-gap-override:0%;size-adjust:113.73%}
html.font-vars{--font-sans:"Geist","Geist Fallback";--font-display:"Sora","Sora Fallback"}

/* ---------- Treatment-page design tokens ---------- */
.fortify-rx{--fortify-green:#2191d0;--fortify-green-dark:#0878b7;--fortify-green-light:#4ebde1;--fortify-green-spring:#f4f9fc;--fortify-blue:#0878b7;--fortify-yellow:#f4f9fc;--fortify-charcoal:#3c3c3c;--fortify-charcoal-90:#3c3c3ce6;--fortify-charcoal-80:#3c3c3ccc;--fortify-charcoal-70:#3c3c3cb3;--fortify-charcoal-60:#3c3c3c99;--fortify-charcoal-50:#3c3c3c80;--fortify-charcoal-40:#3c3c3c66;--fortify-charcoal-30:#3c3c3c4d;--fortify-charcoal-20:#3c3c3c33;--fortify-charcoal-10:#3c3c3c1a;--fortify-white:#fff;--fortify-white-80:#fffc;--fortify-white-60:#fff9;--fortify-white-40:#fff6;--fortify-white-20:#fff3;--fortify-bg-primary:#fff;--fortify-bg-secondary:#f7fbfd;--fortify-bg-tertiary:#f4f9fc;--fortify-bg-green:#f4f9fc;--fortify-footer-bg:#3c3c3c;--fortify-text-heading:var(--fortify-charcoal);--fortify-text-body:var(--fortify-charcoal-80);--fortify-text-muted:var(--fortify-charcoal-60);--fortify-border:var(--fortify-charcoal-20);--fortify-border-soft:var(--fortify-charcoal-10);--fortify-ink-heading:#3c3c3c;--fortify-ink-body:#4b4b4b;--fortify-ink-muted:#8a8a8a;--fortify-ink-line:#e8e8e8;--fortify-radius-button:50vw;--fortify-radius-main:1rem;--fortify-radius-medium:1.5rem;--fortify-radius-secondary:.75rem;--fortify-card-bg:var(--fortify-white);--fortify-card-border:#1717171f;--fortify-card-radius:1rem;--fortify-card-shadow:none;--fortify-font:"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-body:"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-heading:var(--font-sans,"DM Sans"),"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-serif:"Libre Baskerville",Georgia,"Times New Roman",serif;--fortify-h1:3.5rem;--fortify-h2:3rem;--fortify-h3:2.5rem;--fortify-h4:2rem;--fortify-h5:1.5rem;--fortify-h6:1.25rem;--fortify-container:1120px;--fortify-section-space:clamp(2rem,1.57rem + 2.14vw,3.5rem);background:var(--fortify-bg-primary);color:var(--fortify-text-body);font-family:var(--fortify-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.fortify-rx :where(h1,h2,h3,h4,h5,h6){color:var(--fortify-text-heading);font-family:var(--fortify-font-heading);letter-spacing:-.01em;font-weight:700;line-height:1.14}.fortify-rx .fortify-heading-sans{font-family:var(--font-sans),system-ui,-apple-system,Arial,sans-serif}.fortify-rx a,.fortify-rx button{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s,opacity .2s}.fortify-rx :is(a[href],button,summary,[role=button],[role=radio]):not(:disabled){cursor:pointer}.fortify-rx .fortify-no-scrollbar{scrollbar-width:none}.fortify-rx .fortify-no-scrollbar::-webkit-scrollbar{display:none}.fortify-rx .fortify-card{background:var(--fortify-card-bg);border:1px solid var(--fortify-card-border);border-radius:var(--fortify-card-radius);box-shadow:var(--fortify-card-shadow)}
.fortify-glp1{--fortify-green:#2191d0;--fortify-green-dark:#0878b7;--fortify-green-light:#4ebde1;--fortify-green-spring:#f4f9fc;--fortify-blue:#0878b7;--fortify-yellow:#f4f9fc;--fortify-charcoal:#3c3c3c;--fortify-charcoal-90:#3c3c3ce6;--fortify-charcoal-80:#3c3c3ccc;--fortify-charcoal-70:#3c3c3cb3;--fortify-charcoal-60:#3c3c3c99;--fortify-charcoal-50:#3c3c3c80;--fortify-charcoal-40:#3c3c3c66;--fortify-charcoal-30:#3c3c3c4d;--fortify-charcoal-20:#3c3c3c33;--fortify-charcoal-10:#3c3c3c1a;--fortify-white:#fff;--fortify-white-80:#fffc;--fortify-white-60:#fff9;--fortify-white-40:#fff6;--fortify-white-20:#fff3;--fortify-bg-primary:#fff;--fortify-bg-secondary:#f7fbfd;--fortify-bg-tertiary:#f4f9fc;--fortify-bg-green:#f4f9fc;--fortify-footer-bg:#3c3c3c;--fortify-text-heading:var(--fortify-charcoal);--fortify-text-body:var(--fortify-charcoal-80);--fortify-text-muted:var(--fortify-charcoal-60);--fortify-border:var(--fortify-charcoal-20);--fortify-border-soft:var(--fortify-charcoal-10);--fortify-ink-heading:#3c3c3c;--fortify-ink-body:#4b4b4b;--fortify-ink-muted:#8a8a8a;--fortify-ink-line:#e8e8e8;--fortify-radius-button:50vw;--fortify-radius-main:1rem;--fortify-radius-medium:1.5rem;--fortify-radius-secondary:.75rem;--fortify-card-bg:var(--fortify-white);--fortify-card-border:#1717171f;--fortify-card-radius:1rem;--fortify-card-shadow:none;--fortify-font:"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-body:"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-heading:var(--font-sans,"DM Sans"),"DM Sans",system-ui,-apple-system,Arial,sans-serif;--fortify-font-serif:"Libre Baskerville",Georgia,"Times New Roman",serif;--fortify-h1:3.5rem;--fortify-h2:3rem;--fortify-h3:2.5rem;--fortify-h4:2rem;--fortify-h5:1.5rem;--fortify-h6:1.25rem;--fortify-container:1120px;--fortify-section-space:clamp(2rem,1.57rem + 2.14vw,3.5rem);background:var(--fortify-bg-primary);color:var(--fortify-text-body);font-family:var(--fortify-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.fortify-glp1 :where(h1,h2,h3,h4,h5,h6){color:var(--fortify-text-heading);font-family:var(--fortify-font-heading);letter-spacing:-.01em;font-weight:700;line-height:1.14}.fortify-glp1 .fortify-heading-sans{font-family:var(--font-sans),system-ui,-apple-system,Arial,sans-serif}.fortify-glp1 a,.fortify-glp1 button{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s,opacity .2s}.fortify-glp1 :is(a[href],button,summary,[role=button],[role=radio]):not(:disabled){cursor:pointer}.fortify-glp1 .fortify-no-scrollbar{scrollbar-width:none}.fortify-glp1 .fortify-no-scrollbar::-webkit-scrollbar{display:none}.fortify-glp1 .fortify-card{background:var(--fortify-card-bg);border:1px solid var(--fortify-card-border);border-radius:var(--fortify-card-radius);box-shadow:var(--fortify-card-shadow)}

/* ---------- Base / accessibility ---------- */
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;background:#0878B7;color:#fff;padding:.6rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500}
.skip-link:focus{top:.75rem}
main:focus{outline:none}
a:focus-visible,button:focus-visible,[role=link]:focus-visible,[role=radio]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[data-carousel-track]:focus-visible{outline:2px solid #0878B7;outline-offset:2px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0}

/* Announcement marquee (was an inline style) */
.marquee-60{animation:marquee 60s linear infinite}
@media (prefers-reduced-motion:reduce){.marquee-60{animation:none}.glow-border{animation:none!important}}

/* Mobile menu can be taller than the screen */
#mobile-menu{max-height:calc(100dvh - 6rem);overflow-y:auto;overscroll-behavior:contain}

/* Blog carousel */
[data-carousel-track]{scroll-snap-type:x mandatory;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){[data-carousel-track]{scroll-behavior:auto}}

/* ---------- Heally placeholders (disabled until an approved URL is configured) ---------- */
.heally-pending{cursor:not-allowed!important;position:relative}
.heally-pending:hover,.heally-pending:active{transform:none!important}
.is-staging .heally-pending{outline:1.5px dashed rgba(217,119,6,.85);outline-offset:2px}
.is-staging .heally-pending::after{content:"Heally link pending";position:absolute;right:6px;top:-9px;z-index:5;background:#FEF3C7;color:#92400E;border:1px solid #F59E0B;border-radius:9999px;font:600 9px/1.4 system-ui,sans-serif;letter-spacing:.02em;padding:0 6px;white-space:nowrap;pointer-events:none;text-transform:none}
.is-staging header .heally-pending::after,.is-staging [data-sticky-cta] .heally-pending::after{top:auto;bottom:-8px}
.heally-pending:focus-visible{outline:2px solid #B45309!important;outline-offset:2px}

/* ---------- Forms ---------- */
.form-status:empty{display:none}
.form-status.is-error{color:#B91C1C}
.form-status.is-success{color:#047857}
[data-form] [aria-invalid=true]{border-color:#DC2626!important}
button[disabled],input[disabled]{cursor:not-allowed;opacity:.6}
.staging-note{display:inline-block;margin-top:.25rem;padding:.35rem .6rem;border-radius:.5rem;background:#FEF3C7;color:#92400E;font-size:.75rem}

/* ---------- Staging UI (only rendered in staging builds) ---------- */
.staging-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#1F2937;color:#F9FAFB;font:500 12px/1.4 system-ui,sans-serif;padding:6px 12px;text-align:center}
.staging-bar strong{color:#FCD34D;letter-spacing:.04em}
.staging-bar__legal{color:#FCA5A5}
.is-staging{padding-bottom:30px}
.is-staging [data-sticky-cta]{bottom:30px}
.site-toast{position:fixed;left:50%;bottom:48px;transform:translateX(-50%);z-index:70;max-width:min(92vw,420px);background:#111827;color:#fff;padding:10px 14px;border-radius:12px;font:500 13px/1.45 system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.is-staging .heally-pending.overflow-hidden::after,.is-staging .heally-pending.rounded-xl::after{top:6px;bottom:auto;right:6px}
/* ---- Partner landing pages (/awk) ---- */
.lp-chooser{--lp-ground:#10222F;--lp-panel:#163042;--lp-accent:#4EBDE1;--lp-a30:rgb(78 189 225 / .3);--lp-a50:rgb(78 189 225 / .5);--lp-a60:rgb(78 189 225 / .6);--lp-headline:#F5F3EF;--lp-cta:#2191D0;--lp-cta-hover:#0878B7;--lp-cta-text:#fff;--lp-heading:#4EBDE1;--lp-card-title:#4EBDE1;--lp-glow:radial-gradient(80% 100% at 50% 0%,rgba(33,145,208,.3) 0%,rgba(33,145,208,0) 70%),radial-gradient(45% 60% at 50% 0%,rgba(245,215,160,.1) 0%,rgba(245,215,160,0) 70%);position:relative;min-height:100vh;overflow:hidden;background:var(--lp-ground);color:#fff;font-family:var(--font-sans),system-ui,sans-serif}
.lp-chooser__glow{pointer-events:none;position:absolute;left:0;right:0;top:0;height:70vh;background:var(--lp-glow)}
.lp-chooser__wrap{position:relative;z-index:1;max-width:64rem;margin:0 auto;padding:2.5rem 1rem 4rem}
@media (min-width:640px){.lp-chooser__wrap{padding:3rem 1.5rem 4rem}}
@media (min-width:1024px){.lp-chooser__wrap{padding-left:2rem;padding-right:2rem}}
.lp-chooser__brands{display:flex;align-items:center;justify-content:center;gap:1.25rem}
.lp-chooser__partner{height:4rem;width:auto}
.lp-chooser__divider{display:block;height:3rem;width:1px;background:var(--lp-a50)}
.lp-chooser__fortify{display:flex;align-items:flex-end;gap:.375rem;text-decoration:none}
.lp-chooser__fortify img{height:1.75rem;width:auto;filter:brightness(0) invert(1);object-fit:contain}
.lp-chooser__fortify span{padding-bottom:.125rem;font-size:.875rem;font-weight:700;letter-spacing:.08em;color:#2191D0}
@media (min-width:640px){.lp-chooser__brands{gap:1.75rem}.lp-chooser__partner{height:5rem}.lp-chooser__divider{height:3.5rem}.lp-chooser__fortify img{height:2.25rem}.lp-chooser__fortify span{font-size:1rem}}
.lp-chooser__intro{max-width:42rem;margin:3rem auto 0;text-align:center}
.lp-chooser__eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--lp-heading)}
.lp-chooser__eyebrow span{white-space:nowrap;font-style:italic}
.lp-chooser__title{margin-top:1.75rem;font-family:"Libre Baskerville",Georgia,"Times New Roman",serif;font-weight:400;font-size:2.5rem;line-height:1.08;color:var(--lp-headline)}
.lp-chooser__title span,.lp-card__title span,.lp-card__tagline span{display:block}
.lp-chooser__rule{display:block;margin:2rem auto 0;height:1px;width:5rem;background:var(--lp-a60)}
.lp-chooser__lede{margin-top:2rem;font-size:1rem;line-height:1.625;color:rgb(255 255 255 / .8);text-wrap:pretty}
@media (min-width:640px){.lp-chooser__intro{margin-top:3.5rem}.lp-chooser__eyebrow{font-size:.875rem}.lp-chooser__title{font-size:3.75rem}.lp-chooser__lede{font-size:1.125rem}}
.lp-chooser__grid{display:grid;align-items:stretch;gap:1.5rem;margin-top:3.5rem}
@media (min-width:640px){.lp-chooser__grid{margin-top:4rem}}
@media (min-width:768px){.lp-chooser__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lp-chooser__grid{gap:2rem}}
.lp-card{display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:1.5rem;border:1px solid var(--lp-a30);background:var(--lp-panel)}
.lp-card__media{position:relative}
.lp-card__media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lp-card__badge{position:absolute;bottom:-2rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;height:4rem;width:4rem;border-radius:9999px;border:2px solid var(--lp-accent);background:var(--lp-panel);color:var(--lp-accent)}
.lp-card__body{display:flex;flex:1;flex-direction:column;padding:3.5rem 1.5rem 2rem;text-align:center}
@media (min-width:640px){.lp-card__body{padding:3.5rem 2rem 2.5rem}}
.lp-card__note{margin-bottom:1rem;font-size:.75rem;line-height:1.625;color:rgb(255 255 255 / .7)}
.lp-card__title{font-size:1.25rem;font-weight:700;text-transform:uppercase;line-height:1.25;letter-spacing:.1em;color:var(--lp-card-title)}
.lp-card__tagline{margin-top:1rem;font-size:1.125rem;line-height:1.375;color:rgb(255 255 255 / .9)}
.lp-card__rule{display:block;margin:1.75rem auto;height:1px;width:4rem;background:var(--lp-a50)}
.lp-card__text{margin-bottom:2rem;font-size:.875rem;line-height:1.625;color:rgb(255 255 255 / .8);text-wrap:pretty}
.lp-card__text--top{margin-top:1rem;margin-bottom:0}
@media (min-width:640px){.lp-card__title{font-size:1.5rem}.lp-card__tagline{font-size:1.25rem}.lp-card__text{font-size:1rem}}
.lp-card__cta{margin-top:auto;display:inline-flex;width:100%;align-items:center;justify-content:center;border-radius:.5rem;background:var(--lp-cta);padding:1rem 2rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--lp-cta-text);text-decoration:none;transition:background-color .2s}
.lp-card__cta:hover{background:var(--lp-cta-hover)}
.lp-card__cta:focus-visible{outline:2px solid var(--lp-accent);outline-offset:4px}
.lp-trust{margin-top:2.5rem;border-radius:1rem;border:1px solid var(--lp-a30);padding:1.5rem}
.lp-trust ul{display:flex;flex-direction:column;gap:1.25rem;list-style:none;margin:0;padding:0}
.lp-trust li{display:flex;align-items:center;gap:.75rem}
.lp-trust svg{flex-shrink:0;color:var(--lp-accent)}
.lp-trust span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgb(255 255 255 / .85)}
@media (min-width:640px){.lp-trust{margin-top:3rem;padding:1.5rem 2.5rem}.lp-trust ul{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem}.lp-trust span{font-size:.875rem}}
.lp-disclaimer{max-width:48rem;margin:2.5rem auto 0;text-align:center;font-size:.75rem;line-height:1.625;color:rgb(255 255 255 / .45)}
.lp-disclaimer p+p{margin-top:.75rem}
.lp-chooser a.lp-chooser__fortify:focus-visible{outline:2px solid var(--lp-accent);outline-offset:4px;border-radius:4px}
.lp-chooser--realaf{--lp-ground:#050D1A;--lp-panel:#0B1A2E;--lp-accent:#DFB16A;--lp-a30:rgb(223 177 106 / .3);--lp-a50:rgb(223 177 106 / .5);--lp-a60:rgb(223 177 106 / .6);--lp-headline:#FFFFFF;--lp-cta:#E2B368;--lp-cta-hover:#EFC178;--lp-cta-text:#0A1626;--lp-heading:#E9BC72;--lp-card-title:#E9BC72;--lp-glow:radial-gradient(80% 100% at 50% 0%,rgb(10 27 51) 0%,rgb(10 27 51 / 0) 70%)}
.lp-chooser--realaf .lp-chooser__partner{height:5rem}
@media (min-width:640px){.lp-chooser--realaf .lp-chooser__partner{height:6rem}}
.lp-chooser--california{--lp-ground:#191A2E;--lp-panel:#2A2C4D;--lp-accent:#F4B65D;--lp-a30:rgb(244 182 93 / .3);--lp-a50:rgb(244 182 93 / .5);--lp-a60:rgb(244 182 93 / .6);--lp-headline:#FAF9D2;--lp-cta:#2191D0;--lp-cta-hover:#0878B7;--lp-cta-text:#FFFFFF;--lp-heading:#F7CF73;--lp-card-title:#F7CF73;--lp-glow:radial-gradient(80% 100% at 50% 0%,rgba(222,122,51,.3) 0%,rgba(222,122,51,0) 70%),radial-gradient(45% 60% at 50% 0%,rgba(244,182,93,.18) 0%,rgba(244,182,93,0) 70%)}
:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}
