/* Brand refinements — additive overrides for the approved editorial design. */
:root {
  --vk-graphite: #1A1A1A;
  --vk-beige: #C4A484;
  --vk-copper: #C2883E;
  --vk-fog: #F5F5F5;
}

/* Lift the location caption above the photo-action controls. */
body.portfolio-review-v50 .hero-location {
  bottom: clamp(3.2rem, 4.4vw, 4rem) !important;
  z-index: 5 !important;
}

/* Use one consistent compact leading for multi-line display titles. */
body.portfolio-review-v50 h1,
body.portfolio-review-v50 h2,
body.portfolio-review-v50 h3,
body.portfolio-review-v50 .caption-title,
body.portfolio-review-v50 .essay-title,
body.portfolio-review-v50 .home-essay-copy h2 {
  line-height: 0.92 !important;
}

/* Soften only the photographer portrait by 5%; leave portfolio work untouched. */
body.portfolio-review-v50 .about-portrait img,
body.portfolio-review-v50 img[src*="f29239_94c48cd4e249439082d8a8c86ca16623"] {
  filter: saturate(0.95) !important;
}

/* Accessible focus treatment aligned with the beige accent. */
body.portfolio-review-v50 a:focus-visible,
body.portfolio-review-v50 button:focus-visible,
body.portfolio-review-v50 input:focus-visible,
body.portfolio-review-v50 select:focus-visible,
body.portfolio-review-v50 textarea:focus-visible {
  outline: 2px solid var(--vk-beige) !important;
  outline-offset: 3px !important;
}

/* Random direction and restrained stagger for print-card entrance animations. */
html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"] {
  opacity: 0 !important;
  transform: translate3d(var(--vk-print-x, 0px), var(--vk-print-y, 18px), 0) scale(0.988) !important;
  transition: opacity 780ms ease, transform 780ms cubic-bezier(.2,.65,.25,1) !important;
  transition-delay: var(--vk-print-delay, 0ms) !important;
  will-change: opacity, transform;
}
html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"].vk-print-is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}
@media (prefers-reduced-motion: reduce) {
  html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"],
  html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"].vk-print-is-visible {
    opacity: 1 !important; transform: none !important; transition: none !important; will-change: auto !important;
  }
}


/* 2026-10-22: Full-card PPT-like arrival motion and per-photo comment threads. */
html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"] {
  transform: translate3d(var(--vk-print-x, 0px), var(--vk-print-y, 18px), 0) rotate(var(--vk-print-rotate, 0deg)) scale(.975) !important;
  transform-origin: center center;
}
html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"].vk-print-is-visible {
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
}

.portfolio-review-v50 .photo-lightbox-dialog {
  grid-template-rows: minmax(0, 1fr) auto minmax(8rem, 17vh) auto !important;
  gap: .55rem !important;
}
.photo-lightbox-comments {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .78fr);
  gap: clamp(.7rem, 1.5vw, 1.4rem);
  overflow: hidden;
  padding: .65rem .25rem .25rem;
  border-top: 1px solid rgba(196,164,132,.32);
  color: #F5F5F5;
  text-align: left;
}
.photo-lightbox-comments-feed { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: .45rem; }
.photo-lightbox-comments-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: .55rem; }
.photo-lightbox-comments-heading h3 { margin: 0; color: #F5F5F5; font-size: .92rem; line-height: 1.1; font-weight: 500; }
.photo-lightbox-comments-heading h3 span { color: #C4A484; font-variant-numeric: tabular-nums; }
.photo-lightbox-comments-heading p, .photo-lightbox-comment-note { margin: 0; color: #a9a69f; font-size: .66rem; line-height: 1.35; }
.photo-lightbox-comment-list { min-height: 0; overflow: auto; overscroll-behavior: contain; padding-right: .4rem; }
.photo-lightbox-comment-empty { margin: .3rem 0; color: #bdb9b1; font-size: .76rem; line-height: 1.4; }
.photo-lightbox-comment-item { padding: .4rem 0 .5rem; border-bottom: 1px solid rgba(245,245,245,.1); }
.photo-lightbox-comment-byline { display: flex; align-items: baseline; gap: .6rem; margin-bottom: .18rem; }
.photo-lightbox-comment-byline strong { color: #C4A484; font-size: .72rem; font-weight: 600; }
.photo-lightbox-comment-byline time { color: #89867f; font-size: .62rem; }
.photo-lightbox-comment-item p { margin: 0; color: #e0ded7; font-size: .76rem; line-height: 1.4; overflow-wrap: anywhere; }
.photo-lightbox-comment-form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: .35rem; min-height: 0; }
.photo-lightbox-comment-form label { display: grid; gap: .2rem; color: #bdb9b1; font-size: .65rem; line-height: 1.2; }
.photo-lightbox-comment-form input, .photo-lightbox-comment-form textarea {
  width: 100%; min-width: 0; border: 1px solid rgba(196,164,132,.45); border-radius: 2px;
  background: #20211f; color: #F5F5F5; padding: .4rem .55rem; font: inherit; font-size: .75rem;
}
.photo-lightbox-comment-form input { min-height: 1.9rem; }
.photo-lightbox-comment-form textarea { min-height: 2.6rem; height: 100%; resize: vertical; line-height: 1.35; }
.photo-lightbox-comment-form input:focus-visible, .photo-lightbox-comment-form textarea:focus-visible { outline: 2px solid #C4A484; outline-offset: 1px; }
.photo-lightbox-comment-submit-row { display: flex; align-items: center; gap: .6rem; min-height: 1.8rem; }
.photo-lightbox-comment-submit-row button { border: 1px solid #C4A484; background: transparent; color: #F5F5F5; padding: .38rem .65rem; font-size: .67rem; letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
.photo-lightbox-comment-submit-row button:hover { background: rgba(196,164,132,.12); }
.photo-lightbox-comment-submit-row button:disabled { opacity: .55; cursor: wait; }
.photo-lightbox-comment-submit-row [data-photo-comment-status] { margin: 0; color: #C4A484; font-size: .64rem; line-height: 1.3; }
.photo-lightbox-comment-note { font-size: .6rem; }
@media (max-width: 760px) {
  .portfolio-review-v50 .photo-lightbox-dialog { grid-template-rows: minmax(0, 1fr) auto minmax(12rem, 24vh) auto !important; gap: .45rem !important; }
  .photo-lightbox-comments { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; gap: .35rem; padding-top: .45rem; }
  .photo-lightbox-comments-feed { grid-template-rows: auto minmax(0, 1fr); }
  .photo-lightbox-comments-heading p { font-size: .6rem; }
  .photo-lightbox-comment-list { max-height: 5.5rem; }
  .photo-lightbox-comment-form { grid-template-columns: minmax(5rem, .7fr) minmax(0, 1.3fr); grid-template-rows: auto auto; align-items: start; gap: .3rem .5rem; }
  .photo-lightbox-comment-form label:first-child { grid-column: 1; grid-row: 1; }
  .photo-lightbox-comment-form label:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
  .photo-lightbox-comment-form textarea { min-height: 2.9rem; }
  .photo-lightbox-comment-submit-row { grid-column: 1; grid-row: 2; flex-wrap: wrap; }
  .photo-lightbox-comment-submit-row button { padding: .32rem .45rem; font-size: .61rem; }
  .photo-lightbox-comment-submit-row [data-photo-comment-status] { width: 100%; }
  .photo-lightbox-comment-note { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"],
  html.vk-print-motion-enabled body.portfolio-review-v50 .home-prints-lane .home-print-card[data-vk-print-motion="ready"].vk-print-is-visible {
    transform: none !important; transition: none !important; opacity: 1 !important;
  }
}

/* VK-COMMENTS-TOGGLE-CHAT-REVEAL-v2 */
.photo-lightbox-comments[hidden] { display: none !important; }
body.portfolio-review-v50 .photo-lightbox-dialog:not(.has-comments-open) {
  grid-template-rows: minmax(0, 1fr) auto auto !important;
}
body.portfolio-review-v50 .photo-lightbox-dialog.has-comments-open {
  grid-template-rows: minmax(0, 1fr) auto minmax(8rem, 21vh) auto !important;
  gap: .55rem !important;
}
body.portfolio-review-v50 .photo-lightbox-comments {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
}
@media (max-width: 760px) {
  body.portfolio-review-v50 .photo-lightbox-dialog:not(.has-comments-open) {
    grid-template-rows: minmax(0, 1fr) auto auto !important;
  }
  body.portfolio-review-v50 .photo-lightbox-dialog.has-comments-open {
    grid-template-rows: minmax(0, 1fr) auto minmax(10rem, 28vh) auto !important;
  }
}
.site-guide-thinking { display: flex; align-items: baseline; gap: .16rem; color: #C4A484; }
.site-guide-thinking-dots { display: inline-flex; gap: .2rem; margin-left: .12rem; vertical-align: middle; }
.site-guide-thinking-dots i { width: .22rem; height: .22rem; border-radius: 50%; background: currentColor; animation: vk-guide-dot-pulse-v2 650ms ease-in-out infinite alternate; }
.site-guide-thinking-dots i:nth-child(2) { animation-delay: 140ms; }
.site-guide-thinking-dots i:nth-child(3) { animation-delay: 280ms; }
@keyframes vk-guide-dot-pulse-v2 { from { opacity: .3; transform: translateY(0); } to { opacity: 1; transform: translateY(-2px); } }
.site-guide-word { display: inline; animation: vk-guide-word-reveal-v2 260ms ease both; animation-delay: calc(var(--word-index, 0) * 23ms); }
@keyframes vk-guide-word-reveal-v2 { from { opacity: 0; filter: blur(2px); } to { opacity: 1; filter: blur(0); } }
.site-guide-answer-links { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin-top: .4rem; }
.site-guide-answer-links a { animation: vk-guide-link-reveal-v2 360ms ease both; animation-delay: calc(var(--link-index, 0) * 90ms + 120ms); }
@keyframes vk-guide-link-reveal-v2 { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .site-guide-thinking-dots i, .site-guide-word, .site-guide-answer-links a { animation: none !important; }
}

/* VK-COMPACT-PHOTO-COMMENTS-INSTANT-POST-v1 */
.photo-lightbox-comments[hidden] { display: none !important; }
body.portfolio-review-v50 .photo-lightbox-dialog.has-comments-open {
  grid-template-rows: minmax(0, 1fr) auto minmax(5.2rem, 9vh) auto !important;
  gap: .28rem !important;
}
.photo-lightbox-comments {
  grid-template-columns: minmax(0, 1fr) minmax(290px, .92fr) !important;
  gap: .65rem !important;
  padding: .28rem .15rem 0 !important;
  align-items: stretch;
  overflow: hidden;
}
.photo-lightbox-comments-heading { gap: .3rem !important; }
.photo-lightbox-comments-heading h3 { font-size: .78rem !important; line-height: 1.1 !important; }
.photo-lightbox-comments-heading p,
.photo-lightbox-comment-note { display: none !important; }
.photo-lightbox-comments-feed { gap: .15rem !important; }
.photo-lightbox-comment-list { max-height: none !important; padding-right: .2rem !important; }
.photo-lightbox-comment-empty { margin: .08rem 0 !important; font-size: .66rem !important; line-height: 1.25 !important; }
.photo-lightbox-comment-item { padding: .08rem 0 .12rem !important; border-bottom: 0 !important; }
.photo-lightbox-comment-byline { gap: .4rem !important; margin-bottom: .05rem !important; }
.photo-lightbox-comment-byline strong { font-size: .65rem !important; }
.photo-lightbox-comment-byline time { font-size: .56rem !important; }
.photo-lightbox-comment-item p { font-size: .67rem !important; line-height: 1.22 !important; }
.photo-lightbox-comment-form {
  display: grid !important;
  grid-template-columns: minmax(6.5rem, .58fr) minmax(0, 1.45fr) 2.1rem !important;
  grid-template-rows: auto !important;
  gap: .34rem !important;
  align-items: end !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.photo-lightbox-comment-form label {
  display: grid !important;
  gap: .12rem !important;
  min-width: 0 !important;
  font-size: .59rem !important;
  line-height: 1.1 !important;
}
.photo-lightbox-comment-form label:first-child { grid-column: 1 !important; grid-row: 1 !important; }
.photo-lightbox-comment-form label:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
.photo-lightbox-comment-form input,
.photo-lightbox-comment-form textarea {
  box-sizing: border-box !important;
  min-height: 2rem !important;
  height: 2rem !important;
  max-height: 2rem !important;
  padding: .32rem .42rem !important;
  font-size: .69rem !important;
  line-height: 1.2 !important;
  resize: none !important;
}
.photo-lightbox-comment-submit-row {
  position: relative !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: end !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 2rem !important;
  margin: 0 !important;
}
.photo-lightbox-comment-submit-row button.photo-comment-submit-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  padding: .34rem !important;
  border: 1px solid #C4A484 !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: #F5F5F5 !important;
  cursor: pointer !important;
}
.photo-lightbox-comment-submit-row button.photo-comment-submit-icon svg { display: block !important; width: 1.15rem !important; height: 1.15rem !important; }
.photo-lightbox-comment-submit-row button.photo-comment-submit-icon:hover { background: rgba(196,164,132,.14) !important; }
.photo-lightbox-comment-submit-row button.photo-comment-submit-icon:disabled { opacity: .5 !important; cursor: wait !important; }
.photo-lightbox-comment-submit-row [data-photo-comment-status] {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + .18rem) !important;
  width: max-content !important;
  max-width: min(46vw, 17rem) !important;
  margin: 0 !important;
  padding: .12rem .25rem !important;
  color: #C4A484 !important;
  background: rgba(17,17,17,.92) !important;
  font-size: .58rem !important;
  line-height: 1.2 !important;
  text-align: right !important;
}
@media (max-width: 760px) {
  body.portfolio-review-v50 .photo-lightbox-dialog.has-comments-open {
    grid-template-rows: minmax(0, 1fr) auto minmax(6.2rem, 15vh) auto !important;
    gap: .22rem !important;
  }
  .photo-lightbox-comments {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: .18rem !important;
    padding: .2rem 0 0 !important;
  }
  .photo-lightbox-comments-feed { grid-template-rows: auto minmax(0, 2rem) !important; }
  .photo-lightbox-comment-form {
    grid-template-columns: minmax(5rem, .65fr) minmax(0, 1.5fr) 2rem !important;
    grid-template-rows: auto !important;
    gap: .28rem !important;
  }
  .photo-lightbox-comment-form label:first-child { grid-column: 1 !important; grid-row: 1 !important; }
  .photo-lightbox-comment-form label:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
  .photo-lightbox-comment-form input,
  .photo-lightbox-comment-form textarea { height: 1.9rem !important; min-height: 1.9rem !important; max-height: 1.9rem !important; padding: .28rem .32rem !important; }
  .photo-lightbox-comment-submit-row { grid-column: 3 !important; grid-row: 1 !important; min-height: 1.9rem !important; }
  .photo-lightbox-comment-submit-row button.photo-comment-submit-icon { width: 1.9rem !important; min-width: 1.9rem !important; height: 1.9rem !important; }
  .photo-lightbox-comment-submit-row [data-photo-comment-status] { max-width: min(70vw, 17rem) !important; }
}

