*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#202125;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e01024;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.04em}h1{font-size:clamp(2.7rem,5.1vw,4.8rem);font-weight:750;margin-bottom:26px}h2{font-size:clamp(2rem,3.4vw,3rem)}h3{font-size:1.4rem}p{color:#62646a}strong{font-weight:650}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#c50c1e;margin-bottom:22px}.topline{background:#202125;color:#e5e5e7;font-size:.78rem;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between;gap:20px}.header{background:#fff;border-bottom:1px solid #e8e8e9;position:sticky;top:0;z-index:20}.nav{height:91px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:232px;height:auto}.navlinks{display:flex;align-items:center;gap:29px;font-size:.9rem}.navlinks a:hover{color:#d40d20}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 23px;background:#df1025;color:#fff;border:1px solid #df1025;border-radius:3px;font-weight:650;font-size:.9rem;cursor:pointer;line-height:1.4}.btn:hover{background:#bb0b1c;border-color:#bb0b1c;color:#fff}.btn.outline{background:transparent;border-color:#d8d8dc;color:#242529}.btn.outline:hover{border-color:#df1025;color:#c50c1e}.phone{font-weight:700;white-space:nowrap}.menu{display:none;background:none;border:1px solid #ddd;padding:8px 12px}.hero{padding:64px 0 58px;overflow:hidden}.herogrid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}.hero h1 span{color:#df1025}.hero .lead{font-size:1.12rem;max-width:540px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 21px}.small{font-size:.82rem;color:#74767b}.heroart{position:relative;min-height:440px;background:#ededed;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.heroart img{width:100%;height:470px;object-fit:cover}.heroart .placeholder{padding:48px;font-size:4.5rem;line-height:1;font-weight:800;letter-spacing:-.08em;color:#232427}.heroart .placeholder span{display:block;color:#df1025}.arttag{position:absolute;bottom:24px;left:24px;right:24px;background:#fff;padding:18px 22px;border-left:3px solid #df1025;display:flex;align-items:center;justify-content:space-between;font-size:.85rem;gap:15px}.arttag strong{font-size:1rem;display:block}.arttag p{margin:0;font-size:.78rem}.trust{border-top:1px solid #e6e6e8;border-bottom:1px solid #e6e6e8}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;gap:30px}.trustitem{display:flex;align-items:center;gap:16px;font-size:.86rem}.trustitem svg{width:28px;height:28px;color:#cf1022;flex-shrink:0}.trustitem small{display:block;color:#74767b;font-size:.77rem}.section{padding:83px 0}.section.soft{background:#f5f5f6}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.sectionhead h2{margin:0}.sectionhead p{max-width:380px;margin:0}.textlink{font-weight:650;color:#c30c1d;font-size:.9rem}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid #e0e0e3;border-radius:4px;padding:30px;background:#fff;display:flex;flex-direction:column;align-items:start;transition:border-color .15s,transform .15s}.service:hover{border-color:#cf1022;transform:translateY(-3px)}.service svg{width:34px;height:34px;color:#d00d21;margin-bottom:35px}.service h3{font-size:1.25rem;letter-spacing:-.03em;margin-bottom:12px}.service p{font-size:.94rem;margin-bottom:22px}.service .textlink{margin-top:auto}.service .num{font-size:.8rem;color:#81838a;margin-bottom:27px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.steps{border-top:1px solid #ddd}.step{display:grid;grid-template-columns:40px 1fr;gap:15px;border-bottom:1px solid #ddd;padding:25px 0}.step>span{color:#c60e20;font-size:.88rem}.step h3{font-size:1.13rem;margin-bottom:8px}.step p{margin:0;font-size:.94rem}.coveragebox{background:#202125;padding:52px;color:white;border-radius:5px}.coveragebox h2{color:#fff}.coveragebox p{color:#b9bbc1}.coveragebox .eyebrow{color:#ff7785}.coveragecounts{display:flex;gap:32px;margin:32px 0}.coveragecounts strong{font-size:2.3rem;line-height:1.1;display:block}.coveragecounts small{color:#b9bbc1;font-size:.82rem}.linkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 26px}.linkgrid a{padding:14px 0;border-bottom:1px solid #e1e1e4;font-size:.96rem;display:flex;justify-content:space-between;gap:15px}.linkgrid a:after{content:'↗';color:#c71022}.linkgrid a:hover{color:#c71022}.cta{background:#df1025;padding:45px 0;color:#fff}.ctainner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:2.25rem;margin-bottom:8px}.cta p{color:#ffe4e7;margin:0}.cta .btn{background:#fff;border-color:#fff;color:#c30c1d}.footer{background:#202125;color:#fff;padding:60px 0 25px}.footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer .logo{background:#fff;padding:12px;width:245px;border-radius:3px}.footer h3{font-size:.9rem;letter-spacing:0;margin:8px 0 20px}.footer a,.footer p{font-size:.87rem;color:#b9bbc1}.footer a{display:block;margin:9px 0}.footer a:hover{color:#fff}.footer .brandtext{margin-top:20px;max-width:290px}.footbottom{margin-top:45px;padding-top:24px;border-top:1px solid #44454b;color:#b9bbc1;font-size:.75rem;display:flex;justify-content:space-between;gap:25px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:.8rem;color:#74767b;padding-top:28px}.breadcrumbs a:hover{text-decoration:underline}.innerhero{padding:47px 0 55px;background:#f5f5f6}.innerhero h1{font-size:clamp(2.3rem,4.6vw,4rem);max-width:940px}.innerhero p{max-width:780px;font-size:1.1rem}.innerhero .eyebrow{margin-top:24px}.articlegrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:75px;align-items:start}.prose{max-width:810px}.prose h2{font-size:2rem;margin:45px 0 22px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.25rem;margin:30px 0 15px}.prose p,.prose li{color:#5b5d64;line-height:1.85}.prose a{color:#b5091b;text-decoration:underline;text-underline-offset:3px}.prose li{margin-bottom:10px}.aside{background:#f5f5f6;border-top:3px solid #d60e22;padding:28px;position:sticky;top:120px}.aside h2{font-size:1.5rem}.aside .btn{width:100%;margin-top:12px}.aside p{font-size:.9rem}.facts{margin:25px 0}.facts dt{font-size:.8rem;color:#666}.facts dd{margin:0 0 15px;font-size:.95rem;font-weight:600}.faq{border-top:1px solid #ddd}.faq details{border-bottom:1px solid #ddd;padding:20px 0}.faq summary{cursor:pointer;font-weight:650;padding-right:10px}.faq p{margin:16px 0 0;max-width:870px}.directorytools{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.directorytools input{padding:13px 16px;border:1px solid #c5c5ca;border-radius:3px;width:min(100%,480px);background:#fff}.directorygroup{margin:42px 0}.directorygroup h2{font-size:1.6rem;padding-bottom:18px;border-bottom:2px solid #202125}.directorylist{display:grid;grid-template-columns:repeat(3,1fr);column-gap:40px;list-style:none;padding:0}.directorylist li{border-bottom:1px solid #e4e4e6}.directorylist a{padding:11px 0;display:block;font-size:.94rem}.directorylist a:hover{color:#bf0d1f}.directorylist small{color:#767880;display:block;font-size:.78rem}.jumpnav{display:flex;flex-wrap:wrap;gap:8px}.jumpnav a{background:#f1f1f3;padding:8px 14px;font-size:.88rem;border-radius:3px}.jumpnav a:hover{background:#202125;color:#fff}.muted{color:#72747b}.skip{position:absolute;left:15px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:15px}.mobilecall{display:none}.notice{background:#fff4f4;border-left:3px solid #d10e22;padding:18px 22px;font-size:.92rem}.source{font-size:.8rem;color:#75777e}.source a{text-decoration:underline}.empty{padding:25px 0}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contactcard{background:#f5f5f6;padding:40px}.contactcard .bigphone{display:block;font-size:2rem;font-weight:700;color:#c70b1e;margin:25px 0} [hidden]{display:none!important}
@media(min-width:1500px){.hero{padding:85px 0}.heroart img{height:510px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.navlinks{gap:18px}.navlinks .phone{display:none}.herogrid{gap:30px}.heroart img{height:460px}.trustgrid{grid-template-columns:repeat(2,1fr)}.split{gap:40px}.articlegrid{gap:35px;grid-template-columns:minmax(0,1fr) 260px}.footgrid{gap:25px}.logo{width:210px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topline .wrap span:last-child{display:none}.topline{font-size:.72rem}.nav{height:76px}.logo{width:210px}.menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:24px;box-shadow:0 8px 16px #0001;align-items:stretch}.navlinks.open{display:flex;flex-direction:column}.navlinks .phone{display:block}.herogrid,.split,.articlegrid,.contactgrid{grid-template-columns:1fr}.hero{padding:40px 0}.hero h1{font-size:2.75rem}.heroart{min-height:320px}.heroart img{height:350px}.heroart .placeholder{font-size:3.6rem}.trustgrid{gap:22px 15px}.trustitem{font-size:.8rem;gap:10px}.trustitem svg{width:24px}.trustitem small{font-size:.71rem}.section{padding:55px 0}.sectionhead{display:block}.sectionhead p{margin-top:20px}.services{grid-template-columns:1fr}.service{padding:25px}.service svg{margin-bottom:23px}.coveragebox{padding:30px}.coveragecounts{gap:23px}.coveragecounts strong{font-size:2rem}.ctainner{display:block}.cta .btn{margin-top:23px}.footgrid{grid-template-columns:1fr 1fr;gap:30px}.footgrid>:first-child{grid-column:1/-1}.footbottom{display:block;padding-bottom:65px}.footbottom span{display:block;margin:10px 0}.directorylist{grid-template-columns:1fr}.directorylist a{padding:14px 0}.innerhero h1{overflow-wrap:anywhere}.aside{position:static}.breadcrumbs{font-size:.75rem}.mobilecall{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:10px 18px;z-index:30;box-shadow:0 -2px 12px #0001;gap:15px;align-items:center;justify-content:space-between}.mobilecall span{font-size:.8rem}.mobilecall .btn{padding:12px 18px}.contactcard{padding:25px}.sectionhead h2{font-size:2rem}.arttag{left:15px;right:15px;bottom:15px;padding:14px}.arttag p{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Justificado del contenido; la última línea conserva su alineación natural. */
main p:not(.eyebrow):not(nav p),
main .prose li:not(nav li){
  text-align:justify;
  text-align-last:start;
  hyphens:auto;
}

/* Directorios funcionales y navegación por necesidad. */
.coverage-links a{display:flex;flex-direction:column;border-bottom:1px solid #ddd;padding:20px 0;gap:5px}.coverage-links span{color:#b5091b;font-size:.9rem}.directory-intro{max-width:780px}.zone-selection{background:#f5f5f6;border-left:4px solid #d70e23;padding:28px;margin:30px 0 45px;max-width:850px}.zone-selection h2{font-size:1.65rem}.zone-selection .small{margin-top:18px;margin-bottom:0}.directorylist li{padding:16px 0;scroll-margin-top:130px}.place-label strong{font-size:1rem}.zone-button{border:0;background:transparent;color:#b5091b;padding:12px 0;font:inherit;font-size:.87rem;text-align:left;cursor:pointer;min-height:44px}.zone-button:hover{text-decoration:underline}.directorylist li:target{background:#fff4f4;padding-left:12px;border-left:3px solid #d70e23}.directorygroup .muted{font-size:1rem}.intent-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.intent-cards a{border:1px solid #ddd;padding:22px;text-decoration:none}.intent-cards h3{margin-top:0}.prose h2[id],.directorygroup{scroll-margin-top:130px}.prose .jumpnav a{text-decoration:none}.zone-selection:focus-visible,.zone-button:focus-visible{outline:3px solid #d70e23;outline-offset:4px}@media(max-width:760px){.intent-cards{grid-template-columns:1fr}.zone-selection{padding:22px}.directorylist li{padding:18px 0}}

.service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.service-catalog{grid-template-columns:1fr}}
.city-coverage-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2fr);gap:32px;align-items:start;margin:32px 0}
.city-coverage-layout .coveragebox{padding:32px}
.city-coverage-layout h3{font-size:1.6rem;margin:0 0 16px}
.city-coverage-layout button{font:inherit;cursor:pointer}
.city-shortlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.city-shortlist li{padding:13px 0;border-bottom:1px solid #d9d9d9;scroll-margin-top:120px;min-width:0}
.city-shortlist button{display:block;text-align:left;min-height:44px;padding:7px 0;border:0;background:none;color:#a50c1b;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.city-shortlist button:hover{text-decoration:underline;text-underline-offset:4px}
.city-shortlist span{display:block;font-size:.875rem;color:#5d5d5d}
.city-shortlist button:focus-visible{outline:3px solid #a50c1b;outline-offset:4px}
@media(max-width:850px){.city-coverage-layout{grid-template-columns:1fr}}
@media(max-width:520px){.city-shortlist{grid-template-columns:1fr}.city-coverage-layout .coveragebox{padding:24px}}
.city-intents p{color:#434343;line-height:1.7}
.city-intents h3{font-size:1.5rem}
.city-visit{margin-top:70px}
.barcelona-districts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;list-style:none;padding:0;margin:28px 0}
.barcelona-districts>li{border-bottom:1px solid #d9d9d9;scroll-margin-top:120px;min-width:0;align-self:start}
.barcelona-districts summary{display:flex;align-items:center;gap:14px;list-style:none;padding:24px 0;cursor:pointer;min-height:76px}.barcelona-districts summary::-webkit-details-marker{display:none}.barcelona-districts summary::after{content:'+';font-size:1.5rem;color:#b5091b;margin-left:auto}.barcelona-districts details[open]>summary::after{content:'−'}.barcelona-districts details[open]>summary{color:#b5091b}.district-name{font-size:1.2rem;font-weight:650;line-height:1.3}.district-count{font-size:.88rem;color:#62646a;white-space:nowrap}.district-neighborhoods{padding:0 0 22px}.district-neighborhoods p{font-size:.9rem;margin-bottom:10px}.district-neighborhoods ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.district-neighborhoods .zone-button{width:100%;padding:10px 14px;border:1px solid #dedee2;background:#fff;border-radius:3px;min-height:44px;font-size:1rem}.district-neighborhoods .zone-button:hover,.district-neighborhoods .zone-button[aria-pressed="true"]{border-color:#be0d1e;background:#fff1f3}.barcelona-districts summary:focus-visible{outline:3px solid #df1025;outline-offset:4px}@media(max-width:380px){.barcelona-districts summary{gap:8px}.district-name{font-size:1.05rem}}
.barcelona-districts h3{font-size:1.35rem;margin:0 0 12px}
.barcelona-districts a{font-size:.95rem;text-underline-offset:4px}
@media(max-width:650px){.barcelona-districts{grid-template-columns:1fr}.city-visit{margin-top:42px}}
.city-shortlist .city-link{display:block;min-height:44px;padding:7px 0;color:#a50c1b;font-weight:650;line-height:1.45;overflow-wrap:anywhere;text-decoration:none}
.city-shortlist .city-link:hover{text-decoration:underline;text-underline-offset:4px}
.city-shortlist .city-link span{display:inline;font-size:inherit;color:inherit}
.city-shortlist .city-link:focus-visible{outline:3px solid #a50c1b;outline-offset:4px}
.municipality-systems{padding-left:22px;line-height:1.7}
.municipality-systems li{margin:12px 0}

/* Municipality guides */
.nav{height:108px}
.mobilecall .btn{flex-shrink:0;white-space:nowrap}
@media(max-width:760px){.nav{height:88px}.nav .logo{width:190px}.navlinks{top:88px}}
.local-toc{border-bottom:1px solid #ddd;padding-bottom:24px;margin-bottom:42px}.local-toc p{font-size:.85rem;font-weight:650;color:#303138;margin-bottom:12px}.local-toc ol{padding-left:22px;margin:0}.local-toc li{font-size:.92rem;margin-bottom:8px}.local-guide>section{margin-bottom:40px}.local-guide>section>h2{margin-top:0;line-height:1.22}.local-resource{background:#f5f5f6;padding:28px;margin-top:42px}.local-guide .local-resource h2{font-size:1.35rem}.local-service-links{display:grid;margin:24px 0;gap:0}.local-service-links a{font-size:.87rem;border-bottom:1px solid #ddd;padding:10px 0}.local-service-links a:hover{color:#b5091b;text-decoration:underline}.local-consultation{scroll-margin-top:130px}.prose .btn{color:white;text-decoration:none}.prose .btn.outline{color:#242529}.prose .local-consultation h2{font-size:1.65rem}.local-guide .source{margin-top:25px}.local-guide p,.local-guide li{overflow-wrap:break-word}@media(max-width:760px){.local-toc{margin-bottom:32px}.local-resource{padding:22px}.local-guide .local-consultation h2{font-size:1.4rem}}

.arttag svg{width:32px;height:32px;flex-shrink:0}.phone{font-size:1.18rem;color:#be0d1e}.hero .actions .btn:first-child{font-size:1.04rem}.prose .linkgrid a{text-decoration:none}.arttag{max-height:95px}.contactnumber{font-size:clamp(2.3rem,5vw,4.3rem);font-weight:750;color:#c40c20;letter-spacing:-.04em;line-height:1.2;display:inline-block;margin:15px 0 25px}.directorygroup:target{scroll-margin-top:110px}
