/*
Theme Name: DML Fußbodenheizung
Theme URI: https://www.fussbodenheizung-nachtraeglich-einfraesen.de/
Author: UIX Werbeagentur Köln/Bonn von Maximilian Balkenholl
Author URI: https://www.uix.de
Description: Maßgeschneidertes WordPress Theme für DML Fußbodenheizung – nachträgliches Einfräsen bundesweit. Modern, verkaufsoptimiert, SEO-ready, glassmorphism Design mit Rot als Hausfarbe. Kompatibel mit WPBakery Page Builder / Visual Composer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
License URI: https://www.uix.de
Text Domain: dml-theme
Tags: custom-logo, custom-menu, one-column, two-columns, full-width-template, theme-options
*/

/* ===================================================================
   RESET & BASE
   =================================================================== */
   *,
   *::before,
   *::after {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
   }
   
   :root {
     --dml-red: #c41e1e;
     --dml-red-dark: #a01818;
     --dml-red-light: rgba(196, 30, 30, 0.08);
     --dml-dark: #111111;
     --dml-text: #333333;
     --dml-text-light: #666666;
     --dml-text-muted: #888888;
     --dml-bg: #fafaf8;
     --dml-bg-alt: #f5f5f3;
     --dml-white: #ffffff;
     --dml-footer-bg: #141414;
     --dml-radius: 0.75rem;
     --dml-radius-lg: 1rem;
     --dml-radius-xl: 1.5rem;
     --dml-shadow-sm: 0 2px 20px rgba(0,0,0,0.03);
     --dml-shadow-md: 0 8px 40px rgba(0,0,0,0.06);
     --dml-shadow-red: 0 8px 30px rgba(196,30,30,0.25);
   }
   
   html {
     scroll-behavior: smooth;
     color-scheme: light !important;
     -webkit-text-size-adjust: 100%;
   }
   
   body {
     font-family: 'Inter', system-ui, -apple-system, sans-serif;
     font-size: 16px;
     line-height: 1.6;
     color: var(--dml-text);
     background: var(--dml-bg);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
   }
   
   ::selection {
     background: rgba(196, 30, 30, 0.15);
     color: inherit;
   }
   
   img {
     max-width: 100%;
     height: auto;
     display: block;
   }
   
   a {
     text-decoration: none;
     color: inherit;
     transition: all 0.3s ease;
   }
   
   ul, ol {
     list-style: none;
   }
   
   /* ===================================================================
      TYPOGRAPHY
      =================================================================== */
   h1, h2, h3, h4, h5, h6,
   .font-serif {
     font-family: 'Playfair Display', Georgia, serif;
   }
   
   .font-sans {
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   /* ===================================================================
      LEGACY CONTENT OVERRIDES (from old theme / WPBakery)
      Diese Regeln überschreiben manuell eingetragene Styles aus dem alten Theme
      Höhere Spezifität durch body prefix um inline styles zu überschreiben
      =================================================================== */
   
   /* Subpage Header vom alten Theme ausblenden */
   body .subpage-header,
   html body .subpage-header,
   .subpage-header {
     display: none !important;
   }
   
   /* 
    * .header-title wird im alten Theme mit negativem margin-top verwendet, 
    * um über einem Slider zu schweben. Im neuen Theme gibt es keinen Slider,
    * daher resetten wir die Position komplett.
    */
   body .header-title,
   html body .header-title,
   body div.header-title,
   .site-main .header-title,
   .entry-content .header-title {
     /* RESET der negativen Margins - MUSS die alten Werte überschreiben */
     margin-top: 0 !important;
     margin-bottom: 2rem !important;
     position: static !important;
     z-index: auto !important;
     
     /* Neues Styling als Hero-Banner - VOLLE BREITE */
     display: block !important;
     text-align: center !important;
     padding: 80px 1.5rem 60px !important;
     background: linear-gradient(135deg, #c41e1e 0%, #a01818 100%) !important;
     width: 100vw !important;
     margin-left: calc(-50vw + 50%) !important;
     margin-right: calc(-50vw + 50%) !important;
     box-sizing: border-box !important;
   }
   
   body .header-title h1,
   body .header-title h2,
   body .header-title h3,
   html body .header-title h1,
   html body .header-title h2,
   html body .header-title h3 {
     color: #ffffff !important;
     font-family: 'Playfair Display', Georgia, serif !important;
     font-size: clamp(2rem, 5vw, 3.5rem) !important;
     font-weight: 700 !important;
     margin: 0 0 1rem !important;
     text-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
   }
   
   body .header-title p,
   html body .header-title p {
     color: rgba(255,255,255,0.9) !important;
     font-size: 1.15rem !important;
     max-width: 600px !important;
     margin: 0 auto !important;
     line-height: 1.6 !important;
   }
   
   /* Behalte die weiße Farbe für die spans */
   body .header-title span,
   body .header-title span[style],
   body .header-title span[style*="color"] {
     color: inherit !important;
   }
   
   @media screen and (max-width: 768px) {
     body .header-title,
     html body .header-title {
       padding: 70px 1rem 50px !important;
       margin-bottom: 1.5rem !important;
     }
     
     body .header-title h1,
     body .header-title h2,
     body .header-title h3 {
       font-size: 1.75rem !important;
     }
     
     body .header-title p {
       font-size: 1rem !important;
     }
   }
   
   @media screen and (max-width: 530px) {
     body .header-title,
     html body .header-title {
       padding: 60px 1rem 40px !important;
       margin-bottom: 1rem !important;
     }
     
     body .header-title h1,
     body .header-title h2,
     body .header-title h3 {
       font-size: 1.5rem !important;
     }
   }
   
   /* ===================================================================
      WPBAKERY / VISUAL COMPOSER OVERRIDES
      Überschreibt Styles von altem Theme Content (The7, WPBakery)
      =================================================================== */
   
   /* Visual Composer Row mit 3 Spalten - Kontakt-Sektion */
   body .vc_row.vc_row-fluid.vc_row-has-fill {
     margin-top: 0 !important;
     padding: 3rem 1rem !important;
     background-color: #f5f5f5 !important;
   }
   
   body .vc_row .vc_col-sm-4 {
     padding: 0 15px !important;
   }
   
   /* Location Box - Kontakt-Karten */
   body .location-box,
   .wpb_wrapper .location-box {
     display: flex !important;
     align-items: flex-start !important;
     gap: 1rem !important;
     padding: 1.5rem !important;
     background: #fff !important;
     border-radius: 12px !important;
     box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
     height: 100% !important;
   }
   
   /* Icon Spalte - FIX für die riesigen Icons */
   body .location-box .icon-column,
   .wpb_wrapper .location-box .icon-column {
     flex-shrink: 0 !important;
     width: 48px !important;
     height: 48px !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     background: rgba(196, 30, 30, 0.08) !important;
     border-radius: 12px !important;
   }
   
   /* Location Icons - Größe begrenzen! */
   body .location-icon,
   body .icon-column img,
   body .icon-column svg,
   .wpb_wrapper .location-icon,
   .wpb_wrapper .icon-column img,
   .wpb_wrapper .icon-column svg {
     width: 24px !important;
     height: 24px !important;
     max-width: 24px !important;
     max-height: 24px !important;
     object-fit: contain !important;
     fill: #c41e1e !important;
     color: #c41e1e !important;
   }
   
   /* WhatsApp Icon Sonderbehandlung */
   body .location-icon.whatsapp-icon,
   body .icon-column .whatsapp-icon {
     width: 24px !important;
     height: 24px !important;
     background-color: transparent !important;
     border-radius: 0 !important;
   }
   
   /* Text Spalte */
   body .location-box .text-column,
   .wpb_wrapper .location-box .text-column {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 0.25rem !important;
   }
   
   body .location-box .text-column h3,
   .wpb_wrapper .location-box .text-column h3 {
     font-family: 'Playfair Display', Georgia, serif !important;
     font-size: 1.1rem !important;
     font-weight: 700 !important;
     color: #1a1a1a !important;
     margin: 0 !important;
     line-height: 1.3 !important;
   }
   
   body .location-box .text-column h3 a,
   .wpb_wrapper .location-box .text-column h3 a {
     color: #c41e1e !important;
     text-decoration: none !important;
   }
   
   body .location-box .text-column h3 a:hover {
     text-decoration: underline !important;
   }
   
   body .location-box .text-column p,
   .wpb_wrapper .location-box .text-column p {
     font-size: 0.9rem !important;
     color: #666 !important;
     margin: 0 !important;
     line-height: 1.5 !important;
   }
   
   /* Responsive für Kontakt-Karten */
   @media (max-width: 991px) {
     body .vc_row .vc_col-sm-4 {
       width: 100% !important;
       margin-bottom: 1rem !important;
     }
     
     body .location-box {
       margin-bottom: 1rem !important;
     }
   }
   
   /* -------------------------------------------------------------------
      ALLGEMEINE WPBAKERY ROW & COLUMN STYLES
      ------------------------------------------------------------------- */
   
   /* Basis Row Styling */
   body .vc_row.wpb_row,
   body .wpb_row.vc_row-fluid {
     margin-left: 0 !important;
     margin-right: 0 !important;
     padding: 2rem 1rem !important;
   }
   
   /* Full-width Rows */
   body .vc_row[data-vc-full-width="true"] {
     padding-left: 1rem !important;
     padding-right: 1rem !important;
   }
   
   /* Row mit Hintergrund (z.B. Promo-Banner) */
   body .vc_row.vc_row-has-fill {
     padding: 2.5rem 1.5rem !important;
     border-radius: 0 !important;
   }
   
   /* Spalten-Grid */
   body .vc_row .vc_col-sm-6 {
     padding: 0 15px !important;
     margin-bottom: 2rem !important;
   }
   
   body .vc_row .vc_col-sm-12 {
     padding: 0 15px !important;
   }
   
   /* Column Inner */
   body .vc_column-inner {
     padding: 0 !important;
   }
   
   /* WPB Wrapper */
   body .wpb_wrapper {
     margin-bottom: 0 !important;
   }
   
   /* Text Columns */
   body .wpb_text_column {
     margin-bottom: 1.5rem !important;
   }
   
   body .wpb_text_column:last-child {
     margin-bottom: 0 !important;
   }
   
   /* -------------------------------------------------------------------
      WPBAKERY TYPOGRAPHY
      ------------------------------------------------------------------- */
   
   body .wpb_wrapper h2 {
     font-family: 'Playfair Display', Georgia, serif !important;
     font-size: 1.75rem !important;
     font-weight: 700 !important;
     color: #1a1a1a !important;
     margin-bottom: 1rem !important;
     line-height: 1.3 !important;
   }
   
   body .wpb_wrapper h3 {
     font-family: 'Playfair Display', Georgia, serif !important;
     font-size: 1.25rem !important;
     font-weight: 700 !important;
     color: #1a1a1a !important;
     margin-bottom: 0.75rem !important;
     line-height: 1.4 !important;
   }
   
   body .wpb_wrapper p {
     font-size: 1rem !important;
     line-height: 1.7 !important;
     color: #444 !important;
     margin-bottom: 1rem !important;
   }
   
   body .wpb_wrapper p:last-child {
     margin-bottom: 0 !important;
   }
   
   /* -------------------------------------------------------------------
      BENEFIT LIST (UL Styles)
      ------------------------------------------------------------------- */
   
   body .benefit-list,
   body .wpb_wrapper ul.benefit-list {
     list-style: none !important;
     padding: 0 !important;
     margin: 1rem 0 !important;
   }
   
   body .benefit-list li,
   body .wpb_wrapper ul.benefit-list li {
     position: relative !important;
     padding-left: 1.75rem !important;
     margin-bottom: 0.75rem !important;
     font-size: 1rem !important;
     color: #333 !important;
     line-height: 1.5 !important;
   }
   
   body .benefit-list li::before,
   body .wpb_wrapper ul.benefit-list li::before {
     content: '' !important;
     position: absolute !important;
     left: 0 !important;
     top: 0.5rem !important;
     width: 8px !important;
     height: 8px !important;
     background: #c41e1e !important;
     border-radius: 50% !important;
   }
   
   /* Standard UL in WPBakery */
   body .wpb_wrapper ul:not(.benefit-list) {
     padding-left: 1.5rem !important;
     margin: 1rem 0 !important;
   }
   
   body .wpb_wrapper ul:not(.benefit-list) li {
     margin-bottom: 0.5rem !important;
     line-height: 1.6 !important;
   }
   
   /* -------------------------------------------------------------------
      CTA BUTTON
      ------------------------------------------------------------------- */
   
   body .cta_button,
   body a.cta_button {
     display: inline-flex !important;
     align-items: center !important;
     gap: 0.5rem !important;
     padding: 0.875rem 1.75rem !important;
     background: #c41e1e !important;
     color: #fff !important;
     font-size: 0.95rem !important;
     font-weight: 600 !important;
     text-decoration: none !important;
     border-radius: 8px !important;
     border: none !important;
     transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease !important;
     box-shadow: 0 4px 14px rgba(196, 30, 30, 0.25) !important;
   }
   
   body .cta_button:hover,
   body a.cta_button:hover {
     background: #a01818 !important;
     transform: translateY(-2px) !important;
     box-shadow: 0 6px 20px rgba(196, 30, 30, 0.35) !important;
     color: #fff !important;
   }
   
   /* -------------------------------------------------------------------
      SEPARATOR / DIVIDER
      ------------------------------------------------------------------- */
   
   body .vc_separator,
   body .vc_separator.wpb_content_element {
     margin: 1.5rem 0 !important;
   }
   
   body .vc_sep_line {
     border-color: rgba(0,0,0,0.08) !important;
     border-width: 1px !important;
   }
   
   /* -------------------------------------------------------------------
      IMAGES
      ------------------------------------------------------------------- */
   
   body .img-border,
   body .wpb_wrapper .img-border {
     border-radius: 12px !important;
     box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
     overflow: hidden !important;
   }
   
   body .wpb_wrapper img {
     max-width: 100% !important;
     height: auto !important;
     border-radius: 8px !important;
   }
   
   body .wpb_wrapper img.aligncenter {
     display: block !important;
     margin: 0 auto !important;
   }
   
   /* -------------------------------------------------------------------
      PROMO BANNER (Full-width mit Hintergrund)
      ------------------------------------------------------------------- */
   
   body .vc_row.vc_row-has-fill[data-vc-full-width="true"] {
     background: linear-gradient(135deg, #c41e1e 0%, #a01818 100%) !important;
     padding: 2.5rem 2rem !important;
     margin: 2rem 0 !important;
   }
   
   body .vc_row.vc_row-has-fill h3 {
     color: #fff !important;
     text-align: center !important;
     font-size: 1.35rem !important;
     line-height: 1.5 !important;
     margin-bottom: 1rem !important;
   }
   
   body .vc_row.vc_row-has-fill .cta_button {
     background: #fff !important;
     color: #c41e1e !important;
   }
   
   body .vc_row.vc_row-has-fill .cta_button:hover {
     background: #f5f5f5 !important;
     color: #a01818 !important;
   }
   
   /* -------------------------------------------------------------------
      3-COLUMN IMAGE GRID
      ------------------------------------------------------------------- */
   
   body .vc_row .vc_col-sm-4 .wpb_wrapper {
     text-align: center !important;
   }
   
   body .vc_row .vc_col-sm-4 h3 {
     margin-top: 1rem !important;
     font-size: 1.1rem !important;
   }
   
   /* -------------------------------------------------------------------
      ABLAUF / NUMBERED STEPS
      ------------------------------------------------------------------- */
   
   body .wpb_wrapper h3[data-start],
   body .wpb_wrapper h3 strong[data-start] {
     color: #c41e1e !important;
   }
   
   body .wpb_wrapper p[data-start] {
     margin-bottom: 1.5rem !important;
   }
   
   /* -------------------------------------------------------------------
      RESPONSIVE
      ------------------------------------------------------------------- */
   
   @media (max-width: 991px) {
     body .vc_row .vc_col-sm-6,
     body .vc_row .vc_col-sm-4 {
       width: 100% !important;
       float: none !important;
       padding: 0 1rem !important;
       margin-bottom: 1.5rem !important;
     }
     
     body .vc_row.wpb_row {
       padding: 1.5rem 0.5rem !important;
     }
     
     body .wpb_wrapper h2 {
       font-size: 1.5rem !important;
     }
     
     body .wpb_wrapper h3 {
       font-size: 1.15rem !important;
     }
   }
   
   @media (max-width: 600px) {
     body .vc_row.vc_row-has-fill[data-vc-full-width="true"] {
       padding: 2rem 1rem !important;
     }
     
     body .vc_row.vc_row-has-fill h3 {
       font-size: 1.1rem !important;
       line-height: 1.6 !important;
     }
     
     body .cta_button {
       padding: 0.75rem 1.25rem !important;
       font-size: 0.9rem !important;
     }
   }
   
   /* ===================================================================
      UTILITY CLASSES
      =================================================================== */
   .container {
     max-width: 1280px;
     margin: 0 auto;
     padding: 0 1rem;
   }
   
   .sr-only {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
     border: 0;
   }
   
   .text-balance {
     text-wrap: balance;
   }
   
   /* ===================================================================
      GLASSMORPHISM
      =================================================================== */
   .glass {
     background: rgba(255, 255, 255, 0.65);
     backdrop-filter: blur(20px) saturate(180%);
     -webkit-backdrop-filter: blur(20px) saturate(180%);
     border: 1px solid rgba(255, 255, 255, 0.5);
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.04);
   }
   
   .glass-strong {
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(20px) saturate(180%);
     -webkit-backdrop-filter: blur(20px) saturate(180%);
     border: 1px solid rgba(255, 255, 255, 0.7);
     box-shadow: var(--dml-shadow-md);
   }
   
   .glass-dark {
     background: rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(16px) saturate(180%);
     -webkit-backdrop-filter: blur(16px) saturate(180%);
     border: 1px solid rgba(255, 255, 255, 0.15);
   }
   
   .glass-card {
     background: rgba(255, 255, 255, 0.75);
     backdrop-filter: blur(16px) saturate(180%);
     -webkit-backdrop-filter: blur(16px) saturate(180%);
     border: 1px solid rgba(255, 255, 255, 0.6);
     box-shadow: var(--dml-shadow-sm);
     border-radius: var(--dml-radius-lg);
     transition: all 0.5s ease;
   }
   
   .glass-card:hover {
     transform: translateY(-4px);
     box-shadow: var(--dml-shadow-md);
   }
   
   /* ===================================================================
      ANIMATIONS
      =================================================================== */
   @keyframes float {
     0%, 100% { transform: translateY(0px); }
     50% { transform: translateY(-8px); }
   }
   
   @keyframes pulse-glow {
     0%, 100% { box-shadow: 0 4px 20px rgba(196, 30, 30, 0.15); }
     50% { box-shadow: 0 4px 40px rgba(196, 30, 30, 0.35); }
   }
   
   @keyframes slide-up {
     0% { opacity: 0; transform: translateY(30px); }
     100% { opacity: 1; transform: translateY(0); }
   }
   
   .animate-float {
     animation: float 5s ease-in-out infinite;
   }
   
   .animate-pulse-glow {
     animation: pulse-glow 3s ease-in-out infinite;
   }
   
   .animate-slide-up {
     animation: slide-up 0.6s ease-out forwards;
   }
   
   /* ===================================================================
      BUTTONS
      =================================================================== */
   .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 1rem 2rem;
     font-size: 1rem;
     font-weight: 600;
     font-family: 'Inter', system-ui, sans-serif;
     border-radius: var(--dml-radius);
     transition: all 0.3s ease;
     cursor: pointer;
     border: none;
     line-height: 1;
   }
   
   .btn:hover {
     transform: scale(1.03);
   }
   
   .btn-primary {
     background: var(--dml-red);
     color: var(--dml-white);
     box-shadow: var(--dml-shadow-red);
   }
   
   .btn-primary:hover {
     background: var(--dml-red-dark);
     color: var(--dml-white);
   }
   
   .btn-outline-white {
     background: rgba(255, 255, 255, 0.12);
     color: var(--dml-white);
     border: 1px solid rgba(255, 255, 255, 0.2);
     backdrop-filter: blur(12px);
   }
   
   .btn-outline-white:hover {
     background: rgba(255, 255, 255, 0.2);
     color: var(--dml-white);
   }
   
   .btn-outline {
     background: rgba(255, 255, 255, 0.7);
     color: var(--dml-dark);
     border: 1px solid rgba(0, 0, 0, 0.1);
     backdrop-filter: blur(12px);
   }
   
   .btn-outline:hover {
     background: rgba(255, 255, 255, 0.9);
   }
   
   .btn-white {
     background: var(--dml-white);
     color: var(--dml-red);
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
   }
   
   .btn svg,
   .btn .dashicons {
     width: 1.25rem;
     height: 1.25rem;
   }
   
   /* ===================================================================
      BADGE / TAGS
      =================================================================== */
   .badge {
     display: inline-block;
     padding: 0.375rem 1rem;
     font-size: 0.75rem;
     font-weight: 600;
     font-family: 'Inter', system-ui, sans-serif;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     border-radius: 999px;
     background: var(--dml-red-light);
     color: var(--dml-red);
   }
   
   .badge-hero {
     background: rgba(196, 30, 30, 0.85);
     color: var(--dml-white);
     backdrop-filter: blur(8px);
     box-shadow: 0 4px 20px rgba(196, 30, 30, 0.3);
     padding: 0.625rem 1.25rem;
     font-size: 0.875rem;
   }
   
   /* ===================================================================
      SECTION HEADINGS
      =================================================================== */
   .section-heading {
     font-size: clamp(1.875rem, 4vw, 3rem);
     font-weight: 700;
     line-height: 1.1;
     letter-spacing: -0.02em;
     color: var(--dml-dark);
   }
   
   .section-subtext {
     font-size: 1.125rem;
     line-height: 1.6;
     color: var(--dml-text-light);
     margin-top: 1rem;
   }
   
   /* ===================================================================
      ICON BOX
      =================================================================== */
   .icon-box {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 3.5rem;
     height: 3.5rem;
     border-radius: var(--dml-radius-lg);
     background: var(--dml-red-light);
     transition: all 0.5s ease;
   }
   
   .icon-box svg {
     width: 1.5rem;
     height: 1.5rem;
     color: var(--dml-red);
     stroke-width: 2;
     transition: color 0.5s ease;
   }
   
   .glass-card:hover .icon-box {
     transform: scale(1.1);
   }
   
   .icon-box-red {
     background: var(--dml-red);
     box-shadow: 0 4px 14px rgba(196, 30, 30, 0.25);
   }
   
   .icon-box-red svg {
     color: var(--dml-white);
   }
   
   /* ===================================================================
      TOP BAR
      =================================================================== */
   .topbar {
     background: var(--dml-red);
     color: var(--dml-white);
   }
   
   .topbar a {
     color: var(--dml-white);
   }
   
   .topbar a:hover {
     opacity: 0.8;
   }
   
   /* ===================================================================
      MAIN NAVIGATION
      =================================================================== */
   .site-header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 9999;
   }
   
   .main-nav {
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(20px) saturate(180%);
     -webkit-backdrop-filter: blur(20px) saturate(180%);
     border-bottom: 1px solid rgba(0, 0, 0, 0.06);
     transition: all 0.5s ease;
   }
   
   .main-nav.scrolled {
     background: rgba(255, 255, 255, 0.88);
   }
   
   .main-nav .nav-inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0.75rem 1rem;
     max-width: 1280px;
     margin: 0 auto;
   }
   
   .site-logo {
     display: flex;
     align-items: center;
     gap: 0.75rem;
   }
   
   .site-logo .logo-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.75rem;
     height: 2.75rem;
     border-radius: var(--dml-radius);
     background: var(--dml-red);
     box-shadow: 0 4px 14px rgba(196, 30, 30, 0.25);
     transition: transform 0.3s ease;
   }
   
   .site-logo:hover .logo-icon {
     transform: scale(1.1);
   }
   
   .site-logo .logo-icon svg {
     width: 1.25rem;
     height: 1.25rem;
     color: var(--dml-white);
   }
   
   .site-logo .logo-icon img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     border-radius: var(--dml-radius);
   }
   
   .site-logo .logo-text {
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--dml-dark);
     letter-spacing: -0.02em;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .site-logo .logo-sub {
     font-size: 0.75rem;
     color: var(--dml-text-muted);
     font-family: 'Inter', system-ui, sans-serif;
     }
   
   /* Custom Logo - ersetzt gesamtes Branding */
   .site-logo .custom-logo-wrap {
     display: flex;
     align-items: center;
     }
   
   .site-logo .custom-logo-wrap img {
     height: 50px;
     width: auto;
     max-width: 280px;
     object-fit: contain;
     }
   
   @media (max-width: 640px) {
     .site-logo .custom-logo-wrap img {
       height: 40px;
       max-width: 200px;
     }
   }
   
   /* Desktop menu */
   .desktop-menu {
     display: none;
     align-items: center;
     gap: 0.25rem;
   }
   
   @media (min-width: 1024px) {
     .desktop-menu {
       display: flex;
     }
   }
   
   .desktop-menu a {
     padding: 0.5rem 0.875rem;
     font-size: 0.875rem;
     font-weight: 500;
     color: #444444;
     border-radius: 0.5rem;
     transition: all 0.3s ease;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .desktop-menu a:hover,
   .desktop-menu .current-menu-item > a,
   .desktop-menu .current_page_item > a {
     color: var(--dml-red);
     background: rgba(196, 30, 30, 0.04);
   }
   
   /* Desktop Dropdown Menu */
   .desktop-menu > li {
     position: relative;
   }
   
   .desktop-menu > li > a {
     display: flex;
     align-items: center;
     gap: 4px;
   }
   
   .desktop-menu .dropdown-arrow {
     transition: transform 0.2s ease;
   }
   
   .desktop-menu > li.has-dropdown:hover .dropdown-arrow {
     transform: rotate(180deg);
   }
   
   .desktop-menu .sub-menu {
     position: absolute;
     top: 100%;
     left: 50%;
     transform: translateX(-50%);
     min-width: 200px;
     padding: 8px 0;
     margin-top: 8px;
     background: #fff;
     border-radius: 12px;
     box-shadow: 0 10px 40px rgba(0,0,0,0.12);
     border: 1px solid rgba(0,0,0,0.06);
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
     transform: translateX(-50%) translateY(10px);
     z-index: 100;
   }
   
   .desktop-menu > li.has-dropdown:hover .sub-menu {
     opacity: 1;
     visibility: visible;
     transform: translateX(-50%) translateY(0);
   }
   
   .desktop-menu .sub-menu li {
     display: block;
   }
   
   .desktop-menu .sub-menu a {
     display: block;
     padding: 10px 20px;
     font-size: 0.875rem;
     color: #444;
     border-radius: 0;
     white-space: nowrap;
   }
   
   .desktop-menu .sub-menu a:hover {
     background: rgba(196, 30, 30, 0.04);
     color: var(--dml-red);
   }
   
   .nav-cta {
     display: none;
   }
   
   @media (min-width: 1024px) {
     .nav-cta {
       display: flex;
       align-items: center;
       gap: 0.75rem;
     }
   }
   
   .nav-cta .btn {
     padding: 0.625rem 1.5rem;
     font-size: 0.875rem;
   }
   
   /* Mobile toggle */
   .mobile-toggle {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.5rem;
     height: 2.5rem;
     border: none;
     background: none;
     color: var(--dml-dark);
     cursor: pointer;
     border-radius: 0.5rem;
     transition: background 0.3s ease;
   }
   
   .mobile-toggle:hover {
     background: rgba(196, 30, 30, 0.04);
   }
   
   @media (min-width: 1024px) {
     .mobile-toggle {
       display: none;
     }
   }
   
   .mobile-toggle svg {
     width: 1.5rem;
     height: 1.5rem;
   }
   
   /* Mobile menu */
   .mobile-menu {
     display: none;
     margin: 0.5rem 1rem;
     padding: 1rem;
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(24px) saturate(200%);
     -webkit-backdrop-filter: blur(24px) saturate(200%);
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
   }
   
   .mobile-menu.open {
     display: block;
   }
   
   /* Mobile Dropdown */
   .mobile-menu .mobile-menu-parent {
     display: flex;
     align-items: center;
     justify-content: space-between;
   }
   
   .mobile-menu .mobile-menu-parent a {
     flex: 1;
   }
   
   .mobile-menu .mobile-dropdown-toggle {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     background: none;
     border: none;
     cursor: pointer;
     color: #666;
     transition: transform 0.2s ease;
   }
   
   .mobile-menu .mobile-dropdown-toggle.open {
     transform: rotate(180deg);
   }
   
   .mobile-menu .mobile-dropdown-toggle svg {
     width: 20px;
     height: 20px;
   }
   
   .mobile-menu .mobile-sub-menu {
     display: none;
     padding-left: 1rem;
     margin-top: 0.5rem;
     border-left: 2px solid rgba(196, 30, 30, 0.2);
   }
   
   .mobile-menu .mobile-sub-menu.open {
     display: block;
   }
   
   .mobile-menu .mobile-sub-menu a {
     padding: 0.5rem 0.75rem;
     font-size: 0.875rem;
     color: #666;
   }
   
   .mobile-menu .mobile-sub-menu a:hover {
     color: var(--dml-red);
   }
   
   @media (min-width: 1024px) {
     .mobile-menu {
       display: none !important;
     }
   }
   
   .mobile-menu a {
     display: block;
     padding: 0.75rem 1rem;
     font-size: 1rem;
     font-weight: 500;
     color: var(--dml-text);
     border-radius: var(--dml-radius);
     transition: all 0.3s ease;
   }
   
   .mobile-menu a:hover {
     background: rgba(196, 30, 30, 0.04);
     color: var(--dml-red);
   }
   
   /* ===================================================================
      HERO
      =================================================================== */
   .hero {
     position: relative;
     min-height: 100vh;
     overflow: hidden;
     background: var(--dml-dark);
     display: flex;
     align-items: center;
   }
   
   .hero-bg {
     position: absolute;
     inset: 0;
   }
   
   .hero-bg img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: 75% center; /* Desktop: Personen weiter rechts */
   }
   
   /* Mobile: Bild zentrierter, da Text darüber liegt */
   @media (max-width: 768px) {
     .hero-bg img {
       object-position: 60% center;
     }
   }
   
   /* Große Bildschirme: Personen noch weiter rechts sichtbar */
   @media (min-width: 1400px) {
     .hero-bg img {
       object-position: 70% center;
     }
   }
   
   .hero-overlay-left {
     position: absolute;
     inset: 0;
     background: linear-gradient(to right, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.45) 30%, rgba(0,0,0,0.1) 50%, transparent 65%);
   }
   
   .hero-overlay-vignette {
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, transparent 20%, transparent 80%, rgba(0,0,0,0.4) 100%);
   }
   
   .hero-content {
     position: relative;
     z-index: 10;
     max-width: 1280px;
     margin: 0 auto;
     padding: 10rem 1rem 5rem;
     width: 100%;
   }
   
   @media (min-width: 1024px) {
     .hero-content {
       padding-top: 12rem;
       padding-bottom: 7rem;
     }
   }
   
   .hero-inner {
     max-width: 560px;
   }
   
   @media (min-width: 1280px) {
     .hero-inner {
       max-width: 600px;
     }
   }
   
   .hero h1 {
     font-size: clamp(2.8rem, 7vw, 5rem);
     font-weight: 700;
     line-height: 1.08;
     letter-spacing: -0.02em;
   }
   
   .hero h1 .white {
     color: var(--dml-white);
   }
   
   .hero h1 .red {
     color: var(--dml-red);
   }
   
   .hero-text {
     margin-top: 1.5rem;
     font-size: 1.125rem;
     line-height: 1.7;
     color: rgba(255, 255, 255, 0.85);
     max-width: 480px;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   @media (min-width: 768px) {
     .hero-text {
       font-size: 1.25rem;
     }
   }
   
   .hero-quote {
     margin-top: 2rem;
     display: flex;
     align-items: center;
     gap: 1rem;
     padding: 1rem 1.25rem;
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(16px);
     -webkit-backdrop-filter: blur(16px);
     border: 1px solid rgba(255, 255, 255, 0.15);
     max-width: 480px;
   }
   
   .hero-quote-avatar {
     flex-shrink: 0;
     width: 2.75rem;
     height: 2.75rem;
     border-radius: 50%;
     background: var(--dml-red);
     color: var(--dml-white);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.875rem;
     font-weight: 700;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .hero-quote-text {
     font-size: 0.875rem;
     font-style: italic;
     color: rgba(255, 255, 255, 0.9);
     line-height: 1.4;
   }
   
   .hero-quote-author {
     font-size: 0.75rem;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.5);
     margin-top: 0.25rem;
     font-style: normal;
   }
   
   .hero-cta {
     margin-top: 2.5rem;
     display: flex;
     flex-direction: column;
     gap: 1rem;
   }
   
   @media (min-width: 640px) {
     .hero-cta {
       flex-direction: row;
     }
   }
   
   .hero-badges {
     margin-top: 3.5rem;
     display: flex;
     flex-wrap: wrap;
     gap: 1.5rem;
   }
   
   .hero-badge-item {
     display: flex;
     align-items: center;
     gap: 0.625rem;
     font-size: 0.875rem;
     font-weight: 500;
     color: rgba(255, 255, 255, 0.8);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .hero-badge-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.25rem;
     height: 2.25rem;
     border-radius: 0.5rem;
     background: rgba(196, 30, 30, 0.2);
     backdrop-filter: blur(8px);
   }
   
   .hero-badge-icon svg {
     width: 1rem;
     height: 1rem;
     color: var(--dml-white);
   }
   
   .hero-bottom-fade {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 6rem;
     background: linear-gradient(to top, var(--dml-bg), transparent);
   }
   
   /* ===================================================================
      TRUST BAR
      =================================================================== */
   .trust-bar {
     position: relative;
     z-index: 10;
     margin-top: -3rem;
     padding: 0 1rem 4rem;
   }
   
   .trust-bar-inner {
     max-width: 64rem;
     margin: 0 auto;
     padding: 2rem;
     border-radius: var(--dml-radius-xl);
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(20px) saturate(180%);
     -webkit-backdrop-filter: blur(20px) saturate(180%);
     border: 1px solid rgba(255, 255, 255, 0.7);
     box-shadow: var(--dml-shadow-md);
   }
   
   .trust-bar-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 2rem;
   }
   
   @media (min-width: 768px) {
     .trust-bar-grid {
       grid-template-columns: repeat(4, 1fr);
     }
   }
   
   .trust-stat {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0.75rem;
     text-align: center;
   }
   
   .trust-stat .icon-box {
     transition: all 0.3s ease;
   }
   
   .trust-stat:hover .icon-box {
     background: var(--dml-red);
     transform: scale(1.1);
   }
   
   .trust-stat:hover .icon-box svg {
     color: var(--dml-white);
   }
   
   .trust-stat-value {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--dml-red);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .trust-stat-label {
     font-size: 0.875rem;
     color: var(--dml-text-light);
   }
   
   /* ===================================================================
      BENEFITS
      =================================================================== */
   .benefits {
     padding: 6rem 0 6rem;
     background: linear-gradient(135deg, rgba(196,30,30,0.03) 0%, var(--dml-bg) 50%, rgba(196,30,30,0.02) 100%);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .benefits {
       padding: 8rem 0;
     }
   }
   
   .benefits-intro {
     display: grid;
     gap: 3rem;
     align-items: center;
     margin-bottom: 4rem;
   }
   
   @media (min-width: 1024px) {
     .benefits-intro {
       grid-template-columns: 1fr 1fr;
     }
   }
   
   .benefits-intro-image {
     position: relative;
     aspect-ratio: 4/3;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   }
   
   .benefits-intro-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.7s ease;
   }
   
   .benefits-intro-image:hover img {
     transform: scale(1.05);
   }
   
   .benefits-grid {
     display: grid;
     gap: 1.25rem;
   }
   
   @media (min-width: 768px) {
     .benefits-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .benefits-grid {
       grid-template-columns: repeat(3, 1fr);
     }
   }
   
   .benefit-card {
     padding: 2rem;
   }
   
   .benefit-card h3 {
     font-size: 1.125rem;
     font-weight: 600;
     color: var(--dml-dark);
     font-family: 'Inter', system-ui, sans-serif;
     margin-top: 1.25rem;
   }
   
   .benefit-card p {
     margin-top: 0.75rem;
     line-height: 1.6;
     color: var(--dml-text-light);
   }
   
   /* ===================================================================
      BEHIND THE SCENES
      =================================================================== */
   .behind-scenes-section {
     padding: 5rem 0;
     background: var(--dml-bg-warm, #faf9f7);
   }
   
   @media (min-width: 1024px) {
     .behind-scenes-section {
       padding: 6rem 0;
     }
   }
   
   .behind-scenes-section .behind-scenes-header {
     text-align: center;
     max-width: 800px;
     margin: 0 auto 3rem;
   }
   
   .behind-scenes-section .behind-scenes-video {
     max-width: 900px;
     margin: 0 auto;
   }
   
   .behind-scenes-section .video-wrapper {
     position: relative;
     padding-bottom: 56.25%;
     height: 0;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
   }
   
   .behind-scenes-section .video-wrapper iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     border: none;
   }
   
   .behind-scenes-section .download-link {
     text-align: center;
     margin-top: 2.5rem;
   }
   
   .behind-scenes-section .download-link a {
     color: var(--dml-red);
     font-weight: 600;
     text-decoration: none;
     font-size: 1.1rem;
     transition: color 0.3s ease;
   }
   
   .behind-scenes-section .download-link a:hover {
     color: var(--dml-red-dark);
     text-decoration: underline;
   }
   
   .behind-scenes-section .download-link .file-info {
     color: var(--dml-text-muted);
     font-size: 0.9rem;
     margin-top: 0.5rem;
   }
   
   /* ===================================================================
      PROCESS
      =================================================================== */
   .process-section {
     padding: 6rem 0;
     background: var(--dml-bg-alt);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .process-section {
       padding: 8rem 0;
     }
   }
   
   .process-layout {
     display: grid;
     gap: 4rem;
     align-items: center;
   }
   
   @media (min-width: 1024px) {
     .process-layout {
       grid-template-columns: 1fr 1fr;
     }
   }
   
   .process-images {
     position: relative;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1rem;
   }
   
   .process-images .img-col:last-child {
     margin-top: 3rem;
   }
   
   .process-images .img-wrapper {
     position: relative;
     aspect-ratio: 3/4;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   }
   
   .process-images .img-wrapper img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.7s ease;
   }
   
   .process-images .img-wrapper:hover img {
     transform: scale(1.05);
   }
   
   .process-floating-badge {
     position: absolute;
     bottom: -0.5rem;
     right: -0.5rem;
     padding: 1.5rem;
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
   }
   
   @media (min-width: 768px) {
     .process-floating-badge {
       bottom: -1rem;
       right: -1rem;
     }
   }
   
   .process-floating-badge .value {
     font-size: 1.875rem;
     font-weight: 700;
     color: var(--dml-red);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .process-floating-badge .label {
     font-size: 0.875rem;
     color: var(--dml-text-muted);
   }
   
   .process-steps {
     margin-top: 2.5rem;
     display: flex;
     flex-direction: column;
     gap: 1rem;
   }
   
   .step-card {
     display: flex;
     gap: 1.25rem;
     padding: 1.5rem;
     border-radius: var(--dml-radius-lg);
     background: var(--dml-white);
     border: 1px solid rgba(0, 0, 0, 0.04);
     box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
     transition: all 0.3s ease;
   }
   
   .step-card:hover {
     transform: translateY(-2px);
     box-shadow: var(--dml-shadow-sm);
   }
   
   .step-number {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 3rem;
     height: 3rem;
     border-radius: var(--dml-radius);
     background: var(--dml-red);
     color: var(--dml-white);
     font-size: 0.875rem;
     font-weight: 700;
     font-family: 'Inter', system-ui, sans-serif;
     box-shadow: 0 4px 14px rgba(196, 30, 30, 0.25);
     transition: transform 0.3s ease;
   }
   
   .step-card:hover .step-number {
     transform: scale(1.1);
   }
   
   .step-card h3 {
     font-size: 1.125rem;
     font-weight: 600;
     color: var(--dml-dark);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .step-card p {
     margin-top: 0.375rem;
     line-height: 1.6;
     color: var(--dml-text-light);
   }
   
   /* ===================================================================
      SERVICES
      =================================================================== */
   .services-section {
     padding: 6rem 0;
     background: var(--dml-bg);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .services-section {
       padding: 8rem 0;
     }
   }
   
   .services-header {
     max-width: 42rem;
     margin: 0 auto;
     text-align: center;
   }
   
   .services-team-image {
     position: relative;
     margin-top: 3rem;
     aspect-ratio: 21/9;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   }
   
   .services-team-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .services-team-image .overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 50%);
   }
   
   .services-team-image .caption {
     position: absolute;
     bottom: 1.5rem;
     left: 1.5rem;
     right: 1.5rem;
   }
   
   .services-team-image .caption h3 {
     font-size: clamp(1.25rem, 3vw, 1.875rem);
     font-weight: 700;
     color: var(--dml-white);
   }
   
   .services-team-image .caption p {
     margin-top: 0.25rem;
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.7);
   }
   
   .services-grid {
     display: grid;
     gap: 1.25rem;
     margin-top: 3rem;
   }
   
   @media (min-width: 768px) {
     .services-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .services-grid {
       grid-template-columns: repeat(3, 1fr);
     }
   }
   
   .service-card {
     padding: 2rem;
   }
   
   .service-card h3 {
     font-size: 1.125rem;
     font-weight: 600;
     color: var(--dml-dark);
     font-family: 'Inter', system-ui, sans-serif;
     margin-top: 1.25rem;
   }
   
   .service-card p {
     margin-top: 0.75rem;
     line-height: 1.6;
     color: var(--dml-text-light);
   }
   
   /* ===================================================================
      GUARANTEE BANNER
      =================================================================== */
   .guarantee {
     padding: 4rem 0 5rem;
     background: var(--dml-bg);
   }
   
   .guarantee-inner {
     position: relative;
     overflow: hidden;
     padding: 2.5rem;
     border-radius: var(--dml-radius-xl);
     background: var(--dml-red);
     box-shadow: 0 20px 60px rgba(196, 30, 30, 0.3);
   }
   
   @media (min-width: 1024px) {
     .guarantee-inner {
       padding: 3.5rem;
     }
   }
   
   .guarantee-inner .blob-1 {
     position: absolute;
     top: -5rem;
     right: -5rem;
     width: 16rem;
     height: 16rem;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.08);
     filter: blur(60px);
   }
   
   .guarantee-inner .blob-2 {
     position: absolute;
     bottom: -5rem;
     left: -5rem;
     width: 12rem;
     height: 12rem;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.05);
     filter: blur(40px);
   }
   
   .guarantee-content {
     position: relative;
     z-index: 2;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 2rem;
     text-align: center;
   }
   
   @media (min-width: 1024px) {
     .guarantee-content {
       flex-direction: row;
       justify-content: space-between;
       text-align: left;
     }
   }
   
   .guarantee-left {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1.5rem;
   }
   
   @media (min-width: 1024px) {
     .guarantee-left {
       flex-direction: row;
     }
   }
   
   .guarantee-shield {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 5rem;
     height: 5rem;
     border-radius: var(--dml-radius-xl);
     background: rgba(255, 255, 255, 0.15);
     backdrop-filter: blur(8px);
   }
   
   .guarantee-shield svg {
     width: 2.5rem;
     height: 2.5rem;
     color: var(--dml-white);
   }
   
   .guarantee h2 {
     font-size: clamp(1.875rem, 4vw, 2.5rem);
     font-weight: 700;
     color: var(--dml-white);
   }
   
   .guarantee .sub {
     margin-top: 0.5rem;
     font-size: 1.125rem;
     color: rgba(255, 255, 255, 0.85);
   }
   
   /* ===================================================================
      TESTIMONIALS
      =================================================================== */
   .testimonials {
     padding: 6rem 0;
     background: var(--dml-bg-alt);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .testimonials {
       padding: 8rem 0;
     }
   }
   
   .testimonials-layout {
     display: grid;
     gap: 3rem;
     align-items: center;
   }
   
   @media (min-width: 1024px) {
     .testimonials-layout {
       grid-template-columns: 2fr 3fr;
     }
   }
   
   .testimonials-image {
     position: relative;
   }
   
   .testimonials-image .img-wrapper {
     position: relative;
     aspect-ratio: 3/4;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   }
   
   .testimonials-image .img-wrapper img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .testimonials-image .floating-stat {
     position: absolute;
     bottom: -1rem;
     right: -1rem;
     padding: 1.25rem;
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
   }
   
   .testimonials-image .floating-stat .value {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--dml-red);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .testimonials-image .floating-stat .label {
     font-size: 0.75rem;
     color: var(--dml-text-muted);
   }
   
   .reviews {
     margin-top: 2.5rem;
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
   }
   
   .review-card {
     padding: 1.5rem;
   }
   
   .review-card .review-inner {
     display: flex;
     align-items: flex-start;
     gap: 1rem;
   }
   
   .review-card .quote-icon {
     flex-shrink: 0;
     margin-top: 0.25rem;
     color: rgba(196, 30, 30, 0.2);
   }
   
   .review-card .quote-icon svg {
     width: 1.5rem;
     height: 1.5rem;
   }
   
   .review-stars {
     display: flex;
     gap: 2px;
     margin-bottom: 0.5rem;
   }
   
   .review-stars svg {
     width: 1rem;
     height: 1rem;
     color: var(--dml-red);
     fill: var(--dml-red);
   }
   
   .review-text {
     line-height: 1.6;
     color: #444444;
   }
   
   .review-author {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     margin-top: 1rem;
   }
   
   .review-author-avatar {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.25rem;
     height: 2.25rem;
     border-radius: 50%;
     background: var(--dml-red);
     color: var(--dml-white);
     font-size: 0.75rem;
     font-weight: 700;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .review-author-name {
     font-size: 0.875rem;
     font-weight: 600;
     color: var(--dml-dark);
   }
   
   .review-author-loc {
     font-size: 0.75rem;
     color: var(--dml-text-muted);
   }
   
   /* ===================================================================
      FAQ
      =================================================================== */
   .faq-section {
     padding: 6rem 0;
     background: var(--dml-bg);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .faq-section {
       padding: 8rem 0;
     }
   }
   
   .faq-header {
     max-width: 48rem;
     margin: 0 auto;
     text-align: center;
   }
   
   .faq-list {
     max-width: 48rem;
     margin: 3rem auto 0;
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
   }
   
   .faq-item {
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.75);
     backdrop-filter: blur(16px);
     border: 1px solid rgba(0, 0, 0, 0.04);
     box-shadow: 0 1px 8px rgba(0, 0, 0, 0.03);
     overflow: hidden;
     transition: all 0.3s ease;
   }
   
   .faq-item.active {
     border-color: rgba(196, 30, 30, 0.15);
     box-shadow: 0 4px 20px rgba(196, 30, 30, 0.06);
   }
   
   .faq-question {
     display: flex;
     align-items: center;
     justify-content: space-between;
     width: 100%;
     padding: 1.25rem 1.5rem;
     font-size: 1rem;
     font-weight: 600;
     color: var(--dml-dark);
     background: none;
     border: none;
     cursor: pointer;
     text-align: left;
     font-family: 'Inter', system-ui, sans-serif;
     transition: color 0.3s ease;
   }
   
   .faq-item.active .faq-question {
     color: var(--dml-red);
   }
   
   .faq-question svg {
     flex-shrink: 0;
     width: 1.25rem;
     height: 1.25rem;
     color: #999999;
     transition: all 0.3s ease;
   }
   
   .faq-item.active .faq-question svg {
     color: var(--dml-red);
     transform: rotate(180deg);
   }
   
   .faq-answer {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.3s ease, opacity 0.3s ease;
     opacity: 0;
   }
   
   .faq-item.active .faq-answer {
     max-height: 500px;
     opacity: 1;
   }
   
   .faq-answer-inner {
     padding: 0 1.5rem 1.25rem;
     line-height: 1.6;
     color: var(--dml-text-light);
   }
   
   /* ===================================================================
      CREFOZERT SECTION
      =================================================================== */
   .crefozert-section {
     padding: 5rem 1rem;
     background: linear-gradient(180deg, #fff 0%, #f8f8f6 100%);
   }
   
   .crefozert-card {
     display: flex;
     align-items: center;
     gap: 3rem;
     max-width: 900px;
     margin: 0 auto;
     padding: 3rem;
     background: #fff;
     border-radius: 20px;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
     border: 1px solid rgba(0, 0, 0, 0.04);
   }
   
   .crefozert-badge {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 160px;
     height: 160px;
     background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
     border-radius: 16px;
     padding: 1.5rem;
     border: 2px solid rgba(0, 136, 206, 0.15);
   }
   
   .crefozert-badge img {
     width: 100%;
     height: auto;
     max-width: 120px;
     transition: transform 0.3s ease;
   }
   
   .crefozert-badge a:hover img {
     transform: scale(1.05);
   }
   
   .crefozert-content {
     flex: 1;
   }
   
   .crefozert-label {
     display: inline-block;
     padding: 0.35rem 0.75rem;
     background: rgba(0, 136, 206, 0.1);
     color: #0088ce;
     font-size: 0.8rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     border-radius: 6px;
     margin-bottom: 0.75rem;
   }
   
   .crefozert-content h3 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.75rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0 0 1rem;
     line-height: 1.3;
   }
   
   .crefozert-content p {
     font-size: 1.05rem;
     line-height: 1.7;
     color: #555;
     margin: 0 0 1.25rem;
   }
   
   .crefozert-link {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     color: #c41e1e;
     font-weight: 600;
     font-size: 0.95rem;
     text-decoration: none;
     transition: gap 0.3s ease;
   }
   
   .crefozert-link:hover {
     gap: 0.75rem;
   }
   
   .crefozert-link svg {
     transition: transform 0.3s ease;
   }
   
   .crefozert-link:hover svg {
     transform: translateX(3px);
   }
   
   @media (max-width: 768px) {
     .crefozert-section {
       padding: 3rem 1rem;
     }
   
     .crefozert-card {
       flex-direction: column;
       text-align: center;
       gap: 2rem;
       padding: 2rem 1.5rem;
     }
     
     .crefozert-badge {
       width: 140px;
       height: 140px;
     }
     
     .crefozert-badge img {
       max-width: 100px;
     }
     
     .crefozert-content h3 {
       font-size: 1.4rem;
     }
     
     .crefozert-content p {
       font-size: 1rem;
     }
     
     .crefozert-link {
       justify-content: center;
     }
   }
   
   /* ===================================================================
      CONTACT FORM SECTION
      =================================================================== */
   .contact-form-section {
     padding: 5rem 0;
     background: #fff;
   }
   
   @media (min-width: 1024px) {
     .contact-form-section {
       padding: 6rem 0;
     }
   }
   
   .contact-form-header {
     text-align: center;
     max-width: 600px;
     margin: 0 auto 3rem;
   }
   
   .contact-form-header .section-subheading {
     margin-top: 1rem;
     color: var(--dml-text-muted);
     font-size: 1.1rem;
   }
   
   .contact-form-wrapper {
     max-width: 700px;
     margin: 0 auto;
     background: var(--dml-bg-warm, #faf9f7);
     padding: 2.5rem;
     border-radius: 20px;
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
   }
   
   @media (max-width: 600px) {
     .contact-form-wrapper {
       padding: 1.5rem;
       border-radius: 16px;
     }
   }
   
   .dml-contact-form .form-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1.25rem;
     margin-bottom: 1.25rem;
   }
   
   @media (max-width: 600px) {
     .dml-contact-form .form-row {
       grid-template-columns: 1fr;
       gap: 1rem;
     }
   }
   
   .dml-contact-form .form-group {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
   }
   
   .dml-contact-form label {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text);
   }
   
   .dml-contact-form label .optional {
     font-weight: 400;
     color: var(--dml-text-muted);
     font-size: 0.8rem;
   }
   
   .dml-contact-form input[type="text"],
   .dml-contact-form input[type="email"],
   .dml-contact-form input[type="tel"] {
     width: 100%;
     padding: 0.875rem 1rem;
     font-size: 1rem;
     border: 1px solid rgba(0, 0, 0, 0.1);
     border-radius: 10px;
     background: #fff;
     color: var(--dml-text);
     transition: border-color 0.2s ease, box-shadow 0.2s ease;
   }
   
   .dml-contact-form input:focus {
     outline: none;
     border-color: var(--dml-red);
     box-shadow: 0 0 0 3px rgba(196, 30, 30, 0.1);
   }
   
   .dml-contact-form input::placeholder {
     color: #aaa;
   }
   
   .dml-contact-form .recaptcha-group {
     margin: 1.5rem 0;
     display: flex;
     justify-content: center;
   }
   
   .dml-contact-form .form-submit {
     text-align: center;
     margin-top: 1.5rem;
   }
   
   .dml-contact-form .btn-lg {
     padding: 1rem 2.5rem;
     font-size: 1rem;
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
   }
   
   .dml-contact-form .btn-lg svg {
     width: 18px;
     height: 18px;
   }
   
   /* ===================================================================
      CTA SECTION
      =================================================================== */
   .cta-section {
     padding: 6rem 0;
     background: var(--dml-bg-alt);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .cta-section {
       padding: 8rem 0;
     }
   }
   
   .cta-layout {
     display: grid;
     gap: 3rem;
     align-items: center;
   }
   
   @media (min-width: 1024px) {
     .cta-layout {
       grid-template-columns: 1fr 1fr;
     }
   }
   
   .cta-highlights {
     display: grid;
     gap: 0.75rem;
     margin-top: 2rem;
   }
   
   @media (min-width: 640px) {
     .cta-highlights {
       grid-template-columns: 1fr 1fr;
     }
   }
   
   .cta-highlight-item {
     display: flex;
     align-items: center;
     gap: 0.75rem;
   }
   
   .cta-highlight-item .check-icon {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 1.5rem;
     height: 1.5rem;
     border-radius: 50%;
     background: var(--dml-red-light);
   }
   
   .cta-highlight-item .check-icon svg {
     width: 1rem;
     height: 1rem;
     color: var(--dml-red);
   }
   
   .cta-highlight-item span {
     font-size: 0.875rem;
     font-weight: 500;
     color: var(--dml-text);
   }
   
   .cta-buttons {
     margin-top: 2.5rem;
     display: flex;
     flex-direction: column;
     gap: 1rem;
   }
   
   @media (min-width: 640px) {
     .cta-buttons {
       flex-direction: row;
     }
   }
   
   .cta-image-wrapper {
     position: relative;
   }
   
   .cta-image-wrapper .main-image {
     position: relative;
     aspect-ratio: 4/3;
     overflow: hidden;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   }
   
   .cta-image-wrapper .main-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .cta-floating-card {
     position: absolute;
     bottom: -1rem;
     left: -1rem;
     right: 1rem;
     padding: 1.5rem;
     border-radius: var(--dml-radius-lg);
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(24px);
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
   }
   
   @media (min-width: 768px) {
     .cta-floating-card {
       left: -2rem;
       right: auto;
       max-width: 20rem;
     }
   }
   
   .cta-floating-card .inner {
     display: flex;
     align-items: center;
     gap: 1rem;
   }
   
   .cta-floating-card .phone-icon {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 3.5rem;
     height: 3.5rem;
     border-radius: var(--dml-radius-lg);
     background: var(--dml-red);
     box-shadow: 0 4px 20px rgba(196, 30, 30, 0.3);
   }
   
   .cta-floating-card .phone-icon svg {
     width: 1.5rem;
     height: 1.5rem;
     color: var(--dml-white);
   }
   
   .cta-floating-card .phone-label {
     font-weight: 600;
     color: var(--dml-dark);
   }
   
   .cta-floating-card .phone-number {
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--dml-red);
   }
   
   /* ===================================================================
      COVERAGE
      =================================================================== */
   .coverage-section {
     padding: 6rem 0;
     background: linear-gradient(135deg, rgba(196,30,30,0.03) 0%, var(--dml-bg) 50%, rgba(196,30,30,0.02) 100%);
     position: relative;
     overflow: hidden;
   }
   
   @media (min-width: 1024px) {
     .coverage-section {
       padding: 8rem 0;
     }
   }
   
   .coverage-header {
     max-width: 42rem;
     margin: 0 auto;
     text-align: center;
   }
   
   .coverage-grid {
     display: grid;
     gap: 1.25rem;
     margin-top: 4rem;
   }
   
   @media (min-width: 768px) {
     .coverage-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .coverage-grid {
       grid-template-columns: repeat(4, 1fr);
     }
   }
   
   .coverage-card {
     padding: 1.5rem;
   }
   
   .coverage-card .card-header {
     display: flex;
     align-items: center;
     gap: 0.625rem;
     margin-bottom: 1rem;
   }
   
   .coverage-card .card-header .icon-box {
     width: 2.25rem;
     height: 2.25rem;
     border-radius: 0.5rem;
   }
   
   .coverage-card .card-header .icon-box svg {
     width: 1rem;
     height: 1rem;
   }
   
   .coverage-card h3 {
     font-weight: 600;
     color: var(--dml-dark);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .coverage-card ul {
     display: flex;
     flex-direction: column;
     gap: 0.375rem;
   }
   
   .coverage-card li {
     font-size: 0.875rem;
     color: #777777;
   }
   
   /* ===================================================================
      FOOTER
      =================================================================== */
   .site-footer {
     background: var(--dml-footer-bg);
     color: var(--dml-white);
     position: relative;
     overflow: hidden;
   }
   
   .footer-inner {
     position: relative;
     z-index: 2;
     max-width: 1280px;
     margin: 0 auto;
     padding: 4rem 1rem;
   }
   
   .footer-grid {
     display: grid;
     gap: 3rem;
   }
   
   @media (min-width: 768px) {
     .footer-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .footer-grid {
       grid-template-columns: repeat(4, 1fr);
     }
   }
   
   .footer-brand p {
     margin-top: 1rem;
     font-size: 0.875rem;
     line-height: 1.6;
     color: rgba(255, 255, 255, 0.5);
   }
   
   .footer-col h3 {
     margin-bottom: 1rem;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: rgba(255, 255, 255, 0.4);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .footer-col ul {
     display: flex;
     flex-direction: column;
     gap: 0.625rem;
   }
   
   .footer-col a {
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.5);
     transition: opacity 0.3s ease;
   }
   
   .footer-col a:hover {
     opacity: 1;
     color: rgba(255, 255, 255, 0.8);
   }
   
   .footer-contact-item {
     display: flex;
     align-items: center;
     gap: 0.75rem;
   }
   
   .footer-contact-item svg {
     flex-shrink: 0;
     width: 1rem;
     height: 1rem;
     color: var(--dml-red);
   }
   
   .footer-contact-item a,
   .footer-contact-item span {
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.6);
   }
   
   .footer-bottom {
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1rem;
   }
   
   @media (min-width: 768px) {
     .footer-bottom {
       flex-direction: row;
       justify-content: space-between;
     }
   }
   
   .footer-bottom p {
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.35);
   }
   
   .footer-bottom-links {
     display: flex;
     gap: 1.5rem;
   }
   
   .footer-bottom-links a {
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.35);
   }
   
   .footer-bottom-links a:hover {
     color: rgba(255, 255, 255, 0.6);
   }
   
   /* ===================================================================
      PAGE TEMPLATES
      =================================================================== */
   .page-header {
     padding: 10rem 1rem 4rem;
     background: var(--dml-dark);
     text-align: center;
   }
   
   .page-header h1 {
     font-size: clamp(2rem, 5vw, 3.5rem);
     font-weight: 700;
     color: var(--dml-white);
     line-height: 1.1;
   }
   
   .page-header .breadcrumbs {
     margin-top: 1rem;
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.5);
   }
   
   .page-header .breadcrumbs a {
     color: rgba(255, 255, 255, 0.6);
   }
   
   .page-header .breadcrumbs a:hover {
     color: var(--dml-red);
   }
   
   .page-content {
     padding: 4rem 1rem;
     max-width: 900px;
     margin: 0 auto;
   }
   
   .page-content h2 {
     font-size: 2rem;
     font-weight: 700;
     color: var(--dml-dark);
     margin: 2rem 0 1rem;
   }
   
   .page-content h3 {
     font-size: 1.5rem;
     font-weight: 600;
     color: var(--dml-dark);
     margin: 1.5rem 0 0.75rem;
   }
   
   .page-content p {
     margin-bottom: 1rem;
     line-height: 1.7;
   }
   
   .page-content ul,
   .page-content ol {
     margin: 1rem 0;
     padding-left: 1.5rem;
   }
   
   .page-content ul {
     list-style: disc;
   }
   
   .page-content ol {
     list-style: decimal;
   }
   
   .page-content li {
     margin-bottom: 0.5rem;
     line-height: 1.6;
   }
   
   .page-content img {
     border-radius: var(--dml-radius);
     margin: 2rem 0;
   }
   
   .page-content a {
     color: var(--dml-red);
     text-decoration: underline;
     text-underline-offset: 2px;
   }
   
   .page-content a:hover {
     color: var(--dml-red-dark);
   }
   
   .page-content blockquote {
     margin: 2rem 0;
     padding: 1.5rem 2rem;
     border-left: 4px solid var(--dml-red);
     background: var(--dml-red-light);
     border-radius: 0 var(--dml-radius) var(--dml-radius) 0;
     font-style: italic;
     color: var(--dml-text);
   }
   
   /* ===================================================================
      BLOG / ARCHIVE
      =================================================================== */
   .blog-grid {
     display: grid;
     gap: 2rem;
     padding: 4rem 1rem;
     max-width: 1280px;
     margin: 0 auto;
   }
   
   @media (min-width: 768px) {
     .blog-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .blog-grid {
       grid-template-columns: repeat(3, 1fr);
     }
   }
   
   .blog-card {
     border-radius: var(--dml-radius-lg);
     overflow: hidden;
     background: var(--dml-white);
     box-shadow: var(--dml-shadow-sm);
     transition: all 0.4s ease;
   }
   
   .blog-card:hover {
     transform: translateY(-4px);
     box-shadow: var(--dml-shadow-md);
   }
   
   .blog-card-image {
     position: relative;
     aspect-ratio: 16/9;
     overflow: hidden;
   }
   
   .blog-card-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
   }
   
   .blog-card:hover .blog-card-image img {
     transform: scale(1.05);
   }
   
   .blog-card-body {
     padding: 1.5rem;
   }
   
   .blog-card-meta {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     font-size: 0.75rem;
     color: var(--dml-text-muted);
     margin-bottom: 0.75rem;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .blog-card-meta .category {
     color: var(--dml-red);
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
   }
   
   .blog-card h2 {
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--dml-dark);
     line-height: 1.3;
     margin-bottom: 0.5rem;
   }
   
   .blog-card h2 a {
     color: var(--dml-dark);
   }
   
   .blog-card h2 a:hover {
     color: var(--dml-red);
   }
   
   .blog-card p {
     font-size: 0.9375rem;
     line-height: 1.6;
     color: var(--dml-text-light);
   }
   
   .blog-card .read-more {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     margin-top: 1rem;
     font-size: 0.875rem;
     font-weight: 600;
     color: var(--dml-red);
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .blog-card .read-more svg {
     width: 1rem;
     height: 1rem;
     transition: transform 0.3s ease;
   }
   
   .blog-card:hover .read-more svg {
     transform: translateX(4px);
   }
   
   /* ===================================================================
      FLOATING ELEMENTS (Siegel & Kontakt-Buttons)
      =================================================================== */
   
   /* Siegel links unten */
   .floating-badge {
     position: fixed;
     bottom: 20px;
     left: 20px;
     z-index: 999;
     transition: transform 0.3s ease, opacity 0.3s ease;
   }
   
   .floating-badge a {
     display: block;
   }
   
   .floating-badge img {
     width: 80px;
     height: auto;
     border-radius: 8px;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .floating-badge:hover img {
     transform: scale(1.05);
     box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
   }
   
   /* Kontakt-Buttons rechts unten */
   .floating-contact {
     position: fixed;
     bottom: 20px;
     right: 20px;
     z-index: 999;
     display: flex;
     flex-direction: column;
     gap: 12px;
   }
   
   .floating-btn {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 56px;
     height: 56px;
     border-radius: 50%;
     color: #fff;
     text-decoration: none;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .floating-btn:hover {
     transform: scale(1.1);
     box-shadow: 0 6px 30px rgba(0, 0, 0, 0.3);
   }
   
   .floating-btn svg {
     width: 24px;
     height: 24px;
   }
   
   /* Phone Button */
   .floating-btn--phone {
     background: linear-gradient(135deg, #c41e1e 0%, #a01818 100%);
   }
   
   .floating-btn--phone:hover {
     background: linear-gradient(135deg, #d42a2a 0%, #b01c1c 100%);
   }
   
   /* WhatsApp Button */
   .floating-btn--whatsapp {
     background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
   }
   
   .floating-btn--whatsapp:hover {
     background: linear-gradient(135deg, #2be370 0%, #159a8a 100%);
   }
   
   /* Responsive */
   @media (max-width: 768px) {
     .floating-badge {
       bottom: 15px;
       left: 15px;
     }
     
     .floating-badge img {
       width: 60px;
     }
     
     .floating-contact {
       bottom: 15px;
       right: 15px;
       gap: 10px;
     }
     
     .floating-btn {
       width: 50px;
       height: 50px;
     }
     
     .floating-btn svg {
       width: 22px;
       height: 22px;
     }
   }
   
   /* Single post */
   .single-post-header {
     padding: 10rem 1rem 3rem;
     background: var(--dml-dark);
   }
   
   .single-post-header .inner {
     max-width: 900px;
     margin: 0 auto;
   }
   
   .single-post-header .category {
     display: inline-block;
     padding: 0.375rem 1rem;
     background: rgba(196, 30, 30, 0.2);
     color: var(--dml-white);
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     border-radius: 999px;
     margin-bottom: 1.5rem;
     font-family: 'Inter', system-ui, sans-serif;
   }
   
   .single-post-header h1 {
     font-size: clamp(2rem, 5vw, 3rem);
     font-weight: 700;
     color: var(--dml-white);
     line-height: 1.15;
   }
   
   .single-post-header .meta {
     margin-top: 1.5rem;
     display: flex;
     align-items: center;
     gap: 1rem;
     font-size: 0.875rem;
     color: rgba(255, 255, 255, 0.5);
   }
   
   .single-post-featured {
     max-width: 900px;
     margin: -3rem auto 0;
     padding: 0 1rem;
     position: relative;
     z-index: 2;
   }
   
   .single-post-featured img {
     width: 100%;
     border-radius: var(--dml-radius-xl);
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
   }
   
   .single-post-content {
     padding: 3rem 1rem 4rem;
     max-width: 900px;
     margin: 0 auto;
   }
   
   /* Pagination */
   .pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 0.5rem;
     padding: 2rem 1rem 4rem;
   }
   
   .pagination a,
   .pagination span {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.5rem;
     height: 2.5rem;
     border-radius: var(--dml-radius);
     font-size: 0.875rem;
     font-weight: 500;
     transition: all 0.3s ease;
   }
   
   .pagination a {
     background: var(--dml-white);
     color: var(--dml-text);
     box-shadow: var(--dml-shadow-sm);
   }
   
   .pagination a:hover {
     background: var(--dml-red);
     color: var(--dml-white);
   }
   
   .pagination .current {
     background: var(--dml-red);
     color: var(--dml-white);
     box-shadow: var(--dml-shadow-red);
   }
   
   /* ===================================================================
      WPBAKERY / VISUAL COMPOSER COMPATIBILITY
      =================================================================== */
   .wpb_wrapper,
   .vc_row,
   .vc_column_container,
   .wpb_content_element {
     /* Let VC handle its own layout */
   }
   
   .vc_row {
     margin-left: 0 !important;
     margin-right: 0 !important;
   }
   
   .page-content .vc_row {
     max-width: 100vw;
     margin-left: calc(-50vw + 50%) !important;
     margin-right: calc(-50vw + 50%) !important;
   }
   
   .wpb_text_column p:last-child {
     margin-bottom: 0;
   }
   
   /* ===================================================================
      WORDPRESS DEFAULTS
      =================================================================== */
   .alignleft {
     float: left;
     margin-right: 1.5rem;
     margin-bottom: 1rem;
   }
   
   .alignright {
     float: right;
     margin-left: 1.5rem;
     margin-bottom: 1rem;
   }
   
   .aligncenter {
     display: block;
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 1rem;
   }
   
   .wp-caption {
     max-width: 100%;
     margin-bottom: 1rem;
   }
   
   .wp-caption-text {
     font-size: 0.875rem;
     color: var(--dml-text-muted);
     text-align: center;
     margin-top: 0.5rem;
   }
   
   .screen-reader-text {
     position: absolute !important;
     clip: rect(1px, 1px, 1px, 1px);
     overflow: hidden;
     height: 1px;
     width: 1px;
     word-wrap: normal !important;
   }
   
   /* WordPress admin bar fix */
   body.admin-bar .site-header {
     top: 32px;
   }
   
   @media screen and (max-width: 782px) {
     body.admin-bar .site-header {
       top: 46px;
     }
   }
   
   /* ========================================
      SUBPAGE & BLOG TEMPLATES
      ======================================== */
   
   /* -- Subpage Hero / Header -- */
   .subpage-hero {
     position: relative;
     height: 50vh;
     min-height: 350px;
     max-height: 500px;
     overflow: hidden;
     margin-top: 0;
   }
   
   .subpage-hero__img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
   }
   
   .subpage-hero__overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.25) 50%, rgba(0,0,0,0.15) 100%);
   }
   
   .subpage-hero__content {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 40px 0;
     z-index: 2;
   }
   
   .subpage-hero__title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 800;
     color: #fff;
     line-height: 1.15;
     margin: 0;
   }
   
   .subpage-header {
     padding: 140px 0 50px;
     background: linear-gradient(135deg, #fafaf8 0%, #f5f0ed 100%);
   }
   
   .subpage-header__title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 800;
     color: var(--dml-text);
     line-height: 1.15;
     margin: 0;
   }
   
   .breadcrumbs {
     margin-top: 12px;
     font-size: 0.875rem;
     color: rgba(255,255,255,0.7);
   }
   
   .breadcrumbs a {
     color: rgba(255,255,255,0.85);
     text-decoration: none;
   }
   
   .breadcrumbs a:hover {
     color: #fff;
   }
   
   .subpage-header .breadcrumbs {
     color: var(--dml-text-muted);
   }
   
   .subpage-header .breadcrumbs a {
     color: var(--dml-red);
     text-decoration: none;
   }
   
   /* -- Page Content -- */
   .subpage-content {
     padding: 60px 0 80px;
     background: #fff;
   }
   
   .content-article .entry-content {
     font-size: 1.05rem;
     line-height: 1.75;
     color: var(--dml-text-light);
   }
   
   .content-article .entry-content h2 {
     font-family: 'Playfair Display', serif;
     font-size: 1.8rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 2em 0 0.8em;
   }
   
   .content-article .entry-content h3 {
     font-size: 1.35rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 1.8em 0 0.6em;
   }
   
   .content-article .entry-content h4 {
     font-size: 1.15rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 1.5em 0 0.5em;
   }
   
   .content-article .entry-content p {
     margin-bottom: 1.2em;
   }
   
   .content-article .entry-content a {
     color: var(--dml-red);
     text-decoration: underline;
     text-underline-offset: 3px;
   }
   
   .content-article .entry-content a:hover {
     color: #a01818;
   }
   
   .content-article .entry-content ul,
   .content-article .entry-content ol {
     margin: 1em 0 1.5em 1.5em;
   }
   
   .content-article .entry-content li {
     margin-bottom: 0.5em;
   }
   
   .content-article .entry-content blockquote {
     border-left: 4px solid var(--dml-red);
     padding: 20px 24px;
     margin: 2em 0;
     background: rgba(196, 30, 30, 0.04);
     border-radius: 0 12px 12px 0;
     font-style: italic;
     color: var(--dml-text);
   }
   
   .content-article .entry-content img {
     border-radius: 12px;
     height: auto;
   }
   
   .content-article .entry-content table {
     width: 100%;
     border-collapse: collapse;
     margin: 1.5em 0;
   }
   
   .content-article .entry-content th,
   .content-article .entry-content td {
     padding: 12px 16px;
     border: 1px solid var(--dml-border);
     text-align: left;
   }
   
   .content-article .entry-content th {
     background: var(--dml-bg-warm);
     font-weight: 700;
     color: var(--dml-text);
   }
   
   /* -- Single Post -- */
   .single-layout {
     display: grid;
     grid-template-columns: 1fr 320px;
     gap: 50px;
     align-items: start;
   }
   
   @media (max-width: 960px) {
     .single-layout {
       grid-template-columns: 1fr;
       gap: 40px;
     }
   }
   
   .single-meta-top {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
     margin-bottom: 12px;
   }
   
   .single-category {
     display: inline-block;
     padding: 4px 14px;
     background: var(--dml-red);
     color: #fff;
     font-size: 0.8rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     border-radius: 20px;
     text-decoration: none;
   }
   
   .single-meta {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-top: 12px;
     font-size: 0.9rem;
     color: rgba(255,255,255,0.7);
   }
   
   .subpage-header .single-meta {
     color: var(--dml-text-muted);
   }
   
   .meta-sep {
     opacity: 0.5;
   }
   
   /* Tags */
   .single-tags {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
     margin-top: 40px;
     padding-top: 30px;
     border-top: 1px solid var(--dml-border);
   }
   
   .single-tag {
     display: inline-block;
     padding: 6px 16px;
     background: var(--dml-bg-warm);
     color: var(--dml-text-light);
     font-size: 0.85rem;
     border-radius: 20px;
     text-decoration: none;
     transition: all 0.2s ease;
   }
   
   .single-tag:hover {
     background: var(--dml-red);
     color: #fff;
   }
   
   /* Author Box */
   .author-box {
     display: flex;
     align-items: flex-start;
     gap: 20px;
     margin-top: 40px;
     padding: 24px;
   }
   
   .author-box__avatar img {
     width: 64px;
     height: 64px;
     border-radius: 50%;
     object-fit: cover;
   }
   
   .author-box__label {
     font-size: 0.8rem;
     color: var(--dml-text-muted);
     text-transform: uppercase;
     letter-spacing: 0.05em;
     margin-bottom: 4px;
   }
   
   .author-box__name {
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 0 0 6px;
   }
   
   .author-box__bio {
     font-size: 0.9rem;
     color: var(--dml-text-light);
     line-height: 1.5;
     margin: 0;
   }
   
   /* Post Navigation */
   .post-navigation {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
     margin-top: 40px;
   }
   
   @media (max-width: 600px) {
     .post-navigation {
       grid-template-columns: 1fr;
     }
   }
   
   .post-nav-link {
     display: flex;
     flex-direction: column;
     gap: 8px;
     padding: 20px;
     text-decoration: none;
     transition: all 0.25s ease;
   }
   
   .post-nav-link:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 25px rgba(0,0,0,0.08);
   }
   
   .post-nav-label {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 0.8rem;
     color: var(--dml-red);
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.04em;
   }
   
   .post-nav-next .post-nav-label {
     justify-content: flex-end;
   }
   
   .post-nav-title {
     font-size: 0.95rem;
     font-weight: 600;
     color: var(--dml-text);
     line-height: 1.4;
   }
   
   .post-nav-next {
     text-align: right;
   }
   
   /* Sidebar */
   .single-sidebar {
     position: sticky;
     top: 100px;
   }
   
   .sidebar-widget {
     padding: 24px;
   }
   
   .sidebar-recent-post {
     display: flex;
     gap: 12px;
     align-items: flex-start;
     text-decoration: none;
     padding: 10px 0;
     border-bottom: 1px solid var(--dml-border);
     transition: opacity 0.2s ease;
   }
   
   .sidebar-recent-post:last-child {
     border-bottom: none;
     padding-bottom: 0;
   }
   
   .sidebar-recent-post:hover {
     opacity: 0.8;
   }
   
   .sidebar-recent-post__thumb {
     width: 60px;
     height: 60px;
     flex-shrink: 0;
     border-radius: 8px;
     overflow: hidden;
   }
   
   .sidebar-recent-post__thumb img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .sidebar-recent-post__title {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text);
     line-height: 1.35;
     margin: 0 0 4px;
   }
   
   .sidebar-recent-post__date {
     font-size: 0.8rem;
     color: var(--dml-text-muted);
   }
   
   /* -- Archive Grid -- */
   .archive-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 28px;
   }
   
   @media (max-width: 960px) {
     .archive-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (max-width: 600px) {
     .archive-grid {
       grid-template-columns: 1fr;
     }
   }
   
   .archive-card {
     overflow: hidden;
     transition: all 0.3s ease;
   }
   
   .archive-card:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 35px rgba(0,0,0,0.1);
   }
   
   .archive-card__thumb {
     display: block;
     overflow: hidden;
     aspect-ratio: 16 / 10;
   }
   
   .archive-card__img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.4s ease;
   }
   
   .archive-card:hover .archive-card__img {
     transform: scale(1.05);
   }
   
   .archive-card__body {
     padding: 24px;
   }
   
   .archive-card__meta {
     display: flex;
     align-items: center;
     gap: 12px;
     margin-bottom: 12px;
   }
   
   .archive-card__cat {
     display: inline-block;
     padding: 3px 10px;
     background: rgba(196, 30, 30, 0.08);
     color: var(--dml-red);
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     border-radius: 14px;
     text-decoration: none;
   }
   
   .archive-card__cat:hover {
     background: var(--dml-red);
     color: #fff;
   }
   
   .archive-card__date {
     font-size: 0.8rem;
     color: var(--dml-text-muted);
   }
   
   .archive-card__title {
     font-size: 1.15rem;
     font-weight: 700;
     line-height: 1.35;
     margin: 0 0 10px;
   }
   
   .archive-card__title a {
     color: var(--dml-text);
     text-decoration: none;
   }
   
   .archive-card__title a:hover {
     color: var(--dml-red);
   }
   
   .archive-card__excerpt {
     font-size: 0.9rem;
     color: var(--dml-text-light);
     line-height: 1.6;
     margin: 0 0 16px;
   }
   
   .archive-card__link {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     font-size: 0.875rem;
     font-weight: 600;
     color: var(--dml-red);
     text-decoration: none;
     transition: gap 0.2s ease;
   }
   
   .archive-card__link:hover {
     gap: 10px;
   }
   
   /* Pagination */
   .archive-pagination {
     margin-top: 50px;
     text-align: center;
   }
   
   .archive-pagination .nav-links {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 6px;
   }
   
   .archive-pagination .page-numbers {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 42px;
     height: 42px;
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text-light);
     background: #fff;
     border: 1px solid var(--dml-border);
     border-radius: 10px;
     text-decoration: none;
     transition: all 0.2s ease;
   }
   
   .archive-pagination .page-numbers:hover {
     border-color: var(--dml-red);
     color: var(--dml-red);
   }
   
   .archive-pagination .page-numbers.current {
     background: var(--dml-red);
     color: #fff;
     border-color: var(--dml-red);
   }
   
   .archive-pagination .prev,
   .archive-pagination .next {
     width: auto;
     padding: 0 16px;
     gap: 6px;
   }
   
   /* CTA Banner */
   .cta-banner {
     position: relative;
   }
   
   .cta-banner .btn-hero {
     display: inline-flex;
   }
   
   /* Search form */
   .search-form {
     display: flex;
     max-width: 450px;
     margin: 0 auto;
   }
   
   .search-form .search-field {
     flex: 1;
     padding: 12px 18px;
     font-size: 1rem;
     border: 1px solid var(--dml-border);
     border-radius: 12px 0 0 12px;
     outline: none;
     font-family: 'Inter', sans-serif;
   }
   
   .search-form .search-field:focus {
     border-color: var(--dml-red);
   }
   
   .search-form .search-submit {
     padding: 12px 24px;
     background: var(--dml-red);
     color: #fff;
     border: none;
     border-radius: 0 12px 12px 0;
     font-weight: 600;
     font-size: 0.95rem;
     cursor: pointer;
     font-family: 'Inter', sans-serif;
     transition: background 0.2s ease;
   }
   
   .search-form .search-submit:hover {
     background: #a01818;
   }
   
   /* Coverage city links */
   .coverage-card ul a {
     color: var(--dml-text-light);
     text-decoration: none;
     transition: color 0.2s ease, padding-left 0.2s ease;
   }
   
   .coverage-card ul a:hover {
     color: var(--dml-red);
     padding-left: 4px;
   }
   
   /* ========================================
      REFERENZEN PAGE TEMPLATE
      ======================================== */
   
   /* Hero */
   .referenzen-hero {
     position: relative;
     min-height: 60vh;
     padding: 180px 0 80px;
     background-size: cover;
     background-position: center 30%;
     overflow: hidden;
   }
   
   .referenzen-hero__overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.7) 100%);
   }
   
   .referenzen-hero__content {
     position: relative;
     z-index: 2;
   }
   
   .referenzen-hero .breadcrumbs {
     margin-bottom: 24px;
     font-size: 0.9rem;
     color: rgba(255,255,255,0.7);
   }
   
   .referenzen-hero .breadcrumbs a {
     color: rgba(255,255,255,0.85);
     text-decoration: none;
     transition: color 0.2s ease;
   }
   
   .referenzen-hero .breadcrumbs a:hover {
     color: #fff;
   }
   
   .referenzen-hero__title {
     max-width: 800px;
     font-family: 'Playfair Display', serif;
     font-size: clamp(2.5rem, 5vw, 4rem);
     font-weight: 700;
     line-height: 1.1;
     color: #fff;
     margin: 0;
   }
   
   .referenzen-hero__title .text-red {
     color: #ff6b6b;
   }
   
   .referenzen-hero__text {
     max-width: 650px;
     margin-top: 24px;
     font-size: 1.15rem;
     line-height: 1.65;
     color: rgba(255,255,255,0.9);
   }
   
   /* Ratings */
   .referenzen-ratings {
     position: relative;
     z-index: 10;
     margin-top: -32px;
     padding-bottom: 60px;
   }
   
   .referenzen-ratings .container {
     max-width: 800px;
   }
   
   .ratings-card {
     overflow: hidden;
     border-radius: 16px;
     background: #fff;
     box-shadow: 0 10px 40px rgba(0,0,0,0.1);
   }
   
   .ratings-img {
     display: block;
     width: 100%;
     max-width: 550px;
     height: auto;
     margin: 0 auto;
     padding: 24px;
   }
   
   /* Stats */
   .referenzen-stats {
     background: #fff;
   }
   
   .stats-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 28px;
   }
   
   @media (max-width: 900px) {
     .stats-grid {
       grid-template-columns: 1fr;
       gap: 20px;
     }
   }
   
   .stat-card {
     padding: 32px;
     text-align: center;
     background: var(--dml-bg-warm);
     border: 1px solid rgba(0,0,0,0.04);
     border-radius: 20px;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .stat-card:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 35px rgba(0,0,0,0.08);
   }
   
   .stat-icon-box {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 64px;
     height: 64px;
     margin-bottom: 16px;
     background: rgba(196, 30, 30, 0.08);
     border-radius: 16px;
     transition: transform 0.3s ease;
   }
   
   .stat-card:hover .stat-icon-box {
     transform: scale(1.1);
   }
   
   .stat-icon-box svg {
     width: 28px;
     height: 28px;
     color: var(--dml-red);
   }
   
   .stat-value {
     margin-bottom: 8px;
   }
   
   .stat-number {
     font-family: 'Playfair Display', serif;
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--dml-red);
   }
   
   .stat-unit {
     font-size: 1.1rem;
     font-weight: 500;
     color: var(--dml-text);
     margin-left: 4px;
   }
   
   .stat-label {
     font-size: 1.1rem;
     font-weight: 600;
     color: var(--dml-text);
     margin: 0 0 8px;
   }
   
   .stat-sublabel {
     font-size: 0.875rem;
     color: var(--dml-text-muted);
     margin: 0;
   }
   
   /* Video Testimonial */
   .referenzen-video {
     background: var(--dml-bg-warm);
   }
   
   .video-testimonial {
     position: relative;
     border-radius: 20px;
     overflow: hidden;
     background: #1a1a1a;
     box-shadow: 0 20px 60px rgba(0,0,0,0.15);
   }
   
   .video-thumb {
     position: relative;
     aspect-ratio: 16 / 9;
   }
   
   .video-thumb img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
   }
   
   .video-overlay {
     position: absolute;
     inset: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     background: rgba(0,0,0,0.4);
   }
   
   .video-play-btn {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 80px;
     height: 80px;
     background: var(--dml-red);
     border: none;
     border-radius: 50%;
     cursor: pointer;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .video-play-btn:hover {
     transform: scale(1.1);
     box-shadow: 0 8px 30px rgba(196, 30, 30, 0.4);
   }
   
   .video-play-btn svg {
     width: 32px;
     height: 32px;
     color: #fff;
     margin-left: 4px;
   }
   
   .video-caption {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 24px;
     background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
   }
   
   .video-caption p {
     font-size: 1.1rem;
     font-weight: 500;
     color: #fff;
     margin: 0;
   }
   
   .video-iframe {
     aspect-ratio: 16 / 9;
   }
   
   .video-iframe iframe {
     width: 100%;
     height: 100%;
     border: none;
   }
   
   /* Projects Grid */
   .referenzen-projects {
     background: #fff;
   }
   
   .projects-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 32px;
   }
   
   @media (max-width: 900px) {
     .projects-grid {
       grid-template-columns: 1fr;
       gap: 24px;
     }
   }
   
   .project-card {
     overflow: hidden;
     border-radius: 20px;
     background: #fff;
     border: 1px solid rgba(0,0,0,0.05);
     box-shadow: 0 4px 20px rgba(0,0,0,0.04);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .project-card:hover {
     transform: translateY(-4px);
     box-shadow: 0 15px 50px rgba(0,0,0,0.1);
   }
   
   /* Project Slider */
   .project-slider {
     position: relative;
     aspect-ratio: 16 / 10;
     background: #f5f5f5;
     overflow: hidden;
   }
   
   .project-slider__track {
     position: relative;
     width: 100%;
     height: 100%;
   }
   
   .project-slide {
     position: absolute;
     inset: 0;
     opacity: 0;
     transition: opacity 0.7s ease;
   }
   
   .project-slide.active {
     opacity: 1;
   }
   
   .project-slide img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
   }
   
   /* Slider Navigation */
   .slider-nav {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     background: rgba(255,255,255,0.9);
     border: none;
     border-radius: 50%;
     cursor: pointer;
     transition: transform 0.2s ease, background 0.2s ease;
     z-index: 5;
   }
   
   .slider-nav:hover {
     transform: translateY(-50%) scale(1.1);
     background: #fff;
   }
   
   .slider-nav svg {
     width: 20px;
     height: 20px;
     color: #1a1a1a;
   }
   
   .slider-nav--prev {
     left: 12px;
   }
   
   .slider-nav--next {
     right: 12px;
   }
   
   /* Slider Dots */
   .slider-dots {
     position: absolute;
     bottom: 16px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     gap: 8px;
     z-index: 5;
   }
   
   .slider-dot {
     width: 8px;
     height: 8px;
     background: rgba(255,255,255,0.6);
     border: none;
     border-radius: 50%;
     cursor: pointer;
     transition: transform 0.3s ease, background 0.3s ease;
   }
   
   .slider-dot.active {
     background: var(--dml-red);
     transform: scale(1.3);
   }
   
   .slider-dot:hover {
     background: rgba(255,255,255,0.9);
   }
   
   /* Project Badges */
   .project-badge {
     position: absolute;
     top: 16px;
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 6px 14px;
     font-size: 0.875rem;
     font-weight: 500;
     border-radius: 30px;
     z-index: 5;
   }
   
   .project-badge--location {
     left: 16px;
     background: rgba(255,255,255,0.95);
     color: #1a1a1a;
   }
   
   .project-badge--location svg {
     width: 14px;
     height: 14px;
     color: var(--dml-red);
   }
   
   .project-badge--area {
     right: 16px;
     background: var(--dml-red);
     color: #fff;
     font-weight: 700;
   }
   
   /* Project Content */
   .project-content {
     padding: 24px;
   }
   
   .project-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 0 0 10px;
   }
   
   .project-description {
     font-size: 0.9rem;
     line-height: 1.6;
     color: var(--dml-text-light);
     margin: 0;
   }
   
   /* CTA Section */
   .referenzen-cta {
     position: relative;
     padding: 100px 0;
     overflow: hidden;
   }
   
   .referenzen-cta .cta-pattern {
     position: absolute;
     inset: 0;
     opacity: 0.1;
     background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
   }
   
   .referenzen-cta .container {
     position: relative;
     z-index: 2;
   }
   
   .referenzen-cta .cta-content {
     max-width: 800px;
     margin: 0 auto;
     text-align: center;
   }
   
   .referenzen-cta .cta-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(1.8rem, 4vw, 2.8rem);
     font-weight: 700;
     color: #fff;
     margin: 0 0 20px;
   }
   
   .referenzen-cta .cta-text {
     font-size: 1.1rem;
     line-height: 1.6;
     color: rgba(255,255,255,0.9);
     margin: 0 0 40px;
   }
   
   .referenzen-cta .cta-buttons {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 16px;
     margin-bottom: 40px;
   }
   
   .referenzen-cta .btn-hero--outline-white {
     background: transparent;
     border: 2px solid rgba(255,255,255,0.4);
     color: #fff;
   }
   
   .referenzen-cta .btn-hero--outline-white:hover {
     background: rgba(255,255,255,0.1);
     border-color: rgba(255,255,255,0.6);
   }
   
   .referenzen-cta .cta-features {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 32px;
   }
   
   .referenzen-cta .cta-feature {
     display: flex;
     align-items: center;
     gap: 8px;
     font-size: 0.9rem;
     font-weight: 500;
     color: rgba(255,255,255,0.9);
   }
   
   .referenzen-cta .cta-feature svg {
     width: 18px;
     height: 18px;
     opacity: 0.8;
   }
   
   /* ===================================================================
      AKTUELLES / BLOG ARCHIVE PAGE
      =================================================================== */
   
   /* Hero */
   .aktuelles-hero {
     padding: 140px 1rem 60px;
     text-align: center;
     background: linear-gradient(180deg, #faf9f7 0%, #fff 100%);
   }
   
   .aktuelles-hero__desc {
     max-width: 600px;
     margin: 1rem auto 0;
     font-size: 1.15rem;
     color: var(--dml-text-muted);
     line-height: 1.6;
   }
   
   /* Content */
   .aktuelles-content {
     padding: 4rem 1rem 5rem;
   }
   
   /* Grid */
   .aktuelles-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 2rem;
     max-width: 1200px;
     margin: 0 auto;
   }
   
   @media (min-width: 640px) {
     .aktuelles-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }
   
   @media (min-width: 1024px) {
     .aktuelles-grid {
       grid-template-columns: repeat(3, 1fr);
       gap: 2.5rem;
     }
   }
   
   /* Card */
   .aktuelles-card {
     background: #fff;
     border-radius: 16px;
     overflow: hidden;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
     border: 1px solid rgba(0, 0, 0, 0.04);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .aktuelles-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
   }
   
   .aktuelles-card__thumb {
     position: relative;
     display: block;
     aspect-ratio: 16 / 10;
     overflow: hidden;
   }
   
   .aktuelles-card__thumb--placeholder {
     background: linear-gradient(135deg, #faf9f7 0%, #f0e8e4 100%);
   }
   
   .aktuelles-card__placeholder {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 100%;
   }
   
   .aktuelles-card__placeholder svg {
     width: 48px;
     height: 48px;
     color: var(--dml-red);
     opacity: 0.3;
   }
   
   .aktuelles-card__img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
   }
   
   .aktuelles-card:hover .aktuelles-card__img {
     transform: scale(1.05);
   }
   
   .aktuelles-card__overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0,0,0,0.3) 0%, transparent 50%);
     opacity: 0;
     transition: opacity 0.3s ease;
   }
   
   .aktuelles-card:hover .aktuelles-card__overlay {
     opacity: 1;
   }
   
   .aktuelles-card__body {
     padding: 1.5rem;
   }
   
   .aktuelles-card__meta {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     margin-bottom: 0.75rem;
     font-size: 0.8rem;
     color: var(--dml-text-muted);
   }
   
   .aktuelles-card__cat {
     color: var(--dml-red);
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.03em;
     text-decoration: none;
   }
   
   .aktuelles-card__cat:hover {
     text-decoration: underline;
   }
   
   .aktuelles-card__dot {
     color: #ccc;
   }
   
   .aktuelles-card__title {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.2rem;
     font-weight: 700;
     line-height: 1.35;
     margin: 0 0 0.75rem;
   }
   
   .aktuelles-card__title a {
     color: var(--dml-text);
     text-decoration: none;
     transition: color 0.2s ease;
   }
   
   .aktuelles-card__title a:hover {
     color: var(--dml-red);
   }
   
   .aktuelles-card__excerpt {
     font-size: 0.95rem;
     line-height: 1.6;
     color: var(--dml-text-light);
     margin: 0 0 1rem;
   }
   
   .aktuelles-card__link {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-red);
     text-decoration: none;
     transition: gap 0.3s ease;
   }
   
   .aktuelles-card__link:hover {
     gap: 0.75rem;
   }
   
   .aktuelles-card__link svg {
     transition: transform 0.3s ease;
   }
   
   .aktuelles-card__link:hover svg {
     transform: translateX(4px);
   }
   
   /* Pagination */
   .aktuelles-pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 0.5rem;
     margin-top: 4rem;
   }
   
   .aktuelles-pagination .page-numbers {
     display: flex;
     align-items: center;
     justify-content: center;
     min-width: 44px;
     height: 44px;
     padding: 0 0.75rem;
     font-size: 0.95rem;
     font-weight: 500;
     color: var(--dml-text);
     background: #fff;
     border: 1px solid rgba(0, 0, 0, 0.1);
     border-radius: 10px;
     text-decoration: none;
     transition: all 0.2s ease;
   }
   
   .aktuelles-pagination .page-numbers:hover {
     background: var(--dml-bg-warm);
     border-color: var(--dml-red);
     color: var(--dml-red);
   }
   
   .aktuelles-pagination .page-numbers.current {
     background: var(--dml-red);
     border-color: var(--dml-red);
     color: #fff;
   }
   
   .aktuelles-pagination .prev,
   .aktuelles-pagination .next {
     background: transparent;
     border: none;
   }
   
   /* Empty State */
   .aktuelles-empty {
     text-align: center;
     padding: 5rem 2rem;
   }
   
   .aktuelles-empty__icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 80px;
     height: 80px;
     margin: 0 auto 1.5rem;
     background: var(--dml-bg-warm);
     border-radius: 50%;
   }
   
   .aktuelles-empty__icon svg {
     width: 32px;
     height: 32px;
     color: var(--dml-text-muted);
   }
   
   .aktuelles-empty h2 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.5rem;
     color: var(--dml-text);
     margin: 0 0 0.5rem;
   }
   
   .aktuelles-empty p {
     color: var(--dml-text-muted);
     font-size: 1rem;
   }
   
   /* CTA */
   .aktuelles-cta {
     padding: 0 1rem 5rem;
   }
   
   .aktuelles-cta__inner {
     max-width: 1000px;
     margin: 0 auto;
     padding: 3rem 2rem;
     background: linear-gradient(135deg, #c41e1e 0%, #a01818 100%);
     border-radius: 24px;
     display: flex;
     flex-direction: column;
     align-items: center;
     text-align: center;
     gap: 2rem;
   }
   
   @media (min-width: 768px) {
     .aktuelles-cta__inner {
       flex-direction: row;
       text-align: left;
       padding: 3rem 3.5rem;
     }
   }
   
   .aktuelles-cta__content {
     flex: 1;
   }
   
   .aktuelles-cta__content h2 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.75rem;
     font-weight: 700;
     color: #fff;
     margin: 0 0 0.5rem;
   }
   
   .aktuelles-cta__content p {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.85);
     margin: 0;
   }
   
   .aktuelles-cta__actions {
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
   }
   
   @media (min-width: 480px) {
     .aktuelles-cta__actions {
       flex-direction: row;
     }
   }
   
   .aktuelles-cta .btn-outline-white {
     background: transparent;
     border: 2px solid rgba(255, 255, 255, 0.4);
     color: #fff;
   }
   
   .aktuelles-cta .btn-outline-white:hover {
     background: rgba(255, 255, 255, 0.1);
     border-color: #fff;
   }
   
   /* ===================================================================
      SINGLE POST PAGE
      =================================================================== */
   
   /* Hero */
   .single-hero {
     position: relative;
     min-height: 450px;
     display: flex;
     align-items: flex-end;
     padding: 140px 1rem 60px;
   }
   
   @media (min-width: 768px) {
     .single-hero {
       min-height: 500px;
       padding-bottom: 80px;
     }
   }
   
   .single-hero__bg {
     position: absolute;
     inset: 0;
     z-index: 0;
   }
   
   .single-hero__bg--gradient {
     background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
   }
   
   .single-hero__img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .single-hero__overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.5) 100%);
   }
   
   .single-hero__content {
     position: relative;
     z-index: 2;
     max-width: 800px;
   }
   
   .single-hero__meta {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.75rem;
     margin-bottom: 1rem;
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.7);
   }
   
   .single-hero__cat {
     display: inline-block;
     padding: 0.35rem 0.875rem;
     background: var(--dml-red);
     color: #fff;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     border-radius: 6px;
     text-decoration: none;
   }
   
   .single-hero__cat:hover {
     background: #a01818;
   }
   
   .single-hero__dot {
     color: rgba(255, 255, 255, 0.4);
   }
   
   .single-hero__title {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: clamp(1.75rem, 5vw, 2.75rem);
     font-weight: 700;
     color: #fff;
     line-height: 1.2;
     margin: 0;
   }
   
   .single-hero__excerpt {
     margin-top: 1rem;
     font-size: 1.1rem;
     line-height: 1.6;
     color: rgba(255, 255, 255, 0.8);
     max-width: 650px;
   }
   
   /* Content */
   .single-content {
     padding: 4rem 1rem;
     background: #fff;
   }
   
   /* Layout */
   .single-layout {
     display: grid;
     grid-template-columns: 1fr;
     gap: 3rem;
     max-width: 1100px;
     margin: 0 auto;
   }
   
   @media (min-width: 1024px) {
     .single-layout {
       grid-template-columns: 1fr 320px;
       gap: 4rem;
     }
   }
   
   /* Article */
   .single-article {
     max-width: 700px;
   }
   
   .single-article .entry-content {
     font-size: 1.05rem;
     line-height: 1.8;
     color: var(--dml-text);
   }
   
   .single-article .entry-content h2 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.5rem;
     font-weight: 700;
     margin: 2.5rem 0 1rem;
     color: var(--dml-text);
   }
   
   .single-article .entry-content h3 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.25rem;
     font-weight: 700;
     margin: 2rem 0 0.75rem;
     color: var(--dml-text);
   }
   
   .single-article .entry-content p {
     margin-bottom: 1.5rem;
   }
   
   .single-article .entry-content ul,
   .single-article .entry-content ol {
     margin: 1.5rem 0;
     padding-left: 1.5rem;
   }
   
   .single-article .entry-content li {
     margin-bottom: 0.5rem;
   }
   
   .single-article .entry-content img {
     max-width: 100%;
     height: auto;
     border-radius: 12px;
     margin: 2rem 0;
   }
   
   .single-article .entry-content blockquote {
     margin: 2rem 0;
     padding: 1.5rem 2rem;
     background: var(--dml-bg-warm);
     border-left: 4px solid var(--dml-red);
     border-radius: 0 12px 12px 0;
     font-style: italic;
     color: var(--dml-text);
   }
   
   /* Tags */
   .single-tags {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.5rem;
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid rgba(0, 0, 0, 0.08);
   }
   
   .single-tags__label {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text-muted);
   }
   
   .single-tag {
     display: inline-block;
     padding: 0.35rem 0.75rem;
     background: var(--dml-bg-warm);
     color: var(--dml-text);
     font-size: 0.85rem;
     border-radius: 6px;
     text-decoration: none;
     transition: background 0.2s ease, color 0.2s ease;
   }
   
   .single-tag:hover {
     background: var(--dml-red);
     color: #fff;
   }
   
   /* Share */
   .single-share {
     display: flex;
     align-items: center;
     gap: 1rem;
     margin-top: 2rem;
     padding-top: 2rem;
     border-top: 1px solid rgba(0, 0, 0, 0.08);
   }
   
   .single-share__label {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text-muted);
   }
   
   .single-share__buttons {
     display: flex;
     gap: 0.5rem;
   }
   
   .single-share__btn {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     background: var(--dml-bg-warm);
     color: var(--dml-text);
     border-radius: 10px;
     text-decoration: none;
     transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
   }
   
   .single-share__btn:hover {
     background: var(--dml-red);
     color: #fff;
     transform: translateY(-2px);
   }
   
   /* Author */
   .single-author {
     display: flex;
     align-items: flex-start;
     gap: 1.25rem;
     margin-top: 2.5rem;
     padding: 1.5rem;
     background: var(--dml-bg-warm);
     border-radius: 16px;
   }
   
   .single-author__avatar img {
     width: 64px;
     height: 64px;
     border-radius: 50%;
     object-fit: cover;
   }
   
   .single-author__label {
     font-size: 0.8rem;
     color: var(--dml-text-muted);
     margin: 0 0 0.25rem;
   }
   
   .single-author__name {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 0;
   }
   
   .single-author__bio {
     font-size: 0.9rem;
     line-height: 1.5;
     color: var(--dml-text-light);
     margin: 0.5rem 0 0;
   }
   
   /* Sidebar */
   .single-sidebar {
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
   }
   
   .sidebar-widget {
     padding: 1.5rem;
     background: var(--dml-bg-warm);
     border-radius: 16px;
   }
   
   .sidebar-widget--sticky {
     position: sticky;
     top: 120px;
   }
   
   .sidebar-widget__title {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--dml-text);
     margin: 0 0 0.75rem;
   }
   
   .sidebar-widget__text {
     font-size: 0.9rem;
     line-height: 1.5;
     color: var(--dml-text-light);
     margin: 0 0 1rem;
   }
   
   .sidebar-widget__phone {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--dml-red);
     text-decoration: none;
   }
   
   .sidebar-widget__phone svg {
     width: 20px;
     height: 20px;
   }
   
   /* Sidebar Posts */
   .sidebar-post {
     display: flex;
     gap: 1rem;
     padding: 0.75rem 0;
     text-decoration: none;
     border-bottom: 1px solid rgba(0, 0, 0, 0.06);
     transition: opacity 0.2s ease;
   }
   
   .sidebar-post:last-child {
     border-bottom: none;
     padding-bottom: 0;
   }
   
   .sidebar-post:first-child {
     padding-top: 0;
   }
   
   .sidebar-post:hover {
     opacity: 0.8;
   }
   
   .sidebar-post__thumb {
     flex-shrink: 0;
     width: 60px;
     height: 60px;
     border-radius: 8px;
     overflow: hidden;
   }
   
   .sidebar-post__thumb img {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   .sidebar-post__title {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--dml-text);
     margin: 0 0 0.25rem;
     line-height: 1.3;
   }
   
   .sidebar-post__date {
     font-size: 0.75rem;
     color: var(--dml-text-muted);
   }
   
   /* Post Navigation */
   .single-nav {
     padding: 0 1rem;
     background: var(--dml-bg-warm);
   }
   
   .single-nav__grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 1rem;
     max-width: 1100px;
     margin: 0 auto;
     padding: 3rem 0;
   }
   
   @media (min-width: 768px) {
     .single-nav__grid {
       grid-template-columns: 1fr 1fr;
       gap: 2rem;
     }
   }
   
   .single-nav__link {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     padding: 1.5rem;
     background: #fff;
     border-radius: 12px;
     text-decoration: none;
     transition: transform 0.2s ease, box-shadow 0.2s ease;
   }
   
   .single-nav__link:hover {
     transform: translateY(-2px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
   }
   
   .single-nav__link--next {
     text-align: right;
   }
   
   .single-nav__label {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 0.85rem;
     color: var(--dml-text-muted);
   }
   
   .single-nav__link--next .single-nav__label {
     justify-content: flex-end;
   }
   
   .single-nav__title {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: 1rem;
     font-weight: 600;
     color: var(--dml-text);
     line-height: 1.4;
   }
   
   /* Single CTA */
   .single-cta {
     padding: 5rem 1rem;
     background: linear-gradient(135deg, #c41e1e 0%, #a01818 100%);
     text-align: center;
   }
   
   .single-cta__inner {
     max-width: 700px;
     margin: 0 auto;
   }
   
   .single-cta h2 {
     font-family: 'Playfair Display', Georgia, serif;
     font-size: clamp(1.5rem, 4vw, 2rem);
     font-weight: 700;
     color: #fff;
     margin: 0 0 0.75rem;
   }
   
   .single-cta p {
     font-size: 1.1rem;
     color: rgba(255, 255, 255, 0.85);
     margin: 0 0 2rem;
   }
   
   .single-cta .btn-white {
     background: #fff;
     color: var(--dml-red);
     border: none;
   }
   
   .single-cta .btn-white:hover {
     background: rgba(255, 255, 255, 0.9);
     transform: translateY(-2px);
   }
   