:root {
  --lfd-container-max: 1920px;
  --lfd-padding-x: 2.4rem;
  --lfd-content-edge: max(var(--lfd-padding-x), calc((100vw - var(--lfd-container-max)) / 2 + var(--lfd-padding-x)));
  --lfd-cream: #fbfaf5;
  --lfd-cream-deep: #f4eee5;
  --lfd-ink: #060b23;
  --lfd-text: #414141;
  --lfd-coral: #e84236;
  --lfd-coral-dark: #d12418;
  --lfd-rose: #fadcd9;
  --lfd-yellow: #edcf46;
  --lfd-line: #ddd3c7;
}

.lfd-block,
.lfd-block * { box-sizing: border-box; }

.lfd-block {
  width: 100vw;
  max-width: none !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  color: var(--lfd-ink);
  font-family: "DM Sans", Arial, sans-serif;
}

.lfd-block img { display: block; max-width: 100%; }
.lfd-block a { color: inherit; text-decoration: none; }
.lfd-block h1,
.lfd-block h2,
.lfd-block h3 { font-family: "DM Serif Text", Georgia, serif; font-weight: 400; }
.lfd-block h1 em,
.lfd-block h2 em { display: block; color: var(--lfd-coral); font-weight: 400; }
.lfd-section { padding: 112px var(--lfd-content-edge); }
.lfd-eyebrow { margin: 0 0 20px; color: var(--lfd-coral); font-family: "Special Elite", monospace; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.lfd-block h2 { margin: 0; font-size: clamp(44px, 4.2vw, 68px); line-height: 1.03; letter-spacing: -.025em; }
.lfd-button { min-height: 54px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--lfd-coral); border-radius: 2px; background: var(--lfd-coral); color: #fff !important; box-shadow: 5px 5px 0 var(--lfd-ink); font-size: 14px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: .2s ease; }
.lfd-button:hover { background: var(--lfd-coral-dark); box-shadow: 3px 3px 0 var(--lfd-ink); transform: translate(2px, 2px); }

.lfd-hero { min-height: 720px; padding: 76px var(--lfd-content-edge) 72px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(430px, .86fr); align-items: center; gap: clamp(50px, 6vw, 96px); overflow: hidden; background: var(--lfd-cream); }
.lfd-hero__copy { max-width: 730px; }
.lfd-hero h1 { margin: 0; font-size: clamp(54px, 5.35vw, 84px); line-height: .98; letter-spacing: -.035em; }
.lfd-hero__intro { max-width: 630px; margin: 30px 0 0; color: var(--lfd-text); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.65; }
.lfd-hero__text { max-width: 630px; margin: 14px 0 30px; color: var(--lfd-text); font-size: 15px; line-height: 1.65; }
.lfd-hero__facts { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 22px; color: #665d55; font-size: 13px; font-weight: 600; }
.lfd-hero__media { position: relative; min-height: 520px; }
.lfd-hero__media > img { width: 100%; height: 520px; object-fit: cover; object-position: 50% 48%; border-radius: 48% 48% 7px 7px; box-shadow: 16px 16px 0 var(--lfd-rose); }
.lfd-sticker { position: absolute; top: -30px; right: -22px; width: 126px; height: 126px; display: grid; place-content: center; border-radius: 50%; background: var(--lfd-yellow); box-shadow: 4px 5px 0 var(--lfd-ink); font-family: "Special Elite", monospace; text-align: center; transform: rotate(8deg); }
.lfd-sticker strong { font-size: 27px; line-height: 1; }
.lfd-sticker small { margin-top: 4px; font-size: 13px; text-transform: uppercase; }

.lfd-trust { min-height: 78px; padding: 18px var(--lfd-content-edge); display: flex; justify-content: center; align-items: center; gap: clamp(22px, 5vw, 76px); background: var(--lfd-coral); color: #fff; }
.lfd-trust span { font-family: "Special Elite", monospace; font-size: clamp(13px, 1.35vw, 18px); letter-spacing: .04em; text-transform: uppercase; }
.lfd-trust i { color: var(--lfd-yellow); font-style: normal; }
.lfd-connection { display: grid; grid-template-columns: 1fr .85fr .55fr; gap: clamp(38px, 6vw, 96px); align-items: start; background: var(--lfd-cream); }
.lfd-copy { color: var(--lfd-text); font-size: 16px; line-height: 1.75; }
.lfd-copy .lfd-lead { margin-top: 0; color: var(--lfd-ink); font-family: "DM Serif Text", Georgia, serif; font-size: 25px; line-height: 1.4; }
.lfd-audience { min-height: 345px; padding: 32px 28px; display: flex; flex-direction: column; border: 2px solid var(--lfd-ink); background: var(--lfd-yellow); box-shadow: 9px 9px 0 var(--lfd-ink); transform: rotate(1.5deg); }
.lfd-audience > span { margin-bottom: auto; font-size: 38px; }
.lfd-audience strong { margin-bottom: 12px; font-family: "Special Elite", monospace; text-transform: uppercase; }
.lfd-audience ul { margin: 0; padding: 0; display: grid; gap: 7px; list-style: none; font-size: 14px; }
.lfd-audience li::before { content: "— "; }

.lfd-experiences { background: var(--lfd-cream-deep); }
.lfd-section-head { display: grid; grid-template-columns: 1.25fr .7fr; align-items: end; gap: 60px; }
.lfd-section-head > p { margin: 0 0 8px; color: var(--lfd-text); font-size: 17px; line-height: 1.7; }
.lfd-cards { margin-top: 64px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.lfd-cards article { overflow: hidden; background: var(--lfd-cream); border: 1px solid var(--lfd-line); transition: .25s ease; }
.lfd-cards article:hover { box-shadow: 0 20px 45px rgba(6, 11, 35, .1); transform: translateY(-7px); }
.lfd-card-image { position: relative; height: 300px; overflow: hidden; }
.lfd-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lfd-cards article:hover img { transform: scale(1.035); }
.lfd-card-image span { position: absolute; left: 18px; bottom: 18px; width: 48px; height: 48px; display: grid; place-content: center; border-radius: 50%; background: var(--lfd-coral); color: #fff; box-shadow: 3px 3px 0 var(--lfd-ink); font-family: "Special Elite", monospace; }
.lfd-card-body { padding: 28px 26px 30px; }
.lfd-card-body h3 { margin: 0 0 13px; font-size: 31px; }
.lfd-card-body p { min-height: 104px; margin: 0; color: var(--lfd-text); line-height: 1.65; }
.lfd-card-body small { margin-top: 23px; display: block; color: var(--lfd-coral); font-family: "Special Elite", monospace; font-size: 13px; text-transform: uppercase; }
.lfd-center { margin-top: 52px; display: flex; justify-content: center; }

.lfd-location { display: grid; grid-template-columns: minmax(380px, .92fr) 1fr; gap: clamp(56px, 8vw, 125px); align-items: center; background: var(--lfd-ink); color: #fff; }
.lfd-location .lfd-eyebrow,
.lfd-location h2 em { color: #ff8c83; }
.lfd-location__image { position: relative; }
.lfd-location__image img { width: 100%; height: 610px; object-fit: cover; box-shadow: -15px 15px 0 var(--lfd-coral); }
.lfd-location__image > span { position: absolute; right: -26px; bottom: 38px; max-width: 200px; padding: 16px 20px; background: var(--lfd-cream); color: var(--lfd-ink); box-shadow: 5px 5px 0 var(--lfd-coral); font-family: "Special Elite", monospace; line-height: 1.4; transform: rotate(-3deg); }
.lfd-location__intro { max-width: 620px; margin: 28px 0 0; color: rgba(255, 255, 255, .78); font-size: 17px; line-height: 1.7; }
.lfd-location ol { margin: 38px 0 0; padding: 0; list-style: none; }
.lfd-location li { padding: 18px 0; display: grid; grid-template-columns: 48px 1fr; gap: 18px; border-top: 1px solid rgba(255, 255, 255, .2); }
.lfd-location li > span { width: 38px; height: 38px; display: grid; place-content: center; border-radius: 50%; background: var(--lfd-coral); font-family: "Special Elite", monospace; }
.lfd-location h3 { margin: 0 0 6px; font-size: 23px; }
.lfd-location li p { margin: 0; color: rgba(255, 255, 255, .7); line-height: 1.6; }
.lfd-tailored { display: grid; grid-template-columns: 1.1fr .8fr; gap: clamp(50px, 9vw, 140px); align-items: start; background: var(--lfd-cream); }
.lfd-tailored h2 { max-width: 800px; }
.lfd-tailored > p { margin: 50px 0 0; color: var(--lfd-text); font-size: 17px; line-height: 1.75; }

.lfd-clients { text-align: center; background: var(--lfd-cream); border-bottom: 1px solid var(--lfd-line); }
.lfd-clients h2 { font-size: clamp(38px, 3.6vw, 58px); }
.lfd-logos { margin-top: 48px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.lfd-logos > div { min-height: 112px; padding: 22px 18px; display: grid; place-items: center; background: #fff; border: 1px solid var(--lfd-line); }
.lfd-logos img { width: 100%; max-width: 160px; max-height: 68px; object-fit: contain; filter: grayscale(1); opacity: .78; transition: .2s ease; }
.lfd-logos > div:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.03); }

.lfd-gallery { background: var(--lfd-cream); }
.lfd-gallery-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 255px; gap: 14px; }
.lfd-gallery-grid figure { margin: 0; overflow: hidden; background: var(--lfd-cream-deep); }
.lfd-gallery-grid figure.is-wide { grid-column: span 2; }
.lfd-gallery-grid figure.is-tall { grid-row: span 2; }
.lfd-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: .5s ease; }
.lfd-gallery-grid figure:hover img { transform: scale(1.04); }
.lfd-quote { min-height: 440px; padding: 80px var(--lfd-content-edge); display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--lfd-coral); color: #fff; text-align: center; }
.lfd-quote > span { margin-bottom: 22px; color: var(--lfd-yellow); font-size: 42px; }
.lfd-quote blockquote { max-width: 980px; margin: 0 0 40px; font-family: "DM Serif Text", Georgia, serif; font-size: clamp(33px, 4vw, 59px); line-height: 1.17; }
.lfd-button.is-light { border-color: var(--lfd-cream); background: var(--lfd-cream); color: var(--lfd-ink) !important; }

.lfd-faq { display: grid; grid-template-columns: .65fr 1fr; gap: clamp(50px, 10vw, 150px); background: var(--lfd-cream-deep); }
.lfd-faq > div:first-child > p:not(.lfd-eyebrow) { max-width: 380px; color: var(--lfd-text); line-height: 1.7; }
.lfd-faq > div:first-child > a { margin-top: 16px; display: block; width: fit-content; color: var(--lfd-coral); font-weight: 700; }
.lfd-faq-list { border-top: 2px solid var(--lfd-ink); }
.lfd-faq-list details { border-bottom: 1px solid #c9beb2; }
.lfd-faq-list summary { padding: 23px 4px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-family: "DM Serif Text", Georgia, serif; font-size: 22px; }
.lfd-faq-list summary::-webkit-details-marker { display: none; }
.lfd-faq-list summary::after { content: "+"; color: var(--lfd-coral); font-family: "DM Sans", sans-serif; font-size: 26px; }
.lfd-faq-list details[open] summary::after { content: "−"; }
.lfd-faq-list details p { margin: 0; padding: 0 45px 22px 4px; color: var(--lfd-text); line-height: 1.65; }

.lfd-proposal { display: grid; grid-template-columns: .75fr 1fr; gap: clamp(55px, 9vw, 135px); background: var(--lfd-cream); }
.lfd-proposal > div:first-child > p:not(.lfd-eyebrow) { max-width: 520px; margin: 28px 0 38px; color: var(--lfd-text); font-size: 18px; line-height: 1.7; }
.lfd-contact { margin-top: 18px; display: grid; gap: 3px; }
.lfd-contact small { color: #7c7269; }
.lfd-contact a { font-weight: 700; }
.lfd-form { min-height: 580px; padding: clamp(34px, 5vw, 78px); border: 2px solid var(--lfd-ink); background: #fff; box-shadow: 12px 12px 0 var(--lfd-rose); }

/* Fluent Forms 8: neutraliza su tema visual y conserva el aspecto de la landing. */
.lfd-form .fluentform_wrapper_8,
.lfd-form form.fluent_form_8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--lfd-ink) !important;
  font-family: "DM Sans", Arial, sans-serif !important;
}
.lfd-form form.fluent_form_8 fieldset {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(28px, 3vw, 54px);
  row-gap: 30px;
}
.lfd-form form.fluent_form_8 fieldset > .ff-field_container,
.lfd-form form.fluent_form_8 fieldset > .ff_submit_btn_wrapper,
.lfd-form form.fluent_form_8 fieldset > .ff-el-group:has(textarea),
.lfd-form form.fluent_form_8 fieldset > .ff-el-group:has(.ff-el-tc) { grid-column: 1 / -1; }
.lfd-form form.fluent_form_8 .ff-t-container {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 54px);
}
.lfd-form form.fluent_form_8 .ff-t-cell { width: auto !important; padding: 0 !important; }
.lfd-form form.fluent_form_8 .ff-el-group { margin: 0 !important; }
.lfd-form form.fluent_form_8 .ff-el-input--label { margin: 0 0 8px !important; }
.lfd-form form.fluent_form_8 .ff-el-input--label label {
  margin: 0 !important;
  color: var(--lfd-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}
.lfd-form form.fluent_form_8 .ff-el-is-required label::after { color: var(--lfd-coral) !important; }
.lfd-form form.fluent_form_8 .ff-el-form-control {
  width: 100% !important;
  min-height: 52px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #bfb5aa !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--lfd-ink) !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}
.lfd-form form.fluent_form_8 .ff-el-form-control::placeholder { color: #7d7a77 !important; opacity: 1; }
.lfd-form form.fluent_form_8 .ff-el-form-control:focus {
  border-color: var(--lfd-coral) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.lfd-form form.fluent_form_8 textarea.ff-el-form-control { min-height: 142px !important; resize: vertical; }
.lfd-form form.fluent_form_8 .choices { margin: 0 !important; }
.lfd-form form.fluent_form_8 .choices__inner {
  min-height: 52px !important;
  padding: 10px 30px 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #bfb5aa !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--lfd-ink) !important;
  font-size: 16px !important;
}
.lfd-form form.fluent_form_8 .choices.is-focused .choices__inner,
.lfd-form form.fluent_form_8 .choices.is-open .choices__inner { border-color: var(--lfd-coral) !important; }
.lfd-form form.fluent_form_8 .choices__list--dropdown { border-color: var(--lfd-line) !important; border-radius: 0 !important; }
.lfd-form form.fluent_form_8 .ff-el-form-check-label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  color: var(--lfd-text) !important;
  font-size: 14px !important;
  line-height: 1.5;
}
.lfd-form form.fluent_form_8 .ff-el-form-check-input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: var(--lfd-coral); }
.lfd-form form.fluent_form_8 .ff-btn-submit:not(.ff_btn_no_style) {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 23px !important;
  border: 2px solid var(--lfd-coral) !important;
  border-radius: 2px !important;
  background: var(--lfd-coral) !important;
  color: #fff !important;
  box-shadow: 5px 5px 0 var(--lfd-ink) !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}
.lfd-form form.fluent_form_8 .ff-btn-submit:not(.ff_btn_no_style):hover {
  background: var(--lfd-coral-dark) !important;
  box-shadow: 3px 3px 0 var(--lfd-ink) !important;
  transform: translate(2px, 2px) !important;
}

@media (max-width: 980px) {
  .lfd-hero { grid-template-columns: 1fr; }
  .lfd-connection { grid-template-columns: 1fr 1fr; }
  .lfd-audience { grid-column: span 2; min-height: 240px; }
  .lfd-cards { grid-template-columns: 1fr; }
  .lfd-cards article { display: grid; grid-template-columns: .8fr 1fr; }
  .lfd-card-body p { min-height: auto; }
  .lfd-location { grid-template-columns: 1fr; }
  .lfd-tailored { grid-template-columns: 1fr; }
  .lfd-tailored > p { margin-top: 0; }
  .lfd-logos { grid-template-columns: repeat(3, 1fr); }
  .lfd-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .lfd-faq,
  .lfd-proposal { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .lfd-section { padding: 82px var(--lfd-content-edge); }
  .lfd-hero { padding: 48px var(--lfd-content-edge) 58px; grid-template-columns: 1fr; gap: 58px; }
  .lfd-hero h1 { font-size: clamp(45px, 14vw, 62px); }
  .lfd-hero__media,
  .lfd-hero__media > img { min-height: 390px; height: 390px; }
  .lfd-sticker { width: 96px; height: 96px; top: -34px; right: -3px; }
  .lfd-trust { justify-content: flex-start; overflow: hidden; padding-inline: var(--lfd-content-edge); }
  .lfd-trust span { min-width: max-content; }
  .lfd-connection { grid-template-columns: 1fr; }
  .lfd-audience { grid-column: auto; }
  .lfd-section-head { grid-template-columns: 1fr; gap: 24px; }
  .lfd-cards article { display: block; }
  .lfd-card-image { height: 280px; }
  .lfd-location__image img { height: 390px; }
  .lfd-location__image > span { right: -3px; bottom: 22px; }
  .lfd-logos { grid-template-columns: 1fr 1fr; }
  .lfd-gallery-grid { grid-auto-rows: 190px; gap: 8px; }
  .lfd-gallery-grid figure.is-tall { grid-row: span 1; }
  .lfd-quote { min-height: 490px; padding: 72px var(--lfd-content-edge); }
  .lfd-form { min-height: 0; padding: 34px 22px; box-shadow: 8px 8px 0 var(--lfd-rose); }
  .lfd-form form.fluent_form_8 fieldset,
  .lfd-form form.fluent_form_8 .ff-t-container { grid-template-columns: 1fr; row-gap: 25px; }
  .lfd-form form.fluent_form_8 fieldset > .ff-field_container,
  .lfd-form form.fluent_form_8 fieldset > .ff_submit_btn_wrapper,
  .lfd-form form.fluent_form_8 fieldset > .ff-el-group:has(textarea),
  .lfd-form form.fluent_form_8 fieldset > .ff-el-group:has(.ff-el-tc) { grid-column: auto; }
}
