/* Agency portraits and native, user-controlled gallery. */
.agency-hero { padding: 0; overflow: clip; }
.agency-hero-copy { min-width: 0; padding-block: clamp(42px, 6vw, 100px); }
.agency-kicker { font-weight: 600; font-size: 12px; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 22px; }
.agency-hero h1 { margin: 0; font-size: clamp(3.35rem, 7vw, 7.2rem); line-height: .99; letter-spacing: -.04em; }
.agency-hero-copy > p:not(.agency-kicker) { max-width: 34em; margin: 28px 0 0; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; }
.agency-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.agency-text-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: 14px; font-weight: 600; }
.agency-hero-photo, .agency-story figure { min-width: 0; margin: 0; }
.agency-hero img, .agency-story img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; object-position: center; border-radius: 0; }
.agency-gallery { padding-block: clamp(56px, 7vw, 104px); overflow: hidden; }
.gallery-heading { display: grid; gap: 24px; margin-bottom: 36px; }
.gallery-heading h2 { max-width: 16em; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.08; margin: 0; }
.gallery-heading > p { max-width: 34em; align-self: end; margin: 0; font-size: 16px; line-height: 1.7; }
.gallery-track { display: flex; gap: 12px; padding: 0 var(--gutter) 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.gallery-track:focus-visible { outline-offset: -3px; }
.gallery-item { flex: 0 0 72vw; max-width: 420px; min-width: 0; margin: 0; scroll-snap-align: start; }
.gallery-item img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
.gallery-tools { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 20px; }
.gallery-tools > p { margin: 0; font-size: 13px; }
.gallery-buttons { display: flex; gap: 8px; }
.gallery-buttons button { width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: 22px; cursor: pointer; transition: opacity 160ms; }
.gallery-buttons button:disabled { opacity: .28; cursor: default; }
.agency-story { padding-block: clamp(64px, 8vw, 128px); }
.agency-story-grid { display: grid; gap: 36px; align-items: center; }
.agency-story-grid > div { max-width: 34em; }
.agency-story h2 { font-size: clamp(2.6rem, 4.8vw, 5rem); line-height: 1.05; margin: 0 0 28px; }
.agency-story p:not(.agency-kicker) { margin: 0 0 26px; line-height: 1.8; }
.agency-story figure { max-width: 520px; }
.agency-ai-note { margin: 28px auto 0; padding-inline: 20px; text-align: center; color: var(--muted); font-size: 12px; line-height: 1.6; }
@media (hover: hover) and (pointer: fine) { .agency-text-link:hover { text-decoration: underline; text-underline-offset: 5px; } .gallery-buttons button:not(:disabled):hover { opacity: .65; } }
@media (min-width: 600px) { .gallery-item { flex-basis: 40vw; } }
@media (min-width: 1024px) {
  .agency-hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 6%; }
  .gallery-heading { grid-template-columns: 1.2fr 1fr; gap: 10%; }
  .gallery-item { flex-basis: 25vw; }
  .gallery-track { padding-inline: max(var(--gutter), calc((100vw - 1440px) / 2)); scroll-padding-inline: max(var(--gutter), calc((100vw - 1440px) / 2)); }
  .agency-story-grid { grid-template-columns: 1fr 1fr; gap: 10%; }
}
@media (prefers-reduced-motion: reduce) { .gallery-track { scroll-behavior: auto; } .gallery-buttons button { transition: none; } }

body::before { display: none; }
.time-hero { background: #0c0c11; }
.time-hero .agency-kicker, .agency-story .agency-kicker { color: var(--gold-2); }
.time-hero .agency-hero-photo { align-self: center; }
.time-hero .agency-hero-photo img { height: auto; object-fit: cover; }
.hero-principles { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid var(--border-2); padding-top: 22px; margin-top: 36px; color: var(--muted); font-size: 12px; }
.agency-gallery { background: #f0ece3; color: #171512; }
.agency-gallery .agency-kicker { color: #705321; }
.gallery-track { gap: 8px; scrollbar-color: #8d7b5c #e2ddd3; }
.gallery-tools { color: #625b50; }
.agency-story { background: #111113; }
.agency-story img { max-height: 780px; }
.creator-story { display: block; }
.creator-story__portraits { display: none; }
.creator-story .tiers { grid-template-columns: repeat(3, 1fr); max-width: none; }
@media(max-width:767px) { .creator-story .tiers { grid-template-columns: 1fr; } }
@media(min-width:1024px) { .time-hero .agency-hero-grid { padding-right: 0; } .time-hero .agency-hero-copy { padding-right: 12px; } }

@media (max-width: 599px) {
  .time-hero .agency-hero-grid { display: grid; gap: 22px; padding-block: 32px; }
  .time-hero .agency-hero-copy { display: contents; }
  .time-hero .agency-kicker { order: 1; margin: 0; }
  .time-hero h1 { order: 2; font-size: 3.1rem; }
  .time-hero .agency-hero-photo { order: 3; }
  .time-hero .agency-hero-copy > p:not(.agency-kicker) { order: 4; margin: 0; }
  .time-hero .agency-actions { order: 5; margin: 0; }
  .time-hero .hero-principles { order: 6; margin: 0; }
}
