.elementor-1807 .elementor-element.elementor-element-d8bf2f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1807 .elementor-element.elementor-element-e772d49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1807 .elementor-element.elementor-element-ace3d47{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1807 .elementor-element.elementor-element-658c0fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:767px){.elementor-1807 .elementor-element.elementor-element-658c0fa{--content-width:100%;}}@media(min-width:768px){.elementor-1807 .elementor-element.elementor-element-658c0fa{--content-width:100%;}}/* Start custom CSS *//*
 * Shared stylesheet for all Plombier Rimas local templates.
 * Each validated template gets its own namespaced section below.
 */

:root {
  --pr-primary: #00134b;
  --pr-secondary: #ffffff;
  --pr-text: #757575;
  --pr-accent-text: #ffffff;
  --pr-dark-overlay: #000000;
  --pr-overlay-1: #054695;
  --pr-overlay-2: #d6000a;
  --pr-transparent: #02010100;
  --pr-overlay-3: #d6000a82;
  --pr-alt-bg: #f4f4f4;
  --pr-menus-bg: #043877;
  --pr-heading-font: "Raleway", Arial, sans-serif;
  --pr-body-font: "Titillium Web", Arial, sans-serif;
  --pr-content-width: 1200px;
  --pr-radius: 20px;
  --pr-shadow: 0 12px 36px rgba(0, 19, 75, 0.12);
}

body {
  margin: 0 !important;
  color: var(--pr-text) !important;
  background: var(--pr-secondary) !important;
  font-family: var(--pr-body-font) !important;
  line-height: 1.65;
}

[class*="tpl"],
[class*="tpl"] *,
[class*="tpl"] *::before,
[class*="tpl"] *::after {
  box-sizing: border-box;
}

[class*="tpl"] img {
  display: block;
  max-width: 100%;
  height: auto;
}

[class*="tpl"] a:not(.pr-button):not([class*="phone-link"]) {
  color: var(--pr-overlay-1) !important;
  text-decoration: none;
}

[class*="tpl"] a:not(.pr-button):not([class*="phone-link"]):hover,
[class*="tpl"] a:not(.pr-button):not([class*="phone-link"]):focus-visible {
  color: var(--pr-overlay-2) !important;
}

[class*="tpl"] .pr-button,
[class*="tpl"] [class*="phone-link"] {
  text-decoration: none !important;
}

[class*="tpl"] h1,
[class*="tpl"] h2,
[class*="tpl"] h3,
[class*="tpl"] h4 {
  margin: 0 0 0.75rem;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  line-height: 1.15;
}

[class*="tpl"] h1 {
  font-size: clamp(1.7rem, 3vw, 2.7rem) !important;
}

[class*="tpl"] h2 {
  font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
}

[class*="tpl"] h3 {
  font-size: clamp(1.08rem, 1.7vw, 1.35rem) !important;
}

[class*="tpl"] h4 {
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
}

[class*="tpl"] p,
[class*="tpl"] ul,
[class*="tpl"] ol {
  margin: 0 0 1rem;
}

[class*="tpl"] ul,
[class*="tpl"] ol {
  padding-left: 1.25rem;
}

/* Full-width contact and service-area rows, scoped per template. */
.tpl01-contact-grid > *,
.tpl01-region-grid > *,
.tpl02-contact-grid > *,
.tpl02-region-grid > *,
.tpl03-contact-region-grid > *,
.tpl04-contact-deck-grid > *,
.tpl04-region-band-grid > *,
.tpl05-contact-zone-grid > *,
.tpl06-contact-wrap-grid > *,
.tpl07-contact-region-grid > *,
.tpl08-contact-zone-grid > *,
.tpl09-contact-grid > *,
.tpl10-contact-grid > *,
.tpl11-contact-deck-grid > *,
.tpl12-contact-grid > *,
.tpl13-contact-grid > *,
.tpl14-contact-grid > *,
.tpl15-contact-grid > *,
.tpl16-contact-grid > *,
.tpl17-contact-grid > *,
.tpl18-contact-grid > *,
.tpl19-contact-grid > *,
.tpl20-contact-grid > * {
  grid-column: 1 / -1;
}

/* Generic shared blocks */
.pr-shell,
.pr-section-inner {
  width: min(calc(100% - 32px), var(--pr-content-width));
  margin: 0 auto;
}

.pr-section {
  padding: 64px 0;
}

.pr-section--alt {
  background: var(--pr-alt-bg) !important;
}

.pr-card {
  background: #ffffff !important;
  border-radius: var(--pr-radius);
  box-shadow: var(--pr-shadow);
}

.pr-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--pr-primary) !important;
  color: var(--pr-accent-text) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
  text-decoration: none;
}

.pr-button:hover,
.pr-button:focus-visible {
  background: var(--pr-overlay-2) !important;
  color: var(--pr-accent-text) !important;
}

.pr-breadcrumbs {
  font-size: 0.95rem;
}

.pr-faq-item + .pr-faq-item {
  margin-top: 16px;
}

.pr-shortcode-stack > * + * {
  margin-top: 20px;
}

/* tpl01 premium local */
.tpl01-page {
  background:
    radial-gradient(circle at top left, rgba(5, 70, 149, 0.1), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.tpl01-kicker,
.tpl01-topline,
.tpl01-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.tpl01-topline,
.tpl01-kicker {
  background: rgba(5, 70, 149, 0.09) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl01-kicker--light,
.tpl01-hero-badge {
  background: var(--pr-overlay-2) !important;
  color: #ffffff !important;
}

.tpl01-hero {
  padding-top: 28px;
}

.tpl01-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl01-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl01-hero-grid,
.tpl01-overview-grid,
.tpl01-focus-grid,
.tpl01-results-grid,
.tpl01-local-grid,
.tpl01-contact-grid,
.tpl01-region-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
  gap: 32px;
  align-items: center;
}

.tpl01-lead {
  max-width: 62ch;
  font-size: 1.08rem;
}

.tpl01-hero-actions,
.tpl01-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 28px 0 22px;
}

.tpl01-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid rgba(0, 19, 75, 0.14);
  border-radius: 999px;
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl01-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl01-hero-points,
.tpl01-proof-grid,
.tpl01-alert-grid,
.tpl01-card-grid,
.tpl01-gallery-grid,
.tpl01-link-grid,
.tpl01-faq-list {
  display: grid;
  gap: 20px;
}

.tpl01-hero-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl01-mini-card,
.tpl01-proof-card,
.tpl01-alert-card,
.tpl01-service-card,
.tpl01-step-card,
.tpl01-gallery-card,
.tpl01-link-card,
.tpl01-faq-card,
.tpl01-side-note,
.tpl01-shortcode-panel,
.tpl01-result-card,
.tpl01-final-cta-card {
  overflow: hidden;
}

.tpl01-mini-card {
  padding: 18px;
  border: 1px solid rgba(0, 19, 75, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9) !important;
}

.tpl01-mini-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
}

.tpl01-hero-media {
  position: relative;
  padding: 22px;
  background: linear-gradient(160deg, var(--pr-primary) 0%, var(--pr-menus-bg) 100%) !important;
}

.tpl01-hero-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl01-hero-brand p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92) !important;
}

.tpl01-logo {
  width: 90px;
  object-fit: contain;
}

.tpl01-image-wrap {
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: #e9eef5 !important;
}

.tpl01-image-wrap--hero {
  min-height: 420px;
}

.tpl01-image-wrap--service {
  min-height: 220px;
  border-radius: 18px 18px 0 0;
}

.tpl01-image-wrap--portrait {
  min-height: 520px;
}

.tpl01-image-wrap--gallery-lg {
  min-height: 360px;
}

.tpl01-image-wrap--gallery-sm {
  min-height: 240px;
}

.tpl01-image-wrap--landscape {
  min-height: 340px;
}

.tpl01-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl01-hero-badge {
  position: absolute;
  left: 22px;
  bottom: 22px;
}

.tpl01-breadcrumb-sep {
  color: var(--pr-text) !important;
}

.tpl01-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl01-proof-card,
.tpl01-alert-card,
.tpl01-side-note,
.tpl01-step-card,
.tpl01-shortcode-panel,
.tpl01-result-card,
.tpl01-faq-card {
  padding: 24px;
}

.tpl01-proof-card {
  text-align: center;
}

.tpl01-proof-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
}

.tpl01-overview-grid,
.tpl01-results-grid,
.tpl01-local-grid,
.tpl01-contact-grid,
.tpl01-region-grid {
  align-items: start;
}

.tpl01-side-note {
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%) !important;
}

.tpl01-alert-grid,
.tpl01-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl01-alert-card {
  border-top: 5px solid var(--pr-overlay-2);
}

.tpl01-service-card,
.tpl01-gallery-card {
  display: flex;
  flex-direction: column;
}

.tpl01-service-card,
.tpl01-gallery-card,
.tpl01-focus-grid .tpl01-image-panel,
.tpl01-local-grid .tpl01-image-panel {
  border-radius: 20px;
}

.tpl01-card-body {
  padding: 22px;
}

.tpl01-focus-grid .tpl01-image-panel,
.tpl01-local-grid .tpl01-image-panel {
  padding: 18px;
}

.tpl01-check-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 22px;
}

.tpl01-check-columns ul,
.tpl01-side-note ul,
.tpl01-result-card ul {
  margin: 0;
}

.tpl01-card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl01-step-card {
  position: relative;
  padding-top: 62px;
}

.tpl01-step-no {
  position: absolute;
  top: 20px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.4rem;
  font-weight: 800;
}

.tpl01-gallery-grid {
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  align-items: stretch;
}

.tpl01-gallery-card figcaption {
  padding: 18px 20px 20px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl01-result-panels {
  display: grid;
  gap: 20px;
}

.tpl01-result-card--before {
  background: #fff6f6 !important;
}

.tpl01-result-card--after {
  background: #f1f7ff !important;
}

.tpl01-link-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl01-link-card {
  display: flex;
  align-items: center;
  min-height: 96px;
  padding: 22px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: none;
}

.tpl01-link-card:hover,
.tpl01-link-card:focus-visible {
  transform: translateY(-2px);
}

.tpl01-contact-points {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.tpl01-contact-points article {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
}

.tpl01-contact-points article:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.tpl01-final-cta {
  padding-bottom: 82px;
}

.tpl01-final-cta-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 34px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, var(--pr-overlay-1) 100%) !important;
}

.tpl01-final-cta-card h2,
.tpl01-final-cta-card p {
  color: #ffffff !important;
}

@media (max-width: 1100px) {
  .tpl01-hero-grid,
  .tpl01-overview-grid,
  .tpl01-focus-grid,
  .tpl01-results-grid,
  .tpl01-local-grid,
  .tpl01-contact-grid,
  .tpl01-region-grid,
  .tpl01-final-cta-card {
    grid-template-columns: 1fr;
  }

  .tpl01-card-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl01-link-grid,
  .tpl01-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl01-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .tpl01-hero {
    padding-top: 18px;
  }

  .tpl01-hero-points,
  .tpl01-proof-grid,
  .tpl01-alert-grid,
  .tpl01-card-grid--three,
  .tpl01-card-grid--four,
  .tpl01-gallery-grid,
  .tpl01-link-grid,
  .tpl01-check-columns {
    grid-template-columns: 1fr;
  }

  .tpl01-hero-media,
  .tpl01-proof-card,
  .tpl01-alert-card,
  .tpl01-card-body,
  .tpl01-step-card,
  .tpl01-gallery-card figcaption,
  .tpl01-link-card,
  .tpl01-side-note,
  .tpl01-shortcode-panel,
  .tpl01-result-card,
  .tpl01-faq-card,
  .tpl01-final-cta-card,
  .tpl01-focus-grid .tpl01-image-panel,
  .tpl01-local-grid .tpl01-image-panel {
    padding: 20px;
  }

  .tpl01-step-card {
    padding-top: 74px;
  }

  .tpl01-step-no {
    top: 18px;
    left: 20px;
    font-size: 1.2rem;
  }

  .tpl01-hero-actions,
  .tpl01-final-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl01-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl01-image-wrap--hero,
  .tpl01-image-wrap--portrait,
  .tpl01-image-wrap--gallery-lg,
  .tpl01-image-wrap--gallery-sm,
  .tpl01-image-wrap--landscape,
  .tpl01-image-wrap--service {
    min-height: 220px;
  }

  .tpl01-hero-brand {
    flex-direction: column;
    align-items: flex-start;
  }

  .tpl01-hero-badge {
    position: static;
    margin-top: 16px;
  }
}

/* tpl02 dossier local */
.tpl02-page {
  background: #ffffff !important;
}

.tpl02-hero {
  padding-top: 28px;
  background: linear-gradient(180deg, #08172f 0%, #0e2650 100%) !important;
}

.tpl02-hero h1,
.tpl02-hero p,
.tpl02-hero a,
.tpl02-hero .tpl02-inline-facts span,
.tpl02-hero .tpl02-brand-row p,
.tpl02-hero .tpl02-side-note p,
.tpl02-hero .tpl02-side-note strong {
  color: #ffffff !important;
}

.tpl02-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl02-breadcrumbs a,
.tpl02-breadcrumbs span {
  color: rgba(255, 255, 255, 0.88) !important;
}

.tpl02-label,
.tpl02-section-tag {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-left: 4px solid var(--pr-overlay-2);
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.tpl02-label {
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl02-section-tag--light {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

.tpl02-hero-grid,
.tpl02-intro-grid,
.tpl02-editorial-grid,
.tpl02-checklist-grid,
.tpl02-photo-story-grid,
.tpl02-local-notes-grid,
.tpl02-contact-grid,
.tpl02-region-grid,
.tpl02-final-grid {
  display: grid;
  gap: 32px;
}

.tpl02-hero-grid,
.tpl02-contact-grid,
.tpl02-region-grid,
.tpl02-final-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
}

.tpl02-intro-grid,
.tpl02-local-notes-grid {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: start;
}

.tpl02-editorial-grid,
.tpl02-photo-story-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
  align-items: start;
}

.tpl02-checklist-grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
}

.tpl02-lead {
  max-width: 60ch;
  font-size: 1.08rem;
}

.tpl02-hero-actions,
.tpl02-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 28px 0 22px;
}

.tpl02-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl02-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
}

.tpl02-inline-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tpl02-inline-facts span {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04) !important;
  font-weight: 700;
}

.tpl02-hero-side {
  display: grid;
  gap: 18px;
}

.tpl02-brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl02-brand-row p {
  margin: 0;
}

.tpl02-logo {
  width: 90px;
  object-fit: contain;
}

.tpl02-image-box {
  overflow: hidden;
  background: #dfe7f2 !important;
}

.tpl02-image-box--hero,
.tpl02-image-box--story-lg {
  min-height: 360px;
}

.tpl02-image-box--service {
  min-height: 220px;
}

.tpl02-image-box--story-sm {
  min-height: 220px;
}

.tpl02-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl02-side-note {
  padding: 18px;
  border-left: 4px solid var(--pr-overlay-2);
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl02-metrics {
  padding-top: 34px;
}

.tpl02-metrics-grid,
.tpl02-alert-grid,
.tpl02-note-columns,
.tpl02-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl02-metrics-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl02-metric-item {
  padding: 14px 10px 18px 0;
  padding-bottom: 18px;
  border-bottom: 2px solid rgba(0, 19, 75, 0.1);
}

.tpl02-metric-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
}

.tpl02-editorial-main,
.tpl02-editorial-rail,
.tpl02-checklist-board,
.tpl02-form-shell,
.tpl02-region-panel {
  padding: 28px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl02-editorial-rail,
.tpl02-note-columns article {
  border-top: 4px solid var(--pr-primary);
}

.tpl02-rail-block + .tpl02-rail-block {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 19, 75, 0.12);
}

.tpl02-signal-list {
  display: grid;
  gap: 18px;
}

.tpl02-signal-row,
.tpl02-timeline-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.tpl02-signal-row {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.12);
}

.tpl02-signal-no,
.tpl02-timeline-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.15rem;
  font-weight: 800;
}

.tpl02-service-columns,
.tpl02-photo-stack,
.tpl02-links-list {
  display: grid;
  gap: 22px;
}

.tpl02-service-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl02-service-panel,
.tpl02-gallery-card,
.tpl02-note-columns article,
.tpl02-faq-item {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl02-service-panel,
.tpl02-note-columns article,
.tpl02-faq-item,
.tpl02-editorial-main,
.tpl02-editorial-rail,
.tpl02-checklist-board,
.tpl02-form-shell,
.tpl02-region-panel {
  border-radius: 20px;
}

.tpl02-service-panel--accent {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%) !important;
}

.tpl02-panel-body,
.tpl02-note-columns article,
.tpl02-faq-item {
  padding: 24px;
}

.tpl02-contact-copy {
  padding: 10px 0;
}

.tpl02-note-columns article > *:last-child,
.tpl02-faq-item > *:last-child,
.tpl02-panel-body > *:last-child,
.tpl02-editorial-main > *:last-child,
.tpl02-editorial-rail > *:last-child,
.tpl02-checklist-board > *:last-child,
.tpl02-form-shell > *:last-child,
.tpl02-region-panel > *:last-child {
  margin-bottom: 0;
}

.tpl02-checklist-board ul,
.tpl02-contact-list {
  margin: 0;
}

.tpl02-checklist-board li,
.tpl02-contact-list li {
  margin-bottom: 0.9rem;
}

.tpl02-timeline-list {
  position: relative;
  display: grid;
  gap: 24px;
}

.tpl02-timeline-list::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 27px;
  bottom: 10px;
  width: 2px;
  background: rgba(0, 19, 75, 0.16);
}

.tpl02-story-copy {
  padding-top: 12px;
}

.tpl02-quote {
  margin: 24px 0 0;
  padding-left: 18px;
  border-left: 4px solid var(--pr-overlay-2);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.05rem;
  font-weight: 700;
}

.tpl02-note-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl02-links-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl02-link-tile {
  display: block;
  padding: 20px;
  border-top: 4px solid var(--pr-overlay-1);
  background: #f8fbff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.02rem;
  font-weight: 800;
  text-decoration: none;
}

.tpl02-link-tile:hover,
.tpl02-link-tile:focus-visible {
  border-top-color: var(--pr-overlay-2);
}

.tpl02-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl02-final {
  padding-bottom: 82px;
  background: linear-gradient(180deg, #0a1d3f 0%, #00134b 100%) !important;
}

.tpl02-final h2,
.tpl02-final p {
  color: #ffffff !important;
}

@media (max-width: 1100px) {
  .tpl02-hero-grid,
  .tpl02-intro-grid,
  .tpl02-editorial-grid,
  .tpl02-checklist-grid,
  .tpl02-photo-story-grid,
  .tpl02-local-notes-grid,
  .tpl02-contact-grid,
  .tpl02-region-grid,
  .tpl02-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl02-metrics-grid,
  .tpl02-links-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl02-hero {
    padding-top: 18px;
  }

  .tpl02-metrics-grid,
  .tpl02-service-columns,
  .tpl02-note-columns,
  .tpl02-links-list,
  .tpl02-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl02-editorial-main,
  .tpl02-editorial-rail,
  .tpl02-checklist-board,
  .tpl02-form-shell,
  .tpl02-region-panel,
  .tpl02-panel-body,
  .tpl02-note-columns article,
  .tpl02-faq-item {
    padding: 20px;
  }

  .tpl02-hero-actions,
  .tpl02-final-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl02-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl02-signal-row,
  .tpl02-timeline-item {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .tpl02-image-box--hero,
  .tpl02-image-box--story-lg,
  .tpl02-image-box--story-sm,
  .tpl02-image-box--service {
    min-height: 220px;
  }

  .tpl02-brand-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl03 matrice locale */
.tpl03-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
}

.tpl03-hero {
  padding-top: 28px;
}

.tpl03-hero-shell,
.tpl03-two-panel-grid,
.tpl03-split-feature-grid,
.tpl03-checkband-grid,
.tpl03-local-links-grid,
.tpl03-contact-region-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  gap: 30px;
  align-items: start;
}

.tpl03-hero-shell {
  align-items: stretch;
}

.tpl03-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl03-chip,
.tpl03-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.88rem;
  font-weight: 800;
}

.tpl03-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl03-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl03-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.tpl03-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  border-radius: 999px;
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl03-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl03-hero-board,
.tpl03-panel,
.tpl03-matrix-card,
.tpl03-compare-column,
.tpl03-contact-box,
.tpl03-region-box,
.tpl03-faq-card,
.tpl03-final-card {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl03-hero-board,
.tpl03-panel,
.tpl03-matrix-card,
.tpl03-compare-column,
.tpl03-contact-box,
.tpl03-region-box,
.tpl03-faq-card,
.tpl03-final-card,
.tpl03-strip-gallery-grid figure {
  border-radius: 20px;
}

.tpl03-hero-board {
  padding: 22px;
  border: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl03-hero-board-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl03-hero-board-top p {
  margin: 0;
}

.tpl03-logo {
  width: 88px;
  object-fit: contain;
}

.tpl03-image-slot {
  overflow: hidden;
  background: #dde6f2 !important;
}

.tpl03-image-slot--hero {
  min-height: 380px;
}

.tpl03-image-slot--feature,
.tpl03-image-slot--zigzag {
  min-height: 320px;
}

.tpl03-image-slot--strip {
  min-height: 220px;
}

.tpl03-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl03-board-note {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl03-ribbon {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl03-ribbon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.tpl03-ribbon-grid span {
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl03-panel {
  padding: 28px;
}

.tpl03-panel--list {
  border-top: 5px solid var(--pr-overlay-1);
}

.tpl03-feature-copy {
  padding: 10px 0;
  padding-top: 10px;
}

.tpl03-feature-steps {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.tpl03-feature-steps article {
  padding-left: 18px;
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl03-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl03-matrix-grid,
.tpl03-strip-gallery-grid,
.tpl03-faq-list {
  display: grid;
  gap: 20px;
}

.tpl03-matrix-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl03-matrix-card {
  padding: 24px;
  border-top: 5px solid var(--pr-overlay-2);
}

.tpl03-checkband {
  background: linear-gradient(90deg, #ffffff 0%, #f2f6fc 100%) !important;
}

.tpl03-checkband-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl03-checkband-columns ul,
.tpl03-compare-column ul,
.tpl03-panel--list ul {
  margin: 0;
}

.tpl03-zigzag-list {
  display: grid;
  gap: 24px;
}

.tpl03-zigzag-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) minmax(280px, 0.85fr);
  gap: 22px;
  align-items: center;
}

.tpl03-zigzag-copy {
  padding: 10px 0;
}

.tpl03-zigzag-row--reverse {
  grid-template-columns: minmax(280px, 0.85fr) 88px minmax(0, 1fr);
}

.tpl03-zigzag-row--reverse .tpl03-zigzag-number {
  order: 2;
}

.tpl03-zigzag-row--reverse .tpl03-zigzag-copy {
  order: 3;
}

.tpl03-zigzag-row--reverse .tpl03-image-slot {
  order: 1;
}

.tpl03-zigzag-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem;
  font-weight: 800;
}

.tpl03-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl03-compare-column {
  padding: 28px;
}

.tpl03-compare-column--before {
  background: #fff6f6 !important;
}

.tpl03-compare-column--after {
  background: #f2f8ff !important;
}

.tpl03-strip-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl03-strip-gallery-grid figure {
  margin: 0;
  overflow: hidden;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl03-strip-gallery-grid figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl03-links-stack {
  display: grid;
  gap: 14px;
}

.tpl03-links-stack a {
  display: block;
  padding: 18px 20px;
  border-left: 4px solid var(--pr-overlay-1);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--pr-shadow);
}

.tpl03-links-stack a:hover,
.tpl03-links-stack a:focus-visible {
  border-left-color: var(--pr-overlay-2);
}

.tpl03-contact-region-grid {
  align-items: stretch;
}

.tpl03-contact-box,
.tpl03-region-box {
  padding: 28px;
}

.tpl03-contact-box > *:last-child,
.tpl03-region-box > *:last-child,
.tpl03-panel > *:last-child,
.tpl03-matrix-card > *:last-child,
.tpl03-compare-column > *:last-child,
.tpl03-faq-card > *:last-child,
.tpl03-zigzag-copy > *:last-child,
.tpl03-feature-copy > *:last-child {
  margin-bottom: 0;
}

.tpl03-faq-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl03-faq-card {
  padding: 24px;
}

.tpl03-final-cta {
  padding-bottom: 82px;
}

.tpl03-final-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 34px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #04276d 100%) !important;
}

.tpl03-final-card h2,
.tpl03-final-card p {
  color: #ffffff !important;
}

@media (max-width: 1100px) {
  .tpl03-hero-shell,
  .tpl03-two-panel-grid,
  .tpl03-split-feature-grid,
  .tpl03-checkband-grid,
  .tpl03-local-links-grid,
  .tpl03-contact-region-grid,
  .tpl03-final-card {
    grid-template-columns: 1fr;
  }

  .tpl03-matrix-grid,
  .tpl03-ribbon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl03-zigzag-row,
  .tpl03-zigzag-row--reverse {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .tpl03-zigzag-row .tpl03-image-slot,
  .tpl03-zigzag-row--reverse .tpl03-image-slot,
  .tpl03-zigzag-row--reverse .tpl03-zigzag-number,
  .tpl03-zigzag-row--reverse .tpl03-zigzag-copy {
    order: initial;
  }

  .tpl03-strip-gallery-grid,
  .tpl03-faq-list {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .tpl03-hero {
    padding-top: 18px;
  }

  .tpl03-actions,
  .tpl03-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl03-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl03-ribbon-grid,
  .tpl03-matrix-grid,
  .tpl03-checkband-columns,
  .tpl03-compare-grid,
  .tpl03-strip-gallery-grid,
  .tpl03-faq-list {
    grid-template-columns: 1fr;
  }

  .tpl03-panel,
  .tpl03-matrix-card,
  .tpl03-compare-column,
  .tpl03-contact-box,
  .tpl03-region-box,
  .tpl03-faq-card,
  .tpl03-final-card,
  .tpl03-hero-board {
    padding: 20px;
  }

  .tpl03-zigzag-row,
  .tpl03-zigzag-row--reverse {
    grid-template-columns: 1fr;
  }

  .tpl03-zigzag-number {
    width: 60px;
    height: 60px;
  }

  .tpl03-image-slot--hero,
  .tpl03-image-slot--feature,
  .tpl03-image-slot--zigzag,
  .tpl03-image-slot--strip {
    min-height: 220px;
  }

  .tpl03-hero-board-top {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl04 centre intervention */
.tpl04-page {
  background: linear-gradient(180deg, #f6f8fc 0%, #ffffff 100%) !important;
}

.tpl04-hero {
  padding-top: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl04-hero-shell,
.tpl04-wide-visual-grid,
.tpl04-check-grid,
.tpl04-contact-deck-grid,
.tpl04-region-band-grid,
.tpl04-final-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr);
  gap: 30px;
  align-items: start;
}

.tpl04-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl04-status-pill,
.tpl04-kicker,
.tpl04-lane-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.85rem;
  font-weight: 800;
}

.tpl04-status-pill,
.tpl04-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl04-status-pill--light,
.tpl04-kicker--light,
.tpl04-phone-link--light {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

.tpl04-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl04-hero-actions,
.tpl04-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.tpl04-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.14);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl04-phone-link--light {
  border-color: rgba(255, 255, 255, 0.36);
}

.tpl04-hero-side {
  display: grid;
  gap: 18px;
}

.tpl04-brand-head,
.tpl04-side-card,
.tpl04-lane,
.tpl04-insight-card,
.tpl04-form-card,
.tpl04-support-card,
.tpl04-region-shortcode,
.tpl04-faq-box,
.tpl04-wide-figure,
.tpl04-final-band-grid,
.tpl04-table-shell {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl04-brand-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
}

.tpl04-brand-head p {
  margin: 0;
}

.tpl04-logo {
  width: 88px;
  object-fit: contain;
}

.tpl04-side-card {
  padding: 22px;
}

.tpl04-side-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #07398a 100%) !important;
}

.tpl04-side-card--accent strong,
.tpl04-side-card--accent p {
  color: #ffffff !important;
}

.tpl04-alert-bar {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl04-alert-bar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.tpl04-alert-bar-grid span {
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl04-issue-wall {
  background: linear-gradient(180deg, #09162d 0%, #11284f 100%) !important;
}

.tpl04-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl04-section-head--light h2,
.tpl04-section-head--light p {
  color: #ffffff !important;
}

.tpl04-issue-grid,
.tpl04-lanes-grid,
.tpl04-sequence-grid,
.tpl04-three-cards-grid,
.tpl04-pill-links,
.tpl04-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl04-issue-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl04-issue-card {
  padding: 22px;
  border-top: 4px solid var(--pr-overlay-2);
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl04-issue-card h3,
.tpl04-issue-card p {
  color: #ffffff !important;
}

.tpl04-lanes-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl04-lane {
  padding: 24px;
  border-left: 5px solid var(--pr-overlay-1);
}

.tpl04-lane-label {
  margin-bottom: 16px;
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl04-table-shell {
  overflow: hidden;
}

.tpl04-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.tpl04-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl04-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl04-wide-copy {
  padding-top: 10px;
}

.tpl04-wide-figure {
  margin: 0;
  overflow: hidden;
}

.tpl04-image-shell {
  overflow: hidden;
  background: #dde6f2 !important;
}

.tpl04-image-shell--wide {
  min-height: 420px;
}

.tpl04-image-shell--hero-side {
  min-height: 220px;
  border-radius: 18px;
}

.tpl04-image-shell--region {
  min-height: 200px;
  margin-bottom: 18px;
  border-radius: 18px;
}

.tpl04-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl04-wide-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl04-check-columns {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #09275a 100%) !important;
}

.tpl04-check-copy h2,
.tpl04-check-copy p,
.tpl04-check-lists li {
  color: #ffffff !important;
}

.tpl04-check-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl04-check-lists ul {
  margin: 0;
  padding: 20px 24px 20px 38px;
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl04-sequence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl04-sequence-card {
  position: relative;
  padding: 74px 22px 22px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl04-sequence-no {
  position: absolute;
  top: 18px;
  left: 22px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.3rem !important;
  font-weight: 800;
}

.tpl04-three-cards-grid {
  grid-template-columns: 1fr 1.1fr 1fr;
}

.tpl04-insight-card {
  padding: 24px;
}

.tpl04-insight-card--dark {
  background: linear-gradient(135deg, #071428 0%, #173666 100%) !important;
}

.tpl04-insight-card--dark h2,
.tpl04-insight-card--dark p {
  color: #ffffff !important;
}

.tpl04-pill-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl04-pill-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 16px 20px;
  border: 2px solid rgba(0, 19, 75, 0.1);
  border-radius: 999px;
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl04-pill-links a:hover,
.tpl04-pill-links a:focus-visible {
  border-color: var(--pr-overlay-2);
}

.tpl04-contact-deck {
  background: linear-gradient(180deg, #08172f 0%, #10274f 100%) !important;
}

.tpl04-form-card,
.tpl04-support-card {
  padding: 28px;
}

.tpl04-form-card {
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl04-form-card h2,
.tpl04-form-card p,
.tpl04-support-card h3,
.tpl04-support-card p,
.tpl04-support-card li {
  color: #ffffff !important;
}

.tpl04-contact-deck .pr-shortcode-stack input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tpl04-contact-deck .pr-shortcode-stack select,
.tpl04-contact-deck .pr-shortcode-stack textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  box-shadow: none !important;
}

.tpl04-contact-deck .pr-shortcode-stack textarea {
  min-height: 140px !important;
  resize: vertical;
}

.tpl04-contact-deck .pr-shortcode-stack input[type="submit"],
.tpl04-contact-deck .pr-shortcode-stack button,
.tpl04-contact-deck .pr-shortcode-stack .elementor-button,
.tpl04-contact-deck .pr-shortcode-stack .wpcf7-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--pr-overlay-2) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.tpl04-support-card {
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl04-support-card ul {
  margin: 0;
}

.tpl04-region-band {
  background: #ffffff !important;
}

.tpl04-region-shortcode {
  padding: 24px;
}

.tpl04-faq {
  background: linear-gradient(180deg, #0a1730 0%, #10274d 100%) !important;
}

.tpl04-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl04-faq-box {
  padding: 24px;
  background: rgba(255, 255, 255, 0.08) !important;
}

.tpl04-faq-box h3,
.tpl04-faq-box p {
  color: #ffffff !important;
}

.tpl04-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #03245d 100%) !important;
}

.tpl04-final-band-grid {
  padding: 34px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl04-final-band h2,
.tpl04-final-band p {
  color: #ffffff !important;
}

.tpl04-form-card > *:last-child,
.tpl04-support-card > *:last-child,
.tpl04-region-shortcode > *:last-child,
.tpl04-faq-box > *:last-child,
.tpl04-side-card > *:last-child,
.tpl04-lane > *:last-child,
.tpl04-insight-card > *:last-child,
.tpl04-issue-card > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl04-hero-shell,
  .tpl04-wide-visual-grid,
  .tpl04-check-grid,
  .tpl04-contact-deck-grid,
  .tpl04-region-band-grid,
  .tpl04-final-band-grid {
    grid-template-columns: 1fr;
  }

  .tpl04-issue-grid,
  .tpl04-sequence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl04-lanes-grid,
  .tpl04-three-cards-grid,
  .tpl04-pill-links,
  .tpl04-faq-grid,
  .tpl04-alert-bar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl04-hero {
    padding-top: 18px;
  }

  .tpl04-hero-actions,
  .tpl04-final-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl04-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl04-alert-bar-grid,
  .tpl04-issue-grid,
  .tpl04-lanes-grid,
  .tpl04-check-lists,
  .tpl04-sequence-grid,
  .tpl04-three-cards-grid,
  .tpl04-pill-links,
  .tpl04-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl04-brand-head,
  .tpl04-side-card,
  .tpl04-lane,
  .tpl04-insight-card,
  .tpl04-form-card,
  .tpl04-support-card,
  .tpl04-region-shortcode,
  .tpl04-faq-box,
  .tpl04-final-band-grid,
  .tpl04-sequence-card {
    padding: 20px;
  }

  .tpl04-table-row {
    grid-template-columns: 1fr;
  }

  .tpl04-table-row > div {
    border-top: 1px solid rgba(0, 19, 75, 0.08);
  }

  .tpl04-table-row--head > div:first-child {
    border-top: 0;
  }

  .tpl04-image-shell--wide {
    min-height: 240px;
  }

  .tpl04-image-shell--hero-side,
  .tpl04-image-shell--region {
    min-height: 200px;
  }

  .tpl04-sequence-card {
    padding-top: 70px;
  }

  .tpl04-sequence-no {
    left: 20px;
  }

  .tpl04-brand-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl05 atelier local */
.tpl05-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f6fa 100%) !important;
}

.tpl05-hero {
  padding-top: 28px;
}

.tpl05-hero-stack,
.tpl05-panorama-grid,
.tpl05-workbench-grid,
.tpl05-local-board-grid,
.tpl05-contact-zone-grid,
.tpl05-final-wrap {
  display: grid;
  gap: 30px;
}

.tpl05-hero-main,
.tpl05-panorama-grid,
.tpl05-workbench-grid,
.tpl05-local-board-grid,
.tpl05-contact-zone-grid,
.tpl05-final-wrap {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
  align-items: start;
}

.tpl05-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl05-tag,
.tpl05-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl05-tag--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl05-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl05-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl05-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl05-phone-link--light {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl05-hero-side,
.tpl05-proof-rail-grid,
.tpl05-image-cards-grid,
.tpl05-before-after-grid,
.tpl05-pathway-grid,
.tpl05-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl05-brand-box,
.tpl05-side-stat,
.tpl05-proof-pill,
.tpl05-panorama-figure,
.tpl05-module-row,
.tpl05-image-card,
.tpl05-workbench-list,
.tpl05-state-card,
.tpl05-path-card,
.tpl05-local-links a,
.tpl05-form-box,
.tpl05-region-box,
.tpl05-faq-card,
.tpl05-final-wrap {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl05-brand-box,
.tpl05-side-stat,
.tpl05-proof-pill,
.tpl05-module-row,
.tpl05-workbench-list,
.tpl05-state-card,
.tpl05-path-card,
.tpl05-form-box,
.tpl05-region-box,
.tpl05-faq-card {
  padding: 24px;
}

.tpl05-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl05-brand-box p {
  margin: 0;
}

.tpl05-logo {
  width: 88px;
  object-fit: contain;
}

.tpl05-side-stat strong {
  display: block;
  margin-bottom: 6px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
}

.tpl05-proof-rail {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl05-proof-rail-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl05-proof-pill {
  text-align: center;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl05-panorama-figure {
  margin: 0;
  overflow: hidden;
}

.tpl05-image-frame {
  overflow: hidden;
  background: #dfe7f2 !important;
}

.tpl05-image-frame--panorama {
  min-height: 420px;
}

.tpl05-image-frame--card {
  min-height: 220px;
}

.tpl05-image-frame--region {
  min-height: 200px;
  margin: 18px 0;
  border-radius: 16px;
}

.tpl05-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl05-panorama-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl05-panorama-copy {
  padding-top: 10px;
}

.tpl05-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl05-module-list,
.tpl05-local-links {
  display: grid;
  gap: 16px;
}

.tpl05-module-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl05-module-meta {
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl05-image-cards-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

.tpl05-image-card {
  overflow: hidden;
}

.tpl05-image-card--offset {
  transform: translateY(28px);
}

.tpl05-card-copy {
  padding: 22px;
}

.tpl05-workbench {
  background: linear-gradient(180deg, #ffffff 0%, #f1f5fb 100%) !important;
}

.tpl05-workbench-list ul,
.tpl05-state-card ul,
.tpl05-region-box ul {
  margin: 0;
}

.tpl05-before-after-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl05-state-card--before {
  background: #fff6f6 !important;
}

.tpl05-state-card--after {
  background: #f2f8ff !important;
}

.tpl05-pathway-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl05-path-card {
  position: relative;
  padding-top: 70px;
}

.tpl05-path-no {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.25rem !important;
  font-weight: 800;
}

.tpl05-local-links a {
  display: block;
  padding: 18px 20px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl05-local-links a:hover,
.tpl05-local-links a:focus-visible {
  border-left: 4px solid var(--pr-overlay-2);
}

.tpl05-contact-zone {
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl05-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl05-final-cta {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #05296c 100%) !important;
}

.tpl05-final-wrap {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.07) !important;
}

.tpl05-final-wrap h2,
.tpl05-final-wrap p {
  color: #ffffff !important;
}

.tpl05-brand-box > *:last-child,
.tpl05-side-stat > *:last-child,
.tpl05-proof-pill > *:last-child,
.tpl05-module-row > *:last-child,
.tpl05-card-copy > *:last-child,
.tpl05-workbench-list > *:last-child,
.tpl05-state-card > *:last-child,
.tpl05-path-card > *:last-child,
.tpl05-form-box > *:last-child,
.tpl05-region-box > *:last-child,
.tpl05-faq-card > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl05-hero-main,
  .tpl05-panorama-grid,
  .tpl05-workbench-grid,
  .tpl05-local-board-grid,
  .tpl05-contact-zone-grid,
  .tpl05-final-wrap {
    grid-template-columns: 1fr;
  }

  .tpl05-proof-rail-grid,
  .tpl05-pathway-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl05-image-cards-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .tpl05-hero {
    padding-top: 18px;
  }

  .tpl05-hero-actions,
  .tpl05-hero-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl05-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl05-proof-rail-grid,
  .tpl05-image-cards-grid,
  .tpl05-before-after-grid,
  .tpl05-pathway-grid,
  .tpl05-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl05-brand-box,
  .tpl05-side-stat,
  .tpl05-proof-pill,
  .tpl05-module-row,
  .tpl05-workbench-list,
  .tpl05-state-card,
  .tpl05-path-card,
  .tpl05-form-box,
  .tpl05-region-box,
  .tpl05-faq-card,
  .tpl05-final-wrap {
    padding: 20px;
  }

  .tpl05-module-row {
    grid-template-columns: 1fr;
  }

  .tpl05-image-card--offset {
    transform: none;
  }

  .tpl05-image-frame--panorama,
  .tpl05-image-frame--card,
  .tpl05-image-frame--region {
    min-height: 220px;
  }

  .tpl05-path-card {
    padding-top: 66px;
  }

  .tpl05-path-no {
    left: 20px;
  }

  .tpl05-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl06 magazine local */
.tpl06-page {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%) !important;
}

.tpl06-hero {
  padding-top: 28px;
}

.tpl06-hero-stack,
.tpl06-lead-story-grid,
.tpl06-dual-focus-grid,
.tpl06-checkpoint-grid,
.tpl06-local-network-grid,
.tpl06-contact-wrap-grid,
.tpl06-final-band-grid {
  display: grid;
  gap: 30px;
}

.tpl06-hero-main,
.tpl06-lead-story-grid,
.tpl06-dual-focus-grid,
.tpl06-checkpoint-grid,
.tpl06-local-network-grid,
.tpl06-contact-wrap-grid,
.tpl06-final-band-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  align-items: start;
}

.tpl06-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl06-badge,
.tpl06-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl06-badge--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl06-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl06-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl06-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl06-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl06-hero-side,
.tpl06-markers-grid,
.tpl06-side-points,
.tpl06-mosaic-grid,
.tpl06-checkpoint-columns,
.tpl06-columns-story-grid,
.tpl06-process-strip-grid,
.tpl06-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl06-brand-bar,
.tpl06-story-side,
.tpl06-focus-card,
.tpl06-mosaic-card,
.tpl06-checkpoint-columns ul,
.tpl06-columns-story-grid article,
.tpl06-process-item,
.tpl06-network-links a,
.tpl06-form-panel,
.tpl06-region-panel,
.tpl06-faq-card,
.tpl06-final-band-grid {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl06-brand-bar,
.tpl06-story-side,
.tpl06-focus-card,
.tpl06-mosaic-card,
.tpl06-columns-story-grid article,
.tpl06-process-item,
.tpl06-form-panel,
.tpl06-region-panel,
.tpl06-faq-card {
  padding: 24px;
}

.tpl06-brand-bar {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl06-brand-bar p {
  margin: 0;
}

.tpl06-logo {
  width: 88px;
  object-fit: contain;
}

.tpl06-image-panel {
  overflow: hidden;
  background: #dfe6f2 !important;
  border-radius: 18px;
}

.tpl06-image-panel--hero {
  min-height: 360px;
}

.tpl06-image-panel--medium {
  min-height: 280px;
}

.tpl06-image-panel--mosaic-large {
  min-height: 320px;
}

.tpl06-image-panel--mosaic-small,
.tpl06-image-panel--region {
  min-height: 220px;
}

.tpl06-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl06-markers {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl06-markers-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl06-markers-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl06-story-side {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fc 100%) !important;
}

.tpl06-story-side blockquote {
  margin: 0 0 20px;
  padding-left: 18px;
  border-left: 4px solid var(--pr-overlay-2);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl06-side-points p {
  margin: 0;
}

.tpl06-focus-card--text ul,
.tpl06-checkpoint-columns ul,
.tpl06-region-panel ul {
  margin: 0;
}

.tpl06-mosaic-grid {
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  align-items: stretch;
}

.tpl06-mosaic-card--large {
  grid-row: span 2;
  overflow: hidden;
}

.tpl06-mosaic-card--visual {
  overflow: hidden;
  padding: 0;
}

.tpl06-mosaic-copy {
  padding: 22px;
}

.tpl06-checkpoint {
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl06-checkpoint-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl06-checkpoint-columns ul {
  padding: 22px 24px 22px 38px;
}

.tpl06-columns-story-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl06-columns-story-grid article {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl06-process-strip-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl06-process-item {
  position: relative;
  padding-top: 66px;
}

.tpl06-process-item span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl06-network-links {
  display: grid;
  gap: 16px;
}

.tpl06-network-links a {
  display: block;
  padding: 18px 20px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl06-network-links a:hover,
.tpl06-network-links a:focus-visible {
  border-left: 4px solid var(--pr-overlay-2);
}

.tpl06-contact-wrap {
  background: linear-gradient(180deg, #ffffff 0%, #f2f6fc 100%) !important;
}

.tpl06-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl06-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #072b70 100%) !important;
}

.tpl06-final-band-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl06-final-band-grid h2,
.tpl06-final-band-grid p {
  color: #ffffff !important;
}

.tpl06-story-side > *:last-child,
.tpl06-focus-card > *:last-child,
.tpl06-mosaic-card > *:last-child,
.tpl06-columns-story-grid article > *:last-child,
.tpl06-process-item > *:last-child,
.tpl06-form-panel > *:last-child,
.tpl06-region-panel > *:last-child,
.tpl06-faq-card > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl06-hero-main,
  .tpl06-lead-story-grid,
  .tpl06-dual-focus-grid,
  .tpl06-checkpoint-grid,
  .tpl06-local-network-grid,
  .tpl06-contact-wrap-grid,
  .tpl06-final-band-grid {
    grid-template-columns: 1fr;
  }

  .tpl06-markers-grid,
  .tpl06-process-strip-grid,
  .tpl06-columns-story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl06-mosaic-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .tpl06-hero {
    padding-top: 18px;
  }

  .tpl06-hero-actions,
  .tpl06-hero-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl06-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl06-markers-grid,
  .tpl06-mosaic-grid,
  .tpl06-checkpoint-columns,
  .tpl06-columns-story-grid,
  .tpl06-process-strip-grid,
  .tpl06-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl06-brand-bar,
  .tpl06-story-side,
  .tpl06-focus-card,
  .tpl06-mosaic-card,
  .tpl06-columns-story-grid article,
  .tpl06-process-item,
  .tpl06-form-panel,
  .tpl06-region-panel,
  .tpl06-faq-card,
  .tpl06-final-band-grid {
    padding: 20px;
  }

  .tpl06-image-panel--hero,
  .tpl06-image-panel--medium,
  .tpl06-image-panel--mosaic-large,
  .tpl06-image-panel--mosaic-small,
  .tpl06-image-panel--region {
    min-height: 220px;
  }

  .tpl06-process-item {
    padding-top: 62px;
  }

  .tpl06-process-item span {
    left: 20px;
  }

  .tpl06-brand-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl07 chapitres locaux */
.tpl07-page {
  background: linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%) !important;
}

.tpl07-hero {
  padding-top: 28px;
}

.tpl07-hero-grid,
.tpl07-side-feature-grid,
.tpl07-photo-band-grid,
.tpl07-local-links-grid,
.tpl07-contact-region-grid,
.tpl07-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl07-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl07-label,
.tpl07-kicker,
.tpl07-chapter-no {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl07-label,
.tpl07-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl07-label--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl07-chapter-no {
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl07-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl07-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.tpl07-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl07-phone-link--light {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl07-summary,
.tpl07-index-grid,
.tpl07-chapter-grid,
.tpl07-sequence-list,
.tpl07-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl07-brand-line,
.tpl07-summary-card,
.tpl07-note-card,
.tpl07-table-box,
.tpl07-photo-band-figure,
.tpl07-sequence-bar,
.tpl07-links-box,
.tpl07-contact-panel,
.tpl07-region-panel,
.tpl07-faq-card,
.tpl07-final-grid,
.tpl07-side-feature-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl07-brand-line,
.tpl07-summary-card,
.tpl07-note-card,
.tpl07-sequence-bar,
.tpl07-contact-panel,
.tpl07-region-panel,
.tpl07-faq-card,
.tpl07-side-feature-copy {
  padding: 24px;
}

.tpl07-brand-line {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl07-brand-line p {
  margin: 0;
}

.tpl07-logo {
  width: 88px;
  object-fit: contain;
}

.tpl07-summary-list {
  display: grid;
  gap: 12px;
}

.tpl07-summary-list span {
  padding: 14px 16px;
  border-left: 4px solid var(--pr-overlay-1);
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl07-index-band {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl07-index-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl07-index-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl07-chapter {
  background: #ffffff !important;
}

.tpl07-chapter-grid {
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  align-items: start;
}

.tpl07-chapter-body--cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl07-image-box {
  overflow: hidden;
  background: #dee6f2 !important;
  border-radius: 18px;
}

.tpl07-image-box--feature {
  min-height: 320px;
}

.tpl07-image-box--band {
  min-height: 360px;
}

.tpl07-image-box--region {
  min-height: 200px;
  margin: 18px 0;
}

.tpl07-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl07-side-feature-copy ul,
.tpl07-check-columns ul,
.tpl07-region-panel ul {
  margin: 0;
}

.tpl07-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl07-table-box {
  overflow: hidden;
}

.tpl07-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tpl07-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl07-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl07-photo-band-figure {
  margin: 0;
  overflow: hidden;
}

.tpl07-photo-band-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl07-check-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl07-check-columns ul {
  padding: 22px 24px 22px 38px;
  background: #f6f8fc !important;
}

.tpl07-sequence-bar {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.tpl07-sequence-bar span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.1rem !important;
  font-weight: 800;
}

.tpl07-links-box {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl07-links-box a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl07-links-box a:last-child {
  border-bottom: 0;
}

.tpl07-links-box a:hover,
.tpl07-links-box a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl07-contact-region {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl07-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl07-final {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042766 100%) !important;
}

.tpl07-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl07-final-grid h2,
.tpl07-final-grid p {
  color: #ffffff !important;
}

.tpl07-summary-card > *:last-child,
.tpl07-note-card > *:last-child,
.tpl07-side-feature-copy > *:last-child,
.tpl07-sequence-bar > *:last-child,
.tpl07-contact-panel > *:last-child,
.tpl07-region-panel > *:last-child,
.tpl07-faq-card > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl07-hero-grid,
  .tpl07-side-feature-grid,
  .tpl07-photo-band-grid,
  .tpl07-local-links-grid,
  .tpl07-contact-region-grid,
  .tpl07-final-grid,
  .tpl07-chapter-grid {
    grid-template-columns: 1fr;
  }

  .tpl07-index-grid,
  .tpl07-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl07-hero {
    padding-top: 18px;
  }

  .tpl07-actions,
  .tpl07-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl07-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl07-index-grid,
  .tpl07-chapter-body--cards,
  .tpl07-check-columns,
  .tpl07-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl07-brand-line,
  .tpl07-summary-card,
  .tpl07-note-card,
  .tpl07-sequence-bar,
  .tpl07-contact-panel,
  .tpl07-region-panel,
  .tpl07-faq-card,
  .tpl07-side-feature-copy,
  .tpl07-final-grid,
  .tpl07-links-box {
    padding: 20px;
  }

  .tpl07-table-row {
    grid-template-columns: 1fr;
  }

  .tpl07-table-row--head > div:first-child {
    border-top: 0;
  }

  .tpl07-image-box--feature,
  .tpl07-image-box--band,
  .tpl07-image-box--region {
    min-height: 220px;
  }

  .tpl07-brand-line {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl08 parcours detaille */
.tpl08-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fc 100%) !important;
}

.tpl08-hero {
  padding-top: 28px;
}

.tpl08-hero-grid,
.tpl08-overview-grid,
.tpl08-image-story-grid,
.tpl08-checks-grid,
.tpl08-local-links-grid,
.tpl08-contact-zone-grid,
.tpl08-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.84fr);
  gap: 30px;
  align-items: start;
}

.tpl08-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl08-badge,
.tpl08-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl08-badge--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl08-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl08-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.tpl08-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl08-phone-link--light {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl08-hero-side,
.tpl08-quickstrip-grid,
.tpl08-alerts-grid,
.tpl08-spectrum-grid,
.tpl08-rail-list,
.tpl08-local-context-grid,
.tpl08-gallery-line-grid,
.tpl08-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl08-brand-box,
.tpl08-hero-note,
.tpl08-overview-side,
.tpl08-alert-card,
.tpl08-spectrum-card,
.tpl08-story-figure,
.tpl08-compare-box,
.tpl08-links-panel,
.tpl08-form-panel,
.tpl08-region-panel,
.tpl08-faq-card,
.tpl08-final-grid,
.tpl08-local-context-grid article,
.tpl08-rail-item {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl08-brand-box,
.tpl08-hero-note,
.tpl08-overview-side,
.tpl08-alert-card,
.tpl08-spectrum-card,
.tpl08-local-context-grid article,
.tpl08-form-panel,
.tpl08-region-panel,
.tpl08-faq-card {
  padding: 24px;
}

.tpl08-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl08-brand-box p {
  margin: 0;
}

.tpl08-logo {
  width: 88px;
  object-fit: contain;
}

.tpl08-quickstrip {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl08-quickstrip-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl08-quickstrip-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl08-overview-side ul,
.tpl08-checks-lists ul,
.tpl08-region-panel ul {
  margin: 0;
}

.tpl08-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl08-alerts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl08-alert-card {
  border-top: 4px solid var(--pr-overlay-2);
}

.tpl08-spectrum-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl08-spectrum-card {
  padding: 24px;
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl08-story-figure {
  margin: 0;
  overflow: hidden;
}

.tpl08-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl08-image-box--story {
  min-height: 420px;
}

.tpl08-image-box--gallery,
.tpl08-image-box--region {
  min-height: 220px;
}

.tpl08-image-box--region {
  margin: 18px 0;
}

.tpl08-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl08-story-figure figcaption,
.tpl08-gallery-line-grid figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl08-checks {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl08-checks-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl08-checks-lists ul {
  padding: 22px 24px 22px 38px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl08-rail-list {
  position: relative;
  display: grid;
  gap: 18px;
}

.tpl08-rail-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 24px 28px;
}

.tpl08-rail-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.1rem !important;
  font-weight: 800;
  position: relative;
  z-index: 1;
}

.tpl08-rail-item > div {
  min-width: 0;
}

.tpl08-rail-item h3 {
  margin-bottom: 8px;
}

.tpl08-rail-item p {
  margin-bottom: 0;
}

.tpl08-local-context-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl08-compare-box {
  overflow: hidden;
}

.tpl08-compare-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.tpl08-compare-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl08-compare-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl08-gallery-line-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl08-gallery-line-grid figure {
  margin: 0;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
  overflow: hidden;
}

.tpl08-links-panel {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl08-links-panel a {
  display: block;
  padding: 16px 18px;
  border-left: 4px solid var(--pr-overlay-1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl08-links-panel a:hover,
.tpl08-links-panel a:focus-visible {
  border-left-color: var(--pr-overlay-2);
}

.tpl08-contact-zone {
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl08-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl08-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042768 100%) !important;
}

.tpl08-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl08-final-grid h2,
.tpl08-final-grid p {
  color: #ffffff !important;
}

.tpl08-hero-note > *:last-child,
.tpl08-overview-side > *:last-child,
.tpl08-alert-card > *:last-child,
.tpl08-spectrum-card > *:last-child,
.tpl08-local-context-grid article > *:last-child,
.tpl08-rail-item > *:last-child,
.tpl08-form-panel > *:last-child,
.tpl08-region-panel > *:last-child,
.tpl08-faq-card > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl08-hero-grid,
  .tpl08-overview-grid,
  .tpl08-image-story-grid,
  .tpl08-checks-grid,
  .tpl08-local-links-grid,
  .tpl08-contact-zone-grid,
  .tpl08-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl08-quickstrip-grid,
  .tpl08-spectrum-grid,
  .tpl08-local-context-grid,
  .tpl08-gallery-line-grid,
  .tpl08-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl08-hero {
    padding-top: 18px;
  }

  .tpl08-actions,
  .tpl08-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl08-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl08-quickstrip-grid,
  .tpl08-alerts-grid,
  .tpl08-spectrum-grid,
  .tpl08-checks-lists,
  .tpl08-local-context-grid,
  .tpl08-gallery-line-grid,
  .tpl08-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl08-brand-box,
  .tpl08-hero-note,
  .tpl08-overview-side,
  .tpl08-alert-card,
  .tpl08-spectrum-card,
  .tpl08-local-context-grid article,
  .tpl08-form-panel,
  .tpl08-region-panel,
  .tpl08-faq-card,
  .tpl08-final-grid,
  .tpl08-links-panel,
  .tpl08-rail-item {
    padding: 20px;
  }

  .tpl08-rail-list {
    gap: 14px;
  }

  .tpl08-rail-item {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
  }

  .tpl08-rail-item span {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    font-size: 1rem !important;
  }

  .tpl08-compare-row {
    grid-template-columns: 1fr;
  }

  .tpl08-compare-row--head > div:first-child {
    border-top: 0;
  }

  .tpl08-image-box--story,
  .tpl08-image-box--gallery,
  .tpl08-image-box--region {
    min-height: 220px;
  }

  .tpl08-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl09 stations locales */
.tpl09-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
}

.tpl09-hero {
  padding-top: 28px;
}

.tpl09-hero-shell,
.tpl09-manifesto-grid,
.tpl09-visual-slab-grid,
.tpl09-checkdeck-grid,
.tpl09-local-panel-grid,
.tpl09-contact-grid,
.tpl09-final-grid {
  display: grid;
  gap: 30px;
}

.tpl09-hero-body,
.tpl09-manifesto-grid,
.tpl09-visual-slab-grid,
.tpl09-checkdeck-grid,
.tpl09-local-panel-grid,
.tpl09-contact-grid,
.tpl09-final-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  align-items: start;
}

.tpl09-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl09-tag,
.tpl09-kicker,
.tpl09-station-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl09-tag,
.tpl09-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl09-tag--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl09-station-label {
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl09-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl09-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl09-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl09-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl09-hero-top,
.tpl09-signaletic-grid,
.tpl09-alerts-grid,
.tpl09-spectrum-grid,
.tpl09-route-grid,
.tpl09-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl09-brand-chip,
.tpl09-hero-aside,
.tpl09-manifesto-quote,
.tpl09-module-box,
.tpl09-checkdeck-list,
.tpl09-local-links,
.tpl09-form-card,
.tpl09-region-card,
.tpl09-faq-item,
.tpl09-final-grid,
.tpl09-story-figure,
.tpl09-links-panel,
.tpl09-compare-box,
.tpl09-slab-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl09-brand-chip,
.tpl09-hero-aside,
.tpl09-manifesto-quote,
.tpl09-module-box,
.tpl09-checkdeck-list,
.tpl09-local-links,
.tpl09-form-card,
.tpl09-region-card,
.tpl09-faq-item,
.tpl09-slab-copy {
  padding: 24px;
}

.tpl09-hero-top {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.tpl09-brand-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.tpl09-logo {
  width: 74px;
  object-fit: contain;
}

.tpl09-brand-chip span,
.tpl09-brand-chip p {
  margin: 0;
}

.tpl09-signaletic {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl09-signaletic-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl09-signaletic-grid article {
  padding: 18px;
  background: rgba(255, 255, 255, 0.09) !important;
  color: #ffffff !important;
}

.tpl09-signaletic-grid strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
  color: #ffffff !important;
}

.tpl09-manifesto {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
}

.tpl09-manifesto-quote {
  border-left: 5px solid var(--pr-overlay-2);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.05rem;
  font-weight: 700;
}

.tpl09-station-grid {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) minmax(240px, 0.7fr);
  gap: 24px;
  align-items: start;
}

.tpl09-station-grid--reverse {
  grid-template-columns: minmax(240px, 0.7fr) 180px minmax(0, 1fr);
}

.tpl09-station-grid--reverse .tpl09-station-label {
  order: 2;
}

.tpl09-station-grid--reverse .tpl09-station-content {
  order: 3;
}

.tpl09-station-grid--reverse .tpl09-station-side {
  order: 1;
}

.tpl09-station-side ul,
.tpl09-checkdeck-list ul,
.tpl09-region-card ul {
  margin: 0;
}

.tpl09-station-side--cards {
  display: grid;
  gap: 16px;
}

.tpl09-station-side--cards article {
  padding: 18px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl09-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl09-image-box--slab {
  min-height: 380px;
}

.tpl09-image-box--side,
.tpl09-image-box--region {
  min-height: 220px;
}

.tpl09-image-box--region {
  margin: 18px 0;
}

.tpl09-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl09-slab-figure {
  margin: 0;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
  overflow: hidden;
}

.tpl09-slab-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl09-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl09-module-wall-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl09-module-box {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl09-module-box--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08357d 100%) !important;
}

.tpl09-module-box--accent h3,
.tpl09-module-box--accent p {
  color: #ffffff !important;
}

.tpl09-checkdeck {
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl09-checkdeck-list ul {
  padding-left: 1.25rem;
}

.tpl09-route-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl09-route-grid article {
  padding: 22px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl09-route-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl09-local-panel {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
}

.tpl09-local-links {
  display: grid;
  gap: 14px;
}

.tpl09-local-links a {
  display: block;
  padding: 16px 18px;
  border-left: 4px solid var(--pr-overlay-1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl09-local-links a:hover,
.tpl09-local-links a:focus-visible {
  border-left-color: var(--pr-overlay-2);
}

.tpl09-contact-zone {
  background: #ffffff !important;
}

.tpl09-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl09-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042866 100%) !important;
}

.tpl09-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl09-final-grid h2,
.tpl09-final-grid p {
  color: #ffffff !important;
}

.tpl09-hero-aside > *:last-child,
.tpl09-module-box > *:last-child,
.tpl09-checkdeck-list > *:last-child,
.tpl09-form-card > *:last-child,
.tpl09-region-card > *:last-child,
.tpl09-faq-item > *:last-child,
.tpl09-slab-copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl09-hero-body,
  .tpl09-manifesto-grid,
  .tpl09-visual-slab-grid,
  .tpl09-checkdeck-grid,
  .tpl09-local-panel-grid,
  .tpl09-contact-grid,
  .tpl09-final-grid,
  .tpl09-station-grid,
  .tpl09-station-grid--reverse {
    grid-template-columns: 1fr;
  }

  .tpl09-station-grid--reverse .tpl09-station-label,
  .tpl09-station-grid--reverse .tpl09-station-content,
  .tpl09-station-grid--reverse .tpl09-station-side {
    order: initial;
  }

  .tpl09-signaletic-grid,
  .tpl09-module-wall-grid,
  .tpl09-route-grid,
  .tpl09-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl09-hero {
    padding-top: 18px;
  }

  .tpl09-actions,
  .tpl09-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl09-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl09-hero-top,
  .tpl09-signaletic-grid,
  .tpl09-module-wall-grid,
  .tpl09-route-grid,
  .tpl09-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl09-brand-chip,
  .tpl09-hero-aside,
  .tpl09-manifesto-quote,
  .tpl09-module-box,
  .tpl09-checkdeck-list,
  .tpl09-local-links,
  .tpl09-form-card,
  .tpl09-region-card,
  .tpl09-faq-item,
  .tpl09-final-grid,
  .tpl09-slab-copy,
  .tpl09-route-grid article {
    padding: 20px;
  }

  .tpl09-image-box--slab,
  .tpl09-image-box--side,
  .tpl09-image-box--region {
    min-height: 220px;
  }

  .tpl09-brand-chip {
    justify-content: flex-start;
  }
}

/* tpl10 bulletin local */
.tpl10-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fc 100%) !important;
}

.tpl10-hero {
  padding-top: 28px;
}

.tpl10-hero-grid,
.tpl10-bulletin-grid,
.tpl10-briefing-grid,
.tpl10-network-grid,
.tpl10-contact-grid,
.tpl10-final-grid,
.tpl10-snapshot-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl10-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl10-stamp,
.tpl10-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl10-stamp--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl10-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl10-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl10-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl10-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl10-hero-top,
.tpl10-ticker-grid,
.tpl10-columns-grid,
.tpl10-panels-grid,
.tpl10-photo-line-grid,
.tpl10-ladder-grid,
.tpl10-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl10-hero-side {
  display: grid;
  gap: 18px;
}

.tpl10-brand-box,
.tpl10-summary-box,
.tpl10-bulletin-aside,
.tpl10-panel-card,
.tpl10-photo-card,
.tpl10-briefing-list,
.tpl10-network-links,
.tpl10-form-card,
.tpl10-region-card,
.tpl10-faq-card,
.tpl10-final-grid,
.tpl10-columns-grid article,
.tpl10-ladder-step,
.tpl10-snapshot-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl10-brand-box,
.tpl10-summary-box,
.tpl10-bulletin-aside,
.tpl10-panel-card,
.tpl10-briefing-list,
.tpl10-form-card,
.tpl10-region-card,
.tpl10-faq-card,
.tpl10-columns-grid article,
.tpl10-ladder-step,
.tpl10-snapshot-copy {
  padding: 24px;
}

.tpl10-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl10-brand-box p {
  margin: 0;
}

.tpl10-logo {
  width: 88px;
  object-fit: contain;
}

.tpl10-ticker {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl10-ticker-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl10-ticker-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl10-bulletin-aside ul,
.tpl10-briefing-list ul,
.tpl10-region-card ul {
  margin: 0;
}

.tpl10-columns-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl10-columns-grid article {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl10-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl10-panels-grid {
  grid-template-columns: 1fr 1.1fr 1fr;
}

.tpl10-panel-card {
  padding: 24px;
}

.tpl10-panel-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl10-panel-card--accent h3,
.tpl10-panel-card--accent p {
  color: #ffffff !important;
}

.tpl10-photo-line-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl10-photo-card {
  margin: 0;
  overflow: hidden;
}

.tpl10-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl10-image-box--line,
.tpl10-image-box--snapshot,
.tpl10-image-box--region {
  min-height: 240px;
}

.tpl10-image-box--region {
  margin: 18px 0;
}

.tpl10-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl10-photo-card figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl10-briefing {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl10-ladder-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl10-ladder-step {
  position: relative;
  padding-top: 70px;
}

.tpl10-ladder-step span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl10-snapshot {
  background: linear-gradient(180deg, #f8fafd 0%, #ffffff 100%) !important;
}

.tpl10-network-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl10-network-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl10-network-links a:last-child {
  border-bottom: 0;
}

.tpl10-network-links a:hover,
.tpl10-network-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl10-contact-zone {
  background: #ffffff !important;
}

.tpl10-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl10-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042967 100%) !important;
}

.tpl10-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl10-final-grid h2,
.tpl10-final-grid p {
  color: #ffffff !important;
}

.tpl10-summary-box > *:last-child,
.tpl10-bulletin-aside > *:last-child,
.tpl10-panel-card > *:last-child,
.tpl10-briefing-list > *:last-child,
.tpl10-form-card > *:last-child,
.tpl10-region-card > *:last-child,
.tpl10-faq-card > *:last-child,
.tpl10-columns-grid article > *:last-child,
.tpl10-ladder-step > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl10-hero-grid,
  .tpl10-bulletin-grid,
  .tpl10-briefing-grid,
  .tpl10-network-grid,
  .tpl10-contact-grid,
  .tpl10-final-grid,
  .tpl10-snapshot-grid {
    grid-template-columns: 1fr;
  }

  .tpl10-ticker-grid,
  .tpl10-columns-grid,
  .tpl10-ladder-grid,
  .tpl10-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl10-panels-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .tpl10-hero {
    padding-top: 18px;
  }

  .tpl10-actions,
  .tpl10-actions--final {
    flex-direction: column;
    align-items: stretch;
  }

  .tpl10-phone-link,
  .pr-button {
    width: 100%;
  }

  .tpl10-ticker-grid,
  .tpl10-columns-grid,
  .tpl10-photo-line-grid,
  .tpl10-ladder-grid,
  .tpl10-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl10-brand-box,
  .tpl10-summary-box,
  .tpl10-bulletin-aside,
  .tpl10-panel-card,
  .tpl10-briefing-list,
  .tpl10-form-card,
  .tpl10-region-card,
  .tpl10-faq-card,
  .tpl10-columns-grid article,
  .tpl10-ladder-step,
  .tpl10-final-grid,
  .tpl10-network-links,
  .tpl10-snapshot-copy {
    padding: 20px;
  }

  .tpl10-image-box--line,
  .tpl10-image-box--snapshot,
  .tpl10-image-box--region {
    min-height: 220px;
  }

  .tpl10-ladder-step {
    padding-top: 66px;
  }

  .tpl10-ladder-step span {
    left: 20px;
  }

  .tpl10-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .pr-button,
  .tpl01-phone-link,
  .tpl02-phone-link,
  .tpl03-phone-link,
  .tpl04-phone-link,
  .tpl05-phone-link,
  .tpl06-phone-link,
  .tpl07-phone-link,
  .tpl08-phone-link,
  .tpl09-phone-link,
  .tpl10-phone-link {
    min-height: 42px;
    padding: 10px 16px;
    font-size: 0.94rem;
    width: auto !important;
    max-width: 100%;
    flex: 0 0 auto;
  }

  .tpl01-hero-actions,
  .tpl01-final-actions,
  .tpl02-hero-actions,
  .tpl02-final-actions,
  .tpl03-actions,
  .tpl03-actions--final,
  .tpl04-hero-actions,
  .tpl04-final-actions,
  .tpl05-hero-actions,
  .tpl05-hero-actions--final,
  .tpl06-hero-actions,
  .tpl06-hero-actions--final,
  .tpl07-actions,
  .tpl07-actions--final,
  .tpl08-actions,
  .tpl08-actions--final,
  .tpl09-actions,
  .tpl09-actions--final,
  .tpl10-actions,
  .tpl10-actions--final {
    align-items: flex-start !important;
  }
}

/* tpl11 cartographie locale */
.tpl11-page {
  background: linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%) !important;
}

.tpl11-hero {
  padding-top: 28px;
}

.tpl11-hero-grid,
.tpl11-map-intro-grid,
.tpl11-terrain-grid,
.tpl11-split-brief-grid,
.tpl11-local-web-grid,
.tpl11-contact-deck-grid,
.tpl11-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl11-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl11-token,
.tpl11-kicker,
.tpl11-axis-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl11-token,
.tpl11-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl11-token--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl11-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl11-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl11-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl11-hero-side,
.tpl11-orientation-grid,
.tpl11-axis-grid,
.tpl11-notes-grid,
.tpl11-gallery-ribbon-grid,
.tpl11-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl11-brand-panel,
.tpl11-side-note,
.tpl11-aside-block,
.tpl11-axis-card,
.tpl11-terrain-figure,
.tpl11-note-box,
.tpl11-service-card,
.tpl11-route-panel-grid article,
.tpl11-local-web-links,
.tpl11-form-box,
.tpl11-region-box,
.tpl11-faq-card,
.tpl11-final-grid,
.tpl11-brief-right {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl11-brand-panel,
.tpl11-side-note,
.tpl11-aside-block,
.tpl11-axis-card,
.tpl11-note-box,
.tpl11-service-card,
.tpl11-route-panel-grid article,
.tpl11-form-box,
.tpl11-region-box,
.tpl11-faq-card,
.tpl11-brief-right {
  padding: 24px;
}

.tpl11-brand-panel {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl11-brand-panel p {
  margin: 0;
}

.tpl11-logo {
  width: 88px;
  object-fit: contain;
}

.tpl11-orientation-bar {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl11-orientation-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl11-orientation-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl11-aside-block ul,
.tpl11-check-columns ul,
.tpl11-region-box ul {
  margin: 0;
}

.tpl11-axis-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl11-axis-card {
  border-top: 4px solid var(--pr-overlay-2);
}

.tpl11-axis-label {
  margin-bottom: 16px;
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl11-terrain-figure {
  margin: 0;
  overflow: hidden;
}

.tpl11-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl11-image-box--terrain {
  min-height: 420px;
}

.tpl11-image-box--service-wide,
.tpl11-image-box--gallery,
.tpl11-image-box--region,
.tpl11-image-box--side {
  min-height: 220px;
}

.tpl11-image-box--region {
  margin: 18px 0;
}

.tpl11-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl11-terrain-figure figcaption,
.tpl11-gallery-ribbon-grid figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl11-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl11-notes-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl11-note-box {
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl11-note-box--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #09377d 100%) !important;
}

.tpl11-note-box--accent h3,
.tpl11-note-box--accent p {
  color: #ffffff !important;
}

.tpl11-split-brief {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl11-service-map-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap: 20px;
}

.tpl11-service-card--wide {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.tpl11-service-card--wide .tpl11-image-box--service-wide {
  height: 320px !important;
  min-height: 320px !important;
  max-height: 320px !important;
}

.tpl11-service-copy {
  padding: 22px;
}

.tpl11-route-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tpl11-route-panel-grid article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl11-gallery-ribbon-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl11-gallery-ribbon-grid figure {
  margin: 0;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
  overflow: hidden;
}

.tpl11-local-web {
  background: linear-gradient(180deg, #f8fafd 0%, #ffffff 100%) !important;
}

.tpl11-local-web-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl11-local-web-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl11-local-web-links a:last-child {
  border-bottom: 0;
}

.tpl11-local-web-links a:hover,
.tpl11-local-web-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl11-contact-deck {
  background: #ffffff !important;
}

.tpl11-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl11-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl11-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl11-final-grid h2,
.tpl11-final-grid p {
  color: #ffffff !important;
}

.tpl11-side-note > *:last-child,
.tpl11-aside-block > *:last-child,
.tpl11-note-box > *:last-child,
.tpl11-service-card > *:last-child,
.tpl11-route-panel-grid article > *:last-child,
.tpl11-form-box > *:last-child,
.tpl11-region-box > *:last-child,
.tpl11-faq-card > *:last-child,
.tpl11-slab-copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl11-hero-grid,
  .tpl11-map-intro-grid,
  .tpl11-terrain-grid,
  .tpl11-split-brief-grid,
  .tpl11-local-web-grid,
  .tpl11-contact-deck-grid,
  .tpl11-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl11-orientation-grid,
  .tpl11-notes-grid,
  .tpl11-route-panel-grid,
  .tpl11-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl11-axis-grid,
  .tpl11-service-map-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .tpl11-hero {
    padding-top: 18px;
  }

  .tpl11-actions,
  .tpl11-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl11-orientation-grid,
  .tpl11-axis-grid,
  .tpl11-notes-grid,
  .tpl11-route-panel-grid,
  .tpl11-gallery-ribbon-grid,
  .tpl11-faq-grid,
  .tpl11-service-map-grid,
  .tpl11-check-columns {
    grid-template-columns: 1fr;
  }

  .tpl11-brand-panel,
  .tpl11-side-note,
  .tpl11-aside-block,
  .tpl11-axis-card,
  .tpl11-note-box,
  .tpl11-service-card,
  .tpl11-route-panel-grid article,
  .tpl11-form-box,
  .tpl11-region-box,
  .tpl11-faq-card,
  .tpl11-final-grid,
  .tpl11-brief-right,
  .tpl11-local-web-links {
    padding: 20px;
  }

  .tpl11-image-box--terrain,
  .tpl11-image-box--service-wide,
  .tpl11-image-box--gallery,
  .tpl11-image-box--region,
  .tpl11-image-box--side {
    min-height: 220px;
  }

  .tpl11-brand-panel {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl12 signal local premium */
.tpl12-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl12-hero {
  padding-top: 28px;
}

.tpl12-hero-grid,
.tpl12-map-intro-grid,
.tpl12-manifest-grid,
.tpl12-duo-panel-grid,
.tpl12-local-hub-grid,
.tpl12-contact-grid,
.tpl12-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl12-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl12-chip,
.tpl12-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl12-chip--light,
.tpl12-kicker--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl12-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl12-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl12-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl12-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl12-hero-side,
.tpl12-alert-strip-grid,
.tpl12-plates-grid,
.tpl12-capsules-grid,
.tpl12-gallery-ribbon-grid,
.tpl12-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl12-brand-box,
.tpl12-side-box,
.tpl12-plate,
.tpl12-manifest-figure,
.tpl12-duo-list,
.tpl12-capsule,
.tpl12-compare-card,
.tpl12-short-table-box,
.tpl12-local-hub-links,
.tpl12-form-panel,
.tpl12-region-panel,
.tpl12-faq-card,
.tpl12-final-grid,
.tpl12-brief-right,
.tpl12-manifest-copy,
.tpl12-steps-banner-grid article {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl12-brand-box,
.tpl12-side-box,
.tpl12-plate,
.tpl12-duo-list,
.tpl12-capsule,
.tpl12-compare-card,
.tpl12-form-panel,
.tpl12-region-panel,
.tpl12-faq-card,
.tpl12-manifest-copy,
.tpl12-brief-right,
.tpl12-steps-banner-grid article {
  padding: 24px;
}

.tpl12-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl12-brand-box p {
  margin: 0;
}

.tpl12-logo {
  width: 88px;
  object-fit: contain;
}

.tpl12-alert-strip {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl12-alert-strip-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl12-alert-strip-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl12-plate--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl12-plate--accent h2,
.tpl12-plate--accent p {
  color: #ffffff !important;
}

.tpl12-manifest-figure {
  margin: 0;
  overflow: hidden;
}

.tpl12-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl12-image-box--manifest {
  min-height: 420px;
}

.tpl12-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl12-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl12-manifest-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl12-manifest-copy blockquote {
  margin: 22px 0 0;
  padding-left: 18px;
  border-left: 4px solid var(--pr-overlay-2);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl12-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl12-capsules-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl12-capsule {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl12-duo-panel {
  background: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%) !important;
}

.tpl12-duo-list ul,
.tpl12-region-panel ul,
.tpl12-compare-card ul {
  margin: 0;
}

.tpl12-steps-banner-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl12-steps-banner-grid article {
  position: relative;
  padding-top: 70px;
}

.tpl12-steps-banner-grid span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl12-compare-mini {
  background: #ffffff !important;
}

.tpl12-compare-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl12-compare-card--before {
  background: #fff6f6 !important;
}

.tpl12-compare-card--after {
  background: #f1f7ff !important;
}

.tpl12-short-table-box {
  overflow: hidden;
}

.tpl12-short-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tpl12-short-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl12-short-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl12-local-hub {
  background: #ffffff !important;
}

.tpl12-local-hub-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl12-local-hub-links a {
  display: block;
  padding: 16px 18px;
  border-left: 4px solid var(--pr-overlay-1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl12-local-hub-links a:hover,
.tpl12-local-hub-links a:focus-visible {
  border-left-color: var(--pr-overlay-2);
}

.tpl12-contact-zone {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl12-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl12-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042967 100%) !important;
}

.tpl12-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl12-final-grid h2,
.tpl12-final-grid p {
  color: #ffffff !important;
}

.tpl12-side-box > *:last-child,
.tpl12-plate > *:last-child,
.tpl12-capsule > *:last-child,
.tpl12-compare-card > *:last-child,
.tpl12-form-panel > *:last-child,
.tpl12-region-panel > *:last-child,
.tpl12-faq-card > *:last-child,
.tpl12-manifest-copy > *:last-child,
.tpl12-steps-banner-grid article > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl12-hero-grid,
  .tpl12-map-intro-grid,
  .tpl12-manifest-grid,
  .tpl12-duo-panel-grid,
  .tpl12-local-hub-grid,
  .tpl12-contact-grid,
  .tpl12-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl12-alert-strip-grid,
  .tpl12-capsules-grid,
  .tpl12-steps-banner-grid,
  .tpl12-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl12-plates-grid,
  .tpl12-compare-mini-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .tpl12-hero {
    padding-top: 18px;
  }

  .tpl12-actions,
  .tpl12-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl12-alert-strip-grid,
  .tpl12-capsules-grid,
  .tpl12-steps-banner-grid,
  .tpl12-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl12-brand-box,
  .tpl12-side-box,
  .tpl12-plate,
  .tpl12-duo-list,
  .tpl12-capsule,
  .tpl12-compare-card,
  .tpl12-form-panel,
  .tpl12-region-panel,
  .tpl12-faq-card,
  .tpl12-final-grid,
  .tpl12-manifest-copy,
  .tpl12-brief-right,
  .tpl12-steps-banner-grid article,
  .tpl12-local-hub-links {
    padding: 20px;
  }

  .tpl12-short-table-row {
    grid-template-columns: 1fr;
  }

  .tpl12-short-table-row--head > div:first-child {
    border-top: 0;
  }

  .tpl12-image-box--manifest,
  .tpl12-image-box--region {
    min-height: 220px;
  }

  .tpl12-steps-banner-grid article {
    padding-top: 66px;
  }

  .tpl12-steps-banner-grid span {
    left: 20px;
  }

  .tpl12-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl13 poster local */
.tpl13-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
}

.tpl13-poster-hero {
  padding-top: 28px;
}

.tpl13-poster-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 28px;
  align-items: start;
}

.tpl13-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.92rem;
}

.tpl13-token,
.tpl13-kicker,
.tpl13-chip,
.tpl13-rail-tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.84rem;
  font-weight: 800;
}

.tpl13-token,
.tpl13-kicker,
.tpl13-chip {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl13-token--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl13-rail-tag {
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl13-lead {
  max-width: 56ch;
  font-size: 1.08rem;
}

.tpl13-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl13-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl13-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl13-hero-rail,
.tpl13-hero-side,
.tpl13-pulse-grid,
.tpl13-pistes-grid,
.tpl13-notes-grid,
.tpl13-gallery-ribbon-grid,
.tpl13-faq-grid {
  display: grid;
  gap: 18px;
}

.tpl13-hero-rail,
.tpl13-hero-titlebox,
.tpl13-hero-poster,
.tpl13-fiche-side,
.tpl13-piste-card,
.tpl13-visual-card,
.tpl13-panneau-list,
.tpl13-service-block,
.tpl13-thresholds-grid article,
.tpl13-local-links,
.tpl13-contact-card,
.tpl13-region-card,
.tpl13-faq-card,
.tpl13-final-grid,
.tpl13-rail-note {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl13-hero-rail,
.tpl13-hero-titlebox,
.tpl13-fiche-side,
.tpl13-piste-card,
.tpl13-panneau-list,
.tpl13-service-block,
.tpl13-contact-card,
.tpl13-region-card,
.tpl13-faq-card,
.tpl13-rail-note {
  padding: 24px;
}

.tpl13-brandline {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl13-logo {
  width: 88px;
  object-fit: contain;
}

.tpl13-poster-grid .tpl13-hero-poster {
  margin: 0;
  overflow: hidden;
}

.tpl13-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl13-image-box--hero {
  min-height: 520px;
}

.tpl13-image-box--large {
  min-height: 360px;
}

.tpl13-image-box--small,
.tpl13-image-box--region,
.tpl13-image-box--side,
.tpl13-image-box--gallery,
.tpl13-image-box--service-wide {
  min-height: 220px;
}

.tpl13-image-box--region {
  margin: 18px 0;
}

.tpl13-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl13-hero-poster figcaption,
.tpl13-visual-card figcaption,
.tpl13-gallery-ribbon-grid figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl13-pulse-bar {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl13-pulse-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl13-pulse-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl13-fiche-intro,
.tpl13-blocs-service,
.tpl13-local-web,
.tpl13-faq {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl13-fiche-grid,
.tpl13-double-visual-grid,
.tpl13-panneau-grid,
.tpl13-local-web-grid,
.tpl13-contact-grid,
.tpl13-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl13-fiche-side ul,
.tpl13-panneau-list ul,
.tpl13-region-card ul,
.tpl13-compare-card ul {
  margin: 0;
}

.tpl13-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl13-pistes-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl13-piste-card {
  border-top: 4px solid var(--pr-overlay-2);
}

.tpl13-piste-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl13-double-visual-grid {
  grid-template-columns: 1.2fr 0.8fr;
}

.tpl13-visual-card {
  margin: 0;
  overflow: hidden;
}

.tpl13-visual-card--small {
  align-self: end;
}

.tpl13-panneau {
  background: #ffffff !important;
}

.tpl13-service-blocks-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl13-service-block {
  padding: 24px;
}

.tpl13-service-block--main {
  border-left: 5px solid var(--pr-overlay-1);
}

.tpl13-service-block--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #09377d 100%) !important;
}

.tpl13-service-block--accent h3,
.tpl13-service-block--accent p {
  color: #ffffff !important;
}

.tpl13-thresholds-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tpl13-thresholds-grid article {
  padding: 22px;
}

.tpl13-thresholds-grid strong {
  display: block;
  margin-bottom: 10px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
}

.tpl13-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl13-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl13-local-links a:last-child {
  border-bottom: 0;
}

.tpl13-local-links a:hover,
.tpl13-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl13-contact-region {
  background: #ffffff !important;
}

.tpl13-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl13-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #042866 100%) !important;
}

.tpl13-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl13-final-grid h2,
.tpl13-final-grid p {
  color: #ffffff !important;
}

.tpl13-rail-note > *:last-child,
.tpl13-fiche-side > *:last-child,
.tpl13-piste-card > *:last-child,
.tpl13-panneau-list > *:last-child,
.tpl13-service-block > *:last-child,
.tpl13-contact-card > *:last-child,
.tpl13-region-card > *:last-child,
.tpl13-faq-card > *:last-child,
.tpl13-hero-titlebox > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl13-poster-grid,
  .tpl13-fiche-grid,
  .tpl13-double-visual-grid,
  .tpl13-panneau-grid,
  .tpl13-local-web-grid,
  .tpl13-contact-grid,
  .tpl13-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl13-pulse-grid,
  .tpl13-pistes-grid,
  .tpl13-notes-grid,
  .tpl13-thresholds-grid,
  .tpl13-faq-grid,
  .tpl13-service-blocks-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl13-poster-hero {
    padding-top: 18px;
  }

  .tpl13-actions,
  .tpl13-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl13-pulse-grid,
  .tpl13-pistes-grid,
  .tpl13-notes-grid,
  .tpl13-thresholds-grid,
  .tpl13-faq-grid,
  .tpl13-service-blocks-grid,
  .tpl13-gallery-ribbon-grid {
    grid-template-columns: 1fr;
  }

  .tpl13-hero-rail,
  .tpl13-hero-titlebox,
  .tpl13-fiche-side,
  .tpl13-piste-card,
  .tpl13-panneau-list,
  .tpl13-service-block,
  .tpl13-contact-card,
  .tpl13-region-card,
  .tpl13-faq-card,
  .tpl13-final-grid,
  .tpl13-rail-note,
  .tpl13-local-links,
  .tpl13-thresholds-grid article {
    padding: 20px;
  }

  .tpl13-image-box--hero,
  .tpl13-image-box--large,
  .tpl13-image-box--small,
  .tpl13-image-box--region,
  .tpl13-image-box--side,
  .tpl13-image-box--gallery,
  .tpl13-image-box--service-wide {
    min-height: 220px;
  }

  .tpl13-brandline {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl14 tableau de bord local */
.tpl14-page {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
}

.tpl14-hero {
  padding-top: 28px;
}

.tpl14-hero-shell,
.tpl14-synthesis-grid,
.tpl14-visual-console-grid,
.tpl14-command-grid,
.tpl14-control-split-grid,
.tpl14-local-board-grid,
.tpl14-contact-grid,
.tpl14-final-grid {
  display: grid;
  gap: 30px;
}

.tpl14-hero-grid,
.tpl14-synthesis-grid,
.tpl14-visual-console-grid,
.tpl14-command-grid,
.tpl14-control-split-grid,
.tpl14-local-board-grid,
.tpl14-contact-grid,
.tpl14-final-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  align-items: start;
}

.tpl14-command-grid {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
}

.tpl14-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.95rem;
}

.tpl14-status-chip,
.tpl14-kicker,
.tpl14-lane-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl14-status-chip,
.tpl14-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl14-status-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl14-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl14-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl14-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl14-status-bar,
.tpl14-metrics-grid,
.tpl14-synthesis-cards,
.tpl14-alert-grid,
.tpl14-flow-lanes,
.tpl14-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl14-command-panel,
.tpl14-synthesis-cards article,
.tpl14-console-figure,
.tpl14-alert-box,
.tpl14-flow-lanes article,
.tpl14-control-list,
.tpl14-tile,
.tpl14-local-links,
.tpl14-form-panel,
.tpl14-region-panel,
.tpl14-faq-card,
.tpl14-final-grid,
.tpl14-synthesis-main,
.tpl14-console-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl14-command-panel,
.tpl14-synthesis-cards article,
.tpl14-alert-box,
.tpl14-flow-lanes article,
.tpl14-control-list,
.tpl14-tile,
.tpl14-form-panel,
.tpl14-region-panel,
.tpl14-faq-card,
.tpl14-synthesis-main,
.tpl14-console-copy {
  padding: 24px;
}

.tpl14-status-bar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  margin-bottom: 28px;
}

.tpl14-brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl14-brand-row p {
  margin: 0;
}

.tpl14-logo {
  width: 88px;
  object-fit: contain;
}

.tpl14-command-panel ul,
.tpl14-control-list ul,
.tpl14-region-panel ul {
  margin: 0;
}

.tpl14-metrics-ribbon {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl14-metrics-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl14-metrics-grid article {
  padding: 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

.tpl14-metrics-grid strong {
  display: block;
  margin-bottom: 6px;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.5rem !important;
}

.tpl14-visual-console {
  background: linear-gradient(180deg, #ffffff 0%, #f2f6fc 100%) !important;
}

.tpl14-console-figure {
  margin: 0;
  overflow: hidden;
}

.tpl14-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl14-image-box--console {
  min-height: 420px;
}

.tpl14-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl14-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl14-console-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl14-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl14-alert-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl14-alert-box {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl14-alert-box--danger {
  border-top-color: var(--pr-overlay-2);
}

.tpl14-command-flow {
  background: #ffffff !important;
}

.tpl14-flow-lanes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl14-flow-lanes article {
  position: relative;
  padding-top: 66px;
}

.tpl14-flow-lanes h3,
.tpl14-flow-lanes p {
  overflow-wrap: anywhere;
}

.tpl14-flow-lanes span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl14-control-split {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl14-tiles-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl14-tile {
  padding: 24px;
}

.tpl14-tile--wide {
  border-left: 5px solid var(--pr-overlay-1);
}

.tpl14-tile--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08377d 100%) !important;
}

.tpl14-tile--accent h3,
.tpl14-tile--accent p {
  color: #ffffff !important;
}

.tpl14-local-board {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
}

.tpl14-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl14-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl14-local-links a:last-child {
  border-bottom: 0;
}

.tpl14-local-links a:hover,
.tpl14-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl14-contact-hub {
  background: #ffffff !important;
}

.tpl14-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl14-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052b6b 100%) !important;
}

.tpl14-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl14-final-grid h2,
.tpl14-final-grid p {
  color: #ffffff !important;
}

.tpl14-command-panel > *:last-child,
.tpl14-synthesis-cards article > *:last-child,
.tpl14-alert-box > *:last-child,
.tpl14-flow-lanes article > *:last-child,
.tpl14-tile > *:last-child,
.tpl14-form-panel > *:last-child,
.tpl14-region-panel > *:last-child,
.tpl14-faq-card > *:last-child,
.tpl14-console-copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl14-hero-grid,
  .tpl14-synthesis-grid,
  .tpl14-visual-console-grid,
  .tpl14-command-grid,
  .tpl14-control-split-grid,
  .tpl14-local-board-grid,
  .tpl14-contact-grid,
  .tpl14-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl14-metrics-grid,
  .tpl14-alert-grid,
  .tpl14-flow-lanes,
  .tpl14-faq-grid,
  .tpl14-tiles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl14-hero {
    padding-top: 18px;
  }

  .tpl14-actions,
  .tpl14-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl14-status-bar,
  .tpl14-metrics-grid,
  .tpl14-alert-grid,
  .tpl14-flow-lanes,
  .tpl14-faq-grid,
  .tpl14-tiles-grid {
    grid-template-columns: 1fr;
  }

  .tpl14-command-panel,
  .tpl14-synthesis-cards article,
  .tpl14-alert-box,
  .tpl14-flow-lanes article,
  .tpl14-control-list,
  .tpl14-tile,
  .tpl14-form-panel,
  .tpl14-region-panel,
  .tpl14-faq-card,
  .tpl14-final-grid,
  .tpl14-synthesis-main,
  .tpl14-console-copy,
  .tpl14-local-links {
    padding: 20px;
  }

  .tpl14-image-box--console,
  .tpl14-image-box--region {
    min-height: 220px;
  }

  .tpl14-flow-lanes article {
    padding-top: 62px;
  }

  .tpl14-flow-lanes span {
    left: 20px;
  }

  .tpl14-brand-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl15 dossier terrain compact */
.tpl15-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl15-hero-band {
  padding-top: 28px;
  background: linear-gradient(180deg, #f9fbfe 0%, #ffffff 100%) !important;
}

.tpl15-hero-band-grid,
.tpl15-mission-grid,
.tpl15-photo-band-grid,
.tpl15-checkrail-grid,
.tpl15-local-grid,
.tpl15-contact-grid,
.tpl15-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl15-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl15-badge,
.tpl15-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl15-badge--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl15-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl15-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl15-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl15-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl15-hero-summary,
.tpl15-status-grid,
.tpl15-findings-grid,
.tpl15-diagnostic-grid,
.tpl15-progression-grid,
.tpl15-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl15-brand-strip,
.tpl15-hero-summary,
.tpl15-mission-side,
.tpl15-finding-card,
.tpl15-photo-card,
.tpl15-checkrail-list,
.tpl15-diagnostic-card,
.tpl15-progression-grid article,
.tpl15-local-links,
.tpl15-form-card,
.tpl15-region-card,
.tpl15-faq-card,
.tpl15-final-grid,
.tpl15-mission-main,
.tpl15-photo-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl15-brand-strip,
.tpl15-hero-summary,
.tpl15-mission-side,
.tpl15-finding-card,
.tpl15-checkrail-list,
.tpl15-diagnostic-card,
.tpl15-progression-grid article,
.tpl15-form-card,
.tpl15-region-card,
.tpl15-faq-card,
.tpl15-mission-main,
.tpl15-photo-copy {
  padding: 24px;
}

.tpl15-brand-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl15-logo {
  width: 88px;
  object-fit: contain;
}

.tpl15-status-line {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl15-status-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl15-status-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl15-mission-sheet,
.tpl15-diagnostic-cards,
.tpl15-local-matrix,
.tpl15-faq {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl15-mission-side ul,
.tpl15-checkrail-list ul,
.tpl15-region-card ul {
  margin: 0;
}

.tpl15-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl15-findings-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl15-finding-card {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl15-photo-card {
  margin: 0;
  overflow: hidden;
}

.tpl15-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl15-image-box--band {
  min-height: 420px;
}

.tpl15-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl15-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl15-photo-card figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl15-checkrail {
  background: #ffffff !important;
}

.tpl15-diagnostic-grid {
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
}

.tpl15-diagnostic-card {
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl15-diagnostic-card--wide {
  border-left-width: 6px;
}

.tpl15-diagnostic-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl15-diagnostic-card--accent h3,
.tpl15-diagnostic-card--accent p {
  color: #ffffff !important;
}

.tpl15-progression-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl15-progression-grid article {
  position: relative;
  padding: 66px 24px 24px;
}

.tpl15-progression-grid span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl15-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl15-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl15-local-links a:last-child {
  border-bottom: 0;
}

.tpl15-local-links a:hover,
.tpl15-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl15-contact-zone {
  background: #ffffff !important;
}

.tpl15-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl15-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl15-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl15-final-grid h2,
.tpl15-final-grid p {
  color: #ffffff !important;
}

.tpl15-hero-summary > *:last-child,
.tpl15-mission-side > *:last-child,
.tpl15-finding-card > *:last-child,
.tpl15-diagnostic-card > *:last-child,
.tpl15-form-card > *:last-child,
.tpl15-region-card > *:last-child,
.tpl15-faq-card > *:last-child,
.tpl15-photo-copy > *:last-child,
.tpl15-mission-main > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl15-hero-band-grid,
  .tpl15-mission-grid,
  .tpl15-photo-band-grid,
  .tpl15-checkrail-grid,
  .tpl15-local-grid,
  .tpl15-contact-grid,
  .tpl15-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl15-status-grid,
  .tpl15-findings-grid,
  .tpl15-diagnostic-grid,
  .tpl15-progression-grid,
  .tpl15-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl15-hero-band {
    padding-top: 18px;
  }

  .tpl15-actions,
  .tpl15-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl15-status-grid,
  .tpl15-findings-grid,
  .tpl15-diagnostic-grid,
  .tpl15-progression-grid,
  .tpl15-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl15-brand-strip,
  .tpl15-hero-summary,
  .tpl15-mission-side,
  .tpl15-finding-card,
  .tpl15-checkrail-list,
  .tpl15-diagnostic-card,
  .tpl15-progression-grid article,
  .tpl15-form-card,
  .tpl15-region-card,
  .tpl15-faq-card,
  .tpl15-final-grid,
  .tpl15-mission-main,
  .tpl15-photo-copy,
  .tpl15-local-links {
    padding: 20px;
  }

  .tpl15-image-box--band,
  .tpl15-image-box--region {
    min-height: 220px;
  }

  .tpl15-progression-grid article {
    padding-top: 62px;
  }

  .tpl15-progression-grid span {
    left: 20px;
  }

  .tpl15-brand-strip {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl16 registre local */
.tpl16-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl16-hero-ledger {
  padding-top: 28px;
}

.tpl16-hero-grid,
.tpl16-record-grid,
.tpl16-visual-record-grid,
.tpl16-check-sheets-grid,
.tpl16-local-register-grid,
.tpl16-contact-grid,
.tpl16-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl16-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl16-chip,
.tpl16-kicker,
.tpl16-tab {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl16-chip,
.tpl16-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl16-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl16-tab {
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
}

.tpl16-tab--active {
  background: var(--pr-primary) !important;
  color: #ffffff !important;
}

.tpl16-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl16-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl16-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl16-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl16-hero-tabs,
.tpl16-status-grid,
.tpl16-findings-grid,
.tpl16-diagnostic-grid,
.tpl16-progression-grid,
.tpl16-faq-grid,
.tpl16-tab-list {
  display: grid;
  gap: 20px;
}

.tpl16-brand-box,
.tpl16-record-side,
.tpl16-signal-card,
.tpl16-visual-card,
.tpl16-check-list,
.tpl16-ledger-card,
.tpl16-table-box,
.tpl16-local-links,
.tpl16-form-card,
.tpl16-region-card,
.tpl16-faq-card,
.tpl16-final-grid,
.tpl16-record-main,
.tpl16-visual-copy,
.tpl16-hero-summary {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl16-brand-box,
.tpl16-record-side,
.tpl16-signal-card,
.tpl16-check-list,
.tpl16-ledger-card,
.tpl16-form-card,
.tpl16-region-card,
.tpl16-faq-card,
.tpl16-record-main,
.tpl16-visual-copy,
.tpl16-hero-summary {
  padding: 24px;
}

.tpl16-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl16-logo {
  width: 88px;
  object-fit: contain;
}

.tpl16-topline {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl16-topline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl16-topline-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl16-record-sheet,
.tpl16-service-ledger,
.tpl16-local-register,
.tpl16-faq {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl16-record-side ul,
.tpl16-check-list ul,
.tpl16-region-card ul {
  margin: 0;
}

.tpl16-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl16-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tpl16-signal-card {
  border-top: 4px solid var(--pr-overlay-2);
}

.tpl16-visual-card {
  margin: 0;
  overflow: hidden;
}

.tpl16-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl16-image-box--record {
  min-height: 420px;
}

.tpl16-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl16-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl16-visual-card figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl16-check-sheets {
  background: #ffffff !important;
}

.tpl16-ledger-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl16-ledger-card {
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl16-ledger-card--wide {
  border-left-width: 6px;
}

.tpl16-ledger-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl16-ledger-card--accent h3,
.tpl16-ledger-card--accent p {
  color: #ffffff !important;
}

.tpl16-table-box {
  overflow: hidden;
}

.tpl16-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tpl16-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl16-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl16-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl16-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl16-local-links a:last-child {
  border-bottom: 0;
}

.tpl16-local-links a:hover,
.tpl16-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl16-contact-zone {
  background: #ffffff !important;
}

.tpl16-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl16-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl16-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl16-final-grid h2,
.tpl16-final-grid p {
  color: #ffffff !important;
}

.tpl16-hero-summary > *:last-child,
.tpl16-record-side > *:last-child,
.tpl16-signal-card > *:last-child,
.tpl16-ledger-card > *:last-child,
.tpl16-form-card > *:last-child,
.tpl16-region-card > *:last-child,
.tpl16-faq-card > *:last-child,
.tpl16-visual-copy > *:last-child,
.tpl16-record-main > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl16-hero-grid,
  .tpl16-record-grid,
  .tpl16-visual-record-grid,
  .tpl16-check-sheets-grid,
  .tpl16-local-register-grid,
  .tpl16-contact-grid,
  .tpl16-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl16-topline-grid,
  .tpl16-signal-grid,
  .tpl16-ledger-grid,
  .tpl16-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl16-hero-ledger {
    padding-top: 18px;
  }

  .tpl16-actions,
  .tpl16-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl16-topline-grid,
  .tpl16-signal-grid,
  .tpl16-ledger-grid,
  .tpl16-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl16-brand-box,
  .tpl16-record-side,
  .tpl16-signal-card,
  .tpl16-check-list,
  .tpl16-ledger-card,
  .tpl16-form-card,
  .tpl16-region-card,
  .tpl16-faq-card,
  .tpl16-record-main,
  .tpl16-visual-copy,
  .tpl16-hero-summary,
  .tpl16-local-links,
  .tpl16-final-grid {
    padding: 20px;
  }

  .tpl16-image-box--record,
  .tpl16-image-box--region {
    min-height: 220px;
  }

  .tpl16-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl17 atlas local */
.tpl17-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl17-hero-atlas {
  padding-top: 28px;
}

.tpl17-hero-grid,
.tpl17-preface-grid,
.tpl17-map-slab-grid,
.tpl17-visual-dossier-grid,
.tpl17-checkpoints-grid,
.tpl17-local-lattice-grid,
.tpl17-contact-grid,
.tpl17-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl17-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl17-chip,
.tpl17-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl17-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl17-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl17-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl17-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl17-hero-side,
.tpl17-index-grid,
.tpl17-zones-grid,
.tpl17-incidents-grid,
.tpl17-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl17-brand-box,
.tpl17-side-card,
.tpl17-preface-side,
.tpl17-zone-card,
.tpl17-incident-box,
.tpl17-map-figure,
.tpl17-checkpoints-list,
.tpl17-atlas-card,
.tpl17-table-box,
.tpl17-local-links,
.tpl17-form-card,
.tpl17-region-card,
.tpl17-faq-card,
.tpl17-final-grid,
.tpl17-preface-main,
.tpl17-map-copy,
.tpl17-dossier-copy,
.tpl17-dossier-figure,
.tpl17-route-notes-grid article {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl17-brand-box,
.tpl17-side-card,
.tpl17-preface-side,
.tpl17-zone-card,
.tpl17-incident-box,
.tpl17-checkpoints-list,
.tpl17-atlas-card,
.tpl17-form-card,
.tpl17-region-card,
.tpl17-faq-card,
.tpl17-preface-main,
.tpl17-map-copy,
.tpl17-dossier-copy,
.tpl17-route-notes-grid article {
  padding: 24px;
}

.tpl17-brand-box {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl17-logo {
  width: 88px;
  object-fit: contain;
}

.tpl17-index-ribbon {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl17-index-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl17-index-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl17-preface,
.tpl17-service-atlas,
.tpl17-route-notes,
.tpl17-contact-zone {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl17-preface-side ul,
.tpl17-checkpoints-list ul,
.tpl17-region-card ul {
  margin: 0;
}

.tpl17-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl17-map-figure,
.tpl17-dossier-figure {
  margin: 0;
  overflow: hidden;
}

.tpl17-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl17-image-box--map,
.tpl17-image-box--dossier {
  min-height: 420px;
}

.tpl17-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl17-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl17-map-figure figcaption,
.tpl17-dossier-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl17-zones-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl17-zone-card {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl17-incidents-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl17-incident-box {
  position: relative;
  padding-top: 66px;
}

.tpl17-incident-box span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl17-checkpoints {
  background: #ffffff !important;
}

.tpl17-service-atlas-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl17-atlas-card {
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl17-atlas-card--wide {
  border-left-width: 6px;
}

.tpl17-atlas-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl17-atlas-card--accent h3,
.tpl17-atlas-card--accent p {
  color: #ffffff !important;
}

.tpl17-table-box {
  overflow: hidden;
}

.tpl17-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.tpl17-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl17-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl17-route-notes-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tpl17-route-notes-grid article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 16px;
  background: var(--pr-primary) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl17-local-lattice {
  background: #ffffff !important;
}

.tpl17-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl17-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl17-local-links a:last-child {
  border-bottom: 0;
}

.tpl17-local-links a:hover,
.tpl17-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl17-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl17-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl17-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl17-final-grid h2,
.tpl17-final-grid p {
  color: #ffffff !important;
}

.tpl17-side-card > *:last-child,
.tpl17-preface-side > *:last-child,
.tpl17-zone-card > *:last-child,
.tpl17-incident-box > *:last-child,
.tpl17-atlas-card > *:last-child,
.tpl17-form-card > *:last-child,
.tpl17-region-card > *:last-child,
.tpl17-faq-card > *:last-child,
.tpl17-map-copy > *:last-child,
.tpl17-dossier-copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl17-hero-grid,
  .tpl17-preface-grid,
  .tpl17-map-slab-grid,
  .tpl17-visual-dossier-grid,
  .tpl17-checkpoints-grid,
  .tpl17-local-lattice-grid,
  .tpl17-contact-grid,
  .tpl17-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl17-index-grid,
  .tpl17-zones-grid,
  .tpl17-incidents-grid,
  .tpl17-service-atlas-grid,
  .tpl17-route-notes-grid,
  .tpl17-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl17-hero-atlas {
    padding-top: 18px;
  }

  .tpl17-actions,
  .tpl17-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl17-index-grid,
  .tpl17-zones-grid,
  .tpl17-incidents-grid,
  .tpl17-service-atlas-grid,
  .tpl17-route-notes-grid,
  .tpl17-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl17-brand-box,
  .tpl17-side-card,
  .tpl17-preface-side,
  .tpl17-zone-card,
  .tpl17-incident-box,
  .tpl17-checkpoints-list,
  .tpl17-atlas-card,
  .tpl17-form-card,
  .tpl17-region-card,
  .tpl17-faq-card,
  .tpl17-final-grid,
  .tpl17-preface-main,
  .tpl17-map-copy,
  .tpl17-dossier-copy,
  .tpl17-route-notes-grid article,
  .tpl17-local-links {
    padding: 20px;
  }

  .tpl17-image-box--map,
  .tpl17-image-box--dossier,
  .tpl17-image-box--region {
    min-height: 220px;
  }

  .tpl17-incident-box {
    padding-top: 62px;
  }

  .tpl17-incident-box span {
    left: 20px;
  }

  .tpl17-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl18 journal mural local */
.tpl18-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
}

.tpl18-wall-hero {
  padding-top: 28px;
}

.tpl18-wall-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.7fr) minmax(300px, 0.82fr);
  gap: 26px;
  align-items: start;
}

.tpl18-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl18-chip,
.tpl18-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl18-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl18-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl18-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl18-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl18-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl18-hero-side,
.tpl18-pins-grid,
.tpl18-columns-grid,
.tpl18-field-grid,
.tpl18-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl18-wall-center {
  display: grid;
  gap: 18px;
}

.tpl18-brand-card,
.tpl18-note-card,
.tpl18-manifeste-card,
.tpl18-suspended-copy,
.tpl18-field-card,
.tpl18-checkwall-list,
.tpl18-service-box,
.tpl18-table-box,
.tpl18-local-links,
.tpl18-form-card,
.tpl18-region-card,
.tpl18-faq-card,
.tpl18-final-grid,
.tpl18-fiche-main,
.tpl18-fiche-side,
.tpl18-suspended-figure,
.tpl18-route-notes-grid article,
.tpl18-compare-card,
.tpl18-wall-column,
.tpl18-hero-titlebox,
.tpl18-wall-poster {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl18-brand-card,
.tpl18-note-card,
.tpl18-manifeste-card,
.tpl18-suspended-copy,
.tpl18-field-card,
.tpl18-checkwall-list,
.tpl18-service-box,
.tpl18-form-card,
.tpl18-region-card,
.tpl18-faq-card,
.tpl18-wall-column,
.tpl18-hero-titlebox,
.tpl18-route-notes-grid article {
  padding: 24px;
}

.tpl18-brand-card {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tpl18-logo {
  width: 88px;
  object-fit: contain;
}

.tpl18-wall-poster,
.tpl18-suspended-figure {
  margin: 0;
  overflow: hidden;
}

.tpl18-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl18-image-box--hero,
.tpl18-image-box--suspended {
  min-height: 420px;
}

.tpl18-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl18-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl18-wall-poster figcaption,
.tpl18-suspended-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl18-pins {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl18-pins-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl18-pins-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl18-manifestes,
.tpl18-checkwall,
.tpl18-service-wall,
.tpl18-faq {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl18-manifestes-grid,
.tpl18-suspended-grid,
.tpl18-checkwall-grid,
.tpl18-local-weave-grid,
.tpl18-contact-grid,
.tpl18-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl18-manifeste-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08377d 100%) !important;
}

.tpl18-manifeste-card--accent h2,
.tpl18-manifeste-card--accent p {
  color: #ffffff !important;
}

.tpl18-columns-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpl18-columns-grid article {
  padding: 24px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl18-field-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl18-field-card {
  border-left: 4px solid var(--pr-overlay-2);
}

.tpl18-checkwall-list ul,
.tpl18-region-card ul {
  margin: 0;
}

.tpl18-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl18-trace-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl18-trace-grid article {
  position: relative;
  padding: 66px 24px 24px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl18-trace-grid span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl18-service-wall-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl18-service-box {
  padding: 24px;
}

.tpl18-service-box--large {
  border-left: 5px solid var(--pr-overlay-1);
}

.tpl18-service-box--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl18-service-box--accent h3,
.tpl18-service-box--accent p {
  color: #ffffff !important;
}

.tpl18-table-box {
  overflow: hidden;
}

.tpl18-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tpl18-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl18-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl18-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl18-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl18-local-links a:last-child {
  border-bottom: 0;
}

.tpl18-local-links a:hover,
.tpl18-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl18-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl18-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl18-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl18-final-grid h2,
.tpl18-final-grid p {
  color: #ffffff !important;
}

.tpl18-note-card > *:last-child,
.tpl18-manifeste-card > *:last-child,
.tpl18-field-card > *:last-child,
.tpl18-service-box > *:last-child,
.tpl18-form-card > *:last-child,
.tpl18-region-card > *:last-child,
.tpl18-faq-card > *:last-child,
.tpl18-wall-column > *:last-child,
.tpl18-hero-titlebox > *:last-child,
.tpl18-route-notes-grid article > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl18-wall-grid,
  .tpl18-manifestes-grid,
  .tpl18-suspended-grid,
  .tpl18-checkwall-grid,
  .tpl18-local-weave-grid,
  .tpl18-contact-grid,
  .tpl18-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl18-pins-grid,
  .tpl18-columns-grid,
  .tpl18-field-grid,
  .tpl18-trace-grid,
  .tpl18-service-wall-grid,
  .tpl18-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl18-wall-hero {
    padding-top: 18px;
  }

  .tpl18-actions,
  .tpl18-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl18-pins-grid,
  .tpl18-columns-grid,
  .tpl18-field-grid,
  .tpl18-trace-grid,
  .tpl18-service-wall-grid,
  .tpl18-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl18-brand-card,
  .tpl18-note-card,
  .tpl18-manifeste-card,
  .tpl18-suspended-copy,
  .tpl18-field-card,
  .tpl18-checkwall-list,
  .tpl18-service-box,
  .tpl18-form-card,
  .tpl18-region-card,
  .tpl18-faq-card,
  .tpl18-final-grid,
  .tpl18-wall-column,
  .tpl18-hero-titlebox,
  .tpl18-route-notes-grid article,
  .tpl18-local-links,
  .tpl18-columns-grid article,
  .tpl18-trace-grid article {
    padding: 20px;
  }

  .tpl18-image-box--hero,
  .tpl18-image-box--suspended,
  .tpl18-image-box--region {
    min-height: 220px;
  }

  .tpl18-trace-grid article {
    padding-top: 62px;
  }

  .tpl18-trace-grid span {
    left: 20px;
  }

  .tpl18-brand-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl19 carnet intervention local */
.tpl19-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl19-carnet-hero {
  padding-top: 28px;
}

.tpl19-carnet-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(280px, 0.72fr);
  gap: 26px;
  align-items: start;
}

.tpl19-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.92rem;
}

.tpl19-chip,
.tpl19-kicker,
.tpl19-margin-tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.84rem;
  font-weight: 800;
}

.tpl19-chip,
.tpl19-kicker {
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
}

.tpl19-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl19-margin-tag {
  background: rgba(214, 0, 10, 0.08) !important;
  color: var(--pr-overlay-2) !important;
}

.tpl19-lead {
  max-width: 56ch;
  font-size: 1.08rem;
}

.tpl19-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl19-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl19-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl19-hero-side,
.tpl19-strip-grid,
.tpl19-findings-grid,
.tpl19-faq-grid {
  display: grid;
  gap: 20px;
}

.tpl19-margin-note,
.tpl19-main-sheet,
.tpl19-side-sheet,
.tpl19-opening-main,
.tpl19-opening-side,
.tpl19-photo-card,
.tpl19-photo-copy,
.tpl19-note-card,
.tpl19-checklist-box,
.tpl19-service-note,
.tpl19-table-box,
.tpl19-local-links,
.tpl19-form-card,
.tpl19-region-card,
.tpl19-faq-card,
.tpl19-final-grid,
.tpl19-track-grid article {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl19-margin-note,
.tpl19-main-sheet,
.tpl19-side-sheet,
.tpl19-opening-main,
.tpl19-opening-side,
.tpl19-photo-copy,
.tpl19-note-card,
.tpl19-checklist-box,
.tpl19-service-note,
.tpl19-form-card,
.tpl19-region-card,
.tpl19-faq-card,
.tpl19-track-grid article {
  padding: 24px;
}

.tpl19-brandline {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl19-logo {
  width: 88px;
  object-fit: contain;
}

.tpl19-strip {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl19-strip-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl19-strip-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl19-opening-note,
.tpl19-action-track,
.tpl19-contact-zone {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl19-opening-grid,
.tpl19-photo-note-grid,
.tpl19-checklist-grid,
.tpl19-local-web-grid,
.tpl19-contact-grid,
.tpl19-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl19-opening-side ul,
.tpl19-checklist-box ul,
.tpl19-region-card ul {
  margin: 0;
}

.tpl19-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl19-photo-card {
  margin: 0;
  overflow: hidden;
}

.tpl19-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl19-image-box--photo {
  min-height: 420px;
}

.tpl19-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl19-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl19-photo-card figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl19-note-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.tpl19-note-card {
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl19-note-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl19-note-card--accent h3,
.tpl19-note-card--accent p {
  color: #ffffff !important;
}

.tpl19-track-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl19-track-grid article {
  position: relative;
  padding-top: 66px;
}

.tpl19-track-grid span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl19-service-notes {
  background: #ffffff !important;
}

.tpl19-service-notes-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  gap: 20px;
}

.tpl19-service-note {
  padding: 24px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-left: 4px solid var(--pr-overlay-1);
}

.tpl19-service-note--wide {
  border-left-width: 6px;
}

.tpl19-service-note--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl19-service-note--accent h3,
.tpl19-service-note--accent p {
  color: #ffffff !important;
}

.tpl19-table-box {
  overflow: hidden;
}

.tpl19-table-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.tpl19-table-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl19-table-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl19-local-web {
  background: #ffffff !important;
}

.tpl19-local-links {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl19-local-links a {
  display: block;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl19-local-links a:last-child {
  border-bottom: 0;
}

.tpl19-local-links a:hover,
.tpl19-local-links a:focus-visible {
  color: var(--pr-overlay-2) !important;
}

.tpl19-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl19-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl19-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl19-final-grid h2,
.tpl19-final-grid p {
  color: #ffffff !important;
}

.tpl19-side-sheet > *:last-child,
.tpl19-opening-side > *:last-child,
.tpl19-note-card > *:last-child,
.tpl19-service-note > *:last-child,
.tpl19-form-card > *:last-child,
.tpl19-region-card > *:last-child,
.tpl19-faq-card > *:last-child,
.tpl19-main-sheet > *:last-child,
.tpl19-track-grid article > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl19-carnet-grid,
  .tpl19-opening-grid,
  .tpl19-photo-note-grid,
  .tpl19-checklist-grid,
  .tpl19-local-web-grid,
  .tpl19-contact-grid,
  .tpl19-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl19-strip-grid,
  .tpl19-note-cards-grid,
  .tpl19-track-grid,
  .tpl19-service-notes-grid,
  .tpl19-faq-grid,
  .tpl19-findings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpl19-carnet-hero {
    padding-top: 18px;
  }

  .tpl19-actions,
  .tpl19-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl19-strip-grid,
  .tpl19-note-cards-grid,
  .tpl19-track-grid,
  .tpl19-service-notes-grid,
  .tpl19-faq-grid,
  .tpl19-findings-grid {
    grid-template-columns: 1fr;
  }

  .tpl19-margin-note,
  .tpl19-main-sheet,
  .tpl19-side-sheet,
  .tpl19-opening-main,
  .tpl19-opening-side,
  .tpl19-photo-copy,
  .tpl19-note-card,
  .tpl19-checklist-box,
  .tpl19-service-note,
  .tpl19-form-card,
  .tpl19-region-card,
  .tpl19-faq-card,
  .tpl19-track-grid article,
  .tpl19-local-links,
  .tpl19-final-grid,
  .tpl19-service-note,
  .tpl19-findings-grid article {
    padding: 20px;
  }

  .tpl19-image-box--photo,
  .tpl19-image-box--region {
    min-height: 220px;
  }

  .tpl19-track-grid article {
    padding-top: 62px;
  }

  .tpl19-track-grid span {
    left: 20px;
  }

  .tpl19-brandline {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* tpl20 signature locale */
.tpl20-page {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.tpl20-masthead {
  padding-top: 28px;
}

.tpl20-masthead-grid,
.tpl20-intent-grid,
.tpl20-showcase-grid,
.tpl20-control-grid,
.tpl20-check-matrix-grid,
.tpl20-links-zone-grid,
.tpl20-contact-grid,
.tpl20-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
  gap: 30px;
  align-items: start;
}

.tpl20-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.tpl20-chip,
.tpl20-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(5, 70, 149, 0.08) !important;
  color: var(--pr-overlay-1) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.tpl20-chip--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.tpl20-lead {
  max-width: 58ch;
  font-size: 1.08rem;
}

.tpl20-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
  margin-bottom: 18px;
}

.tpl20-phone-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 999px;
  border: 1px solid rgba(0, 19, 75, 0.12);
  background: #ffffff !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl20-phone-link--light {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.tpl20-masthead-side,
.tpl20-theme-grid,
.tpl20-control-cards,
.tpl20-panorama-grid,
.tpl20-faq-grid,
.tpl20-band-list {
  display: grid;
  gap: 20px;
}

.tpl20-side-summary,
.tpl20-side-points,
.tpl20-intent-note,
.tpl20-showcase-figure,
.tpl20-showcase-copy,
.tpl20-band-card,
.tpl20-control-cards article,
.tpl20-check-lists ul,
.tpl20-panorama-card,
.tpl20-reference-box,
.tpl20-links-box,
.tpl20-form-panel,
.tpl20-region-panel,
.tpl20-faq-card,
.tpl20-final-grid,
.tpl20-intent-copy,
.tpl20-control-copy,
.tpl20-masthead-copy {
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
  border-radius: 20px;
}

.tpl20-side-summary,
.tpl20-intent-note,
.tpl20-showcase-copy,
.tpl20-control-cards article,
.tpl20-panorama-card,
.tpl20-form-panel,
.tpl20-region-panel,
.tpl20-faq-card,
.tpl20-intent-copy,
.tpl20-control-copy,
.tpl20-masthead-copy,
.tpl20-band-card {
  padding: 24px;
}

.tpl20-brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.tpl20-logo {
  width: 88px;
  object-fit: contain;
}

.tpl20-side-points {
  padding: 22px;
}

.tpl20-side-points span {
  display: block;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 19, 75, 0.1);
}

.tpl20-side-points span:last-child {
  border-bottom: 0;
}

.tpl20-theme-bar {
  padding: 22px 0;
  background: var(--pr-primary) !important;
}

.tpl20-theme-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl20-theme-grid article {
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl20-intent-panel,
.tpl20-service-bands,
.tpl20-check-matrix,
.tpl20-local-links-zone,
.tpl20-faq {
  background: linear-gradient(180deg, #eef3fb 0%, #ffffff 100%) !important;
}

.tpl20-intent-note ul,
.tpl20-check-lists ul,
.tpl20-region-panel ul {
  margin: 0;
}

.tpl20-showcase-figure {
  margin: 0;
  overflow: hidden;
}

.tpl20-image-box {
  overflow: hidden;
  background: #dde6f2 !important;
  border-radius: 18px;
}

.tpl20-image-box--showcase {
  min-height: 420px;
}

.tpl20-image-box--region {
  min-height: 220px;
  margin: 18px 0;
}

.tpl20-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tpl20-showcase-figure figcaption {
  padding: 16px 18px 18px;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl20-showcase-copy blockquote {
  margin: 22px 0 0;
  padding-left: 18px;
  border-left: 4px solid var(--pr-overlay-2);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 700;
}

.tpl20-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.tpl20-band-card {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.tpl20-band-card > span {
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl20-control-bay {
  background: #ffffff !important;
}

.tpl20-check-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tpl20-check-lists ul {
  padding: 22px 24px 22px 38px;
}

.tpl20-panorama-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpl20-panorama-card {
  padding: 24px;
  border-top: 4px solid var(--pr-overlay-1);
}

.tpl20-panorama-card--accent {
  background: linear-gradient(135deg, var(--pr-primary) 0%, #08367c 100%) !important;
}

.tpl20-panorama-card--accent h3,
.tpl20-panorama-card--accent p {
  color: #ffffff !important;
}

.tpl20-process-ladder {
  background: #ffffff !important;
}

.tpl20-ladder-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.tpl20-ladder-grid article {
  position: relative;
  padding: 66px 24px 24px;
  background: #ffffff !important;
  box-shadow: var(--pr-shadow);
}

.tpl20-ladder-grid span {
  position: absolute;
  top: 18px;
  left: 24px;
  color: var(--pr-overlay-2) !important;
  font-family: var(--pr-heading-font) !important;
  font-size: 1.2rem !important;
  font-weight: 800;
}

.tpl20-reference-box {
  overflow: hidden;
}

.tpl20-reference-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.tpl20-reference-row > div {
  padding: 18px 20px;
  border-top: 1px solid rgba(0, 19, 75, 0.08);
}

.tpl20-reference-row--head > div {
  border-top: 0;
  background: #eef3fb !important;
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
}

.tpl20-links-box {
  display: grid;
  gap: 14px;
  padding: 22px;
}

.tpl20-links-box a {
  display: block;
  padding: 16px 18px;
  border-left: 4px solid var(--pr-overlay-1);
  color: var(--pr-primary) !important;
  font-family: var(--pr-heading-font) !important;
  font-weight: 800;
  text-decoration: none;
}

.tpl20-links-box a:hover,
.tpl20-links-box a:focus-visible {
  border-left-color: var(--pr-overlay-2);
}

.tpl20-contact-zone {
  background: #ffffff !important;
}

.tpl20-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpl20-final-band {
  padding-bottom: 82px;
  background: linear-gradient(135deg, var(--pr-primary) 0%, #052a69 100%) !important;
}

.tpl20-final-grid {
  padding: 34px;
  align-items: center;
  background: rgba(255, 255, 255, 0.06) !important;
}

.tpl20-final-grid h2,
.tpl20-final-grid p {
  color: #ffffff !important;
}

.tpl20-side-summary > *:last-child,
.tpl20-intent-note > *:last-child,
.tpl20-band-card > *:last-child,
.tpl20-panorama-card > *:last-child,
.tpl20-form-panel > *:last-child,
.tpl20-region-panel > *:last-child,
.tpl20-faq-card > *:last-child,
.tpl20-masthead-copy > *:last-child,
.tpl20-showcase-copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tpl20-masthead-grid,
  .tpl20-intent-grid,
  .tpl20-showcase-grid,
  .tpl20-control-grid,
  .tpl20-check-matrix-grid,
  .tpl20-links-zone-grid,
  .tpl20-contact-grid,
  .tpl20-final-grid {
    grid-template-columns: 1fr;
  }

  .tpl20-theme-grid,
  .tpl20-panorama-grid,
  .tpl20-ladder-grid,
  .tpl20-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpl20-check-lists {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .tpl20-masthead {
    padding-top: 18px;
  }

  .tpl20-actions,
  .tpl20-actions--final {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .tpl20-theme-grid,
  .tpl20-panorama-grid,
  .tpl20-ladder-grid,
  .tpl20-faq-grid {
    grid-template-columns: 1fr;
  }

  .tpl20-side-summary,
  .tpl20-intent-note,
  .tpl20-showcase-copy,
  .tpl20-control-cards article,
  .tpl20-panorama-card,
  .tpl20-form-panel,
  .tpl20-region-panel,
  .tpl20-faq-card,
  .tpl20-intent-copy,
  .tpl20-control-copy,
  .tpl20-masthead-copy,
  .tpl20-band-card,
  .tpl20-side-points,
  .tpl20-links-box,
  .tpl20-final-grid,
  .tpl20-ladder-grid article {
    padding: 20px;
  }

  .tpl20-band-card {
    grid-template-columns: 1fr;
  }

  .tpl20-image-box--showcase,
  .tpl20-image-box--region {
    min-height: 220px;
  }

  .tpl20-ladder-grid article {
    padding-top: 62px;
  }

  .tpl20-ladder-grid span {
    left: 20px;
  }

  .tpl20-brand-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Global overrides */
.elementor-widget-container .pr-shortcode-stack,
.elementor-widget-container .pr-shortcode-stack p {
  margin: 0 !important;
}

.elementor-widget-container [class*="tpl"] * {
  box-sizing: border-box;
  min-width: 0;
}

/* Contrast safeguards for dark template blocks */
.tpl04-side-card--accent h1,
.tpl04-side-card--accent h2,
.tpl04-side-card--accent h3,
.tpl04-side-card--accent h4,
.tpl04-side-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl04-insight-card--dark h1,
.tpl04-insight-card--dark h2,
.tpl04-insight-card--dark h3,
.tpl04-insight-card--dark h4,
.tpl04-insight-card--dark a:not(.pr-button):not([class*="phone-link"]),
.tpl09-module-box--accent h1,
.tpl09-module-box--accent h2,
.tpl09-module-box--accent h3,
.tpl09-module-box--accent h4,
.tpl09-module-box--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl10-panel-card--accent h1,
.tpl10-panel-card--accent h2,
.tpl10-panel-card--accent h3,
.tpl10-panel-card--accent h4,
.tpl10-panel-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl11-note-box--accent h1,
.tpl11-note-box--accent h2,
.tpl11-note-box--accent h3,
.tpl11-note-box--accent h4,
.tpl11-note-box--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl12-plate--accent h1,
.tpl12-plate--accent h2,
.tpl12-plate--accent h3,
.tpl12-plate--accent h4,
.tpl12-plate--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl13-service-block--accent h1,
.tpl13-service-block--accent h2,
.tpl13-service-block--accent h3,
.tpl13-service-block--accent h4,
.tpl13-service-block--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl14-tile--accent h1,
.tpl14-tile--accent h2,
.tpl14-tile--accent h3,
.tpl14-tile--accent h4,
.tpl14-tile--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl15-diagnostic-card--accent h1,
.tpl15-diagnostic-card--accent h2,
.tpl15-diagnostic-card--accent h3,
.tpl15-diagnostic-card--accent h4,
.tpl15-diagnostic-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl16-ledger-card--accent h1,
.tpl16-ledger-card--accent h2,
.tpl16-ledger-card--accent h3,
.tpl16-ledger-card--accent h4,
.tpl16-ledger-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl17-atlas-card--accent h1,
.tpl17-atlas-card--accent h2,
.tpl17-atlas-card--accent h3,
.tpl17-atlas-card--accent h4,
.tpl17-atlas-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl18-manifeste-card--accent h1,
.tpl18-manifeste-card--accent h2,
.tpl18-manifeste-card--accent h3,
.tpl18-manifeste-card--accent h4,
.tpl18-manifeste-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl18-service-box--accent h1,
.tpl18-service-box--accent h2,
.tpl18-service-box--accent h3,
.tpl18-service-box--accent h4,
.tpl18-service-box--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl19-note-card--accent h1,
.tpl19-note-card--accent h2,
.tpl19-note-card--accent h3,
.tpl19-note-card--accent h4,
.tpl19-note-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl19-service-note--accent h1,
.tpl19-service-note--accent h2,
.tpl19-service-note--accent h3,
.tpl19-service-note--accent h4,
.tpl19-service-note--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl20-panorama-card--accent h1,
.tpl20-panorama-card--accent h2,
.tpl20-panorama-card--accent h3,
.tpl20-panorama-card--accent h4,
.tpl20-panorama-card--accent a:not(.pr-button):not([class*="phone-link"]),
.tpl01-final-cta-card a:not(.pr-button):not([class*="phone-link"]),
.tpl02-final a:not(.pr-button):not([class*="phone-link"]),
.tpl03-final-card a:not(.pr-button):not([class*="phone-link"]),
.tpl05-final-wrap a:not(.pr-button):not([class*="phone-link"]),
.tpl06-final-band-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl07-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl08-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl09-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl10-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl11-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl12-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl13-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl14-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl15-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl16-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl17-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl18-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl19-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl20-final-grid a:not(.pr-button):not([class*="phone-link"]),
.tpl02-hero h2,
.tpl02-hero h3,
.tpl02-hero h4 {
  color: #ffffff !important;
}

.tpl04-side-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl04-side-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl04-insight-card--dark a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl04-insight-card--dark a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl09-module-box--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl09-module-box--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl10-panel-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl10-panel-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl11-note-box--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl11-note-box--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl12-plate--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl12-plate--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl13-service-block--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl13-service-block--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl14-tile--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl14-tile--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl15-diagnostic-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl15-diagnostic-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl16-ledger-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl16-ledger-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl17-atlas-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl17-atlas-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl18-manifeste-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl18-manifeste-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl18-service-box--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl18-service-box--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl19-note-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl19-note-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl19-service-note--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl19-service-note--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl20-panorama-card--accent a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl20-panorama-card--accent a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl01-final-cta-card a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl01-final-cta-card a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl02-final a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl02-final a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl03-final-card a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl03-final-card a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl05-final-wrap a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl05-final-wrap a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl06-final-band-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl06-final-band-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl07-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl07-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl08-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl08-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl09-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl09-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl10-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl10-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl11-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl11-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl12-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl12-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl13-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl13-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl14-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl14-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl15-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl15-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl16-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl16-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl17-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl17-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl18-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl18-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl19-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl19-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible,
.tpl20-final-grid a:not(.pr-button):not([class*="phone-link"]):hover,
.tpl20-final-grid a:not(.pr-button):not([class*="phone-link"]):focus-visible {
  color: #ffffff !important;
}

/* High-contrast CTA safeguards in dark template wrappers */
.tpl01-final-cta-card .pr-button,
.tpl02-hero .pr-button,
.tpl02-final .pr-button,
.tpl03-final-card .pr-button,
.tpl04-side-card--accent .pr-button,
.tpl04-insight-card--dark .pr-button,
.tpl04-contact-deck .pr-button,
.tpl04-final-band .pr-button,
.tpl05-final-wrap .pr-button,
.tpl06-final-band-grid .pr-button,
.tpl07-final-grid .pr-button,
.tpl08-final-grid .pr-button,
.tpl09-module-box--accent .pr-button,
.tpl09-final-grid .pr-button,
.tpl10-panel-card--accent .pr-button,
.tpl10-final-grid .pr-button,
.tpl11-note-box--accent .pr-button,
.tpl11-final-grid .pr-button,
.tpl12-plate--accent .pr-button,
.tpl12-final-grid .pr-button,
.tpl13-service-block--accent .pr-button,
.tpl13-final-grid .pr-button,
.tpl14-tile--accent .pr-button,
.tpl14-final-grid .pr-button,
.tpl15-diagnostic-card--accent .pr-button,
.tpl15-final-grid .pr-button,
.tpl16-ledger-card--accent .pr-button,
.tpl16-final-grid .pr-button,
.tpl17-atlas-card--accent .pr-button,
.tpl17-final-grid .pr-button,
.tpl18-manifeste-card--accent .pr-button,
.tpl18-service-box--accent .pr-button,
.tpl18-final-grid .pr-button,
.tpl19-note-card--accent .pr-button,
.tpl19-service-note--accent .pr-button,
.tpl19-final-grid .pr-button,
.tpl20-panorama-card--accent .pr-button,
.tpl20-final-grid .pr-button {
  background: var(--pr-overlay-2) !important;
  color: #ffffff !important;
}

.tpl01-final-cta-card .pr-button:hover,
.tpl01-final-cta-card .pr-button:focus-visible,
.tpl02-hero .pr-button:hover,
.tpl02-hero .pr-button:focus-visible,
.tpl02-final .pr-button:hover,
.tpl02-final .pr-button:focus-visible,
.tpl03-final-card .pr-button:hover,
.tpl03-final-card .pr-button:focus-visible,
.tpl04-side-card--accent .pr-button:hover,
.tpl04-side-card--accent .pr-button:focus-visible,
.tpl04-insight-card--dark .pr-button:hover,
.tpl04-insight-card--dark .pr-button:focus-visible,
.tpl04-contact-deck .pr-button:hover,
.tpl04-contact-deck .pr-button:focus-visible,
.tpl04-final-band .pr-button:hover,
.tpl04-final-band .pr-button:focus-visible,
.tpl05-final-wrap .pr-button:hover,
.tpl05-final-wrap .pr-button:focus-visible,
.tpl06-final-band-grid .pr-button:hover,
.tpl06-final-band-grid .pr-button:focus-visible,
.tpl07-final-grid .pr-button:hover,
.tpl07-final-grid .pr-button:focus-visible,
.tpl08-final-grid .pr-button:hover,
.tpl08-final-grid .pr-button:focus-visible,
.tpl09-module-box--accent .pr-button:hover,
.tpl09-module-box--accent .pr-button:focus-visible,
.tpl09-final-grid .pr-button:hover,
.tpl09-final-grid .pr-button:focus-visible,
.tpl10-panel-card--accent .pr-button:hover,
.tpl10-panel-card--accent .pr-button:focus-visible,
.tpl10-final-grid .pr-button:hover,
.tpl10-final-grid .pr-button:focus-visible,
.tpl11-note-box--accent .pr-button:hover,
.tpl11-note-box--accent .pr-button:focus-visible,
.tpl11-final-grid .pr-button:hover,
.tpl11-final-grid .pr-button:focus-visible,
.tpl12-plate--accent .pr-button:hover,
.tpl12-plate--accent .pr-button:focus-visible,
.tpl12-final-grid .pr-button:hover,
.tpl12-final-grid .pr-button:focus-visible,
.tpl13-service-block--accent .pr-button:hover,
.tpl13-service-block--accent .pr-button:focus-visible,
.tpl13-final-grid .pr-button:hover,
.tpl13-final-grid .pr-button:focus-visible,
.tpl14-tile--accent .pr-button:hover,
.tpl14-tile--accent .pr-button:focus-visible,
.tpl14-final-grid .pr-button:hover,
.tpl14-final-grid .pr-button:focus-visible,
.tpl15-diagnostic-card--accent .pr-button:hover,
.tpl15-diagnostic-card--accent .pr-button:focus-visible,
.tpl15-final-grid .pr-button:hover,
.tpl15-final-grid .pr-button:focus-visible,
.tpl16-ledger-card--accent .pr-button:hover,
.tpl16-ledger-card--accent .pr-button:focus-visible,
.tpl16-final-grid .pr-button:hover,
.tpl16-final-grid .pr-button:focus-visible,
.tpl17-atlas-card--accent .pr-button:hover,
.tpl17-atlas-card--accent .pr-button:focus-visible,
.tpl17-final-grid .pr-button:hover,
.tpl17-final-grid .pr-button:focus-visible,
.tpl18-manifeste-card--accent .pr-button:hover,
.tpl18-manifeste-card--accent .pr-button:focus-visible,
.tpl18-service-box--accent .pr-button:hover,
.tpl18-service-box--accent .pr-button:focus-visible,
.tpl18-final-grid .pr-button:hover,
.tpl18-final-grid .pr-button:focus-visible,
.tpl19-note-card--accent .pr-button:hover,
.tpl19-note-card--accent .pr-button:focus-visible,
.tpl19-service-note--accent .pr-button:hover,
.tpl19-service-note--accent .pr-button:focus-visible,
.tpl19-final-grid .pr-button:hover,
.tpl19-final-grid .pr-button:focus-visible,
.tpl20-panorama-card--accent .pr-button:hover,
.tpl20-panorama-card--accent .pr-button:focus-visible,
.tpl20-final-grid .pr-button:hover,
.tpl20-final-grid .pr-button:focus-visible {
  background: #ffffff !important;
  color: var(--pr-primary) !important;
}

.tpl02-phone-link,
.tpl02-hero .tpl02-phone-link,
.tpl01-phone-link--light,
.tpl02-phone-link--light,
.tpl02-hero .tpl02-phone-link--light,
.tpl03-phone-link--light,
.tpl04-phone-link--light,
.tpl05-phone-link--light,
.tpl06-phone-link--light,
.tpl07-phone-link--light,
.tpl08-phone-link--light,
.tpl09-phone-link--light,
.tpl10-phone-link--light,
.tpl11-phone-link--light,
.tpl12-phone-link--light,
.tpl13-phone-link--light,
.tpl14-phone-link--light,
.tpl15-phone-link--light,
.tpl16-phone-link--light,
.tpl17-phone-link--light,
.tpl18-phone-link--light,
.tpl19-phone-link--light,
.tpl20-phone-link--light {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--pr-primary) !important;
}

.tpl02-phone-link:hover,
.tpl02-phone-link:focus-visible,
.tpl02-hero .tpl02-phone-link:hover,
.tpl02-hero .tpl02-phone-link:focus-visible,
.tpl01-phone-link--light:hover,
.tpl01-phone-link--light:focus-visible,
.tpl02-phone-link--light:hover,
.tpl02-phone-link--light:focus-visible,
.tpl02-hero .tpl02-phone-link--light:hover,
.tpl02-hero .tpl02-phone-link--light:focus-visible,
.tpl03-phone-link--light:hover,
.tpl03-phone-link--light:focus-visible,
.tpl04-phone-link--light:hover,
.tpl04-phone-link--light:focus-visible,
.tpl05-phone-link--light:hover,
.tpl05-phone-link--light:focus-visible,
.tpl06-phone-link--light:hover,
.tpl06-phone-link--light:focus-visible,
.tpl07-phone-link--light:hover,
.tpl07-phone-link--light:focus-visible,
.tpl08-phone-link--light:hover,
.tpl08-phone-link--light:focus-visible,
.tpl09-phone-link--light:hover,
.tpl09-phone-link--light:focus-visible,
.tpl10-phone-link--light:hover,
.tpl10-phone-link--light:focus-visible,
.tpl11-phone-link--light:hover,
.tpl11-phone-link--light:focus-visible,
.tpl12-phone-link--light:hover,
.tpl12-phone-link--light:focus-visible,
.tpl13-phone-link--light:hover,
.tpl13-phone-link--light:focus-visible,
.tpl14-phone-link--light:hover,
.tpl14-phone-link--light:focus-visible,
.tpl15-phone-link--light:hover,
.tpl15-phone-link--light:focus-visible,
.tpl16-phone-link--light:hover,
.tpl16-phone-link--light:focus-visible,
.tpl17-phone-link--light:hover,
.tpl17-phone-link--light:focus-visible,
.tpl18-phone-link--light:hover,
.tpl18-phone-link--light:focus-visible,
.tpl19-phone-link--light:hover,
.tpl19-phone-link--light:focus-visible,
.tpl20-phone-link--light:hover,
.tpl20-phone-link--light:focus-visible {
  background: var(--pr-overlay-2) !important;
  border-color: var(--pr-overlay-2) !important;
  color: #ffffff !important;
}

.tpl02-label,
.tpl02-section-tag--light,
.tpl03-chip--light,
.tpl04-status-pill--light,
.tpl04-kicker--light,
.tpl05-tag--light,
.tpl05-proof-pill,
.tpl06-badge--light,
.tpl07-label--light,
.tpl08-badge--light,
.tpl09-tag--light,
.tpl10-stamp--light,
.tpl11-token--light,
.tpl12-chip--light,
.tpl12-kicker--light,
.tpl13-token--light,
.tpl14-status-chip--light,
.tpl15-badge--light,
.tpl16-chip--light,
.tpl17-chip--light,
.tpl18-chip--light,
.tpl19-chip--light,
.tpl20-chip--light {
  background: #ffffff !important;
  color: var(--pr-primary) !important;
}

.tpl01-page,
.tpl02-page,
.tpl03-page,
.tpl04-page,
.tpl05-page,
.tpl06-page,
.tpl07-page,
.tpl08-page,
.tpl09-page,
.tpl10-page,
.tpl11-page,
.tpl12-page,
.tpl13-page,
.tpl14-page,
.tpl15-page,
.tpl16-page,
.tpl17-page,
.tpl18-page,
.tpl19-page,
.tpl20-page {
  --pr-image-height: 280px;
  --pr-hero-image-height: 360px;
}

.tpl01-image-wrap,
.tpl01-image-panel,
.tpl02-image-box,
.tpl03-image-slot,
.tpl04-image-shell,
.tpl05-image-frame,
.tpl06-image-panel,
.tpl07-image-box,
.tpl08-image-box,
.tpl09-image-box,
.tpl10-image-box,
.tpl11-image-box,
.tpl12-image-box,
.tpl13-image-box,
.tpl14-image-box,
.tpl15-image-box,
.tpl16-image-box,
.tpl17-image-box,
.tpl18-image-box,
.tpl19-image-box,
.tpl20-image-box {
  height: var(--pr-image-height) !important;
  min-height: var(--pr-image-height) !important;
  max-height: var(--pr-image-height) !important;
  overflow: hidden !important;
}

.tpl01-image,
.tpl02-image,
.tpl03-image,
.tpl04-image,
.tpl05-image,
.tpl06-image,
.tpl07-image,
.tpl08-image,
.tpl09-image,
.tpl10-image,
.tpl11-image,
.tpl12-image,
.tpl13-image,
.tpl14-image,
.tpl15-image,
.tpl16-image,
.tpl17-image,
.tpl18-image,
.tpl19-image,
.tpl20-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.tpl01-image-wrap--hero,
.tpl02-image-box--hero,
.tpl03-image-slot--hero,
.tpl04-image-shell--hero-side,
.tpl06-image-panel--hero,
.tpl20-image-box--showcase {
  height: var(--pr-hero-image-height) !important;
  min-height: var(--pr-hero-image-height) !important;
  max-height: var(--pr-hero-image-height) !important;
}

@media (max-width: 767px) {
  .pr-section {
    padding: 44px 0;
  }

  .pr-shell,
  .pr-section-inner {
    width: min(calc(100% - 24px), var(--pr-content-width));
  }

  .tpl01-page,
  .tpl02-page,
  .tpl03-page,
  .tpl04-page,
  .tpl05-page,
  .tpl06-page,
  .tpl07-page,
  .tpl08-page,
  .tpl09-page,
  .tpl10-page,
  .tpl11-page,
  .tpl12-page,
  .tpl13-page,
  .tpl14-page,
  .tpl15-page,
  .tpl16-page,
  .tpl17-page,
  .tpl18-page,
  .tpl19-page,
  .tpl20-page {
    --pr-image-height: 220px;
    --pr-hero-image-height: 260px;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .tpl01-page,
  .tpl02-page,
  .tpl03-page,
  .tpl04-page,
  .tpl05-page,
  .tpl06-page,
  .tpl07-page,
  .tpl08-page,
  .tpl09-page,
  .tpl10-page,
  .tpl11-page,
  .tpl12-page,
  .tpl13-page,
  .tpl14-page,
  .tpl15-page,
  .tpl16-page,
  .tpl17-page,
  .tpl18-page,
  .tpl19-page,
  .tpl20-page {
    --pr-image-height: 240px;
    --pr-hero-image-height: 300px;
  }
}

@media (max-width: 767px) {
  .tpl01-hero-actions,
  .tpl01-final-actions,
  .tpl02-hero-actions,
  .tpl02-final-actions,
  .tpl03-actions,
  .tpl03-actions--final,
  .tpl04-hero-actions,
  .tpl04-final-actions,
  .tpl05-hero-actions,
  .tpl05-hero-actions--final,
  .tpl06-hero-actions,
  .tpl06-hero-actions--final,
  .tpl07-actions,
  .tpl07-actions--final,
  .tpl08-actions,
  .tpl08-actions--final,
  .tpl09-actions,
  .tpl09-actions--final,
  .tpl10-actions,
  .tpl10-actions--final {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .pr-button,
  .tpl01-phone-link,
  .tpl02-phone-link,
  .tpl03-phone-link,
  .tpl04-phone-link,
  .tpl05-phone-link,
  .tpl06-phone-link,
  .tpl07-phone-link,
  .tpl08-phone-link,
  .tpl09-phone-link,
  .tpl10-phone-link {
    width: auto !important;
    max-width: 100%;
    flex: 0 1 auto !important;
    white-space: normal;
  }
}/* End custom CSS */