
/* ==========================================================================
   LP Default Theme — Storefront System v2 CSS Bundle
   ==========================================================================
   Paints every sf-* class emitted by the canonical component library at
   /lib/storefront/components/. Theme-specific (LP Default). Other LP
   themes ship their own bundles targeting the same class names.

   All design values come from CSS custom properties (--sf-*) populated
   from tblChStorefrontThemeTokens at runtime by /lib/storefront/page-
   templates/lpro/partials/theme-head.php. Defaults are inlined here as
   fallbacks via var(--sf-*, fallback) so the file is reasonable to
   preview standalone.

   LP Default visual identity (mirrors Pro Default):
     Brand:    deep olive #0a3a2e
     Accent:   warm gold  #d4a253
     Heading:  Instrument Serif
     Body:     Inter
     Bg:       cream      #f6f1eb
   ========================================================================== */


/* ──────────────────────────────────────────────────────────────────────
   Hero
   ────────────────────────────────────────────────────────────────────── */

.sf-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--sf-color-brand, #0a3a2e);
  color: var(--sf-color-text-inverse, #ffffff);
}

.sf-hero__bg {
  position: absolute;
  inset: 0;
}
.sf-hero__bg--image {
  background-size: cover;
  background-position: center;
}
.sf-hero__video-iframe,
.sf-hero__video-element {
  position: absolute;
  top: 50%; left: 50%;
  width: 100%; height: 100%;
  min-width: 100%; min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.sf-hero__overlay {
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: 0.35;
}

.sf-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3rem 2rem;
}

.sf-hero__eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.18);
  color: var(--sf-color-text-inverse, #ffffff);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sf-hero__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  color: var(--sf-color-text-inverse, #ffffff);
  font-weight: 700;
}

.sf-hero__subtitle {
  font-size: 1.18rem;
  line-height: 1.65;
  max-width: 760px;
  margin: 0 0 1.6rem;
  color: var(--sf-color-text-inverse, #ffffff);
  opacity: 0.92;
}

.sf-hero__cta {
  margin-top: 1rem;
}

.sf-hero--centered { justify-content: center; }
.sf-hero--centered .sf-hero__inner { text-align: center; }
.sf-hero--centered .sf-hero__subtitle { margin-left: auto; margin-right: auto; }

.sf-hero--minimal {
  background: var(--sf-color-bg, #f6f1eb);
  color: var(--sf-color-text, #0a3a2e);
  padding: 6rem 2rem;
  justify-content: center;
}
.sf-hero--minimal .sf-hero__inner { text-align: center; }
.sf-hero--minimal .sf-hero__title {
  color: var(--sf-color-text, #0a3a2e);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  letter-spacing: -0.02em;
}
.sf-hero--minimal .sf-hero__subtitle {
  color: var(--sf-color-text, #0a3a2e);
  opacity: 0.65;
  margin-left: auto; margin-right: auto;
  max-width: 600px;
}

.sf-hero--split-left {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--sf-color-bg, #f6f1eb);
  color: var(--sf-color-text, #0a3a2e);
  padding: 0;
}
.sf-hero--split-left .sf-hero__text-side {
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sf-hero--split-left .sf-hero__title {
  color: var(--sf-color-text, #0a3a2e);
  font-size: clamp(2rem, 4vw, 3.5rem);
}
.sf-hero--split-left .sf-hero__subtitle {
  color: var(--sf-color-text, #0a3a2e);
  opacity: 0.78;
  font-size: 1.15rem;
  max-width: 500px;
  margin: 0 0 1.5rem;
}
.sf-hero--split-left .sf-hero__image-side { overflow: hidden; min-height: 320px; }
.sf-hero__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.sf-hero__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--sf-color-brand, #0a3a2e), var(--sf-color-accent, #f59e0b));
}
@media (min-width: 768px) {
  .sf-hero--split-left { grid-template-columns: 1fr 1fr; }
  .sf-hero--split-left .sf-hero__text-side { padding: 4rem 3rem; }
}

/* ──────────────────────────────────────────────────────────────────────
   CTA
   ────────────────────────────────────────────────────────────────────── */

.sf-cta {
  background: var(--sf-color-brand, #0a3a2e);
  color: var(--sf-color-text-inverse, #ffffff);
}

.sf-cta--centered .sf-cta__inner { text-align: center; }
.sf-cta__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.1;
  margin: 0 0 1rem;
  color: var(--sf-color-text-inverse, #ffffff);
  font-weight: 700;
}
.sf-cta__text {
  font-size: 1.08rem;
  line-height: 1.65;
  max-width: 720px;
  margin: 0 auto 1.8rem;
  opacity: 0.92;
  color: var(--sf-color-text-inverse, #ffffff);
}

.sf-cta--split-image {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  min-height: 320px;
}
.sf-cta--split-image .sf-cta__text-side {
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sf-cta--split-image .sf-cta__title { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.sf-cta--split-image .sf-cta__text { margin: 0 0 2rem; max-width: none; }
.sf-cta__image-side { overflow: hidden; min-height: 280px; }
.sf-cta__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.sf-cta__placeholder {
  width: 100%; height: 100%;
  background: rgba(255, 255, 255, 0.1);
}
@media (min-width: 768px) {
  .sf-cta--split-image { grid-template-columns: 1fr 1fr; }
  .sf-cta--split-image .sf-cta__text-side { padding: 4rem 3rem; }
}

/* ──────────────────────────────────────────────────────────────────────
   FAQ
   ────────────────────────────────────────────────────────────────────── */

.sf-faq__inner { max-width: 800px; }
.sf-faq__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  text-align: center;
  margin: 0 0 2rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-faq--accordion .sf-faq__list { display: block; }
.sf-faq__item {
  border-bottom: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.08));
}
.sf-faq__question {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 1.25rem 0;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-faq__icon {
  font-size: 1.2rem;
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
.sf-faq__item--open .sf-faq__icon { transform: rotate(45deg); }
.sf-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.sf-faq__item--open .sf-faq__answer { max-height: 800px; }
.sf-faq__answer-text {
  padding: 0 0 1.25rem;
  margin: 0;
  line-height: 1.7;
  color: var(--sf-color-text-soft, #555555);
  font-size: 0.95rem;
}

.sf-faq--two-column .sf-faq__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 3rem;
}
@media (min-width: 768px) {
  .sf-faq--two-column .sf-faq__columns { grid-template-columns: 1fr 1fr; }
}
.sf-faq__qa { margin-bottom: 2rem; }
.sf-faq__question-static {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-faq--two-column .sf-faq__answer-text {
  padding: 0;
  font-size: 0.95rem;
  opacity: 0.78;
}

.sf-faq__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #9ca3af);
  padding: 2rem;
  border: 1px dashed var(--sf-color-border, #dddddd);
  border-radius: var(--sf-radius-card, 8px);
}

/* ──────────────────────────────────────────────────────────────────────
   Featured Services
   ────────────────────────────────────────────────────────────────────── */

.sf-featured_services__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  text-align: center;
  margin: 0 0 1rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-featured_services__intro {
  max-width: 760px;
  margin: 0 auto 2rem;
  text-align: center;
  color: var(--sf-color-text-soft, #667085);
  line-height: 1.7;
}
.sf-featured_services__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}
.sf-featured_services__card {
  background: var(--sf-color-surface, #ffffff);
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.06));
  border-radius: var(--sf-radius-card, 8px);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.sf-featured_services__card:hover {
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0, 0, 0, 0.08));
}
.sf-featured_services__card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.sf-featured_services__media {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.04);
}
.sf-featured_services__image {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.sf-featured_services__card:hover .sf-featured_services__image { transform: scale(1.04); }
.sf-featured_services__video-iframe,
.sf-featured_services__video-element {
  width: 100%; height: 100%;
  display: block;
}
.sf-featured_services__body { padding: 1.35rem; }
.sf-featured_services__name {
  font-size: 1.18rem;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-featured_services__description {
  font-size: 0.92rem;
  line-height: 1.58;
  color: var(--sf-color-text-soft, #667085);
  margin: 0;
}
.sf-featured_services__price {
  display: inline-block;
  margin-top: 1rem;
  font-weight: 800;
  color: var(--sf-color-accent, #f59e0b);
}
.sf-featured_services__button {
  margin-top: 1rem;
  font-size: 0.85rem;
  padding: 0.62rem 1.2rem;
}
.sf-featured_services__empty {
  text-align: center;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.02);
  border-radius: var(--sf-radius-card, 8px);
  border: 1px dashed var(--sf-color-border, #dddddd);
  color: var(--sf-color-text-soft, #9ca3af);
}

/* ──────────────────────────────────────────────────────────────────────
   Testimonials
   ────────────────────────────────────────────────────────────────────── */

.sf-testimonials {
  background: rgba(0, 0, 0, 0.02);
}
.sf-testimonials__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  text-align: center;
  margin: 0 0 2rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-testimonials--cards-grid .sf-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.sf-testimonials__card {
  background: var(--sf-color-surface, #ffffff);
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.06));
  border-radius: var(--sf-radius-card, 8px);
  padding: 1.6rem;
  margin: 0;
}
.sf-testimonials__rating {
  margin-bottom: 0.75rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--sf-color-accent, #f59e0b);
  font-size: 0.95rem;
}
.sf-testimonials__star { display: inline-block; }
.sf-testimonials__star--filled { color: var(--sf-color-accent, #f59e0b); }
.sf-testimonials__star--empty  { color: var(--sf-color-border, #e5e7eb); }
.sf-testimonials__rating-numeric { font-weight: 700; }
.sf-testimonials__headline {
  font-weight: 700;
  color: var(--sf-color-brand, #0a3a2e);
  margin: 0 0 0.4rem;
}
.sf-testimonials__quote {
  font-style: italic;
  font-size: 1.03rem;
  line-height: 1.65;
  margin: 0 0 1.1rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-testimonials__attribution {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.sf-testimonials__avatar {
  width: 46px; height: 46px;
  border-radius: 50%;
  object-fit: cover;
}
.sf-testimonials__author-block { flex: 1; }
.sf-testimonials__author {
  display: block;
  color: var(--sf-color-brand, #0a3a2e);
  font-weight: 700;
}
.sf-testimonials__role {
  display: block;
  font-size: 0.82rem;
  color: var(--sf-color-text-soft, #667085);
}
.sf-testimonials__product {
  display: block;
  font-size: 0.78rem;
  color: var(--sf-color-text-soft, #94a3b8);
  margin-top: 2px;
}
.sf-testimonials__verified-badge {
  display: inline-block;
  margin-top: 4px;
  padding: 2px 8px;
  background: #dcfce7;
  color: #166534;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 9999px;
  letter-spacing: 0.04em;
}

.sf-testimonials--stacked { background: var(--sf-color-bg, transparent); }
.sf-testimonials--stacked .sf-testimonials__inner { max-width: 800px; }
.sf-testimonials--stacked .sf-testimonials__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.sf-testimonials--stacked .sf-testimonials__entry {
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid var(--sf-color-border, rgba(0, 0, 0, 0.06));
}
.sf-testimonials__quote-mark {
  display: inline-block;
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: 4rem;
  line-height: 1;
  color: var(--sf-color-brand, #0a3a2e);
  opacity: 0.3;
  margin-bottom: 0.5rem;
}
.sf-testimonials--stacked .sf-testimonials__quote {
  font-size: 1.35rem;
  line-height: 1.6;
  font-style: italic;
  max-width: 650px;
  margin: 0 auto 1.25rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-testimonials--stacked .sf-testimonials__attribution { justify-content: center; }
.sf-testimonials--stacked .sf-testimonials__role::before { content: " — "; }

.sf-testimonials__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #9ca3af);
  padding: 2rem;
  border: 1px dashed var(--sf-color-border, #dddddd);
  border-radius: var(--sf-radius-card, 8px);
  background: var(--sf-color-surface, #ffffff);
}

/* ──────────────────────────────────────────────────────────────────────
   Reviews
   ────────────────────────────────────────────────────────────────────── */

.sf-reviews { background: var(--sf-color-surface, #ffffff); }
.sf-reviews__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  text-align: center;
  margin: 0 0 2rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-reviews__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
}
.sf-reviews__card {
  background: var(--sf-color-surface, #ffffff);
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.06));
  border-radius: var(--sf-radius-card, 8px);
  padding: 1.5rem;
}
.sf-reviews__rating {
  margin-bottom: 0.75rem;
  color: var(--sf-color-accent, #f59e0b);
  letter-spacing: 0.08em;
  font-weight: 700;
}
.sf-reviews__star { display: inline-block; }
.sf-reviews__star--filled { color: var(--sf-color-accent, #f59e0b); }
.sf-reviews__star--empty  { color: var(--sf-color-border, #e5e7eb); }
.sf-reviews__rating-numeric { font-weight: 700; }
.sf-reviews__headline {
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-reviews__text {
  line-height: 1.65;
  margin: 0 0 1rem;
  color: var(--sf-color-text-soft, #4b5563);
}
.sf-reviews__attribution {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-top: 1rem;
}
.sf-reviews__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.sf-reviews__author {
  display: block;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-reviews__product {
  display: block;
  font-size: 0.78rem;
  color: var(--sf-color-text-soft, #94a3b8);
  margin-top: 2px;
}
.sf-reviews__verified-badge {
  display: inline-block;
  margin-top: 4px;
  padding: 2px 8px;
  background: #dcfce7;
  color: #166534;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 9999px;
  letter-spacing: 0.04em;
}
.sf-reviews__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #9ca3af);
  padding: 2rem;
  border: 1px dashed var(--sf-color-border, #dddddd);
  border-radius: var(--sf-radius-card, 8px);
}

/* ──────────────────────────────────────────────────────────────────────
   Contact
   ────────────────────────────────────────────────────────────────────── */

.sf-contact { background: var(--sf-color-bg, var(--sf-color-surface, #ffffff)); }
.sf-contact__inner { max-width: 700px; text-align: center; }
.sf-contact__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  margin: 0 0 1rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-contact__text {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--sf-color-text, #0a3a2e);
  opacity: 0.78;
  margin: 0 auto 2rem;
  max-width: 600px;
}
.sf-contact__details {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  font-size: 0.95rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-contact__row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.sf-contact__icon {
  color: var(--sf-color-brand, #0a3a2e);
  font-size: 1rem;
}
.sf-contact__link {
  color: var(--sf-color-link, var(--sf-color-brand, #0a3a2e));
  text-decoration: none;
}
.sf-contact__link:hover {
  color: var(--sf-color-link-hover, var(--sf-color-brand-hover, #0a3a2e));
  text-decoration: underline;
}

/* ──────────────────────────────────────────────────────────────────────
   Press
   ────────────────────────────────────────────────────────────────────── */

.sf-press { padding: 3rem 1.5rem; }
.sf-press__inner { text-align: center; }
.sf-press__title {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--sf-color-text-soft, #94a3b8);
  margin: 0 0 1.5rem;
  font-weight: 700;
}
.sf-press__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem 3rem;
}
.sf-press__logo {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--sf-color-text-soft, #94a3b8);
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.sf-press__logo:hover { opacity: 1; }
.sf-press__logo-link { color: inherit; text-decoration: none; }
.sf-press__logo-image {
  max-height: 38px;
  width: auto;
  filter: grayscale(1);
}
.sf-press__logo-name { display: inline-block; }

/* ──────────────────────────────────────────────────────────────────────
   Value Props
   ────────────────────────────────────────────────────────────────────── */

.sf-value_props {
  background: var(--sf-color-surface, #ffffff);
  border-top: 1px solid var(--sf-color-border, rgba(0, 0, 0, 0.05));
  border-bottom: 1px solid var(--sf-color-border, rgba(0, 0, 0, 0.05));
  padding: 3rem 1.5rem;
}
.sf-value_props__title {
  font-family: var(--sf-font-heading, 'DM Sans', sans-serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  text-align: center;
  margin: 0 0 1.5rem;
  color: var(--sf-color-text, #0a3a2e);
  font-weight: 700;
}
.sf-value_props__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
  text-align: center;
}
.sf-value_props__item-link {
  color: inherit;
  text-decoration: none;
}
.sf-value_props__icon-image {
  height: 48px;
  width: auto;
  margin: 0 auto 1rem;
  display: block;
}
.sf-icon {
  display: inline-block;
  height: 32px;
  width: 32px;
  margin: 0 auto 1rem;
  color: var(--sf-color-brand, #0a3a2e);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.sf-icon--default {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}
.sf-icon--shield {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l9 4v6c0 5.5-3.84 10.74-9 12-5.16-1.26-9-6.5-9-12V6l9-4z'/%3E%3C/svg%3E");
}
.sf-icon--clock {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.sf-icon--heart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z'/%3E%3C/svg%3E");
}
.sf-icon--star {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}
.sf-icon--check {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='9 12 11 14 16 9'/%3E%3C/svg%3E");
}

.sf-value_props__name {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-value_props__text {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--sf-color-text-soft, #667085);
  margin: 0;
}

/* ─── Storefront v2 — Chunk 9A LP variant additions ─────────────────────
   Painted classes for the 11 new component variants delivered in
   Chunk 9A. Appended to the LP Default CSS bundle.

   Conventions match the rest of the bundle:
     - BEM naming: .block__element--modifier
     - Variables: --sf-color-*, --sf-radius-*, --sf-size-*, --sf-space-*
     - All numbers responsive via clamp() where it matters
   ──────────────────────────────────────────────────────────────────── */


/* ─────────── hero/split-right ─────────── */
.sf-hero--split-right {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.sf-hero--split-right .sf-hero__image-side {
  flex: 1 1 50%;
  position: relative;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
  min-height: 320px;
}
.sf-hero--split-right .sf-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sf-hero--split-right .sf-hero__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--sf-color-brand) 0%, var(--sf-color-accent, var(--sf-color-brand)) 100%);
  opacity: 0.85;
}
.sf-hero--split-right .sf-hero__text-side {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 6vw, 4.5rem);
  background: var(--sf-color-bg, transparent);
}
.sf-hero--split-right .sf-hero__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.1;
  margin: 0 0 1rem;
  color: var(--sf-color-text);
}
.sf-hero--split-right .sf-hero__subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft);
  margin: 0 0 1.5rem;
}
.sf-hero--split-right .sf-hero__eyebrow {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--sf-color-brand);
  margin-bottom: 0.75rem;
}
.sf-hero--split-right .sf-hero__cta {
  align-self: flex-start;
}
@media (max-width: 768px) {
  .sf-hero--split-right { flex-direction: column; }
  .sf-hero--split-right .sf-hero__image-side,
  .sf-hero--split-right .sf-hero__text-side { flex: 1 1 auto; }
  .sf-hero--split-right .sf-hero__image-side { min-height: 260px; }
}


/* ─────────── hero/video ─────────── */
.sf-hero--video {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--sf-color-text-inverse, #fff);
}
.sf-hero--video .sf-hero__bg--video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.sf-hero--video .sf-hero__video-element,
.sf-hero--video .sf-hero__video-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: 177.77vh;
  height: 56.25vw;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  object-fit: cover;
}
.sf-hero--video .sf-hero__bg--image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.sf-hero--video .sf-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.sf-hero--video .sf-hero__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: clamp(2.5rem, 8vh, 6rem) 1.5rem;
}
.sf-hero--video .sf-hero__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  line-height: 1.05;
  margin: 0 0 1rem;
  color: inherit;
}
.sf-hero--video .sf-hero__subtitle {
  font-size: 1.18rem;
  line-height: 1.65;
  max-width: 760px;
  margin: 0 auto 1.6rem;
  color: inherit;
  opacity: 0.92;
}
.sf-hero--video .sf-hero__eyebrow {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.18);
  color: inherit;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
}


/* ─────────── featured_services/list-detailed ─────────── */
.sf-featured_services--list-detailed .sf-featured_services__list {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 5vw, 4rem);
  margin-top: 2rem;
}
.sf-featured_services--list-detailed .sf-featured_services__row {
  display: flex;
  flex-direction: row;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  overflow: hidden;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  position: relative;
}
.sf-featured_services--list-detailed .sf-featured_services__row--reverse {
  flex-direction: row-reverse;
}
.sf-featured_services--list-detailed .sf-featured_services__row-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  text-decoration: none;
  color: inherit;
}
.sf-featured_services--list-detailed .sf-featured_services__media {
  flex: 0 0 40%;
  align-self: stretch;
  min-height: 240px;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-featured_services--list-detailed .sf-featured_services__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sf-featured_services--list-detailed .sf-featured_services__video-iframe,
.sf-featured_services--list-detailed .sf-featured_services__video-element {
  width: 100%;
  height: 100%;
  display: block;
}
.sf-featured_services--list-detailed .sf-featured_services__body {
  flex: 1 1 auto;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.sf-featured_services--list-detailed .sf-featured_services__name {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  margin: 0 0 0.6rem;
  color: var(--sf-color-text);
}
.sf-featured_services--list-detailed .sf-featured_services__description {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft);
  margin: 0 0 1rem;
}
.sf-featured_services--list-detailed .sf-featured_services__price {
  display: inline-block;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--sf-color-brand);
  margin-right: 1rem;
}
.sf-featured_services--list-detailed .sf-featured_services__button {
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .sf-featured_services--list-detailed .sf-featured_services__row,
  .sf-featured_services--list-detailed .sf-featured_services__row--reverse {
    flex-direction: column;
  }
  .sf-featured_services--list-detailed .sf-featured_services__media {
    flex: 1 1 auto;
    width: 100%;
  }
}


/* ─────────── featured_services/icon-grid ─────────── */
.sf-featured_services--icon-grid .sf-featured_services__icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}
.sf-featured_services--icon-grid .sf-featured_services__cell {
  background: var(--sf-color-surface, #fff);
  border: 1px solid var(--sf-color-border);
  border-radius: var(--sf-radius-card, 16px);
  padding: 1.25rem 1rem;
  text-align: center;
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-featured_services--icon-grid .sf-featured_services__cell:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-featured_services--icon-grid .sf-featured_services__cell-link {
  position: absolute;
  inset: 0;
  text-decoration: none;
  color: inherit;
  border-radius: inherit;
}
.sf-featured_services--icon-grid .sf-featured_services__cell-icon {
  display: inline-block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.1));
  margin-bottom: 0.75rem;
}
.sf-featured_services--icon-grid .sf-featured_services__cell-image {
  width: 56px;
  height: 56px;
  object-fit: contain;
  margin: 0 auto 0.75rem;
  display: block;
}
.sf-featured_services--icon-grid .sf-featured_services__cell-name {
  font-family: var(--sf-font-heading);
  font-size: 1rem;
  margin: 0 0 0.4rem;
  color: var(--sf-color-text);
}
.sf-featured_services--icon-grid .sf-featured_services__cell-meta {
  font-size: 0.85rem;
  color: var(--sf-color-text-soft);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.sf-featured_services--icon-grid .sf-featured_services__cell-price {
  font-weight: 700;
  color: var(--sf-color-brand);
}
.sf-featured_services--icon-grid .sf-featured_services__cell-description {
  font-size: 0.85rem;
  line-height: 1.5;
}


/* ─────────── testimonials/slider ─────────── */
.sf-testimonials--slider .sf-testimonials__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.sf-testimonials--slider .sf-testimonials__track {
  flex: 1 1 auto;
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.5rem 0.25rem 1.5rem;
  scrollbar-width: thin;
}
.sf-testimonials--slider .sf-testimonials__track::-webkit-scrollbar {
  height: 8px;
}
.sf-testimonials--slider .sf-testimonials__track::-webkit-scrollbar-thumb {
  background: var(--sf-color-border);
  border-radius: 4px;
}
.sf-testimonials--slider .sf-testimonials__slide {
  flex: 0 0 min(380px, 90%);
  scroll-snap-align: start;
  background: var(--sf-color-surface, #fff);
  border: 1px solid var(--sf-color-border);
  border-radius: var(--sf-radius-card, 16px);
  padding: 1.5rem;
  margin: 0;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
}
.sf-testimonials--slider .sf-testimonials__nav-btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--sf-color-border);
  background: var(--sf-color-surface, #fff);
  color: var(--sf-color-brand);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.sf-testimonials--slider .sf-testimonials__nav-btn:hover {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-testimonials--slider .sf-testimonials__nav-btn:focus-visible {
  outline: 2px solid var(--sf-color-brand);
  outline-offset: 2px;
}


/* ─────────── reviews/slider ─────────── */
.sf-reviews--slider .sf-reviews__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.sf-reviews--slider .sf-reviews__track {
  flex: 1 1 auto;
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.5rem 0.25rem 1.5rem;
  scrollbar-width: thin;
}
.sf-reviews--slider .sf-reviews__track::-webkit-scrollbar {
  height: 8px;
}
.sf-reviews--slider .sf-reviews__track::-webkit-scrollbar-thumb {
  background: var(--sf-color-border);
  border-radius: 4px;
}
.sf-reviews--slider .sf-reviews__slide {
  flex: 0 0 min(380px, 90%);
  scroll-snap-align: start;
  background: var(--sf-color-surface, #fff);
  border: 1px solid var(--sf-color-border);
  border-radius: var(--sf-radius-card, 16px);
  padding: 1.5rem;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
}
.sf-reviews--slider .sf-reviews__nav-btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--sf-color-border);
  background: var(--sf-color-surface, #fff);
  color: var(--sf-color-brand);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.sf-reviews--slider .sf-reviews__nav-btn:hover {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-reviews--slider .sf-reviews__nav-btn:focus-visible {
  outline: 2px solid var(--sf-color-brand);
  outline-offset: 2px;
}


/* ─────────── reviews/stacked ─────────── */
.sf-reviews--stacked .sf-reviews__stack {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 760px;
  margin: 2rem auto 0;
}
.sf-reviews--stacked .sf-reviews__item {
  background: var(--sf-color-surface, #fff);
  border-left: 4px solid var(--sf-color-brand);
  padding: 1.5rem 1.75rem;
  border-radius: 0 var(--sf-radius-card, 16px) var(--sf-radius-card, 16px) 0;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
}
.sf-reviews--stacked .sf-reviews__text {
  font-size: 1.1rem;
  line-height: 1.7;
  margin: 0.75rem 0 1rem;
  color: var(--sf-color-text);
}
.sf-reviews--stacked .sf-reviews__attribution {
  margin-top: 1rem;
}


/* ─────────── cta/inline ─────────── */
.sf-cta--inline {
  background: var(--sf-color-brand);
  color: var(--sf-color-text-inverse, #fff);
  padding: 1.25rem 1.5rem;
}
.sf-cta--inline .sf-cta__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.sf-cta--inline .sf-cta__copy {
  flex: 1 1 auto;
  min-width: 0;
}
.sf-cta--inline .sf-cta__title {
  font-family: var(--sf-font-heading);
  font-size: 1.35rem;
  line-height: 1.2;
  margin: 0 0 0.25rem;
  color: inherit;
}
.sf-cta--inline .sf-cta__text {
  font-size: 0.95rem;
  margin: 0;
  opacity: 0.92;
  color: inherit;
}
.sf-cta--inline .sf-cta__button {
  flex: 0 0 auto;
}


/* ─────────── contact/two-col ─────────── */
.sf-contact--two-col .sf-contact__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.sf-contact--two-col .sf-contact__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  line-height: 1.2;
  margin: 0 0 1rem;
  color: var(--sf-color-text);
}
.sf-contact--two-col .sf-contact__text {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--sf-color-text-soft);
  margin: 0;
}
.sf-contact--two-col .sf-contact__card {
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  padding: 1.75rem;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  border: 1px solid var(--sf-color-border);
}
.sf-contact--two-col .sf-contact__details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.sf-contact--two-col .sf-contact__row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.sf-contact--two-col .sf-contact__icon {
  flex: 0 0 auto;
  font-size: 1.25rem;
  color: var(--sf-color-brand);
  line-height: 1;
}
.sf-contact--two-col .sf-contact__value,
.sf-contact--two-col .sf-contact__link {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--sf-color-text);
  text-decoration: none;
  word-break: break-word;
}
.sf-contact--two-col .sf-contact__link:hover {
  color: var(--sf-color-brand);
  text-decoration: underline;
}
@media (max-width: 768px) {
  .sf-contact--two-col .sf-contact__inner {
    grid-template-columns: 1fr;
  }
}


/* ─────────── value_props/cards ─────────── */
.sf-value_props--cards .sf-value_props__cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.sf-value_props--cards .sf-value_props__card {
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-value_props--cards .sf-value_props__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-value_props--cards .sf-value_props__card-link {
  position: absolute;
  inset: 0;
  text-decoration: none;
  color: inherit;
  border-radius: inherit;
}
.sf-value_props--cards .sf-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.1));
  color: var(--sf-color-brand);
  margin-bottom: 1rem;
}
.sf-value_props--cards .sf-value_props__icon-image {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 auto 1rem;
  display: block;
}
.sf-value_props--cards .sf-value_props__name {
  font-family: var(--sf-font-heading);
  font-size: 1.2rem;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text);
}
.sf-value_props--cards .sf-value_props__text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft);
  margin: 0;
}


/* ─────────── press/cards ─────────── */
.sf-press--cards .sf-press__cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.sf-press--cards .sf-press__card {
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  padding: 1.75rem 1.5rem;
  position: relative;
  border: 1px solid var(--sf-color-border);
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-press--cards .sf-press__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-press--cards .sf-press__card-link {
  position: absolute;
  inset: 0;
  text-decoration: none;
  color: inherit;
  border-radius: inherit;
}
.sf-press--cards .sf-press__card-logo {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 1rem;
}
.sf-press--cards .sf-press__card-image {
  max-height: 56px;
  max-width: 60%;
  object-fit: contain;
  display: block;
}
.sf-press--cards .sf-press__card-name {
  font-family: var(--sf-font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--sf-color-text);
}
.sf-press--cards .sf-press__card-quote {
  font-size: 1rem;
  line-height: 1.6;
  font-style: italic;
  color: var(--sf-color-text-soft);
  margin: 0;
}

/* ─── Storefront v2 — Chunk 9B LP variant additions ─────────────────────
   Painted classes for gallery (3 variants) and rich_text (2 variants)
   delivered in Chunk 9B.
   ──────────────────────────────────────────────────────────────────── */


/* ─────────── gallery (shared) ─────────── */
.sf-gallery__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text);
  text-align: center;
}
.sf-gallery__intro {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft);
  margin: 0 auto 2rem;
  max-width: 720px;
  text-align: center;
}
.sf-gallery__empty {
  text-align: center;
  color: var(--sf-color-text-soft);
  padding: 3rem 1rem;
  font-style: italic;
}
.sf-gallery__caption {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--sf-color-text-soft);
  margin-top: 0.6rem;
  text-align: left;
}
.sf-gallery__tile-link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: var(--sf-radius-card, 12px);
  overflow: hidden;
}
.sf-gallery__image {
  width: 100%;
  display: block;
}


/* ─────────── gallery/grid ─────────── */
.sf-gallery--grid .sf-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 0;
}
.sf-gallery--grid .sf-gallery__tile {
  margin: 0;
}
.sf-gallery--grid .sf-gallery__image {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--sf-radius-card, 12px);
  transition: transform 0.25s ease;
}
.sf-gallery--grid .sf-gallery__tile:hover .sf-gallery__image {
  transform: scale(1.03);
}


/* ─────────── gallery/masonry ─────────── */
.sf-gallery--masonry .sf-gallery__masonry {
  column-count: 3;
  column-gap: 1rem;
}
.sf-gallery--masonry .sf-gallery__tile {
  break-inside: avoid;
  margin: 0 0 1rem;
  display: block;
}
.sf-gallery--masonry .sf-gallery__image {
  border-radius: var(--sf-radius-card, 12px);
  transition: transform 0.25s ease;
}
.sf-gallery--masonry .sf-gallery__tile:hover .sf-gallery__image {
  transform: scale(1.02);
}
@media (max-width: 900px) {
  .sf-gallery--masonry .sf-gallery__masonry { column-count: 2; }
}
@media (max-width: 540px) {
  .sf-gallery--masonry .sf-gallery__masonry { column-count: 1; }
}


/* ─────────── gallery/carousel ─────────── */
.sf-gallery--carousel .sf-gallery__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.sf-gallery--carousel .sf-gallery__track {
  flex: 1 1 auto;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.5rem 0.25rem 1.5rem;
  scrollbar-width: thin;
}
.sf-gallery--carousel .sf-gallery__track::-webkit-scrollbar {
  height: 8px;
}
.sf-gallery--carousel .sf-gallery__track::-webkit-scrollbar-thumb {
  background: var(--sf-color-border);
  border-radius: 4px;
}
.sf-gallery--carousel .sf-gallery__slide {
  flex: 0 0 min(360px, 80%);
  scroll-snap-align: start;
  margin: 0;
}
.sf-gallery--carousel .sf-gallery__image {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--sf-radius-card, 12px);
}
.sf-gallery--carousel .sf-gallery__nav-btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--sf-color-border);
  background: var(--sf-color-surface, #fff);
  color: var(--sf-color-brand);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.sf-gallery--carousel .sf-gallery__nav-btn:hover {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-gallery--carousel .sf-gallery__nav-btn:focus-visible {
  outline: 2px solid var(--sf-color-brand);
  outline-offset: 2px;
}


/* ─────────── rich_text (shared) ─────────── */
.sf-rich_text__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
  margin: 0 0 1.25rem;
  color: var(--sf-color-text);
}
.sf-rich_text__paragraph {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--sf-color-text);
  margin: 0 0 1.15rem;
  white-space: pre-line;
}
.sf-rich_text__paragraph:last-child { margin-bottom: 0; }

.sf-rich_text--align-left   { text-align: left; }
.sf-rich_text--align-center { text-align: center; }
.sf-rich_text--align-right  { text-align: right; }


/* ─────────── rich_text/narrow ─────────── */
.sf-rich_text--narrow .sf-rich_text__inner {
  max-width: 680px;
  margin: 0 auto;
}
.sf-rich_text--narrow .sf-rich_text__paragraph {
  font-size: 1.1rem;
  line-height: 1.8;
}

/* ─── Storefront v2 — Chunk 9C LP variant additions ─────────────────────
   Painted classes for team (1 variant) and pricing (1 variant)
   delivered in Chunk 9C.
   ──────────────────────────────────────────────────────────────────── */


/* ─────────── team/cards ─────────── */
.sf-team__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text);
  text-align: center;
}
.sf-team__intro {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft);
  margin: 0 auto 2rem;
  max-width: 720px;
  text-align: center;
}
.sf-team__empty {
  text-align: center;
  color: var(--sf-color-text-soft);
  padding: 3rem 1rem;
  font-style: italic;
}
.sf-team--cards .sf-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  margin-top: 0;
}
.sf-team--cards .sf-team__card {
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  overflow: hidden;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  border: 1px solid var(--sf-color-border);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  display: flex;
  flex-direction: column;
  position: relative;
}
.sf-team--cards .sf-team__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-team--cards .sf-team__card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.sf-team--cards .sf-team__photo-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
  overflow: hidden;
}
.sf-team--cards .sf-team__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sf-team--cards .sf-team__photo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--sf-color-brand) 0%, var(--sf-color-accent, var(--sf-color-brand)) 100%);
  opacity: 0.7;
}
.sf-team--cards .sf-team__body {
  padding: 1.25rem 1.25rem 1rem;
  flex: 1 1 auto;
}
.sf-team--cards .sf-team__name {
  font-family: var(--sf-font-heading);
  font-size: 1.2rem;
  margin: 0 0 0.25rem;
  color: var(--sf-color-text);
}
.sf-team--cards .sf-team__role {
  font-size: 0.9rem;
  color: var(--sf-color-brand);
  margin: 0 0 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.sf-team--cards .sf-team__bio {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft);
  margin: 0;
}
.sf-team--cards .sf-team__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0 1.25rem 1.25rem;
  font-size: 0.85rem;
  position: relative;
  z-index: 2;
}
.sf-team--cards .sf-team__contact {
  color: var(--sf-color-text-soft);
  text-decoration: none;
  word-break: break-word;
}
.sf-team--cards .sf-team__contact:hover {
  color: var(--sf-color-brand);
  text-decoration: underline;
}


/* ─────────── pricing/cards ─────────── */
.sf-pricing__title {
  font-family: var(--sf-font-heading);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text);
  text-align: center;
}
.sf-pricing__intro {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft);
  margin: 0 auto 2.5rem;
  max-width: 680px;
  text-align: center;
}
.sf-pricing__empty {
  text-align: center;
  color: var(--sf-color-text-soft);
  padding: 3rem 1rem;
  font-style: italic;
}
.sf-pricing--cards .sf-pricing__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
  margin-top: 0;
}
.sf-pricing--cards .sf-pricing__card {
  background: var(--sf-color-surface, #fff);
  border-radius: var(--sf-radius-card, 16px);
  padding: 2rem 1.75rem;
  border: 1px solid var(--sf-color-border);
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-pricing--cards .sf-pricing__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-pricing--cards .sf-pricing__card--featured {
  border: 2px solid var(--sf-color-brand);
  transform: translateY(-6px);
  box-shadow: var(--sf-shadow-card-hover, 0 12px 32px rgba(0,0,0,0.1));
}
.sf-pricing--cards .sf-pricing__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--sf-color-brand);
  color: var(--sf-color-text-inverse, #fff);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.35rem 0.9rem;
  border-radius: 9999px;
}
.sf-pricing--cards .sf-pricing__name {
  font-family: var(--sf-font-heading);
  font-size: 1.25rem;
  margin: 0 0 1rem;
  color: var(--sf-color-text);
}
.sf-pricing--cards .sf-pricing__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.sf-pricing--cards .sf-pricing__price {
  font-family: var(--sf-font-heading);
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  color: var(--sf-color-brand);
}
.sf-pricing--cards .sf-pricing__period {
  font-size: 0.95rem;
  color: var(--sf-color-text-soft);
}
.sf-pricing--cards .sf-pricing__description {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--sf-color-text-soft);
  margin: 0 0 1.25rem;
}
.sf-pricing--cards .sf-pricing__features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.sf-pricing--cards .sf-pricing__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--sf-color-text);
}
.sf-pricing--cards .sf-pricing__feature-bullet {
  flex: 0 0 auto;
  color: var(--sf-color-brand);
  font-weight: 700;
  margin-top: 0.05rem;
}
.sf-pricing--cards .sf-pricing__cta {
  margin-top: auto;
  text-align: center;
  display: inline-block;
  width: 100%;
}

/* ==========================================================================
   Pro-Specific Section Types
   ==========================================================================
   sf-product-card (shared by featured_products, product_grid, recommendations)
   plus the surrounding section chrome for those types and trust_bar.
   ========================================================================== */


/* ──────────────────────────────────────────────────────────────────────
   Product Card (shared across featured_products / product_grid /
   recommendations). Single canonical card markup paints here.
   ────────────────────────────────────────────────────────────────────── */
.sf-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--sf-color-surface, #ffffff);
  border-radius: var(--sf-radius-card, 8px);
  overflow: hidden;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sf-product-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-product-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  padding: 4px 10px;
  border-radius: 9999px;
  background: var(--sf-color-accent, #d4a253);
  color: var(--sf-color-text-inverse, #ffffff);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.sf-product-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: rgba(10, 58, 46, 0.04);
  overflow: hidden;
}
.sf-product-card__media-link {
  display: block;
  width: 100%;
  height: 100%;
}
.sf-product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.sf-product-card:hover .sf-product-card__image {
  transform: scale(1.04);
}
.sf-product-card__body {
  padding: 1.1rem 1.1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  flex: 1 1 auto;
}
.sf-product-card__title {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: 1.1rem;
  line-height: 1.3;
  margin: 0;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-product-card__title a {
  color: inherit;
  text-decoration: none;
}
.sf-product-card__title a:hover {
  color: var(--sf-color-link-hover, var(--sf-color-brand));
}
.sf-product-card__price-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.sf-product-card__price {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-product-card__compare-price {
  font-size: 0.92rem;
  color: var(--sf-color-text-soft, #6b7280);
  text-decoration: line-through;
}
.sf-product-card__cta {
  margin-top: auto;
  width: 100%;
  text-align: center;
  display: inline-block;
}


/* ──────────────────────────────────────────────────────────────────────
   Featured Products (grid + carousel)
   ────────────────────────────────────────────────────────────────────── */
.sf-featured_products__title {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
  text-align: center;
}
.sf-featured_products__intro {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0 auto 2rem;
  max-width: 720px;
  text-align: center;
}
.sf-featured_products__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #6b7280);
  padding: 3rem 1rem;
  font-style: italic;
}

.sf-featured_products--grid .sf-featured_products__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
  margin-top: 0;
}

.sf-featured_products--carousel .sf-featured_products__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.sf-featured_products--carousel .sf-featured_products__track {
  flex: 1 1 auto;
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.5rem 0.25rem 1.5rem;
  scrollbar-width: thin;
}
.sf-featured_products--carousel .sf-featured_products__track::-webkit-scrollbar {
  height: 8px;
}
.sf-featured_products--carousel .sf-featured_products__track::-webkit-scrollbar-thumb {
  background: var(--sf-color-border, rgba(10, 58, 46, 0.08));
  border-radius: 4px;
}
.sf-featured_products--carousel .sf-featured_products__slide {
  flex: 0 0 min(280px, 80%);
  scroll-snap-align: start;
}
.sf-featured_products--carousel .sf-featured_products__slide .sf-product-card {
  height: 100%;
}
.sf-featured_products--carousel .sf-featured_products__nav-btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.08));
  background: var(--sf-color-surface, #ffffff);
  color: var(--sf-color-brand, #0a3a2e);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.sf-featured_products--carousel .sf-featured_products__nav-btn:hover {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-featured_products--carousel .sf-featured_products__nav-btn:focus-visible {
  outline: 2px solid var(--sf-color-brand, #0a3a2e);
  outline-offset: 2px;
}


/* ──────────────────────────────────────────────────────────────────────
   Product Grid (full listing)
   ────────────────────────────────────────────────────────────────────── */
.sf-product_grid__title {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
  text-align: center;
}
.sf-product_grid__intro {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0 auto 2rem;
  max-width: 720px;
  text-align: center;
}
.sf-product_grid__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #6b7280);
  padding: 3rem 1rem;
  font-style: italic;
}
.sf-product_grid--default .sf-product_grid__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
}


/* ──────────────────────────────────────────────────────────────────────
   Recommendations (grid + carousel)
   ────────────────────────────────────────────────────────────────────── */
.sf-recommendations__title {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
  text-align: center;
}
.sf-recommendations__intro {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0 auto 2rem;
  max-width: 680px;
  text-align: center;
}
.sf-recommendations__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #6b7280);
  padding: 2.5rem 1rem;
  font-style: italic;
}
.sf-recommendations--grid .sf-recommendations__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.25rem;
}

.sf-recommendations--carousel .sf-recommendations__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.sf-recommendations--carousel .sf-recommendations__track {
  flex: 1 1 auto;
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.5rem 0.25rem 1.5rem;
  scrollbar-width: thin;
}
.sf-recommendations--carousel .sf-recommendations__track::-webkit-scrollbar {
  height: 8px;
}
.sf-recommendations--carousel .sf-recommendations__track::-webkit-scrollbar-thumb {
  background: var(--sf-color-border, rgba(10, 58, 46, 0.08));
  border-radius: 4px;
}
.sf-recommendations--carousel .sf-recommendations__slide {
  flex: 0 0 min(260px, 80%);
  scroll-snap-align: start;
}
.sf-recommendations--carousel .sf-recommendations__slide .sf-product-card {
  height: 100%;
}
.sf-recommendations--carousel .sf-recommendations__nav-btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.08));
  background: var(--sf-color-surface, #ffffff);
  color: var(--sf-color-brand, #0a3a2e);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.sf-recommendations--carousel .sf-recommendations__nav-btn:hover {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
}
.sf-recommendations--carousel .sf-recommendations__nav-btn:focus-visible {
  outline: 2px solid var(--sf-color-brand, #0a3a2e);
  outline-offset: 2px;
}


/* ──────────────────────────────────────────────────────────────────────
   Collections (icon-grid + image-cards)
   ────────────────────────────────────────────────────────────────────── */
.sf-collections__title {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--sf-color-text, #0a3a2e);
  text-align: center;
}
.sf-collections__intro {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0 auto 2rem;
  max-width: 680px;
  text-align: center;
}
.sf-collections__empty {
  text-align: center;
  color: var(--sf-color-text-soft, #6b7280);
  padding: 2.5rem 1rem;
  font-style: italic;
}

/* icon-grid variant: small icon-led tiles */
.sf-collections--icon-grid .sf-collections__icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
}
.sf-collections--icon-grid .sf-collections__cell {
  background: var(--sf-color-surface, #ffffff);
  border: 1px solid var(--sf-color-border, rgba(10, 58, 46, 0.08));
  border-radius: var(--sf-radius-card, 8px);
  padding: 1.5rem 1.25rem;
  text-align: center;
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-collections--icon-grid .sf-collections__cell:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-collections--icon-grid .sf-collections__cell-link {
  position: absolute;
  inset: 0;
  text-decoration: none;
  color: inherit;
  border-radius: inherit;
}
.sf-collections--icon-grid .sf-collections__cell-icon {
  display: inline-block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
  margin-bottom: 0.85rem;
}
.sf-collections--icon-grid .sf-collections__cell-image {
  width: 56px;
  height: 56px;
  object-fit: contain;
  margin: 0 auto 0.85rem;
  display: block;
}
.sf-collections--icon-grid .sf-collections__cell-name {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: 1.1rem;
  margin: 0 0 0.4rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-collections--icon-grid .sf-collections__cell-text {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0;
}

/* image-cards variant: large image-forward cards */
.sf-collections--image-cards .sf-collections__cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}
.sf-collections--image-cards .sf-collections__card {
  background: var(--sf-color-surface, #ffffff);
  border-radius: var(--sf-radius-card, 8px);
  overflow: hidden;
  box-shadow: var(--sf-shadow-card, 0 1px 3px rgba(0,0,0,0.05));
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.sf-collections--image-cards .sf-collections__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sf-shadow-card-hover, 0 8px 24px rgba(0,0,0,0.08));
}
.sf-collections--image-cards .sf-collections__card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.sf-collections--image-cards .sf-collections__card-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.08));
  overflow: hidden;
}
.sf-collections--image-cards .sf-collections__card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sf-collections--image-cards .sf-collections__card-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--sf-color-brand, #0a3a2e), var(--sf-color-accent, #d4a253));
  opacity: 0.7;
}
.sf-collections--image-cards .sf-collections__card-body {
  padding: 1.25rem 1.25rem 1.5rem;
}
.sf-collections--image-cards .sf-collections__card-name {
  font-family: var(--sf-font-heading, 'Instrument Serif', serif);
  font-size: 1.2rem;
  margin: 0 0 0.4rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-collections--image-cards .sf-collections__card-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--sf-color-text-soft, #6b7280);
  margin: 0;
}


/* ──────────────────────────────────────────────────────────────────────
   Trust Bar (credentials strip)
   ────────────────────────────────────────────────────────────────────── */
.sf-trust_bar {
  background: var(--sf-color-brand-soft, rgba(10, 58, 46, 0.04));
  padding: 1.25rem 0;
}
.sf-trust_bar__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem 2.5rem;
}
.sf-trust_bar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--sf-color-text, #0a3a2e);
}
.sf-trust_bar__item .sf-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--sf-color-brand, #0a3a2e);
  color: var(--sf-color-text-inverse, #ffffff);
  font-size: 0.85rem;
}
.sf-trust_bar__label {
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
@media (max-width: 540px) {
  .sf-trust_bar__items {
    gap: 1rem 1.5rem;
  }
  .sf-trust_bar__label {
    font-size: 0.85rem;
  }
}
