:root {
  --sils-navy: var(--wp--preset--color--navy, #12373d);
  --sils-wide-size: var(--wp--style--global--wide-size, 1220px);
  --sils-header-wide-size: 1500px;
  --sils-shell-gutter: clamp(2rem, 6vw, 4rem);
  --sils-header-gutter: clamp(2rem, 5vw, 4rem);
  --sils-admin-bar-offset: 0px;
  --sils-ink: var(--wp--preset--color--ink, #16272d);
  --sils-teal: var(--wp--preset--color--teal, #0a8f86);
  --sils-aqua: var(--wp--preset--color--aqua, #4fc9bd);
  --sils-mint: var(--wp--preset--color--mint, #e7f7f3);
  --sils-cloud: var(--wp--preset--color--cloud, #f6f8f7);
  --sils-white: #fff;
  --sils-coral: var(--wp--preset--color--coral, #f66f5b);
  --sils-sun: var(--wp--preset--color--sun, #f2c75c);
  --sils-line: var(--wp--preset--color--line, #dde7e4);
  --sils-radius-sm: var(--wp--custom--radius--small, 12px);
  --sils-radius-md: var(--wp--custom--radius--medium, 20px);
  --sils-radius-lg: var(--wp--custom--radius--large, 32px);
  --sils-shadow-card: var(--wp--custom--shadow--card, 0 10px 30px rgba(18, 55, 61, 0.08));
  --sils-shadow-soft: var(--wp--custom--shadow--soft, 0 18px 50px rgba(18, 55, 61, 0.1));
  --sils-shadow-lift: var(--wp--custom--shadow--lift, 0 24px 70px rgba(18, 55, 61, 0.16));
  --sils-transition: 180ms ease;
}


html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

html.sils-admin-bar-hidden {
  margin-top: 0 !important;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

::selection {
  background: var(--sils-sun);
  color: var(--sils-navy);
}

a {
  text-underline-offset: 0.18em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--sils-sun);
  outline-offset: 3px;
}

.wp-site-blocks {
  padding-top: 0 !important;
  overflow: clip;
}

.wp-site-blocks > * {
  margin-block-start: 0 !important;
}

.wp-site-blocks > .wp-block-template-part:first-child,
.wp-site-blocks > header:first-child {
  margin-block-start: 0 !important;
}

.sils-skip-link {
  position: fixed;
  z-index: 99999;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-180%);
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: var(--sils-navy);
  color: #fff;
  font-weight: 700;
  transition: transform var(--sils-transition);
}

.sils-skip-link:focus {
  transform: translateY(0);
}

.sils-kicker,
.sils-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
  color: var(--sils-teal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sils-eyebrow::before {
  width: 1.6rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.sils-lead {
  max-width: 60ch;
  color: #40545a;
  font-size: clamp(1.08rem, 1.4vw, 1.24rem);
  line-height: 1.7;
}

.sils-section {
  position: relative;
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.sils-section--compact {
  padding-block: clamp(3rem, 5vw, 5rem);
}

.sils-section--cloud {
  background: var(--sils-cloud);
}

.sils-section--mint {
  background: var(--sils-mint);
}

.sils-section--navy {
  overflow: hidden;
  background: var(--sils-navy);
  color: rgba(255, 255, 255, 0.82);
}

.sils-section--navy h2,
.sils-section--navy h3,
.sils-section--navy h4,
.sils-section--navy .sils-kicker,
.sils-section--navy .sils-eyebrow {
  color: #fff;
}

.sils-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.55fr);
  gap: 2.5rem;
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.sils-section-heading h2,
.sils-section-heading p {
  margin: 0;
}

.sils-section-heading p {
  color: #52656b;
}

.sils-section--navy .sils-section-heading p {
  color: rgba(255, 255, 255, 0.72);
}

.sils-site-header {
  position: sticky;
  z-index: 1000;
  top: var(--sils-admin-bar-offset, 0px);
  width: 100%;
  border-bottom: 1px solid rgba(18, 55, 61, 0.08);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0 0 rgba(18, 55, 61, 0);
  backdrop-filter: blur(18px);
  transition: box-shadow var(--sils-transition), background var(--sils-transition);
}

.sils-site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 12px 36px rgba(18, 55, 61, 0.1);
}

/*
 * Header and footer backgrounds remain edge-to-edge. Their usable content is
 * centred in the same wide column as the page, with a responsive outer gutter.
 * Resetting direct-child block margins also prevents WordPress block spacing
 * from creating unwanted gaps around the header and footer rows.
 */
.sils-site-header,
.sils-site-footer {
  width: 100%;
  max-width: none !important;
}

.sils-site-header > *,
.sils-site-footer > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.sils-site-header .sils-topbar__inner,
.sils-site-header .sils-header-main {
  box-sizing: border-box;
  width: min(calc(100% - var(--sils-header-gutter)), var(--sils-header-wide-size)) !important;
  max-width: var(--sils-header-wide-size) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.sils-site-footer .sils-footer-main,
.sils-site-footer .sils-footer-bottom {
  box-sizing: border-box;
  width: min(calc(100% - var(--sils-shell-gutter)), var(--sils-wide-size)) !important;
  max-width: var(--sils-wide-size) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.sils-topbar {
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  min-height: 34px;
  background: var(--sils-navy);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.76rem;
  letter-spacing: 0.015em;
}

.sils-topbar a {
  color: #fff;
  text-decoration: none;
}

.sils-topbar__inner {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
}

.sils-topbar__details {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.25rem;
  align-items: center;
}

.sils-topbar__item {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
}

.sils-topbar__item svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: var(--sils-aqua);
}

.sils-header-main {
  display: grid;
  grid-template-columns: minmax(205px, auto) minmax(0, 1fr) auto;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
  min-height: 88px;
}

.sils-brand {
  display: inline-flex;
  gap: 0.72rem;
  align-items: center;
  color: var(--sils-navy);
  text-decoration: none;
  white-space: nowrap;
}

.sils-brand img {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
}

.sils-brand--custom {
  min-width: 0;
}

.sils-brand--custom .sils-brand__logo--custom {
  display: block;
  width: auto;
  max-width: 225px;
  height: auto;
  max-height: 60px;
  object-fit: contain;
  object-position: left center;
}

.sils-footer-brand .sils-brand--custom {
  padding: 0.45rem 0.6rem;
  border-radius: 12px;
  background: #fff;
}

.sils-footer-brand .sils-brand--custom .sils-brand__logo--custom {
  max-width: 210px;
  max-height: 64px;
  object-position: left center;
}

.sils-brand__text {
  display: grid;
  line-height: 1.05;
}

.sils-brand__name {
  font-family: var(--wp--preset--font-family--sil-display, "Segoe UI", sans-serif);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.sils-brand__tagline {
  margin-top: 0.28rem;
  color: #64757a;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sils-primary-nav {
  min-width: 0;
  justify-self: center;
  margin-top: 0px !important;
}

.sils-primary-nav .wp-block-navigation__container {
  flex-wrap: nowrap !important;
}

.sils-primary-nav .wp-block-navigation-item__content {
  position: relative;
  padding: 0.65rem 0.08rem;
  color: var(--sils-navy);
  font-size: 0.88rem;
  font-weight: 750;
  white-space: nowrap;
  text-decoration: none;
}

.sils-primary-nav .wp-block-navigation-item__content::after {
  position: absolute;
  right: 0.1rem;
  bottom: 0.35rem;
  left: 0.1rem;
  height: 2px;
  border-radius: 999px;
  background: var(--sils-teal);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--sils-transition);
}

.sils-primary-nav .wp-block-navigation-item__content:hover::after,
.sils-primary-nav .current-menu-item > .wp-block-navigation-item__content::after {
  transform: scaleX(1);
}

.sils-header-actions {
    Margin-top: 0px !important;
  display: flex;
  gap: 0.65rem;
  align-items: center;
  justify-self: end;
  white-space: nowrap;
}

.sils-header-actions .sils-header-cta {
  margin: 0;
}

.sils-header-ndis-logo {
  display: inline-flex;
  width: 142px;
  min-height: 56px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.48rem;
  border: 1px solid rgba(88, 37, 103, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(18, 55, 61, 0.08);
}

.sils-header-ndis-logo img {
  display: block;
  width: 128px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  image-rendering: auto;
}

.sils-header-cta .wp-block-button__link {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 46px;
  box-shadow: 0 9px 24px rgba(10, 143, 134, 0.2);
}

.sils-header-cta .wp-block-button__link::after,
.wp-block-button.is-style-sils-arrow .wp-block-button__link::after,
.sils-text-link::after {
  content: "\2192";
  transition: transform var(--sils-transition);
}

.sils-header-cta .wp-block-button__link:hover::after,
.wp-block-button.is-style-sils-arrow .wp-block-button__link:hover::after,
.sils-text-link:hover::after {
  transform: translateX(3px);
}

.wp-block-button__link,
.sils-submit {
  transition: transform var(--sils-transition), box-shadow var(--sils-transition), background var(--sils-transition), color var(--sils-transition);
}

.wp-block-button__link:hover,
.sils-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(10, 143, 134, 0.24);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border: 1.5px solid var(--sils-navy);
  background: transparent;
  color: var(--sils-navy);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--sils-navy);
  color: #fff;
}

.sils-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(2.8rem, 8vw, 2.8rem);
  background:
    radial-gradient(circle at 11% 16%, rgba(79, 201, 189, 0.16), transparent 28rem),
    radial-gradient(circle at 92% 17%, rgba(242, 199, 92, 0.18), transparent 24rem),
    linear-gradient(135deg, #f8fcfb 0%, #fff 60%, #f4fbf9 100%);
}

.sils-hero::before {
  position: absolute;
  z-index: -1;
  top: -8rem;
  right: -11rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(10, 143, 134, 0.12);
  border-radius: 50%;
  content: "";
}

.sils-hero::after {
  position: absolute;
  z-index: -1;
  bottom: -14rem;
  left: -10rem;
  width: 30rem;
  height: 30rem;
  border-radius: 45% 55% 54% 46%;
  background: rgba(231, 247, 243, 0.8);
  content: "";
  transform: rotate(28deg);
}

.sils-hero__grid {
  display: grid;
  width: min(1420px, calc(100% - 3rem));
  max-width: 1420px !important;
  margin-inline: auto;
  grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr);
  gap: clamp(2.25rem, 4vw, 4.5rem);
  align-items: center;
}

.sils-hero h1 {
  max-width: 11ch;
  margin: 0 0 1.4rem;
  color: var(--sils-navy);
  font-size: clamp(2.85rem, 6vw, 4.45rem);
}

.sils-hero h1 .sils-highlight {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: var(--sils-teal);
}



.sils-hero__copy > p {
  max-width: 58ch;
}

.sils-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.8rem;
}

.sils-hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.4rem;
  margin-top: 2rem;
  color: #4f6267;
  font-size: 0.9rem;
  font-weight: 700;
}

.sils-hero__proof span {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}

.sils-hero__proof span::before {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: 50%;
  background: var(--sils-mint);
  color: var(--sils-teal);
  content: "\2713";
  font-size: 0.7rem;
  font-weight: 900;
}

.sils-hero-art {
  position: relative;
  min-height: 500px;
}

.sils-hero-art__panel {
  position: absolute;
  inset: 1.2rem 0 1rem 0.8rem;
  overflow: hidden;
  border-radius: 40px;
  background: linear-gradient(145deg, var(--sils-navy), #0e5f5c);
  box-shadow: var(--sils-shadow-lift);
}

.sils-hero-art__panel::after {
  position: absolute;
  right: -5rem;
  bottom: -6rem;
  width: 19rem;
  height: 19rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  content: "";
}

.sils-hero-art__image {
  position: absolute;
  z-index: 1;
  inset: 1.8rem 1rem 0;
  display: flex;
  align-items: end;
  justify-content: center;
}

.sils-hero-art__image img {
  width: min(100%, 530px);
  filter: drop-shadow(0 24px 38px rgba(0, 0, 0, 0.18));
}

.sils-floating-card {
  position: absolute;
  z-index: 3;
  display: flex;
  gap: 0.78rem;
  align-items: center;
  min-width: 170px;
  padding: 0.95rem 1.05rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--sils-shadow-soft);
  color: var(--sils-navy);
  backdrop-filter: blur(12px);
}

.sils-floating-card strong,
.sils-floating-card small {
  display: block;
}

.sils-floating-card strong {
  font-size: 0.88rem;
  line-height: 1.2;
}

.sils-floating-card small {
  margin-top: 0.2rem;
  color: #69797d;
  font-size: 0.68rem;
  line-height: 1.2;
}

.sils-floating-card__icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 13px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-floating-card__icon svg {
  width: 22px;
  height: 22px;
}

.sils-floating-card--one {
  top: 0;
  left: 0;
}

.sils-floating-card--two {
  right: 0;
  bottom: 2.5rem;
}

.sils-floating-card--three {
  top: 4.8rem;
  right: -0.3rem;
}

.sils-floating-card--three .sils-floating-card__icon {
  background: #fff6db;
  color: #a97900;
}

.sils-trust {
  position: relative;
  z-index: 5;
  margin-top: -2rem;
}

.sils-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--sils-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
}

.sils-trust__item {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 1.35rem 1.4rem;
}

.sils-trust__item + .sils-trust__item::before {
  position: absolute;
  top: 22%;
  bottom: 22%;
  left: 0;
  width: 1px;
  background: var(--sils-line);
  content: "";
}

.sils-trust__icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: var(--sils-mint);
  color: var(--sils-teal);
  font-size: 0.78rem;
  font-weight: 850;
}

.sils-trust__item strong,
.sils-trust__item small {
  display: block;
}

.sils-trust__item strong {
  color: var(--sils-navy);
  font-size: 0.88rem;
  line-height: 1.2;
}

.sils-trust__item small {
  margin-top: 0.2rem;
  color: #6e7e82;
  font-size: 0.72rem;
  line-height: 1.35;
}

.sils-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.sils-split--reverse {
  grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1fr);
}

.sils-story-card {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  padding: clamp(2rem, 5vw, 3.2rem);
  border-radius: var(--sils-radius-lg);
  background: var(--sils-navy);
  box-shadow: var(--sils-shadow-soft);
  color: #fff;
}

.sils-story-card::before {
  position: absolute;
  top: -7rem;
  right: -7rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 50%;
  content: "";
}

.sils-story-card::after {
  position: absolute;
  right: -1rem;
  bottom: -3rem;
  width: 14rem;
  height: 14rem;
  border-radius: 45% 55% 65% 35%;
  background: rgba(79, 201, 189, 0.13);
  content: "";
  transform: rotate(-20deg);
}

.sils-story-card blockquote {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff;
  font-family: var(--wp--preset--font-family--sil-display, "Segoe UI", sans-serif);
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  font-weight: 730;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.sils-story-card blockquote::before {
  display: block;
  margin-bottom: 1.2rem;
  color: var(--sils-sun);
  content: "\201C";
  font-size: 5rem;
  line-height: 0.6;
}

.sils-story-card__footer {
  position: absolute;
  z-index: 2;
  right: clamp(2rem, 5vw, 3.2rem);
  bottom: clamp(1rem, 5vw, 1rem);
  left: clamp(2rem, 5vw, 3.2rem);
  display: flex;
  gap: 0.85rem;
  align-items: center;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.82rem;
  font-weight: 700;
}

.sils-story-card__footer::before {
  width: 2.2rem;
  height: 2px;
  background: var(--sils-aqua);
  content: "";
}

.sils-feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1.1rem;
  padding: 0;
  margin: 1.7rem 0 0;
  list-style: none;
}

.sils-feature-list li,
.wp-block-list.is-style-sils-checks li {
  position: relative;
  padding-left: 1.9rem;
}

.sils-feature-list li::before,
.wp-block-list.is-style-sils-checks li::before {
  position: absolute;
  top: 0.15rem;
  left: 0;
  display: grid;
  width: 1.2rem;
  height: 1.2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--sils-mint);
  color: var(--sils-teal);
  content: "\2713";
  font-size: 0.65rem;
  font-weight: 900;
}

.wp-block-list.is-style-sils-checks {
  padding-left: 0;
  list-style: none;
}

.sils-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.sils-service-card {
  position: relative;
  display: flex;
  min-height: 325px;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2rem);
  border: 1px solid var(--sils-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 2px 0 rgba(18, 55, 61, 0.02);
  transition: transform var(--sils-transition), border-color var(--sils-transition), box-shadow var(--sils-transition);
}

.sils-service-card:hover {
  z-index: 1;
  border-color: rgba(10, 143, 134, 0.38);
  box-shadow: var(--sils-shadow-soft);
  transform: translateY(-7px);
}

.sils-service-card::after {
  position: absolute;
  right: 1.4rem;
  bottom: 1.35rem;
  color: var(--sils-teal);
  content: "\2192";
  font-size: 1.3rem;
  transition: transform var(--sils-transition);
}

.sils-service-card:hover::after {
  transform: translateX(4px);
}

.sils-card-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin-bottom: 1.5rem;
  border-radius: 18px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-card-icon--coral {
  background: #fff0ec;
  color: var(--sils-coral);
}

.sils-card-icon--sun {
  background: #fff7dc;
  color: #9a6d00;
}

.sils-card-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.8;
}

.sils-service-card h3 {
  margin: 0 0 0.8rem;
}

.sils-service-card p {
  margin: 0 0 1.4rem;
  color: #5a6b70;
  font-size: 0.94rem;
}

.sils-service-card a {
  position: relative;
  z-index: 2;
  margin-top: auto;
  color: var(--sils-navy);
  font-size: 0.85rem;
  font-weight: 800;
  text-decoration: none;
}

.sils-support-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.sils-support-panel::before {
  position: absolute;
  z-index: -1;
  top: -10rem;
  left: -18rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  content: "";
}

.sils-support-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.sils-support-list__item {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  min-height: 70px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.065);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 720;
  backdrop-filter: blur(8px);
}

.sils-support-list__item::before {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 9px;
  background: var(--sils-aqua);
  color: var(--sils-navy);
  content: "\2713";
  font-size: 0.72rem;
  font-weight: 900;
}

.sils-visual-card {
  position: relative;
  min-height: 490px;
  overflow: hidden;
  border-radius: var(--sils-radius-lg);
  background: linear-gradient(145deg, #dff4ef, #fff);
  box-shadow: var(--sils-shadow-soft);
}

.sils-visual-card img {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 94%;
  object-fit: contain;
}

.sils-visual-card__badge {
  position: absolute;
  z-index: 2;
  top: 1.3rem;
  left: 1.3rem;
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  padding: 0.65rem 0.85rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
  color: var(--sils-navy);
  font-size: 0.72rem;
  font-weight: 800;
}

.sils-activity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.5rem;
}

.sils-activity-chip {
  padding: 0.58rem 0.8rem;
  border: 1px solid var(--sils-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  font-size: 0.78rem;
  font-weight: 720;
}

.sils-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  counter-reset: sils-step;
}

.sils-process-step {
  position: relative;
  min-height: 270px;
  padding: 1.8rem;
  border: 1px solid var(--sils-line);
  border-radius: 22px;
  background: #fff;
  counter-increment: sils-step;
}

.sils-process-step::before {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 2.4rem;
  border-radius: 15px;
  background: var(--sils-navy);
  color: #fff;
  content: "0" counter(sils-step);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.sils-process-step:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 41px;
  right: -1.05rem;
  width: 1.05rem;
  border-top: 2px dashed rgba(10, 143, 134, 0.45);
  content: "";
}

.sils-process-step h3 {
  margin: 0 0 0.75rem;
}

.sils-process-step p {
  margin: 0;
  color: #5b6c71;
}

.sils-region-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.sils-region-visual {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border-radius: var(--sils-radius-lg);
  background: linear-gradient(155deg, var(--sils-navy), #0b6864);
  box-shadow: var(--sils-shadow-soft);
}

.sils-region-visual img {
  position: absolute;
  inset: 1.5rem;
  width: calc(100% - 3rem);
  height: calc(100% - 3rem);
  object-fit: contain;
}

.sils-region-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.sils-region-card {
  padding: 1.35rem;
  border: 1px solid var(--sils-line);
  border-radius: 18px;
  background: #fff;
}

.sils-region-card__top {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

.sils-region-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.sils-status {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: var(--sils-mint);
  color: var(--sils-teal);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sils-status--expanding {
  background: #fff5da;
  color: #886000;
}

.sils-region-card p {
  margin: 0.65rem 0 0;
  color: #617176;
  font-size: 0.82rem;
}

.sils-post-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.sils-post-card {
  display: flex;
  height: 100%;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--sils-line);
  border-radius: 22px;
  background: #fff;
  transition: transform var(--sils-transition), box-shadow var(--sils-transition), border-color var(--sils-transition);
}

.sils-post-card:hover {
  border-color: rgba(10, 143, 134, 0.35);
  box-shadow: var(--sils-shadow-soft);
  transform: translateY(-6px);
}

.sils-post-card .wp-block-post-featured-image {
  overflow: hidden;
  min-height: 185px;
  margin: 0;
  background:
    linear-gradient(135deg, rgba(10, 143, 134, 0.85), rgba(18, 55, 61, 0.95)),
    radial-gradient(circle at 80% 20%, var(--sils-sun), transparent 25%);
}

.sils-post-card .wp-block-post-featured-image img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 400ms ease;
}

.sils-post-card:hover .wp-block-post-featured-image img {
  transform: scale(1.035);
}

.sils-post-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.35rem;
}

.sils-post-card .wp-block-post-date {
  color: var(--sils-teal);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.sils-post-card .wp-block-post-title {
  margin: 0.55rem 0 0.7rem;
  font-size: 1.25rem;
  line-height: 1.25;
}

.sils-post-card .wp-block-post-title a {
  color: var(--sils-navy);
  text-decoration: none;
}

.sils-post-card .wp-block-post-excerpt {
  margin-bottom: 1rem;
  color: #5c6c71;
  font-size: 0.86rem;
}

.sils-post-card .wp-block-post-excerpt__more-link {
  color: var(--sils-navy);
  font-weight: 800;
  text-decoration: none;
}

.sils-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(3.8rem, 7vw, 6.3rem);
  background: linear-gradient(135deg, var(--sils-navy), #0d5d59);
  color: rgba(255, 255, 255, 0.82);
}

.sils-cta::before,
.sils-cta::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
}

.sils-cta::before {
  top: -10rem;
  right: -5rem;
  width: 24rem;
  height: 24rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.sils-cta::after {
  bottom: -9rem;
  left: 8%;
  width: 18rem;
  height: 18rem;
  background: rgba(79, 201, 189, 0.1);
}

.sils-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.sils-cta h2 {
  max-width: 50ch;
  margin: 0 0 0.8rem;
  color: #fff;
}

.sils-cta p {
  max-width: 58ch;
  margin: 0;
}

.sils-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.sils-cta .wp-block-button__link {
  background: var(--sils-coral);
  color: #fff;
}

.sils-cta .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}

.sils-cta .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #fff;
  color: var(--sils-navy);
}

.sils-page-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4.2rem, 8vw, 7.5rem);
  background: linear-gradient(145deg, var(--sils-navy), #0c5b58);
  color: rgba(255, 255, 255, 0.8);
}

.sils-page-hero::after {
  position: absolute;
  top: -14rem;
  right: -8rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  content: "";
}

.sils-page-hero .sils-eyebrow,
.sils-page-hero h1,
.sils-page-hero h2 {
  color: #fff;
}

.sils-page-hero h1 {
  max-width: 26ch;
  margin: 0 0 1.2rem;
  font-size: clamp(2.65rem, 6vw, 3.45rem);
}

.sils-page-hero p {
  max-width: 64ch;
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
}

.sils-breadcrumb {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.78rem;
  font-weight: 700;
}

.sils-breadcrumb a {
  color: #fff;
  text-decoration: none;
}

.sils-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 2.5rem;
}

.sils-stat {
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  backdrop-filter: blur(7px);
}

.sils-stat strong,
.sils-stat small {
  display: block;
}

.sils-stat strong {
  font-size: 0.92rem;
}

.sils-stat small {
  margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.68rem;
}

.sils-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.sils-value-card {
  padding: 1.55rem;
  border: 1px solid var(--sils-line);
  border-radius: 20px;
  background: #fff;
}

.sils-value-card h3 {
  margin: 0.85rem 0 0.55rem;
  font-size: 1.15rem;
}

.sils-value-card p {
  margin: 0;
  color: #5c6d72;
  font-size: 0.88rem;
}

.sils-contact-layout,
.sils-intake-layout {
  display: grid;
  grid-template-columns: minmax(270px, 0.48fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.sils-contact-card {
  position: sticky;
  top: 9rem;
  overflow: hidden;
  padding: 1.8rem;
  border-radius: 24px;
  background: var(--sils-navy);
  box-shadow: var(--sils-shadow-soft);
  color: rgba(255, 255, 255, 0.75);
}

.sils-contact-card h2,
.sils-contact-card h3 {
  color: #fff;
}

.sils-contact-card a {
  color: #fff;
}

.sils-contact-list {
  display: grid;
  gap: 0.8rem;
  padding: 0;
  margin: 1.5rem 0 0;
  list-style: none;
}

.sils-contact-list li {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: start;
}

.sils-contact-list__icon {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  border-radius: 11px;
  background: rgba(79, 201, 189, 0.16);
  color: var(--sils-aqua);
}

.sils-contact-list strong,
.sils-contact-list span {
  display: block;
}

.sils-contact-list strong {
  color: #fff;
  font-size: 0.76rem;
}

.sils-contact-list span {
  margin-top: 0.15rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8rem;
  line-height: 1.45;
}

.sils-form-wrap {
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--sils-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
}

.sils-form {
  display: grid;
  gap: 1.25rem;
}

.sils-form-grid {
  display: grid;
  gap: 1rem;
}

.sils-form-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sils-field {
  display: grid;
  gap: 0.45rem;
}

.sils-field label,
.sils-fieldset legend {
  color: var(--sils-navy);
  font-size: 0.82rem;
  font-weight: 780;
}

.sils-field input,
.sils-field select,
.sils-field textarea {
  width: 100%;
  min-height: 50px;
  border: 1px solid #cddad7;
  border-radius: 12px;
  background: #fff;
  color: var(--sils-ink);
  font: inherit;
  font-size: 0.92rem;
  transition: border-color var(--sils-transition), box-shadow var(--sils-transition);
}

.sils-field input,
.sils-field select {
  padding: 0.75rem 0.85rem;
}

.sils-field textarea {
  min-height: 150px;
  padding: 0.85rem;
  resize: vertical;
}

.sils-field input:focus,
.sils-field select:focus,
.sils-field textarea:focus {
  border-color: var(--sils-teal);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(10, 143, 134, 0.12);
}

.sils-field-help {
  margin: 0;
  color: #6b7a7f;
  font-size: 0.72rem;
}

.sils-fieldset {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--sils-line);
  border-radius: 16px;
}

.sils-fieldset legend {
  padding: 0 0.4rem;
  font-size: 0.9rem;
}

.sils-consent {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  color: #4f6166;
  font-size: 0.78rem;
  line-height: 1.5;
}

.sils-consent input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin-top: 0.1rem;
  accent-color: var(--sils-teal);
}

.sils-submit {
  justify-self: start;
  min-height: 50px;
  padding: 0.85rem 1.45rem;
  border: 0;
  border-radius: 999px;
  background: var(--sils-teal);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
}

.sils-submit:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.sils-form-message {
  margin-bottom: 1.2rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 700;
}

.sils-form-message--success {
  border: 1px solid #9bd6ca;
  background: var(--sils-mint);
  color: #075e57;
}

.sils-form-message--error {
  border: 1px solid #efb3a8;
  background: #fff0ec;
  color: #923626;
}

.sils-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

.sils-blog-hero {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: var(--sils-mint);
}

.sils-blog-hero h1 {
  max-width: 15ch;
  margin: 0 0 1rem;
}

.sils-content-shell {
  padding-block: clamp(3.5rem, 7vw, 7rem);
}

.sils-entry-header {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

.sils-entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  justify-content: center;
  color: #6b7b7f;
  font-size: 0.78rem;
}

.sils-entry-featured {
  max-width: 1080px;
  margin: 2.4rem auto 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--sils-shadow-soft);
}

.sils-entry-featured img {
  width: 100%;
  max-height: 640px;
  object-fit: cover;
}

.sils-entry-content {
  max-width: 760px;
  margin: 3rem auto 0;
}

.sils-entry-content > * + * {
  margin-block-start: 1.35rem;
}

.sils-entry-content h2,
.sils-entry-content h3 {
  margin-block-start: 2.3rem;
}

.sils-entry-content a {
  font-weight: 650;
}

.sils-entry-content blockquote {
  border-radius: 18px;
}

.wp-block-query-pagination {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid var(--sils-line);
  border-radius: 12px;
  background: #fff;
  color: var(--sils-navy);
  font-size: 0.8rem;
  font-weight: 750;
  text-decoration: none;
}

.wp-block-query-pagination .current {
  border-color: var(--sils-teal);
  background: var(--sils-teal);
  color: #fff;
}

.sils-not-found {
  display: grid;
  min-height: 62vh;
  place-items: center;
  padding-block: 5rem;
  text-align: center;
}

.sils-not-found__code {
  color: var(--sils-aqua);
  font-size: clamp(5rem, 15vw, 10rem);
  font-weight: 850;
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.sils-site-footer {
  background: #0d292e;
  color: rgba(255, 255, 255, 0.68);
}

.sils-footer-main {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(150px, 0.55fr) minmax(180px, 0.65fr) minmax(220px, 0.9fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  padding-block: clamp(3.8rem, 7vw, 6rem);
}

.sils-footer-brand .sils-brand {
  color: #fff;
}

.sils-footer-brand .sils-brand__tagline {
  color: rgba(255, 255, 255, 0.54);
}

.sils-footer-brand > p {
  max-width: 36ch;
  margin-top: 1.2rem;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.86rem;
}

.sils-site-footer h2,
.sils-site-footer h3,
.sils-site-footer h4 {
  color: #fff;
}

.sils-footer-column h3 {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.sils-footer-links {
  display: grid;
  gap: 0.55rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.sils-footer-links a {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.8rem;
  text-decoration: none;
}

.sils-footer-links a:hover {
  color: #fff;
}

.sils-footer-contact {
  display: grid;
  gap: 0.75rem;
  font-size: 0.8rem;
}

.sils-footer-contact a {
  color: #fff;
}

.sils-footer-bottom {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding-block: 1.1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.7rem;
}

.sils-footer-bottom p {
  margin: 0;
}

.sils-footer-bottom a {
  color: rgba(255, 255, 255, 0.68);
  text-decoration: none;
}

.js .sils-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.js .sils-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.editor-styles-wrapper .sils-site-header {
  position: relative;
  top: auto;
}

.editor-styles-wrapper .sils-reveal {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 1080px) {
  .sils-header-main {
    grid-template-columns: auto 1fr auto;
  }

  .sils-header-actions,
  .sils-header-cta {
    display: none;
  }

  .sils-hero__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(2rem, 4vw, 3rem);
  }

  .sils-hero-art {
    min-height: 450px;
  }

  .sils-card-grid,
  .sils-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .sils-topbar__regions {
    display: none;
  }

  .sils-header-main {
    min-height: 76px;
  }

  .sils-brand__tagline {
    display: none;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 1.5rem;
    background: var(--sils-navy);
    color: #fff;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #fff;
    font-size: 1.25rem;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-open,
  .sils-primary-nav .wp-block-navigation__responsive-container-close {
    color: var(--sils-navy);
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    color: #fff;
  }

  .sils-hero__grid,
  .sils-split,
  .sils-split--reverse,
  .sils-support-panel,
  .sils-region-layout,
  .sils-contact-layout,
  .sils-intake-layout {
    grid-template-columns: 1fr;
  }

  .sils-hero h1 {
    max-width: 13ch;
  }

  .sils-hero-art {
    width: min(100%, 620px);
    margin-inline: auto;
  }

  .sils-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-trust__item:nth-child(3)::before {
    display: none;
  }

  .sils-trust__item:nth-child(n+3) {
    border-top: 1px solid var(--sils-line);
  }

  .sils-section-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .sils-process-grid,
  .sils-post-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-process-step:last-child {
    grid-column: 1 / -1;
  }

  .sils-process-step:nth-child(2)::after {
    display: none;
  }

  .sils-region-visual {
    min-height: 360px;
  }

  .sils-cta__inner {
    grid-template-columns: 1fr;
  }

  .sils-cta__actions {
    justify-content: flex-start;
  }

  .sils-contact-card {
    position: static;
  }
}

@media (max-width: 620px) {
  .sils-topbar__inner {
    justify-content: center;
  }

  .sils-topbar__item--email {
    display: none;
  }

  .sils-brand img {
    width: 39px;
    height: 39px;
  }

  .sils-brand__name {
    font-size: 1.02rem;
  }

  .sils-hero {
    padding-top: 4rem;
  }

  .sils-hero__grid {
    width: min(100% - 2rem, 620px);
  }

  .sils-hero-art {
    min-height: 390px;
  }

  .sils-hero-art__panel {
    inset: 1.4rem 0.5rem 1rem 1rem;
    border-radius: 28px;
  }

  .sils-floating-card {
    min-width: 145px;
    padding: 0.72rem;
  }

  .sils-floating-card--three {
    display: none;
  }

  .sils-floating-card--two {
    right: 0;
    bottom: 0.5rem;
  }

  .sils-trust {
    margin-top: -1rem;
  }

  .sils-trust__grid,
  .sils-card-grid,
  .sils-value-grid,
  .sils-process-grid,
  .sils-post-grid .wp-block-post-template,
  .sils-region-cards,
  .sils-form-grid--two,
  .sils-stat-row,
  .sils-footer-main {
    grid-template-columns: 1fr;
  }

  .sils-trust__item + .sils-trust__item::before {
    display: none;
  }

  .sils-trust__item:nth-child(n+2) {
    border-top: 1px solid var(--sils-line);
  }

  .sils-feature-list,
  .sils-support-list {
    grid-template-columns: 1fr;
  }

  .sils-service-card {
    min-height: 280px;
  }

  .sils-process-step,
  .sils-process-step:last-child {
    grid-column: auto;
  }

  .sils-process-step::after {
    display: none;
  }

  .sils-page-hero h1 {
    font-size: clamp(2.45rem, 13vw, 3.7rem);
  }

  .sils-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .js .sils-reveal {
    opacity: 1;
    transform: none;
  }
}

@media print {
  .sils-site-header,
  .sils-site-footer,
  .sils-cta,
  .sils-submit,
  .wp-block-buttons {
    display: none !important;
  }

  body {
    color: #000;
    background: #fff;
  }

  a {
    color: #000;
  }
}

/* --------------------------------------------------------------------------
 * Group homes and NDIS accommodation directory
 * -------------------------------------------------------------------------- */

.sils-primary-nav .wp-block-navigation__container {
  gap: clamp(0.65rem, 1.35vw, 1.25rem);
}

.sils-homes-archive .alignwide,
.sils-home-single .alignwide {
  width: min(calc(100% - var(--sils-shell-gutter)), var(--sils-wide-size));
  max-width: var(--sils-wide-size);
  margin-inline: auto;
}

.sils-homes-archive,
.sils-home-single {
  background: #fff;
}

.sils-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  color: #66787d;
  font-size: 0.78rem;
  line-height: 1.4;
}

.sils-breadcrumbs a {
  color: var(--sils-teal);
  font-weight: 700;
  text-decoration: none;
}

.sils-breadcrumbs a:hover {
  color: var(--sils-navy);
  text-decoration: underline;
}

.sils-homes-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(3.8rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 85% 15%, rgba(79, 201, 189, 0.2), transparent 28rem),
    linear-gradient(135deg, #f1fbf8 0%, #fff 60%, #fff8ef 100%);
}

.sils-homes-hero::before,
.sils-homes-hero::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
}

.sils-homes-hero::before {
  top: -12rem;
  right: -9rem;
  width: 30rem;
  height: 30rem;
  border: 1px solid rgba(10, 143, 134, 0.12);
}

.sils-homes-hero::after {
  bottom: -10rem;
  left: -8rem;
  width: 24rem;
  height: 24rem;
  background: rgba(242, 199, 92, 0.09);
}

.sils-homes-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.46fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: end;
}

.sils-homes-hero__inner .sils-breadcrumbs {
  grid-column: 1 / -1;
}

.sils-homes-hero__copy h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2.7rem, 5.6vw, 5.4rem);
}

.sils-homes-hero__copy > p:last-child {
  max-width: 62ch;
  margin: 1.4rem 0 0;
  color: #43595f;
  font-size: clamp(1.05rem, 1.35vw, 1.24rem);
  line-height: 1.72;
}

.sils-homes-hero__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 1.35rem;
  border: 1px solid rgba(10, 143, 134, 0.2);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--sils-shadow-card);
  backdrop-filter: blur(12px);
}

.sils-homes-hero__note > svg {
  width: 24px;
  height: 24px;
  color: var(--sils-teal);
}

.sils-homes-hero__note p {
  margin: 0;
  color: #4a5f64;
  font-size: 0.82rem;
  line-height: 1.6;
}

.sils-homes-hero__note strong {
  color: var(--sils-navy);
}

.sils-homes-directory {
  padding-block: clamp(3rem, 6vw, 6rem) clamp(5rem, 8vw, 8rem);
}

.sils-home-locations {
  display: grid;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
}

.sils-home-locations__label {
  color: var(--sils-navy);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sils-home-locations__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.sils-home-locations__links a {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 40px;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--sils-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  font-size: 0.8rem;
  font-weight: 750;
  text-decoration: none;
  transition: border-color var(--sils-transition), background var(--sils-transition), transform var(--sils-transition);
}

.sils-home-locations__links a span {
  display: grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: var(--sils-cloud);
  color: #5a6d72;
  font-size: 0.7rem;
}

.sils-home-locations__links a:hover,
.sils-home-locations__links a.is-active {
  border-color: var(--sils-teal);
  background: var(--sils-mint);
  transform: translateY(-1px);
}

.sils-home-filters {
  margin-bottom: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--sils-line);
  border-radius: 24px;
  background: var(--sils-cloud);
  box-shadow: var(--sils-shadow-card);
}

.sils-home-filters__heading {
  display: flex;
  gap: 1rem;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.sils-home-filters__heading h2,
.sils-home-filters__heading p {
  margin: 0;
}

.sils-home-filters__heading h2 {
  font-size: 1.35rem;
}

.sils-home-filters__heading p {
  margin-top: 0.25rem;
  color: #64767b;
  font-size: 0.8rem;
}

.sils-home-filters__heading > a {
  color: var(--sils-teal);
  font-size: 0.78rem;
  font-weight: 750;
}

.sils-home-filters__grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) repeat(4, minmax(150px, 0.8fr)) auto;
  gap: 0.85rem;
  align-items: end;
}

.sils-home-filter {
  display: grid;
  min-width: 0;
  gap: 0.4rem;
}

.sils-home-filter > span {
  color: var(--sils-navy);
  font-size: 0.72rem;
  font-weight: 800;
}

.sils-home-filter input,
.sils-home-filter select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0.7rem 0.8rem;
  border: 1px solid #cad9d6;
  border-radius: 11px;
  background: #fff;
  color: var(--sils-ink);
  font: inherit;
  font-size: 0.8rem;
}

.sils-home-filter input:focus,
.sils-home-filter select:focus {
  border-color: var(--sils-teal);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(10, 143, 134, 0.11);
}

.sils-home-filters__submit,
.sils-home-button {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.72rem 1.1rem;
  border: 1px solid var(--sils-teal);
  border-radius: 999px;
  background: var(--sils-teal);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: background var(--sils-transition), border-color var(--sils-transition), color var(--sils-transition), transform var(--sils-transition), box-shadow var(--sils-transition);
}

.sils-home-filters__submit svg,
.sils-home-button svg {
  width: 18px;
  height: 18px;
}

.sils-home-filters__submit:hover,
.sils-home-button:hover {
  border-color: var(--sils-navy);
  background: var(--sils-navy);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(18, 55, 61, 0.16);
}

.sils-home-button--outline {
  border-color: var(--sils-navy);
  background: transparent;
  color: var(--sils-navy);
}

.sils-home-button--text {
  min-height: auto;
  padding: 0.4rem 0.1rem;
  border-color: transparent;
  background: transparent;
  color: var(--sils-teal);
  box-shadow: none;
}

.sils-home-button--text:hover {
  border-color: transparent;
  background: transparent;
  color: var(--sils-navy);
  box-shadow: none;
}

.sils-home-results-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.48fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.sils-home-results-heading .sils-eyebrow {
  margin-bottom: 0.65rem;
}

.sils-home-results-heading h2,
.sils-home-results-heading > p {
  margin: 0;
}

.sils-home-results-heading h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.sils-home-results-heading > p {
  color: #66787d;
  font-size: 0.84rem;
  line-height: 1.6;
}

.sils-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.6rem);
}

.sils-home-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid var(--sils-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
  transition: border-color var(--sils-transition), box-shadow var(--sils-transition), transform var(--sils-transition);
}

.sils-home-card:hover {
  border-color: rgba(10, 143, 134, 0.35);
  box-shadow: var(--sils-shadow-lift);
  transform: translateY(-5px);
}

.sils-home-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--sils-mint);
}

.sils-home-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.sils-home-card:hover .sils-home-card__image {
  transform: scale(1.025);
}

.sils-home-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
  gap: 0.7rem;
  background:
    radial-gradient(circle at 30% 20%, rgba(79, 201, 189, 0.28), transparent 11rem),
    linear-gradient(135deg, var(--sils-mint), #fff);
  color: var(--sils-navy);
  text-align: center;
}

.sils-home-card__placeholder svg {
  width: 55px;
  height: 55px;
  margin-inline: auto;
  color: var(--sils-teal);
}

.sils-home-card__placeholder span {
  font-size: 0.78rem;
  font-weight: 750;
}

.sils-home-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.38rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.015em;
  line-height: 1.2;
}

.sils-home-card__media .sils-home-status {
  position: absolute;
  top: 0.9rem;
  left: 0.9rem;
  box-shadow: 0 8px 20px rgba(18, 55, 61, 0.15);
}

.sils-home-status--available {
  background: #dff8e9;
  color: #0b6139;
}

.sils-home-status--coming_soon {
  background: #e6f1ff;
  color: #1c527d;
}

.sils-home-status--waitlist {
  background: #fff2c7;
  color: #705100;
}

.sils-home-status--occupied {
  background: rgba(18, 55, 61, 0.9);
  color: #fff;
}

.sils-home-card__body {
  display: flex;
  min-height: 100%;
  flex: 1;
  flex-direction: column;
  padding: 1.25rem;
}

.sils-home-card__location,
.sils-home-single__location {
  display: flex;
  gap: 0.4rem;
  align-items: flex-start;
  margin: 0;
  color: #65777c;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.45;
}

.sils-home-card__location svg,
.sils-home-single__location svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 0.08rem;
  color: var(--sils-teal);
}

.sils-home-card h3 {
  margin: 0.7rem 0 0;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.15;
}

.sils-home-card h3 a {
  color: var(--sils-navy);
  text-decoration: none;
}

.sils-home-card h3 a:hover {
  color: var(--sils-teal);
}

.sils-home-card__excerpt {
  margin: 0.75rem 0 0;
  color: #566a70;
  font-size: 0.82rem;
  line-height: 1.62;
}

.sils-home-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.85rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sils-line);
}

.sils-home-card__specs span {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: #4f6268;
  font-size: 0.72rem;
  font-weight: 700;
}

.sils-home-card__specs svg {
  width: 17px;
  height: 17px;
  color: var(--sils-teal);
}

.sils-home-card__support {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.9rem;
}

.sils-home-card__support span {
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  background: var(--sils-cloud);
  color: #506267;
  font-size: 0.66rem;
  font-weight: 750;
  line-height: 1.35;
}

.sils-home-card__link {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 1.15rem;
  color: var(--sils-teal);
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.sils-home-card__link svg {
  width: 17px;
  height: 17px;
  transition: transform var(--sils-transition);
}

.sils-home-card__link:hover {
  color: var(--sils-navy);
}

.sils-home-card__link:hover svg {
  transform: translateX(3px);
}

.sils-home-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 3rem;
}

.sils-home-pagination .page-numbers {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  padding-inline: 0.75rem;
  border: 1px solid var(--sils-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  font-size: 0.78rem;
  font-weight: 750;
  text-decoration: none;
}

.sils-home-pagination .page-numbers.current,
.sils-home-pagination a.page-numbers:hover {
  border-color: var(--sils-teal);
  background: var(--sils-teal);
  color: #fff;
}

.sils-home-empty {
  display: grid;
  max-width: 760px;
  margin-inline: auto;
  place-items: center;
  padding: clamp(2.5rem, 6vw, 5rem);
  border: 1px dashed #b9ccc7;
  border-radius: 28px;
  background: var(--sils-cloud);
  text-align: center;
}

.sils-home-empty > span {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border-radius: 24px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-home-empty > span svg {
  width: 42px;
  height: 42px;
}

.sils-home-empty h2 {
  margin: 1.3rem 0 0;
}

.sils-home-empty > p {
  max-width: 55ch;
  margin: 0.8rem 0 0;
  color: #5b6d72;
}

.sils-home-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.4rem;
}

.sils-featured-homes {
  background: linear-gradient(180deg, #fff 0%, var(--sils-cloud) 100%);
}

.sils-featured-homes .sils-section-heading > div:last-child {
  display: grid;
  gap: 0.75rem;
}

.sils-featured-homes .sils-section-heading > div:last-child p {
  margin: 0;
}

/* Single group home. */

.sils-home-single__breadcrumbs-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.4rem;
}

.sils-home-share-actions {
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.sils-home-share-actions button {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  min-height: 38px;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--sils-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 750;
}

.sils-home-share-actions button:hover {
  border-color: var(--sils-teal);
  color: var(--sils-teal);
}

.sils-home-share-actions svg {
  width: 16px;
  height: 16px;
}

.sils-copy-status {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  min-width: max-content;
  color: #557076;
  font-size: 0.68rem;
}

.sils-home-single__hero {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding-block: clamp(2.5rem, 5vw, 5rem);
}

.sils-home-single__hero-copy > .sils-home-status {
  margin-bottom: 1.1rem;
}

.sils-home-single__hero-copy h1 {
  max-width: 13ch;
  margin: 0.8rem 0 0;
  font-size: clamp(2.65rem, 5vw, 3rem);
}

.sils-home-single__lead {
  max-width: 58ch;
  margin: 1.25rem 0 0;
  color: #4d6267;
  font-size: clamp(1.02rem, 1.3vw, 1.2rem);
  line-height: 1.72;
}

.sils-home-single__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
  margin-top: 1.5rem;
}

.sils-home-single__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 2rem;
}

.sils-home-fact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  padding: 0.8rem;
  border: 1px solid var(--sils-line);
  border-radius: 14px;
  background: #fff;
}

.sils-home-fact__icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-home-fact__icon svg {
  width: 21px;
  height: 21px;
}

.sils-home-fact strong,
.sils-home-fact small {
  display: block;
}

.sils-home-fact strong {
  color: var(--sils-navy);
  font-size: 0.92rem;
  line-height: 1.15;
}

.sils-home-fact small {
  margin-top: 0.12rem;
  color: #6b7c81;
  font-size: 0.66rem;
}

.sils-home-gallery {
  min-width: 0;
}

.sils-home-gallery__main {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  border-radius: 26px;
  background: var(--sils-cloud);
  box-shadow: var(--sils-shadow-soft);
}

.sils-home-gallery__main > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sils-home-gallery__main > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  background: rgba(13, 41, 46, 0.88);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 750;
  backdrop-filter: blur(8px);
}

.sils-home-gallery__main > span svg {
  width: 16px;
  height: 16px;
}

.sils-home-gallery__thumbs {
  display: grid;
  grid-auto-columns: minmax(78px, 1fr);
  grid-auto-flow: column;
  gap: 0.6rem;
  overflow-x: auto;
  padding: 0.75rem 0.1rem 0.25rem;
  scrollbar-width: thin;
}

.sils-home-gallery__thumbs a {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid transparent;
  border-radius: 11px;
  background: var(--sils-cloud);
}

.sils-home-gallery__thumbs a:hover,
.sils-home-gallery__thumbs a.is-active {
  border-color: var(--sils-teal);
}

.sils-home-gallery__thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sils-home-gallery--empty {
  display: grid;
  aspect-ratio: 16 / 11;
  place-items: center;
  border: 1px dashed #b9ccc7;
  border-radius: 26px;
  background: var(--sils-mint);
}

.sils-home-gallery__placeholder {
  display: grid;
  max-width: 38ch;
  place-items: center;
  padding: 2rem;
  color: #466066;
  text-align: center;
}

.sils-home-gallery__placeholder svg {
  width: 70px;
  height: 70px;
  color: var(--sils-teal);
}

.sils-home-gallery__placeholder p {
  margin: 1rem 0 0;
}

.sils-home-lightbox {
  position: fixed;
  width: min(94vw, 1220px);
  max-width: none;
  height: min(92vh, 900px);
  max-height: none;
  padding: 3.5rem 4.5rem 2.8rem;
  border: 0;
  border-radius: 20px;
  background: #071b1f;
  color: #fff;
}

.sils-home-lightbox::backdrop {
  background: rgba(4, 16, 18, 0.88);
  backdrop-filter: blur(6px);
}

.sils-home-lightbox > img {
  width: 100%;
  height: calc(100% - 1.4rem);
  object-fit: contain;
}

.sils-home-lightbox button {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  cursor: pointer;
}

.sils-home-lightbox button:hover {
  background: rgba(255, 255, 255, 0.2);
}

.sils-home-lightbox button svg {
  width: 24px;
  height: 24px;
}

.sils-home-lightbox__close {
  top: 0.75rem;
  right: 0.75rem;
}

.sils-home-lightbox__previous,
.sils-home-lightbox__next {
  top: 50%;
  transform: translateY(-50%);
}

.sils-home-lightbox__previous {
  left: 0.75rem;
}

.sils-home-lightbox__next {
  right: 0.75rem;
}

.sils-home-lightbox > p {
  margin: 0.45rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  text-align: center;
}

.sils-home-single__notice {
  border-block: 1px solid rgba(10, 143, 134, 0.16);
  background: var(--sils-mint);
}

.sils-home-single__notice > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  padding-block: 1.15rem;
}

.sils-home-single__notice svg {
  width: 22px;
  height: 22px;
  color: var(--sils-teal);
}

.sils-home-single__notice p {
  margin: 0;
  color: #36545a;
  font-size: 0.8rem;
  line-height: 1.6;
}

.sils-home-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(370px, 31vw, 430px);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
  padding-block: clamp(4rem, 7vw, 7rem);
}

.sils-home-detail__content {
  display: grid;
  min-width: 0;
  gap: 1.25rem;
}

.sils-home-panel {
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid var(--sils-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(18, 55, 61, 0.05);
}

.sils-home-panel h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
}

.sils-home-panel h3 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.sils-home-panel p:last-child,
.sils-home-panel ul:last-child {
  margin-bottom: 0;
}

.sils-home-panel--introduction {
  border-color: transparent;
  padding: 0 0 1rem;
  box-shadow: none;
}

.sils-home-panel--introduction .sils-eyebrow {
  margin-bottom: 0.7rem;
}

.sils-home-prose {
  color: #445b61;
  font-size: 1.02rem;
  line-height: 1.78;
}

.sils-home-prose > :first-child {
  margin-top: 0;
}

.sils-home-prose > :last-child {
  margin-bottom: 0;
}

.sils-home-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.sils-home-overview-list {
  display: grid;
  grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
  margin: 0;
  border-top: 1px solid var(--sils-line);
}

.sils-home-overview-list dt,
.sils-home-overview-list dd {
  margin: 0;
  padding-block: 0.78rem;
  border-bottom: 1px solid var(--sils-line);
}

.sils-home-overview-list dt {
  padding-right: 1rem;
  color: #607278;
  font-size: 0.75rem;
  font-weight: 750;
}

.sils-home-overview-list dd {
  color: var(--sils-navy);
  font-size: 0.82rem;
  font-weight: 700;
}

.sils-home-address-note {
  margin: 0.85rem 0 0;
  color: #6b7c81;
  font-size: 0.7rem;
}

.sils-home-feature-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.sils-home-feature-group {
  min-width: 0;
  padding: 1rem;
  border-radius: 14px;
  background: var(--sils-cloud);
}

.sils-home-feature-group ul,
.sils-home-check-list {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.sils-home-feature-group li,
.sils-home-check-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem;
  align-items: start;
  color: #455c62;
  font-size: 0.76rem;
  line-height: 1.5;
}

.sils-home-feature-group li span,
.sils-home-check-list li span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--sils-mint);
  color: var(--sils-teal);
  font-size: 0.68rem;
  font-weight: 900;
}

.sils-home-panel--disclaimer {
  border-color: rgba(242, 199, 92, 0.45);
  background: #fffaf0;
}

.sils-home-panel--disclaimer p {
  color: #5b5b4e;
  font-size: 0.78rem;
}

.sils-home-detail__sidebar {
  position: sticky;
  top: calc(var(--sils-admin-bar-offset, 0px) + 118px);
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 1rem;
  align-self: start;
}

.sils-home-enquiry {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(1.2rem, 2vw, 1.55rem);
  border: 1px solid rgba(10, 143, 134, 0.25);
  border-radius: 22px;
  background: linear-gradient(145deg, #f2fbf9, #fff);
  box-shadow: var(--sils-shadow-card);
}

.sils-home-enquiry > .sils-eyebrow {
  margin-bottom: 0.7rem;
}

.sils-home-enquiry > h2 {
  margin: 0;
  font-size: clamp(1.4rem, 2vw, 1.7rem);
  line-height: 1.16;
}

.sils-home-enquiry > p:not(.sils-eyebrow) {
  margin: 0.65rem 0 1.1rem;
  color: #586c71;
  font-size: 0.82rem;
  line-height: 1.55;
}

.sils-home-enquiry .sils-form {
  min-width: 0;
  gap: 0.95rem;
}

.sils-home-enquiry .sils-form-grid,
.sils-home-enquiry .sils-form-grid--two {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: 0.85rem;
}

.sils-home-enquiry .sils-field {
  min-width: 0;
  gap: 0.38rem;
}

.sils-home-enquiry .sils-field label {
  line-height: 1.35;
}

.sils-home-enquiry .sils-field input,
.sils-home-enquiry .sils-field select,
.sils-home-enquiry .sils-field textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border-radius: 11px;
  font-size: 0.84rem;
}

.sils-home-enquiry .sils-field input,
.sils-home-enquiry .sils-field select {
  padding: 0.72rem 0.78rem;
}

.sils-home-enquiry .sils-field input::placeholder,
.sils-home-enquiry .sils-field textarea::placeholder {
  color: #728287;
  opacity: 1;
}

.sils-home-enquiry .sils-field textarea {
  min-height: 132px;
  padding: 0.78rem;
}

.sils-home-enquiry .sils-field-help {
  font-size: 0.7rem;
  line-height: 1.5;
}

.sils-home-enquiry .sils-consent {
  padding: 0.75rem;
  border: 1px solid rgba(10, 143, 134, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
}

.sils-home-enquiry .sils-submit {
  width: 100%;
  min-height: 52px;
  justify-self: stretch;
  padding-inline: 1rem;
  white-space: normal;
  line-height: 1.3;
  text-align: center;
}

.sils-home-contact-card {
  padding: 1.25rem;
  border-radius: 18px;
  background: var(--sils-navy);
  color: rgba(255, 255, 255, 0.72);
}

.sils-home-contact-card h2 {
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
}

.sils-home-contact-card p {
  margin: 0.55rem 0 0.8rem;
  font-size: 0.76rem;
}

.sils-home-contact-card a {
  color: var(--sils-aqua);
  font-size: 1rem;
  font-weight: 850;
}

.sils-related-homes {
  padding-bottom: clamp(5rem, 8vw, 8rem);
}

.sils-related-homes .sils-section-heading {
  margin-bottom: 2rem;
}

@media (max-width: 1180px) {
  .sils-primary-nav .wp-block-navigation__container {
    gap: 0.75rem;
  }

  .sils-primary-nav .wp-block-navigation-item__content {
    font-size: 0.88rem;
  }

  .sils-home-filters__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sils-home-filter--search {
    grid-column: span 2;
  }

  .sils-home-filters__submit {
    width: 100%;
  }

  .sils-home-feature-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) and (min-width: 961px) {
  .sils-home-detail-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);
    gap: 2rem;
  }

  .sils-home-enquiry {
    padding: 1.2rem;
  }
}

@media (max-width: 960px) {
  .sils-homes-hero__inner,
  .sils-home-single__hero,
  .sils-home-detail-layout {
    grid-template-columns: 1fr;
  }

  .sils-homes-hero__copy h1,
  .sils-home-single__hero-copy h1 {
    max-width: 15ch;
  }

  .sils-homes-hero__note {
    max-width: 650px;
  }

  .sils-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-home-detail__sidebar {
    position: static;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.45fr);
  }

  .sils-home-single__hero-copy {
    max-width: 760px;
  }

  .sils-home-gallery {
    width: min(100%, 780px);
  }
}

@media (max-width: 760px) {
  .sils-homes-archive .alignwide,
  .sils-home-single .alignwide {
    width: min(calc(100% - 2rem), var(--sils-wide-size));
  }

  .sils-home-filters__grid,
  .sils-home-results-heading,
  .sils-home-panel-grid,
  .sils-home-detail__sidebar {
    grid-template-columns: 1fr;
  }

  .sils-home-filter--search {
    grid-column: auto;
  }

  .sils-home-results-heading {
    gap: 0.75rem;
  }

  .sils-home-single__breadcrumbs-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .sils-home-share-actions {
    align-self: stretch;
  }

  .sils-copy-status {
    right: auto;
    left: 0;
  }

  .sils-home-feature-groups {
    grid-template-columns: 1fr;
  }

  .sils-home-lightbox {
    width: 100vw;
    height: 100vh;
    padding: 3.5rem 2.8rem 2.5rem;
    border-radius: 0;
  }
}

@media (max-width: 620px) {
  .sils-homes-hero {
    padding-block: 3rem 4rem;
  }

  .sils-homes-hero__copy h1,
  .sils-home-single__hero-copy h1 {
    font-size: clamp(2.35rem, 12vw, 3.65rem);
  }

  .sils-home-grid,
  .sils-home-single__facts {
    grid-template-columns: 1fr;
  }

  .sils-home-filters__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .sils-home-card__media {
    aspect-ratio: 16 / 10.5;
  }

  .sils-home-single__actions,
  .sils-home-empty__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sils-home-single__actions .sils-home-button,
  .sils-home-empty__actions .sils-home-button {
    width: 100%;
  }

  .sils-home-overview-list {
    grid-template-columns: 1fr;
  }

  .sils-home-overview-list dt {
    padding-bottom: 0.1rem;
    border-bottom: 0;
  }

  .sils-home-overview-list dd {
    padding-top: 0.1rem;
  }

  .sils-home-gallery__main,
  .sils-home-gallery--empty {
    border-radius: 18px;
  }

  .sils-home-share-actions button span {
    display: none;
  }
}

@media print {
  .sils-home-share-actions,
  .sils-home-detail__sidebar,
  .sils-related-homes,
  .sils-home-gallery__thumbs,
  .sils-home-single__actions,
  .sils-home-single__notice,
  .sils-home-lightbox {
    display: none !important;
  }

  .sils-home-single__hero,
  .sils-home-detail-layout {
    display: block;
  }

  .sils-home-gallery {
    max-width: 680px;
    margin-top: 1.5rem;
  }

  .sils-home-panel {
    break-inside: avoid;
    box-shadow: none;
  }
}

/* Highlight the Group Homes navigation item on directory and property pages. */
.sils-group-homes-archive-page .sils-primary-nav a[href*="/group-homes/"]::after,
.sils-group-home-single-page .sils-primary-nav a[href*="/group-homes/"]::after {
	transform: scaleX(1);
}

/* --------------------------------------------------------------------------
 * Group Homes directory refresh and responsive navigation - v1.2.0
 * -------------------------------------------------------------------------- */

.sils-homes-hero {
  padding-block: clamp(3.6rem, 7vw, 6.8rem);
  background:
    radial-gradient(circle at 88% 12%, rgba(79, 201, 189, 0.24), transparent 24rem),
    radial-gradient(circle at 12% 88%, rgba(242, 199, 92, 0.16), transparent 22rem),
    linear-gradient(140deg, #edf9f6 0%, #fff 52%, #fff8ed 100%);
}

.sils-homes-hero__inner {
  grid-template-columns: minmax(0, 1.04fr) minmax(330px, 0.62fr);
  align-items: stretch;
}

.sils-homes-hero__copy {
  align-self: center;
}

.sils-homes-hero__copy h1 {
  max-width: 11ch;
  letter-spacing: -0.052em;
  text-wrap: balance;
}

.sils-homes-hero__copy > p:last-of-type {
  max-width: 58ch;
}

.sils-homes-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.65rem;
}

.sils-homes-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 680px;
  gap: 0.7rem;
  margin-top: 2rem;
}

.sils-homes-hero__stats > div {
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(10, 143, 134, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 10px 28px rgba(18, 55, 61, 0.05);
  backdrop-filter: blur(8px);
}

.sils-homes-hero__stats strong,
.sils-homes-hero__stats span {
  display: block;
}

.sils-homes-hero__stats strong {
  color: var(--sils-navy);
  font-family: var(--wp--preset--font-family--sil-display, "Segoe UI", sans-serif);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1;
}

.sils-homes-hero__stats span {
  margin-top: 0.35rem;
  color: #607378;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.35;
}

.sils-homes-hero__aside {
  display: grid;
  align-content: center;
  gap: 1rem;
  min-width: 0;
}

.sils-homes-hero__match-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 28px;
  background: var(--sils-navy);
  box-shadow: 0 28px 70px rgba(18, 55, 61, 0.2);
  color: rgba(255, 255, 255, 0.76);
}

.sils-homes-hero__match-card::after {
  position: absolute;
  right: -4.5rem;
  bottom: -5rem;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgba(79, 201, 189, 0.28);
  border-radius: 50%;
  content: "";
}

.sils-homes-hero__match-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  margin-bottom: 1.25rem;
  border-radius: 17px;
  background: rgba(79, 201, 189, 0.16);
  color: var(--sils-aqua);
}

.sils-homes-hero__match-icon svg {
  width: 29px;
  height: 29px;
}

.sils-homes-hero__match-card .sils-kicker {
  margin-bottom: 0.65rem;
  color: var(--sils-aqua);
}

.sils-homes-hero__match-card h2 {
  max-width: 15ch;
  margin: 0;
  color: #fff;
  font-size: clamp(1.55rem, 2.8vw, 2.25rem);
  line-height: 1.12;
  text-wrap: balance;
}

.sils-homes-hero__match-card ul {
  display: grid;
  gap: 0.75rem;
  padding: 0;
  margin: 1.4rem 0 0;
  list-style: none;
}

.sils-homes-hero__match-card li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  font-size: 0.82rem;
  line-height: 1.5;
}

.sils-homes-hero__match-card li span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: rgba(79, 201, 189, 0.16);
  color: var(--sils-aqua);
  font-size: 0.72rem;
  font-weight: 900;
}

.sils-homes-hero__aside .sils-homes-hero__note {
  border-color: rgba(10, 143, 134, 0.16);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 34px rgba(18, 55, 61, 0.08);
}

.sils-home-filter-panel {
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.sils-home-filter-panel > summary {
  display: none;
}

.sils-home-filter-panel .sils-home-filters {
  margin-bottom: 0;
  border-color: rgba(10, 143, 134, 0.18);
  background:
    linear-gradient(135deg, rgba(231, 247, 243, 0.72), rgba(255, 255, 255, 0.94)),
    var(--sils-cloud);
}

.sils-home-results-heading {
  scroll-margin-top: calc(var(--sils-admin-bar-offset, 0px) + 150px);
}

.sils-home-grid {
  align-items: stretch;
}

.sils-home-card {
  border-radius: 24px;
  box-shadow: 0 12px 34px rgba(18, 55, 61, 0.085);
}

.sils-home-card__media {
  isolation: isolate;
  aspect-ratio: 4 / 3;
}

.sils-home-card__media::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 28, 32, 0.05) 30%, rgba(5, 28, 32, 0.68) 100%);
  content: "";
  pointer-events: none;
}

.sils-home-card__image {
  display: block;
}

.sils-home-card__badges {
  position: absolute;
  z-index: 2;
  top: 0.9rem;
  right: 0.9rem;
  left: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: space-between;
  pointer-events: none;
}

.sils-home-card__badges .sils-home-status {
  position: static;
  top: auto;
  left: auto;
  box-shadow: 0 8px 22px rgba(18, 55, 61, 0.18);
}

.sils-home-featured-badge {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  min-height: 30px;
  padding: 0.38rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--sils-navy);
  box-shadow: 0 8px 22px rgba(18, 55, 61, 0.18);
  font-size: 0.68rem;
  font-weight: 850;
}

.sils-home-featured-badge svg {
  width: 15px;
  height: 15px;
  color: var(--sils-coral);
}

.sils-home-card__media-meta {
  position: absolute;
  z-index: 2;
  right: 0.9rem;
  bottom: 0.85rem;
  left: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  pointer-events: none;
}

.sils-home-card__property-type,
.sils-home-card__photo-count {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  min-height: 28px;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(8, 31, 35, 0.54);
  backdrop-filter: blur(8px);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.2;
}

.sils-home-card__photo-count svg {
  width: 15px;
  height: 15px;
}

.sils-home-card__body {
  padding: clamp(1.15rem, 2.2vw, 1.5rem);
}

.sils-home-card__topline {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.sils-home-card__reference {
  flex: 0 0 auto;
  padding: 0.25rem 0.45rem;
  border-radius: 7px;
  background: var(--sils-cloud);
  color: #65777c;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.sils-home-card h3 {
  margin-top: 0.75rem;
  font-size: clamp(1.32rem, 2vw, 1.7rem);
}

.sils-home-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sils-home-card__specs {
  gap: 0.55rem;
}

.sils-home-card__specs span {
  min-height: 34px;
  padding: 0.45rem 0.58rem;
  border-radius: 10px;
  background: var(--sils-cloud);
}

.sils-home-card__support span {
  border: 1px solid rgba(10, 143, 134, 0.12);
  background: var(--sils-mint);
  color: #315c5d;
}

.sils-home-card__footer {
  display: flex;
  gap: 1rem;
  align-items: end;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1.15rem;
  border-top: 1px solid var(--sils-line);
}

.sils-home-card__footer .sils-home-card__link {
  margin-top: 0;
  padding-top: 0;
}

.sils-home-card__availability {
  margin: 0;
  color: #6a7c81;
  font-size: 0.62rem;
  line-height: 1.25;
  text-align: right;
}

.sils-home-card__availability span,
.sils-home-card__availability strong {
  display: block;
}

.sils-home-card__availability strong {
  margin-top: 0.18rem;
  color: var(--sils-navy);
  font-size: 0.72rem;
}

@media (min-width: 761px) {
  .sils-home-card--spotlight {
    grid-column: span 2;
    display: grid;
    grid-template-columns: minmax(0, 1.13fr) minmax(300px, 0.87fr);
  }

  .sils-home-card--spotlight .sils-home-card__media {
    min-height: 100%;
    aspect-ratio: auto;
  }

  .sils-home-card--spotlight .sils-home-card__body {
    padding: clamp(1.4rem, 3vw, 2.15rem);
  }

  .sils-home-card--spotlight h3 {
    font-size: clamp(1.7rem, 3vw, 2.35rem);
  }

  .sils-home-card--spotlight .sils-home-card__excerpt {
    -webkit-line-clamp: 4;
  }
}

/* A reliable mobile treatment for the core Navigation block. */
html.sils-nav-open,
body.sils-nav-open {
  overflow: hidden;
  overscroll-behavior: none;
}

@media (max-width: 1360px) {
  .sils-header-main {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    min-height: 76px;
  }

  .sils-header-actions,
  .sils-header-cta {
    display: none;
  }

  .sils-primary-nav {
    position: static;
    display: flex;
    align-items: center;
    justify-self: end;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-open {
    display: grid !important;
    width: 48px;
    height: 48px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(18, 55, 61, 0.12);
    border-radius: 15px;
    background: var(--sils-mint);
    color: var(--sils-navy);
    cursor: pointer;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-open svg {
    width: 25px;
    height: 25px;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    z-index: 100000 !important;
    inset: 0 !important;
    display: flex !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh;
    padding: 0 !important;
    overflow: auto;
    background:
      radial-gradient(circle at 92% 8%, rgba(79, 201, 189, 0.18), transparent 18rem),
      radial-gradient(circle at 8% 92%, rgba(242, 199, 92, 0.12), transparent 18rem),
      var(--sils-navy) !important;
    color: #fff;
  }

  .sils-primary-nav .wp-block-navigation__responsive-close {
    width: min(calc(100% - 2rem), 720px);
    min-height: 100dvh;
    margin-inline: auto;
  }

  .sils-primary-nav .wp-block-navigation__responsive-dialog {
    position: relative;
    display: flex;
    min-height: 100dvh;
    flex-direction: column;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-close {
    position: absolute;
    z-index: 2;
    top: max(1rem, env(safe-area-inset-top));
    right: 0;
    display: grid !important;
    width: 48px;
    height: 48px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
    cursor: pointer;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-close svg {
    width: 24px;
    height: 24px;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-content {
    display: flex !important;
    min-height: 100dvh;
    flex: 1;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 1.5rem;
    padding: calc(5.8rem + env(safe-area-inset-top)) 0 calc(2rem + env(safe-area-inset-bottom));
  }

  .sils-primary-nav .wp-block-navigation__container {
    display: flex !important;
    width: 100%;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .sils-primary-nav .wp-block-navigation-item {
    width: 100%;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 0.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff !important;
    font-size: clamp(1.15rem, 4.4vw, 1.55rem);
    font-weight: 780;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-decoration: none;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    margin-left: 1rem;
    background: none;
    color: var(--sils-aqua);
    content: "\2192";
    transform: none;
  }

  .sils-mobile-nav-actions {
    display: grid;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 1rem;
  }

  .sils-mobile-nav-actions__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: 0.7rem;
    align-items: stretch;
  }

  .sils-mobile-nav-ndis-logo {
    display: grid;
    width: 126px;
    min-height: 52px;
    place-items: center;
    padding: 0.3rem 0.45rem;
    border: 1px solid rgba(88, 37, 103, 0.14);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(18, 55, 61, 0.08);
  }

  .sils-mobile-nav-ndis-logo img {
    display: block;
    width: 112px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    image-rendering: auto;
  }

  .sils-mobile-nav-actions a {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.1rem;
    border-radius: 999px;
    background: var(--sils-aqua);
    color: var(--sils-navy) !important;
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
  }

  .sils-mobile-nav-actions p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.72rem;
    line-height: 1.5;
    text-align: center;
  }

  .sils-homes-hero__inner {
    grid-template-columns: 1fr;
  }

  .sils-homes-hero__copy h1 {
    max-width: 13ch;
  }

  .sils-homes-hero__aside {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
    align-items: stretch;
  }

  .sils-homes-hero__note {
    align-content: start;
  }
}

@media (min-width: 1025px) {
  .sils-primary-nav .wp-block-navigation__responsive-container-open {
    display: none !important;
  }

  .sils-mobile-nav-actions {
    display: none !important;
  }
}

@media (max-width: 760px) {
  :root {
    --sils-shell-gutter: 2rem;
  }

  .sils-homes-hero__aside {
    grid-template-columns: 1fr;
  }

  .sils-home-filter-panel {
    overflow: hidden;
    border: 1px solid rgba(10, 143, 134, 0.18);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(18, 55, 61, 0.08);
  }

  .sils-home-filter-panel > summary {
    display: flex;
    min-height: 58px;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: linear-gradient(135deg, var(--sils-mint), #fff);
    color: var(--sils-navy);
    cursor: pointer;
    list-style: none;
  }

  .sils-home-filter-panel > summary::-webkit-details-marker {
    display: none;
  }

  .sils-home-filter-panel > summary::after {
    flex: 0 0 auto;
    color: var(--sils-teal);
    content: "+";
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1;
  }

  .sils-home-filter-panel[open] > summary::after {
    content: "\2212";
  }

  .sils-home-filter-panel__title {
    display: inline-flex;
    gap: 0.55rem;
    align-items: center;
    font-size: 0.84rem;
    font-weight: 850;
  }

  .sils-home-filter-panel__title svg {
    width: 19px;
    height: 19px;
    color: var(--sils-teal);
  }

  .sils-home-filter-panel__state {
    margin-left: auto;
    color: #61757a;
    font-size: 0.68rem;
    font-weight: 750;
  }

  .sils-home-filter-panel .sils-home-filters {
    padding: 1rem;
    border: 0;
    border-top: 1px solid rgba(10, 143, 134, 0.14);
    border-radius: 0;
    box-shadow: none;
  }

  .sils-home-locations__links {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-inline: -1rem;
    padding: 0.15rem 1rem 0.55rem;
    scroll-padding-inline: 1rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .sils-home-locations__links::-webkit-scrollbar {
    display: none;
  }

  .sils-home-locations__links a {
    flex: 0 0 auto;
  }

  .sils-home-card--spotlight {
    grid-column: auto;
  }

  .sils-home-card__topline,
  .sils-home-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .sils-home-card__availability {
    text-align: left;
  }

  .sils-home-card__media {
    aspect-ratio: 16 / 10.5;
  }

  .sils-home-single__hero {
    gap: 2rem;
    padding-block: 2rem 3rem;
  }

  .sils-home-gallery__thumbs {
    grid-auto-columns: minmax(78px, 24%);
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .sils-home-gallery__thumbs a {
    scroll-snap-align: start;
  }

  .sils-home-panel,
  .sils-home-enquiry,
  .sils-home-contact-card {
    border-radius: 18px;
  }
}

@media (max-width: 620px) {
  :root {
    --sils-shell-gutter: 1.5rem;
  }

  .sils-site-header .sils-topbar__inner,
  .sils-site-header .sils-header-main {
    width: min(calc(100% - var(--sils-header-gutter)), var(--sils-header-wide-size)) !important;
  }

  .sils-site-footer .sils-footer-main,
  .sils-site-footer .sils-footer-bottom {
    width: min(calc(100% - var(--sils-shell-gutter)), var(--sils-wide-size)) !important;
  }

  .sils-topbar {
    font-size: 0.72rem;
  }

  .sils-topbar__inner {
    min-height: 38px;
  }

  .sils-header-main {
    min-height: 70px;
  }

  .sils-brand {
    min-width: 0;
  }

  .sils-brand__text {
    min-width: 0;
  }

  .sils-brand__name {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sils-primary-nav .wp-block-navigation__responsive-close {
    width: min(calc(100% - 1.5rem), 720px);
  }

  .sils-homes-hero {
    padding-block: 2.7rem 3.4rem;
  }

  .sils-homes-hero__copy h1 {
    font-size: clamp(2.45rem, 12vw, 3.65rem);
  }

  .sils-homes-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sils-homes-hero__actions .sils-home-button {
    width: 100%;
  }

  .sils-homes-hero__stats {
    gap: 0.45rem;
  }

  .sils-homes-hero__stats > div {
    padding: 0.75rem 0.55rem;
    border-radius: 13px;
    text-align: center;
  }

  .sils-homes-hero__stats strong {
    font-size: 1.35rem;
  }

  .sils-homes-hero__stats span {
    font-size: 0.61rem;
  }

  .sils-homes-hero__match-card {
    border-radius: 22px;
  }

  .sils-home-results-heading {
    margin-bottom: 1.35rem;
  }

  .sils-home-card {
    border-radius: 20px;
  }

  .sils-home-card__body {
    padding: 1.15rem;
  }

  .sils-home-card__badges,
  .sils-home-card__media-meta {
    right: 0.7rem;
    left: 0.7rem;
  }

  .sils-home-card__badges {
    top: 0.7rem;
  }

  .sils-home-card__media-meta {
    bottom: 0.7rem;
  }

  .sils-home-featured-badge {
    font-size: 0.62rem;
  }

  .sils-home-card__specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sils-home-card__specs span {
    min-width: 0;
    justify-content: center;
    font-size: 0.66rem;
    text-align: center;
  }

  .sils-home-card__footer {
    gap: 0.65rem;
  }

  .sils-home-card__link {
    min-height: 44px;
    align-items: center;
  }

  .sils-home-single__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-home-fact {
    padding: 0.7rem;
  }

  .sils-home-detail-layout {
    padding-block: 3rem;
  }

  .sils-footer-main {
    gap: 2rem;
    padding-block: 3.2rem;
  }

  .sils-field input,
  .sils-field select,
  .sils-field textarea,
  .sils-home-filter input,
  .sils-home-filter select {
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  :root {
    --sils-shell-gutter: 1.25rem;
  }

  .sils-brand img {
    width: 37px;
    height: 37px;
  }

  .sils-brand__name {
    font-size: 0.96rem;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-open {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }

  .sils-home-filter-panel__state {
    display: none;
  }

  .sils-home-card__specs {
    grid-template-columns: 1fr;
  }

  .sils-home-card__specs span {
    justify-content: flex-start;
  }

  .sils-home-single__facts {
    grid-template-columns: 1fr;
  }
}

@media (hover: none) {
  .sils-home-card:hover {
    transform: none;
  }

  .sils-home-card:hover .sils-home-card__image {
    transform: none;
  }
}

/* Keep listing media from shrinking to zero inside equal-height flex cards. */
.sils-home-card__media {
  flex: 0 0 auto;
}

.sils-home-card__body {
  min-height: 0;
}

@media (max-width: 620px) {
  .sils-site-footer .sils-footer-main {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
 * Group Homes archive layout refinement - v1.3.0
 * Removes oversized gaps, gives sparse result sets an intentional layout,
 * and guarantees listing photographs fill their media frame.
 * -------------------------------------------------------------------------- */

.sils-group-homes-archive-page .sils-homes-archive {
  background: #fff;
}

.sils-group-homes-archive-page .sils-homes-hero {
  padding-block: clamp(2.5rem, 4.5vw, 4.5rem);
  border-bottom: 1px solid rgba(10, 143, 134, 0.1);
  background:
    radial-gradient(circle at 91% 8%, rgba(79, 201, 189, 0.22), transparent 21rem),
    radial-gradient(circle at 5% 96%, rgba(242, 199, 92, 0.13), transparent 18rem),
    linear-gradient(140deg, #edf9f6 0%, #fff 56%, #fff9f0 100%);
}

.sils-group-homes-archive-page .sils-homes-hero__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.62fr);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  row-gap: 1.2rem;
  align-items: center;
}

.sils-group-homes-archive-page .sils-homes-hero__inner .sils-breadcrumbs {
  margin-bottom: 0.2rem;
}

.sils-group-homes-archive-page .sils-homes-hero__copy h1 {
  max-width: 12ch;
  font-size: clamp(3rem, 5vw, 4.85rem);
  letter-spacing: -0.055em;
  line-height: 0.99;
}

.sils-group-homes-archive-page .sils-homes-hero__copy > p:last-of-type {
  max-width: 60ch;
  margin-top: 1rem;
  font-size: clamp(0.98rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}

.sils-group-homes-archive-page .sils-homes-hero__actions {
  margin-top: 1.25rem;
}

.sils-group-homes-archive-page .sils-homes-hero__stats {
  max-width: 610px;
  gap: 0.65rem;
  margin-top: 1.4rem;
}

.sils-group-homes-archive-page .sils-homes-hero__stats > div {
  padding: 0.75rem 0.9rem;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(18, 55, 61, 0.045);
}

.sils-group-homes-archive-page .sils-homes-hero__stats strong {
  font-size: clamp(1.3rem, 2vw, 1.75rem);
}

.sils-group-homes-archive-page .sils-homes-hero__aside {
  align-content: center;
  gap: 0.75rem;
}

.sils-group-homes-archive-page .sils-homes-hero__match-card {
  padding: clamp(1.35rem, 2.5vw, 1.85rem);
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(18, 55, 61, 0.17);
}

.sils-group-homes-archive-page .sils-homes-hero__match-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 0.95rem;
  border-radius: 15px;
}

.sils-group-homes-archive-page .sils-homes-hero__match-icon svg {
  width: 25px;
  height: 25px;
}

.sils-group-homes-archive-page .sils-homes-hero__match-card h2 {
  font-size: clamp(1.45rem, 2.3vw, 1.95rem);
}

.sils-group-homes-archive-page .sils-homes-hero__match-card ul {
  gap: 0.55rem;
  margin-top: 1rem;
}

.sils-group-homes-archive-page .sils-homes-hero__match-card li {
  font-size: 0.78rem;
}

.sils-group-homes-archive-page .sils-homes-hero__aside .sils-homes-hero__note {
  gap: 0.65rem;
  padding: 0.9rem 1rem;
  border-radius: 16px;
}

.sils-group-homes-archive-page .sils-homes-hero__note > svg {
  width: 20px;
  height: 20px;
}

.sils-group-homes-archive-page .sils-homes-directory {
  position: relative;
  z-index: 0;
  padding-block: clamp(2.2rem, 4vw, 3.6rem) clamp(3.25rem, 5vw, 4.75rem);
}

.sils-group-homes-archive-page .sils-homes-directory::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  background:
    linear-gradient(180deg, rgba(246, 250, 248, 0.96), #fff 22rem),
    #fff;
  content: "";
  transform: translateX(-50%);
}

.sils-group-homes-archive-page .sils-home-locations {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(10, 143, 134, 0.14);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 24px rgba(18, 55, 61, 0.045);
}

.sils-group-homes-archive-page .sils-home-locations__label {
  white-space: nowrap;
}

.sils-group-homes-archive-page .sils-home-locations__links {
  gap: 0.5rem;
}

.sils-group-homes-archive-page .sils-home-locations__links a {
  min-height: 38px;
  padding: 0.48rem 0.75rem;
  background: #fff;
}

.sils-group-homes-archive-page .sils-home-filter-panel {
  margin-bottom: 2rem;
}

.sils-group-homes-archive-page .sils-home-filter-panel .sils-home-filters {
  padding: clamp(1.15rem, 2.2vw, 1.55rem);
  border-color: rgba(10, 143, 134, 0.16);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(231, 247, 243, 0.78), rgba(255, 255, 255, 0.97)),
    #fff;
  box-shadow: 0 12px 34px rgba(18, 55, 61, 0.065);
}

.sils-group-homes-archive-page .sils-home-filters__heading {
  margin-bottom: 1rem;
}

.sils-group-homes-archive-page .sils-home-filters__heading h2 {
  font-size: 1.25rem;
}

.sils-group-homes-archive-page .sils-home-filters__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.sils-group-homes-archive-page .sils-home-filter--search {
  grid-column: span 2;
}

.sils-group-homes-archive-page .sils-home-filter input,
.sils-group-homes-archive-page .sils-home-filter select {
  min-height: 46px;
  border-radius: 10px;
}

.sils-group-homes-archive-page .sils-home-filters__submit {
  width: 100%;
}

.sils-group-homes-archive-page .sils-home-results-heading {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
  gap: 1.5rem;
  margin-bottom: 1.35rem;
  padding-top: 0.15rem;
}

.sils-group-homes-archive-page .sils-home-results-heading h2 {
  font-size: clamp(1.75rem, 2.6vw, 2.3rem);
}

.sils-group-homes-archive-page .sils-home-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.sils-group-homes-archive-page .sils-home-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sils-group-homes-archive-page .sils-home-card {
  overflow: hidden;
  border-color: rgba(18, 55, 61, 0.1);
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(18, 55, 61, 0.075);
}

.sils-group-homes-archive-page .sils-home-card__media {
  position: relative;
  min-height: 0;
  flex: 0 0 auto;
  aspect-ratio: 3 / 2;
  background: #dcece8;
}

.sils-group-homes-archive-page .sils-home-card__media > .sils-home-card__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.sils-group-homes-archive-page .sils-home-card__media::after {
  background: linear-gradient(180deg, rgba(5, 28, 32, 0.02) 38%, rgba(5, 28, 32, 0.62) 100%);
}

.sils-group-homes-archive-page .sils-home-card__body {
  min-height: 0;
  padding: 1.2rem;
}

.sils-group-homes-archive-page .sils-home-card h3 {
  font-size: clamp(1.28rem, 1.7vw, 1.55rem);
}

.sils-group-homes-archive-page .sils-home-card__excerpt {
  margin-top: 0.6rem;
}

.sils-group-homes-archive-page .sils-home-card__specs {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
}

.sils-group-homes-archive-page .sils-home-card__support {
  margin-top: 0.7rem;
}

.sils-group-homes-archive-page .sils-home-card__footer {
  padding-top: 0.9rem;
}

.sils-group-homes-archive-page .sils-home-grid--single {
  grid-template-columns: 1fr;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card--spotlight {
  grid-column: 1 / -1;
  display: grid;
  min-height: 410px;
  grid-template-columns: minmax(390px, 0.92fr) minmax(0, 1.08fr);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(18, 55, 61, 0.11);
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
  min-height: 410px;
  aspect-ratio: auto;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__body {
  justify-content: center;
  padding: clamp(1.6rem, 3.5vw, 2.5rem);
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card h3 {
  max-width: 18ch;
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1.06;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__excerpt {
  max-width: 58ch;
  font-size: 0.94rem;
  line-height: 1.65;
  -webkit-line-clamp: 4;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__specs span {
  min-height: 38px;
  padding-inline: 0.7rem;
}

.sils-group-homes-archive-page .sils-homes-match-cta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem 1.35rem;
  align-items: center;
  margin-top: 1.75rem;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 10%, rgba(79, 201, 189, 0.2), transparent 15rem),
    var(--sils-navy);
  box-shadow: 0 18px 45px rgba(18, 55, 61, 0.14);
  color: rgba(255, 255, 255, 0.75);
}

.sils-group-homes-archive-page .sils-homes-match-cta__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 18px;
  background: rgba(79, 201, 189, 0.14);
  color: var(--sils-aqua);
}

.sils-group-homes-archive-page .sils-homes-match-cta__icon svg {
  width: 30px;
  height: 30px;
}

.sils-group-homes-archive-page .sils-homes-match-cta .sils-eyebrow {
  margin: 0 0 0.35rem;
  color: var(--sils-aqua);
}

.sils-group-homes-archive-page .sils-homes-match-cta h2,
.sils-group-homes-archive-page .sils-homes-match-cta p {
  margin: 0;
}

.sils-group-homes-archive-page .sils-homes-match-cta h2 {
  color: #fff;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.sils-group-homes-archive-page .sils-homes-match-cta h2 + p {
  max-width: 68ch;
  margin-top: 0.45rem;
  font-size: 0.82rem;
  line-height: 1.55;
}

.sils-group-homes-archive-page .sils-homes-match-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.sils-group-homes-archive-page .sils-homes-match-cta .sils-home-button {
  white-space: nowrap;
}

.sils-group-homes-archive-page .sils-homes-match-cta .sils-home-button--outline {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}

.sils-group-homes-archive-page .sils-home-pagination {
  margin-top: 2rem;
}

@media (max-width: 1100px) {
  .sils-group-homes-archive-page .sils-home-filters__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sils-group-homes-archive-page .sils-home-filter--search {
    grid-column: span 2;
  }

  .sils-group-homes-archive-page .sils-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-group-homes-archive-page .sils-home-grid--single {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .sils-group-homes-archive-page .sils-homes-hero__inner {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }

  .sils-group-homes-archive-page .sils-homes-hero__copy {
    max-width: 780px;
  }

  .sils-group-homes-archive-page .sils-homes-hero__aside {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  }

  .sils-group-homes-archive-page .sils-homes-hero__match-card h2 {
    max-width: 22ch;
  }

  .sils-group-homes-archive-page .sils-homes-match-cta {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .sils-group-homes-archive-page .sils-homes-match-cta__actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card--spotlight {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-homes-hero {
    padding-block: 2.25rem 2.8rem;
  }

  .sils-group-homes-archive-page .sils-homes-hero__copy h1 {
    max-width: 13ch;
    font-size: clamp(2.5rem, 11vw, 3.7rem);
  }

  .sils-group-homes-archive-page .sils-homes-hero__aside {
    grid-template-columns: 1fr;
  }

  .sils-group-homes-archive-page .sils-homes-directory {
    padding-block: 1.5rem 3rem;
  }

  .sils-group-homes-archive-page .sils-home-locations {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
    padding: 0.85rem 0;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .sils-group-homes-archive-page .sils-home-locations__links {
    margin-inline: -1rem;
  }

  .sils-group-homes-archive-page .sils-home-filter-panel {
    margin-bottom: 1.5rem;
  }

  .sils-group-homes-archive-page .sils-home-filter-panel .sils-home-filters {
    padding: 1rem;
    border: 0;
    border-top: 1px solid rgba(10, 143, 134, 0.14);
    border-radius: 0;
    box-shadow: none;
  }

  .sils-group-homes-archive-page .sils-home-filters__grid,
  .sils-group-homes-archive-page .sils-home-results-heading,
  .sils-group-homes-archive-page .sils-home-grid,
  .sils-group-homes-archive-page .sils-home-grid--two {
    grid-template-columns: 1fr;
  }

  .sils-group-homes-archive-page .sils-home-filter--search {
    grid-column: auto;
  }

  .sils-group-homes-archive-page .sils-home-results-heading {
    gap: 0.65rem;
    margin-bottom: 1rem;
  }

  .sils-group-homes-archive-page .sils-home-card__media,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 10;
  }

  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__body {
    padding: 1.2rem;
  }

  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card h3 {
    font-size: clamp(1.45rem, 7vw, 1.9rem);
  }

  .sils-group-homes-archive-page .sils-homes-match-cta {
    grid-template-columns: 1fr;
    padding: 1.2rem;
    border-radius: 20px;
  }

  .sils-group-homes-archive-page .sils-homes-match-cta__icon {
    width: 50px;
    height: 50px;
  }

  .sils-group-homes-archive-page .sils-homes-match-cta__actions {
    grid-column: auto;
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-homes-hero__stats {
    gap: 0.4rem;
  }

  .sils-group-homes-archive-page .sils-homes-hero__stats > div {
    padding: 0.65rem 0.45rem;
  }

  .sils-group-homes-archive-page .sils-homes-hero__stats span {
    font-size: 0.58rem;
  }

  .sils-group-homes-archive-page .sils-home-card__badges {
    gap: 0.35rem;
  }

  .sils-group-homes-archive-page .sils-home-featured-badge {
    padding-inline: 0.5rem;
  }

  .sils-group-homes-archive-page .sils-homes-match-cta__actions,
  .sils-group-homes-archive-page .sils-homes-match-cta .sils-home-button {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
 * Group Homes listing card correction - v1.3.2
 * Keeps a single listing as one full-width image-led card and improves the
 * contrast of the availability label displayed over the Featured Image.
 * -------------------------------------------------------------------------- */

.sils-group-homes-archive-page .sils-home-status--on_enquiry {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: #f66f5b;
  color: #fff;
  box-shadow: 0 9px 22px rgba(92, 28, 20, 0.24);
  text-shadow: 0 1px 1px rgba(54, 17, 12, 0.18);
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card--spotlight {
  display: flex;
  min-height: 0;
  flex-direction: column;
  grid-template-columns: none;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 7.2;
  background: #dcece8;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media > .sils-home-card__image,
.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media > picture,
.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media > picture > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__body {
  width: 100%;
  min-height: 0;
  padding: clamp(1.35rem, 3vw, 2.25rem);
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 4 / 3;
  }

  .sils-group-homes-archive-page .sils-home-status--on_enquiry {
    padding-inline: 0.62rem;
    font-size: 0.66rem;
  }
}

/* --------------------------------------------------------------------------
 * Group Homes image-frame correction - v1.3.3
 * Gives each listing exactly one media frame. The dedicated wrapper prevents
 * responsive-image and optimisation plugins from leaving a second empty area
 * beneath the Featured Image.
 * -------------------------------------------------------------------------- */

.sils-group-homes-archive-page .sils-home-card__image-frame {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #dcece8;
  line-height: 0;
}

.sils-group-homes-archive-page .sils-home-card__image-frame > img,
.sils-group-homes-archive-page .sils-home-card__image-frame img,
.sils-group-homes-archive-page .sils-home-card__image-frame > picture,
.sils-group-homes-archive-page .sils-home-card__image-frame picture,
.sils-group-homes-archive-page .sils-home-card__image-frame picture > img,
.sils-group-homes-archive-page .sils-home-card__image-frame .sils-home-card__image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.sils-group-homes-archive-page .sils-home-card__image-frame .sils-home-card__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sils-group-homes-archive-page .sils-home-card__image-frame + .sils-home-card__badges,
.sils-group-homes-archive-page .sils-home-card__image-frame ~ .sils-home-card__media-meta {
  z-index: 3;
}

.sils-group-homes-archive-page .sils-home-card__media::after {
  z-index: 2;
}

.sils-group-homes-archive-page .sils-home-card__image-frame noscript {
  display: none;
}


/* --------------------------------------------------------------------------
 * Careers and support-worker job announcements
 * -------------------------------------------------------------------------- */

.sils-careers-archive,
.sils-job-single {
  color: var(--sils-ink);
}

.sils-careers-archive .alignwide,
.sils-job-single .alignwide {
  width: min(calc(100% - var(--sils-shell-gutter)), var(--sils-wide-size));
  max-width: var(--sils-wide-size);
  margin-inline: auto;
}

.sils-careers-archive-page .sils-primary-nav a[href*="/careers/"]::after,
.sils-job-single-page .sils-primary-nav a[href*="/careers/"]::after {
  width: 100%;
  opacity: 1;
}

.sils-careers-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 6vw, 5.8rem);
  background:
    radial-gradient(circle at 92% 5%, rgba(79, 201, 189, 0.25), transparent 27rem),
    radial-gradient(circle at 8% 100%, rgba(246, 111, 91, 0.12), transparent 23rem),
    linear-gradient(135deg, #f3fbf9 0%, #fff 52%, #fff8f4 100%);
}

.sils-careers-hero::before {
  position: absolute;
  top: -10rem;
  right: -8rem;
  width: 30rem;
  height: 30rem;
  border: 1px solid rgba(10, 143, 134, 0.13);
  border-radius: 50%;
  content: "";
}

.sils-careers-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, 0.72fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.sils-careers-hero__inner .sils-breadcrumbs {
  grid-column: 1 / -1;
  margin-bottom: -1.25rem;
}

.sils-careers-hero__copy h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--sils-navy);
  font-size: clamp(3rem, 6vw, 3rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.sils-careers-hero__copy > p:not(.sils-eyebrow) {
  max-width: 61ch;
  margin: 1.4rem 0 0;
  color: #465d63;
  font-size: clamp(1.02rem, 1.5vw, 1.18rem);
  line-height: 1.7;
}

.sils-careers-hero__actions,
.sils-job-single__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.7rem;
}

.sils-career-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.8rem 1.2rem;
  border: 1px solid var(--sils-teal);
  border-radius: 999px;
  background: var(--sils-teal);
  color: #fff;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform var(--sils-transition), background var(--sils-transition), box-shadow var(--sils-transition);
}

.sils-career-button svg,
.sils-career-text-link svg,
.sils-job-card__link svg,
.sils-submit svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.sils-career-button:hover {
  transform: translateY(-2px);
  background: #087c75;
  color: #fff;
  box-shadow: 0 12px 26px rgba(10, 143, 134, 0.19);
}

.sils-career-button--outline {
  border-color: rgba(18, 55, 61, 0.22);
  background: rgba(255, 255, 255, 0.76);
  color: var(--sils-navy);
  box-shadow: none;
}

.sils-career-button--outline:hover {
  border-color: var(--sils-teal);
  background: #fff;
  color: var(--sils-teal);
}

.sils-careers-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  max-width: 650px;
  margin-top: 2rem;
}

.sils-careers-hero__stats > div {
  min-width: 0;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(10, 143, 134, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 30px rgba(18, 55, 61, 0.05);
}

.sils-careers-hero__stats strong,
.sils-careers-hero__stats span {
  display: block;
}

.sils-careers-hero__stats strong {
  overflow: hidden;
  color: var(--sils-navy);
  font-size: 1.3rem;
  line-height: 1.1;
  text-overflow: ellipsis;
}

.sils-careers-hero__stats span {
  margin-top: 0.3rem;
  color: #5e7176;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.sils-careers-hero__panel {
  position: relative;
  overflow: hidden;
  padding: clamp(1.6rem, 4vw, 2.5rem);
  border-radius: 28px;
  background: var(--sils-navy);
  box-shadow: 0 28px 75px rgba(18, 55, 61, 0.2);
  color: rgba(255, 255, 255, 0.78);
}

.sils-careers-hero__panel::after {
  position: absolute;
  right: -5rem;
  bottom: -6rem;
  width: 15rem;
  height: 15rem;
  border: 1px solid rgba(79, 201, 189, 0.25);
  border-radius: 50%;
  content: "";
}

.sils-careers-hero__panel-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 17px;
  background: rgba(79, 201, 189, 0.13);
  color: var(--sils-aqua);
}

.sils-careers-hero__panel-icon svg {
  width: 30px;
  height: 30px;
}

.sils-careers-hero__panel .sils-kicker {
  margin-top: 1.4rem;
  margin-bottom: 0.7rem;
  color: var(--sils-aqua);
}

.sils-careers-hero__panel h2 {
  position: relative;
  z-index: 1;
  max-width: 18ch;
  margin: 0;
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
}

.sils-careers-hero__panel ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.8rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.sils-careers-hero__panel li {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  font-size: 0.9rem;
  line-height: 1.45;
}

.sils-careers-hero__panel li svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: var(--sils-aqua);
}

.sils-career-benefits,
.sils-career-process,
.sils-related-jobs {
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.sils-career-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 2.5rem;
  align-items: end;
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.sils-career-section-heading h2,
.sils-career-section-heading p {
  margin: 0;
}

.sils-career-section-heading h2 {
  color: var(--sils-navy);
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.sils-career-section-heading > p {
  color: #52676d;
  line-height: 1.65;
}

.sils-career-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.sils-career-benefits__grid article {
  min-width: 0;
  padding: 1.4rem;
  border: 1px solid rgba(18, 55, 61, 0.09);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
}

.sils-career-benefits__grid article > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-career-benefits__grid article > span svg {
  width: 24px;
  height: 24px;
}

.sils-career-benefits__grid h3 {
  margin: 1rem 0 0;
  color: var(--sils-navy);
  font-size: 1.12rem;
}

.sils-career-benefits__grid p {
  margin: 0.55rem 0 0;
  color: #5b6d72;
  font-size: 0.9rem;
  line-height: 1.6;
}

.sils-jobs-section {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
  background:
    linear-gradient(180deg, rgba(231, 247, 243, 0.6), rgba(246, 248, 247, 0.75)),
    #f7faf9;
}

.sils-job-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}

.sils-job-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(18, 55, 61, 0.1);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(18, 55, 61, 0.07);
  transition: transform var(--sils-transition), box-shadow var(--sils-transition), border-color var(--sils-transition);
}

.sils-job-card:hover {
  transform: translateY(-4px);
  border-color: rgba(10, 143, 134, 0.25);
  box-shadow: 0 22px 55px rgba(18, 55, 61, 0.12);
}

.sils-job-card.is-featured {
  border-color: rgba(246, 111, 91, 0.35);
}

.sils-job-card__top {
  display: flex;
  min-height: 106px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
  background:
    radial-gradient(circle at 92% 0%, rgba(79, 201, 189, 0.28), transparent 8rem),
    linear-gradient(135deg, var(--sils-navy), #145d60);
}

.sils-job-card.is-featured .sils-job-card__top {
  background:
    radial-gradient(circle at 92% 0%, rgba(242, 199, 92, 0.3), transparent 8rem),
    linear-gradient(135deg, var(--sils-navy), #4f3d32);
}

.sils-job-card__icon {
  display: grid;
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--sils-aqua);
}

.sils-job-card__icon svg {
  width: 27px;
  height: 27px;
}

.sils-job-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.sils-job-status,
.sils-job-featured,
.sils-job-single__badges > span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0.38rem 0.68rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

.sils-job-status--open {
  background: #dff8e9;
  color: #176b43;
}

.sils-job-status--closing {
  background: #fff1cc;
  color: #7a5412;
}

.sils-job-status--closed {
  background: #eef1f1;
  color: #526369;
}

.sils-job-featured {
  background: var(--sils-coral);
  color: #fff;
}

.sils-job-card__body {
  flex: 1 1 auto;
  padding: 1.35rem 1.35rem 1.1rem;
}

.sils-job-card__reference {
  margin: 0 0 0.75rem;
  color: var(--sils-teal);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sils-job-card h3 {
  margin: 0;
  color: var(--sils-navy);
  font-size: clamp(1.35rem, 2.3vw, 1.72rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.sils-job-card h3 a {
  color: inherit;
  text-decoration: none;
}

.sils-job-card h3 a:hover {
  color: var(--sils-teal);
}

.sils-job-card__meta {
  display: grid;
  gap: 0.55rem;
  margin-top: 1rem;
}

.sils-job-card__meta span,
.sils-job-single__meta span {
  display: flex;
  min-width: 0;
  gap: 0.55rem;
  align-items: flex-start;
  color: #52666c;
  font-size: 0.82rem;
  line-height: 1.4;
}

.sils-job-card__meta svg,
.sils-job-single__meta svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.08rem;
  color: var(--sils-teal);
}

.sils-job-card__excerpt {
  margin: 1rem 0 0;
  color: #5a6d72;
  font-size: 0.9rem;
  line-height: 1.65;
}

.sils-job-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.35rem 1.3rem;
  border-top: 1px solid var(--sils-line);
}

.sils-job-card__footer p {
  margin: 0;
  color: #6b7c81;
  font-size: 0.68rem;
  line-height: 1.3;
}

.sils-job-card__footer p span,
.sils-job-card__footer p strong {
  display: block;
}

.sils-job-card__footer p strong {
  margin-top: 0.2rem;
  color: var(--sils-navy);
  font-size: 0.76rem;
}

.sils-job-card__link,
.sils-career-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--sils-teal);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.sils-job-card__link:hover,
.sils-career-text-link:hover {
  color: var(--sils-navy);
}

.sils-job-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 2rem;
}

.sils-job-pagination .page-numbers {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--sils-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  font-weight: 700;
  text-decoration: none;
}

.sils-job-pagination .current,
.sils-job-pagination a:hover {
  border-color: var(--sils-teal);
  background: var(--sils-teal);
  color: #fff;
}

.sils-jobs-empty {
  max-width: 700px;
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 3.5rem);
  border: 1px solid rgba(10, 143, 134, 0.14);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
  text-align: center;
}

.sils-jobs-empty > span {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  margin-inline: auto;
  border-radius: 18px;
  background: var(--sils-mint);
  color: var(--sils-teal);
}

.sils-jobs-empty > span svg {
  width: 31px;
  height: 31px;
}

.sils-jobs-empty h3 {
  margin: 1rem 0 0;
  color: var(--sils-navy);
  font-size: 1.7rem;
}

.sils-jobs-empty p {
  max-width: 56ch;
  margin: 0.75rem auto 0;
  color: #5b6f74;
  line-height: 1.65;
}

.sils-career-process ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sils-career-process li {
  display: flex;
  gap: 0.9rem;
  padding: 1.2rem;
  border: 1px solid rgba(18, 55, 61, 0.09);
  border-radius: 18px;
  background: #fff;
}

.sils-career-process li > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--sils-navy);
  color: #fff;
  font-weight: 800;
}

.sils-career-process h3,
.sils-career-process p {
  margin: 0;
}

.sils-career-process h3 {
  color: var(--sils-navy);
  font-size: 1rem;
}

.sils-career-process p {
  margin-top: 0.45rem;
  color: #607277;
  font-size: 0.82rem;
  line-height: 1.55;
}

.sils-career-application {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: var(--sils-navy);
}

.sils-career-application::after {
  position: absolute;
  right: -12rem;
  bottom: -15rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(79, 201, 189, 0.22);
  border-radius: 50%;
  content: "";
}

.sils-career-application__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}

.sils-career-application__intro {
  position: sticky;
  top: calc(var(--sils-admin-bar-offset, 0px) + 10rem);
}

.sils-career-application__intro .sils-eyebrow {
  color: var(--sils-aqua);
}

.sils-career-application__intro h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.2rem, 4.5vw, 2rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.sils-career-application__intro > p:not(.sils-eyebrow) {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.sils-career-application__notice {
  display: flex;
  gap: 0.85rem;
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(79, 201, 189, 0.2);
  border-radius: 16px;
  background: rgba(79, 201, 189, 0.08);
  color: rgba(255, 255, 255, 0.72);
}

.sils-career-application__notice svg {
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  color: var(--sils-aqua);
}

.sils-career-application__notice p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.55;
}

.sils-career-application__notice strong {
  color: #fff;
}

.sils-career-application__form {
  padding: clamp(1.25rem, 4vw, 2.2rem);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.2);
}

.sils-job-application-form {
  margin: 0;
}

.sils-job-application-form .sils-file-field input[type="file"] {
  padding: 0.55rem;
  border: 1px dashed rgba(10, 143, 134, 0.35);
  border-radius: 12px;
  background: var(--sils-mint);
}

.sils-job-application-form [data-sils-file-name].has-file {
  color: var(--sils-teal);
  font-weight: 700;
}

.sils-job-application-form .sils-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

.sils-career-external,
.sils-career-closed {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1.2rem;
  align-items: center;
  margin-block: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid rgba(10, 143, 134, 0.15);
  border-radius: 22px;
  background: var(--sils-mint);
}

.sils-career-external > span,
.sils-career-closed > span {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 16px;
  background: #fff;
  color: var(--sils-teal);
}

.sils-career-external > span svg,
.sils-career-closed > span svg {
  width: 28px;
  height: 28px;
}

.sils-career-external h2,
.sils-career-external p,
.sils-career-closed h2,
.sils-career-closed p {
  margin: 0;
}

.sils-career-external h2,
.sils-career-closed h2 {
  color: var(--sils-navy);
  font-size: 1.55rem;
}

.sils-career-external h2 + p,
.sils-career-closed h2 + p {
  margin-top: 0.4rem;
  color: #586c72;
}

.sils-job-single__hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.8rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 90% 10%, rgba(79, 201, 189, 0.25), transparent 27rem),
    linear-gradient(135deg, #f3fbf9, #fff 65%);
}

.sils-job-single__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(310px, 0.72fr);
  gap: clamp(2.2rem, 6vw, 5rem);
  align-items: center;
}

.sils-job-single__hero-inner .sils-breadcrumbs {
  grid-column: 1 / -1;
  margin-bottom: -0.8rem;
}

.sils-job-single__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.2rem;
}

.sils-job-single__badges > span:not(.sils-job-status) {
  background: #fff;
  color: var(--sils-navy);
  box-shadow: 0 5px 18px rgba(18, 55, 61, 0.08);
}

.sils-job-single__hero-copy h1 {
  max-width: 17ch;
  margin: 0;
  color: var(--sils-navy);
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.sils-job-single__lead {
  max-width: 62ch;
  margin: 1.2rem 0 0;
  color: #4c6268;
  font-size: clamp(1.02rem, 1.4vw, 1.17rem);
  line-height: 1.7;
}

.sils-job-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.2rem;
  margin-top: 1.3rem;
}

.sils-job-single__visual {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  border-radius: 28px;
  background: var(--sils-navy);
  box-shadow: 0 28px 70px rgba(18, 55, 61, 0.18);
}

.sils-job-single__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sils-job-single__visual-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
  background:
    radial-gradient(circle at 80% 12%, rgba(79, 201, 189, 0.32), transparent 12rem),
    linear-gradient(145deg, var(--sils-navy), #0d6162);
  color: rgba(255, 255, 255, 0.75);
}

.sils-job-single__visual-placeholder > span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  margin-bottom: auto;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--sils-aqua);
}

.sils-job-single__visual-placeholder svg {
  width: 32px;
  height: 32px;
}

.sils-job-single__visual-placeholder strong {
  color: #fff;
  font-size: 1.55rem;
}

.sils-job-single__visual-placeholder p {
  max-width: 30ch;
  margin: 0.55rem 0 0;
  line-height: 1.55;
}

.sils-job-single__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 0.38fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.sils-job-prose {
  color: #40565c;
  font-size: 1rem;
  line-height: 1.75;
}

.sils-job-prose > :first-child {
  margin-top: 0;
}

.sils-job-prose h2,
.sils-job-prose h3 {
  color: var(--sils-navy);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.sils-job-prose h2 {
  margin-top: 2.5rem;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
}

.sils-job-prose li + li {
  margin-top: 0.55rem;
}

.sils-job-detail-panel {
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(10, 143, 134, 0.14);
  border-radius: 20px;
  background: linear-gradient(135deg, var(--sils-mint), #fff);
}

.sils-job-detail-panel h2 {
  margin: 0;
  color: var(--sils-navy);
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.sils-job-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.sils-job-check-list li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  color: #425a60;
  font-size: 0.9rem;
  line-height: 1.45;
}

.sils-job-check-list svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: var(--sils-teal);
}

.sils-job-shift-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.2rem;
}

.sils-job-shift-tags span {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.65rem 0.8rem;
  border: 1px solid rgba(10, 143, 134, 0.16);
  border-radius: 999px;
  background: #fff;
  color: var(--sils-navy);
  font-size: 0.82rem;
  font-weight: 700;
}

.sils-job-shift-tags svg {
  width: 1rem;
  height: 1rem;
  color: var(--sils-teal);
}

.sils-job-single__sidebar {
  position: sticky;
  top: calc(var(--sils-admin-bar-offset, 0px) + 9.5rem);
  display: grid;
  gap: 1rem;
}

.sils-job-summary-card {
  padding: 1.4rem;
  border: 1px solid rgba(18, 55, 61, 0.1);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--sils-shadow-card);
}

.sils-job-summary-card h2 {
  margin: 0;
  color: var(--sils-navy);
  font-size: 1.55rem;
}

.sils-job-summary-card dl {
  display: grid;
  gap: 0;
  margin: 1rem 0 1.25rem;
}

.sils-job-summary-card dl > div {
  display: grid;
  gap: 0.2rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--sils-line);
}

.sils-job-summary-card dt {
  color: #718085;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sils-job-summary-card dd {
  margin: 0;
  color: var(--sils-navy);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
}

.sils-job-summary-card .sils-career-button {
  width: 100%;
}

.sils-job-privacy-card {
  display: flex;
  gap: 0.8rem;
  padding: 1rem;
  border-radius: 18px;
  background: var(--sils-mint);
}

.sils-job-privacy-card > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: #fff;
  color: var(--sils-teal);
}

.sils-job-privacy-card svg {
  width: 21px;
  height: 21px;
}

.sils-job-privacy-card h2,
.sils-job-privacy-card p {
  margin: 0;
}

.sils-job-privacy-card h2 {
  color: var(--sils-navy);
  font-size: 0.95rem;
}

.sils-job-privacy-card p {
  margin-top: 0.35rem;
  color: #617378;
  font-size: 0.76rem;
  line-height: 1.5;
}

.sils-related-jobs .sils-career-section-heading {
  align-items: center;
}

@media (max-width: 1100px) {
  .sils-career-benefits__grid,
  .sils-career-process ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sils-job-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .sils-careers-hero__inner,
  .sils-job-single__hero-inner {
    grid-template-columns: 1fr;
  }

  .sils-careers-hero__copy h1,
  .sils-job-single__hero-copy h1 {
    max-width: 16ch;
  }

  .sils-careers-hero__panel {
    max-width: 760px;
  }

  .sils-job-single__visual {
    min-height: 350px;
  }

  .sils-job-single__layout {
    grid-template-columns: minmax(0, 1fr) minmax(270px, 0.42fr);
  }
}

@media (max-width: 820px) {
  .sils-career-section-heading,
  .sils-career-application__inner,
  .sils-job-single__layout {
    grid-template-columns: 1fr;
  }

  .sils-career-section-heading {
    gap: 1rem;
  }

  .sils-career-application__intro,
  .sils-job-single__sidebar {
    position: static;
  }

  .sils-job-single__sidebar {
    grid-row: 1;
  }

  .sils-job-summary-card .sils-career-button {
    width: auto;
  }
}

@media (max-width: 680px) {
  .sils-careers-hero,
  .sils-job-single__hero {
    padding-block: 2.4rem 3.2rem;
  }

  .sils-careers-hero__inner .sils-breadcrumbs,
  .sils-job-single__hero-inner .sils-breadcrumbs {
    margin-bottom: 0;
  }

  .sils-careers-hero__copy h1,
  .sils-job-single__hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 4rem);
  }

  .sils-careers-hero__stats {
    gap: 0.4rem;
  }

  .sils-careers-hero__stats > div {
    padding: 0.65rem 0.55rem;
  }

  .sils-careers-hero__stats strong {
    font-size: 1.05rem;
  }

  .sils-careers-hero__stats span {
    font-size: 0.58rem;
  }

  .sils-career-benefits__grid,
  .sils-career-process ol,
  .sils-job-grid,
  .sils-job-check-list {
    grid-template-columns: 1fr;
  }

  .sils-job-card__footer {
    align-items: center;
  }

  .sils-career-external,
  .sils-career-closed {
    grid-template-columns: 1fr;
  }

  .sils-job-single__visual {
    min-height: 290px;
  }
}

@media (max-width: 520px) {
  .sils-careers-archive .alignwide,
  .sils-job-single .alignwide {
    width: min(calc(100% - 2rem), var(--sils-wide-size));
  }

  .sils-careers-hero__actions,
  .sils-job-single__actions,
  .sils-careers-hero__actions .sils-career-button,
  .sils-job-single__actions .sils-career-button {
    width: 100%;
  }

  .sils-careers-hero__panel {
    border-radius: 22px;
  }

  .sils-career-benefits,
  .sils-career-process,
  .sils-related-jobs {
    padding-block: 3rem;
  }

  .sils-job-card__top {
    min-height: 96px;
    padding: 1rem;
  }

  .sils-job-card__body,
  .sils-job-card__footer {
    padding-inline: 1rem;
  }

  .sils-job-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .sils-job-card__link {
    min-height: 40px;
  }

  .sils-career-application__form {
    padding: 1rem;
    border-radius: 18px;
  }

  .sils-job-summary-card .sils-career-button {
    width: 100%;
  }
}

@media print {
  .sils-careers-hero__actions,
  .sils-job-single__actions,
  .sils-career-application,
  .sils-related-jobs,
  .sils-job-single__sidebar .sils-career-button {
    display: none !important;
  }

  .sils-job-single__hero,
  .sils-job-detail-panel {
    background: #fff !important;
  }

  .sils-job-single__layout {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 420px) {
  .sils-mobile-nav-actions__row {
    grid-template-columns: minmax(0, 1fr) 108px;
  }

  .sils-mobile-nav-ndis-logo {
    width: 108px;
    padding-inline: 0.35rem;
  }

  .sils-mobile-nav-ndis-logo img {
    width: 96px;
  }
}

/* --------------------------------------------------------------------------
 * Dynamic site branding — v1.4.4
 * -------------------------------------------------------------------------- */
@media (max-width: 1360px) {
  .sils-brand--custom .sils-brand__logo--custom {
    max-width: min(220px, 48vw);
    max-height: 56px;
  }
}

@media (max-width: 620px) {
  .sils-brand--custom .sils-brand__logo--custom {
    max-width: min(185px, 55vw);
    max-height: 48px;
  }
}

@media (max-width: 420px) {
  .sils-brand--custom .sils-brand__logo--custom {
    width: auto;
    max-width: min(165px, 52vw);
    height: auto;
    max-height: 44px;
  }
}

/* --------------------------------------------------------------------------
 * Header alignment refinement — v1.4.3
 * -------------------------------------------------------------------------- */
@media (min-width: 1361px) {
  .sils-site-header .sils-header-main {
    grid-template-columns: minmax(205px, 0.9fr) minmax(690px, 2.7fr) auto;
  }

  .sils-primary-nav,
  .sils-primary-nav .wp-block-navigation__responsive-container,
  .sils-primary-nav .wp-block-navigation__responsive-container-content,
  .sils-primary-nav .wp-block-navigation__container {
    min-width: 0;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container {
    position: static !important;
    display: flex !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-content,
  .sils-primary-nav .wp-block-navigation__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .sils-primary-nav .wp-block-navigation__responsive-container-open,
  .sils-primary-nav .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  .sils-primary-nav .wp-block-navigation-item {
    flex: 0 0 auto;
  }

  .sils-header-actions {
    flex: 0 0 auto;
  }
}

@media (max-width: 1360px) {
  .sils-site-header .sils-header-main {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 620px) {
  :root {
    --sils-header-gutter: 1.5rem;
  }
}

@media (max-width: 420px) {
  :root {
    --sils-header-gutter: 1.25rem;
  }
}

/* --------------------------------------------------------------------------
 * Group Home card media hardening - v1.4.5
 * Uses one background-image surface per property card. This prevents image
 * lazy-load/optimisation wrappers from creating a second empty image box.
 * -------------------------------------------------------------------------- */
.sils-group-homes-archive-page .sils-home-card__media {
  position: relative;
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden;
  background: #dcece8;
}

.sils-group-homes-archive-page .sils-home-card__image-frame {
  position: absolute !important;
  z-index: 0;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  background-color: #dcece8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 0;
}

.sils-group-homes-archive-page .sils-home-card__image-frame--photo {
  transform: scale(1.001);
  transition: transform 400ms ease;
}

.sils-group-homes-archive-page .sils-home-card:hover .sils-home-card__image-frame--photo {
  transform: scale(1.025);
}

.sils-group-homes-archive-page .sils-home-card__image-frame--placeholder .sils-home-card__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

/* Old image/picture markup must never reserve another row if it is injected
   by an optimisation plugin or remains in a stale fragment cache. */
.sils-group-homes-archive-page .sils-home-card__media > img,
.sils-group-homes-archive-page .sils-home-card__media > picture,
.sils-group-homes-archive-page .sils-home-card__media > noscript,
.sils-group-homes-archive-page .sils-home-card__image-frame > img,
.sils-group-homes-archive-page .sils-home-card__image-frame > picture,
.sils-group-homes-archive-page .sils-home-card__image-frame > noscript {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
  aspect-ratio: 16 / 7.2 !important;
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-home-card__media,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 10 !important;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-home-card__media,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 4 / 3 !important;
  }
}

/* Homepage hero video (1.4.8). */
.sils-hero-art--video {
  min-height: clamp(500px, 39vw, 590px);
}

.sils-hero-art--video .sils-hero-art__panel {
  background: #0b353a;
}

.sils-hero-art--video .sils-hero-art__panel::after {
  z-index: 2;
  pointer-events: none;
}

.sils-hero-art__video,
.sils-hero-art__video-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.sils-hero-art__video {
  z-index: 0;
  display: block;
  border: 0;
  object-fit: cover;
  object-position: center;
  background: #0b353a;
}

.sils-hero-art__video-shade {
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4, 29, 33, 0.04) 42%, rgba(4, 29, 33, 0.72) 100%),
    linear-gradient(90deg, rgba(4, 29, 33, 0.2), transparent 44%);
}

.sils-hero-art__video-caption {
  position: absolute;
  z-index: 3;
  right: 5.25rem;
  bottom: 1.3rem;
  left: 1.4rem;
  color: #fff;
  font-size: clamp(0.76rem, 1.3vw, 0.9rem);
  font-weight: 800;
  letter-spacing: 0.035em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.sils-hero-video-toggle {
  position: absolute;
  z-index: 4;
  right: 1.25rem;
  bottom: 1.05rem;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: rgba(8, 48, 52, 0.82);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: transform 180ms ease, background 180ms ease;
}

.sils-hero-video-toggle:hover,
.sils-hero-video-toggle:focus-visible {
  background: var(--sils-coral, #f66f5b);
  transform: translateY(-2px);
}

.sils-hero-video-toggle svg {
  display: block;
  width: 20px;
  height: 20px;
}

.sils-hero-video-toggle__play {
  display: none;
}

.sils-hero-art--video.is-video-paused .sils-hero-video-toggle__pause {
  display: none;
}

.sils-hero-art--video.is-video-paused .sils-hero-video-toggle__play {
  display: block;
}

@media (max-width: 1080px) {
  .sils-hero-art--video {
    min-height: 470px;
  }
}

@media (max-width: 860px) {
  .sils-hero-art--video {
    width: min(100%, 720px);
    min-height: clamp(390px, 63vw, 510px);
  }
}

@media (max-width: 620px) {
  .sils-hero-art--video {
    min-height: 390px;
  }

  .sils-hero-art--video .sils-hero-art__panel {
    inset: 0.75rem 0 0.75rem 0.35rem;
  }

  .sils-hero-art__video-caption {
    right: 4.6rem;
    bottom: 1rem;
    left: 1rem;
    font-size: 0.72rem;
  }

  .sils-hero-video-toggle {
    right: 0.85rem;
    bottom: 0.75rem;
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sils-hero-video-toggle {
    transition: none;
  }
}

/* --------------------------------------------------------------------------
 * Homepage featured Group Homes section - v1.4.7
 * Gives the homepage section a clear visual hierarchy and ensures every card
 * has one, and only one, responsive image surface.
 * -------------------------------------------------------------------------- */
.sils-home-card__image-frame {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background-color: #dcece8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 0;
}

.sils-home-card__image-frame--photo {
  transform: scale(1.001);
  transition: transform 400ms ease;
}

.sils-home-card:hover .sils-home-card__image-frame--photo {
  transform: scale(1.025);
}

.sils-home-card__image-frame--placeholder .sils-home-card__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

.sils-featured-homes {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 6% 10%, rgba(79, 201, 189, 0.17), transparent 23rem),
    radial-gradient(circle at 95% 90%, rgba(246, 111, 91, 0.1), transparent 20rem),
    linear-gradient(180deg, #f8fcfb 0%, #ffffff 48%, #f5faf9 100%);
}

.sils-featured-homes::before {
  position: absolute;
  top: 5.5rem;
  right: -7rem;
  width: 18rem;
  height: 18rem;
  border: 1px solid rgba(10, 143, 134, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.sils-featured-homes__inner {
  position: relative;
  z-index: 1;
}

.sils-featured-homes__heading {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-bottom: clamp(1.75rem, 4vw, 3rem);
  padding: clamp(1.6rem, 4vw, 3.25rem);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    radial-gradient(circle at 92% 20%, rgba(79, 201, 189, 0.2), transparent 15rem),
    linear-gradient(135deg, #0c3c42, #12373d 68%, #0c3035);
  box-shadow: 0 24px 60px rgba(18, 55, 61, 0.16);
  color: #fff;
}

.sils-featured-homes__heading::after {
  position: absolute;
  right: -4.5rem;
  bottom: -6rem;
  width: 14rem;
  height: 14rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.sils-featured-homes__title-wrap,
.sils-featured-homes__intro {
  position: relative;
  z-index: 1;
}

.sils-featured-homes__heading .sils-eyebrow {
  margin: 0 0 0.75rem;
  color: #85ded4;
}

.sils-featured-homes__heading h2 {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.55rem);
  line-height: 1.02;
}

.sils-featured-homes__intro {
  display: grid;
  gap: 1.2rem;
}

.sils-featured-homes__intro > p {
  max-width: 50ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(0.9rem, 1.25vw, 1rem);
  line-height: 1.72;
}

.sils-featured-homes__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.sils-featured-homes__actions .sils-home-button {
  min-height: 46px;
  border-color: #4fc9bd;
  background: #4fc9bd;
  color: #092e33;
}

.sils-featured-homes__actions .sils-home-button:hover,
.sils-featured-homes__actions .sils-home-button:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #12373d;
}

.sils-featured-homes__actions .sils-home-button--outline {
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.sils-featured-homes__grid {
  align-items: stretch;
}

.sils-featured-homes__grid.sils-home-grid--count-1 {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}

.sils-featured-homes__grid.sils-home-grid--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 980px;
  margin-inline: auto;
}

.sils-featured-homes .sils-home-card {
  height: 100%;
  border-color: rgba(18, 55, 61, 0.1);
  box-shadow: 0 16px 38px rgba(18, 55, 61, 0.1);
}

.sils-featured-homes .sils-home-card__media {
  width: 100%;
  min-height: 0;
  aspect-ratio: 3 / 2;
  background: #dcece8;
}

.sils-featured-homes .sils-home-card__body {
  min-height: 0;
}

.sils-featured-homes .sils-home-status--on_enquiry {
  background: #f66f5b;
  color: #fff;
}

@media (max-width: 1000px) {
  .sils-featured-homes__heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sils-featured-homes__heading h2 {
    max-width: 15ch;
  }

  .sils-featured-homes__grid,
  .sils-featured-homes__grid.sils-home-grid--count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
  }

  .sils-featured-homes__grid .sils-home-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: min(100%, 620px);
    justify-self: center;
  }
}

@media (max-width: 700px) {
  .sils-featured-homes__heading {
    gap: 1.35rem;
    padding: 1.5rem;
    border-radius: 24px;
  }

  .sils-featured-homes__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sils-featured-homes__actions .sils-home-button {
    width: 100%;
  }

  .sils-featured-homes__grid,
  .sils-featured-homes__grid.sils-home-grid--count-1,
  .sils-featured-homes__grid.sils-home-grid--count-2 {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .sils-featured-homes__grid .sils-home-card:last-child:nth-child(odd) {
    grid-column: auto;
    width: 100%;
  }

  .sils-featured-homes .sils-home-card__media {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 420px) {
  .sils-featured-homes__heading {
    padding: 1.25rem;
  }

  .sils-featured-homes__heading h2 {
    font-size: clamp(1.85rem, 10vw, 2.4rem);
  }
}

/* --------------------------------------------------------------------------
 * Group Home card media correction - v1.4.11
 * Renders one real responsive image inside each card. The media link no longer
 * uses the same photo as a CSS background, which prevents the house image from
 * appearing twice when browser or optimisation markup is added.
 * -------------------------------------------------------------------------- */
.sils-home-card__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
  background-color: #dcece8 !important;
  background-image: none !important;
  line-height: 0;
  isolation: isolate;
}

/* The WordPress responsive image is the only visible photo surface. */
.sils-home-card__media > img.sils-home-card__image,
.sils-home-card__media > picture,
.sils-home-card__media > picture > img,
.sils-home-card__media picture > img.sils-home-card__image {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.sils-home-card__media > picture {
  overflow: hidden !important;
}

/* Some image optimisation plugins leave the original IMG beside a generated
   PICTURE element. Keep the PICTURE and suppress the duplicated original. */
.sils-home-card__media:has(> picture) > img.sils-home-card__image,
.sils-home-card__media > picture ~ img,
.sils-home-card__media > img.sils-home-card__image ~ picture,
.sils-home-card__media > img.sils-home-card__image ~ img {
  display: none !important;
}

/* Old fragment caches can contain the retired image-frame wrapper. It must not
   become a second photo row beneath the current Featured Image. */
.sils-home-card__media > .sils-home-card__image-frame,
.sils-home-card__media > noscript {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sils-home-card__media--placeholder .sils-home-card__placeholder {
  position: absolute !important;
  z-index: 0;
  inset: 0 !important;
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  place-content: center;
}

.sils-home-card__media::after {
  position: absolute !important;
  z-index: 1;
  inset: 0 !important;
  display: block;
  width: auto !important;
  height: auto !important;
  background: linear-gradient(180deg, transparent 48%, rgba(7, 35, 39, 0.62) 100%);
  content: "";
  pointer-events: none;
}

.sils-home-card__badges,
.sils-home-card__media-meta {
  position: absolute;
  z-index: 2;
}

.sils-home-card__badges {
  top: 0.9rem;
  right: 0.9rem;
  left: 0.9rem;
}

.sils-home-card__media-meta {
  right: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
}

.sils-home-card:hover .sils-home-card__image,
.sils-home-card:focus-within .sils-home-card__image {
  transform: scale(1.025);
}

.sils-home-card__image {
  transition: transform 350ms ease;
}

/* Keep the requested coral treatment visible on every listing surface. */
.sils-home-status--on_enquiry {
  border-color: rgba(255, 255, 255, 0.3);
  background: #f66f5b;
  color: #fff;
}

/* The archive and location pages use the same clean card construction. */
.sils-group-homes-archive-page .sils-home-card,
.sils-group-homes-archive-page .sils-home-card--spotlight {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
  aspect-ratio: 16 / 7.2 !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__body {
  width: 100%;
  min-height: 0;
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-home-card__media,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 16 / 10 !important;
  }
}

@media (max-width: 700px) {
  .sils-featured-homes .sils-home-card__media {
    aspect-ratio: 4 / 3 !important;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-home-card__media,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  .sils-home-card__badges {
    top: 0.7rem;
    right: 0.7rem;
    left: 0.7rem;
  }

  .sils-home-card__media-meta {
    right: 0.7rem;
    bottom: 0.7rem;
    left: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sils-home-card__image {
    transition: none;
  }

  .sils-home-card:hover .sils-home-card__image,
  .sils-home-card:focus-within .sils-home-card__image {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
 * Definitive Group Home card photo surface - v1.4.12
 *
 * This uses a new class name so earlier image-frame/background experiments can
 * no longer affect the current cards. Both the homepage and /group-homes/ use
 * this same component. Exactly one IMG is rendered inside this element.
 * -------------------------------------------------------------------------- */
.sils-property-card-photo {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 0;
  background: #dcece8;
  line-height: 0;
  isolation: isolate;
}

.sils-property-card-photo__img,
.sils-property-card-photo > picture,
.sils-property-card-photo > picture > img {
  position: absolute !important;
  z-index: 0;
  inset: 0;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 350ms ease;
}

/* Hide an original IMG only when an optimisation plugin has inserted a PICTURE
   beside it. The JavaScript fallback also covers plugin-specific wrappers. */
.sils-property-card-photo > picture ~ img,
.sils-property-card-photo > img ~ picture,
.sils-property-card-photo > img ~ img,
.sils-property-card-photo > noscript {
  display: none !important;
}

.sils-property-card-photo::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 39, 0.02) 42%, rgba(7, 35, 39, 0.64) 100%);
  content: "";
  pointer-events: none;
}

.sils-property-card-photo--placeholder .sils-home-card__placeholder {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

.sils-home-card:hover .sils-property-card-photo__img,
.sils-home-card:focus-within .sils-property-card-photo__img {
  transform: scale(1.025);
}

/* The existing overlay classes remain inside the new photo surface. */
.sils-property-card-photo .sils-home-card__badges,
.sils-property-card-photo .sils-home-card__media-meta {
  position: absolute;
  z-index: 2;
}

.sils-property-card-photo .sils-home-card__badges {
  top: 0.9rem;
  right: 0.9rem;
  left: 0.9rem;
}

.sils-property-card-photo .sils-home-card__media-meta {
  right: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-property-card-photo {
  aspect-ratio: 16 / 7.2;
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-property-card-photo {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-property-card-photo,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-property-card-photo {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 700px) {
  .sils-featured-homes .sils-property-card-photo {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-property-card-photo,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-property-card-photo {
    aspect-ratio: 4 / 3;
  }

  .sils-property-card-photo .sils-home-card__badges {
    top: 0.7rem;
    right: 0.7rem;
    left: 0.7rem;
  }

  .sils-property-card-photo .sils-home-card__media-meta {
    right: 0.7rem;
    bottom: 0.7rem;
    left: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sils-property-card-photo__img {
    transition: none;
  }

  .sils-home-card:hover .sils-property-card-photo__img,
  .sils-home-card:focus-within .sils-property-card-photo__img {
    transform: none;
  }
}



/* --------------------------------------------------------------------------
 * Final Group Home card cover - v1.4.13
 *
 * The card photo is a CSS background on one dedicated link. There is no IMG,
 * PICTURE, lazy-load placeholder or image-frame element in the listing markup,
 * so a second photo-sized row cannot be created by optimisation plugins.
 * -------------------------------------------------------------------------- */
.sils-home-cover-link {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 0;
  background-color: #dcece8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 0;
  isolation: isolate;
}

.sils-home-cover-link::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 39, 0.02) 42%, rgba(7, 35, 39, 0.64) 100%);
  content: "";
  pointer-events: none;
}

.sils-home-cover-link--placeholder .sils-home-card__placeholder {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

.sils-home-cover-link .sils-home-card__badges,
.sils-home-cover-link .sils-home-card__media-meta {
  position: absolute;
  z-index: 2;
}

.sils-home-cover-link .sils-home-card__badges {
  top: 0.9rem;
  right: 0.9rem;
  left: 0.9rem;
}

.sils-home-cover-link .sils-home-card__media-meta {
  right: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
}

/* Retired media components must never take space if stale cached markup is
   briefly served while caches are being purged. */
.sils-home-card > .sils-property-card-photo + .sils-home-cover-link,
.sils-home-card > .sils-home-card__media + .sils-home-cover-link,
.sils-home-card > .sils-home-card__image-frame + .sils-home-cover-link {
  margin-top: 0;
}

.sils-home-card > .sils-property-card-photo:has(+ .sils-home-cover-link),
.sils-home-card > .sils-home-card__media:has(+ .sils-home-cover-link),
.sils-home-card > .sils-home-card__image-frame:has(+ .sils-home-cover-link) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-cover-link {
  aspect-ratio: 16 / 7.2;
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-cover-link {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-home-cover-link,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-cover-link {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 700px) {
  .sils-featured-homes .sils-home-cover-link {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-home-cover-link,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-cover-link {
    aspect-ratio: 4 / 3;
  }

  .sils-home-cover-link .sils-home-card__badges {
    top: 0.7rem;
    right: 0.7rem;
    left: 0.7rem;
  }

  .sils-home-cover-link .sils-home-card__media-meta {
    right: 0.7rem;
    bottom: 0.7rem;
    left: 0.7rem;
  }
}

/* --------------------------------------------------------------------------
 * Single Group Home listing photo - v1.4.14
 *
 * Every card has one dedicated photo row. All retired photo components are
 * hidden at the direct-child level so cached markup or optimisation plugins
 * cannot leave a second image-sized box between the photo and the card body.
 * -------------------------------------------------------------------------- */
.sils-home-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.sils-home-card > .sils-listing-card-photo {
  position: relative;
  display: block !important;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 0;
  background-color: #dcece8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 0;
  isolation: isolate;
}

.sils-home-card > .sils-listing-card-photo::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 35, 39, 0.02) 42%, rgba(7, 35, 39, 0.64) 100%);
  content: "";
  pointer-events: none;
}

.sils-listing-card-photo--placeholder .sils-home-card__placeholder {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
}

.sils-listing-card-photo .sils-home-card__badges,
.sils-listing-card-photo .sils-home-card__media-meta {
  position: absolute;
  z-index: 2;
}

.sils-listing-card-photo .sils-home-card__badges {
  top: 0.9rem;
  right: 0.9rem;
  left: 0.9rem;
}

.sils-listing-card-photo .sils-home-card__media-meta {
  right: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
}

/* Retired listing-photo elements must never occupy a second row once the
   canonical photo surface is present or JavaScript has normalised stale markup. */
.sils-home-card:has(> .sils-listing-card-photo) > .sils-home-cover-link,
.sils-home-card:has(> .sils-listing-card-photo) > .sils-property-card-photo,
.sils-home-card:has(> .sils-listing-card-photo) > .sils-home-card__media,
.sils-home-card:has(> .sils-listing-card-photo) > .sils-home-card__image-frame,
.sils-home-card:has(> .sils-listing-card-photo) > picture,
.sils-home-card:has(> .sils-listing-card-photo) > img,
.sils-home-card:has(> .sils-listing-card-photo) > noscript,
.sils-home-card[data-sils-single-photo="true"] > .sils-home-cover-link,
.sils-home-card[data-sils-single-photo="true"] > .sils-property-card-photo,
.sils-home-card[data-sils-single-photo="true"] > .sils-home-card__media,
.sils-home-card[data-sils-single-photo="true"] > .sils-home-card__image-frame,
.sils-home-card[data-sils-single-photo="true"] > picture,
.sils-home-card[data-sils-single-photo="true"] > img,
.sils-home-card[data-sils-single-photo="true"] > noscript {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

.sils-home-card > .sils-listing-card-photo + .sils-home-card__body {
  margin-top: 0 !important;
}

.sils-group-homes-archive-page .sils-home-grid--single .sils-home-card > .sils-listing-card-photo {
  aspect-ratio: 16 / 7.2;
}

@media (max-width: 900px) {
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card > .sils-listing-card-photo {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 760px) {
  .sils-group-homes-archive-page .sils-home-card > .sils-listing-card-photo,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card > .sils-listing-card-photo {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 700px) {
  .sils-featured-homes .sils-home-card > .sils-listing-card-photo {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 520px) {
  .sils-group-homes-archive-page .sils-home-card > .sils-listing-card-photo,
  .sils-group-homes-archive-page .sils-home-grid--single .sils-home-card > .sils-listing-card-photo {
    aspect-ratio: 4 / 3;
  }

  .sils-listing-card-photo .sils-home-card__badges {
    top: 0.7rem;
    right: 0.7rem;
    left: 0.7rem;
  }

  .sils-listing-card-photo .sils-home-card__media-meta {
    right: 0.7rem;
    bottom: 0.7rem;
    left: 0.7rem;
  }
}

:root :where(.is-layout-flow) > *{
    margin-block-end: 0;
}




.has-global-padding{
    
    padding-right: 0px !important;
    padding-left: 0px !important;
}

/* Dynamic Services */
.sils-services-dynamic {
  padding-block: clamp(4rem, 7vw, 7rem);
}

.sils-service-card--dynamic {
  overflow: hidden;
}

.sils-service-card__overlay {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0;
  margin: 0 !important;
}

.sils-service-card--dynamic > *:not(.sils-service-card__overlay) {
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.sils-service-card__link {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  color: var(--sils-navy);
  font-size: 0.85rem;
  font-weight: 800;
}

.sils-services-dynamic__footer {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
}

.sils-services-empty {
  grid-column: 1 / -1;
  padding: 2rem;
  border: 1px dashed var(--sils-line);
  border-radius: 20px;
  background: #fff;
  text-align: center;
}

.sils-service-single__hero {
  padding: clamp(0.5rem, 7vw, 3rem) var(--wp--style--root--padding-right, 1.25rem);
  background: linear-gradient(135deg, #f0faf8 0%, #fff 58%, #fff3ef 100%);
}

.sils-service-single__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.85fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.sils-service-single__copy h1 {
  max-width: 800px;
  margin: 0 0 1rem;
  font-size: clamp(2.5rem, 6vw, 3rem);
  line-height: 1.02;
}

.sils-service-single__copy > .sils-card-icon {
  margin-top: 1.5rem;
  margin-bottom: 1.25rem;
}

.sils-service-single__lead {
  max-width: 720px;
  color: #4f6368;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.7;
}

.sils-service-single__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.sils-service-single__visual {
  overflow: hidden;
  min-height: 430px;
  border-radius: 32px;
  background: var(--sils-navy);
  box-shadow: var(--sils-shadow-soft);
}

.sils-service-single__image {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}

.sils-service-single__placeholder {
  display: grid;
  min-height: 430px;
  place-items: center;
  color: #fff;
}

.sils-service-single__placeholder svg {
  width: 120px;
  height: 120px;
  stroke-width: 1.2;
}

.sils-service-single__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-block: clamp(3rem, 7vw, 2rem);
}

.sils-service-single__cta {
  position: sticky;
  top: 2rem;
  padding: 2rem;
  border: 1px solid var(--sils-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--sils-shadow-soft);
}

.sils-service-single__cta h2 {
  margin-top: 0;
}

@media (max-width: 900px) {
  .sils-service-single__hero-inner,
  .sils-service-single__content {
    grid-template-columns: 1fr;
  }

  .sils-service-single__visual,
  .sils-service-single__image,
  .sils-service-single__placeholder {
    min-height: 340px;
  }

  .sils-service-single__cta {
    position: static;
  }
}


/* --------------------------------------------------------------------------
 * Dynamic content and shortcode shell width alignment - v1.5.2
 * Keeps shortcode-rendered sections on the same wide grid as the rest of the
 * website. The shortcode wrapper must not inherit the narrow content column.
 * -------------------------------------------------------------------------- */
.sils-full-width-shortcode,
body.sils-services-home-page .wp-block-shortcode,
body.sils-services-index-page .wp-block-shortcode,
body.sils-service-single-page .wp-block-shortcode,
body.sils-careers-archive-page .wp-block-shortcode,
body.sils-job-single-page .wp-block-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sils-services-dynamic .alignwide,
.sils-service-single .alignwide,
.sils-featured-homes .alignwide {
  box-sizing: border-box;
  width: min(calc(100% - var(--sils-shell-gutter)), var(--sils-wide-size)) !important;
  max-width: var(--sils-wide-size) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.sils-service-single__hero {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

@media (max-width: 520px) {
  .sils-services-dynamic .alignwide,
  .sils-service-single .alignwide,
  .sils-featured-homes .alignwide {
    width: min(calc(100% - 2rem), var(--sils-wide-size)) !important;
  }
}

/* --------------------------------------------------------------------------
 * Group home enquiry form: compact top flow
 * -------------------------------------------------------------------------- */
.sils-home-enquiry__form {
  height: auto !important;
  min-height: 0 !important;
  margin: -9rem 0 0 !important;
  padding: 0 !important;
  align-content: start !important;
  justify-content: stretch !important;
  grid-auto-rows: max-content;
}

.sils-home-enquiry__form > input[type="hidden"],
.sils-home-enquiry__form > .sils-honeypot {
  display: none !important;
}

.sils-home-enquiry__form > .sils-form-grid {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  .sils-home-enquiry__form {
    margin-top: 0.85rem !important;
  }
}


/* --------------------------------------------------------------------------
 * Single Group Home gallery slider refresh - v1.5.6
 * -------------------------------------------------------------------------- */
.sils-group-home-single-page .sils-home-gallery {
  width: 100%;
  min-width: 0;
  outline: none;
}

.sils-group-home-single-page .sils-home-gallery:focus-visible .sils-home-gallery__stage {
  outline: 3px solid rgba(10, 143, 134, 0.28);
  outline-offset: 4px;
}

.sils-group-home-single-page .sils-home-gallery__stage {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(10, 143, 134, 0.16);
  border-radius: 28px;
  background: var(--sils-cloud);
  box-shadow: 0 22px 58px rgba(8, 44, 49, 0.14);
  isolation: isolate;
}

.sils-group-home-single-page .sils-home-gallery__main {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 10.5;
  border-radius: inherit;
  background: #dfecea;
  box-shadow: none;
  cursor: zoom-in;
}

.sils-group-home-single-page .sils-home-gallery__main::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(5, 29, 33, 0.42) 100%);
  content: "";
  pointer-events: none;
}

.sils-group-home-single-page .sils-home-gallery__main > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: opacity 180ms ease, transform 550ms ease;
}

.sils-group-home-single-page .sils-home-gallery__main:hover > img {
  transform: scale(1.025);
}

.sils-group-home-single-page .sils-home-gallery__main > img.is-changing,
.sils-group-home-single-page .sils-home-lightbox img.is-changing {
  opacity: 0.42;
}

.sils-group-home-single-page .sils-home-gallery__open-label {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  gap: 0.48rem;
  align-items: center;
  padding: 0.62rem 0.82rem;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 999px;
  background: rgba(8, 37, 42, 0.84);
  color: #fff;
  font-size: 0.73rem;
  font-weight: 800;
  line-height: 1;
  backdrop-filter: blur(10px);
  transition: background 180ms ease, transform 180ms ease;
}

.sils-group-home-single-page .sils-home-gallery__main:hover .sils-home-gallery__open-label {
  background: var(--sils-teal);
  transform: translateY(-2px);
}

.sils-group-home-single-page .sils-home-gallery__open-label svg {
  width: 17px;
  height: 17px;
}

.sils-group-home-single-page .sils-home-gallery__count {
  position: absolute;
  z-index: 3;
  bottom: 1rem;
  left: 1rem;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.4rem 0.68rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  background: rgba(8, 37, 42, 0.76);
  color: #fff;
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0.04em;
  backdrop-filter: blur(10px);
}

.sils-group-home-single-page .sils-home-gallery__control {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(4, 31, 35, 0.2);
  color: var(--sils-navy);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.sils-group-home-single-page .sils-home-gallery__control:hover,
.sils-group-home-single-page .sils-home-gallery__control:focus-visible {
  background: var(--sils-teal);
  color: #fff;
  transform: translateY(-50%) scale(1.06);
}

.sils-group-home-single-page .sils-home-gallery__control--previous {
  left: 0.9rem;
}

.sils-group-home-single-page .sils-home-gallery__control--next {
  right: 0.9rem;
}

.sils-group-home-single-page .sils-home-gallery__control svg {
  width: 23px;
  height: 23px;
}

.sils-group-home-single-page .sils-home-gallery__thumbs {
  display: flex;
  gap: 0.72rem;
  overflow-x: auto;
  margin-top: 0.8rem;
  padding: 0.15rem 0.1rem 0.5rem;
  scroll-padding-inline: 0.1rem;
  scroll-snap-type: x proximity;
  scrollbar-color: rgba(10, 143, 134, 0.4) transparent;
  scrollbar-width: thin;
}

.sils-group-home-single-page .sils-home-gallery__thumbs a {
  position: relative;
  flex: 0 0 clamp(86px, 18%, 122px);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid transparent;
  border-radius: 14px;
  background: var(--sils-cloud);
  box-shadow: 0 5px 16px rgba(8, 44, 49, 0.08);
  opacity: 0.72;
  scroll-snap-align: start;
  transition: border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.sils-group-home-single-page .sils-home-gallery__thumbs a:hover,
.sils-group-home-single-page .sils-home-gallery__thumbs a:focus-visible,
.sils-group-home-single-page .sils-home-gallery__thumbs a.is-active {
  border-color: var(--sils-teal);
  opacity: 1;
  transform: translateY(-2px);
}

.sils-group-home-single-page .sils-home-gallery__thumbs a.is-active {
  box-shadow: 0 0 0 3px rgba(10, 143, 134, 0.13), 0 8px 20px rgba(8, 44, 49, 0.12);
}

.sils-group-home-single-page .sils-home-gallery__thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sils-group-home-single-page .sils-home-gallery__thumbs a > span {
  position: absolute;
  right: 0.35rem;
  bottom: 0.35rem;
  display: grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: rgba(5, 29, 33, 0.78);
  color: #fff;
  font-size: 0.61rem;
  font-weight: 800;
}

html.sils-gallery-open {
  overflow: hidden;
}

.sils-group-home-single-page .sils-home-lightbox {
  position: fixed;
  width: min(96vw, 1380px);
  max-width: none;
  height: min(94vh, 940px);
  max-height: none;
  padding: 3.8rem 4.8rem 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  background: rgba(4, 18, 21, 0.98);
  color: #fff;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.5);
}

.sils-group-home-single-page .sils-home-lightbox::backdrop {
  background: rgba(2, 12, 14, 0.9);
  backdrop-filter: blur(10px);
}

.sils-group-home-single-page .sils-home-lightbox > figure {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  margin: 0;
}

.sils-group-home-single-page .sils-home-lightbox figure > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  transition: opacity 180ms ease;
}

.sils-group-home-single-page .sils-home-lightbox figcaption {
  margin: 0.65rem 0 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.76rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-align: center;
}

.sils-group-home-single-page .sils-home-lightbox > img,
.sils-group-home-single-page .sils-home-lightbox > p {
  display: none;
}

.sils-group-home-single-page .sils-home-lightbox button {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
}

.sils-group-home-single-page .sils-home-lightbox button:hover,
.sils-group-home-single-page .sils-home-lightbox button:focus-visible {
  background: var(--sils-teal);
}

.sils-group-home-single-page .sils-home-lightbox__close {
  top: 0.75rem;
  right: 0.75rem;
}

.sils-group-home-single-page .sils-home-lightbox__previous {
  left: 1rem;
}

.sils-group-home-single-page .sils-home-lightbox__next {
  right: 1rem;
}

@media (max-width: 900px) {
  .sils-group-home-single-page .sils-home-single__hero {
    grid-template-columns: 1fr;
  }

  .sils-group-home-single-page .sils-home-gallery {
    width: 100%;
    max-width: none;
  }

  .sils-group-home-single-page .sils-home-gallery__main {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 620px) {
  .sils-group-home-single-page .sils-home-gallery__stage,
  .sils-group-home-single-page .sils-home-gallery__main {
    border-radius: 18px;
  }

  .sils-group-home-single-page .sils-home-gallery__main {
    aspect-ratio: 4 / 3;
  }

  .sils-group-home-single-page .sils-home-gallery__control {
    width: 40px;
    height: 40px;
  }

  .sils-group-home-single-page .sils-home-gallery__control--previous {
    left: 0.55rem;
  }

  .sils-group-home-single-page .sils-home-gallery__control--next {
    right: 0.55rem;
  }

  .sils-group-home-single-page .sils-home-gallery__count {
    bottom: 0.65rem;
    left: 0.65rem;
    min-height: 30px;
  }

  .sils-group-home-single-page .sils-home-gallery__open-label {
    right: 0.65rem;
    bottom: 0.65rem;
    min-height: 30px;
    padding: 0.48rem 0.62rem;
  }

  .sils-group-home-single-page .sils-home-gallery__open-label span {
    display: none;
  }

  .sils-group-home-single-page .sils-home-gallery__thumbs {
    gap: 0.55rem;
    margin-top: 0.65rem;
  }

  .sils-group-home-single-page .sils-home-gallery__thumbs a {
    flex-basis: 82px;
    border-radius: 10px;
  }

  .sils-group-home-single-page .sils-home-lightbox {
    width: 100vw;
    height: 100dvh;
    padding: 4rem 3.1rem 1.1rem;
    border-radius: 0;
  }

  .sils-group-home-single-page .sils-home-lightbox button {
    width: 42px;
    height: 42px;
  }

  .sils-group-home-single-page .sils-home-lightbox__previous {
    left: 0.35rem;
  }

  .sils-group-home-single-page .sils-home-lightbox__next {
    right: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sils-group-home-single-page .sils-home-gallery__main > img,
  .sils-group-home-single-page .sils-home-gallery__open-label,
  .sils-group-home-single-page .sils-home-gallery__control,
  .sils-group-home-single-page .sils-home-gallery__thumbs a,
  .sils-group-home-single-page .sils-home-lightbox figure > img {
    transition: none;
  }
}


/* =========================================================
   SIL SPECIALIST - REFERRAL FORM
   COMPACT / WEBSITE MATCH
   ========================================================= */

.sil-intake-form {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #e4e9e5;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(20, 55, 53, 0.06);
    color: #173f40;
}


/* =========================================================
   INTRO
   ========================================================= */

.sil-intake-intro {
    padding: 32px 40px 30px;
    background: #f4f7f3;
    border-bottom: 1px solid #e5e9e5;
}

.sil-intake-kicker {
    margin-bottom: 7px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #5c7770;
}

.sil-intake-intro h2 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -0.3px;
    font-weight: 700;
    color: #173f40;
}

.sil-intake-intro p {
    max-width: 650px;
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #71807b;
}


/* =========================================================
   FORM SECTIONS
   ========================================================= */

.sil-form-section {
    padding: 28px 40px;
    border-bottom: 1px solid #e9ece9;
}

.sil-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.sil-section-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    background: #edf3ee;
    color: #537269;
    font-size: 10px;
    font-weight: 700;
}

.sil-section-heading h3 {
    margin: 0 0 2px;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    color: #173f40;
}

.sil-section-heading p {
    margin: 0;
    font-size: 11px;
    line-height: 1.4;
    color: #89948f;
}


/* =========================================================
   FORM GRID
   ========================================================= */

.sil-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px 20px;
}

.sil-field {
    min-width: 0;
}

.sil-field label,
.sil-service-label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 650;
    color: #334b46;
}

.sil-field label span {
    color: #527269;
}


/* =========================================================
   INPUTS
   ========================================================= */

.sil-intake-form input[type="text"],
.sil-intake-form input[type="email"],
.sil-intake-form input[type="tel"],
.sil-intake-form input[type="date"],
.sil-intake-form select,
.sil-intake-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dce4df;
    border-radius: 8px;
    background: #ffffff;
    color: #31423e;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.4;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sil-intake-form input[type="text"],
.sil-intake-form input[type="email"],
.sil-intake-form input[type="tel"],
.sil-intake-form input[type="date"],
.sil-intake-form select {
    height: 42px;
}

.sil-intake-form textarea {
    min-height: 115px;
    resize: vertical;
}

.sil-intake-form input::placeholder,
.sil-intake-form textarea::placeholder {
    color: #a0aaa6;
    opacity: 1;
}

.sil-intake-form input:focus,
.sil-intake-form select:focus,
.sil-intake-form textarea:focus {
    outline: none;
    border-color: #6b877b;
    box-shadow: 0 0 0 2px rgba(107, 135, 123, .10);
}


/* =========================================================
   SERVICES
   ========================================================= */

.sil-service-label {
    margin-bottom: 9px;
}

.sil-services {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 0 0 20px !important;
}

.sil-services .wpcf7-list-item {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
}

.sil-services label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    box-sizing: border-box;
    padding: 7px 10px;
    margin: 0 !important;
    border: 1px solid #dfe6e1;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.3;
    color: #3e514b;
    transition: all .15s ease;
}

.sil-services label:hover {
    background: #f5f8f5;
    border-color: #8aa095;
}

.sil-services input[type="checkbox"] {
    width: 14px;
    height: 14px;
    min-width: 14px;
    margin: 0;
    accent-color: #52766c;
}


/* =========================================================
   MESSAGE
   ========================================================= */

.sil-message-field {
    margin-top: 3px;
}

.sil-field-help {
    margin: -1px 0 7px;
    font-size: 10px;
    line-height: 1.4;
    color: #89948f;
}


/* =========================================================
   UPLOAD
   ========================================================= */

.sil-upload-box {
    padding: 18px 20px;
    text-align: center;
    border: 1px dashed #c9d5ce;
    border-radius: 10px;
    background: #f7f9f7;
}

.sil-upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 auto 7px;
    border-radius: 50%;
    background: #e9f0eb;
    color: #527269;
    font-size: 15px;
}

.sil-upload-box strong {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    color: #3a4d47;
}

.sil-upload-box > span {
    display: block;
    margin-bottom: 9px;
    font-size: 10px;
    color: #87918d;
}

.sil-upload-box input[type="file"] {
    max-width: 350px;
    padding: 5px;
    border: 1px solid #dce3df;
    border-radius: 6px;
    background: #ffffff;
    font-size: 10px;
}


/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.sil-important-note {
    margin-top: 10px;
    padding: 11px 13px;
    border-left: 2px solid #789086;
    border-radius: 5px;
    background: #f3f6f3;
}

.sil-important-note strong {
    display: block;
    margin-bottom: 2px;
    font-size: 9px;
    color: #41554e;
}

.sil-important-note p {
    margin: 0;
    font-size: 9px;
    line-height: 1.45;
    color: #7b8581;
}


/* =========================================================
   SUBMIT AREA
   ========================================================= */

.sil-form-submit {
    padding: 24px 40px 28px;
    background: #ffffff;
}

.sil-consent {
    margin-bottom: 15px;
}

.sil-consent .wpcf7-list-item {
    margin: 0;
}

.sil-consent label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 400;
    color: #707b76;
}

.sil-consent input[type="checkbox"] {
    width: 14px;
    height: 14px;
    min-width: 14px;
    margin-top: 1px;
    accent-color: #527269;
}

.sil-consent a {
    color: #527269;
    font-weight: 600;
    text-decoration: underline;
}


/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

.sil-intake-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 145px;
    height: 42px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: #173f40;
    color: #ffffff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s ease;
}

.sil-intake-form input[type="submit"]:hover {
    background: #245657;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(23, 63, 64, .15);
}

.sil-submit-note {
    display: inline-block;
    max-width: 360px;
    margin: 0 0 0 12px;
    vertical-align: middle;
    font-size: 9px;
    line-height: 1.4;
    color: #929b97;
}


/* =========================================================
   VALIDATION MESSAGES
   ========================================================= */

.sil-intake-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    line-height: 1.2;
}

.sil-intake-form .wpcf7-not-valid {
    border-color: #e2aaaa !important;
}

.sil-intake-form .wpcf7-response-output {
    margin: 14px 0 0;
    padding: 10px 13px;
    border-radius: 7px;
    font-size: 11px;
}


/* =========================================================
   REDUCE DEFAULT CF7 SPACING
   ========================================================= */

.sil-intake-form p {
    margin-top: 0;
    margin-bottom: 0;
}

.sil-intake-form .wpcf7-form-control-wrap {
    display: block;
}

.sil-intake-form .wpcf7-list-item {
    margin-left: 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .sil-intake-form {
        max-width: 100%;
        border-radius: 12px;
    }

    .sil-intake-intro {
        padding: 28px 22px;
    }

    .sil-intake-intro h2 {
        font-size: 25px;
    }

    .sil-form-section {
        padding: 25px 22px;
    }

    .sil-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .sil-services {
        grid-template-columns: 1fr !important;
    }

    .sil-form-submit {
        padding: 22px;
    }

    .sil-intake-form input[type="submit"] {
        width: 100%;
    }

    .sil-submit-note {
        display: block;
        margin: 9px 0 0;
        text-align: center;
    }
}


.sil-intake-form {
    margin-top: 0;
}

.sil-form-section.first-section {
    padding-top: 30px;
}

/* =========================================================
   SIL SPECIALIST - CONTACT FORM 7
   ========================================================= */

.sils-contact-form {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit;
}

/* Form grid */

.sils-contact-form .sils-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

/* Individual form group */

.sils-form-group {
    width: 100%;
    margin: 0 0 24px;
}

.sils-contact-form .sils-form-grid .sils-form-group {
    margin-bottom: 0;
}

.sils-full-width {
    width: 100%;
}

/* Labels */

.sils-contact-form label {
    display: block;
    margin: 0 0 9px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: #183b3a;
}

.sils-contact-form label span {
    color: #d85c4a;
    margin-left: 2px;
}

/* Inputs */

.sils-contact-form input[type="text"],
.sils-contact-form input[type="email"],
.sils-contact-form input[type="tel"],
.sils-contact-form select,
.sils-contact-form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d9e2df;
    border-radius: 8px;
    background: #ffffff;
    color: #183b3a;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;
    padding: 14px 16px;
    margin: 0;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

/* Placeholder */

.sils-contact-form input::placeholder,
.sils-contact-form textarea::placeholder {
    color: #879795;
    opacity: 1;
}

/* Select */

.sils-contact-form select {
    min-height: 51px;
    cursor: pointer;
    appearance: auto;
}

/* Textarea */

.sils-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

/* Focus */

.sils-contact-form input[type="text"]:focus,
.sils-contact-form input[type="email"]:focus,
.sils-contact-form input[type="tel"]:focus,
.sils-contact-form select:focus,
.sils-contact-form textarea:focus {
    border-color: #2f7169;
    box-shadow: 0 0 0 3px rgba(47, 113, 105, 0.10);
    background: #ffffff;
}

/* Consent */

.sils-form-consent {
    margin: 4px 0 24px;
}

.sils-form-consent .wpcf7-list-item {
    margin: 0;
}

.sils-form-consent label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #526563;
    cursor: pointer;
}

.sils-form-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 2px 0 0;
    accent-color: #2f7169;
}

/* Submit button */

.sils-form-submit {
    margin-top: 4px;
}

.sils-form-submit input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 28px;
    border: 0;
    border-radius: 7px;
    background: #2f7169;
    color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sils-form-submit input[type="submit"]:hover {
    background: #245c55;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(47, 113, 105, 0.18);
}

.sils-form-submit input[type="submit"]:active {
    transform: translateY(0);
}

/* Validation */

.sils-contact-form .wpcf7-not-valid {
    border-color: #d85c4a !important;
}

.sils-contact-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: 13px;
    color: #d85c4a;
}

.sils-contact-form .wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 12px 15px !important;
    border-radius: 7px;
    font-size: 14px;
    line-height: 1.5;
}

/* Remove unnecessary CF7 spacing */

.sils-contact-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 767px) {

    .sils-contact-form .sils-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }

    .sils-contact-form .sils-form-grid .sils-form-group {
        margin-bottom: 22px;
    }

    .sils-form-group {
        margin-bottom: 22px;
    }

    .sils-contact-form input[type="text"],
    .sils-contact-form input[type="email"],
    .sils-contact-form input[type="tel"],
    .sils-contact-form select,
    .sils-contact-form textarea {
        font-size: 16px;
    }

    .sils-form-submit input[type="submit"] {
        width: 100%;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .sils-contact-form label {
        font-size: 14px;
    }

    .sils-contact-form input[type="text"],
    .sils-contact-form input[type="email"],
    .sils-contact-form input[type="tel"],
    .sils-contact-form select,
    .sils-contact-form textarea {
        padding: 13px 14px;
        border-radius: 7px;
    }

    .sils-contact-form textarea {
        min-height: 135px;
    }

    .sils-form-consent label {
        font-size: 13px;
    }
}

