.section-dark { color: var(--paper); background: var(--night); }
.section-dark .eyebrow { color: var(--sun); }
.section-dark .lead { color: var(--muted-paper); }
.section-gold { color: var(--ink); background: var(--sun); }

.route-hero { position: relative; overflow: hidden; padding-block: clamp(2.5rem, 5vw, 4.8rem); background: var(--paper-deep); }
.route-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(23 19 16 / 4%) 1px, transparent 1px), linear-gradient(rgb(23 19 16 / 4%) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent, black 55%, transparent); content: ""; pointer-events: none; }
.route-hero::after { position: absolute; right: -9rem; bottom: -13rem; width: clamp(280px, 36vw, 540px); aspect-ratio: 1; border: clamp(28px, 4vw, 58px) solid rgb(23 19 16 / 7%); border-radius: 50%; content: ""; pointer-events: none; }
.route-hero.section-dark { color: var(--paper); background: radial-gradient(circle at 76% 30%, rgb(48 59 130 / 42%), transparent 31%), var(--night); }
.route-hero.section-dark::before { background-image: linear-gradient(90deg, rgb(245 239 230 / 4%) 1px, transparent 1px), linear-gradient(rgb(245 239 230 / 4%) 1px, transparent 1px); }
.route-hero.section-dark::after { border-color: rgb(245 239 230 / 7%); }
.route-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr); min-height: 440px; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.route-hero--text .route-hero__layout, .route-hero__layout--text { grid-template-columns: minmax(0, 760px); min-height: 170px; }
.route-hero__copy { position: relative; z-index: 2; }
.route-hero__copy h1 { max-width: 13ch; margin-bottom: .28em; font-size: var(--step-4); }
.route-hero__copy .lead { max-width: 44ch; font-size: var(--step-1); }
.route-hero__visual { position: relative; height: min(58svh, 520px); min-height: 360px; align-self: center; overflow: hidden; border-bottom: 1px solid rgb(23 19 16 / 34%); }
.route-hero__visual::after { position: absolute; right: 5%; bottom: -9px; left: 5%; height: 24px; background: radial-gradient(ellipse, rgb(0 0 0 / 28%), transparent 70%); content: ""; }
.route-hero__visual picture, .route-hero__visual img { width: 100%; height: 100%; }
.route-hero__image, .profile-stage__image, .event-campaign__image { position: relative; z-index: 1; object-fit: contain; object-position: center bottom; }
.route-hero__visual--photo, .profile-stage__visual--photo, .event-campaign__visual--photo { background: #29272a; border: 1px solid rgb(245 239 230 / 22%); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.route-hero__visual--photo::after, .profile-stage__visual--photo::after, .event-campaign__visual--photo::after { display: none; }
.route-hero__image--photo, .profile-stage__image--photo, .event-campaign__image--photo { object-fit: contain; object-position: center; }
.route-hero--agenda { background: var(--sun); }
.route-hero--profile { color: var(--paper); background: var(--teal); }
.route-hero--profile .eyebrow, .route-hero--archive .eyebrow { color: var(--sun); }
.route-hero--profile .lead, .route-hero--archive .lead { color: var(--muted-paper); }
.route-hero--archive { color: var(--paper); background: var(--red); }
.route-hero--suggestion { background: var(--orange); }
.route-hero--document { padding-block: clamp(2rem, 4vw, 3.5rem); background: var(--white); border-bottom: var(--line-light); }
.route-hero--document .route-hero__layout { min-height: 230px; }
.route-hero--document .route-hero__visual { min-height: 260px; }

.event-campaign__hero { padding-block: clamp(2.5rem, 4.5vw, 4.6rem); }
.event-campaign__visual { padding: .8rem; background: rgb(245 239 230 / 5%); border: 1px solid rgb(245 239 230 / 16%); border-radius: var(--radius-md); }
.event-campaign__visual--photo { padding: 0; background: #29272a; }
.event-campaign__visual--art .event-campaign__image, .show-campaign__art .event-campaign__image { object-fit: contain; object-position: center; }
.event-campaign__summary { display: grid; gap: .35rem; margin-bottom: 1.35rem; }
.event-campaign__summary p { margin: 0; color: var(--muted-paper); }
.event-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .38fr); align-items: start; gap: var(--space-6); }
.event-facts h2 { font-size: var(--step-3); }
.event-facts dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; background: var(--ink); border: var(--line); border-radius: var(--radius-md); }
.event-facts dl div { min-height: 112px; padding: 1.15rem; background: var(--white); }
.event-facts dt { color: var(--red); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.event-facts dd { margin: .4rem 0 0; font-family: var(--font-display); font-size: var(--step-1); font-weight: 720; line-height: 1.2; }
.event-purchase { position: sticky; top: calc(var(--header-height) + 1.2rem); display: grid; gap: 1rem; padding: 1.2rem; background: var(--white); border: var(--line-light); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
.event-campaign__content { padding-top: 0; }
.event-past .event-campaign__hero { background: linear-gradient(135deg, var(--carbon), var(--night)); }

.profile-stage__content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .46fr); align-items: start; gap: var(--space-6); }
.profile-stage__content > .prose:only-child { grid-column: 1 / -1; }
.profile-stage__next { align-self: start; }
.profile-stage__gesture { height: 560px; overflow: hidden; background: var(--sun); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.profile-stage__gesture picture, .profile-stage__gesture img { width: 100%; height: 100%; }
.profile-stage__gesture-image { object-fit: contain; object-position: bottom; }
.profile-stage__gesture--photo { background: #29272a; border: 1px solid rgb(23 19 16 / 18%); }
.profile-stage__gesture-image--photo { object-fit: contain; object-position: center; }

/* Sobre: composição editorial compacta, usando somente conteúdo e fotografias persistidos. */
.about-page-hero { padding-block: 0; background: radial-gradient(circle at 82% 18%, rgb(48 59 130 / 48%), transparent 34%), var(--night); }
.about-page-hero::before { opacity: .72; mask-image: linear-gradient(to right, black, transparent 78%); }
.about-page-hero::after { right: 26%; bottom: -17rem; border-color: rgb(245 239 230 / 8%); }
.about-page-hero__layout { width: min(100% - (2 * var(--edge)), var(--shell-wide)); min-height: min(620px, calc(100svh - var(--header-height) - var(--hero-admin-offset))); grid-template-columns: minmax(320px, .72fr) minmax(500px, 1.28fr); gap: 0; }
.about-page-hero__copy { padding: clamp(2.8rem, 6vw, 5.6rem) clamp(2rem, 5vw, 5rem) clamp(2.8rem, 6vw, 5.6rem) 0; }
.about-page-hero__copy h1 { max-width: 7ch; margin-bottom: .42em; font-size: var(--step-5); }
.about-page-hero__actions { margin-top: var(--space-5); }
.about-page-hero__booking { color: var(--paper); border-color: var(--paper); }
.about-page-hero__booking:hover { color: var(--ink); }
.about-page-hero__visual { height: min(620px, calc(100svh - var(--header-height) - var(--hero-admin-offset))); min-height: 500px; align-self: stretch; border: 0; clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); }
.about-page-hero__visual::before { position: absolute; z-index: 2; inset: 0 auto 0 0; width: 24%; background: linear-gradient(90deg, var(--night), transparent); content: ""; pointer-events: none; }
.about-page-hero__visual::after { display: none; }
.about-page-hero__visual picture, .about-page-hero__visual img { width: 100%; height: 100%; }
.about-page-hero__image { object-fit: cover; object-position: center 12%; }
.about-page-hero--text .about-page-hero__layout { grid-template-columns: minmax(0, 720px); }
.about-page-hero--text .about-page-hero__copy { padding-right: 0; }

.about-story { background: var(--paper); }
.about-story__layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(2rem, 7vw, 7rem); }
.about-story__layout--untitled { grid-template-columns: minmax(0, 680px); justify-content: end; }
.about-story__heading h2 { max-width: 8ch; margin: 0; font-size: var(--step-4); }
.about-story__body { display: grid; justify-items: start; gap: var(--space-5); }
.about-story__statement { max-width: 680px; }
.about-story__statement p { max-width: 58ch; margin: 0; font-size: var(--step-1); line-height: 1.62; }

.about-booking { overflow: hidden; }
.about-booking__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); }
.about-booking__heading h2 { max-width: 12ch; margin: 0; font-size: var(--step-4); }
.about-booking__action { display: grid; justify-items: start; gap: var(--space-4); }
.about-booking__action > p { max-width: 52ch; margin: 0; font-size: var(--step-1); }
