/* 02 BLACK / RED — the original editorial composition on black. */
:root{--paper:#080808;--ink:#e8e6e2;--red:#f13b2e;--rule:rgba(255,255,255,.24)}
body{background:#080808}.brand img{filter:none}.cover-stage{background:#080808}.image-window,.service-picture{background:#111}.skip{background:#080808;color:white}.red-spread,.contact{--ink:#080808;color:#080808}.red-spread .detail-title{color:#080808}.red-spread .image-visit,.contact .image-visit{color:#fff}.red-spread .image-visit{background:#080808}.red-spread ::selection,.contact ::selection{background:#080808;color:#fff}
.original-slideshow{height:100svh;min-height:500px;position:relative;background:#000;isolation:isolate;overflow:hidden;outline-offset:-4px}
.original-slideshow .masthead{position:absolute;inset:0 0 auto;margin:0;padding:0 var(--gutter);height:100px;border-bottom:0;background:rgba(0,0,0,.3);color:#fff;z-index:6}
.original-stage{position:absolute;inset:0;overflow:hidden}
.original-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease;pointer-events:none;max-width:none}
.original-frame.is-active{opacity:1}.original-arrow{position:absolute;top:43%;z-index:4;border:1px solid #ffffff40;background:#08080899;color:#fff;font-size:25px;width:50px;height:50px;border-radius:50%;transition:background .2s,border-color .2s}.original-arrow:hover{background:var(--red);border-color:var(--red)}.original-prev{left:24px}.original-next{right:24px}
.original-toolbar{position:absolute;bottom:66px;left:var(--gutter);right:var(--gutter);height:42px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:11px;letter-spacing:.08em}.original-counter{font-variant-numeric:tabular-nums}.original-counter i{font-style:normal;color:#888;margin-left:7px}.continue-editorial{position:absolute;left:50%;transform:translateX(-50%)}.continue-editorial span{color:var(--red);font-size:20px;vertical-align:middle;margin-left:18px}.original-play{display:flex;align-items:center;gap:8px;border:0;padding:8px 0 8px 12px;background:none;font-size:12px;color:#ddd;min-height:40px}.original-play:hover{color:var(--red)}
.original-thumbs{position:absolute;bottom:0;left:0;width:100%;display:flex;gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 3px 3px;height:66px;align-items:stretch;overscroll-behavior-x:contain}.original-thumbs::-webkit-scrollbar{display:none}.original-thumb{flex:0 0 63px;position:relative;border:1px solid transparent;padding:0;background:#141414;opacity:.55;transition:opacity .25s,border-color .25s}.original-thumb img{width:100%;height:100%;object-fit:cover}.original-thumb[aria-current="true"]{border:2px solid var(--red);opacity:1}.original-thumb:hover,.original-thumb:focus-visible{opacity:1}.original-thumb:focus-visible{outline-offset:-4px}.original-error{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);background:#080808e8;padding:10px 20px;color:#fff;z-index:6;font-size:12px}
.legal-footer{background:#080808;color:#b9b9b9;margin:36px calc(-1 * var(--gutter)) -36px;padding:27px var(--gutter) 30px;font-size:11px;line-height:1.9;letter-spacing:.02em}.legal-registrations,.legal-copyright{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 26px}.legal-registrations{margin-bottom:8px}.legal-registrations a{display:inline-flex;align-items:center;gap:7px}.legal-registrations img{width:18px;height:20px;object-fit:contain}.legal-footer a:hover{color:#fff}.legal-footer a:focus-visible{outline-color:var(--red)}
@media(max-width:900px){.original-slideshow .masthead{height:76px}.original-arrow{width:42px;height:42px}.original-prev{left:14px}.original-next{right:14px}}
@media(max-width:600px){.original-slideshow{min-height:480px}.original-slideshow .masthead{height:72px;align-items:center}.original-slideshow .brand{width:125px;flex-basis:125px}.original-stage{inset:0}.original-arrow{top:46%;width:36px;height:40px;font-size:21px;border-radius:0;background:#08080899;border-color:#fff2}.original-prev{left:8px}.original-next{right:8px}.original-toolbar{bottom:54px;height:42px;font-size:10px}.original-thumbs{height:54px}.original-thumb{flex-basis:51px}.original-play{font-size:11px}.original-play span{display:none}.continue-editorial{white-space:nowrap}.continue-editorial span{margin-left:8px}.legal-footer{margin-top:28px;margin-bottom:-27px;padding:25px var(--gutter);font-size:10px}.legal-registrations,.legal-copyright{flex-direction:column;gap:8px;text-align:center}.legal-copyright{margin-top:15px}.legal-registrations img{width:16px;height:18px}}
@media(prefers-reduced-motion:reduce){.original-frame{transition:none}.original-thumbs{scroll-behavior:auto}}

/* Original homepage client wall and its staggered lighting/hover animation. */

		#hangvision-home-clients {
			background: #000;
			box-sizing: border-box;
			clear: both;
			color: #fff;
			min-height: 720px;
			overflow: hidden;
			padding: 82px 7vw 94px;
			position: relative;
			width: 100%;
			z-index: 2;
		}
		#hangvision-home-clients .hv-clients-inner {
			align-items: start;
			display: grid;
			gap: 6vw;
			grid-template-columns: minmax(250px, .72fr) minmax(720px, 2fr);
			margin: 0 auto;
			max-width: 1640px;
			width: 100%;
		}
		#hangvision-home-clients .hv-clients-kicker {
			color: #f1c40f;
			font-size: 11px;
			font-weight: 700;
			letter-spacing: .35em;
			line-height: 1.4;
			text-transform: uppercase;
		}
		#hangvision-home-clients .hv-clients-title {
			color: #fff;
			font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
			font-size: clamp(46px, 4.7vw, 82px);
			font-weight: 300;
			letter-spacing: -.055em;
			line-height: .92;
			margin: 24px 0 0;
			text-transform: uppercase;
		}
		#hangvision-home-clients .hv-clients-title span {
			color: rgba(255,255,255,.46);
			display: block;
			font-size: .42em;
			font-weight: 500;
			letter-spacing: .08em;
			line-height: 1.2;
			margin-top: 16px;
		}
		#hangvision-home-clients .hv-clients-rule {
			background: #f1c40f;
			height: 2px;
			margin: 30px 0;
			width: 42px;
		}
		#hangvision-home-clients .hv-clients-copy {
			color: rgba(255,255,255,.48);
			font-size: 13px;
			letter-spacing: .05em;
			line-height: 1.9;
			margin: 0;
			max-width: 340px;
		}
		#hangvision-home-clients .hv-clients-grid {
			border-left: 1px solid rgba(255,255,255,.14);
			border-top: 1px solid rgba(255,255,255,.14);
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}
		#hangvision-home-clients .hv-client {
			align-items: center;
			animation: hangvisionClientReveal 6.4s ease-in-out infinite;
			animation-delay: calc(var(--hv-index) * 110ms);
			background: transparent;
			border-bottom: 1px solid rgba(255,255,255,.14);
			border-right: 1px solid rgba(255,255,255,.14);
			box-sizing: border-box;
			display: flex;
			justify-content: center;
			min-height: 166px;
			overflow: hidden;
			padding: 20px;
			position: relative;
		}
		#hangvision-home-clients .hv-client:before {
			background: radial-gradient(circle at 50% 55%, rgba(255,255,255,.09), transparent 63%);
			content: "";
			inset: 0;
			opacity: 0;
			position: absolute;
			transform: scale(.7);
			transition: opacity .45s ease, transform .45s ease;
		}
		#hangvision-home-clients .hv-client:hover:before {
			opacity: 1;
			transform: scale(1);
		}
		#hangvision-home-clients .hv-client-logo {
			opacity: .62;
			position: relative;
			transition: filter .45s ease, opacity .45s ease, transform .45s ease;
			z-index: 1;
		}
		#hangvision-home-clients .hv-client:hover .hv-client-logo {
			opacity: 1;
			transform: scale(1.06);
		}
		#hangvision-home-clients .hv-client-logo {
			display: block;
			filter: grayscale(1);
			max-height: 76px;
			max-width: 220px;
			object-fit: contain;
			width: 82%;
		}
		#hangvision-home-clients .hv-client:hover .hv-client-logo {
			filter: grayscale(0) saturate(1.12) brightness(1.08);
		}
		@keyframes hangvisionClientReveal {
			0%, 8% { background: rgba(255,255,255,.055); }
			18%, 100% { background: transparent; }
		}
		@media (prefers-reduced-motion: reduce) {
			#hangvision-home-clients .hv-client { animation: none; }
		}
		@media (max-width: 980px) {
			#hangvision-home-clients {
				min-height: 0;
				padding: 58px 22px 72px;
			}
			#hangvision-home-clients .hv-clients-inner {
				display: block;
			}
			#hangvision-home-clients .hv-clients-intro {
				padding: 0 4px 40px;
			}
			#hangvision-home-clients .hv-clients-title {
				font-size: 50px;
			}
			#hangvision-home-clients .hv-clients-copy {
				max-width: 430px;
			}
			#hangvision-home-clients .hv-clients-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			#hangvision-home-clients .hv-client {
				min-height: 126px;
				padding: 14px;
			}
			#hangvision-home-clients .hv-client-logo {
				max-height: 60px;
				max-width: 160px;
				width: 78%;
			}
		}
	
#hangvision-home-clients{background:var(--paper);padding:60px var(--gutter) 110px;min-height:0}
#hangvision-home-clients .hv-clients-inner{grid-template-columns:minmax(220px,.75fr) minmax(0,2fr);gap:5vw;max-width:none}
#hangvision-home-clients .hv-clients-title{font-family:Anton,Impact,sans-serif;font-size:clamp(50px,5.3vw,90px);font-weight:400;color:var(--red);letter-spacing:-.025em}
#hangvision-home-clients .hv-clients-title span{font-family:'Noto Sans SC',sans-serif;color:#ddd;font-size:17px;letter-spacing:.08em;margin-top:22px}
#hangvision-home-clients .hv-clients-kicker{color:var(--red);letter-spacing:.15em}
#hangvision-home-clients .hv-clients-rule{background:var(--red)}
#hangvision-home-clients .hv-clients-copy{color:#aaa;letter-spacing:.02em}
#hangvision-home-clients .hv-client{min-height:145px;animation-play-state:paused}
#hangvision-home-clients.is-visible .hv-client{animation-play-state:running}
#hangvision-home-clients .hv-client:before{background:radial-gradient(circle at 50% 55%,rgba(241,59,46,.13),transparent 70%)}
#hangvision-home-clients .hv-client-logo{opacity:.78}
@keyframes hangvisionClientReveal{0%,8%{background:rgba(241,59,46,.10)}18%,100%{background:transparent}}
@media(max-width:980px){#hangvision-home-clients{padding:40px var(--gutter) 75px}#hangvision-home-clients .hv-clients-title{font-size:60px}#hangvision-home-clients .hv-clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#hangvision-home-clients .hv-client{min-height:125px;padding:16px}}
@media(max-width:600px){#hangvision-home-clients .hv-clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#hangvision-home-clients .hv-client{min-height:122px;padding:14px}#hangvision-home-clients .hv-clients-title{font-size:58px}#hangvision-home-clients .hv-clients-intro{padding-left:0}}

@media(min-width:901px){.cover-title{top:146px;font-size:min(5.8vw,83px)}.cover-number>span{font-size:3vw}}
@media(min-width:901px) and (max-height:750px){.cover-title{top:125px;font-size:3.4vw}.cover-number>span{font-size:32px}}
/* Keep the original colored logos on hover, with legible monochrome marks at rest. */
#hangvision-home-clients .hv-client-logo{filter:grayscale(1) brightness(1.65);opacity:.9}

/* Full viewport photography; navigation and the existing controls overlay the image. */
.original-slideshow .masthead,.original-slideshow .contact-link{border:0;box-shadow:none}
.original-toolbar{pointer-events:none;text-shadow:0 1px 4px #000}
.original-toolbar a,.original-toolbar button{pointer-events:auto}

.original-thumbs{background:#000}
