@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/web/hanken-grotesk-normal-400_600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/web/hanken-grotesk-normal-400_600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/web/instrument-serif-italic-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/web/instrument-serif-italic-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/web/instrument-serif-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/web/instrument-serif-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/web/space-mono-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/web/space-mono-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/web/space-mono-normal-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/web/space-mono-normal-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root {
--obsidian:#16120c; --obsidian-2:#1e190f; --line-dark:#3a3122;
--bone:#f3eee3; --bone-2:#e9e1d0; --card:#faf7f0;
--ink:#1a1611; --ink-soft:#5b5346; --ink-faint:#696255; --line:#d8cdb6;
--fluorite:#2d7756; --fluorite-bright:#57c596; --fluorite-deep:#1c4d38;
--gold:#c2933f; --gold-soft:#e0c073; --gold-text:#7c5e27; --rouge:#b8472f;
--display:"Instrument Serif", Georgia, serif;
--sans:"Hanken Grotesk", system-ui, sans-serif;
--mono:"Space Mono", ui-monospace, monospace;
--r:4px; --r-lg:10px;
--ease-out:cubic-bezier(.23, 1, .32, 1);
--shadow-card:0 1px 2px rgba(26,22,17,.04), 0 12px 32px -16px rgba(26,22,17,.22);
--pad-x:clamp(20px, 5vw, 88px);
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { background:var(--bone); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-padding-top:24px; }
body { background:var(--bone); color:var(--ink); font-family:var(--sans); font-size:16px; font-weight:400; line-height:1.55; }
a { color:inherit; text-decoration:none; text-underline-offset:.2em; }
img { display:block; max-width:100%; height:auto; }
button, input, select { font:inherit; color:inherit; }
button { cursor:pointer; background:none; border:0; }
ul { list-style:none; }
::selection { background:color-mix(in oklab, var(--fluorite-bright) 45%, transparent); color:var(--ink); }
:focus-visible { outline:2px solid var(--fluorite); outline-offset:3px; border-radius:2px; }
input, select { accent-color:var(--fluorite); caret-color:var(--fluorite); }
.wrap { max-width:1320px; margin:0 auto; padding:0 var(--pad-x); }
.oculto { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.saltar { position:absolute; left:16px; top:-64px; z-index:100; background:var(--bone); color:var(--ink); padding:12px 16px; border-radius:var(--r); font-weight:600; }
.saltar:focus { top:16px; }
h1, h2, h3 { font-family:var(--display); font-weight:400; line-height:1.05; letter-spacing:-.01em; text-wrap:balance; }
h1 em, h2 em { font-style:italic; }
h1 { font-size:clamp(40px, 6vw, 72px); margin:48px 0 8px; }
h2 { font-size:30px; margin:48px 0 12px; }
p { text-wrap:pretty; }
.sub { color:var(--ink-soft); margin-bottom:32px; max-width:68ch; }
.banda { background:var(--obsidian); color:var(--bone); }
.banda :focus-visible { outline-color:var(--fluorite-bright); }
header.top { display:flex; align-items:center; gap:24px; padding:14px 0; }
.marca { display:inline-flex; align-items:center; gap:10px; font-family:var(--display); font-size:24px; line-height:1; white-space:nowrap; min-height:44px; }
.marca svg { color:var(--gold-soft); flex:none; }
.marca em { font-style:italic; color:var(--gold-soft); }
.nav { display:flex; gap:4px; margin-left:auto; }
.nav a { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:0 12px; font-size:16px; font-weight:500; }
.nav a::after { content:""; position:absolute; left:12px; right:12px; bottom:8px; height:1.5px; background:var(--gold-soft); transform:scaleX(0); transform-origin:left; transition:transform 220ms var(--ease-out); }
.nav a:hover::after, .nav a[aria-current]::after { transform:scaleX(1); }
.idioma { display:inline-flex; align-items:center; gap:4px; min-height:44px; padding:0 8px; font-family:var(--mono); font-size:13px; color:var(--bone-2); }
.idioma b { color:var(--gold-soft); font-weight:700; }
.idioma a { padding:10px 4px; }
.idioma a:hover { color:var(--bone); text-decoration:underline; }
@media (max-width:760px) {
header.top { flex-wrap:wrap; gap:0 12px; padding:8px 0; }
.idioma { margin-left:auto; order:2; }
.nav { order:3; width:100%; margin:0 -12px; overflow-x:auto; scrollbar-width:none; border-top:1px solid var(--line-dark); }
.nav a { white-space:nowrap; }
}
.pie { padding-block:64px 32px; color:var(--bone-2); font-size:14px; }
.pie-in { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; padding-bottom:48px; }
.pie p { max-width:36ch; margin-top:12px; }
.pie h2 { font-size:24px; margin:0 0 12px; color:var(--bone); }
.pie li a { display:inline-block; padding:6px 0; }
.pie li a:hover { color:var(--gold-soft); text-decoration:underline; }
.pie-base { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid var(--line-dark); font-size:12px; color:#b3aa97; }
@media (max-width:820px) { .pie-in { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .pie-in { grid-template-columns:1fr; } }
main { padding-bottom:96px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.55em; min-height:48px; background:var(--fluorite); color:#f3fff9; padding:12px 24px; border-radius:var(--r); font-weight:600; font-size:16px; transition:transform 160ms var(--ease-out), background-color 220ms, color 220ms; }
.btn:hover { background:var(--fluorite-deep); }
.btn:active { transform:scale(.97); }
.btn-linea { background:transparent; color:inherit; border:1.5px solid currentColor; }
.btn-linea:hover { background:var(--ink); color:var(--bone); border-color:var(--ink); }
.banda .btn:hover { background:var(--fluorite-bright); color:#06231a; }
.banda .btn-linea:hover { background:var(--bone); color:var(--ink); border-color:var(--bone); }
.botones { display:flex; flex-wrap:wrap; gap:12px; }
.enlace { font-size:14px; font-weight:500; border-bottom:1px solid var(--gold); padding:10px 0 2px; white-space:nowrap; }
.enlace:hover { color:var(--fluorite); border-color:var(--fluorite); }
.chip { display:inline-block; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; border:1px solid var(--gold); color:var(--gold-text); background:color-mix(in oklab, var(--gold) 10%, transparent); padding:3px 10px; border-radius:999px; margin:0 4px 8px 0; }
.estado { display:inline-block; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); border:1px solid var(--line); padding:3px 10px; border-radius:999px; white-space:nowrap; }
.portada { padding:clamp(32px, 6vw, 96px) 0 clamp(48px, 7vw, 96px); overflow:hidden; position:relative; }
.portada::before { content:""; position:absolute; top:-20%; right:-10%; width:60vw; height:60vw; max-width:760px; max-height:760px; background:radial-gradient(circle, color-mix(in oklab, var(--fluorite) 38%, transparent), transparent 62%); filter:blur(20px); pointer-events:none; }
.portada-in { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px, 5vw, 80px); align-items:center; }
.portada h1 { font-size:clamp(56px, 8.5vw, 96px); margin:0; }
.portada h1 em { color:var(--fluorite-bright); }
.lede { font-size:clamp(16px, 1.5vw, 18px); color:var(--bone-2); margin-top:24px; max-width:48ch; }
.portada .botones { margin-top:32px; }
.portada-pieza { display:block; background:var(--card); color:var(--ink); border-radius:var(--r-lg); padding:12px; box-shadow:0 24px 60px -24px rgba(0,0,0,.6); transition:transform 220ms var(--ease-out); }
.portada-pieza:active { transform:scale(.99); }
@media (hover:hover) { .portada-pieza:hover { transform:translateY(-3px); } }
.portada-pieza .img { aspect-ratio:4/3; background:var(--bone-2); border-radius:var(--r); overflow:hidden; display:grid; place-items:center; color:var(--ink-faint); font-size:14px; }
.portada-pieza img { width:100%; height:100%; object-fit:cover; }
.portada-pieza .pie-pieza { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; padding:14px 4px 4px; }
.portada-pieza strong { display:block; font-family:var(--display); font-weight:400; font-size:24px; line-height:1.1; }
.portada-pieza .loc { display:block; color:var(--ink-soft); font-size:14px; margin-top:4px; }
.precio-mono { font-family:var(--mono); font-weight:700; font-size:18px; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--ink); }
@media (max-width:860px) { .portada-in { grid-template-columns:1fr; } .portada-pieza { max-width:440px; } }
.seccion { padding-top:clamp(48px, 7vw, 96px); }
.cab-seccion { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cab-seccion h2 { font-size:clamp(30px, 5vw, 56px); margin:0; }
.cab-seccion + .sub { margin-top:12px; }
.indice { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.indice a { display:inline-flex; align-items:baseline; gap:8px; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:var(--card); font-weight:500; transition:border-color 160ms, color 160ms, transform 160ms var(--ease-out); }
.indice a:hover { border-color:var(--fluorite); color:var(--fluorite); }
.indice a:active { transform:scale(.97); }
.indice small { font-family:var(--mono); font-size:12px; color:var(--ink-faint); font-variant-numeric:tabular-nums; }
.pasos { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:32px; counter-reset:paso; }
.pasos li { counter-increment:paso; padding-top:16px; border-top:1px solid var(--ink); }
.pasos li::before { content:counter(paso); font-family:var(--mono); font-size:13px; color:var(--ink-faint); }
.pasos h3 { font-size:30px; margin:8px 0; }
.pasos p { color:var(--ink-soft); }
@media (max-width:760px) { .pasos { grid-template-columns:1fr; } }
.cita { margin-top:clamp(48px, 7vw, 96px); padding:clamp(48px, 7vw, 96px) 0; }
.cita blockquote { font-family:var(--display); font-size:clamp(24px, 3.2vw, 40px); line-height:1.15; max-width:26ch; text-wrap:balance; }
.cita blockquote p::before { content:"“"; color:var(--gold-soft); }
.cita blockquote p::after { content:"”"; color:var(--gold-soft); }
.cita cite { display:block; margin-top:16px; font-family:var(--sans); font-style:normal; font-size:14px; color:var(--bone-2); }
.cita-in { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px, 5vw, 80px); align-items:center; }
.cita-in > div p { color:var(--bone-2); margin-bottom:24px; max-width:52ch; }
@media (max-width:820px) { .cita-in { grid-template-columns:1fr; } }
.faq { margin-top:24px; border-top:1px solid var(--line); max-width:820px; }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:56px; padding:12px 0; font-weight:500; font-size:18px; cursor:pointer; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:var(--mono); font-size:18px; color:var(--ink-faint); transition:transform 220ms var(--ease-out); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { color:var(--ink-soft); padding:0 0 20px; max-width:68ch; }
.faq details a { color:var(--fluorite); text-decoration:underline; }
.contacto-caja { margin-top:clamp(48px, 7vw, 96px); padding:clamp(32px, 5vw, 64px); background:var(--bone-2); border:1px solid var(--line); border-radius:var(--r-lg); }
.contacto-caja h2 { margin:0 0 12px; font-size:clamp(30px, 4.5vw, 40px); }
.contacto-caja p { color:var(--ink-soft); margin-bottom:24px; max-width:60ch; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:24px; margin:32px 0 48px; }
.card { display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-card); transition:transform 220ms var(--ease-out), border-color 220ms; }
.card:active { transform:scale(.99); }
@media (hover:hover) { .card:hover { border-color:var(--gold); transform:translateY(-3px); } }
.card .img { aspect-ratio:1; background:var(--bone-2); display:grid; place-items:center; color:var(--ink-faint); font-size:14px; overflow:hidden; }
.card img { width:100%; aspect-ratio:1; object-fit:cover; }
.card .body { display:flex; flex-direction:column; flex:1; padding:16px 16px 18px; }
.card h2, .card h3 { font-size:24px; line-height:1.1; margin:0; }
.card .loc { color:var(--ink-soft); font-size:14px; margin-top:4px; }
.card .meta { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-family:var(--mono); font-size:13px; color:var(--ink-faint); }
.card .loc + .meta { margin-top:auto; }
.card .body > .loc { margin-bottom:12px; }
.vacio { padding:96px 0; color:var(--ink-soft); text-align:center; }
.vacio a { color:var(--fluorite); text-decoration:underline; }
.pag { display:flex; gap:8px; justify-content:center; margin-bottom:48px; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.pag a, .pag span { min-width:44px; min-height:44px; display:inline-grid; place-items:center; padding:0 14px; border:1px solid var(--line); border-radius:var(--r); font-size:14px; background:var(--card); }
.pag span { color:var(--ink-faint); }
.pag a:hover { border-color:var(--fluorite); color:var(--fluorite); }
.pag .activo { border-color:var(--ink); color:var(--ink); }
.filtros { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr auto; gap:12px; align-items:end; margin:24px 0 8px; padding:16px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); }
.campo label { display:block; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:6px; }
.campo input, .campo select { width:100%; min-height:48px; padding:0 12px; font-size:16px; background:var(--bone); border:1px solid var(--line); border-radius:var(--r); }
.campo select { appearance:none; padding-right:32px; background-image:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%); background-position:calc(100% - 17px) 22px, calc(100% - 12px) 22px; background-size:5px 5px; background-repeat:no-repeat; }
.campo input:focus-visible, .campo select:focus-visible { outline-offset:1px; border-color:var(--fluorite); }
.resultado { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:16px; color:var(--ink-soft); font-size:14px; }
.resultado a { color:var(--fluorite); text-decoration:underline; padding:10px 0; }
@media (max-width:1080px) { .filtros { grid-template-columns:1fr 1fr 1fr; } .filtros .campo:first-child { grid-column:1 / -1; } }
@media (max-width:620px) { .filtros { grid-template-columns:1fr 1fr; } .filtros .btn { grid-column:1 / -1; } }
.miga { font-size:14px; color:var(--ink-faint); margin-top:24px; }
.miga ol { display:flex; flex-wrap:wrap; align-items:center; gap:0 8px; list-style:none; }
.miga li { display:inline-flex; align-items:center; min-height:44px; }
.miga li + li::before { content:"›"; margin-right:8px; }
.miga a { color:var(--ink-soft); padding:10px 0; display:inline-block; }
.miga a:hover { color:var(--fluorite); text-decoration:underline; }
.ficha { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; margin:16px 0 48px; align-items:start; }
@media (max-width:800px) { .ficha { grid-template-columns:1fr; gap:32px; } }
.galeria { position:sticky; top:24px; }
@media (max-width:800px) { .galeria { position:static; } }
.galeria .principal { background:#000; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.galeria .principal img { width:100%; height:auto; max-height:80vh; object-fit:contain; }
.galeria .minis { display:grid; grid-template-columns:repeat(6, 1fr); gap:8px; margin-top:8px; }
.galeria .minis button { border-radius:var(--r); overflow:hidden; border:2px solid transparent; opacity:.7; transition:opacity 160ms, border-color 160ms; }
.galeria .minis button img { width:100%; aspect-ratio:1; object-fit:cover; }
.galeria .minis button[aria-current], .galeria .minis button:hover { opacity:1; border-color:var(--gold); }
.datos h1 { font-size:clamp(30px, 4.5vw, 56px); margin:8px 0; }
.datos .precio { font-family:var(--display); font-size:40px; line-height:1; color:var(--fluorite); margin:16px 0; font-variant-numeric:tabular-nums; }
.datos .precio small { display:block; font-family:var(--sans); font-size:14px; color:var(--ink-faint); margin-top:8px; }
.datos .desc { white-space:pre-line; color:var(--ink-soft); margin:24px 0; max-width:68ch; }
.datos dl { display:grid; grid-template-columns:max-content 1fr; font-size:16px; margin:24px 0; }
.datos dt, .datos dd { padding:10px 0; border-bottom:1px solid var(--line); }
.datos dt { color:var(--ink-faint); font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding-right:24px; display:flex; align-items:center; }
.datos dd { font-weight:500; text-align:right; }
.datos dd a { color:var(--fluorite); text-decoration:underline; }
.datos dd.mono { font-family:var(--mono); font-size:14px; font-weight:400; }
.garantias { margin:24px 0; padding:16px; border:1px dashed var(--line); border-radius:var(--r-lg); font-size:14px; color:var(--ink-soft); display:grid; gap:8px; }
.garantias b { color:var(--ink); font-weight:600; }
.prosa { max-width:68ch; }
.prosa h2 { margin-top:48px; }
.prosa h3 { font-family:var(--sans); font-weight:600; font-size:18px; letter-spacing:0; margin:32px 0 8px; }
.prosa p, .prosa li { color:var(--ink-soft); margin-bottom:16px; }
.prosa ul { list-style:disc; padding-left:20px; }
.prosa a:not(.btn) { color:var(--fluorite); text-decoration:underline; }
.prosa .nota { padding:16px; background:var(--bone-2); border:1px solid var(--line); border-radius:var(--r-lg); font-size:14px; }
.sobre { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 5vw, 80px); align-items:start; }
.sobre .cita-lateral { font-family:var(--display); font-size:clamp(24px, 3vw, 30px); line-height:1.15; padding-left:24px; border-left:2px solid var(--gold); margin-top:64px; }
@media (max-width:820px) { .sobre { grid-template-columns:1fr; } .sobre .cita-lateral { margin-top:0; } }
.datos-contacto { display:grid; gap:16px; margin:32px 0; max-width:520px; }
.datos-contacto a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:64px; padding:12px 20px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); transition:border-color 160ms, transform 160ms var(--ease-out); }
.datos-contacto a:hover { border-color:var(--fluorite); }
.datos-contacto a:active { transform:scale(.99); }
.datos-contacto span { font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.datos-contacto b { font-weight:600; word-break:break-word; text-align:right; }
.error-404 { padding:clamp(64px, 12vw, 160px) 0; text-align:left; }
.error-404 .codigo { font-family:var(--mono); font-size:14px; color:var(--ink-faint); }
@media (max-width:620px) {
h1 { margin-top:32px; }
.grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
.card .body { padding:12px; }
.card h2, .card h3 { font-size:18px; }
.card .meta { flex-direction:column; gap:4px; }
.datos dl { grid-template-columns:1fr; }
.datos dt { border-bottom:0; padding-bottom:0; }
.datos dd { text-align:left; padding-top:2px; }
input, select { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
*, *::before, *::after { animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
@media print {
.banda, .filtros, .saltar { display:none; }
body { background:#fff; }
}