/* CSOM V7 — real HTML over responsive photographs. Load after existing styles. */
:root {
  --csom-v7-menu-height: 88px;
  --csom-v7-social-height: 44px;
  --csom-v7-purple: #6649e6;
}
html:has(body.csom-v7) { scroll-padding-top: calc(var(--csom-v7-menu-height) + 18px); }
body.csom-v7 { overflow-x: clip; }
body.csom-v7 :where([id]) { scroll-margin-top: calc(var(--csom-v7-menu-height) + 18px); }
body.csom-v7 #csom-global-header.csom-v7-header {
  position: relative;
  inset: auto;
  z-index: 1000;
  width: 100%;
  margin: 0;
  padding: var(--csom-v7-menu-height) 0 0;
  border: 0;
  color: #fff;
  background: #09090e;
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
}
body.csom-v7 #csom-global-header .csom-v7-bar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1010;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: none;
  min-height: 88px;
  margin: 0;
  padding: max(10px, env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) 10px max(24px, env(safe-area-inset-left, 0px));
  border-bottom: 1px solid #ffffff20;
  background: #09090ef7;
  box-shadow: 0 4px 20px #0003;
  backdrop-filter: blur(12px);
  box-sizing: border-box;
}
body.csom-v7 #csom-global-header .csom-shell-brand {
  display: inline-flex;
  width: auto;
  min-width: 0;
  padding: 3px 7px;
  border-radius: 8px;
  background: transparent;
  flex: 0 0 auto;
}
body.csom-v7 #csom-global-header .csom-shell-brand img {
  display: block;
  width: clamp(118px, 13vw, 184px);
  max-width: 100%;
  height: auto;
  aspect-ratio: 4216 / 1591;
  object-fit: contain;
}
body.csom-v7 #csom-global-header #csom-main-navigation.csom-navigation {
  position: static;
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2px clamp(8px, 1.3vw, 22px);
  width: auto;
  max-width: none;
  max-height: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  visibility: visible;
  opacity: 1;
}
body.csom-v7 #csom-global-header #csom-main-navigation > a,
body.csom-v7 #csom-global-header .csom-v7-service-item > a,
body.csom-v7 #csom-global-header .csom-v7-services > a,
body.csom-v7 #csom-global-header .csom-v7-services > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 44px;
  margin: 0;
  padding: 6px 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f6f3ff;
  font: 600 14px/1.3 Arial, Helvetica, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
body.csom-v7 #csom-global-header #csom-main-navigation > a:hover,
body.csom-v7 #csom-global-header .csom-v7-services > summary:hover,
body.csom-v7 #csom-global-header #csom-main-navigation > a[aria-current="page"] {
  color: #d7cdff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
body.csom-v7 #csom-global-header .csom-menu-toggle { display: none !important; }
body.csom-v7 #csom-global-header #csom-main-navigation > .csom-nav-cta {
  min-height: 38px;
  padding-inline: 14px;
  border-radius: 999px;
  background: #6649e6;
  font-size: 13px;
  color: #fff;
}
body.csom-v7 #csom-global-header .csom-language-switch {
  position: relative;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #fff;
  background: transparent;
}
body.csom-v7 #csom-global-header .csom-language-switch summary {
  min-width: 58px;
  min-height: 44px;
  padding: 6px;
  color: #fff;
  background: transparent;
}
body.csom-v7 #csom-global-header .csom-language-switch summary:hover,
body.csom-v7 #csom-global-header .csom-language-switch details[open] > summary { background: #ffffff12; }
body.csom-v7 #csom-global-header .csom-language-options { color: #262130; }
body.csom-v7 #csom-global-header .csom-v7-service-item { position: relative; display: inline-flex; align-items: center; gap: 0; }
body.csom-v7 #csom-global-header .csom-v7-service-item > a:hover { color: #d7cdff; text-decoration: underline; text-underline-offset: 7px; }
body.csom-v7 #csom-global-header .csom-v7-services {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
body.csom-v7 #csom-global-header .csom-v7-services summary { min-width: 28px; padding-inline: 5px; list-style: none; }
body.csom-v7 #csom-global-header .csom-v7-services summary > svg { width: 14px; height: 14px; }
body.csom-v7 #csom-global-header .csom-v7-services summary::-webkit-details-marker { display: none; }
body.csom-v7 #csom-global-header .csom-v7-services summary::marker { content: ""; }
body.csom-v7 #csom-global-header .csom-v7-services summary::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: -3px 2px 0 4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
body.csom-v7 #csom-global-header .csom-v7-services[open] summary::after { transform: translateY(3px) rotate(225deg); }
body.csom-v7 #csom-global-header .csom-v7-services summary:has(svg)::after { content: none; }
body.csom-v7 #csom-global-header .csom-v7-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  display: grid;
  gap: 2px;
  width: min(340px, calc(100vw - 32px));
  max-height: calc(100dvh - var(--csom-v7-menu-height) - 20px);
  margin: 0;
  padding: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #ffffff30;
  border-radius: 10px;
  background: #15111f;
  box-shadow: 0 16px 40px #0006;
}
body.csom-v7 #csom-global-header .csom-v7-services:not([open]) .csom-v7-submenu { display: none; }
body.csom-v7 #csom-global-header .csom-v7-submenu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font: 500 14px/1.4 Arial, Helvetica, sans-serif;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.csom-v7 #csom-global-header .csom-v7-submenu a:hover { background: #6649e630; }
body.csom-v7 #csom-global-header .csom-v7-socials {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 clamp(18px, 5vw, 70px);
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 2px max(16px, env(safe-area-inset-right, 0px)) 2px max(16px, env(safe-area-inset-left, 0px));
  border: 0;
  background: #101016;
  box-sizing: border-box;
}
body.csom-v7 #csom-global-header .csom-v7-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 4px 0;
  color: #eeeaf8;
  font: 500 13px/1.3 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
body.csom-v7 #csom-global-header .csom-v7-socials a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body.csom-v7 #csom-global-header .csom-v7-socials svg { display: block; width: 21px; height: 21px; flex: 0 0 auto; }
body.csom-v7 #csom-global-header .csom-v7-socials a[href*="wa.me"] svg { color: #25d366; }
body.csom-v7 #csom-global-header .csom-v7-socials a[href*="instagram"] svg { color: #f264a6; }
body.csom-v7 #csom-global-header .csom-v7-socials a[href*="facebook"] svg { color: #4f91ff; }
body.csom-v7 #csom-global-header .csom-v7-socials a[href*="tiktok"] svg { color: #fff; filter: drop-shadow(-1px -1px 0 #25f4ee) drop-shadow(1px 1px 0 #fe2c55); }
body.csom-v7 #csom-global-header .csom-v7-socials a[href^="tel:"] svg { color: #63adff; }
body.csom-v7 #csom-global-header .csom-v7-socials .csom-v7-social-whatsapp svg { color: #25d366; }
body.csom-v7 #csom-global-header .csom-v7-socials .csom-v7-social-instagram svg { color: #f264a6; }
body.csom-v7 #csom-global-header .csom-v7-socials .csom-v7-social-facebook svg { color: #4f91ff; }
body.csom-v7 #csom-global-header .csom-v7-socials .csom-v7-social-tiktok svg { color: #fff; filter: drop-shadow(-1px -1px 0 #25f4ee) drop-shadow(1px 1px 0 #fe2c55); }
body.csom-v7 #csom-global-header .csom-v7-socials .csom-v7-social-phone svg { color: #63adff; }

body.csom-v7 .csom-v7-hero,
body.csom-v7 main .csom-v7-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: none;
  min-width: 0;
  min-height: var(--csom-v7-available-height, calc(100svh - var(--csom-v7-menu-height) - var(--csom-v7-social-height)));
  height: auto;
  margin: 0 calc(50% - 50vw);
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: #090812;
  color: #fff;
  text-align: left;
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
}
@supports (height: 100dvh) {
  body.csom-v7 main .csom-v7-hero { min-height: var(--csom-v7-available-height, calc(100dvh - var(--csom-v7-menu-height) - var(--csom-v7-social-height))); }
}
body.csom-v7 .csom-v7-hero *, body.csom-v7 .csom-v7-hero *::before, body.csom-v7 .csom-v7-hero *::after { box-sizing: border-box; }
body.csom-v7 .csom-v7-hero::before,
body.csom-v7 .csom-v7-hero::after { content: none; }
body.csom-v7 .csom-v7-hero .csom-v7-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
body.csom-v7 .csom-v7-hero .csom-v7-background img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center 48%;
  filter: none;
}
body.csom-v7 .csom-v7-hero .csom-v7-background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #08060fef 0%, #090610d9 28%, #09061070 59%, #09061015 90%), linear-gradient(0deg, #090610c9, transparent 62%);
}
body.csom-v7 .csom-v7-hero .csom-v7-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  flex: 1 0 auto;
  width: min(1440px, 100%);
  min-width: 0;
  margin: 0 auto;
  padding: clamp(50px, 7vh, 110px) max(44px, env(safe-area-inset-right, 0px)) 20px max(44px, env(safe-area-inset-left, 0px));
}
body.csom-v7 .csom-v7-hero .csom-v7-copy { width: min(720px, 100%); min-width: 0; margin: 0; padding: 0; }
body.csom-v7 .csom-v7-hero .csom-v7-eyebrow {
  display: block;
  margin: 0 0 15px;
  padding: 0;
  color: #eee9ff;
  font: 700 clamp(11px, 1.05vw, 14px)/1.45 Arial, Helvetica, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.csom-v7 .csom-v7-hero h1 {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #fff;
  font: 800 clamp(36px, 4.3vw, 68px)/1.035 Arial, Helvetica, sans-serif;
  letter-spacing: -.045em;
  text-transform: none;
  overflow-wrap: break-word;
  text-wrap: balance;
  text-shadow: 0 2px 18px #0004;
}
body.csom-v7 .csom-v7-hero h1 :is(span, strong, em, b) {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  background: none;
  -webkit-text-fill-color: currentColor;
}
body.csom-v7 .csom-v7-hero h1 em { color: #d7cdff; font-style: normal; }
body.csom-v7 .csom-v7-hero .csom-v7-lead {
  display: block;
  width: 100%;
  max-width: 660px;
  margin: 18px 0 0;
  padding: 0;
  color: #f2eefa;
  font: 400 clamp(16px, 1.45vw, 21px)/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: normal;
  text-wrap: pretty;
}
body.csom-v7 .csom-v7-hero .csom-v7-lead a { color: #d7cdff; text-decoration: underline; text-underline-offset: 3px; }
body.csom-v7 .csom-v7-hero .csom-v7-events {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin: 26px 0 22px;
  padding: 0;
}
body.csom-v7 .csom-v7-hero .csom-v7-events a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  min-height: 68px;
  padding: 4px 2px;
  border-radius: 8px;
  color: #fff;
  font: 600 14px/1.35 Arial, Helvetica, sans-serif;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
}
body.csom-v7 .csom-v7-hero .csom-v7-events a:hover { background: #ffffff12; color: #d7cdff; }
body.csom-v7 .csom-v7-hero .csom-v7-events svg { width: 34px; height: 34px; flex: 0 0 auto; }
body.csom-v7 .csom-v7-hero .csom-v7-proof {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  align-items: center;
  gap: 22px;
  width: 100%;
  margin: 0;
  padding: 19px 0;
  border-top: 1px solid #ffffff70;
  color: #fff;
}
body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #fff;
  font: 500 15px/1.4 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
body.csom-v7 .csom-v7-hero .csom-v7-authority { border-left: 1px solid #ffffff45; padding-left: 22px; }
body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) > svg { width: 34px; height: 34px; color: #ffd446; flex: 0 0 auto; }
body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) > div { min-width: 0; }
body.csom-v7 .csom-v7-hero .csom-v7-rating :is(a, strong, b),
body.csom-v7 .csom-v7-hero .csom-v7-authority strong { color: #fff; font-size: inherit; line-height: inherit; }
body.csom-v7 .csom-v7-hero .csom-v7-rating a { display: inline; padding: 0; text-decoration: none; }
body.csom-v7 .csom-v7-hero .csom-v7-rating a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.csom-v7 .csom-v7-hero .csom-v7-rating small { display: block; margin-top: 4px; color: #d9d1e6; font: 400 12px/1.4 Arial, Helvetica, sans-serif; }
body.csom-v7 .csom-v7-hero .csom-v7-authority :is(strong, span) { display: block; }
body.csom-v7 .csom-v7-hero .csom-v7-authority span { margin-top: 4px; color: #e9e0f5; font-size: 13px; line-height: 1.4; }
body.csom-v7 .csom-v7-hero .csom-v7-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin: 6px 0 0;
  padding: 0;
}
body.csom-v7 .csom-v7-hero .csom-v7-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  flex: 1 1 240px;
  min-width: 0;
  min-height: 58px;
  margin: 0;
  padding: 13px 20px;
  border: 1.5px solid #ffffffd0;
  border-radius: 999px;
  color: #fff;
  font: 700 clamp(14px, 1.3vw, 17px)/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
}
body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-primary { border-color: #6649e6; background: #6649e6; box-shadow: 0 5px 24px #6649e636; }
body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-primary:hover { border-color: #5034c2; background: #5034c2; }
body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-secondary { background: #0b071b35; }
body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-secondary:hover { background: #ffffff14; }
body.csom-v7 .csom-v7-hero .csom-v7-actions svg { width: 24px; height: 24px; flex: 0 0 auto; }
body.csom-v7 .csom-v7-hero .csom-v7-scroll {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  gap: 5px;
  min-height: 54px;
  max-width: calc(100% - 140px);
  margin: 0 auto;
  padding: 8px 8px max(13px, env(safe-area-inset-bottom, 0px));
  color: #fff;
  font: 600 10px/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: .16em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
body.csom-v7 .csom-v7-hero .csom-v7-scroll svg { width: 22px; height: 22px; }
/* Keep the original article action bar for the content after the new hero. */
body.csom-v7:not(.csom-v7-past-hero):has(.csom-v7-hero) :is(.csom-blog-cta, .csom-conversion-mobile) { display: none !important; }
@media (max-width: 760px) {
  body.csom-v7:not(.csom-v7-past-hero):has(.csom-v7-hero) .csom-whatsapp-float-v61 { bottom: max(10px, env(safe-area-inset-bottom, 0px)); width: 48px; height: 48px; min-height: 48px; }
}
body.csom-v7 .csom-v7-preserved {
  position: relative;
  isolation: isolate;
  overflow: clip;
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 0;
}
body.csom-v7 .csom-v7-preserved:empty { display: none; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; width: 100%; min-width: 0; margin: 0; padding: 0; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-inner > * { max-width: 100%; min-width: 0; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media { position: static; width: min(520px, 100%); max-width: 100%; height: auto; flex: 1 1 300px; margin: 0; padding: 0; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media :is(picture, figure) { position: static; display: block; max-width: 100%; height: auto; margin: 0; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media img { position: static; display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; margin: 0; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media :is(.new-hero__visual, .new-hero__frame) { position: static; inset: auto; display: block; width: 100%; min-width: 0; max-width: 100%; height: auto; min-height: 0; margin: 0; padding: 0; transform: none; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media :is(.new-hero__visual, .new-hero__frame)::before,
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media :is(.new-hero__visual, .new-hero__frame)::after { content: none; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media .new-hero__note { position: static; inset: auto; display: flex; align-items: center; gap: 10px; width: auto; max-width: 100%; margin: 12px 0 0; transform: none; }
body.csom-v7 .csom-v7-preserved .csom-v7-preserved-media .new-hero__vertical { position: static; inset: auto; display: block; width: auto; max-width: 100%; margin: 12px 0 0; transform: none; writing-mode: horizontal-tb; text-align: center; }
body.csom-v7 :is(.csom-v7-header, .csom-v7-hero) :is(a, summary, button):focus-visible {
  outline: 3px solid #d7cdff;
  outline-offset: 4px;
}
@media (min-width: 1600px) {
  body.csom-v7 #csom-global-header .csom-v7-bar { padding-inline: max(40px, calc((100vw - 1440px) / 2)); }
}
@media (max-width: 1100px) {
  body.csom-v7 #csom-global-header .csom-v7-bar { gap: 12px; padding-inline: 20px; }
  body.csom-v7 #csom-global-header #csom-main-navigation.csom-navigation { gap: 2px 10px; }
  body.csom-v7 #csom-global-header #csom-main-navigation > a,
  body.csom-v7 #csom-global-header .csom-v7-service-item > a,
  body.csom-v7 #csom-global-header .csom-v7-services > summary { font-size: 13px; }
  body.csom-v7 .csom-v7-hero .csom-v7-inner { padding-inline: 34px; }
}
@media (max-width: 760px) {
  :root { --csom-v7-menu-height: 112px; --csom-v7-social-height: 48px; }
  body.csom-v7 #csom-global-header .csom-v7-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 0 14px;
    min-height: 0;
    padding: max(5px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) 3px max(12px, env(safe-area-inset-left, 0px));
  }
  body.csom-v7 #csom-global-header .csom-shell-brand { justify-self: start; padding: 2px 5px; }
  body.csom-v7 #csom-global-header .csom-shell-brand img { width: 110px; }
  body.csom-v7 #csom-global-header .csom-language-switch { grid-column: 2; grid-row: 1; }
  body.csom-v7 #csom-global-header #csom-main-navigation.csom-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: space-evenly;
    gap: 0 3px;
    width: 100%;
  }
  body.csom-v7 #csom-global-header #csom-main-navigation > a,
  body.csom-v7 #csom-global-header .csom-v7-service-item > a,
  body.csom-v7 #csom-global-header .csom-v7-services > summary { min-height: 36px; padding: 6px 2px; font-size: 11px; }
  body.csom-v7 #csom-global-header #csom-main-navigation > .csom-nav-cta { min-height: 34px; padding: 7px 12px; font-size: 12px; }
  body.csom-v7 #csom-global-header .csom-v7-services { position: static; }
  body.csom-v7 #csom-global-header .csom-v7-service-item { position: static; }
  body.csom-v7 #csom-global-header .csom-v7-services > summary { min-width: 24px; padding-inline: 3px; }
  body.csom-v7 #csom-global-header .csom-v7-submenu { top: 100%; left: 12px; width: min(380px, calc(100vw - 24px)); }
  body.csom-v7 #csom-global-header .csom-v7-socials { justify-content: space-between; gap: 0 6px; padding-inline: max(12px, env(safe-area-inset-left, 0px)); }
  body.csom-v7 #csom-global-header .csom-v7-socials a { flex-direction: column; gap: 3px; min-height: 48px; font-size: 10px; line-height: 1.2; }
  body.csom-v7 #csom-global-header .csom-v7-socials svg { width: 19px; height: 19px; }
  body.csom-v7 .csom-v7-hero .csom-v7-background img { object-position: center 44%; }
  body.csom-v7 .csom-v7-hero .csom-v7-background::after {
    background: linear-gradient(180deg, #08061008 0%, #08061010 13%, #08061099 30%, #080610e6 48%, #080610e6 76%, #08061091 100%);
  }
  body.csom-v7 .csom-v7-hero .csom-v7-inner {
    align-items: flex-start;
    padding: clamp(80px, 12svh, 140px) max(22px, env(safe-area-inset-right, 0px)) 8px max(22px, env(safe-area-inset-left, 0px));
  }
  body.csom-v7 .csom-v7-hero .csom-v7-copy { width: 100%; }
  body.csom-v7 .csom-v7-hero .csom-v7-eyebrow { margin-bottom: 9px; font-size: 10px; letter-spacing: .13em; line-height: 1.5; }
  body.csom-v7 .csom-v7-hero h1 { font-size: clamp(28px, 7.7vw, 46px); line-height: 1.06; letter-spacing: -.04em; }
  body.csom-v7 .csom-v7-hero .csom-v7-lead { margin-top: 11px; font-size: clamp(14px, 3.8vw, 18px); line-height: 1.4; }
  body.csom-v7 .csom-v7-hero .csom-v7-events { gap: 5px; margin: 18px 0 14px; }
  body.csom-v7 .csom-v7-hero .csom-v7-events a { min-height: 59px; gap: 6px; font-size: clamp(10px, 2.8vw, 13px); line-height: 1.3; }
  body.csom-v7 .csom-v7-hero .csom-v7-events svg { width: 28px; height: 28px; }
  body.csom-v7 .csom-v7-hero .csom-v7-proof { grid-template-columns: 1.2fr 1fr; gap: 11px; padding: 13px 0; }
  body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) { align-items: flex-start; gap: 7px; font-size: clamp(11px, 3vw, 14px); line-height: 1.4; }
  body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) > svg { width: 23px; height: 23px; margin-top: 2px; }
  body.csom-v7 .csom-v7-hero .csom-v7-authority { padding-left: 11px; }
  body.csom-v7 .csom-v7-hero .csom-v7-authority span { font-size: clamp(10px, 2.65vw, 12px); }
  body.csom-v7 .csom-v7-hero .csom-v7-rating small { font-size: clamp(10px, 2.6vw, 12px); line-height: 1.4; }
  body.csom-v7 .csom-v7-hero .csom-v7-actions { gap: 9px; margin-top: 3px; }
  body.csom-v7 .csom-v7-hero .csom-v7-actions > a { flex-basis: 100%; min-height: 49px; padding: 11px 16px; font-size: clamp(14px, 4vw, 18px); }
  body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-secondary { flex-grow: 0; flex-basis: calc(100% - 36px); min-height: 46px; margin-inline: auto; font-size: clamp(13px, 3.7vw, 16px); }
  body.csom-v7 .csom-v7-hero .csom-v7-actions svg { width: 21px; height: 21px; }
  body.csom-v7 .csom-v7-hero .csom-v7-scroll { min-height: 47px; padding-top: 4px; font-size: 9px; }
}
@media (min-width: 761px) and (max-width: 1024px) and (orientation: portrait) {
  body.csom-v7 .csom-v7-hero .csom-v7-inner { padding-top: 28svh; }
  body.csom-v7 .csom-v7-hero .csom-v7-background::after { background: linear-gradient(180deg, #08061000 0%, #08061044 20%, #080610d9 46%, #080610ed 85%, #080610bb 100%); }
  body.csom-v7 .csom-v7-hero .csom-v7-copy { width: min(720px, 100%); }
}
@media (max-width: 760px) and (max-height: 740px) {
  body.csom-v7 .csom-v7-hero .csom-v7-inner { padding-top: 36px; padding-bottom: 10px; }
  body.csom-v7 .csom-v7-hero .csom-v7-events { margin-top: 12px; margin-bottom: 9px; }
  body.csom-v7 .csom-v7-hero .csom-v7-proof { padding-block: 11px; }
  body.csom-v7 .csom-v7-hero .csom-v7-background::after { background: linear-gradient(180deg, #08061079, #080610d9 28%, #080610e6 74%, #080610b0); }
}
@media (max-width: 370px) {
  body.csom-v7 #csom-global-header #csom-main-navigation.csom-navigation { column-gap: 9px; }
  body.csom-v7 .csom-v7-hero .csom-v7-inner { padding-inline: max(16px, env(safe-area-inset-left, 0px)); }
  body.csom-v7 .csom-v7-hero .csom-v7-proof { gap: 9px; }
  body.csom-v7 .csom-v7-hero :is(.csom-v7-rating, .csom-v7-authority) { gap: 5px; }
  body.csom-v7 .csom-v7-hero .csom-v7-authority { padding-left: 9px; }
}
@media (max-width: 370px) and (max-height: 640px) {
  body.csom-v7 #csom-global-header .csom-shell-brand img { width: 94px; }
  body.csom-v7 #csom-global-header .csom-language-switch summary { min-height: 36px; }
  body.csom-v7 #csom-global-header #csom-main-navigation > a,
  body.csom-v7 #csom-global-header .csom-v7-service-item > a,
  body.csom-v7 #csom-global-header .csom-v7-services > summary { min-height: 32px; padding-block: 4px; }
  body.csom-v7 #csom-global-header .csom-v7-socials a { min-height: 44px; }
  body.csom-v7 .csom-v7-hero .csom-v7-inner { padding-top: 16px; }
  body.csom-v7 .csom-v7-hero h1 { font-size: 26px; }
  body.csom-v7 .csom-v7-hero .csom-v7-eyebrow { margin-bottom: 6px; }
  body.csom-v7 .csom-v7-hero .csom-v7-lead { font-size: 13px; line-height: 1.35; margin-top: 8px; }
  body.csom-v7 .csom-v7-hero .csom-v7-events { margin-top: 8px; margin-bottom: 6px; }
  body.csom-v7 .csom-v7-hero .csom-v7-events a { min-height: 46px; gap: 4px; }
  body.csom-v7 .csom-v7-hero .csom-v7-events svg { width: 23px; height: 23px; }
  body.csom-v7 .csom-v7-hero .csom-v7-rating small { display: none; }
  body.csom-v7 .csom-v7-hero .csom-v7-proof { padding-block: 9px; }
  body.csom-v7 .csom-v7-hero .csom-v7-actions > a { min-height: 44px; padding-block: 9px; }
  body.csom-v7 .csom-v7-hero .csom-v7-actions > a.csom-v7-secondary { min-height: 42px; padding-block: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.csom-v7) { scroll-behavior: auto; }
  body.csom-v7 :is(.csom-v7-header, .csom-v7-hero) * { animation: none !important; transition: none !important; }
}

/* V7.1 — supplied official transparent PNG; no plate or artificial background. */
body.csom-v7 #csom-global-header .csom-shell-brand { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
body.csom-v7 #csom-global-header .csom-shell-brand img { background: transparent; filter: none; }
/* Native fragment targets use html scroll-padding; avoid doubling the fixed-menu offset. */
body.csom-v7 #eventos-realizados { scroll-margin-top: 0; outline: none; }
/* The trust stripe also works in older service templates that did not include it. */
body.csom-v7 .service-trust-row { background: #272a26; color: #fff; }
body.csom-v7 .service-trust-row > .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1200px; width: 100%; margin-inline: auto; padding: 26px; gap: 0; border: 0; }
body.csom-v7 .service-trust-row > .container > div { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 22px 26px; border: 0; border-right: 1px solid #ffffff21; }
body.csom-v7 .service-trust-row > .container > div:first-child { border-left: 1px solid #ffffff21; }
body.csom-v7 .service-trust-row strong { display: block; font-family: var(--serif, Georgia, serif); font-size: 20px; line-height: 1.4; font-weight: 400; color: #fff; }
body.csom-v7 .service-trust-row span { display: block; font-size: 14px; line-height: 1.6; color: #e9e7ef; }
@media (max-width: 760px) {
 body.csom-v7 .service-trust-row > .container { grid-template-columns: 1fr; padding: 22px 16px; }
 body.csom-v7 .service-trust-row > .container > div { border-left: 1px solid #ffffff21; border-bottom: 1px solid #ffffff21; padding: 22px 26px; }
}
