/* Estilo "con cuerpo y textura": relieve, sombras y detalles de marca.
   Pedido por Katherina el 14/10/2026 a partir de sus mockups (ver ~/cmol/referencias). */
:root {
  --sombra: 0 10px 28px rgba(28,24,21,.10), 0 2px 6px rgba(28,24,21,.06);
  --sombra-hover: 0 16px 36px rgba(28,24,21,.14), 0 3px 8px rgba(28,24,21,.07);
  --relieve-claro: inset 0 1px 0 rgba(255,255,255,.75);
  --relieve-oscuro: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -2px 0 rgba(0,0,0,.28);
}
body { background: radial-gradient(1200px 600px at 10% -10%, #f4efe8 0, var(--crema) 60%); }

/* titulares: una palabra en itálica */
h1 em, h2 em { font-style: italic; font-weight: 300; }

/* botones con relieve */
.btn { position: relative; box-shadow: 0 10px 24px rgba(28,24,21,.22), 0 2px 4px rgba(28,24,21,.12), var(--relieve-oscuro); transition: transform .15s, box-shadow .15s, opacity .15s; }
.btn:hover { opacity: 1; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(28,24,21,.26), 0 3px 6px rgba(28,24,21,.12), var(--relieve-oscuro); }
.btn:active { transform: translateY(1px); box-shadow: 0 4px 10px rgba(28,24,21,.2), inset 0 2px 4px rgba(0,0,0,.3); }
.btn::after { content: "→"; font-size: 15px; margin-left: 4px; transition: transform .15s; }
.btn:hover::after { transform: translateX(3px); }
.btn.linea { background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0)); border: 1px solid var(--taupe-osc); box-shadow: 0 6px 16px rgba(28,24,21,.08), var(--relieve-claro); }
.btn.linea:hover { box-shadow: 0 10px 22px rgba(28,24,21,.12), var(--relieve-claro); }
.cierre .btn, .entrada .btn { box-shadow: 0 10px 24px rgba(0,0,0,.35), var(--relieve-claro); }
header .btn::after { display: none; }

/* portada: subtítulo con línea, hoja y firma */
.hero { position: relative; overflow: hidden; }
.hero .eyebrow { display: flex; align-items: center; gap: 14px; }
.hero .eyebrow::after { content: ""; flex: 0 0 60px; height: 1px; background: var(--taupe); }
.hero .puntos { gap: 18px; margin-top: 40px; }
.hero .puntos li { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1 1 140px; max-width: 190px; font-size: 14.5px; line-height: 1.35; color: var(--texto); }
.hero .puntos li::before { content: ""; width: 44px; height: 44px; margin: 0; border-radius: 50%; background: linear-gradient(180deg, #faf7f2, #e9e2d8); box-shadow: var(--sombra), var(--relieve-claro); background-repeat: no-repeat; background-position: center; background-size: 20px; }
.hero .puntos li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1815' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M10 12h5M10 16h5M10 8h2'/%3E%3C/svg%3E"); }
.hero .puntos li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1815' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3.5c1.6 0 2.4 1 4 1s2.4-1 4-1c2.2 0 3.5 1.9 3.5 4.3 0 2.6-1.1 4-1.6 6.4-.5 2.4-.6 6.3-2.3 6.3-1.6 0-1.2-5-3.6-5s-2 5-3.6 5c-1.7 0-1.8-3.9-2.3-6.3C5.6 11.8 4.5 10.4 4.5 7.8 4.5 5.4 5.8 3.5 8 3.5z'/%3E%3C/svg%3E"); }
.hero .puntos li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1815' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.6-6-11a6 6 0 0112 0c0 5.4-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E"); }
.firma-frase { font-family: "Caveat", cursive; font-size: 24px; color: var(--taupe-osc); margin: 34px 0 0; display: flex; align-items: center; gap: 14px; }
.firma-frase::after { content: ""; flex: 0 0 48px; height: 1px; background: var(--taupe); }
.hoja { position: absolute; width: 150px; pointer-events: none; z-index: 0; }
.hoja.a { right: -20px; top: 30px; transform: rotate(25deg); opacity: .32; }
.hero .w { position: relative; z-index: 1; }
.hero .foto { box-shadow: var(--sombra-hover); }

/* guía: tarjetas con relieve, barra de progreso, flechas */
.guia { box-shadow: var(--sombra); position: relative; overflow: hidden; }
.guia .paso { display: flex; align-items: center; gap: 16px; }
.guia .paso::after { content: ""; flex: 1; max-width: 220px; height: 2px; background: var(--arena); border-radius: 2px; }
.guia .paso.p1::after { background: linear-gradient(90deg, var(--tinta) 50%, var(--arena) 50%); }
.guia .paso.p2::after { background: var(--tinta); }
.guia h3 { font-size: 30px; }
.guia h3 + .sub-txt { margin: -8px 0 18px; color: var(--taupe-osc); font-size: 15.5px; }
.caso { background: linear-gradient(180deg, #faf7f2, #efe9e1); border: 1px solid rgba(255,255,255,.7); box-shadow: var(--sombra), var(--relieve-claro); position: relative; padding-right: 18px; transition: transform .15s, box-shadow .15s; }
.caso:hover { transform: translateY(-2px); box-shadow: var(--sombra-hover), var(--relieve-claro); border-color: rgba(255,255,255,.7); }
.caso::after { content: "→"; position: absolute; right: 14px; top: 16px; width: 26px; height: 26px; border-radius: 50%; background: #f3eee6; box-shadow: var(--sombra), var(--relieve-claro); display: grid; place-items: center; font-size: 13px; color: var(--tinta); }
.guia .caso svg { width: 44px; height: 44px; flex: 0 0 auto; padding: 10px; border-radius: 50%; background: linear-gradient(180deg, #fbf8f3, #ebe4da); box-shadow: var(--sombra), var(--relieve-claro); }
.sub .caso { padding-right: 56px; }
.sub .caso::after { top: 50%; transform: translateY(-50%); }
.res article { background: linear-gradient(180deg, #faf7f2, #efe9e1); box-shadow: var(--sombra), var(--relieve-claro); border: 1px solid rgba(255,255,255,.7); }
.res .primero { background: linear-gradient(180deg, #3a332d, #1C1815); border-color: #1C1815; box-shadow: 0 14px 30px rgba(28,24,21,.3), var(--relieve-oscuro); }

.res .enlace { display: inline-block; width: auto; margin: 0; background: none; border: 0; font: inherit; font-size: 14px; color: var(--taupe-osc); text-decoration: underline; cursor: pointer; padding: 0; }
.res .primero .enlace { color: var(--taupe); }

/* especialidades y paneles */
.esp-btn { background: linear-gradient(180deg, #ffffff, #f6f2ec); border: 1px solid rgba(255,255,255,.8); box-shadow: var(--sombra), var(--relieve-claro); transition: transform .15s, box-shadow .15s; }
.esp-btn:hover { transform: translateY(-2px); box-shadow: var(--sombra-hover), var(--relieve-claro); border-color: rgba(255,255,255,.8); }
.esp-btn[aria-expanded="true"] { background: linear-gradient(180deg, #3a332d, #1C1815); border-color: #1C1815; box-shadow: 0 14px 30px rgba(28,24,21,.3), var(--relieve-oscuro); }
.esps .esp-btn svg { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: linear-gradient(180deg, #fbf8f3, #ebe4da); box-shadow: var(--sombra), var(--relieve-claro); }
.esps .esp-btn[aria-expanded="true"] svg { background: linear-gradient(180deg, #4a423b, #2a2521); box-shadow: 0 4px 10px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.12); }
.esp-btn::after { width: 26px; height: 26px; border-radius: 50%; background: #f3eee6; box-shadow: var(--sombra), var(--relieve-claro); display: grid; place-items: center; font-size: 13px; color: var(--tinta); right: 14px; bottom: 14px; }
.esp-btn[aria-expanded="true"]::after { background: #4a423b; color: var(--crema); }
.panel, .promo, .razon, .doc-foto { box-shadow: var(--sombra); }
.w.fin ul { background: linear-gradient(180deg, #faf7f2, #f1ebe3); border: 1px solid rgba(255,255,255,.8); border-radius: 20px; padding: 10px 30px; box-shadow: var(--sombra), var(--relieve-claro); }
.w.fin ul li { border-color: var(--arena); padding: 20px 0; }
.w.fin ul li:first-child { border-top: 0; }
.w.fin ul li:last-child { border-bottom: 0; }
.w.fin ul strong { font-size: 18px; margin-bottom: 4px; }
@media (max-width: 860px) { .w.fin ul { padding: 6px 20px; } }
.promo-txt h2, .doc h2 { letter-spacing: -.01em; }
.sello { box-shadow: 0 6px 14px rgba(0,0,0,.25); }
.ig { box-shadow: var(--sombra); }
.flota { box-shadow: 0 10px 26px rgba(28,24,21,.32), var(--relieve-oscuro); }
details { border-color: var(--arena); }
summary::after { width: 28px; height: 28px; border-radius: 50%; background: #f3eee6; box-shadow: var(--sombra), var(--relieve-claro); display: grid; place-items: center; font-size: 18px; top: 14px; right: 0; }

/* cierre: firma manuscrita y frase */
.cierre .firma-frase { justify-content: center; color: var(--taupe); margin-top: 26px; }
.cierre .firma-frase::after { display: none; }
.cierre .firma-frase::before { content: ""; flex: 0 0 48px; height: 1px; background: #3a332d; }

@media (max-width: 860px) {
  .hero .eyebrow::after { display: none; }
  .guia .caso svg { width: 38px; height: 38px; padding: 8px; }
  .esps .esp-btn svg { width: 34px; height: 34px; padding: 7px; }
  .hero .puntos { gap: 10px; margin-top: 26px; }
  .hero .puntos li { flex: 1 1 0; max-width: none; font-size: 13px; gap: 8px; }
  .hero .puntos li::before { width: 40px; height: 40px; background-size: 18px; }
  .firma-frase { font-size: 21px; margin-top: 26px; }
  .hoja { display: none; }
  .guia h3 { font-size: 27px; }
  .caso::after { right: 10px; top: 12px; }
  .esp-btn::after { display: none; }
}

/* promoción: separación de la portada */
#promo { padding-top: 36px; }
@media (max-width: 860px) { #promo { padding-top: 28px; } }
