html.is-gallery, body.is-gallery { width: 100%; height: 100%; overflow: hidden; background: #eee8dd; }
.is-gallery #pv-directions { height: 100%; }
.is-gallery #pv-directions > :is(.pv-study, .dt-project) { height: 100%; max-width: none; margin: 0; padding: 0; background: #eee8dd; color: #292d29; }
.is-gallery #pv-directions .story-gallery { --gallery-line: #c9c1b4; --gallery-accent: #753b29; display: grid; grid-template-rows: auto minmax(0, 1fr) 2px; gap: 14px; width: 100%; height: 100%; margin: 0; padding: 10px 0 12px; font: 15px/1.55 'DM Sans', Arial, sans-serif; }
.is-gallery #pv-directions .gallery-header { display: flex; align-items: center; gap: 24px; min-width: 0; padding-inline: 2px; }
.is-gallery #pv-directions .gallery-project { flex: 0 0 auto; color: var(--gallery-accent); font: 700 18px/1.3 Comfortaa, sans-serif; letter-spacing: -.025em; }
.is-gallery #pv-directions .gallery-chapter { min-width: 0; color: #62635b; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.is-gallery #pv-directions .gallery-controls { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.is-gallery #pv-directions .gallery-count { min-width: 54px; color: #62635b; font: 11px/1.4 'IBM Plex Mono', monospace; font-variant-numeric: tabular-nums; white-space: nowrap; }
.is-gallery #pv-directions :is(.gallery-arrow, .gallery-full) { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 0; background: none; border: 1px solid var(--gallery-line); color: var(--gallery-accent); text-decoration: none; cursor: pointer; transition: background-color .18s ease, border-color .18s ease; }
.is-gallery #pv-directions .gallery-full { width: 44px; border-color: transparent; }
.is-gallery #pv-directions :is(.gallery-arrow, .gallery-full) svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.is-gallery #pv-directions .gallery-previous svg { transform: rotate(180deg); }
.is-gallery #pv-directions :is(.gallery-arrow, .gallery-full):hover { border-color: var(--gallery-accent); background: #e5ded1; }
.is-gallery #pv-directions .gallery-arrow:disabled { opacity: .3; cursor: default; background: none; border-color: var(--gallery-line); }
.is-gallery #pv-directions :is(.gallery-arrow, .gallery-full, .gallery-track, .gallery-copy a, .gallery-copy summary):focus-visible { outline: 2px solid var(--gallery-accent); outline-offset: -3px; }
.is-gallery #pv-directions .gallery-track { position: relative; display: flex; gap: 18px; min-width: 0; min-height: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: none; }
.is-gallery #pv-directions .gallery-track::-webkit-scrollbar { display: none; }
.is-gallery #pv-directions .gallery-track.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.is-gallery #pv-directions .gallery-panel { flex: 0 0 calc(100% - 48px); min-width: 0; height: 100%; overflow: hidden; scroll-snap-align: start; border: 1px solid var(--gallery-line); background: #f5f2e9; color: #292d29; }
.is-gallery #pv-directions .gallery-panel-visual { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(0, 1.6fr); }
.is-gallery #pv-directions .gallery-copy { min-width: 0; height: 100%; min-height: 0; overflow-y: auto; padding: 26px; scrollbar-width: thin; scrollbar-color: #c1b3a0 transparent; }
.is-gallery #pv-directions .gallery-panel:not(.gallery-panel-visual) .gallery-copy { padding: 28px 36px; }
.is-gallery #pv-directions .gallery-media { min-width: 0; min-height: 0; overflow: hidden; border-left: 1px solid var(--gallery-line); background: #e5e5dc; cursor: grab; }
.is-gallery #pv-directions .gallery-media > figure, .is-gallery #pv-directions .gallery-media > figure > a { position: relative; display: block; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: none; aspect-ratio: auto; }
.is-gallery #pv-directions .gallery-media :is(img, canvas) { display: block; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; object-fit: contain; aspect-ratio: auto; }
.is-gallery #pv-directions .gallery-copy .public-story-title h1 { margin: 0 0 12px; font: 700 36px/1.15 Comfortaa, sans-serif; color: var(--gallery-accent); letter-spacing: -.035em; }
.is-gallery #pv-directions .gallery-copy .public-story-headline { margin: 0 0 22px; font: 400 25px/1.2 'Libre Caslon Display', Georgia, serif; color: #292d29; }
.is-gallery #pv-directions .gallery-copy :is(.atlas-product-statement, .dt-lead, .pv-subtitle) { max-width: none; margin: 0 0 22px; font-size: 16px; line-height: 1.6; color: #3f443b; }
.is-gallery #pv-directions .gallery-caption h3 { margin: 12px 0 14px; font: 600 25px/1.18 'DM Sans', Arial, sans-serif; letter-spacing: -.025em; color: #292d29; }
.is-gallery #pv-directions .gallery-caption > p { margin: 0 0 16px; font-size: 14px; line-height: 1.65; color: #454a42; }
.is-gallery #pv-directions .gallery-caption > :is(span, .dt-label, .pv-eyebrow) { font: 10px/1.6 'IBM Plex Mono', monospace; letter-spacing: .025em; color: #6a6357; }
.is-gallery #pv-directions .gallery-copy :is(.gallery-context, .gallery-caption details) { margin-top: 16px; border-top: 1px solid var(--gallery-line); }
.is-gallery #pv-directions .gallery-copy summary { padding-block: 10px; min-height: 40px; cursor: pointer; color: var(--gallery-accent); font: 500 12px/1.5 'DM Sans', Arial, sans-serif; }
.is-gallery #pv-directions .gallery-context-body { padding-bottom: 14px; }
.is-gallery #pv-directions .gallery-note-label { margin: 20px 0 10px; color: #753b29; font: 600 11px/1.5 'DM Sans', Arial, sans-serif; }
.is-gallery #pv-directions .gallery-context-body :is(section, article, header, div) { display: block !important; width: auto !important; height: auto !important; min-height: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; color: #454a42 !important; }
.is-gallery #pv-directions .gallery-context-body :is(p, li, dt, dd) { margin: 10px 0; font-size: 13px !important; line-height: 1.6; color: #454a42 !important; }
.is-gallery #pv-directions .gallery-context-body :is(h2, h3) { margin: 14px 0 10px; font-size: 18px !important; line-height: 1.3; color: #292d29 !important; }
.is-gallery #pv-directions .gallery-document { display: block !important; max-width: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #292d29 !important; }
.is-gallery #pv-directions .gallery-document h2 { margin: 15px 0 22px; font-size: 29px; line-height: 1.15; letter-spacing: -.025em; }
.is-gallery #pv-directions .gallery-document h3 { font-size: 16px; line-height: 1.35; }
.is-gallery #pv-directions .gallery-document .pm-discovery-heading h3 { margin: 14px 0; font: 400 clamp(24px, 3.2vw, 30px)/1.2 'Libre Caslon Display', Georgia, serif; }
.is-gallery #pv-directions .gallery-document p { font-size: 14px; line-height: 1.65; color: #454a42; }
.is-gallery #pv-directions .gallery-document :is(.metric-grid, .dt-metric-grid, .pm-facts) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.is-gallery #pv-directions .gallery-document :is(.metric, .dt-metric-grid > article, .pm-fact) { min-width: 0; margin: 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--gallery-line); }
.is-gallery #pv-directions .gallery-document :is(.metric > strong, .dt-metric-grid strong, .pm-fact > strong) { display: block; font-size: 34px; line-height: 1.1; color: var(--gallery-accent); }
.is-gallery #pv-directions .gallery-document :is(.metric h2, .dt-metric-grid h3) { margin-block: 10px; font: 600 15px/1.4 'DM Sans', Arial, sans-serif; letter-spacing: 0; }
.is-gallery #pv-directions .gallery-document :is(.secondary-grid, .atlas-scale-ribbon > dl) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.is-gallery #pv-directions .gallery-document .marketing-copy { max-width: 74ch; margin: 18px 0; font-size: 18px; line-height: 1.7; }
.is-gallery #pv-directions .gallery-document .atlas-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-block: 24px; }
.is-gallery #pv-directions .gallery-document .atlas-legend svg { width: 28px; height: 28px; }
.is-gallery #pv-directions .gallery-document .reveal { opacity: 1; transform: none; }
.is-gallery #pv-directions .gallery-progress { height: 2px; overflow: hidden; background: #d7cfc0; }
.is-gallery #pv-directions .gallery-progress-fill { display: block; width: 100%; height: 100%; transform-origin: left; background: var(--gallery-accent); transition: transform .2s ease; }
.is-gallery #pv-directions .gallery-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.is-gallery .gallery-image-dialog { width: min(1200px, 94vw); max-width: 94vw; max-height: 94vh; padding: 22px; background: #eee8dd; color: #292d29; border: 0; }
.is-gallery .gallery-image-dialog::backdrop { background: #292d29cc; }
.is-gallery .gallery-image-dialog img { display: block; width: 100%; height: auto; max-height: 75vh; object-fit: contain; }
.is-gallery .gallery-image-dialog button { min-height: 44px; margin-bottom: 12px; padding-inline: 14px; background: none; border: 1px solid #b9b1a5; color: #753b29; cursor: pointer; }
@media (max-width: 760px) {
  .is-gallery #pv-directions .story-gallery { padding: 8px 16px 10px; gap: 12px; }
  .is-gallery #pv-directions .gallery-header { gap: 8px; padding: 0; }
  .is-gallery #pv-directions .gallery-project { font-size: 16px; }
  .is-gallery #pv-directions .gallery-chapter { display: none; }
  .is-gallery #pv-directions .gallery-controls { gap: 3px; }
  .is-gallery #pv-directions .gallery-count { min-width: 44px; font-size: 10px; }
  .is-gallery #pv-directions .gallery-full { width: 44px; }
  .is-gallery #pv-directions .gallery-track { gap: 12px; }
  .is-gallery #pv-directions .gallery-panel { flex-basis: calc(100% - 18px); }
  .is-gallery #pv-directions .gallery-panel-visual { grid-template-columns: 1fr; grid-template-rows: minmax(160px, 40%) minmax(0, 1fr); }
  .is-gallery #pv-directions .gallery-media { grid-row: 1; grid-column: 1; border-left: 0; border-bottom: 1px solid var(--gallery-line); }
  .is-gallery #pv-directions .gallery-panel-visual .gallery-copy { grid-row: 2; grid-column: 1; }
  .is-gallery #pv-directions .gallery-copy, .is-gallery #pv-directions .gallery-panel:not(.gallery-panel-visual) .gallery-copy { padding: 18px; }
  .is-gallery #pv-directions .gallery-copy .public-story-title h1 { font-size: 28px; }
  .is-gallery #pv-directions .gallery-copy .public-story-headline { font-size: 22px; margin-bottom: 14px; }
  .is-gallery #pv-directions .gallery-copy :is(.atlas-product-statement, .dt-lead, .pv-subtitle) { font-size: 15px; margin-bottom: 14px; }
  .is-gallery #pv-directions .gallery-caption h3 { font-size: 22px; }
  .is-gallery #pv-directions .gallery-document h2 { font-size: 25px; }
  .is-gallery #pv-directions .gallery-document :is(.metric-grid, .dt-metric-grid, .pm-facts, .secondary-grid, .atlas-scale-ribbon > dl, .atlas-legend) { grid-template-columns: 1fr; }
  .is-gallery #pv-directions .gallery-document .marketing-copy { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .is-gallery #pv-directions :is(.gallery-progress-fill, .gallery-arrow, .gallery-full) { transition: none; }
}
