/* Blue atmosphere: a shared, readable use of translucent Silicon Founders blues. */
:root {
  --sf-atmosphere: #071b35;
  --sf-atmosphere-mid: #123a70;
  --sf-atmosphere-bright: #3675e8;
  --sf-atmosphere-frost: #edf4ff;
  --sf-atmosphere-line: #c8d9f0;
}

/* The home opening carries the richer blue from the reference. */
html body .hero-shell:has(.home-opening-art) {
  color: #f7faff !important;
  background:
    radial-gradient(ellipse at 12% 38%, #1c4c88 0, transparent 42%),
    radial-gradient(ellipse at 92% 8%, #17447a 0, transparent 36%),
    linear-gradient(115deg, #061a33 0%, #0c2b54 54%, #123e78 100%) !important;
}
html body .hero-shell:has(.home-opening-art)::before {
  inset: 0 !important;
  opacity: .28;
  background-image:
    linear-gradient(30deg, transparent 48%, #9dc4ff13 49%, #9dc4ff13 50%, transparent 51%),
    linear-gradient(150deg, transparent 48%, #9dc4ff10 49%, #9dc4ff10 50%, transparent 51%);
  background-size: 46px 46px;
}
html body .hero-shell:has(.home-opening-art) .hero h1 { color: #f8fbff !important; }
html body .hero-shell:has(.home-opening-art) .hero h1 span { color: #9fc4ff !important; }
html body .hero-shell:has(.home-opening-art) .hero-eyebrow,
html body .hero-shell:has(.home-opening-art) .hero-focus-link { color: #a9caff !important; }
html body .hero-shell:has(.home-opening-art) .hero-lede,
html body .hero-shell:has(.home-opening-art) .hero-positioning,
html body .hero-shell:has(.home-opening-art) .hero-note { color: #dbe8f8 !important; }
html body .hero-shell:has(.home-opening-art) .hero-note { border-left-color: #8fb8f266 !important; }
html body .hero-shell:has(.home-opening-art) .hero-note b { color: #fff !important; }
html body .hero-shell:has(.home-opening-art) .hero-actions .button-primary {
  background: #3978ed !important; border-color: #3978ed !important; color: #fff !important;
}
html body .hero-shell:has(.home-opening-art) .hero-actions .button-ghost {
  border-color: #b6ccef80 !important; background: #ffffff12 !important; color: #f4f8ff !important;
}
html body .hero-shell:has(.home-opening-art) .pathways {
  border-color: #9dc1ed52 !important; background: #071a31a6 !important;
  box-shadow: 0 18px 52px #020c1d45 !important;
}
html body .hero-shell:has(.home-opening-art) .pathways>a {
  border-color: #9dc1ed35 !important; background: #ffffff0b !important; color: #f4f8ff !important;
}
html body .hero-shell:has(.home-opening-art) .pathways>a:hover { background: #ffffff17 !important; }
html body .hero-shell:has(.home-opening-art) .pathways small { color: #a9caff !important; }
html body .hero-shell:has(.home-opening-art) .pathways b { color: #fff !important; }
html body .hero-shell:has(.home-opening-art) .path-icon { border-color: #a9caff55 !important; background: #3978ed26 !important; }
html body .hero-shell:has(.home-opening-art) .home-opening-art {
  border-color: #b8d4fb88 !important;
  background: linear-gradient(140deg, #8db9f038, #4c91d45c 55%, #8ed8dc42) !important;
  box-shadow: 0 30px 90px #020d204d !important;
  backdrop-filter: blur(8px);
}
html body .hero-shell:has(.home-opening-art) .home-opening-art:before { background: #83b6ff42 !important; }
html body .hero-shell:has(.home-opening-art) .home-opening-art:after { background: #69d1dc38 !important; }
html body .hero-shell:has(.home-opening-art) .home-opening-portrait {
  border-color: #e7f1ff !important; box-shadow: 0 14px 38px #04142b55 !important;
}
html body .hero-shell:has(.home-opening-art) .home-opening-note { color: #e4efff !important; }

/* Interior page openings stay airy, with a visible blue wash and readable dark copy. */
html body .sf-opening-hero {
  background:
    radial-gradient(ellipse at 12% 92%, #b9d5ff8a 0, transparent 45%),
    radial-gradient(ellipse at 91% 8%, #9ad7e84d 0, transparent 42%),
    linear-gradient(115deg, #e8f1ff 0%, #dfeafb 52%, #e5f5f6 100%) !important;
  color: #102c45 !important;
}
html body .sf-opening-hero:before {
  opacity: .38 !important;
  background-image: linear-gradient(30deg, transparent 48%, #3268a212 49%, #3268a212 50%, transparent 51%),
    linear-gradient(150deg, transparent 48%, #3268a20e 49%, #3268a20e 50%, transparent 51%) !important;
  background-size: 44px 44px !important;
}
html body .sf-opening-kicker { color: #1e5cb8 !important; }
html body .sf-opening-copy h1 { color: #102d50 !important; }
html body .sf-opening-description { color: #405a78 !important; }
html body .sf-opening-primary { background: #2867d9 !important; border-color: #2867d9 !important; }
html body .sf-opening-primary:hover { background: #1d56bd !important; }
html body .sf-opening-secondary { border-color: #8ba8cc !important; background: #ffffffb8 !important; color: #173a53 !important; }
html body .sf-opening-art {
  border-color: #ffffffa8 !important;
  background: linear-gradient(135deg, #a9c9f084, #82c7d066 58%, #d7e6ff80) !important;
  box-shadow: 0 28px 80px #173c681c !important;
  backdrop-filter: blur(7px);
}
html body .sf-opening-art:before { background: #8fb7f477 !important; }
html body .sf-opening-art:after { background: #77c8d676 !important; }
html body .sf-opening-photo { border-color: #f2f7ff !important; }
html body .sf-opening-art-note { color: #284d76 !important; }

/* Cool, translucent section backgrounds bring the blue across the site without tinting every surface. */
html body .principles.section-light,
html body .model-section.section-light,
html body .sectors-section.section-light,
html body .knowledge-section.section-light {
  background: linear-gradient(125deg, #eaf2ff 0%, #f4f8ff 62%, #eaf6fb 100%) !important;
}
html body .engine-section.section-dark,
html body .intelligence-section.section-dark,
html body .faq-section.section-dark {
  background: linear-gradient(125deg, #e4efff 0%, #edf4ff 58%, #e3f2f7 100%) !important;
}
html body .ecosystem-section.section-light {
  background: linear-gradient(125deg, #f0f6ff 0%, #e5efff 52%, #e3f5f6 100%) !important;
}
html body .principle-cards article,
html body .model-card,
html body .sector-card,
html body .eco-card,
html body .knowledge-categories>a,
html body .library-preview,
html body .faq-list details {
  background: #ffffffd9 !important;
  border-color: #bdcfe8 !important;
  box-shadow: 0 12px 34px #153e7010 !important;
  backdrop-filter: blur(5px);
}
html body .model-card-accent { background: #dceaffd9 !important; border-color: #aac5ed !important; }
html body .role-card, html body .role-copy { background: #ffffffdc !important; }
html body .contact-section { background: linear-gradient(120deg,#dfeaff,#e7f4f8) !important; }
html body .sf-global-footer { background: linear-gradient(115deg,#e6efff,#eff5fc 62%,#e4f2f6) !important; border-top-color: #bfd1e9 !important; }

/* Interior canvases use a cool blue tint; long-form reading and forms retain clean white surfaces. */
html body .inner-shell { background: #f6f9ff !important; }
html body .inner-hero {
  background: linear-gradient(120deg,#e5efff 0%,#f2f7ff 57%,#e4f3f7 100%) !important;
  border-bottom: 1px solid #d4e1f1;
}
html body .inner-body, html body .focus-body,
html body .newsletter-body, html body .pub-library,
html body .kh-article-body, html body .insights-body {
  background: #fff !important;
}
html body .note-panel, html body .focus-controls, html body .focus-detail-grid>div {
  background-color: #edf4ff !important;
  border-color: #c6d8ef !important;
}
html body .pub-hero, html body .newsletter-hero, html body .tools-hero {
  background: radial-gradient(ellipse at 15% 20%,#174b8a 0,transparent 44%),
    linear-gradient(115deg,#071a33,#12396d 68%,#0c5a78) !important;
}
html body .pub-status-section, html body .newsletter-status,
html body .pub-next, html body .tools-next {
  background: linear-gradient(120deg,#e7f0ff,#edf5fb) !important;
}

@media (max-width: 760px) {
  html body .hero-shell:has(.home-opening-art) .hero { color: #f7faff !important; }
  html body .hero-shell:has(.home-opening-art) .pathways { background: #071a31c9 !important; }
}
/* Launch readability: balanced spacing, clear text, quiet decoration. */
html body p,html body li {line-height:1.7;overflow-wrap:break-word}
html body input,html body textarea,html body select {font-size:16px!important;line-height:1.5;color:#173653;background:#fff}
html body .intake-form {background:#fff;border:1px solid #c8d9ed;border-radius:16px}
html body .intake-warning p,html body .intake-warning a {color:#edf5ff!important}
html body .intake-warning a {text-decoration:underline}
html body .sf-footer-group a {font-size:15px!important;line-height:1.65!important}
html body .sf-footer-group h2 {font-size:14px!important;letter-spacing:.04em!important}
html body .home-opening-art:before,html body .home-opening-art:after,html body .sf-opening-art:before,html body .sf-opening-art:after {display:none}
html body .hero-positioning {display:none}
html body :focus-visible {outline:3px solid #69a5ff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readability contract: explicit foreground/background pairs, after legacy themes. */
html body #top.hero-shell {background:linear-gradient(115deg,#f8fbff,#eaf3ff 65%,#e3f3f7)!important;color:#132e4b!important}
html body #top.hero-shell::before,html body #top.hero-shell::after {display:none!important}
html body #top .hero h1 {color:#132e4b!important;line-height:1.12!important;letter-spacing:-.04em!important}
html body #top .hero h1 span {color:#fff!important;background:#2862d4!important;padding:.02em .1em!important}
html body #top .hero-eyebrow,html body #top .hero-focus-link {color:#2359a0!important}
html body #top .hero-lede,html body #top .hero-note {color:#38516c!important;opacity:1!important}
html body #top .hero-actions .button-ghost {color:#17458a!important;background:#fff!important;border-color:#8ba8cb!important}
html body #top .hero-actions .button-primary {color:#fff!important;background:#245ccc!important}
html body #top .pathways {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;padding:0!important;margin-top:0!important;margin-bottom:48px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body #top .pathways>a.sf-pathway-card {display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;min-width:0;min-height:246px!important;padding:24px!important;border:1px solid #c2d5ed!important;border-top:4px solid #3675e8!important;border-radius:18px!important;background:#fff!important;color:#142f4f!important;box-shadow:0 10px 28px #143e7510!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s!important}
html body #top .pathways>a:nth-child(2){border-top-color:#087c88!important;background:#f1fafb!important}
html body #top .pathways>a:nth-child(3){border-top-color:#7555b4!important;background:#f6f3fc!important}
html body #top .pathways>a:nth-child(4){border-top-color:#b35c21!important;background:#fff8f1!important}
html body #top .pathways>a.sf-pathway-card b {font-size:23px!important;line-height:1.25!important;color:#142f4f!important;letter-spacing:-.02em!important}
html body #top .pathways>a .sf-pathway-number {font-size:14px!important;font-weight:700;color:#385b88!important;background:#e4edfb!important;padding:7px 11px;border-radius:9px}
html body #top .pathways>a .sf-pathway-description {font-size:16px!important;line-height:1.55!important;color:#425771!important}
html body #top .pathways>a .sf-pathway-action,html body #top .pathways>a .sf-pathway-action span {font-size:14px!important;line-height:1.5!important;font-weight:700;color:#17468c!important;margin-top:auto}
html body #top .pathways>a.sf-pathway-card:hover {transform:translateY(-5px);box-shadow:0 16px 32px #143e7525!important;border-color:#3675e8!important}
html body #top .pathways>a.sf-pathway-card:focus-visible {outline:3px solid #245ccc!important;outline-offset:4px}
html body .sf-opening-hero .sf-opening-copy h1 {color:#132e4b!important;line-height:1.15!important;letter-spacing:-.035em!important}
html body .sf-opening-hero .sf-opening-description {color:#38516c!important;opacity:1!important}
html body .sf-opening-hero .sf-opening-kicker {color:#2359a0!important}
html body .sf-opening-hero .sf-opening-primary {color:#fff!important;background:#245ccc!important}
html body .sf-opening-hero .sf-opening-secondary {color:#17458a!important;background:#fff!important}
html body :is(.pub-hero,.newsletter-hero,.tools-hero) {background:linear-gradient(115deg,#edf4ff,#e2effb)!important;color:#132e4b!important}
html body :is(.pub-hero,.newsletter-hero,.tools-hero) :is(h1,h2,h3,p,small,label) {color:#132e4b!important}
html body :is(.role-copy,.model-card,.principle-cards article,.faq-list details,.eco-card,.knowledge-categories>a,.library-preview) :is(p,li,small) {color:#38516c!important}
html body :is(.role-copy,.model-card,.principle-cards article,.faq-list details,.eco-card,.knowledge-categories>a,.library-preview) :is(h3,h4,summary) {color:#132e4b!important}
html body .sf-global-footer .sf-footer-group h2 {font-size:16px!important;line-height:1.4!important;letter-spacing:.025em!important;max-width:none!important}
html body .sf-global-footer :is(p,a,small) {color:#38516c!important;line-height:1.65!important}
html body :is(input,textarea,select) {color:#132e4b!important;background-color:#fff!important;font-size:16px!important}
html body :is(input,textarea)::placeholder {color:#52677d!important;opacity:1!important}
@media(max-width:1100px){html body #top .pathways{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){html body #top .pathways{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:30px!important}html body #top .pathways>a.sf-pathway-card{min-height:190px!important;padding:22px!important}html body #top .hero h1{font-size:clamp(36px,9vw,52px)!important}}
@media(prefers-reduced-motion:reduce){html body #top .pathways>a.sf-pathway-card{transition:none!important;transform:none!important}}

html body .sf-opening-hero .sf-opening-copy a.sf-opening-primary,html body .sf-opening-hero .sf-opening-copy a.sf-opening-primary:visited {color:#fff!important;background:#245ccc!important}

/* Calm, section-led navigation for the Help Centre and Site Map. */
.sf-directory-page {background:#f4f8fd;color:#17324f;padding-bottom:90px}
.sf-directory-hero {padding:50px 0 60px;background:linear-gradient(120deg,#eaf3ff,#dff1f6)}
.sf-directory-hero h1 {max-width:850px;margin:20px 0 18px;font-size:clamp(42px,6vw,72px);line-height:1.08;letter-spacing:-.04em;color:#132e4b}
.sf-directory-hero h1 em {font-style:normal;color:#2862d4}
.sf-directory-lede {max-width:680px;margin:0 0 24px;font-size:19px;line-height:1.65;color:#38516c}
.sf-directory-cta,.sf-faq-footer>a {display:inline-flex;align-items:center;border-radius:9px;padding:13px 20px;background:#245ccc;color:#fff;font-weight:700;text-decoration:none}
.sf-directory-content {padding-top:55px}
.sf-directory-intro {margin-bottom:24px}
.sf-directory-intro h2 {font-size:clamp(28px,4vw,40px);margin:8px 0;color:#132e4b}
.sf-directory-intro>p:last-child {color:#52677d;font-size:17px}
.sf-faq-groups {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sf-faq-group,.sf-sitemap-grid>section,.sf-faq-footer {border:1px solid #d7e3f1;border-radius:18px;background:#fff;box-shadow:0 8px 24px #163a6810;padding:22px}
.sf-faq-group>header {display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid #e3ebf5;margin-bottom:4px}
.sf-faq-group>header>span {display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f0fd;color:#245ccc;font-weight:800}
.sf-faq-group>header p,.sf-sitemap-grid section>.eyebrow {margin:0 0 4px;color:#2862a4;font-size:12px;font-weight:800;letter-spacing:.1em}
.sf-faq-group>header h2,.sf-sitemap-grid h2 {margin:0;color:#132e4b;font-size:22px;line-height:1.3}
.sf-faq-group details {padding:15px 0;border-bottom:1px solid #e8eef5}
.sf-faq-group details:last-child {border-bottom:0;padding-bottom:2px}
.sf-faq-group summary {cursor:pointer;color:#17324f;font-size:16px;font-weight:700;line-height:1.5;list-style:none;display:flex;justify-content:space-between;gap:16px}
.sf-faq-group summary::-webkit-details-marker {display:none}
.sf-faq-group summary:after {content:'+';color:#2862d4;font-size:22px;font-weight:500;line-height:1}
.sf-faq-group details[open] summary:after {content:'−'}
.sf-faq-group details p {margin:12px 0 0;color:#425771;line-height:1.7}
.sf-faq-group details a {display:inline-block;margin-top:10px;color:#17468c;font-weight:700}
.sf-faq-footer {margin-top:22px;background:linear-gradient(120deg,#eaf3ff,#f5faff);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.sf-faq-footer h2 {margin:0 0 7px;color:#132e4b}.sf-faq-footer p {margin:0;color:#425771}
.sf-sitemap-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sf-sitemap-grid h2 {margin-bottom:12px}
.sf-sitemap-grid a {display:block;padding:11px 0;border-top:1px solid #e8eef5;color:#294866;font-size:16px;font-weight:600;text-decoration:none}
.sf-sitemap-grid a:hover,.sf-faq-group details a:hover {color:#245ccc;text-decoration:underline}
@media(max-width:700px){.sf-directory-hero{padding:34px 0 40px}.sf-directory-content{padding-top:36px}.sf-faq-groups,.sf-sitemap-grid{grid-template-columns:1fr}.sf-faq-group,.sf-sitemap-grid>section{padding:18px}.sf-directory-lede{font-size:17px}}

/* Make the four homepage pathways distinct and easy to scan. */
.sf-home-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.sf-home-steps>a{display:flex;min-height:180px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:22px;border:1px solid #ffffff30;border-radius:16px;background:linear-gradient(150deg,#ffffff18,#ffffff08);color:#fff;text-decoration:none;box-shadow:0 12px 32px #061c3a1a;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.sf-home-steps>a:hover{transform:translateY(-4px);border-color:#82b5ff;background:linear-gradient(150deg,#ffffff28,#ffffff0d)}
.sf-home-steps>a>span{color:#a9c9ff;font-size:11px;font-weight:800;letter-spacing:.14em}
.sf-home-steps>a>h3{margin:18px 0 8px;color:#fff;font:700 clamp(20px,2.2vw,27px)/1.2 var(--font-head);letter-spacing:-.03em}
.sf-home-steps>a>p{max-width:260px;margin:0;color:#e1ebf7;font-size:13px;line-height:1.65}
@media(max-width:900px){.sf-home-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sf-home-steps{grid-template-columns:1fr;gap:10px}.sf-home-steps>a{min-height:145px;padding:18px}}

/* Member pathway links: five distinct destinations with clear responsive spacing. */
html body #top .pathways {grid-template-columns:repeat(5,minmax(0,1fr))!important}
html body #top .pathways>a:nth-child(5){border-top-color:#2672ae!important;background:#f1f7fc!important}
@media(max-width:1200px){html body #top .pathways{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:780px){html body #top .pathways{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){html body #top .pathways{grid-template-columns:1fr!important}}
