:root{--ink:#202d29;--muted:#57635e;--line:#d9ded8;--paper:#f8f7f2;--white:#fff;--wine:#642b42;--wine-dark:#4b2032;--sage:#dfe7dc;--blush:#f2e9e8;--mint:#edf2eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,"Segoe UI",Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad6a42;outline-offset:3px}.skip{position:absolute;z-index:20;top:-100px;left:10px;background:#fff;padding:12px}.skip:focus{top:10px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{max-width:1440px;margin:auto;height:86px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.14em;line-height:1.1;font-weight:800;white-space:nowrap}.brand small{display:block;letter-spacing:.32em;font-size:9px;margin-top:4px;color:var(--muted)}.brand-mark{font:35px/1 Georgia,serif;color:var(--wine)}nav{display:flex;gap:34px;margin-left:auto}nav a{text-decoration:none;font-size:13px;font-weight:650;color:#45534c}nav a:hover,.text-link:hover,.back-link:hover{text-decoration:underline}.header-call{font-size:13px;color:var(--wine);border:1px solid #bd99a8;border-radius:6px;text-decoration:none;padding:11px 16px;font-weight:750;white-space:nowrap}.header-call:hover{background:var(--blush)}.hero,.section-wrap{max-width:1440px;margin:auto;padding-left:clamp(22px,5vw,76px);padding-right:clamp(22px,5vw,76px)}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:clamp(35px,5vw,96px);align-items:center;padding-top:clamp(70px,8vw,126px);padding-bottom:clamp(75px,9vw,134px)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--wine);margin:0 0 23px}.eyebrow-line{display:inline-block;vertical-align:middle;width:24px;height:1px;background:var(--wine);margin-right:12px}.hero h1,.section-heading h2,.directory-only h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.052em;line-height:1.03}.hero h1{font-size:clamp(55px,6.1vw,96px);margin:0 0 29px}.hero h1 em{color:var(--wine);font-weight:400}.lead{max-width:600px;color:#415047;font-size:clamp(17px,1.4vw,20px);line-height:1.65;margin:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 22px;border-radius:5px;text-decoration:none;font-size:14px;font-weight:750;min-height:54px}.primary{background:var(--wine);color:#fff}.primary:hover{background:var(--wine-dark)}.text-link{font-size:14px;font-weight:750;text-decoration:none;color:var(--wine)}.quiet{font-size:12px;color:#6a716d;margin-top:40px;max-width:560px}.emergency-card{background:#fff;border:1px solid #e2dfd9;border-radius:9px;box-shadow:0 16px 44px #242c2412;padding:clamp(26px,3vw,44px);position:relative;overflow:hidden}.emergency-card:before{content:"";width:220px;height:220px;border:1px solid #f4e6e9;border-radius:50%;position:absolute;right:-75px;top:-105px;box-shadow:0 0 0 36px #f9f2f2,0 0 0 72px #fcf9f9;pointer-events:none}.emergency-top{display:flex;align-items:center;gap:9px;color:#8c3f49;font-size:11px;letter-spacing:.12em;font-weight:800;position:relative}.live-dot{width:8px;height:8px;border-radius:50%;background:#b23d4b}.emergency-card h2{font:400 clamp(34px,3.4vw,51px)/1.14 Georgia,serif;letter-spacing:-.04em;margin:30px 0 16px;position:relative}.emergency-card p{color:#536158;position:relative;line-height:1.65}.emergency-button{display:flex;justify-content:space-between;background:#642b42;color:#fff;text-decoration:none;font-weight:750;padding:16px 20px;border-radius:5px;margin-top:34px}.emergency-button:hover{background:var(--wine-dark)}.emergency-foot{font-size:12px;border-top:1px solid #ece7e7;padding-top:19px;margin-top:23px;margin-bottom:0}.routes{padding-top:84px;padding-bottom:100px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:39px}.section-heading h2,.directory-only h1{font-size:clamp(44px,4.4vw,68px);margin:0}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{max-width:390px;color:var(--muted);font-size:14px;margin:0 0 6px;line-height:1.65}.route-layout{display:grid;grid-template-columns:minmax(310px,.89fr) minmax(0,1.11fr);gap:20px;align-items:stretch}.route-list{display:flex;flex-direction:column;gap:8px}.route-option{width:100%;display:flex;align-items:center;gap:20px;text-align:left;background:#fff;color:var(--ink);border:1px solid #e5e7e1;border-radius:6px;padding:16px 18px;cursor:pointer;font:inherit;min-height:76px}.route-option:hover{border-color:#ba9aa8}.route-option.active{border-color:var(--wine);box-shadow:inset 4px 0 var(--wine);background:#fffdfc}.route-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--mint);color:var(--wine);font:24px/1 Georgia,serif}.route-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.route-copy strong{font-size:15px}.route-copy small{color:var(--muted);font-size:12px}.route-arrow{color:var(--wine);margin-left:auto}.route-detail{background:#ecefe8;border:1px solid #dfe7dc;border-radius:7px;padding:clamp(24px,3.5vw,48px);min-height:530px}.detail-tag,.category{font-size:10px;font-weight:850;letter-spacing:.14em;color:var(--wine)}.route-detail h3{font:400 clamp(32px,3vw,45px)/1.13 Georgia,serif;letter-spacing:-.035em;margin:18px 0 13px}.detail-intro{color:#4d5a51;margin:0 0 25px}.steps{margin:0;padding:0;list-style:none;border-top:1px solid #cdd6cc}.steps li{display:flex;gap:17px;padding:18px 0;border-bottom:1px solid #cdd6cc;font-size:14px;line-height:1.6}.step-num{font-size:11px;font-weight:800;color:var(--wine);padding-top:3px}.detail-note{font-size:13px;line-height:1.65;color:#425248;margin:23px 0 0}.detail-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.detail-actions .button{min-height:46px;padding:12px 17px;gap:14px}.safety-note{margin-top:20px;display:flex;gap:17px;background:#fff;border-left:3px solid #a0b0a0;padding:22px 26px;color:#48564d}.safety-note>span{font-size:24px;color:var(--wine);line-height:1}.safety-note p{margin:0;font-size:13px;line-height:1.65}.directory-section{background:#edece5;padding:86px 0 64px}.directory-heading{margin-bottom:32px}.directory-toolbar{display:flex;gap:12px}.search-box,.select-box{height:54px;background:#fff;border:1px solid #d9ded7;border-radius:5px;display:flex;align-items:center}.search-box{flex:1;max-width:650px;padding:0 17px;gap:12px}.search-box>span[aria-hidden]{font:30px/1 Georgia,serif;color:#78877d}.search-box input{border:0;outline:0;width:100%;height:100%;font:inherit;font-size:14px;color:var(--ink);background:transparent}.search-box:focus-within,.select-box:focus-within{outline:3px solid #ad6a42;outline-offset:2px}.search-box input:focus-visible,.select-box select:focus-visible{outline:0}.select-box{font-size:12px;font-weight:700;color:var(--muted);padding:0 13px;gap:10px;white-space:nowrap}.select-box select{border:0;background:transparent;font:inherit;color:var(--ink);max-width:190px;cursor:pointer}.count{font-size:12px;color:var(--muted);margin:20px 0 16px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.directory-card{background:#fff;border:1px solid #e1e4dd;border-radius:6px;padding:24px;display:flex;flex-direction:column;min-height:290px}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.category{letter-spacing:.09em;white-space:nowrap}.category.emergencia{color:#a43d45}.category.regional{color:#4e705c}.city{color:#727a75;font-size:11px;text-align:right}.directory-card h3{font:400 24px/1.2 Georgia,serif;letter-spacing:-.02em;margin:17px 0 8px}.service{color:#526059;font-size:13px;line-height:1.6;margin:0 0 12px}.phone-row{display:flex;gap:14px;flex-wrap:wrap;margin:3px 0 8px}.phone{font-size:22px;color:var(--wine);font-weight:750;text-decoration:none}.phone:hover{text-decoration:underline}.secondary-phone{font-size:16px;align-self:center}.small-note,.hours{font-size:11px;color:#68766d;margin:0 0 7px}.address{font-size:12px;color:#405048;line-height:1.5;margin:7px 0}.address strong{color:var(--ink)}.source{border-top:1px solid #e8ece6;margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:5px}.source span{font-size:9px;letter-spacing:.12em;font-weight:800;color:#89928b}.source-link{font-size:11px;font-weight:700;color:var(--wine);text-decoration:none;line-height:1.4}.source-link:hover{text-decoration:underline}.empty{background:#fff;border-radius:5px;padding:24px}.qr-panel{background:#faf9f5;border:1px solid #dfe3da;margin-top:46px;padding:32px 40px;display:flex;justify-content:space-between;align-items:center;gap:30px}.qr-panel .eyebrow{margin-bottom:9px}.qr-panel h3{font:400 34px/1.2 Georgia,serif;letter-spacing:-.03em;margin:0 0 12px}.qr-panel p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.65;max-width:590px;margin:0 0 17px}.qr-box{display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px;background:#fff;border:1px solid #e0e3de;flex:none}.qr-box img{display:block}.qr-box span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--wine)}.source-note{font-size:12px;color:#66736a;line-height:1.7;margin:34px 0 0;max-width:920px}.source-note a{color:var(--wine)}footer{max-width:1440px;margin:auto;padding:27px clamp(22px,5vw,76px);display:flex;justify-content:space-between;gap:18px;color:#677169;font-size:11px}footer a{color:var(--wine);font-weight:750}.directory-only .directory-section{min-height:calc(100vh - 145px)}.back-link{color:var(--wine);font-size:13px;text-decoration:none;display:inline-block;margin-bottom:44px}.directory-only .directory-heading h1{margin:0}.directory-only .directory-section{padding-top:48px}@media(max-width:1050px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:30px}.hero h1{font-size:clamp(52px,6vw,72px)}}@media(max-width:760px){.site-header{height:68px}nav{display:none}.brand{font-size:10px}.brand-mark{font-size:29px}.header-call{padding:9px 11px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:62px;padding-bottom:70px}.hero h1{font-size:clamp(50px,12vw,70px)}.emergency-card{max-width:none}.quiet{margin-top:27px}.section-heading{display:block}.section-heading>p{margin-top:18px}.routes{padding-top:64px;padding-bottom:70px}.route-layout{grid-template-columns:1fr}.route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-option{min-height:91px;padding:12px;gap:10px}.route-icon{width:30px;height:30px;font-size:18px}.route-copy strong{font-size:12px}.route-copy small{font-size:10px}.route-arrow{display:none}.route-detail{min-height:0}.directory-section{padding-top:65px}.directory-toolbar{flex-direction:column}.search-box{max-width:none}.select-box{justify-content:space-between}.select-box select{max-width:60%}.qr-panel{padding:24px;flex-direction:column;align-items:flex-start}.qr-box{align-self:center}.directory-grid{grid-template-columns:1fr}.directory-card{min-height:0}footer{flex-wrap:wrap}}@media(max-width:430px){.route-list{grid-template-columns:1fr}.route-option{min-height:65px}.route-copy strong{font-size:14px}.route-copy small{font-size:11px}.hero-actions{gap:19px}.lead{font-size:17px}.directory-card h3{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Ayudas de acceso y rutas por ámbito */
.access-bar{position:sticky;top:0;z-index:12;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #202d2912}
.access-inner{max-width:1440px;margin:auto;padding:9px clamp(22px,5vw,76px);display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.access-inner strong{font-size:12px;margin-right:6px}
.access-inner button,.access-inner a{font:700 12px/1.3 Inter,"Segoe UI",Arial,sans-serif;color:var(--wine);background:#f8f7f2;border:1px solid #cabdc1;border-radius:5px;padding:8px 11px;text-decoration:none;cursor:pointer}
.access-inner button:hover,.access-inner a:hover,.access-inner button[aria-pressed="true"]{background:#eee1e5}
.access-message{max-width:1440px;margin:0 auto;padding:7px clamp(22px,5vw,76px) 12px;color:#35483a;font-size:13px}
.access-message[hidden]{display:none}
.situation-panel{margin-top:36px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:7px}
.situation-panel .eyebrow{margin:0 0 9px}
.situation-panel h3{font:400 32px/1.2 Georgia,serif;margin:0 0 8px}
.situation-panel p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0 0 22px}
.situation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.situation-cards button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:5px;min-height:92px;padding:16px;cursor:pointer;color:var(--ink);font:inherit}
.situation-cards button:hover{border-color:var(--wine);background:var(--blush)}
.situation-cards strong,.situation-cards span{display:block}
.situation-cards strong{font-size:15px}
.situation-cards span{color:var(--muted);font-size:12px;margin-top:4px}
.simple-label{font-size:12px;font-weight:700;color:var(--wine);margin:0 0 10px}
.verification-status{font-size:11px;color:#7b4228;background:#fff4e9;border-left:3px solid #bf825b;padding:8px 10px;margin:7px 0 12px}
.source .source-name{letter-spacing:normal;font-weight:500;text-transform:none;line-height:1.4}
.email-link{font-size:13px;font-weight:700;color:var(--wine);overflow-wrap:anywhere;margin:2px 0 8px}
.directory-card{overflow-wrap:anywhere}
body.large-text{font-size:20px}
.large-text .lead,.large-text .detail-intro{font-size:1.15em}
.large-text .steps li,.large-text .service,.large-text .safety-note p,.large-text .address,.large-text .hours,.large-text .small-note,.large-text .source-note,.large-text .directory-heading>p{font-size:1em;line-height:1.65}
.large-text .route-copy strong,.large-text .situation-cards strong{font-size:1em}
.large-text .route-copy small,.large-text .situation-cards span{font-size:.8em}
.easy-read .steps li{font-size:17px;line-height:1.55}
.easy-read .directory-card .service{font-size:15px;line-height:1.7}
@media(max-width:760px){.access-inner{gap:7px}.access-inner strong{width:100%}.situation-cards{grid-template-columns:1fr}.situation-cards button{min-height:72px}.situation-panel{padding:20px}}
.quick-help{background:#f3ebe9;border-bottom:1px solid #d7c5c8}
.quick-help-inner{max-width:1440px;margin:auto;padding:10px clamp(22px,5vw,76px);display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:13px}
.quick-help-inner strong{color:var(--wine)}
.quick-help-inner a{font-weight:800;color:var(--wine);text-underline-offset:3px}
.quick-help-inner span{color:var(--muted);font-size:12px}
.emergency-foot a{font-weight:800}
.access-criteria{padding-top:72px;padding-bottom:76px;border-top:1px solid var(--line)}
.access-criteria h2{font:400 clamp(36px,4vw,54px)/1.1 Georgia,serif;margin:0 0 30px}
.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.access-grid>div{padding:22px;border:1px solid var(--line);background:#fff;border-radius:6px}
.access-grid h3{font-size:17px;margin:0 0 8px}.access-grid p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}
.directory-toolbar{flex-wrap:wrap}.directory-toolbar .search-box{min-width:260px}.directory-toolbar .select-box{flex:0 1 auto}
.directory-hint{font-size:13px;line-height:1.55;color:var(--muted);margin:15px 0 6px}.directory-hint a{font-weight:800;color:var(--wine)}
.print-button{border:1px solid var(--wine);background:transparent;color:var(--wine);border-radius:5px;font:700 12px/1.3 Inter,"Segoe UI",Arial,sans-serif;padding:10px 12px;cursor:pointer;margin:8px 0 2px}.print-button:hover{background:#fff}
.directory-card .availability,.directory-card .cost{font-size:12px;color:var(--ink);margin:8px 0 0}.directory-card .cost{font-weight:650}
.route-source{font-size:12px;margin:20px 0 0}
#rutas,#directorio,#accesibilidad{scroll-margin-top:115px}
.high-contrast{--ink:#101b16;--muted:#26342c;--line:#56645b;--paper:#fff;--white:#fff;--wine:#48162d;--wine-dark:#290b1a;--sage:#fff;--blush:#fff;--mint:#fff}
.high-contrast .quick-help,.high-contrast .directory-section,.high-contrast .route-detail,.high-contrast .situation-cards button,.high-contrast .access-inner button,.high-contrast .access-inner a{background:#fff;border-color:#56645b}
.high-contrast .source span,.high-contrast .source-name,.high-contrast .quiet,.high-contrast .directory-card .city{color:#26342c}
.high-contrast .route-option.active,.high-contrast .primary,.high-contrast .emergency-button{background:#48162d;color:#fff}
@media(max-width:900px){.directory-toolbar .search-box{max-width:none;flex-basis:100%}.directory-toolbar .select-box{flex:1;justify-content:space-between}.access-grid{grid-template-columns:1fr}}
@media(max-width:760px){.quick-help-inner{align-items:flex-start;gap:5px 12px}.quick-help-inner strong{width:100%}.directory-toolbar .select-box{width:100%;flex:1 1 100%}.directory-toolbar .select-box select{max-width:65%}#rutas,#directorio,#accesibilidad{scroll-margin-top:175px}}
@media print{body{background:#fff;font:11pt/1.4 Arial,sans-serif}.site-header,.quick-help,.access-bar,.hero,.routes,.access-criteria,.directory-toolbar,.directory-hint,.print-button,.qr-panel,.source-note,.back-link,footer{display:none!important}.directory-section{background:#fff;padding:0}.directory-heading{display:block;margin:0 0 12px}.directory-heading>p{display:none}.directory-grid{display:block}.directory-card{display:block;break-inside:avoid;border:1px solid #888;margin-bottom:8px;min-height:0;padding:12px}.source{margin-top:8px}.source-link{color:#111}a{text-decoration:none;color:#111}}
