/* ===== VittaOne — design tokens ===== */
:root{
	--vt-ink:#0b1220;
	--vt-navy:#0b2545;
	--vt-navy-2:#123a6b;
	--vt-accent:#0b2545;
	--vt-teal:#0fa38f;
	--vt-teal-light:#e5f7f4;
	--vt-bg:#f7f9fc;
	--vt-card:#ffffff;
	--vt-border:#e6e9ef;
	--vt-muted:#5b6472;
	--vt-radius:14px;
	--vt-shadow:0 12px 30px -14px rgba(11,37,69,.18);
	--vt-font-head:'Sora',Inter,Arial,sans-serif;
	--vt-font-body:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--vt-font-body);color:var(--vt-ink);background:var(--vt-bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--vt-font-head);color:var(--vt-navy);line-height:1.2;margin:0 0 .5em;}
p{margin:0 0 1em;color:var(--vt-muted);}
a{color:inherit;}
img{max-width:100%;display:block;}
.vt-container{max-width:1160px;margin:0 auto;padding:0 24px;}

/* Buttons */
.vt-btn-primary,.vt-btn-ghost,.vt-btn-ghost-light{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:12px 22px;border-radius:10px;font-weight:600;text-decoration:none;
	font-size:15px;border:1px solid transparent;transition:transform .15s ease,opacity .15s ease;cursor:pointer;
}
.vt-btn-primary{background:var(--vt-teal);color:#fff;}
.vt-btn-primary:hover{opacity:.92;transform:translateY(-1px);}
.vt-btn-ghost{background:#fff;color:var(--vt-navy);border-color:var(--vt-border);}
.vt-btn-ghost:hover{border-color:var(--vt-navy);}
.vt-btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.vt-btn-ghost-light:hover{border-color:#fff;}
.vt-btn-lg{padding:15px 28px;font-size:16px;}
.vt-btn-block{width:100%;}

/* Header */
.vt-header{position:sticky;top:0;z-index:50;background:rgba(247,249,252,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--vt-border);}
.vt-header-inner{display:flex;align-items:center;gap:28px;padding:16px 24px;}
.vt-logo{font-family:var(--vt-font-head);font-weight:800;font-size:21px;color:var(--vt-navy);text-decoration:none;letter-spacing:-.01em;}
.vt-logo span{color:var(--vt-teal);}
.vt-nav{flex:1;}
.vt-nav-list{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.vt-nav-list a{text-decoration:none;color:var(--vt-ink);font-weight:500;font-size:15px;}
.vt-nav-list a:hover{color:var(--vt-teal);}
.vt-header-actions{display:flex;align-items:center;gap:14px;}
.vt-header-actions .vt-btn-ghost{padding:10px 16px;font-size:14px;}
.vt-nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.vt-nav-toggle span{width:22px;height:2px;background:var(--vt-navy);display:block;}

/* Hero */
.vt-hero{padding:64px 0 40px;background:linear-gradient(180deg,#fff, var(--vt-bg));}
.vt-hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.vt-eyebrow{display:inline-block;color:var(--vt-teal);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
.vt-hero h1{font-size:44px;letter-spacing:-.02em;}
.vt-hero-copy p{font-size:17px;max-width:520px;}
.vt-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0;}
.vt-hero-stats{display:flex;gap:30px;margin-top:34px;flex-wrap:wrap;}
.vt-hero-stats div{display:flex;flex-direction:column;}
.vt-hero-stats strong{font-family:var(--vt-font-head);color:var(--vt-navy);font-size:16px;}
.vt-hero-stats span{color:var(--vt-muted);font-size:13px;}

.vt-hero-art{display:flex;justify-content:center;}
.vt-hero-card{background:var(--vt-navy);color:#fff;border-radius:20px;padding:30px;width:100%;max-width:320px;box-shadow:var(--vt-shadow);}
.vt-hero-card-label{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.06em;}
.vt-hero-card-amount{display:block;font-family:var(--vt-font-head);font-size:32px;margin:8px 0 2px;}
.vt-hero-card-sub{font-size:13px;opacity:.75;display:block;margin-bottom:20px;}
.vt-hero-card-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.15);font-size:14px;}

/* Section head */
.vt-section-head{text-align:center;max-width:640px;margin:0 auto 40px;}
.vt-section-head-left{text-align:left;margin:0 0 34px;}
.vt-section-head h2,.vt-section-head h1{font-size:32px;letter-spacing:-.01em;}

/* Calculator */
.vt-calc{padding:70px 0;background:#fff;}
.vt-calc-card{background:var(--vt-card);border:1px solid var(--vt-border);border-radius:var(--vt-radius);box-shadow:var(--vt-shadow);display:grid;grid-template-columns:1.3fr .9fr;gap:0;overflow:hidden;}
.vt-calc-inputs{padding:38px 40px;display:flex;flex-direction:column;gap:30px;}
.vt-calc-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.vt-calc-row label{font-weight:600;font-size:14px;color:var(--vt-navy);}
.vt-calc-value{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-teal);font-size:17px;}
input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:99px;background:var(--vt-border);outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--vt-navy);border:4px solid #fff;box-shadow:0 0 0 1px var(--vt-border);cursor:pointer;margin-top:-8px;}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--vt-navy);border:4px solid #fff;box-shadow:0 0 0 1px var(--vt-border);cursor:pointer;}
input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:var(--vt-border);}
.vt-calc-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--vt-muted);margin-top:6px;}
.vt-calc-custom-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--vt-navy);margin-top:14px;cursor:pointer;}
.vt-calc-custom-wrap{margin-top:12px;}
.vt-calc-custom-field{display:flex;align-items:center;gap:10px;background:var(--vt-teal-light);border:1px solid #c9ece6;border-radius:10px;padding:10px 14px;max-width:260px;}
.vt-calc-custom-field input{border:none;background:transparent;font-size:16px;font-weight:600;width:100%;outline:none;color:var(--vt-navy);}
.vt-calc-custom-field span{color:var(--vt-muted);font-size:13px;white-space:nowrap;}

.vt-calc-results{background:var(--vt-navy);color:#fff;padding:38px 36px;display:flex;flex-direction:column;justify-content:center;gap:18px;}
.vt-calc-result-main{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.15);}
.vt-calc-result-main span{opacity:.7;font-size:13px;}
.vt-calc-result-main strong{font-family:var(--vt-font-head);font-size:34px;}
.vt-calc-result-row{display:flex;justify-content:space-between;font-size:14px;opacity:.9;}
.vt-calc-results .vt-btn-primary{margin-top:10px;}

/* Problem */
.vt-problem{padding:70px 0;}
.vt-problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-problem-card{background:#fff;border:1px solid var(--vt-border);border-radius:var(--vt-radius);padding:28px;}
.vt-problem-tag{display:inline-block;font-family:var(--vt-font-head);font-weight:800;font-size:26px;color:var(--vt-teal);margin-bottom:12px;}
.vt-problem-card p{margin:0;color:var(--vt-ink);font-size:15px;}

/* How it works */
.vt-hiw{padding:70px 0;background:#fff;}
.vt-hiw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-hiw-card{padding:26px;border-radius:var(--vt-radius);background:var(--vt-bg);border:1px solid var(--vt-border);}
.vt-hiw-num{font-family:var(--vt-font-head);font-weight:800;color:var(--vt-teal);font-size:14px;}
.vt-hiw-card h3{font-size:18px;margin:8px 0 6px;}
.vt-hiw-card p{margin:0;font-size:14px;}

/* Why VittaOne */
.vt-why{padding:70px 0;}
.vt-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-why-card{background:#fff;border:1px solid var(--vt-border);border-radius:var(--vt-radius);padding:28px;}
.vt-why-card h3{font-size:18px;}
.vt-why-card p{margin:0;font-size:14px;}

/* CTA */
.vt-cta{background:var(--vt-navy);color:#fff;padding:64px 0;text-align:center;}
.vt-cta h2{color:#fff;font-size:30px;}
.vt-cta p{color:rgba(255,255,255,.75);}
.vt-cta-inner{max-width:600px;margin:0 auto;}
.vt-cta .vt-hero-actions{justify-content:center;}

/* Footer */
.vt-footer{background:#08172d;color:#c7d1e0;padding:56px 0 24px;}
.vt-footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.vt-logo-footer{color:#fff;margin-bottom:12px;display:inline-block;}
.vt-logo-footer span{color:var(--vt-teal);}
.vt-footer h4{color:#fff;font-size:14px;margin-bottom:14px;}
.vt-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vt-footer a{text-decoration:none;color:#c7d1e0;font-size:14px;}
.vt-footer a:hover{color:#fff;}
.vt-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;font-size:12px;color:#8494ac;}

/* Generic pages / portals */
.vt-page-container{padding:56px 0;}
.vt-page-container-narrow{max-width:820px;padding:56px 24px;}
.vt-page-title{font-size:32px;}
.vt-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:10px;}
.vt-product-card{background:#fff;border:1px solid var(--vt-border);border-radius:var(--vt-radius);padding:24px;display:flex;flex-direction:column;gap:8px;}
.vt-product-card h3{font-size:17px;margin:0;}
.vt-product-card p{font-size:13px;margin:0;}
.vt-product-rate{color:var(--vt-teal);font-weight:700;font-size:14px;margin:6px 0 14px;}
.vt-enquire{background:#fff;border-top:1px solid var(--vt-border);padding:64px 0;}
.vt-enquire-inner{max-width:600px;}

/* Responsive */
@media (max-width: 980px){
	.vt-hero-inner{grid-template-columns:1fr;}
	.vt-calc-card{grid-template-columns:1fr;}
	.vt-problem-grid,.vt-hiw-grid,.vt-why-grid{grid-template-columns:1fr;}
	.vt-product-grid{grid-template-columns:repeat(2,1fr);}
	.vt-footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
	.vt-nav,.vt-header-actions .vt-btn-ghost{display:none;}
	.vt-nav-toggle{display:flex;}
	.vt-header.vt-nav-open .vt-nav{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--vt-border);padding:16px 24px;}
	.vt-header.vt-nav-open .vt-nav-list{flex-direction:column;gap:16px;}
	.vt-hero h1{font-size:32px;}
	.vt-product-grid{grid-template-columns:1fr;}
}
