.publish-hero {
    position: relative;
    overflow: clip;
    padding: clamp(3.5rem, 7vw, 7.5rem) 0 clamp(6rem, 10vw, 10rem);
    background:
        linear-gradient(90deg, transparent calc(50% - .5px), rgba(127,29,116,.08) 50%, transparent calc(50% + .5px)),
        var(--paper);
}
.publish-hero::before {
    content: 'AUTOR';
    position: absolute;
    right: -1.5vw;
    bottom: -3.8rem;
    color: rgba(127,29,116,.035);
    font: clamp(9rem, 20vw, 20rem)/.75 var(--font-display);
    letter-spacing: -.09em;
    pointer-events: none;
}
.publish-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.publish-hero-copy { position: relative; padding-left: clamp(1.25rem, 3vw, 3rem); }
.publish-hero-copy::before { content: ''; position: absolute; top: .35rem; bottom: .45rem; left: 0; width: 1px; background: linear-gradient(var(--brand) 0 30%, var(--line) 30% 100%); }
.publish-hero-copy h1 { max-width: 11ch; font-size: clamp(3.3rem, 5.7vw, 6.35rem); }
.publish-hero-copy h1 em { display: block; color: var(--brand); font-weight: 400; }
.publish-hero-copy > p:not(.eyebrow) { max-width: 37rem; margin: var(--space-8) 0; color: var(--ink-soft); font-size: var(--step-1); line-height: 1.62; }
.publish-hero .button-row { margin-top: var(--space-8); }
.hero-assurances { display: grid; grid-template-columns: repeat(3, auto); width: fit-content; margin-top: var(--space-10); list-style: none; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .67rem; font-weight: 760; letter-spacing: .025em; }
.hero-assurances li { padding: .9rem 1.1rem .2rem 0; }
.hero-assurances li + li { padding-left: 1.1rem; border-left: 1px solid var(--line); }
.hero-assurances li::before { content: '✓'; margin-right: .45rem; color: var(--brand); }
.publish-hero-image { position: relative; width: min(100%, 37rem); justify-self: end; padding: 1.1rem 0 0 1.1rem; }
.publish-hero-image::before { content: ''; position: absolute; inset: 0 1.1rem 1.1rem 0; border: 1px solid var(--brand); opacity: .42; }
.publish-hero-image::after { content: ''; position: absolute; z-index: 1; inset: 1.1rem 0 0 1.1rem; background: linear-gradient(180deg, transparent 50%, rgba(45,13,43,.42)); pointer-events: none; }
.publish-hero-image img { position: relative; z-index: 1; width: 100%; aspect-ratio: 5 / 5.85; object-fit: cover; object-position: 64% center; filter: saturate(.72) contrast(1.02); box-shadow: 0 35px 80px rgba(50,27,45,.18); transition: filter .6s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.publish-hero-image:hover img { filter: saturate(.92) contrast(1.02); transform: translate(-.25rem, -.25rem); }
.publish-image-card { position: absolute; z-index: 3; left: -3.8rem; bottom: 2.8rem; display: grid; min-width: 14.5rem; padding: 1.4rem 1.6rem; border-top: 3px solid var(--brand); background: rgba(255,253,250,.96); box-shadow: 0 18px 50px rgba(45,13,43,.16); backdrop-filter: blur(10px); }
.publish-image-card span, .publish-image-card small { color: var(--ink-soft); font-size: .62rem; font-weight: 730; letter-spacing: .12em; text-transform: uppercase; }
.publish-image-card strong { margin-block: .1rem; color: var(--brand-deep); font: 1.8rem/.95 var(--font-display); }
.publish-chapter { position: absolute; z-index: 3; top: 2.1rem; right: -1.3rem; padding: .65rem .85rem; background: var(--brand); color: white; font-size: .62rem; font-weight: 820; letter-spacing: .15em; writing-mode: vertical-rl; }

.project-builder { position: relative; scroll-margin-top: calc(var(--header-height) + 1rem); background: var(--surface); }
.project-builder::before { content: 'PROJETO'; position: absolute; top: 2rem; left: max(1.5rem, calc((100vw - var(--container))/2)); color: rgba(127,29,116,.035); font: clamp(6rem, 13vw, 13rem)/1 var(--font-display); letter-spacing: -.07em; pointer-events: none; }
.project-builder .container { position: relative; }
.builder-grid { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(20rem, .72fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.builder-options { counter-reset: option; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 0; padding: 0; border: 0; }
.builder-option { counter-increment: option; position: relative; display: grid; min-height: 12rem; grid-template-columns: 1.3rem 1fr 1rem; gap: var(--space-5); align-items: start; overflow: hidden; padding: var(--space-8); border: 1px solid var(--line); background: var(--surface); cursor: pointer; transition: border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition); }
.builder-option::after { content: '0' counter(option); position: absolute; right: -.35rem; bottom: -1rem; color: rgba(127,29,116,.055); font: 4.8rem/1 var(--font-display); transition: color var(--transition), transform var(--transition); }
.builder-option:hover { z-index: 1; border-color: var(--brand); transform: translateY(-4px); box-shadow: 0 18px 42px rgba(53,30,48,.09); }
.builder-option:hover::after { color: rgba(127,29,116,.1); transform: translate(-.2rem,-.2rem); }
.builder-option:has(input:checked) { border-color: var(--brand); background: var(--brand-wash); box-shadow: inset 4px 0 var(--brand); }
.builder-option input { position: absolute; opacity: 0; pointer-events: none; }
.builder-option input:focus-visible + .builder-check { outline: 3px solid color-mix(in srgb, var(--brand) 75%, white); outline-offset: 3px; }
.builder-check { position: relative; z-index: 1; display: grid; width: 1.3rem; height: 1.3rem; place-items: center; border: 1px solid var(--line); background: white; }
.builder-option input:checked + .builder-check { border-color: var(--brand); background: var(--brand); }
.builder-option input:checked + .builder-check::after { content: '✓'; color: white; font-size: .72rem; font-weight: 900; }
.builder-option > span { position: relative; z-index: 1; }
.builder-option strong { display: block; max-width: 12ch; margin-bottom: .55rem; font: 1.5rem/1.05 var(--font-display); }
.builder-option small { display: block; max-width: 30ch; color: var(--ink-soft); font-size: .75rem; line-height: 1.58; }
.builder-add { color: var(--brand); font: 1.4rem/1 var(--font-display); transition: transform var(--transition); }
.builder-option:has(input:checked) .builder-add { transform: rotate(45deg); }
.builder-summary { position: sticky; top: calc(var(--header-height) + 1.5rem); min-height: 31rem; overflow: hidden; padding: clamp(2rem, 4vw, 3.5rem); background: var(--brand-deep); color: white; box-shadow: 0 30px 70px rgba(45,13,43,.2); }
.builder-summary::before { content: 'Aa'; position: absolute; right: -1rem; top: -2rem; color: rgba(255,255,255,.035); font: 10rem/1 var(--font-display); }
.builder-summary::after { content: ''; position: absolute; right: 1.3rem; bottom: 1.3rem; width: 2.5rem; height: 3.2rem; border: 1px solid rgba(255,255,255,.2); border-top: 4px solid #d7a3d1; }
.builder-summary > * { position: relative; z-index: 1; }
.builder-summary h3 { max-width: 9ch; margin-bottom: var(--space-8); color: white; font-size: clamp(2.2rem, 3vw, 3.4rem); }
.builder-empty { max-width: 26rem; color: #d8cdd7; font-size: .9rem; }
.builder-summary > ul { display: grid; gap: .65rem; margin-bottom: var(--space-8); list-style: none; color: #eadfea; font-size: .84rem; }
.builder-summary > ul li { padding-bottom: .55rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.builder-summary > ul li::before { content: '✓'; margin-right: .65rem; color: #dca6d6; }
.builder-summary-footer { margin-top: var(--space-10); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,.2); }
.builder-summary-footer p { display: grid; margin-bottom: var(--space-6); }
.builder-summary-footer p strong { color: white; font-size: .88rem; }
.builder-summary-footer p span { color: #cfc2ce; font-size: .7rem; }
.builder-summary-footer .button { width: 100%; }

.packages-section { overflow: clip; background: var(--paper); }
.packages-section::before { content: '03'; position: absolute; top: 3rem; right: 3vw; color: rgba(127,29,116,.045); font: clamp(7rem, 14vw, 14rem)/1 var(--font-display); }
.package-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.8rem, 2vw, 1.5rem); align-items: stretch; }
.package-grid article { position: relative; display: flex; min-height: 31rem; flex-direction: column; align-items: flex-start; overflow: hidden; padding: clamp(2rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--surface); box-shadow: 0 12px 35px rgba(49,31,45,.045); transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.package-grid article::after { content: ''; position: absolute; right: 0; bottom: 0; width: 4rem; height: 4rem; border-style: solid; border-width: 0 0 1px 1px; border-color: var(--line); transform: translate(1.5rem,1.5rem) rotate(45deg); }
.package-grid article:hover { z-index: 2; border-color: var(--brand); transform: translateY(-7px); box-shadow: 0 26px 55px rgba(49,31,45,.12); }
.package-grid article.package-featured { margin-block: -1rem 1rem; border-color: var(--brand); background: var(--brand); color: white; box-shadow: 0 25px 60px rgba(88,18,79,.22); }
.package-grid article.package-featured::before { content: 'RECOMENDADO'; position: absolute; top: 1.4rem; right: -2.9rem; width: 10rem; padding: .35rem; background: var(--paper); color: var(--brand); font-size: .54rem; font-weight: 850; letter-spacing: .12em; text-align: center; transform: rotate(45deg); }
.package-index { margin-bottom: auto; color: var(--brand); font: 1.5rem var(--font-display); }
.package-featured .package-index { color: #e9bce4; }
.package-label { margin-top: var(--space-12); margin-bottom: var(--space-3); color: var(--ink-soft); font-size: .66rem; font-weight: 780; letter-spacing: .13em; text-transform: uppercase; }
.package-featured .package-label { color: #eadde8; }
.package-grid h3 { max-width: 10ch; margin-bottom: var(--space-8); font-size: clamp(2rem, 3vw, 3rem); }
.package-grid ul { display: grid; gap: .65rem; margin-bottom: var(--space-10); list-style: none; color: var(--ink-soft); font-size: .84rem; }
.package-featured ul { color: #f0e7ef; }
.package-grid li::before { content: '—'; margin-right: .6rem; color: var(--brand); }
.package-featured li::before { color: #e4a8dd; }
.package-grid .text-link { z-index: 1; margin-top: auto; padding: 0 0 .2rem; }
.package-featured .text-link { color: white; }

.benefits-section { position: relative; overflow: clip; padding-block: var(--space-30); background: var(--brand-deep); color: white; }
.benefits-section::after { content: 'LEITURA'; position: absolute; bottom: -3rem; left: -1rem; color: rgba(255,255,255,.025); font: clamp(8rem, 19vw, 19rem)/1 var(--font-display); letter-spacing: -.08em; pointer-events: none; }
.benefits-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr); gap: clamp(4rem, 9vw, 9rem); }
.benefits-title { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.benefits-title h2 { max-width: 13ch; color: white; font-size: clamp(2.4rem, 4.2vw, 4.4rem); }
.benefit-list { counter-reset: benefit; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.benefit-list li { position: relative; display: grid; grid-template-columns: 2rem 1fr; gap: var(--space-5); min-height: 12rem; align-content: center; overflow: hidden; padding: var(--space-8); border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); transition: background var(--transition), transform var(--transition); }
.benefit-list li:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.18); }
.benefit-list li:hover { z-index: 1; background: rgba(255,255,255,.07); transform: translateY(-3px); }
.benefit-list span { color: #d991d1; font: .9rem var(--font-display); }
.benefit-list p { color: #ddd2dc; font-size: .95rem; }
.benefit-list strong { display: block; margin-bottom: .25rem; color: white; font: 1.25rem var(--font-display); }

.commercial-flow { overflow: clip; }
.commercial-flow ol { counter-reset: flow; display: grid; grid-template-columns: repeat(6, 1fr); list-style: none; border-top: 1px solid var(--line); }
.commercial-flow li { position: relative; display: grid; min-height: 14rem; align-content: space-between; overflow: hidden; padding: var(--space-6) var(--space-5); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background var(--transition), color var(--transition), transform var(--transition); }
.commercial-flow li:first-child { border-left: 1px solid var(--line); }
.commercial-flow li::after { content: '→'; position: absolute; right: .75rem; top: 50%; color: var(--line); font: 1.5rem var(--font-display); transform: translateY(-50%); }
.commercial-flow li:last-child::after { content: '✓'; color: var(--brand); }
.commercial-flow li:hover { z-index: 1; background: var(--brand-wash); transform: translateY(-4px); }
.commercial-flow li span { color: var(--brand); font: .95rem var(--font-display); }
.commercial-flow li strong { max-width: 9ch; font: 1.3rem/1.2 var(--font-display); }

@media (max-width: 68rem) {
    .publish-hero-grid { grid-template-columns: 1fr 1fr; gap: var(--space-12); }
    .publish-hero-copy h1 { font-size: clamp(3rem, 6vw, 4.9rem); }
    .publish-image-card { left: -1.5rem; }
    .builder-grid { grid-template-columns: 1.15fr .85fr; gap: var(--space-8); }
    .builder-options { grid-template-columns: 1fr; }
    .builder-option { min-height: 9.5rem; }
    .commercial-flow ol { grid-template-columns: repeat(3, 1fr); }
    .commercial-flow li:nth-child(4) { border-left: 1px solid var(--line); }
}

@media (max-width: 52rem) {
    .publish-hero { background: var(--paper); }
    .publish-hero-grid, .builder-grid, .benefits-grid { grid-template-columns: 1fr; }
    .publish-hero-copy { padding-left: var(--space-6); }
    .publish-hero-image { width: min(100% - 1rem, 34rem); margin-top: var(--space-6); justify-self: center; }
    .builder-options { grid-template-columns: 1fr 1fr; }
    .builder-summary, .benefits-title { position: static; }
    .builder-summary { min-height: 26rem; }
    .package-grid { grid-template-columns: 1fr 1fr; }
    .package-grid article:last-child { grid-column: 1 / -1; min-height: 25rem; }
    .package-grid article.package-featured { margin: 0; }
}

@media (max-width: 38rem) {
    .publish-hero { padding-top: var(--space-10); }
    .publish-hero-copy { padding-left: var(--space-5); }
    .publish-hero-copy h1 { font-size: clamp(2.8rem, 14vw, 4.25rem); }
    .publish-hero-copy h1 em { display: inline; }
    .hero-assurances { grid-template-columns: 1fr; width: 100%; }
    .hero-assurances li { padding: .7rem 0; border-bottom: 1px solid var(--line); }
    .hero-assurances li + li { padding-left: 0; border-left: 0; }
    .publish-hero-image { width: calc(100% - .75rem); padding: .65rem 0 0 .65rem; }
    .publish-hero-image::before { inset: 0 .65rem .65rem 0; }
    .publish-hero-image::after { inset: .65rem 0 0 .65rem; }
    .publish-image-card { left: -.5rem; bottom: 1rem; min-width: 11.5rem; padding: 1rem 1.1rem; }
    .publish-image-card strong { font-size: 1.45rem; }
    .publish-chapter { top: 1.4rem; right: -.5rem; }
    .builder-options, .package-grid, .benefit-list { grid-template-columns: 1fr; }
    .builder-option { min-height: 10rem; padding: var(--space-6); }
    .builder-summary { min-height: 28rem; padding: var(--space-8); }
    .package-grid article, .package-grid article:last-child { grid-column: auto; min-height: 25rem; }
    .benefit-list li, .benefit-list li:nth-child(odd) { min-height: 9.5rem; border-left: 1px solid rgba(255,255,255,.18); }
    .commercial-flow ol { grid-template-columns: 1fr 1fr; }
    .commercial-flow li { min-height: 11rem; }
    .commercial-flow li:nth-child(odd) { border-left: 1px solid var(--line); }
    .commercial-flow li:nth-child(4) { border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .publish-hero-image img, .builder-option, .package-grid article, .benefit-list li, .commercial-flow li { transition: none; }
}
