:root {
 --paper:#F7F8FA; --paper2:#EAF0F5; --navy:#142D4E; --ink:#303844;
 --teal:#147D83; --teal-deep:#0F5F64; --muted:#5B6577;
 --line:color-mix(in srgb,var(--teal) 24%,transparent);
 --line-strong:color-mix(in srgb,var(--teal) 52%,transparent);
 --teal-soft:color-mix(in srgb,var(--teal) 8%,var(--paper));
 --teal-on-navy:color-mix(in srgb,var(--teal) 38%,var(--paper));
 --shadow:0 12px 34px color-mix(in srgb,var(--navy) 9%,transparent);
 --shadow-strong:0 18px 42px color-mix(in srgb,var(--navy) 15%,transparent);
 --bronze:var(--teal); --blue:var(--teal); --cyan:var(--teal); --deep:var(--navy);
 --white:var(--paper); --card-bg:var(--paper); --mono:"IBM Plex Mono",monospace;
}
body.light-theme {background:var(--paper)!important;color:var(--ink)!important;color-scheme:light;}
body.light-theme .site {background:var(--paper)!important;}
body.light-theme :is(.header,.footer,.credentials,.hero,.section,.section.navy,.perspective-hero,.perspective-end,.perspective-single,.multival-privacy) {background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important;}
body.light-theme .header {background:color-mix(in srgb,var(--paper) 96%,transparent)!important;box-shadow:0 1px 0 var(--line);}
body.light-theme :is(h1,h2,h3,h4,h5,h6,.brand-name,.personal-mark,.credential-name) {color:var(--navy)!important;}
body.light-theme :is(p,li,blockquote,.service-detail,.narrative,.bio-lead,.hero-sub,.post-body,.privacy-content) {color:var(--ink)!important;}
body.light-theme :is(.nav a,.lang-toggle a,.contact-links a) {color:var(--navy)!important;}
body.light-theme :is(.eyebrow,.service-kicker,.more,.journey-number,.tag,.quote,.docref,.badge,.privacy-link,.guide-link) {color:var(--teal-deep)!important;}
body.light-theme :is(.note,.credential-detail,.perspective-meta,.perspective-meta span,.perspective-meta time,.post-body time,figcaption,.footer p) {color:var(--muted)!important;}
body.light-theme :is(.eyebrow,.service-kicker,.credential-detail,.docref,.badge,.journey-number,.stat,.tag) {font-family:var(--mono);}
body.light-theme :is(.eyebrow,.service-kicker,.credential-detail,.tag) {font-size:12px;}
body.light-theme :is(a,button,input,textarea,select):focus-visible {outline:3px solid var(--teal-deep)!important;outline-offset:4px;}
body.light-theme a:not(.button):hover {color:var(--teal)!important;}
body.light-theme :is(.frame,.corner,.credentials-grid,.credential,.journey-grid,.journey-grid li,.complementary-head,.service-glossary,.section-frame,.perspective-featured,.perspective-content blockquote) {border-color:var(--line)!important;}
body.light-theme :is(.eyebrow::before,.service-kicker::before) {background:var(--teal)!important;}
body.light-theme .section::before {background:none!important;}
body.light-theme .hero {background:linear-gradient(130deg,var(--paper),var(--paper2))!important;}
body.light-theme .hero::after {opacity:.035;mix-blend-mode:multiply;pointer-events:none;}
body.light-theme .hero .hero-copy {transform:none;}
body.light-theme.multival .hero {min-height:760px;min-height:min(860px,100svh);padding-block:150px 110px;}
body.light-theme.multival .hero h1.multival-wordmark {font-size:clamp(2.5rem,8.6vw,7.5rem);}
body.light-theme.multival .hero .hero-sub {max-width:540px;color:var(--ink)!important;}
body.light-theme.francisco :is(h1,h2,h3) {font-family:"Newsreader",Georgia,serif!important;}
body.light-theme .hero :is(.badge,.docref) {color:var(--muted)!important;}
body.light-theme .hero .seal {opacity:.45;}
body.light-theme .ring {stroke:var(--teal);}
body.light-theme :is(.bridge-logo .rings i,.rings circle) {border-color:var(--teal)!important;stroke:var(--teal);}
body.light-theme :is(.button,.button.light) {background:var(--teal)!important;color:var(--paper)!important;border:1px solid var(--teal)!important;box-shadow:none;min-height:48px;}
body.light-theme .button:hover {background:var(--teal-deep)!important;border-color:var(--teal-deep)!important;color:var(--paper)!important;}
body.light-theme .button.ghost {background:transparent!important;color:var(--teal-deep)!important;border-color:var(--line-strong)!important;}
body.light-theme .button::before {background:var(--paper)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--paper) 18%,transparent)!important;}
body.light-theme .lang-toggle {background:transparent;border-color:var(--line)!important;}
body.light-theme .lang-toggle a.is-active {background:var(--teal)!important;color:var(--paper)!important;}
body.light-theme :is(.card,.post-card,.question-card,.bio-item,.form-panel,.perspective-related li) {background:var(--paper)!important;border:1px solid var(--line)!important;color:var(--ink)!important;box-shadow:none;}
body.light-theme :is(.card,.post-card,.question-card):hover {transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)!important;}
body.light-theme :is(.card,.post-card,.question-card)::before {background:var(--teal)!important;}
body.light-theme .post-body {background:var(--paper)!important;}
body.light-theme :is(.tag,.icon) {color:var(--teal-deep)!important;background:var(--teal-soft)!important;border-color:var(--line)!important;}
body.light-theme .icon svg {stroke:currentColor;}
body.light-theme .question-card>span {color:var(--teal-deep)!important;font-family:var(--mono);}
body.light-theme :is(.service-toggle,.perspective-back) {color:var(--teal-deep)!important;min-height:44px;}
body.light-theme .service-detail {background:var(--paper2)!important;border-color:var(--line)!important;max-height:none!important;overflow:visible;}
body.light-theme .service-detail[hidden] {display:none!important;}
body.light-theme :is(input,textarea,select) {background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;min-height:48px;}
body.light-theme :is(label,label span,.form-panel label span) {color:var(--navy)!important;}
body.light-theme ::placeholder {color:var(--muted);opacity:1;}
body.light-theme :is(.form-privacy a,.privacy-content a,.perspective-content a) {color:var(--teal-deep)!important;text-decoration:underline;text-underline-offset:4px;}
body.light-theme .contact-links a {border-color:var(--line)!important;}
body.light-theme .footer {border-top:1px solid var(--line);}
body.light-theme .footer a {color:var(--teal-deep)!important;}
body.light-theme .section.dark-anchor {background:var(--navy)!important;color:var(--paper)!important;}
body.light-theme .section.dark-anchor :is(h2,p,strong,span) {color:var(--paper)!important;}
body.light-theme .section.dark-anchor :is(.eyebrow,.stat span) {color:var(--teal-on-navy)!important;}
body.light-theme .section.dark-anchor .stat strong {font-family:var(--mono);font-size:clamp(24px,3.1vw,44px);font-weight:500;}
body.light-theme .section.dark-anchor .stat {border-color:var(--line-strong)!important;min-width:0;}
body.light-theme .principle-band .container {max-width:900px;}
body.light-theme .principle-band h2 {max-width:23ch;font-size:clamp(32px,4vw,52px);}
body.light-theme .principle-band p {max-width:66ch;}
body.light-theme .perspective-content {background:var(--paper)!important;}
body.light-theme .perspective-content blockquote {background:var(--paper2)!important;border-left:3px solid var(--teal)!important;}
body.light-theme .perspective-content :is(table,td,th) {border-color:var(--line)!important;}
body.light-theme .perspective-content th {background:var(--paper2)!important;color:var(--navy)!important;}
/* CSS-only photographic treatment preserves the uploaded photographs. */
body.light-theme :is([data-img],.perspective-featured) {background:var(--paper2)!important;border:1px solid var(--line)!important;position:relative;overflow:hidden;}
body.light-theme [data-img]::before {background:none!important;}
body.light-theme [data-img]::after {content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--navy) 10%,transparent),color-mix(in srgb,var(--teal) 5%,transparent),color-mix(in srgb,var(--paper) 12%,transparent))!important;mix-blend-mode:color;pointer-events:none;}
body.light-theme :is(.light-photo,.ceo-formal-image,.social-image img,.brand-post-image,.perspective-featured-image,.perspective-related-image) {display:block;width:100%;filter:saturate(.65) contrast(.96);mix-blend-mode:multiply;opacity:1;object-fit:cover;}
body.light-theme .light-photo {height:100%;position:absolute;inset:0;}
body.light-theme .portrait-slot {background:var(--paper2)!important;}
body.light-theme .portrait-slot .light-photo {object-position:center 30%;}
body.light-theme .bio-photo .light-photo {object-position:center;}
body.light-theme :is(.brand-post-image,.perspective-related-image) {border:1px solid var(--line);}
@media(max-width:700px) {
 body.light-theme.multival .hero {min-height:0;padding-block:150px 100px;}
 body.light-theme.multival .hero h1.multival-wordmark {font-size:clamp(2.4rem,10vw,4.2rem);}
 body.light-theme .hero .hero-copy {padding-inline:10px;}
 body.light-theme .hero .seal {opacity:.18;}
 body.light-theme .stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
 body.light-theme .stat:last-child {grid-column:1/-1;}
 body.light-theme.francisco.home .hero .container {gap:28px;}
 body.light-theme .credentials-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.light-theme .credential:last-child {grid-column:1/-1;}
}

body.light-theme main a:not(.button) {color:var(--teal-deep)!important;}
body.light-theme main :is(h1,h2,h3) a {color:var(--navy)!important;}
body.light-theme .credential .credential-detail {font-size:12px!important;}
body.light-theme :is([data-img],.perspective-featured) {box-shadow:none!important;}
body.light-theme :is(.light-photo,.ceo-formal-image,.social-image img,.brand-post-image,.perspective-featured-image,.perspective-related-image) {filter:grayscale(.6) contrast(.82) brightness(1.12);opacity:.94;}
body.light-theme [data-img]::after {background:linear-gradient(145deg,var(--navy),var(--teal))!important;mix-blend-mode:color;opacity:.22;}

