:root {
  color-scheme: light;
  --sl-ink: #06111f;
  --sl-navy: #0f172a;
  --sl-blue: #4a8cf7;
  --sl-cyan: #00e0ff;
  --sl-violet: #7b61ff;
  --sl-gold: #ffb000;
  --sl-stone: #f3f0e9;
  --sl-mist: #e7effd;
  --sl-white: #ffffff;
  --sl-muted: #6b7280;
  --sl-line: rgba(148, 163, 184, .28);
  --sl-shadow: 0 1.4rem 4rem rgba(6, 17, 31, .18);
}

html, body { max-width: 100%; overflow-x: clip; }
body { margin: 0; background: var(--sl-ink); }
.sl-home, .sl-home * { box-sizing: border-box; }
.sl-home { overflow-x: clip; color: var(--sl-ink); background: var(--sl-white); }
.sl-shell { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.sl-home section { position: relative; padding-block: clamp(4.75rem, 8vw, 9rem); }
.sl-home h1, .sl-home h2, .sl-home h3, .sl-home p { margin-top: 0; }
.sl-home h1 {
  max-width: 11ch;
  font-size: clamp(3.8rem, 9vw, 8.8rem);
  line-height: .86;
  letter-spacing: -.075em;
  font-weight: 800;
}
.sl-home h2 {
  max-width: 13ch;
  font-size: clamp(2.35rem, 5vw, 5.4rem);
  line-height: .92;
  letter-spacing: -.055em;
  font-weight: 760;
}
.sl-home h3 { font-size: clamp(1.2rem, 2vw, 1.75rem); line-height: 1.08; letter-spacing: -.025em; }
.sl-home p, .sl-home li { font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.75; }
.sl-eyebrow {
  color: var(--sl-cyan);
  font-size: .76rem !important;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.sl-section-head { max-width: 58rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.sl-section-head p:not(.sl-eyebrow) { max-width: 44rem; color: var(--sl-muted); }
.sl-dark {
  background: #0f172a;
  color: #fff;
  background-image: radial-gradient(circle at 12% 0, rgba(0, 224, 255, .16), transparent 32%), linear-gradient(135deg, #06111f, #111827 62%, #0b1220);
}

.sl-home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; }
.wp-site-blocks > header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(6, 17, 31, .82);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  backdrop-filter: blur(22px);
}
.wp-site-blocks > header .wp-block-group { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation .wp-element-button {
  padding: .72rem 1rem;
  color: var(--sl-ink) !important;
  background: linear-gradient(135deg, var(--sl-cyan), #9befff);
  box-shadow: 0 .9rem 2rem rgba(0, 224, 255, .24);
}

.sl-home-hero {
  display: grid;
  min-height: min(92svh, 66rem);
  align-items: end;
  isolation: isolate;
  color: var(--sl-white);
  background: var(--sl-ink);
}
.sl-home-hero__image, .sl-home-hero__shade, .sl-home-hero__ambient { position: absolute; inset: 0; z-index: -3; }
.sl-home-hero__image {
  background-color: #26364b;
  background-position: center;
  background-size: cover;
  transform: scale(1.03);
  filter: saturate(.9) contrast(1.08);
}
.sl-home-hero__shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(6, 17, 31, .96), rgba(6, 17, 31, .8) 42%, rgba(6, 17, 31, .26)),
    linear-gradient(0deg, rgba(6, 17, 31, .98), rgba(6, 17, 31, .08) 38%);
}
.sl-home-hero__ambient {
  z-index: -1;
  background:
    radial-gradient(circle at 72% 30%, rgba(0, 224, 255, .22), transparent 23rem),
    radial-gradient(circle at 22% 74%, rgba(123, 97, 255, .28), transparent 28rem);
  mix-blend-mode: screen;
}
.sl-home-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(21rem, .72fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: end;
  padding-block: clamp(7rem, 13vw, 11rem) clamp(4rem, 9vw, 7rem);
}
.sl-home-hero__copy > p:not(.sl-eyebrow) { max-width: 46rem; color: rgba(255, 255, 255, .82); font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
.sl-hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; margin-top: 2rem; }

.wp-element-button, .sl-project-selector button, .sl-project-selector a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .9rem 1.35rem;
  border: 0;
  border-radius: 999px;
  background: #4a8cf7;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 1rem 2.5rem rgba(74,140,247,.32);
}
.wp-element-button:hover, .sl-project-selector button:hover, .sl-project-selector a:hover { background: #2563eb; color: #fff; transform: translateY(-1px); }
.sl-action { background: linear-gradient(135deg, var(--sl-cyan), var(--sl-blue)); color: var(--sl-ink) !important; box-shadow: 0 1.1rem 2.7rem rgba(0, 224, 255, .22); }
.sl-ghost-link, .sl-action-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: inherit;
  font-weight: 800;
  text-decoration: none;
}
.sl-ghost-link::after, .sl-action-link::after { content: "›"; margin-left: .45rem; transition: transform .18s ease; }
.sl-ghost-link:hover::after, .sl-action-link:hover::after { transform: translateX(.18rem); }

.sl-luxury-panel {
  border: 1px solid rgba(255, 255, 255, .18);
  background: linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, .34);
  backdrop-filter: blur(24px);
}
.sl-concierge-card {
  position: relative;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border-radius: 2rem;
  overflow: hidden;
}
.sl-concierge-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(0, 224, 255, .28), transparent 28%, rgba(255, 176, 0, .14));
}
.sl-card-kicker {
  display: inline-flex;
  margin-bottom: 1rem;
  padding: .42rem .7rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  color: rgba(255, 255, 255, .78);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sl-concierge-card h2 { max-width: 9ch; font-size: clamp(2rem, 4vw, 3.55rem); }
.sl-concierge-card p { color: rgba(255, 255, 255, .76); }
.sl-concierge-card__routes { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.6rem 0; }
.sl-concierge-card__routes span, .sl-service-list span {
  padding: .55rem .85rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .11);
  color: var(--sl-white);
  font-size: .9rem;
  font-weight: 760;
}
.sl-proof-ribbon {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  align-items: center;
  margin-top: 1.2rem;
  padding: 1rem;
  border-radius: 1.2rem;
  background: rgba(0, 224, 255, .12);
}
.sl-proof-ribbon strong { color: var(--sl-cyan); font-size: 2.2rem; line-height: 1; }
.sl-proof-ribbon span { color: rgba(255, 255, 255, .82); font-size: .95rem; line-height: 1.45; }

.sl-home-concierge { background: var(--sl-ink); color: var(--sl-white); overflow: hidden; }
.sl-home-concierge::before {
  content: "";
  position: absolute;
  inset: auto -18rem -20rem auto;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(123, 97, 255, .22), transparent 68%);
}
.sl-concierge-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 8vw, 7rem);
  align-items: center;
}
.sl-concierge-layout p:not(.sl-eyebrow) { color: rgba(255, 255, 255, .74); max-width: 39rem; }
.sl-orbit-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  position: relative;
  padding: clamp(1rem, 3vw, 1.4rem);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 2rem;
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)) padding-box,
    linear-gradient(135deg, rgba(0,224,255,.5), rgba(123,97,255,.35), rgba(255,176,0,.28)) border-box;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, .28);
}
.sl-orbit-card div {
  min-height: 9rem;
  padding: 1.25rem;
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, .08);
}
.sl-orbit-card span { display: block; color: var(--sl-cyan); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sl-orbit-card strong { display: block; margin-top: 2.5rem; color: var(--sl-white); font-size: clamp(1.05rem, 1.7vw, 1.45rem); line-height: 1.12; }

.sl-home-selector { background: #f3f0e9; background-image: linear-gradient(180deg, var(--sl-stone), #fff); }
.sl-service-list { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.4rem; }
.sl-service-list span { border-color: rgba(6, 17, 31, .12); background: var(--sl-white); color: var(--sl-ink); box-shadow: 0 .7rem 2rem rgba(6, 17, 31, .06); }
.sl-project-selector {
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid rgba(6, 17, 31, .08);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 85% 20%, rgba(0, 224, 255, .12), transparent 14rem),
    var(--sl-white);
  box-shadow: var(--sl-shadow);
}
.sl-project-selector__step { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.sl-project-selector__step p { flex-basis: 100%; margin-bottom: .25rem; font-weight: 800; }
.sl-project-selector__step[hidden] { display: none; }
.sl-project-selector__step + .sl-project-selector__step { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(6, 17, 31, .1); }

.sl-home-tiers { background: var(--sl-white); }
.sl-tier-grid, .sl-card-grid, .sl-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.sl-tier-grid article, .sl-card-grid article, .sl-choice-grid article {
  position: relative;
  min-height: 17rem;
  padding: clamp(1.35rem, 3.4vw, 2.4rem);
  border: 1px solid rgba(6, 17, 31, .1);
  border-radius: 1.6rem;
  background: linear-gradient(180deg, #fff, rgba(231, 239, 253, .62));
  box-shadow: 0 1.2rem 3rem rgba(6, 17, 31, .08);
}
.sl-tier-grid article:nth-child(2) { transform: translateY(-.8rem); background: linear-gradient(155deg, #071629, #13264a); color: var(--sl-white); }
.sl-tier-grid article:nth-child(2) p { color: rgba(255, 255, 255, .78); }
.sl-tier-grid span, .sl-choice-grid article span, .sl-steps span {
  display: inline-flex;
  margin-bottom: 1.1rem;
  color: var(--sl-blue);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sl-tier-grid p, .sl-card-grid p, .sl-choice-grid p { color: var(--sl-muted); }

.sl-home-tools { background: var(--sl-stone); }
.sl-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sl-card-grid article { min-height: 15rem; background: rgba(255, 255, 255, .76); }
.sl-action-link { color: var(--sl-blue); }

.sl-split {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2rem, 8vw, 8rem);
  align-items: start;
}
.sl-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sl-choice-grid article { min-height: 20rem; background: #fff; }

.sl-home-standards ul { margin: 0; padding: 0; list-style: none; }
.sl-home-standards li {
  display: grid;
  gap: .25rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.sl-home-standards li span { color: rgba(255, 255, 255, .7); }

.sl-home-connecticut { background: linear-gradient(145deg, var(--sl-mist), #fff); }
.sl-map-card {
  position: relative;
  min-height: 22rem;
  padding: clamp(1.6rem, 4vw, 3rem);
  border: 1px solid rgba(74, 140, 247, .18);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 30% 28%, rgba(0, 224, 255, .22), transparent 11rem),
    linear-gradient(145deg, #fff, #dfeaff);
  box-shadow: var(--sl-shadow);
}
.sl-map-card span {
  display: block;
  color: rgba(74, 140, 247, .18);
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 900;
  line-height: .76;
  letter-spacing: -.1em;
}
.sl-map-card p { max-width: 38rem; margin-top: 1.5rem; color: #334155; }

.sl-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}
.sl-steps li {
  padding: 1.5rem;
  border: 1px solid rgba(6, 17, 31, .1);
  border-radius: 1.35rem;
  background: #fff;
}
.sl-steps li p { color: var(--sl-muted); }
.sl-home-quality { background: var(--sl-stone); }
.sl-home-final { text-align: center; }
.sl-home-final h2 { margin-inline: auto; }
.sl-home-final .sl-action { margin-top: .8rem; }
.sl-disclosure { max-width: 48rem; margin: 3rem auto 0; color: rgba(255, 255, 255, .68); font-size: .9rem !important; }

.wp-site-blocks > footer {
  background: var(--sl-ink);
  color: var(--sl-white);
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.wp-site-blocks > footer .wp-block-group { padding-block: 2rem; }
.wp-site-blocks > footer p { color: rgba(255, 255, 255, .72); }

:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #4a8cf7; outline-offset: 3px; }

@media (max-width: 900px) {
  .sl-home-hero__content, .sl-concierge-layout, .sl-split, .sl-tier-grid, .sl-card-grid, .sl-choice-grid, .sl-steps { grid-template-columns: minmax(0, 1fr); }
  .sl-tier-grid article:nth-child(2) { transform: none; }
}

@media (max-width: 768px) {
  .sl-shell { width: min(100% - 1.25rem, 1240px); }
  .sl-home section { padding-block: clamp(3.75rem, 14vw, 5.4rem); }
  .sl-home h1 { font-size: clamp(3.35rem, 17vw, 5.2rem); }
  .sl-home-hero { min-height: auto; }
  .sl-home-hero__content { padding-block: 6rem 3.5rem; }
  .sl-home-hero__shade { background: linear-gradient(0deg, rgba(6, 17, 31, .98), rgba(6, 17, 31, .45)); }
  .sl-hero-actions { align-items: stretch; }
  .sl-hero-actions .wp-element-button, .sl-hero-actions .sl-ghost-link { width: 100%; justify-content: center; }
  .sl-project-selector__step { align-items: stretch; }
  .sl-project-selector button, .sl-project-selector a { width: 100%; }
  .sl-orbit-card { grid-template-columns: minmax(0, 1fr); }
  .sl-orbit-card div { min-height: 7rem; }
  .sl-orbit-card strong { margin-top: 1.2rem; }
  .wp-block-navigation__container { gap: .75rem; }
  .wp-block-navigation-item__content { font-size: .95rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Project Match Studio, approved 2026 07 24 */
:root {
  --sl-paper: #f5f2ec;
  --sl-cream: #fbfaf6;
  --sl-rose: #ec3d8f;
  --sl-hero-blue: #111072;
}

.sl-home-hero {
  min-height: auto;
  align-items: center;
  padding: clamp(1rem, 2vw, 1.8rem);
  color: var(--sl-hero-blue);
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .95), transparent 20rem),
    linear-gradient(145deg, #dfdee3, #f5f2ec 42%, #eceaf0);
}

.sl-studio-shell {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(1.25rem, 4vw, 4rem);
  position: relative;
  min-height: min(84svh, 50rem);
  align-items: center;
  width: min(100%, 1320px);
  padding: clamp(2rem, 5vw, 4.8rem);
  border: 1px solid rgba(17, 16, 114, .08);
  border-radius: clamp(2rem, 4vw, 3.5rem);
  background:
    linear-gradient(90deg, rgba(251, 250, 246, .95), rgba(251, 250, 246, .72) 42%, rgba(251, 250, 246, .24)),
    radial-gradient(circle at 70% 30%, rgba(74, 140, 247, .18), transparent 30rem),
    var(--sl-cream);
  box-shadow: 0 2rem 7rem rgba(15, 23, 42, .16);
  overflow: hidden;
}

.sl-studio-copy {
  position: relative;
  z-index: 3;
  max-width: 42rem;
}

.sl-studio-copy .sl-eyebrow {
  color: var(--sl-rose);
}

.sl-legacy-studio-copy h1 {
  max-width: 9.2ch;
  color: var(--sl-hero-blue);
  font-size: clamp(4.2rem, 8.6vw, 8.7rem);
  line-height: .84;
  letter-spacing: -.085em;
}

.sl-studio-copy p:not(.sl-eyebrow) {
  max-width: 35rem;
  color: rgba(17, 16, 114, .76);
  font-size: clamp(1.06rem, 1.35vw, 1.22rem);
}

.sl-match-bar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .65rem;
  align-items: center;
  max-width: 35rem;
  margin-top: 2rem;
  padding: .5rem;
  border: 1px solid rgba(17, 16, 114, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 1rem 3rem rgba(17, 16, 114, .12);
  backdrop-filter: blur(18px);
}

.sl-match-bar span {
  padding-left: 1rem;
  color: rgba(17, 16, 114, .58);
  font-size: .98rem;
  font-weight: 760;
}

.sl-match-bar .sl-action {
  background: linear-gradient(135deg, var(--sl-rose), #ff72bd);
  color: #fff !important;
  box-shadow: 0 .8rem 2rem rgba(236, 61, 143, .28);
}

.sl-studio-note {
  margin-top: 1rem;
  color: rgba(17, 16, 114, .56) !important;
  font-size: .95rem !important;
}

.sl-studio-visual {
  position: absolute;
  inset: 0 0 0 32%;
  z-index: 1;
}

.sl-studio-media {
  position: absolute;
  inset: 0;
  background-position: center right;
  background-size: cover;
  transform: scale(1.01);
}

.sl-floating-card,
.sl-studio-badge {
  position: absolute;
  z-index: 4;
  border: 1px solid rgba(255, 255, 255, .64);
  background: rgba(255, 255, 255, .7);
  box-shadow: 0 1.2rem 3rem rgba(17, 16, 114, .15);
  backdrop-filter: blur(18px);
}

.sl-floating-card {
  display: grid;
  gap: .18rem;
  width: min(15rem, 26vw);
  padding: .95rem 1rem;
  border-radius: 1.35rem;
}

.sl-floating-card span {
  color: var(--sl-rose);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sl-floating-card strong {
  color: var(--sl-hero-blue);
  font-size: clamp(.95rem, 1.3vw, 1.12rem);
  line-height: 1.12;
}

.sl-floating-card--trade {
  top: 18%;
  left: 31%;
}

.sl-floating-card--one {
  right: 7%;
  top: 13%;
}

.sl-floating-card--three {
  right: 6%;
  bottom: 18%;
}

.sl-studio-badge {
  display: grid;
  place-items: center;
  right: 24%;
  bottom: 9%;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 999px;
  text-align: center;
}

.sl-studio-badge strong {
  color: var(--sl-blue);
  font-size: 2.5rem;
  line-height: .8;
}

.sl-studio-badge span {
  max-width: 5.5rem;
  color: rgba(17, 16, 114, .62);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.1;
}

.sl-home-studio {
  background: linear-gradient(180deg, #fff, var(--sl-paper));
}

.sl-proof-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.5rem;
}

.sl-proof-strip span {
  padding: .68rem 1rem;
  border: 1px solid rgba(17, 16, 114, .1);
  border-radius: 999px;
  background: #fff;
  color: var(--sl-hero-blue);
  font-weight: 800;
  box-shadow: 0 .7rem 2rem rgba(17, 16, 114, .06);
}

@media (max-width: 900px) {
  .sl-studio-shell {
    grid-template-columns: minmax(0, 1fr);
    padding: clamp(1.4rem, 7vw, 2.5rem);
  }

  .sl-studio-visual {
    position: relative;
    inset: auto;
    min-height: 24rem;
    margin: 1rem -1rem -1rem;
    border-radius: 2rem;
    overflow: hidden;
  }

  .sl-legacy-studio-copy h1 {
    max-width: 10ch;
  }

  .sl-floating-card {
    width: min(13rem, 44vw);
  }
}

@media (max-width: 768px) {
  .sl-home-hero {
    padding: .75rem;
  }

  .sl-studio-shell {
    border-radius: 2rem;
    min-height: auto;
  }

  .sl-legacy-studio-copy h1 {
    font-size: clamp(3.45rem, 16vw, 5.4rem);
  }

  .sl-match-bar {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 1.4rem;
    padding: .75rem;
  }

  .sl-match-bar span {
    padding: .25rem .4rem 0;
  }

  .sl-match-bar .sl-action {
    width: 100%;
  }

  .sl-studio-visual {
    min-height: 20rem;
  }

  .sl-floating-card--trade {
    top: 7%;
    left: 4%;
  }

  .sl-floating-card--one {
    top: 8%;
    right: 4%;
  }

  .sl-floating-card--three {
    right: 4%;
    bottom: 8%;
  }

  .sl-studio-badge {
    left: 5%;
    right: auto;
    bottom: 8%;
    width: 5.7rem;
    height: 5.7rem;
  }

  .sl-studio-badge strong {
    font-size: 1.8rem;
  }
}

/* Premium header and hero correction, approved 2026 07 24 */
.wp-site-blocks > header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 60;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
}

.wp-site-blocks > header .wp-block-group {
  width: auto;
  margin-inline: 0;
}

.sl-header-stage {
  width: min(100% - 1.5rem, 1210px) !important;
  margin: 0 auto !important;
  padding-top: clamp(.8rem, 1.8vw, 1.35rem);
}

.wp-site-blocks > header .sl-header-stage {
  width: min(100% - 1.5rem, 1210px) !important;
  max-width: 1210px !important;
  margin-inline: auto !important;
}

.sl-site-header {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(.8rem, 2vw, 1.6rem);
  align-items: center;
  min-height: clamp(64px, 6vw, 78px);
  padding: .48rem .58rem .48rem clamp(.8rem, 1.5vw, 1.15rem);
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 1.4rem 4rem rgba(15, 23, 42, .14), inset 0 1px 0 rgba(255, 255, 255, .86);
  backdrop-filter: blur(24px) saturate(1.18);
}

.wp-site-blocks > header .sl-site-header {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

.sl-header-stage > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

.sl-brand {
  display: inline-flex;
  align-items: center;
  gap: .62rem;
  width: auto;
  margin: 0;
  color: var(--sl-hero-blue);
  text-decoration: none;
}

.sl-brand-mark {
  display: grid;
  place-items: center;
  width: 2.65rem;
  min-height: 2.65rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, var(--sl-cyan), var(--sl-blue));
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 .65rem 1.5rem rgba(74, 140, 247, .25);
}

.sl-brand-type {
  display: grid;
  gap: .04rem;
  color: var(--sl-hero-blue);
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .02em;
  line-height: .88;
}

.sl-brand-type span {
  color: var(--sl-blue);
  font-weight: 760;
}

.sl-brand-asset {
  position: absolute !important;
  width: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%);
}

.sl-main-nav {
  justify-content: center;
  color: var(--sl-hero-blue);
  font-size: .92rem;
  font-weight: 760;
}

.sl-main-nav .wp-block-navigation__container {
  gap: clamp(.55rem, 1.5vw, 1.15rem);
}

.sl-main-nav a {
  color: rgba(17, 16, 114, .72) !important;
  padding: .55rem .2rem;
}

.sl-main-nav a:hover {
  color: var(--sl-hero-blue) !important;
}

.sl-header-actions {
  margin: 0;
}

.sl-header-cta .wp-element-button {
  min-height: 50px;
  padding: .82rem 1.25rem;
  background: linear-gradient(135deg, var(--sl-hero-blue), #3127d4);
  color: #fff !important;
  box-shadow: 0 .95rem 2.3rem rgba(17, 16, 114, .22);
}

.sl-home-hero {
  min-height: min(94svh, 62rem);
  padding: clamp(5.8rem, 8.5vw, 7.8rem) clamp(.75rem, 1.8vw, 1.4rem) clamp(1rem, 2vw, 1.6rem);
  color: var(--sl-hero-blue);
  background:
    radial-gradient(circle at 82% 8%, rgba(74, 140, 247, .22), transparent 21rem),
    radial-gradient(circle at 12% 22%, rgba(236, 61, 143, .12), transparent 18rem),
    linear-gradient(145deg, #f7f4ee, #eceaf1 48%, #f8fafc);
}

.sl-hero-frame {
  display: grid;
  position: relative;
  min-height: min(82svh, 53rem);
  width: min(100%, 1340px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: clamp(2.2rem, 5vw, 4rem);
  background: var(--sl-cream);
  box-shadow: 0 2.4rem 7rem rgba(15, 23, 42, .16);
}

.sl-hero-bg,
.sl-hero-scrim {
  position: absolute;
  inset: 0;
}

.sl-hero-bg {
  background-position: center right;
  background-size: cover;
  transform: scale(1.015);
}

.sl-hero-scrim {
  background:
    linear-gradient(90deg, rgba(251, 250, 246, .98), rgba(251, 250, 246, .88) 34%, rgba(251, 250, 246, .22) 66%, rgba(251, 250, 246, .06)),
    radial-gradient(circle at 18% 24%, rgba(255, 255, 255, .86), transparent 18rem),
    linear-gradient(0deg, rgba(17, 16, 114, .12), transparent 42%);
}

.sl-hero-content {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(20rem, 1.04fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  position: relative;
  z-index: 2;
  align-items: center;
  padding: clamp(2.3rem, 5.6vw, 5.6rem);
}

.sl-hero-copy {
  max-width: 50rem;
}

.sl-hero-copy .sl-eyebrow {
  color: var(--sl-rose);
}

.sl-hero-copy h1 {
  max-width: 12.8ch;
  color: var(--sl-hero-blue);
  font-size: clamp(3.7rem, 7.35vw, 7.85rem);
  line-height: .9;
  letter-spacing: -.078em;
}

.sl-hero-copy p:not(.sl-eyebrow) {
  max-width: 39rem;
  color: rgba(17, 16, 114, .72);
  font-size: clamp(1.05rem, 1.25vw, 1.22rem);
}

.sl-hero-content .sl-studio-visual {
  position: relative;
  inset: auto;
  min-height: 34rem;
  z-index: 3;
}

.sl-hero-content .sl-floating-card,
.sl-hero-content .sl-studio-badge {
  background: rgba(255, 255, 255, .76);
  border-color: rgba(255, 255, 255, .72);
  box-shadow: 0 1.4rem 3.8rem rgba(17, 16, 114, .16);
}

.sl-hero-content .sl-floating-card {
  width: min(17rem, 29vw);
  padding: 1.05rem 1.1rem;
}

.sl-hero-content .sl-floating-card--trade {
  top: 17%;
  left: 4%;
}

.sl-hero-content .sl-floating-card--one {
  top: 11%;
  right: 4%;
}

.sl-hero-content .sl-floating-card--three {
  right: 8%;
  bottom: 15%;
}

.sl-hero-content .sl-studio-badge {
  left: 12%;
  right: auto;
  bottom: 12%;
}

.sl-hero-bottom-note {
  position: absolute;
  right: clamp(1.8rem, 4vw, 4rem);
  bottom: clamp(1.8rem, 4vw, 3.2rem);
  z-index: 4;
  max-width: 18rem;
  color: rgba(17, 16, 114, .68);
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .sl-site-header {
    grid-template-columns: auto auto;
  }

  .sl-main-nav {
    display: none;
  }

  .sl-hero-content {
    grid-template-columns: minmax(0, 1fr);
  }

  .sl-hero-scrim {
    background:
      linear-gradient(180deg, rgba(251, 250, 246, .98), rgba(251, 250, 246, .88) 48%, rgba(251, 250, 246, .18)),
      linear-gradient(0deg, rgba(17, 16, 114, .16), transparent 52%);
  }

  .sl-hero-content .sl-studio-visual {
    min-height: 26rem;
  }
}

@media (max-width: 768px) {
  .sl-header-stage {
    width: min(100% - .9rem, 1210px) !important;
    padding-top: .55rem;
  }

  .sl-site-header {
    min-height: 64px;
    padding: .42rem .45rem .42rem .75rem;
  }

  .sl-brand,
  .sl-brand img {
    width: auto !important;
  }

  .sl-brand-mark {
    width: 2.3rem;
    min-height: 2.3rem;
    border-radius: .82rem;
    font-size: 1.18rem;
  }

  .sl-brand-type {
    font-size: .76rem;
  }

  .sl-header-cta .wp-element-button {
    min-height: 46px;
    padding: .72rem .9rem;
    font-size: .86rem;
  }

  .sl-home-hero {
    padding: 5rem .55rem .75rem;
  }

  .sl-hero-frame {
    min-height: auto;
    border-radius: 2rem;
  }

  .sl-hero-content {
    gap: 1.1rem;
    padding: clamp(4.35rem, 18vw, 5.4rem) clamp(1.35rem, 6vw, 2rem) clamp(1.35rem, 6vw, 2rem);
  }

  .sl-hero-copy {
    max-width: min(100%, 21rem);
  }

  .sl-hero-copy h1 {
    max-width: 13.4ch;
    font-size: clamp(2.08rem, 8.7vw, 3rem);
    line-height: .92;
    letter-spacing: -.065em;
    text-wrap: balance;
  }

  .sl-hero-copy p:not(.sl-eyebrow) {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.62;
  }

  .sl-hero-content .sl-studio-visual {
    min-height: 18rem;
    margin-top: .2rem;
  }

  .sl-hero-content .sl-floating-card {
    width: min(13rem, 56vw);
    padding: .82rem .88rem;
  }

  .sl-hero-content .sl-floating-card--trade {
    top: 3%;
    left: 3%;
  }

  .sl-hero-content .sl-floating-card--one {
    top: 9%;
    right: 2%;
  }

  .sl-hero-content .sl-floating-card--three {
    right: 4%;
    bottom: 3%;
  }

  .sl-hero-content .sl-studio-badge {
    left: 5%;
    bottom: 4%;
  }

  .sl-hero-bottom-note {
    position: relative;
    right: auto;
    bottom: auto;
    max-width: none;
    padding: 0 clamp(1.35rem, 6vw, 2rem) 1.35rem;
  }
}
