/* Componentes extra para páginas de servicio, obras y guías */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.top nav.links{display:flex;gap:22px;margin-left:auto;margin-right:22px}
.top nav.links a{text-decoration:none;font-size:.88rem;color:var(--concrete)}
.top nav.links a:hover,.top nav.links a[aria-current]{color:var(--bone)}
@media(max-width:980px){.top nav.links{display:none}}
.prose{max-width:760px}
.prose h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:2.2em 0 .6em}
.prose h3{font-size:1.25rem;margin:1.8em 0 .5em;font-stretch:100%}
.prose p,.prose li{color:#d9d6cf;font-size:1.02rem}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.35em 0}
.prose a{color:var(--cyan)}
.prose strong{color:var(--bone)}
.prose .note{border-left:2px solid var(--cyan);background:rgba(124,201,211,.06);padding:14px 18px;margin:1.6em 0;font-size:.95rem}
.prose .note.warn{border-color:var(--warn);background:rgba(233,184,114,.07)}
.tbl{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}
.tbl th{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--concrete);font-weight:500}
.tbl td:last-child{white-space:nowrap}
@media(max-width:640px){.tbl td:last-child{white-space:normal}}
.toc{border:1px solid var(--line);padding:18px 22px;margin:1.6em 0}
.toc b{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--concrete)}
.toc ol{margin:.6em 0 0;padding-left:1.2em}
.toc a{color:var(--bone);text-decoration:none}.toc a:hover{color:var(--cyan)}
.meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery figure{margin:0;position:relative;overflow:hidden;background:var(--petrol)}
.gallery img{width:100%;height:320px;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(transparent,rgba(6,32,42,.9));font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.gallery figcaption i{font-style:normal;color:var(--warn)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--petrol);text-decoration:none;color:inherit;border:1px solid var(--line);transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.card img{width:100%;height:190px;object-fit:cover}
.card div{padding:18px 18px 22px}
.card .mono{display:block;margin-bottom:8px}
.card h3{font-size:1.15rem;font-stretch:100%;margin-bottom:8px}
.card p{margin:0;color:var(--concrete);font-size:.92rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0}
.facts div{background:var(--ink);padding:16px 18px}
.facts b{display:block;font-family:var(--f-display);font-size:1.1rem;margin-top:4px}
.sitelinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 28px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);width:100%}
.sitelinks a{color:var(--concrete);text-decoration:none;font-size:.88rem}
.sitelinks a:hover{color:var(--cyan)}
.sitelinks b{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);margin-bottom:6px}
footer .wrap{flex-wrap:wrap}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.split .ph img{width:100%;height:auto}
@media(min-width:1000px){.plans:has(>.plan:nth-child(3)){grid-template-columns:repeat(3,1fr)}}
