    :root {
      --gds-red: #e31c24;
      --gds-blue: #60a5fa;
      --bg: #0b0c10;
      --ink: #0f1116;
      /* --grad:linear-gradient(92deg,#E31C24 0%,#ff7a59 20%,#40E0D0 50%,#60a5fa 74%,#a78bfa 100%); */
      --grad: linear-gradient(92deg, #00eaff 0%, #00ff94 50%, #3f51b5 100%);
    }
    *{margin: 0; padding: 0;box-sizing: border-box}
    html {
      scroll-behavior: smooth;
      max-width: 100%;
      overflow-x: clip !important;
      margin: 0;padding: 0;
    }
    body {
      margin: 0;padding: 0;
      background: var(--bg);
      color: #fff;
      font-family: Open Sans, system-ui;
      max-width: 100%;
      position: relative;
      overflow-x: clip !important;
    }
    .flatpickr-calendar {
      z-index: 1000001 !important;
      display: block !important;
      opacity: 1 !important;
    }
    h1,
    h2,
    h3,
    h4 {
      font-family: Montserrat, Arial, Helvetica, sans-serif;
    }
    .container {max-width: 1280px;margin: 0 auto;padding: 0 20px; box-sizing: border-box;}

    .container .main {display: grid;grid-template-columns: 280px minmax(0, 1fr);gap: 22px;width: 100%;box-sizing: border-box;}

    .container .main .toc {position:sticky;top:86px;align-self:start}
    
    .container .main .main-right {width: 100%;max-width: none;box-sizing: border-box;overflow-wrap: break-word;}

    .container .main .toc a {display: block;padding: 3px 10px;border-radius: 10px;color: #94a3b8;transition: all 0.2s ease;font-size: 14px;font-weight: 400;}
    
    .container .main .toc a.active, .container .main .toc a:hover {background: rgba(255, 255, 255, 0.15);color: #fff;font-weight: 700;border-left: 3px solid var(--gds-red);}

    .section {margin: 40px 0;scroll-margin-top: 96px;}
    .gtitle {
      background: var(--grad);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .card {
      background: rgba(17, 24, 39, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 16px;
      transition: background 0.3s ease, border-color 0.3s ease,
        box-shadow 0.3s ease; /* Ensure smooth transition on hover */
    }
    .card .inner {
      padding: 16px;
    }
    #clients .card .inner {
      padding: 16px;
      height: 100%;
      align-items: center;
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .schedule_project:hover, .start_project:hover {
      text-decoration: none !important;
      cursor: pointer !important;
      color: #eae9e9 !important;
    }
    .small {
      font-size: 12px;
      color: #94a3b8;
      font-weight: 400;
    }
    /* .header_bottom {display: flex !important; justify-content: space-between !important; align-items: center !important;flex-direction: row !important;} */

    /* ZIP widget helpers */
    .zipbox {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .zipbox input {
      flex: 1;
      min-width: 160px;
    }
    .notice {
      font-size: 13px;
      color: #a1a1aa;
      font-weight: 400;
    }

    

    /* Hero */
    .hero{
      cursor: crosshair;
      position: relative;
      min-height: 620px;
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.12);
      isolation: isolate;
      --hero-bg: url("[[HERO_LA_IMAGE_URL]]");
      background-color: #0b0c10;
      background: radial-gradient(1200px 420px at 60% 8%, rgba(227, 28, 36, 0.25),transparent 50%
        ),
        radial-gradient(1200px 420px at 40% 88%,rgba(96, 165, 250, 0.22),transparent 52%
        ),
        var(--hero-bg), #0b0c10;
      background-size: auto, auto, cover, auto;
      background-position: center;
      background-blend-mode: normal, normal, screen, normal;
    }
    .hero-body{position:relative;z-index:2;padding:40px 20px;text-align:center}
    .hero-body .kicker{margin:0 0 6px;font-weight:700;letter-spacing:.3px}
    .hero-canvas{position:absolute;inset:0;display:block;z-index:1;background:transparent;opacity:0.8;}
    .hero-glow{position:absolute;inset:-20% 0;filter:blur(90px);opacity:.22;pointer-events:none;z-index:1}
    .blob {
      display: none;
    }
    .b1 {
      background: #7dd3fc;
      left: 6%;
      top: -8%;
      animation: blob1 16s ease-in-out infinite alternate;
    }
    .b2 {
      background: #fda4af;
      right: -4%;
      bottom: -6%;
      animation: blob2 18s ease-in-out infinite alternate;
    }

    /* Hero mute toggle */
    .hero-mute-btn {
      position: absolute;
      right: 14px;
      bottom: 14px;
      z-index: 3;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.4);
      background: rgba(0, 0, 0, 0.7);
      color: #e5e7eb;
      font-size: 11px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      backdrop-filter: blur(6px);
      font-weight: 400;
    }
    .hero-mute-btn[aria-pressed="true"] {
      background: rgba(15, 23, 42, 0.95);
      border-color: rgba(248, 113, 113, 0.9);
      color: #fee2e2;
    }

    /* Carousel: micro windows */
    .carousel {
      position: relative;
      overflow: hidden;
      width: 100%;
    }
    .ribbon {
      display: flex;
      gap: 16px;
      will-change: transform;
    }
    .slide {
      flex: 0 0 calc(33.333% - 11px);
    }
    .tile {
      position: relative;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: #000;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0, 0, 0, 0.55);
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .tile:hover {
      transform: translateY(-3px);
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.7);
    }
    .tile img {
      width: 100%;
      height: 210px;
      object-fit: cover;
      display: block;
    }
    .tile model-viewer {
      width: 100%;
      height: 210px;
      display: block;
      background: #020617;
      --poster-color: transparent;
    }
    .cap {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 12px 14px 10px;
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0),
        rgba(0, 0, 0, 0.82)
      );
      font-weight: 700;
      color: #fff;
      font-size: 14px;
    }
    .cap .grad {
      background: var(--grad);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      position: relative;
      display: inline-block;
    }
    .cap small {
      font-weight: 500;
    }
    .cap .grad:after {
      content: "Free Sample";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(249, 186, 186, 0.347) 50%,
        rgba(255, 255, 255, 0) 100%
      );
      transform: skewX(-18deg) translateX(-130%);
      animation: shine 3.2s linear infinite;
      -webkit-text-stroke: 1px #fff;
      color: transparent;
      font-weight: 700;
      display: grid;
      place-items: center;
      font-size: 14px;
      white-space: nowrap;
    }
    @keyframes shine {
      to {
        transform: skewX(-18deg) translateX(230%);
      }
    }

    /* Overlay Loading */
    /* NEW: Three.js Loading Overlay Styles */
    @keyframes spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .cityLoadingOverlay {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: rgba(11, 18, 32, 0.95);
      z-index: 15;
      color: #93c5fd;
      font-weight: 600;
      /* Always visible until JS hides it */
      opacity: 1; 
      pointer-events: all; /* Important: intercept clicks while loading */
      transition: opacity 280ms ease, visibility 280ms ease;
    }
    .cityLoadingOverlay.hidden {
      opacity: 0;
      pointer-events: none;
      visibility: hidden;
    }
    .loading-pulse {
      font-size: 14px;
      margin-top: 8px;
    }
    .cityLoadingSpinner {
      width: 32px;
      height: 32px;
      border: 4px solid rgba(255, 255, 255, 0.2);
      border-top-color: var(--gds-red);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin-bottom: 10px;
    }
    .loading-pulse span {
      display: inline-block;
      animation: blink 1.2s infinite alternate;
      color: var(--gds-red);
      font-weight: 800;
      opacity: 0;
    }
    .loading-pulse span:nth-child(2) { animation-delay: 0.2s; }
    .loading-pulse span:nth-child(3) { animation-delay: 0.4s; }

    @keyframes blink {
      0%, 100% { opacity: 0.2; }
      50% { opacity: 1; }
    }

    .ctrl {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 0, 0, 0.45);
      border: 1px solid rgba(255, 255, 255, 0.25);
      color: #fff;
      width: 42px;
      height: 42px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      cursor: pointer;
      z-index: 2;
    }
    .ctrl:hover {
      background: rgba(0, 0, 0, 0.65);
    }
    .prev {
      left: 8px;
    }
    .next {
      right: 8px;
    }

    /* slider CTA buttons under each tile */
    .tile-cta-row {
      margin-top: 8px;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      position: relative;
      z-index: 10;
    }
    .tile-download,
    .tile-expand {
      position: relative;
      z-index: 11;
      padding: 6px 11px;
      border-radius: 999px;
      font-size: 11px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.35);
      color: #e5e7eb;
      cursor: pointer;
      pointer-events: auto;
    }
    .tile-download {
      background: rgba(227, 28, 36, 0.15);
      border-color: rgba(227, 28, 36, 0.5);
      color: #fff;
    }
    .tile-download:hover,
    .tile-expand:hover {
      background: rgba(255, 255, 255, 0.06);
    }
    .tile-download:hover {
      background: rgba(227, 28, 36, 0.3);
    }

    /* inline expand icon for 3D tiles */
    .tile-expand-icon {
      position: absolute;
      top: 8px;
      right: 8px;
      z-index: 12;
      padding: 4px 8px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.6);
      border: 1px solid rgba(255, 255, 255, 0.35);
      font-size: 10px;
      line-height: 1;
      color: #e5e7eb;
      cursor: pointer;
    }

    /* Stats */
    .stat {
      background: rgba(18, 20, 25, 0.86);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 14px;
      padding: 16px;
      text-align: center;
    }
    .stat h3 {
      font-size: 28px;
      margin: 0;
      background: var(--grad);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    /* Progress to top button */
    .progress-fab {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 70;
      width: 54px;
      height: 54px;
      border-radius: 999px;
      display: grid;
      align-items: center;
      justify-content: center;
      background: rgba(0, 0, 0, 0.5);
      border: 1px solid rgba(255, 255, 255, 0.12);
      cursor: pointer;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    }
    .progress-fab:focus {
      outline: 2px solid #e31c24;
      outline-offset: 4px;
      background: transparent;
    }
    .progress-fab svg {
      width: 34px;
      height: 34px;
    }
    .progress-fab .progress-bar {
      stroke: #e31c24;
      stroke-width: 6;
      fill: none;
      stroke-linecap: round;
      opacity: 0.9;
    }
    .progress-fab .progress-bg {
      stroke: rgba(255, 255, 255, 0.12);
      stroke-width: 6;
      fill: none;
    }

    /* Modals */
    .modal {
      position: fixed;
      inset: 0 !important;
      background: rgba(0, 0, 0, 0.62);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 999999;
      box-sizing: border-box;
      overflow-x: hidden;
      max-width: 98vw !important;
      max-height: 90vh !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
    }
    .modal.show {
      display: flex;
    }
    .city_modal.show {max-height: 90vh !important;max-width: 98vw !important;overflow-y: auto !important;overflow-x: hidden !important;box-sizing: border-box !important;}
    .modal-card {
      background: #0f1116;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 16px;
      max-width: 920px;
      width: 95%;
      color: #e5e7eb;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
      overflow: hidden;
    }
    .city_modal.show .modal-card {
      background: #0f1116;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 16px;
      width: 100% !important;
      max-width: 920px !important;
      color: #e5e7eb;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
      overflow-x: hidden !important;
      box-sizing: border-box !important;
    }
    .modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 14px 16px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }
    .modal-body {
      padding: 16px;
    }
    .city_modal.show .modal-body {max-height: 85vh !important;overflow-y: auto !important; box-sizing: border-box !important;overflow-x: hidden !important;}
    .modal-card-full {
      max-width: min(1100px, 98vw);
    }
    .input {
      width: 100% !important;
      padding: 12px 14px !important;
      border-radius: 12px !important;
      border: 1px solid #374151 !important;
      background: #292929 !important;
      color: #fff !important;
      font-size: 17px !important;
    }
    input.input {
      width: 100% !important;
      padding: 12px 14px !important;
      border-radius: 12px !important;
      border: 1px solid #374151 !important;
      background: #292929 !important;
      color: #fff !important;
      font-size: 17px !important;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 18px;
      border-radius: 14px;
      font-weight: 700;
      text-decoration: none;
      cursor: pointer;
      text-align: center;
    }
    .btn-primary {
      background: var(--gds-red);
      color: #fff;
      box-shadow: 0 14px 28px rgba(227, 28, 36, 0.35);
    }
    .btn-ghost {
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.35);
      color: #fff;
    }
    .viewer {
      width: 100%;
      height: 420px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: #0b0c10;
    }
    .visually-hidden {
      position: absolute !important;
      height: 1px;
      width: 1px;
      overflow: hidden;
      clip: rect(1px, 1px, 1px, 1px);
      white-space: nowrap;
    }

    /* Comparison Grid */
    .comparison-grid {
      display: grid;
      gap: 20px;
    }
    .comparison-col {
      padding: 10px;
    }
    .comparison-col h4 {
      font-weight: 700;
      font-size: 16px;
      margin: 0 0 16px;
      color: #fff;
      line-height: 1.3;
    }
    .comparison-col ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .comparison-col li {
      position: relative;
      padding-left: 20px;
      margin-bottom: 10px;
      font-size: 14px;
      color: #cbd5e1;
      line-height: 1.4;
      font-weight: 400;
      text-align: start !important;
    }
    .comparison-col li::before {
      content: "•";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--gds-red);
      font-weight: bold;
    }

    /* Testimonial */
    #testimonials #tDots button,
    #testimonials #tDots button::before,
    #testimonials #tDots button::after {
      padding: 0 !important;
      min-width: 0 !important;
      min-height: 0 !important;
      width: 10px !important;
      height: 10px !important;
      border-radius: 100% !important;
    }

    /* Next Steps Strip */
    .next-steps-strip {
      background: linear-gradient(
        90deg,
        rgba(227, 28, 36, 0.08) 0%,
        rgba(11, 12, 16, 0) 100%
      );
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 16px;
      padding: 24px;
      margin-top: 30px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 20px;
      justify-content: space-between;
    }
    .next-steps-content {
      max-width: 600px;
    }

    /* --- CONTRAST TOGGLE (WHITE BACKGROUND MODE) --- */
    body.contrast-high {
      background: #ffffff !important;
      color: #111827 !important;
    }
    body.contrast-high .card {
      background: #f3f4f6 !important;
      border-color: #cbd5e1 !important;
      color: #111827 !important;
    }
    /* Force all headings to be dark */
    body.contrast-high h1,
    body.contrast-high h2,
    body.contrast-high h3,
    body.contrast-high h4,
    body.contrast-high .gtitle {
      background: none !important;
      -webkit-background-clip: initial !important;
      background-clip: initial !important;
      color: #111827 !important;
    }
    /* Darken body text variations */
    body.contrast-high .text-slate-100,
    body.contrast-high .text-slate-200, /* Added for testimonials */
    body.contrast-high .text-slate-300, 
    body.contrast-high .text-slate-400,
    body.contrast-high .text-slate-500,
    body.contrast-high .text-white {
            color: #374151 !important;
          }
    /* Make stars visible */
    body.contrast-high .text-yellow-400 {
      color: #d97706 !important;
    }
    /* Helper text on light backgrounds */
    body.contrast-high .small {
      color: #4b5563 !important;
    }
    /* Carousel tiles and captions on light backgrounds */
    body.contrast-high .tile {
      background: #020617 !important;
    }
    body.contrast-high .tile .cap {
      color: #f9fafb !important;
    }
    /* Inputs and Buttons */
    body.contrast-high .input {
      background: #ffffff !important;
      border-color: #9ca3af !important;
      color: #111827 !important;
    }
    body.contrast-high .btn-ghost {
      border-color: #9ca3af !important;
      color: #111827 !important;
    }
    body.contrast-high .btn-ghost:hover {
      background: #e5e7eb !important;
    }
    /* TOC Links */
    body.contrast-high .toc a {
      color: #4b5563 !important;
    }
    body.contrast-high .toc a:hover,
    body.contrast-high .toc a.active {
      background: #5a5b5d !important;
      color: #f1f1f1 !important;
      border-left-color: #e31c24 !important;
    }
    /* FAQ & Details */
    body.contrast-high details.card summary {
      color: #111827 !important;
      font-weight: 800 !important;
    }
    body.contrast-high details.card[open] {
      background: #e5e7eb !important;
    }
    body.contrast-high details.card .text-slate-300 {
      color: #374151 !important;
    }
    /* Client Logos on White */
    body.contrast-high .client-logo {
      filter: grayscale(100%) brightness(0) !important;
      opacity: 0.7 !important;
    }
    /* Stats on White */
    body.contrast-high .stat {
      background: #f9fafb !important;
      border-color: #e5e7eb !important;
      color: #111827 !important;
    }
    body.contrast-high .stat p {
      color: #4b5563 !important;
    }
    /* Next Steps Strip on White */
    body.contrast-high .next-steps-strip {
      background: #f3f4f6 !important;
      border-color: #cbd5e1 !important;
    }
    /* Comparison Grid Text on White */
    body.contrast-high .comparison-col h4,
    body.contrast-high .comparison-col li {
      color: #111827 !important;
    }
    /* Modal cards on white background */
    body.contrast-high .modal-card {
      background: #f9fafb !important;
      border-color: #e5e7eb !important;
      color: #111827 !important;
    }
    body.contrast-high .modal-head {
      border-bottom-color: #e5e7eb !important;
    }
    /* Sticky header ghost buttons on dark bar */
    body.contrast-high .stickyTop .btn-ghost {
      color: #f9fafb !important;
      border-color: rgba(249, 250, 251, 0.7) !important;
    }
    /* Testimonials body text on white */
    body.contrast-high #testimonials .italic {
      color: #1f2937 !important;
    }

    /* HERO EXCLUSION for Contrast Mode - Keep Hero Dark */
    /* We use specific selectors to override the global white mode for the hero */
    body.contrast-high .hero {
      background-color: #0b0c10 !important;
      border-color: rgba(255, 255, 255, 0.12) !important;
      color: #fff !important;
    }
    body.contrast-high .hero h1,
    body.contrast-high .hero .gtitle {
      background: var(--grad) !important; /* Restore gradient title */
      -webkit-background-clip: text !important;
      background-clip: text !important;
      color: transparent !important;
    }
    body.contrast-high .hero p,
    body.contrast-high .hero .text-slate-300 {
      color: #cbd5e1 !important;
    }
    body.contrast-high .hero .text-slate-400 {
      color: #94a3b8 !important;
    }
    body.contrast-high .hero .text-white {
      color: #ffffff !important;
    }
    body.contrast-high .hero .text-yellow-400 {
      color: #facc15 !important;
    }
    body.contrast-high .hero .card {
      background: rgba(17, 24, 39, 0.92) !important;
      border: 1px solid rgba(255, 255, 255, 0.12) !important;
      color: #fff !important;
    }
    body.contrast-high .hero .input {
      background: #0b0c10 !important;
      color: #fff !important;
      border: 1px solid #374151 !important;
    }
    body.contrast-high .hero .btn-ghost {
      color: #fff !important;
      border-color: rgba(255, 255, 255, 0.35) !important;
    }
    body.contrast-high .hero .btn-ghost:hover {
      background: rgba(255, 255, 255, 0.1) !important;
    }
    /* --- END CONTRAST TOGGLE --- */

    /* FAQ toggle styles */
    details.card {
      transition: background 0.2s ease;
    }
    details.card[open] {
      background: rgba(17, 24, 39, 1);
    }
    details.card summary {
      list-style: none;
      cursor: pointer;
      position: relative;
      padding-right: 40px;
      color: #fff;
      font-weight: 700;
    }
    details.card summary::-webkit-details-marker {
      display: none;
    }
    details.card summary::before {
      content: "+";
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 28px;
      font-weight: bold;
      transition: transform 0.25s ease, color 0.25s ease;
      color: rgba(255, 255, 255, 0.6);
      line-height: 1;
    }
    details.card[open] summary::before {
      content: "−";
      color: #e31c24;
    }
    details.card summary:hover {
      background: rgba(255, 255, 255, 0.04);
      border-radius: 16px 16px 0 0;
    }
    details.card[open] summary {
      border-radius: 16px 16px 0 0;
      color: #fff;
    }

    /* Sticky positioning */
    .sticky.stickyTop {
      position: fixed;
      top: 105px;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 90;
      border: none;
    }
    /* Compensate for fixed bar height so content doesn't hide behind it.
       IMPORTANT: target ONLY the main content container (the sibling right
       after the fixed sticky bar) — NOT the bar's own inner container,
       which also has classes "cityPageContainer container". Padding the bar
       inner would bloat the bar and cover the breadcrumb. */
    .sticky.stickyTop + .cityPageContainer.container {
      padding-top: 54px;
    }
    .sticky.stickySide {
      position: sticky !important;
      top: 185px !important;
    }

    /* ── BREADCRUMB (visual only — schema handled by Yoast, no duplicate) ── */
    .cityPageContainer .gds-breadcrumb { padding: 8px 0 8px; }
    .cityPageContainer .gds-breadcrumb + .section { margin-top: 8px; }
    .cityPageContainer .gds-breadcrumb ol {
      list-style: none; margin: 0; padding: 0;
      display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
      font-size: 13px; font-family: "Open Sans", system-ui, sans-serif;
    }
    .cityPageContainer .gds-breadcrumb li { display: flex; align-items: center; color: #94a3b8; }
    .cityPageContainer .gds-breadcrumb li:not(:last-child)::after { content: "›"; margin-left: 6px; color: #4b5563; }
    .cityPageContainer .gds-breadcrumb a { color: #94a3b8; text-decoration: none; transition: color .2s ease; }
    .cityPageContainer .gds-breadcrumb a:hover { color: #fff; text-decoration: none; }
    .cityPageContainer .gds-breadcrumb li[aria-current="page"] { color: #e5e7eb; font-weight: 600; }

    /* Resp Overrides */
    * {
      box-sizing: border-box;
    }
    .hero-canvas {
      display: block;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
    }
    .ribbon {
      transform-origin: 0 0;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* Client Logos */
    .client-logo {
      max-width: 140px;
      max-height: 40px;
      width: 100%;
      height: 40px;
      object-fit: contain;
      filter: grayscale(100%) brightness(0) invert(0.7); /* Light gray on dark bg */
      opacity: 0.8;
      transition: all 0.3s ease;
    }
    /* GLOBAL LOGO HOVER: Card background to white, logo filter removed (colored logo) */
    #clients .card{
      height: 100% !important;
    }
    #clients .card:hover {
      background: #ffffff !important;
      border-color: rgba(255, 255, 255, 0.4) !important;
      box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
    }
    #clients .card:hover .client-logo {
      filter: none !important; /* Removes the grayscale/invert to show original color */
      opacity: 1 !important;
    }

    /* Override for Contrast Toggle (White Background Mode) */
    body.contrast-high .client-logo {
      filter: grayscale(100%) brightness(0) !important;
      opacity: 0.7 !important;
    }

    @media (min-width: 768px) {
      .comparison-grid {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }
    @media (max-width: 480px) {
      .sticky.stickyTop {
        top: 80px;
      }
      .container .main {width: 100% !important;max-width: 310px !important;margin: 0 auto; grid-template-columns: 1fr !important; box-sizing: border-box !important;}
      .container .main-right {width: 100% !important;max-width: 100% !important;margin: 0 auto;overflow-x: hidden !important}
      body {
        font-size: 14px;
      }
      .hero {
        min-height: 320px;
      }
    }
    @media (max-width: 768px) {
      .container {padding: 0 12px;}
      .container .main {grid-template-columns: 1fr;width: 100% !important;max-width: 576px !important;box-sizing: border-box !important;margin-left: auto !important;margin-right: auto !important;}
      .container .main .toc {display: none !important;}
      .container .main-right {max-width: 576px !important;overflow-x: hidden !important;}

      .section {
        margin: 24px 0;
        text-align: center;
      }
      h1 {
        font-size: 1.75rem;
        text-align: center;
      }
      .hero-body h1 {
        font-size: 1.6rem;
        line-height: 1.05;
      }
      .hero-body .kicker {
        font-size: 0.85rem;
      }
      .hero {
        min-height: 400px;
      }
      .zipbox {
        justify-content: center;
      }
      .flex {
        justify-content: center !important;
      }
      .modal-card {
        width: 98%;
        max-width: 95vw;
      }
      .slide {
        flex-basis: 100%;
      }
      .comparison-grid {
        gap: 30px;
      }
    }
    @media (max-width: 1024px) {
      .container {padding: 0 16px;}
      .container .main {grid-template-columns: 1fr ;width: 100% !important;max-width: 730px !important;box-sizing: border-box !important;margin-left: auto !important;margin-right: auto !important;}
      .container .main .toc {display: none !important;}
      .container .main-right {max-width: 100% !important;box-sizing: border-box !important;overflow-x: hidden !important;}
      .slide {
        flex-basis: calc(50% - 11px);
      }
      .container {
        padding: 0 16px;
      }
      .section {
        margin: 30px 0;
        text-align: center;
      }
      .card .inner {
        padding: 14px;
      }
      .next-steps-strip {
        text-align: center;
        justify: center;
      }
      .next-steps-strip .flex {
        justify: center;
      }
    }
    /* Modal/Fab scroll fix */
    .modal,
    .progress-fab {
      -webkit-overflow-scrolling: touch;
    }
    *[style*="margin-left: -"],
    *[style*="margin-right: -"] {
      max-width: 100%;
      box-sizing: border-box;
    }

    /* Hero review stars glow */
    .hero .text-yellow-400 {
      color: #facc15;
      text-shadow: 0 0 4px rgba(250, 204, 21, 0.7),
        0 0 12px rgba(250, 204, 21, 0.55);
      animation: heroStarPulse 1.8s ease-in-out infinite;
    }
    @keyframes heroStarPulse {
      0% {
        text-shadow: 0 0 4px rgba(250, 204, 21, 0.6),
          0 0 10px rgba(250, 204, 21, 0.4);
      }
      50% {
        text-shadow: 0 0 6px rgba(250, 204, 21, 0.95),
          0 0 16px rgba(250, 204, 21, 0.85);
      }
      100% {
        text-shadow: 0 0 4px rgba(250, 204, 21, 0.6),
          0 0 10px rgba(250, 204, 21, 0.4);
      }
    }

    /* Subtle glow around showcase expand controls */
    .tile-expand {
      border-color: rgba(248, 250, 252, 0.7);
      box-shadow: 0 0 0 0 rgba(227, 28, 36, 0.2),
        0 0 0 0 rgba(96, 165, 250, 0.15);
      animation: tileExpandGlow 2.4s ease-in-out infinite;
    }
    .tile-expand-icon {
      box-shadow: 0 0 0 0 rgba(227, 28, 36, 0.2),
        0 0 0 0 rgba(96, 165, 250, 0.15);
      animation: tileExpandGlow 2.4s ease-in-out infinite;
    }
    @keyframes tileExpandGlow {
      0% {
        box-shadow: 0 0 0 0 rgba(227, 28, 36, 0.2),
          0 0 0 0 rgba(96, 165, 250, 0.15);
      }
      50% {
        box-shadow: 0 0 10px 0 rgba(227, 28, 36, 0.6),
          0 0 18px 3px rgba(96, 165, 250, 0.45);
      }
      100% {
        box-shadow: 0 0 0 0 rgba(227, 28, 36, 0.2),
          0 0 0 0 rgba(96, 165, 250, 0.15);
      }
    }
    /* --- NEW ANIMATION FOR GDS POWER GUARANTEE --- */
    .gds-power-guarantee-animate {
      display: inline-block; /* Needed for transform */
      animation: gdsPowerGlow 4s ease-in-out infinite;
      transform-origin: center;
    }
    @keyframes gdsPowerGlow {
      0%,
      100% {
        transform: scale(1);
        text-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
        color: #94a3b8; /* text-slate-400 */
      }
      50% {
        transform: scale(
          1.1
        ); /* Using 1.1x for a noticeable but clean effect */
        text-shadow: 0 0 12px rgba(255, 255, 255, 1),
          0 0 20px rgba(96, 165, 250, 0.8);
        color: #ffffff; /* hover:text-white */
      }
    }

    p {
      font-size: 14px !important;
      font-weight: 400 !important;
    }
    #shareBtn,
    #openShipTop {
      background: transparent !important;
      color: #ffffff !important;
    }
    #shareBtn:hover,
    #openShipTop:hover {
      background: #ffffff !important;
      color: #000000 !important;
    }
    #contrastToggle:hover {
      color: var(--gds-red) !important;
    }
    #contrastToggle {
      background: #ffffff !important;
      color: #000000 !important;
    }
    @media (min-width: 1025px) {
      html {
        scrollbar-gutter: stable !important;
      }
    }

    /* wrapper */
    .fake-date-wrap {
      position: relative;
      max-width: 100% !important;
    }

    /* ইনপুট একটু padding ডান–বাম ঠিক করে নাও (তোমার design অনুযায়ী change করতে পারো) */
    .fake-date-wrap .fake-date-input {
      padding-right: 12px;  /* already থাকলে adjust করো */
      padding-left: 12px;
    }

    /* আমাদের custom placeholder */
    .fake-date-placeholder {
      position: absolute;
      left: 12px;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none;
      font-size: 16px;        /* roughly text-sm */
      color: #9ca3af;             /* হালকা gray – চাইলে তোমার টোন */
      opacity: 0.9;
      transition: 0.15s ease;
    }

    /* ইনপুটে value এলে বা focus পেলে placeholder হাইড হবে */
    .fake-date-input:not(:placeholder-shown) + .fake-date-placeholder,
    .fake-date-input:focus + .fake-date-placeholder {
      opacity: 0;
      transform: translateY(-50%) translateX(4px);
    }
    
    .justify-between {
        justify-content: space-between !important;
    }

