/* Raiz: shared identity tokens; layout and content contracts remain in style.css. */
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
}
:root,
.editor-styles-wrapper {
  --dc-font-display: "Fraunces", Georgia, serif;
  --dc-font-reading: "Aptos", "Segoe UI", system-ui, sans-serif;
  --dc-ivory: #f2eee3;
  --dc-paper: #faf7ee;
  --dc-ink: #20271d;
  --dc-charcoal: #263321;
  --dc-olive: #34412e;
  --dc-sage: #5b6454;
  --dc-sage-surface: #ebe8dc;
  --dc-copper: #876029;
  --dc-copper-dark: #765021;
  --dc-brass: #c49b4b;
  --dc-soil: #854126;
  --dc-footer-muted: #5b6454;
  --dc-line: rgba(90, 76, 48, 0.25);
  --dc-leading-display: 1.02;
  --dc-tracking-display: -0.045em;
  --dc-type-section: clamp(2.2rem, 4vw, 3.8rem);
  --dc-space-section: clamp(3rem, 6vw, 5.5rem);
  --dc-landscape: url("../images/raiz-landscape.webp");
  background-color: var(--dc-ivory);
}

.dc-site-header {
  background: var(--dc-paper);
  color: var(--dc-ink);
  border-color: var(--dc-line);
  backdrop-filter: none;
}
.dc-site-header .wp-block-site-title,
.dc-footer-brand {
  font-family: var(--dc-font-display);
  font-stretch: normal;
  font-weight: 800;
  letter-spacing: -0.035em;
  word-spacing: 0.1em;
}
.dc-site-header .wp-block-site-title { font-size: clamp(1.3rem, 2.5vw, 2rem); }
.dc-site-header .wp-block-site-title a::after,
.dc-footer-brand::after { content: none; }
.dc-site-header .wp-block-navigation-item__content { font-size: 0.75rem; letter-spacing: 0.14em; }

/* The portrait has its own column: text never covers the face. */
.dc-hero { background: var(--dc-paper); color: var(--dc-ink); }
.dc-hero::before { content: none; }
.dc-hero__frame {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  min-height: 0;
  overflow: visible;
  background: transparent;
}
.dc-hero__copy {
  position: relative;
  inset: auto;
  width: auto;
  min-width: 0;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 4vw, 4rem) clamp(2rem, 4vw, 4rem) 0;
  border: 0;
  background: none;
  box-shadow: none;
  transform: none;
  backdrop-filter: none;
}
.dc-hero__copy::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--dc-landscape) left bottom / 100% auto no-repeat;
  opacity: 0.12;
  pointer-events: none;
}
.dc-hero__kicker {
  width: auto;
  color: var(--dc-soil);
  border: 0;
  margin-bottom: 1.1rem;
  padding: 0;
  font-size: 0.72rem;
  letter-spacing: 0.17em;
}
.dc-hero__name {
  font-family: var(--dc-font-display);
  font-size: clamp(3.5rem, 6.9vw, 6.5rem);
  font-stretch: normal;
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.065em;
}
.dc-hero__statement { font-family: var(--dc-font-reading); font-size: 1rem; line-height: 1.55; }
.dc-hero__statement strong {
  max-width: 19ch;
  margin-bottom: 0.85rem;
  color: var(--dc-ink);
  font-family: var(--dc-font-display);
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  font-stretch: normal;
  line-height: 1.15;
  text-transform: none;
}
.dc-hero__media { position: relative; inset: auto; min-height: 37rem; background: var(--dc-sage-surface); }
.dc-hero__slides { inset: 0; }
.dc-hero__media::after { content: none; }
.dc-hero__media img,
.dc-hero__media .dc-hero__image--field-v2 { object-position: 68% 45%; }
.dc-hero__marker {
  top: auto;
  right: 1rem;
  bottom: 4.6rem;
  max-width: calc(100% - 2rem);
  padding: 0.55rem 0.75rem;
  border-left: 2px solid var(--dc-brass);
  background: rgba(32, 39, 29, 0.9);
}
.dc-hero__controls { inset: auto 1rem 1rem auto; background: var(--dc-paper); color: var(--dc-ink); border-color: var(--dc-line); }
.dc-hero__territories {
  position: relative;
  inset: auto;
  grid-column: 1 / -1;
  background: transparent;
  color: var(--dc-ink);
  border-block: 1px solid var(--dc-line);
  backdrop-filter: none;
}
.dc-hero__territories-label { color: var(--dc-soil); border-color: var(--dc-line); padding-left: 0; }
.dc-hero__territories li { border-color: var(--dc-line); }
.dc-hero__territories a { min-height: 5rem; }
.dc-hero__territories a > span { color: var(--dc-soil); }
.dc-hero__territories strong { font-family: var(--dc-font-display); font-size: 1.08rem; line-height: 1.15; text-transform: none; }
.dc-button,
.dc-hero .dc-button,
.dc-newsletter .dc-button { background: var(--dc-brass); border-color: var(--dc-brass); color: #20271d; }
.dc-button:hover,
.dc-hero .dc-button:hover,
.dc-newsletter .dc-button:hover { background: #d3b371; border-color: #d3b371; color: #20271d; }
.dc-hero .dc-text-link { color: var(--dc-ink); }

/* Editorial rhythm shared by home, archives, reading pages and catalogue. */
.dc-section-title,
.dc-feature-story h3,
.dc-story-row h3,
.dc-video-feature h3,
.dc-video-item h3,
.dc-product h3,
.dc-article h3,
.dc-topic__name,
.dc-about__copy h2,
.dc-newsletter h2,
.dc-archive-title,
.dc-single-title,
.dc-query-card .wp-block-post-title,
.dc-pattern-note h2,
.dc-video-unavailable__copy strong,
.woocommerce :where(h1, h2, h3),
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.wc-block-product :where(h2, h3) {
  font-family: var(--dc-font-display);
  font-stretch: normal;
  text-transform: none;
  letter-spacing: var(--dc-tracking-display);
  line-height: 1.08;
}
.dc-section-intro,
.dc-topic__description,
.dc-about__copy p,
.dc-newsletter__aside p,
.dc-reading-width { font-family: var(--dc-font-reading); }
.dc-section--territories,
.dc-section--sage { background: var(--dc-sage-surface); }
.dc-section--territories { isolation: isolate; }
.dc-section--territories::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--dc-landscape) right top / min(55rem, 90%) auto no-repeat;
  opacity: 0.14;
  pointer-events: none;
}
.dc-topics { background: transparent; border-color: var(--dc-line); }
.dc-topic { border-color: var(--dc-line); background: rgba(250, 247, 238, 0.6); }
.dc-topic__name { max-width: 21ch; font-size: clamp(1.6rem, 2.4vw, 2.25rem); }
.dc-section--video,
.dc-video-archive { background: var(--dc-paper); color: var(--dc-ink); }
/* Also cover Site Editor copies saved before the light video templates. */
main.dc-video-archive.has-background,
.single-dc_video main.has-carvao-quente-background-color { background: var(--dc-paper) !important; color: var(--dc-ink) !important; }
.dc-section--video::before,
.dc-section--video::after { content: none; }
.dc-section--video .dc-meta { color: var(--dc-sage); }
.dc-section--video :where(.dc-section-head, .dc-video-list, .dc-video-item, .dc-empty),
.dc-video-archive :where(.dc-archive-hero, .dc-query-card, .dc-pagination) { border-color: var(--dc-line); }
.dc-video-item .dc-video-state { color: var(--dc-soil); border-color: var(--dc-line); }
.dc-product,
.dc-article { border-bottom: 1px solid var(--dc-line); padding-bottom: 1rem; }
.dc-product__status { color: var(--dc-copper-dark); }
.dc-universe { background: transparent; }
.dc-about__copy h2 { max-width: 20ch; }
#editorial .dc-section-head,
#videos .dc-section-head,
#sobre { position: relative; isolation: isolate; }
#editorial .dc-section-head::before,
#videos .dc-section-head::before,
#sobre::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: -3rem 15% -1rem 25%;
  background: var(--dc-landscape) center / contain no-repeat;
  opacity: 0.13;
}
#sobre::before { inset: 0 0 0 48%; opacity: 0.2; }
#newsletter { background: var(--dc-charcoal); color: var(--dc-paper); }
.dc-newsletter { padding: 0; background: transparent; overflow: visible; }
.dc-newsletter::after {
  inset: auto auto -2rem -8vw;
  width: 35rem;
  max-width: 85vw;
  height: 16rem;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  background: var(--dc-landscape) left bottom / contain no-repeat;
  filter: grayscale(1) brightness(2.5);
  opacity: 0.1;
  pointer-events: none;
}
.dc-newsletter h2 { max-width: 19ch; }
.dc-site-footer { background: var(--dc-paper); color: var(--dc-ink); border-top: 1px solid var(--dc-line); }
.dc-footer-brand { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.dc-site-footer .wp-block-navigation-item__content:hover { color: var(--dc-soil); }
.dc-archive-hero,
.dc-single-hero { position: relative; isolation: isolate; background: none; }
.dc-archive-hero::before,
.dc-single-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--dc-landscape) right bottom / min(36rem, 55%) auto no-repeat;
  opacity: 0.2;
  pointer-events: none;
}
.dc-reading-width :where(h2, h3, h4) { font-family: var(--dc-font-display); line-height: 1.15; }
.dc-video-unavailable { background: var(--dc-sage-surface); color: var(--dc-ink); }

@media (max-width: 960px) {
  .dc-site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--dc-paper) !important; color: var(--dc-ink) !important; }
  .dc-site-header .is-menu-open .wp-block-navigation-item__content { font-family: var(--dc-font-display); text-transform: none; font-size: 1.75rem; }
  .dc-hero__media { min-height: 35rem; }
  .dc-hero__name { font-size: clamp(3.1rem, 7vw, 4.5rem); }
  .dc-hero__copy { padding-right: 1.5rem; }
  .dc-hero__actions { gap: 0.5rem 1rem; }
  .dc-hero__territories strong { font-size: 0.95rem; }
}
@media (max-width: 720px) {
  .dc-hero__frame { width: 100%; grid-template-columns: 1fr; }
  .dc-hero__copy { width: auto; inset: auto; padding: 2rem var(--dc-gutter); }
  .dc-hero__name { font-size: clamp(3.1rem, 13vw, 5rem); }
  .dc-hero__name span { display: block; }
  .dc-hero__name span + span::before { content: none; }
  .dc-hero__statement { margin-top: 0.75rem; }
  .dc-hero__statement strong { max-width: 24ch; font-size: 1.5rem; margin-bottom: 0; }
  .dc-hero__actions { display: flex; width: auto; flex-wrap: wrap; margin-top: 1.2rem; gap: 0.65rem 1.2rem; }
  .dc-hero__media { min-height: 0; height: clamp(20rem, 75vw, 32rem); }
  .dc-hero__media img,
  .dc-hero__media .dc-hero__image--field-v2 { object-position: 65% 42%; }
  .dc-hero__marker { display: grid; bottom: 4.5rem; right: 1rem; max-width: 16rem; }
  .dc-hero__territories-label { padding-left: 1rem; }
  .dc-hero__territories a { min-height: 4.2rem; }
  .dc-newsletter { padding: 0; }
  .dc-newsletter h2 { font-size: var(--dc-type-section); }
  .dc-archive-hero::before,
  .dc-single-hero::before { background-size: 80% auto; opacity: 0.1; }
  #editorial .dc-section-head::before,
  #videos .dc-section-head::before { inset: -1rem -0.5rem 0 30%; opacity: 0.09; }
  #sobre::before { inset: 10% 0 0 15%; opacity: 0.09; }
}
@media (max-width: 360px) {
  .dc-hero__name { font-size: 2.85rem; }
  .dc-hero__actions { gap: 0.5rem 0.8rem; }
  .dc-hero .dc-button,
  .dc-hero .dc-text-link { font-size: 0.75rem; letter-spacing: 0.025em; }
  .dc-hero__marker { display: none; }
}

/* Linear section introductions: title, context and action share one reading axis. */
.dc-section-head { grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.dc-section-head > div { max-width: 52rem; }
.dc-section-head .dc-section-intro { max-width: 48rem; margin: 0 0 1.2rem; }
.dc-section-head .dc-button { min-height: 44px; gap: 0.65rem; }
#editorial .dc-section-head::before,
#videos .dc-section-head::before { inset: -2rem 0 0 62%; opacity: 0.13; background-position: right bottom; }
.dc-topics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; border: 0; background: none; }
.dc-topic { padding: 0.65rem; gap: 1.2rem; border: 1px solid var(--dc-line); justify-content: start; background: var(--dc-paper); }
.dc-topic__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.dc-topic__media img { width: 100%; height: 100%; object-fit: cover; }
.dc-topic__body { padding-inline: 0.6rem; gap: 0.75rem; }
.dc-topic__index { color: var(--dc-soil); font-size: 0.75rem; }
.dc-topic__name { font-size: clamp(1.5rem, 2vw, 1.85rem); line-height: 1.15; }
.dc-topic__description { font-size: 1rem; line-height: 1.55; }
.dc-topic__footer { margin: auto 0.6rem 0; padding-block: 0.6rem; flex-wrap: wrap; gap: 0.5rem; }
.dc-topic__action { min-height: 44px; color: var(--dc-copper-dark); }
.dc-topic:hover .dc-topic__action,
.dc-topic:focus-visible .dc-topic__action { color: var(--dc-paper); }
.dc-episodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.dc-episode { min-width: 0; display: flex; flex-direction: column; padding: 0.65rem; border: 1px solid var(--dc-line); color: var(--dc-ink); text-decoration: none; transition: border-color var(--dc-fast) ease; }
.dc-episode__media { aspect-ratio: 16 / 9; overflow: hidden; }
.dc-episode__media :where(img, .dc-image-placeholder) { width: 100%; height: 100%; object-fit: cover; }
.dc-episode__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 0.9rem; padding: 1rem 0.6rem 0; }
.dc-episode__state { border: 1px solid var(--dc-copper-dark); color: var(--dc-copper-dark); padding: 0.35rem 0.55rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; }
.dc-episode h3 { margin: 0; font-family: var(--dc-font-display); font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.15; letter-spacing: -0.035em; }
.dc-card-action { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; color: var(--dc-copper-dark); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.dc-episode .dc-card-action { width: 100%; border-top: 1px solid var(--dc-line); margin-top: auto; padding-top: 0.65rem; }
.dc-episode:hover, .dc-episode:focus-visible { border-color: var(--dc-copper-dark); }
.dc-article:hover .dc-card-action, .dc-episode:hover .dc-card-action { text-decoration: underline; text-underline-offset: 0.3em; }
.dc-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.dc-article { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 1.3rem; align-items: stretch; padding-bottom: 1.5rem; }
.dc-article__media { aspect-ratio: 4 / 3; min-width: 0; width: 100%; align-self: start; }
.dc-article__body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; padding: 0; }
.dc-article h3 { margin: 0; font-size: clamp(1.3rem, 1.8vw, 1.7rem); line-height: 1.2; }
.dc-article .dc-card-action { margin-top: auto; }
@media (max-width: 1100px) {
  .dc-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-articles { grid-template-columns: minmax(0, 1fr); }
  .dc-article { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }
}
@media (max-width: 960px) {
  .dc-episodes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .dc-topics, .dc-episodes { grid-template-columns: minmax(0, 1fr); }
  .dc-topic__name { font-size: 1.7rem; }
  .dc-article { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 1rem; }
  .dc-article h3 { font-size: 1.3rem; }
  #editorial .dc-section-head::before,
  #videos .dc-section-head::before { inset: 0 0 0 35%; opacity: 0.07; }
}
@media (prefers-reduced-motion: reduce) { .dc-episode { transition: none; } }

/* Dark field interludes, separated by the lighter territories and shop. */
#editorial, #videos {
  --dc-line: rgba(242, 238, 227, 0.25);
  background: var(--dc-charcoal);
  color: var(--dc-paper);
}
#editorial :where(h2, h3, .dc-story-row, .dc-feature-story a),
#videos :where(h2, h3, .dc-episode) { color: var(--dc-paper); }
#editorial :where(.dc-section-intro, .dc-meta),
#videos :where(.dc-section-intro, .dc-meta) { color: #d0d5c8; }
#editorial .dc-text-link,
#videos :where(.dc-card-action, .dc-episode__state) { color: #dfbf80; }
#videos .dc-episode__state { border-color: #dfbf80; }
#videos .dc-episode { background: rgba(255, 255, 255, 0.025); }
#videos .dc-episode:hover, #videos .dc-episode:focus-visible { border-color: #dfbf80; }
#editorial .dc-section-head::before,
#videos .dc-section-head::before { filter: grayscale(1) brightness(2.5); opacity: 0.1; }
#editorial a:focus-visible, #videos a:focus-visible { outline: 2px solid #dfbf80; outline-offset: 5px; }
