/* Vivcity department pages – isolated from all existing theme components. */
.viv-dep{--dep-ink:var(--viv-ink);--dep-muted:var(--viv-slate);--dep-teal:var(--viv-primary);--dep-gold:var(--viv-accent);--dep-stroke:var(--viv-brand-border);color:var(--dep-ink);background:#fff;overflow:hidden}
.viv-dep-width{width:min(1480px,calc(100% - 72px));margin-inline:auto}.viv-dep :is(h1,h2,h3,p){margin-top:0}.viv-dep a{text-decoration:none}.viv-dep button,.viv-dep input,.viv-dep select,.viv-dep textarea{font:inherit}.viv-dep a:focus-visible,.viv-dep button:focus-visible,.viv-dep input:focus-visible,.viv-dep select:focus-visible,.viv-dep textarea:focus-visible{outline:3px solid var(--dep-gold);outline-offset:3px}
.viv-dep-hero{padding:50px 0 70px;background:radial-gradient(circle at 8% 84%,var(--viv-primary-soft-2) 0,transparent 38%),#fff}.viv-dep-hero__frame{min-height:490px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-radius:32px;overflow:hidden;background:var(--viv-primary-deep);box-shadow:0 25px 60px color-mix(in srgb,var(--viv-primary-deep) 12%,transparent)}
.viv-dep-hero__copy{position:relative;z-index:1;padding:48px clamp(28px,5vw,86px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--viv-primary-deep),var(--viv-primary-deep))}.viv-dep-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;line-height:1.7;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));margin-bottom:auto}.viv-dep-crumb a{color:#fff}.viv-dep-crumb a:hover{color:color-mix(in srgb,var(--viv-accent) 55%,var(--viv-white))}.viv-dep-crumb span:last-child{color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.viv-dep-eyebrow{display:flex;align-items:center;gap:10px;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));font-size:11px;letter-spacing:.16em;font-weight:800;margin:40px 0 12px}.viv-dep-eyebrow span{height:2px;width:23px;background:var(--dep-gold)}.viv-dep-hero h1{font-size:clamp(42px,4.6vw,76px);line-height:1.08;letter-spacing:-.05em;font-weight:750;margin:0;overflow-wrap:anywhere}.viv-dep-hero__underline{height:3px;width:92px;background:linear-gradient(90deg,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 67%,var(--dep-gold) 67%);margin:24px 0 37px}.viv-dep-hero__call{display:flex;align-items:center;gap:12px;color:#fff;border:1px solid color-mix(in srgb,var(--viv-white) 17.65%,transparent);border-radius:18px;padding:12px 16px;background:color-mix(in srgb,var(--viv-white) 6.27%,transparent);transition:background .25s,transform .25s}.viv-dep-hero__call:hover{color:#fff;background:color-mix(in srgb,var(--viv-white) 12.16%,transparent);transform:translateY(-2px)}.viv-dep-hero__call-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--viv-primary);color:#fff;font-size:22px}.viv-dep-hero__call small,.viv-dep-hero__call strong{display:block}.viv-dep-hero__call small{font-size:11px;font-weight:600;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));line-height:1.7}.viv-dep-hero__call strong{font-size:14px;letter-spacing:.02em}.viv-dep-hero__call-arrow{margin-left:15px;color:var(--dep-gold);font-size:21px}.viv-dep-hero__image{min-height:440px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--viv-primary-soft-2),color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)))}.viv-dep-hero__image img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.viv-dep-hero__image-wash{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--viv-primary-deep) 11.76%,transparent),transparent 46%)}.viv-dep-hero__symbol{position:absolute;bottom:-100px;right:-55px;line-height:1;font-size:370px;color:color-mix(in srgb,var(--viv-white) 14.51%,transparent);pointer-events:none}
.viv-dep-intro{padding-block:clamp(45px,6vw,110px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,7vw,115px);align-items:center}.viv-dep-intro__media{min-height:400px;aspect-ratio:1.1;max-height:570px;position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(140deg,var(--viv-primary-soft-2),var(--viv-primary-soft-2))}.viv-dep-intro__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.viv-dep-intro__media-mark{position:absolute;left:0;bottom:0;width:100px;height:5px;background:linear-gradient(90deg,var(--viv-primary) 70%,var(--dep-gold) 70%)}.viv-dep-intro__content{padding-block:12px}.viv-dep-kicker{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:800;color:var(--dep-teal);margin:0 0 19px}.viv-dep-intro h2,.viv-dep-story h2,.viv-dep-specialists h2{font-size:clamp(30px,3.4vw,48px);font-weight:700;line-height:1.17;letter-spacing:-.037em;margin:0 0 27px}.viv-dep-rich{font-size:clamp(15px,1.12vw,17px);line-height:1.9;color:var(--viv-primary);overflow-wrap:anywhere}.viv-dep-rich :is(p,ul,ol,blockquote){margin:0 0 21px}.viv-dep-rich :is(h2,h3,h4){color:var(--dep-ink);font-weight:700;letter-spacing:-.022em;line-height:1.3;margin:28px 0 13px}.viv-dep-rich h2{font-size:clamp(24px,2.6vw,34px)}.viv-dep-rich h3{font-size:clamp(19px,1.6vw,24px)}.viv-dep-rich h4{font-size:18px}.viv-dep-rich :is(ul,ol){padding-left:24px}.viv-dep-rich li{padding-left:5px;margin:8px 0}.viv-dep-rich li::marker{color:var(--dep-teal);font-weight:700}.viv-dep-rich strong{color:var(--viv-primary-deep)}.viv-dep-rich a{color:var(--viv-primary);text-decoration:underline;text-underline-offset:3px}.viv-dep-rich img{max-width:100%;height:auto;border-radius:16px}.viv-dep-rich blockquote{border-left:3px solid var(--dep-gold);padding:14px 22px;background:var(--viv-primary-soft);border-radius:0 15px 15px 0}
.viv-dep-story{padding:65px 0;border-top:1px solid var(--viv-primary-soft-2)}.viv-dep-story__layout{display:grid;grid-template-columns:minmax(180px,.27fr) minmax(0,1fr);gap:clamp(30px,5vw,110px)}.viv-dep-story__rail{display:flex;align-items:center;gap:12px;color:var(--viv-slate);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;align-self:start;padding-top:10px;white-space:normal}.viv-dep-story__num{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--viv-primary-soft-2);border-radius:50%;font-size:12px;color:var(--dep-teal)}.viv-dep-story__line{width:22px;height:1px;background:var(--dep-gold)}.viv-dep-story__main{max-width:1080px}.viv-dep-story__main>h2{max-width:790px}.viv-dep-story--what,.viv-dep-story--conditions{background:linear-gradient(110deg,var(--viv-primary-soft),#fff)}.viv-dep-story--services{padding-block:84px}.viv-dep-story--services .viv-dep-rich>ol{list-style:none;counter-reset:services;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0}.viv-dep-story--services .viv-dep-rich>ol>li{counter-increment:services;position:relative;margin:0;padding:26px 26px 24px 70px;border:1px solid var(--dep-stroke);border-radius:18px;background:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--viv-primary-deep) 2.75%,transparent)}.viv-dep-story--services .viv-dep-rich>ol>li::before{content:counter(services,decimal-leading-zero);position:absolute;left:23px;top:27px;font-weight:800;font-size:12px;letter-spacing:.04em;color:var(--dep-teal)}.viv-dep-story--services .viv-dep-rich>ol>li>*:first-child{margin-top:0}.viv-dep-story--services .viv-dep-rich>ol>li>*:last-child{margin-bottom:0}.viv-dep-story--why{background:var(--viv-primary-deep);color:#fff}.viv-dep-story--why h2,.viv-dep-story--why .viv-dep-rich :is(h2,h3,h4){color:#fff}.viv-dep-story--why .viv-dep-rich{color:var(--viv-primary-soft-2)}.viv-dep-story--why .viv-dep-story__rail{color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.viv-dep-story--why .viv-dep-rich strong{color:#fff}.viv-dep-story--why .viv-dep-rich li::marker{color:color-mix(in srgb,var(--viv-accent) 55%,var(--viv-white))}.viv-dep-story--faqs .viv-dep-rich h3{padding-bottom:12px;border-bottom:1px solid var(--viv-primary-soft-2)}.viv-dep-story--closing{background:var(--viv-primary-soft-2)}
.viv-dep-specialists{padding:90px 0 95px;background:var(--viv-primary-soft)}.viv-dep-specialists__top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.viv-dep-specialists h2{margin:0;max-width:850px}.viv-dep-specialists__controls{display:flex;gap:9px}.viv-dep-specialists__controls button{border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));border-radius:50%;height:48px;width:48px;background:#fff;color:var(--viv-primary-deep);cursor:pointer;font-size:20px;transition:.22s}.viv-dep-specialists__controls button:hover:not(:disabled){color:#fff;background:var(--dep-teal);border-color:var(--dep-teal);transform:translateY(-2px)}.viv-dep-specialists__controls button:disabled{opacity:.3;cursor:default}.viv-dep-specialists__viewport{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 2px 24px;scrollbar-width:none}.viv-dep-specialists__viewport::-webkit-scrollbar{display:none}.viv-dep-doctor{min-width:0;scroll-snap-align:start;background:#fff;border:1px solid var(--viv-primary-soft-2);border-radius:23px;padding:11px 11px 15px;box-shadow:0 15px 36px color-mix(in srgb,var(--viv-primary-deep) 4.5%,transparent);display:flex;flex-direction:column}.viv-dep-doctor__photo{display:block;position:relative;overflow:hidden;aspect-ratio:1.15;border-radius:15px;background:linear-gradient(145deg,var(--viv-primary-soft-2),var(--viv-primary-soft-2))}.viv-dep-doctor__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .55s}.viv-dep-doctor:hover img{transform:scale(1.05)}.viv-dep-doctor__placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:110px;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.viv-dep-doctor__arrow{position:absolute;right:14px;bottom:14px;width:36px;height:36px;display:grid;place-items:center;background:#fff;border-radius:12px;color:var(--viv-primary);font-size:22px;transition:.2s}.viv-dep-doctor:hover .viv-dep-doctor__arrow{background:var(--dep-teal);color:#fff}.viv-dep-doctor__info{padding:19px 11px 3px;display:flex;flex:1;flex-direction:column}.viv-dep-doctor__specialty{align-self:start;color:var(--dep-teal);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.viv-dep-doctor h3{font-size:20px;line-height:28px;font-weight:700;margin:8px 0 6px;letter-spacing:-.02em}.viv-dep-doctor h3 a{color:var(--dep-ink)}.viv-dep-doctor__info>p{color:var(--viv-slate);font-size:13px;line-height:1.5;margin:0 0 20px}.viv-dep-doctor__cta{margin-top:auto;padding:13px 13px 13px 17px;border-radius:12px;border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--viv-primary);font-size:13px;font-weight:750;transition:.23s}.viv-dep-doctor__cta span{display:grid;place-items:center;background:var(--viv-primary-soft-2);border-radius:9px;width:29px;height:29px;color:var(--dep-teal);font-size:19px}.viv-dep-doctor__cta:hover{color:#fff;background:var(--viv-primary);border-color:var(--viv-primary)}.viv-dep-doctor__cta:hover span{background:#fff;color:var(--viv-primary)}.viv-dep-specialists__progress{height:3px;background:var(--viv-primary-soft-2);border-radius:9px;overflow:hidden;margin-top:10px}.viv-dep-specialists__progress span{display:block;width:30%;height:100%;background:linear-gradient(90deg,var(--viv-primary),var(--dep-gold));transform-origin:left;transition:width .35s}
.viv-dep-enquiry{padding:105px 0;background:#fff}.viv-dep-enquiry__panel{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1fr);border-radius:28px;overflow:hidden;border:1px solid var(--viv-primary-soft-2);box-shadow:0 23px 70px color-mix(in srgb,var(--viv-primary-deep) 6.27%,transparent)}.viv-dep-enquiry__aside{padding:clamp(30px,4vw,70px);background:linear-gradient(155deg,var(--viv-primary-deep),var(--viv-primary-deep));color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:560px;overflow:hidden}.viv-dep-enquiry__aside:after{content:'';position:absolute;border:1px solid color-mix(in srgb,var(--viv-white) 16.86%,transparent);border-radius:50%;width:420px;aspect-ratio:1;bottom:-200px;right:-160px;pointer-events:none}.viv-dep-enquiry__eyebrow{font-weight:800;letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.viv-dep-enquiry__aside-bottom{position:relative;z-index:1}.viv-dep-enquiry__mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:color-mix(in srgb,var(--viv-white) 10.59%,transparent);color:var(--dep-gold);font-size:31px;margin:0 0 26px}.viv-dep-enquiry__aside h2{font-size:clamp(35px,3.4vw,54px);letter-spacing:-.042em;line-height:1.13;margin:0 0 18px}.viv-dep-enquiry__aside-bottom p{color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));line-height:1.75;max-width:390px;font-size:15px}.viv-dep-enquiry__aside-line{display:block;background:linear-gradient(90deg,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 66%,var(--viv-accent) 66%);width:110px;height:3px;margin-top:30px}.viv-dep-enquiry__form-area{padding:clamp(26px,4vw,72px);background:#fff}.viv-dep-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 17px}.viv-dep-field{min-width:0}.viv-dep-field--full{grid-column:1/-1}.viv-dep-field label{display:block;color:var(--viv-primary-deep);font-weight:750;font-size:12px;letter-spacing:.025em;margin:0 0 10px}.viv-dep-field em{font-style:normal;color:#db6548}.viv-dep-field :is(input,select,textarea){display:block;min-width:0;width:100%;max-width:100%;border:1px solid var(--viv-primary-soft-2);border-radius:12px;padding:15px 16px;background:var(--viv-primary-soft);color:var(--viv-primary-deep);font-size:14px;transition:background .2s,border-color .2s,box-shadow .2s;outline:none}.viv-dep-field :is(input,select){height:55px}.viv-dep-field textarea{min-height:132px;resize:vertical}.viv-dep-field :is(input,select,textarea):focus{background:#fff;border-color:var(--viv-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--viv-primary) 10.2%,transparent);outline:none}.viv-dep-field :is(input,textarea)::placeholder{color:var(--viv-slate)}.viv-dep-form__consent{display:flex;align-items:center;gap:11px;margin:22px 0;color:var(--viv-slate);font-size:12px;cursor:pointer}.viv-dep-form__consent input{width:16px;height:16px;accent-color:var(--dep-teal)}.viv-dep-form__submit{border:0;background:var(--viv-primary-deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:13px;padding:9px 9px 9px 21px;font-weight:750;font-size:13px;cursor:pointer;min-height:54px;transition:transform .23s,box-shadow .23s,background .23s}.viv-dep-form__submit:hover:not(:disabled){background:var(--viv-primary);transform:translateY(-2px);box-shadow:0 13px 24px color-mix(in srgb,var(--viv-primary) 14.51%,transparent)}.viv-dep-form__submit-arrow{width:38px;height:38px;border-radius:9px;background:var(--dep-gold);color:var(--viv-primary-deep);display:grid;place-items:center;font-size:22px;transition:transform .22s}.viv-dep-form__submit:hover .viv-dep-form__submit-arrow{transform:rotate(45deg)}.viv-dep-form__submit:disabled{opacity:.65;cursor:wait}.viv-dep-form__status{font-size:13px;color:#9c4747;margin-top:15px}.viv-dep-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.viv-dep .viv-form-modal{z-index:100000}
@media(max-width:1150px){.viv-dep-specialists__viewport{grid-auto-columns:calc((100% - 22px)/2)}.viv-dep-hero__frame{min-height:420px}.viv-dep-hero__copy{padding:40px}.viv-dep-enquiry__panel{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}}
@media(max-width:800px){.viv-dep-width{width:min(100% - 38px,670px)}.viv-dep-hero{padding:25px 0 40px}.viv-dep-hero__frame{grid-template-columns:1fr;display:flex;flex-direction:column-reverse;min-height:0}.viv-dep-hero__image{height:245px;min-height:0;flex-shrink:0}.viv-dep-hero__copy{padding:28px 28px 38px}.viv-dep-crumb{margin-bottom:25px}.viv-dep-eyebrow{margin:16px 0 12px}.viv-dep-hero h1{font-size:clamp(38px,7vw,54px)}.viv-dep-hero__underline{margin:18px 0 25px}.viv-dep-intro{grid-template-columns:1fr;padding-block:50px;gap:33px}.viv-dep-intro__media{aspect-ratio:1.55;min-height:260px}.viv-dep-story{padding:43px 0}.viv-dep-story__layout{grid-template-columns:1fr;gap:21px}.viv-dep-story__rail{padding:0}.viv-dep-specialists{padding:60px 0}.viv-dep-specialists__viewport{grid-auto-columns:calc((100% - 18px)/2);gap:18px}.viv-dep-enquiry{padding:60px 0}.viv-dep-enquiry__panel{grid-template-columns:1fr}.viv-dep-enquiry__aside{min-height:0;padding:32px 32px 42px;gap:42px}.viv-dep-enquiry__aside h2{font-size:36px}.viv-dep-enquiry__form-area{padding:35px 32px}}
@media(max-width:560px){.viv-dep-width{width:calc(100% - 28px)}.viv-dep-hero__image{height:200px}.viv-dep-hero__copy{padding:24px}.viv-dep-crumb{font-size:11px}.viv-dep-eyebrow{letter-spacing:.10em;font-size:10px}.viv-dep-hero h1{font-size:38px}.viv-dep-hero__call-arrow{margin-left:2px}.viv-dep-intro h2,.viv-dep-story h2,.viv-dep-specialists h2{font-size:31px}.viv-dep-intro__media{min-height:220px}.viv-dep-story--services .viv-dep-rich>ol{grid-template-columns:1fr}.viv-dep-specialists__viewport{grid-auto-columns:min(84%,310px);gap:14px}.viv-dep-specialists__top{align-items:start}.viv-dep-specialists__controls button{width:39px;height:39px}.viv-dep-doctor h3{font-size:20px;line-height:28px}.viv-dep-enquiry__aside,.viv-dep-enquiry__form-area{padding:26px 22px}.viv-dep-form__grid{grid-template-columns:1fr;gap:17px}.viv-dep-field--half{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.viv-dep *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.viv-dep-intro--no-photo{grid-template-columns:minmax(0,850px);justify-content:center}

/* Flexible department content boxes: scoped to single department only. */
.viv-dep-content-block{padding:clamp(46px,6vw,95px) 0;border-top:1px solid var(--viv-primary-soft-2);background:#fff}
.viv-dep-content-block:nth-of-type(even){background:linear-gradient(112deg,var(--viv-primary-soft) 0%,#fff 70%)}
.viv-dep-content-block__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.83fr);gap:clamp(30px,5.5vw,100px);align-items:center}
.viv-dep-content-block--text .viv-dep-content-block__layout{grid-template-columns:minmax(0,1fr)}
.viv-dep-content-block--text .viv-dep-content-block__body{max-width:1000px;margin-inline:auto;width:100%}
.viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__body{order:2}
.viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__media{order:1}
.viv-dep-content-block__index{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--viv-primary);margin:0 0 20px}
.viv-dep-content-block__index:before{content:'';width:30px;height:2px;background:var(--viv-accent)}
.viv-dep-content-block__body h2{font-size:clamp(30px,3.1vw,46px);line-height:1.21;letter-spacing:-.035em;color:var(--viv-primary-deep);margin:0 0 24px;font-weight:700}
.viv-dep-content-block__media{display:grid;gap:17px;min-width:0}
.viv-dep-content-block__image{margin:0;overflow:hidden;border-radius:23px;min-height:230px;background:var(--viv-primary-soft-2);box-shadow:0 20px 45px color-mix(in srgb,var(--viv-primary-deep) 8.24%,transparent)}
.viv-dep-content-block__image img{width:100%;height:auto;max-height:570px;min-height:230px;object-fit:cover;display:block}
.viv-dep-content-block__video{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:var(--viv-primary-deep);box-shadow:0 15px 40px color-mix(in srgb,var(--viv-primary-deep) 9.41%,transparent)}
.viv-dep-content-block__video :is(iframe,video,.wp-video,.mejs-container){width:100%!important;height:100%!important;max-width:100%!important;display:block}
.viv-dep-content-block__video .wp-video,.viv-dep-content-block__video .mejs-container{position:absolute!important;inset:0}
.viv-dep-content-block__watch a{color:var(--viv-primary);font-weight:700;text-decoration:underline}
@media(max-width:960px){.viv-dep-content-block__layout{grid-template-columns:1fr;gap:28px}.viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__body,.viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__media{order:initial}.viv-dep-content-block__image img{max-height:440px}}
@media(max-width:600px){.viv-dep-content-block{padding:45px 0}.viv-dep-content-block__body h2{font-size:clamp(26px,7vw,34px);margin-bottom:18px}.viv-dep-content-block__image,.viv-dep-content-block__image img{min-height:180px}.viv-dep-content-block__image,.viv-dep-content-block__video{border-radius:16px}}

/* v2.5.2 — Department content: one polished, consistent editorial card system.
   The hero, doctor slider, enquiry form, admin builder and all other pages are unaffected. */
.viv-dep {
  --dep-section-surface:var(--viv-white);
  --dep-section-line:var(--viv-brand-border);
  --dep-section-shadow: 0 2px 5px color-mix(in srgb,var(--viv-primary-deep) 2.2%,transparent), 0 16px 48px color-mix(in srgb,var(--viv-primary-deep) 4.5%,transparent);
}
.viv-dep .viv-dep-content-block {
  padding: 12px 0;
  margin: 0;
  border: 0;
  background: var(--viv-primary-soft);
}
.viv-dep .viv-dep-content-block:nth-of-type(even) { background: var(--viv-primary-soft); }
.viv-dep .viv-dep-content-block:first-of-type { padding-top: 48px; }
.viv-dep .viv-dep-content-block:last-of-type { padding-bottom: 76px; }

/* The same surface is used for text-only, image and video sections. */
.viv-dep .viv-dep-content-block__layout,
.viv-dep .viv-dep-intro,
.viv-dep .viv-dep-story {
  position: relative;
  isolation: isolate;
  width: min(1320px, calc(100% - 72px));
  margin-inline: auto;
  padding: clamp(32px, 4vw, 64px);
  border: 1px solid var(--dep-section-line);
  border-radius: 24px;
  background: var(--dep-section-surface);
  box-shadow: var(--dep-section-shadow);
  transition: border-color .25s ease, box-shadow .3s ease;
}
.viv-dep .viv-dep-content-block__layout::before,
.viv-dep .viv-dep-intro::before,
.viv-dep .viv-dep-story::before {
  position: absolute;
  top: -1px;
  left: clamp(32px, 4vw, 64px);
  width: 76px;
  height: 3px;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(90deg, var(--viv-primary) 0 72%, var(--viv-accent) 72% 100%);
  content: '';
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .viv-dep .viv-dep-content-block__layout:hover,
  .viv-dep .viv-dep-intro:hover,
  .viv-dep .viv-dep-story:hover {
    border-color: var(--viv-primary-soft-2);
    box-shadow: 0 3px 7px color-mix(in srgb,var(--viv-primary-deep) 2.5%,transparent), 0 20px 54px color-mix(in srgb,var(--viv-primary-deep) 6.8%,transparent);
  }
}
.viv-dep .viv-dep-content-block__layout,
.viv-dep .viv-dep-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .77fr);
  gap: clamp(32px, 4.4vw, 76px);
  align-items: center;
}
.viv-dep .viv-dep-content-block--text .viv-dep-content-block__layout,
.viv-dep .viv-dep-intro--no-photo { grid-template-columns: minmax(0,1fr); }
.viv-dep .viv-dep-content-block__body,
.viv-dep .viv-dep-content-block--text .viv-dep-content-block__body,
.viv-dep .viv-dep-intro__content {
  order: 1;
  width: 100%;
  min-width: 0;
  max-width: 980px;
  margin: 0;
  padding: 0;
}
.viv-dep .viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__body { order: 1; }
.viv-dep .viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__media { order: 2; }
.viv-dep .viv-dep-content-block__index,
.viv-dep .viv-dep-intro .viv-dep-kicker,
.viv-dep .viv-dep-story__rail {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--viv-primary);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .115em;
  text-transform: uppercase;
}
.viv-dep .viv-dep-content-block__index {
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--viv-primary-soft-2);
  border-radius: 12px;
  background: var(--viv-primary-soft-2);
  font-size: 12px;
  letter-spacing: .025em;
}
.viv-dep .viv-dep-content-block__index::before { display: none; }
.viv-dep .viv-dep-story__rail { padding: 0; }
.viv-dep .viv-dep-story__line { display: none; }
.viv-dep .viv-dep-story__num {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--viv-primary-soft-2);
  background: var(--viv-primary-soft-2);
  color: var(--viv-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .025em;
}
.viv-dep .viv-dep-intro .viv-dep-kicker { margin-bottom: 24px; }
.viv-dep .viv-dep-content-block__body > h2,
.viv-dep .viv-dep-intro h2,
.viv-dep .viv-dep-story h2 {
  max-width: 980px;
  margin: 0 0 22px;
  color: var(--viv-primary-deep);
  font-size: clamp(29px, 2.55vw, 39px);
  font-weight: 730;
  line-height: 1.25;
  letter-spacing: -.034em;
  text-wrap: balance;
}
.viv-dep .viv-dep-content-block__body > h2::after { display: none; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich,
.viv-dep .viv-dep-intro .viv-dep-rich,
.viv-dep .viv-dep-story .viv-dep-rich {
  max-width: 78ch;
  color: var(--viv-slate);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: -.004em;
  overflow-wrap: break-word;
}
.viv-dep .viv-dep-content-block__body .viv-dep-rich :is(p,ul,ol,blockquote),
.viv-dep .viv-dep-intro .viv-dep-rich :is(p,ul,ol,blockquote),
.viv-dep .viv-dep-story .viv-dep-rich :is(p,ul,ol,blockquote) { margin: 0 0 19px; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich > :last-child,
.viv-dep .viv-dep-intro .viv-dep-rich > :last-child,
.viv-dep .viv-dep-story .viv-dep-rich > :last-child { margin-bottom: 0; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich :is(h2,h3,h4),
.viv-dep .viv-dep-story .viv-dep-rich :is(h2,h3,h4) {
  margin: 31px 0 12px;
  color: var(--viv-primary-deep);
  font-weight: 710;
  line-height: 1.35;
  letter-spacing: -.023em;
}
.viv-dep .viv-dep-content-block__body .viv-dep-rich :is(h2,h3,h4):first-child,
.viv-dep .viv-dep-story .viv-dep-rich :is(h2,h3,h4):first-child { margin-top: 0; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich h2,
.viv-dep .viv-dep-story .viv-dep-rich h2 { font-size: clamp(23px,2vw,29px); }
.viv-dep .viv-dep-content-block__body .viv-dep-rich h3,
.viv-dep .viv-dep-story .viv-dep-rich h3 { font-size: clamp(19px,1.5vw,23px); }
.viv-dep .viv-dep-content-block__body .viv-dep-rich h4,
.viv-dep .viv-dep-story .viv-dep-rich h4 { font-size: 18px; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich :is(ul,ol),
.viv-dep .viv-dep-story .viv-dep-rich :is(ul,ol) { padding-left: 24px; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich li,
.viv-dep .viv-dep-story .viv-dep-rich li { margin: 10px 0; padding-left: 4px; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich li::marker,
.viv-dep .viv-dep-story .viv-dep-rich li::marker { color: var(--viv-primary); font-weight: 800; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich strong,
.viv-dep .viv-dep-story .viv-dep-rich strong { color: var(--viv-primary-deep); }
.viv-dep .viv-dep-content-block__body .viv-dep-rich a,
.viv-dep .viv-dep-story .viv-dep-rich a {
  color: var(--viv-primary);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));
  text-underline-offset: 4px;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.viv-dep .viv-dep-content-block__body .viv-dep-rich a:hover,
.viv-dep .viv-dep-story .viv-dep-rich a:hover { color: var(--viv-primary-deep); text-decoration-color: currentColor; }
.viv-dep .viv-dep-content-block__body .viv-dep-rich blockquote,
.viv-dep .viv-dep-story .viv-dep-rich blockquote {
  padding: 15px 22px;
  border-left: 3px solid var(--viv-primary);
  border-radius: 0 12px 12px 0;
  background: var(--viv-primary-soft);
}
/* Identical media treatment wherever a box has an image or video. */
.viv-dep .viv-dep-content-block__media {
  order: 2;
  align-self: center;
  display: grid;
  gap: 13px;
  width: 100%;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--viv-primary-soft-2);
  border-radius: 20px;
  background: var(--viv-primary-soft);
}
.viv-dep .viv-dep-content-block__image,
.viv-dep .viv-dep-content-block__video,
.viv-dep .viv-dep-intro__media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 13px;
  box-shadow: none;
  background: var(--viv-primary-soft-2);
}
.viv-dep .viv-dep-content-block__image {
  min-height: 0;
  aspect-ratio: 4/3;
}
.viv-dep .viv-dep-content-block__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.75,.2,1);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .viv-dep .viv-dep-content-block__image:hover img { transform: scale(1.02); }
}
.viv-dep .viv-dep-content-block__video { aspect-ratio: 16/9; }
.viv-dep .viv-dep-content-block__watch { margin: 0; padding: 5px 3px; }
.viv-dep .viv-dep-intro { margin-top: 24px; }
.viv-dep .viv-dep-intro__media {
  order: 2;
  min-height: 0;
  max-height: none;
  aspect-ratio: 4/3;
}
.viv-dep .viv-dep-intro__media-mark { display: none; }
.viv-dep .viv-dep-story { margin-top: 24px; }
.viv-dep .viv-dep-story__layout { width: 100%; grid-template-columns: minmax(0,1fr); gap: 0; }
.viv-dep .viv-dep-story__main { max-width: 980px; }
.viv-dep .viv-dep-story--what,
.viv-dep .viv-dep-story--services,
.viv-dep .viv-dep-story--why,
.viv-dep .viv-dep-story--conditions,
.viv-dep .viv-dep-story--faqs,
.viv-dep .viv-dep-story--closing { background: #fff; }
.viv-dep .viv-dep-story--services .viv-dep-rich > ol {
  display: block;
  list-style: decimal;
  padding-left: 24px;
  counter-reset: none;
}
.viv-dep .viv-dep-story--services .viv-dep-rich > ol > li {
  counter-increment: none;
  margin: 0;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid var(--viv-primary-soft-2);
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.viv-dep .viv-dep-story--services .viv-dep-rich > ol > li::before { display: none; }
@media (max-width:960px) {
  .viv-dep .viv-dep-content-block__layout,
  .viv-dep .viv-dep-intro { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .viv-dep .viv-dep-content-block__media { max-width: 100%; }
  .viv-dep .viv-dep-content-block__image { aspect-ratio: 16/10; }
}
@media (max-width:600px) {
  .viv-dep .viv-dep-content-block { padding: 8px 0; }
  .viv-dep .viv-dep-content-block:first-of-type { padding-top: 28px; }
  .viv-dep .viv-dep-content-block:last-of-type { padding-bottom: 46px; }
  .viv-dep .viv-dep-content-block__layout,
  .viv-dep .viv-dep-intro,
  .viv-dep .viv-dep-story {
    width: calc(100% - 28px);
    padding: 27px 23px;
    border-radius: 19px;
  }
  .viv-dep .viv-dep-content-block__layout::before,
  .viv-dep .viv-dep-intro::before,
  .viv-dep .viv-dep-story::before { left: 23px; width: 63px; }
  .viv-dep .viv-dep-intro,
  .viv-dep .viv-dep-story { margin-top: 16px; }
  .viv-dep .viv-dep-content-block__index,
  .viv-dep .viv-dep-story__num { width: 36px; height: 36px; border-radius: 10px; }
  .viv-dep .viv-dep-content-block__body > h2,
  .viv-dep .viv-dep-intro h2,
  .viv-dep .viv-dep-story h2 {
    font-size: clamp(26px, 7.1vw, 33px);
    line-height: 1.26;
  }
  .viv-dep .viv-dep-content-block__body .viv-dep-rich,
  .viv-dep .viv-dep-intro .viv-dep-rich,
  .viv-dep .viv-dep-story .viv-dep-rich { font-size: 15px; line-height: 1.8; }
  .viv-dep .viv-dep-content-block__media { padding: 7px; border-radius: 16px; }
  .viv-dep .viv-dep-content-block__image,
  .viv-dep .viv-dep-content-block__video { border-radius: 11px; }
}
@media (prefers-reduced-motion:reduce) {
  .viv-dep .viv-dep-content-block__layout,
  .viv-dep .viv-dep-intro,
  .viv-dep .viv-dep-story,
  .viv-dep .viv-dep-content-block__image img { transition: none; }
}

/* v2.5.5 — Content first, media beneath. All Department blocks use one layout.
   Media width responds to the number of media items, not the content length. */
.viv-dep .viv-dep-content-block__layout {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(22px, 3vw, 38px);
}
.viv-dep .viv-dep-content-block__body,
.viv-dep .viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__body {
  order: 1;
  max-width: 100%;
}
.viv-dep .viv-dep-content-block__media,
.viv-dep .viv-dep-content-block--media:nth-of-type(even) .viv-dep-content-block__media {
  order: 2;
  align-self: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(12px, 1.6vw, 22px);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: clamp(6px, .9vw, 11px);
  border: 1px solid var(--viv-primary-soft-2);
  border-radius: 19px;
  background: var(--viv-primary-soft);
}
.viv-dep .viv-dep-content-block__media--dual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.viv-dep .viv-dep-content-block__image,
.viv-dep .viv-dep-content-block__video {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 16/9;
  margin: 0;
  overflow: hidden;
  border-radius: 13px;
  background: var(--viv-primary-soft-2);
}
.viv-dep .viv-dep-content-block__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  object-fit: cover;
}
.viv-dep .viv-dep-content-block__video { background: var(--viv-primary-deep); }
.viv-dep .viv-dep-content-block__video :is(iframe, video, .wp-video, .mejs-container) {
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
}
.viv-dep .viv-dep-content-block__watch {
  margin: 0;
  padding: clamp(18px, 3vw, 32px);
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  .viv-dep .viv-dep-content-block__media--dual { grid-template-columns: minmax(0, 1fr); }
  .viv-dep .viv-dep-content-block__layout { gap: 24px; }
  .viv-dep .viv-dep-content-block__media { padding: 7px; gap: 12px; border-radius: 15px; }
  .viv-dep .viv-dep-content-block__image,
  .viv-dep .viv-dep-content-block__video { border-radius: 10px; }
}

/* v2.5.6 — Fix desktop dual-media layout: previous even-section selector
   overrode the generic dual class and forced stacked items. */
.viv-dep .viv-dep-content-block--media .viv-dep-content-block__media.viv-dep-content-block__media--dual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .viv-dep .viv-dep-content-block--media .viv-dep-content-block__media.viv-dep-content-block__media--dual {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* v2.6.6 — Department/Service content uses the full content-card width.
   Images and videos already render beneath the copy, so no desktop media column is reserved. */
.viv-dep .viv-dep-content-block__body > h2,
.viv-dep .viv-dep-content-block__body .viv-dep-rich {
  width: 100%;
  max-width: none;
}


/* Department / Service enquiry contact cards — compact, colorful and information-led. */
.viv-dep-enquiry__info{
  position:relative;
  z-index:2;
  display:grid;
  gap:14px;
  margin:28px 0 30px;
}
.viv-dep-enquiry-card{
  --card-bg:linear-gradient(135deg,var(--viv-primary-soft-2) 0%,var(--viv-primary-soft-2) 100%);
  --card-accent:var(--viv-primary);
  --card-icon-bg:var(--viv-primary);
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 36px;
  align-items:center;
  gap:15px;
  min-height:112px;
  padding:16px 16px 16px 18px;
  border-radius:20px;
  overflow:hidden;
  text-decoration:none;
  background:var(--card-bg);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 14px 30px color-mix(in srgb,var(--viv-primary-deep) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.viv-dep-enquiry-card::after{
  content:'';
  position:absolute;
  width:112px;
  height:112px;
  border-radius:50%;
  right:-46px;
  top:-52px;
  background:rgba(255,255,255,.25);
  pointer-events:none;
}
.viv-dep-enquiry-card--email{
  --card-bg:linear-gradient(135deg,var(--viv-accent-soft) 0%,color-mix(in srgb,var(--viv-accent) 55%,var(--viv-white)) 100%);
  --card-accent:color-mix(in srgb,var(--viv-accent) 72%,var(--viv-ink));
  --card-icon-bg:var(--viv-accent);
}
.viv-dep-enquiry-card--support{
  --card-bg:linear-gradient(135deg,#dff4df 0%,#b9ddb9 100%);
  --card-accent:#286f4e;
  --card-icon-bg:#4c9668;
}
.viv-dep-enquiry-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px color-mix(in srgb,var(--viv-primary-deep) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.75);
  border-color:rgba(255,255,255,.85);
}
.viv-dep-enquiry-card__icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--card-icon-bg);
  color:#fff;
  box-shadow:0 9px 20px color-mix(in srgb,var(--card-icon-bg) 32%,transparent);
  position:relative;
  z-index:1;
}
.viv-dep-enquiry-card__icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.viv-dep-enquiry-card__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  position:relative;
  z-index:1;
}
.viv-dep-enquiry-card__copy strong{
  color:var(--viv-primary-deep);
  font-size:18px;
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.018em;
}
.viv-dep-enquiry-card__copy small{
  color:var(--viv-primary);
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}
.viv-dep-enquiry-card__copy b{
  color:var(--card-accent);
  font-size:13px;
  line-height:1.3;
  font-weight:850;
  margin-top:5px;
  max-width:100%;
  overflow-wrap:anywhere;
}
.viv-dep-enquiry-card__arrow{
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  justify-self:end;
  background:rgba(255,255,255,.72);
  color:var(--viv-primary-deep);
  font-size:18px;
  font-weight:800;
  position:relative;
  z-index:1;
  transition:transform .22s ease,background .22s ease;
}
.viv-dep-enquiry-card:hover .viv-dep-enquiry-card__arrow{
  transform:translate(2px,-2px);
  background:#fff;
}
@media(max-width:800px){
  .viv-dep-enquiry__info{margin:8px 0 4px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .viv-dep-enquiry-card{grid-template-columns:48px minmax(0,1fr);min-height:138px;padding:14px;align-content:start}
  .viv-dep-enquiry-card__icon{width:48px;height:48px;border-radius:14px}
  .viv-dep-enquiry-card__icon svg{width:25px;height:25px}
  .viv-dep-enquiry-card__arrow{display:none}
  .viv-dep-enquiry-card__copy strong{font-size:16px}
  .viv-dep-enquiry-card__copy small{font-size:11px}
  .viv-dep-enquiry-card__copy b{grid-column:1/-1;font-size:12px}
}
@media(max-width:620px){
  .viv-dep-enquiry__info{grid-template-columns:1fr;gap:11px}
  .viv-dep-enquiry-card{grid-template-columns:50px minmax(0,1fr) 34px;min-height:96px;padding:13px 13px 13px 15px}
  .viv-dep-enquiry-card__icon{width:50px;height:50px}
  .viv-dep-enquiry-card__arrow{display:grid}
  .viv-dep-enquiry-card__copy b{font-size:12px}
}

/* v2.6.7 — Single service mobile headings: calmer scale and weight only. */
@media (max-width: 600px) {
  .single-viv_service .viv-dep .viv-dep-content-block__body > h2,
  .single-viv_service .viv-dep .viv-dep-intro h2,
  .single-viv_service .viv-dep .viv-dep-story h2 {
    font-size: 23px;
    font-weight: 600;
    line-height: 1.34;
    letter-spacing: -0.02em;
  }

  .single-viv_service .viv-dep .viv-dep-content-block__body .viv-dep-rich h2,
  .single-viv_service .viv-dep .viv-dep-story .viv-dep-rich h2 {
    font-size: 21px;
    font-weight: 600;
    line-height: 1.38;
    letter-spacing: -0.015em;
  }
}
