.project-visual,
.project-card:first-child .project-visual,
.detail-hero { aspect-ratio: 16 / 9; }
.project-visual img,
.gallery img,
.image-preview,
.gallery-admin img,
.admin-project-thumb { object-fit: contain; background: #06111c; }
.gallery img,
.image-preview,
.gallery-admin img { aspect-ratio: 16 / 9; }
.project-image-link { display: block; border-radius: 26px; }
.project-image-link:hover img,
.project-main-link:hover img { transform: scale(1.025); }
.project-caption h3 a:hover { color: var(--primary); }
.project-main-link { display: block; }
.project-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.home-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-project-grid .project-card:first-child { grid-column: auto; }
.home-project-grid .project-card { min-width: 0; padding: 12px; border: 1px solid #ffffff1c; border-radius: 26px; background: linear-gradient(145deg, #0b1c29, #081620); box-shadow: 0 18px 45px #0004; }
.home-project-grid .project-visual { border-radius: 18px; }
.home-project-grid .project-caption { padding: 18px 8px 8px; }
.home-project-grid .project-caption h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
.project-list { display: grid; gap: 28px; }
.project-row { display: grid; grid-template-columns: minmax(280px, 42%) 1fr; gap: 34px; align-items: stretch; padding: 18px; border: 1px solid #ffffff18; border-radius: 28px; background: linear-gradient(135deg, #0b1c29, #081620); box-shadow: 0 18px 45px #0003; }
.project-row-image { align-self: start; display: block; border-radius: 20px; }
.project-row-image .project-visual { border-radius: 20px; }
.project-row-image:hover img { transform: scale(1.02); }
.project-row-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 10px 16px 10px 0; }
.project-row-copy .eyebrow { margin: 0 0 7px; }
.project-row-copy h2 { margin: 0; font: normal clamp(2rem, 3.5vw, 3.25rem)/1 Georgia, serif; letter-spacing: -.04em; }
.project-row-copy h2 a:hover { color: var(--primary); }
.project-row-subtitle { margin: 10px 0 16px; color: #d5e2e6; font-size: 1.08rem; }
.project-row-description { color: var(--muted); line-height: 1.75; }
.admin-project-cell { display: flex; align-items: center; gap: 14px; min-width: 250px; }
.admin-project-thumb,
.admin-project-thumb-placeholder { flex: 0 0 auto; width: 80px; aspect-ratio: 16 / 9; border: 1px solid #ffffff20; border-radius: 10px; }
.admin-project-thumb { height: auto; }
.admin-project-thumb-placeholder { background: linear-gradient(135deg, #0b2a3d, #122432); }
.link-fields { padding: 22px; border: 1px solid #ffffff18; border-radius: 18px; background: #ffffff04; }
.link-fields > p { margin: 0 0 15px; }
.link-fields .form-row + .form-row { margin-top: 15px; }
.consent-check { display: flex; grid-template-columns: none; align-items: center; gap: 10px; width: fit-content; }
.consent-check input { width: 18px; height: 18px; accent-color: var(--primary); }
.inquiry-preview-cell { min-width: 220px; max-width: 340px; }
.inquiry-preview { display: -webkit-box; margin: 0; overflow: hidden; color: #c3d3d9; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.inquiry-contact-details { display: grid; gap: 2px; margin-top: 4px; }
.texting-badge { display: inline-block; width: fit-content; margin-top: 4px; padding: 2px 8px; border: 1px solid #5ee8df40; border-radius: 999px; color: var(--primary); font-size: .7rem; }
.start-project-page { min-height: calc(100vh - 150px); background-image: linear-gradient(90deg, #050b17b8 0%, #07111d8f 46%, #10102699 100%), linear-gradient(180deg, #06111c18, #06111c8f), url('../images/start-project-bg.webp'); background-position: center; background-size: cover; background-attachment: fixed; }
.start-project-page .contact-grid { position: relative; z-index: 1; }
.start-project-page .glass { border-color: #9b83ff35; background: #071521e8; box-shadow: 0 28px 80px #0009, 0 0 55px #7f5cff16; backdrop-filter: blur(16px); }
.start-project-page .contact-grid > div:first-child { text-shadow: 0 2px 18px #02050dcc; }
@media (max-width: 600px) {
  .admin-project-thumb,
  .admin-project-thumb-placeholder { width: 64px; height: auto; }
}

@media (max-width: 850px) {
  .home-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-row { grid-template-columns: minmax(220px, 40%) 1fr; gap: 24px; }
  .start-project-page { background-position: 42% center; background-attachment: scroll; }
}

@media (max-width: 600px) {
  .home-project-grid { grid-template-columns: 1fr; }
  .project-row { grid-template-columns: 1fr; padding: 13px; }
  .project-row-copy { padding: 10px 7px 9px; }
}
