/* September refresh: portraits, silver headings and expanded galleries. */
.service-access { --service-art: url("../images/projects/access-controls/concept-005.webp"); --service-art-position: center; }
.service-card--access { --card-art: url("../images/projects/access-controls/concept-005.webp"); }
.home-slide-access .home-slide-frame { --slide-image: url("../images/projects/access-controls/concept-090.webp"); }

.about-page h1, .about-page h2, .about-page h3,
.contact-page h1, .contact-page h2, .home-restructured #contact h2 {
  color: #e2e5e9;
  background-image: linear-gradient(120deg, #fff 4%, #d9dde3 46%, #aeb4bd 76%, #f0f2f5);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.about-hero-grid { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(24px, 4vw, 64px); }
.about-hero-photo { aspect-ratio: auto; max-height: 780px; margin: 0; }
.about-hero-photo img { display: block; height: auto; max-height: 780px; object-fit: contain; }
.about-hero-copy .page-title { font-size: clamp(3.2rem, 6vw, 6rem); }
.purpose-photo { aspect-ratio: 3/4; }
.purpose-card:first-child .purpose-photo img, .purpose-card:last-child .purpose-photo img { object-position: center top; }
.team-photo img, .team-modal-photo img { object-position: center top; }

.contact-list li:has(.contact-message-link) { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.contact-list li > a.contact-message-link { display: inline-flex !important; min-height: 36px; padding: 6px 13px; border: 1px solid rgba(223,226,232,.3); border-radius: 999px; color: #e6e9ee; font-size: .8rem; }
.contact-list a[href^="mailto:"] { overflow-wrap: anywhere; }
.footer-email, .contact-email { display: inline-flex; gap: 9px; align-items: center; color: #dce0e6; overflow-wrap: anywhere; }
.footer-email { margin-top: 18px; font-size: .88rem; }
.quick-fact a { font-size: .83rem; overflow-wrap: anywhere; }
.quick-fact:has(a[href^="mailto:"]) { flex-wrap: wrap; }
.release-marker { display: block; margin-top: 9px; color: #a2a5ab; font-size: .68rem; letter-spacing: .12em; }

.home-restructured .brand-wordmark-grid .home-brand-card { min-height: 124px; padding: 20px; background: #f7f7f5; border-color: #d9d9d4; border-radius: 14px; }
.home-brand-card .brand-logo-image { display: block; width: 100%; height: 68px; object-fit: contain; }
.home-restructured .brand-wordmark-grid .brand-card-dark { background: #161719; border-color: rgba(255,255,255,.14); }
.home-brand-card:has(img[alt="Samsung"]) .brand-logo-image { height: 80px; }

.reviews-section { padding: clamp(72px, 8vw, 110px) 0; border-top: 1px solid rgba(213,166,46,.12); background: radial-gradient(ellipse at 15% 0, rgba(213,166,46,.05), transparent 65%); }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.reviews-heading h2 { max-width: 850px; font-size: clamp(2.2rem, 4.6vw, 4.5rem); line-height: 1.04; color: #e2e5e9; }
.reviews-controls { display: flex; gap: 10px; flex-shrink: 0; }
.reviews-controls button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(213,166,46,.36); background: #101010; color: #ecd180; font-size: 1.65rem; cursor: pointer; }
.reviews-controls button:disabled { opacity: .3; cursor: default; }
.reviews-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px) / 3); gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 6px 0 22px; scrollbar-width: thin; scrollbar-color: #b28c31 #171717; }
.review-card { scroll-snap-align: start; min-width: 0; padding: clamp(24px, 3vw, 34px); border-radius: 20px; border: 1px solid rgba(226,229,233,.14); background: linear-gradient(140deg, #18191b, #0c0d0e); }
.review-person { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; }
.review-avatar { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; border-radius: 50%; color: #ddd3b3; background: #383323; font-size: .83rem; font-weight: 700; }
.review-person h3 { font-size: 1rem; line-height: 1.3; margin: 0 0 5px; color: #f1f2f4; }
.review-stars { color: #e4b64b; letter-spacing: 3px; font-size: .95rem; }
.review-card blockquote { margin: 0; }
.review-card p { font-size: .92rem; line-height: 1.8; color: #c7c9cf; }
.reviews-track:focus-visible, .reviews-controls button:focus-visible { outline: 2px solid #e4b64b; outline-offset: 4px; }
.gallery-thumbs { display: flex; overflow-x: auto; max-width: 100%; padding-bottom: 8px; }
.gallery-thumb { flex: 0 0 94px; }
.gallery-stage img { object-fit: contain; }
.project-gallery-note { max-width: 720px; margin: 18px 0; font-size: .85rem; color: #a4a7ad; }
.home-restructured .hero-showcase .console-dot { flex: 0 0 20px; }

@media (max-width: 1000px) {
  .reviews-track { grid-auto-columns: calc((100% - 18px) / 2); }
  .about-hero-grid { grid-template-columns: 1fr; }
  .about-hero-photo { max-width: 100%; }
  .about-hero-photo img { width: 100%; max-height: 740px; }
}
@media (max-width: 680px) {
  .reviews-heading { align-items: start; }
  .reviews-track { grid-auto-columns: 88%; }
  .reviews-controls { gap: 6px; }
  .reviews-controls button { width: 36px; height: 36px; }
  .home-restructured .hero-showcase .console-dot { width: 11px; flex-basis: 11px; }
  .home-restructured .hero-showcase .console-dot.is-active { width: 20px; flex-basis: 20px; }
  .home-restructured .hero-showcase .console-dots { gap: 4px; }
  .home-restructured .hero-showcase .console-controls { max-width: calc(100% - 24px); }
  .home-restructured .brand-wordmark-grid .home-brand-card { padding: 18px; min-height: 108px; }
  .home-brand-card .brand-logo-image { height: 54px; }
  .about-hero-copy .page-title { font-size: clamp(3rem, 13vw, 5rem); }
  .about-page .about-hero { padding-block: 44px; }
  .contact-list li > a.contact-message-link { margin-left: 54px; }
}
@media (prefers-reduced-motion: reduce) { .reviews-track { scroll-behavior: auto; } }
