[hidden]{display:none!important}
:root{
  --paper:#F1EBE1;--paper-2:#EAE2D6;--ink:#2B1E19;--ink-soft:#6B5A4F;--rust:#3A2618;
  --rule:rgba(58,38,24,.14);--rule-strong:rgba(58,38,24,.28);
  --display:'Gilda Display',Didot,Georgia,serif;--body:'Cormorant Garamond',Garamond,Georgia,serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:500;font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
header.site{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}
.logo{font-family:var(--display);font-size:1.6rem;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
header.site nav{display:flex;align-items:center;gap:1.5rem;font-family:var(--display);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
header.site nav a{text-decoration:none;color:var(--ink-soft)}
header.site nav a:hover{color:var(--rust)}
@media (max-width:720px){header.site nav a:not(.btn){display:none}}
.btn{display:inline-block;font-family:var(--display);font-size:.74rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:1rem 1.6rem;border:1px solid var(--rust);border-radius:0;background:var(--rust);color:var(--paper)!important;cursor:pointer;white-space:nowrap;min-height:48px}
.btn.line{background:transparent;border-color:var(--ink);color:var(--ink)!important}
.btn.sm{padding:.6rem 1.1rem;font-size:.74rem;min-height:40px}
.btn:hover,.btn:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)!important}
.btn[disabled]{opacity:.6;cursor:wait}
:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
footer.site{border-top:1px solid var(--rule);margin-top:4rem}
footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-block:2rem;font-size:.9rem;color:var(--ink-soft)}
footer.site nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--rust)}
.prose{max-width:46rem;margin:0 auto;padding:3rem 16px}
.prose h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,6vw,3rem);line-height:1.1;margin:0 0 1rem}
.prose h2{font-family:var(--display);font-weight:400;font-size:1.5rem;margin:2.2rem 0 .6rem}
.prose p,.prose li{color:var(--ink-soft)}
.todo{background:#FFF3C9;color:#5A4300;padding:0 .3em;border-radius:4px}
@media (max-width:440px){.logo{font-size:1rem;letter-spacing:.2em}header.site nav .btn.sm{padding:.55rem .8rem;letter-spacing:.06em;font-size:.7rem}}

/* accesibilidad: foco visible con teclado y movimiento reducido */
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #3A2618;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

details>summary{min-height:44px;padding-block:8px;box-sizing:border-box}
