/* AYF Objects */
.objects-hero {
  position: relative;
  min-height: min(760px, 84vh);
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #0c0906;
}
.objects-hero-media,
.objects-hero-media::after {
  position: absolute;
  inset: 0;
}
.objects-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  opacity: 0.58;
}
.objects-hero-media::after {
  content: '';
  background: linear-gradient(90deg, rgba(5, 4, 3, 0.88) 0%, rgba(5, 4, 3, 0.54) 48%, rgba(5, 4, 3, 0.15) 100%), linear-gradient(0deg, rgba(5, 4, 3, 0.7) 0%, transparent 46%);
}
.objects-hero-content {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  padding: 160px 0 112px;
}
.objects-hero .section-label { margin-bottom: 18px; }
.objects-hero h1 { font-size: clamp(3rem, 7vw, 6rem); margin-bottom: 22px; }
.objects-hero .hero-lead { max-width: 530px; color: #d2c7b6; }
.objects-hero-index {
  position: absolute;
  right: 48px;
  bottom: 44px;
  z-index: 1;
  color: rgba(245, 240, 232, 0.52);
  font: 0.67rem/1 var(--font-mono);
  letter-spacing: 0.18em;
}
.objects-intro { background: #0c0906; border-bottom: 1px solid rgba(200, 164, 92, 0.18); }
.objects-intro-inner { max-width: 860px; padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
.objects-intro p { color: var(--text-dim); font-size: clamp(1.15rem, 2vw, 1.65rem); line-height: 1.75; }
.objects-section { padding: var(--space-5xl) 0; background: var(--absolute-black); }
.objects-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); margin-bottom: var(--space-3xl); }
.objects-heading .section-desc { max-width: 390px; text-align: right; }
.objects-grid { display: grid; grid-template-columns: 1fr; border-top: 1px solid rgba(245, 240, 232, 0.16); }
.object-card { min-height: 540px; display: flex; flex-direction: column; padding: 28px; border-bottom: 1px solid rgba(245, 240, 232, 0.16); }
.object-card + .object-card { border-left: 0; }
.object-card-number { color: var(--ayf-gold); font: 0.68rem/1 var(--font-mono); letter-spacing: 0.15em; }
.object-card-image { position: relative; flex: 1; min-height: 280px; margin: 32px 0 26px; overflow: hidden; background: #20170f; }
.object-card-image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.78; transition: transform 0.7s ease, opacity 0.5s ease; }
.object-card:hover .object-card-image img { transform: scale(1.045); opacity: 0.95; }
.object-card-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.02), rgba(0,0,0,0.38)); pointer-events: none; }
.material-caption { position: absolute; left: 14px; bottom: 12px; z-index: 1; color: rgba(245, 240, 232, 0.8); font: 0.62rem/1 var(--font-mono); letter-spacing: 0.12em; }
.object-gallery { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(120px, 0.75fr); gap: 8px; min-height: 330px; margin: 32px 0 26px; }
.object-gallery-four { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.object-gallery-three { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.object-photo-main { grid-row: 1 / -1; }
.object-photo-slot,
.build-photo-slot { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 8px; min-width: 0; padding: 16px; border: 1px solid rgba(200, 164, 92, 0.22); background: #17120d; }
.object-photo-slot:has(img) { padding: 0; overflow: hidden; }
.object-photo-slot img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; transition: transform 0.6s ease; }
.object-photo-slot:hover img { transform: scale(1.035); }
.object-photo-contain { background: #d6d6d6; }
.object-photo-contain img { object-fit: contain; }
.object-photo-slot span,
.build-photo-slot span { color: var(--ayf-gold); font: 0.62rem/1 var(--font-mono); letter-spacing: 0.12em; }
.object-photo-slot strong,
.build-photo-slot strong { color: rgba(245, 240, 232, 0.62); font-family: var(--font-body); font-size: 0.7rem; font-weight: 400; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase; }
.object-photo-main strong { font-size: 0.8rem; }.object-card h2 { font-size: clamp(1.55rem, 2.5vw, 2.3rem); margin-bottom: 10px; }
.object-kind { color: var(--ayf-gold-light); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 12px; }
.object-card p { max-width: 460px; font-size: 0.95rem; }
.object-card .btn { align-self: flex-start; margin-top: 22px; padding: 13px 18px; font-size: 0.7rem; }
.objects-build { background: #0e0b08; border-top: 1px solid rgba(200, 164, 92, 0.18); }
.objects-build-frame { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr); min-height: 520px; border: 1px solid rgba(245, 240, 232, 0.14); }
.objects-build-media { overflow: hidden; background: #21170d; }
.objects-build-media img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; opacity: 0.78; transition: transform 0.7s ease, opacity 0.5s ease; }
.objects-build-poster { background: #090705; }
.objects-build-poster img { object-fit: contain; opacity: 1; }
.poster-zoom-trigger { cursor: zoom-in; }
.poster-zoom-trigger:focus-visible { outline: 2px solid var(--ayf-gold); outline-offset: -3px; }
.objects-build-frame:hover .objects-build-media img { transform: scale(1.035); opacity: 0.93; }
.objects-build-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(32px, 5vw, 76px); }
.objects-build-copy .section-title { max-width: 510px; }
.objects-build-copy > p:not(.section-label) { max-width: 490px; }
.build-note { margin-top: 20px; color: var(--text-muted); font-size: 0.85rem; }
.objects-build-copy .btn { margin-top: 30px; padding: 14px 20px; font-size: 0.7rem; }
.build-options { display: grid; grid-template-columns: 1fr; border: 1px solid rgba(245, 240, 232, 0.14); border-top: 0; }
.build-option { position: relative; min-height: 246px; padding: 30px 34px 32px 82px; }
.build-option + .build-option { border-left: 0; border-top: 1px solid rgba(245, 240, 232, 0.14); }
.build-option > span { position: absolute; left: 30px; top: 34px; color: var(--ayf-gold); font: 0.68rem/1 var(--font-mono); letter-spacing: 0.12em; }
.build-option .object-kind { margin-bottom: 12px; }
.build-option h3 { margin-bottom: 12px; font-size: clamp(1.2rem, 2vw, 1.7rem); }
.build-option p:last-child { max-width: 460px; font-size: 0.9rem; }.build-photo-grid { display: grid; gap: 7px; margin-top: 24px; }
.build-photo-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.build-photo-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.build-photo-slot { min-height: 112px; padding: 12px; }.objects-material { background: #120e09; border-top: 1px solid rgba(200, 164, 92, 0.18); border-bottom: 1px solid rgba(200, 164, 92, 0.18); }
.build-option-study { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr); min-height: 520px; padding: 0; }
.build-study-media { min-height: 100%; overflow: hidden; background: #090705; }
.build-study-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.build-study-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 72px); }
.build-study-number { margin-bottom: 28px; color: var(--ayf-gold); font: 0.68rem/1 var(--font-mono); letter-spacing: 0.12em; }
.build-study-copy > p:not(.object-kind) { max-width: 470px; }
.build-safety { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(245, 240, 232, 0.14); color: var(--text-muted); font-size: 0.82rem !important; }
.objects-material-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr); gap: var(--space-4xl); align-items: center; }
.objects-material-image { aspect-ratio: 4 / 3; overflow: hidden; }
.objects-material-image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; }
.objects-material-copy .section-title { max-width: 570px; }
.objects-material-copy p { max-width: 550px; }
.objects-note { display: flex; gap: 18px; align-items: flex-start; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(245, 240, 232, 0.14); }
.objects-note-mark { color: var(--ayf-gold); font: 0.78rem/1 var(--font-mono); padding-top: 4px; }
.objects-note p { font-size: 0.85rem; color: var(--text-muted); }
.objects-contact { text-align: center; padding: var(--space-5xl) 0; background: var(--absolute-black); }
.objects-contact .section-desc { margin: 0 auto var(--space-xl); }
.poster-lightbox[hidden] { display: none; }
.poster-lightbox { position: fixed; inset: 0; z-index: 3000; display: block; background: rgba(4, 3, 2, 0.96); }
.poster-lightbox-stage { width: 100%; height: 100vh; overflow: auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom; text-align: center; }
.poster-lightbox-stage img { display: block; width: min(780px, 88vw); height: auto; margin: 24px auto; cursor: zoom-out; }
.poster-lightbox-close { position: fixed; z-index: 3010; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,0.25); border-radius: 50%; background: rgba(10,8,6,0.72); color: #fff; cursor: pointer; line-height: 1; }
.poster-lightbox-close { top: 18px; right: 18px; font-size: 30px; }
.poster-lightbox-open { overflow: hidden; }
@media (max-width: 760px) {
  .objects-hero-content { padding: 132px 0 76px; }
  .objects-hero-media::after { background: linear-gradient(0deg, rgba(5,4,3,0.84), rgba(5,4,3,0.2) 75%); }
  .objects-hero-index { right: var(--space-md); bottom: var(--space-md); }
  .objects-heading { align-items: flex-start; flex-direction: column; margin-bottom: var(--space-2xl); }
  .objects-heading .section-desc { text-align: left; }
  .objects-grid { grid-template-columns: 1fr; }
  .object-card { min-height: 0; padding: 18px 0 32px; }
  .object-card + .object-card { border-left: 0; padding-top: 32px; }
  .object-card-image { min-height: 320px; margin: 26px 0 22px; }
  .object-gallery { grid-template-columns: minmax(0, 1.35fr) minmax(100px, 0.65fr); min-height: 300px; margin: 26px 0 22px; }
  .objects-build { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
  .objects-build-frame { grid-template-columns: 1fr; min-height: 0; }
  .objects-build-media { aspect-ratio: 4 / 3; }
  .objects-build-copy { padding: 34px 24px 38px; }
  .build-options { grid-template-columns: 1fr; }
  .build-option { min-height: 0; padding: 28px 24px 30px 70px; }
  .build-option + .build-option { border-left: 0; border-top: 1px solid rgba(245, 240, 232, 0.14); }
  .build-option > span { left: 24px; top: 32px; }
  .build-option-study { grid-template-columns: 1fr; padding: 0; }
  .build-study-media { min-height: 0; aspect-ratio: 4 / 3; }
  .build-study-copy { padding: 32px 24px 36px; }
  .build-study-number { margin-bottom: 22px; }
  .poster-lightbox-stage img { width: 94vw; margin: 58px auto 24px; }
  .poster-lightbox-close { width: 40px; height: 40px; }
  .poster-lightbox-close { top: 10px; right: 10px; }
  .build-photo-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .build-photo-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .build-photo-grid-three .build-photo-slot:last-child { grid-column: 1 / -1; }
  .objects-material-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
  .objects-material { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
}
