/* ======================================================
   Elegant Chiropractic Theme (Blues + Glass + Earth Accent)
   Cleaned: removed duplicates + unused rules
====================================================== */

:root{
  --bg0:#070d14;
  --bg1:#071a2f;
  --bg2:#0b2b4a;
  --blue:#51749b;
  --ice:#b7d2ea;
  --sand:#e5d89e;
  --text:#eaf2ff;
  --muted:rgba(234,242,255,.72);
  --line:rgba(255,255,255,.10);

  --glass: rgba(12, 22, 36, .55);
  --glass2: rgba(12, 22, 36, .35);
  --blur: 14px;

  --radius: 18px;
  --shadow: 0 18px 60px rgba(0,0,0,.45);

  --bs-primary: #5f8bb8;
  --bs-primary-rgb: 95,139,184;

  /* fixed topbar + nav */
  --topbar-h: 36px;
}

/* Smooth anchor scrolling */
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(95,139,184,.25), transparent 60%),
    radial-gradient(900px 500px at 80% 20%, rgba(229,216,158,.18), transparent 55%),
    linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 35%, #061422 100%);
  color: var(--text);
  overflow-x:hidden;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* offsets fixed topbar + navbar */
  padding-top: 160px;
}

h1, h2, h3, h4, h5, .navbar-brand{
  font-family: "STIX Two Text", serif;
  font-weight: 1000;
}

a{ text-decoration:none; }

.text-secondary{
  color: var(--muted) !important;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.text-accent{ color: var(--sand) !important; }

.code-pill{
  display:inline-block;
  padding:.15rem .45rem;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* ======================================================
   TOP CONTACT BAR
====================================================== */
.topbar{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height: var(--topbar-h);
  z-index:1400;

  background: rgba(7, 26, 47, .95);
  border-bottom: 1px solid rgba(255,255,255,.08);

  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
}

.topbar .container{
  height: var(--topbar-h);
  font-size:.9rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.topbar-link{
  color: rgba(234,242,255,.9);
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:500;
}
.topbar-link:hover{
  color: var(--text);
  text-decoration: underline;
}

/* ======================================================
   NAVBAR + LINKS (fixed under topbar) + angled white panel
====================================================== */
.nav-glass{
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  background:#ffffff;

  position: fixed;
  top: var(--topbar-h);
  left:0;
  right:0;
  width:100%;
  z-index:1300;

  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* keep nav content above the angled shape */
.nav-glass .container,
.nav-glass .navbar-brand,
.nav-glass .navbar-nav,
.nav-glass .navbar-toggler{
  position: relative;
  z-index: 1;
}

.navbar .nav-link{
  color: rgba(234,242,255,.9);
  border-radius: 999px;
  padding: .5rem .8rem;
}
.navbar .nav-link:hover{
  color: var(--text);
  background: rgba(255,255,255,.06);
}
.navbar .nav-link.active{
  color: var(--text);
  background: rgba(229,216,158,.14);
  border: 1px solid rgba(229,216,158,.18);
}

/* ======================================================
   LOGO + BRAND (kept ONLY the final version)
====================================================== */
.logo-img{
  height: 100px;
  width: auto;
  object-fit: contain;
  display:block;
}

.brand-stack{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.brand-main{
  font-family: "STIX Two Text", serif;
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: -0.1px;
  color: #0b1d3d; /* sapphire */
}

.brand-sub{
  font-family: "STIX Two Text", serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 1;
  color: #80298f; /* violet */
}

/* ======================================================
   HERO
====================================================== */
.hero{
  position: relative;
  min-height: 60vh;

  /* body already offsets fixed header */
  padding-top: 0 !important;

  display: grid;
  align-items: start;

  background: linear-gradient(180deg, rgba(7,13,20,.20), rgba(7,13,20,.85));
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 450px at 20% 35%, rgba(95,139,184,.22), transparent 60%),
    radial-gradient(700px 420px at 75% 25%, rgba(229,216,158,.16), transparent 55%);
  background-size: cover, cover, 720px;
  background-repeat: no-repeat, no-repeat, repeat;
  opacity: .9;
  mix-blend-mode: screen;
}

.badge-soft{
  display:inline-flex;
  gap:.45rem;
  align-items:center;
  padding:.5rem .8rem;
  border-radius:999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(234,242,255,.85);
}

.hr-soft{
  border-color: rgba(255,255,255,.10);
  opacity: 1;
}

.pill-price{
  font-weight: 900;
  font-size: 1.4rem;
  letter-spacing: .5px;
  padding: .4rem .75rem;
  border-radius: 999px;
  background: rgba(229,216,158,.16);
  border: 1px solid rgba(229,216,158,.22);
  color: #0b2b4a;
}

.trust-chip{
  font-size: .85rem;
  color: rgba(234,242,255,.78);
  padding: .35rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.trust-chip i{ color: rgba(229,216,158,.9); margin-right: .35rem; }

/* ======================================================
   SECTIONS
====================================================== */
.section{ padding: 84px 0; }

.section-alt{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.section-kicker{
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(229,216,158,.85);
  margin-bottom: .6rem;
}

.section-title{
  font-weight: 600;
  letter-spacing: -.01em;
  margin-bottom: .6rem;
}

.mini-card{
  display:flex;
  gap:.8rem;
  align-items:center;
  padding: .3rem .5rem;
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
  border: 2px solid rgba(255,255,255,.7);
}

.icon-circle{
  width: 42px;
  height: 42px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(95,139,184,.14);
  border: 1px solid rgba(95,139,184,.18);
  color: rgba(234,242,255,.95);
}

/* MEDIA FRAME */
.media-frame{
  position: relative;
  border-radius: calc(var(--radius) + 10px);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
}
.media-frame img{
  width:100%;
  height:auto;
  display:block;
  transform: scale(1.01);
}
.media-glow{
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(420px 240px at 20% 20%, rgba(95,139,184,.25), transparent 60%),
    radial-gradient(420px 240px at 80% 60%, rgba(229,216,158,.15), transparent 60%);
  pointer-events:none;
}

/* SERVICES */
.service-card{
  border-radius: calc(var(--radius) + 10px);
  overflow:hidden;
  background: linear-gradient(180deg, rgba(12,22,36,.55), rgba(12,22,36,.30));
  border: 2px solid rgba(255,255,255,.6);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  box-shadow: 0 14px 50px rgba(0,0,0,.30);
  transition: transform .18s ease, border-color .18s ease;
}
.service-card:hover{
  transform: translateY(-4px);
  border-color: rgba(229,216,158,.22);
}
.service-img{
  width:100%;
  height: 190px;
  object-fit: cover;
  filter: contrast(1.03) saturate(1.02);
}
.service-icon{
  width: 38px;
  height: 38px;
  display:grid;
  place-items:center;
  border-radius: 12px;
  background: rgba(229,216,158,.14);
  border: 1px solid rgba(229,216,158,.20);
  color: var(--sand);
}

/* CALLOUT */
.callout{
  border-radius: calc(var(--radius) + 10px);
  padding: 1.25rem;
  background: linear-gradient(90deg, rgba(95,139,184,.18), rgba(229,216,158,.12));
  border: 2px solid rgba(255,255,255,.6);
}

/* PANELS */
.glass-panel{
  border-radius: calc(var(--radius) + 10px);
  background: linear-gradient(180deg, rgba(12,22,36,.55), rgba(12,22,36,.35));
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  box-shadow: var(--shadow);
}

.hours-card{
  border-radius: calc(var(--radius) + 10px);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  padding: 1.25rem;
}

.note-card{
  border-radius: calc(var(--radius) + 10px);
  background: rgba(229,216,158,.08);
  border: 1px solid rgba(229,216,158,.16);
  padding: 1.1rem;
}

/* CONTACT CHIPS */
.contact-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}
.chip{
  display:inline-flex;
  gap:.45rem;
  align-items:center;
  padding:.55rem .8rem;
  border-radius:999px;
  color: rgba(234,242,255,.82);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}
.chip:hover{
  color: var(--text);
  border-color: rgba(229,216,158,.18);
  background: rgba(229,216,158,.08);
}

/* BUTTONS */
.btn-primary{
  border: none;
  background: linear-gradient(135deg, rgba(95,139,184,1), rgba(81,116,155,1));
  box-shadow: 0 12px 26px rgba(95,139,184,.25);
}
.btn-primary:hover{ filter: brightness(1.04); }

.btn-outline-light{
  border-color: rgba(234,242,255,.22);
  color: rgba(234,242,255,.92);
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(234,242,255,.28);
  color: var(--text);
}

/* FORMS */
.form-control, .form-select{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}
.form-control::placeholder{ color: rgba(234,242,255,.55); }
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.07);
  border-color: rgba(229,216,158,.24);
  box-shadow: 0 0 0 .25rem rgba(229,216,158,.10);
  color: var(--text);
}

/* MODALS */
.modal-glass{
  background: linear-gradient(180deg, rgba(12,22,36,.88), rgba(12,22,36,.78));
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  color: var(--text);
  border-radius: calc(var(--radius) + 10px);
}
.btn-close-white{ filter: invert(1) grayscale(1) opacity(.85); }

/* FOOTER */
.footer{ border-top: 1px solid rgba(255,255,255,.06); }

/* WHITE HERO CARD */
.white-card{
  background:#ffffff;
  color:#1a1a1a;
  border-radius: calc(var(--radius) + 6px);
}
.white-card .text-secondary{ color: #0b2b4a !important; }
.white-card .hr-soft{ border-color: rgba(11,43,74,.50); }

/* INSURANCE BUTTON */
.btn-insurance{
  background:#ffffff;
  color:#0b2b4a;
  border: 2px solid #0b2b4a;
  transition: all .25s ease;
}
.btn-insurance:hover{
  background:#071a2f;
  color:#ffffff;
  border-color:#0b2b4a;
}
.btn-insurance:focus{ box-shadow:none; }

/* ABOUT FLOAT IMAGE */
.about-float{
  float:left;
  width:80px;
  height:110px;
  margin: 0.2rem 1rem 0.75rem 0;
  border-radius: 14px;
  object-fit: cover;
}
@media (max-width: 576px){
  .about-float{
    float:none;
    display:block;
    margin: 0 0 0.75rem 0;
    width:80px;
    height:110px;
  }
}

/* Anchor offset so clicking nav links lands correctly under fixed header */
section{ scroll-margin-top: 170px; }

/* RESPONSIVE */
@media (max-width: 991px){
  .hero{ min-height:auto; }
  body{ padding-top: 180px; }
}

/* ======================================================
   COMING SOON PAGE ADD-ONS (keeps your theme)
====================================================== */
.hero-coming{
  min-height: calc(100vh - (var(--topbar-h) + 86px));
}

.coming-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(7,13,20,.35), rgba(7,13,20,.90)),
    url("images/Artboard 2.png");
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.05);
  opacity: .35;
}

.countdown-wrap{
  margin-top: 1.25rem;
  max-width: 560px;
}

.countdown{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:.75rem;
}

.count-box{
  border-radius: calc(var(--radius) + 10px);
  background: linear-gradient(180deg, rgba(12,22,36,.55), rgba(12,22,36,.35));
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  box-shadow: 0 14px 40px rgba(0,0,0,.25);
  padding: .9rem .75rem;
  text-align:center;
}

.count-num{
  font-family: "STIX Two Text", serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 1.0;
}

.count-unit{
  margin-top: .25rem;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(234,242,255,.75);
}

@media (max-width: 576px){
  .countdown{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .count-num{ font-size: 1.8rem; }
}

/* NEW PATIENT SPECIAL BADGE */
.new-patient-badge{
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;

  padding: .4rem .75rem;
  border-radius: 999px;

  background: linear-gradient(135deg,#e5d89e,#f3e8b6);
  border: 1px solid rgba(0,0,0,.15);

  color:#0b2b4a;
  white-space: nowrap;
}

.email-modal{
  margin-top: 120px;
}

.topbar .container{
display:flex;
align-items:center;
}

.topbar-left{
flex:1;
}

.topbar-center{
flex:1;
display:flex;
justify-content:center;
align-items:center;
gap:12px;
}

.topbar-right{
flex:1;
display:flex;
justify-content:flex-end;
}

.follow-text{
font-size:.85rem;
color:rgba(234,242,255,.75);
}

.topbar-center i{
font-size:16px;
color:#eaf2ff;
transition:color .25s ease;
}

.topbar-center i:hover{
color:#e5d89e;
}

/* =========================
   HERO FIX
   ========================= */

.hero-brand-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
}

.hero-logo{
  width:90px;
  max-width:90px;
  height:auto;
  display:block;
  flex:0 0 auto;
}

.hero-brand-text{
  min-width:0;
}

.hero-brand-text h1,
.hero-brand-text p{
  margin:0;
}

.hero-image-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}

.hero-img{
  max-width:100%;
  height:auto;
  display:block;
}

/* KILL OVERLAP */
.hero .hero-logo,
.hero .hero-brand-wrap,
.hero .hero-brand-text,
.hero .hero-content-col,
.hero .hero-img-col,
.hero .hero-image-wrap,
.hero .hero-img{
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
}

/* MOBILE */
@media (max-width: 768px){

  .hero .row{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .hero-content-col,
  .hero-img-col{
    width:100%;
    max-width:100%;
    flex:0 0 100%;
  }

  .hero-brand-wrap{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:10px;
  }

  .hero-logo{
    width:80px;
    max-width:80px;
    margin:0 auto;
  }

  .hero-brand-text{
    width:100%;
  }

  .hero-brand-text h1{
    font-size:1.8rem !important;
    line-height:1.15;
  }

  .hero-brand-text p{
    font-size:1rem;
    line-height:1.4;
  }

  .countdown{
    display:grid !important;
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
    width:100%;
    margin-top:18px;
  }

  .hero-img-col{
    margin-top:18px;
  }

  .hero-image-wrap{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  .hero-img{
    width:100%;
    max-width:320px;
    margin:0 auto;
  }
}
@media (max-width:768px){
  .badge,
  .badge-soft,
  .glass,
  .hero-card{
    width:100%;
    max-width:100%;
  }
}