.veduta-authors-directory,
.veduta-authors-directory * { box-sizing: border-box; }

.veduta-authors-directory { width: 100%; margin: 0; }
.veduta-authors-directory__inner { width: 100%; }
.veduta-authors-directory--home {
  box-sizing: border-box;
  padding: 6rem 1rem;
  background: #000;
  color: #ded6bf;
  scroll-margin-top: 88px;
}
.veduta-authors-directory--home .veduta-authors-directory__inner { max-width: 92rem; margin-inline: auto; }
.veduta-authors-directory__header {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 3rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(222,214,191,.22);
  border-bottom: 1px solid rgba(222,214,191,.22);
}
.veduta-authors-directory__eyebrow { margin: 0; color: rgba(222,214,191,.52); font-size: .75rem; line-height: 1rem; letter-spacing: .32em; text-transform: uppercase; }
.veduta-authors-directory__heading { max-width: 64rem; margin: 0; color: #ded6bf; font-size: 2.25rem; font-weight: 300; line-height: .98; text-wrap: pretty; }
.veduta-authors-directory__list { border-top: 1px solid rgba(222,214,191,.22); }
.veduta-author-card {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 178px;
  grid-template-columns: minmax(250px,.9fr) minmax(280px,1.1fr) 48px; padding-inline: 24px;
  align-items: center;
  gap: 24px;
  overflow: hidden;
  border-bottom: 1px solid rgba(222,214,191,.22);
  color: #ded6bf;
  text-decoration: none;
  transition: border-color 280ms ease, opacity 650ms cubic-bezier(.22,1,.36,1), transform 650ms cubic-bezier(.22,1,.36,1);
}
.veduta-author-card::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(23,78,63,.18),rgba(23,78,63,.04)); content: ""; opacity: 0; transition: opacity 300ms ease; }
.veduta-author-card:hover::before,.veduta-author-card:focus-visible::before { opacity: 1; }
.veduta-author-card:hover { border-color: rgba(222,214,191,.52); }
.veduta-author-card:focus-visible { outline: 2px solid #83d8b1; outline-offset: -2px; }
.veduta-author-card__number { color: rgba(222,214,191,.52); font-size: 12px; line-height: 1.4; }
.veduta-author-card__identity { display: grid; min-width: 0; grid-template-columns: 132px 1fr; align-items: center; gap: 24px; }
.veduta-author-card__logo { display: flex; width: 132px; height: 82px; align-items: center; justify-content: flex-start; padding: 8px 14px 8px 0; border-right: 1px solid rgba(222,214,191,.15); }
.veduta-author-card__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.veduta-author-card__title { font-size: clamp(27px,2.5vw,44px); line-height: 1.02; text-wrap: balance; }
.veduta-author-card__summary { max-width: 540px; color: rgba(222,214,191,.68); font-size: 15px; line-height: 1.55; }
.veduta-author-card__arrow { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid rgba(222,214,191,.24); border-radius: 50%; font-size: 18px; transition: color 250ms ease, border-color 250ms ease, transform 300ms ease; }
.veduta-author-card:is(:hover,:focus-visible) .veduta-author-card__arrow { border-color: rgba(222,214,191,.65); transform: rotate(45deg); }
.veduta-authors-directory.is-ready .veduta-author-card { opacity: 0; transform: translateY(24px); }
.veduta-authors-directory.is-ready .veduta-author-card.is-visible { opacity: 1; transform: translateY(0); }
.veduta-authors-directory__preview {
  position: fixed;
  z-index: 40;
  top: 0;
  left: 0;
  display: none;
  width: var(--veduta-author-preview-width, 400px);
  height: var(--veduta-author-preview-height, 270px);
  overflow: hidden;
  border-radius: 8px;
  background: #0b211a;
  box-shadow: 0 34px 120px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.1);
  opacity: 0;
  pointer-events: none;
  transform-origin: center;
  transition: opacity 180ms ease;
  will-change: transform, opacity;
}
.veduta-authors-directory__preview.is-open { opacity: 1; }
.veduta-authors-directory__preview-panel { position: absolute; inset: 0; margin: 0; }
.veduta-authors-directory__preview-image { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .86; }
.veduta-authors-directory__preview-panel.is-logo { background: #10251d; }
.veduta-authors-directory__preview-panel.is-logo .veduta-authors-directory__preview-image { padding: 44px; object-fit: contain; opacity: .92; }
.veduta-authors-directory__preview-shade { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 58%,transparent); }
.veduta-authors-directory__preview-caption { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 24px; color: #ded6bf; font-size: 14px; line-height: 1.35; }

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .veduta-authors-directory__preview:not([hidden]) { display: block; }
}

@media (max-width: 980px) {
  .veduta-author-card { grid-template-columns: minmax(0,1fr) 54px; gap: 18px; padding-block: 22px; }
  .veduta-author-card__identity { grid-column: 1; }
  .veduta-author-card__summary { grid-column: 1; }
  .veduta-author-card__arrow { grid-column: 2; grid-row: 1 / span 3; }
}

@media (min-width: 640px) {
  .veduta-authors-directory--home { padding-inline: 1.5rem; }
  .veduta-authors-directory__heading { font-size: 3rem; }
}

@media (min-width: 1024px) {
  .veduta-authors-directory--home { padding-inline: 2rem; }
  .veduta-authors-directory__header { grid-template-columns: .72fr 1.28fr; }
  .veduta-authors-directory__heading { font-size: 3.75rem; }
}

@media (max-width: 600px) {
  .veduta-author-card { min-height: 0; grid-template-columns: minmax(0,1fr) 42px; gap: 14px; padding-block: 22px; }
  .veduta-author-card__identity { grid-template-columns: 82px 1fr; gap: 14px; }
  .veduta-author-card__logo { width: 82px; height: 62px; padding: 6px 10px 6px 0; }
  .veduta-author-card__title { font-size: 25px; }
  .veduta-author-card__summary { display: none; }
  .veduta-author-card__arrow { width: 40px; height: 40px; grid-row: 1 / span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .veduta-author-card,.veduta-author-card::before,.veduta-author-card__arrow,.veduta-authors-directory__preview { transition: none !important; }
}

/* Special guest shares the home hero palette without an extra animation. */
.veduta-author-card--featured {
  padding-top: 64px;
  padding-bottom: 28px;
  background: radial-gradient(ellipse at 85% 25%,#174e3f38,transparent 68%),linear-gradient(112deg,#03110e,#071b15);
  box-shadow: inset 0 0 0 1px #ded6bf20;
}
.veduta-author-card__badge {
  position: absolute;
  inset: 0 0 auto;
  padding: 10px 24px;
  background: rgba(222,214,191,.1);
  border-bottom: 1px solid rgba(222,214,191,.22);
  color: #ded6bf;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.veduta-author-card--featured .veduta-author-card__summary { color: rgba(222,214,191,.85); }
@media (max-width: 600px) {
  .veduta-author-card { padding-inline: 14px; }
  .veduta-author-card--featured { padding-top: 64px; padding-bottom: 26px; }
  .veduta-author-card__badge { padding-inline: 14px; font-size: 11px; }
}

/* Same dark glass and light texture as the temporary Obras panels. */
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){.veduta-author-card--featured{background:radial-gradient(ellipse at 85% 25%,#174e3f38,transparent 68%),linear-gradient(112deg,rgba(3,14,11,.83),rgba(5,24,18,.69));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
.veduta-author-card--featured::before{background:url('../obras-coverflow/noise.svg');opacity:.08;pointer-events:none}
.veduta-author-card--featured:is(:hover,:focus-visible)::before{opacity:.08}
.veduta-author-card--featured::after{content:'';position:absolute;inset:-25% -15% -25% 42%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 55% 48%,#c4cfa09c 0,#80a07375 16%,#236b5333 46%,transparent 67%);mask-image:radial-gradient(circle at center,#000 1.3px,transparent 1.8px);mask-size:9px 9px;transform:rotate(-18deg);opacity:.5;transition:transform 500ms ease,opacity 500ms ease}
.veduta-author-card--featured:is(:hover,:focus-visible)::after{transform:translateX(-6%) rotate(-18deg);opacity:.4}
@media(max-width:700px){.veduta-author-card--featured::after{left:12%;opacity:.32}}
@media(prefers-reduced-motion:reduce){.veduta-author-card--featured::after{transition:none!important;transform:rotate(-18deg)!important}}
