/* ============================================================
   ABOGADO EDUCATIVO — versión de una sola página
   (mismo sistema base.css, componentes propios de este layout)
   ============================================================ */

section[id]{scroll-margin-top:92px}

/* ---------- hero ---------- */
.hero{padding-top:36px;padding-bottom:36px}
.hero__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(30px,3.6vw,44px)}
.h1-turn{
  font-family:var(--sans);font-weight:800;color:var(--brass-strong);letter-spacing:-.01em;
}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.trust-strip{display:flex;gap:32px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.trust-strip div{display:flex;flex-direction:column;gap:2px}
.trust-strip strong{font-family:var(--serif);font-size:19px;color:var(--ink)}
.trust-strip span{font-size:12px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em}
.hero__photo{margin:0;position:relative;max-width:300px;margin-inline:auto}
.hero__photo__mount{position:relative}
.hero__photo img{
  border-radius:var(--radius);width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 15%;
  border:1px solid var(--card-border);box-shadow:var(--shadow-card);
  filter:saturate(.94) contrast(1.03);
}
.hero__photo .seal{
  position:absolute;right:-14px;top:-14px;background:var(--paper);color:var(--ink-2);
  border:none;width:60px;height:60px;font-size:7.5px;opacity:.9;
}
.hero__photo .seal::before{content:none}
.mono-caption{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--text-soft);margin-top:12px;text-align:center}

/* ---------- áreas de servicio (acordeón — pestañas de expediente) ---------- */
.area-grid{display:grid;gap:12px}
.area-item{
  background:var(--surface);border:1px solid var(--card-border);border-left:3px solid var(--card-border);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:border-left-color .2s var(--ease),box-shadow .2s var(--ease);
}
.area-item:hover{border-left-color:var(--brass);box-shadow:var(--shadow-sm)}
.area-item[open]{border-left-color:var(--brass-strong);background:var(--paper-2);box-shadow:var(--shadow-card)}
.area-item summary{
  list-style:none;cursor:pointer;padding:24px 28px;display:flex;align-items:center;gap:20px;
}
.area-item summary::-webkit-details-marker{display:none}
.area-item__n{
  font-family:var(--mono);font-size:12.5px;color:var(--brass-strong);letter-spacing:.1em;flex-shrink:0;
  border:1px solid var(--card-border);border-radius:2px;padding:4px 8px;background:var(--paper);
}
.area-item__title{font-family:var(--serif);font-weight:600;font-size:19.5px;color:var(--ink);flex:1;letter-spacing:-.005em}
.area-item__plus{font-size:24px;font-weight:300;color:var(--brass-strong);flex-shrink:0;transition:transform .2s var(--ease)}
.area-item[open] .area-item__plus{transform:rotate(45deg)}
.area-item__body{margin:0 28px;padding:22px 0 26px 48px;border-top:1px dashed var(--card-border)}
.area-item__body p{color:var(--text-soft);margin-bottom:16px;max-width:64ch}
.area-item__body ul{margin:0;padding-left:18px;color:var(--text-soft)}
.area-item__body li{margin-bottom:7px}
.area-item__body li::marker{color:var(--brass-strong)}

/* ---------- diferenciales ---------- */
.section--dark{background:var(--ink-3);color:#EDE4D9}
.section--dark .eyebrow{color:#E8BE6E}
.section--dark h2{color:#F3ECE1}
.diff-grid{margin-top:8px}
.diff-item{
  border-top:1px solid rgba(237,228,217,.18);padding:30px 0;display:flex;gap:22px;align-items:flex-start;
}
.diff-item__n{
  font-family:var(--serif);font-size:34px;font-weight:600;color:rgba(232,190,110,.5);
  line-height:1;flex-shrink:0;letter-spacing:-.02em;
}
.diff-item h3{color:#F3ECE1;margin:0 0 8px}
.diff-item p{color:rgba(237,228,217,.72);font-size:14.5px}
.diff-item em{color:#E8BE6E;font-style:normal}

/* ---------- quiénes somos ---------- */
.about-teaser{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center}
@media (max-width:800px){.about-teaser{grid-template-columns:1fr}}
.about-teaser__frame{position:relative}
.about-teaser__photo{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 10%;border-radius:var(--radius);border:1px solid var(--card-border);box-shadow:var(--shadow-card);filter:saturate(.94) contrast(1.03)}
.about-teaser h2{margin:10px 0 16px}

/* ---------- publicaciones ---------- */
.book-block{display:grid;grid-template-columns:.5fr 1fr;gap:48px;align-items:start}
@media (max-width:760px){.book-block{grid-template-columns:1fr}}
.book-cover{
  background:linear-gradient(155deg,var(--ink) 0%,var(--ink-3) 100%);
  color:#F3ECE1;aspect-ratio:2/3;border-radius:2px 6px 6px 2px;position:relative;
  display:flex;flex-direction:column;justify-content:flex-end;padding:30px 26px;
  border:1px solid var(--card-border);box-shadow:var(--shadow-card);
  overflow:hidden;
}
.book-cover::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:10px;
  background:rgba(0,0,0,.28);box-shadow:2px 0 4px rgba(0,0,0,.2) inset;
}
.book-cover::after{
  content:"";position:absolute;top:0;right:28px;width:22px;height:64px;background:var(--brass);
  clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);
}
.book-cover__title{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.22;letter-spacing:-.01em}
.book-cover__author{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#E8BE6E;margin-top:16px}

/* ---------- formación ---------- */
.service-list{display:grid;gap:14px;margin-top:8px}
.service-item{
  display:flex;gap:18px;padding:22px 24px;background:var(--surface);border:1px solid var(--card-border);
  border-radius:var(--radius);transition:box-shadow .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);
}
.service-item:hover{box-shadow:var(--shadow-sm);border-color:var(--brass);transform:translateX(3px)}
.service-item__n{font-family:var(--mono);color:var(--brass-strong);font-size:13px;flex-shrink:0;padding-top:2px}
.service-item h4{font-family:var(--serif);font-size:16.5px;color:var(--ink);margin-bottom:5px}
.service-item p{color:var(--text-soft);font-size:14.5px}

/* ---------- blog / recursos ---------- */
.post-card{border-top:1px solid var(--line);padding:24px 4px;transition:padding-left .2s var(--ease)}
.post-card:first-child{border-top:none}
.post-card:hover{padding-left:12px}
.post-card__cat{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-strong)}
.post-card h3{margin:8px 0 6px;font-size:18.5px}
.post-card p{color:var(--text-soft);font-size:14.5px}
.post-card__soon{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-soft);border:1px solid var(--card-border);padding:4px 10px;border-radius:2px;background:var(--surface);
}

/* ---------- contacto ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:8px}
.field input,.field textarea{
  width:100%;font-family:var(--sans);font-size:15px;color:var(--text);background:var(--surface);
  border:1px solid var(--card-border);border-radius:var(--radius);padding:13px 14px;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.field input:focus,.field textarea:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(156,117,34,.14);outline:none}
.field textarea{min-height:130px;resize:vertical}
.contact-info{border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.contact-info__item{display:flex;gap:14px;padding:20px 22px;border-top:1px solid var(--line);background:var(--surface)}
.contact-info__item:first-child{border-top:none}
.contact-info__item h4{font-family:var(--serif);color:var(--ink);font-size:16px;margin-bottom:4px}
.contact-info__item p{color:var(--text-soft);font-size:14.5px}
.pending{color:var(--red-pen);font-style:italic}

/* ---------- cta final ---------- */
.cta-final{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.cta-final h2{margin-bottom:12px}
.cta-final .lede{margin:0 auto 28px;text-align:center}
.cta-final .btn{margin:0 auto}

/* ---------- footer (una sola página: solo dos columnas reales) ---------- */
.footer__grid{grid-template-columns:1.4fr 1fr}

/* ---------- footer legal accordion ---------- */
.legal-accordion{border-top:1px solid rgba(237,228,217,.16);margin-top:20px;padding-top:20px}
.legal-accordion details{border-bottom:1px solid rgba(237,228,217,.16)}
.legal-accordion summary{
  padding:14px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,228,217,.85);
}
.legal-accordion summary::-webkit-details-marker{display:none}
.legal-accordion .legal-body{padding:0 0 22px;max-width:70ch}
.legal-accordion .legal-body p,.legal-accordion .legal-body li{color:rgba(237,228,217,.62);font-size:13.5px;margin-bottom:10px}
.legal-accordion .legal-body h5{color:rgba(237,228,217,.9);font-family:var(--sans);font-size:13px;margin:16px 0 6px;text-transform:uppercase;letter-spacing:.06em}
.legal-accordion .legal-body ul{padding-left:18px}
