/* Páginas legales · Santuario del Amor (misma identidad que la landing) */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-var.woff2) format("woff2");font-weight:400 900;font-stretch:62% 112%;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{
  --red:#B30F20; --red-l:#D42639; --ivory:#F8F0E7; --ivory-2:#F1E4D6; --ink:#1A0E0E; --ink-2:#5E4745; --line-i:#E2D1C2;
  --black:#140A0A; --rose:#F8D8D1; --grey:#BFA9A4;
  --cond:"Archivo","Arial Narrow",system-ui,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --text:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gut:clamp(20px,5vw,72px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.65 var(--text);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{width:min(1360px,100% - 2*var(--gut));margin-inline:auto}
.wa-i{width:18px;height:18px;flex:none;fill:currentColor}

.top{position:sticky;top:0;z-index:40;background:var(--red);color:var(--ivory)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:18px;height:30px;flex:none}
.brand b{font:850 24px/1 var(--cond);font-stretch:62%;text-transform:uppercase;letter-spacing:.02em}
.btn-s{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:4px;background:var(--ivory);color:var(--red);font:800 14px/1 var(--text);text-transform:uppercase;letter-spacing:.05em;text-decoration:none}

.cab{padding-block:clamp(56px,7vw,112px) clamp(40px,5vw,64px);background:var(--red);color:var(--ivory)}
.eyebrow{margin:0;font:700 12.5px/1.2 var(--text);font-stretch:112%;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
h1{margin:18px 0 0;font:850 clamp(56px,9vw,132px)/.86 var(--cond);font-stretch:62%;text-transform:uppercase;letter-spacing:-.005em}
h1 em{display:block;margin-top:.14em;font:italic 400 .4em/1.05 var(--serif);text-transform:none;letter-spacing:0;color:var(--rose)}
.fecha{margin:26px 0 0;font:600 14px/1.4 var(--text);color:var(--rose)}

.cuerpo{padding-block:clamp(48px,6vw,96px) clamp(72px,8vw,128px)}
.cuerpo .wrap{max-width:780px}
.resumen{margin:0 0 56px;padding:28px clamp(22px,3vw,36px);background:#fff;border-left:6px solid var(--red);box-shadow:0 30px 50px -34px rgba(60,10,15,.45)}
.resumen h2{margin:0;font:italic 400 30px/1.1 var(--serif);color:var(--red)}
.resumen ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.resumen li{position:relative;padding-left:24px}
.resumen li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;background:var(--red);transform:rotate(45deg)}
.cuerpo section{padding-top:36px;margin-top:36px;border-top:1px solid var(--line-i)}
.cuerpo section:first-of-type{border-top:2px solid var(--ink)}
.cuerpo h2{margin:0;font:850 clamp(30px,3.4vw,42px)/.95 var(--cond);font-stretch:62%;text-transform:uppercase}
.cuerpo h2 span{color:var(--red)}
.cuerpo p,.cuerpo ul,.cuerpo ol,.cuerpo dl{margin:16px 0 0}
.cuerpo ul,.cuerpo ol{padding-left:1.2em}
.cuerpo li+li{margin-top:8px}
.cuerpo strong{font-weight:700}
.ficha{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;padding:22px 24px;background:var(--ivory-2)}
.ficha dt{font:700 12px/1.6 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ficha dd{margin:0}
.nota{color:var(--ink-2);font-size:15px}

.pie{padding-block:56px calc(56px + env(safe-area-inset-bottom,0px));background:var(--black);color:var(--grey);font-size:14px}
.pie .wrap{display:grid;gap:24px}
.pie-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.pie .brand{color:var(--ivory)}
.pie nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.pie nav a{text-decoration:none}
.pie nav a:hover,.pie nav a[aria-current]{color:var(--ivory)}
.pie small{display:block;max-width:60em;font-size:13px;line-height:1.6;color:#8F7A76}

@media (max-width:600px){
  body{font-size:16px}
  .top .wrap{height:64px}
  .brand b{font-size:21px}
  .btn-s span{display:none}
  .btn-s{width:44px;padding:0;justify-content:center}
  .ficha{grid-template-columns:1fr;gap:2px}
  .ficha dd+dt{margin-top:12px}
}
