.e54-tender {
  --accent: #E31E4A;
  --accent-dark: #b8163b;
  --ink: #000000;
  --ink-soft: #2b2b2b;
  --muted: #6b6b6b;
  --light: #F5F5F5;
  --white: #ffffff;
  --line: #e4e4e4;
  --line-dark: rgba(255, 255, 255, 0.14);

  --font-head: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --radius: 10px;
  --radius-lg: 18px;
  --container: 1180px;
  --pad: clamp(20px, 5vw, 40px);
  --section-y: clamp(56px, 8vw, 104px);

  --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 18px 40px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 30px 70px rgba(0, 0, 0, 0.28);
}
.e54-tender *, .e54-tender *::before, .e54-tender *::after { box-sizing: border-box; }
.e54-tender { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
.e54-tender {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-soft);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
.e54-tender img, .e54-tender svg, .e54-tender iframe { max-width: 100%; display: block; }
.e54-tender a { color: inherit; }
.e54-tender button { font: inherit; }
.e54-tender h1, .e54-tender h2, .e54-tender h3, .e54-tender h4 {
  font-family: var(--font-head);
  color: var(--ink);
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 16px;
}
.e54-tender h1 { font-weight: 900; font-size: clamp(34px, 6vw, 58px); }
.e54-tender h2 { font-weight: 900; font-size: clamp(28px, 4.4vw, 44px); }
.e54-tender h3 { font-weight: 800; font-size: clamp(18px, 2.2vw, 22px); }
.e54-tender p { margin: 0 0 16px; }
.e54-tender p:last-child { margin-bottom: 0; }
.e54-tender .container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--pad); }
.e54-tender .section { padding-block: var(--section-y); position: relative; }
.e54-tender .section--light { background: var(--light); }
.e54-tender .section--dark { background: var(--ink); color: rgba(255, 255, 255, 0.78); }
.e54-tender .section--dark h2, .e54-tender .section--dark h3 { color: var(--white); }
.e54-tender .section__head { max-width: 720px; margin: 0 auto clamp(32px, 5vw, 56px); text-align: center; }
.e54-tender .section__head p { color: var(--muted); font-size: 18px; }
.e54-tender .section--dark .section__head p { color: rgba(255, 255, 255, 0.7); }
.e54-tender .eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
}
.e54-tender .eyebrow--onDark { color: var(--white); background: var(--accent); padding: 6px 12px; border-radius: 999px; }
.e54-tender .hl { color: var(--accent); }
.e54-tender .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  padding: 17px 28px;
  border-radius: var(--radius);
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}
.e54-tender .btn:hover { transform: translateY(-2px); }
.e54-tender .btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.e54-tender .btn--primary { background: var(--accent); color: var(--white); }
.e54-tender .btn--primary:hover { background: var(--accent-dark); }
.e54-tender .btn--ghost { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.35); }
.e54-tender .btn--ghost:hover { border-color: var(--white); background: rgba(255, 255, 255, 0.08); }
.e54-tender .btn--dark { background: var(--ink); color: var(--white); }
.e54-tender .btn--dark:hover { background: var(--ink-soft); }
.e54-tender .btn--block { width: 100%; }
.e54-tender .btn--sm { padding: 12px 20px; font-size: 15px; }
.e54-tender .motif-dots {
  position: absolute;
  pointer-events: none;
  background-image: radial-gradient(var(--accent) 1.6px, transparent 1.7px);
  background-size: 11px 11px;
  -webkit-mask-image: radial-gradient(circle at 100% 100%, #000 0%, #000 45%, transparent 72%);
  mask-image: radial-gradient(circle at 100% 100%, #000 0%, #000 45%, transparent 72%);
  opacity: .55;
}
.e54-tender .motif-rings {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, currentColor 0 1px, transparent 1px 44px);
  opacity: .10;
}
@media (min-width: 700px) {.e54-tender .header__phone { display: inline-flex; align-items: center; gap: 8px; }
 }
.e54-tender .hero {
  position: relative;
  background: var(--ink);
  color: rgba(255, 255, 255, 0.8);
  overflow: hidden;
  padding-block: clamp(48px, 7vw, 92px);
}
.e54-tender .hero__dots { inset: auto -60px -60px auto; width: 420px; height: 420px; }
.e54-tender .hero__rings { color: #fff; inset: -180px auto auto -180px; width: 560px; height: 560px; }
.e54-tender .hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(36px, 5vw, 60px);
  align-items: start;
}
@media (min-width: 980px) {.e54-tender .hero__inner { grid-template-columns: 1.05fr 0.95fr; align-items: center; }

}
.e54-tender .hero h1 { color: var(--white); margin-bottom: 20px; }
.e54-tender .hero__sub { font-size: clamp(17px, 2vw, 20px); color: rgba(255, 255, 255, 0.74); max-width: 560px; }
.e54-tender .hero__bullets { list-style: none; margin: 26px 0 32px; padding: 0; display: grid; gap: 12px; }
.e54-tender .hero__bullets li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-weight: 600;
  color: var(--white);
  font-size: 16px;
}
.e54-tender .hero__bullets svg { flex: none; width: 22px; height: 22px; color: var(--accent); margin-top: 1px; }
.e54-tender .hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.e54-tender .hero__note { margin-top: 18px; font-size: 14px; color: rgba(255, 255, 255, 0.55); }
.e54-tender .card-form {
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: clamp(24px, 3vw, 34px);
  color: var(--ink-soft);
}
.e54-tender .card-form__head { margin-bottom: 20px; }
.e54-tender .card-form__head h2 { font-size: clamp(22px, 2.6vw, 27px); margin-bottom: 8px; }
.e54-tender .card-form__head p { font-size: 15px; color: var(--muted); }
.e54-tender .field { margin-bottom: 14px; }
.e54-tender .field label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 6px;
}
.e54-tender .field input, .e54-tender .field select, .e54-tender .field textarea {
  width: 100%;
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--ink);
  background: var(--light);
  border: 1.5px solid transparent;
  border-radius: var(--radius);
  padding: 13px 14px;
  transition: border-color .15s ease, background-color .15s ease;
}
.e54-tender .field textarea { min-height: 96px; resize: vertical; }
.e54-tender .field input:focus, .e54-tender .field select:focus, .e54-tender .field textarea:focus {
  outline: none;
  background: var(--white);
  border-color: var(--accent);
}
.e54-tender .field--invalid input, .e54-tender .field--invalid select, .e54-tender .field--invalid textarea { border-color: var(--accent); background: #fff5f7; }
.e54-tender .field__error { display: none; font-size: 13px; font-weight: 600; color: var(--accent); margin-top: 5px; }
.e54-tender .field--invalid .field__error { display: block; }
.e54-tender .form__consent { font-size: 12.5px; color: var(--muted); margin-top: 12px; line-height: 1.5; }
.e54-tender .form__status { display: none; margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--accent); }
.e54-tender .form__status--show { display: block; }
.e54-tender .form-success { text-align: center; padding: 18px 4px; }
.e54-tender .form-success svg { width: 54px; height: 54px; color: var(--accent); margin: 0 auto 14px; }
.e54-tender .form-success h2 { margin-bottom: 8px; }
.e54-tender .form-success p { color: var(--muted); }
.e54-tender .card-form iframe { width: 100%; border: 0; min-height: 560px; border-radius: var(--radius); }
.e54-tender .btn[aria-busy="true"] { opacity: .7; pointer-events: none; }
.e54-tender .video-wrap {
  position: relative;
  max-width: 940px;
  margin-inline: auto;
  aspect-ratio: 16 / 9;
  background: #111;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.e54-tender .video-wrap iframe { width: 100%; height: 100%; border: 0; }
.e54-tender .video-wrap--portrait { max-width: 420px; aspect-ratio: 9 / 16; }
.e54-tender .video-wrap--square { max-width: 620px; aspect-ratio: 1 / 1; }
.e54-tender .video-facade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  background-color: #111;
}
.e54-tender .video-facade::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .48));
}
.e54-tender .video-facade__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--accent);
  display: grid;
  place-items: center;
  box-shadow: 0 12px 34px rgba(227, 30, 74, .45);
  transition: transform .18s ease;
}
.e54-tender .video-facade:hover .video-facade__play { transform: translate(-50%, -50%) scale(1.08); }
.e54-tender .video-facade__play svg { width: 30px; height: 30px; color: #fff; margin-left: 4px; }
.e54-tender .video-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
  background:
    repeating-linear-gradient(45deg, #171717 0 12px, #131313 12px 24px);
}
.e54-tender .grid { display: grid; gap: 20px; }
@media (min-width: 640px) {.e54-tender .grid--2 { grid-template-columns: repeat(2, 1fr); }
 }
@media (min-width: 900px) {.e54-tender .grid--3 { grid-template-columns: repeat(3, 1fr); }
.e54-tender .grid--4 { grid-template-columns: repeat(4, 1fr); }

}
.e54-tender .card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.e54-tender .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: transparent; }
.e54-tender .card__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(227, 30, 74, .09);
  color: var(--accent);
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.e54-tender .card__icon svg { width: 26px; height: 26px; }
.e54-tender .card h3 { margin-bottom: 8px; }
.e54-tender .card p { font-size: 15.5px; color: var(--muted); }
.e54-tender .steps { display: grid; gap: 30px; position: relative; }
.e54-tender .step { position: relative; padding-left: 62px; }
.e54-tender .step__node {
  position: absolute;
  left: 0; top: 0;
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--accent);
  color: #fff;
  box-shadow: 0 0 0 6px rgba(227, 30, 74, .16);
  z-index: 1;
}
.e54-tender .step__node svg { width: 21px; height: 21px; }
.e54-tender .step__num {
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--accent);
  margin-bottom: 6px;
  display: block;
}
.e54-tender .section--dark .step__num { color: var(--accent); }
.e54-tender .step h3 { margin-bottom: 8px; }
.e54-tender .step p { font-size: 15.5px; color: var(--muted); }
.e54-tender .section--dark .step p { color: rgba(255, 255, 255, .68); }
.e54-tender .step::before {
  content: "";
  position: absolute;
  left: 21px; top: 44px;
  width: 2px;
  height: calc(100% + 30px - 44px);
  background: linear-gradient(to bottom, var(--accent), rgba(227, 30, 74, .25));
}
.e54-tender .step:last-child::before { display: none; }
@media (min-width: 900px) {.e54-tender .steps { grid-template-columns: repeat(3, 1fr); gap: 26px; }
.e54-tender .step { padding-left: 0; padding-top: 62px; text-align: left; }
.e54-tender .step__node { left: 0; top: 0; }
.e54-tender .step::before {
    left: 44px; top: 21px;
    width: calc(100% + 26px - 44px);
    height: 2px;
    background: linear-gradient(to right, var(--accent), rgba(227, 30, 74, .25));
  }

}
.e54-tender .trustband { text-align: center; padding-block: clamp(36px, 5vw, 56px); }
.e54-tender .trustband__statement {
  font-weight: 700;
  color: var(--ink);
  font-size: clamp(16px, 1.9vw, 19px);
  max-width: 780px;
  margin-inline: auto;
}
.e54-tender .trustband__clients {
  font-style: italic;
  color: var(--muted);
  font-size: 16px;
  margin-top: 12px;
}
.e54-tender .trustband__clients strong { color: var(--accent); font-style: normal; font-weight: 700; }
.e54-tender .logostrip { padding-block: clamp(28px, 4vw, 44px); border-bottom: 1px solid var(--line); }
.e54-tender .logostrip__label {
  text-align: center;
  font-family: var(--font-head);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 22px;
}
.e54-tender .logos {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: center;
  gap: clamp(22px, 3.4vw, 48px);
}
.e54-tender .logos img {
  
  width: auto;
  height: auto;
  max-height: clamp(30px, 3.6vw, 44px);
  max-width: 132px;
  object-fit: contain;
  mix-blend-mode: multiply;  
  opacity: .62;
  transition: opacity .25s ease;
}
.e54-tender .logos img:hover { opacity: 1; }
@media (max-width: 639px) {.e54-tender .logos {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 8px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
.e54-tender .logos::-webkit-scrollbar { display: none; }
.e54-tender .logos img { flex: none; }

}
.e54-tender .carousel { position: relative; }
.e54-tender .carousel__track {
  display: flex;
  gap: clamp(14px, 2vw, 22px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scroll-padding-inline: 0;
  padding-block: 4px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.e54-tender .carousel__track::-webkit-scrollbar { display: none; }
.e54-tender .carousel__track:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: var(--radius-lg); }
.e54-tender .work__item {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: min(86%, 780px);
  scroll-snap-align: center;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-md);
  text-decoration: none;
  aspect-ratio: 4 / 3;
}
@media (min-width: 760px) {.e54-tender .work__item { width: min(56%, 620px); }
 }
@media (min-width: 1180px) {.e54-tender .work__item { width: 560px; }
 }
.e54-tender .work__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.e54-tender .carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 52px; height: 52px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-md);
  display: grid; place-items: center;
  cursor: pointer;
  color: var(--ink);
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.e54-tender .carousel__btn svg { width: 22px; height: 22px; }
.e54-tender .carousel__btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.e54-tender .carousel__btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.e54-tender .carousel__btn[disabled] { opacity: .32; pointer-events: none; }
.e54-tender .carousel__btn--prev { left: clamp(-6px, -0.5vw, 10px); }
.e54-tender .carousel__btn--next { right: clamp(-6px, -0.5vw, 10px); }
@media (max-width: 759px) {.e54-tender .carousel__btn { display: none; }
 }
.e54-tender .carousel__dots {
  display: flex;
  justify-content: center;
  gap: 0;              
  margin-top: clamp(12px, 2vw, 18px);
}
.e54-tender .carousel__dots button {
  width: 40px; height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.e54-tender .carousel__dots button::after {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  transition: background .2s ease, transform .2s ease;
}
.e54-tender .carousel__dots button[aria-current="true"]::after { background: var(--accent); transform: scale(1.35); }
.e54-tender .carousel__dots button:focus-visible { outline: 2px solid var(--accent); outline-offset: -6px; border-radius: 50%; }
.e54-tender .work__more { text-align: center; margin-top: clamp(26px, 4vw, 38px); }
.e54-tender .work__more a {
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 3px;
}
.e54-tender .work__more a:hover { color: var(--accent); }
.e54-tender .section--dark .work__more a { color: #fff; }
@media (prefers-reduced-motion: reduce) {.e54-tender .carousel__track { scroll-behavior: auto; }
 }
.e54-tender .quote {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
}
.e54-tender .quote p { font-size: 16.5px; color: var(--ink-soft); }
.e54-tender .quote__by { margin-top: 16px; font-weight: 700; font-size: 14px; color: var(--ink); }
.e54-tender .quote__by span { display: block; font-weight: 400; color: var(--muted); }
.e54-tender .faq { max-width: 800px; margin-inline: auto; }
.e54-tender .faq details {
  border-bottom: 1px solid var(--line);
  padding: 6px 0;
}
.e54-tender .faq summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-head);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 16px;
  color: var(--ink);
  padding: 16px 40px 16px 0;
  position: relative;
}
.e54-tender .faq summary::-webkit-details-marker { display: none; }
.e54-tender .faq summary::after {
  content: "+";
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
  font-weight: 400;
  color: var(--accent);
  line-height: 1;
}
.e54-tender .faq details[open] summary::after { content: "\2013"; }
.e54-tender .faq details p { padding: 0 40px 18px 0; font-size: 15.5px; color: var(--muted); }
.e54-tender .calendar-wrap {
  max-width: 960px;
  margin-inline: auto;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  min-height: 620px;
}
/* Google Calendar does NOT resize its own iframe the way GoHighLevel's form_embed.js did,
   and it posts no height message either (checked: zero postMessages from calendar.google.com),
   so the frame cannot auto-fit and these heights are load-bearing.

   They are measured, not guessed. Loading the schedule same-origin at fixed widths and reading
   document.body.scrollHeight gives 848px at 960 wide, 833px at 700, and 1325px at 350 - the
   widget has NO internal scrollers, so any scrollbar is just the frame being shorter than its
   content. Set slightly above the measurement so the content lands without one.

   Scrolling is deliberately left ENABLED. If a busier week ever renders taller than this, the
   visitor gets a scrollbar instead of silently losing the bottom of the calendar. */
.e54-tender .calendar-wrap iframe { width: 100%; height: 880px; border: 0; display: block; }
@media (max-width: 759px) {
  .e54-tender .calendar-wrap { min-height: 1380px; }
  .e54-tender .calendar-wrap iframe { height: 1380px; }
}
.e54-tender .calendar-fallback {
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 620px;
  padding: 30px;
  color: var(--muted);
  font-size: 14px;
  background: repeating-linear-gradient(45deg, #fafafa 0 12px, #f3f3f3 12px 24px);
}
.e54-tender .closing {
  position: relative;
  overflow: hidden;
  background: var(--accent);
  color: #fff;
  text-align: center;
}
.e54-tender .closing h2 { color: #fff; }
.e54-tender .closing p { color: rgba(255, 255, 255, .88); font-size: 18px; max-width: 620px; margin-inline: auto; }
.e54-tender .closing .btn--dark { margin-top: 26px; }
.e54-tender .closing__rings { color: #fff; inset: -240px -160px auto auto; width: 620px; height: 620px; opacity: .16; }
@media (min-width: 800px) {.e54-tender .footer__inner { grid-template-columns: 1.2fr 1fr 1fr; }
 }
.e54-tender .mobile-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 60;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--line);
  display: flex;
  gap: 10px;
}
.e54-tender .mobile-cta .btn { flex: 1; padding-block: 14px; }
@media (min-width: 760px) {.e54-tender .mobile-cta { display: none; }
 }
@media (max-width: 759px) {.e54-tender { padding-bottom: 74px; }
 }
.e54-tender .reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.e54-tender .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {.e54-tender .reveal { opacity: 1; transform: none; transition: none; }
.e54-tender { scroll-behavior: auto; }
.e54-tender .btn:hover, .e54-tender .card:hover { transform: none; }

}
.e54-tender #book, .e54-tender #video, .e54-tender #form-card, .e54-tender #top { scroll-margin-top: 92px; }
.e54-tender .hidden { display: none !important; }
.e54-tender .sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}



/* reveal re-anchored from <body> (WordPress owns it) to the wrapper */
.e54-tender { opacity: 0; transition: opacity .18s ease; }
body[data-boot="ready"] .e54-tender { opacity: 1; }

/* ------------------------------------------------------------------ THANK YOU PAGE
   The thank you page renders this stylesheet WITHOUT landing.js, so body[data-boot]
   is never set and the two rules above would leave it permanently invisible. These
   must stay AFTER them: .e54-tender--static has the same specificity as .e54-tender,
   so source order is what wins. .reveal is neutralised for the same reason - nothing
   is running to add .is-in. */
.e54-tender--static { opacity: 1; }
.e54-tender--static .reveal { opacity: 1; transform: none; }

.e54-tender--static .section__head { max-width: 640px; }
.e54-tender--static .section__head h1 { font-size: clamp(28px, 4vw, 42px); margin-bottom: 12px; }

.e54-tender .thanks__tick {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 22px;
  background: rgba(227, 30, 74, .09);
  color: var(--accent);
  box-shadow: 0 0 0 8px rgba(227, 30, 74, .07);
}
.e54-tender .thanks__tick svg { width: 32px; height: 32px; }

.e54-tender .thanks__fallback {
  text-align: center;
  color: var(--muted);
  font-size: 15.5px;
  margin-top: clamp(36px, 5vw, 52px);
}
.e54-tender .thanks__fallback a { color: var(--accent); font-weight: 700; }

.e54-tender .thanks__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-top: 22px;
}
