/* Shared website controls, cards and typography. Never loaded by the journey. */
:root {
  --site-heading-font: "Cormorant Garamond", Georgia, serif;
  --site-body-font: "Inter", Arial, sans-serif;
  --site-ink: #0b1224;
  --site-muted: #66718a;
  --site-description-indent: 24px;
  --site-blue: #195892;
  --site-link: #0756eb;
  --site-control-height: 2.75rem;
  --site-control-size: 1rem;
  --site-control-width: 13.75rem;
  --site-interaction-time: 160ms;
  --site-card-radius: .75rem;
}
.site-page { margin: 0; color: var(--site-ink); background: #fff; font-family: var(--site-body-font); -webkit-font-smoothing: antialiased; }
.site-page *, .site-page *::before, .site-page *::after { box-sizing: border-box; }
.site-description { font-family: var(--site-body-font); font-weight: 400; color: var(--site-muted); padding-inline-start: var(--site-description-indent); }
.site-heading { font-family: var(--site-heading-font); font-weight: 500; }
.site-home { color: var(--site-link); font-size: .875rem; font-weight: 500; text-decoration: none; padding: .4rem; border-bottom: 2px solid currentColor; }
.site-button { min-height: var(--site-control-height); width: var(--site-control-width); max-width: 100%; flex-shrink: 0; transition: background-color var(--site-interaction-time) ease, border-color var(--site-interaction-time) ease, box-shadow var(--site-interaction-time) ease; display: inline-flex; align-items: center; justify-content: center; gap: .875rem; padding: .5rem 1.25rem; border: 1px solid transparent; border-radius: 999px; font-size: var(--site-control-size); font-weight: 600; line-height: 1.4; text-decoration: none; text-align: center; }
.site-button--primary { color: #fff; background: var(--site-blue); border-color: var(--site-blue); }
.site-button--secondary { color: var(--site-ink); background: rgba(255,255,255,.8); border-color: #7f8ba4; }
.site-button--primary:hover { background: #103c66; box-shadow: 0 0 0 3px rgba(25,88,146,.2); }
.site-button--secondary:hover { background: #e5eef8; border-color: var(--site-blue); box-shadow: 0 0 0 3px rgba(25,88,146,.15); }
.site-button__arrow { font-family: Arial,sans-serif; font-size: 1.4375rem; font-weight: 400; line-height: 1; }
.site-home:hover { color: #103c66; background: #e5eef8; }
.site-home:focus-visible,.site-button:focus-visible { outline: 3px solid var(--site-link); outline-offset: 5px; }
.site-card { min-width: 0; border: 1px solid #e9ebee; border-radius: var(--site-card-radius); padding: .75rem 1.125rem .875rem; background: #fff; box-shadow: 0 5px 18px rgba(24,39,60,.035); }
.site-card__image { display: block; width: 2.8125rem; height: 2.8125rem; object-fit: cover; border-radius: .6rem; margin-bottom: .5rem; }
.site-logo { object-fit: contain; }
.site-card__title { font-family: var(--site-heading-font); font-weight: 600; font-size: 1.625rem; line-height: 1.02; letter-spacing: -.035em; margin: 0 0 .375rem; }
.site-card__description { color: var(--site-muted); font-size: 1rem; line-height: 1.3; margin: 0; }

/* Shared surrounding-site variants. Existing homepage defaults stay unchanged. */
.site-card--link { display: block; color: inherit; text-decoration: none; transition: background-color var(--site-interaction-time) ease, border-color var(--site-interaction-time) ease, box-shadow var(--site-interaction-time) ease; }
.site-card--link:hover { background: #f0f6fc; border-color: var(--site-blue); box-shadow: 0 4px 16px rgba(25,88,146,.18); }
.site-card--link:focus-visible { outline: 3px solid var(--site-link); outline-offset: 4px; }
.site-header { height: 4.5rem; display: flex; align-items: center; justify-content: flex-end; padding-inline: 4.5%; }
.site-actions { display: flex; flex-wrap: wrap; gap: .875rem; }
.site-actions .site-button { white-space: normal; }
.site-card--information { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-content: start; gap: 1.25rem; padding: 1.5rem; }
.site-card--information .site-card__image { width: 4.5rem; height: 4.5rem; margin: 0; }
.site-card--information .site-card__title { font-size: clamp(1.5rem, 1.9vw, 1.875rem); line-height: 1.08; margin-bottom: .875rem; }
.site-card--information .site-card__description { font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.4; }
@media (max-width: 1100px) {
  .site-card--information { grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem; }
  .site-card--information .site-card__image { width: 4rem; height: 4rem; }
}
@media (max-width: 767px) {
  .site-header { height: 3rem; padding-inline: 1.5rem; }
  .site-actions { flex-direction: column; align-items: stretch; }
  .site-actions .site-button { width: 100%; }
}

@media (min-width: 1101px) and (max-height: 800px) {
  .site-card--information { grid-template-columns: 4rem minmax(0, 1fr); padding: 1.25rem; gap: 1rem; }
  .site-card--information .site-card__image { width: 4rem; height: 4rem; }
  .site-card--information .site-card__description { font-size: 1rem; }
}

/* Vertical informational panel variant, selected only by the new page. */
.site-card--feature { padding: 1.75rem 2rem 2rem; }
.site-card--feature .site-card__image { width: 4.5rem; height: 4.5rem; margin-bottom: 1rem; }
.site-card--feature .site-card__title { font-size: clamp(1.75rem, 2.65vw, 2.5rem); line-height: 1.05; margin-bottom: .625rem; }
.site-card--feature .site-card__description { font-size: clamp(1rem, 1.45vw, 1.3125rem); line-height: 1.4; }
@media (min-width: 1101px) and (max-height: 800px) {
  .site-card--feature { padding: 1.25rem 1.5rem; }
  .site-card--feature .site-card__image { width: 3rem; height: 3rem; margin-bottom: .625rem; }
  .site-card--feature .site-card__title { font-size: 1.875rem; }
  .site-card--feature .site-card__description { font-size: 1rem; }
}
@media (max-width: 767px) {
  .site-card--feature { padding: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) { .site-button, .site-card--link { transition: none; } }
