/* V Care U - homepage brand layer (loaded after style.css). Seniar layouts are untouched; only tokens and content-specific tweaks live here. */
:root{
  --theme-color1:#003B8E; --theme-color1-rgb:0,59,142;
  --theme-color2:#09295B; --theme-color2-rgb:9,41,91;
  --theme-color3:#09295B; --theme-color3-rgb:9,41,91;
  --vcu-red:#E60012; --vcu-light:#EDF5FF;
  --bg-color:#EDF5FF;
  --headings-color:#09295B;
  --text-color:#52637A;
  --link-color:#003B8E;
  --link-hover-color:#E60012;
}
html{ scroll-behavior:smooth; }
#care-solutions,#contact{ scroll-margin-top:90px; }


/* two-card care solutions */


/* testimonials (no photos / ratings) */
.testimonial-block-two .testimonial-name{ font-size:20px; }

/* enquiry form */
.contact-form .form-clt select{ width:100%; }
.form-status{ margin:16px 0 0; font-size:14px; line-height:1.6; color:#fff; }
.form-status.is-error{ color:#ffd0d4; }
.form-status.is-pending{ color:#fff; font-weight:600; }
.single-contact-info-box .icon-info .info span{ color:#fff; }

/* footer */
.footer-single-widget .footer-logo img{ width:96px; height:96px; background:#fff; border-radius:50%; padding:6px; }
.footer-single-widget .footer-contact .number{ display:block; }
.footer-bottom-wrapper .dev-credit{ margin:0; }
@media (max-width:767px){ .footer-bottom-wrapper{ text-align:center; } }

/* mobile */
@media (max-width:575px){
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}


/* how we care: no hover-reveal link on these cards, so show the content in place */
.features-section-two .service-block-three{ height:100%; }
.features-section-two .service-block-three .content{ transform:none; }

.contact-form .form-clt .nice-select{ width:100%; float:none; margin-bottom:10px; }
.single-contact-info-box .icon-info{ display:flex; align-items:center; gap:16px; }
.single-contact-info-box .icon-info .info{ flex:1; min-width:0; }

/* ---------- Hero (Seniar Home 03 composition, V Care U tones) ---------- */
.banner-section-three .outer-container .banner-outer .banner-content .inner-content .sub-title{ color:#ff7d86; }
.banner-section-three .outer-container .banner-outer .banner-content .inner-content .banner-title{ font-size:clamp(34px,4.4vw,72px); margin-bottom:28px; }
.banner-section-three .outer-container .banner-outer .banner-content .inner-content .text{ max-width:520px; margin-bottom:38px; }
.hero-btns{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.hero-btns .theme-btn{ margin:0; }
.hero-btns .btn-style-one:not(.light){ background-color:var(--vcu-red); }
.hero-btns .btn-style-one:not(.light):hover{ background-color:#b8000e; }
.hero-btns .btn-style-one:not(.light) .btn-arrow-left,
.hero-btns .btn-style-one:not(.light) .btn-arrow-right{ color:var(--vcu-red); }
.hero-btns .btn-style-one.light .btn-title{ color:var(--vcu-navy,#09295B); }
.hero-btns .btn-style-one.light .btn-arrow-left,
.hero-btns .btn-style-one.light .btn-arrow-right{ background-color:#003B8E; color:#fff; }
@media (max-width:767.98px){
  .hero-btns{ justify-content:center; }
}

/* ---------- Our Care Solutions: image-led service cards (built on Seniar features-block / service patterns) ---------- */
.vcu-solutions{ position:relative; margin:0 20px; border-radius:30px; background:var(--bg-color); }
@media (max-width:469.98px){ .vcu-solutions{ margin:0 16px; } }
.vcu-service{ position:relative; height:100%; display:flex; flex-direction:column; }
.vcu-service-thumb{ position:relative; display:block; aspect-ratio:16/11; overflow:hidden; border-radius:26px; box-shadow:0 22px 50px -26px rgba(9,41,91,.55); }
.vcu-service-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.vcu-service-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,41,91,0) 45%, rgba(9,41,91,.55) 100%); }
.vcu-service-no{ position:absolute; z-index:2; top:20px; right:28px; font-size:64px; line-height:1; font-weight:500; color:rgba(255,255,255,.85); letter-spacing:-.02em; text-shadow:0 2px 18px rgba(9,41,91,.35); }
.vcu-service-panel{ position:relative; z-index:3; flex:1; margin:-84px 28px 0; padding:58px 38px 34px; background:#fff; border-radius:22px; box-shadow:0 26px 60px -24px rgba(9,41,91,.35); transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
.vcu-service-panel::before{ content:""; position:absolute; left:38px; right:38px; top:0; height:3px; background:linear-gradient(90deg,#E60012 0 56px,rgba(0,59,142,.14) 56px 100%); }
.vcu-service-icon{ position:absolute; top:-34px; left:38px; width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--theme-color1); color:#fff; box-shadow:0 12px 26px -8px rgba(0,59,142,.6); border:5px solid #fff; transition:background-color .4s ease, transform .5s ease; }
.vcu-service-icon i{ line-height:1; }
.vcu-service-icon i::before{ font-size:30px; line-height:30px; }
.vcu-service-title{ font-size:clamp(26px,2.2vw,32px); line-height:1.15; margin:0 0 14px; }
.vcu-service-title a{ color:var(--theme-color2); transition:color .3s ease; }
.vcu-service-panel{ display:flex; flex-direction:column; align-items:flex-start; }
.vcu-service-text{ font-size:17px; line-height:1.75; color:#52637A; margin:0 0 22px; flex:1; }
.vcu-service-link{ display:inline-flex; align-items:center; gap:12px; font-size:17px; font-weight:600; color:var(--theme-color1); }
.vcu-service-link i{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:rgba(230,0,18,.1); color:#E60012; font-size:13px; transition:transform .35s ease, background-color .35s ease, color .35s ease; }
.vcu-service:hover .vcu-service-thumb img{ transform:scale(1.07); }
.vcu-service:hover .vcu-service-panel{ transform:translateY(-8px); box-shadow:0 34px 70px -22px rgba(9,41,91,.45); }
.vcu-service:hover .vcu-service-icon{ background:#E60012; transform:rotate(-6deg) scale(1.05); }
.vcu-service:hover .vcu-service-title a{ color:var(--theme-color1); }
.vcu-service:hover .vcu-service-link i{ transform:translateX(5px); background:#E60012; color:#fff; }
@media (max-width:575.98px){
  .vcu-service-panel{ margin:-60px 14px 0; padding:54px 22px 26px; }
  .vcu-service-panel::before{ left:22px; right:22px; }
  .vcu-service-icon{ left:22px; width:62px; height:62px; top:-31px; }
  .vcu-service-no{ font-size:46px; top:14px; right:20px; }
  .vcu-service-text{ font-size:16px; }
}

/* ---------- About V Care U: editorial collage ---------- */
.vcu-about .image-column .inner-column{ z-index:0; }
.vcu-about-dots{ position:absolute; z-index:0; top:70px; right:6px; width:96px; height:170px; background-image:radial-gradient(#E60012 2px, transparent 2.5px); background-size:18px 18px; opacity:.45; }
.vcu-about .image-column .inner-column .images{ z-index:1; }
.vcu-about .image-column .inner-column .images.one::before{ content:""; position:absolute; z-index:-1; top:-20px; left:-20px; right:103px; bottom:20px; border:2px solid #E60012; }
.vcu-about .image-column .inner-column .images.two::after{ content:""; position:absolute; z-index:-1; right:36px; bottom:-26px; width:190px; height:210px; background:var(--theme-color1); }
.vcu-about .image-column .inner-column .images .image{ box-shadow:0 30px 60px -28px rgba(9,41,91,.5); background:#fff; }
@media (max-width:1399.98px){ .vcu-about .image-column .inner-column .images.two::after{ right:-14px; width:150px; height:170px; } }
@media (max-width:767.98px){
  .vcu-about .image-column .inner-column .images.one::before{ right:0; }
  .vcu-about-dots{ display:none; }
}
.vcu-about .content-column .inner-column .sec-title .title{ font-size:clamp(34px,3.7vw,56px); line-height:1.1; margin-bottom:28px; color:var(--theme-color2); }
.vcu-about .content-column .inner-column .sec-title .text{ font-size:18px; line-height:1.85; color:#3d4f6b; max-width:560px; padding-left:22px; border-left:3px solid #E60012; margin:0 0 34px; }
.vcu-about .list-style-one{ margin:0 0 38px; max-width:560px; border-top:1px solid rgba(0,59,142,.14); }
.vcu-about .list-style-one li{ padding:15px 0; margin:0; border-bottom:1px solid rgba(0,59,142,.14); font-size:17px; font-weight:600; color:var(--theme-color2); }
.vcu-about .list-style-one li i{ color:var(--theme-color1); }
@media (max-width:767.98px){
  .vcu-about .content-column .inner-column .sec-title .text{ font-size:16px; padding-left:16px; }
}
@media (max-width:1199.98px){ .vcu-about .image-column .inner-column .images.one::before{ top:-14px; left:-8px; } }
@media (max-width:767.98px){ .vcu-about .image-column .inner-column .images.one::before{ left:-6px; right:6px; top:-12px; bottom:12px; } }
@media (max-width:575.98px){ .vcu-service-link{ font-size:15px; gap:8px; } .vcu-service-link i{ width:30px; height:30px; } }

/* feature strip: compact bottom edge so the larger Care Solutions block follows smoothly */
.features-section.section-padding{ padding-bottom:50px; }

/* ---------- Why Choose V Care U: refined 2x2 benefits on the original navy panel ---------- */
.why-choose-us-section .outer-box .content-column .inner-column{ display:flex; flex-direction:column; justify-content:center; }
.why-choose-us-section .outer-box .content-column .inner-column .sec-title .title{ max-width:520px; line-height:1.15; text-wrap:balance; margin-bottom:44px; }
.vcu-benefits{ display:grid; grid-template-columns:1fr 1fr; max-width:680px; border-top:1px solid rgba(237,245,255,.16); }
.vcu-benefit{ display:flex; gap:18px; align-items:flex-start; padding:30px 28px 30px 0; border-bottom:1px solid rgba(237,245,255,.16); }
.vcu-benefit:nth-child(odd){ border-right:1px solid rgba(237,245,255,.16); }
.vcu-benefit:nth-child(even){ padding-left:28px; padding-right:0; }
.vcu-benefit-icon{ flex:0 0 54px; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(237,245,255,.07); border:1px solid rgba(156,196,255,.4); color:#9cc4ff; font-size:21px; transition:background-color .35s ease, border-color .35s ease, color .35s ease, transform .35s ease; }
.vcu-benefit:hover .vcu-benefit-icon{ background:rgba(230,0,18,.16); border-color:rgba(255,125,134,.7); color:#ff9aa1; transform:translateY(-3px); }
.vcu-benefit-title{ font-size:20px; line-height:1.3; font-weight:600; color:#fff; margin:0 0 8px; }
.vcu-benefit-text{ font-size:15.5px; line-height:1.65; color:rgba(237,245,255,.78); margin:0; }
@media (max-width:1399.98px){ .vcu-benefit{ padding-top:26px; padding-bottom:26px; } }
@media (max-width:991.98px){ .vcu-benefits{ max-width:none; } }
@media (max-width:575.98px){
  .vcu-benefits{ grid-template-columns:1fr; }
  .vcu-benefit,.vcu-benefit:nth-child(even),.vcu-benefit:nth-child(odd){ padding:24px 0; border-right:0; }
  .why-choose-us-section .outer-box .content-column .inner-column .sec-title .title{ margin-bottom:30px; }
}

/* ---------- FAQ: original Seniar faq-section-two, V Care U content ---------- */
.faq-section-two.section-bg{ background-color:#F5F2EC !important; }
.faq-section-two .accordion-box .acc-btn{ cursor:pointer; }
.faq-section-two .accordion-box .acc-btn:focus-visible{ outline:2px solid var(--theme-color1); outline-offset:2px; }
.faq-section-two .accordion-box .acc-content .text p{ margin:0 0 12px; }
.faq-section-two .accordion-box .acc-content .text p:last-child{ margin-bottom:0; }
.faq-section-two .accordion-box .acc-content .text a{ color:var(--theme-color1); font-weight:600; text-decoration:underline; }
.faq-section-two .inner-coloumn .info-box .inner-box{ background-color:#09295B; border-bottom:3px solid #E60012; }
.faq-section-two .inner-coloumn .info-box .info .icon{ color:#E60012; }
.faq-section-two .inner-coloumn .info-box .btn-style-three:hover{ color:#fff; }

/* Seniar's follow-the-mouse cursor dots: show only once a real mouse moves, never on touch screens
   (otherwise the two blue dots sit parked at the top-left of the page). */
.mouseCursor{ visibility:hidden !important; }
body.vcu-mouse-active .mouseCursor{ visibility:visible !important; }
@media (hover:none), (pointer:coarse){ .mouseCursor{ display:none !important; } }
.contact-form .form-clt .nice-select{ padding-left:22px; height:61px; line-height:61px; }

/* Enquiry -> Footer: the demo news section that used to sit between them was removed, so restore the white gap. */
.contact-section-2{ margin-bottom:60px; }
@media (max-width:991.98px){ .contact-section-2{ margin-bottom:40px; } }
@media (max-width:575.98px){ .contact-section-2{ margin-bottom:28px; } }

/* inner-page banner: tighter than the template's 510px so there is less empty space above and below the title (all inner pages) */
.page-title{ min-height:340px; }
@media (max-width:767.98px){ .page-title{ min-height:260px; } }

/* footer: less empty space between the link columns and the copyright bar (all pages) */
.footer-area .footer-widget-wrapper{ padding-bottom:20px; }
.footer-area .footer-bottom{ margin-top:30px; }

/* footer bottom bar: centred copyright + credit (all pages) */
.footer-area .footer-bottom .footer-bottom-wrapper{ flex-direction:column; justify-content:center; align-items:center; gap:6px; text-align:center; }
.footer-area .footer-bottom .footer-bottom-wrapper p{ margin:0; text-align:center; }
/* footer bottom bar: copyright and credit on one centred line (wraps on narrow screens) */
.footer-area .footer-bottom .footer-bottom-wrapper{ flex-direction:row; flex-wrap:wrap; gap:6px 10px; }
.footer-area .footer-bottom .footer-bottom-wrapper p + p::before{ content:"|"; margin-right:10px; opacity:.5; }
@media (max-width:767.98px){ .footer-area .footer-bottom .footer-bottom-wrapper p + p::before{ display:none; } }

/* footer background photo (replaces the template image; the template's navy overlay and 7% fade are kept) */
.footer-area:before{ background-image:url(../images/background/footer-vcareu.jpg); background-position:center 30%; }
.footer-area .footer-bottom .footer-bottom-wrapper p a{ color:inherit; font-weight:600; text-decoration:none; transition:color .3s ease; }
.footer-area .footer-bottom .footer-bottom-wrapper p a:hover{ color:#ff9aa1; }

/* back-to-top button: brand red (all pages) */
.back-to-top-btn{ background:#E60012; }
.back-to-top-btn:hover{ background:var(--theme-color2); }

/* inner pages: tighter vertical rhythm between sections (the template's 120px top + 120px bottom doubled up to 240px).
   Scoped with ".page-title ~" so the homepage is untouched. */
.page-title ~ .section-padding,
.page-title ~ .vcu-ask,
.page-title ~ .about-section.vcu-who{ padding-top:80px; padding-bottom:80px; }
.page-title ~ .vcu-welcome{ padding-top:70px; padding-bottom:50px; }
.page-title ~ .vcu-nintro{ padding-top:80px; padding-bottom:70px; }
.page-title ~ .vcu-steps{ padding-bottom:80px; }
.page-title ~ .vcu-gallery{ padding-top:80px; padding-bottom:70px; }
.page-title ~ .vcu-ocal{ margin-top:60px; }
.page-title ~ .vcu-ncta{ margin-top:60px; }
@media (max-width:991.98px){
  .page-title ~ .section-padding,
  .page-title ~ .vcu-ask,
  .page-title ~ .about-section.vcu-who,
  .page-title ~ .vcu-nintro,
  .page-title ~ .vcu-gallery{ padding-top:60px; padding-bottom:60px; }
  .page-title ~ .vcu-welcome{ padding-top:56px; padding-bottom:40px; }
  .page-title ~ .vcu-steps{ padding-bottom:60px; }
  .page-title ~ .vcu-ocal,.page-title ~ .vcu-ncta{ margin-top:44px; }
}
@media (max-width:575.98px){
  .page-title ~ .section-padding,
  .page-title ~ .vcu-ask,
  .page-title ~ .about-section.vcu-who,
  .page-title ~ .vcu-nintro,
  .page-title ~ .vcu-gallery{ padding-top:48px; padding-bottom:48px; }
  .page-title ~ .vcu-welcome{ padding-top:44px; padding-bottom:32px; }
  .page-title ~ .vcu-steps{ padding-bottom:48px; }
}

/* why choose: client intro line above the four points */
.vcu-why-intro{ font-size:17px; line-height:1.8; color:rgba(237,245,255,.82); max-width:600px; margin:18px 0 30px; }
.why-choose-us-section .outer-box .content-column .inner-column .sec-title .title{ margin-bottom:0; }
@media (max-width:575.98px){ .vcu-why-intro{ font-size:16px; margin:14px 0 24px; } }

/* ---------- Home: client reviews carousel ---------- */
.vcu-reviews{ background:#fff; }
.vcu-reviews .sec-title .title{ text-wrap:balance; }
.vcu-reviews-wrap{ max-width:1240px; margin:0 auto; }
.vcu-reviews-slider{ overflow:hidden; padding:14px 6px 34px; margin:0 -6px; }
.vcu-reviews-slider .swiper-slide{ height:auto; }
.vcu-rv{ position:relative; height:100%; margin:0; display:flex; flex-direction:column; padding:44px 34px 30px; background:linear-gradient(160deg,#EDF5FF 0%,#fff 70%); border:1px solid rgba(0,59,142,.12); border-radius:26px; box-shadow:0 26px 48px -38px rgba(9,41,91,.45); transition:transform .45s ease, box-shadow .45s ease, border-color .35s ease; }
.vcu-rv:hover{ transform:translateY(-8px); box-shadow:0 36px 60px -34px rgba(9,41,91,.5); border-color:rgba(230,0,18,.3); }
.vcu-rv::before{ content:""; position:absolute; left:34px; top:0; width:56px; height:4px; border-radius:0 0 4px 4px; background:#E60012; transition:width .4s ease; }
.vcu-rv:hover::before{ width:110px; }
.vcu-rv-quote{ position:absolute; right:30px; top:26px; font-size:44px; line-height:1; color:rgba(0,59,142,.12); transition:color .35s ease, transform .5s ease; }
.vcu-rv:hover .vcu-rv-quote{ color:rgba(230,0,18,.28); transform:rotate(-8deg) scale(1.08); }
.vcu-rv-title{ font-size:clamp(22px,1.9vw,26px); line-height:1.25; color:var(--theme-color1); margin:0 0 14px; padding-right:60px; }
.vcu-rv-text{ flex:1; margin:0 0 26px; padding:0; border:0; font-size:17px; line-height:1.8; color:#44556f; font-style:normal; }
.vcu-rv-by{ display:flex; align-items:center; gap:14px; padding-top:20px; border-top:1px solid rgba(0,59,142,.14); }
.vcu-rv-avatar{ flex:0 0 50px; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--theme-color1); color:#fff; font-size:16px; font-weight:600; letter-spacing:.02em; }
.vcu-rv:nth-child(even) .vcu-rv-avatar,.swiper-slide:nth-child(even) .vcu-rv-avatar{ background:#E60012; }
.vcu-rv-by strong{ display:block; font-size:17px; font-weight:600; color:var(--theme-color2); line-height:1.3; }
.vcu-rv-by small{ display:block; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#6b7b92; margin-top:2px; }

.vcu-reviews-nav{ display:flex; align-items:center; justify-content:center; gap:22px; }
.vcu-rv-prev,.vcu-rv-next{ width:50px; height:50px; border-radius:50%; border:1px solid rgba(0,59,142,.25); background:#fff; color:var(--theme-color1); font-size:15px; cursor:pointer; transition:background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease; }
.vcu-rv-prev:hover,.vcu-rv-next:hover{ background:#E60012; border-color:#E60012; color:#fff; transform:translateY(-2px); }
.vcu-rv-prev:focus-visible,.vcu-rv-next:focus-visible{ outline:3px solid #E60012; outline-offset:3px; }
.vcu-rv-prev.swiper-button-disabled,.vcu-rv-next.swiper-button-disabled{ opacity:.35; pointer-events:none; }
.vcu-rv-dots{ display:flex; align-items:center; gap:10px; }
.vcu-rv-dots .swiper-pagination-bullet{ width:10px; height:10px; border-radius:10px; background:rgba(0,59,142,.25); opacity:1; margin:0 !important; transition:width .35s ease, background-color .35s ease; }
.vcu-rv-dots .swiper-pagination-bullet-active{ width:30px; background:#E60012; }

@media (max-width:575.98px){
  .vcu-rv{ padding:38px 24px 24px; border-radius:22px; }
  .vcu-rv-text{ font-size:16.5px; }
  .vcu-reviews-nav{ gap:16px; }
}
@media (prefers-reduced-motion:reduce){ .vcu-rv,.vcu-rv-quote,.vcu-rv::before{ transition:none; } }
.vcu-reviews-nav .vcu-rv-dots{ position:static !important; width:auto !important; flex:0 0 auto; justify-content:center; transform:none !important; }

/* reviews: source label, clamped text with "Read more" */
.vcu-rv-src{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin:0 0 14px; padding:6px 14px; border-radius:30px; background:rgba(0,59,142,.08); font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--theme-color1); }
.vcu-rv.is-google .vcu-rv-src{ background:#fff; border:1px solid rgba(0,59,142,.14); color:var(--theme-color2); }
.vcu-rv.is-google .vcu-rv-src i{ color:#E60012; font-size:14px; }
.vcu-rv-title{ margin-top:0; }
.vcu-rv-text{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; overflow:hidden; margin-bottom:10px; }
.vcu-rv.is-open .vcu-rv-text{ display:block; -webkit-line-clamp:unset; overflow:visible; }
.vcu-rv-more{ align-self:flex-start; margin:0 0 18px; padding:0; background:none; border:0; color:var(--theme-color1); font-size:15px; font-weight:600; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.vcu-rv-more[hidden]{ display:none; }
.vcu-rv-more:hover{ color:#E60012; }
.vcu-rv-more:focus-visible{ outline:2px solid #E60012; outline-offset:3px; }
.vcu-rv-text{ flex:0 1 auto; }
.vcu-rv-by{ margin-top:auto; }
.vcu-rv-quote{ top:22px; }

/* ---------- Hero photo: keep the family on the right, text on the left ---------- */
.banner-section-three .outer-container .banner-outer .bg-image img{ object-position:100% 50%; }
@media (min-width:768px) and (max-width:991.98px){
  .banner-section-three .outer-container .banner-outer .banner-content .inner-content{ max-width:56%; }
}
/* phones: text on a navy top, the photo fades in underneath so every face stays visible */
@media (max-width:767.98px){
  .banner-section-three .outer-container .banner-outer{ min-height:1000px; }
  .banner-section-three .outer-container .banner-outer .bg-image{ background:#09295B; }
  .banner-section-three .outer-container .banner-outer .bg-image img{ position:absolute; left:0; top:auto; bottom:0; width:100%; height:560px; object-position:86% 20%; -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34%); mask-image:linear-gradient(180deg,transparent 0,#000 34%); }
  .banner-section-three .outer-container .banner-outer .bg-image:before{ background:linear-gradient(180deg, rgba(9,41,91,.2) 0%, rgba(9,41,91,0) 60%); }
  .banner-section-three .outer-container .banner-outer .banner-content .inner-content{ padding:70px 0 0; }
}
/* service cards: soft top shade so the large number stays readable on bright photos */
.vcu-service-thumb::before{ content:""; position:absolute; z-index:1; left:0; right:0; top:0; height:42%; background:linear-gradient(180deg, rgba(9,41,91,.5), rgba(9,41,91,0)); pointer-events:none; }
.vcu-about .content-column .inner-column .sec-title .title{ text-wrap:balance; max-width:560px; }
/* why choose: keep both faces in the tall photo crop */
.why-choose-us-section .outer-box .image-column .inner-column .image img{ object-position:100% 40%; }

/* ---------- Floating WhatsApp + Call buttons (left side, all pages) ---------- */
.vcu-float{ position:fixed; left:22px; bottom:26px; z-index:99; display:flex; flex-direction:column; gap:14px; }
.vcu-float-btn{ position:relative; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px; box-shadow:0 14px 28px -10px rgba(9,41,91,.55); transition:transform .35s ease, box-shadow .35s ease; }
.vcu-float-btn i{ line-height:1; }
.vcu-float-btn.is-wa{ background:#25D366; }
.vcu-float-btn.is-call{ background:#E60012; font-size:22px; }
.vcu-float-btn::before{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid currentColor; opacity:.55; animation:vcuFloatPulse 2.4s ease-out infinite; pointer-events:none; }
.vcu-float-btn.is-wa::before{ border-color:#25D366; }
.vcu-float-btn.is-call::before{ border-color:#E60012; animation-delay:1.2s; }
@keyframes vcuFloatPulse{ from{ transform:scale(1); opacity:.6; } to{ transform:scale(1.65); opacity:0; } }
.vcu-float-btn:hover{ transform:translateY(-4px) scale(1.06); box-shadow:0 20px 34px -10px rgba(9,41,91,.6); color:#fff; }
.vcu-float-btn:focus-visible{ outline:3px solid var(--theme-color2); outline-offset:3px; }
.vcu-float-tip{ position:absolute; left:68px; top:50%; transform:translate(-8px,-50%); padding:7px 14px; border-radius:10px; background:var(--theme-color2); color:#fff; font-size:14px; font-weight:600; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; }
.vcu-float-btn:hover .vcu-float-tip,.vcu-float-btn:focus-visible .vcu-float-tip{ opacity:1; transform:translate(0,-50%); }
@media (max-width:575.98px){
  .vcu-float{ left:14px; bottom:18px; gap:12px; }
  .vcu-float-btn{ width:50px; height:50px; font-size:23px; }
  .vcu-float-btn.is-call{ font-size:19px; }
  .vcu-float-tip{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .vcu-float-btn::before{ animation:none; opacity:0; } .vcu-float-btn,.vcu-float-tip{ transition:none; } }

/* sticky header: clear edge and shadow so content sliding under it reads as a layer, not an overlap */
.sticky-header.fixed-header{ box-shadow:0 10px 30px -12px rgba(9,41,91,.28); border-bottom:1px solid rgba(0,59,142,.1); }

/* keep the sticky header above every section while scrolling (the enquiry form column was drawing over it) */
.main-header{ z-index:10000; }
.contact-section-2 .form-column,.contact-section-2 .single-contact-info-box{ z-index:1; }

/* ---------- Preloader: V Care U logo with a soft pulse above the "Loading" label ---------- */
.preloader::after{ content:""; position:absolute; left:50%; top:calc(50% - 85px); width:112px; height:112px; margin-left:-56px; background:url(../images/vcareu/logo-preloader.png) center/contain no-repeat; animation:vcuPreloaderPulse 1.4s ease-in-out infinite; }
@keyframes vcuPreloaderPulse{ 0%,100%{ transform:scale(.92); opacity:.85; } 50%{ transform:scale(1.06); opacity:1; } }
@media (prefers-reduced-motion:reduce){ .preloader::after{ animation:none; } }
/* floating buttons wait until the page has loaded, so they never show on top of the preloader */
body:not(.vcu-ready) .vcu-float{ opacity:0; pointer-events:none; }
.vcu-float{ transition:opacity .4s ease; }
@media (scripting:none){ body:not(.vcu-ready) .vcu-float{ opacity:1; pointer-events:auto; } }
