/* Shared with the homepage: Alata, blue/ink palette and warm orange ribbon. */
html:not([data-site-theme=dark]) body.site-integrated {
  --ink:#152238;--muted:#576478;--blue:#1557ff;--light-blue:#eaf0ff;
  --paper:#f7f9fc;--bg:#f7f9fc;--card:#fff;--white:#fff;--line:#dce3ed;
  --border:#dce3ed;--orange:#ff713b;--amber:#ffc15e;--orange-ink:#9a3412;
  --navy:#152238;--rust:#9a3412;--gold:#ff713b;--purple:#1557ff;
  --purple2:#386dff;--font:"Alata",Arial,sans-serif;
}
body.site-integrated {margin:0;background:var(--paper);color:var(--ink);font-family:"Alata",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
html {scroll-padding-top:calc(var(--site-header-height,96px) + 24px)}
.site-shell,.site-shell * {box-sizing:border-box}
.site-shell a {color:inherit;text-decoration:none;text-shadow:none}
.site-shell a:focus-visible,.site-shell button:focus-visible {outline:3px solid var(--orange);outline-offset:5px;border-radius:5px}
.site-shell svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.site-shell .container {width:min(1240px,calc(100% - 112px));margin-inline:auto}
body.site-integrated .site-header.site-shell {display:block;width:100%;margin:0;padding:0;position:sticky;top:0;z-index:100;background:rgba(247,249,252,.96);border:0;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);color:var(--ink);line-height:1.7}
.site-header.site-shell::before {content:"";position:absolute;inset:0 0 auto;height:4px;pointer-events:none;background:linear-gradient(100deg,#ff713b,#ffc15e,#ff713b,#ff9b45);background-size:300% 100%;animation:site-warm-ribbon 14s ease-in-out infinite alternate}
.site-shell .header-inner {min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:0}
.site-shell .wordmark {display:flex;flex-shrink:0;align-items:center;gap:12px;font-size:23px;line-height:1.15;letter-spacing:.025em;font-weight:400}
.site-shell .wordmark small {display:block;font-size:12px;letter-spacing:.025em;margin-top:6px;color:var(--muted)}
.site-shell .brand-symbol {display:flex;align-items:center;justify-content:center;width:45px;height:47px;background:#1557ff;border-radius:11px;color:#fff;font-size:43px;line-height:1;padding-bottom:6px;letter-spacing:-.07em}
.site-shell .brand-symbol span {color:#b7d0ff}
.site-shell .main-nav {display:flex;align-items:center;gap:20px;font-size:14px;font-weight:400;width:auto;position:static;padding:0;background:transparent;border:0;box-shadow:none}
.site-shell .main-nav>a {white-space:nowrap;padding:0;transition:color .2s}
.site-shell .main-nav>a:hover,.site-shell .main-nav>a.active,.site-shell .main-nav>a[aria-current] {color:var(--blue);text-decoration:none}
.site-shell .main-nav>a[aria-current] {text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:8px}
.site-shell .main-nav .nav-contact {display:flex;align-items:center;gap:14px;border:1px solid var(--ink);border-radius:8px;padding:10px 17px;color:var(--ink)}
.site-shell .nav-contact svg {width:18px;height:18px}
.site-shell .main-nav .nav-contact:hover {background:var(--ink);color:var(--paper)}
.site-shell .menu-toggle {display:none}
.site-shell .site-toolbar {margin:0 0 0 2px;padding-left:10px;color:var(--ink);flex-shrink:0}
.site-shell .site-toolbar .site-tool {font-size:.78rem;padding:0;min-height:44px;line-height:1;width:44px;min-width:44px;text-decoration:none}
body.site-integrated .site-footer.site-shell {display:block;width:100%;max-width:none;margin:64px 0 0;padding:0;border:0;border-top:1px solid var(--line);background:var(--card);color:var(--ink);font-size:16px}
.site-shell .footer-inner {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.site-shell .footer-brand {font-size:20px;letter-spacing:.025em;line-height:1.3}
.site-shell .footer-brand span {display:block;font-size:12px;color:var(--muted);margin-top:4px}
.site-shell .footer-inner p {margin:0;font-size:12px;color:var(--muted);line-height:1.7}
.site-shell .back-top {display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}
.site-shell .back-top svg {width:18px;height:18px}
.site-breadcrumb {width:min(1240px,calc(100% - 112px));margin:24px auto 0;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;line-height:1.7}
.site-breadcrumb a {color:var(--muted);text-decoration:none}
.site-breadcrumb a:hover {color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.site-breadcrumb>span[aria-hidden] {color:var(--orange)}
.site-integrated .skip-link {position:fixed;top:-100px;left:20px;z-index:200;padding:12px 20px;background:var(--blue);color:var(--paper)}
.site-integrated .skip-link:focus {top:12px}
/* Let the article retain its content layout while sharing the site's identity. */
.site-blog .page-head {padding-top:38px}
.site-blog .page-head h1 {color:var(--blue)}
.site-blog .post-card {border-radius:18px;border-color:var(--line);box-shadow:0 8px 25px #1226450a}
.site-blog .blog-search button {background:var(--blue);color:#fff}
.site-blog .blog-search button:hover {background:#0946da}
.site-blog .blog-article {padding-top:38px}
.site-blog .blog-article .sidebar,.site-blog .shell>.toc,.site-blog .article-shell>.toc {top:calc(var(--site-header-height,96px) + 24px)}
.site-blog :is(.story-section,.references,.section,[id]) {scroll-margin-top:calc(var(--site-header-height,96px) + 24px)}
.site-blog .article-prose a,.site-blog .read-link {color:var(--blue)}
.site-blog .article h2,.site-blog .article h3 {color:var(--ink)}
.site-blog .lead,.site-blog .lede {color:var(--muted)}
html[data-site-theme=dark] body.site-integrated .site-header.site-shell {background:#152235f2}
html[data-site-theme=dark] body.site-integrated .site-footer.site-shell {background:var(--card)}
html[data-site-theme=dark] .site-blog .blog-search button {background:#304c6b}
html[data-site-theme=dark] .site-blog .article-prose a,html[data-site-theme=dark] .site-blog .read-link {color:var(--blue)}
@keyframes site-warm-ribbon {from{background-position:0 50%}to{background-position:100% 50%}}
@media(max-width:1180px) and (min-width:641px) {
  .site-shell .header-inner.has-site-toolbar {flex-wrap:wrap;gap:12px;padding-block:16px}
  .site-shell .header-inner .main-nav {width:100%;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px}
}
@media(max-width:1100px) {
  .site-shell .container,.site-breadcrumb {width:calc(100% - 64px)}
}
@media(max-width:640px) {
  .site-shell .container,.site-breadcrumb {width:calc(100% - 40px)}
  .site-shell .header-inner.has-site-toolbar {min-height:76px;flex-wrap:nowrap;gap:10px;padding-block:0}
  .site-shell .wordmark>span:last-child {display:none}
  .site-shell .header-inner>.site-toolbar {margin-left:auto}
  .site-shell .menu-toggle {display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;height:44px;margin:0;padding:0;background:transparent;border:1px solid var(--line);border-radius:8px;z-index:102;cursor:pointer}
  .site-shell .menu-toggle span {display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s}
  .site-shell .menu-toggle[aria-expanded=true] span:first-child {transform:translateY(3.75px) rotate(45deg)}
  .site-shell .menu-toggle[aria-expanded=true] span:last-child {transform:translateY(-3.75px) rotate(-45deg)}
  .site-shell .header-inner .main-nav {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:10px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #15223809}
  .site-shell .header-inner .main-nav.is-open {display:flex}
  .site-shell .main-nav>a {padding:14px 9px;min-height:48px;font-size:16px}
  .site-shell .main-nav .nav-contact {margin-top:10px;justify-content:space-between;padding:12px}
  .site-shell .footer-inner {flex-wrap:wrap;padding-block:27px;gap:22px}
  .site-shell .footer-inner p {order:3;width:100%;padding-top:18px;border-top:1px solid var(--line)}
  .site-breadcrumb {margin-top:19px}
  .site-blog .page-head {padding-top:28px}
  .site-blog .blog-article {padding-top:28px}
}
@media(max-width:360px) {.site-shell .container,.site-breadcrumb {width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce) {.site-header.site-shell::before{animation:none}}
@media print {.site-shell,.site-breadcrumb{display:none!important}}
