.asc-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  text-decoration: none;
  white-space: nowrap;
  z-index: 100;
}

.asc-brand__mark {
  display: block;
  height: 44px;
  width: auto;
  flex-shrink: 0;
}

.asc-brand__text {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.05;
  color: var(--asc-text);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
}

.asc-brand__line1 {
  font-size: 1.26rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: lowercase;
}

.asc-brand__line2 {
  font-size: 1.13rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  opacity: 0.85;
}

.asc-brand__text br {
  display: none;
}

.alt .asc-brand__text {
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.alt .asc-brand__mark {
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.65));
}

/* Hero */

#hero {
  margin-left: 15vw;
  overflow: hidden;
}

#hero.alt {
  width: 100%;
  margin: 0 auto;
  max-width: 1280px;
}

#hero .section-background-overlay {
  background: linear-gradient(
    to bottom,
    rgba(var(--asc-bg-hero-rgb), 0.55),
    rgba(var(--asc-bg-hero-rgb), 0.25)
  );
}

#hero.alt .section-background-overlay {
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.65),
      rgba(0, 0, 0, 0.45) 18%,
      rgba(var(--asc-bg-hero-rgb), 0.45) 45%,
      rgba(var(--asc-bg-hero-rgb), 0.24) 100%
    );
}

#hero .asc-hero-spotlight {
  position: relative;
  z-index: 0;
  padding: 2rem 3rem;
}

#hero .asc-hero-spotlight h1,
#hero .asc-hero-spotlight p {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

#hero.alt .asc-hero-spotlight h1,
#hero.alt .asc-hero-spotlight p {
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.7);
}

#hero .asc-hero-spotlight::before {
  content: "";
  position: absolute;
  inset: -18%;
  background: radial-gradient(
    circle at center,
    rgba(var(--asc-shadow-rgb), 0.5) 0%,
    rgba(var(--asc-shadow-rgb), 0.25) 35%,
    rgba(var(--asc-shadow-rgb), 0) 85%
  );
  filter: blur(38px);
  z-index: -1;
}

/* Navigation */

.breakdance-menu-item--active a {
  font-weight: 600 !important;
}

.alt .breakdance-menu a,
.alt .breakdance-menu__item-link {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.alt .breakdance-menu a:hover,
.alt .breakdance-menu__item-link:hover {
  color: #ffffff !important;
  opacity: 0.95;
}

/* Sunrise theme */

:root[data-theme="asc-sunrise"],
body[data-theme="asc-sunrise"] {
  --asc-bg: #fff6ec;
  --asc-bg-soft: #fde7d3;
  --asc-bg-ghost: rgba(250, 215, 189, 0.35);
  --asc-bg-ghost-light: rgba(255, 255, 255, 0.25);
  --asc-bg-hero: #fad7bd;
  --asc-bg-hero-rgb: 250, 215, 189;
  --asc-brand: #f28b3b;
  --asc-brand-soft: #ffb36a;
  --asc-text: #3c2620;
  --asc-text-muted: #7a5b4f;
  --asc-accent-1: #f45b3f;
  --asc-accent-2: #f9c36b;
  --asc-accent-rgb: 244, 91, 63;
  --asc-shadow-rgb: 60, 38, 32;
  --asc-border-subtle: #f2d5bf;
  --asc-border-strong: #e0ad7b;
  --asc-border: #eac7a6;
  --asc-btn-primary-bg: var(--asc-brand);
  --asc-btn-primary-text: #ffffff;
  --asc-btn-primary-hover: #e17627;
  --asc-btn-secondary-bg: #ffffff;
  --asc-btn-secondary-text: var(--asc-text);
  --asc-btn-secondary-border: var(--asc-border-strong);
  --asc-btn-secondary-hover-bg: #fff0e1;
  --asc-icon-main: var(--asc-brand);
  --asc-icon-soft: var(--asc-accent-2);
}

/* Coastal theme */

:root[data-theme="asc-coastal"],
body[data-theme="asc-coastal"] {
  --asc-bg: #f6efe7;
  --asc-bg-soft: #e5f0f4;
  --asc-bg-ghost: rgba(169, 214, 229, 0.3);
  --asc-bg-hero: #a9d6e5;
  --asc-bg-hero-rgb: 169, 214, 229;
  --asc-brand: #0c2d48;
  --asc-brand-soft: #3a506b;
  --asc-text: #122536;
  --asc-text-muted: #5c6b7a;
  --asc-accent-1: #ff7f66;
  --asc-accent-2: #f2b8a3;
  --asc-accent-rgb: 255, 127, 102;
  --asc-shadow-rgb: 18, 37, 54;
  --asc-border-subtle: #d2dfe5;
  --asc-border-strong: #9bb3c3;
  --asc-border: #c4d4dc;
  --asc-btn-primary-bg: var(--asc-accent-1);
  --asc-btn-primary-text: #ffffff;
  --asc-btn-primary-hover: #f0654a;
  --asc-btn-secondary-bg: #ffffff;
  --asc-btn-secondary-text: var(--asc-brand);
  --asc-btn-secondary-border: var(--asc-border-strong);
  --asc-btn-secondary-hover-bg: #eef5f8;
  --asc-icon-main: var(--asc-accent-1);
  --asc-icon-soft: var(--asc-bg-hero);
}

/* Berry theme */

:root[data-theme="asc-berry"],
body[data-theme="asc-berry"] {
  --asc-bg: #fdf8f2;
  --asc-bg-soft: #ebddf4;
  --asc-bg-ghost: rgba(255, 204, 179, 0.35);
  --asc-bg-hero: #ffccb3;
  --asc-bg-hero-rgb: 255, 204, 179;
  --asc-brand: #572a4a;
  --asc-brand-soft: #7d3e72;
  --asc-text: #402035;
  --asc-text-muted: #775667;
  --asc-accent-1: #f5a25c;
  --asc-accent-2: #ffc48d;
  --asc-accent-rgb: 245, 162, 92;
  --asc-shadow-rgb: 64, 32, 53;
  --asc-border-subtle: #e9d2e9;
  --asc-border-strong: #cba6cb;
  --asc-border: #d9b9d5;
  --asc-btn-primary-bg: var(--asc-accent-1);
  --asc-btn-primary-text: #3c1c2f;
  --asc-btn-primary-hover: #e3893d;
  --asc-btn-secondary-bg: #ffffff;
  --asc-btn-secondary-text: var(--asc-brand);
  --asc-btn-secondary-border: var(--asc-border-strong);
  --asc-btn-secondary-hover-bg: #f8edf9;
  --asc-icon-main: var(--asc-accent-1);
  --asc-icon-soft: var(--asc-bg-soft);
}

/* Theme toggle */

.asc-theme-toggle {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--asc-border-subtle, #dddddd);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 999;
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.asc-theme-toggle__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--asc-text-muted, #555555);
}

.asc-theme-toggle__options {
  display: flex;
  gap: 0.35rem;
}

.asc-theme-toggle__option {
  border: 1px solid var(--asc-border-strong, #cccccc);
  background: var(--asc-bg-soft, #ffffff);
  color: var(--asc-text, #222222);
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.asc-theme-toggle__option.is-active,
.asc-theme-toggle__option:hover {
  border-color: var(--asc-brand, #333333);
  color: #ffffff;
  background: var(--asc-brand, #333333);
}

@media (max-width: 640px) {
  .asc-theme-toggle {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: 1rem;
  }
}

/* CTA mini hero */

#cta {
  position: relative;
  overflow: hidden;
  margin-left: -15vw;
}

#cta.alt {
  width: 100%;
  margin: 0 auto;
  max-width: 1280px;
}

#cta .section-background-overlay {
  background:
    radial-gradient(
      circle at 30% 50%,
      rgba(var(--asc-shadow-rgb), 0.55) 0%,
      rgba(var(--asc-shadow-rgb), 0.35) 35%,
      rgba(var(--asc-shadow-rgb), 0) 75%
    ),
    linear-gradient(
      to bottom,
      rgba(var(--asc-bg-hero-rgb), 0.55),
      rgba(var(--asc-bg-hero-rgb), 0.3)
    );
}

#cta h2,
#cta p {
  color: #ffffff;
  text-shadow:
    0 4px 14px rgba(0, 0, 0, 0.55),
    0 0 12px rgba(0, 0, 0, 0.35);
}

#cta .bd-button,
#cta a {
  text-shadow:
    0 3px 10px rgba(0, 0, 0, 0.55),
    0 0 10px rgba(0, 0, 0, 0.35);
}

#cta::before {
  content: "";
  position: absolute;
  inset: -24%;
  background: radial-gradient(
    circle at 30% 50%,
    rgba(var(--asc-shadow-rgb), 0.6) 0%,
    rgba(var(--asc-shadow-rgb), 0.32) 30%,
    rgba(var(--asc-shadow-rgb), 0) 70%
  );
  filter: blur(30px);
  z-index: -1;
  pointer-events: none;
}

/* Soft radial glow */

.asc-soft-glow {
  position: relative;
  overflow: hidden;
}

.asc-soft-glow::before {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  z-index: -1;
  background: radial-gradient(
    circle at 50% 30%,
    rgba(var(--asc-shadow-rgb), 0.22) 0%,
    rgba(var(--asc-shadow-rgb), 0.1) 22%,
    rgba(var(--asc-shadow-rgb), 0) 60%
  );
  filter: blur(55px);
  opacity: 0.75;
}
