/* Home page — package-owned presentation only. */
.home-page {
  --home-page-card-bg: #0f0f0f;
  --home-page-icon-bg: #151515;
  --home-page-icon-border: #2a2a2a;
  --home-page-text: #ffe8f0;
  --home-page-lead-color: #fce7ee;
  --home-page-muted: #fbd1dd;
  --home-page-soft: #ffd3df;
  --home-page-accent: #f78fb3;
  --home-page-danger: #e74c3c;
  --home-page-ring: linear-gradient(135deg, rgba(231, 76, 60, .25), rgba(247, 143, 179, .18));
  --home-page-shadow: rgba(231, 76, 60, .34);
  --home-page-shadow-soft: rgba(192, 57, 43, .20);
  --home-page-footer-color: #555555;
  width: 100%;
  min-height: 100%;
}
[data-theme="crimson"] .home-page {
  --home-page-card-bg: #12090c;
  --home-page-icon-bg: #1b0d11;
  --home-page-icon-border: #3a1b22;
  --home-page-text: #ffe9eb;
  --home-page-lead-color: #fde6e9;
  --home-page-muted: #f6cdd2;
  --home-page-soft: #ffd3d7;
  --home-page-accent: #ef6d78;
  --home-page-danger: #d92e4b;
  --home-page-ring: linear-gradient(135deg, rgba(217, 46, 75, .30), rgba(239, 109, 120, .20));
  --home-page-shadow: rgba(217, 46, 75, .34);
  --home-page-shadow-soft: rgba(217, 46, 75, .19);
  --home-page-footer-color: #76545a;
}
[data-theme="berry"] .home-page {
  --home-page-card-bg: #100a12;
  --home-page-icon-bg: #180e1b;
  --home-page-icon-border: #332039;
  --home-page-text: #fceafa;
  --home-page-lead-color: #f9e6f7;
  --home-page-muted: #eacbe7;
  --home-page-soft: #f8d7f5;
  --home-page-accent: #d98ad8;
  --home-page-danger: #b944a8;
  --home-page-ring: linear-gradient(135deg, rgba(185, 68, 168, .28), rgba(217, 138, 216, .19));
  --home-page-shadow: rgba(185, 68, 168, .34);
  --home-page-shadow-soft: rgba(185, 68, 168, .18);
  --home-page-footer-color: #6f5570;
}
[data-theme="warm-gold"] .home-page {
  --home-page-card-bg: #120f09;
  --home-page-icon-bg: #1c160d;
  --home-page-icon-border: #3a2d1b;
  --home-page-text: #fff3df;
  --home-page-lead-color: #fbeed9;
  --home-page-muted: #ead9bd;
  --home-page-soft: #f9e2bc;
  --home-page-accent: #e3b36e;
  --home-page-danger: #c87c3d;
  --home-page-ring: linear-gradient(135deg, rgba(200, 124, 61, .28), rgba(227, 179, 110, .19));
  --home-page-shadow: rgba(200, 124, 61, .33);
  --home-page-shadow-soft: rgba(200, 124, 61, .18);
  --home-page-footer-color: #746650;
}
.home-page .home-page-layout {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding: 0;
}
.home-page .home-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 40px);
  padding-top: 0;
}
.home-page .home-page-hero-media {
  position: relative;
  justify-self: center;
  width: min(600px, 95%);
  height: 500px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: transparent;
  box-shadow: 0 0 24px var(--home-page-shadow);
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: 220ms;
  transition-timing-function: ease;
}
.home-page .home-page-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% 10%;
  filter: saturate(1.05) contrast(1.02);
}
.home-page .home-page-glow-ring::after,
.home-page .home-page-stream-glow::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
}
.home-page .home-page-eyebrow {
  margin: 0 0 .8rem;
  color: color-mix(in srgb, var(--home-page-accent) 76%, var(--home-page-soft));
  font-size: .9rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .9;
}
.home-page .home-page-hero h1 {
  margin: 0 0 1rem;
  color: var(--home-page-soft);
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.2rem);
  font-weight: 800;
  letter-spacing: .02em;
  text-shadow: 0 0 18px var(--home-page-shadow);
}
.home-page .home-page-lead,
.home-page .home-page-micro {
  max-width: 65ch;
  margin: 0 0 1rem;
  line-height: 1.65;
}
.home-page .home-page-hero-copy { margin-right: 10px; }
.home-page .home-page-lead { color: var(--home-page-lead-color); font-size: 1.08rem; }
.home-page .home-page-micro { color: var(--home-page-muted); font-size: .98rem; opacity: .95; text-align: justify; }
.home-page .home-page-links-section { margin-top: clamp(28px, 4vw, 48px); }
.home-page .home-page-section-kicker {
  margin: 0 0 5px 10px;
  color: var(--home-page-accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-page .home-page-links-section h2 {
  margin: 0 0 .8rem 10px;
  color: var(--home-page-danger);
  font-size: 1rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  opacity: .95;
}
.home-page .home-page-card,
.home-page .home-page-link-card {
  border: 1px solid transparent;
  border-radius: 14px;
  background: linear-gradient(var(--home-page-card-bg), var(--home-page-card-bg)) padding-box, var(--home-page-ring) border-box;
  box-shadow: 0 0 14px var(--home-page-shadow-soft);
}
.home-page .home-page-placeholder { display: grid; gap: 7px; padding: 18px; color: var(--home-page-muted); }
.home-page .home-page-placeholder strong { color: var(--home-page-soft); }
.home-page .home-page-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.home-page .home-page-link-grid > li,
.home-page .home-page-link-grid > div,
.home-page .home-page-link-grid > div > li { min-width: 0; list-style: none; }
.home-page .home-page-link-grid > div { display: contents; }
.home-page .home-page-link-card,
.home-page .home-page-link-card-button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px;
  color: var(--home-page-text);
  text-decoration: none;
  transition: transform .14s ease, box-shadow .14s ease;
}
.home-page .home-page-link-card-button {
  border: 1px solid transparent;
  border-radius: 14px;
  background: linear-gradient(var(--home-page-card-bg), var(--home-page-card-bg)) padding-box, var(--home-page-ring) border-box;
  box-shadow: 0 0 14px var(--home-page-shadow-soft);
  cursor: pointer;
}
.home-page .home-page-link-card:hover,
.home-page .home-page-link-card-button:hover { transform: translateY(-1px); box-shadow: 0 0 18px var(--home-page-shadow); }
.home-page .home-page-link-card > span:nth-child(2),
.home-page .home-page-link-card .home-page-link-label,
.home-page .home-page-link-card-button .home-page-link-label { min-width: 0; display: grid; gap: 2px; }
.home-page .home-page-link-card strong,
.home-page .home-page-link-card .home-page-link-label strong,
.home-page .home-page-link-card-button .home-page-link-label strong { color: var(--home-page-soft); font-size: .98rem; }
.home-page .home-page-link-card small,
.home-page .home-page-link-card .home-page-link-label small,
.home-page .home-page-link-card-button .home-page-link-label small { overflow: hidden; color: var(--home-page-muted); font-size: .85rem; opacity: .9; text-overflow: ellipsis; white-space: nowrap; }
.home-page .home-page-link-icon,
.home-page .home-page-link-card .home-page-link-icon,
.home-page .home-page-link-card-button .home-page-link-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--home-page-icon-bg);
  box-shadow: inset 0 0 0 1px var(--home-page-icon-border);
  color: var(--home-page-accent);
  font-weight: 900;
  overflow: hidden;
}
.home-page .home-page-link-card .home-page-link-icon svg,
.home-page .home-page-link-card-button .home-page-link-icon svg { display: block; width: 22px !important; height: 22px !important; max-width: 22px; max-height: 22px; }
.home-page .home-page-link-chevron,
.home-page .home-page-link-card > .home-page-link-chevron,
.home-page .home-page-link-card-button > .home-page-link-chevron { justify-self: end; color: var(--home-page-muted); opacity: .7; }
.home-page .home-page-link-chevron { font-size: 1.5rem; }
.home-page .home-page-link-card > .home-page-link-chevron,
.home-page .home-page-link-card-button > .home-page-link-chevron { width: 18px !important; height: 18px !important; }
.home-page .home-page-footer { padding: 25px 18px 35px; color: var(--home-page-footer-color); font-size: .8rem; text-align: center; }
.home-page .home-page-link-card[href*="snapchat.com"] .home-page-link-icon svg path { fill: currentColor !important; }
.home-page .home-page-update { margin-top: clamp(28px, 4vw, 48px); }
.home-page .home-page-update h2,
.home-page #home-page-update-title {
  color: #e74c3c;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin: 0 0 .8rem;
  opacity: .95;
  border: 0;
  border-bottom: 1px solid #333;
}
.home-page .home-page-stream-card {
  margin-top: 1rem;
  margin-bottom: 1rem;
  justify-self: center;
  position: relative;
  width: 100%;
  aspect-ratio: auto;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(#0f0f0f,#0f0f0f) padding-box, linear-gradient(135deg, rgba(231, 76, 60, .25), rgba(247, 143, 179, .18)) border-box;
  border: 1px solid transparent;
  text-decoration: none;
  color: #ffe8f0;
  box-shadow: 0 0 14px var(--home-page-stream-accent);
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.home-page .home-page-stream-title {
  text-align: center;
  padding: 16px 14px;
  font-size: .95rem;
  width: 100%;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--home-page-stream-accent);
}
.home-page .home-page-inline-error { grid-column: 1 / -1; padding: 12px; color: var(--home-page-muted); }

@media (max-width: 860px) {
  .home-page .home-page-hero { grid-template-columns: 1fr; }
  .home-page .home-page-hero-media { width: min(520px, 94%); height: min(500px, 112vw); }
}
@media (max-width: 720px) {
  .home-page .home-page-link-grid { grid-template-columns: 1fr; }
  .home-page .home-page-micro { text-align: left; }
}
@media (max-width: 760px) {
  .home-page .home-page-link-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .home-page-hero-media,
  .home-page .home-page-card,
  .home-page .home-page-link-card,
  .home-page .home-page-link-card-button { transition: none; }
}

/* Home direct document only; inert when Home is included by a host shell. */
body.home-page-document {
  margin: 0;
  min-height: 100vh;
  padding: 24px;
  box-sizing: border-box;
  background: #0a0a0a;
  color: #ffe8f0;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}
body.home-page-document > .home-page {
  max-width: 1200px;
  margin: 0 auto;
}
