.home-header{ background:var(--bg-main); border-bottom:1px solid #ebe6dc99; width:100%; position:relative}
.home-header__container{ max-width:var(--container-max); justify-content:space-between; align-items:center; margin:0 auto; padding:1.25rem 1.5rem; display:flex}
.home-header__brand{ color:var(--text-dark); align-items:center; gap:.75rem; text-decoration:none; display:flex}
.home-header__logo-icon{ color:#7a4b38; flex-shrink:0; width:26px; height:26px; transition:color .2s,transform .2s}
.home-header__brand:hover .home-header__logo-icon{ color:var(--color-terracotta,#9c4528); transform:rotate(-6deg)scale(1.08)}
.home-header__logo-text{ font-family:var(--font-serif); letter-spacing:-.01em; font-size:1.35rem; font-weight:700}
.home-header__logo-accent{ color:#7a4b38; transition:color .2s}
.home-header__brand:hover .home-header__logo-accent{ color:var(--color-terracotta,#9c4528)}
.home-header__nav{ align-items:center; gap:2.25rem; display:flex}
.home-header__cta{ background-color:var(--color-terracotta); color:#fff; font-family:var(--font-sans); border-radius:var(--radius-sm); justify-content:center; align-items:center; padding:.65rem 1.4rem; font-size:.9rem; font-weight:600; text-decoration:none; transition:background-color .2s,transform .15s; display:inline-flex}
.home-header__cta:hover{ background-color:var(--color-terracotta-hover); transform:translateY(-1px)}
.home-header__cta-desktop{ display:inline}
.home-header__cta-mobile{ display:none}
@media (width<=768px){ .home-header__container{ gap:.75rem; padding:.85rem 1rem}
.home-header__brand{ gap:.5rem; min-width:0}
.home-header__logo-icon{ width:22px; height:22px}
.home-header__logo-text{ font-size:clamp(.95rem, 3.8vw, 1.12rem)}
.home-header__cta{ display:inline-flex; padding:.48rem .95rem; font-size:.82rem; font-weight:700; letter-spacing:.02em}
.home-header__cta-desktop{ display:none}
.home-header__cta-mobile{ display:inline}
.logo-tld{ display:none}
.guia-editorial-meta{ font-size:calc(.88rem - 1px)}
}
@media (width<=380px){
  .home-header__cta{ padding:.42rem .75rem; font-size:.78rem}
}
.home-footer{ background-color:var(--bg-main); border-top:1px solid var(--border-subtle); padding:4.5rem 1.5rem 2.5rem}
.home-footer__container{ max-width:var(--container-max); margin:0 auto}
.home-footer__grid{ grid-template-columns:1.3fr 1fr 1fr .8fr; gap:3rem; margin-bottom:3.5rem; display:grid}
.home-footer__brand-col{ flex-direction:column; display:flex}
.home-footer__logo{ color:var(--text-dark); align-items:center; gap:.75rem; margin-bottom:1.25rem; text-decoration:none; display:flex}
.home-footer__logo-icon{ color:#7a4b38; flex-shrink:0; width:28px; height:28px}
.home-footer__logo-text{ font-family:var(--font-serif); color:var(--text-dark); font-size:1.4rem; font-weight:700}
.home-footer__logo-accent{ color:#7a4b38}
.home-footer__tagline{ font-family:var(--font-sans); color:var(--text-muted); max-width:340px; margin-bottom:1.75rem; font-size:.95rem; line-height:1.6}
.home-footer__socials{ align-items:center; gap:1rem; display:flex}
.home-footer__social-link{ width:36px; height:36px; color:var(--text-dark); background:#eae5dc; border-radius:50%; justify-content:center; align-items:center; text-decoration:none; transition:background-color .2s,color .2s; display:flex}
.home-footer__social-link:hover{ background-color:var(--color-terracotta); color:#fff}
.home-footer__social-link svg{ width:18px; height:18px}
.home-footer__col-title{ font-family:var(--font-serif); color:var(--text-dark); margin-bottom:1.25rem; font-size:1.15rem; font-weight:700}
.home-footer__links-list{ flex-direction:column; gap:.75rem; margin:0; padding:0; list-style:none; display:flex}
.home-footer__link{ font-family:var(--font-sans); color:var(--text-muted); font-size:.92rem; text-decoration:none; transition:color .2s}
.home-footer__link:hover{ color:var(--color-terracotta)}
.home-footer__bottom-bar{ border-top:1px solid var(--border-subtle); text-align:center; padding-top:2rem}
.home-footer__bottom-text{ font-family:var(--font-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--text-muted); font-size:.8rem; font-weight:700}
@media (width<=960px){ .home-footer__grid{ grid-template-columns:1fr 1fr}
}
@media (width<=600px){ .home-footer__grid{ grid-template-columns:1fr}
}
.breadcrumbs-bar[data-scope-breadcrumbs]{ border-bottom:none; margin-bottom:.82rem; padding:0}
.breadcrumbs-list[data-scope-breadcrumbs]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); flex-wrap:wrap; align-items:center; gap:.25rem; margin:0; padding:0; font-size:.85rem; line-height:1.4; list-style:none; display:flex}
.breadcrumb-item[data-scope-breadcrumbs]{ align-items:center; display:inline-flex}
.breadcrumb-item[data-scope-breadcrumbs]:not(:last-child):after{ content:">"; color:#8f8379; margin:0 .45rem; font-size:.85rem; font-weight:400}
.crumb-link[data-scope-breadcrumbs]{ color:#6b5d52; text-decoration:none; transition:color .15s}
.crumb-link[data-scope-breadcrumbs]:hover{ color:var(--color-terracotta,sienna); text-decoration:underline}
.crumb-current[data-scope-breadcrumbs]{ color:#4e433a; font-weight:500}
.guia-page-body{ background-color:var(--bg-main,#fbf9f4); color:var(--text-dark,#2d1e14); font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); -webkit-font-smoothing:antialiased; margin:0}
.guia-editorial-main{ min-height:80vh; padding:1.25rem 1.5rem 5rem}
.guia-editorial-container{ max-width:var(--container-max,1140px); width:100%; margin:0 auto; padding-left:24px; padding-right:24px}
.guia-editorial-header{ text-align:left; margin-bottom:1.75rem}
.guia-editorial-category{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); letter-spacing:.06em; text-transform:uppercase; color:#7a3c1c; border-radius:9999px; background-color:#f4ece4; margin-bottom:1rem; padding:.36rem .95rem; font-size:.74rem; font-weight:700; display:inline-flex; align-items:center}
.guia-editorial-title{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#2d1e14); letter-spacing:-.025em; margin:0 0 1.25rem; font-size:calc(clamp(2rem,3.8vw,2.65rem) + 3px); font-weight:800; line-height:1.18}
.guia-editorial-lead{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:#4e4238; font-size:1.06rem; line-height:1.62; margin:0 0 1.75rem; max-width:100%}
.guia-editorial-meta{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:#4a3f37; border-bottom:1px solid var(--border-subtle,#ebe5da); justify-content:center; align-items:center; width:100%; gap:2.25rem; padding-bottom:1.25rem; font-size:.82rem; display:flex}
.guia-editorial-meta-item{ align-items:center; gap:.5rem; display:inline-flex; min-width:0}
.meta-svg{ width:18px; height:18px; color:#7a4b38; flex-shrink:0}
.meta-item-text{ display:flex; flex-direction:row; align-items:center; gap:.35rem; line-height:1.3; font-size:.82rem; white-space:nowrap}
.meta-item-text .meta-label-prefix{ color:#6b5d52}
.meta-item-text .meta-label-val{ font-weight:600; color:#2d1e14}
.guia-editorial-content{ color:var(--text-dark,#2d1e14); font-size:1.05rem; line-height:1.75}
.lead-text{ color:var(--text-dark,#2d1e14); max-width:100%; margin-bottom:1.85rem; font-size:1.2rem; font-weight:400; line-height:1.75}
.lead-text strong{ color:var(--text-dark,#2d1e14); font-weight:700}
.guia-editorial-content p{ max-width:100%; margin:0 0 1.5rem; line-height:1.75}
.guia-editorial-content h2{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#2d1e14); letter-spacing:-.015em; max-width:100%; margin:3.5rem 0 1.35rem; scroll-margin-top:5rem; font-size:clamp(1.65rem,2.8vw,2.15rem); font-weight:800; line-height:1.22}
.guia-editorial-content h3{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#2d1e14); max-width:100%; margin:2.25rem 0 .85rem; scroll-margin-top:5rem; font-size:1.35rem; font-weight:700; line-height:1.3}
.guia-editorial-content ul,.guia-editorial-content ol{ flex-direction:column; gap:.65rem; max-width:100%; margin:0 0 1.85rem 1.5rem; padding:0; display:flex}
.guia-editorial-content li{ line-height:1.68}
.sequential-list{ padding-left:.5rem; list-style:decimal}
.guia-editorial-content blockquote{ border-left:4px solid var(--color-terracotta,sienna); border-radius:0 var(--radius-sm,6px) var(--radius-sm,6px) 0; background:#f4efeb; max-width:100%; margin:2.5rem 0; padding:1.5rem 1.85rem; box-shadow:0 4px 16px #2d1e1408}
.guia-editorial-content blockquote p{ color:var(--text-dark,#2d1e14); margin:0; font-size:1.05rem; line-height:1.68}
.guia-editorial-content blockquote strong{ color:var(--color-terracotta,sienna); font-family:var(--font-serif,"Fraunces", serif); font-size:1.08rem}
.guia-editorial-content a{ color:var(--color-terracotta,sienna); text-underline-offset:3px; font-weight:500; text-decoration:underline; transition:color .15s}
.guia-editorial-content a:hover{ color:var(--color-terracotta-hover,#8c4320)}
.checklist-box,.blog-toc,.rampa-container,.faq-section{ max-width:100%}
.table-container{ border:1px solid var(--border-subtle,#ebe5da); border-radius:var(--radius-md,12px); background:#fff; margin:2.5rem 0; overflow-x:auto; box-shadow:0 4px 18px #2d1e1408}
.table-container table{ border-collapse:collapse; width:100%; font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); text-align:left; font-size:.95rem}
.table-container th{ color:#faf7f2; font-family:var(--font-serif,"Fraunces", serif); letter-spacing:.02em; background:#2d1e14; padding:1.1rem 1.35rem; font-size:.95rem; font-weight:700}
.table-container td{ border-bottom:1px solid var(--border-subtle,#ebe5da); color:var(--text-dark,#2d1e14); padding:1rem 1.35rem; line-height:1.55}
.table-container tr:nth-child(2n){ background:#faf8f4}
.table-container tr:last-child td{ border-bottom:none}
.table-container tr.table-total td{ border-top:2px solid var(--border-subtle,#ebe5da); color:var(--text-dark,#2d1e14); background:#f4efeb; font-weight:700}
.text-right{ text-align:right}
@media (width<=768px){
  .guia-editorial-main{ padding:.45rem 0 3.5rem}
  .breadcrumbs-bar[data-scope-breadcrumbs]{ margin-bottom:.78rem}
  .guia-editorial-container{ padding-left:20px; padding-right:20px}
  .guia-editorial-header{ margin-bottom:1rem}
  .guia-editorial-category{ margin-bottom:.95rem}
  .guia-editorial-title{ font-size:1.68rem; line-height:1.22}
  .guia-editorial-lead{ font-size:1rem; line-height:1.58; margin-bottom:1.4rem}
  .guia-editorial-meta{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; gap:.4rem; padding-bottom:1rem; margin-bottom:0}
  .guia-editorial-meta-item{ gap:.35rem}
  .guia-editorial-meta-item--author{ margin:0 auto}
  .guia-editorial-meta-item--time{ margin-left:auto}
  .meta-svg{ width:17px; height:17px}
  .meta-item-text{ flex-direction:column; align-items:flex-start; gap:0; font-size:.71rem; line-height:1.22; white-space:normal}
  .article-hero[data-scope-article-hero]{ margin:1rem 0 2rem}
}
@media (width<=640px){
  .guia-editorial-main{ padding:.35rem 0 3rem}
  .breadcrumbs-bar[data-scope-breadcrumbs]{ margin-bottom:.74rem}
  .guia-editorial-container{ padding-left:18px; padding-right:18px}
  .guia-editorial-header{ margin-bottom:.85rem}
  .guia-editorial-category{ margin-bottom:.88rem}
  .guia-editorial-title{ font-size:1.62rem}
  .guia-editorial-meta{ padding-bottom:.85rem}
  .article-hero[data-scope-article-hero]{ margin:.85rem 0 1.25rem}
  .guia-editorial-content blockquote{ padding:1.25rem 1.25rem}
  .blog-toc[data-scope-toc]{ margin:0 0 1.75rem; padding:.8rem 1rem}
  .checklist-box[data-scope-checklist]{ padding:1.25rem 1.25rem}
}
@media (width<=390px){
  .guia-editorial-container{ padding-left:16px; padding-right:16px}
  .meta-item-text{ font-size:.67rem}
  .meta-svg{ width:15px; height:15px}
}
.blog-toc[data-scope-toc]{ border:1px solid var(--border-subtle,#ebe5da); border-radius:var(--radius-md,12px); background-color:#fff; margin:0 0 2.25rem; padding:.85rem 1.25rem; box-shadow:0 2px 10px rgba(45,30,20,.03); transition:border-color .2s ease, box-shadow .2s ease}
.blog-toc[data-scope-toc]:hover{ border-color:#d4c5b5; box-shadow:0 4px 16px rgba(45,30,20,.06)}
.blog-toc[data-scope-toc]:has(details[open]){ background-color:#fffdfa}
.blog-toc__summary[data-scope-toc]{ cursor:pointer; user-select:none; justify-content:space-between; align-items:center; list-style:none; display:flex}
.blog-toc__summary[data-scope-toc]::-webkit-details-marker{ display:none}
.blog-toc__header-left[data-scope-toc]{ align-items:center; gap:.75rem; display:flex}
.blog-toc__icon[data-scope-toc]{ width:22px; height:22px; color:#82321e; flex-shrink:0}
.blog-toc__title[data-scope-toc]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-dark,#2d1e14); font-size:.98rem; font-weight:700; letter-spacing:-.01em}
.blog-toc__chevron[data-scope-toc]{ width:18px; height:18px; color:var(--text-dark,#2d1e14); transition:transform .2s ease; flex-shrink:0}
details[data-scope-toc][open] .blog-toc__chevron[data-scope-toc]{ transform:rotate(180deg)}
.blog-toc__list[data-scope-toc]{ border-top:1px solid var(--border-subtle,#ebe5da); flex-direction:column; gap:.6rem; margin:.85rem 0 0; padding:1rem 0 .25rem; list-style:none; display:flex}
.blog-toc__link[data-scope-toc]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-muted,#5a4b41); align-items:center; gap:.5rem; font-size:.92rem; line-height:1.4; text-decoration:none; transition:color .15s; display:inline-flex}
.blog-toc__link[data-scope-toc]:hover{ color:var(--color-terracotta,#8c3820)}
.blog-toc__bullet[data-scope-toc]{ width:14px; height:14px; color:var(--color-terracotta,#8c3820); flex-shrink:0}
.blog-toc__item--parent[data-scope-toc] .blog-toc__text[data-scope-toc]{ color:var(--text-dark,#2d1e14); font-weight:600}
.article-hero[data-scope-article-hero]{ border-radius:var(--radius-md,12px); border:1px solid var(--border-subtle,#ebe5da); margin:1.25rem 0 1.5rem; overflow:hidden; box-shadow:0 8px 24px #2d1e140d}
.article-hero[data-scope-article-hero] img[data-scope-article-hero]{ object-fit:cover; width:100%; height:auto; display:block}
.article-hero[data-scope-article-hero] figcaption[data-scope-article-hero]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-muted,#6b5d52); border-top:1px solid var(--border-subtle,#ebe5da); background-color:#f7f3ec; padding:.85rem 1.25rem; font-size:.88rem; line-height:1.45}
.editorial-figure[data-scope-editorial-figure]{ border-radius:var(--radius-md,12px); border:1px solid var(--border-subtle,#ebe5da); background:#fff; margin:2.5rem 0; overflow:hidden; box-shadow:0 6px 20px #2d1e140a}
.editorial-figure[data-scope-editorial-figure] img[data-scope-editorial-figure]{ object-fit:cover; width:100%; height:auto; display:block}
.editorial-figure[data-scope-editorial-figure] figcaption[data-scope-editorial-figure]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-muted,#6b5d52); border-top:1px solid var(--border-subtle,#ebe5da); background-color:#f7f3ec; padding:.85rem 1.25rem; font-size:.88rem; line-height:1.45}
.checklist-box[data-scope-checklist]{ border:1px solid var(--border-subtle,#ebe5da); border-radius:var(--radius-md,12px); background:#fff; margin:2rem 0; padding:1.75rem 2rem; box-shadow:0 4px 18px #2d1e1408}
.checklist-list[data-scope-checklist]{ flex-direction:column; gap:1rem; margin:0; padding:0; list-style:none; display:flex}
.checklist-item[data-scope-checklist]{ align-items:flex-start; gap:.85rem; display:flex}
.checklist-icon[data-scope-checklist]{ width:22px; height:22px; color:var(--color-terracotta,sienna); background:#ede8de; border-radius:50%; flex-shrink:0; justify-content:center; align-items:center; margin-top:.15rem; display:flex}
.checklist-icon[data-scope-checklist] svg[data-scope-checklist]{ width:13px; height:13px}
.checklist-text[data-scope-checklist]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-dark,#2d1e14); font-size:.98rem; line-height:1.55}
.faq-section[data-scope-faq]{ border-top:1px solid var(--border-subtle,#ebe5da); margin:4rem 0 2rem; padding-top:2.5rem}
.faq-header[data-scope-faq]{ margin-bottom:2rem}
.faq-eyebrow[data-scope-faq]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); letter-spacing:.16em; text-transform:uppercase; color:#8d4624; font-size:.76rem; font-weight:800; display:inline-block; margin-bottom:.65rem}
.faq-section-title[data-scope-faq]{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#2d1e14); margin:0 0 .65rem; font-size:clamp(1.6rem,2.5vw,2.1rem); font-weight:800; line-height:1.2; letter-spacing:-.015em}
.faq-lead-desc[data-scope-faq]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-muted,#6b5d52); font-size:1rem; line-height:1.55; margin:0; max-width:720px}
.faq-accordion-group[data-scope-faq]{ display:flex; flex-direction:column; gap:.85rem}
.faq-item[data-scope-faq]{ background:#fff; border:1px solid var(--border-subtle,#ebe5da); border-radius:12px; box-shadow:0 2px 10px rgba(45,30,20,.03); transition:border-color .2s ease, box-shadow .2s ease; overflow:hidden}
.faq-item[data-scope-faq]:hover{ border-color:#d4c5b5; box-shadow:0 4px 16px rgba(45,30,20,.06)}
.faq-item[data-scope-faq][open]{ border-color:#c8522a55; border-left:4px solid var(--color-terracotta,#c8522a); box-shadow:0 6px 20px rgba(200,82,42,.07); background:#fffdfa}
.faq-summary[data-scope-faq]{ display:flex; justify-content:space-between; align-items:center; padding:1.2rem 1.45rem; cursor:pointer; user-select:none; list-style:none; gap:1rem; transition:background-color .15s ease}
.faq-summary[data-scope-faq]::-webkit-details-marker{ display:none}
.faq-summary[data-scope-faq]:focus-visible{ outline:2px solid var(--color-terracotta,#c8522a); outline-offset:-2px}
.faq-summary[data-scope-faq]:hover .faq-question[data-scope-faq]{ color:var(--color-terracotta,#c8522a)}
.faq-question[data-scope-faq]{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#2d1e14); font-size:1.1rem; font-weight:700; line-height:1.35; margin:0; transition:color .2s ease}
.faq-item[data-scope-faq][open] .faq-question[data-scope-faq]{ color:#7a391c}
.faq-chevron-wrap[data-scope-faq]{ width:30px; height:30px; border-radius:50%; background:#f5eee6; color:var(--color-terracotta,#c8522a); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s ease, background-color .25s ease, color .25s ease}
.faq-chevron-icon[data-scope-faq]{ width:15px; height:15px; transition:transform .25s ease}
.faq-item[data-scope-faq][open] .faq-chevron-wrap[data-scope-faq]{ background:var(--color-terracotta,#c8522a); color:#fff; transform:rotate(180deg)}
.faq-answer[data-scope-faq]{ padding:0 1.45rem 1.35rem 1.45rem; border-top:1px solid #f0e7dd; margin-top:.15rem; padding-top:.95rem; animation:faqReveal .2s ease-out}
.faq-answer[data-scope-faq] p[data-scope-faq]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); color:var(--text-muted,#5c4e44); margin:0; font-size:.96rem; line-height:1.68}
@keyframes faqReveal{ from{ opacity:0; transform:translateY(-4px)} to{ opacity:1; transform:translateY(0)}}
@media (max-width:640px){
  .faq-summary[data-scope-faq]{ padding:1.05rem 1.15rem; gap:.75rem}
  .faq-question[data-scope-faq]{ font-size:1rem}
  .faq-chevron-wrap[data-scope-faq]{ width:26px; height:26px}
  .faq-chevron-icon[data-scope-faq]{ width:13px; height:13px}
  .faq-answer[data-scope-faq]{ padding:0 1.15rem 1.15rem 1.15rem; padding-top:.85rem}
}
/* ==========================================================================
   SECCIÓN RESUMEN (Diseño según Puente1.png)
   ========================================================================== */
.seccion-resumen[data-scope-resumen]{
  margin: 4.5rem 0 3.75rem;
  padding: 3.25rem 3.25rem 3.25rem 3.25rem;
  background-color: #FAF5ED;
  border-radius: 20px;
  border: 1px solid rgba(220, 205, 185, 0.45);
  box-shadow: 0 4px 20px rgba(45,30,20,.025);
  position: relative;
}
.resumen-puente-card[data-scope-resumen]{
  border-left: 3.5px solid #9E5230;
  padding-left: 2.25rem;
}
.resumen-title[data-scope-resumen]{
  font-family: var(--font-serif, "Fraunces", serif);
  color: #1F1612;
  letter-spacing: -0.02em;
  margin: 0 0 1.2rem;
  font-size: clamp(2.1rem, 3.2vw, 2.65rem);
  font-weight: 800;
  line-height: 1.15;
}
.resumen-text[data-scope-resumen]{
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif);
  color: #2E2118;
  max-width: 960px;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.82;
  font-weight: 400;
}
@media (max-width: 768px){
  .seccion-resumen[data-scope-resumen]{
    margin: 3.5rem 0 2.5rem;
    padding: 2.25rem 1.65rem;
    border-radius: 16px;
  }
  .resumen-puente-card[data-scope-resumen]{
    padding-left: 1.35rem;
    border-left-width: 3px;
  }
  .resumen-title[data-scope-resumen]{
    font-size: 1.9rem;
    margin-bottom: 0.95rem;
  }
  .resumen-text[data-scope-resumen]{
    font-size: 1rem;
    line-height: 1.7;
  }
}

/* ==========================================================================
   SECCIÓN CTA CURSO (Diseño según ART-002_CTA_mockup.png)
   ========================================================================== */
.art-cta-section[data-scope-art-cta]{
  margin: 3.75rem 0 4.5rem;
}
.art-cta-card[data-scope-art-cta]{
  background: #FAF7F2;
  border: 1px solid #EBE2D5;
  border-radius: 24px;
  box-shadow: 0 10px 36px rgba(45,30,20,.08);
  display: grid;
  grid-template-columns: 1.14fr 0.86fr;
  align-items: stretch;
  overflow: hidden;
}
.art-cta-col-content[data-scope-art-cta]{
  padding: 3.5rem 2.25rem 3.5rem 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.art-cta-eyebrow-wrap[data-scope-art-cta]{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.35rem;
}
.art-cta-eyebrow-line[data-scope-art-cta]{
  display: inline-block;
  width: 44px;
  height: 3px;
  background: #C29575;
  border-radius: 2px;
  flex-shrink: 0;
}
.art-cta-eyebrow-text[data-scope-art-cta]{
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif);
  color: #245831;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.art-cta-title[data-scope-art-cta]{
  font-family: var(--font-serif, "Fraunces", serif);
  color: #1F1612;
  letter-spacing: -0.025em;
  margin: 0 0 1.2rem;
  font-size: clamp(2.1rem, 3vw, 2.65rem);
  font-weight: 800;
  line-height: 1.15;
}
.art-cta-desc[data-scope-art-cta]{
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif);
  color: #382B23;
  margin: 0 0 1.85rem;
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 580px;
}
.art-cta-features[data-scope-art-cta]{
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: start;
  gap: 1.5rem;
  margin-bottom: 2.15rem;
}
.art-feat-item[data-scope-art-cta]{
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.art-feat-icon-circle[data-scope-art-cta]{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #E2EBE3;
  color: #2D5A37;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.art-feat-icon[data-scope-art-cta]{
  width: 20px;
  height: 20px;
  stroke: #2D5A37;
}
.art-feat-text[data-scope-art-cta]{
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif);
  color: #261D18;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
}
.art-cta-action[data-scope-art-cta]{
  margin-bottom: 1.25rem;
}
.art-cta-btn[data-scope-art-cta]{
  background: #345037;
  color: #FFFFFF;
  font-family: var(--font-serif, "Fraunces", serif);
  font-size: clamp(0.96rem, 1.05vw, 1.06rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  padding: 1rem 2.2rem;
  border-radius: 9999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  white-space: nowrap;
  max-width: 100%;
  transition: all 0.2s ease;
  box-shadow: 0 6px 18px rgba(52,80,55,.28);
}
.art-cta-btn[data-scope-art-cta]:hover{
  background: #273D2A;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(52,80,55,.38);
  color: #FFFFFF;
}
.art-cta-btn-arrow[data-scope-art-cta]{
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.art-cta-btn[data-scope-art-cta]:hover .art-cta-btn-arrow[data-scope-art-cta]{
  transform: translateX(4px);
}
.art-cta-microcopy[data-scope-art-cta]{
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif);
  color: #68594E;
  font-size: 0.91rem;
  line-height: 1.5;
  margin: 0;
}
.art-cta-col-visual[data-scope-art-cta]{
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: #F4ECE1;
}
.art-cta-img[data-scope-art-cta]{
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (min-width: 1081px){
  .art-cta-col-visual[data-scope-art-cta]::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, #FAF7F2 0%, rgba(250,247,242,0) 100%);
    z-index: 2;
    pointer-events: none;
  }
}
@media (max-width: 1080px){
  .art-cta-card[data-scope-art-cta]{
    grid-template-columns: 1fr;
  }
  .art-cta-col-content[data-scope-art-cta]{
    padding: 2.75rem 2.25rem 2.25rem;
    order: 2;
  }
  .art-cta-col-visual[data-scope-art-cta]{
    order: 1;
    max-height: 420px;
  }
  .art-cta-features[data-scope-art-cta]{
    gap: 1.25rem;
  }
}
@media (max-width: 640px){
  .art-cta-card[data-scope-art-cta]{
    border-radius: 18px;
  }
  .art-cta-col-content[data-scope-art-cta]{
    padding: 2rem 1.35rem 2rem;
  }
  .art-cta-features[data-scope-art-cta]{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .art-cta-btn[data-scope-art-cta]{
    width: 100%;
    justify-content: center;
    padding: 0.95rem 1.25rem;
    font-size: 0.96rem;
    white-space: normal;
    text-align: center;
  }
}
.ultima-idea-section[data-scope-ultima-idea]{ text-align:center; margin:3.5rem 0 4rem; position:relative}
.separador-grano[data-scope-ultima-idea]{ justify-content:center; align-items:center; gap:1.25rem; margin:0 auto 2.5rem; display:flex}
.separador-linea[data-scope-ultima-idea]{ border-top:1.5px solid #bdae9e; width:130px; height:0; display:block}
.grano-icon[data-scope-ultima-idea]{ width:28px; height:auto; display:block}
.ultima-idea-content[data-scope-ultima-idea]{ max-width:820px; margin:0 auto; padding:0 1rem; position:relative}
.ultima-idea-eyebrow[data-scope-ultima-idea]{ font-family:var(--font-sans,"Plus Jakarta Sans", sans-serif); letter-spacing:.16em; text-transform:uppercase; color:#8d4624; margin-bottom:1.5rem; font-size:.76rem; font-weight:800; display:block}
.ultima-idea-quote[data-scope-ultima-idea]{ box-shadow:none; background:0 0; border:none; margin:0 0 1.75rem; padding:0}
.ultima-idea-quote[data-scope-ultima-idea] p[data-scope-ultima-idea]{ font-family:var(--font-serif,"Fraunces", serif); color:var(--text-dark,#1f1916); margin:0; font-size:clamp(1.2rem,2.3vw,1.45rem); font-style:italic; line-height:1.55}
.ultima-idea-handwriting[data-scope-ultima-idea]{ font-family:var(--font-script,"Caveat", cursive); color:#7a4828; flex-direction:column; align-items:flex-end; margin:.5rem 1.5rem 0 0; font-size:1.65rem; font-weight:700; line-height:1.2; display:flex; transform:rotate(-3deg)}
.underline-stroke[data-scope-ultima-idea]{ display:inline-block; position:relative}
.underline-stroke[data-scope-ultima-idea]:after{ content:""; background:#8c4e28; border-radius:2px; width:110%; height:2px; position:absolute; bottom:-4px; left:-5%; transform:rotate(.8deg)}
.ultima-idea-bottom-line[data-scope-ultima-idea]{ border-top:1.5px solid #bdae9e; width:55px; height:0; margin:2.5rem auto 0}
@media (width<=640px){ .separador-linea[data-scope-ultima-idea]{ width:70px}
.ultima-idea-handwriting[data-scope-ultima-idea]{ align-items:center; margin:1.5rem 0 0; font-size:1.45rem}
}
.dudas-modal-overlay[data-scope-dudas]{ z-index:1000; opacity:0; visibility:hidden; justify-content:center; align-items:center; padding:1rem; transition:opacity .25s,visibility .25s; display:flex; position:fixed; inset:0}
.dudas-modal-overlay[data-scope-dudas].is-visible{ opacity:1; visibility:visible}
.dudas-modal-backdrop[data-scope-dudas]{ -webkit-backdrop-filter:blur(5px); background:#14100da6; position:absolute; inset:0}
.dudas-modal-panel[data-scope-dudas]{ z-index:2; background:#faf7f2; border:1px solid #ebdcd0; border-radius:1.5rem; width:100%; max-width:32.5rem; max-height:calc(100vh - 2.5rem); padding:2rem 2.2rem 1.65rem; transition:transform .25s cubic-bezier(.16,1,.3,1); position:relative; overflow-y:auto; overflow-x:hidden; transform:scale(.96)translateY(12px); box-shadow:0 24px 60px #1e140c47, 0 4px 14px #1e140c14}
.dudas-modal-overlay[data-scope-dudas].is-visible .dudas-modal-panel[data-scope-dudas]{ transform:scale(1)translateY(0)}
.dudas-modal-close[data-scope-dudas]{ color:#4a3d34; cursor:pointer; z-index:4; background:#eee5da; border:none; border-radius:50%; justify-content:center; align-items:center; width:2.25rem; height:2.25rem; transition:background-color .15s,color .15s; display:inline-flex; position:absolute; top:1.25rem; right:1.25rem}
.dudas-modal-close[data-scope-dudas]:hover{ color:#1e150f; background:#e2d6c6}
.dudas-header-art-wrap[data-scope-dudas]{ position:absolute; top:2rem; right:1.5rem; width:135px; pointer-events:none; z-index:2}
.dudas-header-art[data-scope-dudas]{ width:100%; height:auto; display:block; filter:drop-shadow(0 8px 16px rgba(45,30,20,0.08))}
.dudas-corner-leaves[data-scope-dudas]{ position:absolute; bottom:-12px; left:-14px; width:75px; height:85px; overflow:hidden; pointer-events:none; opacity:.28; z-index:1}
.dudas-corner-leaves-img[data-scope-dudas]{ width:200px; height:200px; max-width:none; position:absolute; bottom:-10px; right:-20px; transform:scaleX(-1)}
.dudas-corner-beans[data-scope-dudas]{ position:absolute; bottom:10px; right:12px; width:52px; height:38px; overflow:hidden; pointer-events:none; opacity:.35; z-index:1}
.dudas-corner-beans-img[data-scope-dudas]{ width:180px; height:180px; max-width:none; position:absolute; bottom:-12px; left:-18px}
.dudas-modal-header[data-scope-dudas]{ text-align:left; margin-bottom:1.15rem; position:relative; z-index:3}
.dudas-eyebrow-pill[data-scope-dudas]{ color:#7a351d; letter-spacing:.08em; background:#faece1; border:none; border-radius:9999px; align-items:center; gap:.45rem; margin-bottom:.65rem; padding:.25rem .75rem; font-size:.74rem; font-weight:700; display:inline-flex}
.eyebrow-dot[data-scope-dudas]{ background:#c8522a; border-radius:50%; width:6px; height:6px; flex-shrink:0}
.dudas-modal-title[data-scope-dudas]{ font-family:var(--font-serif,Georgia, serif); color:#1f1610; margin:0 0 .35rem; font-size:clamp(1.35rem,3.4vw,1.65rem); font-weight:700; line-height:1.2; max-width:68%}
.dudas-modal-subtitle[data-scope-dudas]{ font-family:var(--font-sans,Inter, system-ui, sans-serif); color:#594c41; margin:0 0 .95rem; font-size:.95rem; line-height:1.45; max-width:70%}
.dudas-sla-banner[data-scope-dudas]{ background:linear-gradient(135deg, #fdf4eb 0%, #fffbf7 100%); border:1px solid #f2dfd0; border-left:3.5px solid #c8522a; border-radius:.75rem; align-items:center; gap:.85rem; padding:.8rem 1rem; display:flex}
.sla-icon[data-scope-dudas]{ width:42px; height:42px; border-radius:50%; background:#fbe6d6; display:flex; align-items:center; justify-content:center; flex-shrink:0}
.sla-texts[data-scope-dudas]{ flex-direction:column; gap:.15rem; line-height:1.35; display:flex}
.sla-primary[data-scope-dudas]{ color:#1f1610; font-weight:700; font-size:.86rem}
.sla-secondary[data-scope-dudas]{ color:#6b5c51; font-size:.8rem}
.dudas-form[data-scope-dudas]{ position:relative; z-index:3}
.dudas-form-fields[data-scope-dudas]{ text-align:left; flex-direction:column; gap:.85rem; margin-bottom:1.15rem; display:flex}
.dudas-field-group[data-scope-dudas]{ flex-direction:column; gap:.32rem; display:flex}
.dudas-label[data-scope-dudas]{ font-family:var(--font-sans,Inter, system-ui, sans-serif); letter-spacing:.05em; color:#2e231b; text-transform:uppercase; font-size:.76rem; font-weight:700}
.dudas-req[data-scope-dudas]{ color:#c8522a; margin-left:.15rem}
.dudas-opt[data-scope-dudas]{ color:#7f7064; text-transform:none; font-size:.76rem; font-weight:400}
.dudas-input-wrap[data-scope-dudas]{ width:100%; position:relative; display:flex; align-items:center}
.dudas-field-icon[data-scope-dudas]{ position:absolute; left:.9rem; top:50%; transform:translateY(-50%); pointer-events:none; color:#5a4b40; transition:color .15s; width:18px; height:18px; flex-shrink:0}
.dudas-field-icon--textarea[data-scope-dudas]{ top:.95rem; transform:none}
.dudas-input-wrap:focus-within .dudas-field-icon[data-scope-dudas]{ color:#c8522a}
.dudas-input[data-scope-dudas],.dudas-textarea[data-scope-dudas],.dudas-select[data-scope-dudas]{ width:100%; font-family:var(--font-sans,Inter, system-ui, sans-serif); color:#1f1610; box-sizing:border-box; background:#fbf8f4; border:1.5px solid #e3d7cb; border-radius:.65rem; padding:.7rem .95rem .7rem 2.65rem; font-size:.92rem; transition:border-color .15s,background-color .15s,box-shadow .15s}
.dudas-input[data-scope-dudas]:focus,.dudas-textarea[data-scope-dudas]:focus,.dudas-select[data-scope-dudas]:focus{ background:#fff; border-color:#c8522a; outline:none; box-shadow:0 0 0 3px #c8522a24}
.dudas-textarea[data-scope-dudas]{ resize:vertical; min-height:5rem; padding-top:.8rem}
.dudas-select[data-scope-dudas]{ -webkit-appearance:none; appearance:none; cursor:pointer; padding-right:2.3rem}
.select-chevron[data-scope-dudas]{ pointer-events:none; color:#5a4b40; position:absolute; top:50%; right:.9rem; transform:translateY(-50%)}
.dudas-alert-error[data-scope-dudas]{ color:#9c2e15; text-align:left; background:#fdeeeb; border:1px solid #f5c6be; border-radius:.55rem; align-items:center; gap:.5rem; margin-bottom:.85rem; padding:.65rem .85rem; font-size:.82rem; line-height:1.35; display:flex}
.dudas-submit-btn[data-scope-dudas]{ width:100%; font-family:var(--font-sans,Inter, system-ui, sans-serif); letter-spacing:.05em; cursor:pointer; background:linear-gradient(180deg,#c75128 0%,#b3431c 100%); border:none; border-radius:.7rem; justify-content:center; align-items:center; padding:.92rem 1.5rem; font-size:.95rem; font-weight:700; transition:transform .15s,box-shadow .15s,opacity .15s; display:inline-flex; box-shadow:0 6px 18px #b3431c4d; color:#fff!important}
.dudas-submit-btn[data-scope-dudas]:hover:not(:disabled){ transform:translateY(-1px); box-shadow:0 8px 22px #b3431c66; background:linear-gradient(180deg,#ba4921 0%,#a63a14 100%)}
.dudas-submit-btn[data-scope-dudas]:disabled{ opacity:.75; cursor:not-allowed}
.btn-text-idle[data-scope-dudas]{ align-items:center; justify-content:center; gap:.55rem; display:inline-flex}
.btn-send-icon[data-scope-dudas]{ width:18px; height:18px; flex-shrink:0}
.btn-text-loading[data-scope-dudas]{ align-items:center; gap:.5rem; display:inline-flex}
.spinner-svg[data-scope-dudas]{ animation:.8s linear infinite dudas-spin}
@keyframes dudas-spin{ to{ transform:rotate(360deg)} }
.dudas-privacy-note[data-scope-dudas]{ font-family:var(--font-sans,Inter, system-ui, sans-serif); color:#6b5c51; text-align:center; margin:.75rem 0 0; font-size:.78rem; display:flex; align-items:center; justify-content:center; gap:.4rem}
.privacy-lock-icon[data-scope-dudas]{ width:14px; height:14px; color:#6b5c51; flex-shrink:0}
.dudas-success-panel[data-scope-dudas]{ text-align:center; flex-direction:column; align-items:center; padding:1.5rem .5rem .5rem; display:flex}
.success-icon-wrap[data-scope-dudas]{ margin-bottom:.85rem}
.success-title[data-scope-dudas]{ font-family:var(--font-serif,Georgia, serif); color:#171513; margin:0 0 .45rem; font-size:1.55rem; font-weight:800}
.success-desc[data-scope-dudas]{ color:#3b3229; max-width:22rem; margin:0 0 .5rem; font-size:.95rem; line-height:1.45}
.success-schedule[data-scope-dudas]{ color:#6e5f52; max-width:22rem; margin:0 0 1.5rem; font-size:.82rem}
.dudas-close-success-btn[data-scope-dudas]{ color:#fff; letter-spacing:.06em; cursor:pointer; background:#17324d; border:none; border-radius:.45rem; padding:.75rem 2.25rem; font-size:.88rem; font-weight:700; transition:background-color .15s}
.dudas-close-success-btn[data-scope-dudas]:hover{ background:#112438}
@media (width<=36rem){
.dudas-modal-panel[data-scope-dudas]{ border-radius:1.15rem; padding:1.4rem 1.15rem 1.25rem}
.dudas-header-art-wrap[data-scope-dudas]{ width:88px; top:1.1rem; right:1.1rem; opacity:.85}
.dudas-modal-title[data-scope-dudas]{ font-size:1.25rem; max-width:70%}
.dudas-modal-subtitle[data-scope-dudas]{ font-size:.88rem; max-width:72%}
.sla-icon[data-scope-dudas]{ width:36px; height:36px}
.sla-primary[data-scope-dudas]{ font-size:.8rem}
.sla-secondary[data-scope-dudas]{ font-size:.74rem}
.dudas-input[data-scope-dudas],.dudas-textarea[data-scope-dudas],.dudas-select[data-scope-dudas]{ font-size:.88rem; padding:.65rem .85rem .65rem 2.45rem}
.dudas-field-icon[data-scope-dudas]{ left:.78rem; width:16px; height:16px}
.dudas-submit-btn[data-scope-dudas]{ padding:.85rem 1.25rem; font-size:.88rem}
}
:root{ --bg-main:#f9f7f2; --bg-card:#fff; --bg-card-subtle:#f5f2ea; --bg-badge:#efece3; --bg-dark-accent:#873e24; --bg-dark-espresso:#1e1714; --text-dark:#1f1916; --text-muted:#5c554f; --text-light:#7a726b; --text-on-dark:#fbf9f5; --color-terracotta:#9c4528; --color-terracotta-hover:#83351a; --color-olive:#4e6049; --color-olive-bg:#edf3ed; --color-badge-brown:#8d5438; --color-badge-brown-bg:#f4ece3; --border-subtle:#ebe6dc; --border-card:#e3ded4; --serif:"Fraunces", Georgia, serif; --sans:"Plus Jakarta Sans", "Segoe UI", Arial, sans-serif; --hand:"Caveat", "Segoe Print", "Bradley Hand", cursive; --font-serif:var(--serif); --font-sans:var(--sans); --font-script:var(--hand); --container-max:1140px; --radius-sm:8px; --radius-md:14px; --radius-lg:20px; --radius-full:9999px; --shadow-subtle:0 4px 20px #2d1e140a; --shadow-card:0 10px 30px #2d1e140f; --shadow-floating:0 20px 40px #2d1e141f}
*,:before,:after{ box-sizing:border-box; margin:0; padding:0}
html{ font-family:var(--font-sans); background-color:var(--bg-main); color:var(--text-dark); scroll-behavior:smooth; -webkit-font-smoothing:antialiased}
body{ background-color:var(--bg-main); min-height:100vh; line-height:1.6}
img{ max-width:100%; height:auto; display:block}
a{ color:inherit; text-decoration:none}
button{ cursor:pointer; background:0 0; border:none; font-family:inherit}
.container{ width:100%; max-width:var(--container-max); margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px}
.eyebrow{ font-family:var(--sans); letter-spacing:.24em; text-transform:uppercase; color:var(--text-light); margin-bottom:12px; font-size:.78rem; font-weight:800}
.overline{ font-family:var(--sans); letter-spacing:.22em; text-transform:uppercase; font-size:.74rem; font-weight:800}
.display{ font-family:var(--serif); letter-spacing:-.055em; margin:0; font-weight:700; line-height:.98}
.display--hero{ font-size:clamp(3.6rem,5.5vw,4.8rem)}
.display--section{ font-size:clamp(3rem,4.8vw,4.2rem)}
.serif-quote{ font-family:var(--serif); font-size:1.55rem; font-style:italic; font-weight:600; line-height:1.35}
.script-quote{ font-family:var(--hand); color:var(--text-dark); font-size:1.5rem; line-height:1.25}
.hand-note{ font-family:var(--hand); font-size:1.25rem; font-style:italic; font-weight:600; line-height:1.25; transform:rotate(-4deg)}
.btn-primary{ background-color:var(--color-terracotta); color:#fff; border-radius:var(--radius-sm); justify-content:center; align-items:center; gap:10px; padding:14px 28px; font-size:.95rem; font-weight:600; transition:all .2s; display:inline-flex; box-shadow:0 4px 14px #9c452840}
.btn-primary:hover{ background-color:var(--color-terracotta-hover); transform:translateY(-1px); box-shadow:0 6px 20px #9c452859}
.btn-secondary-link{ color:var(--text-dark); text-underline-offset:4px; align-items:center; font-size:.95rem; font-weight:600; text-decoration:underline; transition:color .2s; display:inline-flex}
.btn-secondary-link:hover{ color:var(--color-terracotta)}
.badge-tag{ letter-spacing:.08em; text-transform:uppercase; border-radius:4px; align-items:center; padding:4px 10px; font-size:.7rem; font-weight:700; display:inline-flex}
.badge-tag.observado{ background-color:var(--color-badge-brown-bg); color:var(--color-badge-brown)}
.badge-tag.supuesto{ color:#9c4528; background-color:#f8ece8}
.badge-tag.validar{ background-color:var(--color-olive-bg); color:var(--color-olive)}
.section-padding{ padding:90px 0}
.section-divider{ border:none; border-top:1px solid var(--border-subtle); margin:0}
.separador-taza[data-scope-separador-taza]{ justify-content:center; align-items:center; gap:1.5rem; width:100%; margin:3.5rem 0 2rem; display:flex}
.separador-taza__linea[data-scope-separador-taza]{ flex:1; height:0; border-top:1.5px solid #bdae9e}
.separador-taza__icon[data-scope-separador-taza]{ width:28px; height:28px; color:#7a4b38; flex-shrink:0}
.separador-taza[data-scope-separador-taza] + h2{ margin-top:1.5rem}
.separador-taza[data-scope-separador-taza] + .plan-real-section[data-scope-plan-real]{ margin-top:0; padding-top:.5rem}
@media (width<=768px){
  .separador-taza[data-scope-separador-taza]{ margin:2.75rem 0 1.6rem; gap:1.15rem}
  .separador-taza__icon[data-scope-separador-taza]{ width:24px; height:24px}
  .separador-taza[data-scope-separador-taza] + h2{ margin-top:1.25rem}
}
@media (width<=640px){
  .separador-taza[data-scope-separador-taza]{ margin:2.25rem 0 1.35rem; gap:.9rem}
  .separador-taza__icon[data-scope-separador-taza]{ width:22px; height:22px}
  .separador-taza[data-scope-separador-taza] + .plan-real-section[data-scope-plan-real]{ padding-top:.25rem}
}

/* 2026-09-20 responsive editorial images: 4:5 mobile, 4:3 tablet/desktop/TV */
.editorial-picture{display:block;width:100%}
.article-hero[data-scope-article-hero]{width:100%;max-width:960px;margin-left:auto;margin-right:auto}
.editorial-figure[data-scope-editorial-figure]{width:100%;max-width:900px;margin-left:auto;margin-right:auto}

@media (max-width:600px){
  .article-hero[data-scope-article-hero],
  .editorial-figure[data-scope-editorial-figure]{max-width:none}
}

/* Reserva desde el inicio la proporción real del hero móvil: 400 × 500. */
@media (max-width:600px){
  .article-hero[data-scope-article-hero] .editorial-picture{aspect-ratio:4/5}
  .article-hero[data-scope-article-hero] img[data-scope-article-hero]{height:100%;object-fit:cover}
}


/* Article 002: unpublished internal-guide references remain visible but are not clickable. */
.article-link-unavailable{color:var(--text-muted,#6b5d52);font-weight:500;text-decoration:none;border-bottom:1px dotted #b9a99b;cursor:default}

/* ART002 visual system extracted from approved mockups — 2026-09-20
   Scope: editorial patterns only; content, SEO metadata, images and navigation remain unchanged. */

/* Section rhythm: small editorial overline from the mockup language. */
.guia-editorial-content h2[data-step]::before{
  content:"PASO " attr(data-step);
  display:block;
  margin-bottom:.48rem;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.7rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--color-terracotta,#9c4528);
}

/* 12-step sequence: two-column sequence matching mockup 2026-09-20 14-03-58.png */
.guia-editorial-content .article-overview-steps,
.guia-editorial-content .article-process-grid,
.guia-editorial-content .article-numbered-prompts{
  counter-reset:overview-step;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem 2.25rem;
  margin:1rem 0 1.75rem;
  padding:0;
  list-style:none;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}
.guia-editorial-content .article-overview-steps li,
.guia-editorial-content .article-process-grid li,
.guia-editorial-content .article-numbered-prompts li{
  counter-increment:overview-step;
  display:grid;
  grid-template-columns:2.25rem minmax(0,1fr);
  align-items:center;
  gap:.85rem;
  min-height:0;
  padding:.35rem 0;
  border-bottom:none;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.92rem;
  font-weight:600;
  color:var(--text-dark,#2d1e14);
  line-height:1.35;
}
.guia-editorial-content .article-overview-steps li:nth-last-child(-n+2),
.guia-editorial-content .article-process-grid li:nth-last-child(-n+2),
.guia-editorial-content .article-numbered-prompts li:nth-last-child(-n+2){border-bottom:0}
.guia-editorial-content .article-overview-steps li::before,
.guia-editorial-content .article-process-grid li::before,
.guia-editorial-content .article-numbered-prompts li::before{
  content:counter(overview-step, decimal-leading-zero);
  width:2.25rem;
  height:2.25rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ede8e1;
  color:#3d3027;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.82rem;
  font-weight:700;
  flex-shrink:0;
}
.guia-editorial-content .article-overview-steps li:has(.overview-step-content),
.guia-editorial-content .article-overview-steps li.overview-step--detailed{
  align-items:flex-start;
  font-weight:400;
  line-height:1.5;
}
.guia-editorial-content .article-overview-steps li:has(.overview-step-content)::before,
.guia-editorial-content .article-overview-steps li.overview-step--detailed::before{
  margin-top:.12rem;
}
.guia-editorial-content .article-overview-steps .overview-step-content{
  min-width:0;
  font-size:.93rem;
  font-weight:400;
  line-height:1.5;
  color:var(--text-dark,#2d1e14);
}
.guia-editorial-content .article-overview-steps .overview-step-content strong{
  font-weight:700;
  color:var(--text-dark,#1f1916);
}

/* Concept variables: compact editorial cards matching mockup 2026-09-20 14-09-47.png */
.guia-editorial-content .article-variable-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem .75rem;
  margin:.75rem 0 1.5rem;
  padding:0;
  list-style:none;
}
.guia-editorial-content .article-variable-list li.variable-card{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin:0;
  padding:.55rem .95rem;
  background:#fbfaf5;
  border:1px solid #e4ddd1;
  border-radius:12px;
  box-shadow:0 1px 3px rgba(45,30,20,.025);
  transition:border-color .2s ease;
  line-height:normal;
  min-height:0;
}
.guia-editorial-content .article-variable-list li.variable-card:hover{
  border-color:#d4cbbe;
}
.guia-editorial-content .article-variable-list li.variable-card::before{
  display:none;
  content:none;
}
.variable-card__icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin:0;
}
.variable-card__icon--green{
  background:#ebf1ea;
  color:#2e4a36;
}
.variable-card__icon--warm{
  background:#f6eee6;
  color:#7d412b;
}
.variable-card__icon svg{
  width:20px;
  height:20px;
}
.variable-card__body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1;
  min-width:0;
}
.variable-card__eyebrow{
  display:block;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7d6f64;
  margin:0 0 2px 0;
  line-height:1.15;
}
.variable-card__title{
  display:block;
  font-family:var(--font-serif,"Fraunces",serif);
  font-size:.98rem;
  font-weight:700;
  line-height:1.2;
  color:#1e1510;
  margin:0 0 2px 0;
  letter-spacing:-.01em;
}
.variable-card__title::first-letter{
  text-transform:uppercase;
}
.variable-card__body > .variable-card__title:last-child{
  margin-bottom:0;
}
.variable-card__desc,
.guia-editorial-content .article-variable-list .variable-card__desc,
.guia-editorial-content .article-variable-list p.variable-card__desc{
  display:block;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.82rem;
  line-height:1.3;
  color:#594c42;
  margin:0 !important;
  padding:0 !important;
}

/* A/B comparison: preserve copy while making the contrast scannable. */
.article-comparison-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0 1.45rem;
}
.guia-editorial-content .article-comparison-card{
  margin:0;
  padding:1.15rem 1.25rem 1.2rem;
  border:1px solid #e4ddd1;
  border-top:4px solid var(--color-olive,#4e6049);
  border-radius:14px;
  background:#fbfaf5;
  box-shadow:0 5px 18px rgba(45,30,20,.035);
  font-size:.96rem;
  line-height:1.58;
}
.guia-editorial-content .article-comparison-card--b{
  border-top-color:var(--color-terracotta,#9c4528);
  background:#fbf6f1;
}
.guia-editorial-content .article-comparison-card strong{
  display:block;
  margin-bottom:.38rem;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-olive,#4e6049);
}
.guia-editorial-content .article-comparison-card--b strong{color:var(--color-terracotta,#9c4528)}

/* Field observation list: clean two-column bullet list (refined circular markers) */
.guia-editorial-content .article-observation-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.35rem 2.2rem;
  margin:.75rem 0 1.6rem;
  padding:0;
  list-style:none;
  border:none;
  background:none;
}
.guia-editorial-content .article-observation-list li{
  position:relative;
  margin:0;
  padding:.28rem 0 .28rem 1.35rem;
  border:none;
  font-size:.95rem;
  line-height:1.46;
  color:#2c221e;
}
.guia-editorial-content .article-observation-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7rem;
  width:7px;
  height:7px;
  border:none;
  border-radius:50%;
  background:#bca68e;
  box-shadow:none;
}

/* Tables: warm editorial surfaces instead of heavy black headers. */
.table-container.editorial-table{
  border:1px solid #ded6c8;
  border-radius:15px;
  background:#fbfaf6;
  box-shadow:0 7px 24px rgba(45,30,20,.045);
}
.table-container.editorial-table table{font-size:.93rem}
.table-container.editorial-table th{
  background:#eee9df;
  color:#2b241f;
  border-right:1px solid #ded6c8;
  border-bottom:2px solid #d3c8b8;
  padding:1rem 1.15rem;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  vertical-align:bottom;
}
.table-container.editorial-table th:last-child{border-right:0}
.table-container.editorial-table td{
  padding:.92rem 1.15rem;
  border-right:1px solid #ece5da;
  border-bottom:1px solid #e9e2d7;
  background:transparent;
  vertical-align:top;
  line-height:1.5;
}
.table-container.editorial-table td:last-child{border-right:0}
.table-container.editorial-table tr:nth-child(2n){background:#f7f4ed}
.table-container.editorial-table tbody tr:hover{background:#f2eee5}
.table-container.editorial-table td:first-child{font-weight:700;color:#332b25}
.table-container.editorial-table--signals th:nth-child(2){background:#e7ebdf;color:#364234}
.table-container.editorial-table--signals th:nth-child(3){background:#f3e4dc;color:#7b3b22}
.table-container.editorial-table--signals td:nth-child(2){background:rgba(78,96,73,.035)}
.table-container.editorial-table--signals td:nth-child(3){background:rgba(156,69,40,.035)}
.table-container.editorial-table--finance td:first-child{width:24%;color:#3f4e3b}
.table-container.editorial-table--decisions tbody{counter-reset:decision-row}
.table-container.editorial-table--decisions tbody tr{counter-increment:decision-row}
.table-container.editorial-table--decisions td:first-child::before{
  content:counter(decision-row);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.55rem;
  height:1.55rem;
  margin-right:.55rem;
  border-radius:50%;
  background:#e6e5d2;
  color:#3c4939;
  font-size:.7rem;
  font-weight:800;
  vertical-align:middle;
}

/* Callouts: principle / advice / warning as distinct editorial cards. */
.guia-editorial-content blockquote.article-callout{
  display:grid;
  grid-template-columns:2.7rem minmax(0,1fr);
  gap:1rem;
  align-items:start;
  max-width:100%;
  margin:2rem 0 2.35rem;
  padding:1.2rem 1.35rem;
  border:1px solid #dedccc;
  border-left:0;
  border-radius:14px;
  background:#f0f0df;
  box-shadow:none;
}
.guia-editorial-content blockquote.article-callout::before{
  content:"i";
  width:2.45rem;
  height:2.45rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#555b35;
  color:#fffdf8;
  font-family:var(--font-serif,"Fraunces",serif);
  font-size:1.15rem;
  font-weight:600;
  font-style:italic;
}
.guia-editorial-content blockquote.article-callout p{
  margin:0;
  color:#302a25;
  font-size:.99rem;
  line-height:1.6;
}
.guia-editorial-content blockquote.article-callout strong{
  display:block;
  margin-bottom:.18rem;
  color:#3f482e;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.69rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.guia-editorial-content blockquote.article-callout--advice{background:#f2f1e8}
.guia-editorial-content blockquote.article-callout--advice::before{content:"✓";font-style:normal}
.guia-editorial-content blockquote.article-callout--warning{background:#f8eee8;border-color:#ead7cc}
.guia-editorial-content blockquote.article-callout--warning::before{content:"!";background:#a44b2d;font-style:normal}
.guia-editorial-content blockquote.article-callout--warning strong{color:#873e24}

/* Capital checklist: clean editorial checklist with circular badges matching mockup 2026-09-20 14-34-41.png */
.guia-editorial-content .article-capital-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:2.5rem;
  row-gap:0;
  margin:1.25rem 0 2rem;
  padding:0;
  list-style:none;
}
.guia-editorial-content .article-capital-checklist li{
  display:flex;
  align-items:center;
  gap:1rem;
  margin:0;
  padding:.88rem 0;
  border:none;
  border-bottom:1px solid #eee7de;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.93rem;
  font-weight:500;
  color:var(--text-dark,#2d1e14);
  line-height:1.42;
}
.capital-checklist__icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:50%;
  background:#f4eee2;
  color:#683f29;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.capital-checklist__icon svg{
  width:18px;
  height:18px;
}
.capital-checklist__text{
  flex:1;
  min-width:0;
}

/* Refine remaining plain editorial markers without turning every list into a card. */
.guia-editorial-content ul:not([class]) li::marker,
.guia-editorial-content ol:not([class]) li::marker{
  color:var(--color-terracotta,#9c4528);
  font-weight:800;
}

@media (max-width:680px){
  .guia-editorial-content h2[data-step]::before{font-size:.66rem;margin-bottom:.42rem}
  .guia-editorial-content .article-overview-steps,
  .guia-editorial-content .article-process-grid,
  .guia-editorial-content .article-variable-list,
  .article-comparison-grid,
  .guia-editorial-content .article-observation-list,
  .guia-editorial-content .article-capital-checklist{
    grid-template-columns:1fr;
    column-gap:0;
  }
  .guia-editorial-content .article-capital-checklist li{padding:.75rem 0;gap:.85rem}
  .guia-editorial-content .article-variable-list{gap:.6rem}
  .guia-editorial-content .article-variable-list li.variable-card{padding:.55rem .85rem;gap:.75rem;align-items:center}
  .variable-card__icon{width:38px;height:38px;min-width:38px}
  .variable-card__icon svg{width:18px;height:18px}
  .variable-card__title{font-size:.95rem}
  .guia-editorial-content .article-overview-steps,
  .guia-editorial-content .article-process-grid{padding:0;gap:.65rem}
  .guia-editorial-content .article-overview-steps li:nth-last-child(2),
  .guia-editorial-content .article-process-grid li:nth-last-child(2){border-bottom:none}
  .guia-editorial-content blockquote.article-callout{
    grid-template-columns:2.25rem minmax(0,1fr);
    gap:.8rem;
    padding:1rem;
  }
  .guia-editorial-content blockquote.article-callout::before{width:2.05rem;height:2.05rem;font-size:1rem}
  .table-container.editorial-table th,
  .table-container.editorial-table td{padding:.8rem .9rem}
}

@media (prefers-reduced-motion:reduce){
  .table-container.editorial-table tbody tr{transition:none}
}

/* ART002 mockup-pattern enrichment v2 — 2026-09-20 */
/* Scope intentionally limited to como-abrir-una-cafeteria. These patterns extend
   the existing mockup-derived system without changing copy, SEO or shared CSS. */

/* Question lists: editorial prompt cards, used where the reader is evaluating a decision. */
.guia-editorial-content .article-question-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem .8rem;
  margin:1.05rem 0 2rem;
  padding:0;
  list-style:none;
}
.guia-editorial-content .article-question-grid li{
  position:relative;
  margin:0;
  padding:.92rem 1rem .92rem 2.7rem;
  border:1px solid #e4ddd1;
  border-radius:12px;
  background:#fbfaf5;
  line-height:1.48;
  box-shadow:0 3px 12px rgba(45,30,20,.025);
}
.guia-editorial-content .article-question-grid li::before{
  content:"?";
  position:absolute;
  left:.9rem;
  top:.85rem;
  width:1.25rem;
  height:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e7ebdf;
  color:#465441;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.72rem;
  line-height:1;
  font-weight:800;
}
.guia-editorial-content .article-question-grid--finance li:nth-child(3n+1),
.guia-editorial-content .article-question-grid--tech li:nth-child(3n+2){background:#f7f3eb}

/* Operational bullet lists: clean two-column layout matching 2026-09-20 14-57-42.png */
.guia-editorial-content .article-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.35rem 2.2rem;
  margin:.75rem 0 1.6rem;
  padding:0;
  list-style:none;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.guia-editorial-content .article-check-grid li{
  position:relative;
  margin:0;
  padding:.28rem 0 .28rem 1.35rem;
  border:none;
  font-size:.95rem;
  line-height:1.46;
  color:#2c221e;
}
.guia-editorial-content .article-check-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7rem;
  width:7px;
  height:7px;
  border:none;
  border-radius:50%;
  background:#bca68e;
  box-shadow:none;
}
.guia-editorial-content .article-check-grid li:nth-last-child(-n+2){border-bottom:none}
.guia-editorial-content .article-check-grid--menu,
.guia-editorial-content .article-check-grid--roles{background:none}
.guia-editorial-content .article-check-grid--regulatory li::before{border:none;border-radius:50%;background:#bca68e}

/* Base vs peak coverage: keep the semantic list but make the contrast explicit. */
.guia-editorial-content .article-coverage-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
  margin:1rem 0 2rem;
  padding:0;
  list-style:none;
}
.guia-editorial-content .article-coverage-grid li{
  margin:0;
  padding:1rem 1.1rem;
  border:1px solid #dfd8cb;
  border-top:4px solid #56603b;
  border-radius:12px;
  background:#faf9f4;
  line-height:1.5;
}
.guia-editorial-content .article-coverage-grid li:nth-child(2){
  border-top-color:#a44b2d;
  background:#fbf5f0;
}
.guia-editorial-content .article-coverage-grid strong{
  display:block;
  margin-bottom:.18rem;
  font-family:var(--font-sans,"Plus Jakarta Sans",sans-serif);
  font-size:.73rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#44503e;
}
.guia-editorial-content .article-coverage-grid li:nth-child(2) strong{color:#8f4329}

/* First-90-days metrics: compact dashboard-like reading without pretending they are live data. */
.guia-editorial-content .article-metrics-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  margin:1rem 0 2rem;
  padding:0;
  list-style:none;
}
.guia-editorial-content .article-metrics-grid li{
  position:relative;
  margin:0;
  padding:.72rem .8rem .72rem 1.85rem;
  border:1px solid #e7e0d4;
  border-radius:9px;
  background:#fbfaf6;
  font-size:.9rem;
  line-height:1.4;
}
.guia-editorial-content .article-metrics-grid li::before{
  content:"";
  position:absolute;
  left:.72rem;
  top:1.03rem;
  width:.48rem;
  height:.48rem;
  border-radius:50%;
  background:#667158;
}

/* Refine the already-existing A/B mockup pattern. */
.guia-editorial-content .article-comparison-card strong{
  width:max-content;
  max-width:100%;
  padding:.34rem .55rem;
  border-radius:999px;
  background:#e8ebdf;
}
.guia-editorial-content .article-comparison-card--b strong{background:#f2e2d8}

/* Tables remain semantic tables, but gain the editorial hierarchy visible in the mockups. */
.table-container.editorial-table{
  position:relative;
  overflow:auto;
}
.table-container.editorial-table::before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,#56603b 0 56%,#a44b2d 56% 100%);
}
.table-container.editorial-table--finance::before{background:#56603b}
.table-container.editorial-table--decisions::before{background:linear-gradient(90deg,#a44b2d,#56603b)}
.table-container.editorial-table tbody tr{transition:background-color .15s ease}

/* Callouts gain a restrained eyebrow rule, preserving the existing accessible blockquote markup. */
.guia-editorial-content blockquote.article-callout{
  position:relative;
  overflow:hidden;
}
.guia-editorial-content blockquote.article-callout::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#59633d;
}
.guia-editorial-content blockquote.article-callout--warning::after{background:#a44b2d}

@media (max-width:900px){
  .guia-editorial-content .article-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:680px){
  .guia-editorial-content .article-question-grid,
  .guia-editorial-content .article-check-grid,
  .guia-editorial-content .article-observation-list,
  .guia-editorial-content .article-numbered-prompts,
  .guia-editorial-content .article-coverage-grid,
  .guia-editorial-content .article-metrics-grid{
    grid-template-columns:1fr;
  }
  .guia-editorial-content .article-check-grid,
  .guia-editorial-content .article-observation-list{padding:0;gap:.35rem 0}
  .guia-editorial-content .article-metrics-grid{gap:.45rem}
}



/* Performance: defer rendering of below-the-fold editorial blocks. */
.editorial-figure[data-scope-editorial-figure]:not(.article-hero),
.seccion-resumen,
.art-cta-section[data-scope-art-cta],
.faq-section[data-scope-faq],
.home-footer{
  content-visibility:auto;
  contain-intrinsic-size:auto 700px;
}
