  @font-face {
      font-display: swap;
  }

  body,
  h1,
  h2,
  h3,
  p {
      font-display: swap !important;
  }

  .ttr-geo-map-render {
      width: 100%;
      height: 450px;
      display: block;
      background-color: #f0f0f0;
  }

  :root {
      --main-orange: #ff5e14;
      --main-blue: #00235a;
      --menu-orange: #ff5e14;
      --menu-blue: #00235a;
      --menu-text: #333333;
      --transition-speed: 0.3s;
      --side-spacing: 80px;
      --ttr-orange: #ff5e14;
      --ttr-marine: #00235a;
      --ttr-text: #5c6b7f;
      --ttr-marine: #00235a;
      --ttr-orange: #ff5e14;
      --ttr-text: #5c6b7f;
      --ttr-bg-light: #f8fafd;
      --ttr-marine: #00235a;
      --ttr-orange: #ff5e14;
      --ttr-text: #5c6b7f;
      --ttr-light-bg: #f4f8fb;
      --lb-marine: #001659;
      --lb-orange: #FF5E14;
      --lb-text: #565969;
      --lb-bg-light: #F8F9FC;
      --zng-marine: #001659;
      --zng-marine-h3: #00235A;
      --zng-orange: #FF5E14;
      --zng-text: #565969;
      --zng-bg-soft: #fcfdfe;
      --lb-orange: #FF5E14;
      --lb-marine: #00235A;
      --lb-white: #FFFFFF;
      --lb-marine: #001659;
      --lb-orange: #FF5E14;
      --lb-text: #565969;
      --lb-bg: #ffffff;
      --lb-marine: #001659;
      --lb-orange: #FF5E14;
      --lb-text: #565969;
      --lb-bg-light: #F9FAFB;
      --lb-marine: #001659;
      --lb-orange: #FF5E14;
      --lb-text: #565969;
      --lb-soft: #f8faff;
      --zp-marine: #001659;
      --zp-orange: #FF5E14;
      --zp-text: #565969;
      --zp-soft: #f8faff;
      --zd-marine: #001659;
      --zd-orange: #FF5E14;
      --zd-text: #565969;
      --zd-soft: #f8faff;
      --lb-marine: #001659;
      --lb-marine-h3: #00235A;
      --lb-orange: #FF5E14;
      --lb-text: #565969;
      --arch-marine: #001659;
      --arch-orange: #FF5E14;
      --arch-text: #565969;
      --arch-glass: rgba(255, 255, 255, 0.95);
      --arch-line: rgba(0, 22, 89, 0.08);
  }

  .tech-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 25px;
      max-width: 1100px;
      margin: auto;
  }

  .tech-item {
      display: flex;
      gap: 15px;
      align-items: flex-start;
      background: #fff;
      border-radius: 8px;
      padding: 10px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  }

  .tech-item img {
      width: 100px;
      height: 100px;
      border-radius: 8px;
      object-fit: cover;
      flex-shrink: 0;
  }

  .tech-content {
      flex: 1;
  }

  .tech-meta {
      color: #000;
      font-size: 14px;
      margin: 0 0 6px;
      font-weight: 500;
  }

  .tech-title {
      font-size: 16px;
      margin: 0 0 8px;
      line-height: 1.4;
      color: #222;
  }

  .read-more {
      font-size: 14px;
      color: #00235A;
      text-decoration: none;
      font-weight: 500;
  }

  .read-more:hover {
      color: #FF5E14;
  }

  @media (min-width: 768px) {
      .tech-list {
          grid-template-columns: repeat(3, 1fr);
      }
  }

  .mkdf-title-holder {
      height: 550px !important;
  }

  .mkdf-shopping-cart-holder {
      display: none !important;
  }

  .mkdf-search-opener {
      display: none !important;
  }

  .mkdf-header-tabbed .mkdf-page-header .mkdf-menu-area .mkdf-position-right .mkdf-position-right-inner>:last-child {
      display: none !important;
  }

  .mkdf-side-menu-button-opener {
      display: none !important;
  }

  .mkdf-portfolio-slider-holder.mkdf-portfolio-slider-navigation-left-from-slider .mkdf-pl-inner .owl-nav .owl-prev {
      top: 35%;
  }

  .ma-section-devis-unique label {
      margin-top: 25px !important;
  }

  .ma-section-devis-unique .tx-form-row:first-child label {
      margin-top: 0 !important;
  }

  .wpcf7-form-control.wpcf7-select {
      font-size: 15px;
  }

  .faq h3 {
      font-size: 25px;
      line-height: 30px;
      background-color: #00235A !important;
      color: white !important;
      padding: 15px 20px 20px 109px !important;
      margin-bottom: 10px !important;
  }

  .service h3 {
      font-size: 25px !important;
      line-height: 30px !important;
  }

  .mkdf-iwt .mkdf-iwt-title-text {
      line-height: 25px;
  }

  .mkdf-drop-down .second .inner ul li a .item_outer:before {
      content: "\25CF" !important;
  }

  .mkdf-btn.mkdf-btn-simple:not(.mkdf-btn-icon):after {
      content: "🏠" !important;
  }


  .mkdf-sub-arrow.icon_plus::before {
      content: "+";
  }

  .mkdf-next-label {
      font-size: 0 !important;
  }

  .mkdf-next-label:after {
      content: 'Suivant';
      font-size: initial;
  }

  .mkdf-prev-label {
      font-size: 0 !important;
  }

  .mkdf-prev-label:after {
      content: 'Précédent';
      font-size: initial;
  }

  .mkdf-pl-read-more-holder .mkdf-btn-text {
      font-size: 0 !important;
  }

  .mkdf-pl-read-more-holder .mkdf-btn-text:after {
      content: 'En savoir plus';
      font-size: initial;
  }

  .mkdf-pl-load-more-holder .mkdf-pl-load-more .mkdf-btn {
      font-size: 0 !important;
  }

  .mkdf-pl-load-more-holder .mkdf-pl-load-more .mkdf-btn:after {
      content: 'Chargez plus';
      font-size: initial;
      padding: 10px 36px 8px !important;
      letter-spacing: .02em !important;
  }

  .mkdf-pl-not-found {
      font-size: 0 !important;
  }

  .mkdf-pl-not-found:after {
      content: 'Désolé, aucun article ne correspond à vos critères';
      font-size: initial;
  }

  .mkdf-title-holder {
      height: 400px !important;
  }

  .mkdf-title-holder.mkdf-standard-type .mkdf-page-title {
      font-size: 50px !important;
      line-height: 55px !important;
      padding-top: 8%;
  }

  .h3-techniques {
      font-size: 25px !important;
      line-height: 30px !important;
      color: #002259 !important;
  }

  @media (min-width: 767px) {
      .mkdf-title-holder .mkdf-title-inner {
          vertical-align: top;
      }
  }

  @media (max-width: 767px) {
      .title-paraghraphe p {
          text-align: left !important;
      }

      .faq h3 {
          font-size: 20px;
          line-height: 25px;
          text-align: left !important;
          padding: 20px !important;
      }

      .service h3 {
          font-size: 20px;
          line-height: 25px;
      }

      .mkdf-accordion-holder.mkdf-ac-boxed.mkdf-ac-with-order-number .mkdf-accordion-title.ui-state-active {
          padding: 30px 60px 13px 20px !important;
      }

      .mkdf-accordion-holder .mkdf-accordion-title .mkdf-accordion-mark {
          width: 30px;
          height: 30px;
      }

      .mkdf-title-holder.mkdf-standard-type .mkdf-page-title {
          font-size: 25px !important;
          line-height: 30px !important;
      }

      .h3-techniques {
          font-size: 20px !important;
          line-height: 25px !important;
      }
  }

  .btn-urgence-appel {
      position: relative;
      animation: btn-urgence-pulse 1.8s infinite;
      box-shadow: 0 0 0 rgba(255, 94, 20, 0.6);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
  }


  .btn-urgence-appel:hover {
      transform: scale(1.04);
      box-shadow: 0 0 18px rgba(255, 94, 20, 0.9);
  }


  @keyframes btn-urgence-pulse {
      0% {
          transform: scale(1);
          box-shadow: 0 0 0 0 rgba(255, 94, 20, 0.7);
      }

      50% {
          transform: scale(1.03);
          box-shadow: 0 0 18px rgba(255, 94, 20, 0.9);
      }

      100% {
          transform: scale(1);
          box-shadow: 0 0 0 0 rgba(255, 94, 20, 0);
      }
  }

  @media (max-width: 767px) {
      .elementor-233 .elementor-element.elementor-element-084f920>.elementor-element-populated {
          padding: 0px 0px 0px 0px !important;
      }
  }

  .ma-section-devis-unique {
      --orange: #ff5e14;
      --blue-dark: #00235a;
      --glass-bg: rgba(255, 255, 255, 0.04);
      --glass-border: rgba(255, 255, 255, 0.12);
  }

  .ma-section-devis-unique .wpcf7-form {
      background: var(--blue-dark) !important;
      padding: 50px !important;
      border-radius: 30px !important;
      border: 1px solid var(--glass-border);
      box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
      color: #ffffff;
  }

  .tx-form-row {
      display: flex;
      gap: 25px;
      margin-bottom: 20px;
  }

  .tx-field-group {
      flex: 1;
      display: flex;
      flex-direction: column;
  }

  .ma-section-devis-unique label {
      font-size: 13px !important;
      font-weight: 700 !important;
      color: #ffffff !important;
      margin-bottom: 10px !important;
      text-transform: uppercase !important;
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 8px;
  }

  .ma-section-devis-unique label i {
      color: var(--orange);
      font-size: 14px;
  }

  .ma-section-devis-unique .required {
      font-size: 9px;
      background: rgba(255, 94, 20, 0.2);
      color: var(--orange);
      padding: 2px 8px;
      border-radius: 20px;
      margin-left: auto;
  }

  .tx-input {
      background: var(--glass-bg) !important;
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border: 1px solid var(--glass-border) !important;
      border-radius: 15px !important;
      padding: 15px 20px !important;
      color: #ffffff !important;
      font-size: 15px !important;
      transition: all 0.3s ease !important;
  }

  /*===========================================================*/

  .ma-section-devis-unique input.tx-input::-webkit-input-placeholder,
  .ma-section-devis-unique textarea.tx-input::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.7) !important;
      opacity: 1 !important;
      -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
  }

  .ma-section-devis-unique input.tx-input::-moz-placeholder,
  .ma-section-devis-unique textarea.tx-input::-moz-placeholder {
      color: rgba(255, 255, 255, 0.7) !important;
      opacity: 1 !important;
  }

  .ma-section-devis-unique input.tx-input:-ms-input-placeholder,
  .ma-section-devis-unique textarea.tx-input:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.7) !important;
      opacity: 1 !important;
  }

  .ma-section-devis-unique input.tx-input::placeholder,
  .ma-section-devis-unique textarea.tx-input::placeholder {
      color: rgba(255, 255, 255, 0.7) !important;
      opacity: 1 !important;
  }


  .ma-section-devis-unique select.tx-input {
      color: rgba(255, 255, 255, 0.7) !important;
  }

  /*===========================================================*/
  .tx-input:focus {
      background: rgba(255, 255, 255, 0.08) !important;
      border-color: var(--orange) !important;
      box-shadow: 0 0 20px rgba(255, 94, 20, 0.15) !important;
      outline: none;
  }

  textarea.tx-input {
      height: 110px !important;
  }

  select.tx-input option {
      background: var(--blue-dark);
      color: #fff;
  }

  .tx-submit-wrap {
      margin-top: 35px;
      display: flex;
      justify-content: center;
  }

  .tx-submit {
      width: auto !important;
      min-width: 280px;
      background: linear-gradient(135deg, #ff5e14 0%, #ff8245 100%) !important;
      color: #ffffff !important;
      border: none !important;
      padding: 12px 50px !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      border-radius: 15px !important;
      cursor: pointer;
      text-transform: uppercase;
      transition: all 0.4s ease !important;
      box-shadow: 0 10px 25px rgba(255, 94, 20, 0.3) !important;
  }

  .tx-submit:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 35px rgba(255, 94, 20, 0.5) !important;
      filter: brightness(1.1);
  }

  @media (max-width: 768px) {
      .tx-form-row.split {
          flex-direction: column;
          gap: 20px;
      }

      .ma-section-devis-unique .wpcf7-form {
          padding: 30px 20px !important;
      }

      .tx-submit {
          width: 100% !important;
          min-width: 100%;
      }
  }

  .wpcf7-not-valid-tip {
      color: var(--orange) !important;
      font-size: 11px !important;
      margin-top: 5px;
  }

  .wpcf7-response-output {
      border: 1px solid var(--orange) !important;
      border-radius: 12px !important;
      color: #fff !important;
      margin-top: 20px !important;
  }

  /*===================================  END design css of the formulaire  ========================================================================================*/

  /* =============================================
   MENU PREMIUM DESIGN - LB COUVREUR 33
   Prefix: .tahefobu-
   ============================================= */


  .mkdf-page-header .mkdf-menu-area .mkdf-vertical-align-containers,
  .mkdf-page-header .mkdf-sticky-header .mkdf-vertical-align-containers {
      padding: 0 var(--side-spacing) !important;
      max-width: 100% !important;
      box-sizing: border-box;
  }


  .mkdf-main-menu>ul>li>a {

      font-weight: 700 !important;
      font-size: 16px !important;
      letter-spacing: 0.5px !important;
      color: var(--menu-blue) !important;
      padding: 0 15px !important;
      position: relative;
      transition: color var(--transition-speed) ease;
      text-transform: uppercase;
  }


  .mkdf-main-menu>ul>li>a .item_text {
      position: relative;
      padding: 10px 0;
  }

  .mkdf-main-menu>ul>li>a .item_text::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 0;
      height: 2px;
      background-color: var(--menu-orange);
      transition: all var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
      transform: translateX(-50%);
  }

  .mkdf-main-menu>ul>li:hover>a {
      color: var(--menu-orange) !important;
  }

  .mkdf-main-menu>ul>li:hover>a .item_text::after {
      width: 30px;
  }

  .mkdf-drop-down .second {
      background: #ffffff !important;
      border-radius: 12px !important;
      padding: 15px 0 !important;
      box-shadow: 0 15px 35px rgba(0, 35, 90, 0.1) !important;
      border-top: 4px solid var(--menu-orange) !important;
      min-width: 250px !important;
      margin-top: 0px !important;
      overflow: hidden;
  }

  .mkdf-drop-down .second .inner ul li a {
      font-size: 13px !important;
      font-weight: 600 !important;
      color: var(--menu-blue) !important;
      padding: 12px 25px !important;
      transition: all var(--transition-speed) ease !important;
      display: block;
      text-transform: uppercase;
  }

  .mkdf-drop-down .second .inner ul li a:hover {
      background-color: rgba(255, 94, 20, 0.05) !important;
      color: var(--menu-orange) !important;
      padding-left: 30px !important;
  }


  .mkdf-menu-arrow {
      font-size: 12px !important;
      margin-left: 5px !important;
      transition: transform 0.3s ease !important;
  }

  .mkdf-main-menu>ul>li:hover>a .mkdf-menu-arrow {
      transform: rotate(180deg);
  }


  .mkdf-search-opener,
  .mkdf-side-menu-button-opener {
      margin-left: 20px !important;
      color: var(--menu-blue) !important;
      transition: color 0.3s ease;
  }

  .mkdf-search-opener:hover,
  .mkdf-side-menu-button-opener:hover {
      color: var(--menu-orange) !important;
  }

  .mkdf-hm-line {
      background-color: var(--menu-blue) !important;
  }


  .mkdf-logo-wrapper a {
      transition: transform 0.3s ease !important;
  }

  .mkdf-logo-wrapper a:hover {
      transform: scale(1.05);
  }


  @media only screen and (max-width: 1024px) {
      .mkdf-page-header .mkdf-menu-area .mkdf-vertical-align-containers {
          padding: 0 20px !important;
      }
  }


  @keyframes menuFadeUp {
      from {
          opacity: 0;
          transform: translateY(10px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .mkdf-main-menu>ul>li:hover>.second {
      display: block !important;
      animation: menuFadeUp 0.3s forwards;
  }

  .mkdf-drop-down .second {
      background: #ffffff !important;
      border-radius: 0 0 12px 12px !important;
      padding: 0 !important;
      height: auto !important;
      overflow: hidden !important;
      box-shadow: 0 15px 35px rgba(0, 35, 90, 0.15) !important;
  }

  .mkdf-drop-down .second .inner {
      padding: 0 !important;
      background: transparent !important;
  }

  .mkdf-drop-down .second .inner ul {
      margin: 0 !important;
      padding: 10px 0 !important;
      list-style: none !important;
  }

  .mkdf-drop-down .second .inner ul li {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
  }

  .mkdf-drop-down .second .inner ul li a {
      display: block !important;
      padding: 12px 25px !important;
      font-size: 13px !important;
      line-height: 1.4 !important;
      color: var(--menu-blue) !important;
      text-align: left !important;
      border: none !important;
      transition: all 0.3s ease !important;
      background: #ffffff !important;
  }

  .mkdf-drop-down .second .inner ul li a:hover {
      background-color: #fcfcfc !important;
      color: var(--menu-orange) !important;
      padding-left: 32px !important;
  }

  .mkdf-drop-down .second .inner ul li.current-menu-item a {
      color: var(--menu-orange) !important;
  }


  .mkdf-drop-down .second {
      border-top: 4px solid var(--menu-orange) !important;
  }

  /* =============================================
  END menu STYLING
   ============================================= */
  html,
  body,
  .mkdf-wrapper,
  .mkdf-wrapper-inner {
      overflow: visible !important;
      height: auto !important;
  }

  .ttr-geo-sticky-map {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 120px !important;
      align-self: flex-start !important;
      z-index: 99 !important;
  }


  .ttr-geo-flex {
      display: flex !important;
      align-items: flex-start !important;
  }


  /*========================================================================*/
  .dm-hx-root {
      position: relative;
      overflow: hidden;
      background: #00122e;
      min-height: 580px;
      display: flex;
      align-items: center;
      padding: 50px 20px;

  }

  .dm-hx-root * {
      box-sizing: border-box;
      margin: 0;
      padding: 0
  }

  .dm-hx-root a {
      text-decoration: none
  }


  .dm-hx-bg-glow {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden
  }

  .dm-hx-bg-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      opacity: .25;
      animation: dm-hx-drift 12s ease-in-out infinite alternate
  }

  .dm-hx-bg-orb-1 {
      width: 450px;
      height: 450px;
      background: #ff5e14;
      top: -15%;
      left: -10%
  }

  .dm-hx-bg-orb-2 {
      width: 350px;
      height: 350px;
      background: #00235a;
      bottom: -10%;
      right: -5%;
      animation-delay: 3s;
      animation-duration: 15s
  }

  .dm-hx-bg-orb-3 {
      width: 200px;
      height: 200px;
      background: #ff5e14;
      top: 60%;
      left: 40%;
      animation-delay: 6s;
      animation-duration: 10s
  }

  @keyframes dm-hx-drift {
      0% {
          transform: translate(0, 0) scale(1)
      }

      100% {
          transform: translate(30px, -20px) scale(1.1)
      }
  }

  .dm-hx-noise {
      position: absolute;
      inset: 0;
      z-index: 1;
      opacity: .04;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      pointer-events: none
  }


  .dm-hx-wrap {
      max-width: 1250px;
      margin: 0 auto;
      width: 100%;
      position: relative;
      z-index: 2
  }

  .dm-hx-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      align-items: center
  }


  .dm-hx-left {
      animation: dm-hx-fadeIn .9s cubic-bezier(.16, 1, .3, 1) both
  }

  @keyframes dm-hx-fadeIn {
      from {
          opacity: 0;
          transform: translateY(28px)
      }

      to {
          opacity: 1;
          transform: translateY(0)
      }
  }


  .dm-hx-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 94, 20, 0.12);
      border: 1px solid rgba(255, 94, 20, 0.2);
      color: #ff5e14;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 2px;
      padding: 7px 18px;
      border-radius: 50px;
      margin-bottom: 24px
  }

  .dm-hx-tag-dot {
      width: 7px;
      height: 7px;
      background: #ff5e14;
      border-radius: 50%;
      animation: dm-hx-blink 1.8s ease-in-out infinite
  }

  @keyframes dm-hx-blink {

      0%,
      100% {
          opacity: 1
      }

      50% {
          opacity: .3
      }
  }


  .dm-hx-title {
      color: #ffffff;
      font-size: 45px !important;
      font-weight: 800;
      line-height: 50px;
      margin-bottom: 20px;
      text-transform: none !important;
  }

  .dm-hx-title-accent {
      display: inline;
      position: relative;
      color: #ff5e14;
  }

  .dm-hx-title-accent::after {
      content: '';
      position: absolute;
      bottom: 4px;
      left: 0;
      width: 100%;
      height: 20%;
      background: rgba(255, 94, 20, 0.2);
      border-radius: 4px;
      z-index: -1
  }


  .dm-hx-desc {
      color: rgba(255, 255, 255, .7);
      font-size: 16px;
      line-height: 1.7;
      margin-bottom: 32px;
      max-width: 550px
  }

  .dm-hx-desc strong {
      color: #ffffff;
      font-weight: 700
  }

  .dm-hx-btns {
      display: flex;
      gap: 15px;
      flex-wrap: wrap;
      margin-bottom: 36px
  }

  .dm-hx-btn {
      padding: 16px 32px;
      border-radius: 12px;
      font-size: 15px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      position: relative;
  }

  .dm-hx-btn svg {
      width: 18px;
      height: 18px;
      stroke-width: 3;
      transition: transform .3s ease
  }

  .dm-hx-btn:hover svg {
      transform: translateX(4px)
  }

  .dm-hx-btn-orange {
      background: #ff5e14;
      color: #fff !important;
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2)
  }

  .dm-hx-btn-orange:hover {
      background: #e64a00;
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(255, 94, 20, 0.4);
  }

  .dm-hx-btn-glass {
      background: rgba(255, 255, 255, 0.05);
      color: #fff !important;
      border: 1px solid rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
  }

  .dm-hx-btn-glass:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: #ffffff;
      transform: translateY(-3px)
  }

  .dm-hx-trust {
      display: flex;
      gap: 24px;
      flex-wrap: wrap
  }

  .dm-hx-trust-item {
      display: flex;
      align-items: center;
      gap: 10px
  }

  .dm-hx-trust-ico {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .1);
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .dm-hx-trust-ico svg {
      width: 18px;
      height: 18px;
      stroke: #ff5e14;
      stroke-width: 2.5
  }

  .dm-hx-trust-txt {
      font-size: 15px;
      font-weight: 700;
      color: rgba(255, 255, 255, .6)
  }

  .dm-hx-right {
      position: relative;
      animation: dm-hx-fadeIn .9s cubic-bezier(.16, 1, .3, 1) .2s both
  }

  .dm-hx-img-card {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .1);
      box-shadow: 0 30px 70px rgba(0, 0, 0, .5)
  }

  .dm-hx-img-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .8s ease
  }

  .dm-hx-img-card:hover img {
      transform: scale(1.05)
  }

  .dm-hx-img-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 18, 46, 0.8) 0%, transparent 60%);
      z-index: 1
  }

  .dm-hx-img-badge {
      position: absolute;
      bottom: 20px;
      left: 20px;
      right: 20px;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: 15px;
      background: rgba(255, 255, 255, .08);
      backdrop-filter: blur(20px);
      border-radius: 16px;
      padding: 16px 20px;
      border: 1px solid rgba(255, 255, 255, .1)
  }

  .dm-hx-img-badge-ico {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: #ff5e14;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 16px rgba(255, 94, 20, 0.3)
  }

  .dm-hx-img-badge-ico svg {
      width: 22px;
      height: 22px;
      stroke: #fff;
      stroke-width: 2.5
  }

  .dm-hx-img-badge-title {
      font-size: 17px;
      font-weight: 900;
      color: #fff;
      margin-bottom: 2px;

  }

  .dm-hx-img-badge-desc {
      font-size: 15px;
      color: rgba(255, 255, 255, .7);
      font-weight: 500
  }


  .dm-hx-pill {
      position: absolute;
      top: 25px;
      right: 25px;
      background: #00235a;
      backdrop-filter: blur(8px);
      border-radius: 50px;
      padding: 12px 24px;
      display: flex;
      align-items: center;
      gap: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.4);
      z-index: 3;
      animation: dm-hx-float 4s ease-in-out infinite
  }

  @keyframes dm-hx-float {

      0%,
      100% {
          transform: translateY(0)
      }

      50% {
          transform: translateY(-8px)
      }
  }

  .dm-hx-pill-num {
      font-size: 20px;
      font-weight: 900;
      color: #ff5e14
  }

  .dm-hx-pill-sep {
      width: 1px;
      height: 22px;
      background: rgba(255, 255, 255, .2)
  }

  .dm-hx-pill-label {
      font-size: 11px;
      font-weight: 800;
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      line-height: 1.2
  }

  .dm-hx-stars {
      position: absolute;
      top: 25px;
      left: 25px;
      background: rgba(0, 18, 46, .85);
      backdrop-filter: blur(10px);
      border-radius: 14px;
      padding: 12px 18px;
      display: flex;
      align-items: center;
      gap: 10px;
      z-index: 3;
      border: 1px solid rgba(255, 255, 255, .1);
  }

  .dm-hx-stars-icons {
      display: flex;
      gap: 3px;
      color: #ffb400;
      font-size: 14px
  }

  .dm-hx-stars-txt {
      font-size: 13px;
      font-weight: 800;
      color: #fff
  }

  @media(min-width:768px) {
      .dm-hx-root {
          padding: 60px 20px;
          min-height: 620px
      }

      .dm-hx-layout {
          grid-template-columns: 1fr 1fr;
          gap: 50px
      }

      .dm-hx-title {
          font-size: 44px
      }
  }

  @media(min-width:1024px) {
      .dm-hx-root {
          padding: 80px 40px;
          min-height: 680px
      }

      .dm-hx-layout {
          gap: 80px
      }

      .dm-hx-title {
          font-size: 56px;
          letter-spacing: -1px
      }
  }


  @media (max-width: 767px) {
      .dm-hx-root {
          min-height: auto;

          padding: 50px 20px !important;
      }

      .dm-hx-trust {
          display: none !important;
      }

      .dm-hx-title {

          font-size: 30px !important;
          line-height: 36px !important;
          margin-bottom: 15px;
      }

      .dm-hx-desc {
          font-size: 15px;
          line-height: 1.6;
          margin-bottom: 30px;
      }

      .dm-hx-btns {
          flex-direction: column;
          width: 100%;
          gap: 12px;
      }

      .dm-hx-btn {
          width: 100%;
          justify-content: center;
          padding: 15px 20px;
      }

      .dm-hx-trust {
          flex-direction: column;
          gap: 15px;
          align-items: flex-start;
      }

      .dm-hx-right {
          margin-top: 40px;
      }


      .dm-hx-pill {
          padding: 8px 14px;
          top: 15px;
          right: 15px;
      }

      .dm-hx-pill-num {
          font-size: 16px;
      }

      .dm-hx-stars {
          top: 15px;
          left: 15px;
          padding: 8px 12px;
      }

      .dm-hx-img-badge {
          left: 12px;
          right: 12px;
          bottom: 12px;
          padding: 12px;
      }

      .dm-hx-img-badge-ico {
          width: 36px;
          height: 36px;
      }
  }

  @media (max-width: 767px) {

      .dm-hx-img-badge,
      .dm-hx-pill,
      .dm-hx-stars {
          display: none !important;
      }
  }

  /*================================================================*/


  .tx-intro-section {
      padding: 0px 20px;
      background-color: #ffffff;
      overflow: hidden;
  }

  .tx-intro-container {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
  }

  .tx-intro-visual {
      position: relative;
      display: flex;
      justify-content: flex-start;
      align-items: center;
  }

  .tx-intro-visual::before {
      content: '';
      position: absolute;
      top: -30px;
      left: -30px;
      width: 150px;
      height: 150px;
      background: var(--ttr-orange);
      opacity: 0.1;
      border-radius: 30px;
      z-index: 0;

  }

  .tx-img-wrapper {
      position: relative;
      width: 90%;
      z-index: 1;

  }

  .tx-img-main {
      width: 100%;
      height: 450px !important;
      object-fit: cover;

      border-radius: 30px !important;
      box-shadow: 0 20px 40px rgba(0, 35, 90, 0.08);
  }

  .tx-img-overlay {
      position: absolute;
      top: 95%;
      right: -10%;
      transform: translateY(-50%);
      width: 55%;
      height: 250px !important;
      object-fit: cover;
      border-radius: 30px !important;
      border: 12px solid #ffffff;
      box-shadow: 0 15px 45px rgba(0, 35, 90, 0.15);
      z-index: 2;
  }

  .tx-intro-content {
      padding-left: 10px;
  }

  .tx-intro-title {
      font-size: 40px;
      font-weight: 600;
      line-height: 45px;

      margin-bottom: 25px;
  }

  .tx-intro-title .line-marine {
      color: var(--ttr-marine);
      display: block;
  }

  .tx-intro-title .line-orange {
      color: var(--ttr-orange);
      display: block;
  }

  .tx-intro-desc {
      color: var(--ttr-text);
      font-size: 17px;
      line-height: 25px;
      margin-bottom: 5px;
  }

  .tx-intro-desc-list {
      color: var(--ttr-text);
      font-size: 18px;
      line-height: 25px;
      margin-bottom: 25px;
  }

  .tx-intro-points {
      display: flex;
      flex-direction: column;
      gap: 15px;
      margin-bottom: 40px;
  }

  .tx-point {
      display: flex;
      align-items: center;
      gap: 15px;
      font-weight: 700;
      color: var(--ttr-marine);
  }

  .tx-point svg {
      width: 22px;
      height: 22px;
      color: var(--ttr-orange);
      background: rgba(255, 94, 20, 0.1);
      padding: 5px;
      border-radius: 8px;
  }

  .tx-intro-btns {
      display: flex;
      gap: 20px;
      align-items: center;
  }

  .btn-intro-call {
      display: flex;
      align-items: center;
      gap: 12px;
      background: var(--ttr-orange);
      color: #fff;
      padding: 18px 35px;
      border-radius: 12px;
      text-decoration: none;
      font-weight: 800;
      text-transform: uppercase;
      font-size: 14px;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2);
  }

  .btn-intro-quote {
      background: transparent;
      color: var(--ttr-marine);
      padding: 18px 35px;
      border-radius: 12px;
      text-decoration: none;
      font-weight: 800;
      text-transform: uppercase;
      font-size: 14px;
      border: 2px solid var(--ttr-marine);
      transition: all 0.3s;
  }

  .btn-intro-call:hover {
      transform: scale(1.05);
      background: var(--ttr-marine);
      color: white;
  }

  .btn-intro-quote:hover {
      background: var(--ttr-marine);
      color: #fff;
  }

  @media (max-width: 1024px) {
      .tx-intro-container {
          grid-template-columns: 1fr;
          gap: 100px;
          text-align: center;
      }

      .tx-img-wrapper {
          width: 85%;
          margin: 0 auto;
      }

      .tx-intro-btns {
          justify-content: center;
      }

      .tx-intro-points {
          align-items: center;
      }
  }

  @media (max-width: 767px) {
      .tx-intro-section {
          padding: 0px 20px;
      }

      .tx-intro-container {
          display: flex;
          flex-direction: column;
          gap: 40px;
          text-align: left;
      }


      .tx-intro-content {
          order: 1;
          padding-left: 0;
      }


      .tx-intro-visual {
          order: 2;
          justify-content: flex-start;
      }


      .tx-intro-visual::before,
      .tx-img-overlay {
          display: none !important;
      }

      .tx-img-wrapper {
          width: 100%;
      }

      .tx-img-main {
          height: 300px !important;
          border-radius: 20px !important;
      }

      .tx-intro-title {
          font-size: 28px;
          line-height: 34px;
      }

      .tx-intro-desc-list {
          padding-left: 20px;
      }

      .tx-intro-btns {
          flex-direction: column;
          align-items: flex-start;
          width: 100%;
          gap: 15px;
      }

      .btn-intro-call,
      .btn-intro-quote {
          display: flex;
          justify-content: center;
          align-items: center;
          text-align: center;
          width: 100%;
          padding: 15px 20px;
          box-sizing: border-box;
      }
  }

  /*======================================================================*/
  .tx-sv-section {
      width: 100%;
      padding: 10px 0px;
      box-sizing: border-box;
  }

  .tx-sv-container {

      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
  }

  .tx-sv-container * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  .tx-sv-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
  }

  .tx-sv-card {
      background: #ffffff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.05);
      transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(0, 35, 90, 0.05);
      text-decoration: none;
  }

  .tx-sv-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.12);
      border-color: rgba(255, 94, 20, 0.2);
  }

  .tx-sv-img-box {
      position: relative;
      width: 100%;
      height: 230px;
      overflow: hidden;
  }

  .tx-sv-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
  }

  .tx-sv-card:hover .tx-sv-img {
      transform: scale(1.1);
  }

  .tx-sv-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent, rgba(0, 35, 90, 0.4));
      z-index: 1;
  }

  .tx-sv-icon {
      position: absolute;
      bottom: 15px;
      right: 20px;
      width: 50px;
      height: 50px;
      background: #ff5e14;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 15px rgba(255, 94, 20, 0.3);
      z-index: 10;
      transition: all 0.4s ease;
  }

  .tx-sv-card:hover .tx-sv-icon {
      background: #00235a;
      transform: scale(1.1);
  }

  .tx-sv-icon svg {
      width: 24px;
      height: 24px;
      stroke: #ffffff;
      fill: none;
      stroke-width: 2;
  }

  .tx-sv-content {
      padding: 30px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
  }

  .tx-sv-title-link {
      text-decoration: none;
      display: block;
      margin-bottom: 15px;
  }

  .tx-sv-title {
      font-size: 19px;
      line-height: 25px;
      font-weight: 700;
      color: #00235a;
      transition: color 0.3s ease;
  }

  .tx-sv-card:hover .tx-sv-title {
      color: #ff5e14;
  }

  .tx-sv-desc {
      font-size: 17px;
      line-height: 1.6;
      color: #5c6b7f;
      margin-bottom: 5px;
  }

  .tx-sv-btn {
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      font-size: 14px;
      font-weight: 800;
      color: #00235a;
      text-transform: uppercase;
      letter-spacing: 1px;
      gap: 10px;
      transition: color 0.3s ease;
  }

  .tx-sv-btn-arrow {
      width: 24px;
      height: 24px;
      background: rgba(0, 35, 90, 0.05);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
  }

  .tx-sv-btn-arrow svg {
      width: 12px;
      height: 12px;
      stroke: #00235a;
      fill: none;
      stroke-width: 3;
  }

  .tx-sv-card:hover .tx-sv-btn {
      color: #ff5e14;
  }

  .tx-sv-card:hover .tx-sv-btn-arrow {
      background: #ff5e14;
      transform: translateX(5px);
  }

  .tx-sv-card:hover .tx-sv-btn-arrow svg {
      stroke: #ffffff;
  }

  @media (max-width: 1024px) {
      .tx-sv-grid {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 767px) {
      .tx-sv-section {
          padding: 40px 0px 40px 0px;
      }

      .tx-sv-grid {
          grid-template-columns: 1fr;
          gap: 25px;
      }

      .tx-sv-title {
          font-size: 22px;
      }
  }

  /*=========================================================================*/
  .tx-pricing-premium {
      --o: #ff5e14;
      --b: #00235a;
      padding: 20px 0;
      background-color: #ffffff;
  }

  .tx-pp-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
  }

  .tx-pp-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      margin-bottom: 50px;
  }

  .tx-pp-card {
      background: #ffffff;
      padding: 50px 35px;
      border-radius: 30px;
      border: 1px solid rgba(0, 35, 90, 0.06);
      box-shadow: 0 15px 40px rgba(0, 35, 90, 0.05);
      transition: all 0.5s ease;
      display: flex;
      flex-direction: column;
      text-align: center;
      position: relative;
  }

  .tx-pp-card:hover {
      transform: translateY(-15px);
      border-color: var(--o);
      box-shadow: 0 30px 60px rgba(0, 35, 90, 0.12);
  }

  .tx-featured {
      background: var(--b);
      color: #ffffff;
      transform: scale(1.05);
      z-index: 2;
  }

  .tx-featured:hover {
      transform: translateY(-15px) scale(1.05);
  }

  .tx-featured .tx-pp-card-title,
  .tx-featured .tx-pp-price,
  .tx-featured .tx-pp-list li {
      color: #ffffff;
  }

  .tx-pp-tag {
      position: absolute;
      top: 20px;
      right: 25px;
      background: var(--o);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      padding: 5px 15px;
      border-radius: 20px;
      text-transform: uppercase;
  }

  .tx-pp-icon {
      width: 70px;
      height: 70px;
      background: rgba(255, 94, 20, 0.1);
      color: var(--o);
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 30px auto;
  }

  .tx-featured .tx-pp-icon {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
  }

  .tx-pp-icon svg {
      width: 32px;
      height: 32px;
  }

  .tx-pp-price {
      font-size: 40px;
      font-weight: 800;
      color: var(--b);
      margin-bottom: 25px;
  }

  .tx-pp-price span {
      font-size: 16px;
      font-weight: 400;
      opacity: 0.7;
  }

  .tx-pp-card-title {
      font-size: 24px;
      line-height: 30px;
      font-weight: 800;
      margin-bottom: 20px;
      color: var(--b);
  }

  .tx-pp-list {
      list-style: none;
      padding: 0;
      margin: 0 0 40px 0;
      text-align: left;
  }

  .tx-pp-list li {
      font-size: 18px;
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .tx-pp-list li::before {
      content: "→";
      color: var(--o);
      font-weight: 900;
  }

  .tx-pp-footer {
      margin-top: auto;
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--o);
  }

  .tx-featured .tx-pp-footer {
      color: #fff;
      opacity: 0.8;
  }

  .tx-pp-action-wrapper {
      display: flex;
      justify-content: center;
      gap: 20px;
      width: 100%;
  }

  .tx-pp-btn-main,
  .tx-pp-btn-sub {
      flex: 1;
      max-width: 320px;
      padding: 20px 30px;
      border-radius: 15px;
      text-align: center;
      text-decoration: none;
      font-weight: 900;
      text-transform: uppercase;
      font-size: 14px;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
  }

  .tx-pp-btn-main svg,
  .tx-pp-btn-sub svg {
      width: 20px;
      height: 20px;
  }

  .tx-pp-btn-main {
      background: var(--o);
      color: #fff;
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2);
  }

  .tx-pp-btn-sub {
      background: var(--b);
      color: #fff;
      box-shadow: 0 10px 20px rgba(0, 35, 90, 0.15);
  }

  .tx-pp-btn-main:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
  }

  .tx-pp-btn-sub:hover {

      background-color: transparent;
      border: 1px solid #00235a;
  }

  @media (max-width: 1024px) {
      .tx-pp-grid {
          grid-template-columns: repeat(2, 1fr);
      }

      .tx-featured {
          transform: scale(1);
      }

      .tx-featured:hover {
          transform: translateY(-15px);
      }
  }

  @media (max-width: 768px) {
      .tx-pp-grid {
          grid-template-columns: 1fr;
      }

      .tx-pp-container {
          padding: 0 0px;
      }

      .tx-pp-action-wrapper {
          flex-direction: column;
          align-items: center;
      }

      .tx-pp-btn-main,
      .tx-pp-btn-sub {
          max-width: 100%;
          width: 100%;
      }

      .tx-pp-price {
          font-size: 25px;
          font-weight: 600;
          color: var(--b);
          margin-bottom: 25px;
      }

      .tx-pp-price span {
          font-size: 10px;
          font-weight: 400;
          opacity: 0.7;
      }
  }

  /*=================================================================*/

  .tx-three-cards-section {
      --ttr-orange: #ff5e14;
      --ttr-marine: #00235a;
      --ttr-text: #4a5568;
      --ttr-bg: #ffffff;
      padding: 0px 0px;
      position: relative;
      overflow: hidden;
  }

  .tx-bg-html {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      pointer-events: none;
  }

  .tx-bg-html img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
  }

  .tx-tc-container {
      position: relative;
      z-index: 1;
      max-width: 1200px;
      margin: 0 auto;
  }

  .tx-tc-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
      align-items: stretch;
  }

  .tx-tc-item {
      background: #ffffff;
      padding: 40px 30px;
      border-radius: 20px;
      border: 1px solid rgba(0, 35, 90, 0.05);
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.03);
      transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
      display: flex;
      flex-direction: column;
  }

  .tx-tc-item:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.08);
      border-color: var(--ttr-orange);
  }

  .tx-tc-icon-box {
      width: 60px;
      height: 60px;
      background: rgba(255, 94, 20, 0.1);
      color: var(--ttr-orange);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 25px;
      transition: all 0.3s ease;
  }

  .tx-tc-item:hover .tx-tc-icon-box {
      background: var(--ttr-orange);
      color: #ffffff;
      transform: rotateY(180deg);
  }

  .tx-tc-icon-box svg {
      width: 30px;
      height: 30px;
  }

  .tx-tc-title {
      color: var(--ttr-marine);
      font-size: 22px;
      font-weight: 800;
      line-height: 1.2;
      margin-bottom: 15px;

  }

  .tx-tc-line {
      width: 40px;
      height: 4px;
      background-color: var(--ttr-orange);
      margin-bottom: 20px;
      transition: width 0.5s ease;
  }

  .tx-tc-item:hover .tx-tc-line {
      width: 80px;
  }

  .tx-tc-text {
      font-size: 16px;
      line-height: 1.6;
      color: var(--ttr-text);
      margin: 0;
  }

  .tx-tc-ruler {
      width: 100%;
      height: 15px;
      margin-top: 60px;
      background-image: repeating-linear-gradient(90deg,
              #ccd5e0 0, #ccd5e0 1px,
              transparent 1px, transparent 12px);
      opacity: 0.4;
  }

  @media (max-width: 1024px) {
      .tx-tc-grid {
          grid-template-columns: 1fr 1fr;
          gap: 30px;
      }
  }

  @media (max-width: 768px) {
      .tx-three-cards-section {
          padding: 50px 0px;
      }

      .tx-tc-grid {
          grid-template-columns: 1fr;
          gap: 25px;
      }

      .tx-tc-item {
          padding: 30px 20px;
          text-align: left;
      }

      .tx-tc-title {
          font-size: 20px;
      }
  }

  /*=======================================================================*/

  .ttr-geo-section {
      max-width: 1300px;
      margin: 60px auto;
      padding: 0 20px;
  }

  .ttr-geo-flex {
      display: flex;
      flex-direction: row;
      gap: 50px;
      align-items: flex-start;
  }

  .ttr-geo-content {
      flex: 1.2;
  }

  .ttr-geo-sticky-map {
      flex: 0.8;
      position: -webkit-sticky;
      position: sticky;
      top: 120px;
      align-self: flex-start;
      z-index: 10;
  }

  .ttr-geo-h2 {
      color: var(--ttr-marine);
      font-size: 38px !important;
      font-weight: 600 !important;
      line-height: 1.1 !important;
      margin-bottom: 40px;

  }

  .ttr-geo-wrapper {
      display: flex;
      flex-direction: column;
      gap: 25px;
  }

  .ttr-geo-block {
      padding: 30px;
      background-color: var(--ttr-bg-light);
      border-radius: 15px;
      border-left: 5px solid var(--ttr-marine);
      transition: all 0.3s ease;
  }

  .ttr-geo-block h3 {
      color: var(--ttr-marine);
      font-size: 18px !important;
      font-weight: 800 !important;
      margin-bottom: 12px !important;
      text-transform: none;
  }

  .ttr-geo-block:hover {
      transform: translateX(8px);
      background-color: #fff;
      box-shadow: 0 15px 30px rgba(0, 35, 90, 0.08);
      border-left-color: var(--ttr-orange);
  }

  .ttr-geo-text {
      font-size: 16px !important;
      line-height: 1.6 !important;
      color: var(--ttr-text);
      margin: 0;
  }

  .ttr-geo-btn {
      background-color: var(--ttr-orange);
      color: #ffffff !important;
      text-decoration: none;
      font-weight: 800;
      font-size: 14px;
      padding: 20px 30px;
      border-radius: 12px;
      display: inline-flex;
      text-transform: uppercase;
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2);
      width: fit-content;
      margin-top: 15px;
      transition: 0.3s ease;
  }

  .ttr-geo-btn:hover {
      background-color: var(--ttr-marine);
      transform: translateY(-3px);
  }

  .ttr-geo-map-frame {
      width: 100%;
      height: 500px;
      max-height: 80vh;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
      border: 1px solid #eef2f6;
      background: #f0f0f0;
  }

  .ttr-geo-map-frame iframe {
      width: 100% !important;
      height: 100% !important;
      display: block;
  }

  #ttr-geo-map-id {
      width: 100%;
      height: 100%;
      background: #f0f0f0;
  }

  .ttr-geo-pin {
      background-color: var(--ttr-marine);
      width: 22px;
      height: 22px;
      border-radius: 50% 50% 50% 0;
      transform: rotate(-45deg);
      border: 2px solid #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .ttr-geo-pin::after {
      content: '';
      width: 7px;
      height: 7px;
      background-color: var(--ttr-orange);
      border-radius: 50%;
      transform: rotate(45deg);
  }

  @media (max-width: 1024px) {
      .ttr-geo-flex {
          flex-direction: column !important;
      }

      .ttr-geo-sticky-map {
          position: relative !important;
          top: 0 !important;
          width: 100% !important;
          margin-top: 40px;
      }

      .ttr-geo-map-frame {
          height: 400px !important;
      }

      .ttr-geo-h2 {
          font-size: 28px !important;
      }

      .ttr-geo-btn {
          width: 100%;
          justify-content: center;
      }
  }


  /*=====================================================================*/
  .lbc-faq-section {
      position: relative;
      padding: 20px 0px;

      overflow: hidden;
  }

  .lbc-faq-container {
      position: relative;
      z-index: 10;
      max-width: 900px;
      margin: 0 auto;
  }

  .lbc-faq-bg-glow {
      position: absolute;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      filter: blur(100px);
      opacity: 0.12;
      z-index: 1;
      pointer-events: none;
  }

  .lbc-faq-list {
      display: flex;
      flex-direction: column;
      gap: 18px;
  }

  .lbc-faq-item {
      background: #ffffff;
      border-radius: 20px;
      border: 1.5px solid #e2e8f0;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
      transition: all 0.3s ease;
      cursor: pointer;
      overflow: hidden;
  }

  .lbc-faq-item.lbc-faq-active {
      border-color: #ff5e14;
      background: linear-gradient(180deg, #fffaf7 0%, #ffffff 100%);
      box-shadow: 0 15px 35px rgba(255, 94, 20, 0.12);
  }

  .lbc-faq-question {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 25px 30px;
  }

  .lbc-faq-icon-circle {
      width: 40px;
      height: 40px;
      background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.4s ease;
  }

  .lbc-faq-icon-circle i {
      color: #ffffff;
      font-size: 14px;
      transition: transform 0.4s ease;
  }

  .lbc-faq-text {
      font-size: 18px;
      font-weight: 700;
      color: #00235a;
      margin: 0;
      flex: 1;
      line-height: 25px;
  }


  .lbc-faq-item.lbc-faq-active .lbc-faq-icon-circle {
      background: linear-gradient(135deg, #ff5e14 0%, #ff8245 100%);
  }

  .lbc-faq-item.lbc-faq-active .lbc-faq-icon-circle i {
      transform: rotate(90deg);
  }

  .lbc-faq-answer-container {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .lbc-faq-answer-content {
      padding: 0 30px 30px 90px;
  }

  .lbc-faq-line {
      height: 1px;
      background-color: rgba(255, 94, 20, 0.2);
      margin-bottom: 20px;
      width: 100%;
  }

  .lbc-faq-description {
      font-size: 15px;
      color: #475569;
      line-height: 1.7;
      margin: 0;
  }

  @media (max-width: 640px) {
      .lbc-faq-question {
          padding: 20px;
          gap: 15px;
      }

      .lbc-faq-text {
          font-size: 16px;
      }

      .lbc-faq-answer-content {
          padding: 0 20px 20px 60px;
      }
  }

  /*====================================================================*/
  .dld9-cta-section {

      width: 100%;
      padding: 30px;
      box-sizing: border-box;
  }

  .dld9-cta-card {
      position: relative;
      background: linear-gradient(135deg, #001a47 0%, #00235a 40%, #001e50 100%);
      border-radius: 20px;
      padding: 55px 60px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 50px;
      overflow: hidden;
      box-shadow:
          0 25px 60px rgba(0, 35, 90, 0.5),
          0 0 0 1px rgba(255, 255, 255, 0.04),
          inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }

  .dld9-cta-card::before {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 300px;
      height: 300px;
      background: radial-gradient(circle, rgba(255, 94, 20, 0.08) 0%, transparent 70%);
      pointer-events: none;
      z-index: 1;
  }

  .dld9-cta-card::after {
      content: '';
      position: absolute;
      top: 0;
      left: 40px;
      right: 40px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 94, 20, 0.25), transparent);
      pointer-events: none;
      z-index: 2;
  }

  .dld9-cta-content {
      position: relative;
      z-index: 5;
      flex: 1;
      min-width: 0;
  }

  .dld9-cta-badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: rgba(255, 94, 20, 0.1);
      border: 1px solid rgba(255, 94, 20, 0.25);
      padding: 9px 24px;
      border-radius: 50px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: rgba(255, 94, 20, 0.95);
      margin-bottom: 30px;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
  }

  .dld9-badge-icon {
      width: 8px;
      height: 8px;
      background: #ff5e14;
      border-radius: 3px;
      transform: rotate(45deg);
      box-shadow: 0 0 10px rgba(255, 94, 20, 0.6);
      flex-shrink: 0;
  }


  .dld9-cta-heading {
      font-size: clamp(28px, 3.2vw, 40px);
      line-height: 1.25;
      font-weight: 900;
      color: #ffffff;
      margin: 0 0 22px 0;
      letter-spacing: -0.5px;
  }

  .dld9-cta-heading-highlight {
      color: rgba(255, 94, 20, 0.75);

      position: relative;
  }

  .dld9-cta-heading-highlight::after {
      content: '';
      position: absolute;
      bottom: 2px;
      left: 0;
      width: 100%;
      height: 6px;
      background: rgba(255, 94, 20, 0.1);
      border-radius: 3px;
      z-index: -1;
  }


  .dld9-cta-desc {
      font-size: 15px;
      line-height: 1.75;
      color: rgba(255, 255, 255, 0.55);
      max-width: 560px;
      margin: 0;
      font-weight: 400;
  }

  .dld9-cta-desc a:hover {
      color: #ffffff
  }


  .dld9-cta-actions {
      position: relative;
      z-index: 5;
      display: flex;
      flex-direction: column;
      gap: 14px;
      flex-shrink: 0;
  }

  .dld9-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 18px 36px;
      border-radius: 14px;
      font-family: 'Inter', sans-serif;
      font-weight: 800;
      font-size: 14px;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 1px;
      cursor: pointer;
      transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      white-space: nowrap;
      border: none;
      outline: none;
      position: relative;
      overflow: hidden;
  }

  .dld9-btn svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
  }

  .dld9-btn--urgence {
      background: linear-gradient(135deg, #ff5e14 0%, #e04e0c 100%);
      color: #ffffff;
      box-shadow:
          0 10px 30px rgba(255, 94, 20, 0.35),
          0 2px 8px rgba(255, 94, 20, 0.2);
  }

  .dld9-btn--urgence::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent);
      opacity: 0;
      transition: opacity 0.35s ease;
  }

  .dld9-btn--urgence:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow:
          0 18px 40px rgba(255, 94, 20, 0.45),
          0 4px 12px rgba(255, 94, 20, 0.3);
      color: #ffffff;
  }

  .dld9-btn--urgence:hover::before {
      opacity: 1;
  }

  .dld9-btn--devis {
      background: rgba(0, 30, 75, 0.8);
      color: #ffffff;
      border: 1.5px solid rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }

  .dld9-btn--devis:hover {
      background: rgba(0, 40, 90, 0.9);
      border-color: rgba(255, 94, 20, 0.4);
      transform: translateY(-3px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
      color: #ffffff;
  }

  .dld9-corner-deco {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 200px;
      height: 200px;
      background: radial-gradient(circle at bottom right, rgba(255, 94, 20, 0.05) 0%, transparent 70%);
      pointer-events: none;
      z-index: 1;
  }

  .dld9-line-accent {
      position: absolute;
      bottom: 25px;
      left: 60px;
      width: 60px;
      height: 3px;
      background: linear-gradient(90deg, rgba(255, 94, 20, 0.5), transparent);
      border-radius: 2px;
      pointer-events: none;
      z-index: 2;
  }

  @media (max-width: 960px) {
      .dld9-cta-card {
          flex-direction: column;
          align-items: flex-start;
          padding: 45px 40px;
          gap: 35px;
      }

      .dld9-cta-actions {
          flex-direction: row;
          flex-wrap: wrap;
          width: 100%;
      }

      .dld9-btn {
          flex: 1;
          min-width: 200px;
      }
  }

  @media (max-width: 640px) {
      .dld9-cta-section {
          padding: 15px;
      }

      .dld9-cta-card {
          padding: 35px 25px;
          border-radius: 16px;
          gap: 28px;
      }

      .dld9-cta-heading {
          font-size: 24px;
          line-height: 1.3;
      }

      .dld9-cta-badge {
          font-size: 10px;
          padding: 7px 18px;
          letter-spacing: 1px;
          margin-bottom: 22px;
      }

      .dld9-cta-desc {
          font-size: 14px;
          line-height: 1.65;
      }

      .dld9-cta-actions {
          flex-direction: column;
      }

      .dld9-btn {
          width: 100%;
          padding: 16px 28px;
          font-size: 13px;
      }

      .dld9-line-accent {
          left: 25px;
          bottom: 18px;
      }
  }

  @media (max-width: 380px) {
      .dld9-cta-heading {
          font-size: 21px;
      }

      .dld9-btn {
          padding: 14px 20px;
          font-size: 12px;
          gap: 8px;
      }
  }

  /*=======================================================================*/
  .tx-open-serv {
      --orange: #ff5e14;
      --blue: #00235a;
      padding: 0px 0px;
      background-color: #ffffff;
  }

  .tx-os-container {
      max-width: 1100px;
      margin: 0 auto;
  }

  .tx-os-header {
      margin-bottom: 80px;
      text-align: left;
  }

  .tx-os-main-title {
      color: var(--blue);
      font-size: clamp(32px, 5vw, 48px);
      font-weight: 700;
      margin-bottom: 20px;
      line-height: 1.1;
      text-transform: uppercase;
  }

  .tx-os-main-title span {
      color: var(--orange);
  }

  .tx-os-intro {
      font-size: 18px;
      color: #555;
      max-width: 600px;
  }

  .tx-os-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 80px;
      row-gap: 40px;
  }

  .tx-os-item {
      position: relative;
      display: flex;
      gap: 25px;
      padding-bottom: 30px;
      transition: all 0.3s ease;
      cursor: default;
  }

  .tx-os-icon {
      color: var(--blue);
      transition: all 0.3s ease;
      flex-shrink: 0;
      margin-top: 5px;
  }

  .tx-os-icon svg {
      width: 35px;
      height: 35px;
  }

  .tx-os-text h3 {
      color: var(--blue);
      font-size: 22px;
      line-height: 25px;
      font-weight: 800;
      margin-bottom: 12px;
      transition: 0.3s;
  }

  .tx-os-text p {
      color: #666;
      font-size: 16px;
      line-height: 1.6;
  }

  .tx-os-line {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 40px;
      height: 3px;
      background-color: #eee;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .tx-os-item:hover .tx-os-line {
      width: 100%;
      background-color: var(--orange);
  }

  .tx-os-item:hover .tx-os-icon {
      color: var(--orange);
      transform: scale(1.1);
  }

  .tx-os-item:hover h3 {
      color: var(--orange);
  }

  @media (max-width: 768px) {
      .tx-open-serv {
          padding: 40px 0px;
      }

      .tx-os-list {
          grid-template-columns: 1fr;
          gap: 40px;
      }

      .tx-os-item {
          flex-direction: column;
          align-items: flex-start;
          text-align: left;
          gap: 10px;
          padding-bottom: 25px;
      }

      .tx-os-icon {
          margin: 0;
      }

      .tx-os-icon svg {
          width: 32px;
          height: 32px;
      }

      .tx-os-text {
          padding: 0;
      }

      .tx-os-text h3 {
          font-size: 20px;
          margin-bottom: 10px;
          line-height: 25px !important;
      }

      .ttr-table-container {
          margin: 15px 0;
          overflow-x: hidden;
          border: 1px solid #e1e8f0;
      }

      .ttr-velux-table {
          min-width: 100%;
          display: table;
          table-layout: fixed;
      }

      .ttr-velux-table th,
      .ttr-velux-table td {
          padding: 8px 5px;
          font-size: 11px;
          line-height: 1.2;
          word-wrap: break-word;
      }

      .tx-os-line {
          left: 0;
          transform: none;
      }
  }

  /*===================================================================*/
  .zig-serv-wrapper {
      width: 100%;
      padding: 10px 0px;
      box-sizing: border-box;
  }

  .zig-serv-inner {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
  }

  .zig-serv-inner * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  .zig-serv-layout {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
  }

  .zig-serv-item {
      background: #ffffff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.05);
      transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(0, 35, 90, 0.05);
  }

  .zig-serv-item:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.12);
      border-color: rgba(255, 94, 20, 0.2);
  }

  .zig-serv-media {
      position: relative;
      width: 100%;
      height: 230px;
      overflow: hidden;
  }

  .zig-serv-pic {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
  }

  .zig-serv-item:hover .zig-serv-pic {
      transform: scale(1.1);
  }

  .zig-serv-layer {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent, rgba(0, 35, 90, 0.4));
      z-index: 1;
  }

  .zig-serv-symbol {
      position: absolute;
      bottom: 15px;
      right: 20px;
      width: 50px;
      height: 50px;
      background: #ff5e14;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 15px rgba(255, 94, 20, 0.3);
      z-index: 10;
      transition: all 0.4s ease;
  }

  .zig-serv-item:hover .zig-serv-symbol {
      background: #00235a;
      transform: scale(1.1);
  }

  .zig-serv-symbol svg {
      width: 24px;
      height: 24px;
      stroke: #ffffff;
      fill: none;
      stroke-width: 2;
  }

  .zig-serv-body {
      padding: 30px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
  }

  .zig-serv-link {
      text-decoration: none;
      display: block;
      margin-bottom: 15px;
  }

  .zig-serv-heading {
      font-size: 19px;
      line-height: 25px;
      font-weight: 700;
      color: #00235a;
      transition: color 0.3s ease;
  }

  .zig-serv-item:hover .zig-serv-heading {
      color: #ff5e14;
  }

  .zig-serv-txt {
      font-size: 17px;
      line-height: 1.6;
      color: #5c6b7f;
      margin-bottom: 5px;
  }

  @media (max-width: 767px) {
      .zig-serv-wrapper {
          padding: 20px 15px;
      }

      .zig-serv-layout {
          grid-template-columns: 1fr;
          gap: 20px;
      }

      .zig-serv-media {
          height: 200px;
      }

      .zig-serv-pic {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
      }

      .zig-serv-body {
          padding: 20px 15px;
      }

      .zig-serv-heading {
          font-size: 18px;
          line-height: 1.3;
      }

      .zig-serv-txt {
          font-size: 15px;
          line-height: 1.5;
      }
  }

  /*================================*/
  .tx-exact-hero {
      position: relative;
      width: 100%;
      min-height: 90vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-family: 'Yantramanav', sans-serif;
      background: #020b1a url('/wp-content/uploads/2026/05/couvreur-gironde-bordeauX.webp') no-repeat center center/cover;
      color: #ffffff;
      text-align: center;
      overflow: hidden;
      padding: 40px 20px;
  }

  .tx-exact-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at center, rgba(2, 11, 26, 0.6) 0%, rgba(2, 11, 26, 0.9) 100%);
      z-index: 1;
  }

  .tx-content-wrapper {
      position: relative;
      z-index: 10;
      max-width: 900px;
      width: 100%;
  }

  .tx-bg-outline {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: clamp(100px, 20vw, 280px);
      font-weight: 900;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255, 255, 255, 0.05);
      z-index: -1;
      letter-spacing: 15px;
      pointer-events: none;
  }

  .tx-top-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.1);
      padding: 6px 18px;
      border-radius: 50px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.5px;
      margin-bottom: 20px;
  }

  .tx-top-tag span {
      width: 6px;
      height: 6px;
      background: #ff5e14;
      border-radius: 50%;
  }

  .tx-main-title {
      margin-bottom: 30px;
  }

  .tx-title-ghost {
      display: block;
      font-size: 60px;
      font-weight: 900;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255, 255, 255, 0.2);
      line-height: 1;
  }

  .tx-title-orange {
      display: block;
      font-size: 50px !important;
      font-weight: 900;
      color: #ff5e14;
      line-height: 60px;
      text-shadow: 0 0 40px rgba(255, 94, 20, 0.4);
  }

  .tx-title-white {
      display: block;
      font-size: 50px !important;
      font-weight: 900;
      color: #ffffff;
      line-height: 60px;
  }

  .tx-diamond {
      width: 8px;
      height: 8px;
      background: #ff5e14;
      transform: rotate(45deg);
      margin: 25px auto;
  }

  .tx-main-desc {
      font-size: 16px;
      color: white;
      line-height: 25px;
      max-width: 600px;
      margin: 0 auto 40px;
  }

  .tx-main-desc strong {
      color: #ffffff;
  }

  .tx-btns-wrap {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 15px;
      margin-bottom: 50px;
  }

  .tx-btn-phone {
      display: flex;

      align-items: center;
      background: #ff5e14;
      border-radius: 12px;
      text-decoration: none;
      color: #ffffff;
      overflow: hidden;
      box-shadow: 0 10px 25px rgba(255, 94, 20, 0.3);
  }

  .tx-btn-phone .icon {
      padding: 18px 22px;
      background: rgba(0, 0, 0, 0.1);
  }

  .tx-btn-phone .text {
      padding: 0 25px;
      text-align: left;
  }

  .tx-btn-phone .text span {
      display: block;
      font-size: 9px;
      font-weight: 600;
      text-transform: uppercase;
      opacity: 0.9;
  }

  .tx-btn-phone .text strong {
      font-size: 17px;
      font-weight: 900;
      letter-spacing: 0.5px;
  }

  .tx-btn-dark {
      display: flex;
      align-items: center;
      gap: 10px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.2);
      padding: 18px 30px;
      border-radius: 12px;
      color: #ffffff;
      text-decoration: none;
      font-weight: 600;
      font-size: 14px;
      transition: 0.3s;
  }

  .tx-btn-dark:hover {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff;
  }

  .tx-google-badge {
      display: inline-flex;
      align-items: center;
      gap: 15px;
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
      padding: 10px 25px;
      border-radius: 100px;
  }

  .tx-google-badge img {
      width: 20px;
  }

  .tx-stars {
      color: #ff5e14;
      font-size: 14px;
  }

  .tx-rating {
      font-size: 13px;
      font-weight: 700;
  }

  .tx-rating span {
      font-weight: 400;
      opacity: 0.5;
  }

  .tx-scroll-down {
      position: absolute;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: rgba(255, 255, 255, 0.3);
      z-index: 10;
  }

  .tx-scroll-down svg {
      display: block;
      margin: 8px auto 0;
      width: 12px;
      opacity: 0.3;
  }

  @media (max-width: 768px) {
      .tx-exact-hero {
          text-align: left;
          align-items: flex-start;
          justify-content: center;
          padding: 60px 20px;
          min-height: 100vh;
      }

      .tx-content-wrapper {
          max-width: 100%;
      }

      .tx-bg-outline {
          display: none;
      }

      .tx-top-tag {
          margin-bottom: 15px;
          font-size: 10px;
      }

      .tx-title-ghost,
      .tx-title-orange,
      .tx-title-white {
          font-size: 36px !important;
          line-height: 1.1;
      }

      .tx-diamond {
          margin: 20px 0;
      }

      .tx-main-desc {
          text-align: left;
          margin: 0 0 30px 0;
          font-size: 14px;
          line-height: 1.5;
      }

      .tx-btns-wrap {
          flex-direction: column;
          align-items: flex-start;
          width: 100%;
          gap: 12px;
      }

      .tx-btn-phone,
      .tx-btn-dark {
          width: 100%;
          justify-content: center;
      }

      .tx-google-badge {
          justify-content: flex-start;
          width: 100%;
          background: rgba(255, 255, 255, 0.05);
          padding: 12px 15px;
      }

      .tx-rating {
          font-size: 11px;
      }

      .tx-scroll-down {
          left: 20px;
          transform: none;
          text-align: left;
      }

      .tx-scroll-down svg {
          margin: 8px 0 0 10px;
      }
  }

  @media (max-width: 380px) {

      .tx-title-ghost,
      .tx-title-orange,
      .tx-title-white {
          font-size: 30px !important;
      }
  }

  /*=================================*/
  .vlx-grid-section {
      width: 100%;
      padding: 0px 0px;
      box-sizing: border-box;

  }

  .vlx-grid-container {
      width: 100%;
      max-width: 1300px;
      margin: 0 auto;
      font-family: 'Yantramanav', sans-serif !important;
  }

  .vlx-grid-container * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  .vlx-grid-layout {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 25px;
  }

  .vlx-grid-card {
      background: #ffffff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.05);
      transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
      display: flex;
      flex-direction: column;
      border: 1px solid rgba(0, 35, 90, 0.05);
      position: relative;
  }

  .vlx-grid-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.12);
      border-color: rgba(255, 94, 20, 0.2);
  }

  .vlx-grid-img-box {
      position: relative;
      width: 100%;
      height: 200px;
      overflow: hidden;
  }

  .vlx-grid-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.8s ease;
  }

  .vlx-grid-card:hover .vlx-grid-img {
      transform: scale(1.1);
  }

  .vlx-grid-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent, rgba(0, 35, 90, 0.4));
      z-index: 1;
  }

  .vlx-grid-icon {
      position: absolute;
      bottom: 15px;
      right: 20px;
      width: 45px;
      height: 45px;
      background: #ff5e14;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 15px rgba(255, 94, 20, 0.3);
      z-index: 10;
      transition: all 0.4s ease;
  }

  .vlx-grid-card:hover .vlx-grid-icon {
      background: #00235a;
      transform: scale(1.1);
  }

  .vlx-grid-icon svg {
      width: 22px;
      height: 22px;
      stroke: #ffffff;
      fill: none;
      stroke-width: 2;
  }

  .vlx-grid-content {
      padding: 25px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
  }

  .vlx-grid-title-link {
      text-decoration: none;
      margin-bottom: 15px;
  }

  .vlx-grid-title {
      font-size: 16px;
      line-height: 25px;
      font-weight: 600;
      color: #00235a;
      transition: color 0.3s ease;
      text-transform: uppercase;
  }

  .vlx-grid-card:hover .vlx-grid-title {
      color: #ff5e14;
  }

  .vlx-grid-desc {
      font-size: 15px;
      line-height: 1.6;
      color: #5c6b7f;
      margin-bottom: 15px;
  }

  .vlx-grid-desc a {
      color: #ff5e14;
      text-decoration: none;
      font-weight: 700;
      border-bottom: 1px solid rgba(255, 94, 20, 0.3);
      transition: all 0.3s;
  }

  .vlx-grid-desc a:hover {
      color: #00235a;
      border-bottom-color: #00235a;
  }


  @media (max-width: 1200px) {
      .vlx-grid-layout {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 767px) {
      .vlx-grid-section {
          padding: 40px 20px;
      }

      .vlx-grid-layout {
          grid-template-columns: 1fr;
          gap: 25px;
      }

      .vlx-grid-title {
          font-size: 18px;
      }
  }

  /*==================================*/
  .ads-info-box {
      display: flex;
      align-items: center;
      background-color: #f4f9ff;
      border-radius: 25px;
      padding: 30px 40px;
      margin: 20px 0;
      gap: 25px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
      border: 1px solid rgba(9, 87, 136, 0.05);
  }

  .ads-info-icon-wrapper {
      flex-shrink: 0;
      width: 60px;
      height: 60px;
      background-color: #095788;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;

      border: 2px solid #ff8c00;
  }

  .ads-info-icon-wrapper i {
      color: #ffffff;
      font-size: 24px;
      font-family: serif;
      font-style: italic;
      font-weight: bold;
  }

  .ads-info-text {
      color: #5C6B7F;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.6;
  }

  .ads-info-text b {
      color: #095788;
      font-weight: 700;
  }

  .ads-highlight-orange {
      color: #ff8c00 !important;
      font-weight: 700;
  }

  @media (max-width: 768px) {
      .ads-info-box {
          flex-direction: column;
          text-align: center;
          padding: 25px;
          gap: 15px;
      }

      .ads-info-icon-wrapper {
          width: 50px;
          height: 50px;
      }
  }

  /*===================================*/
  .lbc-sv-section {
      --lbc-orange: #ff5e14;
      --lbc-blue: #00235a;
      padding: 0px 0px;
      background-color: #ffffff;
  }

  .lbc-sv-container {
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 20px;
  }

  .lbc-sv-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      column-gap: 80px;
      row-gap: 50px;
  }

  .lbc-sv-card {
      position: relative;
      display: flex;
      gap: 25px;
      padding-bottom: 30px;
      transition: all 0.3s ease;
      cursor: default;

      width: calc(50% - 40px);
      min-width: 300px;
  }

  .lbc-sv-icon {
      color: var(--lbc-blue);
      transition: all 0.3s ease;
      flex-shrink: 0;
      margin-top: 5px;
  }

  .lbc-sv-icon svg {
      width: 35px;
      height: 35px;
  }

  .lbc-sv-info h3 {
      color: var(--lbc-blue);
      font-size: 22px;
      line-height: 1.2;
      font-weight: 800;
      margin-bottom: 12px;
      transition: 0.3s;
  }

  .lbc-sv-info p {
      color: #666;
      font-size: 16px;
      line-height: 1.6;
  }

  .lbc-sv-bottom-line {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 40px;
      height: 3px;
      background-color: #eee;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .lbc-sv-card:hover .lbc-sv-bottom-line {
      width: 100%;
      background-color: var(--lbc-orange);
  }

  .lbc-sv-card:hover .lbc-sv-icon {
      color: var(--lbc-orange);
      transform: scale(1.1);
  }

  .lbc-sv-card:hover h3 {
      color: var(--lbc-orange);
  }

  @media (max-width: 991px) {
      .lbc-sv-list {
          column-gap: 40px;
      }

      .lbc-sv-card {
          width: calc(50% - 20px);
      }
  }

  @media (max-width: 768px) {
      .lbc-sv-list {
          flex-direction: column;
          align-items: center;
          row-gap: 40px;
      }

      .lbc-sv-card {
          width: 100%;
          flex-direction: column;
          align-items: flex-start;
          gap: 15px;
      }

      .lbc-sv-info h3 {
          font-size: 20px;
      }
  }

  /*=================================*/
  .v2-pricing-section {
      --o: #ff5e14;
      --b: #00235a;
      padding: 40px 0;
      background-color: #ffffff;
  }

  .v2-pp-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
  }

  .v2-pp-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      margin: 0 auto 50px auto;
      max-width: 900px;
  }

  .v2-pp-card {
      background: #ffffff;
      padding: 50px 35px;
      border-radius: 30px;
      border: 1px solid rgba(0, 35, 90, 0.06);
      box-shadow: 0 15px 40px rgba(0, 35, 90, 0.05);
      transition: all 0.5s ease;
      display: flex;
      flex-direction: column;
      text-align: center;
      position: relative;
  }

  .v2-pp-card:hover {
      transform: translateY(-15px);
      border-color: var(--o);
      box-shadow: 0 30px 60px rgba(0, 35, 90, 0.12);
  }

  .v2-featured {
      background: var(--b);
      color: #ffffff;
      transform: scale(1.05);
      z-index: 2;
  }

  .v2-featured:hover {
      transform: translateY(-15px) scale(1.05);
  }

  .v2-featured .v2-pp-card-title,
  .v2-featured .v2-pp-price,
  .v2-featured .v2-pp-list li {
      color: #ffffff;
  }

  .v2-pp-tag {
      position: absolute;
      top: 20px;
      right: 25px;
      background: var(--o);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      padding: 5px 15px;
      border-radius: 20px;
      text-transform: uppercase;
  }

  .v2-pp-icon {
      width: 70px;
      height: 70px;
      background: rgba(255, 94, 20, 0.1);
      color: var(--o);
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 30px auto;
  }

  .v2-featured .v2-pp-icon {
      background: rgba(255, 255, 255, 0.15);
      color: #fff;
  }

  .v2-pp-icon svg {
      width: 32px;
      height: 32px;
  }

  .v2-pp-price {
      font-size: 44px;
      font-weight: 900;
      color: var(--b);
      margin-bottom: 25px;
  }

  .v2-pp-price span {
      font-size: 16px;
      font-weight: 400;
      opacity: 0.7;
      display: block;
  }

  .v2-pp-card-title {
      font-size: 24px;
      line-height: 30px;
      font-weight: 800;
      margin-bottom: 20px;
      color: var(--b);
  }

  .v2-pp-list {
      list-style: none;
      padding: 0;
      margin: 0 0 40px 0;
      text-align: left;
  }

  .v2-pp-list li {
      font-size: 18px;
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .v2-pp-list li::before {
      content: "→";
      color: var(--o);
      font-weight: 900;
  }

  .v2-pp-footer {
      margin-top: auto;
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--o);
  }

  .v2-featured .v2-pp-footer {
      color: #fff;
      opacity: 0.8;
  }

  .v2-pp-action-wrapper {
      display: flex;
      justify-content: center;
      gap: 20px;
      width: 100%;
  }

  .v2-pp-btn-main,
  .v2-pp-btn-sub {
      flex: 1;
      max-width: 320px;
      padding: 20px 30px;
      border-radius: 15px;
      text-align: center;
      text-decoration: none;
      font-weight: 900;
      text-transform: uppercase;
      font-size: 14px;
      letter-spacing: 1px;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
  }

  .v2-pp-btn-main svg,
  .v2-pp-btn-sub svg {
      width: 20px;
      height: 20px;
  }

  .v2-pp-btn-main {
      background: var(--o);
      color: #fff;
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2);
  }

  .v2-pp-btn-sub {
      background: var(--b);
      color: #fff;
      box-shadow: 0 10px 20px rgba(0, 35, 90, 0.15);
  }

  .v2-pp-btn-sub:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
      background-color: transparent;
      border: 1px solid #00235a;

  }

  .v2-pp-btn-main:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
  }

  @media (max-width: 768px) {
      .v2-pp-grid {
          grid-template-columns: 1fr;
      }

      .v2-pp-action-wrapper {
          flex-direction: column;
          align-items: center;
      }

      .v2-pp-btn-main,
      .v2-pp-btn-sub {
          max-width: 100%;
          width: 100%;
      }

      .v2-pp-price {
          font-size: 24px;
          font-weight: 900;
          color: var(--b);
          margin-bottom: 25px;
      }

      .v2-pp-price span {
          font-size: 16px;
          font-weight: 400;
          opacity: 0.7;
          display: block;
      }

  }


  .rf-factors-section {
      --rf-orange: #FF5E14;
      --rf-marine: #00235A;
      --rf-text: #565969;
      --rf-bg: #ffffff;
      padding: 20px 0px;
  }

  .rf-container {
      max-width: 1200px;
      margin: 0 auto;
  }

  .rf-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 30px;
      align-items: stretch;
  }

  .rf-card {
      background: #ffffff;
      padding: 40px 30px;
      border-radius: 20px;
      border: 1px solid rgba(0, 35, 90, 0.05);
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.03);
      transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
      display: flex;
      flex-direction: column;
  }

  .rf-card.card-top {
      grid-column: span 2;
  }

  .rf-card.card-bottom {
      grid-column: span 3;
  }

  .rf-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.08);
      border-color: var(--rf-orange);
  }

  .rf-icon-box {
      width: 60px;
      height: 60px;
      background: rgba(255, 94, 20, 0.1);
      color: var(--rf-orange);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 25px;
      transition: all 0.3s ease;
  }

  .rf-card:hover .rf-icon-box {
      background: var(--rf-orange);
      color: #ffffff;
      transform: rotateY(180deg);
  }

  .rf-icon-box svg {
      width: 30px;
      height: 30px;
  }

  .rf-title {
      color: var(--rf-marine);
      font-size: 20px;
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 15px;
      min-height: 52px;
  }

  .rf-line {
      width: 40px;
      height: 4px;
      background-color: var(--rf-orange);
      margin-bottom: 20px;
      transition: width 0.5s ease;
  }

  .rf-card:hover .rf-line {
      width: 80px;
  }

  .rf-text {
      font-size: 15px;
      line-height: 1.6;
      color: var(--rf-text);
      margin: 0;
  }

  .rf-ruler {
      width: 100%;
      height: 15px;
      margin-top: 60px;
      background-image: repeating-linear-gradient(90deg,
              #ccd5e0 0, #ccd5e0 1px,
              transparent 1px, transparent 12px);
      opacity: 0.4;
  }

  /* Responsive */
  @media (max-width: 1024px) {
      .rf-grid {
          grid-template-columns: repeat(2, 1fr);
      }

      .rf-card.card-top,
      .rf-card.card-bottom {
          grid-column: span 1;
      }
  }

  @media (max-width: 768px) {
      .rf-grid {
          grid-template-columns: 1fr;
      }

      .rf-card.card-top,
      .rf-card.card-bottom {
          grid-column: span 1;
      }
  }


  .tx-simple-cta {
      --navy: #002359;
      --orange: #e8500a;
      --orange-light: #ff6620;
      --white: #ffffff;
      --bg-gray: #f4f7fa;
      --text-dim: rgba(255, 255, 255, 0.7);

      width: 100%;
      max-width: 1100px;
      margin: 20px auto;
      content-visibility: auto;
      contain-intrinsic-size: 400px;
  }

  .tx-simple-cta *,
  .tx-simple-cta *::before,
  .tx-simple-cta *::after {
      box-sizing: border-box;
  }

  .tx-card {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
      border: 1px solid #e1e8f0;
  }

  .tx-left {
      background: var(--white);
      padding: 50px;
      display: flex;
      flex-direction: column;
      gap: 20px;
  }

  .tx-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(232, 80, 10, 0.08);
      color: var(--orange);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      padding: 6px 14px;
      border-radius: 4px;
      width: fit-content;
  }

  .tx-title {
      font-size: clamp(26px, 3vw, 36px);
      color: var(--navy);
      line-height: 1.2;
      font-weight: 800;
      margin: 0;
  }

  .tx-title span {
      color: var(--orange);
  }

  .tx-desc {
      font-size: 16px;
      color: #4a5568;
      line-height: 1.6;
      max-width: 450px;
      margin: 0;
  }


  .tx-stats {
      display: flex;
      gap: 40px;
      margin-top: 10px;
  }

  .tx-stat-item b {
      display: block;
      font-size: 24px;
      color: var(--navy);
  }

  .tx-stat-item span {
      font-size: 13px;
      color: #718096;
  }

  .tx-right {
      background: var(--navy);
      padding: 50px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 15px;
      text-align: center;
  }

  .tx-right-title {
      color: var(--white);
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 10px;
  }


  .tx-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 16px 24px;
      border-radius: 8px;
      font-size: 15px !important;
      font-weight: 800 !important;
      text-decoration: none;
      transition: 0.2s ease-in-out;
  }

  .tx-btn-main {
      background: var(--orange);
      color: var(--white);
  }

  .tx-btn-main:hover {
      background: var(--orange-light);
      transform: translateY(-2px);
  }

  .tx-btn-sub {
      background: rgba(255, 255, 255, 0.1);
      color: var(--white);
      border: 1px solid rgba(255, 255, 255, 0.2);
  }

  .tx-btn-sub:hover {
      background: rgba(255, 255, 255, 0.2);
  }

  .tx-trust {
      font-size: 12px;
      color: var(--text-dim);
      margin-top: 10px;
  }

  .ads-diy-list-container {
      max-width: 1000px;
      margin: 40px auto;
      padding: 0 20px;
      font-family: 'Yantramanav', sans-serif !important;
  }

  .ads-diy-stack {
      display: flex;
      flex-direction: column;
      gap: 30px;
  }

  .ads-diy-long-card {
      background: #ffffff;
      border-radius: 18px;
      padding: 35px;
      display: flex;
      gap: 30px;
      border: 1px solid rgba(0, 35, 90, 0.08);
      box-shadow: 0 10px 40px -10px rgba(0, 35, 90, 0.1);
      transition: all 0.4s ease;
  }

  .ttr-table-container {
      width: 100%;
      overflow-x: auto;
      margin: 25px 0;
      border-radius: 12px;
      border: 1px solid #e1e8f0;
  }

  .ttr-velux-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 500px;
      background: #fff;
  }

  .ttr-velux-table th {
      background-color: var(--ttr-marine);
      color: #ffffff;
      text-align: left;
      padding: 15px;
      font-weight: 700;
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
  }

  .ttr-velux-table td {
      padding: 14px 15px;
      border-bottom: 1px solid #e1e8f0;
      color: var(--ttr-text);
      font-size: 15px;
  }

  .ttr-velux-table tr:last-child td {
      border-bottom: none;
  }

  .ttr-velux-table tr:hover td {
      background-color: #f9fbfe;
  }

  .ads-diy-desc-item {
      color: var(--ttr-text);
      font-size: 1.05rem;
      line-height: 1.6;
      margin-bottom: 12px;
      padding-left: 25px;
      position: relative;
  }

  .ads-diy-desc-item::before {
      content: '';
      position: absolute;
      left: 0;
      top: 8px;
      width: 8px;
      height: 8px;
      background: var(--ttr-orange);
      border-radius: 50%;
      box-shadow: 0 0 10px var(--ttr-orange);
      animation: signalPulse 2s infinite;
  }

  @keyframes signalPulse {
      0% {
          transform: scale(1);
          opacity: 1;
      }

      50% {
          transform: scale(1.5);
          opacity: 0.5;
      }

      100% {
          transform: scale(1);
          opacity: 1;
      }
  }

  .ads-diy-icon-box {
      width: 65px;
      height: 65px;
      background: rgba(255, 94, 20, 0.1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--ttr-orange);
      font-size: 24px;
  }

  .ads-diy-side {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
  }

  .ads-diy-step {
      font-weight: 800;
      color: var(--ttr-marine);
      margin-top: 10px;
      font-size: 14px;
  }

  .ads-diy-h4 {
      color: var(--ttr-marine);
      font-size: 22px;
      font-weight: 800;
      margin-bottom: 5px;
  }

  .rk-p {
      color: var(--ttr-orange);
      margin-bottom: 15px;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 13px;
  }

  .ads-internal-note {
      margin-top: 20px;
      padding: 20px;
      background-color: var(--ttr-light-bg);
      border-radius: 12px;
      border-left: 4px solid var(--ttr-orange);
  }

  .ads-important-alert-card {
      background: #fff9f5;
      border: 1px solid #f9ebdc;
      border-left: 6px solid var(--ttr-orange);
      border-radius: 15px;
      padding: 25px;
      display: flex;
      align-items: center;
      gap: 20px;
  }

  .ads-alert-icon {
      font-size: 30px;
      color: var(--ttr-orange);
  }

  @media (max-width: 768px) {

      .ads-diy-list-container {
          padding: 0 15px;
          margin: 20px auto;
      }

      .ads-diy-long-card {
          flex-direction: column;
          padding: 25px 20px;
          gap: 20px;
      }

      .ads-diy-side {
          flex-direction: row;
          gap: 15px;
          align-items: center;
          justify-content: flex-start;
          margin-bottom: 5px;
      }

      .ads-diy-icon-box {
          width: 50px;
          height: 50px;
          font-size: 18px;
      }

      .ads-diy-step {
          margin-top: 0;
          font-size: 12px;
      }

      .ads-diy-h4 {
          font-size: 20px !important;
          line-height: 1.3 !important;
          margin-bottom: 10px;
          text-align: left;
      }

      .rk-p {
          font-size: 12px;
          margin-bottom: 10px;
      }

      .ads-diy-body p {
          font-size: 15px;
          line-height: 1.5;
          text-align: left;
      }

      .ttr-table-container {
          overflow-x: hidden;
          margin: 20px 0;
          border: 1px solid #e1e8f0;
      }

      .ttr-velux-table {
          min-width: 100%;
          table-layout: fixed;
      }

      .ttr-velux-table th,
      .ttr-velux-table td {
          padding: 10px 5px;
          font-size: 10px;
          word-wrap: break-word;
          text-align: center;
      }

      .ttr-velux-table th {
          font-size: 9px;
      }


      .ads-diy-desc-item {
          font-size: 14px;
          padding-left: 20px;
      }

      .ads-diy-desc-item::before {
          top: 6px;
          width: 6px;
          height: 6px;
      }

      .ads-important-alert-card {
          flex-direction: column;
          text-align: left;
          padding: 20px;
      }
  }

  @media (max-width: 380px) {

      .ttr-velux-table th,
      .ttr-velux-table td {
          font-size: 9px;
          padding: 8px 2px;
      }

      .ads-diy-h4 {
          font-size: 18px !important;
      }
  }

  @media (max-width: 800px) {
      .tx-card {
          grid-template-columns: 1fr;
      }

      .tx-left,
      .tx-right {
          padding: 40px 25px;
      }

      .tx-stats {
          justify-content: space-between;
          gap: 10px;
      }
  }

  .tx-hero-section {
      position: relative;
      width: 100%;
      min-height: 600px;
      overflow: hidden;
      background-color: #00235a;
  }

  .tx-hero-wrapper {
      display: flex;
      min-height: 600px;
      width: 100%;
      position: relative;
      align-items: stretch !important;
  }

  .tx-hero-side {
      width: 50%;
      position: relative;
      display: flex;
      align-items: center;
  }

  .tx-hero-left {
      justify-content: center;
      z-index: 2;
  }

  .tx-hero-text-box {
      width: 100%;
      max-width: 600px;
      padding: 60px 40px;
      color: white;
      box-sizing: border-box;
      text-align: left;
  }

  .tx-hero-title {
      font-size: 48px;
      font-weight: 900;
      line-height: 1.1;
      margin: 0 0 25px 0;
      color: #ffffff;
      text-transform: uppercase;
  }

  .tx-hero-desc {
      font-size: 19px;
      line-height: 1.6;
      margin-bottom: 40px;
      color: rgba(255, 255, 255, 0.9);
  }

  .tx-hero-buttons {
      display: flex;
      gap: 15px;
      flex-wrap: wrap;
      justify-content: left;
  }


  .tx-btn {
      display: inline-flex;
      align-items: center;
      padding: 16px 30px;
      font-size: 15px;
      font-weight: 400;
      text-decoration: none;
      transition: all 0.3s ease;
      border-radius: 0px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
  }

  .tx-btn-primary {
      background-color: #ff5e14;
      color: white !important;
      border: 2px solid #ff5e14;
      box-shadow: 0 4px 15px rgba(255, 94, 20, 0.3);
  }

  .tx-btn-primary:hover {
      background-color: #e54d00;
      border-color: #e54d00;
      transform: translateY(-3px);
      box-shadow: 0 6px 20px rgba(255, 94, 20, 0.4);
  }

  .tx-btn-outline {
      background-color: transparent;
      color: white !important;
      border: 2px solid rgba(255, 255, 255, 0.5);
  }

  .tx-btn-outline:hover {
      border-color: #ff5e14;
      background-color: #ff5e14;
      color: white !important;
      transform: translateY(-3px);
  }

  .tx-btn-icon {
      width: 20px;
      height: 20px;
      margin-right: 12px;
      display: flex;
      align-items: center;
  }

  .tx-hero-side.tx-hero-right {
      display: block !important;
      position: relative;
      height: auto !important;
      flex: 1;
      z-index: 1;
  }

  .tx-hero-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100% !important;
      object-fit: cover;
      display: block;
  }

  @media (max-width: 992px) {
      .tx-hero-title {
          font-size: 40px;
      }
  }

  @media (max-width: 768px) {
      .tx-hero-wrapper {
          flex-direction: column !important;
      }

      .tx-hero-side {
          width: 100% !important;
      }

      .tx-hero-text-box {
          padding: 60px 20px !important;
      }

      .tx-hero-title {
          font-size: 32px !important;
      }

      .tx-btn {
          width: 100%;
          justify-content: center;
      }

      .tx-hero-right {
          height: 350px !important;
      }

      .tx-hero-img {
          position: relative !important;
      }
  }

  .rf-factors-section {
      --rf-orange: #FF5E14;
      --rf-marine: #00235A;
      --rf-text: #565969;
      --rf-bg: #ffffff;
      padding: 20px 0px;
  }

  .rf-container {
      max-width: 1200px;
      margin: 0 auto;
  }

  .rf-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 30px;
      align-items: stretch;
  }

  .rf-card {
      background: #ffffff;
      padding: 40px 30px;
      border-radius: 20px;
      border: 1px solid rgba(0, 35, 90, 0.05);
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.03);
      transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
      display: flex;
      flex-direction: column;
  }

  .rf-card.card-top {
      grid-column: span 2;
  }

  .rf-card.card-bottom {
      grid-column: span 3;
  }

  .rf-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 50px rgba(0, 35, 90, 0.08);
      border-color: var(--rf-orange);
  }

  .rf-icon-box {
      width: 60px;
      height: 60px;
      background: rgba(255, 94, 20, 0.1);
      color: var(--rf-orange);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 25px;
      transition: all 0.3s ease;
  }

  .rf-card:hover .rf-icon-box {
      background: var(--rf-orange);
      color: #ffffff;
      transform: rotateY(180deg);
  }

  .rf-icon-box svg {
      width: 30px;
      height: 30px;
  }

  .rf-title {
      color: var(--rf-marine);
      font-size: 20px;
      font-weight: 800;
      line-height: 1.3;
      margin-bottom: 15px;
      min-height: 52px;
  }

  .rf-line {
      width: 40px;
      height: 4px;
      background-color: var(--rf-orange);
      margin-bottom: 20px;
      transition: width 0.5s ease;
  }

  .rf-card:hover .rf-line {
      width: 80px;
  }

  .rf-text {
      font-size: 15px;
      line-height: 1.6;
      color: var(--rf-text);
      margin: 0;
  }

  .rf-ruler {
      width: 100%;
      height: 15px;
      margin-top: 60px;
      background-image: repeating-linear-gradient(90deg,
              #ccd5e0 0, #ccd5e0 1px,
              transparent 1px, transparent 12px);
      opacity: 0.4;
  }

  @media (max-width: 1024px) {
      .rf-grid {
          grid-template-columns: repeat(2, 1fr);
      }

      .rf-card.card-top,
      .rf-card.card-bottom {
          grid-column: span 1;
      }
  }

  @media (max-width: 768px) {
      .rf-grid {
          grid-template-columns: 1fr;
      }

      .rf-card.card-top,
      .rf-card.card-bottom {
          grid-column: span 1;
      }
  }

  .lb-table-wrapper {
      max-width: 1100px;
      margin: 40px auto;
      padding: 0 20px;

  }

  .lb-table-header {
      text-align: center;
      margin-bottom: 40px;
  }

  .lb-table-header h2 {
      color: var(--lb-marine);
      font-size: 32px;
      font-weight: 800;
      margin-bottom: 15px;
      line-height: 1.2;
  }

  .lb-table-header p {
      color: var(--lb-text);
      font-size: 17px;
      line-height: 1.6;
      max-width: 800px;
      margin: 0 auto;
  }

  .lb-table-container {
      width: 100%;
      overflow-x: auto;
      background: #fff;
      border-radius: 15px;
      box-shadow: 0 15px 40px rgba(0, 22, 89, 0.08);
      border: 1px solid rgba(0, 22, 89, 0.05);
  }

  .lb-price-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 800px;
  }

  .lb-price-table thead tr {
      background-color: var(--lb-marine);
      color: #ffffff;
      text-align: left;
  }

  .lb-price-table th {
      padding: 20px 25px;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 15px;
      letter-spacing: 0.5px;
      border-right: 1px solid rgba(255, 255, 255, 0.1);
  }

  .lb-price-table td {
      padding: 20px 25px;
      border-bottom: 1px solid #edf2f7;
      color: var(--lb-text);
      font-size: 18px;
      line-height: 25px;
      vertical-align: middle;
  }

  .lb-price-table td:first-child {
      font-weight: 700;
      color: var(--lb-marine);
      background-color: var(--lb-bg-light);
      width: 25%;
  }

  .lb-price-table .lb-price-cell {
      color: var(--lb-orange);
      font-weight: 800;
      font-size: 18px;
      width: 25%;
  }

  .lb-price-table tbody tr:hover {
      background-color: #f2f5ff;
      transition: background 0.3s ease;
  }

  .lb-detail-text {
      font-size: 18px;
      display: block;
      padding-left: 10px;
      border-left: 3px solid var(--lb-orange);
  }

  @media (max-width: 1024px) {
      .lb-table-header h2 {
          font-size: 28px;
      }

      .lb-price-table td,
      .lb-price-table .lb-price-cell,
      .lb-detail-text {
          font-size: 16px;
      }
  }

  @media (max-width: 768px) {

      .lb-table-wrapper,
      .roof-list-container {
          padding: 0 15px;
          margin: 20px auto;
      }

      .lb-table-header h2 {
          font-size: 24px;
      }

      .lb-table-header p {
          font-size: 14px;
          line-height: 1.5;
      }

      .zng-h3 {
          font-size: 18px;
          line-height: 1.3;
          margin-top: 30px;
      }

      .lb-table-container {
          border-radius: 10px;
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
      }

      .lb-price-table td {
          padding: 15px;
          font-size: 14px;
          line-height: 1.4;
      }

      .ch-footer-text {
          font-size: 15px;
          line-height: 1.6;
          padding: 15px;
          margin-top: 15px;
      }

      .zng-tech-info {
          padding: 20px 15px;
          margin-top: 25px;
          border-radius: 10px;
      }

      .zng-list {
          grid-template-columns: 1fr;
          gap: 12px;
          margin-top: 15px;
      }

      .zng-list li {
          font-size: 16px;
          line-height: 1.5;
          padding-left: 20px;
      }

      .zng-list li strong {
          font-size: 18px;
      }

      .roof-item {
          flex-direction: column;
          gap: 10px;
          margin-bottom: 25px;
      }
  }

  @media (max-width: 480px) {
      .lb-price-table {
          min-width: 600px;
      }

      .lb-price-cell {
          font-size: 14px !important;
      }
  }

  .zng-section-wrapper {
      max-width: 1100px;
      margin: 40px auto;
      padding: 0 20px;
      color: var(--zng-text);
      line-height: 1.7;
  }


  .zng-main-title {
      color: var(--zng-marine);
      font-size: 40px;
      font-weight: 600;
      margin-bottom: 25px;
      line-height: 1.2;
  }

  .zng-intro-text {
      font-size: 17px;
      margin-bottom: 30px;
  }

  .zng-intro-text p {
      margin-bottom: 15px;
  }

  .zng-h3 {
      color: var(--zng-marine-h3);
      font-size: 24px;
      font-weight: 700;
      margin-top: 45px;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 15px;
  }

  .zng-h3::before {
      content: "";
      width: 35px;
      height: 4px;
      background: var(--zng-orange);
      display: block;
  }

  .zng-content p {
      margin-bottom: 20px;
      font-size: 16px;
  }

  .zng-tech-info {
      background: var(--zng-bg-soft);
      border: 1px solid #eef2f6;
      border-radius: 15px;
      padding: 35px;
      margin-top: 50px;
      box-shadow: 0 10px 30px rgba(0, 22, 89, 0.03);
  }

  .zng-list {
      list-style: none;
      padding: 0;
      margin: 25px 0 0 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 15px;
  }

  .zng-list li {
      position: relative;
      padding-left: 25px;
      font-size: 16px;
      color: var(--zng-marine);
      font-weight: 500;
  }

  .zng-list li::before {
      content: "■";
      color: var(--zng-orange);
      position: absolute;
      left: 0;
      font-size: 12px;
      top: 2px;
  }

  .zng-list li strong {
      color: var(--zng-marine);
      font-weight: 700;
      font-size: 18px;
  }

  @media (max-width: 1024px) {
      .zng-main-title {
          font-size: 32px;
      }
  }

  @media (max-width: 768px) {
      .zng-section-wrapper {
          margin: 20px auto;
          padding: 0 15px;
      }

      .zng-main-title {
          font-size: 26px;
          margin-bottom: 20px;
      }

      .zng-h3 {
          font-size: 20px;
          margin-top: 35px;
          gap: 10px;
      }

      .zng-h3::before {
          width: 25px;
          height: 3px;
      }

      .zng-intro-text,
      .zng-content p {
          font-size: 15px;
          line-height: 1.6;
          margin-bottom: 15px;
      }

      .zng-tech-info {
          padding: 25px 15px;
          margin-top: 30px;
          border-radius: 10px;
      }

      .zng-list {
          grid-template-columns: 1fr;
          gap: 12px;
          margin-top: 20px;
      }

      .zng-list li {
          font-size: 14px;
          padding-left: 20px;
      }
  }


  .cbd-hero-milieu {
      position: relative;
      min-height: 520px;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      border-radius: 0px;
  }

  .cbd-hero-milieu__fond {
      position: absolute;
      inset: 0;
      z-index: 0;
  }

  .cbd-hero-milieu__fond-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
      filter: brightness(0.5) saturate(0.8);
      transform: scale(1.02);
      transition: transform 8s ease;
  }

  .cbd-hero-milieu:hover .cbd-hero-milieu__fond-img {
      transform: scale(1.08);
  }

  .cbd-hero-milieu__fond-voile {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top,
              rgba(0, 35, 90, 0.98) 0%,
              rgba(0, 35, 90, 0.8) 40%,
              rgba(0, 35, 90, 0.4) 100%);
  }

  .cbd-hero-milieu__contenu {
      position: relative;
      z-index: 1;
      width: 100%;
      padding: 60px 32px 48px;
  }

  .cbd-hero-milieu__container {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 24px;
  }

  .cbd-hero-milieu__titre-wrap {
      display: flex;
      align-items: center;
      gap: 18px;
  }

  .cbd-hero-milieu__icone {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 56px;
      height: 56px;
      background: rgba(255, 94, 20, 0.2);
      border: 1px solid rgba(255, 94, 20, 0.3);
      border-radius: 14px;
      color: var(--lb-orange);
      flex-shrink: 0;
      backdrop-filter: blur(8px);
  }

  .cbd-hero-milieu__titre {
      font-size: 40px;
      max-width: 80%;
      font-weight: 600;
      color: var(--lb-white);
      margin: 0;
      line-height: 50px;
      letter-spacing: -1px;
  }

  .cbd-hero-milieu__paragraphe {
      font-size: 17px;
      color: rgba(255, 255, 255, 0.8);
      line-height: 1.7;
      margin: 0;
      max-width: 600px;
      font-weight: 400;
  }

  .cbd-hero-milieu__paragraphe a:hover {
      color: #ffffff;
  }

  .cbd-hero-milieu__stats {
      display: flex;
      align-items: center;
      gap: 30px;
      padding-top: 24px;
      border-top: 1px solid rgba(255, 255, 255, 0.15);
  }

  .cbd-hero-milieu__stat {
      display: flex;
      flex-direction: column;
      gap: 4px;
  }

  .cbd-hero-milieu__stat-nombre {
      font-size: 24px;
      font-weight: 700;
      color: var(--lb-white);
      line-height: 1;
  }

  .cbd-hero-milieu__stat-label {
      font-size: 12px;
      font-weight: 600;
      color: var(--lb-orange);

      letter-spacing: 1.2px;
  }

  .cbd-hero-milieu__stat-sep {
      width: 1px;
      height: 35px;
      background: rgba(255, 255, 255, 0.2);
  }

  .cbd-hero-milieu__actions {
      display: flex;
      gap: 15px;
      margin-top: 10px;
  }

  .btn-hero-devis,
  .btn-hero-appel {
      padding: 16px 30px;
      border-radius: 12px;
      font-weight: 800;
      font-size: 13px;
      text-decoration: none;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 1px;
      text-align: center;
  }

  .btn-hero-devis {
      background: var(--lb-orange);
      color: var(--lb-white);
  }

  .btn-hero-appel {
      background: transparent;
      color: var(--lb-white);
      border: 2px solid var(--lb-white);
  }

  .btn-hero-devis:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.4);
  }

  .btn-hero-appel:hover {
      background: var(--lb-white);
      color: var(--lb-marine);
  }

  @media (max-width: 768px) {
      .cbd-hero-milieu__container {
          display: flex;
          flex-direction: column;
          gap: 15px;
      }

      .cbd-hero-milieu__icone {
          display: none !important;
      }

      .cbd-hero-milieu__titre {
          font-size: 26px;
          line-height: 1.2;
          letter-spacing: -0.5px;
          order: 1;
      }

      .cbd-hero-milieu__actions {
          order: 2;
          flex-direction: column;
          width: 100%;
          margin-top: 5px;
      }

      .cbd-hero-milieu__paragraphe {
          order: 3;
          font-size: 14px;
          line-height: 1.5;
      }

      .cbd-hero-milieu__stats {
          order: 4;
          gap: 10px;
          padding-top: 15px;
          flex-wrap: wrap;
      }

      .cbd-hero-milieu__stat-sep {
          display: none;
      }

      .cbd-hero-milieu__contenu {
          padding: 30px 20px 30px;
      }
  }

  .lb-devis-wrapper {
      max-width: 1100px;
      margin: 0px auto;
      padding: 0 0px;
      color: #565969;
      line-height: 25px;
  }



  .lb-devis-wrapper h3 {
      color: #00235A;
      font-size: 22px;
      font-weight: 700;
      margin-top: 30px;
      margin-bottom: 20px;
      position: relative;
      padding-bottom: 10px;
      line-height: 25px;
  }

  .lb-devis-wrapper h3::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 50px;
      height: 4px;
      background-color: #FF5E14;
  }

  .lb-devis-wrapper p {
      margin-bottom: 15px;
      font-size: 15.5px;
  }

  .lb-table-scroll {
      overflow-x: auto;
      margin: 30px 0;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  }

  .lb-devis-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 600px;
      border: 1px solid #eee;
  }

  .lb-devis-table thead {
      background-color: #001659;
      color: #ffffff;
  }

  .lb-devis-table th {
      padding: 15px 20px;
      text-align: left;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 13px;
  }

  .lb-devis-table td {
      padding: 20px;
      border-bottom: 1px solid #f0f0f0;
      vertical-align: top;
  }

  .lb-col-mat {
      font-weight: 700;
      color: #001659;
  }

  .lb-col-price {
      color: #FF5E14;
      font-weight: 800;
      white-space: nowrap;
  }

  .lb-bottom-grid {
      display: flex;
      gap: 40px;
      margin-top: 40px;
  }

  .lb-grid-item {
      flex: 1;
  }


  @media (max-width: 900px) {
      .lb-devis-wrapper {
          padding: 0 15px;
      }

      .lb-devis-wrapper h3 {
          font-size: 18px;
          margin-top: 25px;
      }

      .lb-devis-wrapper p {
          font-size: 14px;
          line-height: 22px;
      }

      .lb-table-scroll {
          overflow-x: auto;
          margin: 20px 0;
          border-radius: 8px;
      }

      .lb-devis-table {
          min-width: 500px;
      }

      .lb-devis-table th {
          padding: 12px 15px;
          font-size: 11px;
      }

      .lb-devis-table td {
          padding: 12px 15px;
          font-size: 13px;
      }

      .lb-bottom-grid {
          flex-direction: column;
          gap: 25px;
      }

      .lb-grid-item {
          flex: auto;
      }
  }

  @media (max-width: 600px) {
      .lb-table-scroll {
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
      }

      .lb-devis-table {
          min-width: 480px;
      }

      .lb-devis-table th,
      .lb-devis-table td {
          white-space: nowrap;
      }

      .lb-col-price {
          white-space: nowrap;
      }
  }


  .lb-history-section {
      max-width: 1200px;
      margin: 0px auto;
      padding: 0 20px;
  }

  .lb-history-grid {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 60px;
      align-items: center;
  }

  .lb-history-content h2 {
      color: var(--lb-marine);
      font-size: 40px;
      font-weight: 600;
      line-height: 45px;
      margin-bottom: 30px;
      position: relative;
  }

  .lb-history-content h2::after {
      content: "";
      display: block;
      width: 70px;
      height: 5px;
      background: var(--lb-orange);
      margin-top: 15px;
  }

  .lb-history-content p {
      color: var(--lb-text);
      font-size: 17px;
      line-height: 27px;
      margin-bottom: 25px;
      text-align: justify;
  }

  .lb-btn-history {
      display: inline-flex;
      align-items: center;
      background-color: var(--lb-orange);
      color: #ffffff;
      padding: 18px 35px;
      border-radius: 12px;
      text-decoration: none;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 14px;
      letter-spacing: 1px;
      box-shadow: 0 10px 20px rgba(255, 94, 20, 0.2);
      transition: all 0.3s ease;
      margin-top: 10px;
  }

  .lb-btn-history:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 30px rgba(255, 94, 20, 0.3);
      background-color: var(--lb-marine);
      color: #ffffff;
  }

  .lb-history-visual {
      position: relative;
      padding: 40px;
      background: var(--lb-marine);
      border-radius: 20px;
      color: white;
      text-align: center;
      overflow: hidden;
  }

  .lb-history-visual::before {
      content: "2018";
      position: absolute;
      top: -20px;
      left: -10px;
      font-size: 120px;
      font-weight: 900;
      opacity: 0.05;
      color: white;
  }

  .lb-visual-big-text {
      font-size: 60px;
      font-weight: 900;
      color: var(--lb-orange);
      display: block;
      line-height: 1;
  }

  .lb-visual-sub {
      font-size: 18px;
      text-transform: uppercase;
      letter-spacing: 2px;
      margin-top: 10px;
      display: block;
  }

  .lb-visual-line {
      width: 50px;
      height: 2px;
      background: rgba(255, 255, 255, 0.2);
      margin: 20px auto;
  }

  @media (max-width: 991px) {
      .lb-history-grid {
          grid-template-columns: 1fr;
          gap: 40px;
      }

      .lb-history-visual {
          order: -1;
      }
  }

  @media (max-width: 768px) {
      .lb-history-section {
          margin: 40px auto;
      }

      .lb-history-content h2 {
          font-size: 26px;
      }

      .lb-btn-history {
          width: 100%;
          justify-content: center;
      }
  }

  .lb-steps-section {
      max-width: 1200px;
      margin: 0px auto;
      padding: 0 20px;
  }

  .lb-steps-header {
      text-align: center;
      margin-bottom: 60px;
  }

  .lb-steps-header h2 {
      color: var(--lb-marine);
      font-size: clamp(26px, 4vw, 36px);
      font-weight: 800;
      margin-bottom: 15px;
  }

  .lb-steps-header p {
      color: var(--lb-text);
      font-size: 18px;
      max-width: 800px;
      margin: 0 auto;
  }

  .lb-steps-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      position: relative;
  }

  .lb-steps-grid::before {
      content: "";
      position: absolute;
      top: 40px;
      left: 10%;
      right: 10%;
      height: 2px;
      background: #e5e7eb;
      z-index: 0;
  }

  .lb-step-card {
      position: relative;
      z-index: 1;
      text-align: center;
      padding: 0 10px;
  }

  /* Cercle avec numéro */
  .lb-step-number {
      width: 80px;
      height: 80px;
      background: white;
      border: 3px solid var(--lb-orange);
      color: var(--lb-marine);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 25px;
      font-size: 24px;
      font-weight: 900;
      box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
      transition: all 0.3s ease;
  }

  .lb-step-card:hover .lb-step-number {
      background: var(--lb-orange);
      color: white;
      transform: scale(1.1);
  }

  .lb-step-card h3 {
      color: var(--lb-marine);
      font-size: 20px;
      line-height: 30px;
      font-weight: 600;
      margin-bottom: 15px;
      min-height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .lb-step-card p {
      color: var(--lb-text);
      font-size: 15px;
      line-height: 1.6;
  }

  @media (max-width: 991px) {
      .lb-steps-grid {
          grid-template-columns: 1fr;
          gap: 50px;
      }

      .lb-steps-grid::before {
          display: none;
      }

      .lb-step-card h3 {
          min-height: auto;
      }
  }

  @media (max-width: 768px) {
      .lb-steps-section {
          margin: 40px auto;
      }

      .lb-step-number {
          width: 60px;
          height: 60px;
          font-size: 20px;
      }
  }

  .lb-final-wrapper {
      max-width: 1200px;
      margin: 0px auto;
      padding: 0 20px;
  }


  .lb-split-header {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 80px;
  }

  .lb-trust-tag {
      display: inline-block;
      background: rgba(255, 94, 20, 0.1);
      color: var(--lb-orange);
      padding: 6px 15px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 25px;
  }

  .lb-header-text h2 {
      color: var(--lb-marine);
      font-size: 40px;
      font-weight: 600;
      line-height: 50px;
      margin-bottom: 25px;
      letter-spacing: -1.5px;
  }

  .lb-header-text p {
      font-size: 18px;
      line-height: 30px;
      color: var(--lb-text);
      margin-bottom: 35px;
  }

  .lb-image-frame {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 20px 20px 0px var(--lb-soft);
      height: 500px;
  }

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

  .lb-cta-group {
      display: flex;
      gap: 15px;
  }

  .lb-btn {
      padding: 18px 30px;
      border-radius: 8px;
      font-weight: 800;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 14px;
      transition: 0.3s;
  }

  .lb-btn-main {
      background: var(--lb-orange);
      color: #fff;
      box-shadow: 0 10px 25px rgba(255, 94, 20, 0.2);
  }

  .lb-btn-sec {
      background: var(--lb-marine);
      color: #fff;
  }

  .lb-btn:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
  }

  .lb-service-matrix {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
  }

  .lb-matrix-card {
      background: var(--lb-soft);
      padding: 45px;
      border-radius: 4px;
      border-left: 5px solid transparent;
      transition: all 0.4s ease;
      position: relative;
  }

  .lb-matrix-card:hover {
      background: #ffffff;
      box-shadow: 0 30px 60px rgba(0, 22, 89, 0.08);
      border-left-color: var(--lb-orange);
      transform: scale(1.02);
  }

  .lb-matrix-num {
      position: absolute;
      top: 30px;
      right: 40px;
      font-size: 60px;
      font-weight: 900;
      color: var(--lb-marine);
      opacity: 0.04;
  }

  .lb-matrix-card h3 {
      color: var(--lb-marine);
      font-size: 22px;
      line-height: 27px;
      font-weight: 600;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .lb-matrix-card h3::before {
      display: none !important;
  }

  .lb-matrix-card svg {
      width: 28px;
      height: 28px;
      color: var(--zp-orange);
      flex-shrink: 0;
  }

  .lb-matrix-card p {
      font-size: 15.5px;
      line-height: 1.7;
      margin: 0;
  }

  @media (max-width: 991px) {
      .lb-split-header {
          grid-template-columns: 1fr;
          text-align: left;
          gap: 40px;
          margin-bottom: 50px;
      }

      .lb-header-text h2 {
          font-size: 32px;
          line-height: 1.2;
      }

      .tx-intro-btns {
          display: flex;
          justify-content: flex-start !important;
          gap: 15px;
      }

      .lb-image-frame {
          max-width: 100%;
          margin: 0;
          height: 350px;
          box-shadow: 10px 10px 0px var(--lb-soft);
      }

      .lb-service-matrix {
          grid-template-columns: 1fr;
          gap: 20px;
      }

      .lb-matrix-card {
          padding: 30px 25px;
      }
  }

  @media (max-width: 600px) {
      .lb-final-wrapper {
          padding: 0 15px;
      }

      .lb-header-text h2 {
          font-size: 26px;
      }

      .tx-intro-btns {
          flex-direction: column;
          align-items: flex-start;
      }

      .btn-intro-call,
      .btn-intro-quote {
          width: 100%;
          text-align: center;
      }

      .lb-matrix-card {
          padding: 25px 20px;
      }

      .lb-matrix-card h3 {
          font-size: 19px;
      }
  }


  .zng-prestige-wrapper {
      max-width: 1200px;
      margin: 0px auto;
      padding: 0 20px;
  }

  .zng-prestige-split {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 80px;
  }

  .zng-prestige-tag {
      display: inline-block;
      background: rgba(255, 94, 20, 0.1);
      color: var(--zp-orange);
      padding: 6px 15px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 25px;
  }

  .zng-prestige-h2 {
      color: var(--zp-marine);
      font-size: 40px;
      font-weight: 600;
      line-height: 50px;
      margin-bottom: 25px;
      letter-spacing: -1.5px;
  }

  .zng-prestige-p {
      font-size: 18px;
      line-height: 30px;
      color: var(--zp-text);
      margin-bottom: 20px;
  }

  .zng-prestige-frame {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 20px 20px 0px var(--zp-soft);
      height: 500px;
  }

  .zng-prestige-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }

  .zng-prestige-btns {
      display: flex;
      gap: 15px;
      padding-top: 20px;
  }

  .zng-prestige-btn-call,
  .zng-prestige-btn-quote {
      padding: 18px 30px;
      border-radius: 8px;
      font-weight: 800;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 14px;
      transition: 0.3s;
      display: inline-block;
  }

  .zng-prestige-btn-call {
      background: var(--zp-orange);
      color: #fff;
      box-shadow: 0 10px 25px rgba(255, 94, 20, 0.2);
  }

  .zng-prestige-btn-quote {
      background: var(--zp-marine);
      color: #fff;
  }

  .zng-prestige-btn-call:hover,
  .zng-prestige-btn-quote:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
  }

  .zng-prestige-matrix {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
  }

  .zng-prestige-card {
      background: var(--zp-soft);
      padding: 45px;
      border-radius: 4px;
      border-left: 5px solid transparent;
      transition: all 0.4s ease;
      position: relative;
  }

  .zng-prestige-card:hover {
      background: #ffffff;
      box-shadow: 0 30px 60px rgba(0, 22, 89, 0.08);
      border-left-color: var(--zp-orange);
      transform: scale(1.02);
  }

  .zng-prestige-num {
      position: absolute;
      top: 30px;
      right: 40px;
      font-size: 60px;
      font-weight: 900;
      color: var(--zp-marine);
      opacity: 0.04;
  }

  .zng-prestige-h3 {
      color: var(--zp-marine);
      font-size: 21px;
      line-height: 27px;
      font-weight: 600;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .zng-prestige-h3::before {
      display: none !important;
  }

  .zng-prestige-h3 svg {
      width: 28px;
      height: 28px;
      color: var(--zp-orange);
      flex-shrink: 0;
  }

  .zng-prestige-card-p {
      font-size: 15.5px;
      line-height: 1.7;
      margin: 0;
      color: var(--zp-text);
  }

  @media (max-width: 1024px) {
      .zng-prestige-matrix {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 991px) {
      .zng-prestige-split {
          grid-template-columns: 1fr;
          text-align: left !important;
          gap: 40px;
          margin-bottom: 50px;
      }

      .tx-intro-btns,
      .zng-prestige-btns {
          justify-content: flex-start !important;
      }

      .zng-prestige-h2 {
          font-size: 32px;
          line-height: 1.2;
      }

      .zng-prestige-frame {
          max-width: 100%;
          margin: 0;
          height: 350px;
          box-shadow: 10px 10px 0px var(--zp-soft);
      }
  }

  @media (max-width: 768px) {
      .zng-prestige-matrix {
          grid-template-columns: 1fr;
          gap: 20px;
      }
  }

  @media (max-width: 600px) {
      .zng-prestige-wrapper {
          padding: 0 15px;
      }

      .zng-prestige-h2 {
          font-size: 26px;
      }

      .tx-intro-btns,
      .zng-prestige-btns {
          flex-direction: column;
          align-items: flex-start;
          width: 100%;
      }

      .btn-intro-call,
      .btn-intro-quote,
      .zng-prestige-btn-call,
      .zng-prestige-btn-quote {
          width: 100%;
          text-align: center;
      }

      .zng-prestige-card {
          padding: 30px 20px;
      }

      .zng-prestige-h3 {
          font-size: 19px;
      }
  }

  .z-dual-wrapper {
      max-width: 1200px;
      margin: 0px auto;
      padding: 0 20px;

  }

  .z-dual-split {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 80px;
  }

  .z-dual-tag {
      display: inline-block;
      background: rgba(255, 94, 20, 0.1);
      color: var(--zd-orange);
      padding: 6px 15px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 25px;
  }

  .z-dual-h2 {
      color: var(--zd-marine);
      font-size: 40px;
      font-weight: 600;
      line-height: 50px;
      margin-bottom: 25px;
      letter-spacing: -1.5px;
  }

  .z-dual-p {
      font-size: 18px;
      line-height: 30px;
      color: var(--zd-text);
      margin-bottom: 20px;
  }

  .z-dual-frame {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 20px 20px 0px var(--zd-soft);
      height: 500px;
  }

  .z-dual-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }

  .z-dual-btns-wrap {
      display: flex;
      gap: 15px;
      padding-top: 20px;
  }

  .z-dual-btn-call,
  .z-dual-btn-quote {
      padding: 18px 30px;
      border-radius: 8px;
      font-weight: 800;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 14px;
      transition: 0.3s;
      display: inline-block;
      text-align: center;
  }

  .z-dual-btn-call {
      background: var(--zd-orange);
      color: #fff;
      box-shadow: 0 10px 25px rgba(255, 94, 20, 0.2);
  }

  .z-dual-btn-quote {
      background: var(--zd-marine);
      color: #fff;
  }

  .z-dual-btn-call:hover,
  .z-dual-btn-quote:hover {
      transform: translateY(-5px);
      filter: brightness(1.1);
  }

  .z-dual-matrix {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
  }

  .z-dual-card {
      background: var(--zd-soft);
      padding: 45px;
      border-radius: 4px;
      border-left: 5px solid transparent;
      transition: all 0.4s ease;
      position: relative;
  }

  .z-dual-card:hover {
      background: #ffffff;
      box-shadow: 0 30px 60px rgba(0, 22, 89, 0.08);
      border-left-color: var(--zd-orange);
      transform: scale(1.02);
  }

  .z-dual-num {
      position: absolute;
      top: 30px;
      right: 40px;
      font-size: 60px;
      font-weight: 900;
      color: var(--zd-marine);
      opacity: 0.04;
  }

  .z-dual-h3 {
      color: var(--zd-marine);
      font-size: 21px;
      line-height: 27px;
      font-weight: 600;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .z-dual-h3 svg {
      width: 28px;
      height: 28px;
      color: var(--zd-orange);
      flex-shrink: 0;
  }

  .z-dual-card-p {
      font-size: 15.5px;
      line-height: 1.7;
      margin: 0;
      color: var(--zd-text);
  }

  @media (max-width: 991px) {
      .z-dual-split {
          grid-template-columns: 1fr;
          text-align: left !important;
          gap: 40px;
          margin-bottom: 50px;
      }

      .tx-intro-btns,
      .z-dual-btns-wrap {
          justify-content: flex-start !important;
          display: flex;
          gap: 15px;
      }

      .z-dual-h2 {
          font-size: 32px;
          line-height: 1.2;
      }

      .z-dual-p {
          font-size: 16px;
          line-height: 1.6;
      }

      .z-dual-frame {
          max-width: 100%;
          margin: 0;
          height: 350px;
          box-shadow: 10px 10px 0px var(--zd-soft);
      }

      .z-dual-matrix {
          grid-template-columns: 1fr;
          gap: 20px;
      }
  }

  @media (max-width: 600px) {
      .z-dual-wrapper {
          padding: 0 15px;
      }

      .z-dual-h2 {
          font-size: 26px;
      }

      .tx-intro-btns,
      .z-dual-btns-wrap {
          flex-direction: column;
          align-items: flex-start;
          width: 100%;
      }

      .btn-intro-call,
      .btn-intro-quote,
      .z-dual-btn-call,
      .z-dual-btn-quote {
          width: 100%;
          text-align: center;
      }

      .z-dual-card {
          padding: 30px 20px;
      }

      .z-dual-h3 {
          font-size: 19px;
          line-height: 1.3;
      }
  }


  .tx-gallery-section {
      padding: 0px 0;
      background-color: transparent;
  }

  .tx-gallery-container {
      width: 100%;
      max-width: 1300px;
      margin: 0 auto;
      position: relative;
  }

  .tx-photos-swiper {
      padding: 40px 0 60px 0 !important;
  }

  .tx-photos-swiper .swiper-slide {
      width: 400px;
      height: 500px;
      transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .tx-pic-box {
      position: relative;
      width: 100%;
      height: 100%;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 15px 45px rgba(0, 35, 90, 0.15);
      background: #eee;
  }

  .tx-pic-box::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 35, 90, 0.6);
      transition: opacity 0.6s ease;
      z-index: 2;
      pointer-events: none;
  }

  .swiper-slide-active .tx-pic-box::after {
      opacity: 0;
  }

  .tx-pic-box img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }

  .tx-gallery-nav {
      display: flex;
      justify-content: center;
      gap: 25px;
      margin-top: 20px;
  }

  .tx-arrow {
      width: 55px;
      height: 55px;
      border: 2px solid #00235a;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #00235a;
      transition: all 0.4s ease;
      background: white;
  }

  .tx-arrow:hover {
      background-color: #ff5e14;
      border-color: #ff5e14;
      color: #ffffff;
      transform: scale(1.1);
      box-shadow: 0 8px 20px rgba(255, 94, 20, 0.3);
  }

  .tx-arrow svg {
      width: 22px;
      height: 22px;
  }

  @media (max-width: 1024px) {
      .tx-photos-swiper .swiper-slide {
          width: 320px;
          height: 420px;
      }
  }

  @media (max-width: 768px) {
      .tx-photos-swiper .swiper-slide {
          width: 280px;
          height: 380px;
      }

      .tx-arrow {
          width: 45px;
          height: 45px;
      }
  }

  .rf-ext-wrapper {
      max-width: 1200px;
      margin: 40px auto;
      padding: 0 20px;
  }

  .rf-ext-grid {
      display: flex;
      align-items: center;
      flex-direction: row;
      gap: 60px;
  }

  .rf-ext-text {
      flex: 1.2;
  }

  .rf-ext-text h2 {
      color: var(--lb-marine);
      font-size: 38px;
      font-weight: 600;
      line-height: 1.2;
      margin-bottom: 30px;
      position: relative;
  }

  .rf-ext-text h2::before {
      content: "";
      position: absolute;
      top: -15px;
      left: 0;
      width: 50px;
      height: 4px;
      background: var(--lb-orange);
  }

  .rf-ext-text h3 {
      color: var(--lb-marine-h3);
      font-size: 22px;
      font-weight: 700;
      margin-bottom: 20px;
      line-height: 1.4;
  }




  .rf-ext-visual {
      flex: 1;
      position: relative;
  }

  .rf-image-container {
      position: relative;
      z-index: 2;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 20px 20px 0px rgba(0, 22, 89, 0.05);
      transition: transform 0.4s ease;
  }

  .rf-image-container img {
      width: 100%;
      height: auto;
      display: block;
      transition: transform 0.8s ease;
  }

  .rf-ext-visual:hover .rf-image-container img {
      transform: scale(1.08);
  }


  .rf-ext-visual::after {
      content: "";
      position: absolute;
      top: -20px;
      right: -20px;
      width: 100px;
      height: 100px;
      border-top: 6px solid var(--lb-orange);
      border-right: 6px solid var(--lb-orange);
      z-index: 1;
  }


  @media (max-width: 1024px) {
      .rf-ext-grid {
          flex-direction: column;
          text-align: left;
          gap: 40px;
      }

      .rf-ext-text h2 {
          font-size: 28px;
      }

      .rf-ext-text h2::before {
          left: 0;
          transform: none;
      }

      .rf-ext-visual {
          width: 100%;
      }

      .rf-image-container {
          box-shadow: 10px 10px 0px rgba(0, 22, 89, 0.05);
      }

      .rf-ext-visual::after {
          display: none;
      }
  }


  .tx-merci-container {
      --navy-dark: #001659;
      --blue-theme: #ff5e14;
      --red-btn: #ff5e14;
      --white: #ffffff;

      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 80vh;
      padding: 20px;
      font-family: 'DM Sans', sans-serif;
      text-align: center;
      background-color: #fcfdfe;
  }

  .tx-merci-card {
      max-width: 600px;
      width: 100%;
      position: relative;
  }

  .tx-icon-visual {
      position: relative;
      width: 180px;
      height: 180px;
      margin: 0 auto 40px;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .tx-main-circle {
      width: 90px;
      height: 90px;
      background: linear-gradient(135deg, var(--blue-theme) 0%, #ff5e14 100%);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      z-index: 2;
      box-shadow: 0 10px 25px rgba(89, 168, 217, 0.3);
      animation: txPop 0.6s cubic-bezier(0.17, 0.67, 0.83, 0.67);
  }


  .tx-dot {
      position: absolute;
      background-color: var(--blue-theme);
      border-radius: 50%;
      opacity: 0.6;
      animation: txFloat 3s infinite ease-in-out;
  }


  .d1 {
      width: 12px;
      height: 12px;
      top: 10%;
      left: 20%;
      animation-delay: 0.2s;
  }

  .d2 {
      width: 8px;
      height: 8px;
      top: 25%;
      right: 15%;
      animation-delay: 0.5s;
  }

  .d3 {
      width: 14px;
      height: 14px;
      bottom: 15%;
      left: 10%;
      opacity: 0.8;
  }

  .d4 {
      width: 6px;
      height: 6px;
      bottom: 10%;
      right: 25%;
  }

  .d5 {
      width: 10px;
      height: 10px;
      top: 50%;
      right: 5%;
      animation-delay: 0.8s;
  }

  .d6 {
      width: 5px;
      height: 5px;
      top: 5%;
      right: 40%;
  }

  .d7 {
      width: 7px;
      height: 7px;
      bottom: 5%;
      left: 45%;
  }

  .tx-merci-h1 {
      font-size: clamp(24px, 4vw, 36px);
      font-weight: 600;
      color: var(--navy-dark);
      margin-bottom: 20px;
      line-height: 1.2;
  }

  .tx-merci-p {
      font-size: 18px;
      color: #5a6375;
      line-height: 1.6;
      margin-bottom: 40px !important;
      max-width: 500px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      margin-top: 30px !important;
  }


  .tx-btn-back {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      background-color: var(--red-btn);
      color: var(--white) !important;
      text-decoration: none !important;
      padding: 18px 40px;
      border-radius: 8px;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 14px;
      letter-spacing: 1px;
      transition: 0.3s all ease;
      box-shadow: 0 8px 20px rgba(191, 38, 51, 0.2);
  }

  .tx-btn-back:hover {
      background-color: var(--blue-theme);
      transform: translateY(-3px);
      box-shadow: 0 12px 25px rgba(89, 168, 217, 0.3);
  }


  @keyframes txPop {
      0% {
          transform: scale(0);
          opacity: 0;
      }

      80% {
          transform: scale(1.1);
      }

      100% {
          transform: scale(1);
          opacity: 1;
      }
  }

  @keyframes txFloat {

      0%,
      100% {
          transform: translateY(0px);
      }

      50% {
          transform: translateY(-10px);
      }
  }

  @media (max-width: 600px) {
      .tx-merci-h1 {
          font-size: 24px;
      }

      .tx-merci-p {
          font-size: 16px;
      }

      .tx-btn-back {
          width: 100%;
          justify-content: center;
      }
  }



  .tx-real-section {
      --navy: #00235a;
      --orange: #ff5e14;
      --white: #ffffff;
      --gray-light: #f8fafd;

      padding: 40px 20px !important;
      background-color: var(--gray-light);
      content-visibility: auto !important;
      contain-intrinsic-size: 800px !important;

  }

  .tx-real-container {
      max-width: 1240px !important;
      margin: 0 auto !important;
  }


  .tx-real-filter-nav {
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 100px !important;
      z-index: 99 !important;
      background-color: var(--gray-light) !important;
      padding: 20px 0 !important;
      margin-bottom: 40px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: center !important;
      width: 100% !important;
      gap: 15px !important;
      padding: 15px 10px !important;
  }

  .tx-real-filter-item {
      background: var(--white) !important;
      border: 2px solid var(--navy) !important;
      padding: 10px 24px !important;
      border-radius: 12px !important;
      cursor: pointer !important;
      font-weight: 700 !important;
      font-size: 14px !important;
      color: var(--navy) !important;
      transition: all 0.3s ease !important;
      text-transform: uppercase !important;
      margin: 0 !important;
  }

  .tx-real-filter-item.active,
  .tx-real-filter-item:hover {
      background: var(--orange) !important;
      color: var(--white) !important;
      border-color: var(--orange) !important;
  }


  .tx-real-grid {
      display: grid !important;
      grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
      gap: 25px !important;
      width: 100% !important;
  }

  .tx-real-card {
      background: var(--white) !important;
      border-radius: 20px !important;
      overflow: hidden !important;
      box-shadow: 0 10px 30px rgba(0, 35, 90, 0.05) !important;
      transition: transform 0.4s ease !important;
      will-change: transform !important;
  }

  .tx-real-card:hover {
      transform: translateY(-10px) !important;
  }

  .tx-real-img-box {
      position: relative !important;
      width: 100% !important;
      height: 280px !important;
      overflow: hidden !important;
  }

  .tx-real-img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      transition: transform 0.6s ease !important;
  }

  .tx-real-card:hover .tx-real-img {
      transform: scale(1.1) !important;
  }

  .tx-real-body {
      padding: 20px !important;
      text-align: center !important;
      border-top: 3px solid var(--orange) !important;
  }

  .tx-real-category-label {
      font-size: 11px !important;
      font-weight: 800 !important;
      color: var(--orange) !important;
      text-transform: uppercase !important;
      letter-spacing: 1px !important;
      margin-bottom: 5px !important;
      display: block !important;
  }

  .tx-real-title {
      font-size: 18px !important;
      line-height: 23px;
      font-weight: 700 !important;
      color: var(--navy) !important;
      margin: 0 !important;
  }

  .tx-real-hidden {
      display: none !important;
  }

  .tx-real-visible {
      display: block !important;
      animation: txFadeIn 0.5s ease forwards !important;
  }

  @keyframes txFadeIn {
      from {
          opacity: 0;
          transform: scale(0.95);
      }

      to {
          opacity: 1;
          transform: scale(1);
      }
  }

  @media (max-width: 768px) {

      .tx-real-filter-nav {
          top: 70px !important;
          display: flex !important;
          flex-wrap: wrap !important;
          justify-content: center !important;
          gap: 10px !important;
          padding: 10px !important;
      }

      .tx-real-filter-item {
          flex: 0 1 calc(50% - 10px) !important;
          width: calc(50% - 10px) !important;
          font-size: 11px !important;
          padding: 10px 5px !important;
          margin: 0 !important;
          text-align: center !important;
          display: flex !important;
          justify-content: center !important;
          align-items: center !important;
      }

      .tx-real-grid {
          grid-template-columns: 1fr !important;
          gap: 20px !important;
      }
  }

  .lb-prestige-stats {
      max-width: 1100px;
      margin: 30px auto;
      padding: 0 20px;
  }

  .lb-ribbon-container {
      display: flex;
      background: var(--arch-glass);
      backdrop-filter: blur(10px);
      border: 1px solid var(--arch-line);
      border-radius: 4px;
      padding: 35px 0;
      position: relative;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.03);
  }

  .lb-ribbon-container::before {
      content: "";
      position: absolute;
      top: 0;
      left: 5%;
      right: 5%;
      height: 4px;
      background: repeating-linear-gradient(90deg, var(--arch-orange), var(--arch-orange) 2px, transparent 2px, transparent 20px);
      opacity: 0.3;
  }

  .lb-ribbon-item {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      transition: all 0.4s ease;
      cursor: default;
  }

  .lb-stat-icon {
      color: var(--arch-orange);
      margin-bottom: 15px;
      transition: transform 0.4s ease, color 0.4s ease;
  }

  .lb-stat-icon svg {
      width: 35px;
      height: 35px;
      stroke-width: 1.5px;
  }

  .lb-ribbon-item:not(:last-child)::after {
      content: "+";
      position: absolute;
      right: -10px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--arch-orange);
      font-weight: 300;
      font-size: 20px;
      opacity: 0.4;
  }

  .lb-stat-val {
      font-size: 44px;
      font-weight: 900;
      color: var(--arch-marine);
      line-height: 1;
      margin-bottom: 8px;
      transition: transform 0.3s ease;
  }

  .lb-stat-label {
      font-size: 13px;
      font-weight: 700;
      color: var(--arch-text);
      text-transform: uppercase;
      letter-spacing: 2px;
      position: relative;
      padding-top: 15px;
      text-align: center;
  }

  .lb-stat-label::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 15px;
      height: 1px;
      background: var(--arch-orange);
      transition: width 0.3s ease;
  }

  .lb-ribbon-item:hover .lb-stat-icon {
      transform: scale(1.15);
  }

  .lb-ribbon-item:hover .lb-stat-val {
      transform: translateY(-5px);
      color: var(--arch-orange);
  }

  .lb-ribbon-item:hover .lb-stat-label::before {
      width: 40px;
  }

  @media (max-width: 1024px) {
      .lb-stat-val {
          font-size: 36px;
      }

      .lb-stat-label {
          font-size: 11px;
          letter-spacing: 1px;
      }
  }

  @media (max-width: 768px) {
      .lb-prestige-stats {
          padding: 0 15px;
      }

      .lb-ribbon-container {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          padding: 40px 10px;
          gap: 40px 0;
      }

      .lb-ribbon-item::after {
          display: none;
      }

      .lb-stat-val {
          font-size: 32px;
      }

      .lb-stat-label {
          font-size: 11px;
          padding: 10px 5px 0 5px;
      }

      .lb-ribbon-item:nth-child(1),
      .lb-ribbon-item:nth-child(2) {
          border-bottom: 1px solid var(--arch-line);
          padding-bottom: 30px;
      }
  }

  @media (max-width: 480px) {
      .lb-stat-val {
          font-size: 28px;
      }

      .lb-stat-label {
          font-size: 10px;
      }
  }

  .mkdf-404-intro-title {
      display: none !important;
  }


  .mkdf-404-text {
      display: block;
      max-width: 450px !important;
      margin: 0 auto;
      line-height: 1.6;
  }



  /* Forcer l'opacité et la visibilité de tout le bloc 404 */
  .mkdf-page-not-found {
      opacity: 1 !important;
      visibility: visible !important;
  }

  .mkdf-404-intro-title {
      color: #FF5E14 !important;/ opacity: 1 !important;
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: 10px;
      text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
  }


  .mkdf-404-title {
      color: #ffffff !important;
      opacity: 1 !important;
      font-size: 100px !important;
      line-height: 1 !important;
      font-weight: 600 !important;
      margin: 0 !important;
      text-shadow: 4px 4px 15px rgba(0, 0, 0, 0.8);
  }

  .mkdf-404-text {
      color: #ffffff !important;
      opacity: 1 !important;
      font-size: 20px !important;
      line-height: 1.6 !important;
      font-weight: 500 !important;
      max-width: 600px;
      margin: 20px auto !important;
      text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9);
  }


  .mkdf-page-not-found .mkdf-btn {
      opacity: 1 !important;
      background-color: #FF5E14 !important;
      border-color: #FF5E14 !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  }

  .mkdf-404-page .mkdf-content {
      position: relative;
      background-color: rgba(0, 22, 89, 0.5) !important;
      background-blend-mode: multiply;
  }


  .mkdf-404-page .mkdf-content {
      background-size: cover !important;
      background-position: center !important;
  }

  .mkdf-404-title,
  .mkdf-404-text {
      text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5) !important;
  }



  /*===========================================*/

  .tx-acceptance-dark label {
      margin-top: 0 !important;
  }

  .tx-acceptance-dark {
      margin-top: -10px !important;
      padding-top: 0 !important;
  }

  .tx-acceptance-dark label {
      text-transform: none !important;
  }

  .tx-acceptance-dark {
      margin-top: 10px;
      margin-bottom: 20px;
  }

  .tx-acceptance-dark .wpcf7-list-item {
      margin: 0;
      display: block;
  }

  .tx-acceptance-dark label {
      display: flex !important;
      align-items: flex-start !important;
      gap: 12px !important;
      cursor: pointer;
      color: rgba(255, 255, 255, 0.8) !important;
      font-size: 14px !important;
      line-height: 1.5 !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      font-weight: 400 !important;
  }

  .tx-acceptance-dark input[type="checkbox"] {
      width: 20px;
      height: 20px;
      margin-top: 2px;
      flex-shrink: 0;
      cursor: pointer;
      accent-color: #FF5E14;
      border: 1px solid rgba(255, 255, 255, 0.3);
      background: rgba(255, 255, 255, 0.05);
  }

  .tx-acceptance-dark label:hover {
      color: #ffffff !important;
  }

  .tx-submit:disabled {
      opacity: 0.4;
      cursor: not-allowed;
      filter: grayscale(1);
  }

  .tx-acceptance-dark {
      margin-top: 0 !important;
      padding-top: 0 !important;
  }

  .tx-form-wrapper .tx-form-row:has(.tx-acceptance-dark) {
      margin-top: -15px !important;
  }