#primary.content-area {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.content-wrapper .row {
    margin: 0;
}

/* Thinner footer widget area */
#sidebar-footer {
    padding: 40px 0;
}
#sidebar-footer .widget {
    margin-bottom: 0;
}

/* Split footer navigation menu into two columns */
#nav_menu-2 ul.menu {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    grid-template-columns: max-content max-content;
    column-gap: 25px;
    row-gap: 2px;
    width: max-content;
}
#nav_menu-2 ul.menu li,
#nav_menu-2 ul.menu li:first-child {
    padding: 0 !important;
}
#nav_menu-2 ul.menu {
    row-gap: 12px !important;
}

/* Tablet-only header fix: logo + hamburger on one row */
@media (min-width: 600px) and (max-width: 1024px) {
  .site-header .row { display: flex; align-items: center; padding: 0 98px; }
  .site-header .row::before,
  .site-header .row::after { display: none; }
  .site-header .row > [class*="col-"] { width: auto; float: none; }
  .site-header .row > .col-md-8 { margin-left: auto; }
  .site-header .btn-menu { float: none; margin-right: 15px; }
}

/* MetForm: match page typography */
.metform-form-content .mf-input-label,
.metform-form-content .mf-input,
.metform-form-content .metform-btn {
  font-family: "Lato", sans-serif !important;
}
.metform-form-content .mf-input-label {
  color: #F7F5F0 !important;
  font-weight: 600;
  font-size: 14px;
}
.metform-form-content .mf-input {
  color: #4A5940 !important;
  font-size: 14px !important;
}


/* Solid header (no transparency) */
.site-header,
.site-header.float-header {
  background-color: #2b2b28 !important;
}


/* Header menu: match site body font (Lato) */
#mainnav ul li a,
#mainnav-mobi ul li a {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
}


/* ===== Cornerstone New Version: motion & polish (scoped to the 6 new-version pages only) ===== */
html:has(body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435)){scroll-behavior:smooth}

/* Hero: slow background zoom */
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero{overflow:hidden}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;z-index:0;transform-origin:center;animation:csSlowZoom 20s ease-out forwards;will-change:transform}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero > .elementor-background-overlay{z-index:1}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero > .elementor-shape{z-index:2}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero > .elementor-container{position:relative;z-index:3}
@keyframes csSlowZoom{from{transform:scale(1)}to{transform:scale(1.06)}}

/* Softer, shorter fade-up than Elementor's default */
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .animated.fadeInUp{animation-name:csFadeUp;animation-duration:.9s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .animated.fadeIn{animation-duration:1.1s;animation-timing-function:ease-out}
@keyframes csFadeUp{from{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:none}}

/* Card lift on hover */
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-card > .elementor-widget-wrap{transition:transform .4s ease,box-shadow .4s ease}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-card:hover > .elementor-widget-wrap{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}

/* Clinician headshots: gentle zoom inside frame */
body.page-id-2289 .elementor-widget-image .elementor-widget-container{overflow:hidden}
body.page-id-2289 .elementor-widget-image img{transition:transform .6s ease}
body.page-id-2289 .elementor-widget-image:hover img{transform:scale(1.04)}

/* Nav underline that draws in from the left */
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) #mainnav .menu > li > a{position:relative}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) #mainnav .menu > li > a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:#9aab8c;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) #mainnav .menu > li > a:hover::after,body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) #mainnav .menu > li > a:focus-visible::after{transform:scaleX(1)}

/* Smooth button fills */
body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .elementor-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease}

/* Respect reduced-motion settings */
@media (prefers-reduced-motion:reduce){
 html:has(body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435)){scroll-behavior:auto}
 body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-hero::before{animation:none}
 body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .elementor-invisible{visibility:visible!important}
 body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .animated{animation:none!important}
 body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .cs-card > .elementor-widget-wrap,body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) .elementor-widget-image img,body:is(.page-id-2418,.page-id-2289,.page-id-2429,.page-id-2438,.page-id-2432,.page-id-2435) #mainnav a::after{transition:none!important;transform:none!important}
}
/* ===== end Cornerstone New Version ===== */


/* Remove theme white gap below Elementor pages (added by Claude) */
body.page-template-elementor_header_footer .page-wrap { padding-bottom: 0 !important; }
body.page-template-elementor_header_footer .page-wrap .content-wrapper { padding-bottom: 0 !important; }
body.page-template-elementor_header_footer:not(.home) .page-wrap { padding-top: 0 !important; }
body.page-template-elementor_header_footer:not(.home) .page-wrap .content-wrapper { padding-top: 0 !important; }
body.page-template-elementor_header_footer:not(.home) .elementor > .elementor-top-section:first-of-type { margin-top: 0 !important; }
body.page-template-elementor_header_footer .elementor > .elementor-top-section:last-of-type { margin-bottom: 0 !important; }

/* Menu font: Lora, slightly lighter (added by Claude) */
#mainnav ul li a, #mainnav-mobi ul li a { font-family: 'Lora', serif !important; font-weight: 400 !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }


/* ===== Mobile + tablet fixes (Sep 2026) ===== */
@media (max-width:1024px){
 /* Keep header layered above hero sections (fixes hero strip showing under the hamburger and hero/video covering the logo on iOS) */
 body .site-header,body .site-header.fixed{position:relative!important;z-index:1000}
 #mainnav-mobi{z-index:1001}
 /* Back-to-top button reads as a button instead of clipping headings behind it */
 .go-top{right:12px;width:38px;height:38px;line-height:36px;border-radius:50%;background-color:#2b2b28;border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 8px rgba(0,0,0,.25);opacity:.9}
 /* Headings never run off-screen */
 .elementor-widget-heading .elementor-heading-title{overflow-wrap:break-word;word-break:normal;hyphens:manual}
}
@media (max-width:767px){
 /* Breathing room at screen edges */
 .elementor-widget-heading .elementor-widget-container{padding-left:16px;padding-right:16px}
 /* Home: SERVICES WE OFFER */
 .elementor-element-b323406 .elementor-heading-title{font-size:28px!important;line-height:1.2}
 /* Services: "& what we help with" */
 .elementor-element-96b999b .elementor-heading-title{font-size:30px!important;line-height:1.2}
}

/* Home: nudge white arrow (above Lindsey caption) right on tablet + mobile */
@media (max-width:1024px){.elementor-element-e27effa{padding-left:40px;box-sizing:border-box}}
@media (max-width:767px){.elementor-element-e27effa{padding-left:90px}}