/* estic.online — generat per web/build.py des del design system. No l'editis a mà. */
/* estic.online — generated from tokens.json */
:root {
  --verd-500: #5F8239;
  --verd-600: #4F712B;
  --verd-700: #3D5A20;
  --verd-900: #22301A;
  --verd-100: #E1EAD3;
  --verd-50: #EEF3E6;
  --sobre-verd: #FFFFFF;
  --groc: #F6C600;
  --groc-50: #FDF6D3;
  --sobre-groc: #1F2419;
  --tinta: #1F2419;
  --tinta-suau: #454C3D;
  --tinta-tenue: #5F6656;
  --paper: #FFFFFF;
  --pedra: #F3F5EE;
  --linia: #DADFD0;
  --linia-forta: #9AA38B;
  --focus: #3D5A20;
  --vel: #0C0F08B3;
  --avis: #A93A0A;
  --damos-fosc: #1F1F1F;
  --damos-text: #F4F3EF;
  --barri-taronja: #D65114;
  --barri-turquesa: #00919E;
  --barri-rosa: #C2608D;
  --barri-blau: #134F79;
  --barri-mostassa: #B88308;
  --ombra-sobre-foto: 0 18px 40px -12px rgba(20,28,12,0.28);
}

:root {
  --espai-1: 4px;
  --espai-2: 8px;
  --espai-3: 12px;
  --espai-4: 16px;
  --espai-5: 24px;
  --espai-6: 32px;
  --espai-7: 48px;
  --espai-8: 64px;
  --espai-seccio: 112px;
  --amplada: 1240px;
  --amplada-text: 680px;
  --radi-0: 0px;
  --radi-s: 4px;
  --radi-m: 8px;
  --radi-l: 16px;
  --font-sans: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.eo .display { font-family: var(--font-sans); font-size: 76px; line-height: 0.98; font-weight: 700; letter-spacing: -2.4px; }
body.eo .h1 { font-family: var(--font-sans); font-size: 56px; line-height: 1.02; font-weight: 700; letter-spacing: -1.6px; }
body.eo .h2 { font-family: var(--font-sans); font-size: 42px; line-height: 1.08; font-weight: 700; letter-spacing: -1.0px; }
body.eo .h3 { font-family: var(--font-sans); font-size: 28px; line-height: 1.15; font-weight: 650; letter-spacing: -0.4px; }
body.eo .h4 { font-family: var(--font-sans); font-size: 21px; line-height: 1.3; font-weight: 650; letter-spacing: -0.2px; }
body.eo .fina { font-family: var(--font-sans); font-size: 76px; line-height: 0.98; font-weight: 200; letter-spacing: -2.0px; }
body.eo .xifra { font-family: var(--font-sans); font-size: 56px; line-height: 1.0; font-weight: 700; letter-spacing: -1.5px; }
body.eo .entradeta { font-family: var(--font-sans); font-size: 21px; line-height: 1.5; font-weight: 400; }
body.eo .cos { font-family: var(--font-sans); font-size: 18px; line-height: 1.6; font-weight: 400; }
body.eo .petit { font-family: var(--font-sans); font-size: 15px; line-height: 1.5; font-weight: 400; }
body.eo .peu { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 500; letter-spacing: 0.1px; }
body.eo .antetitol { font-family: var(--font-sans); font-size: 15px; line-height: 1.3; font-weight: 600; letter-spacing: 0.2px; }
body.eo .boto { font-family: var(--font-sans); font-size: 16px; line-height: 1.0; font-weight: 600; letter-spacing: 0.1px; }
body.eo .menu { font-family: var(--font-sans); font-size: 16px; line-height: 1.0; font-weight: 500; }
body.eo .etiqueta { font-family: var(--font-sans); font-size: 13px; line-height: 1.0; font-weight: 600; letter-spacing: 0.6px; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/HankenGrotesk-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../fonts/HankenGrotesk-Italic-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }


/* taules: fora els estils de taula del tema Hello (vores i files ratllades) */
body.eo table { margin: 0; border-collapse: collapse; }
body.eo table td, body.eo table th { border: 0; background-color: transparent; }
body.eo table tbody > tr:nth-child(odd) > td, body.eo table tbody > tr:nth-child(odd) > th, body.eo table tbody tr:hover > td, body.eo table tbody tr:hover > th { background-color: transparent; }
body.eo {font-family: var(--font-sans); color: var(--tinta); background: var(--paper); -webkit-font-smoothing: antialiased; font-size: 18px; line-height: 1.6;}
body.eo *, body.eo *::before, body.eo *::after {box-sizing: border-box;}
body.eo h1, body.eo h2, body.eo h3, body.eo h4, body.eo p, body.eo ul, body.eo ol, body.eo figure, body.eo blockquote {margin: 0;}
body.eo h1, body.eo h2, body.eo h3 {text-wrap: balance;}
body.eo img {display: block; max-width: 100%;}
body.eo a:not([class]) {color: inherit;}
body.eo :focus-visible {outline: 3px solid var(--focus); outline-offset: 2px;}
body.eo .eo-wrap {max-width: var(--amplada); margin: 0 auto; padding-inline: var(--espai-5);}
body.eo .eo-punt {display: inline-block; width: .3em; height: .3em; background: var(--verd-500); vertical-align: baseline; margin-left: .04em;}
body.eo .eo-punt--groc, body.eo .eo-fosc .eo-punt, body.eo .eo-foto .eo-punt {background: var(--groc);}
body.eo .eo-final {color: var(--verd-500);}
body.eo .eo-fosc .eo-final, body.eo .eo-foto .eo-final {color: var(--groc);}
body.eo .eo-fina {font-weight: 200; letter-spacing: -0.01em;}
body.eo .eo-antetitol {display: inline-flex; align-items: center; gap: var(--espai-2); font-size: 15px; line-height: 1.3; font-weight: 600; letter-spacing: .2px; color: var(--verd-600);}
body.eo .eo-antetitol::before {content: ""; width: 9px; height: 9px; background: var(--verd-500); flex: none;}
body.eo .eo-fosc .eo-antetitol, body.eo .eo-foto .eo-antetitol {color: #fff;}
body.eo .eo-fosc .eo-antetitol::before, body.eo .eo-foto .eo-antetitol::before {background: var(--groc);}
body.eo .eo-boto {display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: var(--radi-s); font: 600 16px/1 var(--font-sans); letter-spacing: .1px; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s;}
body.eo .eo-boto--primari {background: var(--verd-600); color: var(--sobre-verd);}
body.eo .eo-boto--primari:hover {background: var(--verd-700);}
body.eo .eo-boto--secundari {background: transparent; color: var(--tinta); border-color: var(--linia-forta);}
body.eo .eo-boto--secundari:hover {border-color: var(--tinta);}
body.eo .eo-boto--blanc {background: #fff; color: #1F2419;}
body.eo .eo-boto--blanc:hover {background: var(--groc);}
body.eo .eo-boto--petit {min-height: 42px; padding: 0 18px; font-size: 15px;}
body.eo .eo-boto svg, body.eo .eo-enllac svg {width: 18px; height: 18px; flex: none;}
body.eo .eo-enllac {display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 16px; color: var(--verd-600); text-decoration: none;}
body.eo .eo-enllac svg {transition: transform .15s;}
body.eo .eo-enllac:hover {color: var(--verd-700);}
body.eo .eo-enllac:hover svg {transform: translateX(3px);}
body.eo .eo-fosc .eo-enllac {color: #fff;}
body.eo .eo-estat {white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 12px; border-radius: 999px; background: var(--paper); border: 1px solid var(--linia); font-size: 14px; font-weight: 600; color: var(--tinta);}
body.eo .eo-estat i {width: 10px; height: 10px; background: var(--verd-500); box-shadow: 0 0 0 4px var(--verd-100);}
body.eo .eo-estat small {font-weight: 400; color: var(--tinta-tenue); font-size: 14px;}
body.eo .eo-estat--foto {background: var(--vel); border-color: transparent; color: #fff; backdrop-filter: blur(6px);}
body.eo .eo-estat--foto i {background: var(--groc); box-shadow: 0 0 0 4px rgba(246,198,0,.25);}
body.eo .eo-estat--foto small {color: #E4E8DC;}
body.eo .eo-cap {display: flex; align-items: center; gap: var(--espai-6); padding: 18px var(--espai-5); border-bottom: 1px solid var(--linia); background: var(--paper);}
body.eo .eo-cap__logo {height: 26px; width: auto; flex: none;}
body.eo .eo-cap__menu {display: flex; gap: 28px; margin-left: auto; font-size: 16px; font-weight: 500;}
body.eo .eo-cap__menu a {text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent;}
body.eo .eo-cap__menu a[aria-current] {border-color: var(--verd-500);}
body.eo .eo-cap__menu a:hover {border-color: var(--linia-forta);}
body.eo .eo-cap__eines {display: flex; align-items: center; gap: 18px; font-size: 14px; color: var(--tinta-suau);}
body.eo .eo-cap__idioma b {color: var(--tinta);}
body.eo .eo-cap__eines a.eo-cap__clients {color: inherit;}
body.eo .eo-cap--foto {position: absolute; inset: 0 0 auto; background: transparent; border-color: rgba(255,255,255,.22); color: #fff;}
body.eo .eo-cap--foto .eo-cap__eines {color: #E4E8DC;}
body.eo .eo-cap--foto .eo-cap__idioma b {color: #fff;}
body.eo .eo-cap__burger {display: none; width: 44px; height: 44px; border: 1px solid var(--linia-forta); border-radius: var(--radi-s); background: none; color: inherit;}
@container (max-width: 860px) {body.eo .eo-cap__menu, body.eo .eo-cap__eines .eo-cap__clients {display: none;}
body.eo .eo-cap__burger {display: inline-grid; place-items: center;}
body.eo .eo-cap__eines {margin-left: auto;}}
@container (max-width: 520px) {body.eo .eo-cap {gap: 12px; padding-inline: 16px;}
body.eo .eo-cap__idioma {display: none;}
body.eo .eo-cap__eines {gap: 10px;}
body.eo .eo-cap__logo {height: 22px;}}
body.eo .eo-hero {position: relative; min-height: 640px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; container-type: inline-size;}
body.eo .eo-hero > img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--focus-x, 50%) 40%;}
body.eo .eo-hero::after {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,15,8,.78) 0%, rgba(12,15,8,.45) 45%, rgba(12,15,8,0) 75%), linear-gradient(0deg, rgba(12,15,8,.55), rgba(12,15,8,0) 45%);}
body.eo .eo-hero__cos {position: relative; z-index: 1; width: 100%; max-width: var(--amplada); margin: 0 auto; padding: 160px var(--espai-5) 56px; display: grid; gap: 22px;}
body.eo .eo-hero h1 {font-size: clamp(42px, 7.4cqi, 76px); line-height: .98; font-weight: 700; letter-spacing: -.03em; max-width: 11.5ch;}
body.eo .eo-hero p {font-size: clamp(18px, 2.2cqi, 21px); line-height: 1.5; max-width: 34ch; color: #F1F3EC;}
body.eo .eo-hero__accions {display: flex; flex-wrap: wrap; gap: var(--espai-3); margin-top: 6px;}
body.eo .eo-hero__peu {position: absolute; z-index: 1; right: var(--espai-5); bottom: 56px;}
@container (max-width: 760px) {body.eo .eo-hero__peu {position: static; margin-top: 8px;}
body.eo .eo-hero {min-height: 560px;}}
body.eo .eo-phero {container-type: inline-size; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center; max-width: var(--amplada); margin: 0 auto; padding: 56px var(--espai-5);}
body.eo .eo-phero__foto {order: 2; position: relative; aspect-ratio: 16 / 11; max-height: 380px; width: 100%; border-radius: var(--radi-l); overflow: hidden;}
body.eo .eo-phero__foto img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-phero__targeta {order: 1; display: grid; gap: 20px; align-content: center;}
body.eo .eo-phero h1 {font-size: clamp(36px, 5cqi, 54px); line-height: 1.03; font-weight: 700; letter-spacing: -.028em; margin-top: 14px;}
body.eo .eo-phero p {color: var(--tinta-suau); font-size: 20px; line-height: 1.5; max-width: 46ch;}
@media (max-width: 860px) {body.eo .eo-phero {grid-template-columns: 1fr; gap: 24px; padding: 32px var(--espai-4) 24px;}
body.eo .eo-phero__foto {aspect-ratio: 16 / 9;}}
body.eo .eo-sh {display: grid; gap: 14px; max-width: 760px;}
body.eo .eo-sh h2 {font-size: clamp(30px, 4.2vw, 42px); line-height: 1.08; font-weight: 700; letter-spacing: -.024em;}
body.eo .eo-sh p {font-size: 20px; line-height: 1.5; color: var(--tinta-suau); max-width: 60ch;}
body.eo .eo-sh--centre {margin-inline: auto; text-align: center; justify-items: center;}
body.eo .eo-sh--partida {max-width: none; grid-template-columns: 1fr 1fr; align-items: end; column-gap: var(--espai-8);}
body.eo .eo-sh--partida .eo-antetitol {grid-column: 1 / -1;}
@media (max-width: 760px) {body.eo .eo-sh--partida {grid-template-columns: 1fr;}}
body.eo .eo-serveis {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); border-radius: var(--radi-m); overflow: hidden;}
body.eo .eo-servei {background: var(--paper); padding: var(--espai-6); display: grid; grid-template-rows: auto auto 1fr auto; gap: 12px; align-content: start;}
body.eo .eo-servei__ico {width: 72px; height: 56px; object-fit: contain; object-position: left center; margin-bottom: 8px;}
body.eo .eo-servei h3 {font-size: 21px; line-height: 1.3; font-weight: 650; letter-spacing: -.01em;}
body.eo .eo-servei p {font-size: 16px; line-height: 1.55; color: var(--tinta-suau);}
body.eo .eo-servei .eo-enllac {margin-top: 10px; font-size: 15px;}
body.eo .eo-servei--compacte {grid-template-columns: 56px 1fr; grid-template-rows: none; align-items: center; padding: 20px 24px; gap: 14px;}
body.eo .eo-servei--compacte .eo-servei__ico {width: 56px; height: 44px; margin: 0;}
body.eo .eo-servei--compacte h3 {font-size: 18px;}
body.eo .eo-partit {display: grid; grid-template-columns: 1fr 1fr; gap: var(--espai-8); align-items: center; container-type: inline-size;}
body.eo .eo-partit__foto {position: relative; border-radius: var(--radi-l); overflow: hidden; aspect-ratio: 5 / 4;}
body.eo .eo-partit__foto img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-partit__text {display: grid; gap: 18px;}
body.eo .eo-partit__text h2 {font-size: 40px; line-height: 1.08; font-weight: 700; letter-spacing: -.022em;}
body.eo .eo-partit__text p {color: var(--tinta-suau);}
body.eo .eo-partit--invers .eo-partit__foto {order: 2;}
body.eo .eo-peufoto {position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; background: var(--vel); color: #fff; font-size: 13px; font-weight: 500; border-radius: var(--radi-s);}
body.eo .eo-peufoto::before {content: ""; width: 8px; height: 8px; background: var(--groc);}
@media (max-width: 760px) {body.eo .eo-partit {grid-template-columns: 1fr; gap: 28px;}
body.eo .eo-partit--invers .eo-partit__foto {order: 0;}
body.eo .eo-partit__text h2 {font-size: 30px;}}
body.eo .eo-llista {list-style: none; padding: 0; display: grid; gap: 0;}
body.eo .eo-llista li {display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--linia); font-size: 16px; line-height: 1.45;}
body.eo .eo-llista li::before {content: ""; width: 14px; height: 9px; margin-top: 5px; border-left: 2.5px solid var(--verd-600); border-bottom: 2.5px solid var(--verd-600); transform: rotate(-45deg);}
body.eo .eo-llista li:last-child {border-bottom: 0;}
body.eo .eo-passos {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--espai-5); counter-reset: pas;}
body.eo .eo-pas {display: grid; gap: 14px; align-content: start;}
body.eo .eo-pas__foto {aspect-ratio: 4 / 3; border-radius: var(--radi-m); overflow: hidden;}
body.eo .eo-pas__foto img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-pas__num {display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; color: var(--verd-600); font-variant-numeric: tabular-nums;}
body.eo .eo-pas__num::after {content: ""; flex: 1; height: 1px; background: var(--linia);}
body.eo .eo-pas h3 {font-size: 21px; line-height: 1.3; font-weight: 650;}
body.eo .eo-pas p {font-size: 16px; color: var(--tinta-suau); line-height: 1.55;}
body.eo .eo-plans {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: var(--espai-5); align-items: stretch;}
body.eo .eo-pla {position: relative; display: grid; grid-template-rows: auto auto auto 1fr auto; gap: 18px; padding: 32px 30px; background: var(--paper); border: 1px solid var(--linia); border-radius: var(--radi-m);}
body.eo .eo-pla__nom {font-size: 15px; font-weight: 600; color: var(--verd-600); display: flex; justify-content: space-between; align-items: center;}
body.eo .eo-pla__preu {display: flex; align-items: baseline; gap: 10px; font-variant-numeric: tabular-nums;}
body.eo .eo-pla__preu b {font-size: 56px; line-height: 1; font-weight: 700; letter-spacing: -.03em;}
body.eo .eo-pla__preu span {font-size: 15px; color: var(--tinta-tenue);}
body.eo .eo-pla__resum {font-size: 17px; color: var(--tinta-suau); padding-bottom: 18px; border-bottom: 1px solid var(--linia);}
body.eo .eo-pla .eo-boto {width: 100%;}
body.eo .eo-pla--destacat {border: 2px solid var(--verd-600); box-shadow: 0 0 0 6px var(--verd-50);}
body.eo .eo-pla__marca {font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--sobre-groc); background: var(--groc); padding: 6px 9px; border-radius: var(--radi-s);}
body.eo .eo-extres {display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--espai-7); padding: 40px; background: var(--verd-50); border-radius: var(--radi-m); align-items: center;}
body.eo .eo-extres table {width: 100%; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums;}
body.eo .eo-extres td {padding: 11px 0; border-bottom: 1px solid var(--linia);}
body.eo .eo-extres td:last-child {text-align: right; font-weight: 600; white-space: nowrap; padding-left: 16px;}
body.eo .eo-extres tr:last-child td {border-bottom: 0;}
body.eo .eo-extres blockquote {font-size: 22px; line-height: 1.4; font-weight: 500; letter-spacing: -.01em; padding-left: 22px; border-left: 3px solid var(--verd-500);}
@media (max-width: 760px) {body.eo .eo-extres {grid-template-columns: 1fr; padding: 26px 22px; gap: 24px;}}
body.eo .eo-testimoni {display: grid; grid-template-columns: 1fr; align-items: center; container-type: inline-size; margin: 0;}
body.eo .eo-testimoni__foto {border-radius: var(--radi-l); overflow: hidden; aspect-ratio: 16 / 10; grid-column: 1; grid-row: 1; width: 68%;}
body.eo .eo-testimoni__foto img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-testimoni__cita {grid-column: 1 / -1; grid-row: 1; justify-self: end; width: min(44%, 520px); background: var(--paper); padding: 40px 40px 34px; border-radius: var(--radi-m); box-shadow: var(--ombra-sobre-foto); display: grid; gap: 22px;}
body.eo .eo-testimoni blockquote {font-size: 24px; line-height: 1.4; font-weight: 500; letter-spacing: -.012em;}
body.eo .eo-testimoni blockquote::before {content: "“"; display: block; font-size: 72px; line-height: .6; font-weight: 700; color: var(--verd-500); margin-bottom: 10px;}
body.eo .eo-testimoni figcaption {display: grid; gap: 2px; font-size: 15px; padding-top: 18px; border-top: 1px solid var(--linia);}
body.eo .eo-testimoni figcaption b {font-size: 17px;}
body.eo .eo-testimoni figcaption span {color: var(--tinta-tenue);}
@container (max-width: 720px) {body.eo .eo-testimoni__foto {width: 100%;}
body.eo .eo-testimoni__cita {grid-row: 2; width: auto; margin: -60px 16px 0; padding: 28px 24px;}
body.eo .eo-testimoni blockquote {font-size: 20px;}}
body.eo .eo-casos {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--espai-5);}
body.eo .eo-cas {display: grid; gap: 14px; text-decoration: none; color: inherit;}
body.eo .eo-cas__foto {position: relative; aspect-ratio: 4 / 3; border-radius: var(--radi-l); overflow: hidden;}
body.eo .eo-cas__foto img {width: 100%; height: 100%; object-fit: cover; transition: transform .4s;}
body.eo .eo-cas:hover .eo-cas__foto img {transform: scale(1.03);}
body.eo .eo-cas__web {position: absolute; right: 12px; bottom: 12px; width: 42%; border-radius: 6px; overflow: hidden; border: 1px solid rgba(255,255,255,.7); box-shadow: 0 10px 24px -8px rgba(0,0,0,.45); background: #fff;}
body.eo .eo-cas__web::before {content: ""; display: block; height: 10px; background: #E9ECE3; border-bottom: 1px solid #D5DACB;}
body.eo .eo-cas__web img {aspect-ratio: 16 / 10; width: 100%; object-fit: cover; object-position: top;}
body.eo .eo-cas h3 {font-size: 21px; line-height: 1.25; font-weight: 650; display: flex; align-items: baseline; justify-content: space-between; gap: 12px;}
body.eo .eo-cas h3 small {font-size: 14px; font-weight: 500; color: var(--verd-600); white-space: nowrap;}
body.eo .eo-cas p {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-sector {display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--tinta-suau);}
body.eo .eo-sector::before {content: ""; width: 8px; height: 8px; background: var(--c, var(--verd-500));}
body.eo .eo-sector--moda {--c: var(--barri-rosa);}
body.eo .eo-sector--salut {--c: var(--barri-turquesa);}
body.eo .eo-sector--menjar {--c: var(--barri-taronja);}
body.eo .eo-sector--despatx {--c: var(--barri-blau);}
body.eo .eo-sector--lleure {--c: var(--barri-mostassa);}
body.eo .eo-grafic {display: grid; grid-template-columns: 1fr 200px; gap: 24px; padding: 28px; border: 1px solid var(--linia); border-radius: var(--radi-m); align-items: center; background: var(--paper);}
body.eo .eo-grafic h3 {font-size: 21px; font-weight: 650; margin-bottom: 8px;}
body.eo .eo-grafic p {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-grafic ul {margin-top: 12px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px;}
body.eo .eo-grafic li {font-size: 13px; font-weight: 500; padding: 5px 10px; background: var(--verd-50); border-radius: var(--radi-s); color: var(--tinta-suau);}
body.eo .eo-grafic__img {aspect-ratio: 1; border-radius: var(--radi-m); background: var(--verd-100); display: grid; place-items: center; overflow: hidden;}
body.eo .eo-franja {background: var(--verd-600); color: var(--sobre-verd);}
body.eo .eo-franja .eo-wrap {display: grid; grid-template-columns: 1fr auto; gap: var(--espai-6); align-items: center; padding-block: 56px;}
body.eo .eo-franja h2 {font-size: clamp(28px, 3.6vw, 40px); line-height: 1.08; font-weight: 700; letter-spacing: -.02em;}
body.eo .eo-franja p {margin-top: 10px; font-size: 18px; opacity: .92;}
body.eo .eo-franja p b {font-variant-numeric: tabular-nums;}
body.eo .eo-franja .eo-boto--blanc {color: #1F2419;}
body.eo .eo-franja__accions {display: flex; gap: var(--espai-3); flex-wrap: wrap;}
body.eo .eo-franja__accions .eo-boto--secundari {color: var(--sobre-verd); border-color: currentColor;}
@media (max-width: 760px) {body.eo .eo-franja .eo-wrap {grid-template-columns: 1fr;}}
body.eo .eo-faq {border-top: 1px solid var(--linia);}
body.eo .eo-faq details {border-bottom: 1px solid var(--linia);}
body.eo .eo-faq summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; font-size: 20px; font-weight: 650; line-height: 1.3;}
body.eo .eo-faq summary::-webkit-details-marker {display: none;}
body.eo .eo-faq summary::after {content: ""; flex: none; width: 14px; height: 14px; margin-top: 6px; background: linear-gradient(var(--verd-600), var(--verd-600)) center / 14px 2.5px no-repeat, linear-gradient(var(--verd-600), var(--verd-600)) center / 2.5px 14px no-repeat; transition: transform .2s;}
body.eo .eo-faq details[open] summary::after {transform: rotate(45deg);}
body.eo .eo-faq details > div {padding: 0 48px 24px 0; color: var(--tinta-suau); max-width: 70ch;}
body.eo .eo-form {display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px;}
body.eo .eo-camp {display: grid; gap: 7px;}
body.eo .eo-camp--ample {grid-column: 1 / -1;}
body.eo .eo-camp label {font-size: 15px; font-weight: 600;}
body.eo .eo-camp label small {font-weight: 400; color: var(--tinta-tenue);}
body.eo .eo-camp input, body.eo .eo-camp textarea, body.eo .eo-camp select {font: 400 17px/1.4 var(--font-sans); color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 13px 14px; min-height: 52px; width: 100%;}
body.eo .eo-camp textarea {min-height: 140px; resize: vertical;}
body.eo .eo-camp input:focus, body.eo .eo-camp textarea:focus {outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--tinta);}
body.eo .eo-camp--error input {border-color: var(--avis);}
body.eo .eo-camp__error {display: flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 500; color: var(--avis);}
body.eo .eo-camp__error::before {content: "!"; display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: var(--avis); color: var(--paper); font-size: 12px; font-weight: 700;}
body.eo .eo-check {grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--tinta-suau);}
body.eo .eo-check input {width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--verd-600); flex: none;}
@media (max-width: 640px) {body.eo .eo-form {grid-template-columns: 1fr;}}
body.eo .eo-peu {background: var(--verd-900); color: #E4E8DC; font-size: 15px;}
body.eo .eo-peu .eo-wrap {padding-block: 64px 28px; display: grid; gap: 48px;}
body.eo .eo-peu__cols {display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px;}
body.eo .eo-peu h4 {font-size: 13px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: #fff; margin-bottom: 14px; display: flex; align-items: center; gap: 8px;}
body.eo .eo-peu h4::before {content: ""; width: 7px; height: 7px; background: var(--groc);}
body.eo .eo-peu ul {list-style: none; padding: 0; display: grid; gap: 9px;}
body.eo .eo-peu a {text-decoration: none;}
body.eo .eo-peu a:hover {color: #fff; text-decoration: underline; text-underline-offset: 3px;}
body.eo .eo-peu__marca img {height: 54px; width: auto; margin-bottom: 18px;}
body.eo .eo-peu__marca p {max-width: 32ch; color: #C9D0BE;}
body.eo .eo-peu__legal {display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); font-size: 13px; color: #B9C4A8;}
@media (max-width: 860px) {body.eo .eo-peu__cols {grid-template-columns: 1fr 1fr;}}
body.eo .eo-peu__damos {display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.14); text-decoration: none; color: #C9D0BE; font-size: 14px;}
body.eo .eo-peu__damos img {height: 15px; width: auto;}
body.eo .eo-peu__damos-mes {margin-left: auto; color: #fff; font-weight: 600;}
body.eo .eo-peu__damos:hover .eo-peu__damos-mes {color: var(--groc);}
body.eo .eo-specs {display: grid; grid-template-columns: auto 1fr; margin: 0; font-size: 15px; border-top: 1px solid var(--linia);}
body.eo .eo-specs dt, body.eo .eo-specs dd {margin: 0; padding: 9px 0; border-bottom: 1px solid var(--linia);}
body.eo .eo-specs dt {color: var(--tinta-tenue); padding-right: 16px;}
body.eo .eo-specs dd {text-align: right; font-weight: 600; font-variant-numeric: tabular-nums;}
body.eo .eo-plans--hosting .eo-pla {grid-template-rows: auto auto auto auto 1fr auto;}
body.eo .eo-si, body.eo .eo-no {font-style: normal; display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 600;}
body.eo .eo-si::before {content: ""; width: 12px; height: 7px; border-left: 2.5px solid var(--verd-600); border-bottom: 2.5px solid var(--verd-600); transform: rotate(-45deg) translateY(-2px);}
body.eo .eo-si {color: var(--verd-600);}
body.eo .eo-no {color: var(--tinta-tenue); font-weight: 500;}
body.eo .eo-no::before {content: "–"; font-weight: 700;}
body.eo .eo-compara {overflow-x: auto; border: 1px solid var(--linia); border-radius: var(--radi-m);}
body.eo .eo-compara table {width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px;}
body.eo .eo-compara th, body.eo .eo-compara td {padding: 14px 18px; border-bottom: 1px solid var(--linia); text-align: left; vertical-align: middle;}
body.eo .eo-compara thead th {font-size: 18px; font-weight: 650; vertical-align: bottom;}
body.eo .eo-compara thead small {display: block; font-size: 14px; font-weight: 500; color: var(--tinta-tenue); margin-top: 4px; font-variant-numeric: tabular-nums;}
body.eo .eo-compara tbody th {font-weight: 500; color: var(--tinta-suau); position: sticky; left: 0; background: var(--paper);}
body.eo .eo-compara tr:last-child > * {border-bottom: 0;}
body.eo .eo-compara__dest {background: var(--verd-50);}
body.eo .eo-domini {display: grid; gap: 16px; max-width: 760px;}
body.eo .eo-domini__form {display: grid; grid-template-columns: 1fr 110px auto; gap: 8px;}
body.eo .eo-domini__form input, body.eo .eo-domini__form select {font: 500 18px/1 var(--font-sans); color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 0 16px; min-height: 56px;}
body.eo .eo-domini__res {list-style: none; padding: 0; display: grid;}
body.eo .eo-domini__res li {display: grid; grid-template-columns: 1fr auto 90px 90px; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--linia); font-variant-numeric: tabular-nums;}
body.eo .eo-sr {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
@media (max-width: 560px) {body.eo .eo-domini__form {grid-template-columns: 1fr 96px;}
body.eo .eo-domini__form .eo-boto {grid-column: 1 / -1;}
body.eo .eo-domini__res li {grid-template-columns: 1fr auto;}}
body.eo .eo-avis-kit {display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 28px 32px; background: var(--groc-50); border-radius: var(--radi-m); color: var(--sobre-groc);}
body.eo .eo-avis-kit p {margin-top: 6px; font-size: 16px; opacity: .9;}
@media (max-width: 640px) {body.eo .eo-avis-kit {grid-template-columns: 1fr;}}
body.eo .eo-prox {display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--espai-8); align-items: start;}
body.eo .eo-prox__llista {list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--linia); border: 1px solid var(--linia); border-radius: var(--radi-m); overflow: hidden;}
body.eo .eo-prox__llista li {background: var(--paper); padding: 26px 24px; display: grid; gap: 8px; align-content: start;}
body.eo .eo-prox__llista b {font-size: 19px; font-weight: 650; display: flex; gap: 10px; align-items: baseline;}
body.eo .eo-prox__llista b::before {content: ""; width: 9px; height: 9px; background: var(--verd-500); flex: none;}
body.eo .eo-prox__llista span {font-size: 16px; color: var(--tinta-suau); line-height: 1.5;}
@media (max-width: 860px) {body.eo .eo-prox {grid-template-columns: 1fr; gap: 32px;}}
@media (max-width: 560px) {body.eo .eo-prox__llista {grid-template-columns: 1fr;}}
body.eo .eo-geo {display: grid; gap: 14px; max-width: 720px;}
body.eo .eo-geo__q {justify-self: end; max-width: 80%; background: var(--verd-600); color: var(--sobre-verd); padding: 14px 18px; border-radius: 14px 14px 4px 14px;}
body.eo .eo-geo__ia {display: block; font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; opacity: .85; margin-bottom: 4px;}
body.eo .eo-geo__a {max-width: 86%; background: var(--paper); border: 1px solid var(--linia); padding: 16px 18px; border-radius: 14px 14px 14px 4px; font-size: 16px;}
body.eo .eo-geo__a b {background: linear-gradient(transparent 60%, rgba(246,198,0,.55) 60%);}
body.eo .eo-geo__font {display: inline-flex; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--verd-600); padding: 3px 8px; border: 1px solid var(--linia); border-radius: 999px;}
body.eo .eo-geo__com {margin-top: 10px;}
body.eo .eo-geo__nota {font-size: 13px; color: var(--tinta-tenue);}
body.eo .eo-damos {display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: 44px var(--espai-5); background: var(--damos-fosc); color: var(--damos-text);}
body.eo .eo-damos__logo {height: 22px; width: auto; margin-bottom: 14px;}
body.eo .eo-damos p {font-size: 19px; max-width: 52ch;}
body.eo .eo-damos .eo-boto--blanc {color: #1F1F1F;}
body.eo .eo-damos .eo-boto--blanc:hover {background: #fff; text-decoration: underline;}
@media (max-width: 760px) {body.eo .eo-damos {grid-template-columns: 1fr;}}
body.eo .eo-heroB {display: grid; grid-template-columns: 1.25fr 1fr; min-height: 560px; container-type: inline-size;}
body.eo .eo-heroB__text {padding: 72px 56px; display: grid; gap: 22px; align-content: center;}
body.eo .eo-heroB h1 {font-size: clamp(42px, 6.4cqi, 74px); line-height: .98; font-weight: 700; letter-spacing: -.03em;}
body.eo .eo-heroB p {font-size: 20px; color: var(--tinta-suau); max-width: 40ch;}
body.eo .eo-heroB__llosa {position: relative; background: var(--verd-500); padding: 40px; display: flex; align-items: flex-end; overflow: hidden;}
body.eo .eo-heroB__punt {position: absolute; right: 40px; top: 40px; width: 38%; aspect-ratio: 1; background: var(--groc);}
body.eo .eo-heroB__llosa ul {position: relative; list-style: none; padding: 0; display: grid; gap: 10px;}
@container (max-width: 760px) {body.eo .eo-heroB {grid-template-columns: 1fr;}
body.eo .eo-heroB__text {padding: 40px 24px;}
body.eo .eo-heroB__llosa {min-height: 280px;}}
body.eo .eo-heroC {display: grid; gap: 40px; padding: 64px 48px; container-type: inline-size;}
body.eo .eo-heroC__text {display: grid; gap: 20px; max-width: 900px;}
body.eo .eo-heroC h1 {font-size: clamp(40px, 6cqi, 72px); line-height: 1; font-weight: 700; letter-spacing: -.03em;}
body.eo .eo-heroC__mosaic {display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 12px;}
body.eo .eo-heroC__mosaic figure {position: relative; margin: 0; aspect-ratio: 3 / 4; border-radius: var(--radi-m); overflow: hidden;}
body.eo .eo-heroC__mosaic figure:nth-child(2), body.eo .eo-heroC__mosaic figure:nth-child(3) {margin-top: 40px;}
body.eo .eo-heroC__mosaic img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-heroC__mosaic .eo-estat {position: absolute; left: 10px; bottom: 10px;}
@container (max-width: 760px) {body.eo .eo-heroC {padding: 40px 20px;}
body.eo .eo-heroC__mosaic {grid-template-columns: 1fr 1fr;}
body.eo .eo-heroC__mosaic figure:nth-child(n) {margin-top: 0;}}
body.eo .eo-opcions {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px;}
body.eo .eo-opcio {border: 1px solid var(--linia); border-radius: var(--radi-m); padding: 26px; display: grid; gap: 14px; align-content: start; background: var(--paper);}
body.eo .eo-opcio__lletra {display: inline-grid; place-items: center; width: 34px; height: 34px; background: var(--tinta); color: var(--paper); font-weight: 700; font-size: 16px;}
body.eo .eo-opcio--rec {border: 2px solid var(--verd-600);}
body.eo .eo-opcio table {width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums;}
body.eo .eo-opcio td {padding: 9px 0; border-bottom: 1px solid var(--linia);}
body.eo .eo-opcio td + td {text-align: right; font-weight: 600;}
body.eo .eo-opcio p {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-lemes {display: grid; gap: 0;}
body.eo .eo-lema {display: grid; grid-template-columns: 34px 1fr; gap: 18px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--linia);}
body.eo .eo-lema h3 {font-size: clamp(26px, 3.4vw, 40px); line-height: 1.05; font-weight: 700; letter-spacing: -.02em;}
body.eo .eo-lema p {grid-column: 2; font-size: 15px; color: var(--tinta-tenue); margin-top: 6px;}
body.eo .eo-pagina {background: var(--paper);}
body.eo .eo-sec {padding-block: 96px;}
body.eo .eo-sec--pedra {background: var(--pedra);}
body.eo .eo-sec--verd {background: var(--verd-50);}
body.eo .eo-sec > .eo-wrap {display: grid; gap: var(--espai-7);}
body.eo .eo-pagina .eo-hero {min-height: 680px;}
body.eo .eo-pagina .eo-cap--foto + .eo-hero, body.eo .eo-pagina-hero {position: relative;}
body.eo .eo-contacte {display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: start;}
body.eo .eo-contacte__dades {display: grid; gap: 22px; padding: 32px; background: var(--paper); border: 1px solid var(--linia); border-radius: var(--radi-m);}
body.eo .eo-contacte__dades h3 {font-size: 15px; font-weight: 600; color: var(--verd-600);}
body.eo .eo-contacte__dades p {font-size: 18px;}
@media (max-width: 860px) {body.eo .eo-contacte {grid-template-columns: 1fr;}}
body.eo .eo-xifres {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); border-top: 1px solid var(--linia); border-bottom: 1px solid var(--linia);}
body.eo .eo-xifra {padding: 28px 24px 26px 0; display: grid; gap: 6px;}
body.eo .eo-xifra + .eo-xifra {padding-left: 24px; border-left: 1px solid var(--linia);}
body.eo .eo-xifra b {font-size: 52px; line-height: 1; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums;}
body.eo .eo-xifra b small {font-size: .45em; font-weight: 500; letter-spacing: 0; margin-left: 4px; color: var(--tinta-suau);}
body.eo .eo-xifra span {font-size: 15px; color: var(--tinta-suau); line-height: 1.4;}
@media (max-width: 640px) {body.eo .eo-xifra + .eo-xifra {padding-left: 0; border-left: 0; border-top: 1px solid var(--linia);}}
body.eo .eo-resposta {display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); column-gap: 48px; row-gap: 14px; padding: 30px 34px; background: var(--verd-50); border: 1px solid var(--linia); border-radius: var(--radi-m);}
body.eo .eo-resposta > .eo-resposta__cap {grid-column: 1 / -1;}
body.eo .eo-resposta > p {grid-column: 1;}
body.eo .eo-resposta > ul {grid-column: 2; grid-row: 2 / span 2; align-self: center; padding-left: 28px; border-left: 1px solid var(--linia);}
body.eo .eo-resposta > :not(.eo-resposta__cap):not(p):not(ul) {grid-column: 1 / -1;}
body.eo .eo-resposta:not(:has(> ul)) > p {grid-column: 1 / -1; max-width: 80ch;}
@media (max-width: 760px) {body.eo .eo-resposta {grid-template-columns: 1fr; padding: 24px 22px;}
body.eo .eo-resposta > ul {grid-column: 1; grid-row: auto; padding-left: 0; border-left: 0;}}
body.eo .eo-wrap > .eo-prosa {margin-inline: auto;}
body.eo .eo-resposta__cap {display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--verd-600);}
body.eo .eo-resposta__cap time {color: var(--tinta-tenue); font-weight: 500; text-transform: none; letter-spacing: 0;}
body.eo .eo-resposta > p {font-size: 20px; line-height: 1.5; font-weight: 500; color: var(--tinta);}
body.eo .eo-resposta ul {margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 16px; color: var(--tinta-suau);}
body.eo .eo-resposta li::before {content: ""; display: inline-block; width: 7px; height: 7px; background: var(--verd-500); margin-right: 10px; vertical-align: 2px;}
body.eo .eo-dades {display: grid; gap: 12px;}
body.eo .eo-dades__marc {overflow-x: auto; border: 1px solid var(--linia); border-radius: var(--radi-m);}
body.eo .eo-dades table {width: 100%; min-width: 680px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums;}
body.eo .eo-dades th, body.eo .eo-dades td {padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--linia);}
body.eo .eo-dades thead th {font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--tinta-suau); background: var(--pedra);}
body.eo .eo-dades td.num, body.eo .eo-dades th.num {text-align: right;}
body.eo .eo-dades tbody tr:last-child td {border-bottom: 0;}
body.eo .eo-dades .eo-dades__nos {background: var(--verd-50); font-weight: 600;}
body.eo .eo-puja {display: inline-block; min-width: 54px; padding: 3px 8px; border-radius: var(--radi-s); font-weight: 600; text-align: center; background: var(--groc-50); color: var(--sobre-groc);}
body.eo .eo-puja--zero {background: var(--verd-100); color: var(--tinta);}
body.eo .eo-dades figcaption {font-size: 13px; color: var(--tinta-tenue); line-height: 1.5;}
body.eo .eo-temps {list-style: none; padding: 0; margin: 0; display: grid; gap: 0; position: relative;}
body.eo .eo-temps li {display: grid; grid-template-columns: 110px 22px 1fr; gap: 18px; align-items: start; padding-bottom: 34px; position: relative;}
body.eo .eo-temps li::after {content: ""; position: absolute; left: 139px; top: 22px; bottom: 0; width: 2px; background: var(--linia);}
body.eo .eo-temps li:last-child::after {display: none;}
body.eo .eo-temps time {font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; text-align: right;}
body.eo .eo-temps i {width: 14px; height: 14px; margin: 8px 0 0 4px; background: var(--c, var(--verd-500)); position: relative; z-index: 1;}
body.eo .eo-temps h3 {font-size: 21px; font-weight: 650; line-height: 1.3;}
body.eo .eo-temps p {font-size: 16px; color: var(--tinta-suau); margin-top: 6px; max-width: 60ch;}
body.eo .eo-temps .eo-temps--timit {--c: #009AA7;}
@media (max-width: 640px) {body.eo .eo-temps li {grid-template-columns: 64px 18px 1fr; gap: 12px;}
body.eo .eo-temps li::after {left: 84px;}
body.eo .eo-temps time {font-size: 20px;}}
body.eo .eo-obres {columns: 4 220px; column-gap: 14px;}
body.eo .eo-obra {break-inside: avoid; margin: 0 0 14px; border-radius: var(--radi-m); overflow: hidden; background: var(--pedra); border: 1px solid var(--linia);}
body.eo .eo-obra img {width: 100%; height: auto;}
body.eo .eo-obra figcaption {padding: 10px 12px 12px; font-size: 14px; line-height: 1.35; display: grid; gap: 2px;}
body.eo .eo-obra figcaption small {color: var(--tinta-tenue); font-size: 13px;}
body.eo .eo-relleu {display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; border-radius: var(--radi-m); overflow: hidden; border: 1px solid var(--linia);}
body.eo .eo-relleu__timit {background: #009AA7; display: grid; place-items: center; padding: 40px;}
body.eo .eo-relleu__timit img {width: min(240px, 80%);}
body.eo .eo-relleu__estic {background: var(--paper); display: grid; place-items: center; padding: 40px;}
body.eo .eo-relleu__estic img {width: min(220px, 80%);}
body.eo .eo-relleu__fletxa {display: grid; place-items: center; width: 64px; background: var(--groc); color: #1F2419;}
body.eo .eo-relleu__fletxa svg {width: 26px; height: 26px;}
@media (max-width: 640px) {body.eo .eo-relleu {grid-template-columns: 1fr;}
body.eo .eo-relleu__fletxa {width: auto; height: 48px;}
body.eo .eo-relleu__fletxa svg {transform: rotate(90deg);}}
body.eo .eo-guia {display: grid; grid-template-columns: 240px 1fr; gap: 56px; align-items: start;}
body.eo .eo-index {position: sticky; top: 24px; display: grid; gap: 4px; font-size: 15px; padding-left: 14px; border-left: 2px solid var(--linia);}
body.eo .eo-index b {font-size: 12px; letter-spacing: .6px; text-transform: uppercase; color: var(--tinta-tenue); margin-bottom: 8px;}
body.eo .eo-index a {text-decoration: none; color: var(--tinta-suau); padding: 4px 0;}
body.eo .eo-index a[aria-current] {color: var(--tinta); font-weight: 600; box-shadow: -16px 0 0 -14px var(--verd-500);}
body.eo .eo-prosa {display: grid; gap: 22px; max-width: var(--amplada-text);}
body.eo .eo-prosa h2 {font-size: 32px; line-height: 1.12; font-weight: 700; letter-spacing: -.02em; margin-top: 18px;}
body.eo .eo-prosa h3 {font-size: 21px; font-weight: 650;}
body.eo .eo-prosa p, body.eo .eo-prosa li {font-size: 18px; line-height: 1.65; color: var(--tinta-suau);}
body.eo .eo-prosa strong {color: var(--tinta);}
body.eo .eo-prosa code {font-size: .88em; background: var(--pedra); padding: 2px 6px; border-radius: 4px; border: 1px solid var(--linia);}
body.eo .eo-prosa ul {padding-left: 1.2em; display: grid; gap: 6px;}
body.eo .eo-nota {padding: 18px 20px; border-left: 3px solid var(--groc); background: var(--groc-50); color: var(--sobre-groc); font-size: 16px; border-radius: 0 var(--radi-s) var(--radi-s) 0;}
@media (max-width: 860px) {body.eo .eo-guia {grid-template-columns: 1fr;}
body.eo .eo-index {position: static;}}
body.eo .eo-howto {list-style: none; margin: 0; padding: 0; counter-reset: h; display: grid; gap: 0; border-top: 1px solid var(--linia);}
body.eo .eo-howto li {counter-increment: h; display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--linia);}
body.eo .eo-howto li::before {content: counter(h, decimal-leading-zero); font-size: 22px; font-weight: 700; color: var(--verd-600); font-variant-numeric: tabular-nums; line-height: 1.2;}
body.eo .eo-howto b {display: block; font-size: 19px; color: var(--tinta); margin-bottom: 4px;}
body.eo .eo-howto span {font-size: 16px; color: var(--tinta-suau); line-height: 1.55;}
body.eo .eo-senyals {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 14px;}
body.eo .eo-senyal {padding: 20px; border: 1px solid var(--linia); border-radius: var(--radi-m); background: var(--paper); display: grid; gap: 8px; align-content: start;}
body.eo .eo-senyal b {font-size: 17px; display: flex; gap: 10px; align-items: baseline;}
body.eo .eo-senyal b::before {content: "!"; display: inline-grid; place-items: center; flex: none; width: 20px; height: 20px; background: var(--avis); color: var(--paper); font-size: 13px; font-weight: 700; transform: translateY(3px);}
body.eo .eo-senyal span {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-zona {display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start;}
body.eo .eo-zona__mapa {aspect-ratio: 4 / 3; border-radius: var(--radi-l); background: var(--verd-50); border: 1px solid var(--linia); position: relative; overflow: hidden;}
body.eo .eo-zona__mapa svg {width: 100%; height: 100%;}
body.eo .eo-pobles {display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0;}
body.eo .eo-pobles li {padding: 7px 12px; border: 1px solid var(--linia); border-radius: 999px; font-size: 15px; background: var(--paper);}
body.eo .eo-pobles li.eo-pobles--seu {background: var(--verd-600); border-color: var(--verd-600); color: var(--sobre-verd); font-weight: 600;}
@media (max-width: 860px) {body.eo .eo-zona {grid-template-columns: 1fr;}}
body.eo .eo-persona {display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: center; padding: 20px; border: 1px solid var(--linia); border-radius: var(--radi-m); background: var(--paper);}
body.eo .eo-persona__foto {width: 96px; height: 96px; background: var(--verd-100); display: grid; place-items: center; font-size: 34px; font-weight: 700; color: var(--verd-600); overflow: hidden;}
body.eo .eo-persona__foto img {width: 100%; height: 100%; object-fit: cover;}
body.eo .eo-persona b {font-size: 19px; display: block;}
body.eo .eo-persona span {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-mapa {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 18px;}
body.eo .eo-mapa__col {display: grid; gap: 8px; align-content: start; padding: 18px; border: 1px solid var(--linia); border-radius: var(--radi-m); background: var(--paper);}
body.eo .eo-mapa__col h3 {font-size: 17px; font-weight: 650; display: flex; align-items: center; gap: 8px; margin-bottom: 4px;}
body.eo .eo-mapa__col h3::before {content: ""; width: 9px; height: 9px; background: var(--verd-500);}
body.eo .eo-mapa__col a {display: flex; justify-content: space-between; gap: 8px; font-size: 14px; text-decoration: none; padding: 5px 0; border-bottom: 1px dashed var(--linia);}
body.eo .eo-mapa__col a code {font-size: 12px; color: var(--tinta-tenue);}
body.eo .eo-p1 {font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 3px; background: var(--groc); color: #1F2419;}
body.eo .eo-p2 {font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 3px; background: var(--verd-100); color: var(--tinta);}
body.eo .eo-guies {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--espai-5);}
body.eo .eo-guiacard {display: grid; gap: 10px; align-content: start; padding: 24px; border: 1px solid var(--linia); border-radius: var(--radi-m); text-decoration: none; color: inherit; background: var(--paper); transition: border-color .15s;}
body.eo .eo-guiacard:hover {border-color: var(--verd-600);}
body.eo .eo-guiacard small {font-size: 13px; font-weight: 600; color: var(--verd-600);}
body.eo .eo-guiacard h3 {font-size: 20px; line-height: 1.3; font-weight: 650;}
body.eo .eo-guiacard p {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-guiacard .eo-enllac {margin-top: 6px; font-size: 15px;}
body.eo .eo-eina {background: var(--paper); border: 1px solid var(--linia); border-radius: var(--radi-m); padding: 32px; display: grid; gap: 20px;}
body.eo .eo-eina__cap {display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--verd-600);}
body.eo .eo-eina__cap span:last-child {color: var(--tinta-tenue); text-transform: none; letter-spacing: 0; font-weight: 500;}
body.eo .eo-eina__pas {display: grid; gap: 14px;}
body.eo .eo-eina__pas[hidden] {display: none;}
body.eo .eo-eina__t {font-size: 22px; line-height: 1.3; font-weight: 650; color: var(--tinta);}
body.eo .eo-eina__ops {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 10px;}
body.eo .eo-eina__ops button {font: 600 16px/1.35 var(--font-sans); text-align: left; color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 16px 18px; cursor: pointer; display: flex; gap: 12px; align-items: flex-start; transition: border-color .15s, background .15s;}
body.eo .eo-eina__ops button::before {content: ""; flex: none; width: 10px; height: 10px; margin-top: 6px; border: 1.5px solid var(--linia-forta);}
body.eo .eo-eina__ops button:hover {border-color: var(--verd-600); background: var(--verd-50);}
body.eo .eo-eina__ops button[aria-pressed="true"] {border-color: var(--verd-600); background: var(--verd-50);}
body.eo .eo-eina__ops button[aria-pressed="true"]::before {background: var(--verd-500); border-color: var(--verd-500);}
body.eo .eo-eina__barra {height: 6px; background: var(--verd-100); border-radius: 3px; overflow: hidden;}
body.eo .eo-eina__barra i {display: block; height: 100%; width: 0; background: var(--verd-500); transition: width .3s;}
body.eo .eo-eina__res {display: grid; gap: 14px; padding: 24px; background: var(--verd-50); border-radius: var(--radi-m);}
body.eo .eo-eina__res[hidden] {display: none;}
body.eo .eo-eina__res b.eo-eina__gran {font-size: 40px; line-height: 1; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums;}
body.eo .eo-eina__res p {color: var(--tinta-suau); font-size: 17px;}
body.eo .eo-eina__res ul {margin: 0; padding-left: 1.2em; display: grid; gap: 6px; color: var(--tinta-suau); font-size: 16px;}
body.eo .eo-eina__accions {display: flex; gap: 12px; flex-wrap: wrap; align-items: center;}
body.eo .eo-eina__torna {font: 500 15px var(--font-sans); background: none; border: 0; color: var(--tinta-tenue); text-decoration: underline; cursor: pointer; padding: 0;}
body.eo .eo-eina__nota {font-size: 13px; color: var(--tinta-tenue);}
body.eo .eo-calc__camps {display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px;}
body.eo .eo-calc__camps label {display: grid; gap: 7px; font-size: 15px; font-weight: 600;}
body.eo .eo-calc__camps select, body.eo .eo-calc__camps input {font: 500 17px var(--font-sans); color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 0 14px; min-height: 52px;}
body.eo .eo-calc__camps input[type=range] {padding: 0; accent-color: var(--verd-600); min-height: 40px; border: 0;}
body.eo .eo-calc__barres {display: grid; gap: 12px;}
body.eo .eo-calc__fila {display: grid; grid-template-columns: 160px 1fr 110px; gap: 14px; align-items: center; font-size: 15px; font-variant-numeric: tabular-nums;}
body.eo .eo-calc__fila span:last-child {text-align: right; font-weight: 700; font-size: 18px;}
body.eo .eo-calc__b {height: 18px; background: var(--verd-100); border-radius: 3px; overflow: hidden;}
body.eo .eo-calc__b i {display: block; height: 100%; background: var(--linia-forta); transition: width .4s;}
body.eo .eo-calc__fila--nos .eo-calc__b i {background: var(--verd-500);}
body.eo .eo-calc__fila--nos {font-weight: 600;}
@media (max-width: 640px) {body.eo .eo-calc__camps {grid-template-columns: 1fr;}
body.eo .eo-calc__fila {grid-template-columns: 1fr 90px;}
body.eo .eo-calc__b {grid-column: 1 / -1; grid-row: 2;}}
body.eo .eo-lead {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center;}
body.eo .eo-lead__doc {position: relative; aspect-ratio: 3 / 4; max-width: 340px; justify-self: center; width: 100%; background: var(--paper); border: 1px solid var(--linia); border-radius: var(--radi-m); box-shadow: var(--ombra-sobre-foto); padding: 28px; display: grid; align-content: start; gap: 12px; transform: rotate(-2deg);}
body.eo .eo-lead__doc img {width: 110px; height: auto;}
body.eo .eo-lead__doc b {font-size: 22px; line-height: 1.2; letter-spacing: -.01em;}
body.eo .eo-lead__doc ul {list-style: none; padding: 0; margin: 6px 0 0; display: grid; gap: 7px; font-size: 13px; color: var(--tinta-suau);}
body.eo .eo-lead__doc li {display: flex; gap: 8px; align-items: baseline;}
body.eo .eo-lead__doc li::before {content: ""; flex: none; width: 9px; height: 9px; border: 1.5px solid var(--verd-500); transform: translateY(1px);}
body.eo .eo-lead__doc::after {content: "PDF"; position: absolute; right: -10px; top: 22px; background: var(--groc); color: var(--sobre-groc); font-size: 12px; font-weight: 700; letter-spacing: .6px; padding: 5px 9px; border-radius: var(--radi-s);}
body.eo .eo-lead__text {display: grid; gap: 16px;}
body.eo .eo-lead__form {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
body.eo .eo-lead__form input {font: 400 17px var(--font-sans); color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 0 14px; min-height: 52px;}
body.eo .eo-lead__form .eo-boto {grid-column: 1 / -1;}
body.eo .eo-lead__form label.eo-check {grid-column: 1 / -1;}
@media (max-width: 760px) {body.eo .eo-lead {grid-template-columns: 1fr; gap: 28px;}
body.eo .eo-lead__form {grid-template-columns: 1fr;}}
body.eo .eo-leadcta {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;}
body.eo .eo-leadcta a {display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 18px; position: relative; border-radius: var(--radi-m); background: var(--paper); border: 1px solid var(--linia); text-decoration: none; color: inherit; transition: border-color .15s, transform .15s;}
body.eo .eo-leadcta a:hover {border-color: var(--verd-600); transform: translateY(-2px);}
body.eo .eo-leadcta img {width: 60px; align-self: flex-start; height: auto; margin-bottom: 6px;}
body.eo .eo-leadcta i {font-style: normal; margin-top: auto; padding-top: 6px; font-size: 15px; font-weight: 650; color: var(--verd-600);}
body.eo .eo-leadcta a:hover i {text-decoration: underline;}
body.eo .eo-leadcta small {font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--verd-600);}
body.eo .eo-leadcta b {font-size: 19px; line-height: 1.25;}
body.eo .eo-leadcta span {font-size: 15px; color: var(--tinta-suau);}
@media (max-width: 760px) {body.eo .eo-leadcta {grid-template-columns: 1fr;}}
body.eo .eo-mm {position: sticky; top: 0; z-index: 70; background: var(--paper); border-bottom: 1px solid var(--linia);}
body.eo .eo-mm__bar {max-width: 1320px; margin: 0 auto; display: flex; align-items: center; gap: 28px; padding: 0 24px; height: 72px;}
body.eo .eo-mm__logo img {height: 26px; width: auto; display: block;}
body.eo .eo-mm__nav {display: flex; align-items: stretch; height: 100%; margin-left: 12px;}
body.eo .eo-mm__item {display: flex; align-items: stretch;}
body.eo .eo-mm__boto, body.eo .eo-mm__link {font: 500 16px/1 var(--font-sans); color: var(--tinta); background: none; border: 0; padding: 0 14px; display: flex; align-items: center; gap: 7px; cursor: pointer; text-decoration: none; position: relative;}
body.eo .eo-mm__boto::after {content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s;}
body.eo .eo-mm__item.is-obert .eo-mm__boto {color: var(--verd-600);}
body.eo .eo-mm__item.is-obert .eo-mm__boto::after {transform: rotate(-135deg) translateY(-1px);}
body.eo .eo-mm__item.is-obert .eo-mm__boto::before, body.eo .eo-mm__link:hover::before {content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; background: var(--verd-500);}
body.eo .eo-mm__eines {display: flex; align-items: center; gap: 18px; margin-left: auto; font-size: 15px;}
body.eo .eo-mm__eines a.eo-mm__clients {color: var(--tinta-suau); text-decoration: none;}
body.eo .eo-mm__eines a.eo-mm__clients:hover {color: var(--tinta);}
body.eo .eo-mm__tel {font-weight: 600; color: var(--tinta); text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap;}
body.eo .eo-mm__burger {display: none; width: 46px; height: 46px; border: 1px solid var(--linia-forta); border-radius: var(--radi-s); background: none; cursor: pointer; place-items: center;}
body.eo .eo-mm__burger i, body.eo .eo-mm__burger i::before, body.eo .eo-mm__burger i::after {display: block; width: 18px; height: 2px; background: var(--tinta); position: relative; content: "";}
body.eo .eo-mm__burger i::before {position: absolute; top: -6px;}
body.eo .eo-mm__burger i::after {position: absolute; top: 6px;}
body.eo .eo-mm__panel {position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); border-top: 1px solid var(--linia); border-bottom: 1px solid var(--linia); box-shadow: 0 30px 40px -30px rgba(20,28,12,.35); visibility: hidden; opacity: 0; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility 0s .18s;}
body.eo .eo-mm__item.is-obert .eo-mm__panel {visibility: visible; opacity: 1; transform: none; transition: opacity .18s, transform .18s;}
body.eo .eo-mm__in {max-width: 1320px; margin: 0 auto; padding: 32px 24px 36px; display: grid; grid-template-columns: 1fr 1fr 1fr 320px; gap: 12px 28px;}
body.eo .eo-mm__col {display: grid; gap: 4px; align-content: start;}
body.eo .eo-mm__col h3 {font-size: 12px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; color: var(--tinta-tenue); margin: 0 0 8px 12px;}
body.eo .eo-mm__l {display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 10px 12px; border-radius: var(--radi-m); text-decoration: none; color: var(--tinta);}
body.eo .eo-mm__l:hover {background: var(--verd-50);}
body.eo .eo-mm__l img {width: 44px; height: 34px; object-fit: contain;}
body.eo .eo-mm__l b {display: block; font-size: 16px; font-weight: 650; line-height: 1.25; color: var(--tinta);}
body.eo .eo-mm__l span {display: block; font-size: 14px; color: var(--tinta-suau); line-height: 1.35; margin-top: 2px;}
body.eo .eo-mm__destacat {background: var(--verd-900); color: #fff; border-radius: var(--radi-m); padding: 24px; display: grid; gap: 12px; align-content: start; text-decoration: none;}
body.eo .eo-mm__destacat small {font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--groc); display: flex; gap: 8px; align-items: center;}
body.eo .eo-mm__destacat small::before {content: ""; width: 8px; height: 8px; background: var(--groc);}
body.eo .eo-mm__destacat b {font-size: 21px; line-height: 1.25;}
body.eo .eo-mm__destacat span {font-size: 15px; color: #C9D0BE;}
body.eo .eo-mm__destacat em {font-style: normal; font-weight: 600; color: #fff; display: inline-flex; gap: 8px; align-items: center;}
body.eo .eo-mm__destacat:hover em {color: var(--groc);}
@media (max-width: 1024px) {body.eo .eo-mm__nav, body.eo .eo-mm__clients, body.eo .eo-mm__tel {display: none;}
body.eo .eo-mm__burger {display: grid;}
body.eo .eo-mm__eines {gap: 10px;}
body.eo .eo-mm__bar {height: 64px; padding: 0 16px; gap: 12px;}
body.eo .eo-mm.is-mobil .eo-mm__nav {display: block; position: fixed; inset: 64px 0 0; overflow-y: auto; background: var(--paper); margin: 0; padding: 8px 16px 120px; height: auto;}
body.eo .eo-mm.is-mobil .eo-mm__item {display: block; border-bottom: 1px solid var(--linia);}
body.eo .eo-mm.is-mobil .eo-mm__boto, body.eo .eo-mm.is-mobil .eo-mm__link {width: 100%; justify-content: space-between; padding: 18px 4px; font-size: 19px; font-weight: 600;}
body.eo .eo-mm.is-mobil .eo-mm__boto::before, body.eo .eo-mm.is-mobil .eo-mm__link:hover::before {display: none;}
body.eo .eo-mm__panel {position: static; box-shadow: none; border: 0; display: none; visibility: visible; opacity: 1; transform: none;}
body.eo .eo-mm.is-mobil .eo-mm__item.is-obert .eo-mm__panel {display: block;}
body.eo .eo-mm__in {grid-template-columns: 1fr; padding: 0 0 16px; gap: 4px;}
body.eo .eo-mm__col h3 {margin: 10px 0 4px 12px;}
body.eo .eo-mm__destacat {margin-top: 8px;}}
body.eo .eo-barramobil {display: none;}
@media (max-width: 760px) {body.eo .eo-barramobil {display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px max(12px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--paper); border-top: 1px solid var(--linia); box-shadow: 0 -8px 24px -12px rgba(20,28,12,.25);}
body.eo .eo-barramobil a {min-height: 48px;}}
body.eo .eo-faqsec {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 64px; align-items: start;}
body.eo .eo-faqsec > .eo-sh {position: sticky; top: 96px;}
body.eo .eo-faqsec .eo-faq summary {font-size: 19px;}
@media (max-width: 860px) {body.eo .eo-faqsec {grid-template-columns: 1fr; gap: 28px;}
body.eo .eo-faqsec > .eo-sh {position: static;}}
body.eo .eo-wrap:has(> .eo-sh + .eo-geo) {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 64px; align-items: center;}
body.eo .eo-wrap:has(> .eo-sh + .eo-geo) > .eo-geo {max-width: none;}
@media (max-width: 860px) {body.eo .eo-wrap:has(> .eo-sh + .eo-geo) {grid-template-columns: 1fr; gap: 32px;}}
body.eo .eo-projectes {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espai-5);}
body.eo .eo-projecte {display: grid; gap: 12px; text-decoration: none; color: inherit; align-content: start;}
body.eo .eo-projecte__img {aspect-ratio: 4 / 3; border-radius: var(--radi-m); overflow: hidden; background: var(--pedra);}
body.eo .eo-projecte__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .4s;}
body.eo .eo-projecte:hover .eo-projecte__img img {transform: scale(1.03);}
body.eo .eo-projecte h3 {font-size: 19px; line-height: 1.3; font-weight: 650;}
body.eo .eo-projecte p {font-size: 15px; color: var(--tinta-suau);}
body.eo .eo-projecte small {font-size: 13px; font-weight: 600; color: var(--verd-600);}
@media (max-width: 860px) {body.eo .eo-projectes {grid-template-columns: 1fr 1fr;}}
@media (max-width: 560px) {body.eo .eo-projectes {grid-template-columns: 1fr;}}
body.eo .eo-sectors {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;}
body.eo .eo-sectorcard {position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--radi-m); overflow: hidden; color: #fff; text-decoration: none;}
body.eo .eo-sectorcard img {width: 100%; height: 100%; object-fit: cover; transition: transform .4s;}
body.eo .eo-sectorcard::after {content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,15,8,.78) 0%, rgba(12,15,8,0) 55%);}
body.eo .eo-sectorcard span {position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 16px; display: grid; gap: 4px; font-size: 19px; font-weight: 650; line-height: 1.2;}
body.eo .eo-sectorcard span small {font-size: 14px; font-weight: 400; opacity: .9;}
body.eo .eo-sectorcard:hover img {transform: scale(1.04);}
@media (max-width: 860px) {body.eo .eo-sectors {grid-template-columns: 1fr 1fr;}}

/* ---- Adaptació a Elementor (contenidors i widgets) ---- */
/* testimoni: la foto i la cita són els widgets fills directes del contenidor */
body.eo .eo-testimoni > .elementor-element:first-child { grid-column: 1; grid-row: 1; width: 68%; }
body.eo .eo-testimoni > .elementor-element:last-child { grid-column: 1 / -1; grid-row: 1; justify-self: end; align-self: center; width: min(44%, 520px); z-index: 1; }
body.eo .eo-testimoni > .elementor-element .eo-testimoni__foto { width: 100%; }
body.eo .eo-testimoni > .elementor-element .eo-testimoni__cita { width: 100%; }
@media (max-width: 760px) {
  body.eo .eo-testimoni > .elementor-element:first-child { width: 100%; }
  body.eo .eo-testimoni > .elementor-element:last-child { grid-row: 2; width: auto; margin: -60px 16px 0; }
}
body.eo { margin: 0; background: var(--paper); color: var(--tinta); font-family: var(--font-sans); font-size: 18px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.eo .elementor-widget-text-editor > *:first-child, body.eo .elementor-widget-text-editor .elementor-widget-container > *:first-child { margin-top: 0; }
body.eo .elementor-widget-text-editor p { margin: 0; }
body.eo .elementor-widget-heading .elementor-heading-title { color: inherit; font-family: inherit; }
body.eo .e-con { --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; }
body.eo .elementor-element.elementor-widget { margin-bottom: 0; }
body.eo .e-con.eo-wrap { width: 100%; max-width: var(--amplada); margin-inline: auto; padding-inline: var(--espai-5); container-type: inline-size; }
body.eo .e-con.eo-sec { padding-block: 96px; }
@media (max-width: 767px) { body.eo .e-con.eo-sec { padding-block: 64px; } body.eo .e-con.eo-wrap { padding-inline: 16px; } }
body.eo .e-con.eo-pagina, body.eo .e-con[class*="eo-"] { --flex-wrap: nowrap; }
/* imatges de fons dels heros: el primer fill és l'editor amb la <img> */
body.eo .eo-hero > .elementor-widget-text-editor:first-child { position: absolute; inset: 0; }
body.eo .eo-hero > .elementor-widget-text-editor:first-child img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focus-x, 50%) 40%; }
body.eo .eo-hero::after { z-index: 0; }
body.eo .eo-hero > .e-con { position: relative; z-index: 1; }
/* targetes dins d'editors: omplen la cel·la de la graella */
body.eo .e-con > .elementor-widget-text-editor > :only-child, body.eo .e-con > .elementor-widget-text-editor > .elementor-widget-container > :only-child { height: 100%; }
body.eo .eo-serveis > .elementor-widget-text-editor, body.eo .eo-plans > .elementor-widget-text-editor, body.eo .eo-casos > .elementor-widget-text-editor { display: grid; }
/* formulari de ProElements amb l'aspecte del DS */
body.eo .eo-formulari .elementor-field-group { margin-bottom: 14px; }
body.eo .eo-formulari label { font-size: 15px; font-weight: 600; color: var(--tinta); }
body.eo .eo-formulari .elementor-field-textual { font: 400 17px/1.4 var(--font-sans); color: var(--tinta); background: var(--paper); border: 1.5px solid var(--linia-forta); border-radius: var(--radi-s); padding: 13px 14px; min-height: 52px; }
body.eo .eo-formulari .elementor-field-textual:focus { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--tinta); }
body.eo .eo-formulari .elementor-button { background: var(--verd-600); color: var(--sobre-verd); border-radius: var(--radi-s); min-height: 52px; font: 600 16px/1 var(--font-sans); }
body.eo .eo-formulari .elementor-button:hover { background: var(--verd-700); }
body.eo .eo-formulari .elementor-acceptance-field + label, body.eo .eo-formulari .elementor-field-subgroup label { font-weight: 400; font-size: 14px; color: var(--tinta-suau); }
/* capçalera (megamenú) */
body.eo .elementor-location-header { position: sticky; top: 0; z-index: 70; }
body.admin-bar.eo .elementor-location-header { top: 32px; }
body.eo .eo-capweb-mm { --padding-top: 0px; --padding-bottom: 0px; }
@media (max-width: 760px) { body.eo { padding-bottom: 72px; } }
body.eo .eo-formulari--lead .elementor-field-group { margin-bottom: 10px; }
body.eo .eo-capweb { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--linia); }
body.eo .eo-capweb .elementor-nav-menu--main .elementor-item { font: 500 16px/1 var(--font-sans); color: var(--tinta); padding: 10px 12px; }
body.eo .eo-capweb .elementor-nav-menu--main .elementor-item:hover, body.eo .eo-capweb .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--verd-600); }
body.eo .eo-capweb .elementor-nav-menu--dropdown { background: var(--paper); border: 1px solid var(--linia); border-radius: var(--radi-m); box-shadow: var(--ombra-sobre-foto); }
body.eo .eo-capweb .elementor-nav-menu--dropdown a { font: 500 15px/1.3 var(--font-sans); color: var(--tinta); padding: 10px 16px; }
body.eo .eo-capweb .elementor-nav-menu--dropdown a:hover { background: var(--verd-50); color: var(--tinta); }
body.eo .e-con.eo-obres { display: block; }
body.eo .e-con.eo-phero { --width: 100%; }
body.eo .eo-phero > .elementor-widget-text-editor:first-child { order: 2; }
body.eo .eo-phero > .elementor-widget-text-editor:first-child .eo-phero__foto { height: 100%; }
body.eo .e-con.eo-prosa { margin-inline: auto; }
body.eo .eo-guia .e-con.eo-prosa { margin-inline: 0; }
@media (max-width: 767px) { body.eo .eo-capweb .eo-cap__clients, body.eo .eo-capweb .eo-cap__idioma { display: none; } body.eo .eo-capweb { --gap: 10px; padding-inline: 16px; } }
body.eo .eo-capweb .elementor-menu-toggle { background: transparent; color: var(--tinta); border: 1px solid var(--linia-forta); border-radius: var(--radi-s); }
