/* Nunito — auto-allotjada (sense CDN) */
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-latinext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============ Tramuntana Telecom — homepage ============ */
:root{
  --vt-blue:#2FB6C9;      /* light clear brand blue — button fills (with dark text) */
  --vt-blue-d:#22A2B4;    /* hover */
  --vt-blue-dd:#0C6C79;   /* deeper blue for text/links on white (AA) */
  --vt-sky:#6FD0DC;       /* pale accent — decorative icons only */
  --vt-sky-l:#b3e6ec;
  --vt-navy:#0f2d3a;      /* dark accents */
  --vt-ink:#153a46;       /* navy title text */
  --vt-slate:#4c6672;     /* body text (AA on white) */
  --vt-mut:#5f7883;       /* muted text (AA on white) */
  --vt-line:#e6f1f3;      /* almost invisible hairline */
  --vt-bg:#ffffff;
  --vt-bg-soft:#f7fdfe;   /* almost white with the faintest blue */
  --vt-bg-blue:#ecf8fa;   /* barely-there blue tint for chips & panels */
  --vt-radius:28px;
  --vt-radius-s:18px;
  --vt-shadow:0 24px 55px -26px rgba(47,182,201,.35);
  --vt-shadow-s:0 8px 26px -14px rgba(15,45,58,.16);
  --vt-grad:linear-gradient(135deg,#2FB6C9 0%,#6FD0DC 100%);
  --vt-grad-soft:linear-gradient(135deg,#2FB6C9 0%,#6FD0DC 100%);
  --vt-font:'Nunito',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --vt-font-head:'Nunito',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* base reset (front page runs without Astra CSS) */
html{scroll-behavior:smooth;}
body.vt-home{margin:0;padding:0;}
.vt-home{font-family:var(--vt-font);color:var(--vt-ink);background:var(--vt-bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.vt-home *{box-sizing:border-box;}
.vt-home ul{margin:0;}
.vt-home img{max-width:100%;height:auto;display:block;}
.vt-home a{text-decoration:none;color:inherit;}
.vt-container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}
.vt-skip{position:absolute;left:-9999px;}
.vt-skip:focus{left:16px;top:16px;background:#fff;padding:10px 16px;border-radius:8px;z-index:9999;box-shadow:var(--vt-shadow-s);}

.vt-home h1,.vt-home h2,.vt-home h3,.vt-home h4{margin:0;line-height:1.16;font-weight:800;letter-spacing:-.02em;color:var(--vt-ink);font-family:var(--vt-font-head);}
.vt-home p,.vt-home a,.vt-home span,.vt-home li,.vt-home label,.vt-home input,.vt-home select,.vt-home textarea,.vt-home button{font-family:var(--vt-font);}
.vt-home p{margin:0;}

/* buttons */
.vt-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--vt-font);font-weight:700;font-size:15px;letter-spacing:-.01em;padding:14px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap;}
.vt-btn--primary{background:var(--vt-blue);color:var(--vt-ink);box-shadow:0 10px 22px -12px rgba(47,182,201,.7);}
.vt-btn--primary:hover{transform:translateY(-2px);background:var(--vt-blue-d);box-shadow:0 16px 30px -12px rgba(47,182,201,.8);color:var(--vt-ink);}
.vt-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.45);}
.vt-btn--ghost:hover{background:rgba(255,255,255,.22);color:#fff;}
.vt-btn--outline{background:#fff;color:var(--vt-blue-dd);border-color:#d4e4f6;}
.vt-btn--outline:hover{border-color:var(--vt-blue-dd);background:var(--vt-bg-blue);}
.vt-btn--light{background:#fff;color:var(--vt-blue-dd);}
.vt-btn--light:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.3);}
.vt-btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.vt-btn--outline-light:hover{background:rgba(255,255,255,.14);color:#fff;}
.vt-btn--block{width:100%;}

/* ============ HEADER ============ */
.vt-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--vt-line);transition:transform .35s ease,box-shadow .3s ease,background .3s ease;will-change:transform;}
.vt-header.is-scrolled{box-shadow:0 6px 24px -14px rgba(14,36,64,.3);}
.vt-header.is-hidden{transform:translateY(-100%);}
.vt-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px;}
.vt-logo img{width:auto;height:40px;}
.vt-nav{display:flex;align-items:center;gap:26px;}
.vt-nav>a{font-weight:500;font-size:15px;color:var(--vt-slate);transition:.2s;}
.vt-nav>a:hover{color:var(--vt-blue-dd);}
.vt-nav__cta{display:inline-flex;align-items:center;gap:7px;background:var(--vt-bg-blue);color:var(--vt-blue-dd)!important;padding:9px 16px;border-radius:999px;font-weight:600;border:1px solid #d6e8fb;}
.vt-nav__cta:hover{background:var(--vt-blue);color:var(--vt-ink)!important;border-color:var(--vt-blue);}
.vt-header__actions{display:flex;align-items:center;gap:14px;}
.vt-phone-chip{display:inline-flex;align-items:center;gap:8px;color:var(--vt-blue-dd);font-weight:700;font-size:15px;}
.vt-phone-chip svg{color:var(--vt-sky);}
.vt-burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:var(--vt-bg-soft);border:1px solid var(--vt-line);border-radius:16px;cursor:pointer;}
.vt-burger span{width:22px;height:2px;background:var(--vt-ink);border-radius:2px;transition:.25s;}
.vt-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.vt-burger.is-open span:nth-child(2){opacity:0;}
.vt-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============ HERO ============ */
.vt-hero{position:relative;overflow:hidden;background:#fff;padding:66px 0 84px;border-bottom:1px solid var(--vt-line);}
.vt-hero__bg{position:absolute;inset:0;z-index:0;background:
    radial-gradient(900px 480px at 88% -20%,rgba(47,182,201,.06),transparent 60%);}
.vt-hero__bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(18,35,61,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom right,#000,transparent 55%);opacity:.5;}
.vt-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.vt-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vt-line);color:var(--vt-blue-dd);font-weight:600;font-size:13px;padding:7px 14px;border-radius:999px;box-shadow:var(--vt-shadow-s);}
.vt-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18);}
.vt-hero h1{font-size:clamp(2.4rem,5vw,3.9rem);margin:20px 0 0;}
.vt-grad{color:var(--vt-blue-dd);}
.vt-hero__lead{margin-top:20px;font-size:1.14rem;color:var(--vt-slate);max-width:560px;}
.vt-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.vt-hero__badges{list-style:none;display:flex;flex-wrap:wrap;gap:26px;margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--vt-line);}
.vt-hero__badges li{font-size:14px;color:var(--vt-slate);}
.vt-hero__badges b{display:block;font-size:1.5rem;color:var(--vt-blue-dd);letter-spacing:-.02em;}

.vt-hero__card{position:relative;}
.vt-price-card{position:relative;background:#fff;border:1px solid var(--vt-line);border-radius:30px;padding:30px;box-shadow:var(--vt-shadow);z-index:2;}
.vt-price-card__tag{font-size:13px;font-weight:700;color:var(--vt-blue-dd);text-transform:uppercase;letter-spacing:.05em;}
.vt-price-card__price{display:flex;align-items:baseline;gap:2px;margin:6px 0 4px;color:var(--vt-ink);}
.vt-price-card__price .vt-num{font-size:3.6rem;font-weight:800;letter-spacing:-.03em;}
.vt-price-card__price .vt-cents{font-size:1.5rem;font-weight:800;}
.vt-price-card__price .vt-mo{font-size:1rem;font-weight:500;color:var(--vt-mut);margin-left:6px;}
.vt-price-card__desc{color:var(--vt-slate);font-size:.95rem;}
.vt-price-card__list{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px;}
.vt-price-card__list li{position:relative;padding-left:28px;font-size:.95rem;color:var(--vt-ink);}
.vt-price-card__list li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--vt-bg-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230C6C79' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;}
.vt-hero__float{position:absolute;background:#fff;border:1px solid var(--vt-line);box-shadow:var(--vt-shadow-s);border-radius:16px;padding:9px 14px;font-size:13px;font-weight:600;color:var(--vt-ink);z-index:3;animation:vtFloat 4s ease-in-out infinite;}
.vt-hero__float--1{top:-16px;right:22px;left:auto;}
.vt-hero__float--2{bottom:8%;right:-18px;animation-delay:1.5s;}
@keyframes vtFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ============ TRUST ============ */
.vt-trust{border-bottom:1px solid var(--vt-line);background:#fff;}
.vt-trust__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 0;}
.vt-trust__item{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--vt-slate);}
.vt-trust__item svg{flex:none;color:var(--vt-sky);}
.vt-trust__item b{color:var(--vt-ink);}

/* ============ SECTIONS ============ */
.vt-section{padding:84px 0;}
.vt-section__head{text-align:center;max-width:680px;margin:0 auto 48px;}
.vt-eyebrow{display:inline-block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--vt-blue-dd);margin-bottom:12px;}
.vt-section__head h2{font-size:clamp(1.95rem,3.9vw,2.9rem);}
.vt-section__head p{margin-top:14px;color:var(--vt-slate);font-size:1.06rem;}

/* SEGMENTS */
.vt-segments{background:var(--vt-bg-soft);}
.vt-seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-seg-card{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:32px 28px;transition:.25s;position:relative;overflow:hidden;}
.vt-seg-card:hover{transform:translateY(-6px);box-shadow:var(--vt-shadow);border-color:transparent;}
.vt-seg-card--featured{background:#fff;border:2px solid var(--vt-blue);box-shadow:var(--vt-shadow);}
.vt-seg-card--featured::after{content:"Popular";position:absolute;top:16px;right:16px;background:var(--vt-bg-blue);color:var(--vt-blue-dd);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}
.vt-seg-card__icon{font-size:2.2rem;margin-bottom:14px;}
.vt-seg-card h3{font-size:1.45rem;margin-bottom:8px;}
.vt-seg-card p{color:var(--vt-slate);font-size:.97rem;}
.vt-seg-card__link{display:inline-block;margin-top:18px;font-weight:700;color:var(--vt-blue-dd);}

/* TARIFES */
.vt-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;background:var(--vt-bg-soft);padding:8px;border-radius:999px;width:fit-content;margin:0 auto 40px;border:1px solid var(--vt-line);}
.vt-tab{font-family:inherit;font-weight:600;font-size:15px;color:var(--vt-slate);background:transparent;border:none;padding:11px 22px;border-radius:999px;cursor:pointer;transition:.2s;}
.vt-tab.is-active{background:#fff;color:var(--vt-blue-dd);box-shadow:var(--vt-shadow-s);}
.vt-tabpanel{display:none;animation:vtFade .4s ease;}
.vt-tabpanel.is-active{display:block;}
@keyframes vtFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.vt-tabpanel__title{text-align:center;font-size:1.85rem;font-weight:800;color:var(--vt-ink);margin:16px 0 48px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.vt-tabpanel__title span{color:var(--vt-blue-dd);background:var(--vt-bg-blue);font-weight:700;font-size:.8rem;padding:4px 14px;border-radius:999px;}
/* second group ("Packs…") clearly separated from the first */
.vt-tabpanel .vt-tabpanel__title:not(:first-child){margin-top:80px;padding-top:64px;border-top:1px solid var(--vt-line);}
/* clearance so the "Més popular" ribbons never touch the title above */
.vt-cards{padding-top:14px;}
.vt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vt-card{position:relative;background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:30px 26px;display:flex;flex-direction:column;transition:.25s;}
.vt-card:hover{box-shadow:var(--vt-shadow);transform:translateY(-4px);}
.vt-card--pop{border-color:var(--vt-sky);box-shadow:0 20px 50px -24px rgba(47,182,201,.6);}
.vt-card__ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--vt-blue);color:var(--vt-ink);font-size:12px;font-weight:800;padding:5px 14px;border-radius:999px;white-space:nowrap;}
.vt-card__name{font-weight:600;color:var(--vt-slate);font-size:1rem;}
.vt-card__price{display:flex;align-items:baseline;gap:2px;margin:8px 0 4px;}
.vt-card__price b{font-size:2.7rem;font-weight:800;letter-spacing:-.03em;color:var(--vt-ink);}
.vt-card__price span{color:var(--vt-mut);font-weight:600;}
.vt-card ul{list-style:none;margin:16px 0 22px;padding:0;display:grid;gap:11px;flex:1;}
.vt-card ul li{position:relative;padding-left:26px;font-size:.94rem;color:var(--vt-slate);}
.vt-card ul li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--vt-bg-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%230C6C79' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;}
.vt-note{text-align:center;color:var(--vt-mut);font-size:.85rem;margin-top:28px;}

/* COMUNITATS */
.vt-community{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center;}
.vt-community__text h3{font-size:1.7rem;margin-bottom:14px;}
.vt-community__text>p{color:var(--vt-slate);margin-bottom:20px;}
.vt-checklist{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;}
.vt-checklist li{position:relative;padding-left:32px;color:var(--vt-ink);}
.vt-checklist li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--vt-blue-dd) center/13px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
.vt-community__card{background:var(--vt-bg-blue);color:var(--vt-ink);border:1px solid #d6ebfa;border-radius:var(--vt-radius);padding:34px 28px;text-align:center;box-shadow:var(--vt-shadow-s);}
.vt-community__big{font-size:3rem;}
.vt-community__lead{font-size:1.4rem;font-weight:800;margin:6px 0 10px;color:var(--vt-blue-dd);}
.vt-community__card p{color:var(--vt-slate);font-size:.95rem;margin-bottom:20px;}

/* EMPRESES extra */
.vt-emp-extra{display:flex;align-items:center;gap:16px;background:var(--vt-bg-blue);border:1px solid #d6e8fb;border-radius:var(--vt-radius);padding:20px 24px;margin-top:26px;color:var(--vt-ink);}
.vt-emp-extra svg{flex:none;color:var(--vt-sky);}

/* CONFIGURADOR */
.vt-config{background:var(--vt-bg-soft);}
.vt-config__box{background:#fff;border:1px solid var(--vt-line);border-radius:30px;box-shadow:var(--vt-shadow);overflow:hidden;max-width:980px;margin:0 auto;}
.vt-config__switch{display:flex;gap:8px;padding:18px;background:var(--vt-bg-soft);border-bottom:1px solid var(--vt-line);justify-content:center;}
.vt-config__switch button{font-family:inherit;font-weight:600;font-size:15px;color:var(--vt-slate);background:transparent;border:1px solid transparent;padding:10px 22px;border-radius:999px;cursor:pointer;transition:.2s;}
.vt-config__switch button.is-active{background:#fff;color:var(--vt-blue-dd);box-shadow:var(--vt-shadow-s);border-color:var(--vt-line);}
.vt-config__grid{display:grid;grid-template-columns:1.15fr .85fr;}
.vt-config__controls{padding:34px;}
.vt-cfg-pane{display:none;}
.vt-cfg-pane.is-active{display:block;}
.vt-field{margin-bottom:26px;}
.vt-field>label{display:block;font-weight:600;color:var(--vt-ink);margin-bottom:12px;}
.vt-field>label span{color:var(--vt-mut);font-weight:400;font-size:.88rem;}
.vt-choices{display:flex;flex-wrap:wrap;gap:10px;}
.vt-choices button{font-family:inherit;font-weight:600;font-size:15px;color:var(--vt-slate);background:var(--vt-bg-soft);border:2px solid var(--vt-line);padding:11px 20px;border-radius:16px;cursor:pointer;transition:.18s;}
.vt-choices button:hover{border-color:var(--vt-sky);}
.vt-choices button.is-active{background:var(--vt-bg-blue);border-color:var(--vt-blue-dd);color:var(--vt-blue-dd);}
.vt-choices--static button{cursor:default;width:100%;text-align:left;}
.vt-check{display:flex!important;align-items:center;gap:10px;font-weight:500!important;color:var(--vt-slate)!important;cursor:pointer;margin-bottom:0!important;}
.vt-check input{width:20px;height:20px;accent-color:var(--vt-blue-dd);}
.vt-check b{color:var(--vt-blue-dd);}
.vt-check em{color:var(--vt-mut);font-style:normal;font-size:.85em;}
.vt-exclu{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#f0a500,#f7c948);padding:3px 10px;border-radius:999px;vertical-align:middle;box-shadow:0 4px 12px -4px rgba(240,165,0,.5);}
.vt-field[hidden]{display:none!important;}
.vt-stepper{display:inline-flex;align-items:center;gap:4px;background:var(--vt-bg-soft);border:2px solid var(--vt-line);border-radius:16px;padding:5px;}
.vt-stepper button{width:38px;height:38px;border:none;background:#fff;border-radius:12px;font-size:20px;font-weight:700;color:var(--vt-blue-dd);cursor:pointer;box-shadow:var(--vt-shadow-s);transition:.15s;line-height:1;}
.vt-stepper button:hover{background:var(--vt-bg-blue);}
.vt-stepper__val{min-width:44px;text-align:center;font-weight:700;font-size:1.1rem;color:var(--vt-ink);}
.vt-config__summary{background:var(--vt-bg-blue);color:var(--vt-ink);padding:34px;display:flex;align-items:center;position:relative;overflow:hidden;border-left:1px solid var(--vt-line);}
.vt-summary__card{width:100%;position:relative;z-index:1;}
.vt-summary__label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--vt-blue-dd);font-weight:800;}
.vt-summary__price{display:flex;align-items:baseline;margin:6px 0 18px;color:var(--vt-ink);}
.vt-summary__price #cfg-price{font-size:3.6rem;font-weight:800;letter-spacing:-.03em;color:var(--vt-blue-dd);}
.vt-summary__cents{font-size:1.6rem;font-weight:800;color:var(--vt-blue-dd);}
.vt-summary__mo{font-size:1rem;color:var(--vt-mut);margin-left:8px;font-weight:500;}
.vt-summary__lines{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:9px;}
.vt-summary__lines li{display:flex;justify-content:space-between;font-size:.92rem;color:var(--vt-slate);border-bottom:1px dashed var(--vt-line);padding-bottom:8px;}
.vt-summary__lines li b{color:var(--vt-ink);}
.vt-summary__note{font-size:.82rem;color:var(--vt-mut);margin-bottom:18px;min-height:1em;}
.vt-config__summary .vt-btn--ghost{margin-top:10px;}

/* SERVEIS */
.vt-serveis__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.vt-serv{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:28px;transition:.25s;}
.vt-serv:hover{transform:translateY(-5px);box-shadow:var(--vt-shadow);border-color:transparent;}
.vt-serv__ic{width:56px;height:56px;display:grid;place-items:center;font-size:1.7rem;background:var(--vt-bg-blue);border-radius:18px;margin-bottom:16px;}
.vt-serv h3{font-size:1.3rem;margin-bottom:8px;}
.vt-serv p{color:var(--vt-slate);font-size:.95rem;}

/* COBERTURA */
.vt-cobertura__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;}
.vt-cobertura__text h2{margin-bottom:16px;}
.vt-cobertura__text>p{color:var(--vt-slate);margin-bottom:22px;}
.vt-cobertura__stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.vt-stat{background:var(--vt-bg-soft);border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:26px;text-align:center;}
.vt-stat b{display:block;font-size:2.5rem;font-weight:900;color:var(--vt-blue-dd);letter-spacing:-.02em;}
.vt-stat span{color:var(--vt-slate);font-size:.9rem;}
/* municipis */
.vt-towns{margin-top:56px;text-align:center;padding-top:44px;border-top:1px solid var(--vt-line);}
.vt-towns h3{font-size:1.5rem;margin-bottom:8px;}
.vt-towns>p{color:var(--vt-slate);max-width:560px;margin:0 auto 26px;}
.vt-towns__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.vt-towns__list li{background:#fff;border:1px solid var(--vt-line);border-radius:999px;padding:9px 18px;font-size:.92rem;font-weight:600;color:var(--vt-ink);box-shadow:var(--vt-shadow-s);transition:.18s;}
.vt-towns__list li:hover{border-color:var(--vt-sky);color:var(--vt-blue-dd);transform:translateY(-2px);}
.vt-towns__more{background:var(--vt-blue-dd)!important;color:#fff!important;border-color:transparent!important;}

/* NOSALTRES */
.vt-nosaltres__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center;}
.vt-nosaltres__media{position:relative;aspect-ratio:1/1;border-radius:30px;background:var(--vt-grad);display:grid;place-items:center;box-shadow:var(--vt-shadow);overflow:hidden;}
.vt-nosaltres__media::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:22px 22px;}
.vt-nosaltres__badge{font-size:6rem;position:relative;z-index:1;}
.vt-nosaltres__years{position:absolute;bottom:20px;left:20px;background:#fff;border-radius:18px;padding:12px 18px;box-shadow:var(--vt-shadow-s);z-index:2;}
.vt-nosaltres__years b{display:block;font-size:1.5rem;color:var(--vt-blue-dd);}
.vt-nosaltres__years span{font-size:.78rem;color:var(--vt-slate);}
.vt-nosaltres__text h2{margin-bottom:16px;}
.vt-nosaltres__text p{color:var(--vt-slate);margin-bottom:14px;}
.vt-nosaltres__cta{margin-top:22px;}

/* CTA */
.vt-cta{background:var(--vt-bg-blue);position:relative;overflow:hidden;}
.vt-cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(47,182,201,.18) 1px,transparent 1px);background-size:26px 26px;opacity:.6;}
.vt-cta__inner{position:relative;text-align:center;padding:70px 0;color:var(--vt-ink);}
.vt-cta h2{color:var(--vt-ink);font-size:clamp(1.6rem,3.2vw,2.3rem);}
.vt-cta p{margin:14px auto 30px;max-width:560px;color:var(--vt-slate);font-size:1.06rem;}
.vt-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* CONTACTE */
.vt-contacte__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;}
.vt-contacte__info h2{margin-bottom:12px;}
.vt-contacte__info>p{color:var(--vt-slate);margin-bottom:26px;}
.vt-contacte__list{list-style:none;padding:0;margin:0;display:grid;gap:20px;}
.vt-contacte__list li{display:flex;gap:16px;align-items:flex-start;}
.vt-ci{flex:none;width:46px;height:46px;display:grid;place-items:center;font-size:1.3rem;background:var(--vt-bg-blue);border-radius:16px;}
.vt-contacte__list a{color:var(--vt-blue-dd);font-weight:600;}
/* WhatsApp contact card */
.vt-wa-card{background:#fff;border:1px solid var(--vt-line);border-radius:28px;padding:40px 34px;box-shadow:var(--vt-shadow-s);text-align:center;}
.vt-wa-card__icon{width:74px;height:74px;margin:0 auto 20px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#25D366,#128C7E);border-radius:26px;box-shadow:0 12px 26px -10px rgba(37,211,102,.7);}
.vt-wa-card h3{font-size:1.5rem;margin-bottom:10px;}
.vt-wa-card>p{color:var(--vt-slate);margin-bottom:24px;font-size:1rem;}
.vt-btn--wa{background:#25D366;color:#fff;box-shadow:0 12px 26px -10px rgba(37,211,102,.65);}
.vt-btn--wa:hover{background:#1EBE57;color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(37,211,102,.75);}
.vt-wa-card__alt{margin-top:20px;padding-top:20px;border-top:1px solid var(--vt-line);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:center;font-size:.92rem;}
.vt-wa-card__alt span{color:var(--vt-mut);width:100%;margin-bottom:2px;}
.vt-wa-card__alt a{color:var(--vt-blue-dd);font-weight:700;}

/* FOOTER */
.vt-footer{background:var(--vt-navy);color:#cdd8e8;}
.vt-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;padding:60px 24px 40px;}
.vt-footer__brand img{height:30px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:16px;}
.vt-footer__brand p{font-size:.92rem;color:#9fb0c6;max-width:320px;}
.vt-footer__col h4{color:#fff;font-size:1rem;margin-bottom:16px;}
.vt-footer__col a,.vt-footer__col span{display:block;color:#9fb0c6;font-size:.92rem;margin-bottom:10px;transition:.2s;}
.vt-footer__col a:hover{color:var(--vt-sky-l);}
.vt-footer__bar{border-top:1px solid rgba(255,255,255,.1);}
.vt-footer__barin{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:20px 24px;font-size:.83rem;color:#8fa1b8;}
.vt-footer__legal{display:flex;gap:18px;flex-wrap:wrap;}
.vt-footer__legal a{color:#aab9cd;font-size:.83rem;font-weight:600;}
.vt-footer__legal a:hover{color:var(--vt-sky-l);}

/* ============ WHATSAPP FLOTANT ============ */
.vt-wa{position:fixed;right:22px;bottom:22px;z-index:1200;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-weight:700;font-size:15px;padding:12px 20px 12px 16px;border-radius:999px;box-shadow:0 12px 30px -8px rgba(37,211,102,.7);transition:.25s;}
.vt-wa:hover{transform:translateY(-3px);box-shadow:0 18px 36px -8px rgba(37,211,102,.8);color:#fff;}
.vt-wa svg{flex:none;}
.vt-wa::before{content:"";position:absolute;left:16px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:#25D366;z-index:-1;animation:vtPulse 2.2s ease-out infinite;}
@keyframes vtPulse{0%{transform:scale(.9);opacity:.7}70%{transform:scale(2.1);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.vt-wa::before{animation:none;}}

/* ============ LEGAL PAGES ============ */
.vt-legal{padding:56px 0 80px;background:#fff;}
.vt-legal .vt-container{max-width:820px;}
.vt-legal h1{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:8px;}
.vt-legal__meta{color:var(--vt-mut);font-size:.9rem;margin-bottom:30px;}
.vt-legal__body h2{font-size:1.3rem;margin:34px 0 10px;color:var(--vt-ink);}
.vt-legal__body p,.vt-legal__body li{color:var(--vt-slate);margin-bottom:10px;line-height:1.75;}
.vt-legal__body ul{margin:0 0 18px;padding-left:22px;}
.vt-legal__body ul li{list-style:disc;}
.vt-legal__body a{color:var(--vt-blue-dd);font-weight:700;}
.vt-legal__back{display:inline-flex;align-items:center;gap:8px;margin-top:34px;font-weight:700;color:var(--vt-blue-dd);}
.vt-legal__lead{font-size:1.15rem;color:var(--vt-ink);font-weight:600;margin-bottom:6px;line-height:1.6;}
.vt-legal__body .vt-btn{margin:10px 10px 0 0;}
.vt-legal__body figure{margin:0 0 24px;}
.vt-legal__body img{width:100%;height:auto;border-radius:20px;box-shadow:var(--vt-shadow-s);margin:6px 0 20px;}
.vt-legal__body figcaption{font-size:.85rem;color:var(--vt-mut);margin-top:-12px;}

/* ============ RESPONSIVE ============ */
@media(max-width:980px){
  .vt-hero__inner{grid-template-columns:1fr;gap:44px;}
  .vt-hero__card{max-width:420px;}
  .vt-community,.vt-cobertura__inner,.vt-nosaltres__inner,.vt-contacte__inner,.vt-config__grid{grid-template-columns:1fr;}
  .vt-nosaltres__media{max-width:360px;order:2;}
  .vt-trust__inner{grid-template-columns:1fr 1fr;}
  .vt-seg-grid,.vt-cards,.vt-serveis__grid{grid-template-columns:1fr 1fr;}
  .vt-footer__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .vt-container{padding:0 18px;}
  .vt-nav{position:fixed;inset:66px 0 auto;flex-direction:column;background:#fff;padding:16px 20px 26px;gap:4px;border-bottom:1px solid var(--vt-line);box-shadow:var(--vt-shadow-s);transform:translateY(-160%);transition:.3s;align-items:stretch;max-height:calc(100vh - 66px);overflow:auto;}
  .vt-nav.is-open{transform:translateY(0);}
  .vt-nav>a{padding:13px 4px;border-bottom:1px solid var(--vt-line);font-size:16px;}
  .vt-nav__cta{justify-content:center;margin-top:12px;}
  .vt-burger{display:flex;}
  .vt-header__inner{height:66px;}
  .vt-logo img{height:32px;}
  .vt-phone-chip{padding:8px;background:var(--vt-bg-blue);border-radius:14px;}
  .vt-phone-chip span{display:none;}
  .vt-section{padding:54px 0;}
  .vt-section__head{margin-bottom:34px;}
  .vt-seg-grid,.vt-cards,.vt-cards--emp,.vt-serveis__grid,.vt-cobertura__stats,.vt-footer__grid,.vt-form__row{grid-template-columns:1fr;}
  .vt-trust__inner{grid-template-columns:1fr 1fr;gap:12px;padding:22px 0;}
  .vt-trust__item{flex-direction:column;text-align:center;gap:8px;background:var(--vt-bg-soft);border:1px solid var(--vt-line);border-radius:18px;padding:18px 12px;font-size:13px;line-height:1.35;}
  .vt-trust__item svg{width:26px;height:26px;}
  .vt-hero{padding:44px 0 60px;}
  .vt-hero__float{display:none;}
  .vt-hero__badges{gap:18px;justify-content:space-between;}
  .vt-hero__badges b{font-size:1.25rem;}
  .vt-hero__cta{gap:10px;}
  .vt-hero__cta .vt-btn{flex:1;min-width:0;}
  .vt-tabs{width:100%;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;}
  .vt-tab{white-space:nowrap;padding:10px 16px;font-size:14px;}
  .vt-config__switch{flex-wrap:wrap;}
  .vt-config__controls,.vt-config__summary{padding:24px;}
  .vt-community__card{padding:28px 22px;}
  .vt-footer__barin{flex-direction:column;text-align:center;}
  .vt-footer__grid{text-align:center;padding:44px 18px 30px;}
  .vt-footer__brand p{margin:0 auto;}
  .vt-footer__brand img{margin-left:auto;margin-right:auto;}
  /* WhatsApp compacte */
  .vt-wa{right:16px;bottom:16px;padding:0;width:56px;height:56px;justify-content:center;border-radius:50%;}
  .vt-wa__label{display:none;}
  .vt-wa::before{left:0;top:0;width:56px;height:56px;margin:0;}
}
@media(max-width:420px){
  .vt-hero h1{font-size:1.9rem;}
  .vt-hero__badges{flex-direction:row;flex-wrap:wrap;}
  .vt-hero__badges li{flex:1 0 40%;}
  .vt-price-card{padding:24px;}
  .vt-card,.vt-serv{padding:24px 20px;}
  .vt-btn{padding:12px 18px;font-size:14px;}
  .vt-summary__price #cfg-price{font-size:3rem;}
}
