:root{--deep:#123a38;--gold:#b38a4a;--ink:#243131;--muted:#5f6d6b;--line:#d8ddd9;--panel:#f8f6f1;--shadow:0 18px 40px rgba(16,24,40,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,"Times New Roman",serif;background:#f4f5f3;color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.topbar{background:linear-gradient(180deg,#fff,#fbfaf8);border-bottom:1px solid rgba(18,58,56,.08);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.brand-left{display:flex;align-items:center;gap:18px}
.logo{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 35%,#fff,#f1ede5 65%,#e7e0d1 100%);border:1px solid rgba(18,58,56,.1);box-shadow:var(--shadow);color:var(--deep);font-weight:700;font-size:27px}
.kicker,.eyebrow,.mini,label,input,select,textarea,p,li,a,button,.notice,.form-sub,.small{font-family:Arial,sans-serif}.kicker{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.name{font-size:40px;line-height:.95;color:var(--deep);margin:6px 0 0;font-weight:600}.line{flex:1;height:1px;background:linear-gradient(90deg,rgba(179,138,74,.55),rgba(179,138,74,.08))}
.hero,.card,.form-card{background:#fff;border-radius:30px;box-shadow:var(--shadow);border:1px solid rgba(18,58,56,.06)}.hero{margin:28px 0;overflow:hidden;background:radial-gradient(circle at 80% 20%,rgba(179,138,74,.14),transparent 28%),linear-gradient(135deg,#143c3a,#1a4d4a 56%,#173e3c);color:#fff}
.hero-inner{padding:40px 38px}.eyebrow{display:inline-block;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#eedbb8;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1{margin:16px 0 14px;color:#fff;font-size:42px;line-height:1.02;font-weight:500}h2{margin:0 0 10px;color:var(--deep);font-size:30px;line-height:1.08;font-weight:500}
.hero p{font-size:16px;line-height:1.72;max-width:760px;color:rgba(255,255,255,.92)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:999px;text-decoration:none;border:1px solid transparent;font-weight:700;font-size:14px}.btn-primary{background:#fff;color:var(--deep)}.btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.section{padding:0 0 24px}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.card{padding:28px}ul{padding-left:18px;margin:8px 0 0}li{margin:8px 0;line-height:1.65;color:#3d4b4a}
.notice{padding:14px 16px;background:#fbf8f2;border-left:4px solid var(--gold);border-radius:14px;font-size:14px;line-height:1.7;color:#495756}.meta{padding:16px 18px;background:var(--panel);border-radius:20px;border:1px solid rgba(18,58,56,.08);margin:0 0 12px}.meta .mini{display:block;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.meta div{font-size:15px;line-height:1.58}
.nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px}.nav a{text-decoration:none;padding:10px 14px;border-radius:999px;background:var(--panel);border:1px solid rgba(18,58,56,.08);font-size:13px;font-weight:700;color:var(--deep)}
.form-card{padding:26px;margin:18px 0}.form-sub{font-size:14px;color:var(--muted)}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fieldgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}
label{font-size:13px;font-weight:700;color:var(--deep)}input,select,textarea{padding:12px 14px;border-radius:15px;border:1px solid var(--line);font-size:15px;background:#fff;color:var(--ink);width:100%}textarea{min-height:118px;resize:vertical}
fieldset{border:1px solid rgba(18,58,56,.09);border-radius:16px;padding:14px}legend{padding:0 8px;font-family:Arial,sans-serif;font-size:13px;color:var(--deep);font-weight:700}.inline{display:flex;flex-wrap:wrap;gap:16px}
.print-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}button{padding:12px 18px;border:none;border-radius:999px;background:var(--deep);color:#fff;font-weight:700;cursor:pointer}button.alt{background:#e8efee;color:var(--deep)}.small{font-size:12px;color:#677573;line-height:1.6}
@media print{.topbar,.nav,.actions,.print-actions{display:none!important}body{background:#fff}.card,.hero,.form-card{box-shadow:none;border:1px solid #ccc}}
@media (max-width:860px){.grid,.fieldgrid,.fieldgrid3{grid-template-columns:1fr}.name{font-size:30px}h1{font-size:32px}}
.site-logo{width:82px;height:82px;object-fit:contain;display:block;flex:0 0 auto}






.topbar{position:sticky;top:0;z-index:1000;transition:padding .22s ease, box-shadow .22s ease, background .22s ease}
.brand{transition:padding .22s ease, gap .22s ease}
.practice-name{transition:font-size .22s ease, line-height .22s ease}
.practice-kicker{transition:font-size .22s ease}
.site-logo{transition:width .22s ease, height .22s ease}
.topbar.scrolled{box-shadow:0 10px 24px rgba(16,24,40,.08);background:rgba(255,255,255,.96)}
.topbar.scrolled .brand{padding:14px 0}
.topbar.scrolled .site-logo{width:64px;height:64px}
.topbar.scrolled .practice-name{font-size:32px}
.topbar.scrolled .practice-kicker{font-size:11px}
@media (max-width:860px){
  .site-logo{width:68px;height:68px}
  .topbar.scrolled .site-logo{width:52px;height:52px}
  .topbar.scrolled .practice-name{font-size:24px}
  .brand-left{align-items:center}
}





.mobile-menu a{text-decoration:none;color:#123a38;font-family:Arial,sans-serif;font-size:14px;font-weight:700}

@media (max-width:860px){
  
  .desktop-links{display:none !important}
}












.menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:94px;
  height:56px;
  margin-left:18px;
  padding:0 18px;
  border-radius:18px;
  border:1px solid rgba(18,58,56,.10);
  background:#123a38;
  color:#ffffff !important;
  font-family:Arial,sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 22px rgba(16,24,40,.08);
  cursor:pointer;
  flex:0 0 auto;
}
.menu-toggle:hover{opacity:.92}
.mobile-menu{
  position:fixed;
  top:96px;
  left:14px;
  right:14px;
  z-index:1001;
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.mobile-menu.active{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.mobile-menu-panel{
  background:#ffffff !important;
  border:1px solid rgba(18,58,56,.08);
  border-radius:20px;
  box-shadow:0 18px 38px rgba(16,24,40,.10);
  overflow:hidden;
}
.mobile-menu-links{
  display:grid;
  gap:0;
  max-height:70vh;
  overflow:auto;
}
.mobile-menu-links a{
  display:block;
  padding:14px 16px;
  color:#123a38 !important;
  opacity:1 !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  border-top:1px solid rgba(18,58,56,.08);
  background:#ffffff !important;
}
.mobile-menu-links a:first-child{border-top:none}
.btn-primary,.btn-primary:link,.btn-primary:visited{
  color:#123a38 !important;
}
.btn-secondary,.btn-secondary:link,.btn-secondary:visited{
  color:#ffffff !important;
}
.hero-learn .learn-more-btn,
.hero-learn .learn-more-btn:link,
.hero-learn .learn-more-btn:visited,
a.learn-more-btn,
a.learn-more-btn:link,
a.learn-more-btn:visited{
  color:#F5F5F2 !important;
  text-decoration:none !important;
}
@media (max-width:860px){
  .menu-toggle{
    min-width:84px;
    height:50px;
    font-size:16px;
    border-radius:16px;
    margin-left:14px;
  }
  .mobile-menu{top:86px}
}


/* === Final force-fix redo: boxed links, readable call buttons, narrower right-aligned forms menus === */
.boxed-link,
.boxed-link:link,
.boxed-link:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 16px;
  border-radius:10px;
  border:1px solid rgba(18,58,56,.16);
  background:#fffdf9 !important;
  color:#123a38 !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.1;
  box-shadow:0 8px 18px rgba(16,24,40,.06);
}
.boxed-link:hover,
.boxed-link:active,
.boxed-link:focus{
  color:#123a38 !important;
  text-decoration:none !important;
  opacity:.96;
}
.hero-trust{
  align-items:center;
}
.hero-trust .boxed-link{
  margin-top:0 !important;
}
.hero-trust .boxed-link.premier-offset{
  margin-left:14px;
}
@media (max-width:760px){
  .hero-trust .boxed-link,
  .hero-trust .boxed-link.premier-offset{
    margin-left:0;
    width:100%;
  }
}

.service-page .btn.btn-secondary[href^="tel:"],
.service-page .btn.btn-secondary[href^="tel:"]:link,
.service-page .btn.btn-secondary[href^="tel:"]:visited{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid rgba(18,58,56,.10) !important;
  box-shadow:0 8px 20px rgba(16,24,40,.08) !important;
}
.service-page .btn.btn-secondary[href^="tel:"]:hover,
.service-page .btn.btn-secondary[href^="tel:"]:active,
.service-page .btn.btn-secondary[href^="tel:"]:focus{
  color:#111111 !important;
}

.forms-page .mobile-menu,
.digital-packet-page .mobile-menu{
  left:auto !important;
  right:12px !important;
  width:min(250px, calc(100vw - 24px)) !important;
  top:88px !important;
}
.forms-page .mobile-menu-panel,
.digital-packet-page .mobile-menu-panel{
  width:100% !important;
  margin-left:auto !important;
  border-radius:18px !important;
}
.forms-page .mobile-menu-links a,
.digital-packet-page .mobile-menu-links a{
  padding:11px 12px !important;
  font-size:13px !important;
}
.forms-page .btn.btn-primary,
.forms-page .btn.btn-primary:link,
.forms-page .btn.btn-primary:visited,
.digital-packet-page .btn.btn-primary,
.digital-packet-page .btn.btn-primary:link,
.digital-packet-page .btn.btn-primary:visited{
  color:#123a38 !important;
}



/* FINAL TWEAKS: make Learn More / New Patient Forms text dark and readable on all pages */
.learn-more-btn,
.learn-more-btn:link,
.learn-more-btn:visited,
.learn-more-btn:hover,
.learn-more-btn:active,
.learn-more-btn:focus{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:11px 16px !important;
  border-radius:10px !important;
  border:1px solid rgba(18,58,56,.16) !important;
  background:#fffdf9 !important;
  color:#123a38 !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  box-shadow:0 8px 18px rgba(16,24,40,.06) !important;
}

/* Homepage spacing so Learn More sits left and New Patient Forms sits more right */
.hero-learn{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  width:100% !important;
  max-width:520px !important;
  margin-top:14px !important;
}
.hero-learn .learn-more-btn:last-child{
  margin-left:auto !important;
}

@media (max-width:760px){
  .hero-learn{
    flex-direction:column !important;
    align-items:stretch !important;
    max-width:none !important;
  }
  .hero-learn .learn-more-btn:last-child{
    margin-left:0 !important;
  }
}



/* Final consistency pass: boxed CTA links, menu behavior, hover animation, anchor offsets */
.learn-more-btn,
.learn-more-btn:link,
.learn-more-btn:visited,
.learn-more-btn:hover,
.learn-more-btn:active,
.learn-more-btn:focus,
.hero-learn .learn-more-btn,
.hero-trust .learn-more-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:11px 16px !important;
  border-radius:10px !important;
  border:1px solid rgba(18,58,56,.16) !important;
  background:#fffdf9 !important;
  color:#123a38 !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  box-shadow:0 8px 18px rgba(16,24,40,.06) !important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}
.learn-more-btn:hover,
.hero-learn .learn-more-btn:hover,
.hero-trust .learn-more-btn:hover{
  color:#123a38 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 12px 24px rgba(16,24,40,.10) !important;
  opacity:1 !important;
}

.hero-learn{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  width:100% !important;
  max-width:520px !important;
  margin-top:14px !important;
}
.hero-learn .learn-more-btn:first-child{margin-right:auto !important;}
.hero-learn .learn-more-btn:last-child{margin-left:auto !important;}

.menu-toggle{
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease !important;
}
.menu-toggle:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 28px rgba(16,24,40,.12) !important;
  opacity:1 !important;
}
.mobile-menu{
  display:block;
  opacity:0;
  transform:translateY(-10px);
  pointer-events:none;
  visibility:hidden;
}
.mobile-menu.open{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
  visibility:visible !important;
}
.mobile-menu-panel{
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(18,58,56,.08) !important;
  border-radius:20px !important;
  box-shadow:0 18px 38px rgba(16,24,40,.10) !important;
  overflow:hidden !important;
  backdrop-filter:blur(10px) !important;
}
.mobile-menu-links{
  display:grid !important;
  gap:0 !important;
}
.mobile-menu-links a{
  display:block !important;
  padding:14px 16px !important;
  color:#123a38 !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:600 !important;
  border-bottom:1px solid rgba(18,58,56,.07) !important;
  background:#fff !important;
}
.mobile-menu-links a:last-child{border-bottom:none !important;}
.mobile-menu-cta{
  display:grid !important;
  gap:10px !important;
  padding:14px 16px 16px !important;
  background:linear-gradient(180deg,rgba(250,248,244,.92),rgba(255,255,255,.98)) !important;
  border-top:1px solid rgba(18,58,56,.07) !important;
}
.mobile-menu-cta a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
#services,
#conditions,
#physicians,
#locations,
#what-to-expect,
#faq,
#premiere,
section[id],
div[id]{
  scroll-margin-top:118px !important;
}
@media (max-width:760px){
  .hero-learn{
    flex-direction:column !important;
    align-items:stretch !important;
    max-width:none !important;
  }
  .hero-learn .learn-more-btn:first-child,
  .hero-learn .learn-more-btn:last-child{
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
  }
  #services,
  #conditions,
  #physicians,
  #locations,
  #what-to-expect,
  #faq,
  #premiere,
  section[id],
  div[id]{
    scroll-margin-top:100px !important;
  }
}

.call-dark{background:#123a38 !important;color:#fff !important;border:1px solid rgba(18,58,56,.10) !important;}
.call-dark:hover{color:#fff !important;}



/* FINAL CONSISTENCY FIXES */
.boxed-link,
.learn-more-btn,
.learn-more-btn:link,
.learn-more-btn:visited,
.learn-more-btn:hover,
.learn-more-btn:active,
.learn-more-btn:focus{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:11px 16px !important;
  border-radius:10px !important;
  border:1px solid rgba(18,58,56,.16) !important;
  background:#fffdf9 !important;
  color:#123a38 !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  box-shadow:0 8px 18px rgba(16,24,40,.06) !important;
}

.mobile-menu{
  display:none;
  position:absolute;
  top:88px;
  right:12px;
  z-index:9999;
  width:min(250px, calc(100vw - 24px));
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.mobile-menu.open{
  display:block !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
.mobile-menu-panel{
  width:100%;
  margin-left:auto;
  border-radius:18px;
  overflow:hidden;
  background:#fffdf9;
  border:1px solid rgba(18,58,56,.10);
  box-shadow:0 18px 35px rgba(16,24,40,.14);
}
.mobile-menu-links a{
  display:block;
  padding:12px 14px;
  color:#123a38 !important;
  text-decoration:none !important;
  background:#fffdf9;
  border-bottom:1px solid rgba(18,58,56,.07);
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700;
}
.mobile-menu-links a:hover{
  background:#f4efe5;
}
.mobile-menu-cta{
  display:grid;
  gap:8px;
  padding:12px;
  background:#fbf8f2;
}
.call-dark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(18,58,56,.10);
  color:#111 !important;
  text-decoration:none !important;
  font-weight:700;
}
.menu-toggle{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.menu-toggle:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(16,24,40,.10);
}
@media (max-width:760px){
  .hero-learn{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }
}


/* FIX: New Patient Forms text visibility in mobile menu */
.mobile-menu-links a,
.mobile-menu-links a:visited {
    color: #1f4d45 !important;
    opacity: 1 !important;
}

.mobile-menu-links a.button,
.mobile-menu-links a.cta,
.mobile-menu-links a[href*="new"] {
    color: #1f4d45 !important;
    background: transparent !important;
    opacity: 1 !important;
}


/* Permanent fix: keep New Patient Forms aligned like all other menu items */
.mobile-menu-links a[href="intake-forms.html"]{
  display:block !important;
  padding:12px 14px !important;
  margin:0 !important;
  text-align:left !important;
  text-indent:0 !important;
  color:#123a38 !important;
  background:#fffdf9 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  border-bottom:1px solid rgba(18,58,56,.07) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
}


/* Global mobile menu optimization across all pages */
.mobile-menu{
  max-height: none !important;
}
.mobile-menu-panel{
  max-height: 82vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
}
.mobile-menu-links{
  max-height: none !important;
}
.mobile-menu-links a{
  scroll-margin-top: 90px !important;
}
.mobile-menu-cta{
  position: relative !important;
  bottom: 0 !important;
  padding-bottom: 14px !important;
}
@media (max-width:760px){
  .mobile-menu{
    max-width: calc(100vw - 20px) !important;
  }
  .mobile-menu-panel{
    max-height: 78vh !important;
  }
}


/* Slight left nudge for menu buttons on pages where they hug the right edge */
#menuToggle,
.menu-toggle{
  margin-right: 4px !important;
  transform: translateX(-4px) !important;
}
@media (max-width:760px){
  #menuToggle,
  .menu-toggle{
    margin-right: 2px !important;
    transform: translateX(-6px) !important;
  }
}
