
:root{--green:#178066;--green-dark:#12664f;--mint:#62d2a2;--ink:#18332e;--muted:#64736f;--pale:#f2f8f5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Nunito',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:15px 0;transition:background .35s ease,box-shadow .35s ease,padding .35s ease;background:rgba(13,55,45,.12)}.site-header.scrolled{background:#178066;padding:9px 0;box-shadow:0 8px 25px rgba(0,0,0,.15)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex-shrink:0}.brand:hover{color:#fff}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8)}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:21px;font-weight:900;letter-spacing:.2px}.brand small{font-size:9px;letter-spacing:1.3px;margin-top:5px;font-weight:800}.main-nav{display:flex;align-items:center;gap:20px}.main-nav ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:block;color:#fff!important;font-weight:800;font-size:13px;letter-spacing:.7px;text-transform:uppercase;padding:13px 15px!important;position:relative}.nav-link:after{content:"";position:absolute;left:15px;right:15px;bottom:5px;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav-link:hover:after,.nav-item.active>.nav-link:after{transform:scaleX(1)}.chevron{font-size:17px;margin-left:5px}.nav-call{display:flex;align-items:center;gap:10px;color:#fff;border-left:1px solid rgba(255,255,255,.35);padding-left:20px;font-size:11px}.nav-call i{font-size:22px}.nav-call b{font-size:14px}.has-dropdown .dropdown-menu{display:block;position:absolute;top:100%;left:0;width:610px;padding:18px;border:0;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .25s;pointer-events:none}.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu,.has-dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;max-height:70vh;overflow:auto}.dropdown-grid a{padding:9px 10px;color:#263d37;font-size:13px;font-weight:700;border-radius:7px;transition:.2s}.dropdown-grid a:hover{background:#eaf7f1;color:var(--green);padding-left:15px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.home-hero{position:relative;min-height:760px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(12,126,97,.94),rgba(23,128,102,.76) 48%,rgba(23,128,102,.18)),url('../images/hero-bg.png') center/cover no-repeat;color:#fff;padding:145px 0 110px}.hero-content{position:relative;z-index:2}.hero-copy{max-width:650px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:2px;color:var(--mint);margin-bottom:18px}.eyebrow i{width:28px;height:2px;background:var(--mint)}.hero-copy .eyebrow{color:#d6ffed}.hero-copy h1{font-size:clamp(42px,6vw,70px);font-weight:900;line-height:1.08;margin:0 0 22px;letter-spacing:-1.5px}.hero-copy h1 em{font-style:normal;color:#b8f4d8}.hero-copy>p{font-size:17px;line-height:1.8;color:rgba(255,255,255,.9);max-width:590px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn-primary,.btn-outline,.btn-light{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:6px;padding:15px 23px;font-weight:900;text-decoration:none;transition:.25s}.btn-primary{background:var(--mint);color:#124e3e}.btn-primary:hover{background:#fff;color:var(--green);transform:translateY(-3px)}.btn-outline{border:1px solid rgba(255,255,255,.7);color:#fff}.btn-outline:hover{background:#fff;color:var(--green)}.hero-trust{display:flex;gap:24px;margin-top:38px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#effff7}.hero-trust i{color:#b8f4d8;margin-right:6px}.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:85px;background:#fff;clip-path:ellipse(58% 55% at 50% 100%)}
.intro-strip{padding:65px 0;background:#fff}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr auto;gap:35px;align-items:center}.section-kicker{font-size:11px;font-weight:900;letter-spacing:2px;color:var(--green);display:block;margin-bottom:12px}.intro-grid h2,.why-copy h2,.section-heading h2,.about-layout h2,.contact-info h2,.service-detail h2{font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:900;margin:0;color:#183b32}.intro-grid p,.why-copy p,.about-layout p,.contact-info p,.service-detail p{color:var(--muted);line-height:1.85;margin:0}.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--green);font-weight:900;white-space:nowrap}.text-link:hover{color:var(--green-dark)}
.section{padding:85px 0}.services-section{background:var(--pale)}.section-heading{text-align:center;max-width:700px;margin:0 auto 42px}.section-heading .section-kicker{margin-bottom:10px}.section-heading h2{margin-bottom:12px}.section-heading p{color:var(--muted);line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border:1px solid #e5eee9;border-radius:12px;padding:25px;color:var(--ink);text-decoration:none;box-shadow:0 8px 28px rgba(20,80,60,.045);transition:transform .25s,box-shadow .25s,border .25s;display:flex;flex-direction:column;min-height:220px}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(20,80,60,.12);border-color:#bcebd4;color:var(--ink)}.service-icon{width:48px;height:48px;border-radius:12px;background:#e8f8f0;color:var(--green);display:grid;place-items:center;font-size:21px;margin-bottom:17px}.service-card h3{font-size:18px;font-weight:900;margin:0 0 8px}.service-card p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 15px}.learn-more{margin-top:auto;color:var(--green);font-size:12px;font-weight:900}.learn-more i{margin-left:5px;transition:transform .2s}.service-card:hover .learn-more i{transform:translateX(4px)}.center-action{text-align:center;margin-top:35px}
.why-section{padding:90px 0}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.why-image{position:relative;padding:0 25px 25px 0}.why-image:before{content:"";position:absolute;left:25px;bottom:0;width:80%;height:75%;background:#dff5e9;border-radius:18px;z-index:-1}.why-image img{width:100%;height:440px;object-fit:cover;border-radius:14px}.image-note{position:absolute;right:0;bottom:45px;background:var(--green);color:#fff;padding:18px 23px;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 10px 25px #0d5b4733}.image-note strong{font-size:17px}.image-note small{opacity:.8}.why-copy h2{margin-bottom:18px}.why-copy p{margin-bottom:20px}.check-list{list-style:none;padding:0;margin:0 0 25px}.check-list li{margin:12px 0;color:#38544b;font-weight:700}.check-list i{color:var(--green);margin-right:10px}
.cta-section{padding:55px 0;background:var(--green);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-inner .section-kicker{color:#baf2d9}.cta-inner h2{font-size:32px;font-weight:900;margin:0 0 8px}.cta-inner p{margin:0;color:#e1fff1}.btn-light{background:#fff;color:var(--green)}.btn-light:hover{background:var(--mint);color:#124e3e}
.page-hero,.service-hero{position:relative;background:linear-gradient(100deg,rgba(23,128,102,.96),rgba(23,128,102,.78)),url('../images/hero-bg.png') center/cover no-repeat;color:#fff;padding:170px 0 75px;min-height:350px}.page-hero h1,.service-hero h1{font-size:clamp(36px,5vw,56px);font-weight:900;margin:0 0 12px}.page-hero p,.service-hero p{max-width:650px;color:#e4fff2;font-size:16px;line-height:1.7}.page-hero .eyebrow,.service-hero .eyebrow{color:#c4f6df}.breadcrumb{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:12px;color:#d6f7e8}.breadcrumb a{color:#fff}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.about-photo img{width:100%;height:470px;object-fit:cover;border-radius:15px}.about-layout h2{margin-bottom:20px}.about-layout p{margin-bottom:14px}.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.values-row div{background:var(--pale);border-radius:9px;padding:15px;display:flex;flex-direction:column;gap:5px}.values-row i{color:var(--green);font-size:20px}.values-row strong{font-size:13px}.values-row small{font-size:11px;color:var(--muted)}.team-section{background:var(--pale)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.team-card{background:#fff;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:150px 1fr;box-shadow:0 8px 25px rgba(0,0,0,.04)}.team-card img{width:150px;height:100%;min-height:220px;object-fit:cover}.team-card div{padding:22px}.team-card h3{font-size:18px;font-weight:900;margin:0 0 4px}.team-card span{color:var(--green);font-size:13px;font-weight:900}.team-card p{font-size:13px;color:var(--muted);line-height:1.7;margin:12px 0 0}.disclaimer{font-size:12px;color:#778780;margin-top:25px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}.contact-info h2{margin-bottom:15px}.contact-info>p{margin-bottom:28px}.contact-line{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e5eee9;color:var(--ink)}.contact-line>i{width:44px;height:44px;display:grid;place-items:center;background:#e7f7ef;color:var(--green);border-radius:50%;font-size:18px}.contact-line span{display:flex;flex-direction:column}.contact-line small{color:var(--muted)}.contact-line strong{font-size:16px}.contact-form-card{background:var(--pale);padding:32px;border-radius:14px}.contact-form-card h3{font-size:24px;font-weight:900;margin:0 0 22px}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:12px;font-weight:900;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #dce9e2;background:#fff;border-radius:6px;padding:12px 14px;outline:none;color:var(--ink)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #17806618}.form-note{font-size:11px;color:var(--muted);margin:12px 0 0}
.service-hero{min-height:430px;display:flex;align-items:center;padding-top:170px;background-image:url('../images/hero-bg.png');background-position:center right}.service-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,112,84,.96),rgba(23,128,102,.76) 58%,rgba(23,128,102,.25))}.service-hero-content{position:relative;z-index:1}.service-detail-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:55px;align-items:start}.service-detail h2{margin-bottom:18px}.service-detail p{margin-bottom:16px}.service-aside{background:var(--pale);border-left:4px solid var(--green);padding:28px;border-radius:8px}.service-aside h3{font-size:21px;font-weight:900}.service-aside p{font-size:14px}.aside-phone{display:block;color:var(--green);font-weight:900;margin:18px 0}.aside-link{color:var(--green);font-weight:900}.related-section{padding:55px 0;background:var(--pale)}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.related-links a{background:#fff;padding:13px 15px;border-radius:7px;color:var(--ink);font-weight:800;font-size:13px}.related-links a i{float:right;color:var(--green)}
.site-footer{background:#103f34;color:#d7eee5;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-brand{margin-bottom:18px}.footer-grid p{font-size:13px;line-height:1.8;color:#b7d5c9}.footer-grid h4{color:#fff;font-size:16px;font-weight:900;margin:8px 0 20px}.footer-grid>div>a:not(.brand){display:block;color:#c8e2d7;font-size:13px;margin:10px 0}.footer-grid>div>a:hover{color:var(--mint)}.footer-cta{color:var(--mint)!important;font-weight:900}.copyright{border-top:1px solid #ffffff20;padding:18px 0;font-size:12px;color:#a8c8bb}
@media(max-width:991px){.nav-call{display:none}.main-nav{gap:0}.nav-link{padding:12px 10px!important;font-size:12px}.has-dropdown .dropdown-menu{width:520px}.intro-grid{grid-template-columns:1fr 1fr}.intro-grid .text-link{grid-column:1/-1}.service-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.why-grid{gap:35px}}
@media(max-width:767px){.container{width:min(100% - 30px,560px)}.site-header{padding:10px 0;background:#178066}.brand img{width:45px;height:45px}.brand strong{font-size:18px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#178066;padding:12px 20px 20px;align-items:stretch;box-shadow:0 12px 20px #0002}.main-nav.open{display:block}.main-nav ul{display:block}.nav-link{text-align:left;padding:12px!important}.nav-link:after{display:none}.has-dropdown .dropdown-menu{position:static;width:100%;max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 10px;background:#12664f;pointer-events:auto;border-radius:8px}.has-dropdown.open .dropdown-menu{max-height:420px;padding:10px}.dropdown-grid{grid-template-columns:1fr 1fr;max-height:390px}.dropdown-grid a{color:#fff;font-size:12px}.dropdown-grid a:hover{color:#fff;background:#ffffff20}.home-hero{min-height:720px;padding:135px 0 100px;background-position:62% center}.hero-copy h1{font-size:43px}.hero-copy>p{font-size:15px}.hero-trust{gap:12px;flex-direction:column}.intro-grid,.why-grid,.about-layout,.contact-layout,.service-detail-grid{grid-template-columns:1fr;gap:28px}.intro-grid{gap:18px}.section{padding:65px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:unset}.why-image img{height:330px}.cta-inner{align-items:flex-start;flex-direction:column}.cta-inner h2{font-size:27px}.page-hero,.service-hero{padding:135px 0 55px;min-height:320px}.page-hero h1,.service-hero h1{font-size:38px}.about-photo img{height:330px}.values-row{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:110px 1fr}.team-card img{width:110px}.team-card div{padding:15px}.footer-grid{grid-template-columns:1fr;gap:20px}.contact-form-card{padding:22px}.related-links{grid-template-columns:1fr 1fr}.form-row{display:block}.service-hero{background-position:65% center}}
@media(max-width:420px){.hero-copy h1{font-size:36px}.related-links{grid-template-columns:1fr}.dropdown-grid{grid-template-columns:1fr}}


/* Professional St. Luke's navigation refinements */
.site-header{background:rgba(15,92,72,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 0}
.site-header.scrolled{background:#178066;padding:8px 0}
.nav-wrap{min-height:64px}
.main-nav{gap:16px}
.main-nav ul{gap:2px}
.nav-link{font-size:12px;letter-spacing:.55px;padding:12px 11px!important;white-space:nowrap}
.nav-link:after{left:11px;right:11px;bottom:4px}
.nav-call{min-width:185px;padding-left:18px}
.has-dropdown .dropdown-menu{left:50%;right:auto;top:calc(100% + 14px);width:min(760px,calc(100vw - 48px));padding:22px 24px 24px;transform:translate(-50%,12px);border-radius:15px;box-shadow:0 22px 60px rgba(12,52,41,.22);border:1px solid #e6f0eb;max-height:calc(100vh - 115px);overflow:auto}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu,.has-dropdown.open .dropdown-menu{transform:translate(-50%,0)}
.dropdown-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 8px 14px;margin-bottom:9px;border-bottom:1px solid #e8f0ec}
.dropdown-heading span{font-size:11px;letter-spacing:1.5px;font-weight:900;color:#178066}
.dropdown-heading>a{font-size:12px;color:#178066;font-weight:900;white-space:nowrap}
.dropdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px;max-height:none;overflow:visible}
.dropdown-grid a{display:flex;align-items:center;min-height:40px;padding:9px 11px;font-size:13px;border-radius:8px;color:#29463d}
.dropdown-grid a:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#62d2a2;margin-right:10px}
.dropdown-grid a:hover{padding-left:15px;background:#eff9f4;color:#12664f}
.menu-toggle{border-radius:8px}
.menu-toggle:focus-visible,.nav-link:focus-visible,.dropdown-grid a:focus-visible{outline:2px solid #b8f4d8;outline-offset:3px}
@media(max-width:1190px){.main-nav{gap:7px}.nav-link{font-size:11px;padding:12px 8px!important}.nav-call{min-width:165px;padding-left:12px}.nav-call b{font-size:12px}}
@media(max-width:900px) and (min-width:768px){.brand strong{font-size:18px}.brand img{width:46px;height:46px}.main-nav{gap:2px}.nav-link{font-size:10px;padding:10px 6px!important}.nav-call{min-width:auto}.nav-call span{font-size:10px}.nav-call b{font-size:11px}.has-dropdown .dropdown-menu{width:min(680px,calc(100vw - 30px))}}
@media(max-width:767px){
 .site-header,.site-header.scrolled{padding:8px 0;background:#178066}
 .nav-wrap{min-height:48px}
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:10px 18px 18px;background:#12664f;box-shadow:0 18px 30px rgba(0,0,0,.2);border-radius:0 0 14px 14px;max-height:calc(100vh - 65px);overflow-y:auto}
 .main-nav.open{display:block}
 .main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:2px}
 .main-nav .nav-item{width:100%}
 .main-nav .nav-link{display:flex;align-items:center;justify-content:space-between;padding:12px 10px!important;font-size:13px;border-radius:7px}
 .main-nav .nav-link:hover,.main-nav .nav-item.active>.nav-link{background:rgba(255,255,255,.1)}
 .nav-link:after{display:none}
 .has-dropdown .dropdown-menu{position:static;left:auto;right:auto;top:auto;width:100%;max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none!important;pointer-events:none;padding:0 10px;margin:0;background:#0e5946;border:0;border-radius:9px;box-shadow:none;transition:max-height .3s ease,padding .3s ease}
 .has-dropdown.open .dropdown-menu{max-height:460px;overflow-y:auto;padding:12px 10px;pointer-events:auto}
 .dropdown-heading{padding:0 5px 10px;margin-bottom:7px}
 .dropdown-heading span{font-size:10px;color:#b8f4d8}
 .dropdown-heading>a{font-size:11px;color:#fff}
 .dropdown-grid{grid-template-columns:1fr 1fr;gap:2px 6px;max-height:none;overflow:visible}
 .dropdown-grid a{min-height:35px;padding:7px 6px;color:#fff;font-size:11px}
 .dropdown-grid a:before{width:5px;height:5px;flex-basis:5px;margin-right:7px;background:#62d2a2}
 .dropdown-grid a:hover{background:rgba(255,255,255,.12);color:#fff;padding-left:9px}
 .nav-call{display:flex;border:0;border-top:1px solid rgba(255,255,255,.2);padding:14px 8px 0;margin-top:10px;min-width:0}
}


/* Final dropdown positioning: attach panel directly to Services so there is no hover gap */
.site-header,.site-header .nav-wrap,.main-nav,.main-nav ul,.main-nav .nav-item{overflow:visible}
.main-nav .has-dropdown{position:relative}
.main-nav .has-dropdown>.dropdown-menu{
  position:absolute!important;top:100%!important;left:0!important;right:auto!important;
  width:min(760px,calc(100vw - 36px))!important;
  margin-top:0!important;padding:22px 24px 24px!important;
  transform:translateY(0)!important;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
  z-index:10050;border-radius:0 0 15px 15px;
}
.main-nav .has-dropdown:hover>.dropdown-menu,
.main-nav .has-dropdown:focus-within>.dropdown-menu,
.main-nav .has-dropdown.open>.dropdown-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)!important;
}
.main-nav .has-dropdown>.dropdown-menu:before{
  content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:transparent;
}
.main-nav .dropdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100vh - 150px);overflow-y:auto}
@media(max-width:767px){
 .main-nav{overflow-y:auto!important}
 .main-nav .has-dropdown>.dropdown-menu{
  position:static!important;left:auto!important;right:auto!important;top:auto!important;
  width:100%!important;margin:0!important;padding:0 10px!important;
  max-height:0;overflow:hidden;transform:none!important;opacity:1;visibility:visible;
  pointer-events:none;border-radius:9px;transition:max-height .25s ease,padding .25s ease;
 }
 .main-nav .has-dropdown.open>.dropdown-menu{
  max-height:480px;overflow-y:auto;padding:12px 10px!important;pointer-events:auto;
 }
 .main-nav .dropdown-grid{grid-template-columns:1fr 1fr;max-height:none;overflow:visible}
}


/* ==========================================================
   ST LUKE'S CLIENT UPDATE - SITE-WIDE MILKY WHITE THEME
   Shared navigation, contact, service cards and social links
   ========================================================== */
:root{--stl-green:#178066;--stl-green-dark:#116b56;--stl-cream:#fbfaf6;--stl-gold:#c99543;--stl-ink:#203a35;--stl-muted:#65766f}
body{background:var(--stl-cream);color:var(--stl-ink)}
.site-header{background:rgba(255,255,255,.97);box-shadow:0 4px 22px rgba(29,65,53,.07);backdrop-filter:blur(12px)}
.site-header.scrolled{box-shadow:0 8px 28px rgba(29,65,53,.13)}
.nav-call-multi{display:flex!important;align-items:center;gap:11px;padding:9px 13px;border:1px solid #e5eee7;border-radius:12px;background:#f8fbf7;white-space:nowrap}
.nav-call-multi>i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f3eb;color:var(--stl-green);font-size:16px}
.nav-call-details{display:grid;grid-template-columns:auto;gap:1px;line-height:1.2}
.nav-call-details small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#82918a}
.nav-call-details a{font-size:12px;font-weight:900;color:var(--stl-ink);text-decoration:none}
.nav-call-details a:hover{color:var(--stl-green)}
.nav-link{font-weight:800}
.nav-item.active>.nav-link{color:var(--stl-green)!important}
.page-hero,.service-hero{background-color:#f5f7f1}
.page-hero:after{background:linear-gradient(90deg,rgba(251,250,246,.95),rgba(251,250,246,.72))}
.section{background:transparent}
.service-card{overflow:hidden;border:1px solid #e8eee7;border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(30,65,52,.06);transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 17px 38px rgba(30,65,52,.12)}
.service-card-main{display:flex;flex-direction:column;height:100%;padding:0 0 14px;text-decoration:none;color:inherit}
.service-card-photo{display:block;width:100%;height:178px;object-fit:cover;background:#edf2ec}
.service-card-main .service-icon{margin:17px 20px 8px}
.service-card-main h3{margin:0 20px 8px;color:var(--stl-ink);font-weight:900}
.service-card-main p{margin:0 20px 13px;color:var(--stl-muted);font-size:13px;line-height:1.65}
.service-card-main .learn-more{margin:0 20px;color:var(--stl-green);font-weight:900}
.service-call-link{display:inline-flex;align-items:center;gap:8px;margin:0 20px 17px;padding:10px 14px;border:1px solid #d8e9dd;border-radius:8px;background:#f2f8f3;color:var(--stl-green);font-size:12px;font-weight:900;text-decoration:none}
.service-call-link:hover{background:var(--stl-green);border-color:var(--stl-green);color:#fff}
.service-hero-call{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:12px 18px;border-radius:9px;background:var(--stl-green);color:#fff;text-decoration:none;font-weight:900}
.service-hero-call:hover{background:var(--stl-green-dark);color:#fff}
.stl-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding-top:22px;padding-bottom:22px}
.stl-social-links a{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid rgba(255,255,255,.18);border-radius:9px;color:inherit;text-decoration:none;font-size:13px;font-weight:800}
.stl-social-links a:hover{background:var(--stl-green);border-color:var(--stl-green);color:#fff}
.stl-social-links .fa-youtube-play{color:#f05b55}.stl-social-links .fa-facebook{color:#6aa4ff}.stl-social-links .fa-instagram{color:#e68bb4}

/* Homepage hero with static video preview (no autoplay) */
.home-hero-video{padding:clamp(55px,7vw,90px) 0;background:var(--stl-cream);overflow:hidden}
.home-hero-video-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(28px,5vw,70px)}
.home-hero-copy .eyebrow{color:var(--stl-gold);font-weight:900;letter-spacing:.14em}
.home-hero-copy h1{margin:18px 0;color:var(--stl-ink);font-size:clamp(39px,5vw,64px);font-weight:900;line-height:1.08;letter-spacing:-.04em}
.home-hero-copy h1 em{color:var(--stl-green);font-style:normal}
.home-hero-copy>p{max-width:570px;color:var(--stl-muted);font-size:16px;line-height:1.8}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.home-hero-actions a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:11px 18px;border-radius:8px;text-decoration:none;font-weight:900}
.home-hero-actions .btn-outline{border:1px solid #d5e4d9;background:#fff;color:var(--stl-green)}
.home-hero-highlights{display:flex;flex-wrap:wrap;gap:18px;margin-top:23px;color:var(--stl-muted);font-size:13px;font-weight:800}
.home-hero-highlights i{color:var(--stl-green);margin-right:6px}
.home-video-preview{position:relative;display:block;width:100%;aspect-ratio:16/10;padding:0;overflow:hidden;border:0;border-radius:18px;background:#dfe9df;cursor:pointer;box-shadow:0 20px 48px rgba(32,58,53,.17)}
.home-video-preview img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.home-video-preview:hover img{transform:scale(1.04)}
.home-video-preview-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,40,32,.75),transparent 65%)}
.home-video-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;border:4px solid #fff;border-radius:50%;background:var(--stl-green);color:#fff;transform:translate(-50%,-50%);font-size:21px}
.home-video-preview-label{position:absolute;left:23px;bottom:20px;color:#fff;font-size:20px;font-weight:900}
.home-video-preview-label small{display:block;color:#f5d99e;font-size:10px;letter-spacing:.16em}
.home-video-caption{text-align:center;color:var(--stl-muted);font-size:13px;margin:12px 0}
.intro-video-modal[hidden]{display:none!important}
.intro-video-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}
.intro-video-backdrop{position:absolute;inset:0;background:rgba(12,28,23,.82);backdrop-filter:blur(5px)}
.intro-video-dialog{position:relative;width:min(900px,100%);padding:18px;border-radius:16px;background:var(--stl-cream);box-shadow:0 25px 90px #0005}
.intro-video-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.intro-video-dialog-head h2{font-size:22px;color:var(--stl-ink)}
.intro-video-dialog-head button{width:40px;height:40px;border:0;border-radius:50%;background:#e8f1e9;color:var(--stl-ink);font-size:25px}
.intro-video-dialog video{display:block;width:100%;max-height:72vh;background:#111;border-radius:9px}
body.video-modal-open{overflow:hidden}
@media(max-width:1050px){.nav-call-details a{font-size:11px}.nav-call-multi{padding:7px}.home-hero-video-grid{gap:30px}}
@media(max-width:767px){
 .nav-call-multi{width:100%;justify-content:flex-start;margin:8px 0}
 .nav-call-details{grid-template-columns:auto auto;column-gap:8px;align-items:center}
 .nav-call-details small:nth-of-type(2){margin-left:6px}
 .home-hero-video{padding:52px 0}
 .home-hero-video-grid{grid-template-columns:1fr;gap:27px}
 .home-hero-copy h1{font-size:clamp(36px,10vw,48px)}
 .home-hero-copy>p{font-size:14px}
 .home-hero-actions{flex-direction:column;align-items:stretch}
 .home-hero-actions a{justify-content:center}
 .home-hero-highlights{flex-direction:column;gap:8px}
 .home-video-preview{aspect-ratio:16/11;border-radius:13px}
 .home-video-play{width:60px;height:60px}
 .service-card-photo{height:155px}
 .intro-video-modal{padding:10px}
 .intro-video-dialog{padding:12px}
}


/* ===== St. Luke's refined milky-white + warm-yellow theme ===== */
:root{
 --green:#b8862f; --green-dark:#8d651d; --mint:#e7c66f;
 --ink:#30302b; --muted:#77736a; --pale:#fbf8ef; --white:#fffefa;
 --gold:#c99a3d; --gold-soft:#f3e6c4; --milk:#fbfaf6;
}
html,body{background:var(--milk)!important;color:var(--ink)}
body{font-family:'Nunito',sans-serif}
.site-header,.site-header.scrolled{
 background:rgba(255,254,250,.97)!important;
 box-shadow:0 5px 24px rgba(77,61,30,.08)!important;
 border-bottom:1px solid #eee7d8;padding:12px 0!important
}
.brand,.brand:hover{color:#34332e!important}
.brand img{border:2px solid #e4c36d}
.nav-link{color:#454239!important}
.nav-link:after{background:var(--gold)!important}
.nav-link:hover,.nav-item.active>.nav-link{color:#a97924!important}
.dropdown-menu{background:#fffefa;border:1px solid #eee4cf;box-shadow:0 18px 45px rgba(80,63,29,.12)}
.dropdown-heading span,.section-kicker,.eyebrow{color:#b1812d!important}
.dropdown-grid a{color:#4c493f}
.nav-call,.nav-call:hover{color:#5a4b2d!important;background:#fbf8ef!important;border:1px solid #e9dfca}
.nav-call i{color:#a77a27!important}
.nav-call-details a{color:#a97924!important;text-decoration:none}
.nav-call-details small{color:#817b6e!important}
.home-hero,.intro-strip,.section{background:#fbfaf6}
.home-hero{padding-top:145px!important}
.home-hero h1{color:#34332e!important}
.home-hero h1 em{color:#b88731!important}
.home-hero p,.home-video-caption,.section-heading p{color:#77736a!important}
.btn-primary,.btn-primary:hover{
 background:#c99a3d!important;color:#fff!important;border:1px solid #c99a3d!important;
 box-shadow:0 8px 20px rgba(185,135,44,.18)
}
.btn-outline,.btn-outline:hover{color:#987022!important;border-color:#dfc98f!important;background:#fffefa!important}
.text-link,.learn-more{color:#a97924!important}
.service-card{background:#fffefa!important;border:1px solid #eee5d4!important;box-shadow:0 10px 30px rgba(75,58,25,.07)!important}
.service-card:hover{border-color:#d9bd78!important;box-shadow:0 18px 38px rgba(75,58,25,.12)!important}
.service-icon{background:#f7edda!important;color:#a97924!important}
.service-call-link{color:#9c742b!important;border-top:1px solid #eee5d4!important}
.section-heading h2,.intro-grid h2{color:#38362f!important}
.home-video-preview-wrap{width:100%}
.home-video-player{
 display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
 border-radius:24px;background:#2b2924;
 box-shadow:0 20px 55px rgba(75,58,25,.14)
}
.home-video-caption{text-align:center;margin-top:14px}
.all-services-action{display:flex;justify-content:center;margin:38px auto 0}
.site-footer,footer{background:#302f2a!important;color:#f8f4e9!important}
.site-footer a,footer a{color:#e7c66f!important}
input,select,textarea{background:#fffefa!important;border-color:#e5dccb!important}
@media(max-width:991px){
 .site-header,.site-header.scrolled{background:#fffefa!important}
 .main-nav{background:#fffefa!important}
 .nav-link{color:#454239!important}
 .home-hero{padding-top:115px!important}
}


/* ===== FINAL GLOBAL PALETTE: MILKY WHITE + WARM GOLD ===== */
:root{
 --stl-green:#b88935!important; --stl-green-dark:#93691f!important;
 --stl-mint:#f2e4bf!important; --stl-cream:#fffdf8!important;
 --stl-ink:#333129!important; --stl-muted:#777267!important;
 --gold:#c99a3d; --gold-dark:#9c7024; --milk:#fbfaf6;
}
html,body{background:#fbfaf6!important;color:#343229!important}
.site-header,.site-header.scrolled,.main-nav,.dropdown-menu{
 background:#fffefa!important;border-color:#eee4d0!important
}
.nav-call.nav-call-multi{
 display:flex!important;align-items:center!important;gap:13px!important;
 padding:10px 16px!important;min-width:250px!important;
 background:#fffaf0!important;border:1px solid #eadbb9!important;
 border-radius:16px!important;color:#4b463b!important;
 box-shadow:0 5px 18px rgba(117,85,29,.07)!important;
 text-decoration:none!important
}
.nav-call.nav-call-multi>.fa-phone{
 width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
 background:#f4ead3!important;color:#a87925!important;font-size:16px
}
.nav-call-details{display:flex!important;flex-direction:column!important;gap:3px!important;line-height:1.25}
.nav-call-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:#8a806d!important}
.nav-call-details a{font-size:14px!important;font-weight:800!important;color:#8f6824!important;text-decoration:none!important;white-space:nowrap}
.nav-call-details a:hover{color:#16845f!important}
.nav-call-details .nav-alt-number{font-size:11px!important;font-weight:600!important;color:#827b6e!important}
.nav-link{color:#484438!important}
.nav-link:after{background:#c99a3d!important}
.nav-link:hover,.nav-item.active>.nav-link{color:#a87925!important}
.dropdown-heading span,.section-kicker,.eyebrow{color:#b1812d!important}
.btn-primary,.btn-primary:focus{
 background:#c99a3d!important;border-color:#c99a3d!important;color:#fff!important
}
.btn-primary:hover{background:#a87925!important;border-color:#a87925!important;color:#fff!important}
.btn-outline{background:#fffefa!important;color:#936b27!important;border-color:#dfc991!important}
.text-link,.learn-more{color:#9c742b!important}
.service-card{background:#fffefa!important;border-color:#eee5d4!important}
.service-card:hover{border-color:#d9bd78!important}
.service-icon{background:#f7edda!important;color:#a97924!important}
.service-call-link{color:#9c742b!important;border-top:1px solid #eee5d4!important;transition:.2s}
.service-call-link:hover{background:#16845f!important;color:#fff!important}
.service-hero,.page-hero{
 background-color:#fbf8ef!important;
 background-image:linear-gradient(110deg,rgba(255,253,248,.97),rgba(250,245,232,.90)),url('../images/hero-bg.png')!important;
 background-size:cover!important;background-position:center!important;color:#39362e!important
}
.service-hero-shade{background:linear-gradient(90deg,rgba(255,253,248,.96),rgba(255,250,239,.82))!important}
.service-hero h1,.page-hero h1{color:#343129!important}
.service-hero p,.page-hero p,.breadcrumb{color:#716b5f!important}
.breadcrumb{background:#f6efdf!important;border:1px solid #eadfca!important}
.breadcrumb a{color:#987022!important}
.home-hero,.home-hero-video,.section,.intro-strip,.service-detail,.related-section{
 background:#fbfaf6!important
}
.home-hero h1,.section-heading h2,.intro-grid h2{color:#343129!important}
.home-hero h1 em{color:#b88731!important}
.home-hero p,.section-heading p{color:#777267!important}
.contact-line i,.contact-info i{color:#a87925!important;background:#f6edda!important}
.contact-form-card,.contact-info,.service-aside{background:#fffefa!important;border-color:#eee4d0!important}
.site-footer,footer{background:#302f2a!important;color:#f8f4e9!important}
.site-footer a,footer a{color:#e7c66f!important}
input,select,textarea{background:#fffefa!important;border-color:#e5dccb!important}
.service-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.8fr) minmax(230px,.75fr)!important;align-items:start}
.service-detail-visual{margin:0;min-width:0}
.service-detail-visual img{display:block;width:100%;height:250px;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px rgba(75,58,25,.12);background:#f3ead8}
.service-detail-visual figcaption{font-size:12px;color:#827b6e;text-align:center;margin-top:9px}
@media(max-width:991px){
 .nav-call.nav-call-multi{min-width:0!important;width:100%;margin:10px 0}
 .service-detail-grid{grid-template-columns:1fr!important}
 .service-detail-visual{max-width:520px;width:100%;order:2}
}



/* Only change: give the existing intro section a distinct background.
   Original layout, spacing, typography and alignment remain unchanged. */
.intro-strip{
  background:#f3ead7!important;
}


/* ===== Visible mobile menu button ===== */
.menu-toggle{
  width:48px!important;height:44px!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:6px!important;padding:0!important;
  border:1.5px solid #c99a3d!important;
  border-radius:12px!important;
  background:#fffaf0!important;
  box-shadow:0 3px 12px rgba(80,60,25,.08)!important;
  cursor:pointer!important;
}
.menu-toggle span{
  display:block!important;width:22px!important;height:2.5px!important;
  background:#292821!important;border-radius:5px!important;
  opacity:1!important;visibility:visible!important;
  transition:transform .25s ease,opacity .2s ease!important;
}
.menu-toggle:hover{background:#f4ead4!important;border-color:#a87925!important}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8.5px) rotate(-45deg)}

/* ===== Subtle, professional reveal and hover motion ===== */
@media (prefers-reduced-motion:no-preference){
  @keyframes stlFadeUp{
    from{opacity:0;transform:translateY(22px)}
    to{opacity:1;transform:translateY(0)}
  }
  .service-card,.team-card,.testimonial-card,.contact-line,
  .why-card,.feature-card{
    animation:stlFadeUp .65s ease both;
  }
  .service-card:nth-child(2),.team-card:nth-child(2),
  .testimonial-card:nth-child(2){animation-delay:.08s}
  .service-card:nth-child(3),.team-card:nth-child(3),
  .testimonial-card:nth-child(3){animation-delay:.16s}
  .service-card:nth-child(4),.team-card:nth-child(4){animation-delay:.24s}
  .service-card:nth-child(5){animation-delay:.32s}
  .service-card:nth-child(6){animation-delay:.40s}
  .service-card,.team-card,.testimonial-card,.contact-line,
  .why-card,.feature-card{
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
  }
  .service-card:hover,.team-card:hover,.testimonial-card:hover,
  .why-card:hover,.feature-card:hover{
    transform:translateY(-7px)!important;
    box-shadow:0 18px 38px rgba(75,58,25,.13)!important;
  }
  .service-card-photo img,.team-card img{
    transition:transform .45s ease!important;
  }
  .service-card:hover .service-card-photo img,
  .team-card:hover img{transform:scale(1.045)}
  .section-heading,.section-kicker{
    transition:color .25s ease;
  }
  .btn-primary,.btn-outline,.text-link{
    transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease!important;
  }
  .btn-primary:hover,.btn-outline:hover{transform:translateY(-2px)}
}
@media(max-width:991px){
  .menu-toggle{display:flex!important;flex:0 0 48px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ===== Three-line hamburger visible on desktop and mobile ===== */
.menu-toggle{
  display:flex!important;flex:0 0 48px!important;
  width:48px!important;height:46px!important;
  flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:5px!important;
  padding:0!important;margin:0 12px!important;
  border:1.5px solid #c99a3d!important;border-radius:13px!important;
  background:#fffaf0!important;box-shadow:0 4px 14px rgba(80,60,25,.08)!important;
  cursor:pointer!important;z-index:1002
}
.menu-toggle span{
  display:block!important;width:22px!important;height:2.5px!important;
  margin:0!important;background:#25241f!important;border-radius:5px!important;
  opacity:1!important;visibility:visible!important;
  transition:transform .22s ease,opacity .18s ease!important
}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}
@media(min-width:992px){
 .main-nav.desktop-hidden{display:none!important}
 .nav-wrap{gap:12px}
}
@media(max-width:991px){
 .menu-toggle{margin-left:auto!important}
}

/* ===== Scroll-triggered reveal animation ===== */
@media(prefers-reduced-motion:no-preference){
 .scroll-reveal{
   opacity:0;transform:translateY(28px);
   transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);
   will-change:opacity,transform
 }
 .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
 .scroll-reveal.reveal-left{transform:translateX(-28px)}
 .scroll-reveal.reveal-left.is-visible{transform:translateX(0)}
 .scroll-reveal.reveal-right{transform:translateX(28px)}
 .scroll-reveal.reveal-right.is-visible{transform:translateX(0)}
}


/* ===== Desktop: hide hamburger; keep normal navigation visible ===== */
@media(min-width:992px){
  .menu-toggle{display:none!important}
  .main-nav{display:flex!important}
  .main-nav.desktop-hidden{display:flex!important}
}

/* ===== Stronger card pop-up reveal on scroll ===== */
@media(prefers-reduced-motion:no-preference){
  .scroll-reveal{
    opacity:0;
    transform:translateY(46px) scale(.88);
    filter:blur(3px);
    transition:
      opacity .65s ease,
      transform .72s cubic-bezier(.16,1,.3,1),
      filter .65s ease;
    will-change:opacity,transform;
  }
  .scroll-reveal.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
  .service-card.scroll-reveal,
  .team-card.scroll-reveal,
  .testimonial-card.scroll-reveal,
  .why-card.scroll-reveal,
  .feature-card.scroll-reveal{
    transform:translateY(42px) scale(.90);
    transform-origin:center bottom;
  }
  .service-card.scroll-reveal.is-visible,
  .team-card.scroll-reveal.is-visible,
  .testimonial-card.scroll-reveal.is-visible,
  .why-card.scroll-reveal.is-visible,
  .feature-card.scroll-reveal.is-visible{
    transform:translateY(0) scale(1);
  }
  .service-card:hover,.team-card:hover,.testimonial-card:hover,
  .why-card:hover,.feature-card:hover{
    transform:translateY(-9px) scale(1.025)!important;
    box-shadow:0 22px 46px rgba(75,58,25,.17)!important;
  }
}


/* ===== Service photos: consistent crop and refined card presentation ===== */
.service-card-photo{
 display:block!important;width:100%!important;height:205px!important;
 object-fit:cover!important;object-position:center!important;
 border-radius:16px 16px 0 0!important;
}
.service-card-main{overflow:hidden}
.service-card{overflow:hidden;transform-origin:center bottom}
.service-detail-visual img{
 width:100%;height:300px;object-fit:cover;object-position:center;
 border-radius:18px;display:block
}

/* Scroll pop-up: clear lift and scale, with a soft shadow on arrival */
@media(prefers-reduced-motion:no-preference){
 .service-card.scroll-reveal,.team-card.scroll-reveal,
 .testimonial-card.scroll-reveal,.why-card.scroll-reveal,
 .feature-card.scroll-reveal{
   opacity:0;transform:translate3d(0,54px,0) scale(.86);
   filter:blur(2px);
   transition:opacity .62s ease,transform .78s cubic-bezier(.16,1,.3,1),
              filter .62s ease,box-shadow .25s ease;
 }
 .service-card.scroll-reveal.is-visible,.team-card.scroll-reveal.is-visible,
 .testimonial-card.scroll-reveal.is-visible,.why-card.scroll-reveal.is-visible,
 .feature-card.scroll-reveal.is-visible{
   opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);
 }
 .service-card:hover,.team-card:hover,.testimonial-card:hover,
 .why-card:hover,.feature-card:hover{
   transform:translate3d(0,-8px,0) scale(1.025)!important;
   box-shadow:0 20px 42px rgba(87,64,25,.16)!important;
 }
}
@media(max-width:600px){
 .service-card-photo{height:185px!important}
 .service-detail-visual img{height:240px}
}


/* ===== Homepage hero text entrance animation ===== */
@media(prefers-reduced-motion:no-preference){
 @keyframes stlHeroRise{
   0%{opacity:0;transform:translate3d(0,38px,0) scale(.97);filter:blur(5px)}
   100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
 }
 .home-hero-copy .eyebrow,
 .home-hero-copy h1,
 .home-hero-copy>p,
 .home-hero-copy .home-hero-actions,
 .home-hero-copy .home-hero-highlights{
   opacity:0;animation:stlHeroRise .8s cubic-bezier(.16,1,.3,1) forwards;
 }
 .home-hero-copy .eyebrow{animation-delay:.12s}
 .home-hero-copy h1{animation-delay:.28s}
 .home-hero-copy>p{animation-delay:.44s}
 .home-hero-copy .home-hero-actions{animation-delay:.60s}
 .home-hero-copy .home-hero-highlights{animation-delay:.76s}
 .home-video-preview-wrap{
   opacity:0;animation:stlHeroRise .95s cubic-bezier(.16,1,.3,1) .38s forwards
 }
}

/* ===== Scroll-triggered card pop / zoom-out reveal ===== */
@media(prefers-reduced-motion:no-preference){
 body.scroll-reveal-enabled .scroll-pop{
   opacity:0!important;
   transform:translate3d(0,65px,0) scale(.72)!important;
   filter:blur(5px);
   transition:opacity .68s ease,
      transform .82s cubic-bezier(.16,1,.3,1),
      filter .68s ease,
      box-shadow .3s ease!important;
   will-change:opacity,transform,filter;
 }
 body.scroll-reveal-enabled .scroll-pop.scroll-pop-visible{
   opacity:1!important;
   transform:translate3d(0,0,0) scale(1)!important;
   filter:blur(0);
 }
 body.scroll-reveal-enabled .service-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .team-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .testimonial-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .why-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .feature-card.scroll-pop-visible:hover{
   transform:translate3d(0,-9px,0) scale(1.035)!important;
   box-shadow:0 22px 46px rgba(75,58,25,.18)!important;
 }
}


/* ===== Refined smooth card entrance, matching the hero text motion ===== */
@media(prefers-reduced-motion:no-preference){
 body.scroll-reveal-enabled .scroll-pop{
   opacity:0!important;
   transform:translate3d(0,30px,0) scale(.96)!important;
   filter:blur(1.5px);
   transition:
     opacity .72s ease,
     transform .82s cubic-bezier(.16,1,.3,1),
     filter .72s ease,
     box-shadow .28s ease!important;
   will-change:opacity,transform,filter;
 }
 body.scroll-reveal-enabled .scroll-pop.scroll-pop-visible{
   opacity:1!important;
   transform:translate3d(0,0,0) scale(1)!important;
   filter:blur(0);
 }
 body.scroll-reveal-enabled .service-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .team-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .testimonial-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .why-card.scroll-pop-visible:hover,
 body.scroll-reveal-enabled .feature-card.scroll-pop-visible:hover{
   transform:translate3d(0,-7px,0) scale(1.015)!important;
   box-shadow:0 18px 38px rgba(75,58,25,.14)!important;
 }

 /* About page image enters smoothly from the left */
 body.scroll-reveal-enabled .about-photo.scroll-from-left{
   opacity:0!important;
   transform:translate3d(-58px,0,0) scale(.98)!important;
   filter:blur(2px);
   transition:opacity .85s ease,transform .95s cubic-bezier(.16,1,.3,1),filter .85s ease!important;
 }
 body.scroll-reveal-enabled .about-photo.scroll-from-left.scroll-pop-visible{
   opacity:1!important;
   transform:translate3d(0,0,0) scale(1)!important;
   filter:blur(0);
 }
}


/* ===== Final scroll animations: cards pop smoothly; About image slides from left ===== */
@media (prefers-reduced-motion: no-preference) {
  html.has-scroll-reveal .reveal-pending {
    opacity: 0 !important;
    animation: none !important;
    transition:
      opacity 780ms ease,
      transform 900ms cubic-bezier(0.22, 1, 0.36, 1),
      filter 780ms ease,
      box-shadow 300ms ease !important;
    will-change: opacity, transform;
  }

  /* Cards: gentle rise + scale into place, with a stagger between siblings. */
  html.has-scroll-reveal .service-card.reveal-pending,
  html.has-scroll-reveal .team-card.reveal-pending,
  html.has-scroll-reveal .testimonial-card.reveal-pending,
  html.has-scroll-reveal .why-card.reveal-pending,
  html.has-scroll-reveal .feature-card.reveal-pending {
    transform: translate3d(0, 42px, 0) scale(0.94) !important;
    filter: blur(1.5px);
    transition-delay: var(--reveal-delay, 0ms) !important;
  }

  html.has-scroll-reveal .service-card.reveal-shown,
  html.has-scroll-reveal .team-card.reveal-shown,
  html.has-scroll-reveal .testimonial-card.reveal-shown,
  html.has-scroll-reveal .why-card.reveal-shown,
  html.has-scroll-reveal .feature-card.reveal-shown {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0);
    animation: none !important;
  }

  /* About page feature image: enter horizontally from the left. */
  html.has-scroll-reveal .about-photo.reveal-pending.reveal-from-left {
    transform: translate3d(-76px, 0, 0) scale(0.98) !important;
    filter: blur(2px);
  }
  html.has-scroll-reveal .about-photo.reveal-shown.reveal-from-left {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0);
    animation: none !important;
  }

  /* Keep a restrained hover lift after the entrance animation completes. */
  html.has-scroll-reveal .service-card.reveal-shown:hover,
  html.has-scroll-reveal .team-card.reveal-shown:hover,
  html.has-scroll-reveal .testimonial-card.reveal-shown:hover,
  html.has-scroll-reveal .why-card.reveal-shown:hover,
  html.has-scroll-reveal .feature-card.reveal-shown:hover {
    transform: translate3d(0, -7px, 0) scale(1.015) !important;
    box-shadow: 0 18px 38px rgba(75, 58, 25, 0.14) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-pending,
  .reveal-shown {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* ===== Unified, reliable reveal animation for cards and About content ===== */
@media (prefers-reduced-motion: no-preference) {
  html.has-scroll-reveal .reveal-on-scroll {
    opacity: 0 !important;
    transform: translate3d(0, 48px, 0) scale(.91) !important;
    filter: blur(2px);
    animation: none !important;
    transition:
      opacity 900ms ease,
      transform 1050ms cubic-bezier(.16, 1, .3, 1),
      filter 900ms ease,
      box-shadow 300ms ease !important;
    transition-delay: var(--reveal-delay, 0ms) !important;
    transform-origin: center bottom;
    backface-visibility: hidden;
    will-change: opacity, transform, filter;
  }
  html.has-scroll-reveal .reveal-on-scroll.reveal-from-left {
    transform: translate3d(-68px, 0, 0) scale(.98) !important;
  }
  html.has-scroll-reveal .reveal-on-scroll.reveal-from-right {
    transform: translate3d(48px, 0, 0) scale(.98) !important;
  }
  html.has-scroll-reveal .reveal-on-scroll.reveal-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0);
    animation: none !important;
  }
  html.has-scroll-reveal .service-card.reveal-visible:hover,
  html.has-scroll-reveal .team-card.reveal-visible:hover,
  html.has-scroll-reveal .testimonial-card.reveal-visible:hover,
  html.has-scroll-reveal .why-card.reveal-visible:hover,
  html.has-scroll-reveal .feature-card.reveal-visible:hover {
    transform: translate3d(0, -7px, 0) scale(1.015) !important;
    box-shadow: 0 18px 38px rgba(75, 58, 25, .14) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll, .reveal-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Keep homepage hero text entrance animation reliable and sequential. */
@media (prefers-reduced-motion: no-preference) {
  .home-hero-copy .eyebrow,
  .home-hero-copy h1,
  .home-hero-copy > p,
  .home-hero-copy .home-hero-actions,
  .home-hero-copy .home-hero-highlights {
    animation-name: stlHeroRise !important;
    animation-duration: .8s !important;
    animation-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
    animation-fill-mode: both !important;
  }
}


/* ===== Full-bleed muted background video in homepage hero ===== */
.home-hero-video-bg{
  position:relative!important;isolation:isolate;display:flex;align-items:center;
  min-height:clamp(620px,78vh,790px);padding:clamp(100px,12vw,150px) 0 105px!important;
  overflow:hidden;background:#f8f5ed!important;
}
.home-hero-video-bg .home-hero-background-video{
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;
  object-position:center 42%;display:block;
}
.home-hero-video-bg .home-hero-video-overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(250,248,242,.42) 0%,rgba(250,248,242,.26) 37%,rgba(250,248,242,.12) 68%,rgba(250,248,242,.06) 100%);
  pointer-events:none;
}
.home-hero-video-bg .home-hero-video-grid{
  position:absolute;z-index:1;left:50%;bottom:clamp(28px,5vh,58px);
  display:block;width:100%;transform:translateX(-50%);
}
.home-hero-video-bg .home-hero-copy{max-width:100%;width:100%}
.home-hero-video-bg .home-hero-actions{margin-top:0;justify-content:flex-start}
.home-hero-video-bg .home-hero-highlights{margin-top:18px;justify-content:flex-start}
.home-hero-video-bg .home-hero-copy h1{color:#343129!important}
.home-hero-video-bg .home-hero-copy h1 em{color:#b88731!important}
.home-hero-video-bg .home-hero-copy>p{color:#5f5a50!important}
.home-hero-video-bg .home-hero-highlights{color:#625d52!important}
.home-hero-video-bg .home-hero-highlights i{color:#b88731!important}
@media(max-width:767px){
  .home-hero-video-bg{min-height:690px;padding:125px 0 90px!important}
  .home-hero-video-bg .home-hero-video-overlay{
    background:linear-gradient(90deg,rgba(250,248,242,.48),rgba(250,248,242,.28)),linear-gradient(0deg,rgba(250,248,242,.12),rgba(250,248,242,.12));
  }
  .home-hero-video-bg .home-hero-background-video{object-position:center center}
  .home-hero-video-bg .home-hero-video-grid{bottom:24px;width:100%}
  .home-hero-video-bg .home-hero-copy{max-width:100%}
  .home-hero-video-bg .home-hero-actions{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .home-hero-video-bg .home-hero-actions a{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .home-hero-video-bg .home-hero-background-video{display:none}
}


/* Mobile hero: center the background video composition. */
@media (max-width: 767px) {
  .home-hero-video-bg .home-hero-background-video {
    object-position: 50% 50% !important;
  }
  .home-hero-video-bg .home-hero-video-grid {
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
  }
}


/* ===== Homepage hero: still Mary/Jayanti background image ===== */
.home-hero-video-bg {
  background-image: url("../images/jayanti.jpeg") !important;
  background-size: cover !important;
  background-position: center 36% !important;
  background-repeat: no-repeat !important;
  background-color: #f8f5ed !important;
}
.home-hero-video-bg .home-hero-video-overlay {
  background: linear-gradient(90deg, rgba(250,248,242,.22) 0%, rgba(250,248,242,.10) 48%, rgba(250,248,242,.03) 100%) !important;
}
@media (max-width: 767px) {
  .home-hero-video-bg {
    background-position: center 28% !important;
    min-height: 690px;
  }
  .home-hero-video-bg .home-hero-video-overlay {
    background: linear-gradient(180deg, rgba(250,248,242,.04), rgba(250,248,242,.12)) !important;
  }
  .home-hero-video-bg .home-hero-video-grid {
    bottom: 15px !important;
  }
}


/* Detailed team profiles */
.team-section .profile-view-btn {
  display:inline-flex; align-items:center; gap:9px; margin-top:12px;
  border:1px solid #d6ad61; border-radius:999px; padding:9px 15px;
  background:#fffaf0; color:#94691e; font:800 12px/1.2 Nunito,sans-serif;
  cursor:pointer; transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.team-section .profile-view-btn:hover { background:#c99536; color:#fff; transform:translateY(-2px); box-shadow:0 8px 18px rgba(150,105,30,.18); }
.profile-modal { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:22px; }
.profile-modal.is-open { display:flex; }
.profile-modal-backdrop { position:absolute; inset:0; background:rgba(25,29,27,.62); backdrop-filter:blur(5px); }
.profile-modal-panel { position:relative; z-index:1; width:min(620px,100%); max-height:min(82vh,760px); overflow:auto; padding:36px; border-radius:22px; background:#fffdf8; box-shadow:0 24px 80px rgba(0,0,0,.25); animation:profileModalIn .32s cubic-bezier(.2,.8,.2,1) both; }
.profile-modal-close { position:absolute; top:13px; right:17px; width:38px; height:38px; border:0; border-radius:50%; background:#f5ead5; color:#4b4030; font-size:28px; line-height:1; cursor:pointer; }
.profile-modal-panel h2 { margin:10px 35px 7px 0; color:#302f2a; font-size:clamp(24px,4vw,32px); font-weight:900; }
.profile-modal-role { color:#a87924; font-weight:800; line-height:1.5; }
.profile-modal-divider { height:1px; background:#eadfc9; margin:22px 0; }
.profile-modal-panel h3 { color:#38352e; font-size:17px; font-weight:900; }
.profile-modal-panel #profileModalBio { color:#625e55; font-size:15px; line-height:1.85; }
.profile-modal-focus { display:flex; flex-direction:column; gap:5px; margin:22px 0; padding:15px 17px; border-radius:13px; background:#f8f1e4; color:#5d5547; }
.profile-modal-focus strong { color:#98702c; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.profile-modal-contact { display:inline-flex; align-items:center; gap:9px; text-decoration:none; }
body.profile-modal-open { overflow:hidden; }
@keyframes profileModalIn { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:600px) { .profile-modal-panel { padding:28px 22px; } .team-section .profile-view-btn { margin-top:9px; } }


/* Google reviews link panel */
.google-reviews-section { background:#f8f5ed; }
.google-review-panel { max-width:760px; margin:0 auto; padding:clamp(28px,5vw,52px); text-align:center; border:1px solid #ead9b8; border-radius:24px; background:#fffdf8; box-shadow:0 14px 40px rgba(72,58,30,.07); }
.google-review-mark { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:#fff; box-shadow:0 3px 14px rgba(0,0,0,.1); color:#4285f4; font:900 34px Arial,sans-serif; }
.google-review-panel h2 { margin:10px 0 12px; color:#343129; font-weight:900; }
.google-review-panel p { max-width:590px; margin:0 auto 24px; color:#6a655b; line-height:1.8; }
.google-review-panel .btn-primary { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }


/* Responsive still-image hero banner (replaces the video background). */
.home-hero-video-bg {
  background-image: url("../images/mary-hero-banner.png") !important;
  background-size: cover !important;
  background-position: center 42% !important;
  background-repeat: no-repeat !important;
  min-height: clamp(620px, 78vh, 790px);
}
.home-hero-video-bg .home-hero-video-overlay {
  background: linear-gradient(90deg, rgba(250,248,242,.78) 0%, rgba(250,248,242,.56) 42%, rgba(250,248,242,.12) 75%, rgba(250,248,242,.04) 100%) !important;
}
.team-section .team-card {
  cursor: pointer;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  border: 1px solid #eee5d5;
}
.team-section .team-card:hover,
.team-section .team-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(55,43,23,.12);
  border-color: #d7b66f;
  outline: none;
}
.team-section .team-card .team-info p { display: none !important; }
.team-section .team-card .team-info { align-self: center; }
.team-section .team-card .team-role { display: block; margin-top: 7px; }
.team-section .profile-view-btn { margin-top: 15px; }
@media (max-width: 767px) {
  .home-hero-video-bg { background-position: 52% center !important; min-height: 690px; }
  .home-hero-video-bg .home-hero-video-overlay {
    background: linear-gradient(180deg, rgba(250,248,242,.16), rgba(250,248,242,.48)) !important;
  }
  .team-section .team-card { grid-template-columns: 34% minmax(0, 1fr) !important; }
  .team-section .team-card .team-photo { width: 100%; height: 100%; min-height: 150px; aspect-ratio: 1 / 1; object-fit: cover; }
  .team-section .team-card .team-info { padding: 14px 13px; }
  .team-section .team-card h3 { font-size: 15px; line-height: 1.3; }
  .team-section .team-card .team-role { font-size: 11px; line-height: 1.4; }
  .team-section .profile-view-btn { font-size: 11px; padding: 8px 11px; }
}
@media (max-width: 420px) {
  .team-section .team-card { grid-template-columns: 31% minmax(0, 1fr) !important; }
  .team-section .team-card .team-info { padding: 11px 10px; }
  .team-section .team-card h3 { font-size: 13px; }
  .team-section .profile-view-btn { padding: 7px 9px; }
}


/* Google customer testimonial cards */
.google-testimonials-heading { text-align:center; max-width:760px; margin:0 auto 38px; }
.google-rating-summary { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:18px; }
.google-rating-summary strong { font-size:30px; color:#302f2a; }
.google-rating-summary small { color:#777267; font-weight:700; }
.google-testimonial-stars { color:#e0a52d; letter-spacing:2px; font-size:17px; }
.google-testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.google-testimonial-card { display:flex; flex-direction:column; padding:25px; border:1px solid #eee5d5; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(55,43,23,.055); min-width:0; }
.google-testimonial-card p { color:#5f5a50; font-size:14px; line-height:1.8; margin:13px 0 22px; flex:1; }
.google-testimonial-author { display:flex; align-items:center; gap:10px; color:#343129; font-size:13px; }
.google-avatar { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:50%; background:#f5ead5; color:#9a6c1d; font-weight:900; }
.google-source { margin-left:auto; color:#888176; font-size:11px; }
.google-reviews-action { display:flex; justify-content:center; margin-top:32px; }
@media(max-width:767px) { .google-testimonial-grid { grid-template-columns:1fr; gap:14px; } .google-testimonial-card { padding:20px; } .google-testimonial-card p { font-size:13px; } }


/* Client refinement: stronger warm baseline with clearly highlighted profile details. */
.team-section { background: #e9e1d2 !important; }
.team-section .team-card { background: #fffdf8 !important; border-color: #d8c7a7 !important; }
.team-section .team-info h3 { color: #302b22 !important; }
.team-section .team-info .team-role { color: #95651c !important; }
.team-section .team-card:hover,
.team-section .team-card:focus-visible { border-color: #bd8427 !important; box-shadow: 0 16px 34px rgba(54,42,22,.18) !important; }
.team-section .profile-view-btn { background: #b98225 !important; color: #fff !important; border-color: #a8731e !important; }
.team-section .profile-view-btn:hover { background: #8e5e17 !important; }
.profile-modal-panel { background: #302e29 !important; color: #f8f3e8 !important; border: 1px solid #9a722f; }
.profile-modal-panel .section-kicker { color: #e7bd69 !important; }
.profile-modal-panel h2, .profile-modal-panel h3 { color: #fff8e9 !important; }
.profile-modal-panel #profileModalBio { color: #e5ddcf !important; }
.profile-modal-role { color: #f0c46c !important; }
.profile-modal-divider { background: #766344 !important; }
.profile-modal-header { display:flex; align-items:center; gap:22px; margin:16px 0 20px; }
.profile-modal-photo { width:142px; height:164px; flex:0 0 142px; object-fit:cover; object-position:center top; border-radius:16px; border:3px solid #d6a84d; box-shadow:0 8px 24px rgba(0,0,0,.25); background:#eee7d9; }
.profile-modal-heading { min-width:0; }
.profile-modal-heading h2 { margin-top:0 !important; }
.profile-modal-qualification { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:13px 16px; border-radius:12px; background:#f4dfad; color:#332a1b; border-left:4px solid #c18b2e; }
.profile-modal-qualification strong { color:#815613; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.profile-modal-qualification span { font-weight:800; }
.profile-modal-focus { background:#4a4234 !important; color:#f7edda !important; border:1px solid #78613a; }
.profile-modal-focus strong { color:#f0c46c !important; }
.profile-modal-close { background:#f4dfad !important; color:#332a1b !important; }
@media(max-width:600px) {
  .profile-modal { padding:12px !important; }
  .profile-modal-panel { padding:26px 18px !important; max-height:90vh !important; }
  .profile-modal-header { align-items:center; gap:14px; }
  .profile-modal-photo { width:104px; height:124px; flex-basis:104px; }
  .profile-modal-heading h2 { font-size:22px !important; }
}


/* Larger, clearer photographs inside expanded team profiles */
.profile-modal-panel .profile-modal-header {
  align-items: center;
  gap: 26px;
}
.profile-modal-panel .profile-modal-photo {
  width: 230px;
  height: 270px;
  flex: 0 0 230px;
  object-fit: cover;
  object-position: center 14%;
  border-radius: 18px;
}
@media (max-width: 600px) {
  .profile-modal-panel .profile-modal-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
  }
  .profile-modal-panel .profile-modal-photo {
    width: min(220px, 72vw);
    height: 240px;
    flex: 0 0 auto;
    object-position: center 12%;
  }
  .profile-modal-panel .profile-modal-heading {
    width: 100%;
    text-align: center;
  }
}
