/* Mobile-first theme layer. Desktop layout only expands after 760px. */
.minisite {
  --surface: rgba(15, 22, 24, 0.78);
  --border: rgba(255, 255, 255, 0.22);
  --muted: #d2d9d6;
  --title-font: Georgia, 'Times New Roman', serif;
  --radius: 18px;
  --page: #101719;
}
.minisite .site-shell {
  grid-template-columns: minmax(0, 1fr);
  max-width: 510px;
  padding: 36px 22px 24px;
  gap: 30px;
  align-content: start;
}
.minisite .site-identity {
  text-align: center;
}
.minisite .site-logo {
  margin: 0 auto 24px;
}
.minisite .site-identity h1 {
  font-family: var(--title-font);
  font-size: clamp(34px, 10vw, 48px);
  line-height: 1.12;
}
.minisite .site-subtitle {
  margin: 16px auto 0;
}
.minisite .site-invitation {
  display: none;
}
.minisite .site-divider {
  margin: 24px auto 0;
}
.minisite .site-link {
  border-radius: var(--radius);
  min-height: 64px;
}
.minisite .site-link:not(.site-link-featured),
.minisite .site-service {
  background: var(--surface);
  border-color: var(--border);
}
.minisite .site-service {
  border-radius: var(--radius);
}
.minisite .site-section-label {
  line-height: 1.6;
  letter-spacing: 2px;
}
.minisite .site-link:active {
  transform: scale(0.99);
}
.minisite .site-shade {
  background: linear-gradient(
    180deg,
    rgba(7, 12, 15, 0.66),
    rgba(7, 12, 15, 0.72) 50%,
    rgba(7, 12, 15, 0.96)
  );
}
.minisite:not(:has(.site-background)) .site-shade {
  background:
    radial-gradient(ellipse at 0 0, #344b43, transparent 65%), var(--page);
}
.site-mode-light.site-theme-emerald {
  --accent: #245846;
  --accent-ink: #fff;
}
.site-mode-light.site-theme-blue {
  --accent: #244e78;
  --accent-ink: #fff;
}
.site-mode-light.site-theme-violet {
  --accent: #603d85;
  --accent-ink: #fff;
}
.site-mode-light.site-theme-rose {
  --accent: #8a3d57;
  --accent-ink: #fff;
}
.site-mode-light.site-theme-charcoal {
  --accent: #604529;
  --accent-ink: #fff;
}
.minisite.site-mode-light {
  color: #252d2a;
  background: #f4f2ec;
  --surface: rgba(255, 255, 255, 0.9);
  --border: rgba(55, 66, 58, 0.2);
  --muted: #48564e;
  --page: #f4f2ec;
}
.site-mode-light .site-shade {
  background: linear-gradient(
    180deg,
    rgba(250, 248, 243, 0.6),
    rgba(250, 248, 243, 0.75) 48%,
    rgba(250, 248, 243, 0.94)
  );
}
.site-mode-light:not(:has(.site-background)) .site-shade {
  background:
    radial-gradient(ellipse at 95% 0, #e2e9dd, transparent 70%), var(--page);
}
.site-mode-light .site-link:not(.site-link-featured) {
  color: #252d2a;
  box-shadow: 0 4px 18px #293c2f08;
}
.site-mode-light .site-logo {
  background: #ffffffb3;
  border-color: var(--border);
  box-shadow: 0 12px 40px #293c2f12;
}
.site-mode-light .site-subtitle,
.site-mode-light .site-invitation,
.site-mode-light .site-section-label,
.site-mode-light .site-service-head,
.site-mode-light .site-service p,
.site-mode-light .site-footer {
  color: var(--muted);
}
.site-mode-light .site-copy {
  background: #ffffffac;
  color: #252d2a;
  border-color: var(--border);
}
.site-mode-light .site-copy:hover {
  background: #fff;
}
.site-mode-light .site-footer {
  border-color: var(--border);
}
.site-mode-light .site-signature-dark {
  display: none !important;
}
.site-mode-light .site-signature-light {
  display: block !important;
}
.site-mode-light .site-link:hover {
  box-shadow: 0 7px 24px #293c2f1a;
}
.site-family-editorial {
  --radius: 6px;
}
.site-family-editorial .site-logo {
  border-radius: 50%;
  width: 96px;
  height: 96px;
}
.site-family-editorial .site-logo img {
  border-radius: 50%;
}
.site-family-editorial .site-eyebrow {
  letter-spacing: 3px;
}
.site-family-editorial .site-link-label {
  font-weight: 400;
  font-size: 16px;
}
.site-family-editorial .site-identity h1 {
  font-style: italic;
}
.site-family-airy {
  --radius: 24px;
}
.site-family-airy .site-link {
  padding: 16px 22px;
}
.site-family-airy .site-logo {
  border-radius: 50%;
}
.site-family-airy .site-logo img {
  border-radius: 50%;
}
.site-family-airy .site-identity h1 {
  letter-spacing: -1px;
}
.site-family-modern,
.site-family-bold,
.site-family-friendly {
  --title-font: Lato, Arial, sans-serif;
}
.site-family-modern {
  --radius: 12px;
}
.site-family-modern .site-identity h1 {
  font-weight: 700;
  letter-spacing: -1.4px;
}
.site-family-modern .site-logo {
  border-radius: 18px;
}
.site-family-bold {
  --radius: 5px;
}
.site-family-bold .site-identity h1 {
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(32px, 9vw, 48px);
  letter-spacing: -1.2px;
}
.site-family-bold .site-link {
  border-left: 3px solid var(--accent);
}
.site-family-bold .site-logo {
  border-radius: 8px;
}
.site-family-friendly {
  --radius: 28px;
}
.site-family-friendly .site-identity h1 {
  font-weight: 700;
  letter-spacing: -1.5px;
}
.site-family-friendly .site-logo {
  border-radius: 35% 65% 52% 48%;
  transform: rotate(-4deg);
}
.site-family-friendly .site-logo > * {
  transform: rotate(4deg);
}
.minisite.site-design-tech:not(:has(.site-background)) .site-shade {
  background:
    radial-gradient(ellipse at 100% 0, #57348280, transparent 52%),
    radial-gradient(ellipse at 0 60%, #183d6370, transparent 65%),
    repeating-linear-gradient(0deg, transparent 0 59px, #ffffff04 60px), #100f20;
}
.minisite.site-design-fitness:not(:has(.site-background)) .site-shade {
  background:
    linear-gradient(
      120deg,
      transparent 50%,
      #8de2c014 50% 51%,
      transparent 51% 70%,
      #8de2c009 70%
    ),
    radial-gradient(ellipse at 0 0, #273c2e, transparent 70%), #0e1612;
}
.minisite.site-design-auto:not(:has(.site-background)) .site-shade {
  background:
    repeating-linear-gradient(135deg, #ffffff04 0 1px, transparent 1px 8px),
    radial-gradient(ellipse at 90% 0, #294057, transparent 70%), #13181d;
}
.site-design-bistro {
  --surface: rgba(33, 22, 15, 0.84);
}
.site-design-fashion {
  --surface: rgba(29, 21, 27, 0.83);
}
.site-design-professional {
  --surface: rgba(14, 27, 43, 0.86);
}
.site-design-coffee.site-mode-light {
  --muted: #594b3c;
}
.site-design-coffee .site-shade {
  background: linear-gradient(180deg, #f5ead4b8, #f5ead4d6 50%, #f5ead4f5);
}
.site-design-beauty .site-shade {
  background: linear-gradient(180deg, #fff4f0a8, #fff4f0cf 50%, #fff4f0f5);
}
.site-design-pet .site-shade {
  background: linear-gradient(180deg, #f4f8dbad, #f4f8dbd6 50%, #f4f8dbf5);
}
@media (min-width: 761px) {
  .minisite .site-shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    max-width: 1160px;
    min-height: 100svh;
    padding: 70px 48px 28px;
    gap: 56px 70px;
    align-content: center;
  }
  .minisite .site-identity {
    text-align: left;
  }
  .minisite .site-logo {
    margin: 0 0 32px;
  }
  .minisite .site-identity h1 {
    font-size: clamp(42px, 4.7vw, 66px);
  }
  .minisite .site-subtitle {
    margin: 22px 0 0;
  }
  .minisite .site-divider {
    margin: 28px 0 18px;
  }
  .minisite .site-invitation {
    display: block;
  }
  .minisite .site-shade {
    background:
      linear-gradient(90deg, #080f11c9, #080f11aa),
      linear-gradient(0deg, #080f11dc, transparent);
  }
  .minisite.site-mode-light .site-shade {
    background:
      linear-gradient(90deg, #f7f5edd9, #f7f5edad),
      linear-gradient(0deg, #f7f5eddd, transparent);
  }
  .minisite .site-link {
    min-height: 72px;
  }
  .site-family-bold .site-identity h1 {
    font-size: clamp(40px, 4.4vw, 60px);
  }
}
@media (max-width: 359px) {
  .minisite .site-shell {
    padding-inline: 16px;
  }
}
@media (max-width: 480px) {
  .minisite .site-services {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .minisite .site-link:active {
    transform: none;
  }
}
