
/* === Webfont support (Orbitron fallback + Megatron placeholders) === */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;800;900&display=swap');

@font-face {
  font-family: 'Megatron';
  src:
    local('Megatron'),
    url('../fonts/Megatron-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Megatron';
  src:
    local('Megatron Bold'),
    url('../fonts/Megatron-Bold.woff2') format('woff2');
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Megatron Holo';
  src:
    local('Megatron Holo'),
    url('../fonts/MegatronHolo-Regular.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

/* Unified display font stack */
:root {
  --font-display: 'Megatron','Megatron Holo','Orbitron','Oswald','Segoe UI','Roboto','Arial',sans-serif;
}


/* Reset */
body, h1, h2, h3, p, ul, li, a { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }

body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Header Section */
.banner {
  background: linear-gradient(to bottom, #CC6600 0%, Orange 100%);
  padding: 20px;
  border-bottom: 2px solid #000000;
}
.banner-content { display: flex; justify-content: center; align-items: center; color: #000; }
.logo { margin: 0; font-size: 1.5rem; font-weight: bold; }
.logo-image { width: 2.5%; height: auto; margin-left: 10px; }

/* Navigation Section */
.navigation {
  display: flex; justify-content: space-between; align-items: center;
  background: linear-gradient(to bottom, #c0c0c0 0%, #fff 100%);
  padding: 10px 50px; border-bottom: 2px solid #000; position: relative; z-index: 1500;
}
.navigation ul li:first-child { margin-left: -20px; margin-right: 20px; }
.navigation ul { display: flex; gap: 5px; list-style: none; margin: 0; }
.navigation a { text-decoration: none; color: #333; font-weight: bold; }

.search-container { display: flex; align-items: center; gap: 10px; }
.search input { padding: px 10px; border: 1px solid #ccc; border-radius: 1px; }

.member-login, .provider-login {
  background-color: #666; color: #fff; border: none; padding: 10px 20px;
  font-size: 0.9rem; font-weight: bold; border-radius: 8px; cursor: pointer;
  transition: background-color 0.5s ease;
}
.member-login:hover, .provider-login:hover { background-color: #ff9900; }

/* Dropdown Menu */
.dropdown { position: relative; display: inline-block; }
.dropbtn { text-decoration: none; color: #333; font-weight: bold; display: inline-flex; align-items: center; }
.dropdown-content {
  display: none; position: absolute;
  background: linear-gradient(to bottom, hsl(30 100% 38%) 0%, orange 100%);
  box-shadow: 0 8px 16px rgba(0,0,0,.2); padding: 10px 0; border-radius: 10px;
  min-width: 220px; z-index: 2000; opacity: 0; transition: opacity 2s ease, visibility 2s ease; visibility: hidden;
}
.dropdown-content a { color: #fff; padding: 8px 16px; text-decoration: none; display: block; }
.dropdown:hover .dropdown-content { display: block; opacity: 1; visibility: visible; }
.arrow { display: inline-block; margin-left: 5px; transition: transform .3s ease; font-size: .8rem; color: #333; transform: rotate(180deg); }
.dropdown:hover .arrow { transform: rotate(90deg); }

/* Main (default for other pages) */
main {
  display: flex; justify-content: center; align-items: center;
  background: #fff; flex-grow: 1; padding: 60px 0;
}

/* Old container (kept for other pages) */
.content-container {
  background: #999; padding: 140px; border-radius: 30px; display: flex; gap: 40px;
  align-items: center; justify-content: space-between; max-width: 1100px;
  box-shadow: 30px 40px 30px rgba(0,0,0,.2);
}
.text-content { flex: 1; }
.text-content h1 { font-size: 6rem; font-weight: 800; line-height: 1; }
.text-content p { font-size: 1.3rem; color: #333; margin-top: 20px; }
.image-placeholder { flex: 1; display: flex; justify-content: flex-end; }
.image-placeholder img { width: 300%; max-width: 3000px; border-radius: 10px; }

/* Responsive */
@media (max-width: 1290px) {
  .content-container { flex-direction: column; padding: 30px; align-items: center; }
  .text-content { text-align: center; padding-bottom: 20px; }
  .image-placeholder img { max-width: 90%; }
}

/* Footer */
.footer {
  background: linear-gradient(to bottom, #ff9900 40%, #CC6600 100%);
  padding: 20px; display: flex; justify-content: center; margin-top: auto; border-top: 2px solid #000;
}
.footer-links {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; max-width: 1200px; width: 100%;
}
.footer-links > div { flex: 1; text-align: center; }
.footer-links h3 { font-size: 1.2rem; margin-bottom: 10px; color: #000; }
.footer-links ul { list-style: none; padding: 0; }
.footer-links a { text-decoration: none; color: #000; font-size: 1rem; }

/* 🌙 Dark Mode toggle */
.theme-toggle { position: relative; display: inline-block; width: 50px; height: 24px; margin-left: 10px; }
.theme-toggle input { opacity: 0; width: 0; height: 0; }
.theme-toggle .slider { position: absolute; cursor: pointer; inset: 0; background: #ccc; transition: .4s; border-radius: 24px; }
.theme-toggle .slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background: #fff; transition: .4s; border-radius: 50%; }
.theme-toggle input:checked + .slider { background: #333; }
.theme-toggle input:checked + .slider:before { transform: translateX(26px); }

/* 🌙 Dark mode scoped to main */
body.dark-mode main { background: #1e1e1e; }
body.dark-mode main * { color: #fff; }
body.dark-mode .content-container { background: #2c2c2c; }
body.dark-mode .text-content p { color: #ccc; }
body.dark-mode .image-placeholder img { filter: brightness(.9); }

/* =========================================================
   NEW: Project Positron — Hero (Homepage only)
   Uses your original smoke image; fills the main area.
========================================================= */

/* Optional: if you have Megatron font, place it in /fonts and uncomment
@font-face {
  font-family: "Megatron";
  src: url("../fonts/Megatron.woff2") format("woff2");
  font-display: swap;
}
*/

.home-main { display: block; padding: 0; background: transparent; }  /* override global main flex */

\1min-height: 100svh; /* fills viewport beneath header/nav */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(24px, 5vw, 64px);
  position: relative;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.55)); /* readability layer */
}
.hero-content{ position:relative; z-index:1; max-width:1200px; margin-inline:auto; }

/* Titles */
.project-text{
  font-weight: 900;
  background: linear-gradient(180deg, #FFA500, #CC6600);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: .10em;
  margin-bottom: .15em;
  font-size: clamp(28px, 2.4vw, 40px);
}
\1font-family: var(--font-display);
  font-weight: 900; color: #fff; letter-spacing: .01em; line-height: .95;
  margin: 0 0 .35em;
  font-size: clamp(48px, 8vw, 128px);
}
.tagline{ color:#d7d7d7; font-size: clamp(16px, 2.2vw, 22px); margin: 0 0 1.4em; }

/* Raised CTA with darker offset shadow */
.demo-btn{
  display:inline-block; text-decoration:none; border:0;
  padding: clamp(12px, 1.2vw, 16px) clamp(24px, 2vw, 40px);
  border-radius:999px; font-weight:900; font-size: clamp(14px, 1.8vw, 20px);
  letter-spacing:.02em; cursor:pointer; color:#111;
  background: linear-gradient(180deg, #FFA500, #CC6600);
  box-shadow:
    0 16px 30px rgba(0,0,0,.38),   /* ambient lift */
    3px 8px 0 rgba(0,0,0,.30),     /* darker offset pop */
    inset 0 1px 0 rgba(255,255,255,.35);
  transform: translateY(-1px);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.demo-btn:hover{
  transform: translateY(-2px);
  box-shadow:
    0 22px 40px rgba(0,0,0,.44),
    4px 10px 0 rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.42);
  filter: brightness(1.02);
}
.demo-btn:active{ transform: translateY(0); }

/* Dark mode compatibility */
body.dark-mode .hero { background-color: #0a0a0a; }

/* =========================================================
   Under-Construction hero (matches homepage hero layout)
   Use on non-home pages only
========================================================= */

.uc-hero{
  /* same stacking & spacing as .hero on home */
  position: relative;
  width: 100%;
  min-height: calc(75svh - 160px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(24px, 5vw, 64px);

  /* same smoke background as homepage hero */
  background:
    radial-gradient(1200px 700px at 50% 0%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(900px 500px at 50% 100%, rgba(0,0,0,.35), transparent 55%),
    url('../IMAGES/iStock-2170823472.jpg') center/cover no-repeat,
    #0d0d0d;
}

/* the dark “opacity” layer above the smoke but under the text */
.uc-hero::before{
  content:"";
  position:absolute;
  inset:0;
  /* slightly darker than home so “COMING SOON” pops, tweak if needed */
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.65));
}

/* keep content above overlay */
.uc-hero .hero-content{ position: relative; z-index: 1; }

/* Orange pill styled like the homepage CTA, but static text */
.pill{
  display:inline-block;
  margin-top: clamp(12px, 2.2vw, 20px);
  padding: clamp(10px, 1.1vw, 14px) clamp(18px, 1.8vw, 28px);
  border-radius: 999px;
  font-weight: 900;
  font-size: clamp(13px, 1.6vw, 18px);
  letter-spacing:.02em;
  color: #111;
  background: linear-gradient(180deg, #FFA500, #CC6600);
  box-shadow:
    0 16px 30px rgba(0,0,0,.38),
    3px 8px 0 rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.35);
  user-select: none;
}

/* Dark-mode compatibility */
body.dark-mode .uc-hero{ background-color:#0a0a0a; }

/* === LT v8: Mobile burger, sticky glass header/nav/footer, slimmer footer === */

/* Variables for sticky sizing */
:root{
  --bannerH: clamp(56px, 9vw, 96px);
  --navH: clamp(44px, 6.5vw, 66px);
}

/* Burger button (injected by JS with three bars) */
.lt-nav-toggle{
  display: none; /* shown at mobile breakpoints below */
  border: 0; background: transparent; padding: 6px; margin: 0;
  width: 44px; height: 36px;
  align-items: center; justify-content: center; gap: 5px;
  color: #222; /* bar color via currentColor */
}
.lt-nav-toggle-bar{ width: 24px; height: 3px; border-radius: 2px; background: currentColor; display: block; }
/* Dark mode: white bars */
html.dark-mode .lt-nav-toggle,
body.dark-mode .lt-nav-toggle{ color: #fff; }

/* Show burger, hide desktop nav & search on mobile/tablet */
@media (max-width: 1600px){
  nav.navigation > ul,
  nav.navigation > .search-container { display: none !important; }
  .lt-nav-toggle{ display: inline-flex !important; }
}

/* Drawer base (kept from earlier versions; reaffirm) */
.lt-nav-drawer{
  position: fixed; inset: 0 auto 0 0;
  width: min(82vw, 360px); max-width: 100%;
  background: linear-gradient(to bottom, hsl(30 100% 38%) 0%, orange 100%);
  color: #fff;
  transform: translateX(-100%); transition: transform .25s ease;
  box-shadow: 0 0 40px rgba(0,0,0,.35);
  display: flex; flex-direction: column; z-index: 2200; visibility: hidden;
}
.lt-nav-scrim{ position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 2100; display: none; }
body.lt-nav-open .lt-nav-drawer{ transform: translateX(0); visibility: visible; }
body.lt-nav-open .lt-nav-scrim{ display: block; }

/* Sticky + glassy blur for header, nav, and footer */
.banner{
  position: sticky; top: 0; z-index: 3000;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  background: linear-gradient(to bottom, rgba(255,153,0,0.85) 40%, rgba(204,102,0,0.85) 100%);
  /* keep existing border-bottom color if defined elsewhere */
}
.navigation{
  position: sticky; top: var(--bannerH); z-index: 2990;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0.85));
}
html.dark-mode .navigation, body.dark-mode .navigation{
  background: linear-gradient(to bottom, rgba(26,26,26,0.85), rgba(15,15,15,0.85));
}

/* Footer: slimmer, glassy, sticky at bottom */
.footer{
  position: sticky; bottom: 0; z-index: 3000;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  background: linear-gradient(to bottom, rgba(255,153,0,0.85) 40%, rgba(204,102,0,0.85) 100%);
  padding: clamp(8px, 2.4vw, 14px);
}
.footer-links{ display: flex; flex-wrap: wrap; gap: clamp(12px, 3vw, 24px); justify-content: space-between; }
.footer-links > div{ flex: 1 1 180px; }
.footer-links h3{ font-size: 1.05rem; margin-bottom: .5rem; }
.footer-links ul{ margin: 0; padding-left: 1rem; }
.footer a{ text-decoration: none; }

/* Dark footer legibility */
html.dark-mode .footer, body.dark-mode .footer{
  background: linear-gradient(to bottom, rgba(26,26,26,0.85), rgba(15,15,15,0.85));
}
html.dark-mode .footer-links h3,
body.dark-mode .footer-links h3 { color: #ffd699; }
html.dark-mode .footer-links a,
body.dark-mode .footer-links a { color: #ffd699; }
html.dark-mode .footer-links a:hover,
body.dark-mode .footer-links a:hover { color: #ffe0b3; }

/* Prevent horizontal peek + support anchor jump */
html, body{ overflow-x: hidden; }
:target{ scroll-margin-top: calc(var(--bannerH) + var(--navH)); }



/* ===== v9: Burger style, dark-mode color, sticky glass, responsive switch at 1250px ===== */
:root{ --bannerH: clamp(56px, 9vw, 96px); --navH: clamp(44px, 6.5vw, 66px); }

/* Burger (icon bars inherit currentColor) */
.lt-nav-toggle{ display:none; border:0; background:transparent; width:44px; height:36px; padding:6px; align-items:center; justify-content:center; gap:5px; color:#222; }
.lt-nav-toggle-bar{ width:24px; height:3px; border-radius:2px; background: currentColor; display:block; }
html.dark-mode .lt-nav-toggle{ color:#fff; }

/* Drawer */
.lt-nav-drawer{ position:fixed; inset:0 auto 0 0; width:min(82vw,360px); max-width:100%; background: linear-gradient(to bottom, hsl(30 100% 38%) 0%, orange 100%); color:#fff; transform:translateX(-100%); transition: transform .25s ease; box-shadow:0 0 40px rgba(0,0,0,.35); display:flex; flex-direction:column; z-index:2200; visibility:hidden; }
.lt-nav-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:2100; display:none; }
body.lt-nav-open .lt-nav-drawer{ transform: translateX(0); visibility: visible; }
body.lt-nav-open .lt-nav-scrim{ display:block; }

/* Accordion */
.lt-drawer-body{ padding:.25rem 0 1rem; overflow:auto; -webkit-overflow-scrolling:touch; }
.lt-drawer-body ul{ list-style:none; margin:0; padding:0; }
.lt-drawer-body li a{ display:block; padding:.8rem 1rem; text-decoration:none; }
.lt-drawer-body li + li{ border-top:1px solid rgba(255,255,255,.2); }
.lt-has-children > button.lt-submenu-toggle{ width:100%; text-align:left; padding:.9rem 1rem; background:transparent; border:0; font-weight:700; font-size:1rem; color:#fff; }
.lt-submenu{ padding: 0 .25rem .5rem 0; }
.lt-submenu a{ padding:.6rem 1.25rem; }

/* Light/dark drawer */
html.dark-mode .lt-nav-drawer{ background: linear-gradient(to bottom, #1a1a1a 0%, #0f0f0f 100%); color:#fff; }
html.dark-mode .lt-drawer-body li + li{ border-top:1px solid rgba(255,255,255,.12); }

/* Sticky glass header/nav/footer */
.banner{ position: sticky; top:0; z-index:3000; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: linear-gradient(to bottom, rgba(204,102,0,.9) 0%, rgba(255,153,0,.9) 100%); }
.navigation{ position: sticky; top: var(--bannerH); z-index:2990; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background: linear-gradient(to bottom, rgba(255,255,255,.9), rgba(255,255,255,.85)); }
html.dark-mode .navigation{ background: linear-gradient(to bottom, rgba(26,26,26,.85), rgba(15,15,15,.85)); }

.footer{ position: sticky; bottom:0; z-index:3000; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background: linear-gradient(to bottom, rgba(255,153,0,.9) 40%, rgba(204,102,0,.9) 100%); padding: clamp(8px, 2.4vw, 14px); }
.footer-links{ display:flex; flex-wrap:wrap; gap: clamp(12px, 3vw, 24px); justify-content: space-between; }
.footer-links > div{ flex: 1 1 180px; }
.footer-links h3{ font-size: 1.05rem; margin-bottom: .5rem; }
.footer-links ul{ margin:0; padding-left: 1rem; }
.footer a{ text-decoration: none; }

html.dark-mode .footer{ background: linear-gradient(to bottom, rgba(26,26,26,.85), rgba(15,15,15,.85)); }
html.dark-mode .footer-links h3{ color:#ffd699; }
html.dark-mode .footer-links a{ color:#ffd699; }
html.dark-mode .footer-links a:hover{ color:#ffe0b3; }

/* Responsive switch */
@media (max-width: 1600px){
  nav.navigation > ul,
  nav.navigation > .search-container { display:none !important; }
  .lt-nav-toggle{ display:inline-flex !important; }
}
@media (min-width: 1601px){
  .lt-nav-drawer, .lt-nav-scrim, .lt-nav-toggle, .lt-brand-text { display: none !important; }
}

/* Small helpers */
html, body{ overflow-x: hidden; }
:target{ scroll-margin-top: calc(var(--bannerH) + var(--navH)); }



/* === v10: dark-mode polish, drawer above all, accurate sticky offsets === */

/* Drawer above header/footer */
.lt-nav-drawer{ z-index: 4000 !important; }
.lt-nav-scrim{ z-index: 3900 !important; }

/* Ensure burger bars white in dark mode via currentColor */
html.dark-mode .lt-nav-toggle, body.dark-mode .lt-nav-toggle{ color:#fff; }

/* Dark-mode readability sweep */
html.dark-mode, html.dark-mode body{ background:#0f0f0f; color:#eee; }
html.dark-mode a{ color:#ffd699; }
html.dark-mode a:hover{ color:#ffe0b3; }
html.dark-mode .banner .logo,
html.dark-mode .navigation a,
html.dark-mode .dropbtn,
html.dark-mode .arrow{ color:#f5f5f5; }

/* Inputs/buttons */
html.dark-mode input[type="text"], html.dark-mode input[type="search"],
html.dark-mode input[type="email"], html.dark-mode input[type="password"],
html.dark-mode textarea, html.dark-mode select{
  background:#151515; color:#f2f2f2; border:1px solid #2a2a2a;
}
html.dark-mode ::placeholder{ color:#bfbfbf; }

html.dark-mode .member-login, html.dark-mode .provider-login{
  background:#1f1f1f; color:#ffd699; border:1px solid #3a3a3a;
}
html.dark-mode .member-login:hover, html.dark-mode .provider-login:hover{
  background:#272727; border-color:#555;
}

/* Desktop dropdowns dark */
html.dark-mode .dropdown-content{
  background: linear-gradient(to bottom, hsl(30 20% 22%) 0%, hsl(30 25% 15%) 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,.55);
}
html.dark-mode .dropdown-content a{ color:#fff; }
html.dark-mode .dropdown-content a:hover{ background: rgba(255,255,255,.08); }

/* Glassy sticky backgrounds keep color but add blur */
.banner{
  position: sticky; top:0; z-index: 3000;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  background: linear-gradient(to bottom, rgba(204,102,0,.92) 0%, rgba(255,153,0,.92) 100%);
}
.navigation{
  position: sticky; top: var(--bannerH, 0px); z-index:2990;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  background: linear-gradient(to bottom, rgba(255,255,255,.92), rgba(255,255,255,.88));
}
html.dark-mode .navigation{
  background: linear-gradient(to bottom, rgba(26,26,26,.88), rgba(15,15,15,.88));
}

/* Footer slim + glass */
/* Base footer (kept as-is) */
.footer {
    position: sticky;
    bottom: 0;
    z-index: 3000;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: linear-gradient(to bottom, rgba(255,153,0,.9) 40%, rgba(204,102,0,.9) 100%);
    padding: clamp(8px, 2.4vw, 14px);
}

/* Dark mode footer */
html.dark-mode .footer,
body.dark-mode .footer {
    /* your dark background */
    background: linear-gradient(to bottom, rgba(26,26,26,.88), rgba(15,15,15,.88));
    /* vars for the orange glow */
    --pulse-rgb: 255,153,0; /* #ff9900 */
    --pulse-height: 3px;
    position: sticky; /* ensures positioned ancestor */
}

    /* Dim orange baseline across the very top edge */
    html.dark-mode .footer::before,
    body.dark-mode .footer::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: var(--pulse-height);
        background: linear-gradient(90deg, rgba(var(--pulse-rgb), .18) 0%, rgba(var(--pulse-rgb), .28) 50%, rgba(var(--pulse-rgb), .18) 100%);
        box-shadow: inset 0 0 6px rgba(var(--pulse-rgb), .35), 0 0 10px rgba(var(--pulse-rgb), .25);
        pointer-events: none;
    }

    /* Moving “blip” (flatline heartbeat) */
    html.dark-mode .footer::after,
    body.dark-mode .footer::after {
        content: "";
        position: absolute;
        top: calc(0px - (var(--pulse-height) - 2px)); /* sit right on the top edge */
        left: -12%;
        height: calc(var(--pulse-height) + 1px);
        width: 12vw; /* size of the travelling glow */
        min-width: 80px;
        max-width: 220px;
        background:
        /* bright core */
        radial-gradient(55% 180% at 10% 50%, rgba(var(--pulse-rgb), 1) 0 35%, rgba(var(--pulse-rgb), .12) 75%, transparent 76%),
        /* trailing comet */
        linear-gradient(90deg, rgba(var(--pulse-rgb), .95) 0%, rgba(var(--pulse-rgb), .20) 60%, rgba(var(--pulse-rgb), 0) 100%);
        box-shadow: 0 0 12px rgba(var(--pulse-rgb), .55), 0 0 22px rgba(var(--pulse-rgb), .35);
        filter: blur(.3px);
        animation: lt-footer-scan 2.7s linear infinite;
        pointer-events: none;
    }

/* Motion for the scanning blip */
@keyframes lt-footer-scan {
    0% {
        transform: translateX(0);
        opacity: .85;
    }

    45% {
        opacity: 1;
    }

    100% {
        transform: translateX(125vw);
        opacity: .85;
    }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    html.dark-mode .footer::after,
    body.dark-mode .footer::after {
        animation: none;
        opacity: .9;
    }
}

/* Responsive switch (mobile to 1250px) */
@media (max-width: 1600px){
  nav.navigation > ul,
  nav.navigation > .search-container { display:none !important; }
  .lt-nav-toggle{ display:inline-flex !important; }
}
@media (min-width: 1601px){
  .lt-nav-drawer, .lt-nav-scrim, .lt-nav-toggle, .lt-brand-text { display: none !important; }
}

/* Prevent horizontal peek + support anchor jump */
html, body{ overflow-x: hidden; }
:target{ scroll-margin-top: calc(var(--bannerH, 0px) + var(--navH, 0px)); }

/* === v10.1: Sidebar layout reverted to v4 look (light mode) === */
.lt-nav-drawer{
  background: linear-gradient(to bottom, hsl(30 100% 38%) 0%, orange 100%) !important;
  color: #fff !important;
}
.lt-drawer-header{
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem; font-weight: 800; border-bottom: 1px solid rgba(255,255,255,.3) !important;
}
.lt-drawer-close{ color: #fff !important; font-size: 1.5rem; line-height: 1; border: 0; background: transparent; padding: .25rem .5rem; }
.lt-drawer-body{ padding: .25rem 0 1rem; overflow: auto; -webkit-overflow-scrolling: touch; }
.lt-drawer-body ul{ list-style: none; margin: 0; padding: 0; }
.lt-drawer-body li + li{ border-top: 1px solid rgba(255,255,255,.2) !important; }
.lt-drawer-body a{ color: #fff !important; padding: 8px 16px; text-decoration: none; display: block; }
.lt-has-children > button.lt-submenu-toggle{
  width: 100%; text-align: left; padding: .9rem 1rem; background: transparent; border: 0;
  font-weight: 700; font-size: 1rem; color: #fff !important; cursor: pointer;
}
.lt-submenu{ padding: 0 .25rem .5rem 0; }
.lt-submenu a{ padding-left: 28px; }

.lt-drawer-utilities{
  padding: 1rem; display: grid; gap: .75rem; margin-top: auto; border-top: 1px solid rgba(255,255,255,.25) !important;
  background: rgba(0,0,0,.15) !important;
}
.lt-drawer-utilities input[type="text"]{ padding: .6rem .8rem; width: 100%; border: 1px solid #ddd; border-radius: .5rem; background: rgba(255,255,255,.9) !important; }

/* === v10.2: Sidebar utilities width normalized === */
.lt-drawer-utilities{
  width: 100%;
  max-width: clamp(220px, 70vw, 280px);
  justify-items: stretch;
  align-items: start;
}

.lt-drawer-utilities input[type="text"],
.lt-drawer-utilities .member-login,
.lt-drawer-utilities .provider-login{
  width: 100%; /* make all three the same width */
  box-sizing: border-box;
}

@media (min-width: 1251px){
  /* No change for desktop */
}

.lt-drawer-utilities{
  width: 100% !important;
  max-width: none !important;     /* remove the previous 280px cap */
  box-sizing: border-box;
  padding: 1rem;                  /* keeps the nice gutter */
  justify-items: stretch;
  align-items: start;
}

/* Ensure the three controls fill the available panel width */
.lt-drawer-utilities input[type="text"],
.lt-drawer-utilities .member-login,
.lt-drawer-utilities .provider-login{
  width: 100%;
  box-sizing: border-box;
}


/* Light mode footer pulse */
.footer {
  position: sticky;
  /* Bright yellow glow for light mode */
  --pulse-rgb: 255,221,0; /* #FFDD00 */
  --pulse-height: 4px;
}

/* Baseline glow along the top of the footer */
.footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--pulse-height);
  background: linear-gradient(90deg,
      rgba(var(--pulse-rgb), .28) 0%,
      rgba(var(--pulse-rgb), .55) 50%,
      rgba(var(--pulse-rgb), .28) 100%);
  box-shadow:
    inset 0 0 10px rgba(var(--pulse-rgb), .45),
    0 0 14px rgba(var(--pulse-rgb), .35);
  pointer-events: none;
}

/* Scanning comet */
.footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: -25vw;
  width: 160px;
  height: var(--pulse-height);
  background:
    radial-gradient(55% 180% at 10% 50%,
      rgba(var(--pulse-rgb), .98) 0 35%,
      rgba(var(--pulse-rgb), .30) 75%,
      transparent 76%),
    linear-gradient(90deg,
      rgba(var(--pulse-rgb), .98) 0%,
      rgba(var(--pulse-rgb), .65) 25%,
      rgba(var(--pulse-rgb), .34) 60%,
      rgba(var(--pulse-rgb), 0) 100%);
  box-shadow:
    0 0 18px rgba(var(--pulse-rgb), .65),
    0 0 28px rgba(var(--pulse-rgb), .45);
  filter: blur(.2px);
  animation: lt-footer-scan 2.7s linear infinite;
  pointer-events: none;
  opacity: .98;
}

/* Ensure stacking context */
.footer { z-index: 0; }
.footer > * { position: relative; z-index: 1; }

/* Lime green glow for light mode */
  --pulse-rgb: 57,255,20; /* #39FF14 neon-lime */
  --pulse-height: 4px;
}

/* Baseline glow along the top of the footer */
.footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--pulse-height);
  background: linear-gradient(90deg,
      rgba(var(--pulse-rgb), .20) 0%,
      rgba(var(--pulse-rgb), .45) 50%,
      rgba(var(--pulse-rgb), .20) 100%);
  box-shadow:
    inset 0 0 6px rgba(var(--pulse-rgb), .38),
    0 0 10px rgba(var(--pulse-rgb), .28);
  pointer-events: none;
}

/* Scanning comet */
.footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: -25vw;
  width: 140px;
  height: var(--pulse-height);
  background:
    radial-gradient(55% 180% at 10% 50%,
      rgba(var(--pulse-rgb), .95) 0 35%,
      rgba(var(--pulse-rgb), .22) 75%,
      transparent 76%),
    linear-gradient(90deg,
      rgba(var(--pulse-rgb), .95) 0%,
      rgba(var(--pulse-rgb), .55) 25%,
      rgba(var(--pulse-rgb), .28) 60%,
      rgba(var(--pulse-rgb), 0) 100%);
  box-shadow:
    0 0 14px rgba(var(--pulse-rgb), .55),
    0 0 24px rgba(var(--pulse-rgb), .35);
  filter: blur(.2px);
  animation: lt-footer-scan 2.7s linear infinite;
  pointer-events: none;
  opacity: .95;
}

/* Ensure stacking context */
.footer { z-index: 0; }
.footer > * { position: relative; z-index: 1; }

/* ensure stacking */
.footer { z-index: 0; }
.footer > * { position: relative; z-index: 1; }




/* === Global footer normalization === */
.footer { 
  min-height: 120px;
  margin-top: auto; /* push footer to bottom on short pages */
}




/* === Global page background tint & viewport fill === */
:root {
  --page-bg: radial-gradient(120% 150% at 10% 0%, rgba(255,153,0,.12), transparent 70%),
             linear-gradient(to bottom, #ffffff, #f8fafc);
}
html.dark-mode {
  --page-bg: radial-gradient(120% 150% at 10% 0%, rgba(255,153,0,.18), transparent 70%),
             linear-gradient(to bottom, #0b1220, #0f172a);
}
html, body { min-height: 100%; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--page-bg);
  background-attachment: fixed;
}
.footer { margin-top: auto; }





/* Re-assert homepage hero background (index only uses .hero) */
.hero{
  position: relative;
  min-height: 100vh;
  min-height: 100svh; /* mobile-safe */
  display: grid;
  align-items: center;
  background:
    radial-gradient(1200px 700px at 50% 0%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(900px 500px at 50% 100%, rgba(0,0,0,.35), transparent 55%),
    url('../IMAGES/iStock-2170823472.jpg') center/cover no-repeat,
    #0d0d0d;
}

