.editorial-guide { background: var(--bcr-paper); }
.editorial-guide main *, .editorial-guide .whatsapp { letter-spacing: 0; }
/* Preserve the approved wordmark's existing proportions. */

.editorial-guide .site-header { background: transparent; backdrop-filter: none; border-bottom-color: transparent; box-shadow: none; }
.editorial-guide .site-header.scrolled, .editorial-guide .site-header.menu-open { background: var(--bcr-ink); }
.editorial-guide .site-header.header-hidden { transform: translateY(-105%); pointer-events: none; }
.editorial-guide .site-header.menu-open { transform: translateY(0); pointer-events: auto; }
.editorial-guide { --header-clearance: 24px; }
.editorial-guide.header-visible { --header-clearance: 108px; }
.editorial-guide .article-rail nav { top: var(--header-clearance); max-height: calc(100svh - var(--header-clearance) - 24px); --rail-row: clamp(28px, calc((100svh - var(--header-clearance) - 108px) / var(--rail-count, 18)), 56px); }
.editorial-guide .article-layout, .editorial-guide .article-section [id], .editorial-guide .article-section[id] { scroll-margin-top: 108px; }
.editorial-hero { position: relative; isolation: isolate; display: flex; align-items: end; min-height: 560px; height: min(980px, calc(100svh - 72px)); color: var(--bcr-paper); overflow: clip; background: var(--bcr-ink); }
.editorial-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; z-index: -2; }
.editorial-copy { width: 100%; max-width: 1800px; margin-inline: auto; padding: 128px clamp(32px,6vw,112px) 64px; }
.editorial-heading { position: relative; isolation: isolate; width: fit-content; max-width: 100%; margin-right: auto; text-align: left; text-shadow: 0 2px 12px rgba(22,35,29,.45); }
.editorial-guide h1 { display: block; max-width: 840px; margin: 0; font: 400 60px/1.14 var(--bcr-display); color: inherit; text-wrap: initial; }
/* A feathered shadow supports the lower-left caption, not the whole image. */
.editorial-heading::before { content: ""; position: absolute; z-index: -1; inset: -28px -40px -64px -112px; background: linear-gradient(90deg, rgba(22,35,29,.72), rgba(22,35,29,.56) 65%, rgba(22,35,29,0)); filter: blur(28px); pointer-events: none; }
.title-main { display: block; }
.editorial-guide h1 .title-guide { display: block; font: inherit; font-style: italic; color: inherit; }
.editorial-guide .title-properties { display: block; margin: 18px 0 0; font: 400 20px/1.6 var(--bcr-sans); color: inherit; white-space: nowrap; }
.editorial-guide a:focus-visible, .editorial-guide button:focus-visible { outline: 2px solid var(--bcr-gold); outline-offset: 6px; }
.editorial-intro { scroll-margin-top: 24px; max-width: 920px; padding: 30px 32px 80px; margin-inline: auto; }
.editorial-meta { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 28px; margin-bottom: 36px; color: var(--bcr-forest); font: 500 16px/1.5 var(--bcr-sans); }
.editorial-author { display: inline-flex; align-items: center; gap: 10px; }
.author-portrait { display: block; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; overflow: hidden; }
.author-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.85); transform-origin: 50% 22%; filter: brightness(1.3) contrast(.9); }
.editorial-intro .intro-description { font: 500 26px/1.5 var(--bcr-display); color: var(--bcr-ink); }
.editorial-intro > p:not(.intro-description) { font: 400 17px/1.9 var(--bcr-sans); margin: 30px 0 0; }
@media (prefers-reduced-motion: no-preference) {
  .editorial-image { animation: settle 6s cubic-bezier(.16,1,.3,1) both; }
  .editorial-heading { animation: enter 1.8s .3s cubic-bezier(.22,1,.36,1) both; }
  @keyframes enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
  @keyframes settle { from { transform: scale(1.035); } to { transform: scale(1); } }
}
@media (min-width: 1600px) {
  .editorial-guide h1 { font-size: 72px; max-width: 980px; }
}
@media (max-width: 1250px) {
  .editorial-guide h1 { font-size: 52px; max-width: 760px; }
}
@media (max-height: 740px) and (min-width: 701px) {
  .editorial-copy { padding-bottom: 44px; }
  .editorial-guide h1 { font-size: 52px; }
}
@media (max-width: 900px) {
  .editorial-guide .title-properties { font-size: 18px; white-space: normal; text-wrap: pretty; }
}
@media (max-width: 700px) {
  .editorial-hero { min-height: 550px; height: calc(100svh - 68px); max-height: 900px; }
  .editorial-image { object-position: 76% 65%; }
  .editorial-copy { padding: 112px 24px 40px; }
  .editorial-guide h1 { font-size: 34px; line-height: 1.18; }
  .editorial-heading::before { inset: -20px -24px -40px; background: linear-gradient(0deg, rgba(22,35,29,.8), rgba(22,35,29,.6) 75%, rgba(22,35,29,0)); filter: blur(20px); }
  .editorial-meta { flex-direction: column; gap: 12px; margin-bottom: 30px; }
  .editorial-intro { padding: 26px 24px 56px; }
  .editorial-intro .intro-description { font-size: 22px; }
}
@media (max-width: 360px) { .editorial-guide h1 { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .editorial-guide .site-header { transition: none; } }


@media (max-width: 980px) {
.editorial-guide .mobile-nav:not([hidden]) { display: grid; position: absolute; inset: 100% 0 auto; padding: 24px; gap: 0; background: var(--bcr-ink); opacity: 1; pointer-events: auto; transform: none; z-index: 1; max-height: calc(100svh - 84px); overflow-y: auto; }
.editorial-guide .mobile-nav a { padding: 12px 0; }
}
.editorial-guide .mobile-nav[hidden] { display: none; }

.article-layout {
  --reading-width: 49rem;
  --media-width: 80rem;
  display: grid;
  /* Equal outer tracks center the article independently of the navigation. */
  grid-template-columns: minmax(180px, 1fr) minmax(0, var(--media-width)) minmax(180px, 1fr);
  gap: 32px;
  width: 100%;
  padding: 48px clamp(32px, 4vw, 96px) 96px;
  margin-inline: auto;
  color: var(--bcr-ink);
  scroll-margin-top: 24px;
}
.article-rail { grid-column: 1; justify-self: end; align-self: stretch; width: 100%; max-width: 220px; min-width: 0; }
.article-rail nav { --rail-row: clamp(28px, calc((100svh - 132px) / var(--rail-count, 18)), 56px); position: sticky; top: 24px; max-height: calc(100svh - 48px); display: flex; flex-direction: column; padding: 8px 0; }
.rail-label { flex: 0 0 auto; margin: 0 0 16px; font: 500 .9375rem/1.5 var(--bcr-sans); }
/* Fixed rows keep the reading column still while nearby labels magnify. */
.article-rail ol { display: flex; flex-direction: column; flex: 0 1 auto; min-height: 0; overflow: visible; list-style: none; padding: 8px 0; margin: 0; }
.article-rail li { display: flex; flex: 0 0 auto; margin: 0; padding: 0; }
.article-rail .rail-group-start { margin-top: 0; }
.article-rail a { display: flex; align-items: center; position: relative; width: 100%; height: var(--rail-row); min-height: 28px; padding: 0; color: var(--bcr-forest); font: italic 400 1.375rem/1.1 var(--bcr-display); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: text-decoration-color 180ms ease; }
.rail-link-label { display: inline-block; white-space: nowrap; transform-origin: left center; transform: translateX(var(--lens-shift, 0px)) scale(var(--lens-scale, 1)); transition: transform 180ms ease-out; }
.article-rail a:hover, .article-rail a:focus-visible { --lens-scale: 1.4; --lens-shift: 5px; }
.article-rail a[aria-current="location"], .article-rail a:hover, .article-rail a:focus-visible { color: var(--bcr-ink); text-decoration-color: currentColor; }
.editorial-guide .article-rail a:focus-visible { outline: 2px solid var(--bcr-forest); outline-offset: 2px; }
.editorial-article {
  grid-column: 2;
  min-width: 0;
  font: normal 400 1.25rem/1.8 var(--bcr-sans);
  overflow-wrap: break-word;
}
.article-byline { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: var(--reading-width); margin: 0 auto 32px; padding-bottom: 24px; border-bottom: 1px solid var(--bcr-sand); font: 500 1.0625rem/1.5 var(--bcr-sans); color: var(--bcr-forest); }
.article-byline time { white-space: nowrap; }
.article-section { margin: 0; padding: 0; }
.article-section + .article-section { margin-top: 56px; }
.article-copy-block { max-width: var(--reading-width); margin-inline: auto; }
.article-section p { margin-block: 0 24px; font: inherit; color: inherit; text-align: left; }
.article-section h2 { max-width: var(--reading-width); margin: 0 auto 24px; font: italic 500 2.125rem/1.3 var(--bcr-display); color: var(--bcr-ink); text-wrap: wrap; scroll-margin-top: 32px; }
.article-section h3 { max-width: var(--reading-width); margin: 32px auto 12px; font: italic 500 1.625rem/1.4 var(--bcr-display); color: var(--bcr-ink); text-wrap: wrap; scroll-margin-top: 32px; }
.article-section a { color: var(--bcr-forest); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.article-section a:hover { text-decoration-thickness: 2px; }
.article-section ul, .article-section ol { padding-left: 24px; margin-block: 24px; }
.article-section li { margin-block: 10px; padding-left: 4px; }
.article-section li::marker { color: var(--bcr-forest); }
/* Photos and reading blocks share a centerline, with different readable widths. */
.article-section > figure {
  width: min(62.5rem, 100%);
  max-width: none;
  margin: 40px auto;
}
.article-section img { display: block; width: 100%; height: auto; border-radius: 0; }
.article-section figcaption { margin-top: 8px; text-align: left; color: var(--bcr-forest); font: normal 400 .9375rem/1.5 var(--bcr-sans); }
.article-table { max-width: var(--reading-width); overflow-x: auto; margin: 32px auto; scrollbar-width: thin; }
.article-table figure { margin: 0; }
.article-table table { width: 100%; min-width: 600px; border-collapse: collapse; text-align: left; font: 400 16px/1.65 var(--bcr-sans); }
.article-table th { background: var(--bcr-sand); color: var(--bcr-ink); font-weight: 700; }
.article-table td, .article-table th { padding: 18px 20px; border-bottom: 1px solid var(--bcr-sand); vertical-align: top; }
.article-table td:first-child { font-weight: 600; }
.article-table:focus-visible { outline: 2px solid var(--bcr-forest); outline-offset: 4px; }
@media (max-width: 1200px) {
  .article-layout { grid-template-columns: minmax(160px, 1fr) minmax(0, var(--media-width)) minmax(160px, 1fr); gap: 24px; padding-inline: 32px; }
  .article-rail a { font-size: 1.125rem; }
}
@media (max-width: 1000px) {
  .article-layout { display: block; }
  .editorial-article { max-width: var(--media-width); margin-inline: auto; }
  .article-rail { display: none; }
}
@media (max-width: 700px) {
  .article-layout { padding: 28px 24px 64px; }
  .editorial-article { font-size: 1.1875rem; }
  .article-byline { flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; margin-bottom: 28px; padding-bottom: 20px; }
  .article-section h2 { font-size: 1.875rem; line-height: 1.3; margin-bottom: 20px; }
  .article-section h3 { font-size: 1.5rem; }
  .article-section + .article-section { margin-top: 40px; }
  .article-section p { margin-bottom: 20px; }
  .article-section > figure { width: calc(100% + 48px); max-width: none; margin: 36px -24px; }
  .article-section figcaption { padding-inline: 24px; }
  .article-table td, .article-table th { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .article-rail a, .rail-link-label { transition: none; }
  .article-rail a[aria-current="location"], .article-rail a:hover, .article-rail a:focus-visible { transform: none; }
}
@media (min-width: 1001px) and (max-height: 680px) {
  .article-rail ol { overflow-y: auto; overflow-x: hidden; padding-right: 32px; scrollbar-width: thin; }
  .article-rail a { font-size: 1rem; }
}
@media print {
  .article-rail { display: none; }
  .article-layout { display: block; padding: 0; }
  .article-table { overflow: visible; }
  .article-table table { min-width: 0; }
}


.editorial-guide .article-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
  margin: 16px 0 28px;
  font: normal 600 1rem/1.5 var(--bcr-sans);
}
.article-action-row > a { display: inline-flex; align-items: center; min-height: 44px; }
.article-booking-actions { padding-top: 12px; }
.editorial-guide .article-booking-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  max-width: 100%;
  padding: 14px 24px;
  border: 1px solid var(--bcr-gold);
  border-radius: 2px;
  background: var(--bcr-gold);
  color: var(--bcr-ink);
  font: normal 700 1rem/1.5 var(--bcr-sans);
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: background 180ms ease;
}
.editorial-guide .article-booking-button:hover { background: var(--bcr-paper); }
.guide-related { padding: 0 32px 64px; }
.guide-related-inner { max-width: 49rem; margin-inline: auto; }
.guide-related h2 { margin: 0 0 20px; color: var(--bcr-ink); font: italic 500 2rem/1.3 var(--bcr-display); }
.guide-related nav { display: grid; }
.guide-related a { padding: 16px 0; border-bottom: 1px solid var(--bcr-sand); color: var(--bcr-forest); font: 500 1.125rem/1.5 var(--bcr-sans); text-decoration: underline; text-underline-offset: 5px; }
.guide-closing-cta {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 560px;
  padding: 80px 32px 96px;
  overflow: hidden;
  background: var(--bcr-forest);
  color: var(--bcr-paper);
}
.guide-closing-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; }
.guide-closing-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(22,35,29,.12), rgba(22,35,29,.7) 30%, rgba(22,35,29,.7) 70%, rgba(22,35,29,.12)); pointer-events: none; }
.guide-closing-copy { width: 100%; max-width: 960px; text-align: center; }
.guide-closing-cta h2 { margin: 0 0 24px; color: inherit; font: 500 4.5rem/1.1 var(--bcr-display); text-wrap: balance; }
.guide-closing-cta h2 em { font-weight: inherit; }
.guide-closing-copy > p { max-width: 560px; margin: 0 auto 32px; color: inherit; font: normal 400 1.125rem/1.65 var(--bcr-sans); }
.guide-closing-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; }
.guide-closing-actions .article-booking-button { min-width: 220px; }
.editorial-guide .article-booking-button--email { background: var(--bcr-paper); border-color: var(--bcr-paper); }
.editorial-guide .article-booking-button--email:hover { background: var(--bcr-sand); border-color: var(--bcr-sand); }
.editorial-guide .whatsapp {
  bottom: max(24px, env(safe-area-inset-bottom));
  right: max(24px, env(safe-area-inset-right));
  justify-content: center;
  gap: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--bcr-forest);
  color: #fff;
  box-shadow: 0 3px 16px rgba(0,0,0,.16);
  text-decoration: none;
  transition: box-shadow 180ms ease, transform 180ms ease;
}
.editorial-guide .whatsapp-icon { width: 36px; height: 36px; background: transparent; box-shadow: none; }
.editorial-guide .whatsapp svg { display: block; width: 36px; height: 36px; fill: currentColor; }
.editorial-guide .whatsapp-label {
  display: block;
  position: absolute;
  right: calc(100% + 12px);
  padding: 12px 16px;
  border-radius: 6px;
  background: var(--bcr-forest);
  color: #fff;
  box-shadow: 0 3px 16px rgba(0,0,0,.14);
  font: normal 600 .9375rem/1.4 var(--bcr-sans);
  max-width: calc(100vw - 112px);
  white-space: normal;
  width: max-content;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(4px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.editorial-guide .whatsapp-label::after { content: ""; position: absolute; left: 100%; top: 0; bottom: 0; width: 12px; }
.editorial-guide .whatsapp:hover .whatsapp-label, .editorial-guide .whatsapp:focus-visible .whatsapp-label { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.editorial-guide .whatsapp:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(0,0,0,.24); }
.editorial-guide .whatsapp:hover .whatsapp-icon { transform: none; }
.editorial-guide .whatsapp:focus-visible { outline: 3px solid var(--bcr-gold); outline-offset: 4px; }
@media (max-width: 700px) {
  .guide-related { padding: 0 24px 40px; }
  .guide-related h2 { font-size: 1.75rem; }
  .guide-closing-cta { min-height: 560px; padding: 64px 24px 104px; align-items: center; }
  .guide-closing-photo { object-position: 65% 50%; }
  .guide-closing-cta::before { background: linear-gradient(0deg, rgba(22,35,29,.95), rgba(22,35,29,.78) 55%, rgba(22,35,29,0) 95%); }
  .guide-closing-cta h2 { font-size: 3rem; }
  .guide-closing-actions { align-items: center; flex-direction: column; }
  .guide-closing-actions .article-booking-button { width: min(100%, 320px); min-width: 0; }
  .editorial-guide .whatsapp { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .editorial-guide .article-booking-button, .editorial-guide .whatsapp, .editorial-guide .whatsapp-icon, .editorial-guide .whatsapp-label { transition: none; }
  .editorial-guide .whatsapp:hover { transform: none; }
}
@media print { .editorial-guide .whatsapp { display: none; } }


.editorial-guide .editorial-article, .editorial-guide .article-rail a { color: #000; }
.editorial-guide .article-section :is(h2,h3,a,th,td), .editorial-guide .article-section li::marker { color: inherit; }
