@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,300,600,700);

/************************************************************/
/* Base                                                     */
/************************************************************/
html,
body {
	height: 100%;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}

body {
	color: #313131;
	font-family: 'Open Sans', sans-serif;
	background: #ffffff;
	padding-top: 0 !important;
}

::-moz-selection {
	background: #4054e9;
	color: #fff;
}

::-webkit-selection {
	background: #4054e9;
	color: #fff;
}

::selection {
	background: #4054e9;
	color: #fff;
}

a {
	color: #4054e9;
	text-decoration: none;
}

a:focus,
a:hover {
	color: #313131;
	text-decoration: none;
	outline: 0 none !important;
}

img.displayed {
	display: block;
	margin-left: auto;
	margin-right: auto;
	background-color: transparent;
}

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.color-elements {
	color: #4054e9;
}

.height-contact-element {
	margin: 30px 0;
}

.custom-labels {
	background-color: transparent;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}

.btn-noborder-radius {
	border-radius: 0;
}

.btn-custom {
	width: 100%;
	background-color: #4054e9;
	border: 1px solid #4054e9;
	text-transform: uppercase;
	transition: all 0.2s ease;
}

.btn-custom:hover {
	background-color: transparent;
	border: 1px solid #4054e9;
	color: #fff;
}

.form-control {
	color: #f7f7f7;
	background-color: transparent;
}

.form-control::-moz-placeholder {
	color: #f7f7f7;
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: #f7f7f7;
}

.form-control::-webkit-input-placeholder {
	color: #f7f7f7;
}

.form-control:focus {
	border-color: #4054e9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.35);
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
	outline: 0 none;
	box-shadow: none;
}

select:focus {
	outline-color: transparent;
}

/************************************************************/
/* Navbar                                                   */
/************************************************************/
.navbar.navbar-dss.navbar-fixed-top {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	margin: 0 !important;
}

.navbar-dss {
	background: rgba(20, 20, 24, 0.62) !important;
	border: none !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nav-shell {
	display: block;
}

.navbar-dss .navbar-header {
	float: left;
	display: flex;
	align-items: center;
	min-height: 60px;
}

.navbar-brand.brand-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 15px !important;
}

.brand-logo img {
	height: 40px;
	width: auto;
	margin: 0 !important;
	display: block;
}

.navbar-dss .navbar-collapse {
	border-top: none;
	box-shadow: none;
}

.nav-dss-menu {
	margin-top: 0;
	margin-bottom: 0;
}

.nav-dss-menu > li {
	margin-left: 24px !important;
}

.nav-dss-menu > li > a {
	position: relative;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: none !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	background: transparent !important;
}

.nav-dss-menu > li > a:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 10px;
	width: 0;
	height: 1px;
	background: #ffffff;
	transition: width 0.35s ease;
}

.nav-dss-menu > li > a:hover:after,
.nav-dss-menu > li.active > a:after {
	width: 100%;
}

.navbar-dss .navbar-nav > .active > a,
.navbar-dss .navbar-nav > .active > a:focus,
.navbar-dss .navbar-nav > .active > a:hover,
.navbar-dss .navbar-nav > li > a:hover {
	background: transparent !important;
	border-bottom: none !important;
	color: #ffffff !important;
}

/************************************************************/
/* Hero Slider                                              */
/************************************************************/
.hero-dss {
	position: relative;
	height: 100vh;
	min-height: 760px;
	overflow: hidden;
	background: #000;
	margin-top: 0 !important;
}

.hero-dss:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(8, 8, 10, 0.22) 0%, rgba(8, 8, 10, 0.42) 42%, rgba(8, 8, 10, 0.72) 100%),
		radial-gradient(circle at center, rgba(64, 84, 233, 0.08), transparent 42%);
}

.cb-slideshow,
.cb-slideshow:after {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	background-color: #131313;
}

.cb-slideshow li {
	position: absolute;
	inset: 0;
	list-style: none;
}

.cb-slideshow li span {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: transparent;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0;
	z-index: 0;
	-webkit-backface-visibility: hidden;
	filter: brightness(34%) saturate(92%);
	-webkit-filter: brightness(34%) saturate(92%);
	animation: heroImageAnimation 24s linear infinite 0s;
}

.cb-slideshow li:nth-child(1) span {
	background-image: url(../images/unsplash1.jpg);
	animation-delay: 0s;
}

.cb-slideshow li:nth-child(2) span {
	background-image: url(../images/unsplash2.jpg);
	animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) span {
	background-image: url(../images/unsplash3.jpg);
	animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) span {
	background-image: url(../images/unsplash4.jpg);
	animation-delay: 18s;
}

.cb-slideshow li .hero-slide-copy {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	text-align: left;
	color: #fff;
	animation: heroTextAnimation 24s linear infinite 0s;
}

.cb-slideshow li:nth-child(1) .hero-slide-copy {
	animation-delay: 0s;
}

.cb-slideshow li:nth-child(2) .hero-slide-copy {
	animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) .hero-slide-copy {
	animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) .hero-slide-copy {
	animation-delay: 18s;
}

.hero-slide-copy .container {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.hero-copy-inner {
	max-width: 760px;
	padding-top: 72px;
	padding-left: clamp(20px, 5vw, 88px);
}

.hero-eyebrow {
	display: block;
	margin: 0 0 18px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.68);
}

.cb-slideshow li .hero-slide-copy h1 {
	display: block;
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', sans-serif;
	font-size: clamp(46px, 7vw, 92px);
	line-height: 0.94;
	letter-spacing: -0.05em;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;
	word-break: normal;
	overflow-wrap: normal;
}

.hero-description {
	display: block;
	max-width: 640px;
	margin: 24px 0 0;
	font-size: clamp(16px, 1.8vw, 22px);
	line-height: 1.9;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.84);
	opacity: 1;
	visibility: visible;
}

.hero-description br {
	display: inline;
}

@keyframes heroImageAnimation {
	0% { opacity: 0; transform: scale(1.03); }
	8% { opacity: 1; transform: scale(1.02); }
	17% { opacity: 1; transform: scale(1.00); }
	25% { opacity: 0; transform: scale(1.00); }
	100% { opacity: 0; transform: scale(1.00); }
}

@keyframes heroTextAnimation {
	0% { opacity: 0; visibility: hidden; transform: translateY(18px); }
	6% { opacity: 1; visibility: visible; transform: translateY(0); }
	18% { opacity: 1; visibility: visible; transform: translateY(0); }
	23% { opacity: 0; visibility: hidden; transform: translateY(-8px); }
	100% { opacity: 0; visibility: hidden; transform: translateY(-8px); }
}

/************************************************************/
/* About DSS                                                */
/************************************************************/
#about.about-dss {
	position: relative;
	padding: 160px 0;
	background: #050505;
	color: #f5f5f7;
	overflow: hidden;
}

#about.about-dss .about-dss-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 18% 22%, rgba(41, 151, 255, 0.34), transparent 28%),
		radial-gradient(circle at 82% 72%, rgba(255, 255, 255, 0.16), transparent 24%),
		linear-gradient(135deg, #050505 0%, #111111 48%, #020202 100%);
}

#about.about-dss .about-dss-bg::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 880px;
	height: 880px;
	transform: translate(-50%, -50%);
	background:
		conic-gradient(
			from 180deg,
			transparent,
			rgba(41, 151, 255, 0.22),
			transparent,
			rgba(255, 255, 255, 0.12),
			transparent
		);
	border-radius: 50%;
	filter: blur(34px);
	opacity: 0.55;
	animation: aboutRotate 18s linear infinite;
}

#about.about-dss .about-dss-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 80px 80px;
	mask-image: radial-gradient(circle at center, #000 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(circle at center, #000 0%, transparent 70%);
	opacity: 0.28;
}

#about.about-dss .container {
	position: relative;
	z-index: 1;
}

#about.about-dss .row {
	margin-left: 0;
	margin-right: 0;
}

#about.about-dss .col-md-offset-1,
#about.about-dss .col-md-10 {
	float: none;
	width: 100%;
	margin-left: 0;
	padding-left: 15px;
	padding-right: 15px;
}

#about.about-dss .about-dss-shell {
	position: relative;
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 70px;
	align-items: center;
	max-width: 1120px;
	margin: 0 auto;
	padding: 72px;
	border: 1px solid rgba(255,255,255,0.13);
	border-radius: 38px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.13), rgba(255,255,255,0.045)),
		rgba(255,255,255,0.04);
	box-shadow:
		0 30px 90px rgba(0,0,0,0.52),
		inset 0 1px 0 rgba(255,255,255,0.2);
	backdrop-filter: blur(28px);
	-webkit-backdrop-filter: blur(28px);
	overflow: hidden;
	text-align: left;
}

#about.about-dss .about-dss-shell::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			120deg,
			transparent 0%,
			rgba(255,255,255,0.18) 42%,
			transparent 58%
		);
	transform: translateX(-120%);
	animation: aboutShine 5.5s ease-in-out infinite;
	pointer-events: none;
}

#about.about-dss .about-dss-shell::after {
	content: "DSS";
	position: absolute;
	right: -18px;
	bottom: -42px;
	font-size: clamp(120px, 18vw, 260px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.12em;
	color: rgba(255,255,255,0.035);
	pointer-events: none;
}

#about.about-dss .about-dss-copy,
#about.about-dss .about-dss-content {
	position: relative;
	z-index: 2;
	display: block;
	max-width: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

#about.about-dss .about-dss-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #9dccff;
	text-align: left;
}

#about.about-dss .about-dss-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, #2997ff, rgba(255,255,255,0.65));
	box-shadow: 0 0 18px rgba(41,151,255,0.85);
}

#about.about-dss .about-dss-copy h2 {
	margin: 0;
	font-size: clamp(42px, 6vw, 78px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.075em;
	text-align: left;
	text-transform: none;
	background: linear-gradient(180deg, #ffffff 0%, #f5f5f7 38%, #9dccff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: 0 24px 70px rgba(0,0,0,0.45);
}

#about.about-dss .about-dss-catch {
	margin: 24px 0 0;
	font-size: clamp(16px, 2vw, 22px);
	font-weight: 500;
	letter-spacing: -0.03em;
	color: rgba(245,245,247,0.62);
	text-align: left;
}

#about.about-dss .about-dss-lead {
	margin: 0;
	font-size: clamp(18px, 2vw, 25px);
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: -0.03em;
	text-align: left;
	color: rgba(255,255,255,0.94);
}

#about.about-dss .about-dss-line {
	width: 100%;
	height: 1px;
	margin: 30px 0;
	background: linear-gradient(90deg, rgba(41,151,255,0.95), rgba(255,255,255,0.22), transparent);
	box-shadow: 0 0 20px rgba(41,151,255,0.55);
}

#about.about-dss .about-dss-text {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.01em;
	text-align: left;
	color: rgba(245,245,247,0.72);
}

#about.about-dss .about-dss-text:last-of-type {
	margin-bottom: 0;
}

#about.about-dss .about-dss-points {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 34px;
}

#about.about-dss .about-dss-point {
	position: relative;
	padding: 22px 18px;
	border-radius: 22px;
	background: rgba(255,255,255,0.075);
	border: 1px solid rgba(255,255,255,0.11);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.13),
		0 16px 36px rgba(0,0,0,0.24);
	transition: transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}

#about.about-dss .about-dss-point:hover {
	transform: translateY(-6px);
	background: rgba(255,255,255,0.11);
	border-color: rgba(41,151,255,0.5);
}

#about.about-dss .about-dss-point span {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: #2997ff;
}

#about.about-dss .about-dss-point p {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #f5f5f7;
}

@keyframes aboutRotate {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes aboutShine {
	0% { transform: translateX(-130%); opacity: 0; }
	38% { opacity: 0; }
	50% { opacity: 1; }
	64% { opacity: 0; }
	100% { transform: translateX(130%); opacity: 0; }
}

/************************************************************/
/* Services                                                 */
/************************************************************/
#services.services-rebuild {
	position: relative;
	padding: 150px 0 150px;
	overflow: hidden;
	background: #050505;
	color: #f5f5f7;
}

#services.services-rebuild .services-video-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background: #050505;
}

#services.services-rebuild .services-bg-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 0.42;
	filter: brightness(0.55) saturate(0.85) contrast(1.08);
	transform: scale(1.04);
	pointer-events: none;
}

#services.services-rebuild .services-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 12%, rgba(41, 151, 255, 0.28), transparent 28%),
		radial-gradient(circle at 12% 72%, rgba(255, 255, 255, 0.10), transparent 26%),
		radial-gradient(circle at 88% 70%, rgba(120, 180, 255, 0.18), transparent 30%),
		linear-gradient(180deg, rgba(0,0,0,0.54) 0%, rgba(0,0,0,0.72) 48%, rgba(0,0,0,0.90) 100%);
}

#services.services-rebuild .services-bg::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 52%;
	width: 980px;
	height: 980px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background:
		conic-gradient(
			from 90deg,
			transparent,
			rgba(41, 151, 255, 0.25),
			transparent,
			rgba(255, 255, 255, 0.10),
			transparent,
			rgba(80, 120, 255, 0.22),
			transparent
		);
	filter: blur(42px);
	opacity: 0.62;
	animation: servicesOrbRotate 22s linear infinite;
}

#services.services-rebuild .services-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 86px 86px;
	mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
	-webkit-mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
	opacity: 0.24;
}

#services.services-rebuild .container {
	position: relative;
	z-index: 2;
}

.services-rebuild-head {
	position: relative;
	max-width: 920px;
	margin: 0 auto 72px;
}

.services-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #9dccff !important;
}

.services-kicker::before,
.services-kicker::after {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #2997ff, rgba(255,255,255,0.72));
	box-shadow: 0 0 18px rgba(41,151,255,0.82);
}

.services-kicker::after {
	background: linear-gradient(90deg, rgba(255,255,255,0.72), #2997ff, transparent);
}

.services-rebuild-head h2 {
	margin: 0;
	font-size: clamp(56px, 8vw, 118px);
	line-height: 0.9;
	font-weight: 800;
	letter-spacing: -0.09em;
	text-transform: none !important;
	background: linear-gradient(180deg, #ffffff 0%, #f5f5f7 34%, #9dccff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: 0 30px 90px rgba(0,0,0,0.55);
}

.services-catch {
	margin: 22px 0 0;
	font-size: clamp(18px, 2.4vw, 30px);
	font-weight: 600;
	letter-spacing: -0.04em;
	color: rgba(245,245,247,0.78);
}

.services-summary {
	display: block;
	max-width: 760px;
	margin: 20px auto 0 !important;
	padding-bottom: 0;
	font-size: 17px;
	line-height: 2;
	letter-spacing: 0.01em;
	color: rgba(245,245,247,0.62) !important;
}

.services-rebuild-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.service-rebuild-card {
	min-width: 0;
	display: flex;
	height: 100%;
	perspective: none !important;
	overflow: visible !important;
}

.service-rebuild-trigger {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 360px;
	padding: 34px 28px 30px;
	border: 1px solid rgba(255,255,255,0.13);
	border-radius: 34px;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.135), rgba(255,255,255,0.045)),
		rgba(255,255,255,0.045);
	box-shadow:
		0 30px 70px rgba(0,0,0,0.42),
		inset 0 1px 0 rgba(255,255,255,0.18);
	text-align: left;
	cursor: pointer;
	overflow: hidden !important;
	isolation: isolate;
	background-clip: padding-box;
	transform: none !important;
	-webkit-transform: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}

.service-rebuild-trigger::before {
	display: none !important;
	content: none !important;
}

.service-rebuild-trigger::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow:
		0 0 0 1px rgba(255,255,255,0.04) inset,
		0 -60px 90px rgba(41,151,255,0.035) inset;
	pointer-events: none;
}

.service-rebuild-trigger:hover {
	transform: translateY(-8px) !important;
	-webkit-transform: translateY(-8px) !important;
	border-color: rgba(41,151,255,0.38);
	background:
		linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.055)),
		rgba(255,255,255,0.055);
	box-shadow:
		0 28px 64px rgba(0,0,0,0.42),
		0 0 24px rgba(41,151,255,0.10),
		inset 0 1px 0 rgba(255,255,255,0.16) !important;
}

.service-rebuild-glow {
	position: absolute;
	right: -130px;
	top: -130px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background:
		radial-gradient(circle, rgba(41,151,255,0.38), rgba(41,151,255,0.10) 42%, transparent 72%);
	filter: none !important;
	-webkit-filter: none !important;
	opacity: 0.18;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

.service-rebuild-trigger:hover .service-rebuild-glow {
	transform: none !important;
	-webkit-transform: none !important;
	opacity: 0.22;
}

.service-rebuild-icon {
	position: relative;
	z-index: 1;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 26px;
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255,255,255,0.22), rgba(255,255,255,0.08));
	border: 1px solid rgba(255,255,255,0.16);
	color: #9dccff;
	font-size: 26px;
	box-shadow: 0 0 28px rgba(41,151,255,0.22), inset 0 1px 0 rgba(255,255,255,0.18);
	transition: transform 0.35s ease, color 0.35s ease, background 0.35s ease;
}

.service-rebuild-trigger:hover .service-rebuild-icon {
	transform: translateY(-4px) scale(1.06);
	color: #ffffff;
	background: linear-gradient(180deg, rgba(41,151,255,0.36), rgba(255,255,255,0.10));
}

.service-rebuild-index {
	position: relative;
	z-index: 1;
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #2997ff !important;
}

.service-rebuild-trigger h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	font-size: 25px;
	line-height: 1.18;
	font-weight: 800;
	letter-spacing: -0.045em;
	color: #ffffff;
	text-transform: none !important;
}

.service-rebuild-text {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 15px;
	line-height: 1.95;
	color: rgba(245,245,247,0.66) !important;
}

.service-rebuild-more {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 26px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: rgba(157,204,255,0.92);
}

.service-rebuild-more::after {
	content: "→";
	display: inline-block;
	transform: translateX(0);
	transition: transform 0.25s ease;
}

.service-rebuild-trigger:hover .service-rebuild-more::after {
	transform: translateX(5px);
}

@keyframes servicesOrbRotate {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes serviceCardShine {
	from { transform: translateX(-120%); }
	to { transform: translateX(120%); }
}

/************************************************************/
/* Service Modal                                            */
/************************************************************/
body.service-modal-open {
	overflow: hidden;
}

.service-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	padding: 24px 17px !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.42s ease, visibility 0s linear 0.42s;
}

.service-modal.is-open {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition: opacity 0.42s ease, visibility 0s linear 0s;
}

.service-modal-backdrop {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1 !important;
	background:
		radial-gradient(circle at 50% 35%, rgba(41,151,255,0.24), transparent 34%),
		rgba(0, 0, 0, 0.76);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	opacity: 0;
	transition: opacity 0.42s ease;
}

.service-modal.is-open .service-modal-backdrop {
	opacity: 1;
}

.service-modal-sheet {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	z-index: 2 !important;
	width: min(1220px, calc(100vw - 34px)) !important;
	max-width: calc(100vw - 34px) !important;
	max-height: none !important;
	min-height: auto !important;
	margin: auto !important;
	display: grid;
	grid-template-columns: 1.05fr 1.15fr;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.045)),
		rgba(8,8,10,0.94);
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 40px;
	overflow: hidden !important;
	box-shadow:
		0 54px 140px rgba(0,0,0,0.72),
		0 0 72px rgba(41,151,255,0.22),
		inset 0 1px 0 rgba(255,255,255,0.18);
	backdrop-filter: blur(32px);
	-webkit-backdrop-filter: blur(32px);
	opacity: 1;
	transform: none !important;
}

.service-modal-close {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 999px;
	background: rgba(255,255,255,0.12);
	color: #ffffff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	z-index: 3 !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.28);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.service-modal-close:hover {
	transform: scale(1.06);
	background: rgba(255,255,255,0.20);
	border-color: rgba(41,151,255,0.58);
}

.service-modal-media {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 660px;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	background: #111111;
}

.service-modal-media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(90deg, rgba(0,0,0,0.06), rgba(0,0,0,0.34)),
		linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.32) 100%);
	pointer-events: none;
}

.service-modal-media::after {
	display: none;
}

.service-modal-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 660px;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.02);
	opacity: 1;
	filter: brightness(0.92) saturate(1.04);
}

.service-modal-body {
	position: relative;
	min-width: 0;
	max-width: 100%;
	padding: 76px 68px 58px;
	overflow-x: hidden !important;
	overflow-y: visible !important;
	-webkit-overflow-scrolling: touch;
}

.service-modal-body * {
	max-width: 100%;
	box-sizing: border-box;
}

.service-modal-body::before {
	content: "";
	position: absolute;
	right: -150px;
	top: -150px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(41,151,255,0.38), transparent 70%);
	filter: blur(14px);
	pointer-events: none;
}

.service-modal-body::after {
	display: none !important;
	content: none !important;
}

.service-modal-kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 20px;
	font-size: 13px !important;
	font-weight: 800;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #9dccff !important;
}

.service-modal-body h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: clamp(44px, 5.4vw, 76px) !important;
	line-height: 1 !important;
	font-weight: 800;
	letter-spacing: -0.065em !important;
	color: #ffffff !important;
	text-transform: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
}

.service-modal-lead {
	position: relative;
	z-index: 1;
	margin: 48px 0 0;
	font-size: clamp(22px, 2.3vw, 31px) !important;
	line-height: 1.72;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: rgba(255,255,255,0.96) !important;
}

.service-modal-text {
	position: relative;
	z-index: 1;
	margin: 28px 0 0 !important;
	font-size: 16.5px !important;
	line-height: 2.1 !important;
	letter-spacing: 0.01em;
	color: rgba(245,245,247,0.74) !important;
}

.service-modal-actions {
	position: relative;
	z-index: 1;
	margin-top: 36px;
	display: flex;
	justify-content: center !important;
}

.service-modal-bottom-close {
	min-width: 184px;
	height: 54px;
	padding: 0 34px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 999px;
	background: #f5f5f7;
	color: #111111;
	font-size: 15px;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow: 0 20px 42px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.5);
	transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.service-modal-bottom-close:hover {
	transform: translateY(-2px);
	background: #ffffff;
	opacity: 0.96;
}

/************************************************************/
/* Company / Access                                         */
/************************************************************/
#company.company-apple-section {
	position: relative;
	padding: 150px 0;
	background: #050505;
	color: #f5f5f7;
	overflow: hidden;
}

#company.company-apple-section .container {
	position: relative;
	z-index: 2;
}

.company-apple-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 10%, rgba(41,151,255,0.26), transparent 28%),
		radial-gradient(circle at 14% 72%, rgba(255,255,255,0.10), transparent 26%),
		radial-gradient(circle at 86% 74%, rgba(120,180,255,0.18), transparent 30%),
		linear-gradient(135deg, #030303 0%, #101014 46%, #020202 100%);
}

.company-apple-bg::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 920px;
	height: 920px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background:
		conic-gradient(
			from 140deg,
			transparent,
			rgba(41,151,255,0.22),
			transparent,
			rgba(255,255,255,0.10),
			transparent,
			rgba(80,120,255,0.18),
			transparent
		);
	filter: blur(42px);
	opacity: 0.52;
	animation: companyOrbRotate 24s linear infinite;
}

.company-apple-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(255,255,255,0.032) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.032) 1px, transparent 1px);
	background-size: 86px 86px;
	mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
	-webkit-mask-image: radial-gradient(circle at center, #000 0%, transparent 72%);
	opacity: 0.24;
}

.company-apple-head {
	max-width: 880px;
	margin: 0 auto 58px;
	text-align: center;
}

.company-apple-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #9dccff;
}

.company-apple-kicker::before,
.company-apple-kicker::after {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #2997ff, rgba(255,255,255,0.72));
	box-shadow: 0 0 18px rgba(41,151,255,0.82);
}

.company-apple-kicker::after {
	background: linear-gradient(90deg, rgba(255,255,255,0.72), #2997ff, transparent);
}

.company-apple-head h2 {
	margin: 0;
	font-size: clamp(48px, 7vw, 96px);
	line-height: 0.96;
	font-weight: 800;
	letter-spacing: -0.085em;
	background: linear-gradient(180deg, #ffffff 0%, #f5f5f7 34%, #9dccff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: 0 30px 90px rgba(0,0,0,0.55);
}

.company-apple-lead {
	max-width: 680px;
	margin: 22px auto 0;
	font-size: 17px;
	line-height: 2;
	color: rgba(245,245,247,0.62);
}

.company-apple-accordion {
	max-width: 1120px;
	margin: 0 auto;
}

.details {
	position: relative;
	margin: 0 0 18px;
	border: 1px solid rgba(255,255,255,0.13);
	border-radius: 30px;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.13), rgba(255,255,255,0.045)),
		rgba(255,255,255,0.045);
	box-shadow: 0 30px 70px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.18);
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	overflow: hidden !important;
	background-clip: padding-box;
}

.details::before {
	display: none !important;
	content: none !important;
}

.details:last-of-type {
	margin-bottom: 0;
	border-bottom: 1px solid rgba(255,255,255,0.13);
}

.details[open] {
	border-color: rgba(41,151,255,0.42);
	box-shadow: 0 42px 100px rgba(0,0,0,0.55), 0 0 44px rgba(41,151,255,0.14), inset 0 1px 0 rgba(255,255,255,0.24);
}

.details-summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 34px 38px;
	color: #ffffff;
	background: transparent;
	cursor: pointer;
	list-style: none;
	text-align: left;
	transition: background 0.35s ease, color 0.35s ease;
}

.details-summary:hover {
	background: rgba(255,255,255,0.045);
	opacity: 1;
}

.details-summary::-webkit-details-marker {
	display: none;
}

.details-summary-main {
	display: block;
	min-width: 0;
}

.details-summary-text {
	display: block;
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.055em;
	color: #ffffff;
}

.details-summary-sub {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(157,204,255,0.86);
}

.details-summary .details-toggle-icon {
	position: relative;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
	border: 1px solid rgba(255,255,255,0.14);
	box-shadow: 0 0 24px rgba(41,151,255,0.16), inset 0 1px 0 rgba(255,255,255,0.16);
	transform: none;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s ease, border-color 0.35s ease;
}

.details-summary .details-toggle-icon::before,
.details-summary .details-toggle-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background-color: #f5f5f7;
	border-radius: 10px;
	transform: translate(-50%, -50%);
	transition: opacity 0.22s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.details-summary .details-toggle-icon::before {
	width: 18px;
	height: 2px;
}

.details-summary .details-toggle-icon::after {
	width: 2px;
	height: 18px;
}

.details[open] .details-summary .details-toggle-icon,
.details-summary.is-active .details-toggle-icon {
	transform: rotate(180deg);
	background: linear-gradient(180deg, rgba(41,151,255,0.34), rgba(255,255,255,0.08));
	border-color: rgba(41,151,255,0.48);
}

.details[open] .details-summary .details-toggle-icon::after,
.details-summary.is-active .details-toggle-icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}

.details-content {
	position: relative;
	padding: 0 38px 38px;
	background: transparent;
	color: #f5f5f7;
}

.details-content::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-bottom: 34px;
	background: linear-gradient(90deg, rgba(41,151,255,0.95), rgba(255,255,255,0.20), transparent);
	box-shadow: 0 0 20px rgba(41,151,255,0.45);
}

.company-details .details-content {
	padding: 0 38px 38px;
	background: transparent;
}

.company-details-content,
.company-table-wrap {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

.company-table-wrap {
	border-radius: 26px;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)),
		rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.12);
	box-shadow: 0 24px 60px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.14);
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.company-table {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	border-collapse: collapse;
	table-layout: fixed !important;
	box-sizing: border-box !important;
}

.company-table tr {
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.company-table tr:last-child {
	border-bottom: none;
}

.company-table th,
.company-table td {
	padding: 24px 26px;
	vertical-align: top;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.company-table th {
	width: 25%;
	background: rgba(255,255,255,0.035);
	color: rgba(157,204,255,0.88);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: left;
	border-right: 1px solid rgba(255,255,255,0.08);
}

.company-table th::after {
	display: none;
}

.company-table td {
	background: transparent;
	color: rgba(245,245,247,0.88);
	font-size: 15px;
	line-height: 1.95;
	padding-left: 30px;
}

.company-table td *,
.company-table th *,
.company-table .detail_block,
.company-table .detail_col,
.company-table .detail_col span {
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.company-table .detail_block {
	padding: 0;
	line-height: 1.95;
	color: rgba(245,245,247,0.88);
}

.company-table .detail_block + .detail_block {
	margin-top: 18px;
}

.company-table .detail_col {
	padding: 12px 0 0;
	margin: 0;
	color: rgba(245,245,247,0.66);
	font-size: 14px;
	line-height: 1.9;
}

.company-table .detail_col span {
	display: inline-block;
}

.access-details .details-content {
	padding: 0 38px 38px;
	background: transparent;
}

.access-section#contact,
.access-section {
	padding: 0;
	margin: 0;
	background: transparent;
	color: #f7f7f7;
}

.access-head {
	margin-bottom: 30px;
	text-align: center;
}

.access-kicker {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #9dccff !important;
}

.access-head h2 {
	margin: 0;
	font-size: clamp(36px, 5vw, 62px);
	line-height: 0.98;
	font-weight: 800;
	letter-spacing: -0.06em;
	color: #ffffff !important;
	text-transform: none !important;
}

.access-split {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	align-items: stretch;
	gap: 24px;
	margin-top: 0;
}

.access-split__info,
.access-split__form {
	width: 100%;
	max-width: 100%;
}

.access-panel {
	height: 100%;
	padding: 26px;
	border-radius: 26px;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)),
		rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.12);
	box-shadow: 0 24px 60px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.14);
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	overflow: hidden;
}

.access-card {
	padding-top: 0;
}

.access-info-item {
	position: relative;
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 18px;
	margin-bottom: 26px;
	padding-bottom: 26px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.access-info-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.contact-info-icon {
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(41,151,255,0.32), rgba(255,255,255,0.08));
	border: 1px solid rgba(255,255,255,0.13);
	color: #ffffff;
	box-shadow: 0 0 24px rgba(41,151,255,0.18), inset 0 1px 0 rgba(255,255,255,0.14);
}

.access-info-panel .contact-info-title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.035em;
	color: #ffffff !important;
}

.access-info-panel .office-block {
	margin-top: 12px;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.access-info-panel .office-postcode,
.access-info-panel .office-address,
.access-info-panel .office-contact {
	padding-left: 0;
	margin: 0 0 8px;
	color: rgba(245,245,247,0.72) !important;
	line-height: 1.8;
}

.access-info-panel .office-postcode {
	color: #9dccff !important;
	font-weight: 700;
}

.access-info-panel .office-address {
	color: rgba(245,245,247,0.88) !important;
}

.access-info-panel .office-label {
	display: inline-flex;
	align-items: center;
	margin-right: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(41,151,255,0.22) !important;
	color: #dcecff !important;
	font-size: 12px;
	font-weight: 800;
}

.access-info-panel .office-value {
	color: #ffffff !important;
}

.access-info-panel .contact-info-map {
	margin-top: 18px;
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: 0 20px 44px rgba(0,0,0,0.28), 0 0 0 1px rgba(255,255,255,0.10);
	filter: saturate(0.8) contrast(1.04);
}

.access-info-panel .contact-info-map iframe {
	display: block;
	width: 100%;
	height: 260px;
	border: 0;
}

/************************************************************/
/* Access Form                                              */
/************************************************************/
.access-form-panel form.inline {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.access-form-panel .row {
	margin-left: 0;
	margin-right: 0;
}

.access-form-panel .col-sm-6,
.access-form-panel .col-sm-12,
.access-form-panel .col-xs-6,
.access-form-panel .access-form-actions-row {
	padding-left: 0;
	padding-right: 0;
}

.access-form-panel .height-contact-element {
	margin: 24px 0;
}

.access-form-panel .form-group {
	width: 100%;
	margin-bottom: 0;
}

.access-form-panel input.form-control,
.access-form-panel textarea.form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 14px 0;
	box-sizing: border-box;
	font-size: 15px;
	letter-spacing: 0.02em;
}

.access-form-panel textarea.form-control {
	min-height: 180px;
	resize: vertical;
}

.access-form-panel .custom-labels {
	border-bottom: 1px solid rgba(255,255,255,0.18);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.access-form-panel .custom-labels:focus {
	border-bottom-color: rgba(41,151,255,0.86);
	box-shadow: 0 12px 26px rgba(41,151,255,0.10);
}

.access-form-panel .form-control {
	color: #ffffff;
}

.access-form-panel .form-control::-webkit-input-placeholder {
	color: rgba(255,255,255,0.45);
}

.access-form-panel .form-control::-moz-placeholder {
	color: rgba(255,255,255,0.45);
	opacity: 1;
}

.access-form-panel .form-control:-ms-input-placeholder {
	color: rgba(255,255,255,0.45);
}

.access-form-actions-row {
	margin-top: 10px;
}

.access-form-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	width: 100%;
}

.access-form-actions .btn,
.access-form-actions input[type="button"],
.access-form-actions button {
	width: auto;
	min-width: 150px;
	padding: 13px 24px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.16);
	background: #f5f5f7;
	color: #111111;
	font-size: 14px;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.access-form-actions .btn:hover,
.access-form-actions input[type="button"]:hover,
.access-form-actions button:hover {
	transform: translateY(-2px);
	background: #ffffff;
	color: #111111;
	opacity: 0.96;
}

.access-form-panel .contact-msg {
	width: 100%;
	margin: 0;
	line-height: 1.6em;
}

.access-form-panel #response_holder,
.access-form-panel #success {
	width: 100%;
	margin-top: 12px;
}

/************************************************************/
/* Close Buttons / Messages / Footer                        */
/************************************************************/
.company-details-actions,
.access-details-actions {
	width: 100%;
	margin-top: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 5;
	clear: both;
}

.access-details-actions {
	margin-top: 80px;
	padding-bottom: 10px;
}

.details-content .close-btn,
.company-details .close-btn,
.access-details .close-btn,
.access-details-actions .close-btn,
.company-details-actions .close-btn {
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	height: 48px;
	padding: 0 28px;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 999px;
	background: #f5f5f7 !important;
	color: #111111 !important;
	font-size: 14px;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 18px 38px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.5);
	transform: none;
	transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.details-content .close-btn:hover,
.company-details .close-btn:hover,
.access-details .close-btn:hover,
.access-details-actions .close-btn:hover,
.company-details-actions .close-btn:hover {
	transform: translateY(-2px);
	background: #ffffff !important;
	opacity: 0.96;
}

.contact-success-message {
	display: block;
	margin-top: 15px;
	padding: 12px 16px;
	background-color: rgba(64, 84, 233, 0.18);
	border: 1px solid rgba(64, 84, 233, 0.45);
	color: #ffffff;
	line-height: 1.8;
	border-radius: 8px;
}

.contact-error-message {
	display: block;
	margin-top: 15px;
	padding: 12px 16px;
	background-color: rgba(255, 80, 80, 0.14);
	border: 1px solid rgba(255, 80, 80, 0.35);
	color: #ffffff;
	line-height: 1.8;
	border-radius: 8px;
}

#footer {
	width: 100%;
	font-size: 12px;
	color: #1E1E1E;
	background-color: #1E1E1E;
}

.SGT_footer {
	font-size: 12px;
	text-align: center;
	color: #8F8F8F;
	line-height: 50px;
}

.SGT_footer a {
	color: #efefef;
}

#privacyPolicyTrigger {
	cursor: pointer;
}

/************************************************************/
/* Privacy Policy Modal                                     */
/************************************************************/
body.privacy-modal-open {
	overflow: hidden !important;
}

.privacy-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: block !important;
	width: 100vw !important;
	height: 100vh !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.42s ease, visibility 0s linear 0.42s;
}

.privacy-modal.is-open {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition: opacity 0.42s ease, visibility 0s linear 0s;
}

.privacy-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background:
		radial-gradient(circle at 50% 18%, rgba(41,151,255,0.24), transparent 34%),
		radial-gradient(circle at 82% 78%, rgba(255,255,255,0.08), transparent 30%),
		rgba(0, 0, 0, 0.78) !important;
	backdrop-filter: blur(28px) saturate(1.12) !important;
	-webkit-backdrop-filter: blur(28px) saturate(1.12) !important;
	opacity: 0;
	transition: opacity 0.42s ease;
}

.privacy-modal.is-open .privacy-modal-backdrop {
	opacity: 1 !important;
}

.privacy-modal-sheet {
	position: fixed !important;
	left: 50% !important;
	top: 50% !important;
	z-index: 2 !important;
	width: min(980px, calc(100% - 36px)) !important;
	height: min(88vh, 860px) !important;
	border-radius: 42px !important;
	overflow: hidden !important;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.045)),
		rgba(7, 7, 10, 0.96) !important;
	border: 1px solid rgba(255,255,255,0.16) !important;
	box-shadow:
		0 60px 160px rgba(0,0,0,0.76),
		0 0 80px rgba(41,151,255,0.20),
		inset 0 1px 0 rgba(255,255,255,0.20) !important;
	backdrop-filter: blur(34px) !important;
	-webkit-backdrop-filter: blur(34px) !important;
	opacity: 0;
	transform: translate(-50%, calc(-50% + 28px)) scale(0.96) !important;
	transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.38s ease;
	will-change: transform, opacity;
}

.privacy-modal.is-open .privacy-modal-sheet {
	opacity: 1 !important;
	transform: translate(-50%, -50%) scale(1) !important;
}

.privacy-modal-sheet::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.10) 42%, transparent 58%);
	opacity: 0.24;
}

.privacy-modal-close {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	z-index: 10 !important;
	width: 54px !important;
	height: 54px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,0.12) !important;
	color: #ffffff !important;
	font-size: 30px !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: 0 12px 34px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.18) !important;
	backdrop-filter: blur(18px) !important;
	-webkit-backdrop-filter: blur(18px) !important;
	transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.privacy-modal-close:hover {
	transform: scale(1.06);
	background: rgba(255,255,255,0.22) !important;
	border-color: rgba(41,151,255,0.68) !important;
}

.privacy-modal-close span {
	display: block;
	line-height: 1;
	color: inherit;
}

.privacy-modal-body {
	position: relative !important;
	z-index: 2 !important;
	height: 100% !important;
	padding: 76px 72px 56px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	color: #f5f5f7 !important;
}

.privacy-modal-body::-webkit-scrollbar {
	width: 8px;
}

.privacy-modal-body::-webkit-scrollbar-track {
	background: transparent;
}

.privacy-modal-body::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255,255,255,0.22);
}

.privacy-modal-body::-webkit-scrollbar-thumb:hover {
	background: rgba(255,255,255,0.34);
}

.privacy-modal-body::before {
	content: "";
	position: absolute;
	right: -170px;
	top: -170px;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(41,151,255,0.36), rgba(41,151,255,0.08) 46%, transparent 72%);
	filter: blur(16px);
	pointer-events: none;
}

.privacy-modal-hero {
	position: relative;
	z-index: 2;
	margin-bottom: 34px;
}

.privacy-modal-kicker {
	position: relative !important;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase;
	color: #9dccff !important;
}

.privacy-modal-kicker::before {
	content: "";
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, #2997ff, rgba(255,255,255,0.7));
	box-shadow: 0 0 18px rgba(41,151,255,0.8);
}

.privacy-modal-body h2 {
	position: relative;
	z-index: 2;
	margin: 0 0 20px !important;
	font-size: clamp(42px, 5.2vw, 72px) !important;
	line-height: 1.02 !important;
	font-weight: 800 !important;
	letter-spacing: -0.075em !important;
	background: linear-gradient(180deg, #ffffff 0%, #f5f5f7 38%, #9dccff 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	text-shadow: 0 30px 90px rgba(0,0,0,0.55) !important;
}

.privacy-modal-lead {
	position: relative;
	z-index: 2;
	margin: 0 !important;
	font-size: clamp(16px, 2vw, 22px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.035em !important;
	color: rgba(245,245,247,0.58) !important;
}

.privacy-policy-intro {
	position: relative !important;
	z-index: 2;
	margin: 0 0 34px !important;
	padding: 28px 30px !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	border-radius: 26px !important;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035)),
		rgba(255,255,255,0.035) !important;
	box-shadow: 0 24px 60px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.12) !important;
	backdrop-filter: blur(18px) !important;
	-webkit-backdrop-filter: blur(18px) !important;
}

.privacy-policy-intro p {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 2.05 !important;
	color: rgba(245,245,247,0.78) !important;
}

.privacy-policy-grid {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 18px;
}

.privacy-policy-section {
	position: relative !important;
	z-index: 2;
	margin: 0 !important;
	padding: 26px 30px !important;
	border: 1px solid rgba(255,255,255,0.10) !important;
	border-radius: 24px !important;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.085), rgba(255,255,255,0.028)),
		rgba(255,255,255,0.028) !important;
	box-shadow: 0 18px 44px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.10) !important;
	transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}

.privacy-policy-section:first-of-type {
	margin: 0 !important;
	padding: 26px 30px !important;
	border-top: 1px solid rgba(255,255,255,0.10) !important;
}

.privacy-policy-section:hover {
	transform: translateY(-3px);
	border-color: rgba(41,151,255,0.34) !important;
	background:
		linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)),
		rgba(255,255,255,0.04) !important;
}

.privacy-policy-number {
	margin: 0 0 12px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.18em !important;
	color: #2997ff !important;
}

.privacy-policy-section h3 {
	position: relative;
	margin: 0 0 12px !important;
	padding-left: 18px !important;
	font-size: 19px !important;
	line-height: 1.55 !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	color: #ffffff !important;
}

.privacy-policy-section h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.82em;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: #2997ff;
	box-shadow: 0 0 0 5px rgba(41,151,255,0.12), 0 0 18px rgba(41,151,255,0.8);
	transform: translateY(-50%);
}

.privacy-policy-section p {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 2 !important;
	color: rgba(245,245,247,0.70) !important;
}

.privacy-policy-list {
	margin: 16px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.privacy-policy-list li {
	position: relative;
	margin: 0 0 12px !important;
	padding-left: 28px !important;
	font-size: 15px !important;
	line-height: 1.95 !important;
	color: rgba(245,245,247,0.72) !important;
}

.privacy-policy-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(180deg, #8ec5ff 0%, #2997ff 100%);
	box-shadow: 0 0 0 5px rgba(41,151,255,0.10), 0 0 18px rgba(41,151,255,0.58);
	transform: translateY(-50%);
}

.privacy-policy-list li:last-child {
	margin-bottom: 0 !important;
}

.privacy-modal-actions {
	position: relative;
	z-index: 2;
	margin-top: 42px !important;
	display: flex;
	justify-content: center;
}

.privacy-modal-bottom-close {
	min-width: 188px !important;
	height: 54px !important;
	padding: 0 34px !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 999px !important;
	background: #f5f5f7 !important;
	color: #111111 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	cursor: pointer;
	box-shadow: 0 22px 46px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.5) !important;
	transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.privacy-modal-bottom-close:hover {
	transform: translateY(-2px);
	background: #ffffff !important;
	opacity: 0.96;
}

/************************************************************/
/* Scroll Reveal                                            */
/************************************************************/
.reveal-up {
	opacity: 0;
	transform: translateY(36px);
	filter: none !important;
	-webkit-filter: none !important;
	transition:
		opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.reveal-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.08s; }
.reveal-delay-2 { transition-delay: 0.18s; }
.reveal-delay-3 { transition-delay: 0.28s; }
.reveal-delay-4 { transition-delay: 0.38s; }

.service-rebuild-card.reveal-up {
	transform: translateY(36px);
}

.service-rebuild-card.reveal-up.is-visible {
	transform: translateY(0);
}

.service-rebuild-card.reveal-up .service-rebuild-trigger {
	height: 100%;
}

/************************************************************/
/* Reduced Motion                                           */
/************************************************************/
@media (prefers-reduced-motion: reduce) {
	.reveal-up,
	.reveal-up.is-visible {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
	}

	#about.about-dss .about-dss-bg::before,
	#about.about-dss .about-dss-shell::before,
	#services.services-rebuild .services-bg::before,
	.company-apple-bg::before {
		animation: none !important;
	}

	#services.services-rebuild .services-bg-video {
		transform: none !important;
	}
}

/************************************************************/
/* Responsive                                               */
/************************************************************/
@media (max-width: 1199px) {
	.services-rebuild-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.navbar-dss .navbar-header {
		float: none;
		display: block;
		min-height: auto;
	}

	.navbar-brand.brand-logo {
		float: left;
		height: 52px;
		padding: 0 15px !important;
	}

	.brand-logo img {
		height: 34px;
	}

	.navbar-dss .navbar-toggle {
		display: block;
		border-color: rgba(255, 255, 255, 0.45);
		margin-top: 8px;
		margin-bottom: 8px;
	}

	.navbar-dss .navbar-toggle .icon-bar {
		background-color: #ffffff;
	}

	.navbar-dss .navbar-collapse {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(20, 20, 24, 0.96);
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
	}

	.navbar-dss .navbar-collapse.collapse {
		display: none !important;
	}

	.navbar-dss .navbar-collapse.collapse.in {
		display: block !important;
	}

	.navbar-dss .navbar-nav {
		float: none !important;
		margin: 0;
	}

	.navbar-dss .navbar-nav > li {
		float: none !important;
		display: block;
		margin-left: 0 !important;
	}

	.navbar-dss .navbar-nav > li > a {
		display: block;
		padding: 14px 20px !important;
		font-size: 14px !important;
		color: #ffffff !important;
	}

	.nav-dss-menu > li > a:after {
		display: none;
	}

	.hero-dss {
		min-height: 680px;
	}

	.hero-copy-inner {
		max-width: 100%;
		padding-top: 56px;
		padding-left: 36px;
	}

	.cb-slideshow li .hero-slide-copy h1 {
		font-size: clamp(38px, 7vw, 70px);
		line-height: 0.98;
	}

	.hero-description {
		max-width: 560px;
		font-size: 17px;
		line-height: 1.8;
	}

	#about.about-dss {
		padding: 110px 0;
	}

	#about.about-dss .about-dss-shell {
		grid-template-columns: 1fr;
		gap: 42px;
		padding: 48px 34px;
		border-radius: 30px;
		text-align: left;
	}

	#about.about-dss .about-dss-copy h2 {
		font-size: clamp(40px, 10vw, 64px);
	}

	#about.about-dss .about-dss-lead {
		font-size: 19px;
	}

	#about.about-dss .about-dss-points {
		grid-template-columns: 1fr;
	}

	#services.services-rebuild {
		padding: 118px 0 110px;
	}

	.services-rebuild-head {
		margin-bottom: 54px;
	}

	.service-rebuild-trigger {
		min-height: 320px;
	}

	.service-modal {
		align-items: flex-start !important;
		padding: 18px 11px !important;
	}

	.service-modal-sheet {
		width: calc(100vw - 22px) !important;
		max-width: calc(100vw - 22px) !important;
		display: flex;
		flex-direction: column;
		border-radius: 30px;
	}

	.service-modal-media {
		height: 320px;
		min-height: 320px;
	}

	.service-modal-media img {
		min-height: 320px;
	}

	.service-modal-body {
		padding: 46px 36px 36px;
	}

	.service-modal-body h3 {
		font-size: clamp(38px, 7vw, 60px) !important;
		letter-spacing: -0.055em !important;
	}

	.service-modal-lead {
		margin-top: 48px;
		font-size: 20px !important;
	}

	.access-split {
		grid-template-columns: 1fr;
	}

	.privacy-modal-sheet {
		width: calc(100% - 22px) !important;
		height: min(90vh, 860px) !important;
		border-radius: 32px !important;
	}

	.privacy-modal-body {
		padding: 58px 42px 42px !important;
	}

	.privacy-modal-body h2 {
		font-size: clamp(40px, 7vw, 62px) !important;
	}

	.privacy-policy-intro,
	.privacy-policy-section,
	.privacy-policy-section:first-of-type {
		padding: 24px !important;
	}
}

@media (max-width: 767px) {
	.navbar-dss {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
		background: rgba(20, 20, 24, 0.82) !important;
	}

	.navbar-brand.brand-logo {
		height: 48px;
	}

	.brand-logo img {
		height: 32px;
	}

	.hero-dss {
		min-height: 620px;
		height: 100vh;
	}

	.hero-slide-copy .container {
		width: calc(100% - 32px);
	}

	.hero-copy-inner {
		padding-top: 42px;
		padding-left: 8px;
	}

	.hero-eyebrow {
		font-size: 11px;
		letter-spacing: 0.12em;
		margin-bottom: 14px;
	}

	.cb-slideshow li .hero-slide-copy h1 {
		font-size: 34px;
		line-height: 1.02;
		letter-spacing: -0.03em;
	}

	.hero-description {
		margin-top: 18px;
		font-size: 15px;
		line-height: 1.75;
		max-width: 100%;
	}

	#about.about-dss {
		padding: 88px 0;
	}

	#about.about-dss .col-md-offset-1,
	#about.about-dss .col-md-10 {
		padding-left: 10px;
		padding-right: 10px;
	}

	#about.about-dss .about-dss-shell {
		padding: 38px 24px;
		border-radius: 26px;
	}

	#about.about-dss .about-dss-eyebrow {
		font-size: 11px;
		letter-spacing: 0.2em;
	}

	#about.about-dss .about-dss-copy h2 {
		font-size: 40px;
		letter-spacing: -0.055em;
	}

	#about.about-dss .about-dss-lead {
		font-size: 17px;
		line-height: 1.85;
	}

	#about.about-dss .about-dss-text {
		font-size: 15px;
		line-height: 1.9;
	}

	#about.about-dss .about-dss-bg::before,
	#services.services-rebuild .services-bg::before,
	.company-apple-bg::before {
		width: 620px;
		height: 620px;
	}

	#about.about-dss .about-dss-bg::after,
	#services.services-rebuild .services-bg::after,
	.company-apple-bg::after {
		background-size: 54px 54px;
	}

	#services.services-rebuild {
		padding: 92px 0 84px;
	}

	#services.services-rebuild .services-bg-video {
		opacity: 0.34;
		filter: brightness(0.48) saturate(0.82) contrast(1.08);
	}

	.services-rebuild-head {
		margin-bottom: 38px;
	}

	.services-kicker {
		font-size: 11px;
		letter-spacing: 0.2em;
	}

	.services-kicker::before,
	.services-kicker::after {
		width: 22px;
	}

	.services-rebuild-head h2 {
		font-size: 56px;
		letter-spacing: -0.075em;
	}

	.services-catch {
		font-size: 20px;
	}

	.services-summary {
		font-size: 15px;
		line-height: 1.9;
	}

	.services-rebuild-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.service-rebuild-trigger {
		min-height: auto;
		padding: 30px 22px 26px;
		border-radius: 26px;
	}

	.service-rebuild-trigger::after {
		border-radius: 26px;
	}

	.service-rebuild-icon {
		width: 62px;
		height: 62px;
		border-radius: 21px;
		font-size: 23px;
	}

	.service-rebuild-trigger h3 {
		font-size: 23px;
	}

	.service-rebuild-text {
		font-size: 14px;
		line-height: 1.85;
	}

	.service-modal {
		padding: 12px 7px !important;
	}

	.service-modal-sheet {
		width: calc(100vw - 14px) !important;
		max-width: calc(100vw - 14px) !important;
		border-radius: 24px !important;
	}

	.service-modal-media {
		height: 230px;
		min-height: 230px;
	}

	.service-modal-media img {
		min-height: 230px;
	}

	.service-modal-body {
		padding: 34px 24px 26px;
	}

	.service-modal-kicker {
		font-size: 11px !important;
		letter-spacing: 0.2em !important;
	}

	.service-modal-body h3 {
		font-size: 34px !important;
		line-height: 1.05 !important;
		letter-spacing: -0.045em !important;
	}

	.service-modal-lead {
		margin-top: 42px;
		font-size: 17px !important;
		line-height: 1.8 !important;
	}

	.service-modal-text {
		font-size: 14.5px !important;
		line-height: 1.95 !important;
	}

	.service-modal-bottom-close {
		width: 100%;
		height: 50px;
	}

	.service-modal-close {
		width: 44px;
		height: 44px;
		font-size: 24px;
		top: 14px;
		right: 14px;
	}

	#company.company-apple-section {
		padding: 92px 0;
	}

	.company-apple-head {
		margin-bottom: 38px;
	}

	.company-apple-kicker {
		font-size: 11px;
		letter-spacing: 0.2em;
	}

	.company-apple-kicker::before,
	.company-apple-kicker::after {
		width: 22px;
	}

	.company-apple-head h2 {
		font-size: 50px;
		letter-spacing: -0.075em;
	}

	.company-apple-lead {
		font-size: 15px;
		line-height: 1.9;
	}

	.company-apple-accordion,
	.details,
	.details-content,
	.company-details-content,
	.company-table-wrap {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	.details {
		border-radius: 24px;
	}

	.details-summary {
		padding: 28px 22px;
		gap: 16px;
	}

	.details-summary-text {
		font-size: 27px;
	}

	.details-summary-sub {
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.details-summary .details-toggle-icon {
		width: 42px;
		height: 42px;
	}

	.details-content,
	.company-details .details-content,
	.access-details .details-content {
		padding: 0 20px 26px;
	}

	.details-content::before {
		margin-bottom: 24px;
	}

	.company-table,
	.company-table tbody,
	.company-table tr,
	.company-table th,
	.company-table td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.company-table th {
		padding: 16px 16px 8px !important;
		border-right: none !important;
		border-bottom: 1px solid rgba(255,255,255,0.06) !important;
		font-size: 14px !important;
		line-height: 1.5 !important;
		letter-spacing: 0.08em !important;
	}

	.company-table td {
		padding: 12px 16px 20px !important;
		font-size: 14px !important;
		line-height: 1.85 !important;
	}

	.company-table .detail_block,
	.company-table .detail_col {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.company-table .detail_col span {
		display: inline !important;
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.access-split {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.access-panel {
		padding: 20px;
		border-radius: 22px;
	}

	.access-head {
		margin-bottom: 22px;
	}

	.access-head h2 {
		font-size: 36px;
	}

	.access-info-item {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.contact-info-icon {
		width: 44px;
		height: 44px;
	}

	.access-info-panel .contact-info-title {
		font-size: 20px;
	}

	.access-info-panel .contact-info-map iframe {
		height: 220px;
	}

	.access-form-panel form.inline {
		max-width: 100%;
	}

	.access-form-panel .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.access-form-panel .col-sm-6,
	.access-form-panel .col-sm-12,
	.access-form-panel .col-xs-6,
	.access-form-panel .access-form-actions-row {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		float: none !important;
	}

	.access-form-panel .form-group {
		width: 100% !important;
		max-width: 100% !important;
	}

	.access-form-panel input.form-control,
	.access-form-panel textarea.form-control {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box;
	}

	.access-form-panel textarea.form-control {
		min-height: 160px;
	}

	.access-form-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		width: 100%;
	}

	.access-form-actions .btn,
	.access-form-actions input[type="button"],
	.access-form-actions button {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box;
	}

	.access-form-panel .contact-msg,
	.access-form-panel #response_holder,
	.access-form-panel #success {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}

	.company-details-actions,
	.access-details-actions {
		margin-top: 28px;
	}

	.access-details-actions {
		margin-top: 58px;
	}

	.privacy-modal-sheet {
		width: calc(100% - 14px) !important;
		height: min(90vh, 820px) !important;
		border-radius: 26px !important;
	}

	.privacy-modal-close {
		width: 44px !important;
		height: 44px !important;
		top: 14px !important;
		right: 14px !important;
		font-size: 24px !important;
	}

	.privacy-modal-body {
		padding: 46px 22px 28px !important;
	}

	.privacy-modal-kicker {
		font-size: 11px !important;
		letter-spacing: 0.2em !important;
		margin-bottom: 18px !important;
	}

	.privacy-modal-kicker::before {
		width: 24px;
	}

	.privacy-modal-body h2 {
		margin-bottom: 18px !important;
		font-size: 36px !important;
		line-height: 1.05 !important;
		letter-spacing: -0.055em !important;
	}

	.privacy-modal-lead {
		font-size: 15px !important;
	}

	.privacy-policy-intro {
		padding: 22px 20px !important;
		border-radius: 22px !important;
	}

	.privacy-policy-intro p {
		font-size: 14.5px !important;
		line-height: 1.9 !important;
	}

	.privacy-policy-section,
	.privacy-policy-section:first-of-type {
		padding: 22px 20px !important;
		border-radius: 22px !important;
	}

	.privacy-policy-section h3 {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}

	.privacy-policy-section p,
	.privacy-policy-list li {
		font-size: 14px !important;
		line-height: 1.9 !important;
	}

	.privacy-modal-bottom-close {
		width: 100% !important;
		height: 50px !important;
	}
}

/************************************************************/
/* Safari Stable Overrides                                  */
/************************************************************/
@supports (-webkit-touch-callout: none) {
	#about.about-dss .about-dss-bg::after,
	#services.services-rebuild .services-bg::after,
	.company-apple-bg::after {
		display: none !important;
		content: none !important;
	}

	.service-rebuild-trigger,
	.details,
	.company-table-wrap,
	.access-panel {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		overflow: hidden !important;
	}

	.reveal-up {
		-webkit-filter: none !important;
		filter: none !important;
	}
}

/************************************************************/
/* Company Animation                                        */
/************************************************************/
@keyframes companyOrbRotate {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
