/*
Theme Name:   DEWA Consultant Child
Theme URI:    https://example.com
Description:  Child theme for the DEWA Consultant custom homepage design. Loads after the parent theme so its styles take priority.
Author:       Your Name
Template:     astra
Version:      1.0.0
Text Domain:  dewa-child
*/

/* ==========================================================================
   All rules below are scoped to #dewa-homepage-wrap and use !important
   so the parent theme's own styles cannot override this design.
   ========================================================================== */


  #dewa-homepage-wrap{ --navy-deep: #001B3A; --navy: #002958; --blue: #003C82; --blue-bright: #2E8EFF; --yellow: #F4CD00; --yellow-deep: #CCAB00; --aqua: #66ACFF; --white: #FFFFFF; --whatsapp: #25D366; --text-muted: rgba(255,255,255,0.74); --text-faint: rgba(255,255,255,0.55); --ink: #0E2338; --body-text: #52627A; --card-bg: #FFFFFF; --card-border: rgba(0,41,88,0.09); --section-bg: #F3F8FF; --font-display: 'Raleway', sans-serif; --font-body: 'Inter', sans-serif; --radius-btn: 10px; --radius-card: 16px; }

  #dewa-homepage-wrap, #dewa-homepage-wrap *{ box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; }
  html{ scroll-behavior: smooth !important; overflow-x: hidden !important; }
  #dewa-homepage-wrap{ font-family: var(--font-body) !important; background: var(--navy-deep) !important; overflow-x: hidden !important; max-width: 100vw !important; }
  #dewa-homepage-wrap #home, #dewa-homepage-wrap #services, #dewa-homepage-wrap #about, #dewa-homepage-wrap #faq, #dewa-homepage-wrap #contact{ scroll-margin-top: 84px !important; }

  /* ======================================================
     SITE HEADER
  ====================================================== */
  #dewa-homepage-wrap .site-header{ position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 100 !important; height: 76px !important; display: flex !important; align-items: center !important; padding: 0 6vw !important; background: rgba(7,26,51,0.82) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; transform: translateY(0) !important; transition: transform 0.3s ease !important; }
  #dewa-homepage-wrap .site-header.header-hidden{ transform: translateY(-100%) !important; }

  #dewa-homepage-wrap .site-header-inner{ max-width: 1320px !important; width: 100% !important; margin: 0 auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; }

  #dewa-homepage-wrap .site-logo{ display: flex !important; align-items: center !important; gap: 0 !important; font-family: var(--font-display) !important; font-weight: 800 !important; font-size: 19px !important; letter-spacing: -0.3px !important; color: var(--white) !important; text-decoration: none !important; flex-shrink: 0 !important; }
  #dewa-homepage-wrap .site-logo .accent{ color: var(--yellow) !important; }

  #dewa-homepage-wrap .site-nav{ display: flex !important; align-items: center !important; gap: 34px !important; }
  #dewa-homepage-wrap .site-nav a{ font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14px !important; letter-spacing: 0.2px !important; color: rgba(255,255,255,0.78) !important; text-decoration: none !important; position: relative !important; padding: 6px 0 !important; transition: color 0.15s ease !important; }
  #dewa-homepage-wrap .site-nav a::after{ content: "" !important; position: absolute !important; left: 0 !important; bottom: 0 !important; width: 0 !important; height: 2px !important; background: var(--yellow) !important; transition: width 0.2s ease !important; }
  #dewa-homepage-wrap .site-nav a:hover{ color: var(--white) !important; }
  #dewa-homepage-wrap .site-nav a:hover::after{ width: 100% !important; }

  #dewa-homepage-wrap .site-nav .nav-inactive{ font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14px !important; letter-spacing: 0.2px !important; color: rgba(255,255,255,0.35) !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 6px 0 !important; cursor: default !important; user-select: none !important; }
  #dewa-homepage-wrap .nav-soon-tag{ font-family: var(--font-body) !important; font-weight: 700 !important; font-size: 9px !important; letter-spacing: 0.4px !important; text-transform: uppercase !important; color: rgba(255,255,255,0.45) !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.14) !important; border-radius: 999px !important; padding: 2px 7px !important; }

  #dewa-homepage-wrap .site-header-actions{ display: flex !important; align-items: center !important; gap: 16px !important; flex-shrink: 0 !important; }

  #dewa-homepage-wrap .header-cta{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 13.5px !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 11px 20px !important; border-radius: var(--radius-btn) !important; background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-deep) 100%) !important; color: var(--navy-deep) !important; text-decoration: none !important; box-shadow: 0 10px 20px rgba(255,199,44,0.22) !important; transition: transform 0.18s ease, box-shadow 0.18s ease !important; white-space: nowrap !important; }
  #dewa-homepage-wrap .header-cta:hover{ transform: translateY(-2px) !important; box-shadow: 0 14px 24px rgba(255,199,44,0.3) !important; }

  #dewa-homepage-wrap .nav-toggle{ display: none !important; width: 44px !important; height: 44px !important; align-items: center !important; justify-content: center !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.16) !important; border-radius: 8px !important; cursor: pointer !important; flex-shrink: 0 !important; }
  #dewa-homepage-wrap .nav-toggle svg{ pointer-events: none !important; }

  @media (max-width: 1180px){
    #dewa-homepage-wrap .site-nav{ gap: 20px !important; }
  }

  @media (max-width: 900px){
    #dewa-homepage-wrap .site-nav{ position: fixed !important; top: 76px !important; left: 0 !important; right: 0 !important; flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; background: rgba(7,26,51,0.97) !important; backdrop-filter: blur(12px) !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; padding: 8px 6vw 18px !important; transform: translateY(-8px) !important; opacity: 0 !important; pointer-events: none !important; transition: opacity 0.2s ease, transform 0.2s ease !important; max-height: calc(100vh - 76px) !important; overflow-y: auto !important; }
    #dewa-homepage-wrap .site-nav.open{ opacity: 1 !important; transform: translateY(0) !important; pointer-events: auto !important; }
    #dewa-homepage-wrap .site-nav a{ width: 100% !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; font-size: 15px !important; }
    #dewa-homepage-wrap .site-nav .nav-inactive{ width: 100% !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; font-size: 15px !important; }
    #dewa-homepage-wrap .header-cta{ display: none !important; }
    #dewa-homepage-wrap .nav-toggle{ display: flex !important; }
  }

  @media (max-width: 480px){
    #dewa-homepage-wrap .site-logo{ font-size: 16px !important; }
    #dewa-homepage-wrap .site-header{ padding: 0 5vw !important; }
  }

  #dewa-homepage-wrap a{ text-decoration: none !important; }
  #dewa-homepage-wrap ul{ list-style: none !important; }

  /* ======================================================
     HERO SECTION
  ====================================================== */
  #dewa-homepage-wrap .hero{ position: relative !important; width: 100% !important; min-height: 92vh !important; overflow: hidden !important; display: flex !important; align-items: flex-start !important; background: var(--navy-deep) !important; }

  #dewa-homepage-wrap .hero-scrim{ position: absolute !important; inset: 0 !important; z-index: 2 !important; background: linear-gradient(90deg, rgba(7,26,51,0.35) 0%, rgba(7,26,51,0.15) 42%, rgba(7,26,51,0) 72%) !important; }

  #dewa-homepage-wrap .hero-content{ position: relative !important; z-index: 3 !important; max-width: 1600px !important; width: 100% !important; margin: 0 auto !important; padding: 150px 7.5vw 30px 6vw !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 26px !important; }
  #dewa-homepage-wrap .content-inner{ max-width: 560px !important; flex-shrink: 0 !important; }

  /* ---- Right-side hero visual: photo in a rounded color blob + logo badge ---- */
  #dewa-homepage-wrap .hero-visual{ position: relative !important; flex: 1 1 380px !important; max-width: 400px !important; display: flex !important; justify-content: center !important; }
  #dewa-homepage-wrap .hero-visual-blob{ position: relative !important; width: 100% !important; aspect-ratio: 4 / 4.7 !important; border-radius: 44px !important; overflow: hidden !important; background: linear-gradient(160deg, var(--blue) 0%, var(--navy) 100%) !important; box-shadow: 0 30px 60px rgba(0,27,58,0.45) !important; }
  #dewa-homepage-wrap .hero-visual-blob img{ position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 12% !important; }
  #dewa-homepage-wrap .hero-visual-blob::after{ content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(200deg, rgba(0,60,130,0.05) 0%, rgba(0,27,58,0.55) 100%) !important; }
  #dewa-homepage-wrap .hero-badge{ position: absolute !important; right: -22px !important; bottom: -22px !important; width: 104px !important; height: 104px !important; border-radius: 50% !important; background: var(--white) !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 14px 30px rgba(0,27,58,0.35) !important; border: 4px solid var(--yellow) !important; }
  #dewa-homepage-wrap .hero-badge img{ width: 88% !important; height: 88% !important; object-fit: contain !important; }

  @media (max-width:1080px){
    #dewa-homepage-wrap .hero-visual{ max-width: 320px !important; }
    #dewa-homepage-wrap .hero-badge{ width: 86px !important; height: 86px !important; right: -14px !important; bottom: -14px !important; }
  }

  #dewa-homepage-wrap .hero-eyebrow{ display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 13px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; color: var(--white) !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.22) !important; padding: 8px 16px !important; border-radius: 999px !important; margin-bottom: 24px !important; }
  #dewa-homepage-wrap .hero-eyebrow::before{ content: "" !important; width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--yellow) !important; box-shadow: 0 0 0 4px rgba(255,199,44,0.25) !important; }

  #dewa-homepage-wrap .hero-heading{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(34px, 4vw, 56px) !important; line-height: 1.12 !important; letter-spacing: -0.5px !important; color: var(--white) !important; margin-bottom: 22px !important; }
  #dewa-homepage-wrap .hero-heading .accent{ color: var(--yellow) !important; }

  #dewa-homepage-wrap .hero-desc{ font-family: var(--font-body) !important; font-size: 16.5px !important; line-height: 1.75 !important; color: var(--text-muted) !important; margin-bottom: 36px !important; }

  #dewa-homepage-wrap .hero-actions{ display: flex !important; flex-wrap: wrap !important; gap: 16px !important; }

  #dewa-homepage-wrap .btn{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 15px !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 15px 24px !important; border-radius: var(--radius-btn) !important; transition: transform 0.18s ease, box-shadow 0.18s ease !important; line-height: 1 !important; }

  #dewa-homepage-wrap .btn-primary{ background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-deep) 100%) !important; color: var(--navy-deep) !important; box-shadow: 0 14px 26px rgba(255,199,44,0.22) !important; }
  #dewa-homepage-wrap .btn-primary:hover{ transform: translateY(-2px) !important; box-shadow: 0 18px 30px rgba(255,199,44,0.3) !important; }
  #dewa-homepage-wrap .btn-primary svg{ flex-shrink: 0 !important; }

  #dewa-homepage-wrap .btn-secondary{ background: var(--white) !important; color: var(--navy-deep) !important; box-shadow: 0 10px 22px rgba(0,0,0,0.18) !important; }
  #dewa-homepage-wrap .btn-secondary:hover{ transform: translateY(-2px) !important; box-shadow: 0 14px 26px rgba(0,0,0,0.24) !important; }

  #dewa-homepage-wrap .icon-wrap{ position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 1.55em !important; height: 1.55em !important; flex-shrink: 0 !important; }
  #dewa-homepage-wrap .icon-wrap .pulse-ring{ display: none !important; }
  #dewa-homepage-wrap .icon-wrap .icon-circle{ position: relative !important; z-index: 2 !important; width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  #dewa-homepage-wrap .icon-wrap svg{ width: 100% !important; height: 100% !important; }

  #dewa-homepage-wrap .hero-trust{ display: grid !important; grid-template-columns: 1fr 1fr !important; column-gap: 24px !important; row-gap: 16px !important; }
  #dewa-homepage-wrap .hero-trust .item{ display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.4 !important; color: var(--white) !important; }
  #dewa-homepage-wrap .hero-trust svg{ flex-shrink: 0 !important; margin-top: 3px !important; }

  @media (max-width:900px){
    #dewa-homepage-wrap .hero{ min-height: auto !important; padding: 100px 0 60px !important; }
    #dewa-homepage-wrap .hero-content{ padding: 0 6vw 60px !important; flex-direction: column !important; align-items: stretch !important; gap: 32px !important; }
    #dewa-homepage-wrap .hero-scrim{ background: rgba(7,26,51,0.25) !important; }
    #dewa-homepage-wrap .content-inner{ max-width: 100% !important; }
    #dewa-homepage-wrap .hero-eyebrow{ margin-bottom: 18px !important; }
    #dewa-homepage-wrap .hero-heading{ margin-bottom: 16px !important; }
    #dewa-homepage-wrap .hero-desc{ margin-bottom: 28px !important; }
    #dewa-homepage-wrap .hero-actions{ flex-direction: column !important; align-items: stretch !important; }
    #dewa-homepage-wrap .hero .btn{ justify-content: center !important; }
    #dewa-homepage-wrap .hero-trust{ column-gap: 16px !important; row-gap: 14px !important; }
    #dewa-homepage-wrap .hero-visual{ width: 88% !important; max-width: 420px !important; margin: 0 auto !important; }
    #dewa-homepage-wrap .hero-badge{ width: 92px !important; height: 92px !important; right: -12px !important; bottom: -12px !important; }
  }

  @media (max-width:480px){
    #dewa-homepage-wrap .hero{ padding: 90px 0 50px !important; }
    #dewa-homepage-wrap .hero-heading{ font-size: 30px !important; }
    #dewa-homepage-wrap .hero-visual{ width: 86% !important; max-width: 340px !important; }
    #dewa-homepage-wrap .hero-badge{ width: 76px !important; height: 76px !important; right: -10px !important; bottom: -10px !important; border-width: 3px !important; }
    #dewa-homepage-wrap .hero-trust{ column-gap: 14px !important; row-gap: 14px !important; }
    #dewa-homepage-wrap .hero-trust .item{ font-size: 13.5px !important; gap: 8px !important; }
    #dewa-homepage-wrap .hero-trust svg{ width: 17px !important; height: 17px !important; }
  }

  /* ======================================================
     SCROLLING SERVICES RIBBON (below hero)
  ====================================================== */
  #dewa-homepage-wrap .ribbon{ position: relative !important; overflow: hidden !important; background: var(--navy) !important; padding: 18px 0 !important; border-top: 1px solid rgba(255,255,255,0.06) !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }
  #dewa-homepage-wrap .ribbon-track{ display: flex !important; align-items: center !important; width: max-content !important; gap: 28px !important; animation: ribbonScroll 32s linear infinite !important; }
  #dewa-homepage-wrap .ribbon-item{ font-family: var(--font-display) !important; font-weight: 400 !important; font-size: 14px !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; color: var(--yellow) !important; white-space: nowrap !important; }
  #dewa-homepage-wrap .ribbon-dot{ width: 7px !important; height: 7px !important; background: var(--white) !important; transform: rotate(45deg) !important; flex-shrink: 0 !important; opacity: 0.85 !important; }
  @keyframes ribbonScroll{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce){
    #dewa-homepage-wrap .ribbon-track{ animation: none !important; overflow-x: auto !important; }
  }
  @media (max-width:640px){
    #dewa-homepage-wrap .ribbon{ padding: 14px 0 !important; }
    #dewa-homepage-wrap .ribbon-item{ font-size: 12.5px !important; letter-spacing: 0.8px !important; }
  }

  /* ---- Desktop only: make hero + ribbon fit within one screen, no scroll needed ---- */
  @media (min-width:901px){
    #dewa-homepage-wrap .ribbon{ height: 56px !important; padding: 0 !important; display: flex !important; align-items: center !important; }
    #dewa-homepage-wrap .hero{ min-height: calc(100vh - 56px - 90px) !important; }
  }

  #dewa-homepage-wrap .services{ position: relative !important; padding: 100px 6vw 110px !important; background: radial-gradient(700px 400px at 92% 0%, rgba(46,155,255,0.08), transparent 60%),
      var(--section-bg) !important; }

  #dewa-homepage-wrap .services-header{ max-width: 720px !important; margin: 0 auto 56px !important; text-align: center !important; }

  #dewa-homepage-wrap .eyebrow{ display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 13px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; color: var(--blue) !important; background: rgba(18,89,158,0.08) !important; border: 1px solid rgba(18,89,158,0.18) !important; padding: 8px 16px !important; border-radius: 999px !important; margin-bottom: 20px !important; }
  #dewa-homepage-wrap .eyebrow::before{ content: "" !important; width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--yellow) !important; box-shadow: 0 0 0 4px rgba(255,199,44,0.25) !important; }

  #dewa-homepage-wrap .services-header h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(30px, 3.4vw, 42px) !important; line-height: 1.15 !important; letter-spacing: -0.5px !important; color: var(--ink) !important; margin-bottom: 16px !important; }
  #dewa-homepage-wrap .services-header p{ font-size: 16px !important; line-height: 1.75 !important; color: var(--body-text) !important; }

  #dewa-homepage-wrap .services-grid{ max-width: 1280px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 26px !important; }

  #dewa-homepage-wrap .service-card{ position: relative !important; background: var(--card-bg) !important; border: 1px solid var(--card-border) !important; border-radius: var(--radius-card) !important; padding: 30px 28px 26px !important; box-shadow: 0 8px 20px rgba(0,41,88,0.05) !important; transition: border-color 0.2s ease !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  #dewa-homepage-wrap .service-card::before{ content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 4px !important; background: linear-gradient(90deg, var(--blue) 0%, var(--yellow) 100%) !important; transform: scaleX(0) !important; transform-origin: left !important; transition: transform 0.3s ease !important; }
  #dewa-homepage-wrap .service-card:hover{ border-color: rgba(18,89,158,0.18) !important; }
  #dewa-homepage-wrap .service-card:hover::before{ transform: scaleX(1) !important; }

  #dewa-homepage-wrap .card-index{ display: flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; border-radius: 10px !important; background: var(--navy-deep) !important; color: var(--yellow) !important; font-family: var(--font-display) !important; font-weight: 800 !important; font-size: 14px !important; margin-bottom: 18px !important; }

  #dewa-homepage-wrap .service-card h3{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 19px !important; line-height: 1.35 !important; color: var(--ink) !important; margin-bottom: 10px !important; }

  #dewa-homepage-wrap .service-card p.card-desc{ font-size: 14.5px !important; line-height: 1.7 !important; color: var(--body-text) !important; margin-bottom: 20px !important; }

  #dewa-homepage-wrap .who-needs{ margin-top: auto !important; border-top: 1px solid var(--card-border) !important; padding-top: 14px !important; }
  #dewa-homepage-wrap .who-needs summary{ display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; cursor: pointer !important; list-style: none !important; font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 13px !important; letter-spacing: 0.3px !important; color: var(--blue) !important; }
  #dewa-homepage-wrap .who-needs summary::-webkit-details-marker{ display: none !important; }
  #dewa-homepage-wrap .who-needs .chevron{ flex-shrink: 0 !important; transition: transform 0.25s ease !important; }
  #dewa-homepage-wrap .who-needs[open] .chevron{ transform: rotate(180deg) !important; }

  #dewa-homepage-wrap .who-needs ul{ margin-top: 14px !important; display: flex !important; flex-direction: column !important; gap: 9px !important; }
  #dewa-homepage-wrap .who-needs li{ position: relative !important; padding-left: 22px !important; font-size: 13.5px !important; line-height: 1.5 !important; color: var(--ink) !important; }
  #dewa-homepage-wrap .who-needs li::before{ content: "" !important; position: absolute !important; left: 0 !important; top: 3px !important; width: 14px !important; height: 14px !important; border-radius: 50% !important; background: rgba(255,199,44,0.18) !important; }
  #dewa-homepage-wrap .who-needs li::after{ content: "" !important; position: absolute !important; left: 4px !important; top: 6px !important; width: 6px !important; height: 3px !important; border-left: 2px solid var(--yellow-deep) !important; border-bottom: 2px solid var(--yellow-deep) !important; transform: rotate(-45deg) !important; }

  /* ---- services CTA (own button classes to avoid clashing with hero .btn) ---- */
  #dewa-homepage-wrap .services-cta{ max-width: 1280px !important; margin: 60px auto 0 !important; background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 60%, var(--blue) 100%) !important; border-radius: var(--radius-card) !important; padding: 44px 44px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 30px !important; flex-wrap: wrap !important; box-shadow: 0 20px 40px rgba(7,26,51,0.18) !important; }
  #dewa-homepage-wrap .services-cta h3{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(20px, 2.2vw, 26px) !important; color: var(--white) !important; margin-bottom: 6px !important; }
  #dewa-homepage-wrap .services-cta p{ font-size: 14.5px !important; color: rgba(255,255,255,0.75) !important; }

  #dewa-homepage-wrap .cta-actions{ display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }

  #dewa-homepage-wrap .cta-btn{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 14.5px !important; display: inline-flex !important; align-items: center !important; gap: 9px !important; padding: 14px 22px !important; border-radius: var(--radius-btn) !important; transition: transform 0.18s ease, box-shadow 0.18s ease !important; white-space: nowrap !important; }
  #dewa-homepage-wrap .cta-btn-primary{ background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-deep) 100%) !important; color: var(--navy-deep) !important; box-shadow: 0 12px 22px rgba(255,199,44,0.25) !important; }
  #dewa-homepage-wrap .cta-btn-primary:hover{ transform: translateY(-2px) !important; }
  #dewa-homepage-wrap .cta-btn-secondary{ background: var(--white) !important; color: var(--navy-deep) !important; box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important; }
  #dewa-homepage-wrap .cta-btn-secondary:hover{ transform: translateY(-2px) !important; }

  @media (max-width: 1100px){
    #dewa-homepage-wrap .services-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .services{ padding: 70px 5vw 70px !important; }

    /* ---- Mobile-only: horizontal slide/swipe carousel instead of stacked cards ---- */
    #dewa-homepage-wrap .services-grid{ display: flex !important; grid-template-columns: unset !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; -ms-overflow-style: none !important; gap: 16px !important; padding-bottom: 10px !important; }
    #dewa-homepage-wrap .services-grid::-webkit-scrollbar{ display: none !important; }  /* Chrome/Safari */

    #dewa-homepage-wrap .service-card{ flex: 0 0 90% !important; scroll-snap-align: center !important; }

    #dewa-homepage-wrap .services-cta{ flex-direction: column !important; align-items: flex-start !important; padding: 32px 26px !important; }
    #dewa-homepage-wrap .cta-actions{ width: 100% !important; }
    #dewa-homepage-wrap .cta-actions .cta-btn{ flex: 1 !important; justify-content: center !important; }
  }

  /* ======================================================
     PROJECT-BASED SERVICES SECTION
  ====================================================== */
  #dewa-homepage-wrap .projects{ position: relative !important; overflow: hidden !important; padding: 100px 6vw 110px !important; background: radial-gradient(800px 450px at 8% 0%, rgba(46,155,255,0.14), transparent 60%),
      radial-gradient(700px 500px at 95% 100%, rgba(102,201,255,0.10), transparent 60%),
      linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 55%, #003068 100%) !important; }

  #dewa-homepage-wrap .projects-header{ max-width: 720px !important; margin: 0 auto 56px !important; text-align: center !important; }

  #dewa-homepage-wrap .projects-header .eyebrow{ color: var(--white) !important; background: rgba(255,255,255,0.08) !important; border-color: rgba(255,255,255,0.22) !important; }
  #dewa-homepage-wrap .projects-header .eyebrow::before{ background: var(--yellow) !important; }

  #dewa-homepage-wrap .projects-header h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(30px, 3.4vw, 42px) !important; line-height: 1.15 !important; letter-spacing: -0.5px !important; color: var(--white) !important; margin-bottom: 16px !important; }
  #dewa-homepage-wrap .projects-header p{ font-size: 16px !important; line-height: 1.75 !important; color: rgba(255,255,255,0.72) !important; }

  #dewa-homepage-wrap .projects-grid{ max-width: 1180px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 26px !important; }

  #dewa-homepage-wrap .project-card{ position: relative !important; background: rgba(255,255,255,0.045) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: var(--radius-card) !important; padding: 32px 30px !important; backdrop-filter: blur(2px) !important; }

  #dewa-homepage-wrap .project-card-head{ display: flex !important; align-items: center !important; gap: 14px !important; margin-bottom: 18px !important; }

  #dewa-homepage-wrap .project-icon{ display: flex !important; align-items: center !important; justify-content: center !important; width: 46px !important; height: 46px !important; flex-shrink: 0 !important; border-radius: 12px !important; background: rgba(255,199,44,0.12) !important; border: 1px solid rgba(255,199,44,0.35) !important; }

  #dewa-homepage-wrap .project-card h3{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 19px !important; line-height: 1.35 !important; color: var(--white) !important; }

  #dewa-homepage-wrap .project-tags{ display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 22px !important; }
  #dewa-homepage-wrap .project-tags span{ font-family: var(--font-body) !important; font-size: 12px !important; font-weight: 500 !important; color: rgba(255,255,255,0.85) !important; background: rgba(255,255,255,0.07) !important; border: 1px solid rgba(255,255,255,0.14) !important; padding: 5px 12px !important; border-radius: 999px !important; }

  #dewa-homepage-wrap .project-card .list-label{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 12.5px !important; letter-spacing: 0.6px !important; text-transform: uppercase !important; color: var(--yellow) !important; margin-bottom: 14px !important; display: block !important; }

  #dewa-homepage-wrap .project-list{ display: flex !important; flex-direction: column !important; gap: 12px !important; }
  #dewa-homepage-wrap .project-list li{ display: flex !important; align-items: flex-start !important; gap: 12px !important; font-size: 14px !important; line-height: 1.55 !important; color: rgba(255,255,255,0.88) !important; }
  #dewa-homepage-wrap .project-list .num{ display: flex !important; align-items: center !important; justify-content: center !important; width: 22px !important; height: 22px !important; flex-shrink: 0 !important; border-radius: 6px !important; background: var(--yellow) !important; color: var(--navy-deep) !important; font-family: var(--font-display) !important; font-weight: 800 !important; font-size: 11.5px !important; margin-top: 1px !important; }

  @media (max-width: 900px){
    #dewa-homepage-wrap .projects-grid{ grid-template-columns: 1fr !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .projects{ padding: 70px 5vw 70px !important; }
    #dewa-homepage-wrap .project-card{ padding: 26px 22px !important; }
  }

  /* ======================================================
     ABOUT US SECTION
  ====================================================== */
  #dewa-homepage-wrap .about{ padding: 100px 6vw 110px !important; background: var(--white) !important; }

  #dewa-homepage-wrap .about-grid{ max-width: 1240px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1.15fr 0.85fr !important; gap: 56px !important; align-items: center !important; }

  #dewa-homepage-wrap .about-content .eyebrow{ color: var(--blue) !important; background: rgba(18,89,158,0.08) !important; border: 1px solid rgba(18,89,158,0.18) !important; }
  #dewa-homepage-wrap .about-content .eyebrow::before{ background: var(--yellow) !important; }

  #dewa-homepage-wrap .about-content h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.18 !important; letter-spacing: -0.5px !important; color: var(--ink) !important; margin: 18px 0 22px !important; }

  #dewa-homepage-wrap .about-content p{ font-size: 15.5px !important; line-height: 1.8 !important; color: var(--body-text) !important; margin-bottom: 18px !important; }
  #dewa-homepage-wrap .about-content p:last-child{ margin-bottom: 0 !important; }

  /* ---- why choose panel ---- */
  #dewa-homepage-wrap .about-panel{ background: linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 60%, #003068 100%) !important; border-radius: var(--radius-card) !important; padding: 38px 34px !important; box-shadow: 0 20px 40px rgba(7,26,51,0.14) !important; }

  #dewa-homepage-wrap .about-panel h3{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 19px !important; color: var(--white) !important; margin-bottom: 24px !important; }

  #dewa-homepage-wrap .about-list{ display: flex !important; flex-direction: column !important; gap: 18px !important; }
  #dewa-homepage-wrap .about-list li{ display: flex !important; align-items: flex-start !important; gap: 14px !important; }
  #dewa-homepage-wrap .about-list .check{ display: flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; flex-shrink: 0 !important; border-radius: 8px !important; background: rgba(255,199,44,0.14) !important; border: 1px solid rgba(255,199,44,0.4) !important; margin-top: 1px !important; }
  #dewa-homepage-wrap .about-list span{ font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14.5px !important; line-height: 1.5 !important; color: rgba(255,255,255,0.92) !important; }

  @media (max-width: 980px){
    #dewa-homepage-wrap .about-grid{ grid-template-columns: 1fr !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .about{ padding: 70px 5vw 70px !important; }
    #dewa-homepage-wrap .about-panel{ padding: 30px 26px !important; }
  }

  /* ======================================================
     AREAS COVERED SECTION
  ====================================================== */
  #dewa-homepage-wrap .areas{ position: relative !important; padding: 100px 6vw 110px !important; background: radial-gradient(700px 400px at 8% 100%, rgba(46,155,255,0.08), transparent 60%),
      var(--section-bg) !important; }

  #dewa-homepage-wrap .areas-header{ max-width: 760px !important; margin: 0 auto 48px !important; text-align: center !important; }

  #dewa-homepage-wrap .areas-header h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(28px, 3.4vw, 42px) !important; line-height: 1.22 !important; letter-spacing: -0.5px !important; color: var(--ink) !important; }
  #dewa-homepage-wrap .areas-header h2 .line2{ color: var(--blue) !important; display: block !important; }

  #dewa-homepage-wrap .areas-panel{ max-width: 1180px !important; margin: 0 auto !important; background: var(--card-bg) !important; border: 1px solid var(--card-border) !important; border-radius: var(--radius-card) !important; box-shadow: 0 8px 20px rgba(0,41,88,0.05) !important; padding: 20px 10px !important; }

  #dewa-homepage-wrap .areas-grid{ display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }

  #dewa-homepage-wrap .area-item{ display: flex !important; align-items: center !important; gap: 10px !important; padding: 15px 20px !important; border-bottom: 1px solid var(--card-border) !important; text-decoration: none !important; transition: background 0.15s ease !important; }
  #dewa-homepage-wrap .area-item:hover{ background: rgba(18,89,158,0.05) !important; }
  #dewa-homepage-wrap .area-item:hover span{ color: var(--blue) !important; }
  /* right-hand borders to form a clean grid divider pattern (4 columns) */
  #dewa-homepage-wrap .areas-grid .area-item:not(:nth-child(4n))::after{ content: "" !important; }
  #dewa-homepage-wrap .area-item svg{ flex-shrink: 0 !important; }
  #dewa-homepage-wrap .area-item span{ font-family: var(--font-body) !important; font-weight: 500 !important; font-size: 14.5px !important; color: var(--ink) !important; transition: color 0.15s ease !important; }

  @media (max-width: 980px){
    #dewa-homepage-wrap .areas-grid{ grid-template-columns: repeat(3, 1fr) !important; }
  }
  @media (max-width: 700px){
    #dewa-homepage-wrap .areas-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .areas{ padding: 70px 5vw 70px !important; }
    #dewa-homepage-wrap .areas-panel{ padding: 10px 6px !important; }
    #dewa-homepage-wrap .area-item{ padding: 13px 14px !important; }
  }

  /* ======================================================
     GET A QUOTE SECTION
  ====================================================== */
  #dewa-homepage-wrap .quote{ padding: 100px 6vw 110px !important; background: var(--section-bg) !important; }

  #dewa-homepage-wrap .quote-header{ max-width: 720px !important; margin: 0 auto 48px !important; text-align: center !important; }
  #dewa-homepage-wrap .quote-header .eyebrow{ color: var(--blue) !important; background: rgba(18,89,158,0.08) !important; border: 1px solid rgba(18,89,158,0.18) !important; }
  #dewa-homepage-wrap .quote-header .eyebrow::before{ background: var(--yellow) !important; }
  #dewa-homepage-wrap .quote-header h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(28px, 3.4vw, 42px) !important; line-height: 1.2 !important; letter-spacing: -0.5px !important; color: var(--ink) !important; margin-top: 8px !important; }

  #dewa-homepage-wrap .quote-grid{ max-width: 1240px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1.05fr 0.95fr !important; gap: 28px !important; align-items: stretch !important; }

  /* ---- left info panel ---- */
  #dewa-homepage-wrap .quote-info{ background: linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 60%, #003068 100%) !important; border-radius: var(--radius-card) !important; padding: 46px 42px !important; display: flex !important; flex-direction: column !important; }

  #dewa-homepage-wrap .quote-info h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(26px, 3vw, 36px) !important; line-height: 1.25 !important; color: var(--white) !important; margin-bottom: 20px !important; }
  #dewa-homepage-wrap .quote-info h2 .accent{ color: var(--yellow) !important; }

  #dewa-homepage-wrap .quote-info p{ font-size: 15px !important; line-height: 1.75 !important; color: rgba(255,255,255,0.72) !important; margin-bottom: 22px !important; }
  #dewa-homepage-wrap .quote-info p.quote-note{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 16px !important; color: var(--white) !important; margin-bottom: 24px !important; }

  #dewa-homepage-wrap .quote-checklist{ display: flex !important; flex-direction: column !important; gap: 14px !important; margin-top: auto !important; }
  #dewa-homepage-wrap .quote-checklist li{ display: flex !important; align-items: center !important; gap: 12px !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14.5px !important; color: var(--white) !important; }
  #dewa-homepage-wrap .quote-checklist svg{ flex-shrink: 0 !important; }

  /* ---- right form panel ---- */
  #dewa-homepage-wrap .quote-form-panel{ background: var(--card-bg) !important; border: 1px solid var(--card-border) !important; border-radius: var(--radius-card) !important; box-shadow: 0 8px 20px rgba(0,41,88,0.06) !important; padding: 42px 40px !important; }

  #dewa-homepage-wrap .quote-form-panel h3{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(20px, 2.2vw, 24px) !important; color: var(--ink) !important; margin-bottom: 26px !important; }

  #dewa-homepage-wrap .form-row{ display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; margin-bottom: 18px !important; }

  #dewa-homepage-wrap .form-field label{ display: block !important; font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 13px !important; color: var(--ink) !important; margin-bottom: 8px !important; }
  #dewa-homepage-wrap .form-field label .req{ color: var(--blue) !important; }

  #dewa-homepage-wrap .form-field input, #dewa-homepage-wrap .form-field select, #dewa-homepage-wrap .form-field textarea{ width: 100% !important; font-family: var(--font-body) !important; font-size: 14px !important; color: var(--ink) !important; background: var(--white) !important; border: 1px solid var(--card-border) !important; border-radius: 10px !important; padding: 12px 14px !important; outline: none !important; transition: border-color 0.15s ease, box-shadow 0.15s ease !important; }
  #dewa-homepage-wrap .form-field input::placeholder, #dewa-homepage-wrap .form-field textarea::placeholder{ color: rgba(82,98,122,0.55) !important; }
  #dewa-homepage-wrap .form-field input:focus, #dewa-homepage-wrap .form-field select:focus, #dewa-homepage-wrap .form-field textarea:focus{ border-color: var(--blue) !important; box-shadow: 0 0 0 3px rgba(18,89,158,0.12) !important; }
  #dewa-homepage-wrap .form-field textarea{ resize: vertical !important; min-height: 96px !important; }
  #dewa-homepage-wrap .form-field select{ appearance: none !important; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%2352627A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px !important; padding-right: 38px !important; }

  #dewa-homepage-wrap .form-field-full{ margin-bottom: 22px !important; }

  #dewa-homepage-wrap .quote-submit{ width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 14.5px !important; letter-spacing: 0.4px !important; text-transform: uppercase !important; color: var(--navy-deep) !important; background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-deep) 100%) !important; border: none !important; border-radius: var(--radius-btn) !important; padding: 16px 20px !important; cursor: pointer !important; transition: transform 0.18s ease, box-shadow 0.18s ease !important; box-shadow: 0 14px 26px rgba(255,199,44,0.22) !important; }
  #dewa-homepage-wrap .quote-submit:hover{ transform: translateY(-2px) !important; box-shadow: 0 18px 30px rgba(255,199,44,0.3) !important; }

  #dewa-homepage-wrap .quote-privacy{ display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 16px !important; font-size: 12.5px !important; color: var(--body-text) !important; }
  #dewa-homepage-wrap .quote-privacy svg{ flex-shrink: 0 !important; }

  @media (max-width: 980px){
    #dewa-homepage-wrap .quote-grid{ grid-template-columns: 1fr !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .quote{ padding: 70px 5vw 70px !important; }
    #dewa-homepage-wrap .quote-info{ padding: 34px 26px !important; }
    #dewa-homepage-wrap .quote-form-panel{ padding: 30px 24px !important; }
    #dewa-homepage-wrap .form-row{ grid-template-columns: 1fr !important; gap: 16px !important; margin-bottom: 0 !important; }
    #dewa-homepage-wrap .form-field{ margin-bottom: 18px !important; }
  }

  /* ======================================================
     FAQ SECTION
  ====================================================== */
  #dewa-homepage-wrap .faq{ position: relative !important; padding: 100px 6vw 110px !important; background: var(--white) !important; border-top: 1px solid var(--card-border) !important; }

  #dewa-homepage-wrap .faq-header{ max-width: 760px !important; margin: 0 auto 50px !important; text-align: center !important; }

  #dewa-homepage-wrap .faq-header h2{ font-family: var(--font-display) !important; font-weight: 800 !important; font-size: clamp(28px, 3.4vw, 42px) !important; line-height: 1.2 !important; letter-spacing: -0.5px !important; color: var(--ink) !important; margin-bottom: 16px !important; }
  #dewa-homepage-wrap .faq-header p{ font-size: 16px !important; line-height: 1.75 !important; color: var(--body-text) !important; }

  #dewa-homepage-wrap .faq-columns{ max-width: 1320px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; border: 1px solid var(--card-border) !important; border-radius: var(--radius-card) !important; overflow: hidden !important; background: var(--card-bg) !important; }

  #dewa-homepage-wrap .faq-column{ padding: 30px 26px !important; }
  #dewa-homepage-wrap .faq-column + .faq-column{ border-left: 1px solid var(--card-border) !important; }

  #dewa-homepage-wrap .faq-col-title{ font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 15px !important; letter-spacing: 0.3px !important; color: var(--blue) !important; text-transform: uppercase !important; padding-bottom: 14px !important; margin-bottom: 8px !important; border-bottom: 2px solid var(--yellow) !important; }

  #dewa-homepage-wrap .faq-item{ border-bottom: 1px solid var(--card-border) !important; padding: 14px 0 !important; }
  #dewa-homepage-wrap .faq-item:last-child{ border-bottom: none !important; }

  #dewa-homepage-wrap .faq-item summary{ display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 10px !important; cursor: pointer !important; list-style: none !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 13.5px !important; line-height: 1.5 !important; color: var(--ink) !important; }
  #dewa-homepage-wrap .faq-item summary::-webkit-details-marker{ display: none !important; }
  #dewa-homepage-wrap .faq-item .chevron{ flex-shrink: 0 !important; margin-top: 2px !important; transition: transform 0.25s ease !important; }
  #dewa-homepage-wrap .faq-item[open] .chevron{ transform: rotate(180deg) !important; }
  #dewa-homepage-wrap .faq-item[open] summary{ color: var(--blue) !important; }

  #dewa-homepage-wrap .faq-item p{ margin-top: 10px !important; font-family: var(--font-body) !important; font-size: 13.5px !important; line-height: 1.65 !important; color: var(--body-text) !important; }

  #dewa-homepage-wrap .faq-item p a{ color: var(--blue) !important; font-weight: 600 !important; text-decoration: underline !important; text-decoration-color: rgba(0,60,130,0.35) !important; text-underline-offset: 2px !important; }
  #dewa-homepage-wrap .faq-item p a:hover{ text-decoration-color: var(--blue) !important; }

  @media (max-width: 1000px){
    #dewa-homepage-wrap .faq-columns{ grid-template-columns: 1fr !important; }
    #dewa-homepage-wrap .faq-column + .faq-column{ border-left: none !important; border-top: 1px solid var(--card-border) !important; }
  }
  @media (max-width: 640px){
    #dewa-homepage-wrap .faq{ padding: 70px 5vw 70px !important; }
    #dewa-homepage-wrap .faq-column{ padding: 24px 20px !important; }
  }

  #dewa-homepage-wrap .faq-disclaimer{ max-width: 1320px !important; margin: 30px auto 0 !important; display: flex !important; align-items: flex-start !important; gap: 12px !important; background: rgba(255,199,44,0.08) !important; border: 1px solid rgba(255,199,44,0.3) !important; border-radius: 12px !important; padding: 18px 22px !important; }
  #dewa-homepage-wrap .faq-disclaimer svg{ flex-shrink: 0 !important; margin-top: 2px !important; }
  #dewa-homepage-wrap .faq-disclaimer p{ font-family: var(--font-body) !important; font-size: 13px !important; line-height: 1.65 !important; color: var(--body-text) !important; }
  #dewa-homepage-wrap .faq-disclaimer strong{ color: var(--ink) !important; font-family: var(--font-display) !important; font-weight: 700 !important; }
  @media (max-width: 640px){
    #dewa-homepage-wrap .faq-disclaimer{ padding: 16px 18px !important; }
  }

  /* ======================================================
     SITE FOOTER
  ====================================================== */
  #dewa-homepage-wrap .site-footer{ background: linear-gradient(180deg, var(--navy-deep) 0%, #00142B 100%) !important; padding: 40px 6vw 30px !important; text-align: center !important; }

  #dewa-homepage-wrap .footer-menu{ display: flex !important; align-items: center !important; justify-content: center !important; flex-wrap: wrap !important; gap: 22px !important; padding-bottom: 26px !important; margin-bottom: 22px !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }
  #dewa-homepage-wrap .footer-menu a{ font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14.5px !important; letter-spacing: 0.2px !important; color: rgba(255,255,255,0.8) !important; text-decoration: none !important; transition: color 0.15s ease !important; }
  #dewa-homepage-wrap .footer-menu a:hover{ color: var(--yellow) !important; }
  #dewa-homepage-wrap .footer-menu .nav-inactive{ display: inline-flex !important; align-items: center !important; gap: 6px !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 14.5px !important; letter-spacing: 0.2px !important; color: rgba(255,255,255,0.35) !important; cursor: default !important; user-select: none !important; }
  #dewa-homepage-wrap .footer-divider{ width: 1px !important; height: 16px !important; background: rgba(255,255,255,0.2) !important; flex-shrink: 0 !important; }

  #dewa-homepage-wrap .footer-bottom{ max-width: 1320px !important; margin: 0 auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; flex-wrap: wrap !important; }
  #dewa-homepage-wrap .footer-bottom p{ font-family: var(--font-body) !important; font-size: 13px !important; color: rgba(255,255,255,0.55) !important; line-height: 1.8 !important; }
  #dewa-homepage-wrap .footer-bottom a{ color: rgba(255,255,255,0.75) !important; text-decoration: none !important; font-weight: 600 !important; }
  #dewa-homepage-wrap .footer-bottom a:hover{ color: var(--yellow) !important; }

  @media (max-width: 640px){
    #dewa-homepage-wrap .site-footer{ padding: 32px 6vw 24px !important; }
    #dewa-homepage-wrap .footer-menu{ gap: 14px 18px !important; }
    #dewa-homepage-wrap .footer-bottom{ justify-content: center !important; text-align: center !important; }
  }

  /* ======================================================
     FLOATING WHATSAPP BUTTON
  ====================================================== */
  #dewa-homepage-wrap .float-whatsapp{ position: fixed !important; right: 24px !important; bottom: 24px !important; z-index: 200 !important; width: 58px !important; height: 58px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: var(--whatsapp) !important; box-shadow: 0 10px 26px rgba(7,26,51,0.28) !important; text-decoration: none !important; }

  #dewa-homepage-wrap .float-whatsapp .fw-ring{ position: absolute !important; inset: 0 !important; border-radius: 50% !important; background: rgba(37,211,102,0.45) !important; animation: fwPulse 2s cubic-bezier(0.4,0,0.6,1) infinite !important; }
  #dewa-homepage-wrap .float-whatsapp .fw-ring.delay{ animation-delay: 0.7s !important; }

  #dewa-homepage-wrap .float-whatsapp svg{ position: relative !important; width: 30px !important; height: 30px !important; }

  #dewa-homepage-wrap .float-whatsapp:hover{ transform: scale(1.06) !important; }
  #dewa-homepage-wrap .float-whatsapp{ transition: transform 0.18s ease !important; }

  @keyframes fwPulse{
    0%{ transform:scale(0.9); opacity:0.55; }
    75%{ transform:scale(1.6); opacity:0; }
    100%{ opacity:0; }
  }

  @media (prefers-reduced-motion: reduce){
    #dewa-homepage-wrap .float-whatsapp .fw-ring{ display: none !important; }
  }

  @media (max-width: 640px){
    #dewa-homepage-wrap .float-whatsapp{ right: 16px !important; bottom: 16px !important; width: 52px !important; height: 52px !important; }
    #dewa-homepage-wrap .float-whatsapp svg{ width: 26px !important; height: 26px !important; }
  }
