/* Autopublicación: editorial layout, scoped to this page. */
.publishing-page { --publishing-ink: #231933; background: #fffcf7; color: var(--publishing-ink); }
.publishing-page .section-inner { text-align: left; }
.publishing-page h1, .publishing-page h2, .publishing-page h3 { color: var(--publishing-ink); letter-spacing: -.045em; }
.publishing-page h2 { line-height: 1.25; }
.publishing-page p { line-height: 1.85; color: #625b6b; }
.publishing-page .text-link { font-size: .85rem; line-height: 1.6; }
.publishing-kicker { display: block; margin-bottom: 22px; font-size: .68rem; font-weight: 700; letter-spacing: .16em; line-height: 1.7; color: #6941c6; }
.publishing-hero { padding: 64px 24px 70px; overflow: hidden; background: radial-gradient(ellipse at 85% 40%, #e9dfff 0, transparent 55%), #f8f4ff; }
.publishing-hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.publishing-intro { position: relative; z-index: 1; }
.publishing-page h1 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.18; margin-bottom: 24px; }
.publishing-page h1 span { color: #7043e4; }
.publishing-page .publishing-lead { font-size: 1.05rem; line-height: 1.85; }
.publishing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.publishing-actions .btn-primary { gap: 20px; }
.publishing-page .publishing-caption { margin-top: 20px; font-size: .75rem; }
.publishing-art { position: relative; min-width: 0; height: 440px; }
.publishing-orbit { position: absolute; width: 370px; height: 370px; border: 1px solid #c9b6f2; border-radius: 50%; left: 10px; top: 35px; }
.publishing-orbit::after { content: ''; position: absolute; inset: 28px; border: 1px dashed #c9b6f2; border-radius: 50%; }
.publishing-art-note { position: absolute; top: 8px; right: 10px; transform: rotate(8deg); font-size: .85rem; line-height: 1.6; color: #6941c6; }
.publishing-manuscript { position: absolute; top: 60px; left: 15px; width: 205px; height: 285px; padding: 30px 24px; background: #fffcf7; border: 1px solid #e1d8e9; transform: rotate(-14deg); box-shadow: 0 12px 24px #31204412; }
.publishing-manuscript span { display: block; margin-bottom: 24px; font-size: .6rem; letter-spacing: .1em; }
.publishing-manuscript i { display: block; height: 1px; margin: 16px 0; background: #d7ccdf; }
.publishing-manuscript i:last-child { width: 65%; }
.publishing-book { position: absolute; top: 50px; left: 125px; width: 240px; height: 325px; padding: 27px 28px; background: #784dfe; color: white; transform: rotate(9deg); border-radius: 2px 7px 7px 2px; box-shadow: 5px 4px 0 #e7dfd2, 8px 6px 0 #bca4e6, 18px 25px 40px #38205d35; }
.publishing-book::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #29115a55, transparent 4%, #ffffff25 5%, transparent 9%); }
.publishing-book-top { position: relative; font-size: .5rem; letter-spacing: .15em; }
.publishing-book strong { position: relative; display: block; margin-top: 24px; font-family: 'Lexend Exa', sans-serif; font-size: 2rem; line-height: 1.15; letter-spacing: -.06em; }
.publishing-book-star { position: absolute; right: 24px; bottom: 30px; color: #ffd374; font-size: 4.5rem; line-height: 1; }
.publishing-book-brand { position: absolute; bottom: 27px; font-size: 1.05rem; font-weight: 800; }
.publishing-art-label { position: absolute; bottom: 8px; left: 45px; padding: 14px 19px; background: #fffaf0; box-shadow: 0 6px 20px #38205d0d; border: 1px solid #e5dacc; transform: rotate(-4deg); font-size: .7rem; font-weight: 600; }
.publishing-art-label span { margin-left: 15px; color: #7043e4; }
.publishing-principles { padding: 24px; background: #eee7f8; border-block: 1px solid #ded3ee; }
.publishing-principles .section-inner { display: flex; justify-content: space-between; gap: 24px; }
.publishing-principles span { font-size: .78rem; line-height: 1.7; }
.publishing-principles b { color: #7043e4; margin-right: 10px; font-size: .7rem; }
.publishing-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; }
.publishing-definition p:first-child { margin-top: 0; }
.publishing-process { background: #f1edf6; }
.publishing-process h2 { max-width: 760px; }
.publishing-process .section-lead { max-width: 680px; }
.publishing-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; list-style: none; padding: 0; margin: 36px 0 22px; }
.publishing-steps li { padding: 28px; border: 1px solid #e1d9ea; background: #fffcf7; border-radius: 14px; }
.publishing-steps li:nth-child(2) { background: #e6dcfc; }
.publishing-steps li:nth-child(3) { background: #f9e9c9; }
.publishing-steps .step-number { position: static; display: block; font-size: .85rem; margin-bottom: 36px; }
.publishing-steps h3 { font-size: 1.05rem; line-height: 1.5; }
.publishing-steps p { font-size: .85rem; margin-bottom: 0; }
.publishing-pricing .publishing-split { align-items: center; }
.publishing-pricing h2 { margin-bottom: 24px; }
.publishing-checklist { border: 1px solid #e3dbce; border-radius: 16px; background: #f4eee4; padding: 32px; transform: rotate(1deg); }
.publishing-checklist-label { font-size: .65rem; font-weight: 600; letter-spacing: .13em; color: #70624e; }
.publishing-checklist h3 { font-size: 1.15rem; line-height: 1.5; margin-top: 14px; }
.publishing-checklist ul { list-style: none; margin: 26px 0; padding: 0; }
.publishing-checklist li { display: flex; gap: 15px; padding: 16px 0; border-top: 1px solid #ded5c7; }
.publishing-checklist li > span { color: #7043e4; }
.publishing-checklist strong { font-size: .85rem; }
.publishing-checklist li p { font-size: .8rem; margin: 6px 0 0; }
.publishing-page .publishing-checklist-note { margin-bottom: 0; font-size: .75rem; }
.publishing-faq { background: white; border-top: 1px solid #eee7f2; }
.publishing-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.publishing-faq-intro h2 { font-size: clamp(1.5rem, 2.7vw, 2rem); }
.publishing-faq-intro p { font-size: .9rem; }
.publishing-question { border-bottom: 1px solid #e4dce9; }
.publishing-question:first-child { border-top: 1px solid #e4dce9; }
.publishing-question summary { position: relative; list-style: none; cursor: pointer; padding: 23px 36px 23px 0; font-size: .9rem; line-height: 1.65; font-weight: 600; }
.publishing-question summary::-webkit-details-marker { display: none; }
.publishing-question summary::after { content: '+'; position: absolute; right: 4px; top: 21px; color: #7043e4; font-size: 1.3rem; font-weight: 400; }
.publishing-question[open] summary::after { content: '−'; }
.publishing-question[open] summary { color: #6941c6; }
.publishing-question p { margin: 0; padding: 0 24px 24px 0; font-size: .85rem; }
.publishing-question a { color: #6941c6; text-underline-offset: 3px; overflow-wrap: anywhere; }
.publishing-cta { position: relative; background: #2c1c46; }
.publishing-cta .section-inner { max-width: 720px; text-align: center; }
.publishing-cta .publishing-kicker { color: #d2baff; }
.publishing-cta h2 { color: #fff9ed; font-size: clamp(1.7rem, 4vw, 2.8rem); }
.publishing-cta .section-lead { color: #ded3ee; margin-top: 24px; }
.publishing-cta .btn-primary { background: #f9bf56; color: #2c1c46; }
.publishing-cta .btn-primary:hover { background: #ffd484; }
.publishing-cta a:focus-visible { outline-color: #fff9ed; }
@media (max-width: 960px) {
    .publishing-hero-grid { gap: 20px; grid-template-columns: 1.2fr 1fr; }
    .publishing-art { transform: scale(.85); transform-origin: center; }
    .publishing-split, .publishing-faq-grid { gap: 36px; }
    .publishing-steps li { padding: 22px; }
}
@media (max-width: 720px) {
    .publishing-hero { padding: 40px 24px 24px; }
    .publishing-hero-grid, .publishing-split, .publishing-faq-grid { grid-template-columns: 1fr; gap: 28px; }
    .publishing-page h1 { font-size: clamp(1.7rem, 6.5vw, 2.6rem); }
    .publishing-art { width: min(100%, 400px); height: 400px; margin: 0 auto; transform: none; }
    .publishing-principles .section-inner { flex-direction: column; gap: 12px; }
    .publishing-steps { grid-template-columns: 1fr; }
    .publishing-steps .step-number { margin-bottom: 18px; }
    .publishing-checklist { transform: none; padding: 24px; }
    .publishing-page .publishing-lead { font-size: .95rem; }
}
@media (max-width: 420px) {
    .publishing-art { height: 340px; }
    .publishing-book { width: 195px; height: 275px; left: 80px; top: 25px; padding: 24px; }
    .publishing-book strong { font-size: 1.7rem; margin-top: 20px; }
    .publishing-book-top { font-size: .42rem; }
    .publishing-book-star { font-size: 3.5rem; bottom: 25px; right: 18px; }
    .publishing-manuscript { width: 175px; height: 240px; top: 28px; left: 2px; }
    .publishing-orbit { width: 280px; height: 280px; left: 0; top: 20px; }
    .publishing-art-note { display: none; }
    .publishing-art-label { left: 0; bottom: 0; font-size: .63rem; }
    .publishing-page .btn-primary { width: 100%; text-align: center; }
}
