/* Tipografies lliures (SIL Open Font License), servides des de la mateixa web */
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/atkinson-hyperlegible-regular.woff) format("woff"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/atkinson-hyperlegible-bold.woff) format("woff"); }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/atkinson-hyperlegible-italic.woff) format("woff"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 500 800; font-display: swap; src: url(fonts/bricolage-grotesque.woff) format("woff"); }

/* Compàs — portada, funcions i descàrregues. */
:root { --mari:#102e51; --blau:#086db7; --or:#ffbd3e; --paper:#f6f9fc; --blanc:#fff; --tinta:#17324f; --suau:#536980; --linia:#dce5ee; --ample:1240px; --display:"Bricolage Grotesque","Segoe UI",sans-serif; --text:"Atkinson Hyperlegible","Segoe UI",sans-serif; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--blanc); color:var(--tinta); font:400 1.06rem/1.65 var(--text); }
img { max-width:100%; height:auto; display:block; }
a { color:var(--blau); text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--or); outline-offset:5px; }
h1,h2,h3 { font-family:var(--display); line-height:1.14; letter-spacing:-.025em; margin:0; color:var(--mari); }
h2 { font-size:clamp(1.9rem,3vw,2.8rem); }
h3 { font-size:1.25rem; }
p { margin:.8rem 0 0; }
button,summary { font:inherit; }
.cap-web { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.97); border-bottom:1px solid var(--linia); }
.barra { max-width:var(--ample); padding:.65rem 1.5rem; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.marca { display:flex; gap:.65rem; align-items:center; color:var(--mari); font:800 1.4rem var(--display); text-decoration:none; flex-shrink:0; }
.marca img { width:52px; height:52px; object-fit:contain; }
.barra nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.65rem 1.25rem; font-size:.94rem; }
.barra nav a { color:var(--tinta); text-decoration:none; }
.barra nav a:hover { color:var(--blau); }
.barra nav .idioma { font-weight:700; }
.barra nav .nav-baixa { color:var(--blau); font-weight:700; }
main { overflow:clip; }
.hero { position:relative; max-width:var(--ample); margin:auto; padding:4rem 1.5rem 4.5rem; display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:3.5rem; }
.hero::before { content:""; position:absolute; z-index:-1; width:760px; height:760px; border-radius:50%; background:radial-gradient(circle,#e7f5ff,transparent 68%); top:-130px; right:-240px; }
.hero-marca { display:flex; align-items:center; gap:1.2rem; margin-bottom:1.6rem; }
.hero-marca > div { min-width:0; }
.hero-marca img { width:128px; height:128px; object-fit:contain; }
.nom { margin:0; font:800 clamp(2.4rem,4vw,3.7rem)/1 var(--display); color:var(--mari); letter-spacing:-.05em; }
.lema { margin:.5rem 0 0; font-size:1rem; color:var(--suau); line-height:1.35; }
.hero h1 { font-size:clamp(2.5rem,4.2vw,3.7rem); max-width:15ch; }
.entrada { font-size:1.15rem; color:var(--suau); margin:1.5rem 0 1.8rem; max-width:38rem; }
.accions { display:flex; flex-wrap:wrap; gap:.75rem; }
.boto { display:inline-flex; align-items:center; justify-content:center; padding:.85rem 1.3rem; min-height:50px; border:2px solid var(--blau); border-radius:10px; background:var(--blau); color:white; text-decoration:none; font-weight:700; line-height:1.3; }
.boto:hover { background:var(--mari); border-color:var(--mari); }
.boto.secundari { background:white; color:var(--mari); border-color:var(--linia); }
.boto.secundari:hover { border-color:var(--blau); color:var(--blau); }
.versio { color:var(--suau); font-size:.88rem; }
.confianca { font-size:.88rem; color:var(--suau); line-height:1.8; }
.ordinador { margin:0; align-self:center; }
.pantalla { background:#172536; padding:12px 12px 16px; border-radius:18px 18px 8px 8px; box-shadow:0 24px 50px -24px #294e76aa; border:1px solid #516276; }
.camera { width:5px; height:5px; background:#627384; border-radius:50%; margin:-6px auto 6px; }
.pantalla img { width:100%; border-radius:3px; }
.peu-ordinador { height:14px; margin:0 -4%; border-radius:2px 2px 70% 70%; background:linear-gradient(#dce2e8,#8b9aab); position:relative; box-shadow:0 16px 25px -7px #1a35543b; }
.peu-ordinador::before { content:""; width:18%; height:5px; background:#92a1b2; border-radius:0 0 6px 6px; display:block; margin:auto; }
.seccio { max-width:var(--ample); padding:5rem 1.5rem; margin:auto; }
.cap { max-width:48rem; margin-bottom:2.2rem; }
.cap p { color:var(--suau); font-size:1.1rem; }
.avantatges { padding-top:0; padding-bottom:4rem; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.avantatges li { background:var(--paper); border:1px solid var(--linia); padding:1.6rem; border-radius:16px; }
.ic { display:block; font-size:2rem; line-height:1.2; margin-bottom:1rem; }
.avantatges h2 { font-size:1.35rem; }
.avantatges p,.area p { color:var(--suau); font-size:1rem; }
.entitats { border-top:1px solid var(--linia); }
.tipus-entitats { display:flex; flex-wrap:wrap; gap:.8rem; padding:0; margin:0; list-style:none; }
.tipus-entitats li { display:flex; align-items:center; gap:.7rem; padding:.85rem 1.15rem; border:1px solid var(--linia); border-radius:12px; background:var(--blanc); }
.tipus-entitats span { font-size:1.5rem; }
.tipus-entitats h3 { font:700 1rem var(--text); letter-spacing:0; }
#que { background:var(--paper); max-width:none; }
#que > * { max-width:calc(var(--ample) - 3rem); margin-inline:auto; }
.arees { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.area { padding:1.8rem; background:white; border:1px solid var(--linia); border-radius:16px; }
.area h3 { font-size:1.45rem; }
.totes-funcions { margin-top:2rem; }
summary { cursor:pointer; font-weight:700; color:var(--blau); padding:.8rem 0; }
.moduls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.modul { padding:1.1rem; border:1px solid var(--linia); border-radius:10px; background:white; }
.modul dt { font-weight:700; }
.modul dd { margin:.5rem 0 0; font-size:.95rem; color:var(--suau); }
.galeria { padding-bottom:4.5rem; }
.principal { margin:0 0 1.25rem; }
.visor { position:relative; background:var(--paper); border:1px solid var(--linia); border-radius:12px; padding:.5rem; box-shadow:0 20px 45px -30px #17324f80; }
.principal img { width:100%; border-radius:6px; }
.principal figcaption { margin-top:1rem; color:var(--suau); min-height:1.7em; }
.fletxa { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:1px solid var(--linia); background:white; border-radius:50%; cursor:pointer; color:var(--mari); font-size:1.8rem; box-shadow:0 2px 12px #17324f20; }
.fletxa.ant { left:1rem; }.fletxa.seg { right:1rem; }
.miniatures { list-style:none; padding:0 0 .5rem; margin:0; display:flex; gap:1rem; overflow-x:auto; position:relative; }
.miniatures li { flex:1 0 130px; }
.miniatures button { width:100%; padding:5px; background:var(--blanc); border:2px solid var(--linia); border-radius:10px; cursor:pointer; color:var(--tinta); }
.miniatures button img { aspect-ratio:16/10; object-fit:cover; object-position:top left; border-radius:5px; opacity:.75; }
.miniatures button span { display:block; padding:.5rem .2rem .25rem; font-weight:700; }
.miniatures button[aria-current="true"] { border-color:var(--blau); background:#edf7ff; }
.miniatures button[aria-current="true"] img,.miniatures button:hover img { opacity:1; }
.privacitat { border-radius:24px; background:var(--paper); margin-block:1rem; }
.etiqueta { text-transform:uppercase; font-weight:700; letter-spacing:.15em; font-size:.85rem!important; color:var(--blau)!important; margin-bottom:1rem; }
.flux { display:flex; align-items:center; gap:1.2rem; margin:2.5rem 0 2rem; }
.flux > span:not(.fletxa-flux) { background:white; border:1px solid var(--linia); padding:1.4rem; border-radius:12px; font-weight:700; flex:1; text-align:center; }
.fletxa-flux { color:var(--blau); font-size:1.7rem; }
.absents { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; list-style:none; padding:0; color:var(--suau); }
.comp-titol { margin:2.8rem 0 1.2rem; }
.taula-comp-wrap { overflow:auto; }
.taula-comp { width:100%; border-collapse:collapse; font-size:.95rem; }
.taula-comp th,.taula-comp td { padding:1rem; text-align:left; border-bottom:1px solid var(--linia); vertical-align:top; }
.taula-comp thead { background:#e9f0f7; }
.taula-comp tbody th { width:28%; font-weight:400; color:var(--suau); }
.taula-comp .si { color:var(--mari); font-weight:700; }
.qui { max-width:900px; }
.qui blockquote { margin:2rem 0; padding-left:1.8rem; border-left:4px solid var(--or); }
.qui blockquote p:first-child { font-size:1.4rem; color:var(--mari); }
.qui blockquote p { margin-bottom:1rem; color:var(--suau); }
.qui blockquote footer { font-weight:700; }
.descarregues { background:var(--mari); color:white; border-radius:24px; }
.descarregues h2,.descarregues h3,.descarregues a:not(.boto),.descarregues .nota,.descarregues .cap p,.descarregues summary { color:white; }
.descarregues .boto { background:var(--or); border-color:var(--or); color:var(--mari); }
.paquets { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:2rem; }
.paquets article { padding:1.7rem; border:1px solid #ffffff35; border-radius:14px; background:#ffffff09; }
.paquets a { display:block; padding:.8rem 0; text-decoration:none; border-bottom:1px solid #ffffff25; font-weight:700; }
.paquets small { display:block; font-size:.88rem; font-weight:400; opacity:.8; }
.ajuda { margin-top:1.5rem; border-top:1px solid var(--linia); padding-top:.6rem; }
.descarregues .ajuda { border-color:#ffffff40; }
.passos { padding-left:1.2rem; }.passos li { margin:1.5rem 0; }.passos p { font-size:1rem; }
.docs,.punts { padding-left:1.2rem; }.docs li,.punts li { margin:.5rem 0; }.pes { font-size:.8rem; opacity:.7; margin-left:.5rem; }
.faq details { border-bottom:1px solid var(--linia); padding:.6rem 0; }
.faq summary { color:var(--mari); font-size:1.12rem; }
.faq p { color:var(--suau); padding:0 1.25rem 1rem; max-width:60rem; }
.lliure { border-top:1px solid var(--linia); padding-top:3rem; padding-bottom:3rem; }
.lliure p { max-width:58rem; }.nota { color:var(--suau); font-size:.95rem; }
.peu { border-top:1px solid var(--linia); max-width:var(--ample); padding:2rem 1.5rem; margin:auto; }
.peu p { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; color:var(--suau); font-size:.9rem; }
.peu img { width:40px; height:40px; object-fit:contain; }
.peu .peu-resp { display:block; font-size:.78rem; margin-top:1.2rem; }
.baixa-fixa { display:none; }
@media (max-width:1000px) { .hero { gap:2rem; grid-template-columns:1fr 1fr; }.hero-marca { gap:.8rem; }.hero-marca img { width:96px;height:96px; }.nom { font-size:2.8rem; }.barra nav { gap:.6rem .9rem; }.hero h1 { font-size:2.6rem; }.avantatges li { padding:1.2rem; } }
@media (max-width:800px) { .hero { grid-template-columns:1fr; padding-top:2rem; gap:3rem; }.hero h1 { max-width:22ch; }.hero-text { max-width:600px; }.ordinador { width:100%;max-width:650px;margin:0 auto; }.avantatges { grid-template-columns:1fr 1fr; }.arees,.moduls { grid-template-columns:1fr 1fr; }.barra { align-items:flex-start; }.barra nav { font-size:.88rem; }.barra nav a[href="#qui"],.barra nav a[href="#preguntes"] { display:none; }.seccio { padding-block:3.5rem; }.avantatges { padding-top:0; }.descarregues,.privacitat { border-radius:0; }.paquets { gap:1rem; } }
@media (max-width:500px) { .barra { padding:.6rem 1rem; gap:1rem; }.marca { font-size:1.1rem; }.marca img { width:40px;height:40px; }.barra nav { gap:.4rem .7rem; }.barra nav a[href="#entitats"],.barra nav a[href="#que"] { display:none; }.hero { padding-inline:1.25rem; }.hero-marca img { width:105px;height:105px; }.hero h1 { font-size:2.4rem; }.nom { font-size:2.7rem; }.lema { font-size:.95rem; }.entrada { font-size:1.08rem; }.accions { flex-direction:column; }.confianca { font-size:.82rem; }.avantatges { gap:.7rem; }.avantatges li { padding:1rem; }.avantatges p { font-size:.92rem; }.arees,.moduls,.paquets { grid-template-columns:1fr; }.area { padding:1.4rem; }.tipus-entitats { gap:.55rem; }.tipus-entitats li { padding:.65rem .8rem; }.tipus-entitats h3 { font-size:.92rem; }.flux { flex-direction:column; gap:.6rem; }.flux > span:not(.fletxa-flux) { width:100%; }.fletxa-flux { transform:rotate(90deg); }.taula-comp { font-size:.85rem; }.taula-comp th,.taula-comp td { padding:.65rem; }.taula-comp { min-width:520px; }.miniatures li { flex:0 0 110px; }.baixa-fixa { display:block; position:fixed; bottom:0; left:0; right:0; padding:.6rem 1rem; background:#fffffff5; border-top:1px solid var(--linia); transform:translateY(110%); transition:transform .2s; z-index:30; }.baixa-fixa.visible { transform:translateY(0); }.baixa-fixa .boto { width:100%; }.peu { padding-bottom:6rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.baixa-fixa { transition:none; } }

/* Xarxa local: dos blocs llegibles i un sol bloc en pantalles menudes. */
.xarxa { background:var(--paper); }
.xarxa .arees { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:600px) { .xarxa .arees { grid-template-columns:1fr; } }
