/* V Care U - Nursing Services page layer. Loaded after style.css, vcareu-header.css and vcareu-home.css.
   Seniar components (page-title, work-section, section titles, buttons) are reused as they are. */

/* ---------- Intro: photo + floating card, animated reveal (same style as the Old Age Home welcome) ---------- */
.vcu-nintro{ padding:90px 0 70px; }
.vcu-nintro-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 90px; align-items:center; max-width:1180px; margin:0 auto; }

.vcu-nintro-media{ position:relative; padding:0 0 38px 0; }
.vcu-nintro-frame{ position:absolute; z-index:0; top:26px; left:-22px; right:22px; bottom:12px; border:2px solid rgba(230,0,18,.55); border-radius:28px; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.vcu-nintro-photo{ position:relative; z-index:1; margin:0; border-radius:28px; overflow:hidden; aspect-ratio:5/4.2; box-shadow:0 34px 60px -38px rgba(9,41,91,.6); }
.vcu-nintro-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; transform:scale(1.04); animation:vcuDrift 22s ease-in-out infinite alternate; }
.vcu-nintro-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,41,91,0) 55%, rgba(9,41,91,.28)); }
.vcu-nintro-media:hover .vcu-nintro-frame{ transform:translate(8px,-8px); }

/* floating card: the two care settings */
.vcu-nintro-card{ position:absolute; z-index:2; right:-34px; bottom:0; width:310px; margin:0; padding:20px 24px; list-style:none; background:#fff; border-radius:20px; box-shadow:0 26px 50px -26px rgba(9,41,91,.55); animation:vcuFloat 6s ease-in-out infinite; }
.vcu-nintro-card::before{ content:""; position:absolute; left:0; top:20px; bottom:20px; width:4px; border-radius:0 4px 4px 0; background:linear-gradient(180deg,#E60012,var(--theme-color1)); }
.vcu-nintro-card li{ display:flex; align-items:center; gap:14px; font-size:16.5px; font-weight:600; line-height:1.4; color:var(--theme-color2); }
.vcu-nintro-card li + li{ margin-top:14px; padding-top:14px; border-top:1px solid rgba(0,59,142,.12); }
.vcu-nintro-ico{ flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(0,59,142,.1); color:var(--theme-color1); font-size:17px; }
.vcu-nintro-ico.is-red{ background:rgba(230,0,18,.1); color:#E60012; animation:vcuBeat 2.8s ease-in-out infinite; }

/* text */
.vcu-nintro .sec-title .title{ font-size:clamp(30px,3vw,44px); line-height:1.1; letter-spacing:0; color:var(--theme-color2); max-width:520px; text-wrap:balance; margin-bottom:20px; }
.vcu-nintro-rule{ display:block; width:76px; height:4px; border-radius:4px; background:linear-gradient(90deg,#E60012,var(--theme-color1)); transform-origin:left center; }
.vcu-nintro-text{ margin-top:26px; }
.vcu-nintro-text p{ font-size:17px; line-height:1.85; color:#52637A; margin:0 0 14px; }
.vcu-nintro-text p:first-child{ color:var(--theme-color2); font-weight:500; }
.vcu-nintro-text p:last-child{ margin-bottom:0; }

/* animations (WOW.js adds .animated on scroll) */
@keyframes vcuReveal{ from{ opacity:0; transform:translateY(34px) scale(.97); clip-path:inset(0 0 14% 0 round 28px); } to{ opacity:1; transform:none; clip-path:inset(0 0 0 0 round 28px); } }
@keyframes vcuGrow{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes vcuDrift{ from{ transform:scale(1.04) translate(0,0); } to{ transform:scale(1.12) translate(-1.5%,-1%); } }
@keyframes vcuFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes vcuBeat{ 0%,100%{ transform:scale(1); } 12%{ transform:scale(1.16); } 24%{ transform:scale(1); } 36%{ transform:scale(1.1); } }
.vcuReveal{ animation-name:vcuReveal; animation-duration:1.1s; animation-timing-function:cubic-bezier(.2,.7,.2,1); }
.vcuGrow{ animation-name:vcuGrow; animation-duration:.9s; animation-timing-function:cubic-bezier(.2,.7,.2,1); }

@media (max-width:1199.98px){ .vcu-nintro-grid{ gap:0 60px; } .vcu-nintro-card{ right:-20px; width:280px; } }
@media (max-width:991.98px){
  .vcu-nintro{ padding:70px 0 50px; }
  .vcu-nintro-grid{ grid-template-columns:1fr; gap:46px 0; max-width:640px; }
  .vcu-nintro-photo{ aspect-ratio:16/11; }
  .vcu-nintro-card{ right:12px; }
  .vcu-nintro-frame{ left:-12px; right:12px; }
}
@media (max-width:575.98px){
  .vcu-nintro{ padding:52px 0 40px; }
  .vcu-nintro-media{ padding-bottom:30px; }
  .vcu-nintro-photo{ aspect-ratio:4/3.3; border-radius:22px; }
  .vcu-nintro-frame{ border-radius:22px; top:20px; left:-8px; right:8px; }
  .vcu-nintro-card{ position:relative; right:auto; bottom:auto; width:auto; margin:-34px 14px 0; padding:16px 18px; animation:none; }
  .vcu-nintro-card li{ font-size:15.5px; }
  .vcu-nintro-text p{ font-size:16px; }
}
@media (prefers-reduced-motion:reduce){
  .vcu-nintro-photo img,.vcu-nintro-card,.vcu-nintro-ico{ animation:none; }
  .vcuReveal,.vcuGrow{ animation-duration:.01ms; }
}

/* ---------- Nursing services: five equal services, tabbed showcase ---------- */
.vcu-options{ position:relative; margin:0 20px; border-radius:30px; }
@media (max-width:469.98px){ .vcu-options{ margin:0 16px; } }
.vcu-svc{ display:grid; grid-template-columns:minmax(300px,380px) minmax(0,1fr); gap:0 40px; align-items:stretch; max-width:1240px; margin:0 auto; }

/* tab list */
.vcu-svc-tabs{ display:flex; flex-direction:column; gap:12px; }
.vcu-svc-tab{ position:relative; display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:16px 20px; background:#fff; border:1px solid rgba(0,59,142,.14); border-radius:18px; cursor:pointer; font-family:var(--heading-font-family); color:var(--theme-color2); transition:background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease; flex:1 1 0; }
.vcu-svc-tab:hover{ transform:translateX(6px); border-color:var(--theme-color1); }
.vcu-svc-tab:focus-visible{ outline:3px solid #E60012; outline-offset:2px; }
.vcu-svc-tab-no{ flex:0 0 auto; font-size:15px; font-weight:600; letter-spacing:.08em; color:#E60012; transition:color .35s ease; }
.vcu-svc-tab-icon{ flex:0 0 46px; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(0,59,142,.08); color:var(--theme-color1); font-size:19px; transition:background-color .35s ease, color .35s ease; }
.vcu-svc-tab-icon i{ line-height:1; }
.vcu-svc-tab-icon i.flaticon-set-nursing-home::before,.vcu-svc-tab-icon i.flaticon-set-care-1::before,.vcu-svc-tab-icon i.flaticon-set-old-people::before{ font-size:24px; line-height:24px; }
.vcu-svc-tab-label{ flex:1; font-size:19px; font-weight:500; line-height:1.25; }
.vcu-svc-tab-arrow{ flex:0 0 auto; font-size:14px; opacity:0; transform:translateX(-8px); transition:opacity .35s ease, transform .35s ease; }
.vcu-svc-tab.is-active{ background:var(--theme-color1); border-color:var(--theme-color1); color:#fff; box-shadow:0 22px 38px -24px rgba(0,59,142,.8); transform:translateX(10px); }
.vcu-svc-tab.is-active .vcu-svc-tab-no{ color:#ff9aa1; }
.vcu-svc-tab.is-active .vcu-svc-tab-icon{ background:rgba(255,255,255,.16); color:#fff; }
.vcu-svc-tab.is-active .vcu-svc-tab-arrow{ opacity:1; transform:none; }

/* panel */
.vcu-svc-panels{ position:relative; background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 34px 60px -42px rgba(9,41,91,.55); }
.vcu-svc-panel{ display:none; flex-direction:column; height:100%; }
.vcu-svc-panel.is-active{ display:flex; animation:vcuPanelIn .6s cubic-bezier(.2,.7,.2,1); }
.vcu-svc-panel[hidden]{ display:none; }
@keyframes vcuPanelIn{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.vcu-svc-img{ position:relative; flex:1 1 auto; min-height:300px; overflow:hidden; }
.vcu-svc-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; transform:scale(1.06); animation:vcuSvcZoom 14s ease-in-out infinite alternate; }
@keyframes vcuSvcZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.12); } }
.vcu-svc-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,41,91,0) 55%, rgba(9,41,91,.35)); }
.vcu-svc-no{ position:absolute; z-index:2; left:30px; bottom:16px; font-size:74px; line-height:1; font-weight:500; color:#fff; text-shadow:0 4px 22px rgba(9,41,91,.45); }
.vcu-svc-body{ position:relative; padding:46px 44px 38px; }
.vcu-svc-icon{ position:absolute; right:40px; top:-34px; width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#E60012; color:#fff; font-size:27px; border:5px solid #fff; box-shadow:0 14px 28px -14px rgba(230,0,18,.7); }
.vcu-svc-icon i{ line-height:1; }
.vcu-svc-icon i.flaticon-set-nursing-home::before,.vcu-svc-icon i.flaticon-set-care-1::before,.vcu-svc-icon i.flaticon-set-old-people::before{ font-size:32px; line-height:32px; }
.vcu-svc-title{ font-size:clamp(26px,2.6vw,36px); line-height:1.15; color:var(--theme-color2); margin:0 0 14px; }
.vcu-svc-title::after{ content:""; display:block; width:56px; height:3px; margin-top:16px; background:#E60012; }
.vcu-svc-body p{ font-size:17.5px; line-height:1.85; color:#52637A; margin:0; max-width:640px; }

@media (max-width:1199.98px){ .vcu-svc{ grid-template-columns:minmax(260px,320px) minmax(0,1fr); gap:0 28px; } .vcu-svc-tab-label{ font-size:17px; } .vcu-svc-body{ padding:42px 32px 32px; } }
/* below 992px: tabs hidden, all five services shown as stacked cards */
@media (max-width:991.98px){
  .vcu-svc{ display:block; }
  .vcu-svc-tabs{ display:none; }
  .vcu-svc-panels{ background:transparent; box-shadow:none; border-radius:0; overflow:visible; }
  .vcu-svc-panel,.vcu-svc-panel[hidden]{ display:flex !important; animation:none; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 26px 48px -36px rgba(9,41,91,.5); margin-bottom:34px; height:auto; }
  .vcu-svc-panel:last-child{ margin-bottom:0; }
  .vcu-svc-img{ flex:none; min-height:0; aspect-ratio:16/10; }
  .vcu-svc-no{ font-size:56px; left:22px; }
  .vcu-svc-body{ padding:42px 28px 30px; }
  .vcu-svc-icon{ right:26px; }
}
@media (max-width:575.98px){
  .vcu-svc-img{ aspect-ratio:4/3; }
  .vcu-svc-body{ padding:40px 22px 26px; }
  .vcu-svc-icon{ width:58px; height:58px; top:-29px; font-size:23px; }
  .vcu-svc-body p{ font-size:16.5px; }
  .vcu-svc-no{ font-size:46px; }
}
@media (prefers-reduced-motion:reduce){ .vcu-svc-img img,.vcu-svc-panel.is-active{ animation:none; } .vcu-svc-tab,.vcu-svc-tab-arrow{ transition:none; } }

/* ---------- How to get started (Seniar work-section) ---------- */
.vcu-steps{ background:var(--bg-color); margin:0 20px; border-radius:30px; padding-bottom:110px; }
@media (max-width:469.98px){ .vcu-steps{ margin:0 16px; } }
.vcu-steps .sec-title .title{ font-size:clamp(32px,3.4vw,50px); line-height:1.12; color:var(--theme-color2); }
.vcu-steps .working-outer{ background:#fff; border-color:rgba(0,59,142,.12); margin-top:130px; padding-bottom:40px; }
.vcu-steps .working-outer::before{ background-color:rgba(0,59,142,.35); }
.vcu-steps .working-block .inner-block .step{ background:var(--theme-color1); color:#fff; }
.vcu-steps .working-block .inner-block:hover .step{ background:#E60012; }
.vcu-steps .working-block .inner-block .title{ font-size:clamp(23px,2vw,28px); color:var(--theme-color2); }
.vcu-steps .working-block .inner-block .text{ font-size:16.5px; line-height:1.75; }
@media (max-width:767.98px){
  .vcu-steps{ padding-bottom:70px; }
  .vcu-steps .working-outer{ margin-top:30px; background:transparent; padding-bottom:0; }
}

/* ---------- CTA: photo + content split card ---------- */
.vcu-ncta{ padding:0 20px; margin:70px 0 60px; }
@media (max-width:991.98px){ .vcu-ncta{ margin:50px 0 40px; } }
@media (max-width:575.98px){ .vcu-ncta{ padding:0 16px; margin:40px 0 30px; } }
.vcu-ncta-box{ position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); max-width:1200px; margin:0 auto; border-radius:32px; overflow:hidden; background:linear-gradient(135deg,#EDF5FF 0%,#fff 70%); border:1px solid rgba(0,59,142,.14); box-shadow:0 40px 70px -48px rgba(9,41,91,.55); }
.vcu-ncta-media{ position:relative; min-height:380px; overflow:hidden; }
.vcu-ncta-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; transform:scale(1.05); animation:vcuNctaZoom 16s ease-in-out infinite alternate; }
@keyframes vcuNctaZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.13); } }
.vcu-ncta-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(9,41,91,0) 55%, rgba(237,245,255,.0)), linear-gradient(0deg, rgba(9,41,91,.45), rgba(9,41,91,0) 45%); }
.vcu-ncta-badge{ position:absolute; z-index:2; left:24px; bottom:24px; display:inline-flex; align-items:center; gap:10px; padding:10px 18px; border-radius:40px; background:#fff; color:var(--theme-color2); font-size:15px; font-weight:600; box-shadow:0 14px 28px -14px rgba(9,41,91,.6); animation:vcuNctaFloat 5s ease-in-out infinite; }
.vcu-ncta-badge i{ color:#E60012; animation:vcuNctaBeat 2.4s ease-in-out infinite; }
@keyframes vcuNctaFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }
@keyframes vcuNctaBeat{ 0%,100%{ transform:scale(1); } 15%{ transform:scale(1.25); } 30%{ transform:scale(1); } }

.vcu-ncta-content{ position:relative; padding:54px 56px 54px 56px; display:flex; flex-direction:column; justify-content:center; }
.vcu-ncta-content::before{ content:""; position:absolute; left:0; top:48px; bottom:48px; width:4px; border-radius:0 4px 4px 0; background:linear-gradient(180deg,#E60012,var(--theme-color1)); }
.vcu-ncta-eyebrow{ display:inline-block; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#E60012; margin-bottom:14px; }
.vcu-ncta-title{ font-size:clamp(28px,2.9vw,42px); line-height:1.15; color:var(--theme-color2); margin:0 0 16px; }
.vcu-ncta-text{ font-size:17.5px; line-height:1.8; color:#52637A; margin:0 0 30px; max-width:520px; }
.vcu-ncta-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:22px 30px; }
.vcu-ncta-phone{ display:inline-flex; align-items:center; gap:22px; color:var(--theme-color2); }
.vcu-ncta-ring{ position:relative; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#E60012; color:#fff; font-size:18px; }
.vcu-ncta-ring::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid rgba(230,0,18,.55); animation:vcuNctaPulse 2.2s ease-out infinite; }
@keyframes vcuNctaPulse{ from{ transform:scale(1); opacity:.9; } to{ transform:scale(1.7); opacity:0; } }
.vcu-ncta-num{ font-size:22px; font-weight:600; line-height:1.2; }
.vcu-ncta-num small{ display:block; font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#6b7b92; margin-bottom:2px; }
.vcu-ncta-phone:hover .vcu-ncta-num{ color:var(--theme-color1); }

@media (max-width:991.98px){
  .vcu-ncta-box{ grid-template-columns:1fr; max-width:640px; }
  .vcu-ncta-media{ min-height:0; aspect-ratio:16/10; }
  .vcu-ncta-content{ padding:40px 34px 42px; }
  .vcu-ncta-content::before{ display:none; }
}
@media (max-width:575.98px){
  .vcu-ncta-box{ border-radius:24px; }
  .vcu-ncta-content{ padding:32px 22px 34px; }
  .vcu-ncta-text{ font-size:16.5px; }
  .vcu-ncta-badge{ left:16px; bottom:16px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce){ .vcu-ncta-media img,.vcu-ncta-badge,.vcu-ncta-badge i,.vcu-ncta-ring::after{ animation:none; } }

/* approach section on white, so it does not blend into the light-blue services block above it */
.vcu-steps{ background:#fff; margin:0; border-radius:0; padding-top:90px; }
.vcu-steps .working-outer{ background:#fff; border:1px solid rgba(0,59,142,.16); box-shadow:0 30px 56px -44px rgba(9,41,91,.45); }
@media (max-width:991.98px){ .vcu-steps{ padding-top:64px; } }
@media (max-width:767.98px){ .vcu-steps .working-outer{ border:0; box-shadow:none; } }
