/* BRIVANTA v1.7.1 — visual hierarchy and responsive refinement */
:root{
  --bv171-green:#11653a;
  --bv171-green-deep:#0c4d2d;
  --bv171-ink:#142019;
  --bv171-muted:#5d6961;
  --bv171-soft:#f5f9f6;
  --bv171-line:rgba(18,83,48,.11);
  --bv171-shadow:0 18px 50px rgba(22,67,42,.075);
}

/* Header — stronger brand presence without adding visual weight. */
.bv-header{
  height:78px!important;
  background:rgba(255,255,255,.965)!important;
  border-bottom:1px solid rgba(18,83,48,.075)!important;
}
.bv-nav-shell{height:78px!important}
.vision-home main{padding-top:78px!important}
.bv-brand{gap:11px!important}
.bv-brand-mark{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(18,79,45,.08)!important;
}
.bv-brand-mark img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:12% center!important;
}
.bv-brand-copy strong{
  color:#17251c!important;
  letter-spacing:.15em!important;
  font-size:15.5px!important;
}
.bv-brand-copy small{
  margin-top:4px!important;
  color:#4d775d!important;
  font-size:9.3px!important;
  letter-spacing:.205em!important;
}
.bv-desktop-nav{gap:31px!important}
.bv-desktop-nav .nav-link{font-size:12.8px!important}
.bv-book{padding:0 20px!important}

/* Hero — cleaner editorial balance and clearer CTA hierarchy. */
.bv-hero-v16{
  background:
    radial-gradient(circle at 4% 16%,rgba(172,215,183,.24),transparent 31rem),
    linear-gradient(90deg,#f8fbf8 0 49.5%,#edf5ef 49.5% 100%)!important;
}
.bv-hero-v16 .bv-hero-grid{
  min-height:610px!important;
  grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr)!important;
}
.bv-hero-v16 .bv-hero-copy{padding:72px 72px 66px 0!important}
.bv-kicker{
  margin-bottom:18px!important;
  color:#2b7b4f!important;
  font-size:9.4px!important;
  letter-spacing:.255em!important;
}
.bv-hero-v16 h1{
  max-width:600px!important;
  font-size:clamp(54px,4.8vw,69px)!important;
  line-height:.955!important;
  letter-spacing:-.047em!important;
}
.bv-hero-v16 .bv-lead{
  max-width:555px!important;
  margin-top:24px!important;
  color:#536057!important;
  font-size:15px!important;
  line-height:1.72!important;
}
.bv-hero-actions{margin-top:29px!important}
.bv-hero-actions .button{
  min-width:152px!important;
  min-height:47px!important;
  border-radius:9px!important;
}
.bv-hero-actions .button-secondary{
  border-color:rgba(21,88,48,.14)!important;
  box-shadow:0 9px 24px rgba(20,68,41,.04)!important;
}
.bv-proof-row{
  margin-top:30px!important;
  padding-top:19px!important;
  border-top-color:rgba(20,78,45,.11)!important;
  gap:17px!important;
}
.bv-proof-row div{gap:9px!important}
.bv-proof-row strong{font-size:9.25px!important;color:#34433a!important}
.bv-mini-icon{width:29px!important;height:29px!important}
.bv-hero-photo-wrap{
  min-height:610px!important;
  background:#dfeae2!important;
}
.bv-hero-photo-wrap:before{
  width:80px!important;
  background:linear-gradient(90deg,#f8fbf8 0%,rgba(248,251,248,.62) 38%,rgba(248,251,248,0) 100%)!important;
}
.bv-hero-photo{object-position:55% center!important}

/* Section headings — slightly narrower measure for a more premium editorial feel. */
.bv-section{padding:76px 0!important}
.bv-section-head.centered{max-width:730px!important;margin-bottom:40px!important}
.bv-section-head>p{font-size:8.8px!important;letter-spacing:.245em!important}
.bv-section-head h2{letter-spacing:-.04em!important}
.bv-section-head>span{max-width:610px!important;color:#667168!important}

/* Services — clearer card structure and stronger scanability. */
.bv-service-grid{gap:20px!important}
.bv-service-card{
  min-height:270px!important;
  padding:26px 23px 22px!important;
  border-radius:15px!important;
  overflow:hidden!important;
  border-color:rgba(24,88,49,.105)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%)!important;
  box-shadow:0 16px 44px rgba(22,67,42,.065)!important;
}
.bv-service-card:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:3px!important;
  background:linear-gradient(90deg,#1e8a50,#8bc39b)!important;
  opacity:.72!important;
}
.bv-service-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 22px 52px rgba(22,67,42,.095)!important;
}
.bv-service-icon{
  width:49px!important;
  height:49px!important;
  background:#edf7ef!important;
  border-color:rgba(25,105,57,.09)!important;
}
.bv-service-card h3{font-size:19.5px!important;letter-spacing:-.018em!important}
.bv-service-card p{color:#667168!important;line-height:1.62!important}
.bv-service-card b{
  left:23px!important;
  bottom:20px!important;
  font-size:11.2px!important;
  letter-spacing:.005em!important;
}

/* Why us — remove visual fragmentation and make each principle read as one unit. */
.bv-why{
  padding:64px 0 68px!important;
  background:
    radial-gradient(circle at 50% 0,rgba(174,215,185,.18),transparent 30rem),
    #f4f8f5!important;
}
.bv-benefit-grid-three{gap:16px!important}
.bv-benefit-grid-three article{
  min-height:122px!important;
  padding:23px 24px!important;
  gap:17px!important;
  align-items:center!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.8)!important;
  border:1px solid rgba(26,87,49,.085)!important;
  box-shadow:0 14px 34px rgba(22,67,42,.04)!important;
}
.bv-benefit-grid-three article>span{
  width:50px!important;
  height:50px!important;
  flex-basis:50px!important;
  background:#f4faf5!important;
  border-color:rgba(19,99,55,.11)!important;
}
.bv-benefit-grid-three h3{font-size:17.2px!important;letter-spacing:-.015em!important}
.bv-benefit-grid-three p{max-width:250px!important;color:#68736b!important}

/* About — stronger split and less empty-feeling text side. */
.bv-about-v16{
  min-height:450px!important;
  grid-template-columns:47% 53%!important;
}
.bv-about-v16 .bv-about-visual{min-height:450px!important}
.vision-home .bv-about-photo{
  object-position:center 50%!important;
  filter:saturate(.96) contrast(1.04) brightness(.94)!important;
}
.bv-about-v16 .bv-about-copy{
  max-width:760px!important;
  padding:62px 9%!important;
}
.bv-about-v16 .bv-about-copy>p{
  max-width:640px!important;
  color:#5a675f!important;
  line-height:1.76!important;
}
.bv-about-v16 .bv-about-points{margin:25px 0 27px!important}
.bv-about-v16 .button-secondary{
  border-radius:9px!important;
  min-height:45px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(20,68,41,.045)!important;
}

/* CTA and footer — sharpen the close of the page. */
.bv-cta-band-v16{padding:40px 0!important}
.bv-cta-band-v16 .bv-cta-grid{gap:48px!important}
.bv-cta-band-v16 .bv-cta-grid>div>span{color:rgba(255,255,255,.78)!important}
.bv-cta-button{padding:0 24px!important}
.bv-footer{padding-top:46px!important}
.bv-footer-grid{gap:58px!important;padding-bottom:36px!important}
.bv-footer-brand p{color:#647068!important}
.bv-footer-links a,.bv-footer-contact a{transition:color .15s ease!important}
.bv-footer-links a:hover,.bv-footer-contact a:hover{color:var(--bv171-green)!important}

/* Inner pages — improve reading measure and consistency. */
.inner-hero{padding-bottom:70px!important}
.inner-hero .narrow{max-width:880px!important}
.inner-hero h1{max-width:840px!important;letter-spacing:-.045em!important}
.inner-hero .narrow>p:last-child{max-width:760px!important;color:#5d6a62!important}
.content-card,.note-panel,.service-detail,.contact-form-card{
  border-radius:22px!important;
  box-shadow:0 18px 48px rgba(22,67,42,.055)!important;
}
.value-stack article,.process-grid article,.contact-method{
  border-radius:17px!important;
}
.service-detail{border-color:rgba(25,88,49,.105)!important}
.service-detail .detail-number{color:rgba(20,105,59,.42)!important}
.clean-list li:before{
  content:""!important;
  display:block!important;
  width:10px!important;
  height:10px!important;
  top:.48em!important;
  border-radius:50%!important;
  background:var(--bv171-green)!important;
  color:transparent!important;
}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{min-height:48px!important}
.contact-form-card textarea{min-height:150px!important}

@media(max-width:1120px){
  .bv-desktop-nav{gap:22px!important}
  .bv-hero-v16 .bv-hero-grid{grid-template-columns:1fr 1fr!important;min-height:565px!important}
  .bv-hero-photo-wrap{min-height:565px!important}
  .bv-hero-v16 .bv-hero-copy{padding-right:52px!important}
  .bv-hero-v16 h1{font-size:54px!important}
}

@media(max-width:900px){
  .bv-header{height:72px!important}
  .bv-nav-shell{height:72px!important}
  .vision-home main{padding-top:72px!important}
  .bv-brand-mark{width:45px!important;height:45px!important;flex-basis:45px!important}
  .bv-hero-v16{background:#f8fbf8!important}
  .bv-hero-v16 .bv-hero-grid{grid-template-columns:1fr!important;min-height:0!important}
  .bv-hero-v16 .bv-hero-copy{padding:50px 0 38px!important}
  .bv-hero-photo-wrap{min-height:400px!important}
  .bv-service-grid{gap:15px!important}
  .bv-about-v16{grid-template-columns:1fr!important}
  .bv-about-v16 .bv-about-visual{min-height:350px!important}
  .bv-about-v16 .bv-about-copy{padding:50px 7%!important}
  .bv-cta-band-v16 .bv-cta-grid{gap:28px!important}
}

@media(max-width:620px){
  .bv-header{height:66px!important}
  .bv-nav-shell{height:66px!important}
  .vision-home main{padding-top:66px!important}
  .bv-brand{gap:8px!important}
  .bv-brand-mark{width:40px!important;height:40px!important;flex-basis:40px!important;border-radius:10px!important}
  .bv-brand-copy strong{font-size:13.7px!important;letter-spacing:.13em!important}
  .bv-brand-copy small{font-size:8px!important;letter-spacing:.17em!important}
  .bv-hero-v16 .bv-hero-copy{padding:37px 0 28px!important}
  .bv-kicker{font-size:8px!important;letter-spacing:.20em!important;margin-bottom:13px!important}
  .bv-hero-v16 h1{font-size:40px!important;line-height:.99!important;max-width:350px!important}
  .bv-hero-v16 .bv-lead{margin-top:18px!important;font-size:13.5px!important;line-height:1.62!important}
  .bv-hero-actions{margin-top:21px!important;gap:9px!important}
  .bv-hero-actions .button{min-height:45px!important}
  .bv-proof-row{margin-top:20px!important;padding-top:13px!important;gap:2px!important}
  .bv-proof-row div{padding:6px 0!important}
  .bv-mini-icon{width:27px!important;height:27px!important}
  .bv-hero-photo-wrap{min-height:290px!important}
  .bv-section{padding:50px 0!important}
  .bv-section-head.centered{margin-bottom:29px!important}
  .bv-section-head h2{font-size:31px!important}
  .bv-section-head>span{font-size:12.25px!important}
  .bv-service-card{min-height:218px!important;padding:22px 20px 19px!important}
  .bv-service-card b{left:20px!important;bottom:17px!important}
  .bv-why{padding:48px 0 52px!important}
  .bv-benefit-grid-three{gap:9px!important}
  .bv-benefit-grid-three article{min-height:0!important;padding:18px!important;gap:14px!important}
  .bv-benefit-grid-three article>span{width:46px!important;height:46px!important;flex-basis:46px!important}
  .bv-benefit-grid-three p{max-width:none!important}
  .bv-about-v16 .bv-about-visual{min-height:280px!important}
  .bv-about-v16 .bv-about-copy{padding:42px 22px!important}
  .bv-about-v16 .bv-about-points{margin:21px 0 24px!important}
  .bv-cta-band-v16{padding:31px 0!important}
  .bv-cta-band-v16 .bv-cta-grid{gap:21px!important}
  .bv-footer{padding-top:38px!important}
  .bv-footer-grid{gap:28px!important}
  .inner-hero{padding-bottom:56px!important}
  .inner-hero .narrow>p:last-child{font-size:14px!important;line-height:1.65!important}
  .content-card,.note-panel,.service-detail,.contact-form-card{border-radius:17px!important}
}
