/* S340 · becoolbepositive.com on CultureAI's design system.
   Loaded last on every page, so it wins over the older inline sheets without touching them.
   What stays the site's own: the SFG. mark, the drawn sea and sun, Steven's photos and his letter set in Source Serif.
   What comes from cultureai.com: Rubik for the interface, cool white grounds, navy ink, #1559F5 as the one accent,
   its header, pill buttons, cards, follow buttons and the kit's living pills (css/kit-pill-s340.css, byte for byte). */

@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-s340.woff2) format('woff2')}
@font-face{font-family:Rubik;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/rubik-400-italic-s340.woff2) format('woff2')}
@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-500-s340.woff2) format('woff2')}
@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-600-s340.woff2) format('woff2')}
@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-700-s340.woff2) format('woff2')}

:root{
  --bc-ink:#0a1633;--bc-char:#425170;--bc-mute:#566074;--bc-body:#2b3550;
  --bc-paper:#fff;--bc-paper2:#f5f7fc;--bc-tint:#eef3fe;--bc-line:#e3e8f2;--bc-line2:#d5dcea;
  --bc-blue:#1559f5;--bc-blue-ink:#0f46c9;--bc-navy:#0b1530;
  --bc-sans:Rubik,system-ui,-apple-system,sans-serif;--bc-serif:"Source Serif 4",Georgia,serif;--bc-mono:"IBM Plex Mono",ui-monospace,monospace;
  --bc-r:20px;--bc-r-sm:14px;
  --bc-card:0 0 0 1px var(--bc-line),0 1px 2px rgba(10,22,51,.04);
  --bc-lift:0 0 0 1px var(--bc-line),0 18px 40px -24px rgba(11,21,48,.28);
  --bc-max:1140px;--bc-gut:clamp(20px,4vw,32px)
}
html{scroll-padding-top:88px}

/* ---------- the header: cultureai.com's, with the SFG. mark ---------- */
#sgMenuBtn,#sgMenu,.sch-fab,.sch-k{display:none!important}
.bh{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.95);-webkit-backdrop-filter:saturate(1.8) blur(16px);backdrop-filter:saturate(1.8) blur(16px);border-bottom:1px solid var(--bc-line);font-family:var(--bc-sans)}
.bh-in{max-width:var(--bc-max);margin:0 auto;padding:14px var(--bc-gut);display:flex;align-items:center;gap:24px}
.bh-brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none!important;flex:none}
.bh-brand img{display:block;height:56px!important;width:auto!important;margin:-6px 0}
.bh nav{transition:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
.bh .bh-nav{position:static!important;background:none!important;z-index:auto!important}
.bh-nav{display:flex;align-items:center;gap:26px;margin:0 auto 0 12px}
.bh-nav a{font:500 15px/1 var(--bc-sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--bc-char)!important;text-decoration:none!important;padding:14px 0;white-space:nowrap}
.bh-nav a:hover{color:var(--bc-ink)!important}
.bh-nav a[aria-current]{color:var(--bc-ink)!important;text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:7px}
.bh-acts{display:flex;align-items:center;gap:10px;flex:none}
.bh-sbtn,.bh-login{box-sizing:border-box;display:inline-flex;align-items:center;gap:9px;height:44px;border-radius:999px;border:1px solid var(--bc-line2);background:#fff;color:var(--bc-char);font:500 15px/1 var(--bc-sans);text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .2s}
.bh-sbtn{padding:0 8px 0 15px}
.bh-login{padding:0 16px 0 13px}
.bh-sbtn b,.bh-login b{font-weight:500}
.bh-sbtn svg,.bh-login svg,.bh-msrch svg,.bh-mlogin svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.bh-sbtn kbd{display:inline-flex;align-items:center;height:26px;padding:0 7px;border-radius:7px;border:1px solid var(--bc-line);background:var(--bc-paper2);font:400 12px/1 var(--bc-mono);color:var(--bc-mute)}
.bh-sbtn:hover,.bh-login:hover{border-color:var(--bc-ink);color:var(--bc-ink)}
.bh-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;background:var(--bc-ink);color:#fff!important;font:500 15px/1 var(--bc-sans);text-decoration:none!important;white-space:nowrap;transition:background .15s}
.bh-cta i{font-style:normal}
.bh-cta:hover{background:var(--bc-blue)}
.bh a:focus-visible,.bh button:focus-visible,.bh summary:focus-visible{outline:2.5px solid var(--bc-blue);outline-offset:3px}
.bh-menu{display:none}
.bh-menu summary{box-sizing:border-box;width:44px;height:44px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;list-style:none;cursor:pointer}
.bh-menu summary::-webkit-details-marker{display:none}
.bh-menu summary i{display:block;width:18px;height:2px;border-radius:2px;background:var(--bc-ink);transition:transform .2s}
.bh-menu[open] summary i:first-child{transform:translateY(3.5px) rotate(45deg)}
.bh-menu[open] summary i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.bh .bh-panel{position:absolute!important;z-index:2!important;left:0;right:0;top:100%;height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-top:1px solid var(--bc-line);padding:8px var(--bc-gut) 32px;display:flex;flex-direction:column}
.bh-panel>a:not(.bh-cta){font:500 24px/1.2 var(--bc-sans);color:var(--bc-ink)!important;text-decoration:none!important;padding:15px 0;border-bottom:1px solid var(--bc-line)}
.bh-panel>a[aria-current]:not(.bh-cta){color:var(--bc-blue)!important}
.bh-msrch,.bh-panel>a.bh-mlogin{display:flex;align-items:center;gap:12px;font:500 17px/1.2 var(--bc-sans)!important;color:var(--bc-char)!important;padding:16px 0;border:0;border-bottom:1px solid var(--bc-line);background:none;cursor:pointer;text-align:left}
.bh-panel .bh-cta{margin-top:24px;min-height:52px;font-size:16px}
@media (max-width:1100px){.bh-nav{gap:20px}.bh-sbtn kbd{display:none}.bh-sbtn{padding:0 14px}}
@media (max-width:980px){
  .bh-nav,.bh-acts>.bh-sbtn,.bh-acts>.bh-cta{display:none}
  .bh-menu{display:block}
  .bh-in{padding:8px 12px 8px var(--bc-gut);min-height:60px;justify-content:space-between}
  .bh-brand img{height:50px!important}
  .bh-acts{gap:4px}
  .bh-login{border:0;padding:0 12px}
  html:has(.bh-menu[open]){overflow:hidden}
  html:has(.bh-menu[open]) :is(.askfab,.askfab-k){display:none!important}
}
@media (max-width:360px){.bh-login svg{display:none}}
@media print{.bh{display:none!important}}

/* ---------- the Ask button: the kit's Navigator pill, floating ---------- */
.askfab-k.cai-pill{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:2147482000;cursor:pointer;min-height:44px;box-shadow:0 0 0 3px color-mix(in srgb,var(--cai) 8%,transparent),0 14px 34px -14px rgba(21,89,245,.55);transition:box-shadow .25s,opacity .2s,transform .25s cubic-bezier(.22,1,.36,1)}
.askfab-k.cai-pill:hover,.askfab-k.cai-pill:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 5px color-mix(in srgb,var(--cai) 14%,transparent),0 18px 40px -14px rgba(21,89,245,.65)}
.askfab-k[aria-expanded="true"]{opacity:0;pointer-events:none}
@media (max-width:860px){.askfab-k span{max-width:200px;overflow:hidden;transition:max-width .3s cubic-bezier(.22,1,.36,1),opacity .2s}.askfab-k.is-away span{max-width:0;opacity:0;margin-right:-9px}}
@media (max-width:760px){body.lp-docked .askfab-k{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 84px)}}
@media (prefers-reduced-motion:reduce){.askfab-k.cai-pill,.askfab-k.cai-pill:hover{transform:none;transition:none}}
@media print{.askfab-k{display:none!important}}

/* ---------- the footer: cultureai.com's, with the SFG. mark and the creed ---------- */
footer.bf{background:var(--bc-navy)!important;color:#fff;padding:0!important;margin:0!important;font-family:var(--bc-sans);position:relative;z-index:1}
.bf-in{max-width:var(--bc-max);margin:0 auto;padding:72px var(--bc-gut) 36px;box-sizing:border-box}
.bf-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.bf-brand{display:flex;flex-direction:column;gap:18px}
.bf-logo{display:inline-flex;width:max-content;min-height:44px;align-items:center}
.bf-logo img{display:block;height:64px;width:auto;margin:-8px 0 -8px -6px}
.bf-motto{font:600 clamp(34px,4.4vw,56px)/1.02 var(--bc-serif)!important;letter-spacing:-.02em;color:#fff!important;margin:0!important;text-wrap:balance}
.bf-built{max-width:330px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.bf-bk{font:500 13px/1 var(--bc-sans);color:rgba(255,255,255,.78);margin:0}
.bf-bt{font:400 14px/1.55 var(--bc-sans);color:rgba(255,255,255,.78);margin:0}
.bf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:44px 0}
.bf-col{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;position:static!important;background:none!important;padding:0!important;margin:0!important}
.bf-h{font:500 13px/1 var(--bc-sans)!important;letter-spacing:0!important;text-transform:none!important;color:rgba(255,255,255,.74)!important;margin:0 0 12px!important}
.bf-col>a,.bf-col address a{color:#fff!important;text-decoration:none!important;font:400 15px/1.4 var(--bc-sans);padding:6px 0}
.bf-col>a:hover,.bf-col address a:hover{text-decoration:underline!important;text-underline-offset:4px}
.bf-col address{font:400 15px/1.65 var(--bc-sans);font-style:normal;color:rgba(255,255,255,.82)}
.bf-col address a{display:inline-block;padding:2px 0}
.bf-social{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.bf-social a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 14px;border-radius:999px;background:#fff;color:var(--bc-ink)!important;font:500 15px/1 var(--bc-sans);text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.bf-social a:hover{transform:translateY(-1px);box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
.bf-social svg{width:20px;height:20px;flex:none}
.bf-legal{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.bf-legal p{margin:0;font:400 13px/1.5 var(--bc-sans);color:rgba(255,255,255,.74)}
.bf-legal .bf-meter{margin-left:auto;font:500 11px/1 var(--bc-mono);letter-spacing:.16em;color:rgba(255,255,255,.7)}
.bf a:focus-visible{outline:2.5px solid #fff;outline-offset:3px;border-radius:6px}
@media (max-width:900px){.bf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.bf-top{flex-direction:column;align-items:flex-start}}
@media (max-width:520px){.bf-in{padding:56px 20px calc(96px + env(safe-area-inset-bottom))}.bf-grid{grid-template-columns:1fr 1fr;gap:32px 16px}.bf-fol,.bf-grid>.bf-col:last-child{grid-column:1/-1}.bf-fol .bf-social{flex-direction:row;flex-wrap:wrap}.bf-social a{white-space:nowrap}.bf-legal .bf-meter{margin-left:0}}
/* the older page sheets style every nav; the header's two navs answer only to this sheet */
.bh .bh-nav{padding:0!important;max-width:none!important;justify-content:flex-start!important}
.bh .bh-panel{max-width:none!important;justify-content:flex-start!important;align-items:stretch!important;padding:8px var(--bc-gut) 32px!important;margin:0!important;box-sizing:border-box!important;width:auto!important}
.bh .bh-nav a,.bh .bh-panel a,.bh .bh-panel button{margin:0!important}
.bh .bh-panel a,.bh .bh-panel button,.bh .bh-nav a{text-transform:none!important;letter-spacing:0!important}
.bh .bh-panel>a:not(.bh-cta):not(.bh-mlogin){font:500 24px/1.2 var(--bc-sans)!important}
.bh .bh-panel>a.bh-mlogin{font:500 17px/1.2 var(--bc-sans)!important}
.bh .bh-panel .bh-cta{font:500 16px/1 var(--bc-sans)!important;margin-top:24px!important}
