/* Shared site chrome: the header (.bar) and footer (.site-footer) used on home, /partners,
   /solaris and /story. Markup is held identical by scripts/verify-site.mjs.

   Self-contained on purpose. /story still runs on /styles.css, whose :root tokens and
   global rules (.bar, .brand, .logo-word, footer, footer .wrap, footer a, button, and the
   1100px/720px motto rules) differ from the new theme. So every rule here is scoped to .bar
   or .site-footer (outranking those), carries its own colour tokens (--c-*, so it never
   reads or clobbers a page's own --ink/--muted) and sets its own font. Load it after the
   page stylesheet on /story; order does not matter on the /site.css pages.

   DM Sans is self-hosted (OFL, /assets/fonts/DM-Sans-OFL.txt): no Google Fonts request. */

@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:400 700;
  src:url(/assets/fonts/dm-sans-latin-ext-wght.woff2) format('woff2-variations'),url(/assets/fonts/dm-sans-latin-ext-wght.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:400 700;
  src:url(/assets/fonts/dm-sans-latin-wght.woff2) format('woff2-variations'),url(/assets/fonts/dm-sans-latin-wght.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.bar,.site-footer{
  --c-ink:#1B2433; --c-body:#4A5160; --c-muted:#6B7280; --c-border:#DDE3EC; --c-blue:#2C5FA8;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.bar *,.site-footer *{box-sizing:border-box}

/* ---- Header ------------------------------------------------------------------------
   Production's layout: a full-width bar, not the 1200px container, with the logo at the
   window's left edge. Breakpoints measured, not guessed: with four links and the call to
   action, the motto only clears the links from 1112px and the wordmark from 802px. Below
   1120px the divider and motto go; below 820px the text links go and the logo and the
   call to action share one line. */
.bar{position:sticky;top:0;z-index:50;background:rgba(247,248,250,.86);backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--c-border);font-size:17px;line-height:1.6}
.bar .bar-inner{height:77px;padding:0 clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.bar .bar-left{display:flex;align-items:center;gap:16px;min-width:0}
.bar .bar-right{display:flex;align-items:center;gap:clamp(14px,2.2vw,28px);flex:0 0 auto}
.bar .nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,28px)}
.bar .nav a{color:var(--c-ink);text-decoration:none;font-size:1rem;font-weight:500;white-space:nowrap}
.bar .nav a:hover{color:var(--c-blue)}
.bar .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:1rem;
  line-height:1.2;padding:12px 22px;border-radius:12px;border:0;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background .15s ease}
.bar .btn-ink{background:var(--c-ink);color:#fff}
.bar .btn-ink:hover{background:#0F1622}
.bar :focus-visible,.site-footer :focus-visible{outline:2px solid var(--c-blue);outline-offset:3px}

/* Logo group: same markup in the header and the footer's wide logo. */
.bar .brand,.site-footer .foot-brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex:0 0 auto}
.bar .logo-mark,.site-footer .logo-mark{height:34px;width:auto;display:block}
.bar .logo-word,.site-footer .logo-word{font-size:26px;font-weight:600;color:var(--c-ink);letter-spacing:-.01em;line-height:1}
.bar .bar-divider,.site-footer .bar-divider{display:block;width:1px;height:24px;background:var(--c-border);flex:0 0 auto}
.bar .bar-tagline,.site-footer .bar-tagline{display:inline;font-size:1.08rem;color:var(--c-muted);white-space:nowrap}

@media (max-width:1120px){ .bar .bar-divider,.bar .bar-tagline{display:none} }
@media (max-width:820px){ .bar .nav{display:none} }
@media (max-width:420px){ .bar .btn{padding:10px 14px;font-size:.95rem} }

/* ---- Footer ------------------------------------------------------------------------
   White band in the 1200px container, three columns: the wide logo with motto and the
   entity line take the free width, then the Calibra and Legal link columns, 64px apart.
   The entity line wraps only between its " · " segments. 40px above and below (24px
   below 700px), no min-height and nothing under the last link. Below 700px the left
   block stacks above the two link columns. */
.site-footer{background:#FFFFFF;border-top:1px solid var(--c-border);padding:40px 0;font-size:15px;line-height:1.6;color:var(--c-muted)}
/* No container values here: the footer's .wrap is the page's own section container
   (/site.css on home, /partners and /solaris). /story sets its own; see its stylesheet. */
.site-footer .foot-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:32px 64px;align-items:start;
  justify-content:normal;flex-wrap:nowrap}
.site-footer p{margin:0}
.site-footer .foot-logo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;text-decoration:none}
.site-footer .foot-text{margin:16px 0 0;color:var(--c-muted);line-height:1.6}
/* Explicit display/position/gap: /styles.css has a global .seg (its old iPhone/Android
   toggle: display:grid, two columns), which would stack these segments. */
.site-footer .foot-text .seg{display:inline;position:static;gap:0;white-space:nowrap}
.site-footer .foot-text a{color:inherit;text-decoration:underline}
.site-footer .foot-label{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--c-blue);line-height:1.3}
.site-footer .foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer .foot-col a,.site-footer .cookie-settings{color:var(--c-body);text-decoration:none;font:inherit;line-height:inherit}
.site-footer .foot-col a:hover,.site-footer .cookie-settings:hover{color:var(--c-blue);text-decoration:underline}
/* A plain link-styled button: undo every global button style an older sheet may set. */
.site-footer .cookie-settings,.site-footer .cookie-settings:hover{background:none;border:0;border-radius:0;padding:0;margin:0;
  box-shadow:none;transform:none;transition:none;cursor:pointer;text-align:left}
@media (max-width:700px){
  .site-footer{padding:24px 0}
  .site-footer .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
  .site-footer .foot-grid > :first-child{grid-column:1 / -1}
  .site-footer .bar-divider{display:none}
  .site-footer .bar-tagline{flex-basis:100%}
}
