/* Soft Dialogue: fonts, tokens and the global public shell.
   Loaded on every public page, legacy or redesigned. Every rule is scoped to
   .sd-* classes so legacy page content keeps its own styles.
   Source of truth: docs/redesign/ssla-public-design-system.md */

@font-face {
  font-family: "SD Estedad";
  src: url("../fonts/estedad-arabic-wght.f3e0531cb081.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: "SD Estedad";
  src: url("../fonts/estedad-latin-wght.efdcae077863.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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;
}
@font-face {
  font-family: "SD Geologica";
  src: url("../fonts/geologica-latin-wght.429fc8a75e26.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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;
}
@font-face {
  font-family: "SD Geologica";
  src: url("../fonts/geologica-latin-ext-wght.a1091c3b669f.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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;
}

:root {
  --sd-ground: #fcefee;
  --sd-ground-2: #f5e5e3;
  --sd-paper: #fffaf9;
  --sd-line: #e7dbd9;
  --sd-line-2: #d4c3c1;
  --sd-ink: #2b1b2a;
  --sd-ink-2: #5c4d5b;
  --sd-ink-3: #716470;
  --sd-night: #1e111c;
  --sd-night-2: #30202f;
  --sd-on: #fff8f7;

  --sd-shadow-rgb: 56 33 54;
  --sd-sh-1: 0 1px 2px rgb(var(--sd-shadow-rgb) / .06), 0 3px 10px -2px rgb(var(--sd-shadow-rgb) / .06);
  --sd-sh-2: 0 2px 4px rgb(var(--sd-shadow-rgb) / .04), 0 18px 40px -14px rgb(var(--sd-shadow-rgb) / .18);
  --sd-sh-3: 0 40px 80px -30px rgb(52 28 66 / .45), 0 12px 24px -12px rgb(52 28 66 / .3);
  --sd-inset-1: inset 0 2px 5px rgb(var(--sd-shadow-rgb) / .12), inset 0 -1px 0 var(--sd-paper);

  --sd-font-fa: "SD Estedad", Tahoma, system-ui, sans-serif;
  --sd-font-latin: "SD Geologica", "SD Estedad", system-ui, sans-serif;

  --sd-r-s: 14px;
  --sd-r-m: 20px;
  --sd-r-l: 28px;
  --sd-r-xl: 40px;
  --sd-r-2xl: 56px;

  --sd-ease-out: cubic-bezier(.16, 1, .3, 1);
  --sd-ease-ui: cubic-bezier(.25, 1, .5, 1);
  --sd-ease-io: cubic-bezier(.65, 0, .35, 1);
  --sd-ease-spring: cubic-bezier(.34, 1.56, .64, 1);

  --sd-wrap: 1360px;
  --sd-gutter: clamp(16px, 4vw, 56px);
  --sd-header-h: 64px;
  --sd-light-x: 72%;
}

[dir="ltr"] { --sd-light-x: 28%; }

/* Gel colour sets. A container with data-gel exposes --g-* to its children. */
[data-gel="lapis"] { --g-hi: #4c8adc; --g-base: #365db8; --g-deep: #1e327d; --g-soft: #d9e7ff; --g-on: #fff8f7; --g-ink: #26499b; --g-shadow: rgb(30 50 125 / .55); }
[data-gel="pist"] { --g-hi: #bcdf90; --g-base: #90c770; --g-deep: #57914a; --g-soft: #dcf2d0; --g-on: #132e11; --g-ink: #326a2d; --g-shadow: rgb(50 106 45 / .5); }
[data-gel="pom"] { --g-hi: #f45a54; --g-base: #d02940; --g-deep: #900d2a; --g-soft: #ffdbda; --g-on: #fff8f7; --g-ink: #900d2a; --g-shadow: rgb(144 13 42 / .55); }
[data-gel="saff"] { --g-hi: #ffd66f; --g-base: #f5ae39; --g-deep: #cc7d1e; --g-soft: #feeac8; --g-on: #44250c; --g-ink: #995600; --g-shadow: rgb(153 86 0 / .5); }
[data-gel="ink"] { --g-hi: #5d435a; --g-base: #2b1b2a; --g-deep: #170a16; --g-soft: #f4e1f2; --g-on: #fff8f7; --g-ink: #2b1b2a; --g-shadow: rgb(23 10 22 / .55); }
[data-gel="paper"] { --g-hi: #ffffff; --g-base: #fffaf9; --g-deep: #efe0de; --g-soft: #fcefee; --g-on: #2b1b2a; --g-ink: #2b1b2a; --g-shadow: rgb(56 33 54 / .3); }

/* Shared atoms used by the shell (and pages) ---------------------------------- */

.sd-icon {
  width: 1.25em;
  height: 1.25em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sd-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.sd-skip {
  position: fixed;
  z-index: 100;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--sd-ink);
  color: var(--sd-on);
  font: 600 15px/1.4 var(--sd-font-fa);
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .25s var(--sd-ease-out);
}
.sd-skip:focus { transform: none; }

.sd-btn {
  --btn-h: 48px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--btn-h);
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  font: 600 15px/1.2 var(--sd-font-fa);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .45s var(--sd-ease-spring), box-shadow .25s var(--sd-ease-ui), background-color .2s var(--sd-ease-ui), color .2s var(--sd-ease-ui);
  -webkit-tap-highlight-color: transparent;
}
.sd-btn:active { transform: scale(.96, .9); transition-duration: .12s; }
.sd-btn--lg { --btn-h: 56px; padding: 0 28px; font-size: 16px; }
.sd-btn--sm { --btn-h: 40px; padding: 0 16px; font-size: 14px; }
.sd-btn--block { width: 100%; }
.sd-btn .sd-icon { width: 20px; height: 20px; }

.sd-btn--ink {
  color: var(--sd-on);
  background:
    linear-gradient(to bottom, rgb(255 255 255 / .2), transparent 50%),
    radial-gradient(120% 140% at var(--sd-light-x) 0%, #5d435a, #2b1b2a 60%, #170a16);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), inset 0 -4px 10px -4px rgb(0 0 0 / .45), 0 10px 22px -10px rgb(23 10 22 / .7);
}
.sd-btn--ink:hover { box-shadow: inset 0 1px 0 rgb(255 255 255 / .22), inset 0 -4px 10px -4px rgb(0 0 0 / .45), 0 14px 28px -10px rgb(23 10 22 / .75); }

.sd-btn--paper {
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
}
.sd-btn--paper:hover { box-shadow: var(--sd-sh-2), inset 0 0 0 1px var(--sd-line-2); }

.sd-btn--gloss {
  color: var(--sd-ink);
  background: linear-gradient(#fffdfb, #f5ebe3);
  box-shadow: inset 0 1px 0 #fff, inset 0 -3px 0 #e2d2c6, 0 8px 20px -6px rgb(0 0 0 / .5);
}

.sd-btn--ghost {
  color: inherit;
  background: transparent;
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 45%, transparent);
}
.sd-btn--ghost:hover { background: color-mix(in srgb, currentColor 10%, transparent); }

.sd-btn--quiet {
  color: var(--sd-ink);
  background: transparent;
}
.sd-btn--quiet:hover { background: rgb(255 255 255 / .55); }

.sd-btn--text {
  min-height: 44px;
  padding: 0 4px;
  color: var(--sd-ink-2);
  background: transparent;
}
.sd-btn--text:hover { color: var(--sd-ink); }

.sd-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: none;
  border: 0;
  border-radius: 50%;
  color: var(--sd-ink);
  background: transparent;
  cursor: pointer;
  transition: transform .45s var(--sd-ease-spring), background-color .2s var(--sd-ease-ui);
}
.sd-icon-btn:hover { background: rgb(255 255 255 / .6); }
.sd-icon-btn:active { transform: scale(.9, .86); transition-duration: .12s; }
.sd-icon-btn .sd-icon { width: 22px; height: 22px; }

.sd-text-link {
  color: #26499b;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 5px;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}
.sd-text-link:hover { text-decoration-color: currentColor; }
.sd-text-link--on-dark { color: #a9c6f6; }

.sd-pill-link {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--sd-ink);
  background: rgb(255 255 255 / .6);
  box-shadow: inset 0 0 0 1px var(--sd-line);
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s var(--sd-ease-ui), box-shadow .2s var(--sd-ease-ui);
}
.sd-pill-link span { color: var(--sd-ink-3); font-size: 13px; font-weight: 500; }
.sd-pill-link:hover { background: var(--sd-paper); box-shadow: inset 0 0 0 1px var(--sd-line-2), var(--sd-sh-1); }

.sd-header :focus-visible,
.sd-sheet :focus-visible,
.sd-search :focus-visible,
.sd-bar :focus-visible,
.sd-notices :focus-visible,
.sd-skip:focus-visible,
.sd-page :focus-visible {
  outline: 2.5px solid #365db8;
  outline-offset: 3px;
}
.sd-footer :focus-visible { outline: 2.5px solid var(--sd-on); outline-offset: 3px; }

/* Brand ----------------------------------------------------------------------- */

.sd-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 999px;
  color: var(--sd-ink);
  text-decoration: none;
  flex: none;
}
.sd-brand__mark {
  width: 22px;
  height: 37px;
  background: currentColor;
  -webkit-mask: url("../brand/ssla-mark.497ed5a42ae1.png") center / contain no-repeat;
  mask: url("../brand/ssla-mark.497ed5a42ae1.png") center / contain no-repeat;
}
.sd-brand__name {
  font: 750 18px/1.3 var(--sd-font-fa);
  white-space: nowrap;
}
.sd-brand--on-dark { color: var(--sd-on); }

/* Header ---------------------------------------------------------------------- */

html { scroll-padding-top: 96px; }
html.sd-scroll-locked { overflow: hidden; }

.sd-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 30;
  padding: 12px var(--sd-gutter) 0;
  pointer-events: none;
  font-family: var(--sd-font-fa);
}
.sd-header *, .sd-header *::before, .sd-header *::after { box-sizing: border-box; }
.sd-header__bar {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: var(--sd-wrap);
  min-height: var(--sd-header-h);
  margin-inline: auto;
  padding: 8px 10px 8px 10px;
  border-radius: 999px;
  background: rgb(255 250 249 / .62);
  -webkit-backdrop-filter: blur(24px) saturate(1.8);
  backdrop-filter: blur(24px) saturate(1.8);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), inset 0 -1px 0 rgb(212 195 193 / .35), 0 0 0 1px rgb(255 255 255 / .7), var(--sd-sh-2);
  transition: min-height .35s var(--sd-ease-out), background-color .35s var(--sd-ease-ui), box-shadow .35s var(--sd-ease-ui);
}
.sd-header.is-compact .sd-header__bar {
  min-height: 56px;
  background: rgb(255 250 249 / .86);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .sd-header__bar { background: rgb(255 250 249 / .96); }
}

.sd-nav { flex: 1; min-width: 0; }
.sd-nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sd-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  color: var(--sd-ink-2);
  background: transparent;
  font: 600 15px/1.2 var(--sd-font-fa);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s var(--sd-ease-ui), background-color .2s var(--sd-ease-ui);
}
.sd-nav__link:hover { color: var(--sd-ink); background: rgb(255 255 255 / .6); }
.sd-nav__link[aria-current="page"],
.sd-nav__link.is-current {
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
}
.sd-nav__trigger[aria-expanded="true"] { color: var(--sd-ink); background: var(--sd-paper); }
.sd-nav__chevron { width: 16px; height: 16px; transition: transform .45s var(--sd-ease-out); }
.sd-nav__trigger[aria-expanded="true"] .sd-nav__chevron { transform: rotate(180deg); }

.sd-header__tools {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-inline-start: auto;
  flex: none;
}
.sd-header__account { padding-inline: 16px; }
.sd-header__menu { display: none; }

/* Languages panel (glass, floating chrome) */
.sd-panel {
  pointer-events: auto;
  position: absolute;
  inset-inline: var(--sd-gutter);
  inset-block-start: calc(100% + 8px);
  max-width: 920px;
  margin-inline: auto;
  border-radius: var(--sd-r-xl);
  background: rgb(255 250 249 / .86);
  -webkit-backdrop-filter: blur(28px) saturate(1.8);
  backdrop-filter: blur(28px) saturate(1.8);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), 0 0 0 1px rgb(255 255 255 / .7), var(--sd-sh-3);
  transform-origin: top center;
  animation: sd-panel-in .45s var(--sd-ease-out);
}
.sd-panel[hidden] { display: none; }
@keyframes sd-panel-in { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
.sd-panel__inner { display: grid; gap: 20px; padding: 24px; }
.sd-panel__languages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sd-panel__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding-top: 18px;
  border-top: 1px solid var(--sd-line);
}
.sd-panel__row--quiet { gap: 10px 24px; }
.sd-panel__label { margin: 0; color: var(--sd-ink-3); font-size: 14px; font-weight: 600; }
.sd-panel__ages { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }

.sd-langlink {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 4px 12px;
  height: 100%;
  padding: 16px;
  border-radius: var(--sd-r-l);
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
  text-decoration: none;
  transition: transform .45s var(--sd-ease-spring), box-shadow .25s var(--sd-ease-ui);
}
.sd-langlink:hover { box-shadow: var(--sd-sh-2), inset 0 0 0 1px var(--sd-line-2); }
.sd-langlink:active { transform: scale(.98, .95); transition-duration: .12s; }
.sd-langlink__drop {
  grid-row: span 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background:
    linear-gradient(to bottom, rgb(255 255 255 / .35), transparent 50%),
    radial-gradient(120% 120% at var(--sd-light-x) 10%, var(--g-hi), var(--g-base) 58%, var(--g-deep));
  box-shadow: inset 0 -5px 10px -4px rgb(0 0 0 / .25), 0 8px 16px -8px var(--g-shadow);
}
.sd-langlink__text { display: grid; gap: 0; min-width: 0; }
.sd-langlink__text strong { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.sd-langlink__flag { width: 20px; height: 15px; border-radius: 3px; box-shadow: 0 0 0 1px var(--sd-line); }
.sd-langlink__greeting { justify-self: start; color: var(--g-ink); font: 600 14px/1.3 var(--sd-font-latin); }
.sd-langlink__count { grid-column: 2; color: var(--sd-ink-3); font-size: 13px; font-weight: 500; line-height: 1.5; }
.sd-langlink--compact { grid-template-rows: auto; padding: 12px 14px; }
.sd-langlink__text .sd-langlink__count { grid-column: auto; }
.sd-langlink--compact .sd-langlink__drop { grid-row: auto; width: 32px; height: 32px; }

/* Mobile menu sheet ----------------------------------------------------------- */

.sd-sheet {
  position: fixed;
  inset: 0;
  z-index: 50;
  font-family: var(--sd-font-fa);
}
.sd-sheet[hidden] { display: none; }
.sd-sheet *, .sd-sheet *::before, .sd-sheet *::after { box-sizing: border-box; }
.sd-sheet__scrim {
  position: absolute;
  inset: 0;
  background: rgb(30 17 28 / .32);
  animation: sd-fade-in .3s var(--sd-ease-ui);
}
.sd-sheet__panel {
  position: absolute;
  inset-block: 8px;
  inset-inline-end: 8px;
  display: flex;
  flex-direction: column;
  width: min(420px, calc(100% - 16px));
  border-radius: var(--sd-r-xl);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-3);
  overflow: hidden;
  animation: sd-sheet-in .5s var(--sd-ease-out);
}
[dir="rtl"] .sd-sheet__panel { --sd-sheet-from: -24px; }
[dir="ltr"] .sd-sheet__panel { --sd-sheet-from: 24px; }
@keyframes sd-sheet-in { from { opacity: 0; transform: translateX(var(--sd-sheet-from)); } }
@keyframes sd-fade-in { from { opacity: 0; } }
.sd-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 12px 16px;
  border-bottom: 1px solid var(--sd-line);
}
.sd-sheet__body {
  display: grid;
  gap: 28px;
  padding: 20px 20px 32px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.sd-sheet__primary { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.sd-sheet__link {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 14px;
  border-radius: var(--sd-r-m);
  color: var(--sd-ink);
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
}
.sd-sheet__link:hover, .sd-sheet__link[aria-current="page"] { background: var(--sd-ground); }
.sd-sheet__group { display: grid; gap: 12px; }
.sd-sheet__label { margin: 0; color: var(--sd-ink-3); font-size: 14px; font-weight: 600; }
.sd-sheet__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sd-sheet__languages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.sd-sheet__more { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; list-style: none; }
.sd-sheet__more a { color: var(--sd-ink-2); font-weight: 600; text-decoration: none; line-height: 2.2; }
.sd-sheet__more a:hover { color: var(--sd-ink); }
.sd-sheet__account { gap: 4px; }
.sd-sheet__account form { margin: 0; }
.sd-sheet__contact { display: grid; gap: 4px; color: var(--sd-ink-2); font-size: 15px; line-height: 1.8; }
.sd-sheet__contact p { margin: 0; }
.sd-sheet__social { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sd-sheet__social a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; color: var(--sd-ink); background: var(--sd-ground); font-size: 14px; font-weight: 600; text-decoration: none; }
.sd-sheet__social svg { width: 18px; height: 18px; }
.sd-sheet__phone { display: inline-flex; align-items: center; gap: 8px; color: var(--sd-ink); font-weight: 700; font-size: 18px; text-decoration: none; }

/* Search ---------------------------------------------------------------------- */

.sd-search { position: fixed; inset: 0; z-index: 50; font-family: var(--sd-font-fa); }
.sd-search[hidden] { display: none; }
.sd-search *, .sd-search *::before, .sd-search *::after { box-sizing: border-box; }
.sd-search__scrim { position: absolute; inset: 0; background: rgb(30 17 28 / .34); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: sd-fade-in .3s var(--sd-ease-ui); }
.sd-search__panel {
  position: relative;
  width: min(720px, calc(100% - 24px));
  margin: 12px auto 0;
  padding: 28px 28px 32px;
  border-radius: var(--sd-r-xl);
  background: var(--sd-paper);
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgb(255 255 255 / .7), var(--sd-sh-3);
  animation: sd-panel-in .45s var(--sd-ease-out);
}
.sd-search__title { margin: 0 0 16px; color: var(--sd-ink); font-size: 24px; font-weight: 750; line-height: 1.4; }
.sd-search__form {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 6px 6px 6px;
  padding-inline-start: 18px;
  border-radius: 999px;
  background: var(--sd-ground);
  box-shadow: var(--sd-inset-1);
}
.sd-search__glyph { color: var(--sd-ink-3); width: 22px; height: 22px; }
.sd-search__form input {
  flex: 1;
  min-width: 0;
  height: 48px;
  border: 0;
  outline: none;
  color: var(--sd-ink);
  background: transparent;
  font: 500 17px/1.5 var(--sd-font-fa);
}
.sd-search__form input::placeholder { color: var(--sd-ink-3); }
.sd-search__close { position: absolute; inset-block-start: 16px; inset-inline-end: 16px; }

/* Notices: announcement, continue line, messages -------------------------------- */

.sd-notices {
  display: grid;
  gap: 8px;
  max-width: var(--sd-wrap);
  margin: 10px auto 0;
  padding-inline: var(--sd-gutter);
  font-family: var(--sd-font-fa);
}
.sd-notices:empty { display: none; }
.sd-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 8px 8px 8px;
  padding-inline-start: 18px;
  border-radius: 999px;
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
  font-size: 15px;
  line-height: 1.6;
}
.sd-notice > .sd-icon { color: #995600; }
.sd-notice p { flex: 1; margin: 0; }
.sd-notice p span { color: var(--sd-ink-2); }
.sd-notice__action {
  flex: none;
  padding: 8px 16px;
  border-radius: 999px;
  color: var(--sd-on);
  background: var(--sd-ink);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}
.sd-notice__close, .sd-message__close {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  border: 0;
  border-radius: 50%;
  color: var(--sd-ink-2);
  background: transparent;
  cursor: pointer;
}
.sd-notice__close:hover, .sd-message__close:hover { background: var(--sd-ground); }
.sd-notice--continue { background: #fffaf0; box-shadow: var(--sd-sh-1), inset 0 0 0 1px #f3d9a4; }

.sd-banner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 8px;
  padding-inline-start: 18px;
  border-radius: var(--sd-r-l);
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
  font-size: 15px;
  line-height: 1.6;
}
.sd-banner[hidden] { display: none; }
.sd-banner[data-has-media] { padding: 8px; }
.sd-banner__media { flex: 1 1 100%; display: block; overflow: hidden; border-radius: var(--sd-r-m); }
.sd-banner__media img { display: block; width: 100%; height: auto; max-height: 280px; object-fit: cover; }
.sd-banner__copy { flex: 1; display: flex; align-items: center; gap: 12px; min-width: 0; }
.sd-banner[data-has-media] .sd-banner__copy { padding-inline-start: 10px; }
.sd-banner__copy > .sd-icon { color: #995600; }
.sd-banner__copy p { margin: 0; }
.sd-banner__copy span { color: var(--sd-ink-2); }
.sd-banner__action {
  flex: none;
  padding: 8px 16px;
  border-radius: 999px;
  color: var(--sd-on);
  background: var(--sd-ink);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}
.sd-banner__close {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  border: 0;
  border-radius: 50%;
  color: var(--sd-ink-2);
  background: transparent;
  cursor: pointer;
}
.sd-banner__close:hover { background: var(--sd-ground); }
.sd-banner[data-has-media] .sd-banner__close { position: absolute; inset-block-start: 14px; inset-inline-end: 14px; background: rgb(255 250 249 / .9); }
@media (min-width: 48rem) { .sd-banner[data-device="mobile"] { display: none; } .sd-banner__media--mobile { display: none; } }
@media (max-width: 47.99rem) { .sd-banner[data-device="desktop"] { display: none; } }

.sd-messages { display: grid; gap: 8px; }
.sd-message {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 8px;
  padding-inline-start: 18px;
  border-radius: var(--sd-r-m);
  color: var(--sd-ink);
  background: var(--sd-paper);
  box-shadow: var(--sd-sh-1), inset 0 0 0 1px var(--sd-line);
  font-size: 15px;
  line-height: 1.7;
}
.sd-message p { flex: 1; margin: 0; }
.sd-message--success { background: #f2fbec; box-shadow: inset 0 0 0 1px #c8e6b5; }
.sd-message--success > .sd-icon { color: #326a2d; }
.sd-message--error, .sd-message--warning { background: #fff3f2; box-shadow: inset 0 0 0 1px #f4c3c0; }
.sd-message--error > .sd-icon, .sd-message--warning > .sd-icon { color: #900d2a; }
.sd-message--info > .sd-icon { color: #26499b; }

/* Mobile action bar ----------------------------------------------------------- */

.sd-bar {
  position: fixed;
  z-index: 25;
  inset-inline: 10px;
  inset-block-end: calc(10px + env(safe-area-inset-bottom, 0px));
  display: none;
  align-items: center;
  gap: 4px;
  min-height: 64px;
  padding: 7px;
  border-radius: 999px;
  background: rgb(255 250 249 / .78);
  -webkit-backdrop-filter: blur(24px) saturate(1.8);
  backdrop-filter: blur(24px) saturate(1.8);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), 0 0 0 1px rgb(255 255 255 / .7), var(--sd-sh-2);
  font-family: var(--sd-font-fa);
  transition: transform .45s var(--sd-ease-out), opacity .25s var(--sd-ease-ui);
}
.sd-bar.is-hidden { transform: translateY(140%); opacity: 0; }
.sd-bar__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 64px;
  min-height: 50px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--sd-ink-2);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.sd-bar__item .sd-icon { width: 21px; height: 21px; }
.sd-bar__item:active { background: rgb(255 255 255 / .7); }
.sd-bar__primary {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 18px;
  border-radius: 999px;
  color: var(--sd-on);
  background:
    linear-gradient(to bottom, rgb(255 255 255 / .2), transparent 50%),
    radial-gradient(120% 140% at var(--sd-light-x) 0%, #5d435a, #2b1b2a 60%, #170a16);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), inset 0 -4px 10px -4px rgb(0 0 0 / .45), 0 8px 18px -10px rgb(23 10 22 / .7);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .45s var(--sd-ease-spring);
}
.sd-bar__primary:active { transform: scale(.97, .9); transition-duration: .12s; }

/* Footer ---------------------------------------------------------------------- */

.sd-footer {
  position: relative;
  color: #d9ccd6;
  background: var(--sd-night);
  font: 400 15px/1.9 var(--sd-font-fa);
}
.sd-footer *, .sd-footer *::before, .sd-footer *::after { box-sizing: border-box; }
.sd-footer a { color: inherit; text-decoration: none; }
.sd-footer a:hover { color: var(--sd-on); }
.sd-footer__inner {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(0, 3fr) minmax(200px, 1.1fr);
  gap: 48px;
  max-width: var(--sd-wrap);
  margin-inline: auto;
  padding: 72px var(--sd-gutter) 48px;
}
.sd-footer__brand { display: grid; align-content: start; gap: 14px; }
.sd-footer__brand .sd-brand { justify-self: start; padding-inline: 0; }
.sd-footer__full-name { display: grid; margin: 0; color: var(--sd-on); font-weight: 600; line-height: 1.7; }
.sd-footer__full-name span { color: #b4a5b1; font: 500 13px/1.6 var(--sd-font-latin); text-align: start; }
.sd-footer__description { margin: 0; color: #b4a5b1; max-width: 30em; }
.sd-footer__tagline { margin: 0; color: var(--sd-on); font-weight: 600; }
.sd-footer__social { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sd-footer__social a {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--sd-night-2);
}
.sd-footer__social svg { width: 20px; height: 20px; }
.sd-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}
.sd-footer__columns ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.sd-footer__heading { margin: 0 0 10px; color: var(--sd-on); font-size: 15px; font-weight: 700; line-height: 1.6; }
.sd-footer__contact { display: grid; align-content: start; gap: 4px; font-style: normal; }
.sd-footer__contact p { margin: 0; color: #b4a5b1; }
.sd-footer__phone { color: var(--sd-on) !important; font-size: 20px; font-weight: 700; }
.sd-footer__base {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--sd-wrap);
  margin-inline: auto;
  padding: 20px var(--sd-gutter) 28px;
  border-top: 1px solid var(--sd-night-2);
  color: #9e8f9b;
  font-size: 13px;
}
.sd-footer__base p { margin: 0; }
.sd-footer__trust {
  display: inline-grid;
  place-items: center;
  padding: 8px;
  border-radius: var(--sd-r-m);
  background: var(--sd-paper);
}
.sd-footer__trust img { display: block; width: 76px; height: auto; }

/* Responsive shell ------------------------------------------------------------ */

@media (max-width: 1180px) {
  .sd-nav__link { padding: 0 10px; }
  .sd-header__account span { display: none; }
  .sd-header__account { width: 44px; padding: 0; }
}

@media (max-width: 1079px) {
  .sd-nav { display: none; }
  .sd-panel { display: none !important; }
  .sd-header__menu { display: inline-grid; }
  .sd-has-bar .sd-bar { display: flex; }
  /* Keyboard focus scrolled into view stays clear of the fixed bar (WCAG 2.4.11). */
  html:has(> .sd-has-bar) { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  /* Room for the fixed bar is taken inside the dark footer, so no ground strip shows below it. */
  .sd-has-bar .sd-footer { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .sd-footer__inner { grid-template-columns: 1fr; gap: 40px; }
  .sd-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
}

@media (max-width: 599px) {
  :root { --sd-header-h: 56px; }
  .sd-header { padding-top: 8px; }
  .sd-header__bar { padding: 6px 6px 6px 8px; }
  .sd-header__cta, .sd-header__account { display: none; }
  .sd-brand__name { font-size: 16px; }
  .sd-brand__mark { width: 19px; height: 32px; }
  .sd-search__panel { padding: 22px 18px 24px; }
  .sd-search__form .sd-btn { display: none; }
  .sd-footer__base { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .sd-panel, .sd-sheet__panel, .sd-sheet__scrim, .sd-search__panel, .sd-search__scrim { animation: none; }
  .sd-btn, .sd-icon-btn, .sd-langlink, .sd-bar, .sd-bar__primary, .sd-header__bar { transition: none; }
  .sd-btn:active, .sd-icon-btn:active, .sd-langlink:active, .sd-bar__primary:active { transform: none; }
}
[data-motion-level="none"] .sd-panel,
[data-motion-level="none"] .sd-sheet__panel,
[data-motion-level="none"] .sd-search__panel { animation: none; }
[data-motion-level="none"] .sd-btn:active,
[data-motion-level="none"] .sd-icon-btn:active,
[data-motion-level="none"] .sd-bar__primary:active { transform: none; }
