/* Campaign-only layouts. Reuse the active Rituais palette and local typefaces. */
.campaign-page {padding-bottom:0}
.campaign-page .campaign-breadcrumbs {padding-block:1.4rem;font-size:.75rem;color:var(--rituais-text-muted)}
.campaign-breadcrumbs ol {display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.campaign-breadcrumbs li+li:before {content:'/';margin-right:.5rem;color:var(--rituais-accent-strong)}
.campaign-breadcrumbs a:hover {text-decoration:underline}
.campaign-hero {display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:1.8rem 5rem}
.campaign-hero h1 {font-size:clamp(3.4rem,6.7vw,6.4rem);line-height:1.02;max-width:10ch;margin-bottom:1.8rem}
.campaign-lead {font-size:1.22rem;line-height:1.75;max-width:32rem;color:var(--rituais-text-muted)}
.campaign-hero .actions {margin-top:2rem;gap:1rem 1.5rem}
.campaign-hero-note {font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-top:2rem;color:var(--rituais-text-muted)}
.campaign-hero-image {position:relative;padding:1rem;border:1px solid var(--rituais-border-premium);background:var(--rituais-bg-alt)}
.campaign-hero-image img {aspect-ratio:4/4.6;object-fit:cover;object-position:65% center}
.campaign-hero-image figcaption {position:absolute;left:-1.5rem;bottom:2.4rem;background:var(--rituais-bg);padding:1.1rem 1.8rem;font:italic 1.35rem var(--font-heading);color:var(--rituais-primary)}
.campaign-content>.wp-block-group {margin:0;padding-block:clamp(3.5rem,6vw,6rem)}
.campaign-content h2 {font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;margin:0 0 1.5rem;max-width:19ch}
.campaign-content h3 {font-size:clamp(1.4rem,2.2vw,2rem);margin:0 0 .8rem}
.campaign-content .wp-block-group>*+* {margin-top:1.2rem}
.campaign-content .campaign-intro {border-top:1px solid var(--rituais-border-premium);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.campaign-content .campaign-intro>div {margin:0}
.campaign-intro .campaign-manifesto {font:400 clamp(1.8rem,3vw,2.7rem)/1.25 var(--font-heading);color:var(--rituais-primary);max-width:22ch}
.campaign-content .campaign-promise {background:var(--rituais-bg-alt);padding:2rem;border-left:2px solid var(--rituais-accent)}
.campaign-promise .campaign-number {font:400 clamp(4rem,7vw,6.5rem)/1 var(--font-heading);color:var(--rituais-primary);margin:0}
.campaign-offers {border-top:1px solid var(--rituais-border)}
.campaign-content .campaign-offer-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}
.campaign-content .campaign-offer {display:flex;flex-direction:column;min-width:0;margin:0;background:var(--rituais-bg-alt);padding-bottom:1.8rem;border-bottom:1px solid var(--rituais-border-premium)}
.campaign-offer>figure {margin:0}
.campaign-offer>figure img {aspect-ratio:4/3;object-fit:cover;width:100%}
.campaign-offer>:not(figure) {margin-left:1.5rem;margin-right:1.5rem}
.campaign-offer h3 {margin-top:1.5rem;max-width:22ch}
.campaign-offer .campaign-price {font:400 2.4rem/1.15 var(--font-heading);color:var(--rituais-primary);margin-top:auto;padding-top:.5rem}
.campaign-content a.text-link {text-decoration:none}
.campaign-content .campaign-spotlight {display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;border-top:1px solid var(--rituais-border)}
.campaign-spotlight>.wp-block-image {margin:0;padding:1rem;border:1px solid var(--rituais-border-premium)}
.campaign-spotlight>.wp-block-image img {aspect-ratio:4/5;object-fit:cover}
.campaign-spotlight .campaign-price {font:400 clamp(3rem,5vw,5rem)/1.1 var(--font-heading);color:var(--rituais-primary)}
.campaign-spotlight .campaign-former {font-size:1rem;color:var(--rituais-text-muted)}
.campaign-content .campaign-reasons {border-top:1px solid var(--rituais-border);padding-bottom:3rem}
.campaign-reasons>.wp-block-group {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.campaign-reasons>.wp-block-group>div {margin:0;border-top:1px solid var(--rituais-border-premium);padding-top:1.5rem}
.campaign-conditions {padding-block:2rem 4rem;font-size:.9rem;color:var(--rituais-text-muted)}
.campaign-conditions h2 {font-size:1.5rem;margin-bottom:1rem}
.campaign-conditions p {max-width:65ch}
.campaign-final {position:relative;text-align:center;padding-block:clamp(4rem,7vw,7rem);background:var(--rituais-dark);color:var(--rituais-on-dark)}
.campaign-final:before {content:'';position:absolute;inset:1rem;border:1px solid color-mix(in srgb,var(--rituais-accent) 50%,transparent);pointer-events:none}
.campaign-final h2 {color:inherit;font-size:clamp(2.7rem,5vw,5rem);max-width:16ch;margin:0 auto 1.5rem}
.campaign-final .eyebrow {color:var(--rituais-accent-soft)}
.campaign-final p {max-width:36rem;margin:0 auto 2rem}
.campaign-state {padding-block:1rem;border-block:1px solid var(--rituais-border-premium);background:var(--rituais-bg-alt)}
.campaign-index {padding-bottom:5rem;min-height:65vh}
.campaign-index-heading {padding-block:3rem}
.campaign-index-heading h1 {margin-bottom:1.5rem}
.campaign-index-intro {max-width:850px;margin-bottom:2rem}
.campaign-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}
.campaign-card {background:var(--rituais-bg-alt)}
.campaign-card-image {display:block;overflow:hidden}
.campaign-card-image img {aspect-ratio:1.65;object-fit:cover}
.campaign-card-copy {padding:2rem}
.campaign-card h2 {font-size:2.5rem;margin-bottom:1rem}
.campaign-card .text-link {margin-top:1rem}
@media(min-width:1101px) {.campaign-grid:has(>.campaign-card:only-child) {grid-template-columns:1fr}.campaign-grid>.campaign-card:only-child {display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.campaign-grid>.campaign-card:only-child .campaign-card-image img {aspect-ratio:1.5}}
@media(max-width:1100px) {.campaign-hero {gap:2rem}.campaign-offer-grid.campaign-offer-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px) {
 .campaign-hero {grid-template-columns:1fr;padding-block:1rem 3rem;gap:2rem}
 .campaign-hero h1 {font-size:clamp(3.2rem,13vw,5rem)}
 .campaign-lead {font-size:1.1rem}
 .campaign-hero-image img {aspect-ratio:1.15;object-position:65% center}
 .campaign-hero-image figcaption {left:0;bottom:1.5rem;padding:.8rem 1.2rem;font-size:1.15rem}
 .campaign-content .campaign-intro,.campaign-content .campaign-spotlight {grid-template-columns:1fr;gap:2rem}
 .campaign-content .campaign-offer-grid {gap:1rem}
 .campaign-content .campaign-reasons>.wp-block-group,.campaign-grid {grid-template-columns:1fr}
 .campaign-spotlight>.wp-block-image img {aspect-ratio:1.2}
 .campaign-index-heading {padding-block:2rem}
 .campaign-card-copy {padding:1.5rem}
}
@media(max-width:599px) {.campaign-content .campaign-offer-grid {grid-template-columns:1fr;gap:2rem}.campaign-offer>figure img {aspect-ratio:1.5}.campaign-hero .actions {align-items:flex-start;flex-direction:column}.campaign-content .campaign-promise {padding:1.5rem}}
/* Editorial preview shares presentation without changing other pages. */
.editor-styles-wrapper .campaign-offer-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.editor-styles-wrapper .campaign-offer {padding:1rem;background:var(--rituais-bg-alt);border:1px solid var(--rituais-border)}
