/* Shared readability, portfolio rhythm and monochrome brand presentation. */
.balanced-heading .eyebrow,
.balanced-hero .hero-rail span { font-size: 12px; line-height: 1.6; color: #d5d5d5; }
.balanced-hero .hero-rail { gap: 16px 28px; padding: 20px 6%; flex-wrap: wrap; }
.division-overlay { background: linear-gradient(0deg, #080808f5 0%, #080808c4 35%, #08080859 72%, #08080812 100%); }
.hero-division-copy > .eyebrow {
  display: inline-block; padding: 8px 11px; margin-bottom: 18px; min-height: 0;
  background: #171717; color: #fff; font-size: 12px; line-height: 1.5; letter-spacing: 1px;
}
.hero-division-copy > p:not(.eyebrow) { color: #f0f0f0; font-size: 15px; line-height: 1.6; }
.hero-division-copy .button { font-size: 12px; min-height: 48px; }
.press-mastheads span { color: #d5d5d5; font-size: 14px; line-height: 1.6; margin-top: 10px; }
.footer-links { color: #d5d5d5; font-size: 14px; line-height: 1.6; }
.footer-top p, .footer-top > a:last-child { color: #d5d5d5; font-size: 14px; }
.footer-bottom, .footer-bottom button { color: #c9c9c9; font-size: 13px; line-height: 1.6; }
.footer-bottom button { min-height: 44px; }
.service-visual figcaption, .feature-hero figcaption { color: #d5d5d5; font-size: 14px; line-height: 1.6; }
.case-gallery-grid figcaption, .case-gallery-heading > span { color: #484848; font-size: 14px; line-height: 1.6; letter-spacing: .3px; }
.photo-label { color: #202020; background: #f3f3f3; font-size: 11px; line-height: 1.5; letter-spacing: .6px; padding: 8px 10px; }
.work .project-title > span { display: block; color: #4a4a4a; font-size: 14px; line-height: 1.5; margin-top: 8px; }
.work .project > p { color: #4a4a4a; font-size: 15px; line-height: 1.6; }
.work .section-label { color: #484848; font-size: 12px; }
.home-work .projects { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px 28px; align-items: stretch; }
.home-work .project { display: flex; flex-direction: column; min-width: 0; }
.home-work .project-photo { height: auto; aspect-ratio: 4 / 3; flex: none; }
.home-work .project-title { min-height: 70px; margin: 20px 0 8px; }
.home-work .project-title h3 { font-size: 23px; line-height: 1.2; }
.home-work .project > p { margin: 0; }
.home-work .project:focus-visible { outline: 2px solid #222; outline-offset: 7px; }
.journal-type { font-size: 12px; line-height: 1.6; color: #4a4a4a; letter-spacing: .6px; }
.journal-scope { font-size: 15px; line-height: 1.6; color: #404040; }
.journal-body > p:not(.journal-scope) { font-size: 15px; line-height: 1.6; color: #4a4a4a; }
.project-card-link { display: flex; flex-direction: column; }
.project-card-link .journal-photo { flex: none; }
.project-card-link .journal-body { flex: 1; padding-bottom: 22px; }
.project-card-link .card-action { margin-top: auto; font-size: 12px; line-height: 1.5; padding: 16px 0; }
.directory-search label, .directory-count { font-size: 13px; line-height: 1.6; }

/* Keep the existing email workflow; give every field a clearly visible surface. */
#inquiry label { color: #eee; font-size: 14px; line-height: 1.5; }
#inquiry input:not([type="radio"]), #inquiry select, #inquiry textarea {
  display: block; width: 100%; margin-top: 8px; padding: 14px 16px; min-height: 52px;
  border: 1px solid #858585; border-radius: 2px; background: #1d1d1d; color: #fff;
  font: inherit; font-size: 16px; line-height: 1.5; box-sizing: border-box;
}
#inquiry textarea { min-height: 150px; resize: vertical; }
#inquiry input::placeholder, #inquiry textarea::placeholder { color: #bebebe; opacity: 1; }
#inquiry :is(input, select, textarea):focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-color: #fff; }
#inquiry .inquiry-route { border-color: #858585; }
#inquiry .inquiry-route legend { color: #eee; font-size: 14px; }
#inquiry .inquiry-route input { width: 20px; height: 20px; min-height: 20px; flex: none; margin: 0; padding: 0; }
#inquiry .inquiry-route label { min-height: 32px; }
#inquiry :is(.field-hint, .privacy-note, .form-note, .form-status) { font-size: 13px; line-height: 1.7; color: #d0d0d0; }

/* Manufacturer-supplied marks, presented with the site's neutral palette. */
.brand-group { margin-top: 44px; }
.brand-group h3 { color: #d5d5d5; font-size: 13px; line-height: 1.6; letter-spacing: 1.3px; text-transform: uppercase; }
.brand-group .brand-list { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px 24px; max-width: 1000px; margin: 24px auto 0; }
.brand-group .brand-mark:nth-child(n) { grid-column: span 3; height: 76px; }
.brand-group .brand-audio .brand-mark:nth-child(-n+3) { grid-column: span 4; }
.brand-group .brand-lighting .brand-mark:nth-child(n) { grid-column: span 3; }
.brand-group .brand-mark > span { background: #d7d7d7; max-width: 100%; }
.brand-group .kscape > span { width: 170px; height: 56px; }
.brand-group .chauvet > span { width: 130px; height: 76px; }
.brand-group .adj > span { width: 108px; height: 76px; }
.brand-group .elation > span { width: 165px; height: 70px; }
.brand-group .robe > span { width: 150px; height: 42px; }
.brand-group .martin > span { width: 150px; height: 75px; }
.brand-group .etc > span { width: 100px; height: 76px; }
.brand-group .chamsys > span { width: 165px; height: 59px; }
.brand-group .ma-lighting > span { width: 140px; height: 63px; -webkit-mask: none; mask: none; background: var(--brand-logo) center / contain no-repeat; filter: grayscale(1) brightness(1.5); }
.brands > .muted { margin-top: 38px; color: #d0d0d0; font-size: 14px; }
@media (max-width: 1100px) {
  .home-work .projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .balanced-hero .hero-rail { display: grid; grid-template-columns: 1fr 1fr; text-align: left; gap: 12px 18px; }
  .balanced-hero .hero-rail span { font-size: 11px; letter-spacing: .7px; }
  .hero-division-copy > .eyebrow { font-size: 11px; letter-spacing: .6px; }
  .hero-division-copy > p:not(.eyebrow) { font-size: 15px; }
  .home-work .projects { grid-template-columns: 1fr; gap: 36px; }
  .home-work .project-title { min-height: 0; margin-bottom: 12px; }
  .home-work .project-title h3 { font-size: 24px; }
  .brand-group .brand-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
  .brand-group .brand-audio .brand-mark:nth-child(n), .brand-group .brand-lighting .brand-mark:nth-child(n) { grid-column: auto; }
  .brand-group .brand-mark.funktion > span { width: 145px; }
  .brand-group .brand-mark.kscape > span { width: 145px; }
}

.hero-division img[data-original-src="assets/portfolio/hyde-mmw-night.jpg"] { object-position: 50% 75%; }

.balanced-heading > p:not(.eyebrow) { color: #d0d0d0; font-size: 15px; line-height: 1.6; }

/* Support belongs in the navigation and page flow, with comfortable touch targets. */
#site-navigation .nav-support { min-height: 44px; display: inline-flex; align-items: center; }
#site-navigation .nav-support:hover, #site-navigation .nav-support:focus-visible { text-decoration: underline; text-underline-offset: 6px; }
.home-support { display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: center; border-top: 1px solid #ffffff30; border-bottom: 1px solid #ffffff30; }
.home-support .eyebrow { color: #c9c9c9; margin-bottom: 20px; }
.home-support h2 { color: #f3f3f3; }
.home-support p { color: #ccc; max-width: 570px; font-size: 15px; margin-top: 24px; }
.home-support-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.home-support-actions .button { background: #eee; color: #111; border-color: #eee; min-width: 240px; font-size: 14px; }
.home-support-actions .button:hover { background: #d3d3d3; }
.home-support-actions .text-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.home-support-actions p { margin-top: 0; font-size: 13px; }
@media(max-width: 700px) { .home-support { grid-template-columns: 1fr; gap: 32px; } .home-support-actions { align-items: stretch; } .home-support-actions .button { width: 100%; } }

.balanced-heading .experience-note { display: inline-flex; align-items: center; gap: 7px; margin: 18px auto 0; padding: 9px 13px; border: 1px solid #ffffff38; color: #e8e8e8; font-size: 10px; line-height: 1.3; letter-spacing: 1.25px; }
.balanced-heading .experience-note strong { color: #fff; font-size: 12px; letter-spacing: 1px; }
.about-history { border-left: 2px solid #9a9a9a; padding-left: 15px; }
