/*
Theme Name: Vawzen Home
Theme URI: https://vawzengroup.com
Author: Vawzen Group
Description: Luxury real-estate home page theme – hero search, off-plan and ready property sliders, communities, quick-filter chips, stats, news, reviews and newsletter. Fully editable from Appearance > Customize.
Version: 1.4.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vawzen-home
*/

:root{
	--navy:#0b1f3a; --navy2:#142c52; --gold:#c8a15a; --gold2:#e3c488;
	--ink:#1c2430; --muted:#6b7686; --bg:#f5f7fa; --line:#e5e9ef;
	--radius:14px; --shadow:0 10px 30px rgba(11,31,58,.12); --maxw:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
body.vz-lock{overflow:hidden}
body{overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--navy);font-weight:600}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.vz-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.vz-narrow{max-width:860px}

/* Buttons */
.vz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border-radius:999px;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;transition:.25s;font-family:inherit;white-space:nowrap}
.vz-btn-gold{background:var(--gold);color:#fff}
.vz-btn-gold:hover{background:var(--navy);color:#fff}
.vz-btn-outline{border-color:#fff;color:#fff;background:transparent}
.vz-btn-outline:hover{background:#fff;color:var(--navy)}
.vz-btn-outline.dark{border-color:var(--navy);color:var(--navy)}
.vz-btn-outline.dark:hover{background:var(--navy);color:#fff}

/* Top bar */
.vz-topbar{background:var(--navy);color:#cfd8e6;font-size:13px}
.vz-topbar-in{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.vz-top-left a,.vz-top-right a{display:inline-flex;align-items:center;gap:6px;opacity:.9}
.vz-top-right{display:flex;gap:22px}
.vz-top-right a:hover,.vz-top-left a:hover{color:var(--gold2);opacity:1}

/* Header */
.vz-header{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .25s}
.vz-header.scrolled{box-shadow:0 6px 20px rgba(11,31,58,.1)}
.vz-header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.vz-logo img{max-height:54px;width:auto}
.vz-logo-text{font-size:24px;font-weight:700;color:var(--navy);letter-spacing:.5px}
.vz-nav{display:flex;align-items:center;gap:26px}
.vz-menu{display:flex;align-items:center;gap:6px}
.vz-menu li{position:relative}
.vz-menu > li > a{display:block;padding:28px 12px;font-weight:500;font-size:15px;color:var(--navy)}
.vz-menu > li > a:hover{color:var(--gold)}
.vz-menu .menu-item-has-children > a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
.vz-menu .sub-menu{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border-radius:0 0 12px 12px;box-shadow:var(--shadow);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:60}
.vz-menu li:hover > .sub-menu,.vz-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.vz-menu .sub-menu a{display:block;padding:9px 20px;font-size:14px}
.vz-menu .sub-menu a:hover{background:var(--bg);color:var(--gold)}
.vz-burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.vz-burger span{display:block;width:26px;height:2px;background:var(--navy);margin:6px 0;transition:.25s}

/* Hero */
.vz-hero{position:relative;min-height:640px;display:flex;align-items:center;color:#fff;background:linear-gradient(135deg,#0b1f3a 0%,#1a3a6b 55%,#2b4f86 100%);background-size:cover;background-position:center}
.vz-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,58,.82) 0%,rgba(11,31,58,.45) 60%,rgba(11,31,58,.25) 100%)}
.vz-hero-in{position:relative;z-index:2;padding-top:70px;padding-bottom:70px}
.vz-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:13px;color:var(--gold2);font-weight:500;margin-bottom:14px}
.vz-hero h1{color:#fff;font-size:clamp(34px,5.4vw,64px);font-weight:600;max-width:820px;margin-bottom:34px}
.vz-hero-box{max-width:860px}
.vz-tabs{display:inline-flex;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border-radius:14px 14px 0 0;overflow:hidden}
.vz-tabs button{background:transparent;border:0;color:#fff;font:inherit;font-weight:600;padding:14px 30px;cursor:pointer;transition:.2s}
.vz-tabs button.active{background:#fff;color:var(--navy)}
.vz-panel{display:none;background:#fff;color:var(--ink);padding:18px;border-radius:0 14px 14px 14px;box-shadow:var(--shadow)}
.vz-panel.active{display:block}
.vz-search{display:flex;gap:12px;flex-wrap:wrap}
.vz-search input[type=search]{flex:2 1 260px;min-width:0}
.vz-search select{flex:1 1 170px;min-width:0}
.vz-search input,.vz-search select{padding:14px 16px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.vz-search input:focus,.vz-search select:focus{outline:2px solid var(--gold);border-color:transparent}
.vz-cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.vz-cta-row p{margin:0;font-weight:500}

/* Report banner */
.vz-report{background:var(--navy2);color:#fff}
.vz-report-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.vz-report-in p{margin:0;font-weight:500}
.vz-report .vz-btn{padding:9px 22px;font-size:14px}

/* Sections */
.vz-section{padding:76px 0}
.vz-alt{background:var(--bg)}
.vz-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.vz-head h2,.vz-head h1{font-size:clamp(26px,3.2vw,38px);margin:0}
.vz-head.vz-center{justify-content:center;text-align:center}
.vz-sub{color:var(--muted);margin:10px 0 0}
.vz-link{color:var(--gold);font-weight:600;border-bottom:2px solid currentColor;padding-bottom:2px;white-space:nowrap}
.vz-link:hover{color:var(--navy)}
.vz-inner{padding-top:50px}

/* Slider */
.vz-slider{position:relative}
.vz-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 20px}
.vz-track::-webkit-scrollbar{display:none}
.vz-track > *{flex:0 0 calc((100% - 66px)/4);scroll-snap-align:start;min-width:0}
.vz-arrow{position:absolute;top:42%;z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--navy);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.vz-arrow:hover{background:var(--gold);color:#fff}
.vz-prev{left:-18px}.vz-next{right:-18px}

/* Cards */
.vz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.vz-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(11,31,58,.08);transition:.3s;display:flex;flex-direction:column}
.vz-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.vz-card-img{position:relative;display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#dfe6f0,#c3cfe0);overflow:hidden}
.vz-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vz-card:hover .vz-card-img img{transform:scale(1.06)}
.vz-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(11,31,58,.35)}
.vz-badge{position:absolute;left:14px;top:14px;background:var(--gold);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;letter-spacing:.3px}
.vz-badge.static{position:static;display:inline-block;margin-bottom:12px}
.vz-card-body{padding:18px 20px 20px}
.vz-price{color:var(--gold);font-weight:700;font-size:18px;margin-bottom:4px}
.vz-price.big{font-size:28px;margin-bottom:10px}
.vz-card-title{font-size:18px;margin:0 0 8px}
.vz-card-title a:hover{color:var(--gold)}
.vz-loc{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;margin-bottom:12px}
.vz-specs{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.vz-specs li{display:flex;align-items:center;gap:6px}
.vz-date{font-size:13px;color:var(--muted);margin-bottom:6px}

/* Communities */
.vz-comm{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#1a3a6b,#0b1f3a)}
.vz-comm img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vz-comm:hover img{transform:scale(1.07)}
.vz-comm .vz-ph{color:rgba(255,255,255,.3)}
.vz-comm::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,31,58,.85),transparent 55%)}
.vz-comm-name{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;font-size:19px;font-weight:600}

/* Chips */
.vz-chips{display:flex;flex-wrap:wrap;gap:12px}
.vz-chip{padding:11px 22px;border:1.5px solid #cfd8e6;border-radius:999px;background:#fff;font-weight:500;font-size:15px;transition:.2s}
.vz-chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* Stats */
.vz-stats{background:var(--navy);color:#fff;padding:54px 0}
.vz-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px;text-align:center}
.vz-stats strong{display:block;font-size:clamp(32px,4vw,48px);color:var(--gold2);font-weight:700;line-height:1.1}
.vz-stats span{display:block;margin-top:6px;color:#cfd8e6;font-size:15px}

/* News */
.vz-news{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* Testimonials */
.vz-track.cols3 > *{flex-basis:calc((100% - 44px)/3)}
.vz-quote{margin:0;background:#fff;padding:30px;border-radius:var(--radius);box-shadow:0 4px 18px rgba(11,31,58,.08);position:relative}
.vz-quote::before{content:"“";position:absolute;right:22px;top:6px;font-size:80px;color:var(--gold2);opacity:.5;font-family:Georgia,serif;line-height:1}
.vz-quote p{color:#3a4556;font-size:15.5px}
.vz-quote cite{font-style:normal;font-weight:600;color:var(--navy)}

/* Newsletter */
.vz-newsletter{background:linear-gradient(120deg,var(--gold),#b78a3e);color:#fff;padding:54px 0}
.vz-news-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.vz-newsletter h2{color:#fff;margin:0 0 6px}
.vz-newsletter p{margin:0;opacity:.95}
.vz-newsletter .vz-btn-gold{background:var(--navy)}
.vz-news-form input[type=email],.vz-news-form input[type=text]{padding:13px 16px;border-radius:10px;border:0;min-width:240px;font:inherit}
.vz-news-form input[type=submit],.vz-news-form button{padding:13px 24px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:inherit;font-weight:600;cursor:pointer}

/* Footer */
.vz-footer{background:#08162b;color:#b9c4d6;font-size:15px}
.vz-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:44px;padding-top:60px;padding-bottom:40px}
.vz-footer h4{color:#fff;font-size:17px;margin-bottom:16px}
.vz-footer-logo{font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}
.vz-footer a:hover{color:var(--gold2)}
.vz-flinks li{margin-bottom:8px}
.vz-social{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
.vz-social a{border-bottom:1px solid rgba(255,255,255,.3)}
.vz-copy{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;text-align:center}

/* WhatsApp */
.vz-wa{position:fixed;right:20px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.25);transition:.2s}
.vz-wa:hover{transform:scale(1.08)}

/* Inner pages */
.vz-entry{font-size:16.5px}
.vz-entry img{border-radius:12px}
.vz-feat{margin-bottom:24px;border-radius:var(--radius);overflow:hidden}
.vz-single{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.vz-single-img{position:relative;border-radius:var(--radius);overflow:hidden;background:#dfe6f0;aspect-ratio:4/3}
.vz-single-img img{width:100%;height:100%;object-fit:cover}
.vz-single h1{font-size:clamp(26px,3vw,38px)}
.vz-cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.vz-pagination{margin-top:36px;text-align:center}
.vz-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:8px;margin:0 3px}
.vz-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Responsive */
@media (max-width:1100px){
	.vz-track > *{flex-basis:calc((100% - 44px)/3)}
	.vz-prev{left:-8px}.vz-next{right:-8px}
}
@media (max-width:980px){
	.vz-burger{display:block}
	.vz-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:90px 24px 30px;transform:translateX(100%);transition:transform .3s;box-shadow:-10px 0 30px rgba(0,0,0,.15);overflow-y:auto;z-index:70}
	.vz-nav.open{transform:none}
	.vz-burger{position:relative;z-index:80}
	.vz-menu{flex-direction:column;align-items:stretch;gap:0}
	.vz-menu > li > a{padding:14px 4px;border-bottom:1px solid var(--line)}
	.vz-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 14px;display:none}
	.vz-menu .sub-open > .sub-menu{display:block}
	.vz-nav-cta{margin-top:20px}
	.vz-footer-grid{grid-template-columns:1fr 1fr}
	.vz-single{grid-template-columns:1fr}
	.vz-top-right a:nth-child(2){display:none}
}
@media (max-width:720px){
	.vz-section{padding:54px 0}
	.vz-track > *{flex-basis:calc((100% - 22px)/2)}
	.vz-arrow{display:none}
	.vz-hero{min-height:560px}
	.vz-tabs button{padding:12px 18px}
	.vz-topbar-in{justify-content:center}
	.vz-top-left{display:none}
	.vz-head{align-items:flex-start;flex-direction:column;gap:10px}
	.vz-footer-grid{grid-template-columns:1fr;gap:30px}
}
@media (max-width:520px){
	.vz-track > *{flex-basis:84%}
	.vz-search .vz-btn{width:100%}
}

/* Mobile bottom action bar */
.vz-mbar{display:none}
@media (max-width:720px){
	body{padding-bottom:62px}
	.vz-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;box-shadow:0 -6px 20px rgba(11,31,58,.15)}
	.vz-mbar a{flex:1;text-align:center;padding:16px 4px;font-weight:600;font-size:15px;color:var(--navy);border-right:1px solid var(--line)}
	.vz-mbar a.gold{background:var(--gold);color:#fff;border-right:0}
	.vz-wa{bottom:78px;right:14px;width:50px;height:50px}
	.vz-header-in{min-height:64px}
	.vz-logo img{max-height:42px}
	.vz-hero{min-height:0}
	.vz-hero-in{padding-top:46px;padding-bottom:46px}
	.vz-hero h1{font-size:32px;margin-bottom:24px}
	.vz-eyebrow{font-size:11px;letter-spacing:2px}
	.vz-tabs{display:flex;width:100%}
	.vz-tabs button{flex:1;padding:12px 4px;font-size:14px}
	.vz-panel{padding:14px;border-radius:0 0 14px 14px}
	.vz-search{flex-direction:column}
	.vz-search input,.vz-search select,.vz-search .vz-btn{width:100%;flex:none}
	.vz-cta-row{flex-direction:column;align-items:stretch;text-align:center}
	.vz-report-in{flex-direction:column;text-align:center;gap:10px}
	.vz-head h2{font-size:25px}
	.vz-track{gap:14px;margin-right:-20px;padding-right:20px}
	.vz-track > *,.vz-track.cols3 > *{flex-basis:78%}
	.vz-card-title{font-size:16px}
	.vz-chip{padding:9px 16px;font-size:14px}
	.vz-stats{padding:40px 0}
	.vz-stats-grid{grid-template-columns:1fr 1fr;gap:24px 12px}
	.vz-newsletter{text-align:center}
	.vz-news-in{justify-content:center}
}

/* Off-plan: tall photo cards on a blue band */
.vz-offplan{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff}
.vz-offplan .vz-head h2{color:#fff}
.vz-offplan .vz-link{color:var(--gold2)}
.vz-tall{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:358/600;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(160deg,#2a4a7f,#0b1f3a) center/cover no-repeat;padding:26px;align-self:flex-start}
.vz-tall-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.82) 100%);transition:opacity .3s}
.vz-tall > span{position:relative;z-index:2}
.vz-tall-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.vz-tall-brand{font-weight:700;font-size:18px;letter-spacing:.5px;line-height:1.2}
.vz-tall-logo{max-height:44px;width:auto;filter:brightness(0) invert(1)}
.vz-tall-go{flex:none;width:54px;height:54px;border:1.5px solid #fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.25s}
.vz-tall:hover .vz-tall-go{background:var(--gold);border-color:var(--gold)}
.vz-tall-info{display:flex;flex-direction:column}
.vz-tall-title{font-size:26px;font-weight:500;line-height:1.2;margin-bottom:6px}
.vz-tall-loc{font-size:16px;margin-bottom:14px;opacity:.95}
.vz-tall-pill{display:flex;align-items:center;gap:10px;background:#fff;color:var(--navy);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:500;margin-top:10px}
.vz-tall-pill svg{flex:none;color:var(--navy)}
@media (max-width:720px){
	.vz-tall{padding:20px;border-radius:18px}
	.vz-tall-title{font-size:21px}
	.vz-tall-go{width:44px;height:44px}
	.vz-tall-pill{font-size:13px;padding:8px 12px}
}

/* ---- v1.3 – match D&B-style off-plan band + communities ---- */
.vz-offplan{background:linear-gradient(100deg,var(--band1,#0a37a8) 0%,var(--band2,#070f5a) 100%)}
.vz-offplan .vz-head h2{font-weight:400;font-size:clamp(28px,3.6vw,46px)}
@media (min-width:721px){
	.vz-offplan .vz-track{gap:18px}
	.vz-tall{border-radius:28px;padding:32px}
	.vz-tall-go{width:57px;height:57px;border-width:1px;border-radius:6px}
	.vz-tall-title{font-weight:400;font-size:clamp(22px,2vw,28px)}
	.vz-tall-loc{font-size:17px}
	.vz-tall-pill{font-size:16px;padding:7px 14px;margin-top:9px}
}
@media (min-width:1101px){
	.vz-offplan .vz-track > *{flex-basis:calc((100% - 54px)/4)}
}

.vz-comm-sec .vz-head h2{font-weight:400}
.vz-comm{aspect-ratio:454/625;border-radius:24px;align-self:flex-start}
.vz-comm-name{left:28px;right:110px;bottom:36px;font-size:clamp(22px,2.2vw,32px);font-weight:400;line-height:1.15}
.vz-comm-go{position:absolute;z-index:2;right:22px;bottom:26px;width:60px;height:60px;border:1.5px solid #fff;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;transition:.25s}
.vz-comm:hover .vz-comm-go{background:var(--gold);border-color:var(--gold)}
.vz-center-btn{text-align:center;margin-top:22px}
.vz-btn-navy{background:var(--navy);color:#fff;padding:18px 48px;font-size:19px}
.vz-btn-navy:hover{background:var(--gold);color:#fff}
@media (min-width:721px){
	.vz-comm-sec .vz-track{gap:30px}
	.vz-comm-sec .vz-track > *{flex-basis:calc((100% - 60px)/3)}
	.vz-comm-sec .vz-arrow{top:-74px;width:42px;height:42px;border-radius:10px;border:1px solid var(--border-strong);box-shadow:none;background:#fff}
	.vz-comm-sec .vz-prev{left:auto;right:52px}
	.vz-comm-sec .vz-next{right:0}
}
@media (min-width:721px) and (max-width:1100px){
	.vz-comm-sec .vz-track > *{flex-basis:calc((100% - 30px)/2)}
}
@media (max-width:720px){
	.vz-comm-go{width:46px;height:46px;right:16px;bottom:18px;border-radius:12px}
	.vz-comm-name{left:18px;right:72px;bottom:24px;font-size:20px}
	.vz-btn-navy{padding:15px 34px;font-size:16px}
}

/* ---- v1.3.1 – arrow top-right, no logo on cards, readable text ---- */
.vz-tall-top{justify-content:flex-end}
.vz-tall-go{margin-left:auto}
.vz-tall-shade{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,.35) 52%,rgba(0,0,0,.88) 100%)}
.vz-tall-title,.vz-tall-loc{text-shadow:0 1px 10px rgba(0,0,0,.5)}

/* ---- Image banners ---- */
.vz-banner{position:relative;color:#fff;background:linear-gradient(120deg,var(--navy) 0%,var(--navy2) 100%) center/cover no-repeat;padding:96px 0}
.vz-banner-shade{position:absolute;inset:0;background:transparent}
.vz-banner.has-img .vz-banner-shade{background:linear-gradient(90deg,rgba(11,31,58,.78) 0%,rgba(11,31,58,.45) 60%,rgba(11,31,58,.25) 100%)}
.vz-banner-in{position:relative;z-index:2;max-width:var(--maxw)}
.vz-banner h2{color:#fff;font-size:clamp(28px,4vw,46px);font-weight:500;max-width:720px;margin-bottom:12px}
.vz-banner-text{max-width:620px;font-size:18px;opacity:.95;margin-bottom:26px}
@media (max-width:720px){.vz-banner{padding:60px 0}.vz-banner-text{font-size:16px}}

/* ---- Banner: big centred style (like "Live, Limitless") ---- */
.vz-banner{min-height:clamp(320px,var(--bh,420px),82vh);display:flex;align-items:center}
.vz-banner > .vz-wrap{width:100%}
.vz-banner.center .vz-banner-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.vz-banner.center h2{font-size:clamp(40px,7.2vw,96px);font-weight:300;max-width:none;letter-spacing:-.5px;line-height:1.1}
.vz-banner.center .vz-banner-text{margin-left:auto;margin-right:auto}
.vz-banner.center.has-img .vz-banner-shade{background:rgba(5,15,30,.45)}
@media (min-width:981px){.vz-banner.parallax{background-attachment:fixed}}

/* ---- Partners logo carousel ---- */
.vz-partners{background:#fff}
.vz-partners-head{text-align:center;margin-bottom:46px}
.vz-partners-head h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;color:#111;margin:0 0 26px}
.vz-partners-line{display:block;height:1px;background:#222;width:min(850px,100%);margin:0 auto}
.vz-partners .vz-track{gap:0;padding:6px 0 10px}
.vz-partners .vz-track > *{flex-basis:25%}
.vz-partner{display:flex;align-items:center;justify-content:center;height:130px;padding:10px 24px}
.vz-partner img{max-height:76px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.85;transition:.3s}
.vz-partner:hover img{filter:none;opacity:1}
.vz-partner-ph{color:#aab3c0;font-weight:500;border:1px dashed #d5dbe4;border-radius:12px;margin:0 10px;height:110px}
.vz-partners .vz-arrow{top:calc(50% - 40px);background:transparent;box-shadow:none;color:#b5bcc8;width:36px;height:36px}
.vz-partners .vz-arrow:hover{background:transparent;color:#111}
.vz-partners .vz-prev{left:-14px}.vz-partners .vz-next{right:-14px}
.vz-dots{display:flex;justify-content:center;gap:12px;margin-top:14px}
.vz-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#d3d8e0;cursor:pointer;transition:.2s}
.vz-dots button.active{background:#111;transform:scale(1.15)}
@media (max-width:1100px){.vz-partners .vz-track > *{flex-basis:33.333%}}
@media (max-width:720px){.vz-partners .vz-track > *{flex-basis:50%}.vz-partner{height:100px;padding:8px 14px}.vz-partner img{max-height:56px}}
