/* =========================================================
   "Midnight Blue" website style — deep navy, electric blue glow,
   glass cards. Loaded after theme.css when Website Builder → Theme
   → Style = Midnight Blue. Works in dark (main) and light mode.
   ========================================================= */
html.style-midnight[data-theme="dark"], html.style-midnight:not([data-theme]) {
  --brand: #2f7bff; --brand-d: #6aa2ff; --brand-2: #1fb6ff; --brand-l: rgba(47,123,255,.14); --accent: #38bdf8;
  --bg: #050b1a; --surface: rgba(255,255,255,.045); --surface-2: rgba(255,255,255,.06); --ink: #eef3ff; --muted: #a6b3cf; --line: rgba(255,255,255,.09); --soft: #0a1328;
  --nav-bg: rgba(5,11,26,.72); --shadow-sm: 0 4px 18px rgba(0,0,0,.35); --shadow: 0 24px 60px -28px rgba(0,0,0,.9);
  --hero-ov: linear-gradient(100deg, rgba(4,9,22,.94) 0%, rgba(6,16,40,.82) 45%, rgba(10,30,80,.35) 100%);
  --foot-bg: #030712; --star-off: #2a3550;
  --solid: #0b1530; --glow: 0 0 0 1px rgba(47,123,255,.35), 0 18px 50px -18px rgba(47,123,255,.65);
  --grad: linear-gradient(100deg, #1d6bff 0%, #2f7bff 45%, #22c3ff 100%);
  color-scheme: dark;
}
html.style-midnight[data-theme="light"] {
  --brand: #1d5fe6; --brand-d: #1443ad; --brand-2: #0ea5e9; --brand-l: #e8f0ff; --accent: #0ea5e9;
  --bg: #f4f7ff; --surface: #ffffff; --surface-2: #eef3ff; --ink: #0b1530; --muted: #56627e; --line: #dde5f5; --soft: #eef3ff;
  --nav-bg: rgba(255,255,255,.85); --shadow-sm: 0 4px 16px rgba(15,35,90,.07); --shadow: 0 24px 50px -28px rgba(15,35,90,.35);
  --hero-ov: linear-gradient(100deg, rgba(4,9,22,.92) 0%, rgba(8,22,60,.78) 45%, rgba(20,60,160,.3) 100%);
  --foot-bg: #050b1a; --star-off: #cbd5ea;
  --solid: #ffffff; --glow: 0 0 0 1px rgba(29,95,230,.25), 0 18px 40px -20px rgba(29,95,230,.55);
  --grad: linear-gradient(100deg, #1d5fe6 0%, #2f7bff 45%, #0ea5e9 100%);
}

/* ---------- page background: navy + light glows + fine grid ---------- */
html.style-midnight body { background: var(--bg); }
html.style-midnight[data-theme="dark"] body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(47,123,255,.22), transparent 60%),
    radial-gradient(700px 420px at -10% 30%, rgba(34,195,255,.10), transparent 60%),
    radial-gradient(900px 500px at 50% 115%, rgba(47,123,255,.16), transparent 60%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) 0 0/48px 48px,
    #050b1a;
}
html.style-midnight[data-theme="light"] body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(900px 500px at 90% -10%, rgba(47,123,255,.12), transparent 60%), radial-gradient(700px 400px at 0% 40%, rgba(14,165,233,.08), transparent 60%), #f4f7ff;
}
html.style-midnight .bg-soft { background: transparent !important; }
html.style-midnight[data-theme="dark"] .bg-soft::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(47,123,255,.05) 50%, transparent); pointer-events: none; }
html.style-midnight[data-theme="light"] .bg-soft { background: linear-gradient(180deg, transparent, #e9f0ff 50%, transparent) !important; }

/* ---------- typography ---------- */
html.style-midnight h1, html.style-midnight h2 { font-weight: 800; letter-spacing: -.025em; }
html.style-midnight .hl-word, html.style-midnight .page-head h1 .hl-word {
  background: linear-gradient(100deg, #3b82ff 0%, #2f7bff 40%, #38c8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 6px 26px rgba(47,123,255,.45));
}

/* ---------- buttons ---------- */
html.style-midnight .btn-brand, html.style-midnight .hero .btn-light, html.style-midnight .cta-band .btn-light, html.style-midnight .bg-brand .btn-light {
  background: var(--grad) !important; color: #fff !important; border: 0 !important;
  box-shadow: 0 10px 30px -10px rgba(47,123,255,.85), inset 0 1px 0 rgba(255,255,255,.25);
}
html.style-midnight .btn-brand:hover, html.style-midnight .hero .btn-light:hover, html.style-midnight .cta-band .btn-light:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(47,123,255,1), inset 0 1px 0 rgba(255,255,255,.3); filter: brightness(1.08); }
html.style-midnight .btn-brand::after, html.style-midnight .hero .btn-light::after { content: "\2192"; margin-left: .45rem; display: inline-block; transition: transform .2s; }
html.style-midnight .btn-brand:hover::after, html.style-midnight .hero .btn-light:hover::after { transform: translateX(3px); }
html.style-midnight .site-nav .btn-brand::after { content: none; }
html.style-midnight .hero .btn-outline-light, html.style-midnight .cta-band .btn-outline-light { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.28); color: #fff; backdrop-filter: blur(8px); }
html.style-midnight .hero .btn-outline-light:hover { background: rgba(255,255,255,.14); color: #fff; }
html.style-midnight .btn-outline-secondary { background: var(--surface); border-color: var(--line); color: var(--ink); }
html.style-midnight .btn-outline-secondary:hover { border-color: var(--brand); color: var(--brand-d); background: var(--brand-l); }
html.style-midnight[data-theme="dark"] .btn-light { background: rgba(255,255,255,.07); border-color: var(--line); color: var(--ink); }

/* ---------- top strip & navbar ---------- */
html.style-midnight .topstrip { background: #030712; color: #93a3c4; border-bottom: 1px solid rgba(255,255,255,.05); }
html.style-midnight .site-nav { background: var(--nav-bg); box-shadow: 0 1px 0 var(--line); }
html.style-midnight .site-nav .nav-link { font-weight: 500; }
html.style-midnight[data-theme="dark"] .site-nav .nav-link { color: #c9d4ee; }
html.style-midnight .site-nav .nav-link:hover, html.style-midnight .site-nav .nav-link.show { background: transparent; color: var(--ink); }
@media (min-width: 1200px) {
  html.style-midnight .site-nav .nav-link::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 2px; height: 2px; border-radius: 2px; background: var(--grad); transition: left .2s, right .2s; }
  html.style-midnight .site-nav .nav-link:hover::after, html.style-midnight .site-nav .nav-link.show::after { left: .6rem; right: .6rem; }
  html.style-midnight .site-nav .dropdown-toggle::after { position: static; height: auto; background: none; border-top: .3em solid; vertical-align: .15em; }
}
html.style-midnight .site-nav .btn-brand { padding: .55rem 1.3rem; }
html.style-midnight .lang-switch, html.style-midnight .theme-toggle { background: var(--surface); }
html.style-midnight .dropdown-menu { background: var(--solid); }
html.style-midnight[data-theme="dark"] .dropdown-menu { background: rgba(10,19,40,.96); backdrop-filter: blur(16px); }
@media (max-width: 1199.98px) { html.style-midnight[data-theme="dark"] .site-nav .navbar-collapse { background: rgba(10,19,40,.97); } }

/* ---------- hero ---------- */
html.style-midnight .hero-slide { background: var(--hero-ov), var(--bg, none) center/cover no-repeat, #050b1a; position: relative; }
html.style-midnight .hero-slide::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(700px 380px at 78% 30%, rgba(47,123,255,.35), transparent 65%), linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0/44px 44px, linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) 0 0/44px 44px; }
html.style-midnight .hero-slide::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -2px; height: 160px; pointer-events: none;
  background: radial-gradient(60% 100% at 70% 100%, rgba(47,123,255,.45), transparent 70%), linear-gradient(180deg, transparent, var(--bg)); }
html.style-midnight .hero-slide .container { position: relative; z-index: 1; }
html.style-midnight .hero-copy .eyebrow { background: rgba(47,123,255,.12); border: 1px solid rgba(96,165,255,.35); color: #9cc3ff; font-style: italic; letter-spacing: .06em; }
html.style-midnight .hero-copy h1 { color: #fff; text-shadow: 0 10px 50px rgba(0,0,0,.5); }
html.style-midnight .hero-list i { color: #4d9bff; }
html.style-midnight .carousel-indicators [data-bs-target] { background: #6aa2ff; }
html.style-midnight .carousel-indicators .active { background: #2f7bff; box-shadow: 0 0 12px #2f7bff; }

/* ---------- glass cards ---------- */
html.style-midnight .intro-card, html.style-midnight .svc-card, html.style-midnight .tech-card, html.style-midnight .doc-card, html.style-midnight .ba-card,
html.style-midnight .review-card, html.style-midnight .video-card, html.style-midnight .pkg-card, html.style-midnight .price-list, html.style-midnight .side-card,
html.style-midnight .post-card, html.style-midnight .tool-card, html.style-midnight .offer-card, html.style-midnight .calc-sum, html.style-midnight .calc-row,
html.style-midnight .sy-card, html.style-midnight .sy-res, html.style-midnight .side-box, html.style-midnight .fb-card, html.style-midnight .faq .accordion-item {
  background: linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.02)); border: 1px solid var(--line);
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
html.style-midnight[data-theme="light"] .intro-card, html.style-midnight[data-theme="light"] .svc-card, html.style-midnight[data-theme="light"] .tech-card, html.style-midnight[data-theme="light"] .doc-card,
html.style-midnight[data-theme="light"] .ba-card, html.style-midnight[data-theme="light"] .review-card, html.style-midnight[data-theme="light"] .video-card, html.style-midnight[data-theme="light"] .pkg-card,
html.style-midnight[data-theme="light"] .price-list, html.style-midnight[data-theme="light"] .side-card, html.style-midnight[data-theme="light"] .post-card, html.style-midnight[data-theme="light"] .tool-card,
html.style-midnight[data-theme="light"] .offer-card, html.style-midnight[data-theme="light"] .calc-sum, html.style-midnight[data-theme="light"] .calc-row, html.style-midnight[data-theme="light"] .sy-card,
html.style-midnight[data-theme="light"] .sy-res, html.style-midnight[data-theme="light"] .side-box, html.style-midnight[data-theme="light"] .fb-card, html.style-midnight[data-theme="light"] .faq .accordion-item {
  background: #fff; box-shadow: var(--shadow-sm);
}
html.style-midnight .svc-card:hover, html.style-midnight .tech-card:hover, html.style-midnight a.doc-card:hover, html.style-midnight .pkg-card:hover,
html.style-midnight .video-card:hover, html.style-midnight .tool-card:hover, html.style-midnight .post-card:hover, html.style-midnight .offer-card:hover {
  transform: translateY(-6px); border-color: rgba(47,123,255,.55); box-shadow: var(--glow);
}
html.style-midnight[data-theme="dark"] .post-card:hover { background: linear-gradient(160deg, rgba(47,123,255,.14), rgba(255,255,255,.02)); }
html.style-midnight .intro-card { border-radius: 28px; }
html.style-midnight[data-theme="dark"] .intro-card { background: linear-gradient(160deg, rgba(20,34,70,.85), rgba(8,15,34,.85)); }
html.style-midnight .hl { background: rgba(255,255,255,.04); border: 1px solid var(--line); }
html.style-midnight[data-theme="light"] .hl { background: var(--surface-2); }
html.style-midnight .hl i { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; background: var(--grad); color: #fff !important; box-shadow: 0 8px 20px -8px rgba(47,123,255,.9); }
html.style-midnight .hl:hover { border-color: rgba(47,123,255,.5); box-shadow: var(--glow); }
html.style-midnight .svc-img, html.style-midnight .is-small { background: radial-gradient(circle at 50% 40%, rgba(47,123,255,.22), rgba(255,255,255,.02) 70%); }
html.style-midnight[data-theme="light"] .svc-img, html.style-midnight[data-theme="light"] .is-small { background: radial-gradient(circle at 50% 40%, #fff, #e3ecff 75%); }
html.style-midnight .tech-img, html.style-midnight .tech-img.is-small { background: rgba(255,255,255,.92); }
html.style-midnight .doc-photo { box-shadow: 0 0 0 4px rgba(47,123,255,.35), 0 0 30px rgba(47,123,255,.45); }
html.style-midnight .contact-list i, html.style-midnight .post-ic, html.style-midnight .tool-ic, html.style-midnight .tool-ic.b { background: var(--grad); color: #fff; box-shadow: 0 8px 20px -8px rgba(47,123,255,.9); }
html.style-midnight .review-card blockquote::before { color: #4d9bff; opacity: .5; }
html.style-midnight .stars { color: #fbbf24; }

/* ---------- stats bar (like "500+ Projects | 98% | 24/7") ---------- */
html.style-midnight .stats-row { margin: 1.4rem auto 0 !important; max-width: 900px; padding: 1.1rem .5rem; border-radius: 22px; background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid var(--line); backdrop-filter: blur(14px); }
html.style-midnight[data-theme="light"] .stats-row { background: #fff; box-shadow: var(--shadow-sm); }
html.style-midnight .stats-row > div + div { border-left: 1px solid var(--line); }
html.style-midnight .stat-num { background: linear-gradient(180deg, #fff, #b9cdf5); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 800; }
html.style-midnight[data-theme="light"] .stat-num { background: var(--grad); -webkit-background-clip: text; background-clip: text; }

/* ---------- section headings: "— Eyebrow —" + gradient bar ---------- */
html.style-midnight .sec-head .eyebrow, html.style-midnight .eyebrow.text-brand { background: none; padding: 0 3.2rem; position: relative; font-style: italic; letter-spacing: .08em; color: #4d9bff !important; text-transform: none; font-weight: 600; font-size: 1.05rem; }
html.style-midnight[data-theme="light"] .sec-head .eyebrow, html.style-midnight[data-theme="light"] .eyebrow.text-brand { color: var(--brand) !important; }
html.style-midnight .sec-head .eyebrow::before, html.style-midnight .sec-head .eyebrow::after { content: ""; position: absolute; top: 50%; width: 2.4rem; height: 1px; background: linear-gradient(90deg, transparent, #2f7bff); }
html.style-midnight .sec-head .eyebrow::before { left: 0; } html.style-midnight .sec-head .eyebrow::after { right: 0; transform: scaleX(-1); }
html.style-midnight .intro-card .eyebrow.text-brand { padding: 0; }
html.style-midnight .sec-head h2::after { width: 90px; height: 3px; background: linear-gradient(90deg, transparent, #2f7bff 30%, #38c8ff 70%, transparent); box-shadow: 0 0 14px rgba(47,123,255,.8); }
html.style-midnight .bg-brand { background: radial-gradient(900px 380px at 85% -20%, rgba(47,123,255,.35), transparent 60%), linear-gradient(135deg, #061026, #0a1a44 55%, #0b2a6b) !important; }

/* ---------- inner page header ---------- */
html.style-midnight .page-head { background: radial-gradient(800px 360px at 85% -10%, rgba(47,123,255,.4), transparent 60%), radial-gradient(500px 260px at 0% 110%, rgba(34,195,255,.18), transparent 60%), linear-gradient(120deg, #040a1c, #071535 55%, #0a2160) !important; padding: 4.6rem 0 4rem; }
html.style-midnight .page-head::after { background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(ellipse at 70% 30%, #000 20%, transparent 75%); }
html.style-midnight .page-head::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, transparent, #2f7bff 40%, #38c8ff 60%, transparent); box-shadow: 0 0 18px #2f7bff; z-index: 1; }
html.style-midnight .page-head nav { background: rgba(47,123,255,.12); border-color: rgba(96,165,255,.3); }

/* ---------- forms, modals ---------- */
html.style-midnight[data-theme="dark"] .form-control, html.style-midnight[data-theme="dark"] .form-select { background-color: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color: var(--ink); }
html.style-midnight[data-theme="dark"] .form-select option { background: #0b1530; }
html.style-midnight .form-control:focus, html.style-midnight .form-select:focus { border-color: #2f7bff; box-shadow: 0 0 0 .2rem rgba(47,123,255,.25); }
html.style-midnight[data-theme="dark"] .modal-content { background: rgba(10,19,40,.97); border-color: rgba(96,165,255,.25); box-shadow: 0 30px 80px -20px rgba(0,0,0,.9), 0 0 0 1px rgba(47,123,255,.15); }
html.style-midnight[data-theme="dark"] .accordion-item, html.style-midnight[data-theme="dark"] .accordion-button { background: transparent; color: var(--ink); }
html.style-midnight .accordion-button:not(.collapsed) { color: #6aa2ff; box-shadow: none; }

/* ---------- CTA band & footer ---------- */
html.style-midnight .cta-band { background: radial-gradient(700px 300px at 100% 0%, rgba(56,200,255,.35), transparent 60%), radial-gradient(500px 260px at 0% 100%, rgba(29,107,255,.5), transparent 60%), linear-gradient(120deg, #0a1d52, #1446c8 55%, #1d6bff) !important;
  border: 1px solid rgba(96,165,255,.35); box-shadow: 0 30px 70px -30px rgba(29,107,255,.9); }
html.style-midnight .cta-band .btn-light { background: #fff !important; color: #1446c8 !important; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }
html.style-midnight .cta-band .btn-light::after { content: none; }
html.style-midnight .site-foot { background: #030712; }
html.style-midnight .site-foot::before { height: 2px; background: linear-gradient(90deg, transparent, #2f7bff 30%, #38c8ff 70%, transparent); box-shadow: 0 0 18px #2f7bff; }
html.style-midnight .site-foot::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(700px 300px at 85% 0%, rgba(47,123,255,.14), transparent 60%); }
html.style-midnight .site-foot > * { position: relative; z-index: 1; }
html.style-midnight .soc:hover { background: var(--grad); box-shadow: 0 0 18px rgba(47,123,255,.7); }

/* ---------- misc ---------- */
html.style-midnight .offer-bar { background: linear-gradient(90deg, #0b2a6b, #1d6bff, #22c3ff, #1d6bff, #0b2a6b); background-size: 200% 100%; }
html.style-midnight .offer-code { border-color: #2f7bff; color: #6aa2ff; }
html.style-midnight .calc-row:has(input:checked), html.style-midnight .sy-card.on { border-color: #2f7bff; box-shadow: var(--glow); }
html.style-midnight .tour-cap { background: rgba(5,11,26,.65); border: 1px solid rgba(96,165,255,.3); }
html.style-midnight .m-actions a.primary { background: var(--grad); color: #fff; }
html.style-midnight .to-top:hover { box-shadow: var(--glow); }
html.style-midnight[data-theme="dark"] .map { filter: invert(.92) hue-rotate(200deg) saturate(.7) brightness(.95); }
html.style-midnight .reveal.in { animation: none; }
html.style-midnight ::selection { background: #2f7bff; }
@media (max-width: 575.98px) {
  html.style-midnight .stats-row > div + div { border-left: 0; }
  html.style-midnight .sec-head .eyebrow { padding: 0 2.4rem; font-size: .95rem; }
  html.style-midnight .sec-head .eyebrow::before, html.style-midnight .sec-head .eyebrow::after { width: 1.8rem; }
}
html.style-midnight .carousel-indicators [data-bs-target] { background-color: rgba(150,190,255,.45) !important; border: 0 !important; height: 4px; width: 28px; border-radius: 4px; opacity: 1; }
html.style-midnight .carousel-indicators .active { background-color: #2f7bff !important; width: 44px; }
html.style-midnight .doc-photo { background: linear-gradient(135deg, #1d6bff, #22c3ff); }
html.style-midnight .text-start .sec-head .eyebrow, html.style-midnight .sec-head.text-start .eyebrow, html.style-midnight .col-lg-4 > .sec-head .eyebrow { padding-left: 0; }
html.style-midnight .text-start .sec-head .eyebrow::before, html.style-midnight .sec-head.text-start .eyebrow::before, html.style-midnight .col-lg-4 > .sec-head .eyebrow::before { display: none; }
html.style-midnight .review-card blockquote { padding-top: .2rem; }
html.style-midnight .review-card blockquote::before { top: -1.4rem; }

/* =========================================================
   BUTTON SYSTEM (Midnight Blue) — every button on the website
   primary = blue gradient + glow + shine · secondary = glass with
   gradient border · white = on blue banners · WhatsApp / danger
   ========================================================= */
html.style-midnight .btn {
  --b-r: 999px; position: relative; isolation: isolate; overflow: hidden; border-radius: var(--b-r);
  font-weight: 700; letter-spacing: .01em; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .62rem 1.35rem; line-height: 1.2; transition: transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background .25s, color .2s, border-color .2s, filter .2s;
}
html.style-midnight .btn .me-1, html.style-midnight .btn .me-2 { margin-right: 0 !important; }
html.style-midnight .btn-lg { padding: .85rem 1.75rem; font-size: 1.05rem; }
html.style-midnight .btn-sm { padding: .42rem .95rem; font-size: .85rem; gap: .35rem; }
html.style-midnight .btn:active { transform: translateY(1px) scale(.98); }
html.style-midnight .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(5,11,26,1), 0 0 0 5px #38c8ff !important; }
/* moving shine on hover */
html.style-midnight .btn::before {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -60%; width: 45%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-20deg); transition: left .6s ease;
}
html.style-midnight .btn:hover::before { left: 120%; }
/* icon chip at the start of big buttons */
html.style-midnight .btn-lg > .bi:first-child { width: 1.9em; height: 1.9em; margin: -.35em .05em -.35em -.6em; border-radius: 50%; display: inline-grid; place-items: center; background: rgba(255,255,255,.18); font-size: .95em; }

/* ---- PRIMARY: blue gradient ---- */
html.style-midnight .btn-brand, html.style-midnight .btn-primary, html.style-midnight .hero .btn-light, html.style-midnight .bg-brand .btn-light {
  color: #fff !important; border: 1px solid rgba(140,190,255,.45) !important;
  background: linear-gradient(135deg, #2563ff 0%, #2f7bff 45%, #1fb6ff 100%) !important; background-size: 160% 100% !important; background-position: 0 0 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 -2px 0 rgba(0,0,40,.25) inset, 0 10px 28px -10px rgba(47,123,255,.95), 0 0 0 0 rgba(47,123,255,.5);
  text-shadow: 0 1px 1px rgba(0,30,90,.35);
}
html.style-midnight .btn-brand:hover, html.style-midnight .btn-primary:hover, html.style-midnight .hero .btn-light:hover, html.style-midnight .bg-brand .btn-light:hover {
  background-position: 100% 0 !important; transform: translateY(-2px); filter: none;
  box-shadow: 0 1px 0 rgba(255,255,255,.4) inset, 0 -2px 0 rgba(0,0,40,.25) inset, 0 16px 36px -10px rgba(47,123,255,1), 0 0 0 6px rgba(47,123,255,.14);
}
/* arrow only on large / hero buttons */
html.style-midnight .btn-brand::after, html.style-midnight .hero .btn-light::after { content: none; }
html.style-midnight .btn-lg.btn-brand::after, html.style-midnight .hero .btn-light::after, html.style-midnight .btn-lg.btn-primary::after {
  content: "\2192"; display: inline-block; font-weight: 800; transition: transform .25s; margin-left: .1rem;
}
html.style-midnight .btn-lg.btn-brand:hover::after, html.style-midnight .hero .btn-light:hover::after, html.style-midnight .btn-lg.btn-primary:hover::after { transform: translateX(4px); }
/* nav Book: soft pulsing glow */
html.style-midnight .site-nav .btn-brand { padding: .55rem 1.25rem; animation: navGlow 3.2s ease-in-out infinite; }
@keyframes navGlow { 50% { box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 30px -8px rgba(47,123,255,1), 0 0 0 5px rgba(47,123,255,.12); } }
@media (prefers-reduced-motion: reduce) { html.style-midnight .site-nav .btn-brand { animation: none; } html.style-midnight .btn::before { display: none; } }

/* ---- SECONDARY: glass with gradient border ---- */
html.style-midnight .btn-outline-secondary, html.style-midnight .btn-light, html.style-midnight .hero .btn-outline-light, html.style-midnight .btn-outline-light, html.style-midnight .btn-outline-primary {
  color: #e8f0ff !important; border: 1px solid transparent !important;
  background: linear-gradient(rgba(12,22,48,.82), rgba(12,22,48,.82)) padding-box, linear-gradient(135deg, rgba(120,175,255,.75), rgba(255,255,255,.08) 45%, rgba(56,200,255,.65)) border-box !important;
  box-shadow: 0 8px 22px -14px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(10px);
}
html.style-midnight .btn-outline-secondary:hover, html.style-midnight .btn-light:hover, html.style-midnight .hero .btn-outline-light:hover, html.style-midnight .btn-outline-light:hover, html.style-midnight .btn-outline-primary:hover {
  color: #fff !important; transform: translateY(-2px);
  background: linear-gradient(rgba(30,60,140,.6), rgba(30,60,140,.6)) padding-box, linear-gradient(135deg, #6aa2ff, rgba(255,255,255,.2) 45%, #38c8ff) border-box !important;
  box-shadow: 0 14px 30px -14px rgba(47,123,255,.9), 0 0 0 5px rgba(47,123,255,.1);
}
html.style-midnight .btn-light.active, html.style-midnight .btn-outline-secondary.active { background: linear-gradient(135deg, #2563ff, #1fb6ff) padding-box, linear-gradient(135deg, #8cbcff, #38c8ff) border-box !important; color: #fff !important; }

/* ---- WHITE: on blue banners (CTA band) ---- */
html.style-midnight .cta-band .btn-light {
  background: #fff !important; border: 0 !important; color: #1446c8 !important;
  box-shadow: 0 1px 0 #fff inset, 0 12px 30px -10px rgba(0,10,50,.6) !important;
}
html.style-midnight .cta-band .btn-light span, html.style-midnight .cta-band .btn-light { -webkit-text-fill-color: currentColor; }
html.style-midnight .cta-band .btn-light:hover { transform: translateY(-2px); box-shadow: 0 1px 0 #fff inset, 0 18px 38px -10px rgba(0,10,50,.8), 0 0 0 6px rgba(255,255,255,.18) !important; }
html.style-midnight .cta-band .btn-light::before { background: linear-gradient(100deg, transparent, rgba(47,123,255,.18), transparent); }
html.style-midnight .cta-band .btn-light > .bi:first-child { background: linear-gradient(135deg, #2563ff, #1fb6ff); color: #fff; }
html.style-midnight .cta-band .btn-outline-light { background: linear-gradient(rgba(10,24,64,.85),rgba(10,24,64,.85)) padding-box, linear-gradient(135deg, rgba(255,255,255,.8), rgba(255,255,255,.15)) border-box !important; color: #fff !important; }
html.style-midnight .cta-band .btn-outline-light:hover { background: linear-gradient(rgba(20,50,130,.9),rgba(20,50,130,.9)) padding-box, linear-gradient(135deg, #fff, rgba(255,255,255,.4)) border-box !important; }
html.style-midnight .cta-band .btn-outline-light > .bi:first-child { background: rgba(255,255,255,.18); }

/* ---- WhatsApp / success ---- */
html.style-midnight .btn-success, html.style-midnight .btn-outline-success:hover {
  color: #fff !important; border: 1px solid rgba(134,239,172,.5) !important; background: linear-gradient(135deg, #16a34a, #22c55e 55%, #4ade80) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 10px 26px -10px rgba(34,197,94,.9);
}
html.style-midnight .btn-outline-success { color: #4ade80 !important; border: 1px solid transparent !important; background: linear-gradient(rgba(10,30,24,.8), rgba(10,30,24,.8)) padding-box, linear-gradient(135deg, #4ade80, rgba(255,255,255,.08), #22c55e) border-box !important; }
html.style-midnight .btn-outline-success:hover { transform: translateY(-2px); }
/* ---- danger / urgent ---- */
html.style-midnight .btn-danger { color: #fff !important; border: 1px solid rgba(252,165,165,.5) !important; background: linear-gradient(135deg, #dc2626, #ef4444 55%, #f97316) !important; box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 10px 26px -10px rgba(239,68,68,.95); }
html.style-midnight .btn-danger:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 16px 32px -10px rgba(239,68,68,1), 0 0 0 5px rgba(239,68,68,.15); }
html.style-midnight .btn-outline-danger { color: #fca5a5 !important; border: 1px solid rgba(248,113,113,.55) !important; background: rgba(60,10,10,.35) !important; }
html.style-midnight .btn-close { opacity: .7; } html.style-midnight .btn-close::before { display: none; }

/* ---- small round controls in the header ---- */
html.style-midnight .lang-switch, html.style-midnight .theme-toggle {
  border: 1px solid transparent !important; border-radius: 999px; font-weight: 700;
  background: linear-gradient(rgba(12,22,48,.85), rgba(12,22,48,.85)) padding-box, linear-gradient(135deg, rgba(120,175,255,.6), rgba(255,255,255,.06), rgba(56,200,255,.5)) border-box !important;
  transition: transform .2s, box-shadow .25s;
}
html.style-midnight .lang-switch { padding: .4rem .9rem !important; }
html.style-midnight .lang-switch:hover, html.style-midnight .theme-toggle:hover { transform: translateY(-2px); color: #fff !important; box-shadow: 0 10px 24px -12px rgba(47,123,255,.9); }
html.style-midnight .theme-toggle:hover i { transform: rotate(25deg); } html.style-midnight .theme-toggle i { transition: transform .3s; }
html.style-midnight .carousel-control-prev-icon, html.style-midnight .carousel-control-next-icon { background-color: rgba(12,22,48,.6); border: 1px solid rgba(120,175,255,.35); box-shadow: 0 8px 22px -10px rgba(47,123,255,.8); }
html.style-midnight .to-top { background: linear-gradient(135deg, #2563ff, #1fb6ff); color: #fff; border: 0; box-shadow: 0 10px 24px -10px rgba(47,123,255,.95); }
html.style-midnight .m-actions a { transition: transform .15s; } html.style-midnight .m-actions a:active { transform: scale(.95); }
html.style-midnight .m-actions a.primary { box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 8px 20px -8px rgba(47,123,255,.95); }
/* form submit inside cards/modals: full-width buttons look solid */
html.style-midnight form .btn-brand.w-100, html.style-midnight .modal .btn-brand { min-height: 48px; }
html.style-midnight .btn:disabled, html.style-midnight .btn.disabled { opacity: .55; filter: grayscale(.3); transform: none !important; box-shadow: none !important; }

/* ---- light mode versions ---- */
html.style-midnight[data-theme="light"] .btn-outline-secondary, html.style-midnight[data-theme="light"] .btn-light, html.style-midnight[data-theme="light"] .btn-outline-primary {
  color: #12307a !important; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #6aa2ff, #dbe6ff 45%, #38c8ff) border-box !important; box-shadow: 0 8px 20px -14px rgba(29,95,230,.5);
}
html.style-midnight[data-theme="light"] .btn-outline-secondary:hover, html.style-midnight[data-theme="light"] .btn-light:hover, html.style-midnight[data-theme="light"] .btn-outline-primary:hover {
  color: #1d5fe6 !important; background: linear-gradient(#eef4ff, #eef4ff) padding-box, linear-gradient(135deg, #2f7bff, #9cc3ff 45%, #0ea5e9) border-box !important;
}
html.style-midnight[data-theme="light"] .hero .btn-outline-light { color: #fff !important; background: linear-gradient(rgba(12,22,48,.55), rgba(12,22,48,.55)) padding-box, linear-gradient(135deg, rgba(160,200,255,.9), rgba(255,255,255,.2), rgba(56,200,255,.8)) border-box !important; }
html.style-midnight[data-theme="light"] .lang-switch, html.style-midnight[data-theme="light"] .theme-toggle { color: #12307a !important; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #9cc3ff, #e5edff, #7dd3fc) border-box !important; }
html.style-midnight[data-theme="light"] .btn-outline-success { color: #15803d !important; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #4ade80, #dcfce7, #22c55e) border-box !important; }
html.style-midnight[data-theme="light"] .btn:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2f7bff !important; }

/* ===== polish v5: side cards, booking form, doctor cards ===== */
/* buttons inside side cards were picking up the "list link" style */
html.style-midnight .side-card > a.btn, html.style-midnight .side-box > a.btn { display: flex !important; justify-content: center; align-items: center; padding: .7rem 1.2rem !important; border-bottom: 0; font-size: .95rem; color: #e8f0ff; }
html.style-midnight .side-card > a.btn i, html.style-midnight .side-box > a.btn i { color: inherit; font-size: 1rem; margin: 0; }
html.style-midnight .side-card > a.btn-brand { color: #fff !important; }
html.style-midnight .btn.d-block, html.style-midnight .btn.w-100 { display: flex !important; }
html.style-midnight .side-card { padding: 1.4rem; border-radius: 22px; position: relative; overflow: hidden; }
html.style-midnight .side-card::after { content: ""; position: absolute; top: 0; left: 1.4rem; right: 1.4rem; height: 1px; background: linear-gradient(90deg, transparent, rgba(96,165,255,.6), transparent); }
html.style-midnight .side-card h3 { display: flex; align-items: center; gap: .55rem; font-size: 1.08rem; }
html.style-midnight .side-card h3 > .bi:first-child { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 11px; display: grid; place-items: center; background: var(--grad); color: #fff; font-size: 1rem; margin: 0 !important; box-shadow: 0 8px 18px -8px rgba(47,123,255,.9); }
html.style-midnight .side-card > a:not(.btn) { border-bottom-color: rgba(255,255,255,.07); }
html.style-midnight .side-card > a:not(.btn):hover { color: #6aa2ff; padding-left: .25rem; }

/* booking form: segmented "visit / online" switch */
html.style-midnight .btn-group:has(.btn-check) { padding: 4px; gap: 4px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
html.style-midnight .btn-group .btn-check + .btn { border-radius: 999px !important; background: transparent !important; border: 0 !important; box-shadow: none; color: #b8c6e6 !important; padding: .55rem .9rem; flex: 1; }
html.style-midnight .btn-group .btn-check + .btn:hover { color: #fff !important; background: rgba(255,255,255,.06) !important; transform: none; }
html.style-midnight .btn-group .btn-check:checked + .btn { background: var(--grad) !important; color: #fff !important; box-shadow: 0 8px 20px -10px rgba(47,123,255,1), inset 0 1px 0 rgba(255,255,255,.25) !important; }
html.style-midnight[data-theme="light"] .btn-group:has(.btn-check) { background: #eef3ff; border-color: #dbe5fb; }
html.style-midnight[data-theme="light"] .btn-group .btn-check + .btn { color: #3b4a72 !important; }

/* booking modal & all forms */
html.style-midnight .modal-content { overflow: hidden; }
html.style-midnight .modal-header { border-bottom: 1px solid rgba(255,255,255,.07); position: relative; }
html.style-midnight[data-theme="dark"] .modal-header { background: radial-gradient(400px 120px at 0% 0%, rgba(47,123,255,.25), transparent 70%); }
html.style-midnight .modal-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, #2f7bff, #38c8ff, transparent); }
html.style-midnight .modal-title { font-weight: 800; letter-spacing: -.01em; }
html.style-midnight .modal-footer { border-top: 1px solid rgba(255,255,255,.07); }
html.style-midnight .form-label { font-weight: 600; font-size: .82rem; letter-spacing: .02em; color: #9fb0d3; margin-bottom: .35rem; }
html.style-midnight[data-theme="light"] .form-label { color: #44527a; }
html.style-midnight .form-control, html.style-midnight .form-select { border-radius: 14px; padding: .7rem .95rem; transition: border-color .2s, box-shadow .2s, background-color .2s; }
html.style-midnight[data-theme="dark"] .form-control, html.style-midnight[data-theme="dark"] .form-select { background-color: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
html.style-midnight[data-theme="dark"] .form-control:hover, html.style-midnight[data-theme="dark"] .form-select:hover { border-color: rgba(120,175,255,.35); }
html.style-midnight[data-theme="dark"] .form-control:focus, html.style-midnight[data-theme="dark"] .form-select:focus { background-color: rgba(47,123,255,.07); border-color: #2f7bff; box-shadow: 0 0 0 4px rgba(47,123,255,.18), 0 0 24px -6px rgba(47,123,255,.6); }
html.style-midnight[data-theme="dark"] .form-control::placeholder { color: #6f7fa3; }
html.style-midnight[data-theme="dark"] input[type=date], html.style-midnight[data-theme="dark"] input[type=time] { color-scheme: dark; }
html.style-midnight[data-theme="dark"] .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236aa2ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
html.style-midnight .form-check-input { border-color: rgba(120,175,255,.5); background-color: transparent; }
html.style-midnight .form-check-input:checked { background-color: #2f7bff; border-color: #2f7bff; box-shadow: 0 0 12px rgba(47,123,255,.6); }

/* doctor cards */
html.style-midnight .doc-card { position: relative; height: 100%; display: flex !important; flex-direction: column; align-items: center; text-align: center; padding: 1.6rem 1.1rem 1.3rem; border-radius: 24px; overflow: hidden; }
html.style-midnight .doc-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 110px; background: radial-gradient(260px 120px at 50% 0%, rgba(47,123,255,.35), transparent 70%); pointer-events: none; }
html.style-midnight .doc-photo { position: relative; width: 104px; height: 104px; padding: 3px; background: conic-gradient(from 200deg, #1d6bff, #38c8ff, #8b5cf6, #1d6bff) !important; box-shadow: 0 0 30px -4px rgba(47,123,255,.7); }
html.style-midnight .doc-photo > span, html.style-midnight .doc-photo > img { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg, #12245a, #0a1430); color: #fff; font-size: 2.3rem; font-weight: 800; border: 3px solid #0a1430; }
html.style-midnight[data-theme="light"] .doc-photo > span, html.style-midnight[data-theme="light"] .doc-photo > img { background: linear-gradient(145deg, #2f7bff, #22c3ff); border-color: #fff; }
html.style-midnight .doc-card h3 { font-size: 1.02rem; font-weight: 800; margin: .3rem 0 .25rem; }
html.style-midnight .doc-card .text-brand { color: #6aa2ff !important; }
html.style-midnight .doc-card .badge.bg-white { background: rgba(47,123,255,.12) !important; color: #b9d2ff !important; border: 1px solid rgba(96,165,255,.3) !important; font-weight: 600; }
html.style-midnight[data-theme="light"] .doc-card .badge.bg-white { background: #eef3ff !important; color: #1d5fe6 !important; }
html.style-midnight .doc-card > span:last-child { margin-top: auto !important; padding-top: .9rem; }
html.style-midnight .doc-card > span:last-child { display: inline-flex !important; align-items: center; gap: .3rem; padding: .45rem 1rem; margin-top: auto !important; border-radius: 999px; color: #fff !important; background: rgba(47,123,255,.14); border: 1px solid rgba(96,165,255,.35); transition: background .25s, box-shadow .25s; }
html.style-midnight .doc-card:hover > span:last-child { background: var(--grad); border-color: transparent; box-shadow: 0 10px 24px -10px rgba(47,123,255,1); }
html.style-midnight[data-theme="light"] .doc-card > span:last-child { color: #1d5fe6 !important; background: #eef3ff; }
html.style-midnight[data-theme="light"] .doc-card:hover > span:last-child { color: #fff !important; }
html.style-midnight .doc-card > .badge { margin-bottom: .2rem; }
html.style-midnight a.doc-card:hover { border-color: rgba(47,123,255,.6) !important; }
html.style-midnight a.doc-card:hover .doc-photo { box-shadow: 0 0 40px 0 rgba(47,123,255,.85); }
@media (min-width: 992px) { html.style-midnight #doctors .row > .col-lg { flex: 0 0 20%; max-width: 20%; } }
@media (min-width: 992px) and (max-width: 1199.98px) { html.style-midnight #doctors .row > .col-lg { flex: 0 0 33.333%; max-width: 33.333%; } }
@media (max-width: 575.98px) { html.style-midnight .doc-photo { width: 82px; height: 82px; } html.style-midnight .doc-photo > span { font-size: 1.7rem; } html.style-midnight .doc-card { padding: 1.2rem .7rem 1rem; } html.style-midnight .doc-card > span:last-child { padding: .4rem .8rem; font-size: .8rem !important; } }

/* ---------- mobile centre v6 ---------- */
@media (max-width: 767.98px) {
  /* footer */
  html.style-midnight .site-foot { text-align: center; }
  html.style-midnight .site-foot .row > [class*="col"] { display: flex; flex-direction: column; align-items: center; }
  html.style-midnight .site-foot .row > .col-lg-4 { background: linear-gradient(160deg, rgba(47,123,255,.12), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.08); border-radius: 22px; padding: 1.5rem 1.2rem; }
  html.style-midnight .site-foot .row > .col-lg-4 > .d-flex:first-child { justify-content: center; }
  html.style-midnight .site-foot .row > .col-lg-4 p { max-width: 34ch; margin-left: auto; margin-right: auto; }
  html.style-midnight .site-foot .row > .col-lg-4 > .d-flex:last-child { justify-content: center; }
  html.style-midnight .site-foot .soc { background: linear-gradient(135deg, #2563ff, #1fb6ff) !important; color: #fff !important; box-shadow: 0 10px 24px -10px rgba(47,123,255,.9); }
  html.style-midnight .site-foot h4 { position: relative; padding-bottom: .55rem; margin-bottom: .9rem; font-size: 1.05rem; }
  html.style-midnight .site-foot h4::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 34px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2563ff, #1fb6ff); }
  html.style-midnight .site-foot ul { padding: 0; margin: 0; list-style: none; width: 100%; }
  html.style-midnight .site-foot ul li { margin-bottom: .45rem; }
  html.style-midnight .site-foot .col-6 ul li a { font-size: .95rem; }
  html.style-midnight .site-foot .foot-contact { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 22px; padding: 1.4rem 1rem; }
  html.style-midnight .site-foot .foot-contact ul li { display: flex; flex-direction: column; align-items: center; gap: .3rem; margin-bottom: .9rem; line-height: 1.45; }
  html.style-midnight .site-foot .foot-contact ul li .bi { width: 34px; height: 34px; margin: 0 !important; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: rgba(47,123,255,.16); color: #6aa8ff; font-size: 1rem; }
  html.style-midnight .site-foot .foot-contact ul li:last-child { margin-bottom: 0; }
  html.style-midnight .foot-tags { justify-content: center; display: flex; flex-wrap: wrap; gap: .5rem; }
  html.style-midnight .foot-tags a { margin: 0 !important; font-size: .85rem; padding: .4rem .85rem; }
  html.style-midnight .foot-bottom { justify-content: center; text-align: center; }

  /* CTA band */
  html.style-midnight .cta-band { flex-direction: column; text-align: center; justify-content: center !important; padding: 2rem 1.3rem !important; }
  html.style-midnight .cta-band > div { max-width: 100% !important; width: 100%; }
  html.style-midnight .cta-band h2 { font-size: 1.6rem; }
  html.style-midnight .cta-band > .d-flex { flex-direction: column; align-items: center; }
  html.style-midnight .cta-band .btn-lg { width: 100%; max-width: 300px; justify-content: center; }

  /* hero buttons + list */
  html.style-midnight .hero-copy { text-align: center; margin-left: auto; margin-right: auto; }
  html.style-midnight .hero-copy .hero-list { display: inline-flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 0; }
  html.style-midnight .hero-copy > .d-flex { flex-direction: column; align-items: center; }
  html.style-midnight .hero-copy .btn-lg { width: 100%; max-width: 300px; justify-content: center; }
  html.style-midnight .hero-copy .btn-lg::after { position: static; }

  /* FAQ intro buttons */
  html.style-midnight #faq .col-lg-4 { text-align: center; display: flex; flex-direction: column; align-items: center; }
  html.style-midnight #faq .col-lg-4 .btn { margin: 0 0 .6rem !important; width: 100%; max-width: 280px; justify-content: center; }

  /* contact boxes */
  html.style-midnight .about-box { text-align: center; }
  html.style-midnight .about-box > div { flex-direction: column; align-items: center; gap: .35rem !important; }
  html.style-midnight .about-box > div > .bi { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.12); margin: 0 !important; }
  html.style-midnight .side-card { text-align: center; }
  html.style-midnight .side-card h3 { justify-content: center; }
  html.style-midnight .side-card p .bi { display: block; margin: 0 auto .3rem !important; font-size: 1.15rem; }
  html.style-midnight .side-card > a.btn, html.style-midnight .about-box .btn { margin-left: auto; margin-right: auto; }
  html.style-midnight .sec-head, html.style-midnight .section > .container > h2 { text-align: center; }
}

/* ---------- mobile: button pairs on one line v7 ---------- */
@media (max-width: 767.98px) {
  html.style-midnight .hero-copy > .d-flex,
  html.style-midnight .cta-band > .d-flex,
  html.style-midnight #faq .col-lg-4 { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: center; gap: .55rem !important; }
  html.style-midnight #faq .col-lg-4 { flex-wrap: wrap !important; }
  html.style-midnight #faq .col-lg-4 > :not(.btn) { flex: 0 0 100%; }
  html.style-midnight .hero-copy > .d-flex { width: 100%; }
  html.style-midnight .hero-copy > .d-flex .btn-lg,
  html.style-midnight .cta-band > .d-flex .btn-lg,
  html.style-midnight #faq .col-lg-4 .btn {
    flex: 1 1 0; min-width: 0; max-width: 200px !important; width: auto !important; margin: 0 !important;
    padding: .72rem .7rem !important; font-size: .9rem !important; gap: .4rem; white-space: nowrap; border-radius: 999px !important;
    display: inline-flex !important; align-items: center; justify-content: center;
  }
  html.style-midnight .hero-copy > .d-flex .btn-lg > .bi:first-child,
  html.style-midnight .cta-band > .d-flex .btn-lg > .bi:first-child { width: 26px; height: 26px; font-size: .85rem; margin: 0 !important; flex: 0 0 26px; }
  html.style-midnight .hero-copy .btn-lg::after { content: none !important; display: none !important; }
}
@media (max-width: 374.98px) {
  html.style-midnight .hero-copy > .d-flex .btn-lg,
  html.style-midnight .cta-band > .d-flex .btn-lg,
  html.style-midnight #faq .col-lg-4 .btn { font-size: .8rem !important; padding: .65rem .5rem !important; }
  html.style-midnight .hero-copy > .d-flex .btn-lg > .bi:first-child,
  html.style-midnight .cta-band > .d-flex .btn-lg > .bi:first-child { display: none; }
}
@media (max-width: 767.98px) {
  html.style-midnight .hero-copy > .d-flex .btn-lg:first-child,
  html.style-midnight .cta-band > .d-flex .btn-lg:first-child { flex: 1.35 1 0; max-width: 230px !important; padding-left: .5rem !important; padding-right: .75rem !important; font-size: .86rem !important; }
  html.style-midnight .hero-copy > .d-flex .btn-lg > .bi:first-child,
  html.style-midnight .cta-band > .d-flex .btn-lg > .bi:first-child { width: 24px; height: 24px; flex-basis: 24px; font-size: .8rem; }
}

/* ---------- card images fit v9 ---------- */
/* services: every image becomes a uniform glowing rounded tile */
html.style-midnight .svc-img { height: 190px !important; display: grid !important; place-items: center; padding: 0 !important; position: relative; overflow: hidden;
  background: radial-gradient(260px 160px at 50% 45%, rgba(47,123,255,.35), transparent 70%), linear-gradient(180deg, rgba(20,40,100,.55), rgba(10,18,45,.2)) !important; border-bottom: 1px solid rgba(255,255,255,.06); }
html.style-midnight .svc-img::before { content: ""; position: absolute; width: 150px; height: 150px; border-radius: 34px; background: conic-gradient(from 140deg, #2563ff, #1fb6ff, #8b5cf6, #2563ff); filter: blur(18px); opacity: .45; }
html.style-midnight .svc-img img { position: relative; width: 128px !important; height: 128px !important; object-fit: cover !important; border-radius: 30px; padding: 0 !important;
  border: 3px solid rgba(255,255,255,.9); box-shadow: 0 18px 40px -12px rgba(0,0,0,.7), 0 0 0 6px rgba(47,123,255,.18); background: #fff; transition: transform .35s ease; }
html.style-midnight .svc-card:hover .svc-img img { transform: translateY(-4px) scale(1.06) rotate(-2deg); }
html.style-midnight[data-theme="light"] .svc-img { background: radial-gradient(260px 160px at 50% 45%, rgba(47,123,255,.18), transparent 70%), linear-gradient(180deg, #eef4ff, #fff) !important; }

/* technology: product shots blend into one clean studio panel */
html.style-midnight .tech-img, html.style-midnight .tech-img.is-small { aspect-ratio: 4/3; padding: 0 !important; display: grid; place-items: center; overflow: hidden; position: relative;
  background: radial-gradient(circle at 50% 42%, #ffffff 0%, #eef3fb 55%, #d9e4f5 100%) !important; }
html.style-midnight .tech-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 1.1rem !important; mix-blend-mode: multiply; transition: transform .4s ease; }
html.style-midnight .tech-img::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: 8%; height: 14px; border-radius: 50%; background: rgba(10,30,80,.18); filter: blur(8px); }
html.style-midnight .tech-card:hover .tech-img img { transform: scale(1.06); }

/* ---------- footer redesign v10 ---------- */
html.style-midnight .site-foot { background: radial-gradient(900px 400px at 85% 0%, rgba(29,107,255,.16), transparent 60%), radial-gradient(700px 380px at 0% 100%, rgba(139,92,246,.10), transparent 60%), #030712 !important; padding-top: 3.5rem; overflow: hidden; }
html.style-midnight .site-foot::after { background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) !important; background-size: 48px 48px !important; -webkit-mask-image: linear-gradient(180deg, #000, transparent 75%); mask-image: linear-gradient(180deg, #000, transparent 75%); }
/* action strip */
html.style-midnight .foot-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.8rem 2rem; margin-bottom: 3rem; border-radius: 28px;
  background: linear-gradient(135deg, rgba(37,99,255,.20), rgba(31,182,255,.06) 55%, rgba(139,92,246,.14)) padding-box, linear-gradient(135deg, rgba(91,155,255,.7), rgba(255,255,255,.06), rgba(139,92,246,.6)) border-box; border: 1px solid transparent;
  box-shadow: 0 30px 70px -30px rgba(29,107,255,.55), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(14px); }
html.style-midnight .fh-eye { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #7fb2ff; font-weight: 600; }
html.style-midnight .foot-hero h3 { color: #fff; font-weight: 800; font-size: clamp(1.35rem, 2.4vw, 1.9rem); margin: .35rem 0 .3rem; }
html.style-midnight .hl-grad { background: linear-gradient(90deg, #4d9bff, #38c8ff, #a78bfa); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
html.style-midnight .foot-hero p { margin: 0; color: #9fb0cc; font-size: .92rem; }
html.style-midnight .fh-acts { display: flex; flex-wrap: wrap; gap: .75rem; }
html.style-midnight .fh-act { display: flex; align-items: center; gap: .75rem; padding: .7rem 1.1rem .7rem .7rem; border-radius: 18px; text-decoration: none; color: #fff !important;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: transform .25s, border-color .25s, box-shadow .25s, background .25s; }
html.style-midnight .fh-act .ic { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; font-size: 1.1rem; background: linear-gradient(135deg, #2563ff, #1fb6ff); box-shadow: 0 8px 20px -8px rgba(47,123,255,.9); flex: 0 0 42px; }
html.style-midnight .fh-act.wa .ic { background: linear-gradient(135deg, #16a34a, #25d366); box-shadow: 0 8px 20px -8px rgba(37,211,102,.8); }
html.style-midnight .fh-act.book .ic { background: linear-gradient(135deg, #7c3aed, #4d9bff); box-shadow: 0 8px 20px -8px rgba(124,58,237,.8); }
html.style-midnight .fh-act small { display: block; font-size: .72rem; color: #8ea3c5; text-transform: uppercase; letter-spacing: .06em; line-height: 1.2; }
html.style-midnight .fh-act b { display: block; font-size: .98rem; font-weight: 700; line-height: 1.3; white-space: nowrap; }
html.style-midnight .fh-act:hover { transform: translateY(-3px); background: rgba(255,255,255,.09); border-color: rgba(91,155,255,.55); box-shadow: 0 16px 34px -16px rgba(47,123,255,.9); }
/* columns */
html.style-midnight .site-foot .row > .col-lg-4 .fw-bold.fs-5 { font-size: 1.35rem !important; letter-spacing: -.01em; }
html.style-midnight .site-foot .foot-logo { height: 44px; border-radius: 12px; background: #fff; padding: 3px; }
html.style-midnight .site-foot .row > .col-lg-4 p { color: #8fa0bd; line-height: 1.75; }
html.style-midnight .site-foot .soc { width: 42px; height: 42px; border-radius: 13px; display: inline-grid; place-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #dbe7ff; transition: .25s; }
html.style-midnight .site-foot .soc:hover { transform: translateY(-3px) rotate(-6deg); background: linear-gradient(135deg, #2563ff, #1fb6ff); border-color: transparent; color: #fff; }
html.style-midnight .site-foot h4 { position: relative; color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: .02em; padding-bottom: .7rem; margin-bottom: 1.1rem; }
html.style-midnight .site-foot h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2563ff, #38c8ff); box-shadow: 0 0 10px rgba(56,200,255,.7); }
html.style-midnight .site-foot h4::before { content: ""; position: absolute; left: 34px; bottom: 0; width: 6px; height: 3px; border-radius: 3px; background: #38c8ff; opacity: .6; }
html.style-midnight .site-foot ul { list-style: none; padding: 0; }
html.style-midnight .site-foot .col-6 ul li { margin-bottom: .55rem; }
html.style-midnight .site-foot .col-6 ul li a { position: relative; display: inline-flex; align-items: center; color: #9fb0cc; text-decoration: none; transition: color .2s, transform .2s; }
html.style-midnight .site-foot .col-6 ul li a::before { content: ""; width: 0; height: 2px; margin-right: 0; border-radius: 2px; background: linear-gradient(90deg, #2563ff, #38c8ff); transition: width .25s, margin .25s; }
html.style-midnight .site-foot .col-6 ul li a:hover { color: #fff; }
html.style-midnight .site-foot .col-6 ul li a:hover::before { width: 14px; margin-right: .5rem; }
html.style-midnight .site-foot .foot-contact ul li { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: .8rem; color: #a9b8d2; line-height: 1.5; }
html.style-midnight .site-foot .foot-contact ul li .bi { flex: 0 0 34px; width: 34px; height: 34px; margin: 0 !important; border-radius: 11px; display: inline-grid; place-items: center; background: rgba(47,123,255,.14); border: 1px solid rgba(91,155,255,.25); color: #6aa8ff; font-size: .95rem; }
html.style-midnight .site-foot .foot-contact ul li { align-items: center; }
/* tags */
html.style-midnight .foot-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px dashed rgba(255,255,255,.08); }
html.style-midnight .foot-tags a { margin: 0 !important; padding: .42rem .95rem; border-radius: 999px; font-size: .84rem; color: #b9c7de; text-decoration: none;
  background: linear-gradient(rgba(10,18,40,.6),rgba(10,18,40,.6)) padding-box, linear-gradient(135deg, rgba(91,155,255,.45), rgba(255,255,255,.06)) border-box; border: 1px solid transparent; transition: .25s; }
html.style-midnight .foot-tags a::before { content: "#"; color: #4d9bff; margin-right: .2rem; font-weight: 700; }
html.style-midnight .foot-tags a:hover { color: #fff; background: linear-gradient(135deg, rgba(37,99,255,.35), rgba(31,182,255,.2)) padding-box, linear-gradient(135deg, #4d9bff, #38c8ff) border-box; transform: translateY(-2px); }
/* watermark + bottom */
html.style-midnight .foot-mark { font-weight: 900; font-size: clamp(2.6rem, 9vw, 8.5rem); line-height: .9; letter-spacing: -.04em; text-align: center; white-space: nowrap; overflow: hidden;
  margin: 2.5rem 0 -.6rem; user-select: none; pointer-events: none; color: transparent; -webkit-text-stroke: 1px rgba(120,160,255,.18);
  background: linear-gradient(180deg, rgba(77,155,255,.22), transparent 85%); -webkit-background-clip: text; background-clip: text; }
html.style-midnight .foot-bottom { position: relative; border-top: 1px solid rgba(255,255,255,.08) !important; padding-top: 1.3rem !important; margin-top: 0 !important; color: #7d8ead; font-size: .88rem; }
html.style-midnight .foot-bottom a { color: #94a6c4; text-decoration: none; transition: color .2s; }
html.style-midnight .foot-bottom a:hover { color: #fff; }
html.style-midnight .foot-bottom::before { content: ""; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); width: 160px; height: 1px; background: linear-gradient(90deg, transparent, #38c8ff, transparent); }
/* light theme */
html.style-midnight[data-theme="light"] .foot-hero h3 { color: #fff; }
@media (max-width: 991.98px) { html.style-midnight .foot-hero { flex-direction: column; text-align: center; padding: 1.6rem 1.2rem; } html.style-midnight .fh-acts { justify-content: center; width: 100%; } }
@media (max-width: 767.98px) {
  html.style-midnight .fh-acts { flex-direction: column; }
  html.style-midnight .fh-act { width: 100%; }
  html.style-midnight .fh-act b { white-space: normal; }
  html.style-midnight .site-foot h4::after { left: 50%; transform: translateX(-50%); }
  html.style-midnight .site-foot h4::before { display: none; }
  html.style-midnight .site-foot .col-6 ul li a::before { display: none; }
  html.style-midnight .site-foot .foot-contact ul li { flex-direction: column; align-items: center; gap: .35rem; }
  html.style-midnight .foot-tags { justify-content: center; }
  html.style-midnight .foot-mark { font-size: 2.6rem; white-space: normal; }
}
html.style-midnight .site-foot .foot-tags a { background: linear-gradient(rgba(10,18,40,.6),rgba(10,18,40,.6)) padding-box, linear-gradient(135deg, rgba(91,155,255,.5), rgba(255,255,255,.08)) border-box !important; border: 1px solid transparent !important; padding: .42rem .95rem !important; }
html.style-midnight .site-foot .foot-tags a:hover { background: linear-gradient(135deg, rgba(37,99,255,.35), rgba(31,182,255,.2)) padding-box, linear-gradient(135deg, #4d9bff, #38c8ff) border-box !important; }
html.style-midnight .fh-act { text-align: left; }
@media (max-width: 767.98px) { html.style-midnight .foot-mark { font-size: 2rem; white-space: nowrap; } }

/* ---------- header redesign v11 ---------- */
/* top strip */
html.style-midnight .topstrip { background: linear-gradient(90deg, #030712, #071436 50%, #030712) !important; font-size: .82rem; padding: .45rem 0 !important; position: relative; }
html.style-midnight .topstrip::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(77,155,255,.45), transparent); }
html.style-midnight .topstrip .container { gap: 1.4rem !important; }
html.style-midnight .topstrip span, html.style-midnight .topstrip a { display: inline-flex; align-items: center; gap: .45rem; color: #9fb0cc; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.style-midnight .topstrip span .bi, html.style-midnight .topstrip a .bi { margin: 0 !important; width: 24px; height: 24px; flex: 0 0 24px; border-radius: 8px; display: inline-grid; place-items: center; background: rgba(47,123,255,.15); color: #6aa8ff; font-size: .75rem; }
html.style-midnight .topstrip a:last-child { padding: .2rem .8rem .2rem .25rem; border-radius: 999px; background: rgba(47,123,255,.12); border: 1px solid rgba(91,155,255,.3); color: #fff; font-weight: 600; transition: .25s; }
html.style-midnight .topstrip a:last-child .bi { background: linear-gradient(135deg, #2563ff, #1fb6ff); color: #fff; border-radius: 50%; }
html.style-midnight .topstrip a:last-child:hover { background: rgba(47,123,255,.3); box-shadow: 0 0 18px rgba(47,123,255,.5); }
html.style-midnight .ts-live { flex: 0 0 auto; padding: .15rem .7rem; border-radius: 999px; background: rgba(34,197,94,.1); border: 1px solid rgba(34,197,94,.3); color: #86efac !important; font-weight: 600; font-size: .76rem; }
html.style-midnight .ts-live i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.7); animation: tsPulse 1.8s infinite; }
@keyframes tsPulse { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.7); } 70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }

/* floating glass capsule nav */
html.style-midnight .site-nav { background: transparent !important; box-shadow: none !important; padding: .7rem 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; transition: padding .3s; }
html.style-midnight .site-nav > .container { position: relative; padding: .5rem .6rem .5rem 1rem; border-radius: 22px;
  background: linear-gradient(rgba(8,16,40,.72), rgba(8,16,40,.72)) padding-box, linear-gradient(120deg, rgba(91,155,255,.55), rgba(255,255,255,.06) 40%, rgba(139,92,246,.45)) border-box;
  border: 1px solid transparent; backdrop-filter: saturate(170%) blur(18px); -webkit-backdrop-filter: saturate(170%) blur(18px);
  box-shadow: 0 18px 50px -24px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.06); transition: border-radius .3s, box-shadow .3s, background .3s; }
html.style-midnight .site-nav.scrolled { padding: .4rem 0 !important; }
html.style-midnight .site-nav.scrolled > .container { background: linear-gradient(rgba(6,12,32,.9), rgba(6,12,32,.9)) padding-box, linear-gradient(120deg, rgba(91,155,255,.8), rgba(255,255,255,.08) 40%, rgba(139,92,246,.6)) border-box; box-shadow: 0 20px 50px -18px rgba(29,107,255,.45); }
/* brand */
html.style-midnight .site-nav .logo-mark { width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, #2563ff, #1fb6ff 60%, #8b5cf6) !important; box-shadow: 0 8px 22px -6px rgba(47,123,255,.9), inset 0 1px 0 rgba(255,255,255,.35); position: relative; display: inline-grid; place-items: center; color: #fff; font-size: 1.25rem; }
html.style-midnight .site-nav .logo-mark::after { content: ""; position: absolute; inset: -4px; border-radius: 17px; border: 1px solid rgba(91,155,255,.5); animation: logoRing 2.8s ease-in-out infinite; }
@keyframes logoRing { 0%,100% { opacity: .2; transform: scale(.94); } 50% { opacity: 1; transform: scale(1); } }
html.style-midnight .site-nav .navbar-brand img { border-radius: 12px; background: #fff; padding: 3px; }
html.style-midnight .brand-txt { display: flex; flex-direction: column; line-height: 1.1; }
html.style-midnight .brand-txt .fw-bold { font-size: 1.12rem; color: #fff; letter-spacing: -.01em; }
html.style-midnight .brand-txt small { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; background: linear-gradient(90deg, #4d9bff, #38c8ff, #a78bfa); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-top: .2rem; }
/* links */
@media (min-width: 1200px) {
  html.style-midnight .site-nav .navbar-nav { gap: .1rem !important; flex-wrap: nowrap; }
  html.style-midnight .site-nav .nav-link { padding: .5rem .7rem !important; white-space: nowrap; border-radius: 12px; transition: background .2s, color .2s; }
  html.style-midnight .site-nav .nav-link:hover, html.style-midnight .site-nav .nav-link.show { background: rgba(77,155,255,.12) !important; color: #fff !important; }
  html.style-midnight .site-nav .nav-link::after { bottom: 4px !important; }
  html.style-midnight .site-nav .nav-link:hover::after, html.style-midnight .site-nav .nav-link.show::after { left: 45% !important; right: 45% !important; }
  html.style-midnight .site-nav .dropdown-toggle::after { left: auto !important; right: auto !important; }
}
/* dropdowns */
html.style-midnight .site-nav .dropdown-menu { border-radius: 18px !important; padding: .5rem !important; margin-top: .6rem !important; min-width: 250px;
  background: linear-gradient(rgba(9,18,44,.97), rgba(9,18,44,.97)) padding-box, linear-gradient(160deg, rgba(91,155,255,.55), rgba(255,255,255,.05)) border-box !important; border: 1px solid transparent !important;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.9), 0 0 0 1px rgba(0,0,0,.2) !important; backdrop-filter: blur(18px); }
html.style-midnight .site-nav .dropdown-item { border-radius: 11px; padding: .55rem .8rem !important; color: #c3cfe6 !important; transition: background .2s, color .2s, padding .2s; }
html.style-midnight .site-nav .dropdown-item:hover, html.style-midnight .site-nav .dropdown-item:focus { background: linear-gradient(90deg, rgba(37,99,255,.28), rgba(31,182,255,.08)) !important; color: #fff !important; padding-left: 1.05rem !important; }
html.style-midnight .site-nav .dropdown-item .bi { color: #6aa8ff; }
html.style-midnight .site-nav .dropdown-divider { border-color: rgba(255,255,255,.08); }
@media (min-width: 1200px) { html.style-midnight .site-nav .dropdown-menu.show { animation: ddIn .22s ease-out; } }
@keyframes ddIn { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
/* mobile header */
html.style-midnight .nav-call { width: 42px; height: 42px; border-radius: 13px; display: inline-grid; place-items: center; margin-right: .5rem; color: #fff; text-decoration: none; background: linear-gradient(135deg, #16a34a, #25d366); box-shadow: 0 8px 20px -8px rgba(37,211,102,.8); }
html.style-midnight .site-nav .navbar-toggler { width: 44px; height: 42px; border-radius: 13px; padding: 0; place-items: center; color: #fff; background: linear-gradient(135deg, #2563ff, #1fb6ff) !important; box-shadow: 0 8px 20px -8px rgba(47,123,255,.9); }
html.style-midnight .site-nav .navbar-toggler .bi { font-size: 1.5rem !important; transition: transform .3s; }
html.style-midnight .site-nav .navbar-toggler[aria-expanded="true"] .bi { transform: rotate(90deg); }
@media (max-width: 1199.98px) { html.style-midnight .site-nav .navbar-toggler { display: inline-grid; } }
html.style-midnight .site-nav .navbar-toggler:focus { box-shadow: 0 0 0 4px rgba(47,123,255,.3); }
@media (max-width: 1199.98px) {
  html.style-midnight .site-nav { padding: .55rem 0 !important; }
  html.style-midnight .site-nav > .container { margin: 0 .6rem; max-width: calc(100% - 1.2rem); padding: .45rem .5rem .45rem .7rem; border-radius: 20px; }
  html.style-midnight .site-nav .navbar-collapse { background: transparent !important; margin-top: .5rem; padding: .6rem .2rem .3rem !important; border-top: 1px solid rgba(255,255,255,.08); max-height: 75vh; overflow-y: auto; }
  html.style-midnight .site-nav .navbar-nav { gap: .25rem !important; }
  html.style-midnight .site-nav .nav-link { padding: .75rem .95rem !important; border-radius: 14px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); color: #dbe5f8 !important; display: flex; align-items: center; justify-content: space-between; }
  html.style-midnight .site-nav .nav-link::after { display: none; }
  html.style-midnight .site-nav .dropdown-toggle::after { display: inline-block !important; position: static; border-top: .32em solid; border-right: .32em solid transparent; border-left: .32em solid transparent; background: none; transition: transform .25s; }
  html.style-midnight .site-nav .nav-link.show { background: rgba(47,123,255,.15); border-color: rgba(91,155,255,.35); }
  html.style-midnight .site-nav .nav-link.show.dropdown-toggle::after { transform: rotate(180deg); }
  html.style-midnight .site-nav .dropdown-menu { margin: .3rem 0 .4rem !important; box-shadow: none !important; background: rgba(255,255,255,.03) !important; border: 1px solid rgba(255,255,255,.06) !important; }
  html.style-midnight .site-nav .nav-item.ms-xl-2 { margin: .4rem 0 .2rem; }
  html.style-midnight .site-nav .nav-item .btn-brand { width: 100%; justify-content: center; display: flex; padding: .8rem !important; border-radius: 14px !important; }
  html.style-midnight .site-nav .navbar-nav > .nav-item:has(.lang-switch), html.style-midnight .site-nav .navbar-nav > .nav-item:has(.theme-toggle) { display: inline-flex !important; width: auto; }
  html.style-midnight .site-nav .navbar-nav { flex-direction: column; }
  html.style-midnight .site-nav .lang-switch { justify-content: center !important; }
  html.style-midnight .brand-txt .fw-bold { font-size: 1rem; }
  html.style-midnight .brand-txt small { font-size: .6rem; letter-spacing: .1em; }
}
@media (max-width: 380px) { html.style-midnight .brand-txt small { display: none; } html.style-midnight .site-nav .navbar-brand img { height: 36px !important; } }
/* light theme */
html.style-midnight[data-theme="light"] .site-nav > .container { background: linear-gradient(rgba(255,255,255,.82), rgba(255,255,255,.82)) padding-box, linear-gradient(120deg, rgba(37,99,255,.5), rgba(0,0,0,.04) 40%, rgba(139,92,246,.4)) border-box; box-shadow: 0 18px 40px -24px rgba(20,40,100,.35); }
html.style-midnight[data-theme="light"] .brand-txt .fw-bold { color: #0b1a3d; }
html.style-midnight[data-theme="light"] .site-nav .nav-link { color: #1d2b4f !important; }
html.style-midnight[data-theme="light"] .site-nav .dropdown-menu { background: linear-gradient(#fff, #fff) padding-box, linear-gradient(160deg, rgba(37,99,255,.4), rgba(0,0,0,.04)) border-box !important; }
html.style-midnight[data-theme="light"] .site-nav .dropdown-item { color: #1d2b4f !important; }
@media (max-width: 1199.98px) { html.style-midnight[data-theme="light"] .site-nav .nav-link { background: #f3f6fc; border-color: #e3e9f5; } }
@media (min-width: 1500px) { html.style-midnight .site-nav > .container { max-width: 1480px; } }
@media (min-width: 1200px) and (max-width: 1699.98px) { html.style-midnight .brand-txt small { display: none; } html.style-midnight .site-nav .nav-link { padding: .5rem .55rem !important; } }
@media (min-width: 1200px) and (max-width: 1399.98px) { html.style-midnight .site-nav .nav-link { padding: .45rem .42rem !important; font-size: .82rem !important; } html.style-midnight .site-nav .btn-brand { padding: .5rem .9rem !important; } html.style-midnight .site-nav > .container { max-width: calc(100% - 1.5rem); } html.style-midnight .lang-switch { padding: .35rem .6rem !important; } }
html.style-midnight .topstrip .container > * { flex: 0 0 auto; }
html.style-midnight .topstrip .container > span:nth-of-type(2) { flex: 0 1 auto; min-width: 0; }
@media (min-width: 1500px) { html.style-midnight .topstrip > .container { max-width: 1480px; } }

/* ---------- theme fixes v12 ---------- */
/* forms inside side cards stay left aligned on mobile */
@media (max-width: 767.98px) {
  html.style-midnight .side-card:has(form), html.style-midnight .side-card:has(input), html.style-midnight .side-card:has(textarea) { text-align: left; }
  html.style-midnight .side-card:has(form) h3, html.style-midnight .side-card:has(input) h3 { justify-content: flex-start; }
  html.style-midnight form .form-label, html.style-midnight form label { text-align: left; }
}
/* LIGHT footer */
html.style-midnight[data-theme="light"] .site-foot { background: radial-gradient(900px 400px at 85% 0%, rgba(37,99,255,.10), transparent 60%), radial-gradient(700px 380px at 0% 100%, rgba(139,92,246,.08), transparent 60%), linear-gradient(180deg, #eef3fd, #e4ecfb) !important; color: #4a5878; border-top: 1px solid #dbe4f5; }
html.style-midnight[data-theme="light"] .site-foot::after { background-image: linear-gradient(rgba(20,50,130,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(20,50,130,.05) 1px, transparent 1px) !important; }
html.style-midnight[data-theme="light"] .foot-hero { background: linear-gradient(120deg, #0b2a7a, #1d5bff 60%, #6d3df5) padding-box, linear-gradient(135deg, rgba(255,255,255,.6), rgba(255,255,255,.1)) border-box; box-shadow: 0 30px 60px -30px rgba(29,91,255,.6); }
html.style-midnight[data-theme="light"] .foot-hero p, html.style-midnight[data-theme="light"] .fh-eye { color: #dbe6ff; }
html.style-midnight[data-theme="light"] .foot-hero .hl-grad { background: linear-gradient(90deg, #9fd0ff, #c9b8ff); -webkit-background-clip: text; background-clip: text; }
html.style-midnight[data-theme="light"] .fh-act { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); }
html.style-midnight[data-theme="light"] .fh-act small { color: #cfdcff; }
html.style-midnight[data-theme="light"] .site-foot .row > .col-lg-4 .fw-bold, html.style-midnight[data-theme="light"] .site-foot .text-white { color: #0b1a3d !important; }
html.style-midnight[data-theme="light"] .site-foot .row > .col-lg-4 p { color: #56627e; }
html.style-midnight[data-theme="light"] .site-foot h4 { color: #0b1a3d; }
html.style-midnight[data-theme="light"] .site-foot .col-6 ul li a { color: #44527a; }
html.style-midnight[data-theme="light"] .site-foot .col-6 ul li a:hover { color: #1d4ed8; }
html.style-midnight[data-theme="light"] .site-foot .foot-contact ul li { color: #44527a; }
html.style-midnight[data-theme="light"] .site-foot .foot-contact ul li .bi { background: #fff; border-color: #d3def3; color: #2563ff; box-shadow: 0 4px 12px -6px rgba(37,99,255,.4); }
html.style-midnight[data-theme="light"] .site-foot .soc { background: #fff; border-color: #d3def3; color: #2563ff; }
html.style-midnight[data-theme="light"] .site-foot .soc:hover { color: #fff; }
html.style-midnight[data-theme="light"] .site-foot .foot-tags { border-top-color: #cfdaf0; }
html.style-midnight[data-theme="light"] .site-foot .foot-tags a { color: #34446c; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, rgba(37,99,255,.45), rgba(0,0,0,.05)) border-box !important; }
html.style-midnight[data-theme="light"] .site-foot .foot-tags a:hover { color: #fff; background: linear-gradient(135deg, #2563ff, #1fb6ff) padding-box, linear-gradient(135deg, #2563ff, #1fb6ff) border-box !important; }
html.style-midnight[data-theme="light"] .foot-mark { -webkit-text-stroke: 1px rgba(37,99,255,.22); background: linear-gradient(180deg, rgba(37,99,255,.16), transparent 85%); -webkit-background-clip: text; background-clip: text; }
html.style-midnight[data-theme="light"] .foot-bottom { border-top-color: #cfdaf0 !important; color: #5a6888; }
html.style-midnight[data-theme="light"] .foot-bottom a { color: #44527a; }
html.style-midnight[data-theme="light"] .foot-bottom a:hover { color: #1d4ed8; }
@media (max-width: 767.98px) {
  html.style-midnight[data-theme="light"] .site-foot .row > .col-lg-4 { background: #fff; border-color: #dbe4f5; box-shadow: 0 14px 30px -20px rgba(20,40,100,.3); }
  html.style-midnight[data-theme="light"] .site-foot .foot-contact { background: #fff; border-color: #dbe4f5; }
  html.style-midnight[data-theme="light"] .site-foot .soc { background: linear-gradient(135deg, #2563ff, #1fb6ff) !important; color: #fff !important; }
}
/* LIGHT top strip + misc */
html.style-midnight[data-theme="light"] .topstrip { background: linear-gradient(90deg, #f3f6fd, #e6eefc 50%, #f3f6fd) !important; color: #44527a; border-bottom-color: #dbe4f5; }
html.style-midnight[data-theme="light"] .topstrip span, html.style-midnight[data-theme="light"] .topstrip a { color: #44527a; }
html.style-midnight[data-theme="light"] .topstrip span .bi, html.style-midnight[data-theme="light"] .topstrip a .bi { background: #fff; color: #2563ff; }
html.style-midnight[data-theme="light"] .topstrip a:last-child { color: #12307a; background: #fff; border-color: #cbd8f2; }
html.style-midnight[data-theme="light"] .ts-live { color: #15803d !important; background: #e8f9ee; }
html.style-midnight[data-theme="light"] .site-nav .navbar-collapse { border-top-color: #e3e9f5 !important; }
html.style-midnight[data-theme="light"] .site-nav .navbar-brand img { box-shadow: 0 0 0 1px #e3e9f5; }
html.style-midnight[data-theme="light"] .svc-img::before { opacity: .25; }
/* smooth switch */
html.style-midnight.theme-anim, html.style-midnight.theme-anim *, html.style-midnight.theme-anim *::before, html.style-midnight.theme-anim *::after { transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease !important; }
@media (min-width: 768px) { html.style-midnight[data-theme="light"] .site-foot .soc, html.style-midnight[data-theme="light"] .site-foot .soc .bi { color: #2563ff !important; } html.style-midnight[data-theme="light"] .site-foot .soc { box-shadow: 0 6px 16px -8px rgba(37,99,255,.5); } html.style-midnight[data-theme="light"] .site-foot .soc:hover, html.style-midnight[data-theme="light"] .site-foot .soc:hover .bi { color: #fff !important; } }
/* hero v2 in Midnight Blue */
html.style-midnight .hero-x { --hx1: #2f7bff; --hx2: #38bdf8; }
html.style-midnight .hero-x .hx-slide { background: radial-gradient(1100px 600px at 82% 35%, rgba(47,123,255,.35), transparent 60%), linear-gradient(115deg, #040916 0%, #071230 55%, #0a1c4a 100%); }
html.style-midnight .hero-x .hx-slide::after { display: none; }
html.style-midnight .hero-x .hx-orb { background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.4), transparent 45%), linear-gradient(145deg, #3b82f6, #7c3aed); }
html.style-midnight .hero-x .hero-copy .eyebrow { color: #cfe0ff; font-style: normal; }
html.style-midnight .hero-x .hx-chips li i { background: linear-gradient(135deg, #2f7bff, #38bdf8); color: #fff; }
