/* Ajustes da home e seções do DOCX. Carregado após os estilos extraídos. */
html { scroll-padding-top: 24px; }
main { display: block; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 10; padding: 12px 20px; background: #f3ecdd; color: #1f241d; }
.skip-link:focus { top: 12px; }
.page :focus-visible { outline: 3px solid #a64b20; outline-offset: 4px; }
.home-kits :focus-visible, .home-blends :focus-visible, .home-visite :focus-visible { outline-color: #f3ecdd; }
.home-section { padding: 76px 0; background: #f3ecdd; color: #2a2118; }
.home-container { width: min(1080px, calc(100% - 40px)); margin-inline: auto; }
.home-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3vw, 40px); align-items: center; }
.home-copy { display: flex; flex-direction: column; gap: 20px; }
.home-section p { margin: 0; font-size: 17px; line-height: 1.7; }
.home-section h2 { margin: 0; font: 500 clamp(32px, 3.4vw, 46px)/1.16 Lora, Georgia, serif; }
.home-section h3 { margin: 0; font: 500 25px/1.3 Lora, Georgia, serif; }
.home-section .home-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #7a5c1e; }
.home-section .home-note { font-size: 15px; color: #5c5142; }
.home-photo { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.page .home-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; height: auto; max-width: 100%; padding: 14px 20px; border: 1px solid #2e4a35; border-radius: 3px; background: #2e4a35; color: #f3ecdd; text-decoration: none; font: 800 12px/1.5 'Nunito Sans', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; text-align: center; }
.page .home-button:hover { background: #1f241d; border-color: #1f241d; }
.page .home-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #2e4a35; font-weight: 800; text-underline-offset: 4px; }
.blend-steps { margin: 0; padding: 0; list-style: none; counter-reset: steps; display: grid; gap: 20px; }
.blend-steps li { position: relative; padding-left: 58px; counter-increment: steps; }
.blend-steps li::before { content: counter(steps); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #7a5c1e; border-radius: 50%; color: #7a5c1e; font: 20px Lora, serif; }
.blend-steps h3 { font-size: 21px; margin-bottom: 4px; }
.blend-steps p { font-size: 15px; color: #5c5142; }
.home-kits { background: #2e4a35; color: #f3ecdd; }
.home-kits .home-eyebrow { color: #d4c18c; }
.home-kits .home-callout { font: 500 25px/1.4 Lora, Georgia, serif; color: #e6d7af; }
.home-kits .kit-options-title { margin: 0 0 14px; font: 800 12px/1.6 'Nunito Sans', sans-serif; text-transform: uppercase; letter-spacing: .12em; color: #e6d7af; }
.kit-options { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.kit-options li { border: 1px solid #899782; border-radius: 20px; padding: 7px 12px; font-size: 14px; }
.home-kits .kit-photo { aspect-ratio: 4 / 5; }
.page .home-button-gold { background: #c3ab65; border-color: #c3ab65; color: #1f241d; }
.page .home-button-gold:hover { background: #e6d7af; border-color: #e6d7af; }
.page .home-button-light { background: transparent; border-color: #e6d7af; color: #f3ecdd; }
.page .home-button-light:hover { background: #1f241d; border-color: #e6d7af; }
.care-intro { margin-bottom: 40px; }
.care-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.care-photos img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; }
.care-photos img + img { margin-top: 40px; }
.care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.care-card { padding: 28px; border: 1px solid #c6b89e; border-radius: 4px; display: flex; flex-direction: column; gap: 18px; }
.care-card-featured { background: #e8e7d8; border-color: #718064; }
.care-card p { font-size: 16px; }
.care-card .care-price { font: 500 21px/1.5 Lora, Georgia, serif; color: #2e4a35; }
.care-price span { display: inline-block; }
.care-action { padding-top: 8px; margin-top: auto; }
.home-section .care-disclaimer { margin-top: 24px; color: #5c5142; font-size: 14px; }
.home-eventos { background: #eadfc8; }
.events-heading { margin-bottom: 32px; }
.home-blends .desktop-s058 .home-button { margin-top: 0; }
.home-blends .desktop-s062 { margin-top: auto; padding-top: 12px; margin-bottom: 12px; }
.visit-hours { text-underline-offset: 4px; }
/* Corrigir dimensões rígidas da base ao redor das novas seções. */
.page .desktop-s051 { gap: 24px; flex-wrap: wrap; }
.page .desktop-s057 { height: 270px; flex-wrap: nowrap; }
.page .desktop-s047, .page .desktop-s119 { width: 100%; }
.page .desktop-s129 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.page .desktop-s130 { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 1250px) {
  .care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .care-card-featured { grid-column: 1 / -1; }
  .page .desktop-s132 { flex-wrap: wrap; gap: 24px; }
  .page .desktop-s005 { gap: 20px; }
}
@media (max-width: 760px) {
  .home-section { padding: 48px 0; }
  .home-split, .care-grid { grid-template-columns: minmax(0, 1fr); }
  .home-kits .kit-photo { max-height: 560px; }
  .care-card-featured { grid-column: auto; }
  .care-card { padding: 24px; }
  .home-section h3 { font-size: 24px; }
  .blend-steps h3 { font-size: 21px; }
  .page .desktop-s002 { text-align: center; gap: 8px 14px; }
  .page .desktop-s002 .desktop-s003 { display: none; }
  .page .desktop-s005 { justify-content: center; padding: 24px 0; }
  .page .desktop-s008 { order: -1; width: 100%; }
  .page .desktop-s011 { justify-content: center; }
  .page .desktop-s006 { min-height: 44px; }
  .page .desktop-s015 { gap: 8px 18px; }
  .page .desktop-s034 { padding-block: 24px; }
  .page .desktop-s038 { font-size: 30px; line-height: 1.2; }
  .page .desktop-s045, .page .desktop-s118 { gap: 32px; }
  .page .desktop-s047 { height: 300px; }
  .page .desktop-s119 { height: 230px; }
  .page .desktop-s129 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .page .desktop-s015 a { padding-block: 10px; }
}

/* Navegação e destinos externos. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.external-link-icon { display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; vertical-align: middle; margin-left: .35em; }
.home-button.external-link { gap: 8px; }
.home-button .external-link-icon { margin-left: 0; }
.header-catalog-link, .header-contact-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #f3ecdd; font-size: 14px; text-underline-offset: 5px; text-decoration: none; }
.header-catalog-link:hover, .header-contact-link:hover { color: #e6d7af; }
.header-catalog-link { width: 250px; }
.header-contact-link { border-bottom: 1px solid #c3ab65; }
.site-header :focus-visible { outline-color: #f3ecdd; }
@media (min-width: 1024px) {
  .page .site-container, .page .home-container { width: min(1080px, calc(100% - 64px)); margin-inline: auto; }
  .page .desktop-s005 { height: 100px; }
  .page .desktop-s011 { width: 250px; }
  .page .desktop-s015 { height: auto; min-height: 56px; padding: 12px 32px; gap: 16px 30px; flex-wrap: wrap; }
  .page .desktop-s034 { height: auto; min-height: 80px; gap: 20px; }
  .page .desktop-s038 { font-size: 30px; }
  .page .desktop-s040, .page .desktop-s050, .home-section { padding-block: 60px; }
  .page .desktop-s042, .page .desktop-s051 { margin-bottom: 28px; gap: 24px; }
  .page .desktop-s044, .page .desktop-s052, .home-section h2 { font-size: 40px; }
  .page .desktop-s045 { gap: 28px 20px; }
  .page .desktop-s047 { height: 250px; }
  .page .desktop-s055 { gap: 20px; }
  .page .desktop-s057 { height: 240px; }
  .page .desktop-s057 > svg { width: 172px; height: 220px; }
  .page .desktop-s058 { padding: 20px 18px; }
  .page .desktop-s060 { font-size: 22px; }
  .page .product-contact { padding-inline: 10px; font-size: 11px; letter-spacing: .02em; }
  .page .home-split { gap: 40px; }
  .home-copy { gap: 18px; }
  .home-section p { font-size: 16px; line-height: 1.65; }
  .home-section .home-eyebrow { font-size: 12px; }
  .home-section .home-note, .blend-steps p { font-size: 15px; }
  .home-section .home-callout { font-size: 24px; }
  .home-kits .kit-photo { max-height: 520px; }
  .care-intro { margin-bottom: 32px; }
  .care-photos { max-width: 460px; gap: 16px; }
  .care-card { padding: 24px; gap: 16px; }
  .care-card h3 { font-size: 24px; }
  .care-card p { font-size: 16px; }
  .care-card .care-price { font-size: 20px; }
  .page .desktop-s112 { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; }
  .page .desktop-s117 { width: 360px; height: 460px; }
  .page .desktop-s118 { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
  .page .desktop-s119 { height: 210px; }
  .page .desktop-s121 { font-size: 23px; }
  .page .desktop-s123 { padding-bottom: 60px; }
  .page .desktop-s132 { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; }
  .page .desktop-s134 { font-size: 28px; }
  .page .desktop-s136 { min-width: 0; gap: 8px; }
  .page .desktop-s137 { width: 100%; min-width: 0; }
  .page .desktop-s138 { flex-shrink: 0; padding-inline: 18px; font-size: 12px; }
  .page .desktop-s140 { gap: 32px; }
  .page .desktop-s141 { width: 220px; }
  .page .desktop-s147 { margin-top: 40px; }
}
@media (min-width: 1100px) {
  .page .desktop-s045, .page .desktop-s055 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .care-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .care-card-featured { grid-column: auto; }
}
@media (min-width: 1024px) {
  .page .desktop-s034 { flex-wrap: wrap; padding-block: 16px; }
  .page .desktop-s132 > .home-button { justify-self: end; }
}

/* Catálogo completo: a tabela foi substituída por dez cards com embalagem. */
.blend-catalog-note { margin: 0; color: #c3ab65; font-size: 14px; line-height: 1.5; white-space: nowrap; }
@media (min-width: 1100px) {
  .page .blend-grid { row-gap: 28px; }
  .blend-grid > article:nth-child(9) { grid-column: 2; }
  .blend-grid > article:nth-child(10) { grid-column: 3; }
}

/* Encontros: próximo espetáculo em destaque, memória do encontro abaixo. */
.home-eventos .events-heading { max-width: 740px; gap: 14px; margin-bottom: 32px; }
.home-eventos .events-heading > p:last-child { color: #5c5142; }
.home-eventos .event-card { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 32px; padding: 28px; border: 1px solid #c6b89e; border-radius: 5px; background: #f3ecdd; align-items: center; }
.home-eventos .event-upcoming { border-top: 3px solid #7a5c1e; }
.event-artwork { min-width: 0; }
.event-poster, .event-memory { margin: 0; }
.event-poster img { display: block; width: 100%; height: auto; border-radius: 3px; }
.home-eventos figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: #5c5142; }
.event-copy { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.home-eventos .event-status { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #7a5c1e; }
.event-status-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #7a5c1e; }
.home-eventos .event-card h3 { font-size: 30px; line-height: 1.2; }
.home-eventos .event-subtitle { margin-top: 10px; font: 500 20px/1.4 Lora, Georgia, serif; color: #5c5142; }
.home-eventos .event-credits { font-size: 14px; line-height: 1.6; }
.home-eventos .event-question { margin: 24px 0 0; padding: 16px 0 0; border-top: 1px solid #c6b89e; color: #2e4a35; font: italic 23px/1.45 Lora, Georgia, serif; }
.event-facts { margin: 4px 0; padding: 18px 0; border-block: 1px solid #d2c8b6; display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px 20px; }
.event-facts dt { margin-bottom: 5px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #7a5c1e; }
.event-facts dd { margin: 0; font-size: 15px; line-height: 1.5; font-weight: 700; }
.event-facts dd span { white-space: nowrap; }
.event-location { grid-column: 1 / -1; }
.home-eventos .event-booking > p { font-size: 14px; line-height: 1.6; margin-bottom: 14px; }
.home-eventos .home-actions { gap: 10px; }
.page .home-eventos .home-button { padding: 12px 14px; font-size: 11px; letter-spacing: .025em; }
.page .home-eventos .event-button-secondary { color: #2e4a35; background: transparent; border-color: #2e4a35; }
.page .home-eventos .event-button-secondary:hover { color: #f3ecdd; background: #2e4a35; }
.home-eventos .event-past { margin-top: 28px; background: transparent; border-color: #b9ab91; }
.event-memory img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 85%; border-radius: 3px; }
.home-eventos .event-past h3 { font-size: 27px; }
.home-eventos .event-past-lead { font: 500 20px/1.45 Lora, Georgia, serif; color: #2e4a35; }
@media (max-width: 1023px) {
  .home-eventos .event-card { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; }
  .event-artwork { max-width: 420px; margin-inline: auto; }
}

/* Hero: contraste da marca, 42% texto e 58% retrato no desktop. */
.home-hero { background: #1f241d; color: #f3ecdd; }
.hero-layout { width: min(1080px, calc(100% - 40px)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; padding-block: 36px; }
.hero-copy { min-width: 0; }
.hero-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: #c3ab65; font-size: 12px; font-weight: 800; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; }
.hero-eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.page .hero-copy h1 { margin: 0; color: #f3ecdd; font: 500 clamp(36px, 3.5vw, 50px)/1.16 Lora, Georgia, serif; letter-spacing: -.035em; text-wrap: balance; }
.hero-copy h1 > span { display: block; }
.hero-copy h1 em { color: #c3ab65; font-weight: 400; }
.hero-description { max-width: 44ch; margin: 24px 0 0; color: #d8d2c3; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 28px; }
.page .hero-primary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 18px; border: 1px solid #c3ab65; border-radius: 3px; background: #c3ab65; color: #1f241d; font-size: 14px; font-weight: 800; line-height: 1.5; text-decoration: none; }
.hero-primary:hover { background: #e6d7af; border-color: #e6d7af; }
.page .hero-secondary { display: inline-flex; align-items: center; gap: 7px; min-height: 48px; color: #f3ecdd; font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-color: #899782; text-underline-offset: 5px; }
.hero-secondary:hover { color: #e6d7af; text-decoration-color: currentColor; }
.hero-visit { display: flex; align-items: flex-start; gap: 11px; max-width: 420px; margin-top: 30px; padding-top: 22px; border-top: 1px solid #4b503f; color: #c3ab65; }
.hero-visit > svg { flex-shrink: 0; margin-top: 3px; }
.hero-visit p { margin: 0; color: #d8d2c3; font-size: 13px; line-height: 1.7; }
.page .hero-visit a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #f3ecdd; font-weight: 800; text-decoration: underline; text-decoration-color: #899782; text-underline-offset: 4px; }
.page .hero-visit a:hover { color: #e6d7af; text-decoration-color: currentColor; }
.page .home-hero :focus-visible { outline-color: #e6d7af; }
.hero-portrait { min-width: 0; margin: 0; }
.page .hero-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1.04; object-fit: cover; object-position: 50% 50%; }
.hero-portrait figcaption { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; padding: 12px 18px; background: #2e4a35; color: #f3ecdd; font-size: 12px; line-height: 1.5; }
.hero-person { color: #f3ecdd; font: 500 16px/1.5 Lora, Georgia, serif; }
@media (min-width: 1024px) {
  .hero-layout { width: min(1080px, calc(100% - 64px)); grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: 0; align-items: stretch; padding-block: 0; }
  .hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 32px 32px 32px 0; }
  .hero-portrait { display: grid; grid-template-rows: minmax(0, 1fr) auto; height: 700px; position: relative; }
  .page .hero-portrait img { height: 100%; min-height: 0; aspect-ratio: auto; }
}

/* Marca acolhida no hero; navegação agora é uma peça independente. */
.hero-brand { display: inline-flex; align-items: center; align-self: flex-start; gap: 18px; margin-bottom: 32px; color: #c3ab65; text-decoration: none; }
.page .hero-brand img { width: 76px; height: 84px; object-fit: contain; }
.hero-brand > span { display: grid; gap: 5px; }
.hero-brand-name { font: 500 28px/1.2 Lora, Georgia, serif; }
.hero-brand-place { color: #d8d2c3; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.hero-brand:hover { color: #e6d7af; text-decoration: none; }
@media (min-width: 1024px) {
  .page .hero-copy h1 { font-size: clamp(36px, 3.4vw, 48px); }
  .hero-description { font-size: 16px; }
}

/* Eventos cadastrados no painel: ritmo consistente, qualquer que seja a ordem. */
.home-eventos .event-list { display: grid; gap: 28px; }
.home-eventos .event-list .event-card { margin-top: 0; }
.event-list .event-memory img { object-position: center; }
.event-list .event-legacy-memory img { object-position: 50% 85%; }
.event-list .event-copy, .event-list figcaption, .event-list .event-question { overflow-wrap: anywhere; }
.home-eventos .events-empty { padding: 24px 0; color: #5c5142; }
