/* Fernando Kylas Brand System. shell.css
   Rules only: the reasoning is in the repository, at publications/brand-system/css/shell.css.
   Nothing else is altered. No value, selector or declaration differs
   from source. See publications/brand-system/build/assemble.py. */
.si-shell__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fk-space-5);

  flex-wrap: wrap;
  padding-block: var(--si-shell-pad);
}

.si-shell__brand,
.si-shell__nav { min-width: 0; }

.si-shell__brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.si-shell__brand > a { display: flex; align-items: center; color: var(--fk-text-primary); }

.si-lockup { display: none; block-size: var(--fk-space-5); inline-size: auto; }
.si-lockup--abbr { display: block; }
@media (min-width: 34rem) {
  .si-lockup--abbr { display: none; }
  .si-lockup--full { display: block; }
}

.si-shell__nav {
  display: flex;
  align-items: center;
  gap: var(--fk-space-5);
  min-width: 0;
}

.si-shell__nav a {
  font-size: var(--fk-body-s-size);
  line-height: var(--fk-body-s-lh);
  letter-spacing: var(--fk-body-s-track);
  text-decoration: none;
  white-space: nowrap;
}
.si-shell__nav a:hover { text-decoration: underline; text-underline-offset: 0.2em; }

.si-shell__nav [aria-current="page"] {
  font-weight: var(--fk-weight-medium);
  border-block-end: var(--fk-rule-accent);
}

.si-menu__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--fk-space-2);
  padding: var(--fk-space-2) var(--fk-space-3);
  font-size: var(--fk-body-s-size);
  font-weight: var(--fk-weight-medium);
  background: none;
  color: var(--fk-text-primary);
  border: 1px solid var(--fk-border-strong);
  border-radius: var(--fk-radius-md);
  cursor: pointer;
}
.si-menu__btn[hidden] { display: none; }

.si-menu__bars {
  inline-size: 0.875em;
  block-size: 2px;
  background: currentColor;
  box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor;
}

@media (min-width: 56rem) {

  .si-menu__btn { display: none; }
}

@media (max-width: 55.999rem) {
  [data-js] .si-nav__list {
    display: none;
    position: absolute;
    inset-inline: 0;

    top: 100%;
    z-index: 1;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--fk-space-4) var(--fk-page-edge);
    background: var(--fk-surface-raised);

    --fk-text-tertiary: var(--fk-text-tertiary-raised);
    border-block-end: var(--fk-hairline);
    box-shadow: var(--fk-shadow-soft);
  }
  [data-js] .si-nav__list[data-open] { display: flex; }
  [data-js] .si-nav__list > li + li { border-block-start: var(--fk-hairline); }
  [data-js] .si-nav__list a { display: block; padding-block: var(--fk-space-3); }

  [data-js] .si-shell__row { position: relative; }

  [data-js] .si-shell__nav { gap: var(--fk-space-3); }
}

.si-shell__theme { flex: 0 0 auto; }

.si-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fk-space-3) var(--fk-space-5);

  --fk-measure-context: none;
  padding-left: 0;
  list-style: none;
}
.si-nav__list > li + li { margin-top: 0; }

.si-nav__list a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

.si-footer {

  background: var(--fk-surface-raised);

  --fk-text-tertiary: var(--fk-text-tertiary-raised);
  border-block-start: var(--fk-hairline);
}

.si-footer__inner {
  padding-block: var(--fk-pause-section) var(--fk-pause-related);
  display: grid;
  gap: var(--fk-pause-related);
  --fk-measure-context: none;
}

@media (min-width: 48rem) {
  .si-footer__inner {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    column-gap: var(--fk-space-9);
  }
  .si-footer__note { grid-column: 1 / -1; }
}

.si-footer__ask {
  font-family: var(--fk-font-display);
  font-weight: var(--fk-weight-display-medium);
  font-size: var(--fk-subsection-size);
  line-height: var(--fk-subsection-lh);
  letter-spacing: var(--fk-subsection-track);
  margin-block-end: var(--fk-pause-bound);
}

.si-footer__lead {
  --fk-measure-context: var(--fk-measure);
  max-width: var(--fk-measure-context);
  color: var(--fk-text-secondary);
}

.si-footer__links {
  margin-block-start: var(--fk-space-5);
  display: flex;
  flex-wrap: wrap;
  gap: var(--fk-space-3);
}

.si-footer__nav ul {
  padding-left: 0;
  list-style: none;
  margin-block-start: var(--fk-space-4);
}
.si-footer__nav li + li { margin-top: var(--fk-flow-tight); }
.si-footer__nav a { font-size: var(--fk-body-s-size); }

.si-footer__note {
  margin-block-start: var(--fk-space-5);
  padding-block-start: var(--fk-space-5);
  border-block-start: var(--fk-hairline);
  font-size: var(--fk-caption-size);
  line-height: var(--fk-caption-lh);
  letter-spacing: var(--fk-caption-track);
  color: var(--fk-text-secondary);
  --fk-measure-context: var(--fk-measure-wide);
  max-width: var(--fk-measure-context);
}
