:root {
  --sfl-navy: #0d3b50;
  --sfl-navy-deep: #082f45;
  --sfl-pink: #e9198b;
  --sfl-teal: #45bbb8;
  --sfl-yellow: #f3ad16;
  --sfl-text: #12344b;
  --sfl-muted: #667784;
  --sfl-line: #e7edf1;
  --sfl-soft: #f9fbfc;
  --sfl-bg: #ffffff;
}

.sfl-campaign,
.sfl-campaign * { box-sizing: border-box; }

.sfl-campaign {
  width: 100%;
  margin: 0 !important;
  padding-top: 0 !important;
  background: #fff;
  color: var(--sfl-text);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
  overflow-y: visible;
}

/* Campaign width deliberately larger than the normal site content width. */
.sfl-shell {
  width: min(1680px, calc(100% - 96px));
  margin-inline: auto;
}

/* HERO */
.sfl-hero {
  position: relative;
  background:
    radial-gradient(circle at 8% 18%, rgba(69,187,184,.06), transparent 34%),
    #fff;
  padding: 0;
}

.sfl-hero-grid {
  display: grid;
  grid-template-columns: 44% 56%;
  align-items: stretch;
  min-height: 650px;
}

.sfl-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 56px 96px 10px;
  position: relative;
  z-index: 2;
}


.sfl-hero h1 {
  margin: 0;
  color: var(--sfl-navy-deep);
  font-size: clamp(62px, 5vw, 92px);
  line-height: .96;
  letter-spacing: -.045em;
  font-weight: 800;
}

.sfl-hero h1 span {
  display: block;
  margin-top: 10px;
  color: var(--sfl-pink);
  font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
  font-size: .78em;
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 600;
}

.sfl-hero-lead {
  margin: 34px 0 10px;
  max-width: 650px;
  font-size: clamp(20px, 1.45vw, 25px);
  line-height: 1.45;
  font-weight: 700;
  color: var(--sfl-navy-deep);
}

.sfl-hero-support {
  margin: 0 0 32px;
  max-width: 650px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--sfl-muted);
}

.sfl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 62px;
  padding: 0 29px;
  border-radius: 9px;
  border: 0;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 18px;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.sfl-btn:hover {
  transform: translateY(-2px);
  filter: brightness(.985);
}

.sfl-btn-whatsapp {
  align-self: flex-start;
  color: #fff !important;
  background: linear-gradient(135deg, #e9198b 0%, #f11382 100%);
  box-shadow: 0 14px 30px rgba(233,25,139,.20);
}

.sfl-wa-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  display: block;
  color: #fff;
  filter: brightness(0) invert(1);
}

.sfl-hero-media {
  position: relative;
  min-height: 650px;
  border-radius: 0;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}

/* Desktop-only integration layer: the photo stays rectangular while its first
   ~12% gently dissolves into the hero background. */
.sfl-hero-media::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 12%;
  pointer-events: none;
  background: linear-gradient(
    to right,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.92) 18%,
    rgba(255,255,255,.58) 48%,
    rgba(255,255,255,.20) 76%,
    rgba(255,255,255,0) 100%
  );
}

.sfl-hero-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 50%;
  display: block;
  border: 0;
  border-radius: 0;
  clip-path: none;
  -webkit-clip-path: none;
  mask: none;
  -webkit-mask: none;
  transform: none;
}

/* Supplied SFL SVG appears ONLY here: the very end of the hero.
   Its native 1439.99×117 aspect ratio determines the rendered height. */
.sfl-hero-breaker {
  position: relative;
  z-index: 5;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  transform: translateX(-50%);
  background: #fff;
  line-height: 0;
  overflow: visible;
}

.sfl-hero-breaker img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 1439.99 / 117;
  object-fit: contain;
  object-position: center;
}

/* TRUST STRIP */
.sfl-trust {
  padding: 36px 0 45px;
  background: #fff;
}

.sfl-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.sfl-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 90px;
  padding: 8px 30px;
  border-right: 1px solid var(--sfl-line);
}

.sfl-trust-item:last-child { border-right: 0; }

.sfl-trust-item strong {
  font-size: 16px;
  line-height: 1.4;
  color: var(--sfl-navy-deep);
  font-weight: 750;
}

.sfl-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sfl-icon img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

/* ABOUT + FORM */
.sfl-main {
  padding: 16px 0 84px;
  background: linear-gradient(180deg, #fff 0%, #fbfdfe 100%);
}

.sfl-main-grid {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 34px;
  align-items: stretch;
}

.sfl-card {
  background: #fff;
  border: 1px solid #e9eff3;
  border-radius: 18px;
  padding: 54px 58px;
  box-shadow: 0 16px 48px rgba(9,45,67,.07);
}

.sfl-script {
  margin: 0 0 3px;
  color: var(--sfl-pink);
  font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
  font-style: italic;
  font-size: 22px;
  line-height: 1.2;
}

.sfl-card h2 {
  margin: 0 0 26px;
  color: var(--sfl-navy-deep);
  font-size: clamp(34px, 2.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.025em;
}

.sfl-card h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--sfl-teal);
  margin-top: 14px;
  border-radius: 3px;
}

.sfl-about-intro {
  color: var(--sfl-muted);
  margin: 0 0 29px;
  max-width: 620px;
  font-size: 16px;
  line-height: 1.7;
}

.sfl-feature {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 17px;
  align-items: start;
  padding: 15px 0;
}

.sfl-feature-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sfl-feature-icon img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.sfl-feature h3 {
  margin: 0 0 4px;
  color: var(--sfl-navy-deep);
  font-size: 16px;
  line-height: 1.35;
}

.sfl-feature p {
  margin: 0;
  color: var(--sfl-muted);
  font-size: 14px;
  line-height: 1.55;
}

.sfl-form-card {
  display: flex;
  flex-direction: column;
}

.sfl-form-subtitle {
  margin: -11px 0 30px;
  color: var(--sfl-muted);
  font-size: 16px;
}

.sfl-form {
  display: grid;
  gap: 18px;
  margin-top: 2px;
}

.sfl-form label {
  display: grid;
  gap: 8px;
}

.sfl-form label > span {
  font-size: 13px;
  font-weight: 400;
  color: var(--sfl-navy-deep);
}

.sfl-form input,
.sfl-form select {
  width: 100%;
  height: 62px;
  border: 1px solid #d5e0e7;
  border-radius: 9px;
  background: #fff;
  color: var(--sfl-text);
  padding: 0 17px;
  font: inherit;
  font-size: 16px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.sfl-form input:focus,
.sfl-form select:focus {
  border-color: var(--sfl-teal);
  box-shadow: 0 0 0 3px rgba(69,187,184,.12);
}

.sfl-btn-submit {
  width: 100%;
  font-weight: 800;
  background: linear-gradient(135deg, #e9198b 0%, #f11382 100%);
  color: #fff;
  min-height: 62px;
  margin-top: 3px;
  border-radius: 9px;
  box-shadow: none;
}

.sfl-privacy-note {
  margin: 12px 0 0;
  text-align: center;
  color: #80909b;
  font-size: 12px;
}

.sfl-alert {
  border-radius: 10px;
  padding: 12px 14px;
  margin: -7px 0 20px;
  font-size: 14px;
}
.sfl-alert-success { background:#eefaf7; color:#146c5a; border:1px solid #cdeee6; }
.sfl-alert-error { background:#fff1f4; color:#9b2347; border:1px solid #ffd3df; }

/* Prevent inherited Oxygen/WordPress content constraints from shrinking the campaign. */
.sfl-campaign section,
.sfl-campaign article,
.sfl-campaign main,
.sfl-campaign .sfl-shell {
  max-width: none;
}

/* LAPTOP */
@media (max-width: 1500px) {
  .sfl-shell { width: min(1380px, calc(100% - 72px)); }
  .sfl-hero-grid { min-height: 575px; }
  .sfl-hero-media { min-height: 575px; }
  .sfl-hero-copy { padding-right: 44px; }
  .sfl-card { padding: 45px 48px; }
}

@media (max-width: 1180px) {
  .sfl-shell { width: min(1080px, calc(100% - 52px)); }
  .sfl-hero-grid { grid-template-columns: 46% 54%; min-height: 510px; }
  .sfl-hero-media { min-height: 510px; border-radius: 0; }
  .sfl-hero h1 { font-size: clamp(54px, 5.1vw, 70px); }
  .sfl-hero-copy { padding: 34px 42px 74px 0; }
  .sfl-hero-lead { margin-top: 26px; font-size: 19px; }
  .sfl-hero-support { font-size: 15px; }
  .sfl-trust-item { padding-inline: 18px; }
  .sfl-card { padding: 38px 40px; }
}

/* TABLET */
@media (max-width: 900px) {
  .sfl-shell { width: min(100% - 34px, 820px); }
  .sfl-hero { padding-top: 0; }
  .sfl-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .sfl-hero-copy { padding: 30px 4px 38px; }
  .sfl-hero h1 { font-size: clamp(50px, 9vw, 68px); }
  .sfl-hero-media { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
  .sfl-hero-media::before { content: none; display: none; }
  .sfl-hero-breaker { margin-top: 0; }
  .sfl-hero-breaker img { height: auto; }
  .sfl-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .sfl-trust-item:nth-child(2) { border-right: 0; }
  .sfl-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--sfl-line); }
  .sfl-main-grid { grid-template-columns: 1fr; }
  .sfl-card { padding: 42px; }
}

/* MOBILE */
@media (max-width: 640px) {
  .sfl-shell { width: min(100% - 24px, 560px); }
  .sfl-hero { padding-top: 0; }
  .sfl-hero-copy { padding: 24px 2px 28px; }
  .sfl-hero h1 { font-size: 47px; line-height: .98; }
  .sfl-hero h1 span { margin-top: 7px; }
  .sfl-hero-lead { font-size: 17px; margin-top: 22px; }
  .sfl-hero-support { font-size: 14px; line-height: 1.55; margin-bottom: 24px; }
  .sfl-btn { min-height: 56px; font-size: 16px; }
  .sfl-btn-whatsapp { width: 100%; }
  .sfl-hero-media { min-height: 0; aspect-ratio: 16 / 10; border-radius: 0; }
  .sfl-hero-media img { object-position: 52% 50%; }
  .sfl-hero-breaker img { height: auto; }
  .sfl-trust { padding: 18px 0 23px; }
  .sfl-trust-grid { grid-template-columns: 1fr 1fr; }
  .sfl-trust-item { min-height: 88px; border-right: 0; border-bottom: 1px solid var(--sfl-line); padding: 12px 8px; gap: 9px; justify-content: flex-start; }
  .sfl-trust-item:nth-child(odd) { border-right: 1px solid var(--sfl-line); }
  .sfl-trust-item:nth-last-child(-n+2) { border-bottom: 0; }
  .sfl-icon { flex-basis: 42px; width: 42px; height: 42px; }
  .sfl-icon img { width: 32px; height: 32px; }
  .sfl-trust-item strong { font-size: 11px; }
  .sfl-main { padding: 8px 0 42px; }
  .sfl-main-grid { gap: 18px; }
  .sfl-card { padding: 28px 23px; border-radius: 15px; }
  .sfl-card h2 { font-size: 29px; margin-bottom: 20px; }
  .sfl-script { font-size: 18px; }
  .sfl-about-intro { font-size: 14px; line-height: 1.6; }
  .sfl-feature { grid-template-columns: 44px 1fr; gap: 12px; }
  .sfl-feature-icon { width: 40px; height: 40px; }
  .sfl-feature-icon img { width: 30px; height: 30px; }
  .sfl-feature h3 { font-size: 14px; }
  .sfl-feature p { font-size: 12.5px; }
  .sfl-form-subtitle { font-size: 14px; }
  .sfl-form input,
  .sfl-form select,
  .sfl-btn-submit { height: 56px; min-height: 56px; }
}


/* Campaign proof-point refinement */
.sfl-trust-item > div { min-width: 0; }
.sfl-trust-item small {
  display: block;
  margin-top: 3px;
  color: var(--sfl-muted);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
  max-width: 220px;
}
.sfl-trust-grid-proof .sfl-trust-item { align-items: center; }

@media (max-width: 1100px) {
  .sfl-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sfl-trust-item { justify-content: flex-start; padding: 16px 28px; min-height: 104px; }
  .sfl-trust-item:nth-child(2) { border-right: 0; }
  .sfl-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--sfl-line); }
  .sfl-trust-item:nth-child(3) { border-right: 1px solid var(--sfl-line); }
  .sfl-trust-item:last-child { border-right: 0; }
  .sfl-trust-item small { max-width: 300px; }
}

@media (max-width: 1040px) and (min-width: 901px) {
  .sfl-shell { width: min(100% - 44px, 980px); }
  .sfl-hero-grid { grid-template-columns: 45% 55%; }
  .sfl-hero-copy { padding-right: 28px; }
  .sfl-main-grid { gap: 24px; }
  .sfl-card { padding: 34px 32px; }
}

@media (max-width: 900px) {
  .sfl-hero-copy { align-items: flex-start; }
}

@media (max-width: 640px) {
  .sfl-hero-copy { align-items: stretch; }
  .sfl-btn-whatsapp { width: 100%; align-self: stretch; }
  .sfl-trust-item { min-height: 104px; align-items: flex-start; }
  .sfl-trust-item strong { display: block; font-size: 11px; line-height: 1.3; }
}

@media (max-width: 767px) {
  .sfl-trust-item small {
    font-size: 10px;
    line-height: 1.3;
    max-width: none;
    overflow-wrap: anywhere;
  }
}
