/* FELSEN / Mineral identity. Muted blue is a supporting color, not a backdrop. */
:root {
  --paper:#f3f2ed; --ink:#202a32; --muted:#58666e; --line:#c8cece;
  --orange:#354f63; --dark:#151c23; --brand-fill:#233a4a; --on-brand:#f1f1eb;
  --brand-surface:#e5e9e8; --surface:#e7eae7; --surface-raised:#e4e8e7; --control-line:#7c898f;
  --analysis-paper:#f3f2ed; --analysis-ink:#263844; --analysis-muted:#58666e; --analysis-signal:#976e3d;
}
::selection { background:#354f63; color:#fff; }
.site-header { height:88px; min-height:88px; border-color:var(--line); }
.wordmark { width:176px; }
.desktop-nav { gap:34px; font-size:13px; font-weight:500; letter-spacing:-.015em; }
.desktop-nav a::after { bottom:0; height:1px; }
.desktop-nav a[aria-current="page"],.desktop-nav .nav-parent { color:var(--orange); }
.header-contact { font-size:13px; min-width:108px; border-color:var(--control-line); border-radius:0; font-weight:500; }
.button { border-radius:0; font-weight:500; }
.button.dark:hover { background:var(--brand-fill); color:var(--on-brand); }
.text-link:hover,.report-label,.about-links a:hover { color:var(--orange); }
.page-head { padding-top:54px; padding-bottom:55px; }
.page-head .page-eyebrow { border:0; color:var(--muted); font-size:10px; letter-spacing:.08em; }
.page-head .page-eyebrow a { display:none; }
.page-head .page-intro { margin-top:32px; gap:60px; }
.page-head h1 { font-size:clamp(35px,3.7vw,53px); line-height:1.38; font-weight:500; letter-spacing:-.04em; }
.page-head .page-intro > p { font-size:16px; line-height:1.95; max-width:32em; }
.detail-head h1 { font-weight:500; }
.name-story > p,.scenario-body > p,.casebook-note p { font-size:15px; line-height:1.85; }
.company-position h2,.company-principles h2,.technical-foundation h2,.research-heading h2 { font-weight:500; }
.detail-art,.company-object,.company-ending,.identity-panel,.approach-section,.case-teaser { background:var(--surface-raised); }
.company-object,.identity-top,.identity-bottom { border-color:var(--line); }
.company-ending { padding-top:48px; padding-bottom:55px; }
.experience-home-grid > a:hover,.case-index > a:hover,.scenario-picker button[aria-selected="true"] { background:var(--surface-raised); }
.scenario-picker button[aria-selected="true"] .mono,.scenario-picker button[aria-selected="true"] strong { color:var(--orange); }
.risk-label { background:var(--surface-raised); color:var(--ink); }
.case-evidence,.case-retest,.case-expanded .case-evidence { background:var(--surface-raised); }
.case-evidence,.case-evidence-head,.case-evidence dl > div,.case-evidence pre { border-color:var(--line); }
.case-evidence pre { background:var(--paper); color:var(--ink); }
.approach-intro > p,.approach-intro h2 em,.approach-seal,.report-file-meta { color:var(--muted); }
.service-context-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 35px; margin:26px 0 0; }
.service-context-links a { display:inline-flex; align-items:center; min-height:44px; gap:20px; font-size:14px; border-bottom:1px solid var(--line); }
.service-context-links a:hover { border-color:var(--orange); color:var(--orange); }
.detail-cta,.experience-feature { background:var(--brand-fill); color:var(--on-brand); }
.detail-cta { padding:40px; }
.detail-cta .button { color:#233a4a; background:#f1f1eb; }
.detail-cta .button:hover { color:#fff; background:#151c23; }
.detail-cta a:focus-visible,.experience-feature a:focus-visible { outline-color:#c6d5df; }
.experience-caption,.experience-feature-bottom { color:#c4d2db; }
.experience-feature p,.experience-feature--project .experience-project-summary { color:#e0e6e9; }
.experience-feature .text-link { color:#f1f1eb; border-color:#96adbc; }
.experience-feature-bottom { border-color:#758c9b; }
.scenario-panel { background:#1e2b36; color:#f1f1eb; }
.panel-toolbar,.panel-foot,.scenario-flow { color:#bfccd5; border-color:#627887; }
.scenario-flow span:not([aria-hidden]) { border-color:#8196a5; }
.scenario-flow .flow-risk { border-color:#a7bdcb!important; color:#d1dee6; }
.scenario-body > p { color:#bfccd5; }
.signal-tag,.scenario-result .mono { color:#c1d1dc; }
.scenario-result { border-color:#a7bdcb; }
.scenario-result p { color:#f1f1eb; }
.scenario-panel .button.light { color:#f1f1eb; border-color:#8196a5; }
.scenario-panel .button.light:hover { color:#1e2b36; background:#f1f1eb; }
.page-blog,.page-post { --journal-panel:var(--surface); --journal-code:var(--surface); --journal-code-line:var(--line); --journal-code-ink:var(--ink); --journal-quote:var(--surface-raised); }
.site-footer { max-width:none; background:#151c23; color:#dce4e8; padding-top:22px; padding-bottom:25px; }
.site-footer .footer-top { display:flex; justify-content:space-between; align-items:center; padding-top:25px; padding-bottom:31px; gap:25px; }
.site-footer .footer-brand { width:244px; max-width:55%; }
.site-footer .back-top { position:static; color:#c0ccd3; font-size:10px; min-height:44px; display:inline-flex; align-items:center; }
.site-footer .footer-bottom { border-color:#45515b; color:#c0ccd3; padding-top:25px; }
.site-footer .footer-bottom p,.site-footer .footer-links a,.site-footer .footer-links button,.site-footer .footer-bottom > .mono { font-size:12px; line-height:1.85; }
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover { color:#fff; }
.site-footer a:focus-visible,.site-footer button:focus-visible { outline-color:#bdccd6; }
@media screen and (prefers-color-scheme:dark) {
 :root { --paper:#151c23; --ink:#eceee9; --muted:#b4c0c7; --line:#40505b; --orange:#b4c9d7;
  --dark:#111820; --brand-fill:#263e4e; --on-brand:#f1f1eb; --brand-surface:#202e39;
  --surface:#1c2832; --surface-raised:#24333e; --control-line:#7f929e;
  --analysis-paper:#151c23; --analysis-ink:#e9e8e2; --analysis-muted:#b0bec8; --analysis-signal:#cfaa7c;
 }
 .header-contact:hover { background:var(--ink); color:var(--paper); }
 .report-download-link { background:var(--brand-fill); color:var(--on-brand); }
 .report-download-link:hover { background:var(--ink); color:var(--paper); }
 .contact-options input:checked + span { background:var(--brand-fill); color:var(--on-brand); }
}
@media(max-width:1050px) {
 .site-header { height:80px; min-height:80px; }
 .page-head { padding-top:40px; padding-bottom:44px; }
}
@media(max-width:620px) {
 .site-header { padding-left:20px; padding-right:20px; gap:10px; }
 .wordmark { width:clamp(112px,32vw,154px); }
 .header-contact { min-width:0; padding:8px 10px; font-size:12px; gap:7px; }
 .page-head { padding-top:29px; padding-bottom:35px; }
 .page-head .page-intro { margin-top:20px; }
 .page-head h1 { font-size:clamp(31px,8.5vw,39px); line-height:1.4; }
 .page-head .page-intro > p { margin-top:20px; font-size:15px; line-height:1.9; }
 .service-context-links { gap:12px 25px; margin-top:19px; }
 .service-context-links a { font-size:13px; }
 .detail-cta { padding:28px 23px; }
 .site-footer .footer-brand { width:182px; max-width:62%; }
 .site-footer .footer-top { padding-top:20px; padding-bottom:25px; }
 .site-footer .footer-bottom { gap:12px; padding-top:20px; }
 .site-footer .footer-bottom p,.site-footer .footer-links a,.site-footer .footer-links button,.site-footer .footer-bottom > .mono { font-size:11px; }
}
@media print { :root { --paper:#fff; --ink:#111; --muted:#444; --line:#bbb; --orange:#222; --surface:#f3f3f3; --surface-raised:#f0f0f0; } }
