:root{
  --navy:#06365d;
  --navy-2:#07294b;
  --blue:#0a5b95;
  --orange:#f47920;
  --ink:#10233a;
  --muted:#627084;
  --line:#dce5ee;
  --soft:#f5f8fb;
  --soft-2:#eef4fa;
  --white:#ffffff;
  --radius:22px;
  --radius-sm:14px;
  --shadow:0 24px 64px rgba(6,54,93,.12);
  --shadow-soft:0 12px 32px rgba(6,54,93,.08);
  --ring:rgba(13,108,178,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
video{width:100%;display:block}
.container{width:min(1200px,calc(100% - 40px));margin:auto}
.skip-link{position:fixed;left:12px;top:-60px;background:#fff;padding:10px 14px;z-index:9999;border-radius:8px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(3,39,68,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:235px}.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{text-decoration:none;color:#fff;font-size:.94rem;font-weight:700}.main-nav a:hover{color:#ffb177}.nav-client{border:1px solid var(--orange);padding:10px 14px;border-radius:10px;color:#fff!important}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{padding:78px 0 72px;background:radial-gradient(circle at 86% 12%,#e8f4fc 0,transparent 30%),linear-gradient(180deg,#fff,#f7fafc)}
.hero-grid,.split-grid,.contact-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:start}.align-start{align-items:start}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--orange);margin:0 0 14px}
.hero h1,.section h2{font-size:clamp(2.2rem,4.8vw,4.1rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 22px}.hero h1 span{color:var(--orange)}
.hero-lead{font-size:1.2rem;color:#344c65;max-width:680px}.hero-copy>p:not(.eyebrow):not(.hero-lead){color:var(--muted)}
.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:12px;text-decoration:none;font-weight:850;border:1px solid transparent;cursor:pointer;transition:.2s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--blue)}
.btn-secondary{border-color:#a7b7c6;background:#fff;color:var(--navy)}.btn-secondary:hover{border-color:var(--orange);color:var(--orange)}
.hero-highlights{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}.hero-highlights li{position:relative;padding-left:28px;color:#40546b;font-weight:600}.hero-highlights li:before{content:"✓";position:absolute;left:0;top:0;color:var(--orange);font-weight:900}
.hero-side{display:grid;gap:22px}
.hero-browser-card,.login-card,.showcase-card,.deca-panel,.flow-card,.video-card,.contact-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-browser-card{overflow:hidden}.browser-bar{height:36px;background:#f0f4f7;display:flex;align-items:center;gap:7px;padding:0 14px}.browser-bar span{width:9px;height:9px;border-radius:50%;background:#aab9c6}.hero-browser-card figcaption{padding:12px 16px;color:var(--muted);font-size:.9rem;background:#fbfdff}
.login-card{padding:28px 28px 26px}.login-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff3ea;color:#ab5008;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.login-card h2{font-size:1.65rem;margin:14px 0 8px;color:var(--navy)}.login-card p{margin:0 0 16px;color:var(--muted)}.login-note{font-size:.9rem;margin-top:16px!important}.text-link{color:var(--navy);font-weight:800;text-decoration:none}
.gps-login-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;align-items:end;gap:16px}.gps-login-field label{display:block;margin-bottom:9px;font-weight:700;font-size:.96rem}.gps-login-field input{width:100%;min-height:52px;padding:13px 14px;background:#fff;color:var(--ink);border:1px solid #bcc6d2;border-radius:10px;font:inherit}.gps-login-field input:focus{outline:3px solid var(--ring);outline-offset:1px;border-color:var(--orange)}.gps-login-submit{min-height:52px;padding:13px 18px;border:0;border-radius:10px;background:var(--orange);color:white;font:800 1.02rem Inter,sans-serif;cursor:pointer}.gps-login-submit:hover{background:#e77212}.gps-login-submit:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.gps-login-submit:disabled{opacity:.72;cursor:wait}.gps-login-status{margin:14px 0 0;font-size:.92rem}.gps-login-status:empty{display:none}.gps-spinner{display:none;width:15px;height:15px;margin-right:8px;border:2px solid rgba(255,255,255,.48);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}.gps-login-submit[aria-busy="true"] .gps-spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.trust-strip{background:var(--navy);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:24px;border-right:1px solid rgba(255,255,255,.14)}.trust-grid div:last-child{border-right:0}.trust-grid strong,.trust-grid span{display:block}.trust-grid span{font-size:.88rem;color:#c7d5e1}
.section{padding:94px 0}.section-heading{margin-bottom:44px}.section-heading.center{text-align:center}.section-heading.narrow{max-width:760px;margin-left:auto;margin-right:auto}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}
.top-features{margin-bottom:30px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;transition:.2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.feature-card .icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eef6fb;color:var(--blue);font-size:1.7rem}.feature-card h3{font-size:1.1rem;margin:18px 0 8px}.feature-card p{margin:0;color:var(--muted)}
.showcase-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.showcase-large{grid-row:span 2}.showcase-card{overflow:hidden}.showcase-copy{padding:26px 28px 10px}.showcase-copy h3{margin:0 0 10px;font-size:1.5rem;color:var(--navy)}.showcase-copy p:last-child{margin:0;color:var(--muted)}.showcase-media{padding:18px 18px 18px}.showcase-media img{width:100%;border-radius:18px;border:1px solid #dde6ef;box-shadow:var(--shadow-soft)}.showcase-media.compact img{aspect-ratio:4/3;object-fit:cover;object-position:center top}
.section-tint{background:var(--soft)}
.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{position:relative;padding:8px 0 8px 30px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:900}
.deca-panel{padding:28px}.deca-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.deca-head strong,.deca-head span{display:block}.deca-head strong{font-size:1.35rem;color:var(--navy)}.deca-head span{color:var(--muted)}.deca-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-bottom:22px}.deca-step{background:#f8fbfe;border:1px solid var(--line);border-radius:18px;padding:20px 14px;text-align:center}.deca-step b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;margin:0 auto 10px;font-size:1rem}.deca-step span,.deca-step small{display:block}.deca-step span{font-weight:800;color:var(--navy)}.deca-step small{color:var(--muted)}.deca-arrow{text-align:center;font-size:1.4rem;color:var(--orange);font-weight:800}.deca-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.deca-checks div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.deca-checks strong,.deca-checks span{display:block}.deca-checks strong{color:var(--navy)}.deca-checks span{font-size:.92rem;color:var(--muted)}
.flow-card{padding:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.flow-card article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}.flow-card article span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900;margin-bottom:12px}.flow-card article h3{margin:0 0 8px;font-size:1.05rem}.flow-card article p{margin:0;color:var(--muted)}
.section-dark{background:linear-gradient(140deg,var(--navy-2),var(--navy));color:#fff}.section-heading.light p{color:#c8d6e2}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sector-grid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:25px}.sector-art{font-size:2rem}.sector-grid h3{margin:12px 0 6px}.sector-grid p{color:#cbd8e2;margin:0}
.video-card{overflow:hidden}.video-card video{border-radius:22px}
.contact-section{background:linear-gradient(180deg,#fff,#eef5fa)}address{font-style:normal;font-size:1.05rem}address a{text-decoration:none;color:var(--navy);font-weight:700}.contact-panel{padding:30px}.contact-panel h3{margin-top:0;font-size:1.35rem;color:var(--navy)}.contact-list{margin:0;padding-left:18px}.contact-list li{margin:10px 0;color:#40546b}.form-note{font-size:.87rem;color:var(--muted);margin-top:18px}
.site-footer{background:#031f37;color:#d7e2eb;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}.footer-grid h3{color:#fff;margin-top:0}.footer-grid a,.footer-grid span,.footer-grid p{display:block;color:#c4d2de;text-decoration:none;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding:20px 0;font-size:.85rem}
@media(max-width:1100px){.hero-grid,.split-grid,.contact-grid{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr}.showcase-grid{grid-template-columns:1fr}.showcase-large{grid-row:auto}}
@media(max-width:980px){.main-nav{position:fixed;left:0;right:0;top:82px;background:var(--navy-2);padding:20px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.feature-grid,.sector-grid{grid-template-columns:repeat(2,1fr)}.deca-flow{grid-template-columns:1fr}.deca-arrow{transform:rotate(90deg)}.trust-grid{grid-template-columns:repeat(2,1fr)}.flow-card{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.gps-login-form{grid-template-columns:1fr 1fr}.gps-login-submit{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(100% - 28px,1200px)}.site-header .brand img{width:195px}.hero{padding-top:54px}.hero h1{font-size:2.55rem}.hero-actions,.section-actions{flex-direction:column}.btn{width:100%}.feature-grid,.sector-grid,.trust-grid,.deca-checks,.flow-card,.footer-grid{grid-template-columns:1fr}.gps-login-form{grid-template-columns:1fr}.showcase-copy{padding:22px 22px 8px}.showcase-media{padding:14px}.login-card{padding:22px}.section{padding:72px 0}.footer-bottom{flex-direction:column}}

.selfhosted-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow-soft)}
.selfhosted-card h3{margin-top:0;font-size:1.45rem;color:var(--navy)}
.selfhosted-card div{padding:20px 0;border-top:1px solid var(--line)}
.selfhosted-card b,.selfhosted-card span{display:block}
.selfhosted-card span{color:var(--muted);margin-top:5px}

/* V3 2026-10-11 - capcalera clara per contrast del logotip, mantenint l'estetica corporativa. */
.site-header{
  background:rgba(255,255,255,.98);
  box-shadow:0 4px 20px rgba(4,35,62,.10);
  border-bottom:1px solid #e4ebf2;
  backdrop-filter:blur(14px);
}
.site-header .main-nav a{color:var(--navy)}
.site-header .main-nav a:hover,.site-header .main-nav a:focus-visible{color:#b65106}
.site-header .main-nav .nav-client{
  color:#fff!important;
  background:var(--navy);
  border-color:var(--navy);
  box-shadow:0 5px 16px rgba(6,54,93,.12);
}
.site-header .main-nav .nav-client:hover{background:var(--blue);border-color:var(--blue)}
.site-header .menu-toggle{color:var(--navy)}
.site-header .brand img{filter:none}
.site-footer .footer-grid img{
  background:#fff;
  padding:8px 12px;
  border-radius:12px;
  width:245px;
  max-width:100%;
}
/* Enllacos amb destinacio real a les targetes sectorials */
.sector-grid .sector-link{
  display:block;
  color:inherit;
  text-decoration:none;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  padding:25px;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.sector-grid .sector-link:hover,
.sector-grid .sector-link:focus-visible{
  background:rgba(255,255,255,.14);
  border-color:#ffb57d;
  transform:translateY(-3px);
  outline-offset:3px;
}
.sector-grid .sector-link h3{margin:12px 0 6px}
.sector-grid .sector-link p{color:#cbd8e2;margin:0}
.sector-grid .sector-cta{display:inline-block;color:#ffb57d;font-weight:800;font-size:.93rem;margin-top:14px}
@media(max-width:980px){
  .site-header .main-nav{
    background:#fff;
    border-bottom:1px solid #dbe5ed;
    box-shadow:0 18px 20px rgba(4,35,62,.10);
  }
  .site-header .main-nav a{color:var(--navy)}
  .site-header .main-nav .nav-client{color:#fff!important;text-align:center}
}
@media(prefers-reduced-motion:reduce){.sector-grid .sector-link{transition:none}.sector-grid .sector-link:hover{transform:none}}

/* La web publica no processa ni rep credencials */
.login-external-btn{min-height:56px;width:100%;margin:10px 0 12px}.login-external-note{font-size:.9rem;color:#627084;margin:0!important}
